@charset "UTF-8";

/* latin-ext */

@font-face {
  font-family: 'DM Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/DMMono-400-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* latin */

@font-face {
  font-family: 'DM Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/DMMono-400-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* latin-ext */

@font-face {
  font-family: 'DM Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('../fonts/DMMono-500-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* latin */

@font-face {
  font-family: 'DM Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('../fonts/DMMono-500-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* latin-ext */

@font-face {
  font-family: 'DM Sans';
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: url('../fonts/DMSans-300Italic-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* latin */

@font-face {
  font-family: 'DM Sans';
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: url('../fonts/DMSans-300Italic-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* latin-ext */

@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url('../fonts/DMSans-300-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* latin */

@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url('../fonts/DMSans-300-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* latin-ext */

@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/DMSans-400-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* latin */

@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/DMSans-400-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* latin-ext */

@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('../fonts/DMSans-500-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* latin */

@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('../fonts/DMSans-500-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* latin-ext */

@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('../fonts/DMSans-600-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* latin */

@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('../fonts/DMSans-600-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* greek */

@font-face {
  font-family: 'Syne';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/Syne-400-greek.woff2') format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}

/* latin-ext */

@font-face {
  font-family: 'Syne';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/Syne-400-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* latin */

@font-face {
  font-family: 'Syne';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/Syne-400-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* greek */

@font-face {
  font-family: 'Syne';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('../fonts/Syne-600-greek.woff2') format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}

/* latin-ext */

@font-face {
  font-family: 'Syne';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('../fonts/Syne-600-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* latin */

@font-face {
  font-family: 'Syne';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('../fonts/Syne-600-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* greek */

@font-face {
  font-family: 'Syne';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('../fonts/Syne-700-greek.woff2') format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}

/* latin-ext */

@font-face {
  font-family: 'Syne';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('../fonts/Syne-700-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* latin */

@font-face {
  font-family: 'Syne';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('../fonts/Syne-700-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* greek */

@font-face {
  font-family: 'Syne';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url('../fonts/Syne-800-greek.woff2') format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}

/* latin-ext */

@font-face {
  font-family: 'Syne';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url('../fonts/Syne-800-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* latin */

@font-face {
  font-family: 'Syne';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url('../fonts/Syne-800-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
  /* Dark theme (default) */
  --bg:       #060b14;
  --bg2:      #0a1220;
  --bg3:      #0f1a2e;
  --teal:     #00d4b4;
  --teal-soft:#00b89e;
  --blue:     #1a6cf6;
  --text:     #e8edf5;
  --text-muted:#8798b5;
  --text-dim: #465a78;
  --border:   rgba(255,255,255,0.08);
  --card:     rgba(255,255,255,0.03);
  --nav-bg:   rgba(6,11,20,0.72);
  --social-bg:rgba(255,255,255,0.06);
  --social-hover:rgba(0,212,180,0.1);
  --input-bg: rgba(255,255,255,0.04);
  --card-shadow: 0 1px 0 rgba(255,255,255,0.04) inset, 0 1px 2px rgba(0,0,0,0.3);
  --card-shadow-hover: 0 1px 0 rgba(0,212,180,0.15) inset, 0 24px 48px -16px rgba(0,212,180,0.08), 0 12px 24px -8px rgba(0,0,0,0.4);

  /* DS doc vars */
  --ds-accent: #00d4b4;
  --ds-sidebar: #070d1a;
  --ds-sidebar-border: rgba(255,255,255,0.06);
  --ds-code-bg: rgba(0,0,0,0.4);
  --ds-section-gap: 80px;
  color-scheme: dark;
}

html.light {
  --bg:#f5f7fc; --bg2:#eef2f9; --bg3:#ffffff;
  --teal:#007a68; --teal-soft:#00897a; --blue:#1550c0;
  --text:#0b1525; --text-muted:#475872; --text-dim:#6e86a5;
  --border:rgba(13,30,60,0.10); --card:#ffffff;
  --nav-bg:rgba(245,247,252,0.92);
  --social-bg:rgba(13,30,60,0.05); --social-hover:rgba(0,122,104,0.08);
  --input-bg:rgba(13,30,60,0.04);
  --card-shadow: 0 1px 2px rgba(13,30,60,0.04), 0 4px 12px -6px rgba(13,30,60,0.06);
  --card-shadow-hover: 0 1px 0 rgba(0,122,104,0.12) inset, 0 18px 40px -16px rgba(0,122,104,0.14);
  --ds-sidebar: #eef2f9;
  --ds-sidebar-border: rgba(13,30,60,0.08);
  --ds-code-bg: rgba(13,30,60,0.06);
  color-scheme: light;
}

* { margin:0; padding:0; box-sizing:border-box; }

html { scroll-behavior:smooth; }

body.page-sidebar-main {
  background: var(--bg);
  color: var(--text);
  font-family: 'DM Sans', sans-serif;
  font-size: 15px;
  line-height: 1.6;
  display: flex;
  min-height: 100vh;
  transition: background .3s, color .3s;
}

h1, h2, h3, h4, h5 { font-family: 'Syne', sans-serif; }

code, pre { font-family: 'DM Mono', monospace; }

/* ── NOISE ── */

body.page-sidebar-main::before {
  content:''; position:fixed; inset:0;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");
  pointer-events:none; z-index:0; opacity:.3; mix-blend-mode:overlay;
}

/* ── SIDEBAR ── */

.sidebar {
  width: 260px;
  flex-shrink: 0;
  position: fixed;
  top: 0; left: 0; bottom: 0;
  background: var(--ds-sidebar);
  border-right: 1px solid var(--ds-sidebar-border);
  overflow-y: auto;
  z-index: 50;
  transition: background .3s, border-color .3s;
}

.sidebar-logo {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 24px 20px;
  border-bottom: 1px solid var(--ds-sidebar-border);
  text-decoration: none;
}

.sidebar-logo svg { flex-shrink:0; width:32px; height:32px; }

.sidebar-logo-text {
  font-family: 'Syne', sans-serif;
  font-weight: 800;
  font-size: 17px;
  color: var(--text);
  letter-spacing: -0.5px;
}

.sidebar-logo-text span { color: var(--teal); }

.sidebar-logo-badge {
  font-size: 10px;
  font-weight: 700;
  padding: 2px 7px;
  border-radius: 20px;
  background: rgba(0,212,180,.12);
  border: 1px solid rgba(0,212,180,.25);
  color: var(--teal);
  letter-spacing: .5px;
  margin-left: auto;
}

.sidebar-section {
  padding: 20px 0 8px;
}

.sidebar-section-label {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  color: var(--text-dim);
  padding: 0 20px 8px;
}

.sidebar-link {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 7px 20px;
  font-size: 13.5px;
  color: var(--text-muted);
  text-decoration: none;
  transition: color .15s, background .15s;
  border-radius: 0;
}

.sidebar-link:hover { color: var(--text); background: rgba(255,255,255,.04); }

html.light .sidebar-link:hover { background: rgba(13,30,60,.04); }

.sidebar-link.active { color: var(--teal); font-weight: 500; }

.sidebar-link .dot {
  width: 5px; height: 5px; border-radius: 50%;
  background: var(--text-dim); flex-shrink:0;
  transition: background .15s;
}

.sidebar-link.active .dot, .sidebar-link:hover .dot { background: var(--teal); }

.sidebar-bottom {
  padding: 16px 20px;
  border-top: 1px solid var(--ds-sidebar-border);
  margin-top: auto;
}

.theme-toggle-btn {
  display: flex; align-items: center; gap: 8px;
  width: 100%; padding: 8px 12px; border-radius: 8px;
  background: var(--social-bg); border: 1px solid var(--border);
  color: var(--text-muted); font-size: 13px; cursor: pointer;
  font-family: 'DM Sans', sans-serif; transition: .2s;
}

.theme-toggle-btn:hover { border-color: var(--teal); color: var(--teal); }

/* ── MAIN ── */

.page-sidebar-main {
  margin-left: 260px;
  flex: 1;
  min-width: 0;
  position: relative;
  z-index: 1;
}

.ds-section {
  padding: 64px 64px;
  border-bottom: 1px solid var(--border);
}

.ds-section:last-child { border-bottom: none; }

.ds-section-header {
  margin-bottom: 40px;
}

.ds-section-tag {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 10px; font-weight: 700; text-transform: uppercase;
  letter-spacing: 2px; color: var(--teal);
  background: rgba(0,212,180,.08); border: 1px solid rgba(0,212,180,.18);
  padding: 4px 10px; border-radius: 20px; margin-bottom: 12px;
}

html.light .ds-section-tag { color:#005f50; background:rgba(0,95,80,.08); border-color:rgba(0,95,80,.2); }

.ds-section-tag::before {
  content: ''; width: 4px; height: 4px; border-radius: 50%;
  background: var(--teal); box-shadow: 0 0 5px var(--teal);
}

.ds-section-title {
  font-size: clamp(24px, 2.5vw, 36px);
  font-weight: 800;
  letter-spacing: -1px;
  line-height: 1.1;
  margin-bottom: 10px;
}

.ds-section-sub {
  font-size: 14px;
  color: var(--text-muted);
  max-width: 560px;
  line-height: 1.65;
}

/* ── HERO BANNER ── */

.ds-hero {
  padding: 80px 64px 64px;
  border-bottom: 1px solid var(--border);
  position: relative;
  overflow: hidden;
}

.ds-hero-glow {
  position: absolute; top: -100px; left: 40%;
  width: 600px; height: 400px; border-radius: 50%;
  background: radial-gradient(ellipse, rgba(0,212,180,.08) 0%, rgba(26,108,246,.05) 40%, transparent 70%);
  pointer-events: none;
}

.ds-hero-tag {
  display: inline-flex; align-items: center; gap: 8px;
  font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 2px;
  color: var(--teal); background: rgba(0,212,180,.08);
  border: 1px solid rgba(0,212,180,.2); padding: 5px 12px; border-radius: 20px;
  margin-bottom: 20px;
}

.ds-hero-tag::before { content:''; width:5px; height:5px; border-radius:50%; background:var(--teal); box-shadow:0 0 6px var(--teal); animation:blink 2s infinite; }

@keyframes blink{0%, 100%{opacity:1}50%{opacity:.4}}

.ds-hero h1 {
  font-size: clamp(36px, 4vw, 56px);
  font-weight: 800;
  letter-spacing: -2px;
  line-height: 1.05;
  margin-bottom: 16px;
}

.ds-hero h1 .grad {
  background: linear-gradient(110deg, var(--teal) 10%, var(--blue) 85%);
  -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
}

.ds-hero-sub {
  font-size: 16px;
  color: var(--text-muted);
  max-width: 560px;
  line-height: 1.7;
  margin-bottom: 32px;
}

.ds-hero-meta {
  display: flex; gap: 24px; flex-wrap: wrap;
}

.ds-hero-meta-item {
  font-size: 12px; color: var(--text-dim);
  display: flex; align-items: center; gap: 6px;
}

.ds-hero-meta-item strong { color: var(--text-muted); font-weight: 600; }

/* ── COLOR TOKENS ── */

.color-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 12px;
  margin-bottom: 32px;
}

.color-swatch {
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid var(--border);
  transition: transform .2s;
}

.color-swatch:hover { transform: translateY(-2px); }

.color-swatch-preview {
  height: 80px;
  width: 100%;
}

.color-swatch-info {
  padding: 10px 12px;
  background: var(--bg3);
  transition: background .3s;
}

html.light .color-swatch-info { background: #f8fafc; }

.color-swatch-name {
  font-size: 12px; font-weight: 600; margin-bottom: 3px;
}

.color-swatch-var {
  font-family: 'DM Mono', monospace;
  font-size: 11px; color: var(--text-dim);
}

.color-swatch-hex {
  font-family: 'DM Mono', monospace;
  font-size: 11px; color: var(--teal); float: right;
}

.color-group-title {
  font-size: 11px; font-weight: 700; text-transform: uppercase;
  letter-spacing: 1.5px; color: var(--text-dim);
  margin-bottom: 12px; margin-top: 28px;
}

.color-group-title:first-child { margin-top: 0; }

/* ── TYPOGRAPHY ── */

.type-samples { display: flex; flex-direction: column; gap: 24px; }

.type-sample {
  padding: 20px 24px;
  background: var(--bg3);
  border: 1px solid var(--border);
  border-radius: 12px;
  display: flex; gap: 32px; align-items: flex-start;
  transition: background .3s;
}

html.light .type-sample { background: #fff; }

.type-sample-meta {
  flex-shrink: 0;
  width: 160px;
}

.type-sample-role { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; color: var(--text-dim); margin-bottom: 6px; }

.type-sample-spec { font-family: 'DM Mono', monospace; font-size: 11px; color: var(--teal); line-height: 1.8; }

.type-sample-preview { flex: 1; }

/* ── SPACING ── */

.spacing-grid { display: flex; flex-direction: column; gap: 10px; }

.spacing-row {
  display: flex; align-items: center; gap: 16px;
  padding: 10px 16px;
  background: var(--bg3); border: 1px solid var(--border); border-radius: 10px;
  transition: background .3s;
}

html.light .spacing-row { background: #fff; }

.spacing-bar-wrap { flex: 1; height: 8px; background: var(--border); border-radius: 4px; overflow: hidden; }

.spacing-bar { height: 100%; background: linear-gradient(90deg, var(--teal), var(--blue)); border-radius: 4px; }

.spacing-label { font-family: 'DM Mono', monospace; font-size: 12px; color: var(--teal); width: 50px; }

.spacing-name { font-size: 12px; color: var(--text-muted); width: 100px; }

.spacing-val { font-family: 'DM Mono', monospace; font-size: 12px; color: var(--text-dim); width: 40px; text-align: right; }

/* ── COMPONENT PREVIEW ── */

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

.component-card {
  background: var(--bg3);
  border: 1px solid var(--border);
  border-radius: 14px;
  overflow: hidden;
  transition: background .3s;
}

html.light .component-card { background: #fff; }

.component-preview {
  padding: 28px 24px;
  display: flex; flex-wrap: wrap; gap: 10px; align-items: center;
  min-height: 80px;
  border-bottom: 1px solid var(--border);
}

.component-label {
  padding: 10px 16px;
  font-size: 11px; font-weight: 700; text-transform: uppercase;
  letter-spacing: 1px; color: var(--text-dim);
  display: flex; justify-content: space-between; align-items: center;
}

.component-tag {
  font-family: 'DM Mono', monospace;
  font-size: 10px; color: var(--text-dim);
  background: var(--social-bg); padding: 2px 8px; border-radius: 4px;
  border: 1px solid var(--border);
}

/* ── CODE BLOCK ── */

.code-block {
  background: var(--ds-code-bg);
  border: 1px solid var(--border);
  border-radius: 10px;
  overflow: hidden;
  margin-top: 8px;
}

.code-block-header {
  display: flex; align-items: center; justify-content: space-between;
  padding: 8px 14px;
  border-bottom: 1px solid var(--border);
  background: rgba(255,255,255,.02);
}

html.light .code-block-header { background: rgba(13,30,60,.02); }

.code-block-lang {
  font-size: 10px; font-weight: 700; text-transform: uppercase;
  letter-spacing: 1px; color: var(--teal);
}

.code-block pre {
  padding: 16px;
  font-family: 'DM Mono', monospace;
  font-size: 12px;
  line-height: 1.75;
  color: var(--text-muted);
  overflow-x: auto;
  white-space: pre;
}

.code-kw { color: #7dd3fc; }

.code-str { color: #86efac; }

.code-val { color: #fbbf24; }

.code-com { color: var(--text-dim); font-style: italic; }

.code-var { color: var(--teal); }

/* ── ACTUAL BUTTONS ── */

.btn-primary {
  padding: 9px 20px; border-radius: 8px;
  background: linear-gradient(135deg, var(--teal), var(--blue));
  color: #fff; font-size: 13px; font-weight: 600;
  cursor: pointer; text-decoration: none; border: none;
  transition: .2s; font-family: 'DM Sans', sans-serif;
  display: inline-flex; align-items: center; gap: 6px;
}

.btn-primary:hover { opacity:.9; transform:translateY(-1px); }

.btn-ghost {
  padding: 9px 18px; border-radius: 8px;
  border: 1px solid var(--border); background: transparent;
  color: var(--text-muted); font-size: 13px; font-weight: 500;
  cursor: pointer; text-decoration: none; transition: .2s;
  font-family: 'DM Sans', sans-serif; display: inline-flex; align-items: center; gap: 6px;
}

.btn-ghost:hover { border-color: var(--teal); color: var(--teal); }

.btn-lg-primary {
  padding: 13px 28px; border-radius: 10px;
  background: linear-gradient(135deg, var(--teal), var(--blue));
  color: #fff; font-size: 15px; font-weight: 600;
  cursor: pointer; text-decoration: none; border: none;
  transition: .2s; font-family: 'DM Sans', sans-serif;
  display: inline-flex; align-items: center; gap: 8px;
}

.btn-lg-primary:hover { transform:translateY(-2px); box-shadow:0 10px 28px rgba(0,160,130,.3); }

.btn-lg-outline {
  padding: 13px 28px; border-radius: 10px;
  background: transparent; border: 1px solid var(--border);
  color: var(--text-muted); font-size: 15px; font-weight: 600;
  cursor: pointer; text-decoration: none; transition: .2s;
  font-family: 'DM Sans', sans-serif; display: inline-flex; align-items: center; gap: 8px;
}

.btn-lg-outline:hover { border-color: var(--teal); color: var(--teal); }

/* ── SECTION LABEL (real) ── */

.section-label-preview {
  display: inline-flex; align-items: center; gap: 8px;
  font-size: 11.5px; text-transform: uppercase; letter-spacing: 2px; font-weight: 700;
  padding: 5px 12px; border-radius: 100px;
  color: var(--teal); background: rgba(0,212,180,.08); border: 1px solid rgba(0,212,180,.18);
}

.section-label-preview::before { content:''; width:5px; height:5px; border-radius:50%; background:var(--teal); box-shadow:0 0 6px var(--teal); }

html.light .section-label-preview { color:#005f50; background:rgba(0,95,80,.08); border-color:rgba(0,95,80,.2); }

/* ── CARD PREVIEWS ── */

.card-preview {
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: 16px;
  padding: 24px;
  box-shadow: var(--card-shadow);
  transition: background .35s, border-color .3s, transform .25s, box-shadow .25s;
  position: relative; overflow: hidden;
}

.card-preview:hover { transform:translateY(-4px); box-shadow:var(--card-shadow-hover); border-color:rgba(0,212,180,.2); }

html.light .card-preview { background: #fff; }

.card-preview::before { content:''; position:absolute; top:0; left:0; right:0; height:2px; background:linear-gradient(90deg,var(--teal),var(--blue)); opacity:0; transition:.3s; }

.card-preview:hover::before { opacity:1; }

/* ── BADGE PREVIEWS ── */

.badges-row { display: flex; flex-wrap: wrap; gap: 8px; }

.badge { display:inline-flex; align-items:center; gap:6px; padding:5px 12px; border-radius:100px; font-size:12px; font-weight:600; }

.badge-teal { background:rgba(0,212,180,.08); border:1px solid rgba(0,212,180,.22); color:var(--teal); }

html.light .badge-teal { color:#005f50; background:rgba(0,95,80,.08); border-color:rgba(0,95,80,.2); }

.badge-blue { background:rgba(26,108,246,.1); border:1px solid rgba(26,108,246,.25); color:var(--blue); }

.badge-green { background:rgba(16,185,129,.1); border:1px solid rgba(16,185,129,.25); color:#10b981; }

html.light .badge-green { color:#059669; }

.badge-neutral { background:var(--social-bg); border:1px solid var(--border); color:var(--text-muted); }

.badge-dot::before { content:''; width:5px; height:5px; border-radius:50%; background:currentColor; box-shadow:0 0 5px currentColor; animation:blink 2s infinite; }

/* ── NAV PREVIEW ── */

.nav-preview {
  background: var(--nav-bg);
  backdrop-filter: blur(20px);
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 0 24px;
  height: 56px;
  display: flex; align-items: center; justify-content: space-between;
}

/* ── LOGO SHOWCASE ── */

.logo-grid { display:flex; gap:32px; flex-wrap:wrap; align-items:center; }

.logo-box {
  padding: 24px 32px;
  border-radius: 14px;
  border: 1px solid var(--border);
  display: flex; align-items: center; gap: 10px;
  background: var(--bg3);
  transition: background .3s;
}

html.light .logo-box { background: #fff; }

.logo-box.dark-bg { background: #060b14; border-color: rgba(255,255,255,.1); }

.logo-wordmark { font-family:'Syne',sans-serif; font-weight:800; font-size:20px; color:var(--text); letter-spacing:-0.5px; }

.logo-wordmark span { color:var(--teal); }

/* ── ICON/GRID helper ── */

.two-col { display:grid; grid-template-columns:1fr 1fr; gap:16px; }

.three-col { display:grid; grid-template-columns:1fr 1fr 1fr; gap:16px; }

.divider { height:1px; background:var(--border); margin:32px 0; }

.ds-note {
  padding: 12px 16px;
  background: rgba(0,212,180,.04);
  border-left: 3px solid var(--teal);
  border-radius: 0 8px 8px 0;
  font-size: 13px; color: var(--text-muted); line-height: 1.6;
  margin-top: 16px;
}

.ds-warn {
  padding: 12px 16px;
  background: rgba(245,158,11,.05);
  border-left: 3px solid #f59e0b;
  border-radius: 0 8px 8px 0;
  font-size: 13px; color: var(--text-muted);
  margin-top: 16px;
}

.ds-warn strong { color: #f59e0b; }

/* ── SHADOW SHOWCASE ── */

.shadow-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; }

.shadow-box {
  background: var(--bg3);
  border-radius: 14px;
  padding: 24px;
  display:flex; flex-direction:column; gap:8px;
  transition: background .3s;
}

html.light .shadow-box { background: #fff; }

.shadow-box-name { font-size:12px; font-weight:700; color:var(--text-muted); text-transform:uppercase; letter-spacing:1px; }

.shadow-box-preview {
  width: 100%; height: 60px; border-radius: 10px;
  background: var(--bg3);
  border: 1px solid var(--border);
  transition: background .3s;
}

html.light .shadow-box-preview { background: #f8fafc; }

.shadow-box-preview.s1 { box-shadow: var(--card-shadow); }

.shadow-box-preview.s2 { box-shadow: var(--card-shadow-hover); }

.shadow-box-preview.s3 { box-shadow: 0 0 40px -10px rgba(0,212,180,.2); }

.shadow-box-preview.s4 { box-shadow: 0 0 60px -20px rgba(0,212,180,.15), 0 2px solid var(--teal); border: 2px solid var(--teal); }

/* ── RESPONSIVE ── */

/* ── RESET & BASE ── */

* { margin: 0; padding: 0; box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  background: var(--bg); color: var(--text);
  font-family: 'DM Sans', sans-serif; font-size: 16px; line-height: 1.6;
  overflow-x: hidden; transition: background .35s, color .35s; position: relative;
}

body::after {
  content: ''; position: fixed; inset: 0; z-index: -1;
  background: var(--body-gradient); transition: background .35s;
}

body::before {
  content: ''; position: fixed; inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");
  pointer-events: none; z-index: 0; opacity: .35; mix-blend-mode: overlay;
}

html.light body::before { opacity: .5; mix-blend-mode: multiply; }

h1, h2, h3, h4 { font-family: 'Syne', sans-serif; }

::view-transition-old(root), ::view-transition-new(root) {
	animation: fade 300ms ease;
}

/* ── SCROLL PROGRESS ── */

.scroll-progress {
  position: fixed; top: 0; left: 0; height: 2px; width: 0; z-index: 101;
  background: linear-gradient(90deg, var(--teal), var(--blue));
  transition: width .05s linear; box-shadow: 0 0 8px rgba(0,212,180,.6);
}

/* ── GRID BG ── */

.grid-bg {
  position: absolute; inset: 0; overflow: hidden; pointer-events: none;
  background-image: linear-gradient(rgba(0,212,180,0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0,212,180,0.04) 1px, transparent 1px);
  background-size: 60px 60px;
  -webkit-mask-image: radial-gradient(ellipse 80% 60% at 50% 0%, black 0%, transparent 70%);
          mask-image: radial-gradient(ellipse 80% 60% at 50% 0%, black 0%, transparent 70%);
}

/* ── LAYOUT ── */

section { position: relative; z-index: 1; }

.container { max-width: 1200px; margin: 0 auto; padding: 0 48px; }

/* ── SECTION LABEL ── */

.section-label {
  display: inline-flex; align-items: center; gap: 8px;
  font-size: 11.5px; text-transform: uppercase; letter-spacing: 2px; font-weight: 700;
  padding: 5px 12px; border-radius: 100px;
  color: var(--teal); background: rgba(0,212,180,.08); border: 1px solid rgba(0,212,180,.18);
  margin-bottom: 20px;
}

.section-label::before {
  content: ''; width: 5px; height: 5px; border-radius: 50%;
  background: var(--teal); box-shadow: 0 0 6px var(--teal); flex-shrink: 0;
}

html.light .section-label { color: #005f50; background: rgba(0,95,80,.08); border-color: rgba(0,95,80,.2); }

html.light .section-label::before { background: #005f50; box-shadow: 0 0 6px rgba(0,95,80,.5); }

/* ── SECTION TYPOGRAPHY ── */

.section-title {
  font-size: clamp(30px,3.2vw,46px); font-weight: 800; letter-spacing: -1.2px;
  line-height: 1.08; margin-bottom: 18px; text-wrap: balance;
}

html:not(.light) .section-title { text-shadow: 0 1px 0 rgba(255,255,255,.03); }

.section-sub { font-size: 16px; color: var(--text-muted); font-weight: 300; max-width: 560px; line-height: 1.7; text-wrap: pretty; }

/* ── LAYOUT HELPERS ── */

.center { text-align: center; }

.center .section-sub { margin: 0 auto; }

.header-center { margin-bottom: 56px; text-align: center; }

.header-center .section-sub { margin: 0 auto; }

/* ── BTN-LG ── */

.btn-lg {
  padding: 13px 28px; border-radius: 10px; font-size: 15px; font-weight: 600;
  font-family: 'DM Sans', sans-serif; cursor: pointer; text-decoration: none; border: none;
  transition: .25s; display: inline-flex; align-items: center; gap: 8px;
}

.btn-lg.primary { background: linear-gradient(135deg,var(--teal),var(--blue)); color: #fff; }

.btn-lg.primary:hover { transform: translateY(-2px); box-shadow: 0 12px 32px -10px rgba(0,160,130,.45); }

.btn-lg.primary:active { transform: scale(0.98); }

.btn-lg.outline { background: transparent; border: 1px solid var(--border); color: var(--text-muted); }

.btn-lg.outline:hover { border-color: var(--teal); color: var(--teal); }

.btn-lg.outline:active { transform: scale(0.98); }

.btn-lg.outline-white { background: transparent; border: 1px solid var(--border); color: var(--text-muted); }

.btn-lg.outline-white:hover { border-color: var(--teal); color: var(--teal); }

/* ── FADE-UP ANIMATIONS ── */

.fade-up { opacity: 0.01; transform: translateY(24px); transition: opacity .6s ease, transform .7s cubic-bezier(.2,.65,.25,1); }

.fade-up.visible { opacity: 1; transform: translateY(0); }

.stagger > .fade-up.visible:nth-child(1) { transition-delay: 0s; }

.stagger > .fade-up.visible:nth-child(2) { transition-delay: .08s; }

.stagger > .fade-up.visible:nth-child(3) { transition-delay: .16s; }

.stagger > .fade-up.visible:nth-child(4) { transition-delay: .24s; }

.stagger > .fade-up.visible:nth-child(5) { transition-delay: .32s; }

.stagger > .fade-up.visible:nth-child(6) { transition-delay: .4s; }

/* ── SHARED TRIAL CARD ── */

.trial-card {
  background: var(--card); border: 2px solid var(--teal);
  border-radius: 20px; padding: 48px;
  box-shadow: var(--card-shadow), 0 0 40px -20px rgba(0,212,180,.15);
  transition: background .35s, box-shadow .35s;
}

.trial-card-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
}

html.light .trial-card { background: #fff; }

.trial-badge {
  display: inline-flex; align-items: center; gap: 8px; padding: 4px 12px;
  border-radius: 20px; background: rgba(0,212,180,.1); border: 1px solid rgba(0,212,180,.25);
  font-size: 11px; font-weight: 700; color: var(--teal); letter-spacing: 1px;
  text-transform: uppercase; margin-bottom: 16px;
}

html.light .trial-badge { color: #005f50; background: rgba(0,95,80,.08); border-color: rgba(0,95,80,.2); }

.trial-card h3 { font-size: 26px; font-weight: 800; letter-spacing: -.5px; margin-bottom: 12px; }

.trial-card p { font-size: 15px; color: var(--text-muted); margin-bottom: 20px; line-height: 1.65; }

.trial-checklist { list-style: none; display: flex; flex-direction: column; gap: 10px; margin-bottom: 24px; }

.trial-checklist li { display: flex; align-items: flex-start; gap: 10px; font-size: 14px; color: var(--text-muted); }

.trial-checklist li svg { flex-shrink: 0; margin-top: 2px; }

.trial-meta { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 4px; }

.trial-meta-item { font-size: 12px; color: var(--text-dim); padding: 4px 10px; border-radius: 6px; background: var(--social-bg); border: 1px solid var(--border); }

.trial-actions { display: flex; flex-direction: column; gap: 12px; }

.trial-actions .btn-lg { justify-content: center; }

/* ── SHARED FORM COMPONENTS ── */

.form-input {
  padding: 12px 16px; border-radius: 10px; background: var(--input-bg);
  border: 1px solid var(--border); color: var(--text); font-size: 14px;
  font-family: 'DM Sans', sans-serif; outline: none; transition: .2s; width: 100%;
}

.form-input:focus { border-color: rgba(0,212,180,.4); }

.form-input::-moz-placeholder { color: var(--text-dim); }

.form-input::placeholder { color: var(--text-dim); }

textarea.form-input { resize: vertical; min-height: 90px; }

.form-full { grid-column: 1/-1; }

.form-check { display: flex; align-items: flex-start; gap: 10px; cursor: pointer; }

.form-check input { width: 16px; height: 16px; accent-color: var(--teal); cursor: pointer; flex-shrink: 0; margin-top: 2px; }

.form-check-label { font-size: 12.5px; color: var(--text-muted); line-height: 1.5; }

.form-check-label a { color: var(--teal); text-decoration: none; }

.form-submit {
  width: 100%; padding: 14px; border-radius: 12px;
  background: linear-gradient(135deg,var(--teal),var(--blue)); color: #fff;
  font-size: 15px; font-weight: 700; border: none; cursor: pointer;
  font-family: 'DM Sans', sans-serif; transition: .2s;
}

.form-submit:hover { opacity: .9; transform: translateY(-1px); }

.form-submit:active { transform: scale(0.99); }

.form-success { display: none; padding: 20px; background: rgba(0,212,180,.06); border-radius: 12px; border: 1px solid rgba(0,212,180,.2); text-align: center; }

.form-success.show { display: block; }

.form-success-icon { font-size: 32px; margin-bottom: 8px; }

.form-success p { font-size: 15px; color: var(--teal); font-weight: 600; }

/* ── NAV ── */

#mainNav {
  position: fixed; top: 0; left: 0; right: 0; z-index: 100;
  display: flex; align-items: center; justify-content: space-between;
  padding: 0 48px; height: 64px;
  background: var(--nav-bg);
  backdrop-filter: blur(14px) saturate(1.2); -webkit-backdrop-filter: blur(14px) saturate(1.2);
  border-bottom: 1px solid transparent;
  transition: background .35s, border-color .35s, box-shadow .35s;
}

#mainNav.scrolled {
  background: var(--nav-bg-scrolled);
  backdrop-filter: blur(22px) saturate(1.4); -webkit-backdrop-filter: blur(22px) saturate(1.4);
  border-bottom-color: var(--border); box-shadow: 0 8px 24px -12px rgba(0,0,0,0.3);
}

#mainNav.scrolled::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 1px;
  background: linear-gradient(90deg, transparent 0%, rgba(0,212,180,.45) 30%, rgba(26,108,246,.45) 70%, transparent 100%);
}

/* ── LOGO ── */

.nav-logo { display: flex; align-items: center; gap: 10px; text-decoration: none; flex-shrink: 0; }

.nav-logo-icon { width: 38px; height: 38px; flex-shrink: 0; }

.nav-logo-wordmark {
  font-family: 'Syne', sans-serif; font-weight: 800; font-size: 20px;
  color: var(--text); letter-spacing: -0.5px; transition: color .35s; white-space: nowrap;
}

.nav-logo-wordmark span { color: var(--teal); }

.nav-logo:hover .nav-logo-wordmark { color: var(--teal); }

/* ── NAV LINKS ── */

.nav-links { display: flex; gap: 32px; list-style: none; }

.nav-links a { color: var(--text-muted); text-decoration: none; font-size: 14px; font-weight: 500; transition: color .2s; }

.nav-links a:hover, .nav-links a.active { color: var(--text); }

.nav-right { display: flex; align-items: center; gap: 10px; }

/* ── BREADCRUMB (OCR page) ── */

.nav-breadcrumb { display: flex; align-items: center; gap: 6px; font-size: 13px; color: var(--text-dim); }

.nav-breadcrumb a { color: var(--text-muted); text-decoration: none; transition: color .2s; }

.nav-breadcrumb a:hover { color: var(--teal); }

.nav-breadcrumb .sep { opacity: .4; }

.nav-breadcrumb .current { color: var(--teal); font-weight: 600; }

/* ── BURGER ── */

.burger {
  display: none; flex-direction: column; justify-content: center; gap: 5px;
  width: 38px; height: 38px; background: var(--social-bg); border: 1px solid var(--border);
  border-radius: 9px; cursor: pointer; padding: 9px 8px; transition: .2s; flex-shrink: 0;
}

.burger span { display: block; height: 2px; border-radius: 2px; background: var(--text-muted); transition: transform .25s, opacity .2s; }

.burger:hover span { background: var(--teal); }

.burger.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }

.burger.open span:nth-child(2) { opacity: 0; }

.burger.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* ── MOBILE DRAWER ── */

.mobile-drawer {
  position: fixed; top: 64px; left: 0; right: 0; z-index: 99;
  background: var(--nav-bg-scrolled); backdrop-filter: blur(22px); -webkit-backdrop-filter: blur(22px);
  border-bottom: 1px solid var(--border); padding: 0 20px;
  display: flex; flex-direction: column; gap: 4px;
  max-height: 0; opacity: 0; overflow: hidden;
  transition: max-height .35s ease, opacity .25s ease, padding .35s ease;
  pointer-events: none;
}

.mobile-drawer.open { max-height: 500px; opacity: 1; padding: 16px 20px 24px; pointer-events: auto; }

.mobile-drawer a { display: block; padding: 12px 16px; border-radius: 10px; color: var(--text-muted); text-decoration: none; font-size: 15px; font-weight: 500; transition: .15s; }

.mobile-drawer a:hover { background: rgba(0,212,180,.06); color: var(--teal); }

.mobile-drawer-divider { height: 1px; background: var(--border); margin: 8px 0; }

.mobile-drawer-actions { display: flex; gap: 8px; padding: 4px 0 0; }

.mobile-drawer-actions a { flex: 1; text-align: center; padding: 11px 16px; }

/* ── LANGUAGE SWITCHER ── */

.lang-switcher { position: relative; }

.lang-current {
  display: flex; align-items: center; gap: 7px; padding: 5px 11px 5px 8px;
  border: 1px solid var(--border); border-radius: 8px; background: transparent;
  cursor: pointer; font-family: 'DM Sans', sans-serif; font-size: 13px; font-weight: 500;
  color: var(--text-muted); transition: .2s; -webkit-user-select: none; -moz-user-select: none; user-select: none;
}

.lang-current:hover, .lang-switcher.open .lang-current { border-color: var(--teal); color: var(--teal); }

.lang-current .flag { font-size: 18px; line-height: 1; }

.lang-current .arrow { font-size: 9px; opacity: .6; transition: transform .2s; }

.lang-switcher.open .lang-current .arrow { transform: rotate(180deg); }

.lang-dropdown {
  position: absolute; top: calc(100% + 8px); right: 0;
  background: var(--bg2); border: 1px solid var(--border); border-radius: 12px; padding: 8px;
  display: none; flex-direction: column; gap: 2px; min-width: 170px; z-index: 200;
  box-shadow: 0 16px 40px rgba(0,0,0,.35);
}

.lang-switcher.open .lang-dropdown { display: flex; }

.lang-option {
  display: flex; align-items: center; gap: 10px; padding: 8px 12px; border-radius: 8px;
  cursor: pointer; font-size: 13px; font-weight: 500; color: var(--text-muted); transition: .15s; text-decoration: none;
}

.lang-option:hover { background: rgba(0,212,180,.08); color: var(--teal); }

.lang-option.active { color: var(--teal); background: rgba(0,212,180,.06); }

.lang-option .flag { font-size: 20px; line-height: 1; flex-shrink: 0; }

.lang-option .lang-name { flex: 1; }

.lang-option .active-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--teal); flex-shrink: 0; }

/* ── THEME TOGGLE ── */

.theme-toggle {
  width: 38px; height: 38px; border-radius: 9px; background: var(--social-bg);
  border: 1px solid var(--border); display: flex; align-items: center; justify-content: center;
  cursor: pointer; font-size: 17px; transition: background .2s, border-color .2s, transform .2s;
}

.theme-toggle:hover { border-color: var(--teal); background: var(--social-hover); transform: rotate(18deg); }

.btn-emerald {
  padding: 9px 20px; border-radius: 8px;
  background: rgba(16,185,129,.15); border: 1px solid rgba(16,185,129,.35); color: #10b981;
  font-size: 13px; font-weight: 600; cursor: pointer; text-decoration: none; transition: .2s;
  font-family: 'DM Sans', sans-serif; display: inline-flex; align-items: center; gap: 6px;
}

.btn-emerald:hover { background: rgba(16,185,129,.25); border-color: rgba(16,185,129,.6); }

html.light .btn-emerald { color: #059669; }

@keyframes ctaPulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(0,212,180,.45); }
  50% { box-shadow: 0 0 0 8px rgba(0,212,180,0); }
}

/* ── RESPONSIVE NAV ── */

/* ── FOOTER ── */

footer {
  position: relative; background: var(--bg2); border-top: 1px solid var(--border);
  padding: 72px 0 28px; transition: background .35s, border-color .35s; overflow: hidden;
}

.footer-watermark {
  position: absolute; left: 50%; bottom: -0.25em; transform: translateX(-50%);
  font-family: 'Syne', sans-serif; font-weight: 800;
  font-size: clamp(140px,22vw,320px); letter-spacing: -6px; line-height: 0.85;
  color: var(--text); opacity: .035; pointer-events: none; -webkit-user-select: none; -moz-user-select: none; user-select: none; white-space: nowrap;
}

html.light .footer-watermark { opacity: .04; }

footer .container { position: relative; z-index: 1; }

.footer-grid {
  display: grid; grid-template-columns: 2fr 1fr 1fr 1fr 1fr;
  gap: 40px; margin-bottom: 40px;
}

.footer-brand .nav-logo { display: flex; margin-bottom: 12px; }

.footer-desc { font-size: 13px; color: var(--text-muted); line-height: 1.7; margin-bottom: 20px; max-width: 300px; }

.footer-socials { display: flex; gap: 8px; }

.footer-social-btn {
  width: 36px; height: 36px; border-radius: 8px; background: var(--social-bg);
  border: 1px solid var(--border); display: flex; align-items: center; justify-content: center;
  font-size: 15px; cursor: pointer; transition: .2s; text-decoration: none; color: var(--text-muted);
}

.footer-social-btn:hover { border-color: var(--teal); background: var(--social-hover); color: var(--teal); }

.footer-social-btn--emoji { font-size: 16px; }

.footer-social-btn--text { font-weight: 700; font-size: 13px; }

.footer-col h4 { font-size: 12px; text-transform: uppercase; letter-spacing: 1.5px; color: var(--text-dim); font-weight: 700; margin-bottom: 16px; }

.footer-col ul { list-style: none; display: flex; flex-direction: column; gap: 10px; }

.footer-col ul a { font-size: 13px; color: var(--text-muted); text-decoration: none; transition: .2s; }

.footer-col ul a:hover { color: var(--text); }

.footer-bottom {
  border-top: 1px solid var(--border); padding-top: 22px;
  display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px;
}

.footer-bottom p { font-size: 12px; color: var(--text-dim); }

.footer-badges { display: flex; gap: 8px; }

.footer-badge { padding: 4px 12px; border-radius: 6px; font-size: 11px; font-weight: 500; background: var(--social-bg); border: 1px solid var(--border); color: var(--text-dim); }

/* ── RESPONSIVE FOOTER ── */

.sidebar{
  display:flex;
  flex-direction:column;
}

/* NAV SCROLL AREA */

.sidebar-nav{
  padding:8px 0;
  flex:1;
  overflow-y:auto;
}

/* SUB-DOTS */

.sidebar-link .sub-dot, .sidebar-subgroup-toggle .sub-dot, .sidebar-product-toggle .sub-dot{
  width:3px;
  height:3px;
  border-radius:50%;
  background:var(--text-dim);
  flex-shrink:0;
}

.sidebar-link.sub{
  padding-left:36px;
  font-size:12.5px;
}

.sidebar-link.sub.active .sub-dot, .sidebar-link.sub:hover .sub-dot{
  background:var(--teal);
}

/* LEVEL 3 sub items */

.sidebar-link.sub2{
  padding-left:52px;
  font-size:12px;
}

.sidebar-link.sub2.active .sub-dot, .sidebar-link.sub2:hover .sub-dot{
  background:var(--teal);
}

/* PRODUCT SECTION (expandable) */

.sidebar-product-toggle{
  display:flex;
  align-items:center;
  gap:8px;
  padding:7px 20px;
  width:100%;
  font-size:13.5px;
  color:var(--text-muted);
  cursor:pointer;
  background:transparent;
  border:none;
  font-family:'DM Sans',sans-serif;
  transition:color .15s,background .15s;
  text-align:left;
}

.sidebar-product-toggle:hover{color:var(--text);background:rgba(255,255,255,.04);}

html.light .sidebar-product-toggle:hover{background:rgba(13,30,60,.04);}

.sidebar-product-toggle svg{margin-left:auto;flex-shrink:0;transition:transform .25s;}

.sidebar-product.open > .sidebar-product-toggle{color:var(--teal);}

.sidebar-product.open > .sidebar-product-toggle .dot{background:var(--teal);}

.sidebar-product.open > .sidebar-product-toggle svg{transform:rotate(180deg);}

.sidebar-product-body{display:none;}

.sidebar-product.open > .sidebar-product-body{display:block;}

/* SUBGROUP (Установка, Примеры кода — 2nd level expandable) */

.sidebar-subgroup-toggle{
  display:flex;
  align-items:center;
  gap:8px;
  padding:6px 20px 6px 36px;
  width:100%;
  font-size:12.5px;
  color:var(--text-muted);
  cursor:pointer;
  background:transparent;
  border:none;
  font-family:'DM Sans',sans-serif;
  transition:color .15s;
  text-align:left;
}

.sidebar-subgroup-toggle:hover{color:var(--text);}

.sidebar-subgroup-toggle svg{margin-left:auto;flex-shrink:0;transition:transform .2s;}

.sidebar-subgroup.open > .sidebar-subgroup-toggle{color:var(--text);}

.sidebar-subgroup.open > .sidebar-subgroup-toggle svg{transform:rotate(180deg);}

.sidebar-subgroup-body{display:none;}

.sidebar-subgroup.open > .sidebar-subgroup-body{display:block;}

/* DIVIDER */

.sidebar-divider{
  height:1px;
  background:var(--ds-sidebar-border);
  margin:8px 20px;
}

.btn-fixed {

	position: fixed;
	right:48px;
	bottom:48px;
	z-index: 6;

}

.btn-fixed__icon {

		display: flex;
		justify-content: center;
		align-items: center;
		background-color: var(--teal);
		border-radius: 50%;
		color: #fff;
		width: 48px;
		height: 48px;

	}

.btn-fixed__icon svg {

			animation: shake linear 1.5s infinite;
			fill: currentColor

		}

.btn-fixed__waves {

		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		border-radius: 50%;
		animation: waves linear 3s infinite, scale-in .5s cubic-bezier(.25,.46,.45,.94) both;

	}

.btn-fixed__text {

		position: absolute;
		top: 50%;
		right: 100%;
		transform: translateY(-50%);
		color: #fff;
		white-space: nowrap;
		background-color: var(--teal);
		border-radius: 6px;
		margin-right: 12px;
		z-index: 1;

	}

.btn-fixed__text-blink {

			overflow: hidden;
			display: block;
			position: relative;
			font-weight: 500;
			font-size: 14px;
			padding: 4px 10px;

		}

.btn-fixed__text-blink::after {

				position: absolute;
				width: 10px;
				height: 200%;
				top: -20px;
				left: -20px;
				content: '';
				background-color: #fff;
				opacity: 0.4;
				filter: blur(5px);
				animation: 4s blink 0s linear infinite;

			}

.btn-fixed__text::before {

			position: absolute;
			width: 10px;
			height: 10px;
			top: 0;
			right: -4px;
			bottom: 0;
			margin: auto;
			content: '';
			transform: rotate(45deg);
			background-color: var(--teal);
			border-radius: 2px;

		}

.btn-fixed__tg, .btn-fixed__max {
	opacity: 0;
	transition: .3s;
	position: absolute;
	top: 50%;
	left: 50%;
	color: var(--teal);
	transition-timing-function:  cubic-bezier(0.34, 1.56, 0.64, 1);
}

.btn-fixed:hover .btn-fixed__tg{
	opacity: 1;
	transform: translate(-36px, -50px);
}

.btn-fixed__max {
	transition-delay: .1s;
}

.btn-fixed:hover .btn-fixed__max {
	opacity: 1;
	transform: translate(12px, -50px);
}

.btn-fixed__tg:hover svg, .btn-fixed__max:hover svg {
	transform: scale(1.2);
	transition: .2s;
}

.btn-fixed:hover::before {
	position: absolute;
	top: -24px;
	left: -24px;
	right: -24px;
	bottom: -24px;
	content: '';
	border-radius: 50%;
}

@keyframes blink {
	0% {
	  transform: translateX(0);
	}
	90% {
	  transform: translateX(0);
	}
	100% {
	  transform: translateX(200px);
	}
}

@keyframes waves {
	0% {
	  box-shadow: 0 8px 10px rgba(0,212,180, 0.3), 0 0 0 0 rgba(0,212,180, 0.2), 0 0 0 0 rgba(0,212,180, 0.2);
	}
	40% {
	  box-shadow: 0 8px 10px rgba(0,212,180, 0.3), 0 0 0 35px rgba(0,212,180, 0.2), 0 0 0 0 rgba(0,212,180, 0.2);
	}
	80% {
	  box-shadow: 0 8px 10px rgba(0,212,180, 0.3), 0 0 0 55px rgba(0,212,180, 0), 0 0 0 26.7px rgba(0,212,180, 0.067);
	}
	100% {
	  box-shadow: 0 8px 10px rgba(0,212,180, 0.3), 0 0 0 80px rgba(0,212,180, 0), 0 0 0 40px rgba(0,212,180, 0.0);
	}
}

@keyframes shake {
	0% {
	  transform: rotate(0) scale(1) skew(0.017rad);
	}
	25% {
	  transform: rotate(0) scale(1) skew(0.017rad);
	}
	35% {
	  transform: rotate(-0.3rad) scale(1) skew(0.017rad);
	}
	45% {
	  transform: rotate(0.3rad) scale(1) skew(0.017rad);
	}
	55% {
	  transform: rotate(-0.3rad) scale(1) skew(0.017rad);
	}
	65% {
	  transform: rotate(0.3rad) scale(1) skew(0.017rad);
	}
	75% {
	  transform: rotate(0) scale(1) skew(0.017rad);
	}
	100% {
	  transform: rotate(0) scale(1) skew(0.017rad);
	}
}

/* ══════════════════════════════════
   provision-ocr.html — sections
══════════════════════════════════ */

/* ── #hero ── */

.hero-ocr .hero-dark-grad { position: absolute; inset: 0; z-index: 0; background: radial-gradient(ellipse 120% 80% at 50% -10%, rgba(0,212,180,.07) 0%, rgba(26,108,246,.05) 35%, transparent 70%); pointer-events: none; }

.hero-ocr .hero-glow { position: absolute; top: -200px; left: 50%; transform: translateX(-50%); width: 900px; height: 700px; border-radius: 50%; background: radial-gradient(ellipse,rgba(0,212,180,.1) 0%,rgba(26,108,246,.07) 40%,transparent 70%); pointer-events: none; }

.hero-ocr .hero-inner { position: relative; z-index: 1; max-width: 1200px; margin: 0 auto; width: 100%; display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: flex-start; }

.hero-ocr .hero-left { display: flex; flex-direction: column; }

.hero-ocr .hero-badge { display: inline-flex; align-items: center; gap: 8px; padding: 6px 14px; border-radius: 100px; background: rgba(0,212,180,.08); border: 1px solid rgba(0,212,180,.22); font-size: 11.5px; font-weight: 600; color: var(--teal); margin-bottom: 26px; letter-spacing: 1.2px; text-transform: uppercase; width: -moz-fit-content; width: fit-content; }

.hero-ocr .hero-badge::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: var(--teal); box-shadow: 0 0 8px var(--teal); animation: pulse 2s infinite; }

@keyframes pulse { 0%, 100%{opacity:1} 50%{opacity:.4} }

h1.hero-ocr .hero-h1 { font-size: clamp(32px,4vw,52px); font-weight: 800; line-height: 1.05; letter-spacing: -2px; margin-bottom: 20px; color: var(--text); }

.hero-ocr .hero-h1 .grad { background: linear-gradient(110deg,var(--teal) 10%,var(--blue) 85%); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: transparent; }

.hero-ocr .hero-sub { font-size: 16px; color: var(--text-muted); font-weight: 300; line-height: 1.7; margin-bottom: 28px; }

.hero-ocr .hero-cta { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 24px; }

.hero-ocr .hero-cta .btn-lg { padding: 11px 20px; font-size: 14px; }

.hero-ocr .hero-info-block { display: inline-flex; align-items: center; gap: 10px; flex-wrap: wrap; padding: 11px 18px; border-radius: 10px; background: rgba(0,212,180,.06); border: 1px solid rgba(0,212,180,.18); font-size: 13px; color: var(--text-muted); width: -moz-fit-content; width: fit-content; }

.hero-ocr .hero-info-block .sep { opacity: .35; margin: 0 4px; }

/* RIGHT — metrics card */

.hero-ocr .hero-right { display: flex; flex-direction: column; padding-top: 58px; }

.hero-ocr .hero-metrics-card { background: var(--bg3); border: 1px solid var(--border); border-radius: 20px; padding: 28px; position: relative; overflow: hidden; box-shadow: var(--card-shadow), 0 0 60px -20px rgba(0,212,180,.12); transition: background .35s, border-color .35s; }

.hero-ocr .hero-metrics-card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 1px; background: linear-gradient(90deg,transparent,var(--teal),transparent); }

html.light .hero-ocr .hero-metrics-card { background: #fff; box-shadow: var(--card-shadow); }

.hero-ocr .hero-metrics-header { display: flex; align-items: center; gap: 8px; font-size: 11px; text-transform: uppercase; letter-spacing: 1.5px; color: var(--text-dim); font-weight: 600; margin-bottom: 20px; }

.hero-ocr .hero-metrics-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--teal); box-shadow: 0 0 8px var(--teal); animation: pulse 1.5s infinite; flex-shrink: 0; }

.hero-ocr .hero-metrics-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 20px; }

.hero-ocr .hero-metric { background: rgba(0,212,180,.05); border: 1px solid rgba(0,212,180,.1); border-radius: 12px; padding: 14px 16px; transition: border-color .2s, background .2s; }

.hero-ocr .hero-metric:hover { border-color: rgba(0,212,180,.25); background: rgba(0,212,180,.08); }

.hero-ocr .hero-metric-val { font-family: 'Syne', sans-serif; font-size: 26px; font-weight: 800; letter-spacing: -1px; color: var(--teal); line-height: 1; margin-bottom: 5px; }

.hero-ocr .hero-metric-label { font-size: 11.5px; color: var(--text-muted); line-height: 1.4; }

.hero-ocr .hero-pills-right { display: flex; flex-wrap: wrap; gap: 8px; padding-top: 16px; border-top: 1px solid var(--border); }

.hero-ocr .hero-pill-r { display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; border-radius: 100px; background: var(--card); border: 1px solid var(--border); font-size: 12px; font-weight: 500; color: var(--text-muted); transition: border-color .2s, color .2s; }

.hero-ocr .hero-pill-r:hover { border-color: rgba(0,212,180,.3); color: var(--text); }

html.light .hero-ocr .hero-pill-r { background: rgba(13,30,60,.03); }

/* ── #trial ── inherited from base.css ── */

#trial { padding: 50px 0; }

/* ── #pricing ── */

.pricing-ocr { padding: 50px 0; background: linear-gradient(180deg,transparent 0%,rgba(10,18,32,.5) 100%); transition: background .35s; }

.pricing-ocr .header-center { margin-bottom: 56px; }

.pricing-ocr .section-sub { margin: 0 auto 8px; }

.pricing-ocr .price-enterprise { font-size: 22px; letter-spacing: -.5px; }

html.light .pricing-ocr { background: linear-gradient(180deg,transparent 0%,rgba(238,242,249,.9) 100%); }

.pricing-ocr .pricing-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 16px; }

.pricing-ocr .price-card { background: var(--card); border: 1px solid var(--border); border-radius: 16px; padding: 28px 24px; position: relative; overflow: hidden; box-shadow: var(--card-shadow); transition: background .35s, border-color .3s, transform .25s, box-shadow .25s; display: flex; flex-direction: column; }

.pricing-ocr .price-card:hover { transform: translateY(-5px); box-shadow: var(--card-shadow-hover); }

html.light .pricing-ocr .price-card { background: #fff; }

.pricing-ocr .price-card.featured { border-color: rgba(0,212,180,.45); transform: translateY(-5px); box-shadow: var(--card-shadow-hover); }

html.light .pricing-ocr .price-card.featured { border-color: rgba(0,122,104,.4); }

.pricing-ocr .price-card.featured::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 2px; background: linear-gradient(90deg,var(--teal),var(--blue)); }

.pricing-ocr .price-optimal { position: absolute; top: 16px; right: 16px; background: rgba(0,212,180,.12); color: var(--teal); font-size: 10px; font-weight: 700; letter-spacing: .5px; padding: 3px 10px; border-radius: 20px; text-transform: uppercase; border: 1px solid rgba(0,212,180,.3); }

.pricing-ocr .price-tier { font-size: 11px; text-transform: uppercase; letter-spacing: 1.5px; color: var(--text-muted); font-weight: 600; margin-bottom: 6px; }

.pricing-ocr .price-name { font-size: 22px; font-weight: 800; letter-spacing: -.3px; margin-bottom: 16px; }

.pricing-ocr .price-amount { font-family: 'Syne', sans-serif; font-size: clamp(22px,2.5vw,30px); font-weight: 800; line-height: 1; margin-bottom: 4px; letter-spacing: -1px; }

.pricing-ocr .price-period { font-size: 12px; color: var(--text-dim); margin-bottom: 20px; }

.pricing-ocr .price-divider { height: 1px; background: var(--border); margin-bottom: 20px; }

.pricing-ocr .price-features { list-style: none; display: flex; flex-direction: column; gap: 9px; flex: 1; margin-bottom: 24px; }

.pricing-ocr .price-features li { font-size: 13px; color: var(--text-muted); display: flex; align-items: flex-start; gap: 8px; line-height: 1.4; }

.pricing-ocr .price-features li svg { flex-shrink: 0; margin-top: 2px; }

.pricing-ocr .price-overage { font-size: 11.5px; color: var(--text-dim); margin-bottom: 16px; padding: 8px 12px; background: var(--social-bg); border-radius: 8px; }

.pricing-ocr .btn-price { width: 100%; padding: 12px; border-radius: 10px; font-size: 14px; font-weight: 600; cursor: pointer; border: 1px solid var(--border); background: transparent; color: var(--text); font-family: 'DM Sans', sans-serif; transition: .2s; }

.pricing-ocr .btn-price:hover { border-color: var(--teal); color: var(--teal); }

.pricing-ocr .btn-price:active { transform: scale(0.98); }

.pricing-ocr .btn-price.cta { background: linear-gradient(135deg,var(--teal),var(--blue)); border: none; color: #fff; animation: ctaPulse 2.8s ease-in-out infinite; }

.pricing-ocr .btn-price.cta:hover { opacity: .9; animation: none; }

.pricing-ocr .price-savings { display: inline-block; font-size: 11px; font-weight: 600; color: var(--teal); background: rgba(0,212,180,.08); border: 1px solid rgba(0,212,180,.22); border-radius: 6px; padding: 2px 8px; margin-bottom: 12px; }

.pricing-ocr .price-savings del { color: var(--text-dim); font-weight: 400; }

/* comparison table */

.compare-wrap { overflow: auto; border-radius: 14px; border: 1px solid var(--border); box-shadow: var(--card-shadow); margin-bottom: 32px; }

.compare-wrap table { width: 100%; border-collapse: collapse; min-width: 600px; }

.compare-wrap thead th { padding: 14px 18px; font-size: 12px; font-weight: 700; text-align: center; font-family: 'Syne', sans-serif; letter-spacing: .3px; background: var(--card); border-bottom: 1px solid var(--border); white-space: nowrap; }

.compare-wrap thead th:first-child { text-align: left; color: var(--text-dim); }

.compare-wrap thead th.feat { color: var(--teal); }

.compare-wrap tbody tr:nth-child(odd) { background: rgba(255,255,255,.01); }

html.light .compare-wrap tbody tr:nth-child(odd) { background: rgba(13,30,60,.01); }

.compare-wrap tbody tr { border-top: 1px solid var(--border); }

.compare-wrap tbody td { padding: 12px 18px; font-size: 13px; color: var(--text-muted); text-align: center; }

.compare-wrap tbody td:first-child { text-align: left; color: var(--text); font-weight: 500; }

.compare-wrap .val-yes { color: var(--teal); font-weight: 600; }

.compare-wrap .val-no { color: var(--text-dim); }

.compare-wrap .val-bold { color: var(--text); font-weight: 600; }

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

/* ── #features ── */

.features-ocr { padding: 50px 0; }

.features-ocr .center { margin-bottom: 56px; }

.features-ocr .features-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; }

.features-ocr .feat-card { background: var(--card); border: 1px solid var(--border); border-radius: 16px; padding: 28px; box-shadow: var(--card-shadow); transition: background .35s, border-color .3s, transform .25s, box-shadow .25s; }

.features-ocr .feat-card:hover { transform: translateY(-4px); box-shadow: var(--card-shadow-hover); border-color: rgba(0,212,180,.2); }

html.light .features-ocr .feat-card { background: #fff; }

.features-ocr .feat-icon { font-size: 28px; margin-bottom: 14px; }

.features-ocr .feat-title { font-size: 18px; font-weight: 700; letter-spacing: -.2px; margin-bottom: 10px; }

.features-ocr .feat-list { list-style: none; display: flex; flex-direction: column; gap: 7px; }

.features-ocr .feat-list li { font-size: 13.5px; color: var(--text-muted); display: flex; align-items: flex-start; gap: 8px; line-height: 1.45; }

.features-ocr .feat-list li::before { content: '·'; color: var(--teal); font-size: 18px; line-height: 1; flex-shrink: 0; margin-top: -1px; }

/* ── #demo ── */

.demo-ocr { padding: 50px 0; background: linear-gradient(180deg,transparent 0%,rgba(10,18,32,.4) 100%); transition: background .35s; }

html.light .demo-ocr { background: linear-gradient(180deg,transparent 0%,rgba(238,242,249,.8) 100%); }

.demo-ocr .demo-header { text-align: center; margin-bottom: 48px; }

.demo-ocr .demo-header .section-sub { margin: 0 auto; }

.demo-ocr .demo-card { max-width: 780px; margin: 0 auto; background: var(--bg3); border: 1px solid var(--border); border-radius: 20px; padding: 40px; box-shadow: var(--card-shadow); }

html.light .demo-ocr .demo-card { background: #fff; box-shadow: 0 24px 60px -16px rgba(13,30,60,.1); }

.demo-ocr .demo-drop { border: 2px dashed rgba(0,212,180,.3); border-radius: 14px; padding: 40px; text-align: center; cursor: pointer; transition: .3s; background: rgba(0,212,180,.02); margin-bottom: 20px; }

.demo-ocr .demo-drop:hover, .demo-ocr .demo-drop.dragover { border-color: var(--teal); background: rgba(0,212,180,.06); }

.demo-ocr .demo-drop-icon { font-size: 36px; margin-bottom: 10px; }

.demo-ocr .demo-drop-title { font-size: 16px; font-weight: 600; margin-bottom: 6px; color: var(--text); }

.demo-ocr .demo-drop-sub { font-size: 13px; color: var(--text-muted); margin-bottom: 14px; }

.demo-ocr .demo-drop-btn { display: inline-flex; align-items: center; gap: 8px; padding: 9px 20px; border-radius: 8px; background: var(--social-bg); border: 1px solid var(--border); color: var(--text-muted); font-size: 13px; font-weight: 500; cursor: pointer; transition: .2s; font-family: 'DM Sans', sans-serif; }

.demo-ocr .demo-drop-btn:hover { border-color: var(--teal); color: var(--teal); }

.demo-ocr .demo-filetypes { font-size: 11.5px; color: var(--text-dim); margin-top: 10px; }

.demo-ocr .demo-options { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 24px; }

.demo-ocr .demo-check { display: flex; align-items: center; gap: 10px; padding: 11px 14px; border-radius: 10px; background: var(--social-bg); border: 1px solid var(--border); cursor: pointer; font-size: 13.5px; color: var(--text-muted); transition: .2s; -webkit-user-select: none; -moz-user-select: none; user-select: none; }

.demo-ocr .demo-check:hover { border-color: rgba(0,212,180,.3); color: var(--text); }

.demo-ocr .demo-check input[type=checkbox] { width: 16px; height: 16px; accent-color: var(--teal); cursor: pointer; flex-shrink: 0; }

.demo-ocr .demo-run { width: 100%; padding: 14px; border-radius: 12px; background: linear-gradient(135deg,var(--teal),var(--blue)); color: #fff; font-size: 15px; font-weight: 700; border: none; cursor: pointer; font-family: 'DM Sans', sans-serif; transition: .2s; margin-bottom: 8px; }

.demo-ocr .demo-run:hover { opacity: .9; transform: translateY(-1px); }

.demo-ocr .demo-run:active { transform: scale(0.99); }

.demo-ocr .demo-result { display: none; margin-top: 24px; animation: fadeIn .4s ease; }

.demo-ocr .demo-result.show { display: block; }

@keyframes fadeIn { from{opacity:0;transform:translateY(10px)} to{opacity:1;transform:translateY(0)} }

.demo-ocr .demo-result-header { display: flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 600; color: var(--teal); margin-bottom: 12px; }

.demo-ocr .demo-json { background: var(--terminal-bg); border-radius: 10px; padding: 16px; font-family: monospace; font-size: 12.5px; line-height: 1.7; color: #6ee7b7; border: 1px solid rgba(0,212,180,.15); white-space: pre; overflow-x: auto; margin-bottom: 16px; }

.demo-ocr .demo-result-actions { display: flex; gap: 10px; flex-wrap: wrap; }

.demo-ocr .demo-result-actions .btn-ghost { font-size: 13px; padding: 8px 16px; }

.demo-ocr .demo-disclaimer { margin-top: 20px; font-size: 12px; color: var(--text-dim); text-align: center; line-height: 1.6; padding: 12px; border-radius: 8px; background: rgba(0,212,180,.03); border: 1px solid var(--border); }

.demo-ocr .demo-warn { display: none; padding: 10px 16px; border-radius: 8px; background: rgba(239,68,68,.08); border: 1px solid rgba(239,68,68,.2); color: #f87171; font-size: 13px; margin-bottom: 12px; }

.demo-ocr .demo-warn.show { display: block; }

html.light .demo-ocr .demo-warn { color: #dc2626; }

/* ── #faq ── */

.faq-ocr { padding: 50px 0; }

.faq-ocr .center { margin-bottom: 48px; }

.faq-ocr .faq-list { max-width: 760px; margin: 0 auto; display: flex; flex-direction: column; gap: 0; }

.faq-ocr .faq-item { border-bottom: 1px solid var(--border); }

.faq-ocr .faq-item:first-child { border-top: 1px solid var(--border); }

.faq-ocr .faq-q { display: flex; justify-content: space-between; align-items: center; padding: 20px 0; cursor: pointer; font-size: 16px; font-weight: 600; color: var(--text); gap: 16px; transition: color .2s; }

.faq-ocr .faq-q:hover { color: var(--teal); }

.faq-ocr .faq-icon { width: 24px; height: 24px; border-radius: 50%; border: 1px solid var(--border); display: flex; align-items: center; justify-content: center; flex-shrink: 0; font-size: 14px; color: var(--text-dim); transition: transform .3s, border-color .2s, background .2s; }

.faq-ocr .faq-item.open .faq-icon { transform: rotate(45deg); border-color: var(--teal); color: var(--teal); background: rgba(0,212,180,.08); }

.faq-ocr .faq-a { max-height: 0; overflow: hidden; transition: max-height .35s ease, padding .3s ease; }

.faq-ocr .faq-item.open .faq-a { max-height: 300px; }

.faq-ocr .faq-a p { padding-bottom: 20px; font-size: 14.5px; color: var(--text-muted); line-height: 1.7; }

/* ── RESPONSIVE ── */

/* ══════════════════════════════════
   provision-landing.html — sections
══════════════════════════════════ */

/* ── #hero ── */

#hero { position: relative; min-height: 100vh; display: flex; align-items: center; padding: 120px 48px 80px; overflow: hidden; }

.hero-glow { position: absolute; top: -200px; left: 50%; transform: translateX(-50%); width: 900px; height: 700px; border-radius: 50%; background: radial-gradient(ellipse,rgba(0,212,180,.08) 0%,rgba(26,108,246,.05) 40%,transparent 70%); pointer-events: none; }

.hero-inner { position: relative; z-index: 1; max-width: 1200px; margin: 0 auto; width: 100%; display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; }

.hero-badge { display: inline-flex; align-items: center; gap: 8px; padding: 6px 14px; border-radius: 100px; background: rgba(0,212,180,.08); border: 1px solid rgba(0,212,180,.22); font-size: 11.5px; font-weight: 600; color: var(--teal); margin-bottom: 26px; letter-spacing: 1.2px; text-transform: uppercase; }

.hero-badge::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: var(--teal); box-shadow: 0 0 8px var(--teal); animation: pulse 2s infinite; }

@keyframes pulse { 0%, 100%{opacity:1} 50%{opacity:.4} }

h1.hero-h1 { font-size: clamp(42px,5vw,66px); font-weight: 800; line-height: 1.04; letter-spacing: -2px; margin-bottom: 22px; }

.hero-h1 .grad { background: linear-gradient(110deg,var(--teal) 10%,var(--blue) 85%); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: transparent; }

.hero-h1 .emph { color: var(--text); position: relative; }

.hero-h1 .emph::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0.06em; height: 0.14em; background: linear-gradient(90deg,var(--teal),var(--blue)); opacity: .18; border-radius: 4px; }

.hero-sub { font-size: 17px; color: var(--text-muted); font-weight: 300; line-height: 1.7; margin-bottom: 36px; max-width: 480px; text-wrap: pretty; }

.hero-cta { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 36px; }

.trust-badges { display: flex; flex-wrap: wrap; gap: 18px; font-size: 12.5px; color: var(--text-muted); padding-top: 20px; border-top: 1px solid var(--border); max-width: 520px; }

.trust-badges span { display: flex; align-items: center; gap: 6px; }

.trust-badges .check { color: var(--teal); }

/* hero card */

.hero-visual { position: relative; }

.hero-visual::before { content: ''; position: absolute; inset: -60px -40px; z-index: 0; background: radial-gradient(ellipse 70% 60% at 50% 50%, rgba(0,212,180,.18) 0%, rgba(26,108,246,.12) 35%, transparent 70%); filter: blur(30px); pointer-events: none; }

html.light .hero-visual::before { background: radial-gradient(ellipse 70% 60% at 50% 50%, rgba(0,122,104,.12) 0%, rgba(21,80,192,.08) 35%, transparent 70%); }

.hero-card { position: relative; z-index: 1; background: var(--bg3); border: 1px solid var(--border); border-radius: 16px; padding: 24px; overflow: hidden; transition: background .35s, border-color .35s; box-shadow: 0 20px 60px -20px rgba(0,0,0,0.4); }

html.light .hero-card { box-shadow: 0 20px 60px -20px rgba(13,30,60,0.15); }

.hero-card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 1px; background: linear-gradient(90deg,transparent,var(--teal),transparent); }

.hero-card-header { display: flex; align-items: center; justify-content: space-between; font-size: 11px; text-transform: uppercase; letter-spacing: 1.5px; color: var(--text-dim); margin-bottom: 16px; font-weight: 600; }

.hero-card-header .live { display: inline-flex; align-items: center; gap: 6px; color: var(--teal); }

.hero-card-header .live::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: var(--teal); box-shadow: 0 0 6px var(--teal); animation: pulse 1.5s infinite; }

.doc-flow { display: flex; flex-direction: column; gap: 12px; }

.doc-row { position: relative; display: flex; align-items: center; gap: 12px; padding: 10px 14px; border-radius: 10px; background: rgba(255,255,255,.03); border: 1px solid var(--border); transition: background .35s, border-color .35s; overflow: hidden; }

html.light .doc-row { background: rgba(13,30,60,.03); }

.doc-row.scanning::after { content: ''; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(90deg,transparent 0%,rgba(0,212,180,0) 40%,rgba(0,212,180,.22) 50%,rgba(0,212,180,0) 60%,transparent 100%); animation: scan 2.2s linear infinite; }

@keyframes scan { 0%{transform:translateX(-100%);} 100%{transform:translateX(100%);} }

.doc-icon { width: 34px; height: 34px; border-radius: 8px; display: flex; align-items: center; justify-content: center; font-size: 16px; flex-shrink: 0; }

.doc-icon.pdf { background: rgba(255,80,80,.15); }

.doc-icon.img { background: rgba(26,108,246,.15); }

.doc-icon.xls { background: rgba(0,212,180,.12); }

.doc-info { flex: 1; min-width: 0; }

.doc-name { font-size: 13px; font-weight: 500; margin-bottom: 2px; }

.doc-size { font-size: 11px; color: var(--text-dim); }

.doc-status { font-size: 11px; font-weight: 600; padding: 3px 10px; border-radius: 20px; white-space: nowrap; }

.doc-status.done { background: rgba(0,212,180,.12); color: var(--teal); }

.doc-status.proc { background: rgba(26,108,246,.14); color: var(--blue); }

.extracted-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 14px; }

.field { background: rgba(0,212,180,.05); border: 1px solid rgba(0,212,180,.12); border-radius: 8px; padding: 10px 12px; transition: background .35s; }

.field-label { font-size: 10px; color: var(--teal); text-transform: uppercase; letter-spacing: .5px; margin-bottom: 4px; font-weight: 600; }

.field-value { font-size: 13px; font-weight: 500; }

.accuracy-bar { margin-top: 12px; padding: 10px 14px; background: rgba(255,255,255,.02); border-radius: 10px; border: 1px solid var(--border); display: flex; align-items: center; gap: 12px; transition: background .35s; }

html.light .accuracy-bar { background: rgba(13,30,60,.02); }

.acc-label { font-size: 12px; color: var(--text-muted); flex: 1; }

.acc-num { font-size: 18px; font-weight: 700; color: var(--teal); font-family: 'Syne', sans-serif; }

.acc-bar-wrap { flex: 1; height: 4px; background: rgba(255,255,255,.06); border-radius: 4px; overflow: hidden; }

html.light .acc-bar-wrap { background: rgba(13,30,60,.08); }

.acc-bar-fill { height: 100%; border-radius: 4px; background: linear-gradient(90deg,var(--teal),var(--blue)); width: 99%; }

/* ── #problem ── */

#problem { padding: 50px 0; background: linear-gradient(180deg,transparent 0%,rgba(10,18,32,.4) 100%); transition: background .35s; }

html.light #problem { background: linear-gradient(180deg,transparent 0%,rgba(238,242,249,.9) 100%); }

#problem .container { display: grid; grid-template-columns: 1fr 1.6fr; gap: 80px; align-items: start; }

#problem .section-sub { margin-bottom: 40px; }

.compare-table-wrap { border-radius: 14px; overflow: hidden; border: 1px solid var(--border); background: var(--card); box-shadow: var(--card-shadow); }

.compare-table { width: 100%; border-collapse: collapse; }

.compare-table thead th { padding: 16px 20px; font-size: 13px; font-weight: 700; text-align: left; font-family: 'Syne', sans-serif; letter-spacing: .2px; }

.compare-table thead th:first-child { background: rgba(255,80,80,.08); border-right: 1px solid var(--border); color: #d94f4f; }

.compare-table thead th:last-child { background: rgba(0,212,180,.08); color: var(--teal); }

.compare-table tbody tr { border-top: 1px solid var(--border); }

.compare-table tbody td { padding: 14px 20px; font-size: 14px; line-height: 1.5; vertical-align: top; color: var(--text-muted); }

.compare-table tbody td:first-child { border-right: 1px solid var(--border); background: rgba(255,80,80,.03); }

.compare-table tbody td:last-child { background: rgba(0,212,180,.02); color: var(--text); font-weight: 500; }

.cmp-cell { display: flex; gap: 10px; align-items: flex-start; }

.cmp-cell svg { flex-shrink: 0; margin-top: 2px; }

/* ── #products ── */

#products { padding: 50px 0; }

#products .header-row { display: flex; justify-content: space-between; align-items: flex-end; margin-bottom: 56px; gap: 24px; }

.product-cards { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; }

.p-card {
  background: var(--card); border: 1px solid var(--border); border-radius: 18px;
  padding: 32px; position: relative; overflow: hidden;
  transition: transform .35s cubic-bezier(.2,.65,.25,1), border-color .3s, background .35s, box-shadow .35s;
  cursor: pointer; box-shadow: var(--card-shadow);
}

.p-card:hover { border-color: rgba(0,212,180,.3); transform: translateY(-6px); box-shadow: var(--card-shadow-hover); }

.p-card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 2px; opacity: 0; transition: .3s; }

.p-card:hover::before { opacity: 1; }

.p-card::after { content: ''; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; background: radial-gradient(ellipse 60% 40% at 50% 0%, rgba(0,212,180,.08), transparent 70%); opacity: 0; transition: opacity .35s; }

.p-card:hover::after { opacity: 1; }

.p-card.ocr::before { background: linear-gradient(90deg,var(--teal),var(--blue)); }

.p-card.llm::before { background: linear-gradient(90deg,var(--blue),#a855f7); }

.p-card.flux::before { background: linear-gradient(90deg,#f59e0b,var(--teal)); }

.p-card-icon { width: 52px; height: 52px; border-radius: 12px; display: flex; align-items: center; justify-content: center; font-size: 24px; margin-bottom: 20px; position: relative; z-index: 1; }

.p-card.ocr .p-card-icon { background: rgba(0,212,180,.1); }

.p-card.llm .p-card-icon { background: rgba(26,108,246,.12); }

.p-card.flux .p-card-icon { background: rgba(245,158,11,.12); }

.p-card h3 { font-size: 21px; font-weight: 700; margin-bottom: 6px; letter-spacing: -.4px; position: relative; z-index: 1; }

.p-card-tagline { font-size: 10.5px; color: var(--accent-soft); font-weight: 600; text-transform: uppercase; letter-spacing: 1.5px; margin-bottom: 16px; display: inline-block; position: relative; z-index: 1; }

.p-card-desc { font-size: 14px; color: var(--text-muted); line-height: 1.65; margin-bottom: 20px; position: relative; z-index: 1; }

.p-features { list-style: none; display: flex; flex-direction: column; gap: 8px; margin-bottom: 24px; position: relative; z-index: 1; }

.p-features li { font-size: 13px; color: var(--text-muted); display: flex; align-items: center; gap: 8px; }

.p-features li::before { content: '→'; color: var(--teal); font-size: 12px; flex-shrink: 0; }

.p-card-link { font-size: 13px; font-weight: 600; color: var(--teal); text-decoration: none; display: inline-flex; align-items: center; gap: 6px; transition: gap .2s; position: relative; z-index: 1; }

.p-card-link:hover { gap: 10px; }

/* ── #usecases ── */

#usecases { padding: 50px 0; background: linear-gradient(180deg,transparent 0%,rgba(10,18,32,.4) 100%); transition: background .35s; }

html.light #usecases { background: linear-gradient(180deg,transparent 0%,rgba(238,242,249,.9) 100%); }

.usecase-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; margin-bottom: 16px; }

.uc-card { background: var(--card); border: 1px solid var(--border); border-radius: 16px; padding: 28px; transition: background .35s, border-color .3s, transform .3s, box-shadow .3s; box-shadow: var(--card-shadow); }

.uc-card:hover { border-color: rgba(0,212,180,.22); transform: translateY(-4px); box-shadow: var(--card-shadow-hover); }

.uc-emoji { font-size: 28px; margin-bottom: 14px; display: block; }

.uc-sector {
  display: inline-block; font-size: 10.5px; text-transform: uppercase; letter-spacing: 1.5px;
  color: var(--accent-soft); font-weight: 600; margin-bottom: 12px;
  padding: 3px 10px; border-radius: 6px;
  background: rgba(91,120,168,.1); border: 1px solid rgba(91,120,168,.2);
}

html.light .uc-sector { background: rgba(74,98,127,.08); border-color: rgba(74,98,127,.18); }

.uc-card h3 { font-size: 18px; font-weight: 700; margin-bottom: 14px; letter-spacing: -.2px; }

.uc-step { margin-bottom: 10px; }

.uc-step-label { font-size: 10px; text-transform: uppercase; letter-spacing: 1px; color: var(--text-dim); font-weight: 600; margin-bottom: 3px; }

.uc-step-text { font-size: 13px; color: var(--text-muted); line-height: 1.55; }

.uc-result { margin-top: 16px; padding: 10px 12px; background: rgba(0,212,180,.06); border-radius: 10px; border: 1px solid rgba(0,212,180,.14); font-size: 13px; font-weight: 500; color: var(--teal); }

.usecase-extra { display: none; grid-template-columns: repeat(3,1fr); gap: 20px; margin-bottom: 16px; }

.usecase-extra.open { display: grid; }

.center-btn { text-align: center; margin-top: 8px; }

.btn-more { display: inline-flex; align-items: center; gap: 8px; padding: 12px 28px; border-radius: 10px; border: 1px solid var(--border); background: transparent; color: var(--text-muted); font-size: 14px; font-weight: 600; cursor: pointer; font-family: 'DM Sans', sans-serif; transition: .2s; }

.btn-more:hover { border-color: var(--teal); color: var(--teal); }

.btn-more .arr { transition: transform .3s; }

/* ── #how ── */

.how-landind { padding: 50px 0; }

.how-landind .inner { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; }

.how-landind .step { display: flex; gap: 24px; padding: 24px 0; border-bottom: 1px solid var(--border); }

.how-landind .step:last-child { border-bottom: none; }

.how-landind .step-num { width: 44px; height: 44px; border-radius: 12px; flex-shrink: 0; background: rgba(91,120,168,.08); border: 1px solid rgba(91,120,168,.22); display: flex; align-items: center; justify-content: center; font-family: 'Syne', sans-serif; font-size: 18px; font-weight: 800; color: var(--accent-soft); }

.how-landind .step-content h4 { font-size: 17px; font-weight: 700; margin-bottom: 6px; }

.how-landind .step-content p { font-size: 14px; color: var(--text-muted); line-height: 1.6; }

.terminal { background: var(--terminal-bg); border: 1px solid var(--border); border-radius: 14px; overflow: hidden; transition: background .35s; box-shadow: 0 20px 40px -20px rgba(0,0,0,.5); }

.terminal-header { display: flex; align-items: center; gap: 8px; padding: 12px 16px; background: rgba(255,255,255,.03); border-bottom: 1px solid var(--border); }

.t-dot { width: 10px; height: 10px; border-radius: 50%; }

.t-dot.r { background: #ff5f57; }

.t-dot.y { background: #febc2e; }

.t-dot.g { background: #28c840; }

.terminal-filename { font-size: 12px; color: #6b7fa8; margin-left: 8px; }

.terminal-body { padding: 20px; font-family: 'SF Mono', Menlo, monospace; font-size: 13px; line-height: 1.8; color: #e8edf5; }

.t-comment { color: #4a6b94; }

.t-cmd { color: #e8edf5; }

.t-out { color: #00d4b4; }

.t-prompt { color: #6b7fa8; margin-right: 8px; }

.quote-box { margin-top: 40px; padding: 24px 28px; background: rgba(0,212,180,.04); border-left: 3px solid var(--teal); border-radius: 0 12px 12px 0; font-size: 15px; font-style: italic; color: var(--text-muted); line-height: 1.7; }

/* ── #pricing ── */

.pricing-landing { padding: 50px 0; background: linear-gradient(180deg,transparent 0%,rgba(10,18,32,.4) 100%); transition: background .35s; }

html.light .pricing-landing { background: linear-gradient(180deg,transparent 0%,rgba(238,242,249,.9) 100%); }

.pricing-landing .section-sub { margin: 0 auto 48px; }

.pricing-landing .pricing-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; margin-bottom: 40px; align-items: stretch; }

.pricing-landing .price-card {
  background: var(--card); border: 1px solid var(--border); border-radius: 18px;
  padding: 32px; position: relative; overflow: hidden;
  transition: transform .3s, border-color .3s, box-shadow .3s;
  box-shadow: var(--card-shadow); display: flex; flex-direction: column;
}

.pricing-landing .price-card:hover { transform: translateY(-4px); box-shadow: var(--card-shadow-hover); }

.pricing-landing .price-card.featured { border-color: rgba(0,212,180,.35); background: linear-gradient(180deg, rgba(0,212,180,.04) 0%, var(--card) 40%); }

.pricing-landing .price-card.featured::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 2px; background: linear-gradient(90deg,var(--teal),var(--blue)); }

.pricing-landing .price-tag { position: absolute; top: 20px; right: 20px; background: rgba(0,212,180,.12); color: var(--teal); font-size: 10px; font-weight: 700; letter-spacing: .5px; padding: 3px 10px; border-radius: 20px; text-transform: uppercase; border: 1px solid rgba(0,212,180,.22); }

.pricing-landing .savings-badge { display: inline-flex; align-items: center; gap: 6px; background: linear-gradient(135deg,var(--teal),var(--blue)); color: #fff; font-family: 'Syne', sans-serif; font-size: 11px; font-weight: 700; letter-spacing: .5px; padding: 4px 10px; border-radius: 6px; margin-left: 8px; box-shadow: 0 4px 12px -4px rgba(0,212,180,.4); }

.pricing-landing .price-product-icon { font-size: 28px; margin-bottom: 14px; }

.pricing-landing .price-tier { font-size: 11px; text-transform: uppercase; letter-spacing: 1.5px; color: var(--accent-soft); font-weight: 600; margin-bottom: 6px; }

.pricing-landing .price-name { font-size: 23px; font-weight: 800; margin-bottom: 10px; letter-spacing: -.4px; }

.pricing-landing .price-desc { font-size: 13px; color: var(--text-muted); margin-bottom: 20px; line-height: 1.55; }

.pricing-landing .price-from { font-size: 11px; text-transform: uppercase; letter-spacing: 1px; color: var(--text-dim); margin-bottom: 2px; font-weight: 600; }

.pricing-landing .price-amount-row { display: flex; align-items: baseline; gap: 0; flex-wrap: wrap; }

.pricing-landing .price-amount { font-family: 'Syne', sans-serif; font-size: 38px; font-weight: 800; letter-spacing: -1.5px; }

.pricing-landing .price-amount span { font-size: 15px; font-weight: 400; color: var(--text-muted); margin-left: 2px; }

.pricing-landing .price-old { font-family: 'Syne', sans-serif; font-size: 16px; font-weight: 500; color: var(--text-dim); text-decoration: line-through; text-decoration-color: rgba(255,100,100,.6); text-decoration-thickness: 2px; margin-right: 10px; }

.pricing-landing .price-period { font-size: 12px; color: var(--text-dim); margin-bottom: 22px; margin-top: 6px; }

.pricing-landing .price-features { list-style: none; display: flex; flex-direction: column; gap: 9px; margin-bottom: 22px; flex: 1; }

.pricing-landing .price-features li { font-size: 13px; color: var(--text-muted); display: flex; align-items: flex-start; gap: 8px; }

.pricing-landing .price-features li::before { content: '✓'; color: var(--teal); font-weight: 700; flex-shrink: 0; margin-top: 1px; }

.pricing-landing .btn-price { width: 100%; padding: 12px; border-radius: 10px; font-size: 14px; font-weight: 600; cursor: pointer; border: 1px solid var(--border); background: transparent; color: var(--text); font-family: 'DM Sans', sans-serif; transition: .2s; margin-bottom: 8px; }

.pricing-landing .btn-price:hover { border-color: var(--teal); color: var(--teal); }

.pricing-landing .btn-price.cta { background: linear-gradient(135deg,var(--teal),var(--blue)); border: none; color: #fff; }

.pricing-landing .btn-price.cta:hover { opacity: .92; box-shadow: 0 8px 24px -8px rgba(0,212,180,.5); }

.pricing-landing .btn-table-link { display: block; text-align: center; font-size: 12px; color: var(--text-dim); text-decoration: none; transition: .2s; }

.pricing-landing .btn-table-link:hover { color: var(--teal); }

.pricing-landing .pricing-cta { text-align: center; }

.pricing-landing .pricing-cta p { color: var(--text-muted); font-size: 14px; margin-bottom: 16px; }

/* ── #demo ── */

.demo-landing { padding: 50px 0; }

.demo-landing .demo-header { text-align: center; margin-bottom: 48px; }

.demo-landing .demo-header .section-sub { margin: 0 auto; }

.demo-landing .demo-tabs { display: flex; justify-content: center; gap: 8px; margin-bottom: 40px; flex-wrap: wrap; }

.demo-landing .demo-tab { padding: 10px 24px; border-radius: 10px; border: 1px solid var(--border); background: transparent; color: var(--text-muted); font-size: 14px; font-weight: 600; cursor: pointer; font-family: 'DM Sans', sans-serif; transition: .2s; display: flex; align-items: center; gap: 8px; }

.demo-landing .demo-tab:hover { border-color: var(--teal); color: var(--teal); }

.demo-landing .demo-tab.active { background: rgba(0,212,180,.08); border-color: rgba(0,212,180,.4); color: var(--teal); }

.demo-landing .demo-panel { display: none; }

.demo-landing .demo-panel.active { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: start; }

.demo-landing .drop-zone { border: 2px dashed rgba(0,212,180,.25); border-radius: 16px; padding: 40px 24px; text-align: center; background: rgba(0,212,180,.02); transition: .3s; cursor: pointer; }

.demo-landing .drop-zone:hover { border-color: rgba(0,212,180,.5); background: rgba(0,212,180,.04); }

.demo-landing .drop-icon { font-size: 36px; margin-bottom: 12px; display: block; }

.demo-landing .drop-title { font-size: 16px; font-weight: 600; margin-bottom: 6px; }

.demo-landing .drop-sub { font-size: 13px; color: var(--text-muted); margin-bottom: 16px; }

.demo-landing .drop-types { display: flex; gap: 8px; justify-content: center; flex-wrap: wrap; }

.demo-landing .drop-type { padding: 4px 12px; border-radius: 6px; background: var(--social-bg); border: 1px solid var(--border); font-size: 11px; color: var(--text-muted); font-weight: 500; }

.demo-landing .demo-result-preview { background: var(--bg3); border: 1px solid var(--border); border-radius: 14px; padding: 20px; margin-top: 16px; display: none; position: relative; overflow: hidden; transition: background .35s; }

.demo-landing .demo-result-preview.show { display: block; }

.demo-landing .result-blurred { filter: blur(6px); -webkit-user-select: none; -moz-user-select: none; user-select: none; font-size: 13px; color: var(--text-muted); line-height: 2.2; }

.demo-landing .result-overlay { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 10px; background: rgba(6,11,20,.65); backdrop-filter: blur(3px); border-radius: 14px; }

html.light .demo-landing .result-overlay { background: rgba(245,247,252,.85); }

.demo-landing result-overlay p { font-size: 14px; color: var(--text); font-weight: 500; }

.demo-landing .llm-messages { background: var(--bg3); border: 1px solid var(--border); border-radius: 14px; padding: 20px; min-height: 240px; display: flex; flex-direction: column; gap: 14px; transition: background .35s; margin-bottom: 12px; overflow-y: auto; max-height: 320px; }

.demo-landing .msg { max-width: 85%; padding: 11px 14px; border-radius: 12px; font-size: 13px; line-height: 1.55; position: relative; }

.demo-landing .msg.user { background: linear-gradient(135deg, rgba(26,108,246,.25), rgba(26,108,246,.15)); color: var(--text); align-self: flex-end; border: 1px solid rgba(26,108,246,.3); border-bottom-right-radius: 4px; }

.demo-landing .msg.ai { background: rgba(255,255,255,.03); color: var(--text); align-self: flex-start; border: 1px solid var(--border); border-left: 3px solid var(--teal); border-bottom-left-radius: 4px; padding-left: 14px; }

html.light .demo-landing .msg.ai { background: rgba(13,30,60,.03); }

.demo-landing .msg-label { font-size: 10px; color: var(--teal); font-weight: 700; letter-spacing: .5px; text-transform: uppercase; margin-bottom: 4px; }

.demo-landing .llm-input-row { display: flex; gap: 8px; margin-bottom: 10px; }

.demo-landing .llm-input { flex: 1; padding: 11px 16px; border-radius: 10px; background: var(--input-bg); border: 1px solid var(--border); color: var(--text); font-size: 14px; font-family: 'DM Sans', sans-serif; outline: none; transition: .2s; }

.demo-landing .llm-input:focus { border-color: rgba(0,212,180,.4); }

.demo-landing .llm-input::-moz-placeholder { color: var(--text-dim); }

.demo-landing .llm-input::placeholder { color: var(--text-dim); }

.demo-landing .llm-send { padding: 11px 20px; border-radius: 10px; background: linear-gradient(135deg,var(--teal),var(--blue)); color: #fff; border: none; font-size: 13px; font-weight: 600; cursor: pointer; font-family: 'DM Sans', sans-serif; transition: .2s; }

.demo-landing .llm-send:hover { opacity: .92; box-shadow: 0 8px 20px -6px rgba(0,212,180,.4); }

.demo-landing .llm-example-label { font-size: 11px; color: var(--text-dim); margin-bottom: 6px; font-weight: 600; text-transform: uppercase; letter-spacing: .5px; }

.demo-landing .llm-chips { display: flex; flex-wrap: wrap; gap: 6px; }

.demo-landing .llm-chip { padding: 5px 12px; border-radius: 20px; background: var(--social-bg); border: 1px solid var(--border); font-size: 12px; color: var(--text-muted); cursor: pointer; transition: .2s; }

.demo-landing .llm-chip:hover { border-color: var(--teal); color: var(--teal); }

.demo-landing .flux-panel { text-align: center; padding: 40px 28px; background: var(--bg3); border: 1px solid var(--border); border-radius: 16px; transition: background .35s; }

.demo-landing .flux-icon { font-size: 52px; margin-bottom: 16px; }

.demo-landing .flux-panel h3 { font-size: 22px; font-weight: 800; margin-bottom: 10px; }

.demo-landing .flux-panel p { font-size: 15px; color: var(--text-muted); line-height: 1.65; margin-bottom: 24px; max-width: 380px; margin-left: auto; margin-right: auto; }

.demo-landing .flux-features-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 24px; text-align: left; }

.demo-landing .flux-feat { background: rgba(0,212,180,.05); border: 1px solid rgba(0,212,180,.12); border-radius: 10px; padding: 12px 14px; font-size: 13px; color: var(--text-muted); display: flex; gap: 8px; align-items: flex-start; }

.demo-landing .flux-feat::before { content: '⚡'; flex-shrink: 0; }

.demo-landing .email-gate { background: var(--bg3); border: 1px solid var(--border); border-radius: 16px; padding: 32px; transition: background .35s; box-shadow: var(--card-shadow); }

.demo-landing .email-gate h3 { font-size: 20px; font-weight: 700; margin-bottom: 8px; }

.demo-landing .email-gate p { font-size: 14px; color: var(--text-muted); margin-bottom: 20px; }

.demo-landing .email-form { display: flex; flex-direction: column; gap: 10px; }

.demo-landing .email-form input { padding: 12px 16px; border-radius: 10px; background: var(--input-bg); border: 1px solid var(--border); color: var(--text); font-size: 14px; font-family: 'DM Sans', sans-serif; outline: none; transition: .2s; }

.demo-landing .email-form input:focus { border-color: rgba(0,212,180,.4); }

.demo-landing .email-form input::-moz-placeholder { color: var(--text-dim); }

.demo-landing .email-form input::placeholder { color: var(--text-dim); }

.demo-landing .email-form .btn-lg { text-align: center; justify-content: center; }

.demo-landing .demo-perks { display: flex; flex-direction: column; gap: 8px; margin-top: 16px; }

.demo-landing .demo-perk { font-size: 13px; color: var(--text-muted); display: flex; align-items: center; gap: 8px; }

.demo-landing .demo-perk::before { content: '✓'; color: var(--teal); font-weight: 600; }

/* ── #socials ── */

#socials { padding: 72px 0; border-top: 1px solid var(--border); transition: border-color .35s; }

#socials .inner { display: flex; flex-direction: column; align-items: center; gap: 28px; }

.socials-label { font-size: 11px; text-transform: uppercase; letter-spacing: 2px; color: var(--text-dim); font-weight: 600; }

.social-cards { display: flex; gap: 16px; flex-wrap: wrap; justify-content: center; }

.social-card {
  display: flex; align-items: center; gap: 14px; padding: 18px 24px;
  border-radius: 16px; background: var(--card); border: 1px solid var(--border);
  border-left: 3px solid var(--border); text-decoration: none; color: var(--text);
  transition: transform .25s, border-color .25s, background .25s, border-left-color .25s, box-shadow .25s;
  min-width: 220px; position: relative; box-shadow: var(--card-shadow);
}

.social-card:hover { transform: translateY(-4px); box-shadow: var(--card-shadow-hover); }

.social-card.github:hover { border-left-color: #6e7681; background: rgba(110,118,129,.08); }

.social-card.hf:hover { border-left-color: #ff9d00; background: rgba(255,157,0,.08); }

.social-card.tg:hover { border-left-color: #229ed9; background: rgba(34,158,217,.08); }

.social-card-icon { width: 46px; height: 46px; border-radius: 12px; display: flex; align-items: center; justify-content: center; font-size: 24px; flex-shrink: 0; }

.social-card.github .social-card-icon { background: rgba(110,118,129,.15); }

.social-card.hf .social-card-icon { background: rgba(255,157,0,.12); }

.social-card.tg .social-card-icon { background: rgba(34,158,217,.12); }

.social-card-body { flex: 1; }

.social-card-name { font-size: 16px; font-weight: 700; font-family: 'Syne', sans-serif; letter-spacing: -.2px; }

.social-card-sub { font-size: 12px; color: var(--text-muted); margin-top: 2px; }

.social-card-meta { font-size: 11px; color: var(--text-dim); margin-top: 4px; font-family: 'SF Mono', Menlo, monospace; letter-spacing: .3px; }

.social-card-meta strong { color: var(--text-muted); font-family: 'Syne', sans-serif; font-weight: 700; margin-right: 3px; }

/* ── RESPONSIVE ── */

/* ══════════════════════════════════
   provision-llm.html — sections
══════════════════════════════════ */

/* page-specific token */

:root { --llm-grad: linear-gradient(135deg,var(--teal),var(--blue)); }

/* ── #hero ── */

.hero-llm .hero-glow { position: absolute; top: -200px; left: 50%; transform: translateX(-50%); width: 900px; height: 700px; border-radius: 50%; background: radial-gradient(ellipse,rgba(0,212,180,.08) 0%,rgba(26,108,246,.05) 40%,transparent 70%); pointer-events: none; }

.hero-llm .hero-inner { position: relative; z-index: 1; max-width: 1200px; margin: 0 auto; width: 100%; display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: flex-start; }

.hero-llm .hero-left { display: flex; flex-direction: column; }

.hero-llm .hero-right { display: flex; flex-direction: column; padding-top: 56px; }

/* badges row */

.hero-llm .hero-badges { display: inline-flex; align-items: center; gap: 0; margin-bottom: 28px; background: rgba(255,255,255,.04); border: 1px solid var(--border); border-radius: 100px; padding: 6px 6px 6px 14px; }

.hero-llm .hero-badge-item { font-size: 12px; font-weight: 600; color: var(--text-muted); }

.hero-llm .hero-badge-item.green { color: #10b981; }

html.light .hero-llm .hero-badge-item.green { color: #059669; }

.hero-llm .hero-badge-divider { width: 1px; height: 14px; background: var(--border); margin: 0 12px; }

.hero-llm .hero-badge-pill { background: rgba(0,212,180,.12); border: 1px solid rgba(0,212,180,.25); color: var(--teal); padding: 4px 12px; border-radius: 100px; font-size: 11.5px; font-weight: 700; margin-left: 8px; }

html.light .hero-llm .hero-badge-pill { color: #005f50; }

.hero-llm h1.hero-h1 { font-size: clamp(40px,5vw,64px); font-weight: 800; line-height: 1.04; letter-spacing: -2px; margin-bottom: 22px; }

.hero-llm .hero-h1 .grad { background: var(--llm-grad); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }

.hero-llm .hero-sub { font-size: 17px; color: var(--text-muted); font-weight: 300; line-height: 1.7; margin-bottom: 24px; max-width: 640px; }

/* savings banner */

.savings-banner { border-radius: 16px; padding: 24px 28px; margin-bottom: 32px; background: linear-gradient(135deg,rgba(16,185,129,.08) 0%,rgba(26,108,246,.05) 100%); border: 1px solid rgba(16,185,129,.2); position: relative; overflow: hidden; }

.savings-banner::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 1px; background: linear-gradient(90deg,transparent,rgba(16,185,129,.5),transparent); }

.savings-banner-title { font-size: 13px; font-weight: 600; color: #10b981; margin-bottom: 16px; display: flex; align-items: center; gap: 6px; }

html.light .savings-banner-title { color: #059669; }

.savings-cols { display: grid; grid-template-columns: repeat(4,1fr); gap: 0; position: relative; }

.savings-col { text-align: center; padding: 0 12px; position: relative; }

.savings-col + .savings-col::before { content: ''; position: absolute; left: 0; top: 10%; height: 80%; width: 1px; background: var(--border); }

.savings-num { font-family: 'Syne', sans-serif; font-size: clamp(18px,2.5vw,26px); font-weight: 800; color: #10b981; line-height: 1; margin-bottom: 5px; }

html.light .savings-num { color: #059669; }

.savings-label { font-size: 11px; color: var(--text-muted); opacity: .85; line-height: 1.4; }

.savings-note { font-size: 11.5px; color: var(--text-dim); font-style: italic; margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--border); }

.hero-llm .hero-cta { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 16px; }

.hero-llm .hero-cta .btn-lg { padding: 11px 20px; font-size: 14px; }

.hero-llm .hero-hint { display: inline-flex; align-items: center; gap: 10px; flex-wrap: wrap; padding: 11px 12px; border-radius: 10px; background: rgba(0,212,180,.06); border: 1px solid rgba(0,212,180,.18); font-size: 13px; color: var(--text-muted); width: -moz-fit-content; width: fit-content;}

/* hero right metrics */

.hero-llm .hero-metrics-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 16px; margin-bottom: 16px; }

.hero-llm .hero-metric { background: rgba(0,212,180,.05); border: 1px solid rgba(0,212,180,.1); border-radius: 12px; padding: 14px 16px; transition: border-color .2s, background .2s; }

.hero-llm .hero-metric:hover { border-color: rgba(0,212,180,.25); background: rgba(0,212,180,.08); }

.hero-llm .hero-metric-val { font-family: 'Syne', sans-serif; font-size: 24px; font-weight: 800; letter-spacing: -1px; color: var(--teal); line-height: 1; margin-bottom: 5px; }

.hero-llm .hero-metric-label { font-size: 11.5px; color: var(--text-muted); line-height: 1.4; }

.hero-llm .hero-pills-right { display: flex; flex-wrap: wrap; gap: 8px; padding-top: 14px; border-top: 1px solid var(--border); }

.hero-llm .hero-pill-r { display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; border-radius: 100px; background: var(--card); border: 1px solid var(--border); font-size: 12px; font-weight: 500; color: var(--text-muted); transition: border-color .2s, color .2s; }

.hero-llm .hero-pill-r:hover { border-color: rgba(0,212,180,.3); color: var(--text); }

html.light .hero-llm .hero-pill-r { background: rgba(13,30,60,.03); }

/* ── #features ── */

.features-llm { padding: 50px 0; background: linear-gradient(180deg,transparent 0%,rgba(10,18,32,.4) 100%); transition: background .35s; }

html.light .features-llm { background: linear-gradient(180deg,transparent 0%,rgba(238,242,249,.9) 100%); }

.features-llm .features-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; }

.features-llm .feat-card { background: var(--card); border: 1px solid var(--border); border-radius: 16px; padding: 30px; box-shadow: var(--card-shadow); transition: background .35s, border-color .3s, transform .25s, box-shadow .25s; position: relative; overflow: hidden; }

.features-llm .feat-card:hover { transform: translateY(-5px); box-shadow: var(--card-shadow-hover); border-color: rgba(0,212,180,.25); }

.features-llm .feat-card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 2px; background: linear-gradient(90deg,var(--teal),var(--blue)); opacity: 0; transition: .3s; }

.features-llm .feat-card:hover::before { opacity: 1; }

html.light .features-llm .feat-card { background: #fff; }

.features-llm .feat-icon { font-size: 32px; margin-bottom: 16px; display: block; }

.features-llm .feat-title { font-size: 18px; font-weight: 700; letter-spacing: -.2px; margin-bottom: 10px; }

.features-llm .feat-desc { font-size: 14px; color: var(--text-muted); line-height: 1.65; }

/* ── #pricing ── */

.pricing-llm { padding: 50px 0; }

.pricing-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 16px; margin-bottom: 20px; }

.price-card { background: var(--card); border: 1px solid var(--border); border-radius: 16px; padding: 24px; position: relative; overflow: hidden; box-shadow: var(--card-shadow); transition: transform .3s, border-color .3s, box-shadow .3s, background .35s; display: flex; flex-direction: column; }

.price-card:hover { transform: translateY(-4px); box-shadow: var(--card-shadow-hover); }

html.light .price-card { background: #fff; }

.price-card.featured { border-color: rgba(0,212,180,.35); background: linear-gradient(180deg,rgba(0,212,180,.04) 0%,var(--card) 40%); }

html.light .price-card.featured { background: linear-gradient(180deg,rgba(0,212,180,.03) 0%,#fff 40%); }

.price-card.featured::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 2px; background: linear-gradient(90deg,var(--teal),var(--blue)); }

.price-star { position: absolute; top: 14px; right: 14px; background: rgba(0,212,180,.12); border: 1px solid rgba(0,212,180,.25); color: var(--teal); font-size: 10px; font-weight: 700; padding: 3px 10px; border-radius: 20px; letter-spacing: .5px; }

.price-tier { font-size: 11px; text-transform: uppercase; letter-spacing: 1.5px; color: var(--accent-soft); font-weight: 600; margin-bottom: 6px; }

.price-name { font-size: 20px; font-weight: 800; letter-spacing: -.3px; margin-bottom: 14px; }

.price-amount { font-family: 'Syne', sans-serif; font-size: clamp(20px,2vw,26px); font-weight: 800; letter-spacing: -1px; margin-bottom: 3px; line-height: 1; }

.price-period { font-size: 12px; color: var(--text-dim); margin-bottom: 18px; }

.price-divider { height: 1px; background: var(--border); margin-bottom: 16px; }

.price-rows { display: flex; flex-direction: column; gap: 8px; flex: 1; margin-bottom: 20px; }

.price-row { display: flex; justify-content: space-between; align-items: flex-start; gap: 8px; font-size: 12.5px; }

.price-row-label { color: var(--text-dim); }

.price-row-val { color: var(--text); font-weight: 600; text-align: right; }

.price-row-val.green { color: #10b981; }

html.light .price-row-val.green { color: #059669; }

.price-row-val.no { color: var(--text-dim); font-weight: 400; }

.price-overage { font-size: 11.5px; color: var(--text-dim); padding: 8px 10px; background: var(--social-bg); border-radius: 8px; margin-bottom: 16px; }

.btn-price { width: 100%; padding: 11px; border-radius: 10px; font-size: 13.5px; font-weight: 600; cursor: pointer; border: 1px solid var(--border); background: transparent; color: var(--text); font-family: 'DM Sans', sans-serif; transition: .2s; }

.btn-price:hover { border-color: var(--teal); color: var(--teal); }

.btn-price.cta { background: linear-gradient(135deg,var(--teal),var(--blue)); border: none; color: #fff; }

.btn-price.cta:hover { opacity: .9; }

.pricing-note { text-align: center; font-size: 12px; color: var(--text-dim); }

.price-savings-row { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 10px; }

.price-saving-badge { font-size: 11px; font-weight: 600; padding: 2px 8px; border-radius: 6px; background: rgba(16,185,129,.1); border: 1px solid rgba(16,185,129,.2); color: #10b981; }

html.light .price-saving-badge { color: #059669; }

/* ── #compare ── */

#compare { padding: 50px 0; }

.tabs { display: flex; gap: 8px; margin-bottom: 32px; flex-wrap: wrap; }

.tab-btn { padding: 10px 22px; border-radius: 10px; border: 1px solid var(--border); background: transparent; color: var(--text-muted); font-size: 14px; font-weight: 600; cursor: pointer; font-family: 'DM Sans', sans-serif; transition: .2s; }

.tab-btn:hover { border-color: var(--teal); color: var(--teal); }

.tab-btn.active { background: linear-gradient(135deg,var(--teal),var(--blue)); border: none; color: #fff; }

.tab-panel { display: none; }

.tab-panel.active { display: block; }

.adv-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 32px; }

.adv-card { background: var(--card); border: 1px solid var(--border); border-radius: 14px; padding: 20px 22px; box-shadow: var(--card-shadow); transition: background .35s, border-color .3s; }

.adv-card:hover { border-color: rgba(0,212,180,.2); }

html.light .adv-card { background: #fff; }

.adv-icon { font-size: 22px; margin-bottom: 8px; }

.adv-title { font-size: 15px; font-weight: 700; margin-bottom: 6px; color: var(--text); }

.adv-desc { font-size: 13px; color: var(--text-muted); line-height: 1.6; }

.ctable-wrap { border-radius: 14px; overflow: hidden; border: 1px solid var(--border); box-shadow: var(--card-shadow); }

.ctable-wrap table { width: 100%; border-collapse: collapse; }

.ctable-wrap thead th { padding: 13px 18px; font-size: 12px; font-weight: 700; text-align: left; background: var(--card); border-bottom: 1px solid var(--border); font-family: 'Syne', sans-serif; }

html.light .ctable-wrap thead th { background: var(--bg2); }

.ctable-wrap thead th:not(:first-child) { text-align: center; }

.ctable-wrap tbody tr { border-top: 1px solid var(--border); transition: background .15s; }

.ctable-wrap tbody tr:hover { background: rgba(0,212,180,.03); }

.ctable-wrap tbody tr.highlight { background: rgba(0,212,180,.05); }

.ctable-wrap tbody td { padding: 12px 18px; font-size: 13px; color: var(--text-muted); text-align: center; }

.ctable-wrap tbody td:first-child { text-align: left; font-weight: 600; color: var(--text); }

.ctable-wrap .val-green { color: #10b981; font-weight: 700; }

html.light .ctable-wrap .val-green { color: #059669; }

.ctable-note { font-size: 12px; color: var(--text-dim); margin-top: 12px; padding: 12px 16px; background: rgba(0,212,180,.04); border-radius: 10px; border: 1px solid rgba(0,212,180,.1); }

.cost-bars { margin-bottom: 28px; }

.cost-bars-title { font-size: 15px; font-weight: 700; margin-bottom: 16px; color: var(--text); }

.cost-bar-row { display: flex; align-items: center; gap: 14px; margin-bottom: 12px; }

.cost-bar-label { font-size: 13px; color: var(--text-muted); width: 220px; flex-shrink: 0; }

.cost-bar-wrap { flex: 1; height: 8px; background: var(--social-bg); border-radius: 8px; overflow: hidden; }

.cost-bar-fill { height: 100%; border-radius: 8px; background: linear-gradient(90deg,var(--teal),var(--blue)); }

.cost-bar-val { font-size: 13px; font-weight: 700; color: var(--text); width: 120px; text-align: right; flex-shrink: 0; }

.cost-bar-val--dim { color: var(--text-dim); }

.cost-total { padding: 14px 20px; background: rgba(0,212,180,.05); border: 1px solid rgba(0,212,180,.2); border-radius: 12px; font-size: 14px; color: var(--text-muted); margin-top: 8px; }

.cost-total strong { color: var(--teal); font-family: 'Syne', sans-serif; }

/* enterprise price override */

.price-enterprise { font-size: 22px; letter-spacing: -.5px; }

/* ── RESPONSIVE ── */

/* demo */

.plb-wrap {
  margin: 50px 0;
  background: #0a1220;
  border-radius: 20px;
  border: 1px solid rgba(255,255,255,.08);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  height: 560px;
  font-family: 'DM Sans', system-ui, sans-serif;
  font-size: 14px;
  line-height: 1.5;
  color: #e8edf5;
  position: relative;
  scroll-margin-top:64px;
}

/* ── HEADER ── */

.plb-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 13px 18px;
  border-bottom: 1px solid rgba(255,255,255,.07);
  background: #0f1a2e;
  flex-shrink: 0;
}

.plb-head-left { display: flex; align-items: center; gap: 9px; }

.plb-dot {
  width: 7px; height: 7px; border-radius: 50%;
  background: #00d4b4;
  box-shadow: 0 0 7px #00d4b4;
  animation: plbPulse 2s infinite;
}

@keyframes plbPulse { 0%, 100%{opacity:1} 50%{opacity:.35} }

.plb-model-name { font-size: 13px; font-weight: 600; color: #7a8ba8; }

.plb-tag {
  padding: 2px 7px; border-radius: 5px;
  font-size: 10.5px; font-weight: 700;
  background: rgba(0,212,180,.1);
  border: 1px solid rgba(0,212,180,.2);
  color: #00d4b4;
}

.plb-tag-blue {
  background: rgba(26,108,246,.1);
  border-color: rgba(26,108,246,.2);
  color: #1a6cf6;
}

.plb-badge {
  display: flex; align-items: center; gap: 5px;
  font-size: 11px; font-weight: 600;
  padding: 3px 10px; border-radius: 20px;
  background: rgba(0,212,180,.07);
  border: 1px solid rgba(0,212,180,.18);
  color: #00d4b4;
}

/* ── MESSAGES ── */

.plb-messages {
  flex: 1;
  overflow-y: auto;
  padding: 20px 20px 8px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  scroll-behavior: smooth;
}

.plb-messages::-webkit-scrollbar { width: 3px; }

.plb-messages::-webkit-scrollbar-thumb { background: rgba(255,255,255,.07); border-radius: 3px; }

.plb-row { display: flex; gap: 10px; animation: plbIn .3s ease; }

.plb-row.plb-user { flex-direction: row-reverse; }

@keyframes plbIn { from{opacity:0;transform:translateY(8px)} to{opacity:1;transform:translateY(0)} }

.plb-av {
  width: 28px; height: 28px; border-radius: 7px;
  flex-shrink: 0; margin-top: 2px;
  display: flex; align-items: center; justify-content: center;
}

.plb-av.ai  { background: rgba(0,212,180,.1); border: 1px solid rgba(0,212,180,.2); }

.plb-av.usr { background: rgba(26,108,246,.1); border: 1px solid rgba(26,108,246,.2); }

.plb-body { max-width: 75%; min-width: 0; }

.plb-name {
  font-size: 10px; font-weight: 700; text-transform: uppercase;
  letter-spacing: 1px; margin-bottom: 5px;
}

.plb-row.plb-ai   .plb-name { color: #00d4b4; }

.plb-row.plb-user .plb-name { color: #1a6cf6; text-align: right; }

.plb-bubble {
  padding: 11px 15px;
  font-size: 13.5px; line-height: 1.65;
  border: 1px solid rgba(255,255,255,.07);
  word-break: break-word;
}

.plb-row.plb-ai   .plb-bubble {
  background: rgba(0,212,180,.06);
  border-radius: 12px 12px 12px 3px;
}

.plb-row.plb-user .plb-bubble {
  background: rgba(26,108,246,.14);
  border-radius: 12px 12px 3px 12px;
}

.plb-bubble code {
  background: rgba(0,212,180,.1);
  padding: 1px 5px; border-radius: 4px;
  font-size: 12px; color: #00d4b4;
  font-family: 'DM Mono', monospace;
}

/* typing */

.plb-typing-row { display: flex; gap: 10px; }

.plb-typing-bubble {
  padding: 10px 14px;
  background: rgba(0,212,180,.06);
  border: 1px solid rgba(255,255,255,.07);
  border-radius: 12px 12px 12px 3px;
  display: flex; gap: 4px; align-items: center;
}

.plb-dot2 {
  width: 6px; height: 6px; border-radius: 50%;
  background: #00d4b4; opacity: .5;
  animation: plbBounce 1.1s ease infinite;
}

.plb-dot2:nth-child(2){ animation-delay:.18s; }

.plb-dot2:nth-child(3){ animation-delay:.36s; }

@keyframes plbBounce{ 0%, 60%, 100%{transform:translateY(0)} 30%{transform:translateY(-6px)} }

/* ── CHIPS ── */

.plb-chips {
  padding: 0 20px 12px;
  display: flex; flex-wrap: wrap; gap: 7px;
  flex-shrink: 0;
}

.plb-chips-label {
  width: 100%;
  font-size: 10px; font-weight: 700; text-transform: uppercase;
  letter-spacing: 1.3px; color: #3d4f6b;
  margin-bottom: 2px;
}

.plb-chip {
  padding: 6px 13px; border-radius: 20px;
  background: #0f1a2e;
  border: 1px solid rgba(255,255,255,.08);
  font-size: 12.5px; color: #7a8ba8;
  cursor: pointer; transition: .18s;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.plb-chip:hover {
  border-color: rgba(0,212,180,.35);
  color: #e8edf5;
}

/* ── INPUT ── */

.plb-input-area {
  flex-shrink: 0;
  padding: 10px 14px 14px;
  border-top: 1px solid rgba(255,255,255,.07);
}

.plb-input-row { display: flex; gap: 8px; align-items: flex-end; }

.plb-textarea {
  flex: 1;
  padding: 11px 14px;
  background: #0f1a2e;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 10px;
  color: #e8edf5;
  font-size: 13.5px;
  font-family: 'DM Sans', system-ui, sans-serif;
  outline: none;
  resize: none;
  min-height: 42px;
  max-height: 120px;
  transition: border-color .2s;
  line-height: 1.5;
}

.plb-textarea:focus { border-color: rgba(0,212,180,.35); }

.plb-textarea::-moz-placeholder { color: #3d4f6b; }

.plb-textarea::placeholder { color: #3d4f6b; }

.plb-send {
  width: 42px; height: 42px; border-radius: 10px; flex-shrink: 0;
  background: linear-gradient(135deg, #00d4b4, #1a6cf6);
  border: none; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  color: #fff; transition: .2s;
}

.plb-send:hover:not(:disabled) { opacity: .85; transform: scale(1.04); }

.plb-send:disabled { opacity: .28; cursor: default; transform: none; }

.plb-hint {
  text-align: center;
  font-size: 11px; color: #3d4f6b;
  margin-top: 7px;
}

.plb-hint kbd {
  display: inline-block;
  padding: 1px 5px; border-radius: 4px;
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.08);
  font-family: 'DM Mono', monospace;
  font-size: 10px; color: #7a8ba8;
}

/* ══════════════════════════════════
   provision-about.html — sections
══════════════════════════════════ */

/* ── #about-hero ── */

#about-hero { position: relative; padding: 160px 48px 100px; overflow: hidden; }

.hero-glow {
  position: absolute; top: -200px; left: 50%; transform: translateX(-50%);
  width: 900px; height: 700px; border-radius: 50%;
  background: radial-gradient(ellipse,rgba(0,212,180,.08) 0%,rgba(26,108,246,.05) 40%,transparent 70%);
  pointer-events: none;
}

.about-hero-inner {
  position: relative; z-index: 1; max-width: 1200px; margin: 0 auto;
  display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center;
}

.about-hero-left h1 { font-size: clamp(40px,5vw,64px); font-weight: 800; line-height: 1.05; letter-spacing: -2px; margin-bottom: 20px; }

.about-hero-left h1 .grad { background: linear-gradient(110deg,var(--teal) 10%,var(--blue) 85%); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }

.about-hero-left .tagline { font-size: 18px; color: var(--text-muted); font-weight: 300; line-height: 1.7; margin-bottom: 32px; max-width: 480px; }

.mission-block {
  background: var(--bg3); border: 1px solid var(--border); border-left: 3px solid var(--teal);
  border-radius: 0 14px 14px 0; padding: 24px 28px; margin-bottom: 36px;
  position: relative; box-shadow: var(--card-shadow); transition: background .35s;
}

.mission-block::before {
  content: '"'; position: absolute; top: -10px; left: 20px;
  font-family: 'Syne', sans-serif; font-size: 60px; color: var(--teal); opacity: .3; line-height: 1;
}

.mission-text { font-size: 17px; font-style: italic; color: var(--text-muted); line-height: 1.7; font-weight: 300; }

.stats-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }

.stat-card {
  background: var(--card); border: 1px solid var(--border); border-radius: 16px;
  padding: 28px 24px; text-align: center; box-shadow: var(--card-shadow);
  transition: transform .3s, box-shadow .3s, border-color .3s, background .35s;
}

.stat-card:hover { transform: translateY(-4px); box-shadow: var(--card-shadow-hover); border-color: rgba(0,212,180,.22); }

html.light .stat-card { background: #fff; }

.stat-num {
  font-family: 'Syne', sans-serif; font-size: clamp(32px,3.5vw,48px); font-weight: 800;
  letter-spacing: -2px; background: linear-gradient(135deg,var(--teal),var(--blue));
  -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
  display: block; margin-bottom: 6px;
}

.stat-label { font-size: 13px; color: var(--text-muted); font-weight: 400; line-height: 1.4; }

/* ── #values ── */

#values { padding: 50px 0; background: linear-gradient(180deg,transparent 0%,rgba(10,18,32,.4) 100%); transition: background .35s; }

html.light #values { background: linear-gradient(180deg,transparent 0%,rgba(238,242,249,.9) 100%); }

#values .header-center { text-align: center; margin-bottom: 56px; }

#values .header-center .section-sub { margin: 0 auto; }

.values-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 16px; }

.value-card {
  background: var(--card); border: 1px solid var(--border); border-radius: 16px;
  padding: 28px 22px; text-align: center; box-shadow: var(--card-shadow);
  transition: transform .3s, box-shadow .3s, border-color .3s, background .35s;
}

.value-card:hover { transform: translateY(-5px); box-shadow: var(--card-shadow-hover); border-color: rgba(0,212,180,.22); }

html.light .value-card { background: #fff; }

.value-icon { font-size: 32px; margin-bottom: 14px; display: block; }

.value-title { font-size: 16px; font-weight: 700; margin-bottom: 8px; letter-spacing: -.2px; }

.value-desc { font-size: 13px; color: var(--text-muted); line-height: 1.6; }

/* ── #career ── */

#career { padding: 50px 0; }

#career .inner { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: start; }

.career-desc { font-size: 15px; color: var(--text-muted); line-height: 1.75; margin-bottom: 32px; }

.hiring-steps { display: flex; gap: 0; margin-bottom: 40px; position: relative; }

.hiring-steps::before {
  content: ''; position: absolute; top: 22px; left: 22px; right: 22px; height: 2px;
  background: linear-gradient(90deg,var(--teal),var(--blue)); z-index: 0; opacity: .3;
}

.h-step { display: flex; flex-direction: column; align-items: center; flex: 1; position: relative; z-index: 1; }

.h-step-num {
  width: 44px; height: 44px; border-radius: 50%; background: var(--bg3); border: 2px solid var(--teal);
  display: flex; align-items: center; justify-content: center;
  font-family: 'Syne', sans-serif; font-size: 16px; font-weight: 800; color: var(--teal);
  margin-bottom: 10px; box-shadow: 0 0 12px rgba(0,212,180,.2); transition: background .35s;
}

.h-step-label { font-size: 12px; font-weight: 600; text-align: center; color: var(--text-muted); }

.perks-list { list-style: none; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 32px; }

.perks-list li {
  display: flex; align-items: center; gap: 10px; padding: 12px 16px;
  border-radius: 12px; background: var(--card); border: 1px solid var(--border);
  font-size: 14px; color: var(--text-muted); box-shadow: var(--card-shadow);
  transition: background .35s, border-color .3s;
}

.perks-list li:hover { border-color: rgba(0,212,180,.2); }

html.light .perks-list li { background: #fff; }

.perk-icon { font-size: 20px; flex-shrink: 0; }

.vacancies { display: flex; flex-direction: column; gap: 12px; }

.vacancy-card {
  background: var(--card); border: 1px solid var(--border); border-radius: 14px;
  padding: 20px 24px; display: flex; align-items: center; justify-content: space-between;
  gap: 16px; text-decoration: none; color: var(--text); box-shadow: var(--card-shadow);
  transition: transform .25s, box-shadow .25s, border-color .25s, background .35s;
}

.vacancy-card:hover { transform: translateY(-3px); box-shadow: var(--card-shadow-hover); border-color: rgba(0,212,180,.25); }

html.light .vacancy-card { background: #fff; }

.vacancy-title { font-size: 16px; font-weight: 700; margin-bottom: 4px; letter-spacing: -.2px; }

.vacancy-meta { display: flex; gap: 10px; flex-wrap: wrap; }

.vacancy-tag { font-size: 11px; font-weight: 600; padding: 3px 10px; border-radius: 20px; background: var(--social-bg); border: 1px solid var(--border); color: var(--text-muted); }

.vacancy-tag.active { background: rgba(0,212,180,.08); border-color: rgba(0,212,180,.2); color: var(--teal); }

.vacancy-arrow { color: var(--text-dim); font-size: 18px; flex-shrink: 0; transition: transform .2s, color .2s; }

.vacancy-card:hover .vacancy-arrow { transform: translateX(4px); color: var(--teal); }

/* ── #contacts ── */

#contacts { padding: 50px 0; background: linear-gradient(180deg,transparent 0%,rgba(10,18,32,.4) 100%); transition: background .35s; }

html.light #contacts { background: linear-gradient(180deg,transparent 0%,rgba(238,242,249,.9) 100%); }

#contacts .contacts-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: start; }

.contacts-header { margin-bottom: 56px; }

.contact-info-block { display: flex; flex-direction: column; gap: 20px; }

.contact-item {
  display: flex; gap: 16px; align-items: flex-start; padding: 20px;
  background: var(--card); border: 1px solid var(--border); border-radius: 14px;
  box-shadow: var(--card-shadow); transition: background .35s, border-color .3s;
}

.contact-item:hover { border-color: rgba(0,212,180,.2); }

html.light .contact-item { background: #fff; }

.contact-item-icon {
  width: 42px; height: 42px; border-radius: 10px; background: rgba(0,212,180,.08);
  border: 1px solid rgba(0,212,180,.15); display: flex; align-items: center;
  justify-content: center; font-size: 20px; flex-shrink: 0;
}

.contact-item-label { font-size: 11px; text-transform: uppercase; letter-spacing: 1px; color: var(--text-dim); font-weight: 600; margin-bottom: 4px; }

.contact-item-value { font-size: 14px; color: var(--text); font-weight: 500; line-height: 1.55; }

.contact-item-value a { color: var(--text); text-decoration: none; transition: color .2s; }

.contact-item-value a:hover { color: var(--teal); }

.contact-item-map-link { color: var(--teal); font-size: 12px; margin-top: 4px; display: inline-block; }

.contact-item-map-link:hover { opacity: .75; }

.contact-socials { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 4px; }

.contact-social-btn {
  display: flex; align-items: center; gap: 8px; padding: 8px 16px; border-radius: 10px;
  background: var(--social-bg); border: 1px solid var(--border); color: var(--text-muted);
  text-decoration: none; font-size: 13px; font-weight: 500; transition: .2s;
}

.contact-social-btn:hover { border-color: var(--teal); color: var(--teal); background: var(--social-hover); }

.contact-social-icon { font-size: 17px; }

.map-block {
  border-radius: 14px; overflow: hidden; border: 1px solid var(--border);
  box-shadow: var(--card-shadow); height: 260px; background: var(--bg3);
  display: flex; align-items: center; justify-content: center; flex-direction: column;
  gap: 10px; margin-top: 20px; transition: background .35s;
}

.map-placeholder-icon { font-size: 36px; }

.map-placeholder-text { font-size: 13px; color: var(--text-dim); }

.map-link { font-size: 13px; font-weight: 600; color: var(--teal); text-decoration: none; transition: opacity .2s; }

.map-link:hover { opacity: .75; }

.contact-form {
  background: var(--bg3); border: 1px solid var(--border); border-radius: 16px;
  padding: 32px; box-shadow: var(--card-shadow); transition: background .35s;
}

html.light .contact-form { background: #fff; }

.contact-form h3 { font-size: 20px; font-weight: 700; margin-bottom: 6px; }

.contact-form .form-sub { font-size: 14px; color: var(--text-muted); margin-bottom: 24px; }

.form-grid { display: flex; flex-direction: column; gap: 12px; }

.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }

textarea.form-input { resize: vertical; min-height: 110px; }

.form-check-label a { color: var(--teal); text-decoration: none; }

/* ── career section-label top spacing ── */

#career .section-label { margin-top: 8px; }

/* ── contact social icon bold variant ── */

.contact-social-icon--bold { font-weight: 700; }

/* ── RESPONSIVE ── */

/* ── COOKIE BANNER ── */

.cookie-banner {
  position: fixed; bottom: 24px; left: 50%; z-index: 200;
  transform: translateX(-50%) translateY(calc(100% + 32px));
  width: calc(100% - 48px); max-width: 760px;
  border-radius: 16px; padding: 20px 24px;
  display: flex; align-items: center; gap: 24px; flex-wrap: wrap;
  opacity: 0; pointer-events: none;
  transition: transform .45s cubic-bezier(.2,.65,.25,1), opacity .35s ease;

  /* dark banner in dark theme → inverted = light values */
  background: #ffffff;
  border: 1px solid rgba(13,30,60,0.12);
  box-shadow: 0 8px 32px -8px rgba(13,30,60,.18), 0 1px 0 rgba(13,30,60,.06) inset;
}

.cookie-banner.visible {
  transform: translateX(-50%) translateY(0);
  opacity: 1; pointer-events: auto;
}

/* light theme → banner uses dark values */

html.light .cookie-banner {
  background: #0a1220;
  border-color: rgba(255,255,255,0.08);
  box-shadow: 0 8px 40px -8px rgba(0,0,0,.55), 0 1px 0 rgba(255,255,255,.04) inset;
}

.cookie-text { flex: 1; min-width: 200px; }

.cookie-banner .cookie-title {
  display: block; font-weight: 700; font-size: 14px; margin-bottom: 4px;
  color: #0b1525;
}

html.light .cookie-banner .cookie-title { color: #e8edf5; }

.cookie-banner .cookie-text p {
  font-size: 13px; line-height: 1.55; margin: 0;
  color: #475872;
}

html.light .cookie-banner .cookie-text p { color: #8798b5; }

.cookie-banner .cookie-text a { color: #007a68; text-decoration: none; }

.cookie-banner .cookie-text a:hover { text-decoration: underline; }

html.light .cookie-banner .cookie-text a { color: #00d4b4; }

.cookie-buttons { display: flex; gap: 8px; flex-shrink: 0; }

.cookie-buttons .btn-primary { animation: none; }

/* ghost button override for inverted banner */

.cookie-banner .btn-ghost {
  border-color: rgba(13,30,60,0.14);
  color: #475872;
}

.cookie-banner .btn-ghost:hover { border-color: #007a68; color: #007a68; }

html.light .cookie-banner .btn-ghost {
  border-color: rgba(255,255,255,0.10);
  color: #8798b5;
}

html.light .cookie-banner .btn-ghost:hover { border-color: #00d4b4; color: #00d4b4; }

.accordion--default .accordion-head {
	font-size:18px;
	font-weight:700;
	cursor: pointer;
	scroll-margin-top:20px;
	gap: 16px;
	display: flex;
	align-items: center;
	padding: 4px 0;
	font-weight: 600;
	transition: color .2s;
}

.accordion--default .accordion-head:hover{color:var(--teal);}

.accordion--default .accordion-head svg{flex-shrink:0;transition:transform .25s;}

.accordion--default .accordion-item.open .accordion-head svg{transform:rotate(180deg);}

.accordion--default .accordion-item {
	margin-bottom: 12px;
}

.accordion--default .accordion-item:not(.open) .accordion-body {
	display: none;
	opacity: 0;
	transition: .3s;
}

/* MAIN */

.ds-section{padding:64px 64px;border-bottom:1px solid var(--border);}

.ds-section:last-child{border-bottom:none;}

.ds-section-header{margin-bottom:40px;}

.ds-section-tag{display:inline-flex;align-items:center;gap:6px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:2px;color:var(--teal);background:rgba(0,212,180,.08);border:1px solid rgba(0,212,180,.18);padding:4px 10px;border-radius:20px;margin-bottom:12px;}

html.light .ds-section-tag{color:#005f50;background:rgba(0,95,80,.08);border-color:rgba(0,95,80,.2);}

.ds-section-tag::before{content:'';width:4px;height:4px;border-radius:50%;background:var(--teal);box-shadow:0 0 5px var(--teal);}

.ds-section-title{font-size:clamp(22px,2.2vw,32px);font-weight:800;letter-spacing:-1px;line-height:1.1;margin-bottom:10px;}

.ds-section-sub{font-size:14px;color:var(--text-muted);max-width:600px;line-height:1.65;}

/* HERO */

.ds-hero{padding:80px 64px 64px;border-bottom:1px solid var(--border);position:relative;overflow:hidden;}

.ds-hero-glow{position:absolute;top:-100px;left:40%;width:600px;height:400px;border-radius:50%;background:radial-gradient(ellipse,rgba(0,212,180,.08) 0%,rgba(26,108,246,.05) 40%,transparent 70%);pointer-events:none;}

.ds-hero-tag{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:2px;color:var(--teal);background:rgba(0,212,180,.08);border:1px solid rgba(0,212,180,.2);padding:5px 12px;border-radius:20px;margin-bottom:20px;}

.ds-hero-tag::before{content:'';width:5px;height:5px;border-radius:50%;background:var(--teal);box-shadow:0 0 6px var(--teal);animation:blink 2s infinite;}

@keyframes blink{0%, 100%{opacity:1}50%{opacity:.4}}

.ds-hero h1{font-size:clamp(36px,4vw,56px);font-weight:800;letter-spacing:-2px;line-height:1.05;margin-bottom:16px;}

.ds-hero h1 .grad{background:linear-gradient(110deg,var(--teal) 10%,var(--blue) 85%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}

.ds-hero-sub{font-size:16px;color:var(--text-muted);max-width:560px;line-height:1.7;margin-bottom:32px;}

.ds-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:40px;}

.ds-hero-meta{display:flex;gap:24px;flex-wrap:wrap;}

.ds-hero-meta-item{font-size:12px;color:var(--text-dim);display:flex;align-items:center;gap:6px;}

.ds-hero-meta-item strong{color:var(--text-muted);font-weight:600;}

/* CODE BLOCK */

.code-block{background:var(--ds-code-bg);border:1px solid var(--border);border-radius:10px;overflow:hidden;margin-top:8px;}

.code-block-header{display:flex;align-items:center;justify-content:space-between;padding:8px 14px;border-bottom:1px solid var(--border);background:rgba(255,255,255,.02);}

html.light .code-block-header{background:rgba(13,30,60,.02);}

.code-block-lang{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--teal);}

.code-block pre{padding:18px 16px;font-family:'DM Mono',monospace;font-size:12.5px;line-height:1.75;color:var(--text-muted);overflow-x:auto;white-space:pre;}

.copy-btn{font-size:11px;color:var(--text-dim);background:var(--social-bg);border:1px solid var(--border);border-radius:5px;padding:3px 9px;cursor:pointer;font-family:'DM Sans',sans-serif;transition:.2s;}

.copy-btn:hover{color:var(--teal);border-color:var(--teal);}

.code-kw{color:#7dd3fc;}

.code-str{color:#86efac;}

.code-val{color:#fbbf24;}

.code-com{color:var(--text-dim);font-style:italic;}

.code-var{color:var(--teal);}

.code-fn{color:#c084fc;}

.code-type{color:#fb923c;}

/* CARDS */

.card-grid-docs{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));margin-top:8px;}

.card-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px;}

.info-card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:22px;box-shadow:var(--card-shadow);transition:border-color .25s,transform .25s,box-shadow .25s;position:relative;overflow:hidden;}

.info-card:hover{transform:translateY(-3px);box-shadow:var(--card-shadow-hover);border-color:rgba(0,212,180,.2);}

html.light .info-card{background:#fff;}

.info-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--teal),var(--blue));opacity:0;transition:.3s;}

.info-card:hover::before{opacity:1;}

.info-card-icon{font-size:24px;margin-bottom:12px;}

.info-card-title{font-family:'Syne',sans-serif;font-size:14px;font-weight:700;margin-bottom:6px;}

.info-card-desc{font-size:12.5px;color:var(--text-muted);line-height:1.55;}

/* DOWNLOAD CARDS */

.dl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px;}

.dl-card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:22px 18px;text-decoration:none;transition:.25s;display:flex;flex-direction:column;gap:10px;}

.dl-card:hover{border-color:rgba(0,212,180,.35);transform:translateY(-3px);box-shadow:var(--card-shadow-hover);}

.dl-card-os{font-size:28px;}

.dl-card-name{font-family:'Syne',sans-serif;font-size:15px;font-weight:700;color:var(--text);}

.dl-card-ver{font-size:11px;color:var(--text-dim);font-family:'DM Mono',monospace;}

.dl-card-size{font-size:11px;color:var(--text-dim);}

.dl-card-btn{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--teal);margin-top:auto;}

/* COMPAT TABLE */

.compat-table{width:100%;border-collapse:collapse;font-size:13px;}

.compat-table th{text-align:left;padding:10px 16px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1.2px;color:var(--text-dim);border-bottom:1px solid var(--border);}

.compat-table td{padding:11px 16px;border-bottom:1px solid var(--border);color:var(--text-muted);vertical-align:middle;}

.compat-table tr:last-child td{border-bottom:none;}

.compat-table tr:hover td{background:rgba(255,255,255,.02);}

html.light .compat-table tr:hover td{background:rgba(13,30,60,.02);}

.compat-table .badge{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:100px;font-size:11px;font-weight:600;}

.compat-table .badge-teal{background:rgba(0,212,180,.08);border:1px solid rgba(0,212,180,.22);color:var(--teal);}

html.light .compat-table .badge-teal{color:#005f50;}

.compat-table .badge-blue{background:rgba(26,108,246,.1);border:1px solid rgba(26,108,246,.25);color:var(--blue);}

.compat-table .badge-green{background:rgba(16,185,129,.1);border:1px solid rgba(16,185,129,.25);color:#10b981;}

html.light .compat-table .badge-green{color:#059669;}

.compat-table .badge-neutral{background:var(--social-bg);border:1px solid var(--border);color:var(--text-muted);}

.compat-table .badge-yellow{background:rgba(245,158,11,.08);border:1px solid rgba(245,158,11,.22);color:#f59e0b;}

/* TABS */

.tabs-parent .tabs{display:flex;gap:2px;background:rgba(255,255,255,.03);border:1px solid var(--border);border-radius:10px;padding:4px;margin-bottom:20px;flex-wrap:wrap;}

html.light .tabs-parent .tabs{background:rgba(13,30,60,.03);}

.tabs-parent .tab-btn{padding:7px 16px;border-radius:7px;font-size:12.5px;font-weight:500;color:var(--text-muted);cursor:pointer;border:none;background:transparent;font-family:'DM Sans',sans-serif;transition:.2s;}

.tabs-parent .tab-btn:hover{color:var(--text);}

.tabs-parent .tab-btn.active{background:var(--bg3);color:var(--text);font-weight:600;box-shadow:0 1px 3px rgba(0,0,0,.2);}

html.light .tabs-parent .tab-btn.active{background:#fff;box-shadow:0 1px 3px rgba(13,30,60,.08);}

.tabs-parent .tab-pane{display:none;}

.tabs-parent .tab-pane.active{display:block;}

/* API ENDPOINT */

.endpoint-list{display:flex;flex-direction:column;gap:12px;}

.endpoint{background:var(--card);border:1px solid var(--border);border-radius:12px;overflow:hidden;transition:border-color .2s;}

.endpoint:hover{border-color:rgba(0,212,180,.2);}

html.light .endpoint{background:#fff;}

.endpoint-header{display:flex;align-items:center;gap:12px;padding:14px 18px;cursor:pointer;}

.endpoint-method{font-family:'DM Mono',monospace;font-size:11px;font-weight:700;padding:3px 9px;border-radius:5px;letter-spacing:.5px;min-width:46px;text-align:center;}

.method-get{background:rgba(16,185,129,.1);border:1px solid rgba(16,185,129,.25);color:#10b981;}

html.light .method-get{color:#059669;}

.method-post{background:rgba(26,108,246,.1);border:1px solid rgba(26,108,246,.25);color:var(--blue);}

.method-delete{background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.25);color:#ef4444;}

.endpoint-path{font-family:'DM Mono',monospace;font-size:13px;color:var(--text);flex:1;}

.endpoint-desc{font-size:12.5px;color:var(--text-muted);}

.endpoint-body{padding:0 18px 16px;border-top:1px solid var(--border);margin-top:0;}

.endpoint-params{margin-top:14px;}

.param-row{display:flex;gap:12px;align-items:baseline;padding:8px 0;border-bottom:1px solid var(--border);font-size:12.5px;}

.param-row:last-child{border-bottom:none;}

.param-name{font-family:'DM Mono',monospace;color:var(--teal);min-width:130px;}

.param-type{font-family:'DM Mono',monospace;color:var(--text-dim);min-width:80px;font-size:11px;}

.param-desc{color:var(--text-muted);}

.param-req{font-size:10px;font-weight:700;color:#f59e0b;margin-left:4px;}

/* NOTES */

.ds-note{padding:12px 16px;background:rgba(0,212,180,.04);border-left:3px solid var(--teal);border-radius:0 8px 8px 0;font-size:13px;color:var(--text-muted);line-height:1.6;margin-top:16px;}

.ds-note strong{color:#00D4B4FF;}

.ds-warn{padding:12px 16px;background:rgba(245,158,11,.05);border-left:3px solid #f59e0b;border-radius:0 8px 8px 0;font-size:13px;color:var(--text-muted);margin-top:16px;}

.ds-warn strong{color:#f59e0b;}

.ds-info{padding:12px 16px;background:rgba(26,108,246,.05);border-left:3px solid var(--blue);border-radius:0 8px 8px 0;font-size:13px;color:var(--text-muted);margin-top:16px;}

.ds-info strong{color:var(--blue);}

/* FAQ */

.faq-docs{display:flex;flex-direction:column;gap:12px;}

.faq-docs .faq-item{background:var(--card);border:1px solid var(--border);border-radius:12px;overflow:hidden;}

html.light .faq-docs .faq-item{background:#fff;}

.faq-docs .faq-q{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;cursor:pointer;font-weight:600;font-size:14px;transition:color .2s;}

.faq-docs .faq-q:hover{color:var(--teal);}

.faq-docs .faq-q svg{flex-shrink:0;transition:transform .25s;}

.faq-docs .faq-item.open .faq-q svg{transform:rotate(180deg);}

.faq-docs .faq-a{display:none;padding:16px 20px;font-size:13.5px;color:var(--text-muted);line-height:1.65;border-top:1px solid var(--border);}

.faq-docs .faq-item.open .faq-a{display:block;}

.faq-docs .faq-a code{font-family:'DM Mono',monospace;font-size:12px;color:var(--teal);background:rgba(0,212,180,.06);padding:1px 5px;border-radius:4px;}

/* STEPS */

.steps-docs{display:flex;flex-direction:column;gap:0;}

.steps-docs .step{display:flex;gap:20px;position:relative;}

.steps-docs .step:not(:last-child)::after{content:'';position:absolute;left:17px;top:38px;bottom:0;width:1px;background:var(--border);}

.steps-docs .step-num{width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,var(--teal),var(--blue));display:flex;align-items:center;justify-content:center;font-family:'Syne',sans-serif;font-size:13px;font-weight:700;color:#fff;flex-shrink:0;margin-top:2px;}

.steps-docs .step-content{padding-bottom:28px;flex:1;}

.steps-docs .step-title{font-family:'Syne',sans-serif;font-size:15px;font-weight:700;margin-bottom:6px;}

.steps-docs .step-desc{font-size:13.5px;color:var(--text-muted);margin-bottom:10px;line-height:1.55;}

/* STAT ROW */

.stat-row{display:flex;gap:32px;flex-wrap:wrap;padding:24px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin:24px 0;}

.stat-item{display:flex;flex-direction:column;gap:4px;}

.stat-value{font-family:'Syne',sans-serif;font-size:24px;font-weight:800;background:linear-gradient(110deg,var(--teal),var(--blue));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}

.stat-label{font-size:12px;color:var(--text-dim);}

/* INTEGRATIONS PLACEHOLDER */

.integration-placeholder{border:2px dashed var(--border);border-radius:16px;padding:60px 32px;text-align:center;}

.integration-placeholder-icon{font-size:48px;margin-bottom:16px;opacity:.4;}

.integration-placeholder-title{font-family:'Syne',sans-serif;font-size:18px;font-weight:700;color:var(--text-dim);margin-bottom:8px;}

.integration-placeholder-sub{font-size:13.5px;color:var(--text-dim);max-width:380px;margin:0 auto;}

/* PRODUCT DOCS CARDS (main page) */

.product-docs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;margin-top:8px;}

.product-docs-card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:28px 24px;display:flex;flex-direction:column;gap:14px;transition:border-color .25s,transform .25s,box-shadow .25s;position:relative;overflow:hidden;}

.product-docs-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--teal),var(--blue));opacity:0;transition:.3s;}

.product-docs-card:hover{transform:translateY(-3px);box-shadow:var(--card-shadow-hover);border-color:rgba(0,212,180,.2);}

.product-docs-card:hover::before{opacity:1;}

html.light .product-docs-card{background:#fff;}

.product-docs-icon{font-size:32px;}

.product-docs-name{font-family:'Syne',sans-serif;font-size:18px;font-weight:800;letter-spacing:-.5px;}

.product-docs-desc{font-size:13.5px;color:var(--text-muted);line-height:1.6;}

.product-docs-features{list-style:none;display:flex;flex-direction:column;gap:6px;margin:4px 0;}

.product-docs-features li{font-size:12.5px;color:var(--text-muted);display:flex;align-items:center;gap:8px;}

.product-docs-features li::before{content:'';width:4px;height:4px;border-radius:50%;background:var(--teal);flex-shrink:0;}

.product-docs-card .btn-primary{margin-top:auto;align-self:flex-start;}

/* SUPPORT SECTION */

.support-box{display:flex;flex-direction:column;gap:24px;}

.support-email-row{display:flex;align-items:center;gap:16px;padding:20px 24px;background:var(--card);border:1px solid var(--border);border-radius:14px;}

html.light .support-email-row{background:#fff;}

.support-email-icon{font-size:28px;flex-shrink:0;}

.support-email-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;color:var(--text-dim);margin-bottom:4px;}

.support-email-link{font-family:'DM Mono',monospace;font-size:15px;font-weight:500;color:var(--teal);text-decoration:none;}

.support-email-link:hover{text-decoration:underline;}

.support-socials{display:flex;gap:10px;flex-wrap:wrap;}

.support-social-btn{display:inline-flex;align-items:center;gap:8px;padding:9px 18px;border-radius:10px;background:var(--social-bg);border:1px solid var(--border);color:var(--text-muted);font-size:13px;font-weight:500;text-decoration:none;transition:.2s;font-family:'DM Sans',sans-serif;}

.support-social-btn:hover{border-color:var(--teal);color:var(--teal);}

/* PRODUCT HERO (per-product docs pages) */

.ds-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:40px;}

/* ── DOWNLOAD PAGE ── */

.accordion--download .accordion-item:not(.open) > .accordion-body { display: none; }

.accordion--download .accordion-head {
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  transition: color .2s;
  scroll-margin-top: 20px;
}

.accordion--download .accordion-head svg { flex-shrink: 0; transition: transform .25s; }

.accordion--download .accordion-item.open > .accordion-head svg { transform: rotate(180deg); }

.accordion--download .accordion-head:hover { color: var(--teal); }

/* L1: Product items — no card, just horizontal dividers (like accordion--default) */

.dl-products > .accordion-item { border-top: 1px solid var(--border); margin-bottom: 0; }

.dl-products > .accordion-item:last-child { border-bottom: 1px solid var(--border); }

.dl-products > .accordion-item > .accordion-head {
  font-size: 18px;
  font-weight: 700;
  padding: 18px 0;
  letter-spacing: -.3px;
}

.dl-products > .accordion-item > .accordion-body { padding-bottom: 20px; }

/* L2: Releases — light card inside product body */

.dl-releases {
  border: 1px solid var(--border);
  border-radius: 12px;
  overflow: hidden;
  background: var(--card);
}

html.light .dl-releases { background: #fff; }

.dl-releases > .accordion-item { border-top: 1px solid var(--border); }

.dl-releases > .accordion-item:first-child { border-top: none; }

.dl-releases > .accordion-item > .accordion-head {
  font-size: 14px;
  font-weight: 600;
  padding: 13px 18px;
  color: var(--text-muted);
}

.dl-releases > .accordion-item.open > .accordion-head { color: var(--text); }

/* L3: GPU items */

.dl-gpus > .accordion-item { border-top: 1px solid var(--border); }

.dl-gpus > .accordion-item:first-child { border-top: none; }

.dl-gpus > .accordion-item > .accordion-head {
  font-size: 12.5px;
  font-weight: 600;
  padding: 10px 32px;
  color: var(--text-dim);
}

.dl-gpus > .accordion-item.open > .accordion-head { color: var(--text-muted); }

/* File list rows */

.dl-file-list { margin: 0 18px 16px 32px; border: 1px solid var(--border); border-radius: 10px; overflow: hidden; }

.dl-file-row {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 11px 16px;
  border-top: 1px solid var(--border);
  transition: background .15s;
}

.dl-file-row:first-child { border-top: none; }

.dl-file-row:hover { background: rgba(255,255,255,.02); }

html.light .dl-file-row:hover { background: rgba(13,30,60,.02); }

.dl-file-platform { display: flex; align-items: center; gap: 7px; min-width: 110px; font-size: 13px; font-weight: 600; color: var(--text); }

.dl-os-emoji { font-size: 15px; line-height: 1; flex-shrink: 0; }

.dl-os-name { font-size: 13px; }

.dl-file-desc { flex: 1; font-family: 'DM Mono', monospace; font-size: 12px; color: var(--text-muted); }

.dl-file-size { font-size: 12px; color: var(--text-dim); white-space: nowrap; }

.dl-btn {
  display: inline-flex; align-items: center; gap: 5px;
  font-size: 12px; font-weight: 600; color: var(--teal);
  background: rgba(0,212,180,.06); border: 1px solid rgba(0,212,180,.2);
  border-radius: 7px; padding: 5px 13px; cursor: pointer;
  font-family: 'DM Sans', sans-serif; text-decoration: none; transition: .2s;
  white-space: nowrap;
}

.dl-btn:not([disabled]):hover { background: rgba(0,212,180,.12); border-color: rgba(0,212,180,.4); }

.dl-btn[disabled] { opacity: .35; cursor: not-allowed; pointer-events: none; }

.dl-btn--changelog { color: var(--text-dim); background: transparent; border-color: var(--border); }

.dl-btn--changelog:hover { color: var(--teal); border-color: rgba(0,212,180,.4); background: rgba(0,212,180,.06); }

/* RESPONSIVE */

/* CHANGELOG */

.cl-back-link{position:relative;z-index:1;display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--text-dim);text-decoration:none;margin-bottom:16px;transition:color .2s;}

.cl-back-link:hover{color:var(--teal);}

.cl-back-link svg{flex-shrink:0;}

.cl-versions-wrap{padding-bottom:4px;}

.cl-versions-table{width:100%;border-collapse:collapse;}

.cl-versions-table th{text-align:left;padding:10px 0 10px 4px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1.2px;color:var(--text-dim);border-bottom:1px solid var(--border);}

.cl-versions-table td{padding:11px 0 11px 4px;border-bottom:1px solid var(--border);vertical-align:middle;}

.cl-versions-table tr:last-child td{border-bottom:none;}

.cl-version-link{font-family:'DM Mono',monospace;font-size:13px;font-weight:600;color:var(--teal);text-decoration:none;transition:color .2s;}

.cl-version-link:hover{color:var(--blue);}

.cl-date{font-size:12.5px;color:var(--text-dim);}

.cl-changes{display:flex;flex-direction:column;gap:28px;}

.cl-category-head{margin-bottom:14px;}

.cl-category-badge{display:inline-flex;align-items:center;padding:4px 12px;border-radius:20px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;}

.cl-badge-added{background:rgba(16,185,129,.1);border:1px solid rgba(16,185,129,.25);color:#10b981;}

html.light .cl-badge-added{color:#059669;}

.cl-badge-fixed{background:rgba(239,68,68,.08);border:1px solid rgba(239,68,68,.2);color:#ef4444;}

html.light .cl-badge-fixed{color:#dc2626;}

.cl-badge-changed{background:rgba(26,108,246,.1);border:1px solid rgba(26,108,246,.25);color:var(--blue);}

.cl-badge-removed{background:var(--social-bg);border:1px solid var(--border);color:var(--text-dim);}

.cl-changes-list{list-style:none;display:flex;flex-direction:column;gap:8px;padding-left:4px;}

.cl-changes-list li{font-size:13.5px;color:var(--text-muted);display:flex;align-items:flex-start;gap:10px;line-height:1.6;}

.cl-changes-list li::before{content:'';width:5px;height:5px;border-radius:50%;background:var(--border);flex-shrink:0;margin-top:7px;}

.docs-table {

	width: 100%;
	border: 1px solid var(--border);
	border-collapse: collapse;
}

.docs-table caption {
	font-weight: 700;
	padding: 10px;
}

.docs-table th, .docs-table td{
	border: 1px solid var(--border);
	padding: 10px;
}

/* PrismJS 1.30.0
https://prismjs.com/download#themes=prism&languages=markup+css+clike+javascript+bash+go+java+python+typescript */

/**
 * prism.js default theme for JavaScript, CSS and HTML
 * Based on dabblet (http://dabblet.com)
 * @author Lea Verou
 */

.light code[class*="language-"], .light pre[class*="language-"] {
	color: black;
	background: none;
	text-shadow: 0 1px white;
	font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
	font-size: 1em;
	text-align: left;
	white-space: pre;
	word-spacing: normal;
	word-break: normal;
	word-wrap: normal;
	line-height: 1.5;

	-moz-tab-size: 4;

	  -o-tab-size: 4;

	     tab-size: 4;

	hyphens: none;
}

/* Code blocks */

.light pre[class*="language-"] {
	padding: 1em;
	margin: .5em 0;
	overflow: auto;
}

/* Inline code */

.light :not(pre) > code[class*="language-"] {
	padding: .1em;
	border-radius: .3em;
	white-space: normal;
}

.light .token.comment, .light .token.prolog, .light .token.doctype, .light .token.cdata {
	color: slategray;
}

.light .token.punctuation {
	color: #999;
}

.light .token.namespace {
	opacity: .7;
}

.light .token.property, .light .token.tag, .light .token.boolean, .light .token.number, .light .token.constant, .light .token.symbol, .light .token.deleted {
	color: #905;
}

.light .token.selector, .light .token.attr-name, .light .token.string, .light .token.char, .light .token.builtin, .light .token.inserted {
	color: #690;
}

.light .token.operator, .light .token.entity, .light .token.url, .light .language-css .token.string, .light .style .token.string {
	color: #9a6e3a;
	/* This background color was intended by the author of this theme. */
	background: hsla(0, 0%, 100%, .5);
}

.light .token.atrule, .light .token.attr-value, .light .token.keyword {
	color: #07a;
}

.light .token.function, .light .token.class-name {
	color: #DD4A68;
}

.light .token.regex, .light .token.important, .light .token.variable {
	color: #e90;
}

.light .token.important, .light .token.bold {
	font-weight: bold;
}

.light .token.italic {
	font-style: italic;
}

.light .token.entity {
	cursor: help;
}

/* PrismJS 1.30.0
https://prismjs.com/download#themes=prism-dark&languages=markup+css+clike+javascript+bash+go+java+python+typescript */

/**
 * prism.js Dark theme for JavaScript, CSS and HTML
 * Based on the slides of the talk “/Reg(exp){2}lained/”
 * @author Lea Verou
 */

html:not(.light) code[class*="language-"], html:not(.light) pre[class*="language-"] {
	color: white;
	background: none;
	text-shadow: 0 -.1em .2em black;
	font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
	font-size: 1em;
	text-align: left;
	white-space: pre;
	word-spacing: normal;
	word-break: normal;
	word-wrap: normal;
	line-height: 1.5;

	-moz-tab-size: 4;

	  -o-tab-size: 4;

	     tab-size: 4;
	hyphens: none;
}

/* Code blocks */

html:not(.light) pre[class*="language-"] {
	padding: 1em;
	margin: .5em 0;
	overflow: auto;
}

/* Inline code */

html:not(.light) :not(pre) > code[class*="language-"] {
	padding: .15em .2em .05em;
	border-radius: .3em;
	border: .13em solid hsl(30, 20%, 40%);
	box-shadow: 1px 1px .3em -.1em black inset;
	white-space: normal;
}

html:not(.light) .token.comment, html:not(.light) .token.prolog, html:not(.light) .token.doctype, html:not(.light) .token.cdata {
	color: hsl(30, 20%, 50%);
}

html:not(.light) .token.punctuation {
	opacity: .7;
}

html:not(.light) .token.namespace {
	opacity: .7;
}

html:not(.light) .token.property, html:not(.light) .token.tag, html:not(.light) .token.boolean, html:not(.light) .token.number, html:not(.light) .token.constant, html:not(.light) .token.symbol {
	color: hsl(350, 40%, 70%);
}

html:not(.light) .token.selector, html:not(.light) .token.attr-name, html:not(.light) .token.string, html:not(.light) .token.char, html:not(.light) .token.builtin, html:not(.light) .token.inserted {
	color: hsl(75, 70%, 60%);
}

html:not(.light) .token.operator, html:not(.light) .token.entity, html:not(.light) .token.url, html:not(.light) .language-css .token.string, html:not(.light) .style .token.string, html:not(.light) .token.variable {
	color: hsl(40, 90%, 60%);
}

html:not(.light) .token.atrule, html:not(.light) .token.attr-value, html:not(.light) .token.keyword {
	color: hsl(350, 40%, 70%);
}

html:not(.light) .token.regex, html:not(.light) .token.important {
	color: #e90;
}

html:not(.light) .token.important, html:not(.light) .token.bold {
	font-weight: bold;
}

html:not(.light) .token.italic {
	font-style: italic;
}

html:not(.light) .token.entity {
	cursor: help;
}

html:not(.light) .token.deleted {
	color: red;
}

/* ════════════════════════════════
   partial — #presentation
════════════════════════════════ */

#presentation {
  padding: 80px 0;
  background: linear-gradient(180deg, transparent 0%, rgba(10,18,32,.4) 100%);
  transition: background .35s;
}

html.light #presentation {
  background: linear-gradient(180deg, transparent 0%, rgba(238,242,249,.9) 100%);
}

.pres-header { margin-bottom: 56px; text-align: center; }

.pres-header .section-sub{margin: auto;}

.pres-grid {
  display: grid;
  grid-template-columns: 1fr 1.25fr;
  gap: 64px;
  align-items: start;
}

.pres-info {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.pres-promo {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  padding: 20px;
  background: rgba(0,212,180,.04);
  border: 1px solid rgba(0,212,180,.16);
  border-radius: 14px;
  transition: border-color .3s;
}

.pres-promo:hover { border-color: rgba(0,212,180,.3); }

.pres-promo-icon { font-size: 24px; flex-shrink: 0; margin-top: 2px; }

.pres-promo-title { font-size: 14px; font-weight: 700; margin-bottom: 6px; color: var(--teal); }

.pres-promo-text { font-size: 13px; color: var(--text-muted); line-height: 1.6; }

@media print {
	.light code[class*="language-"], .light pre[class*="language-"] {
		text-shadow: none;
	}
	html:not(.light) code[class*="language-"], html:not(.light) pre[class*="language-"] {
		text-shadow: none;
	}
}

@media (max-width: 1024px) {
  .pricing-ocr .pricing-grid { grid-template-columns: repeat(2,1fr); }
  .pricing-ocr .price-card.featured { transform: translateY(0); }
  .pricing-ocr .price-card.featured:hover { transform: translateY(-5px); } .pricing-grid { grid-template-columns: repeat(2,1fr); }
}

@media(max-width:900px) {
  .sidebar { display:none; }
  .page-sidebar-main { margin-left: 0; }
  .ds-section { padding: 40px 24px; }
  .ds-hero { padding: 60px 24px 40px; }
  .two-col, .three-col { grid-template-columns:1fr; }
  .shadow-grid { grid-template-columns:1fr; }
  .component-grid { grid-template-columns:1fr; }

.btn-fixed {

	right:20px;
	bottom:20px;

}

	.btn-fixed__text {

			display: none

	}
  .ds-section{padding:40px 24px;}
  .ds-hero{padding:60px 24px 40px;}
  .card-grid-2{grid-template-columns:1fr;}
  .product-docs-grid{grid-template-columns:1fr;}
  .support-email-row{flex-direction:column;align-items:flex-start;}
}

@media (max-width: 900px) {
  #mainNav { padding: 0 20px; }
  .nav-links, .nav-right .btn-ghost, .nav-right .btn-primary, .nav-right .btn-emerald, .nav-right .lang-switcher { display: none; }
  .burger { display: flex; }
  .nav-breadcrumb { display: none; } .footer-grid { grid-template-columns: 1fr 1fr; }
  .hero-ocr .hero-inner { grid-template-columns: 1fr; gap: 40px; }
  .hero-ocr .hero-right { display: none; padding-top: 0; }
  .trial-card { padding: 32px 24px; }
  .trial-card-grid{grid-template-columns: 1fr; gap: 32px; }
  .features-ocr .features-grid { grid-template-columns: 1fr; }
  .pricing-ocr .pricing-grid { grid-template-columns: 1fr; }
  .demo-ocr .demo-options { grid-template-columns: 1fr; }
  #cta-final { padding: 80px 20px; }
  #hero { padding: 100px 20px 60px; }
  .hero-inner { grid-template-columns: 1fr; gap: 40px; }
  .hero-visual { display: none; }
  #problem .container { grid-template-columns: 1fr; gap: 40px; }
  .product-cards, .usecase-grid, .usecase-extra, .pricing-landing .pricing-grid { grid-template-columns: 1fr; }
  .how-landind .inner { display: block; }
  .demo-landing .demo-panel.active { grid-template-columns: 1fr; }
  .social-cards { flex-direction: column; align-items: stretch; }
  .social-card { min-width: unset; }
  .demo-landing .demo-tabs { flex-wrap: wrap; }
  .hero-llm .hero-inner { grid-template-columns: 1fr; gap: 40px; }
  .hero-llm .hero-right { display: none; padding-top: 0; }
  .savings-cols { grid-template-columns: repeat(2,1fr); gap: 16px; }
  .savings-col + .savings-col::before { display: none; }
  .features-llm .features-grid { grid-template-columns: 1fr 1fr; }
  .pricing-grid { grid-template-columns: 1fr; }
  .adv-grid { grid-template-columns: 1fr; }
  #cta-final { padding: 56px 20px; }
  #about-hero { padding: 110px 20px 70px; }
  .about-hero-inner { grid-template-columns: 1fr; gap: 48px; }
  .stats-grid { grid-template-columns: 1fr 1fr; }
  .container { padding: 0 20px; }
  .values-grid { grid-template-columns: 1fr 1fr; }
  #career .inner { grid-template-columns: 1fr; gap: 48px; }
  .hiring-steps::before { display: none; }
  .perks-list { grid-template-columns: 1fr; }
  #contacts .contacts-grid { grid-template-columns: 1fr; gap: 40px; }
  .form-row { grid-template-columns: 1fr; }
  #presentation { padding: 60px 0; }
  .pres-grid { grid-template-columns: 1fr; gap: 40px; }
  .pres-header { margin-bottom: 40px; }
}

@media (min-width: 768px) and (max-width: 900px) { .footer-grid { grid-template-columns: 1fr 1fr; } }

@media (max-width: 768px) { .footer-grid { grid-template-columns: 1fr 1fr; } .footer-brand { grid-column: 1/-1; }
  .features-llm .features-grid { grid-template-columns: 1fr; }
  .cta-form-grid { grid-template-columns: 1fr; }
  .values-grid { grid-template-columns: 1fr 1fr; }
  .hiring-steps { flex-direction: column; gap: 16px; }
  .h-step { flex-direction: row; justify-content: flex-start; gap: 14px; align-items: center; }
  .h-step-label { text-align: left; } }

@media (max-width: 560px) {
  .cookie-banner { padding: 16px 18px; bottom: 16px; width: calc(100% - 24px); }
  .cookie-buttons { width: 100%; }
  .cookie-buttons .btn-ghost, .cookie-buttons .btn-primary { flex: 1; justify-content: center; }
}

@media (max-width: 500px) { .footer-grid { grid-template-columns: 1fr; } .footer-brand { grid-column: auto; }
  .trust-badges span { padding: 0 12px; }
  .hero-badges { flex-wrap: wrap; border-radius: 12px; }
  .values-grid { grid-template-columns: 1fr; }
  .stats-grid { grid-template-columns: 1fr 1fr; } }
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImZvbnRzLmNzcyIsInRva2Vucy5jc3MiLCJiYXNlLmNzcyIsIm5hdi5jc3MiLCJmb290ZXIuY3NzIiwic2lkZWJhci5jc3MiLCJidG4tZml4ZWQuY3NzIiwib2NyLmNzcyIsImxhbmRpbmcuY3NzIiwibGxtLmNzcyIsImFib3V0LmNzcyIsImNvb2tpZS5jc3MiLCJkb2NzLmNzcyIsInByaXNtLmNzcyIsInByZXNlbnRhdGlvbi5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsZ0JBQWdCOztBQUVoQixjQUFjOztBQUNkO0VBQ0Usc0JBQXNCO0VBQ3RCLGtCQUFrQjtFQUNsQixnQkFBZ0I7RUFDaEIsa0JBQWtCO0VBQ2xCLDZEQUE2RDtFQUM3RCxpTkFBaU47QUFDbk47O0FBQ0EsVUFBVTs7QUFDVjtFQUNFLHNCQUFzQjtFQUN0QixrQkFBa0I7RUFDbEIsZ0JBQWdCO0VBQ2hCLGtCQUFrQjtFQUNsQix5REFBeUQ7RUFDekQseUxBQXlMO0FBQzNMOztBQUNBLGNBQWM7O0FBQ2Q7RUFDRSxzQkFBc0I7RUFDdEIsa0JBQWtCO0VBQ2xCLGdCQUFnQjtFQUNoQixrQkFBa0I7RUFDbEIsNkRBQTZEO0VBQzdELGlOQUFpTjtBQUNuTjs7QUFDQSxVQUFVOztBQUNWO0VBQ0Usc0JBQXNCO0VBQ3RCLGtCQUFrQjtFQUNsQixnQkFBZ0I7RUFDaEIsa0JBQWtCO0VBQ2xCLHlEQUF5RDtFQUN6RCx5TEFBeUw7QUFDM0w7O0FBQ0EsY0FBYzs7QUFDZDtFQUNFLHNCQUFzQjtFQUN0QixrQkFBa0I7RUFDbEIsZ0JBQWdCO0VBQ2hCLGtCQUFrQjtFQUNsQixtRUFBbUU7RUFDbkUsaU5BQWlOO0FBQ25OOztBQUNBLFVBQVU7O0FBQ1Y7RUFDRSxzQkFBc0I7RUFDdEIsa0JBQWtCO0VBQ2xCLGdCQUFnQjtFQUNoQixrQkFBa0I7RUFDbEIsK0RBQStEO0VBQy9ELHlMQUF5TDtBQUMzTDs7QUFDQSxjQUFjOztBQUNkO0VBQ0Usc0JBQXNCO0VBQ3RCLGtCQUFrQjtFQUNsQixn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REFBbUQsZUFBZSw4QkFBOEIsRUFBRSxFQUFFOztBQUNwRyw0QkFBNEIsZUFBZSw4QkFBOEIsRUFBRSxFQUFFLGdCQUFnQixpQkFBaUIsRUFBRTtFS2dIOUcsK0JBQStCLDBCQUEwQixFQUFFO0VBQzNELGlCQUFpQiwwQkFBMEIsRUFBRTtFQzZCN0MsZUFBZSw4QkFBOEIsRUFBRTtFQUMvQyxnQkFBZ0Isc0JBQXNCLEVBQUUsU0FBUyxFQUFFO0VBQ25ELFVBQVUsbUJBQW1CLEVBQUUsMkJBQTJCLEVBQUUsU0FBUyxFQUFFLG1CQUFtQixFQUFFO0VBQzVGLGdCQUFnQixnQkFBZ0IsRUFBRSxFTmpKOEU7O0FPY2xIO0VBQ0UsaUJBQWlCLGtCQUFrQixFQUFFLFlBQVksRUFBRSx3QkFBd0IsRUFBRTtFQUM3RSxrQkFBa0IsV0FBVyxFQUFFO0VBQy9CLDJEQUMrQixPQUFPLEVBQUUsdUJBQXVCLEVBQUU7QUFDbkU7O0FQbEJBLDRCQUE0QixlQUFlLDBCQUEwQixFQUFFLEVBQUUsZ0JBQWdCLGlCQUFpQixFQUFFO0VJd1ExRyxxQkFBcUIsZUFBZSxFQUFFO0VDckp0QyxlQUFlLGVBQWUsRUFBRSxtQkFBbUIsRUFBRTtFQ2dDckQsZUFBZSwwQkFBMEIsRUFBRTtFQUMzQyxjQUFjLDhCQUE4QixFQUFFLEVOcEo4RCIsImZpbGUiOiJzdHlsZS5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAY2hhcnNldCBcIlVURi04XCI7XHJcblxyXG4vKiBsYXRpbi1leHQgKi9cclxuQGZvbnQtZmFjZSB7XHJcbiAgZm9udC1mYW1pbHk6ICdETSBNb25vJztcclxuICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICBmb250LWRpc3BsYXk6IHN3YXA7XHJcbiAgc3JjOiB1cmwoJy9mb250cy9ETU1vbm8tNDAwLWxhdGluLWV4dC53b2ZmMicpIGZvcm1hdCgnd29mZjInKTtcclxuICB1bmljb2RlLXJhbmdlOiBVKzAxMDAtMDJCQSwgVSswMkJELTAyQzUsIFUrMDJDNy0wMkNDLCBVKzAyQ0UtMDJENywgVSswMkRELTAyRkYsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMUQwMC0xREJGLCBVKzFFMDAtMUU5RiwgVSsxRUYyLTFFRkYsIFUrMjAyMCwgVSsyMEEwLTIwQUIsIFUrMjBBRC0yMEMwLCBVKzIxMTMsIFUrMkM2MC0yQzdGLCBVK0E3MjAtQTdGRjtcclxufVxyXG4vKiBsYXRpbiAqL1xyXG5AZm9udC1mYWNlIHtcclxuICBmb250LWZhbWlseTogJ0RNIE1vbm8nO1xyXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICBmb250LXdlaWdodDogNDAwO1xyXG4gIGZvbnQtZGlzcGxheTogc3dhcDtcclxuICBzcmM6IHVybCgnL2ZvbnRzL0RNTW9uby00MDAtbGF0aW4ud29mZjInKSBmb3JtYXQoJ3dvZmYyJyk7XHJcbiAgdW5pY29kZS1yYW5nZTogVSswMDAwLTAwRkYsIFUrMDEzMSwgVSswMTUyLTAxNTMsIFUrMDJCQi0wMkJDLCBVKzAyQzYsIFUrMDJEQSwgVSswMkRDLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzIwMDAtMjA2RiwgVSsyMEFDLCBVKzIxMjIsIFUrMjE5MSwgVSsyMTkzLCBVKzIyMTIsIFUrMjIxNSwgVStGRUZGLCBVK0ZGRkQ7XHJcbn1cclxuLyogbGF0aW4tZXh0ICovXHJcbkBmb250LWZhY2Uge1xyXG4gIGZvbnQtZmFtaWx5OiAnRE0gTW9ubyc7XHJcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4gIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xyXG4gIHNyYzogdXJsKCcvZm9udHMvRE1Nb25vLTUwMC1sYXRpbi1leHQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyk7XHJcbiAgdW5pY29kZS1yYW5nZTogVSswMTAwLTAyQkEsIFUrMDJCRC0wMkM1LCBVKzAyQzctMDJDQywgVSswMkNFLTAyRDcsIFUrMDJERC0wMkZGLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzFEMDAtMURCRiwgVSsxRTAwLTFFOUYsIFUrMUVGMi0xRUZGLCBVKzIwMjAsIFUrMjBBMC0yMEFCLCBVKzIwQUQtMjBDMCwgVSsyMTEzLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7XHJcbn1cclxuLyogbGF0aW4gKi9cclxuQGZvbnQtZmFjZSB7XHJcbiAgZm9udC1mYW1pbHk6ICdETSBNb25vJztcclxuICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICBmb250LWRpc3BsYXk6IHN3YXA7XHJcbiAgc3JjOiB1cmwoJy9mb250cy9ETU1vbm8tNTAwLWxhdGluLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpO1xyXG4gIHVuaWNvZGUtcmFuZ2U6IFUrMDAwMC0wMEZGLCBVKzAxMzEsIFUrMDE1Mi0wMTUzLCBVKzAyQkItMDJCQywgVSswMkM2LCBVKzAyREEsIFUrMDJEQywgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsyMDAwLTIwNkYsIFUrMjBBQywgVSsyMTIyLCBVKzIxOTEsIFUrMjE5MywgVSsyMjEyLCBVKzIyMTUsIFUrRkVGRiwgVStGRkZEO1xyXG59XHJcbi8qIGxhdGluLWV4dCAqL1xyXG5AZm9udC1mYWNlIHtcclxuICBmb250LWZhbWlseTogJ0RNIFNhbnMnO1xyXG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcclxuICBmb250LXdlaWdodDogMzAwO1xyXG4gIGZvbnQtZGlzcGxheTogc3dhcDtcclxuICBzcmM6IHVybCgnL2ZvbnRzL0RNU2Fucy0zMDBJdGFsaWMtbGF0aW4tZXh0LndvZmYyJykgZm9ybWF0KCd3b2ZmMicpO1xyXG4gIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMC0wMkJBLCBVKzAyQkQtMDJDNSwgVSswMkM3LTAyQ0MsIFUrMDJDRS0wMkQ3LCBVKzAyREQtMDJGRiwgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsxRDAwLTFEQkYsIFUrMUUwMC0xRTlGLCBVKzFFRjItMUVGRiwgVSsyMDIwLCBVKzIwQTAtMjBBQiwgVSsyMEFELTIwQzAsIFUrMjExMywgVSsyQzYwLTJDN0YsIFUrQTcyMC1BN0ZGO1xyXG59XHJcbi8qIGxhdGluICovXHJcbkBmb250LWZhY2Uge1xyXG4gIGZvbnQtZmFtaWx5OiAnRE0gU2Fucyc7XHJcbiAgZm9udC1zdHlsZTogaXRhbGljO1xyXG4gIGZvbnQtd2VpZ2h0OiAzMDA7XHJcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xyXG4gIHNyYzogdXJsKCcvZm9udHMvRE1TYW5zLTMwMEl0YWxpYy1sYXRpbi53b2ZmMicpIGZvcm1hdCgnd29mZjInKTtcclxuICB1bmljb2RlLXJhbmdlOiBVKzAwMDAtMDBGRiwgVSswMTMxLCBVKzAxNTItMDE1MywgVSswMkJCLTAyQkMsIFUrMDJDNiwgVSswMkRBLCBVKzAyREMsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMjAwMC0yMDZGLCBVKzIwQUMsIFUrMjEyMiwgVSsyMTkxLCBVKzIxOTMsIFUrMjIxMiwgVSsyMjE1LCBVK0ZFRkYsIFUrRkZGRDtcclxufVxyXG4vKiBsYXRpbi1leHQgKi9cclxuQGZvbnQtZmFjZSB7XHJcbiAgZm9udC1mYW1pbHk6ICdETSBTYW5zJztcclxuICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgZm9udC13ZWlnaHQ6IDMwMDtcclxuICBmb250LWRpc3BsYXk6IHN3YXA7XHJcbiAgc3JjOiB1cmwoJy9mb250cy9ETVNhbnMtMzAwLWxhdGluLWV4dC53b2ZmMicpIGZvcm1hdCgnd29mZjInKTtcclxuICB1bmljb2RlLXJhbmdlOiBVKzAxMDAtMDJCQSwgVSswMkJELTAyQzUsIFUrMDJDNy0wMkNDLCBVKzAyQ0UtMDJENywgVSswMkRELTAyRkYsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMUQwMC0xREJGLCBVKzFFMDAtMUU5RiwgVSsxRUYyLTFFRkYsIFUrMjAyMCwgVSsyMEEwLTIwQUIsIFUrMjBBRC0yMEMwLCBVKzIxMTMsIFUrMkM2MC0yQzdGLCBVK0E3MjAtQTdGRjtcclxufVxyXG4vKiBsYXRpbiAqL1xyXG5AZm9udC1mYWNlIHtcclxuICBmb250LWZhbWlseTogJ0RNIFNhbnMnO1xyXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICBmb250LXdlaWdodDogMzAwO1xyXG4gIGZvbnQtZGlzcGxheTogc3dhcDtcclxuICBzcmM6IHVybCgnL2ZvbnRzL0RNU2Fucy0zMDAtbGF0aW4ud29mZjInKSBmb3JtYXQoJ3dvZmYyJyk7XHJcbiAgdW5pY29kZS1yYW5nZTogVSswMDAwLTAwRkYsIFUrMDEzMSwgVSswMTUyLTAxNTMsIFUrMDJCQi0wMkJDLCBVKzAyQzYsIFUrMDJEQSwgVSswMkRDLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzIwMDAtMjA2RiwgVSsyMEFDLCBVKzIxMjIsIFUrMjE5MSwgVSsyMTkzLCBVKzIyMTIsIFUrMjIxNSwgVStGRUZGLCBVK0ZGRkQ7XHJcbn1cclxuLyogbGF0aW4tZXh0ICovXHJcbkBmb250LWZhY2Uge1xyXG4gIGZvbnQtZmFtaWx5OiAnRE0gU2Fucyc7XHJcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4gIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xyXG4gIHNyYzogdXJsKCcvZm9udHMvRE1TYW5zLTQwMC1sYXRpbi1leHQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyk7XHJcbiAgdW5pY29kZS1yYW5nZTogVSswMTAwLTAyQkEsIFUrMDJCRC0wMkM1LCBVKzAyQzctMDJDQywgVSswMkNFLTAyRDcsIFUrMDJERC0wMkZGLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzFEMDAtMURCRiwgVSsxRTAwLTFFOUYsIFUrMUVGMi0xRUZGLCBVKzIwMjAsIFUrMjBBMC0yMEFCLCBVKzIwQUQtMjBDMCwgVSsyMTEzLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7XHJcbn1cclxuLyogbGF0aW4gKi9cclxuQGZvbnQtZmFjZSB7XHJcbiAgZm9udC1mYW1pbHk6ICdETSBTYW5zJztcclxuICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICBmb250LWRpc3BsYXk6IHN3YXA7XHJcbiAgc3JjOiB1cmwoJy9mb250cy9ETVNhbnMtNDAwLWxhdGluLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpO1xyXG4gIHVuaWNvZGUtcmFuZ2U6IFUrMDAwMC0wMEZGLCBVKzAxMzEsIFUrMDE1Mi0wMTUzLCBVKzAyQkItMDJCQywgVSswMkM2LCBVKzAyREEsIFUrMDJEQywgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsyMDAwLTIwNkYsIFUrMjBBQywgVSsyMTIyLCBVKzIxOTEsIFUrMjE5MywgVSsyMjEyLCBVKzIyMTUsIFUrRkVGRiwgVStGRkZEO1xyXG59XHJcbi8qIGxhdGluLWV4dCAqL1xyXG5AZm9udC1mYWNlIHtcclxuICBmb250LWZhbWlseTogJ0RNIFNhbnMnO1xyXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICBmb250LXdlaWdodDogNTAwO1xyXG4gIGZvbnQtZGlzcGxheTogc3dhcDtcclxuICBzcmM6IHVybCgnL2ZvbnRzL0RNU2Fucy01MDAtbGF0aW4tZXh0LndvZmYyJykgZm9ybWF0KCd3b2ZmMicpO1xyXG4gIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMC0wMkJBLCBVKzAyQkQtMDJDNSwgVSswMkM3LTAyQ0MsIFUrMDJDRS0wMkQ3LCBVKzAyREQtMDJGRiwgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsxRDAwLTFEQkYsIFUrMUUwMC0xRTlGLCBVKzFFRjItMUVGRiwgVSsyMDIwLCBVKzIwQTAtMjBBQiwgVSsyMEFELTIwQzAsIFUrMjExMywgVSsyQzYwLTJDN0YsIFUrQTcyMC1BN0ZGO1xyXG59XHJcbi8qIGxhdGluICovXHJcbkBmb250LWZhY2Uge1xyXG4gIGZvbnQtZmFtaWx5OiAnRE0gU2Fucyc7XHJcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4gIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xyXG4gIHNyYzogdXJsKCcvZm9udHMvRE1TYW5zLTUwMC1sYXRpbi53b2ZmMicpIGZvcm1hdCgnd29mZjInKTtcclxuICB1bmljb2RlLXJhbmdlOiBVKzAwMDAtMDBGRiwgVSswMTMxLCBVKzAxNTItMDE1MywgVSswMkJCLTAyQkMsIFUrMDJDNiwgVSswMkRBLCBVKzAyREMsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMjAwMC0yMDZGLCBVKzIwQUMsIFUrMjEyMiwgVSsyMTkxLCBVKzIxOTMsIFUrMjIxMiwgVSsyMjE1LCBVK0ZFRkYsIFUrRkZGRDtcclxufVxyXG4vKiBsYXRpbi1leHQgKi9cclxuQGZvbnQtZmFjZSB7XHJcbiAgZm9udC1mYW1pbHk6ICdETSBTYW5zJztcclxuICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICBmb250LWRpc3BsYXk6IHN3YXA7XHJcbiAgc3JjOiB1cmwoJy9mb250cy9ETVNhbnMtNjAwLWxhdGluLWV4dC53b2ZmMicpIGZvcm1hdCgnd29mZjInKTtcclxuICB1bmljb2RlLXJhbmdlOiBVKzAxMDAtMDJCQSwgVSswMkJELTAyQzUsIFUrMDJDNy0wMkNDLCBVKzAyQ0UtMDJENywgVSswMkRELTAyRkYsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMUQwMC0xREJGLCBVKzFFMDAtMUU5RiwgVSsxRUYyLTFFRkYsIFUrMjAyMCwgVSsyMEEwLTIwQUIsIFUrMjBBRC0yMEMwLCBVKzIxMTMsIFUrMkM2MC0yQzdGLCBVK0E3MjAtQTdGRjtcclxufVxyXG4vKiBsYXRpbiAqL1xyXG5AZm9udC1mYWNlIHtcclxuICBmb250LWZhbWlseTogJ0RNIFNhbnMnO1xyXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICBmb250LXdlaWdodDogNjAwO1xyXG4gIGZvbnQtZGlzcGxheTogc3dhcDtcclxuICBzcmM6IHVybCgnL2ZvbnRzL0RNU2Fucy02MDAtbGF0aW4ud29mZjInKSBmb3JtYXQoJ3dvZmYyJyk7XHJcbiAgdW5pY29kZS1yYW5nZTogVSswMDAwLTAwRkYsIFUrMDEzMSwgVSswMTUyLTAxNTMsIFUrMDJCQi0wMkJDLCBVKzAyQzYsIFUrMDJEQSwgVSswMkRDLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzIwMDAtMjA2RiwgVSsyMEFDLCBVKzIxMjIsIFUrMjE5MSwgVSsyMTkzLCBVKzIyMTIsIFUrMjIxNSwgVStGRUZGLCBVK0ZGRkQ7XHJcbn1cclxuLyogZ3JlZWsgKi9cclxuQGZvbnQtZmFjZSB7XHJcbiAgZm9udC1mYW1pbHk6ICdTeW5lJztcclxuICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICBmb250LWRpc3BsYXk6IHN3YXA7XHJcbiAgc3JjOiB1cmwoJy9mb250cy9TeW5lLTQwMC1ncmVlay53b2ZmMicpIGZvcm1hdCgnd29mZjInKTtcclxuICB1bmljb2RlLXJhbmdlOiBVKzAzNzAtMDM3NywgVSswMzdBLTAzN0YsIFUrMDM4NC0wMzhBLCBVKzAzOEMsIFUrMDM4RS0wM0ExLCBVKzAzQTMtMDNGRjtcclxufVxyXG4vKiBsYXRpbi1leHQgKi9cclxuQGZvbnQtZmFjZSB7XHJcbiAgZm9udC1mYW1pbHk6ICdTeW5lJztcclxuICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICBmb250LWRpc3BsYXk6IHN3YXA7XHJcbiAgc3JjOiB1cmwoJy9mb250cy9TeW5lLTQwMC1sYXRpbi1leHQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyk7XHJcbiAgdW5pY29kZS1yYW5nZTogVSswMTAwLTAyQkEsIFUrMDJCRC0wMkM1LCBVKzAyQzctMDJDQywgVSswMkNFLTAyRDcsIFUrMDJERC0wMkZGLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzFEMDAtMURCRiwgVSsxRTAwLTFFOUYsIFUrMUVGMi0xRUZGLCBVKzIwMjAsIFUrMjBBMC0yMEFCLCBVKzIwQUQtMjBDMCwgVSsyMTEzLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7XHJcbn1cclxuLyogbGF0aW4gKi9cclxuQGZvbnQtZmFjZSB7XHJcbiAgZm9udC1mYW1pbHk6ICdTeW5lJztcclxuICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICBmb250LWRpc3BsYXk6IHN3YXA7XHJcbiAgc3JjOiB1cmwoJy9mb250cy9TeW5lLTQwMC1sYXRpbi53b2ZmMicpIGZvcm1hdCgnd29mZjInKTtcclxuICB1bmljb2RlLXJhbmdlOiBVKzAwMDAtMDBGRiwgVSswMTMxLCBVKzAxNTItMDE1MywgVSswMkJCLTAyQkMsIFUrMDJDNiwgVSswMkRBLCBVKzAyREMsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMjAwMC0yMDZGLCBVKzIwQUMsIFUrMjEyMiwgVSsyMTkxLCBVKzIxOTMsIFUrMjIxMiwgVSsyMjE1LCBVK0ZFRkYsIFUrRkZGRDtcclxufVxyXG4vKiBncmVlayAqL1xyXG5AZm9udC1mYWNlIHtcclxuICBmb250LWZhbWlseTogJ1N5bmUnO1xyXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICBmb250LXdlaWdodDogNjAwO1xyXG4gIGZvbnQtZGlzcGxheTogc3dhcDtcclxuICBzcmM6IHVybCgnL2ZvbnRzL1N5bmUtNjAwLWdyZWVrLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpO1xyXG4gIHVuaWNvZGUtcmFuZ2U6IFUrMDM3MC0wMzc3LCBVKzAzN0EtMDM3RiwgVSswMzg0LTAzOEEsIFUrMDM4QywgVSswMzhFLTAzQTEsIFUrMDNBMy0wM0ZGO1xyXG59XHJcbi8qIGxhdGluLWV4dCAqL1xyXG5AZm9udC1mYWNlIHtcclxuICBmb250LWZhbWlseTogJ1N5bmUnO1xyXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICBmb250LXdlaWdodDogNjAwO1xyXG4gIGZvbnQtZGlzcGxheTogc3dhcDtcclxuICBzcmM6IHVybCgnL2ZvbnRzL1N5bmUtNjAwLWxhdGluLWV4dC53b2ZmMicpIGZvcm1hdCgnd29mZjInKTtcclxuICB1bmljb2RlLXJhbmdlOiBVKzAxMDAtMDJCQSwgVSswMkJELTAyQzUsIFUrMDJDNy0wMkNDLCBVKzAyQ0UtMDJENywgVSswMkRELTAyRkYsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMUQwMC0xREJGLCBVKzFFMDAtMUU5RiwgVSsxRUYyLTFFRkYsIFUrMjAyMCwgVSsyMEEwLTIwQUIsIFUrMjBBRC0yMEMwLCBVKzIxMTMsIFUrMkM2MC0yQzdGLCBVK0E3MjAtQTdGRjtcclxufVxyXG4vKiBsYXRpbiAqL1xyXG5AZm9udC1mYWNlIHtcclxuICBmb250LWZhbWlseTogJ1N5bmUnO1xyXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICBmb250LXdlaWdodDogNjAwO1xyXG4gIGZvbnQtZGlzcGxheTogc3dhcDtcclxuICBzcmM6IHVybCgnL2ZvbnRzL1N5bmUtNjAwLWxhdGluLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpO1xyXG4gIHVuaWNvZGUtcmFuZ2U6IFUrMDAwMC0wMEZGLCBVKzAxMzEsIFUrMDE1Mi0wMTUzLCBVKzAyQkItMDJCQywgVSswMkM2LCBVKzAyREEsIFUrMDJEQywgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsyMDAwLTIwNkYsIFUrMjBBQywgVSsyMTIyLCBVKzIxOTEsIFUrMjE5MywgVSsyMjEyLCBVKzIyMTUsIFUrRkVGRiwgVStGRkZEO1xyXG59XHJcbi8qIGdyZWVrICovXHJcbkBmb250LWZhY2Uge1xyXG4gIGZvbnQtZmFtaWx5OiAnU3luZSc7XHJcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4gIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xyXG4gIHNyYzogdXJsKCcvZm9udHMvU3luZS03MDAtZ3JlZWsud29mZjInKSBmb3JtYXQoJ3dvZmYyJyk7XHJcbiAgdW5pY29kZS1yYW5nZTogVSswMzcwLTAzNzcsIFUrMDM3QS0wMzdGLCBVKzAzODQtMDM4QSwgVSswMzhDLCBVKzAzOEUtMDNBMSwgVSswM0EzLTAzRkY7XHJcbn1cclxuLyogbGF0aW4tZXh0ICovXHJcbkBmb250LWZhY2Uge1xyXG4gIGZvbnQtZmFtaWx5OiAnU3luZSc7XHJcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4gIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xyXG4gIHNyYzogdXJsKCcvZm9udHMvU3luZS03MDAtbGF0aW4tZXh0LndvZmYyJykgZm9ybWF0KCd3b2ZmMicpO1xyXG4gIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMC0wMkJBLCBVKzAyQkQtMDJDNSwgVSswMkM3LTAyQ0MsIFUrMDJDRS0wMkQ3LCBVKzAyREQtMDJGRiwgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsxRDAwLTFEQkYsIFUrMUUwMC0xRTlGLCBVKzFFRjItMUVGRiwgVSsyMDIwLCBVKzIwQTAtMjBBQiwgVSsyMEFELTIwQzAsIFUrMjExMywgVSsyQzYwLTJDN0YsIFUrQTcyMC1BN0ZGO1xyXG59XHJcbi8qIGxhdGluICovXHJcbkBmb250LWZhY2Uge1xyXG4gIGZvbnQtZmFtaWx5OiAnU3luZSc7XHJcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4gIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xyXG4gIHNyYzogdXJsKCcvZm9udHMvU3luZS03MDAtbGF0aW4ud29mZjInKSBmb3JtYXQoJ3dvZmYyJyk7XHJcbiAgdW5pY29kZS1yYW5nZTogVSswMDAwLTAwRkYsIFUrMDEzMSwgVSswMTUyLTAxNTMsIFUrMDJCQi0wMkJDLCBVKzAyQzYsIFUrMDJEQSwgVSswMkRDLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzIwMDAtMjA2RiwgVSsyMEFDLCBVKzIxMjIsIFUrMjE5MSwgVSsyMTkzLCBVKzIyMTIsIFUrMjIxNSwgVStGRUZGLCBVK0ZGRkQ7XHJcbn1cclxuLyogZ3JlZWsgKi9cclxuQGZvbnQtZmFjZSB7XHJcbiAgZm9udC1mYW1pbHk6ICdTeW5lJztcclxuICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgZm9udC13ZWlnaHQ6IDgwMDtcclxuICBmb250LWRpc3BsYXk6IHN3YXA7XHJcbiAgc3JjOiB1cmwoJy9mb250cy9TeW5lLTgwMC1ncmVlay53b2ZmMicpIGZvcm1hdCgnd29mZjInKTtcclxuICB1bmljb2RlLXJhbmdlOiBVKzAzNzAtMDM3NywgVSswMzdBLTAzN0YsIFUrMDM4NC0wMzhBLCBVKzAzOEMsIFUrMDM4RS0wM0ExLCBVKzAzQTMtMDNGRjtcclxufVxyXG4vKiBsYXRpbi1leHQgKi9cclxuQGZvbnQtZmFjZSB7XHJcbiAgZm9udC1mYW1pbHk6ICdTeW5lJztcclxuICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgZm9udC13ZWlnaHQ6IDgwMDtcclxuICBmb250LWRpc3BsYXk6IHN3YXA7XHJcbiAgc3JjOiB1cmwoJy9mb250cy9TeW5lLTgwMC1sYXRpbi1leHQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyk7XHJcbiAgdW5pY29kZS1yYW5nZTogVSswMTAwLTAyQkEsIFUrMDJCRC0wMkM1LCBVKzAyQzctMDJDQywgVSswMkNFLTAyRDcsIFUrMDJERC0wMkZGLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzFEMDAtMURCRiwgVSsxRTAwLTFFOUYsIFUrMUVGMi0xRUZGLCBVKzIwMjAsIFUrMjBBMC0yMEFCLCBVKzIwQUQtMjBDMCwgVSsyMTEzLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7XHJcbn1cclxuLyogbGF0aW4gKi9cclxuQGZvbnQtZmFjZSB7XHJcbiAgZm9udC1mYW1pbHk6ICdTeW5lJztcclxuICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgZm9udC13ZWlnaHQ6IDgwMDtcclxuICBmb250LWRpc3BsYXk6IHN3YXA7XHJcbiAgc3JjOiB1cmwoJy9mb250cy9TeW5lLTgwMC1sYXRpbi53b2ZmMicpIGZvcm1hdCgnd29mZjInKTtcclxuICB1bmljb2RlLXJhbmdlOiBVKzAwMDAtMDBGRiwgVSswMTMxLCBVKzAxNTItMDE1MywgVSswMkJCLTAyQkMsIFUrMDJDNiwgVSswMkRBLCBVKzAyREMsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMjAwMC0yMDZGLCBVKzIwQUMsIFUrMjEyMiwgVSsyMTkxLCBVKzIxOTMsIFUrMjIxMiwgVSsyMjE1LCBVK0ZFRkYsIFUrRkZGRDtcclxufVxyXG4iLCI6cm9vdCB7XHJcbiAgLyogRGFyayB0aGVtZSAoZGVmYXVsdCkgKi9cclxuICAtLWJnOiAgICAgICAjMDYwYjE0O1xyXG4gIC0tYmcyOiAgICAgICMwYTEyMjA7XHJcbiAgLS1iZzM6ICAgICAgIzBmMWEyZTtcclxuICAtLXRlYWw6ICAgICAjMDBkNGI0O1xyXG4gIC0tdGVhbC1zb2Z0OiMwMGI4OWU7XHJcbiAgLS1ibHVlOiAgICAgIzFhNmNmNjtcclxuICAtLXRleHQ6ICAgICAjZThlZGY1O1xyXG4gIC0tdGV4dC1tdXRlZDojODc5OGI1O1xyXG4gIC0tdGV4dC1kaW06ICM0NjVhNzg7XHJcbiAgLS1ib3JkZXI6ICAgcmdiYSgyNTUsMjU1LDI1NSwwLjA4KTtcclxuICAtLWNhcmQ6ICAgICByZ2JhKDI1NSwyNTUsMjU1LDAuMDMpO1xyXG4gIC0tbmF2LWJnOiAgIHJnYmEoNiwxMSwyMCwwLjcyKTtcclxuICAtLXNvY2lhbC1iZzpyZ2JhKDI1NSwyNTUsMjU1LDAuMDYpO1xyXG4gIC0tc29jaWFsLWhvdmVyOnJnYmEoMCwyMTIsMTgwLDAuMSk7XHJcbiAgLS1pbnB1dC1iZzogcmdiYSgyNTUsMjU1LDI1NSwwLjA0KTtcclxuICAtLWNhcmQtc2hhZG93OiAwIDFweCAwIHJnYmEoMjU1LDI1NSwyNTUsMC4wNCkgaW5zZXQsIDAgMXB4IDJweCByZ2JhKDAsMCwwLDAuMyk7XHJcbiAgLS1jYXJkLXNoYWRvdy1ob3ZlcjogMCAxcHggMCByZ2JhKDAsMjEyLDE4MCwwLjE1KSBpbnNldCwgMCAyNHB4IDQ4cHggLTE2cHggcmdiYSgwLDIxMiwxODAsMC4wOCksIDAgMTJweCAyNHB4IC04cHggcmdiYSgwLDAsMCwwLjQpO1xyXG5cclxuICAvKiBEUyBkb2MgdmFycyAqL1xyXG4gIC0tZHMtYWNjZW50OiAjMDBkNGI0O1xyXG4gIC0tZHMtc2lkZWJhcjogIzA3MGQxYTtcclxuICAtLWRzLXNpZGViYXItYm9yZGVyOiByZ2JhKDI1NSwyNTUsMjU1LDAuMDYpO1xyXG4gIC0tZHMtY29kZS1iZzogcmdiYSgwLDAsMCwwLjQpO1xyXG4gIC0tZHMtc2VjdGlvbi1nYXA6IDgwcHg7XHJcbiAgY29sb3Itc2NoZW1lOiBkYXJrO1xyXG59XHJcblxyXG5odG1sLmxpZ2h0IHtcclxuICAtLWJnOiNmNWY3ZmM7IC0tYmcyOiNlZWYyZjk7IC0tYmczOiNmZmZmZmY7XHJcbiAgLS10ZWFsOiMwMDdhNjg7IC0tdGVhbC1zb2Z0OiMwMDg5N2E7IC0tYmx1ZTojMTU1MGMwO1xyXG4gIC0tdGV4dDojMGIxNTI1OyAtLXRleHQtbXV0ZWQ6IzQ3NTg3MjsgLS10ZXh0LWRpbTojNmU4NmE1O1xyXG4gIC0tYm9yZGVyOnJnYmEoMTMsMzAsNjAsMC4xMCk7IC0tY2FyZDojZmZmZmZmO1xyXG4gIC0tbmF2LWJnOnJnYmEoMjQ1LDI0NywyNTIsMC45Mik7XHJcbiAgLS1zb2NpYWwtYmc6cmdiYSgxMywzMCw2MCwwLjA1KTsgLS1zb2NpYWwtaG92ZXI6cmdiYSgwLDEyMiwxMDQsMC4wOCk7XHJcbiAgLS1pbnB1dC1iZzpyZ2JhKDEzLDMwLDYwLDAuMDQpO1xyXG4gIC0tY2FyZC1zaGFkb3c6IDAgMXB4IDJweCByZ2JhKDEzLDMwLDYwLDAuMDQpLCAwIDRweCAxMnB4IC02cHggcmdiYSgxMywzMCw2MCwwLjA2KTtcclxuICAtLWNhcmQtc2hhZG93LWhvdmVyOiAwIDFweCAwIHJnYmEoMCwxMjIsMTA0LDAuMTIpIGluc2V0LCAwIDE4cHggNDBweCAtMTZweCByZ2JhKDAsMTIyLDEwNCwwLjE0KTtcclxuICAtLWRzLXNpZGViYXI6ICNlZWYyZjk7XHJcbiAgLS1kcy1zaWRlYmFyLWJvcmRlcjogcmdiYSgxMywzMCw2MCwwLjA4KTtcclxuICAtLWRzLWNvZGUtYmc6IHJnYmEoMTMsMzAsNjAsMC4wNik7XHJcbiAgY29sb3Itc2NoZW1lOiBsaWdodDtcclxufVxyXG5cclxuKiB7IG1hcmdpbjowOyBwYWRkaW5nOjA7IGJveC1zaXppbmc6Ym9yZGVyLWJveDsgfVxyXG5odG1sIHsgc2Nyb2xsLWJlaGF2aW9yOnNtb290aDsgfVxyXG5cclxuYm9keS5wYWdlLXNpZGViYXItbWFpbiB7XHJcbiAgYmFja2dyb3VuZDogdmFyKC0tYmcpO1xyXG4gIGNvbG9yOiB2YXIoLS10ZXh0KTtcclxuICBmb250LWZhbWlseTogJ0RNIFNhbnMnLCBzYW5zLXNlcmlmO1xyXG4gIGZvbnQtc2l6ZTogMTVweDtcclxuICBsaW5lLWhlaWdodDogMS42O1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgbWluLWhlaWdodDogMTAwdmg7XHJcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAuM3MsIGNvbG9yIC4zcztcclxufVxyXG5cclxuaDEsaDIsaDMsaDQsaDUgeyBmb250LWZhbWlseTogJ1N5bmUnLCBzYW5zLXNlcmlmOyB9XHJcbmNvZGUsIHByZSB7IGZvbnQtZmFtaWx5OiAnRE0gTW9ubycsIG1vbm9zcGFjZTsgfVxyXG5cclxuLyog4pSA4pSAIE5PSVNFIOKUgOKUgCAqL1xyXG5ib2R5LnBhZ2Utc2lkZWJhci1tYWluOjpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6Jyc7IHBvc2l0aW9uOmZpeGVkOyBpbnNldDowO1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6dXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB2aWV3Qm94PScwIDAgMjU2IDI1NicgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzRSUzQ2ZpbHRlciBpZD0nbiclM0UlM0NmZVR1cmJ1bGVuY2UgdHlwZT0nZnJhY3RhbE5vaXNlJyBiYXNlRnJlcXVlbmN5PScwLjknIG51bU9jdGF2ZXM9JzQnIHN0aXRjaFRpbGVzPSdzdGl0Y2gnLyUzRSUzQy9maWx0ZXIlM0UlM0NyZWN0IHdpZHRoPScxMDAlMjUnIGhlaWdodD0nMTAwJTI1JyBmaWx0ZXI9J3VybCglMjNuKScgb3BhY2l0eT0nMC4wNCcvJTNFJTNDL3N2ZyUzRVwiKTtcclxuICBwb2ludGVyLWV2ZW50czpub25lOyB6LWluZGV4OjA7IG9wYWNpdHk6LjM7IG1peC1ibGVuZC1tb2RlOm92ZXJsYXk7XHJcbn1cclxuXHJcbi8qIOKUgOKUgCBTSURFQkFSIOKUgOKUgCAqL1xyXG4uc2lkZWJhciB7XHJcbiAgd2lkdGg6IDI2MHB4O1xyXG4gIGZsZXgtc2hyaW5rOiAwO1xyXG4gIHBvc2l0aW9uOiBmaXhlZDtcclxuICB0b3A6IDA7IGxlZnQ6IDA7IGJvdHRvbTogMDtcclxuICBiYWNrZ3JvdW5kOiB2YXIoLS1kcy1zaWRlYmFyKTtcclxuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1kcy1zaWRlYmFyLWJvcmRlcik7XHJcbiAgb3ZlcmZsb3cteTogYXV0bztcclxuICB6LWluZGV4OiA1MDtcclxuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIC4zcywgYm9yZGVyLWNvbG9yIC4zcztcclxufVxyXG5cclxuLnNpZGViYXItbG9nbyB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGdhcDogMTBweDtcclxuICBwYWRkaW5nOiAyNHB4IDIwcHg7XHJcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWRzLXNpZGViYXItYm9yZGVyKTtcclxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbn1cclxuLnNpZGViYXItbG9nbyBzdmcgeyBmbGV4LXNocmluazowOyB3aWR0aDozMnB4OyBoZWlnaHQ6MzJweDsgfVxyXG4uc2lkZWJhci1sb2dvLXRleHQge1xyXG4gIGZvbnQtZmFtaWx5OiAnU3luZScsIHNhbnMtc2VyaWY7XHJcbiAgZm9udC13ZWlnaHQ6IDgwMDtcclxuICBmb250LXNpemU6IDE3cHg7XHJcbiAgY29sb3I6IHZhcigtLXRleHQpO1xyXG4gIGxldHRlci1zcGFjaW5nOiAtMC41cHg7XHJcbn1cclxuLnNpZGViYXItbG9nby10ZXh0IHNwYW4geyBjb2xvcjogdmFyKC0tdGVhbCk7IH1cclxuLnNpZGViYXItbG9nby1iYWRnZSB7XHJcbiAgZm9udC1zaXplOiAxMHB4O1xyXG4gIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgcGFkZGluZzogMnB4IDdweDtcclxuICBib3JkZXItcmFkaXVzOiAyMHB4O1xyXG4gIGJhY2tncm91bmQ6IHJnYmEoMCwyMTIsMTgwLC4xMik7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLDIxMiwxODAsLjI1KTtcclxuICBjb2xvcjogdmFyKC0tdGVhbCk7XHJcbiAgbGV0dGVyLXNwYWNpbmc6IC41cHg7XHJcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbn1cclxuXHJcbi5zaWRlYmFyLXNlY3Rpb24ge1xyXG4gIHBhZGRpbmc6IDIwcHggMCA4cHg7XHJcbn1cclxuLnNpZGViYXItc2VjdGlvbi1sYWJlbCB7XHJcbiAgZm9udC1zaXplOiAxMHB4O1xyXG4gIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICBsZXR0ZXItc3BhY2luZzogMS41cHg7XHJcbiAgY29sb3I6IHZhcigtLXRleHQtZGltKTtcclxuICBwYWRkaW5nOiAwIDIwcHggOHB4O1xyXG59XHJcbi5zaWRlYmFyLWxpbmsge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBnYXA6IDhweDtcclxuICBwYWRkaW5nOiA3cHggMjBweDtcclxuICBmb250LXNpemU6IDEzLjVweDtcclxuICBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gIHRyYW5zaXRpb246IGNvbG9yIC4xNXMsIGJhY2tncm91bmQgLjE1cztcclxuICBib3JkZXItcmFkaXVzOiAwO1xyXG59XHJcbi5zaWRlYmFyLWxpbms6aG92ZXIgeyBjb2xvcjogdmFyKC0tdGV4dCk7IGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsLjA0KTsgfVxyXG5odG1sLmxpZ2h0IC5zaWRlYmFyLWxpbms6aG92ZXIgeyBiYWNrZ3JvdW5kOiByZ2JhKDEzLDMwLDYwLC4wNCk7IH1cclxuLnNpZGViYXItbGluay5hY3RpdmUgeyBjb2xvcjogdmFyKC0tdGVhbCk7IGZvbnQtd2VpZ2h0OiA1MDA7IH1cclxuLnNpZGViYXItbGluayAuZG90IHtcclxuICB3aWR0aDogNXB4OyBoZWlnaHQ6IDVweDsgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gIGJhY2tncm91bmQ6IHZhcigtLXRleHQtZGltKTsgZmxleC1zaHJpbms6MDtcclxuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIC4xNXM7XHJcbn1cclxuLnNpZGViYXItbGluay5hY3RpdmUgLmRvdCwgLnNpZGViYXItbGluazpob3ZlciAuZG90IHsgYmFja2dyb3VuZDogdmFyKC0tdGVhbCk7IH1cclxuXHJcbi5zaWRlYmFyLWJvdHRvbSB7XHJcbiAgcGFkZGluZzogMTZweCAyMHB4O1xyXG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1kcy1zaWRlYmFyLWJvcmRlcik7XHJcbiAgbWFyZ2luLXRvcDogYXV0bztcclxufVxyXG4udGhlbWUtdG9nZ2xlLWJ0biB7XHJcbiAgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiA4cHg7XHJcbiAgd2lkdGg6IDEwMCU7IHBhZGRpbmc6IDhweCAxMnB4OyBib3JkZXItcmFkaXVzOiA4cHg7XHJcbiAgYmFja2dyb3VuZDogdmFyKC0tc29jaWFsLWJnKTsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyKTtcclxuICBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7IGZvbnQtc2l6ZTogMTNweDsgY3Vyc29yOiBwb2ludGVyO1xyXG4gIGZvbnQtZmFtaWx5OiAnRE0gU2FucycsIHNhbnMtc2VyaWY7IHRyYW5zaXRpb246IC4ycztcclxufVxyXG4udGhlbWUtdG9nZ2xlLWJ0bjpob3ZlciB7IGJvcmRlci1jb2xvcjogdmFyKC0tdGVhbCk7IGNvbG9yOiB2YXIoLS10ZWFsKTsgfVxyXG5cclxuLyog4pSA4pSAIE1BSU4g4pSA4pSAICovXHJcbi5wYWdlLXNpZGViYXItbWFpbiB7XHJcbiAgbWFyZ2luLWxlZnQ6IDI2MHB4O1xyXG4gIGZsZXg6IDE7XHJcbiAgbWluLXdpZHRoOiAwO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB6LWluZGV4OiAxO1xyXG59XHJcblxyXG4uZHMtc2VjdGlvbiB7XHJcbiAgcGFkZGluZzogNjRweCA2NHB4O1xyXG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1ib3JkZXIpO1xyXG59XHJcbi5kcy1zZWN0aW9uOmxhc3QtY2hpbGQgeyBib3JkZXItYm90dG9tOiBub25lOyB9XHJcblxyXG4uZHMtc2VjdGlvbi1oZWFkZXIge1xyXG4gIG1hcmdpbi1ib3R0b206IDQwcHg7XHJcbn1cclxuLmRzLXNlY3Rpb24tdGFnIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiA2cHg7XHJcbiAgZm9udC1zaXplOiAxMHB4OyBmb250LXdlaWdodDogNzAwOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gIGxldHRlci1zcGFjaW5nOiAycHg7IGNvbG9yOiB2YXIoLS10ZWFsKTtcclxuICBiYWNrZ3JvdW5kOiByZ2JhKDAsMjEyLDE4MCwuMDgpOyBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsMjEyLDE4MCwuMTgpO1xyXG4gIHBhZGRpbmc6IDRweCAxMHB4OyBib3JkZXItcmFkaXVzOiAyMHB4OyBtYXJnaW4tYm90dG9tOiAxMnB4O1xyXG59XHJcbmh0bWwubGlnaHQgLmRzLXNlY3Rpb24tdGFnIHsgY29sb3I6IzAwNWY1MDsgYmFja2dyb3VuZDpyZ2JhKDAsOTUsODAsLjA4KTsgYm9yZGVyLWNvbG9yOnJnYmEoMCw5NSw4MCwuMik7IH1cclxuLmRzLXNlY3Rpb24tdGFnOjpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6ICcnOyB3aWR0aDogNHB4OyBoZWlnaHQ6IDRweDsgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gIGJhY2tncm91bmQ6IHZhcigtLXRlYWwpOyBib3gtc2hhZG93OiAwIDAgNXB4IHZhcigtLXRlYWwpO1xyXG59XHJcbi5kcy1zZWN0aW9uLXRpdGxlIHtcclxuICBmb250LXNpemU6IGNsYW1wKDI0cHgsIDIuNXZ3LCAzNnB4KTtcclxuICBmb250LXdlaWdodDogODAwO1xyXG4gIGxldHRlci1zcGFjaW5nOiAtMXB4O1xyXG4gIGxpbmUtaGVpZ2h0OiAxLjE7XHJcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxufVxyXG4uZHMtc2VjdGlvbi1zdWIge1xyXG4gIGZvbnQtc2l6ZTogMTRweDtcclxuICBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcbiAgbWF4LXdpZHRoOiA1NjBweDtcclxuICBsaW5lLWhlaWdodDogMS42NTtcclxufVxyXG5cclxuLyog4pSA4pSAIEhFUk8gQkFOTkVSIOKUgOKUgCAqL1xyXG4uZHMtaGVybyB7XHJcbiAgcGFkZGluZzogODBweCA2NHB4IDY0cHg7XHJcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJvcmRlcik7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuLmRzLWhlcm8tZ2xvdyB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IC0xMDBweDsgbGVmdDogNDAlO1xyXG4gIHdpZHRoOiA2MDBweDsgaGVpZ2h0OiA0MDBweDsgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudChlbGxpcHNlLCByZ2JhKDAsMjEyLDE4MCwuMDgpIDAlLCByZ2JhKDI2LDEwOCwyNDYsLjA1KSA0MCUsIHRyYW5zcGFyZW50IDcwJSk7XHJcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbn1cclxuLmRzLWhlcm8tdGFnIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiA4cHg7XHJcbiAgZm9udC1zaXplOiAxMXB4OyBmb250LXdlaWdodDogNzAwOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBsZXR0ZXItc3BhY2luZzogMnB4O1xyXG4gIGNvbG9yOiB2YXIoLS10ZWFsKTsgYmFja2dyb3VuZDogcmdiYSgwLDIxMiwxODAsLjA4KTtcclxuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsMjEyLDE4MCwuMik7IHBhZGRpbmc6IDVweCAxMnB4OyBib3JkZXItcmFkaXVzOiAyMHB4O1xyXG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbn1cclxuLmRzLWhlcm8tdGFnOjpiZWZvcmUgeyBjb250ZW50OicnOyB3aWR0aDo1cHg7IGhlaWdodDo1cHg7IGJvcmRlci1yYWRpdXM6NTAlOyBiYWNrZ3JvdW5kOnZhcigtLXRlYWwpOyBib3gtc2hhZG93OjAgMCA2cHggdmFyKC0tdGVhbCk7IGFuaW1hdGlvbjpibGluayAycyBpbmZpbml0ZTsgfVxyXG5Aa2V5ZnJhbWVzIGJsaW5rezAlLDEwMCV7b3BhY2l0eToxfTUwJXtvcGFjaXR5Oi40fX1cclxuLmRzLWhlcm8gaDEge1xyXG4gIGZvbnQtc2l6ZTogY2xhbXAoMzZweCwgNHZ3LCA1NnB4KTtcclxuICBmb250LXdlaWdodDogODAwO1xyXG4gIGxldHRlci1zcGFjaW5nOiAtMnB4O1xyXG4gIGxpbmUtaGVpZ2h0OiAxLjA1O1xyXG4gIG1hcmdpbi1ib3R0b206IDE2cHg7XHJcbn1cclxuLmRzLWhlcm8gaDEgLmdyYWQge1xyXG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMTBkZWcsIHZhcigtLXRlYWwpIDEwJSwgdmFyKC0tYmx1ZSkgODUlKTtcclxuICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDsgYmFja2dyb3VuZC1jbGlwOiB0ZXh0OyAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbn1cclxuLmRzLWhlcm8tc3ViIHtcclxuICBmb250LXNpemU6IDE2cHg7XHJcbiAgY29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG4gIG1heC13aWR0aDogNTYwcHg7XHJcbiAgbGluZS1oZWlnaHQ6IDEuNztcclxuICBtYXJnaW4tYm90dG9tOiAzMnB4O1xyXG59XHJcbi5kcy1oZXJvLW1ldGEge1xyXG4gIGRpc3BsYXk6IGZsZXg7IGdhcDogMjRweDsgZmxleC13cmFwOiB3cmFwO1xyXG59XHJcbi5kcy1oZXJvLW1ldGEtaXRlbSB7XHJcbiAgZm9udC1zaXplOiAxMnB4OyBjb2xvcjogdmFyKC0tdGV4dC1kaW0pO1xyXG4gIGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogNnB4O1xyXG59XHJcbi5kcy1oZXJvLW1ldGEtaXRlbSBzdHJvbmcgeyBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7IGZvbnQtd2VpZ2h0OiA2MDA7IH1cclxuXHJcbi8qIOKUgOKUgCBDT0xPUiBUT0tFTlMg4pSA4pSAICovXHJcbi5jb2xvci1ncmlkIHtcclxuICBkaXNwbGF5OiBncmlkO1xyXG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KDIwMHB4LCAxZnIpKTtcclxuICBnYXA6IDEycHg7XHJcbiAgbWFyZ2luLWJvdHRvbTogMzJweDtcclxufVxyXG4uY29sb3Itc3dhdGNoIHtcclxuICBib3JkZXItcmFkaXVzOiAxMnB4O1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyKTtcclxuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjJzO1xyXG59XHJcbi5jb2xvci1zd2F0Y2g6aG92ZXIgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7IH1cclxuLmNvbG9yLXN3YXRjaC1wcmV2aWV3IHtcclxuICBoZWlnaHQ6IDgwcHg7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbn1cclxuLmNvbG9yLXN3YXRjaC1pbmZvIHtcclxuICBwYWRkaW5nOiAxMHB4IDEycHg7XHJcbiAgYmFja2dyb3VuZDogdmFyKC0tYmczKTtcclxuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIC4zcztcclxufVxyXG5odG1sLmxpZ2h0IC5jb2xvci1zd2F0Y2gtaW5mbyB7IGJhY2tncm91bmQ6ICNmOGZhZmM7IH1cclxuLmNvbG9yLXN3YXRjaC1uYW1lIHtcclxuICBmb250LXNpemU6IDEycHg7IGZvbnQtd2VpZ2h0OiA2MDA7IG1hcmdpbi1ib3R0b206IDNweDtcclxufVxyXG4uY29sb3Itc3dhdGNoLXZhciB7XHJcbiAgZm9udC1mYW1pbHk6ICdETSBNb25vJywgbW9ub3NwYWNlO1xyXG4gIGZvbnQtc2l6ZTogMTFweDsgY29sb3I6IHZhcigtLXRleHQtZGltKTtcclxufVxyXG4uY29sb3Itc3dhdGNoLWhleCB7XHJcbiAgZm9udC1mYW1pbHk6ICdETSBNb25vJywgbW9ub3NwYWNlO1xyXG4gIGZvbnQtc2l6ZTogMTFweDsgY29sb3I6IHZhcigtLXRlYWwpOyBmbG9hdDogcmlnaHQ7XHJcbn1cclxuXHJcbi5jb2xvci1ncm91cC10aXRsZSB7XHJcbiAgZm9udC1zaXplOiAxMXB4OyBmb250LXdlaWdodDogNzAwOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gIGxldHRlci1zcGFjaW5nOiAxLjVweDsgY29sb3I6IHZhcigtLXRleHQtZGltKTtcclxuICBtYXJnaW4tYm90dG9tOiAxMnB4OyBtYXJnaW4tdG9wOiAyOHB4O1xyXG59XHJcbi5jb2xvci1ncm91cC10aXRsZTpmaXJzdC1jaGlsZCB7IG1hcmdpbi10b3A6IDA7IH1cclxuXHJcbi8qIOKUgOKUgCBUWVBPR1JBUEhZIOKUgOKUgCAqL1xyXG4udHlwZS1zYW1wbGVzIHsgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgZ2FwOiAyNHB4OyB9XHJcbi50eXBlLXNhbXBsZSB7XHJcbiAgcGFkZGluZzogMjBweCAyNHB4O1xyXG4gIGJhY2tncm91bmQ6IHZhcigtLWJnMyk7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyKTtcclxuICBib3JkZXItcmFkaXVzOiAxMnB4O1xyXG4gIGRpc3BsYXk6IGZsZXg7IGdhcDogMzJweDsgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAuM3M7XHJcbn1cclxuaHRtbC5saWdodCAudHlwZS1zYW1wbGUgeyBiYWNrZ3JvdW5kOiAjZmZmOyB9XHJcbi50eXBlLXNhbXBsZS1tZXRhIHtcclxuICBmbGV4LXNocmluazogMDtcclxuICB3aWR0aDogMTYwcHg7XHJcbn1cclxuLnR5cGUtc2FtcGxlLXJvbGUgeyBmb250LXNpemU6IDExcHg7IGZvbnQtd2VpZ2h0OiA3MDA7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IGxldHRlci1zcGFjaW5nOiAxcHg7IGNvbG9yOiB2YXIoLS10ZXh0LWRpbSk7IG1hcmdpbi1ib3R0b206IDZweDsgfVxyXG4udHlwZS1zYW1wbGUtc3BlYyB7IGZvbnQtZmFtaWx5OiAnRE0gTW9ubycsIG1vbm9zcGFjZTsgZm9udC1zaXplOiAxMXB4OyBjb2xvcjogdmFyKC0tdGVhbCk7IGxpbmUtaGVpZ2h0OiAxLjg7IH1cclxuLnR5cGUtc2FtcGxlLXByZXZpZXcgeyBmbGV4OiAxOyB9XHJcblxyXG4vKiDilIDilIAgU1BBQ0lORyDilIDilIAgKi9cclxuLnNwYWNpbmctZ3JpZCB7IGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGdhcDogMTBweDsgfVxyXG4uc3BhY2luZy1yb3cge1xyXG4gIGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogMTZweDtcclxuICBwYWRkaW5nOiAxMHB4IDE2cHg7XHJcbiAgYmFja2dyb3VuZDogdmFyKC0tYmczKTsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyKTsgYm9yZGVyLXJhZGl1czogMTBweDtcclxuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIC4zcztcclxufVxyXG5odG1sLmxpZ2h0IC5zcGFjaW5nLXJvdyB7IGJhY2tncm91bmQ6ICNmZmY7IH1cclxuLnNwYWNpbmctYmFyLXdyYXAgeyBmbGV4OiAxOyBoZWlnaHQ6IDhweDsgYmFja2dyb3VuZDogdmFyKC0tYm9yZGVyKTsgYm9yZGVyLXJhZGl1czogNHB4OyBvdmVyZmxvdzogaGlkZGVuOyB9XHJcbi5zcGFjaW5nLWJhciB7IGhlaWdodDogMTAwJTsgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCB2YXIoLS10ZWFsKSwgdmFyKC0tYmx1ZSkpOyBib3JkZXItcmFkaXVzOiA0cHg7IH1cclxuLnNwYWNpbmctbGFiZWwgeyBmb250LWZhbWlseTogJ0RNIE1vbm8nLCBtb25vc3BhY2U7IGZvbnQtc2l6ZTogMTJweDsgY29sb3I6IHZhcigtLXRlYWwpOyB3aWR0aDogNTBweDsgfVxyXG4uc3BhY2luZy1uYW1lIHsgZm9udC1zaXplOiAxMnB4OyBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7IHdpZHRoOiAxMDBweDsgfVxyXG4uc3BhY2luZy12YWwgeyBmb250LWZhbWlseTogJ0RNIE1vbm8nLCBtb25vc3BhY2U7IGZvbnQtc2l6ZTogMTJweDsgY29sb3I6IHZhcigtLXRleHQtZGltKTsgd2lkdGg6IDQwcHg7IHRleHQtYWxpZ246IHJpZ2h0OyB9XHJcblxyXG4vKiDilIDilIAgQ09NUE9ORU5UIFBSRVZJRVcg4pSA4pSAICovXHJcbi5jb21wb25lbnQtZ3JpZCB7XHJcbiAgZGlzcGxheTogZ3JpZDtcclxuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heCgyODBweCwgMWZyKSk7XHJcbiAgZ2FwOiAxNnB4O1xyXG59XHJcbi5jb21wb25lbnQtY2FyZCB7XHJcbiAgYmFja2dyb3VuZDogdmFyKC0tYmczKTtcclxuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXIpO1xyXG4gIGJvcmRlci1yYWRpdXM6IDE0cHg7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIC4zcztcclxufVxyXG5odG1sLmxpZ2h0IC5jb21wb25lbnQtY2FyZCB7IGJhY2tncm91bmQ6ICNmZmY7IH1cclxuLmNvbXBvbmVudC1wcmV2aWV3IHtcclxuICBwYWRkaW5nOiAyOHB4IDI0cHg7XHJcbiAgZGlzcGxheTogZmxleDsgZmxleC13cmFwOiB3cmFwOyBnYXA6IDEwcHg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgbWluLWhlaWdodDogODBweDtcclxuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYm9yZGVyKTtcclxufVxyXG4uY29tcG9uZW50LWxhYmVsIHtcclxuICBwYWRkaW5nOiAxMHB4IDE2cHg7XHJcbiAgZm9udC1zaXplOiAxMXB4OyBmb250LXdlaWdodDogNzAwOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gIGxldHRlci1zcGFjaW5nOiAxcHg7IGNvbG9yOiB2YXIoLS10ZXh0LWRpbSk7XHJcbiAgZGlzcGxheTogZmxleDsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyBhbGlnbi1pdGVtczogY2VudGVyO1xyXG59XHJcbi5jb21wb25lbnQtdGFnIHtcclxuICBmb250LWZhbWlseTogJ0RNIE1vbm8nLCBtb25vc3BhY2U7XHJcbiAgZm9udC1zaXplOiAxMHB4OyBjb2xvcjogdmFyKC0tdGV4dC1kaW0pO1xyXG4gIGJhY2tncm91bmQ6IHZhcigtLXNvY2lhbC1iZyk7IHBhZGRpbmc6IDJweCA4cHg7IGJvcmRlci1yYWRpdXM6IDRweDtcclxuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXIpO1xyXG59XHJcblxyXG4vKiDilIDilIAgQ09ERSBCTE9DSyDilIDilIAgKi9cclxuLmNvZGUtYmxvY2sge1xyXG4gIGJhY2tncm91bmQ6IHZhcigtLWRzLWNvZGUtYmcpO1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlcik7XHJcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIG1hcmdpbi10b3A6IDhweDtcclxufVxyXG4uY29kZS1ibG9jay1oZWFkZXIge1xyXG4gIGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICBwYWRkaW5nOiA4cHggMTRweDtcclxuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYm9yZGVyKTtcclxuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LC4wMik7XHJcbn1cclxuaHRtbC5saWdodCAuY29kZS1ibG9jay1oZWFkZXIgeyBiYWNrZ3JvdW5kOiByZ2JhKDEzLDMwLDYwLC4wMik7IH1cclxuLmNvZGUtYmxvY2stbGFuZyB7XHJcbiAgZm9udC1zaXplOiAxMHB4OyBmb250LXdlaWdodDogNzAwOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gIGxldHRlci1zcGFjaW5nOiAxcHg7IGNvbG9yOiB2YXIoLS10ZWFsKTtcclxufVxyXG4uY29kZS1ibG9jayBwcmUge1xyXG4gIHBhZGRpbmc6IDE2cHg7XHJcbiAgZm9udC1mYW1pbHk6ICdETSBNb25vJywgbW9ub3NwYWNlO1xyXG4gIGZvbnQtc2l6ZTogMTJweDtcclxuICBsaW5lLWhlaWdodDogMS43NTtcclxuICBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcbiAgb3ZlcmZsb3cteDogYXV0bztcclxuICB3aGl0ZS1zcGFjZTogcHJlO1xyXG59XHJcbi5jb2RlLWt3IHsgY29sb3I6ICM3ZGQzZmM7IH1cclxuLmNvZGUtc3RyIHsgY29sb3I6ICM4NmVmYWM7IH1cclxuLmNvZGUtdmFsIHsgY29sb3I6ICNmYmJmMjQ7IH1cclxuLmNvZGUtY29tIHsgY29sb3I6IHZhcigtLXRleHQtZGltKTsgZm9udC1zdHlsZTogaXRhbGljOyB9XHJcbi5jb2RlLXZhciB7IGNvbG9yOiB2YXIoLS10ZWFsKTsgfVxyXG5cclxuLyog4pSA4pSAIEFDVFVBTCBCVVRUT05TIOKUgOKUgCAqL1xyXG4uYnRuLXByaW1hcnkge1xyXG4gIHBhZGRpbmc6IDlweCAyMHB4OyBib3JkZXItcmFkaXVzOiA4cHg7XHJcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tdGVhbCksIHZhcigtLWJsdWUpKTtcclxuICBjb2xvcjogI2ZmZjsgZm9udC1zaXplOiAxM3B4OyBmb250LXdlaWdodDogNjAwO1xyXG4gIGN1cnNvcjogcG9pbnRlcjsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyBib3JkZXI6IG5vbmU7XHJcbiAgdHJhbnNpdGlvbjogLjJzOyBmb250LWZhbWlseTogJ0RNIFNhbnMnLCBzYW5zLXNlcmlmO1xyXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDZweDtcclxufVxyXG4uYnRuLXByaW1hcnk6aG92ZXIgeyBvcGFjaXR5Oi45OyB0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMXB4KTsgfVxyXG4uYnRuLWdob3N0IHtcclxuICBwYWRkaW5nOiA5cHggMThweDsgYm9yZGVyLXJhZGl1czogOHB4O1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlcik7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gIGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTsgZm9udC1zaXplOiAxM3B4OyBmb250LXdlaWdodDogNTAwO1xyXG4gIGN1cnNvcjogcG9pbnRlcjsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB0cmFuc2l0aW9uOiAuMnM7XHJcbiAgZm9udC1mYW1pbHk6ICdETSBTYW5zJywgc2Fucy1zZXJpZjsgZGlzcGxheTogaW5saW5lLWZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogNnB4O1xyXG59XHJcbi5idG4tZ2hvc3Q6aG92ZXIgeyBib3JkZXItY29sb3I6IHZhcigtLXRlYWwpOyBjb2xvcjogdmFyKC0tdGVhbCk7IH1cclxuLmJ0bi1sZy1wcmltYXJ5IHtcclxuICBwYWRkaW5nOiAxM3B4IDI4cHg7IGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tdGVhbCksIHZhcigtLWJsdWUpKTtcclxuICBjb2xvcjogI2ZmZjsgZm9udC1zaXplOiAxNXB4OyBmb250LXdlaWdodDogNjAwO1xyXG4gIGN1cnNvcjogcG9pbnRlcjsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyBib3JkZXI6IG5vbmU7XHJcbiAgdHJhbnNpdGlvbjogLjJzOyBmb250LWZhbWlseTogJ0RNIFNhbnMnLCBzYW5zLXNlcmlmO1xyXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDhweDtcclxufVxyXG4uYnRuLWxnLXByaW1hcnk6aG92ZXIgeyB0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMnB4KTsgYm94LXNoYWRvdzowIDEwcHggMjhweCByZ2JhKDAsMTYwLDEzMCwuMyk7IH1cclxuLmJ0bi1sZy1vdXRsaW5lIHtcclxuICBwYWRkaW5nOiAxM3B4IDI4cHg7IGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlcik7XHJcbiAgY29sb3I6IHZhcigtLXRleHQtbXV0ZWQpOyBmb250LXNpemU6IDE1cHg7IGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgY3Vyc29yOiBwb2ludGVyOyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IHRyYW5zaXRpb246IC4ycztcclxuICBmb250LWZhbWlseTogJ0RNIFNhbnMnLCBzYW5zLXNlcmlmOyBkaXNwbGF5OiBpbmxpbmUtZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiA4cHg7XHJcbn1cclxuLmJ0bi1sZy1vdXRsaW5lOmhvdmVyIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS10ZWFsKTsgY29sb3I6IHZhcigtLXRlYWwpOyB9XHJcblxyXG4vKiDilIDilIAgU0VDVElPTiBMQUJFTCAocmVhbCkg4pSA4pSAICovXHJcbi5zZWN0aW9uLWxhYmVsLXByZXZpZXcge1xyXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDhweDtcclxuICBmb250LXNpemU6IDExLjVweDsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgbGV0dGVyLXNwYWNpbmc6IDJweDsgZm9udC13ZWlnaHQ6IDcwMDtcclxuICBwYWRkaW5nOiA1cHggMTJweDsgYm9yZGVyLXJhZGl1czogMTAwcHg7XHJcbiAgY29sb3I6IHZhcigtLXRlYWwpOyBiYWNrZ3JvdW5kOiByZ2JhKDAsMjEyLDE4MCwuMDgpOyBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsMjEyLDE4MCwuMTgpO1xyXG59XHJcbi5zZWN0aW9uLWxhYmVsLXByZXZpZXc6OmJlZm9yZSB7IGNvbnRlbnQ6Jyc7IHdpZHRoOjVweDsgaGVpZ2h0OjVweDsgYm9yZGVyLXJhZGl1czo1MCU7IGJhY2tncm91bmQ6dmFyKC0tdGVhbCk7IGJveC1zaGFkb3c6MCAwIDZweCB2YXIoLS10ZWFsKTsgfVxyXG5odG1sLmxpZ2h0IC5zZWN0aW9uLWxhYmVsLXByZXZpZXcgeyBjb2xvcjojMDA1ZjUwOyBiYWNrZ3JvdW5kOnJnYmEoMCw5NSw4MCwuMDgpOyBib3JkZXItY29sb3I6cmdiYSgwLDk1LDgwLC4yKTsgfVxyXG5cclxuLyog4pSA4pSAIENBUkQgUFJFVklFV1Mg4pSA4pSAICovXHJcbi5jYXJkLXByZXZpZXcge1xyXG4gIGJhY2tncm91bmQ6IHZhcigtLWNhcmQpO1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlcik7XHJcbiAgYm9yZGVyLXJhZGl1czogMTZweDtcclxuICBwYWRkaW5nOiAyNHB4O1xyXG4gIGJveC1zaGFkb3c6IHZhcigtLWNhcmQtc2hhZG93KTtcclxuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIC4zNXMsIGJvcmRlci1jb2xvciAuM3MsIHRyYW5zZm9ybSAuMjVzLCBib3gtc2hhZG93IC4yNXM7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlOyBvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcbi5jYXJkLXByZXZpZXc6aG92ZXIgeyB0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNHB4KTsgYm94LXNoYWRvdzp2YXIoLS1jYXJkLXNoYWRvdy1ob3Zlcik7IGJvcmRlci1jb2xvcjpyZ2JhKDAsMjEyLDE4MCwuMik7IH1cclxuaHRtbC5saWdodCAuY2FyZC1wcmV2aWV3IHsgYmFja2dyb3VuZDogI2ZmZjsgfVxyXG4uY2FyZC1wcmV2aWV3OjpiZWZvcmUgeyBjb250ZW50OicnOyBwb3NpdGlvbjphYnNvbHV0ZTsgdG9wOjA7IGxlZnQ6MDsgcmlnaHQ6MDsgaGVpZ2h0OjJweDsgYmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoOTBkZWcsdmFyKC0tdGVhbCksdmFyKC0tYmx1ZSkpOyBvcGFjaXR5OjA7IHRyYW5zaXRpb246LjNzOyB9XHJcbi5jYXJkLXByZXZpZXc6aG92ZXI6OmJlZm9yZSB7IG9wYWNpdHk6MTsgfVxyXG5cclxuLyog4pSA4pSAIEJBREdFIFBSRVZJRVdTIOKUgOKUgCAqL1xyXG4uYmFkZ2VzLXJvdyB7IGRpc3BsYXk6IGZsZXg7IGZsZXgtd3JhcDogd3JhcDsgZ2FwOiA4cHg7IH1cclxuLmJhZGdlIHsgZGlzcGxheTppbmxpbmUtZmxleDsgYWxpZ24taXRlbXM6Y2VudGVyOyBnYXA6NnB4OyBwYWRkaW5nOjVweCAxMnB4OyBib3JkZXItcmFkaXVzOjEwMHB4OyBmb250LXNpemU6MTJweDsgZm9udC13ZWlnaHQ6NjAwOyB9XHJcbi5iYWRnZS10ZWFsIHsgYmFja2dyb3VuZDpyZ2JhKDAsMjEyLDE4MCwuMDgpOyBib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwyMTIsMTgwLC4yMik7IGNvbG9yOnZhcigtLXRlYWwpOyB9XHJcbmh0bWwubGlnaHQgLmJhZGdlLXRlYWwgeyBjb2xvcjojMDA1ZjUwOyBiYWNrZ3JvdW5kOnJnYmEoMCw5NSw4MCwuMDgpOyBib3JkZXItY29sb3I6cmdiYSgwLDk1LDgwLC4yKTsgfVxyXG4uYmFkZ2UtYmx1ZSB7IGJhY2tncm91bmQ6cmdiYSgyNiwxMDgsMjQ2LC4xKTsgYm9yZGVyOjFweCBzb2xpZCByZ2JhKDI2LDEwOCwyNDYsLjI1KTsgY29sb3I6dmFyKC0tYmx1ZSk7IH1cclxuLmJhZGdlLWdyZWVuIHsgYmFja2dyb3VuZDpyZ2JhKDE2LDE4NSwxMjksLjEpOyBib3JkZXI6MXB4IHNvbGlkIHJnYmEoMTYsMTg1LDEyOSwuMjUpOyBjb2xvcjojMTBiOTgxOyB9XHJcbmh0bWwubGlnaHQgLmJhZGdlLWdyZWVuIHsgY29sb3I6IzA1OTY2OTsgfVxyXG4uYmFkZ2UtbmV1dHJhbCB7IGJhY2tncm91bmQ6dmFyKC0tc29jaWFsLWJnKTsgYm9yZGVyOjFweCBzb2xpZCB2YXIoLS1ib3JkZXIpOyBjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTsgfVxyXG4uYmFkZ2UtZG90OjpiZWZvcmUgeyBjb250ZW50OicnOyB3aWR0aDo1cHg7IGhlaWdodDo1cHg7IGJvcmRlci1yYWRpdXM6NTAlOyBiYWNrZ3JvdW5kOmN1cnJlbnRDb2xvcjsgYm94LXNoYWRvdzowIDAgNXB4IGN1cnJlbnRDb2xvcjsgYW5pbWF0aW9uOmJsaW5rIDJzIGluZmluaXRlOyB9XHJcblxyXG4vKiDilIDilIAgTkFWIFBSRVZJRVcg4pSA4pSAICovXHJcbi5uYXYtcHJldmlldyB7XHJcbiAgYmFja2dyb3VuZDogdmFyKC0tbmF2LWJnKTtcclxuICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMjBweCk7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyKTtcclxuICBib3JkZXItcmFkaXVzOiAxMnB4O1xyXG4gIHBhZGRpbmc6IDAgMjRweDtcclxuICBoZWlnaHQ6IDU2cHg7XHJcbiAgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG59XHJcblxyXG4vKiDilIDilIAgTE9HTyBTSE9XQ0FTRSDilIDilIAgKi9cclxuLmxvZ28tZ3JpZCB7IGRpc3BsYXk6ZmxleDsgZ2FwOjMycHg7IGZsZXgtd3JhcDp3cmFwOyBhbGlnbi1pdGVtczpjZW50ZXI7IH1cclxuLmxvZ28tYm94IHtcclxuICBwYWRkaW5nOiAyNHB4IDMycHg7XHJcbiAgYm9yZGVyLXJhZGl1czogMTRweDtcclxuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXIpO1xyXG4gIGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogMTBweDtcclxuICBiYWNrZ3JvdW5kOiB2YXIoLS1iZzMpO1xyXG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgLjNzO1xyXG59XHJcbmh0bWwubGlnaHQgLmxvZ28tYm94IHsgYmFja2dyb3VuZDogI2ZmZjsgfVxyXG4ubG9nby1ib3guZGFyay1iZyB7IGJhY2tncm91bmQ6ICMwNjBiMTQ7IGJvcmRlci1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuMSk7IH1cclxuLmxvZ28td29yZG1hcmsgeyBmb250LWZhbWlseTonU3luZScsc2Fucy1zZXJpZjsgZm9udC13ZWlnaHQ6ODAwOyBmb250LXNpemU6MjBweDsgY29sb3I6dmFyKC0tdGV4dCk7IGxldHRlci1zcGFjaW5nOi0wLjVweDsgfVxyXG4ubG9nby13b3JkbWFyayBzcGFuIHsgY29sb3I6dmFyKC0tdGVhbCk7IH1cclxuXHJcbi8qIOKUgOKUgCBJQ09OL0dSSUQgaGVscGVyIOKUgOKUgCAqL1xyXG4udHdvLWNvbCB7IGRpc3BsYXk6Z3JpZDsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmciAxZnI7IGdhcDoxNnB4OyB9XHJcbi50aHJlZS1jb2wgeyBkaXNwbGF5OmdyaWQ7IGdyaWQtdGVtcGxhdGUtY29sdW1uczoxZnIgMWZyIDFmcjsgZ2FwOjE2cHg7IH1cclxuLmRpdmlkZXIgeyBoZWlnaHQ6MXB4OyBiYWNrZ3JvdW5kOnZhcigtLWJvcmRlcik7IG1hcmdpbjozMnB4IDA7IH1cclxuLmRzLW5vdGUge1xyXG4gIHBhZGRpbmc6IDEycHggMTZweDtcclxuICBiYWNrZ3JvdW5kOiByZ2JhKDAsMjEyLDE4MCwuMDQpO1xyXG4gIGJvcmRlci1sZWZ0OiAzcHggc29saWQgdmFyKC0tdGVhbCk7XHJcbiAgYm9yZGVyLXJhZGl1czogMCA4cHggOHB4IDA7XHJcbiAgZm9udC1zaXplOiAxM3B4OyBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7IGxpbmUtaGVpZ2h0OiAxLjY7XHJcbiAgbWFyZ2luLXRvcDogMTZweDtcclxufVxyXG4uZHMtd2FybiB7XHJcbiAgcGFkZGluZzogMTJweCAxNnB4O1xyXG4gIGJhY2tncm91bmQ6IHJnYmEoMjQ1LDE1OCwxMSwuMDUpO1xyXG4gIGJvcmRlci1sZWZ0OiAzcHggc29saWQgI2Y1OWUwYjtcclxuICBib3JkZXItcmFkaXVzOiAwIDhweCA4cHggMDtcclxuICBmb250LXNpemU6IDEzcHg7IGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuICBtYXJnaW4tdG9wOiAxNnB4O1xyXG59XHJcbi5kcy13YXJuIHN0cm9uZyB7IGNvbG9yOiAjZjU5ZTBiOyB9XHJcblxyXG4vKiDilIDilIAgU0hBRE9XIFNIT1dDQVNFIOKUgOKUgCAqL1xyXG4uc2hhZG93LWdyaWQgeyBkaXNwbGF5OmdyaWQ7IGdyaWQtdGVtcGxhdGUtY29sdW1uczoxZnIgMWZyOyBnYXA6MjBweDsgfVxyXG4uc2hhZG93LWJveCB7XHJcbiAgYmFja2dyb3VuZDogdmFyKC0tYmczKTtcclxuICBib3JkZXItcmFkaXVzOiAxNHB4O1xyXG4gIHBhZGRpbmc6IDI0cHg7XHJcbiAgZGlzcGxheTpmbGV4OyBmbGV4LWRpcmVjdGlvbjpjb2x1bW47IGdhcDo4cHg7XHJcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAuM3M7XHJcbn1cclxuaHRtbC5saWdodCAuc2hhZG93LWJveCB7IGJhY2tncm91bmQ6ICNmZmY7IH1cclxuLnNoYWRvdy1ib3gtbmFtZSB7IGZvbnQtc2l6ZToxMnB4OyBmb250LXdlaWdodDo3MDA7IGNvbG9yOnZhcigtLXRleHQtbXV0ZWQpOyB0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7IGxldHRlci1zcGFjaW5nOjFweDsgfVxyXG4uc2hhZG93LWJveC1wcmV2aWV3IHtcclxuICB3aWR0aDogMTAwJTsgaGVpZ2h0OiA2MHB4OyBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG4gIGJhY2tncm91bmQ6IHZhcigtLWJnMyk7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyKTtcclxuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIC4zcztcclxufVxyXG5odG1sLmxpZ2h0IC5zaGFkb3ctYm94LXByZXZpZXcgeyBiYWNrZ3JvdW5kOiAjZjhmYWZjOyB9XHJcbi5zaGFkb3ctYm94LXByZXZpZXcuczEgeyBib3gtc2hhZG93OiB2YXIoLS1jYXJkLXNoYWRvdyk7IH1cclxuLnNoYWRvdy1ib3gtcHJldmlldy5zMiB7IGJveC1zaGFkb3c6IHZhcigtLWNhcmQtc2hhZG93LWhvdmVyKTsgfVxyXG4uc2hhZG93LWJveC1wcmV2aWV3LnMzIHsgYm94LXNoYWRvdzogMCAwIDQwcHggLTEwcHggcmdiYSgwLDIxMiwxODAsLjIpOyB9XHJcbi5zaGFkb3ctYm94LXByZXZpZXcuczQgeyBib3gtc2hhZG93OiAwIDAgNjBweCAtMjBweCByZ2JhKDAsMjEyLDE4MCwuMTUpLCAwIDJweCBzb2xpZCB2YXIoLS10ZWFsKTsgYm9yZGVyOiAycHggc29saWQgdmFyKC0tdGVhbCk7IH1cclxuXHJcbi8qIOKUgOKUgCBSRVNQT05TSVZFIOKUgOKUgCAqL1xyXG5AbWVkaWEobWF4LXdpZHRoOjkwMHB4KSB7XHJcbiAgLnNpZGViYXIgeyBkaXNwbGF5Om5vbmU7IH1cclxuICAucGFnZS1zaWRlYmFyLW1haW4geyBtYXJnaW4tbGVmdDogMDsgfVxyXG4gIC5kcy1zZWN0aW9uIHsgcGFkZGluZzogNDBweCAyNHB4OyB9XHJcbiAgLmRzLWhlcm8geyBwYWRkaW5nOiA2MHB4IDI0cHggNDBweDsgfVxyXG4gIC50d28tY29sLCAudGhyZWUtY29sIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmcjsgfVxyXG4gIC5zaGFkb3ctZ3JpZCB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczoxZnI7IH1cclxuICAuY29tcG9uZW50LWdyaWQgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyOyB9XHJcbn0iLCIvKiDilIDilIAgUkVTRVQgJiBCQVNFIOKUgOKUgCAqL1xyXG4qIHsgbWFyZ2luOiAwOyBwYWRkaW5nOiAwOyBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XHJcbmh0bWwgeyBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDsgfVxyXG5ib2R5IHtcclxuICBiYWNrZ3JvdW5kOiB2YXIoLS1iZyk7IGNvbG9yOiB2YXIoLS10ZXh0KTtcclxuICBmb250LWZhbWlseTogJ0RNIFNhbnMnLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDE2cHg7IGxpbmUtaGVpZ2h0OiAxLjY7XHJcbiAgb3ZlcmZsb3cteDogaGlkZGVuOyB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIC4zNXMsIGNvbG9yIC4zNXM7IHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5ib2R5OjphZnRlciB7XHJcbiAgY29udGVudDogJyc7IHBvc2l0aW9uOiBmaXhlZDsgaW5zZXQ6IDA7IHotaW5kZXg6IC0xO1xyXG4gIGJhY2tncm91bmQ6IHZhcigtLWJvZHktZ3JhZGllbnQpOyB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIC4zNXM7XHJcbn1cclxuYm9keTo6YmVmb3JlIHtcclxuICBjb250ZW50OiAnJzsgcG9zaXRpb246IGZpeGVkOyBpbnNldDogMDtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHZpZXdCb3g9JzAgMCAyNTYgMjU2JyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNFJTNDZmlsdGVyIGlkPSduJyUzRSUzQ2ZlVHVyYnVsZW5jZSB0eXBlPSdmcmFjdGFsTm9pc2UnIGJhc2VGcmVxdWVuY3k9JzAuOScgbnVtT2N0YXZlcz0nNCcgc3RpdGNoVGlsZXM9J3N0aXRjaCcvJTNFJTNDL2ZpbHRlciUzRSUzQ3JlY3Qgd2lkdGg9JzEwMCUyNScgaGVpZ2h0PScxMDAlMjUnIGZpbHRlcj0ndXJsKCUyM24pJyBvcGFjaXR5PScwLjA0Jy8lM0UlM0Mvc3ZnJTNFXCIpO1xyXG4gIHBvaW50ZXItZXZlbnRzOiBub25lOyB6LWluZGV4OiAwOyBvcGFjaXR5OiAuMzU7IG1peC1ibGVuZC1tb2RlOiBvdmVybGF5O1xyXG59XHJcbmh0bWwubGlnaHQgYm9keTo6YmVmb3JlIHsgb3BhY2l0eTogLjU7IG1peC1ibGVuZC1tb2RlOiBtdWx0aXBseTsgfVxyXG5oMSwgaDIsIGgzLCBoNCB7IGZvbnQtZmFtaWx5OiAnU3luZScsIHNhbnMtc2VyaWY7IH1cclxuXHJcblxyXG46OnZpZXctdHJhbnNpdGlvbi1vbGQocm9vdCksXHJcbjo6dmlldy10cmFuc2l0aW9uLW5ldyhyb290KSB7XHJcblx0YW5pbWF0aW9uOiBmYWRlIDMwMG1zIGVhc2U7XHJcbn1cclxuXHJcbi8qIOKUgOKUgCBTQ1JPTEwgUFJPR1JFU1Mg4pSA4pSAICovXHJcbi5zY3JvbGwtcHJvZ3Jlc3Mge1xyXG4gIHBvc2l0aW9uOiBmaXhlZDsgdG9wOiAwOyBsZWZ0OiAwOyBoZWlnaHQ6IDJweDsgd2lkdGg6IDA7IHotaW5kZXg6IDEwMTtcclxuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHZhcigtLXRlYWwpLCB2YXIoLS1ibHVlKSk7XHJcbiAgdHJhbnNpdGlvbjogd2lkdGggLjA1cyBsaW5lYXI7IGJveC1zaGFkb3c6IDAgMCA4cHggcmdiYSgwLDIxMiwxODAsLjYpO1xyXG59XHJcblxyXG4vKiDilIDilIAgR1JJRCBCRyDilIDilIAgKi9cclxuLmdyaWQtYmcge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTsgaW5zZXQ6IDA7IG92ZXJmbG93OiBoaWRkZW47IHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudChyZ2JhKDAsMjEyLDE4MCwwLjA0KSAxcHgsIHRyYW5zcGFyZW50IDFweCksXHJcbiAgICBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHJnYmEoMCwyMTIsMTgwLDAuMDQpIDFweCwgdHJhbnNwYXJlbnQgMXB4KTtcclxuICBiYWNrZ3JvdW5kLXNpemU6IDYwcHggNjBweDtcclxuICBtYXNrLWltYWdlOiByYWRpYWwtZ3JhZGllbnQoZWxsaXBzZSA4MCUgNjAlIGF0IDUwJSAwJSwgYmxhY2sgMCUsIHRyYW5zcGFyZW50IDcwJSk7XHJcbn1cclxuXHJcbi8qIOKUgOKUgCBMQVlPVVQg4pSA4pSAICovXHJcbnNlY3Rpb24geyBwb3NpdGlvbjogcmVsYXRpdmU7IHotaW5kZXg6IDE7IH1cclxuLmNvbnRhaW5lciB7IG1heC13aWR0aDogMTIwMHB4OyBtYXJnaW46IDAgYXV0bzsgcGFkZGluZzogMCA0OHB4OyB9XHJcblxyXG4vKiDilIDilIAgU0VDVElPTiBMQUJFTCDilIDilIAgKi9cclxuLnNlY3Rpb24tbGFiZWwge1xyXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDhweDtcclxuICBmb250LXNpemU6IDExLjVweDsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgbGV0dGVyLXNwYWNpbmc6IDJweDsgZm9udC13ZWlnaHQ6IDcwMDtcclxuICBwYWRkaW5nOiA1cHggMTJweDsgYm9yZGVyLXJhZGl1czogMTAwcHg7XHJcbiAgY29sb3I6IHZhcigtLXRlYWwpOyBiYWNrZ3JvdW5kOiByZ2JhKDAsMjEyLDE4MCwuMDgpOyBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsMjEyLDE4MCwuMTgpO1xyXG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbn1cclxuLnNlY3Rpb24tbGFiZWw6OmJlZm9yZSB7XHJcbiAgY29udGVudDogJyc7IHdpZHRoOiA1cHg7IGhlaWdodDogNXB4OyBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgYmFja2dyb3VuZDogdmFyKC0tdGVhbCk7IGJveC1zaGFkb3c6IDAgMCA2cHggdmFyKC0tdGVhbCk7IGZsZXgtc2hyaW5rOiAwO1xyXG59XHJcbmh0bWwubGlnaHQgLnNlY3Rpb24tbGFiZWwgeyBjb2xvcjogIzAwNWY1MDsgYmFja2dyb3VuZDogcmdiYSgwLDk1LDgwLC4wOCk7IGJvcmRlci1jb2xvcjogcmdiYSgwLDk1LDgwLC4yKTsgfVxyXG5odG1sLmxpZ2h0IC5zZWN0aW9uLWxhYmVsOjpiZWZvcmUgeyBiYWNrZ3JvdW5kOiAjMDA1ZjUwOyBib3gtc2hhZG93OiAwIDAgNnB4IHJnYmEoMCw5NSw4MCwuNSk7IH1cclxuXHJcbi8qIOKUgOKUgCBTRUNUSU9OIFRZUE9HUkFQSFkg4pSA4pSAICovXHJcbi5zZWN0aW9uLXRpdGxlIHtcclxuICBmb250LXNpemU6IGNsYW1wKDMwcHgsMy4ydncsNDZweCk7IGZvbnQtd2VpZ2h0OiA4MDA7IGxldHRlci1zcGFjaW5nOiAtMS4ycHg7XHJcbiAgbGluZS1oZWlnaHQ6IDEuMDg7IG1hcmdpbi1ib3R0b206IDE4cHg7IHRleHQtd3JhcDogYmFsYW5jZTtcclxufVxyXG5odG1sOm5vdCgubGlnaHQpIC5zZWN0aW9uLXRpdGxlIHsgdGV4dC1zaGFkb3c6IDAgMXB4IDAgcmdiYSgyNTUsMjU1LDI1NSwuMDMpOyB9XHJcbi5zZWN0aW9uLXN1YiB7IGZvbnQtc2l6ZTogMTZweDsgY29sb3I6IHZhcigtLXRleHQtbXV0ZWQpOyBmb250LXdlaWdodDogMzAwOyBtYXgtd2lkdGg6IDU2MHB4OyBsaW5lLWhlaWdodDogMS43OyB0ZXh0LXdyYXA6IHByZXR0eTsgfVxyXG5cclxuLyog4pSA4pSAIExBWU9VVCBIRUxQRVJTIOKUgOKUgCAqL1xyXG4uY2VudGVyIHsgdGV4dC1hbGlnbjogY2VudGVyOyB9XHJcbi5jZW50ZXIgLnNlY3Rpb24tc3ViIHsgbWFyZ2luOiAwIGF1dG87IH1cclxuLmhlYWRlci1jZW50ZXIgeyBtYXJnaW4tYm90dG9tOiA1NnB4OyB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cclxuLmhlYWRlci1jZW50ZXIgLnNlY3Rpb24tc3ViIHsgbWFyZ2luOiAwIGF1dG87IH1cclxuXHJcbi8qIOKUgOKUgCBCVE4tTEcg4pSA4pSAICovXHJcbi5idG4tbGcge1xyXG4gIHBhZGRpbmc6IDEzcHggMjhweDsgYm9yZGVyLXJhZGl1czogMTBweDsgZm9udC1zaXplOiAxNXB4OyBmb250LXdlaWdodDogNjAwO1xyXG4gIGZvbnQtZmFtaWx5OiAnRE0gU2FucycsIHNhbnMtc2VyaWY7IGN1cnNvcjogcG9pbnRlcjsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyBib3JkZXI6IG5vbmU7XHJcbiAgdHJhbnNpdGlvbjogLjI1czsgZGlzcGxheTogaW5saW5lLWZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogOHB4O1xyXG59XHJcbi5idG4tbGcucHJpbWFyeSB7IGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsdmFyKC0tdGVhbCksdmFyKC0tYmx1ZSkpOyBjb2xvcjogI2ZmZjsgfVxyXG4uYnRuLWxnLnByaW1hcnk6aG92ZXIgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7IGJveC1zaGFkb3c6IDAgMTJweCAzMnB4IC0xMHB4IHJnYmEoMCwxNjAsMTMwLC40NSk7IH1cclxuLmJ0bi1sZy5wcmltYXJ5OmFjdGl2ZSB7IHRyYW5zZm9ybTogc2NhbGUoMC45OCk7IH1cclxuLmJ0bi1sZy5vdXRsaW5lIHsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlcik7IGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTsgfVxyXG4uYnRuLWxnLm91dGxpbmU6aG92ZXIgeyBib3JkZXItY29sb3I6IHZhcigtLXRlYWwpOyBjb2xvcjogdmFyKC0tdGVhbCk7IH1cclxuLmJ0bi1sZy5vdXRsaW5lOmFjdGl2ZSB7IHRyYW5zZm9ybTogc2NhbGUoMC45OCk7IH1cclxuLmJ0bi1sZy5vdXRsaW5lLXdoaXRlIHsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlcik7IGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTsgfVxyXG4uYnRuLWxnLm91dGxpbmUtd2hpdGU6aG92ZXIgeyBib3JkZXItY29sb3I6IHZhcigtLXRlYWwpOyBjb2xvcjogdmFyKC0tdGVhbCk7IH1cclxuXHJcbi8qIOKUgOKUgCBGQURFLVVQIEFOSU1BVElPTlMg4pSA4pSAICovXHJcbi5mYWRlLXVwIHsgb3BhY2l0eTogMC4wMTsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDI0cHgpOyB0cmFuc2l0aW9uOiBvcGFjaXR5IC42cyBlYXNlLCB0cmFuc2Zvcm0gLjdzIGN1YmljLWJlemllciguMiwuNjUsLjI1LDEpOyB9XHJcbi5mYWRlLXVwLnZpc2libGUgeyBvcGFjaXR5OiAxOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cclxuLnN0YWdnZXIgPiAuZmFkZS11cC52aXNpYmxlOm50aC1jaGlsZCgxKSB7IHRyYW5zaXRpb24tZGVsYXk6IDBzOyB9XHJcbi5zdGFnZ2VyID4gLmZhZGUtdXAudmlzaWJsZTpudGgtY2hpbGQoMikgeyB0cmFuc2l0aW9uLWRlbGF5OiAuMDhzOyB9XHJcbi5zdGFnZ2VyID4gLmZhZGUtdXAudmlzaWJsZTpudGgtY2hpbGQoMykgeyB0cmFuc2l0aW9uLWRlbGF5OiAuMTZzOyB9XHJcbi5zdGFnZ2VyID4gLmZhZGUtdXAudmlzaWJsZTpudGgtY2hpbGQoNCkgeyB0cmFuc2l0aW9uLWRlbGF5OiAuMjRzOyB9XHJcbi5zdGFnZ2VyID4gLmZhZGUtdXAudmlzaWJsZTpudGgtY2hpbGQoNSkgeyB0cmFuc2l0aW9uLWRlbGF5OiAuMzJzOyB9XHJcbi5zdGFnZ2VyID4gLmZhZGUtdXAudmlzaWJsZTpudGgtY2hpbGQoNikgeyB0cmFuc2l0aW9uLWRlbGF5OiAuNHM7IH1cclxuXHJcbi8qIOKUgOKUgCBTSEFSRUQgVFJJQUwgQ0FSRCDilIDilIAgKi9cclxuLnRyaWFsLWNhcmQge1xyXG4gIGJhY2tncm91bmQ6IHZhcigtLWNhcmQpOyBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS10ZWFsKTtcclxuICBib3JkZXItcmFkaXVzOiAyMHB4OyBwYWRkaW5nOiA0OHB4O1xyXG4gIGJveC1zaGFkb3c6IHZhcigtLWNhcmQtc2hhZG93KSwgMCAwIDQwcHggLTIwcHggcmdiYSgwLDIxMiwxODAsLjE1KTtcclxuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIC4zNXMsIGJveC1zaGFkb3cgLjM1cztcclxufVxyXG4udHJpYWwtY2FyZC1ncmlkIHtcclxuICBkaXNwbGF5OiBncmlkO1xyXG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcclxuICBnYXA6IDQ4cHg7XHJcbn1cclxuaHRtbC5saWdodCAudHJpYWwtY2FyZCB7IGJhY2tncm91bmQ6ICNmZmY7IH1cclxuLnRyaWFsLWJhZGdlIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiA4cHg7IHBhZGRpbmc6IDRweCAxMnB4O1xyXG4gIGJvcmRlci1yYWRpdXM6IDIwcHg7IGJhY2tncm91bmQ6IHJnYmEoMCwyMTIsMTgwLC4xKTsgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLDIxMiwxODAsLjI1KTtcclxuICBmb250LXNpemU6IDExcHg7IGZvbnQtd2VpZ2h0OiA3MDA7IGNvbG9yOiB2YXIoLS10ZWFsKTsgbGV0dGVyLXNwYWNpbmc6IDFweDtcclxuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBtYXJnaW4tYm90dG9tOiAxNnB4O1xyXG59XHJcbmh0bWwubGlnaHQgLnRyaWFsLWJhZGdlIHsgY29sb3I6ICMwMDVmNTA7IGJhY2tncm91bmQ6IHJnYmEoMCw5NSw4MCwuMDgpOyBib3JkZXItY29sb3I6IHJnYmEoMCw5NSw4MCwuMik7IH1cclxuLnRyaWFsLWNhcmQgaDMgeyBmb250LXNpemU6IDI2cHg7IGZvbnQtd2VpZ2h0OiA4MDA7IGxldHRlci1zcGFjaW5nOiAtLjVweDsgbWFyZ2luLWJvdHRvbTogMTJweDsgfVxyXG4udHJpYWwtY2FyZCBwIHsgZm9udC1zaXplOiAxNXB4OyBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7IG1hcmdpbi1ib3R0b206IDIwcHg7IGxpbmUtaGVpZ2h0OiAxLjY1OyB9XHJcbi50cmlhbC1jaGVja2xpc3QgeyBsaXN0LXN0eWxlOiBub25lOyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBnYXA6IDEwcHg7IG1hcmdpbi1ib3R0b206IDI0cHg7IH1cclxuLnRyaWFsLWNoZWNrbGlzdCBsaSB7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyBnYXA6IDEwcHg7IGZvbnQtc2l6ZTogMTRweDsgY29sb3I6IHZhcigtLXRleHQtbXV0ZWQpOyB9XHJcbi50cmlhbC1jaGVja2xpc3QgbGkgc3ZnIHsgZmxleC1zaHJpbms6IDA7IG1hcmdpbi10b3A6IDJweDsgfVxyXG4udHJpYWwtbWV0YSB7IGRpc3BsYXk6IGZsZXg7IGZsZXgtd3JhcDogd3JhcDsgZ2FwOiAxMHB4OyBtYXJnaW4tdG9wOiA0cHg7IH1cclxuLnRyaWFsLW1ldGEtaXRlbSB7IGZvbnQtc2l6ZTogMTJweDsgY29sb3I6IHZhcigtLXRleHQtZGltKTsgcGFkZGluZzogNHB4IDEwcHg7IGJvcmRlci1yYWRpdXM6IDZweDsgYmFja2dyb3VuZDogdmFyKC0tc29jaWFsLWJnKTsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyKTsgfVxyXG4udHJpYWwtYWN0aW9ucyB7IGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGdhcDogMTJweDsgfVxyXG4udHJpYWwtYWN0aW9ucyAuYnRuLWxnIHsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cclxuXHJcbi8qIOKUgOKUgCBTSEFSRUQgRk9STSBDT01QT05FTlRTIOKUgOKUgCAqL1xyXG4uZm9ybS1pbnB1dCB7XHJcbiAgcGFkZGluZzogMTJweCAxNnB4OyBib3JkZXItcmFkaXVzOiAxMHB4OyBiYWNrZ3JvdW5kOiB2YXIoLS1pbnB1dC1iZyk7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyKTsgY29sb3I6IHZhcigtLXRleHQpOyBmb250LXNpemU6IDE0cHg7XHJcbiAgZm9udC1mYW1pbHk6ICdETSBTYW5zJywgc2Fucy1zZXJpZjsgb3V0bGluZTogbm9uZTsgdHJhbnNpdGlvbjogLjJzOyB3aWR0aDogMTAwJTtcclxufVxyXG4uZm9ybS1pbnB1dDpmb2N1cyB7IGJvcmRlci1jb2xvcjogcmdiYSgwLDIxMiwxODAsLjQpOyB9XHJcbi5mb3JtLWlucHV0OjpwbGFjZWhvbGRlciB7IGNvbG9yOiB2YXIoLS10ZXh0LWRpbSk7IH1cclxudGV4dGFyZWEuZm9ybS1pbnB1dCB7IHJlc2l6ZTogdmVydGljYWw7IG1pbi1oZWlnaHQ6IDkwcHg7IH1cclxuLmZvcm0tZnVsbCB7IGdyaWQtY29sdW1uOiAxLy0xOyB9XHJcbi5mb3JtLWNoZWNrIHsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IGdhcDogMTBweDsgY3Vyc29yOiBwb2ludGVyOyB9XHJcbi5mb3JtLWNoZWNrIGlucHV0IHsgd2lkdGg6IDE2cHg7IGhlaWdodDogMTZweDsgYWNjZW50LWNvbG9yOiB2YXIoLS10ZWFsKTsgY3Vyc29yOiBwb2ludGVyOyBmbGV4LXNocmluazogMDsgbWFyZ2luLXRvcDogMnB4OyB9XHJcbi5mb3JtLWNoZWNrLWxhYmVsIHsgZm9udC1zaXplOiAxMi41cHg7IGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTsgbGluZS1oZWlnaHQ6IDEuNTsgfVxyXG4uZm9ybS1jaGVjay1sYWJlbCBhIHsgY29sb3I6IHZhcigtLXRlYWwpOyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cclxuLmZvcm0tc3VibWl0IHtcclxuICB3aWR0aDogMTAwJTsgcGFkZGluZzogMTRweDsgYm9yZGVyLXJhZGl1czogMTJweDtcclxuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLHZhcigtLXRlYWwpLHZhcigtLWJsdWUpKTsgY29sb3I6ICNmZmY7XHJcbiAgZm9udC1zaXplOiAxNXB4OyBmb250LXdlaWdodDogNzAwOyBib3JkZXI6IG5vbmU7IGN1cnNvcjogcG9pbnRlcjtcclxuICBmb250LWZhbWlseTogJ0RNIFNhbnMnLCBzYW5zLXNlcmlmOyB0cmFuc2l0aW9uOiAuMnM7XHJcbn1cclxuLmZvcm0tc3VibWl0OmhvdmVyIHsgb3BhY2l0eTogLjk7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTsgfVxyXG4uZm9ybS1zdWJtaXQ6YWN0aXZlIHsgdHJhbnNmb3JtOiBzY2FsZSgwLjk5KTsgfVxyXG4uZm9ybS1zdWNjZXNzIHsgZGlzcGxheTogbm9uZTsgcGFkZGluZzogMjBweDsgYmFja2dyb3VuZDogcmdiYSgwLDIxMiwxODAsLjA2KTsgYm9yZGVyLXJhZGl1czogMTJweDsgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLDIxMiwxODAsLjIpOyB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cclxuLmZvcm0tc3VjY2Vzcy5zaG93IHsgZGlzcGxheTogYmxvY2s7IH1cclxuLmZvcm0tc3VjY2Vzcy1pY29uIHsgZm9udC1zaXplOiAzMnB4OyBtYXJnaW4tYm90dG9tOiA4cHg7IH1cclxuLmZvcm0tc3VjY2VzcyBwIHsgZm9udC1zaXplOiAxNXB4OyBjb2xvcjogdmFyKC0tdGVhbCk7IGZvbnQtd2VpZ2h0OiA2MDA7IH1cclxuIiwiLyog4pSA4pSAIE5BViDilIDilIAgKi9cclxuI21haW5OYXYge1xyXG4gIHBvc2l0aW9uOiBmaXhlZDsgdG9wOiAwOyBsZWZ0OiAwOyByaWdodDogMDsgei1pbmRleDogMTAwO1xyXG4gIGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICBwYWRkaW5nOiAwIDQ4cHg7IGhlaWdodDogNjRweDtcclxuICBiYWNrZ3JvdW5kOiB2YXIoLS1uYXYtYmcpO1xyXG4gIGJhY2tkcm9wLWZpbHRlcjogYmx1cigxNHB4KSBzYXR1cmF0ZSgxLjIpOyAtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjogYmx1cigxNHB4KSBzYXR1cmF0ZSgxLjIpO1xyXG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIC4zNXMsIGJvcmRlci1jb2xvciAuMzVzLCBib3gtc2hhZG93IC4zNXM7XHJcbn1cclxuI21haW5OYXYuc2Nyb2xsZWQge1xyXG4gIGJhY2tncm91bmQ6IHZhcigtLW5hdi1iZy1zY3JvbGxlZCk7XHJcbiAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDIycHgpIHNhdHVyYXRlKDEuNCk7IC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiBibHVyKDIycHgpIHNhdHVyYXRlKDEuNCk7XHJcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdmFyKC0tYm9yZGVyKTsgYm94LXNoYWRvdzogMCA4cHggMjRweCAtMTJweCByZ2JhKDAsMCwwLDAuMyk7XHJcbn1cclxuI21haW5OYXYuc2Nyb2xsZWQ6OmJlZm9yZSB7XHJcbiAgY29udGVudDogJyc7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAwOyBsZWZ0OiAwOyByaWdodDogMDsgaGVpZ2h0OiAxcHg7XHJcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCB0cmFuc3BhcmVudCAwJSwgcmdiYSgwLDIxMiwxODAsLjQ1KSAzMCUsIHJnYmEoMjYsMTA4LDI0NiwuNDUpIDcwJSwgdHJhbnNwYXJlbnQgMTAwJSk7XHJcbn1cclxuXHJcbi8qIOKUgOKUgCBMT0dPIOKUgOKUgCAqL1xyXG4ubmF2LWxvZ28geyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDEwcHg7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgZmxleC1zaHJpbms6IDA7IH1cclxuLm5hdi1sb2dvLWljb24geyB3aWR0aDogMzhweDsgaGVpZ2h0OiAzOHB4OyBmbGV4LXNocmluazogMDsgfVxyXG4ubmF2LWxvZ28td29yZG1hcmsge1xyXG4gIGZvbnQtZmFtaWx5OiAnU3luZScsIHNhbnMtc2VyaWY7IGZvbnQtd2VpZ2h0OiA4MDA7IGZvbnQtc2l6ZTogMjBweDtcclxuICBjb2xvcjogdmFyKC0tdGV4dCk7IGxldHRlci1zcGFjaW5nOiAtMC41cHg7IHRyYW5zaXRpb246IGNvbG9yIC4zNXM7IHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbn1cclxuLm5hdi1sb2dvLXdvcmRtYXJrIHNwYW4geyBjb2xvcjogdmFyKC0tdGVhbCk7IH1cclxuLm5hdi1sb2dvOmhvdmVyIC5uYXYtbG9nby13b3JkbWFyayB7IGNvbG9yOiB2YXIoLS10ZWFsKTsgfVxyXG5cclxuLyog4pSA4pSAIE5BViBMSU5LUyDilIDilIAgKi9cclxuLm5hdi1saW5rcyB7IGRpc3BsYXk6IGZsZXg7IGdhcDogMzJweDsgbGlzdC1zdHlsZTogbm9uZTsgfVxyXG4ubmF2LWxpbmtzIGEgeyBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgZm9udC1zaXplOiAxNHB4OyBmb250LXdlaWdodDogNTAwOyB0cmFuc2l0aW9uOiBjb2xvciAuMnM7IH1cclxuLm5hdi1saW5rcyBhOmhvdmVyLCAubmF2LWxpbmtzIGEuYWN0aXZlIHsgY29sb3I6IHZhcigtLXRleHQpOyB9XHJcbi5uYXYtcmlnaHQgeyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDEwcHg7IH1cclxuXHJcbi8qIOKUgOKUgCBCUkVBRENSVU1CIChPQ1IgcGFnZSkg4pSA4pSAICovXHJcbi5uYXYtYnJlYWRjcnVtYiB7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogNnB4OyBmb250LXNpemU6IDEzcHg7IGNvbG9yOiB2YXIoLS10ZXh0LWRpbSk7IH1cclxuLm5hdi1icmVhZGNydW1iIGEgeyBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgdHJhbnNpdGlvbjogY29sb3IgLjJzOyB9XHJcbi5uYXYtYnJlYWRjcnVtYiBhOmhvdmVyIHsgY29sb3I6IHZhcigtLXRlYWwpOyB9XHJcbi5uYXYtYnJlYWRjcnVtYiAuc2VwIHsgb3BhY2l0eTogLjQ7IH1cclxuLm5hdi1icmVhZGNydW1iIC5jdXJyZW50IHsgY29sb3I6IHZhcigtLXRlYWwpOyBmb250LXdlaWdodDogNjAwOyB9XHJcblxyXG4vKiDilIDilIAgQlVSR0VSIOKUgOKUgCAqL1xyXG4uYnVyZ2VyIHtcclxuICBkaXNwbGF5OiBub25lOyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgZ2FwOiA1cHg7XHJcbiAgd2lkdGg6IDM4cHg7IGhlaWdodDogMzhweDsgYmFja2dyb3VuZDogdmFyKC0tc29jaWFsLWJnKTsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyKTtcclxuICBib3JkZXItcmFkaXVzOiA5cHg7IGN1cnNvcjogcG9pbnRlcjsgcGFkZGluZzogOXB4IDhweDsgdHJhbnNpdGlvbjogLjJzOyBmbGV4LXNocmluazogMDtcclxufVxyXG4uYnVyZ2VyIHNwYW4geyBkaXNwbGF5OiBibG9jazsgaGVpZ2h0OiAycHg7IGJvcmRlci1yYWRpdXM6IDJweDsgYmFja2dyb3VuZDogdmFyKC0tdGV4dC1tdXRlZCk7IHRyYW5zaXRpb246IHRyYW5zZm9ybSAuMjVzLCBvcGFjaXR5IC4yczsgfVxyXG4uYnVyZ2VyOmhvdmVyIHNwYW4geyBiYWNrZ3JvdW5kOiB2YXIoLS10ZWFsKTsgfVxyXG4uYnVyZ2VyLm9wZW4gc3BhbjpudGgtY2hpbGQoMSkgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoN3B4KSByb3RhdGUoNDVkZWcpOyB9XHJcbi5idXJnZXIub3BlbiBzcGFuOm50aC1jaGlsZCgyKSB7IG9wYWNpdHk6IDA7IH1cclxuLmJ1cmdlci5vcGVuIHNwYW46bnRoLWNoaWxkKDMpIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC03cHgpIHJvdGF0ZSgtNDVkZWcpOyB9XHJcblxyXG4vKiDilIDilIAgTU9CSUxFIERSQVdFUiDilIDilIAgKi9cclxuLm1vYmlsZS1kcmF3ZXIge1xyXG4gIHBvc2l0aW9uOiBmaXhlZDsgdG9wOiA2NHB4OyBsZWZ0OiAwOyByaWdodDogMDsgei1pbmRleDogOTk7XHJcbiAgYmFja2dyb3VuZDogdmFyKC0tbmF2LWJnLXNjcm9sbGVkKTsgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDIycHgpOyAtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjogYmx1cigyMnB4KTtcclxuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYm9yZGVyKTsgcGFkZGluZzogMCAyMHB4O1xyXG4gIGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGdhcDogNHB4O1xyXG4gIG1heC1oZWlnaHQ6IDA7IG9wYWNpdHk6IDA7IG92ZXJmbG93OiBoaWRkZW47XHJcbiAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAuMzVzIGVhc2UsIG9wYWNpdHkgLjI1cyBlYXNlLCBwYWRkaW5nIC4zNXMgZWFzZTtcclxuICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxufVxyXG4ubW9iaWxlLWRyYXdlci5vcGVuIHsgbWF4LWhlaWdodDogNTAwcHg7IG9wYWNpdHk6IDE7IHBhZGRpbmc6IDE2cHggMjBweCAyNHB4OyBwb2ludGVyLWV2ZW50czogYXV0bzsgfVxyXG4ubW9iaWxlLWRyYXdlciBhIHsgZGlzcGxheTogYmxvY2s7IHBhZGRpbmc6IDEycHggMTZweDsgYm9yZGVyLXJhZGl1czogMTBweDsgY29sb3I6IHZhcigtLXRleHQtbXV0ZWQpOyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IGZvbnQtc2l6ZTogMTVweDsgZm9udC13ZWlnaHQ6IDUwMDsgdHJhbnNpdGlvbjogLjE1czsgfVxyXG4ubW9iaWxlLWRyYXdlciBhOmhvdmVyIHsgYmFja2dyb3VuZDogcmdiYSgwLDIxMiwxODAsLjA2KTsgY29sb3I6IHZhcigtLXRlYWwpOyB9XHJcbi5tb2JpbGUtZHJhd2VyLWRpdmlkZXIgeyBoZWlnaHQ6IDFweDsgYmFja2dyb3VuZDogdmFyKC0tYm9yZGVyKTsgbWFyZ2luOiA4cHggMDsgfVxyXG4ubW9iaWxlLWRyYXdlci1hY3Rpb25zIHsgZGlzcGxheTogZmxleDsgZ2FwOiA4cHg7IHBhZGRpbmc6IDRweCAwIDA7IH1cclxuLm1vYmlsZS1kcmF3ZXItYWN0aW9ucyBhIHsgZmxleDogMTsgdGV4dC1hbGlnbjogY2VudGVyOyBwYWRkaW5nOiAxMXB4IDE2cHg7IH1cclxuXHJcbi8qIOKUgOKUgCBMQU5HVUFHRSBTV0lUQ0hFUiDilIDilIAgKi9cclxuLmxhbmctc3dpdGNoZXIgeyBwb3NpdGlvbjogcmVsYXRpdmU7IH1cclxuLmxhbmctY3VycmVudCB7XHJcbiAgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiA3cHg7IHBhZGRpbmc6IDVweCAxMXB4IDVweCA4cHg7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyKTsgYm9yZGVyLXJhZGl1czogOHB4OyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICBjdXJzb3I6IHBvaW50ZXI7IGZvbnQtZmFtaWx5OiAnRE0gU2FucycsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTNweDsgZm9udC13ZWlnaHQ6IDUwMDtcclxuICBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7IHRyYW5zaXRpb246IC4yczsgdXNlci1zZWxlY3Q6IG5vbmU7XHJcbn1cclxuLmxhbmctY3VycmVudDpob3ZlciwgLmxhbmctc3dpdGNoZXIub3BlbiAubGFuZy1jdXJyZW50IHsgYm9yZGVyLWNvbG9yOiB2YXIoLS10ZWFsKTsgY29sb3I6IHZhcigtLXRlYWwpOyB9XHJcbi5sYW5nLWN1cnJlbnQgLmZsYWcgeyBmb250LXNpemU6IDE4cHg7IGxpbmUtaGVpZ2h0OiAxOyB9XHJcbi5sYW5nLWN1cnJlbnQgLmFycm93IHsgZm9udC1zaXplOiA5cHg7IG9wYWNpdHk6IC42OyB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjJzOyB9XHJcbi5sYW5nLXN3aXRjaGVyLm9wZW4gLmxhbmctY3VycmVudCAuYXJyb3cgeyB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB9XHJcbi5sYW5nLWRyb3Bkb3duIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogY2FsYygxMDAlICsgOHB4KTsgcmlnaHQ6IDA7XHJcbiAgYmFja2dyb3VuZDogdmFyKC0tYmcyKTsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyKTsgYm9yZGVyLXJhZGl1czogMTJweDsgcGFkZGluZzogOHB4O1xyXG4gIGRpc3BsYXk6IG5vbmU7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGdhcDogMnB4OyBtaW4td2lkdGg6IDE3MHB4OyB6LWluZGV4OiAyMDA7XHJcbiAgYm94LXNoYWRvdzogMCAxNnB4IDQwcHggcmdiYSgwLDAsMCwuMzUpO1xyXG59XHJcbi5sYW5nLXN3aXRjaGVyLm9wZW4gLmxhbmctZHJvcGRvd24geyBkaXNwbGF5OiBmbGV4OyB9XHJcbi5sYW5nLW9wdGlvbiB7XHJcbiAgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiAxMHB4OyBwYWRkaW5nOiA4cHggMTJweDsgYm9yZGVyLXJhZGl1czogOHB4O1xyXG4gIGN1cnNvcjogcG9pbnRlcjsgZm9udC1zaXplOiAxM3B4OyBmb250LXdlaWdodDogNTAwOyBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7IHRyYW5zaXRpb246IC4xNXM7IHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxufVxyXG4ubGFuZy1vcHRpb246aG92ZXIgeyBiYWNrZ3JvdW5kOiByZ2JhKDAsMjEyLDE4MCwuMDgpOyBjb2xvcjogdmFyKC0tdGVhbCk7IH1cclxuLmxhbmctb3B0aW9uLmFjdGl2ZSB7IGNvbG9yOiB2YXIoLS10ZWFsKTsgYmFja2dyb3VuZDogcmdiYSgwLDIxMiwxODAsLjA2KTsgfVxyXG4ubGFuZy1vcHRpb24gLmZsYWcgeyBmb250LXNpemU6IDIwcHg7IGxpbmUtaGVpZ2h0OiAxOyBmbGV4LXNocmluazogMDsgfVxyXG4ubGFuZy1vcHRpb24gLmxhbmctbmFtZSB7IGZsZXg6IDE7IH1cclxuLmxhbmctb3B0aW9uIC5hY3RpdmUtZG90IHsgd2lkdGg6IDZweDsgaGVpZ2h0OiA2cHg7IGJvcmRlci1yYWRpdXM6IDUwJTsgYmFja2dyb3VuZDogdmFyKC0tdGVhbCk7IGZsZXgtc2hyaW5rOiAwOyB9XHJcblxyXG4vKiDilIDilIAgVEhFTUUgVE9HR0xFIOKUgOKUgCAqL1xyXG4udGhlbWUtdG9nZ2xlIHtcclxuICB3aWR0aDogMzhweDsgaGVpZ2h0OiAzOHB4OyBib3JkZXItcmFkaXVzOiA5cHg7IGJhY2tncm91bmQ6IHZhcigtLXNvY2lhbC1iZyk7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyKTsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgY3Vyc29yOiBwb2ludGVyOyBmb250LXNpemU6IDE3cHg7IHRyYW5zaXRpb246IGJhY2tncm91bmQgLjJzLCBib3JkZXItY29sb3IgLjJzLCB0cmFuc2Zvcm0gLjJzO1xyXG59XHJcbi50aGVtZS10b2dnbGU6aG92ZXIgeyBib3JkZXItY29sb3I6IHZhcigtLXRlYWwpOyBiYWNrZ3JvdW5kOiB2YXIoLS1zb2NpYWwtaG92ZXIpOyB0cmFuc2Zvcm06IHJvdGF0ZSgxOGRlZyk7IH1cclxuXHJcblxyXG4uYnRuLWVtZXJhbGQge1xyXG4gIHBhZGRpbmc6IDlweCAyMHB4OyBib3JkZXItcmFkaXVzOiA4cHg7XHJcbiAgYmFja2dyb3VuZDogcmdiYSgxNiwxODUsMTI5LC4xNSk7IGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTYsMTg1LDEyOSwuMzUpOyBjb2xvcjogIzEwYjk4MTtcclxuICBmb250LXNpemU6IDEzcHg7IGZvbnQtd2VpZ2h0OiA2MDA7IGN1cnNvcjogcG9pbnRlcjsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB0cmFuc2l0aW9uOiAuMnM7XHJcbiAgZm9udC1mYW1pbHk6ICdETSBTYW5zJywgc2Fucy1zZXJpZjsgZGlzcGxheTogaW5saW5lLWZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogNnB4O1xyXG59XHJcbi5idG4tZW1lcmFsZDpob3ZlciB7IGJhY2tncm91bmQ6IHJnYmEoMTYsMTg1LDEyOSwuMjUpOyBib3JkZXItY29sb3I6IHJnYmEoMTYsMTg1LDEyOSwuNik7IH1cclxuaHRtbC5saWdodCAuYnRuLWVtZXJhbGQgeyBjb2xvcjogIzA1OTY2OTsgfVxyXG5cclxuQGtleWZyYW1lcyBjdGFQdWxzZSB7XHJcbiAgMCUsIDEwMCUgeyBib3gtc2hhZG93OiAwIDAgMCAwIHJnYmEoMCwyMTIsMTgwLC40NSk7IH1cclxuICA1MCUgeyBib3gtc2hhZG93OiAwIDAgMCA4cHggcmdiYSgwLDIxMiwxODAsMCk7IH1cclxufVxyXG5cclxuLyog4pSA4pSAIFJFU1BPTlNJVkUgTkFWIOKUgOKUgCAqL1xyXG5AbWVkaWEgKG1heC13aWR0aDogOTAwcHgpIHtcclxuICAjbWFpbk5hdiB7IHBhZGRpbmc6IDAgMjBweDsgfVxyXG4gIC5uYXYtbGlua3MsXHJcbiAgLm5hdi1yaWdodCAuYnRuLWdob3N0LFxyXG4gIC5uYXYtcmlnaHQgLmJ0bi1wcmltYXJ5LFxyXG4gIC5uYXYtcmlnaHQgLmJ0bi1lbWVyYWxkLFxyXG4gIC5uYXYtcmlnaHQgLmxhbmctc3dpdGNoZXIgeyBkaXNwbGF5OiBub25lOyB9XHJcbiAgLmJ1cmdlciB7IGRpc3BsYXk6IGZsZXg7IH1cclxuICAubmF2LWJyZWFkY3J1bWIgeyBkaXNwbGF5OiBub25lOyB9XHJcbn1cclxuIiwiLyog4pSA4pSAIEZPT1RFUiDilIDilIAgKi9cclxuZm9vdGVyIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7IGJhY2tncm91bmQ6IHZhcigtLWJnMik7IGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXIpO1xyXG4gIHBhZGRpbmc6IDcycHggMCAyOHB4OyB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIC4zNXMsIGJvcmRlci1jb2xvciAuMzVzOyBvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcbi5mb290ZXItd2F0ZXJtYXJrIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IDUwJTsgYm90dG9tOiAtMC4yNWVtOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgZm9udC1mYW1pbHk6ICdTeW5lJywgc2Fucy1zZXJpZjsgZm9udC13ZWlnaHQ6IDgwMDtcclxuICBmb250LXNpemU6IGNsYW1wKDE0MHB4LDIydncsMzIwcHgpOyBsZXR0ZXItc3BhY2luZzogLTZweDsgbGluZS1oZWlnaHQ6IDAuODU7XHJcbiAgY29sb3I6IHZhcigtLXRleHQpOyBvcGFjaXR5OiAuMDM1OyBwb2ludGVyLWV2ZW50czogbm9uZTsgdXNlci1zZWxlY3Q6IG5vbmU7IHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbn1cclxuaHRtbC5saWdodCAuZm9vdGVyLXdhdGVybWFyayB7IG9wYWNpdHk6IC4wNDsgfVxyXG5mb290ZXIgLmNvbnRhaW5lciB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgei1pbmRleDogMTsgfVxyXG5cclxuLmZvb3Rlci1ncmlkIHtcclxuICBkaXNwbGF5OiBncmlkOyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDJmciAxZnIgMWZyIDFmciAxZnI7XHJcbiAgZ2FwOiA0MHB4OyBtYXJnaW4tYm90dG9tOiA0MHB4O1xyXG59XHJcbi5mb290ZXItYnJhbmQgLm5hdi1sb2dvIHsgZGlzcGxheTogZmxleDsgbWFyZ2luLWJvdHRvbTogMTJweDsgfVxyXG4uZm9vdGVyLWRlc2MgeyBmb250LXNpemU6IDEzcHg7IGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTsgbGluZS1oZWlnaHQ6IDEuNzsgbWFyZ2luLWJvdHRvbTogMjBweDsgbWF4LXdpZHRoOiAzMDBweDsgfVxyXG4uZm9vdGVyLXNvY2lhbHMgeyBkaXNwbGF5OiBmbGV4OyBnYXA6IDhweDsgfVxyXG4uZm9vdGVyLXNvY2lhbC1idG4ge1xyXG4gIHdpZHRoOiAzNnB4OyBoZWlnaHQ6IDM2cHg7IGJvcmRlci1yYWRpdXM6IDhweDsgYmFja2dyb3VuZDogdmFyKC0tc29jaWFsLWJnKTtcclxuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXIpOyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICBmb250LXNpemU6IDE1cHg7IGN1cnNvcjogcG9pbnRlcjsgdHJhbnNpdGlvbjogLjJzOyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxufVxyXG4uZm9vdGVyLXNvY2lhbC1idG46aG92ZXIgeyBib3JkZXItY29sb3I6IHZhcigtLXRlYWwpOyBiYWNrZ3JvdW5kOiB2YXIoLS1zb2NpYWwtaG92ZXIpOyBjb2xvcjogdmFyKC0tdGVhbCk7IH1cclxuLmZvb3Rlci1zb2NpYWwtYnRuLS1lbW9qaSB7IGZvbnQtc2l6ZTogMTZweDsgfVxyXG4uZm9vdGVyLXNvY2lhbC1idG4tLXRleHQgeyBmb250LXdlaWdodDogNzAwOyBmb250LXNpemU6IDEzcHg7IH1cclxuXHJcbi5mb290ZXItY29sIGg0IHsgZm9udC1zaXplOiAxMnB4OyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBsZXR0ZXItc3BhY2luZzogMS41cHg7IGNvbG9yOiB2YXIoLS10ZXh0LWRpbSk7IGZvbnQtd2VpZ2h0OiA3MDA7IG1hcmdpbi1ib3R0b206IDE2cHg7IH1cclxuLmZvb3Rlci1jb2wgdWwgeyBsaXN0LXN0eWxlOiBub25lOyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBnYXA6IDEwcHg7IH1cclxuLmZvb3Rlci1jb2wgdWwgYSB7IGZvbnQtc2l6ZTogMTNweDsgY29sb3I6IHZhcigtLXRleHQtbXV0ZWQpOyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IHRyYW5zaXRpb246IC4yczsgfVxyXG4uZm9vdGVyLWNvbCB1bCBhOmhvdmVyIHsgY29sb3I6IHZhcigtLXRleHQpOyB9XHJcblxyXG4uZm9vdGVyLWJvdHRvbSB7XHJcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWJvcmRlcik7IHBhZGRpbmctdG9wOiAyMnB4O1xyXG4gIGRpc3BsYXk6IGZsZXg7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZmxleC13cmFwOiB3cmFwOyBnYXA6IDEycHg7XHJcbn1cclxuLmZvb3Rlci1ib3R0b20gcCB7IGZvbnQtc2l6ZTogMTJweDsgY29sb3I6IHZhcigtLXRleHQtZGltKTsgfVxyXG4uZm9vdGVyLWJhZGdlcyB7IGRpc3BsYXk6IGZsZXg7IGdhcDogOHB4OyB9XHJcbi5mb290ZXItYmFkZ2UgeyBwYWRkaW5nOiA0cHggMTJweDsgYm9yZGVyLXJhZGl1czogNnB4OyBmb250LXNpemU6IDExcHg7IGZvbnQtd2VpZ2h0OiA1MDA7IGJhY2tncm91bmQ6IHZhcigtLXNvY2lhbC1iZyk7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlcik7IGNvbG9yOiB2YXIoLS10ZXh0LWRpbSk7IH1cclxuXHJcbi8qIOKUgOKUgCBSRVNQT05TSVZFIEZPT1RFUiDilIDilIAgKi9cclxuQG1lZGlhIChtYXgtd2lkdGg6IDkwMHB4KSB7IC5mb290ZXItZ3JpZCB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjsgfSB9XHJcbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDkwMHB4KSB7IC5mb290ZXItZ3JpZCB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjsgfSB9XHJcbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkgeyAuZm9vdGVyLWdyaWQgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7IH0gLmZvb3Rlci1icmFuZCB7IGdyaWQtY29sdW1uOiAxLy0xOyB9IH1cclxuQG1lZGlhIChtYXgtd2lkdGg6IDUwMHB4KSB7IC5mb290ZXItZ3JpZCB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOyB9IC5mb290ZXItYnJhbmQgeyBncmlkLWNvbHVtbjogYXV0bzsgfSB9XHJcbiIsIi5zaWRlYmFye1xyXG4gIGRpc3BsYXk6ZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjpjb2x1bW47XHJcbn1cclxuXHJcbi8qIE5BViBTQ1JPTEwgQVJFQSAqL1xyXG4uc2lkZWJhci1uYXZ7XHJcbiAgcGFkZGluZzo4cHggMDtcclxuICBmbGV4OjE7XHJcbiAgb3ZlcmZsb3cteTphdXRvO1xyXG59XHJcblxyXG4vKiBTVUItRE9UUyAqL1xyXG4uc2lkZWJhci1saW5rIC5zdWItZG90LFxyXG4uc2lkZWJhci1zdWJncm91cC10b2dnbGUgLnN1Yi1kb3QsXHJcbi5zaWRlYmFyLXByb2R1Y3QtdG9nZ2xlIC5zdWItZG90e1xyXG4gIHdpZHRoOjNweDtcclxuICBoZWlnaHQ6M3B4O1xyXG4gIGJvcmRlci1yYWRpdXM6NTAlO1xyXG4gIGJhY2tncm91bmQ6dmFyKC0tdGV4dC1kaW0pO1xyXG4gIGZsZXgtc2hyaW5rOjA7XHJcbn1cclxuXHJcbi5zaWRlYmFyLWxpbmsuc3Vie1xyXG4gIHBhZGRpbmctbGVmdDozNnB4O1xyXG4gIGZvbnQtc2l6ZToxMi41cHg7XHJcbn1cclxuXHJcbi5zaWRlYmFyLWxpbmsuc3ViLmFjdGl2ZSAuc3ViLWRvdCxcclxuLnNpZGViYXItbGluay5zdWI6aG92ZXIgLnN1Yi1kb3R7XHJcbiAgYmFja2dyb3VuZDp2YXIoLS10ZWFsKTtcclxufVxyXG5cclxuLyogTEVWRUwgMyBzdWIgaXRlbXMgKi9cclxuLnNpZGViYXItbGluay5zdWIye1xyXG4gIHBhZGRpbmctbGVmdDo1MnB4O1xyXG4gIGZvbnQtc2l6ZToxMnB4O1xyXG59XHJcbi5zaWRlYmFyLWxpbmsuc3ViMi5hY3RpdmUgLnN1Yi1kb3QsXHJcbi5zaWRlYmFyLWxpbmsuc3ViMjpob3ZlciAuc3ViLWRvdHtcclxuICBiYWNrZ3JvdW5kOnZhcigtLXRlYWwpO1xyXG59XHJcblxyXG4vKiBQUk9EVUNUIFNFQ1RJT04gKGV4cGFuZGFibGUpICovXHJcbi5zaWRlYmFyLXByb2R1Y3QtdG9nZ2xle1xyXG4gIGRpc3BsYXk6ZmxleDtcclxuICBhbGlnbi1pdGVtczpjZW50ZXI7XHJcbiAgZ2FwOjhweDtcclxuICBwYWRkaW5nOjdweCAyMHB4O1xyXG4gIHdpZHRoOjEwMCU7XHJcbiAgZm9udC1zaXplOjEzLjVweDtcclxuICBjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtcclxuICBjdXJzb3I6cG9pbnRlcjtcclxuICBiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O1xyXG4gIGJvcmRlcjpub25lO1xyXG4gIGZvbnQtZmFtaWx5OidETSBTYW5zJyxzYW5zLXNlcmlmO1xyXG4gIHRyYW5zaXRpb246Y29sb3IgLjE1cyxiYWNrZ3JvdW5kIC4xNXM7XHJcbiAgdGV4dC1hbGlnbjpsZWZ0O1xyXG59XHJcbi5zaWRlYmFyLXByb2R1Y3QtdG9nZ2xlOmhvdmVye2NvbG9yOnZhcigtLXRleHQpO2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwuMDQpO31cclxuaHRtbC5saWdodCAuc2lkZWJhci1wcm9kdWN0LXRvZ2dsZTpob3ZlcntiYWNrZ3JvdW5kOnJnYmEoMTMsMzAsNjAsLjA0KTt9XHJcbi5zaWRlYmFyLXByb2R1Y3QtdG9nZ2xlIHN2Z3ttYXJnaW4tbGVmdDphdXRvO2ZsZXgtc2hyaW5rOjA7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjI1czt9XHJcbi5zaWRlYmFyLXByb2R1Y3Qub3BlbiA+IC5zaWRlYmFyLXByb2R1Y3QtdG9nZ2xle2NvbG9yOnZhcigtLXRlYWwpO31cclxuLnNpZGViYXItcHJvZHVjdC5vcGVuID4gLnNpZGViYXItcHJvZHVjdC10b2dnbGUgLmRvdHtiYWNrZ3JvdW5kOnZhcigtLXRlYWwpO31cclxuLnNpZGViYXItcHJvZHVjdC5vcGVuID4gLnNpZGViYXItcHJvZHVjdC10b2dnbGUgc3Zne3RyYW5zZm9ybTpyb3RhdGUoMTgwZGVnKTt9XHJcblxyXG4uc2lkZWJhci1wcm9kdWN0LWJvZHl7ZGlzcGxheTpub25lO31cclxuLnNpZGViYXItcHJvZHVjdC5vcGVuID4gLnNpZGViYXItcHJvZHVjdC1ib2R5e2Rpc3BsYXk6YmxvY2s7fVxyXG5cclxuLyogU1VCR1JPVVAgKNCj0YHRgtCw0L3QvtCy0LrQsCwg0J/RgNC40LzQtdGA0Ysg0LrQvtC00LAg4oCUIDJuZCBsZXZlbCBleHBhbmRhYmxlKSAqL1xyXG4uc2lkZWJhci1zdWJncm91cC10b2dnbGV7XHJcbiAgZGlzcGxheTpmbGV4O1xyXG4gIGFsaWduLWl0ZW1zOmNlbnRlcjtcclxuICBnYXA6OHB4O1xyXG4gIHBhZGRpbmc6NnB4IDIwcHggNnB4IDM2cHg7XHJcbiAgd2lkdGg6MTAwJTtcclxuICBmb250LXNpemU6MTIuNXB4O1xyXG4gIGNvbG9yOnZhcigtLXRleHQtbXV0ZWQpO1xyXG4gIGN1cnNvcjpwb2ludGVyO1xyXG4gIGJhY2tncm91bmQ6dHJhbnNwYXJlbnQ7XHJcbiAgYm9yZGVyOm5vbmU7XHJcbiAgZm9udC1mYW1pbHk6J0RNIFNhbnMnLHNhbnMtc2VyaWY7XHJcbiAgdHJhbnNpdGlvbjpjb2xvciAuMTVzO1xyXG4gIHRleHQtYWxpZ246bGVmdDtcclxufVxyXG4uc2lkZWJhci1zdWJncm91cC10b2dnbGU6aG92ZXJ7Y29sb3I6dmFyKC0tdGV4dCk7fVxyXG4uc2lkZWJhci1zdWJncm91cC10b2dnbGUgc3Zne21hcmdpbi1sZWZ0OmF1dG87ZmxleC1zaHJpbms6MDt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMnM7fVxyXG4uc2lkZWJhci1zdWJncm91cC5vcGVuID4gLnNpZGViYXItc3ViZ3JvdXAtdG9nZ2xle2NvbG9yOnZhcigtLXRleHQpO31cclxuLnNpZGViYXItc3ViZ3JvdXAub3BlbiA+IC5zaWRlYmFyLXN1Ymdyb3VwLXRvZ2dsZSBzdmd7dHJhbnNmb3JtOnJvdGF0ZSgxODBkZWcpO31cclxuXHJcbi5zaWRlYmFyLXN1Ymdyb3VwLWJvZHl7ZGlzcGxheTpub25lO31cclxuLnNpZGViYXItc3ViZ3JvdXAub3BlbiA+IC5zaWRlYmFyLXN1Ymdyb3VwLWJvZHl7ZGlzcGxheTpibG9jazt9XHJcblxyXG4vKiBESVZJREVSICovXHJcbi5zaWRlYmFyLWRpdmlkZXJ7XHJcbiAgaGVpZ2h0OjFweDtcclxuICBiYWNrZ3JvdW5kOnZhcigtLWRzLXNpZGViYXItYm9yZGVyKTtcclxuICBtYXJnaW46OHB4IDIwcHg7XHJcbn0iLCJcclxuLmJ0bi1maXhlZCB7XHJcblxyXG5cdHBvc2l0aW9uOiBmaXhlZDtcclxuXHRyaWdodDo0OHB4O1xyXG5cdGJvdHRvbTo0OHB4O1xyXG5cdHotaW5kZXg6IDY7XHJcblxyXG59XHJcblxyXG4uYnRuLWZpeGVkX19pY29uIHtcclxuXHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGVhbCk7XHJcblx0XHRib3JkZXItcmFkaXVzOiA1MCU7XHJcblx0XHRjb2xvcjogI2ZmZjtcclxuXHRcdHdpZHRoOiA0OHB4O1xyXG5cdFx0aGVpZ2h0OiA0OHB4O1xyXG5cclxuXHR9XHJcblxyXG4uYnRuLWZpeGVkX19pY29uIHN2ZyB7XHJcblxyXG5cdFx0XHRhbmltYXRpb246IHNoYWtlIGxpbmVhciAxLjVzIGluZmluaXRlO1xyXG5cdFx0XHRmaWxsOiBjdXJyZW50Q29sb3JcclxuXHJcblx0XHR9XHJcblxyXG4uYnRuLWZpeGVkX193YXZlcyB7XHJcblxyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0dG9wOiAwO1xyXG5cdFx0bGVmdDogMDtcclxuXHRcdHJpZ2h0OiAwO1xyXG5cdFx0Ym90dG9tOiAwO1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogNTAlO1xyXG5cdFx0YW5pbWF0aW9uOiB3YXZlcyBsaW5lYXIgM3MgaW5maW5pdGUsIHNjYWxlLWluIC41cyBjdWJpYy1iZXppZXIoLjI1LC40NiwuNDUsLjk0KSBib3RoO1xyXG5cclxuXHR9XHJcblxyXG4uYnRuLWZpeGVkX190ZXh0IHtcclxuXHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHR0b3A6IDUwJTtcclxuXHRcdHJpZ2h0OiAxMDAlO1xyXG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG5cdFx0Y29sb3I6ICNmZmY7XHJcblx0XHR3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGVhbCk7XHJcblx0XHRib3JkZXItcmFkaXVzOiA2cHg7XHJcblx0XHRtYXJnaW4tcmlnaHQ6IDEycHg7XHJcblx0XHR6LWluZGV4OiAxO1xyXG5cclxuXHR9XHJcblxyXG4uYnRuLWZpeGVkX190ZXh0LWJsaW5rIHtcclxuXHJcblx0XHRcdG92ZXJmbG93OiBoaWRkZW47XHJcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdGZvbnQtd2VpZ2h0OiA1MDA7XHJcblx0XHRcdGZvbnQtc2l6ZTogMTRweDtcclxuXHRcdFx0cGFkZGluZzogNHB4IDEwcHg7XHJcblxyXG5cdFx0fVxyXG5cclxuLmJ0bi1maXhlZF9fdGV4dC1ibGluazo6YWZ0ZXIge1xyXG5cclxuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdFx0d2lkdGg6IDEwcHg7XHJcblx0XHRcdFx0aGVpZ2h0OiAyMDAlO1xyXG5cdFx0XHRcdHRvcDogLTIwcHg7XHJcblx0XHRcdFx0bGVmdDogLTIwcHg7XHJcblx0XHRcdFx0Y29udGVudDogJyc7XHJcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuXHRcdFx0XHRvcGFjaXR5OiAwLjQ7XHJcblx0XHRcdFx0ZmlsdGVyOiBibHVyKDVweCk7XHJcblx0XHRcdFx0YW5pbWF0aW9uOiA0cyBibGluayAwcyBsaW5lYXIgaW5maW5pdGU7XHJcblxyXG5cdFx0XHR9XHJcblxyXG4uYnRuLWZpeGVkX190ZXh0OjpiZWZvcmUge1xyXG5cclxuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHR3aWR0aDogMTBweDtcclxuXHRcdFx0aGVpZ2h0OiAxMHB4O1xyXG5cdFx0XHR0b3A6IDA7XHJcblx0XHRcdHJpZ2h0OiAtNHB4O1xyXG5cdFx0XHRib3R0b206IDA7XHJcblx0XHRcdG1hcmdpbjogYXV0bztcclxuXHRcdFx0Y29udGVudDogJyc7XHJcblx0XHRcdHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcclxuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGVhbCk7XHJcblx0XHRcdGJvcmRlci1yYWRpdXM6IDJweDtcclxuXHJcblx0XHR9XHJcblxyXG4uYnRuLWZpeGVkX190ZyxcclxuLmJ0bi1maXhlZF9fbWF4IHtcclxuXHRvcGFjaXR5OiAwO1xyXG5cdHRyYW5zaXRpb246IC4zcztcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0dG9wOiA1MCU7XHJcblx0bGVmdDogNTAlO1xyXG5cdGNvbG9yOiB2YXIoLS10ZWFsKTtcclxuXHR0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogIGN1YmljLWJlemllcigwLjM0LCAxLjU2LCAwLjY0LCAxKTtcclxufVxyXG5cclxuLmJ0bi1maXhlZDpob3ZlciAuYnRuLWZpeGVkX190Z3tcclxuXHRvcGFjaXR5OiAxO1xyXG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlKC0zNnB4LCAtNTBweCk7XHJcbn1cclxuLmJ0bi1maXhlZF9fbWF4IHtcclxuXHR0cmFuc2l0aW9uLWRlbGF5OiAuMXM7XHJcbn1cclxuLmJ0bi1maXhlZDpob3ZlciAuYnRuLWZpeGVkX19tYXgge1xyXG5cdG9wYWNpdHk6IDE7XHJcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoMTJweCwgLTUwcHgpO1xyXG59XHJcbi5idG4tZml4ZWRfX3RnOmhvdmVyIHN2ZyxcclxuLmJ0bi1maXhlZF9fbWF4OmhvdmVyIHN2ZyB7XHJcblx0dHJhbnNmb3JtOiBzY2FsZSgxLjIpO1xyXG5cdHRyYW5zaXRpb246IC4ycztcclxufVxyXG4uYnRuLWZpeGVkOmhvdmVyOjpiZWZvcmUge1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR0b3A6IC0yNHB4O1xyXG5cdGxlZnQ6IC0yNHB4O1xyXG5cdHJpZ2h0OiAtMjRweDtcclxuXHRib3R0b206IC0yNHB4O1xyXG5cdGNvbnRlbnQ6ICcnO1xyXG5cdGJvcmRlci1yYWRpdXM6IDUwJTtcclxufVxyXG5AbWVkaWEobWF4LXdpZHRoOjkwMHB4KXtcclxuXHJcbi5idG4tZml4ZWQge1xyXG5cclxuXHRyaWdodDoyMHB4O1xyXG5cdGJvdHRvbToyMHB4O1xyXG5cclxufVxyXG5cclxuXHQuYnRuLWZpeGVkX190ZXh0IHtcclxuXHJcblx0XHRcdGRpc3BsYXk6IG5vbmVcclxuXHJcblx0fVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGJsaW5rIHtcclxuXHQwJSB7XHJcblx0ICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XHJcblx0fVxyXG5cdDkwJSB7XHJcblx0ICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XHJcblx0fVxyXG5cdDEwMCUge1xyXG5cdCAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMHB4KTtcclxuXHR9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgd2F2ZXMge1xyXG5cdDAlIHtcclxuXHQgIGJveC1zaGFkb3c6IDAgOHB4IDEwcHggcmdiYSgwLDIxMiwxODAsIDAuMyksIDAgMCAwIDAgcmdiYSgwLDIxMiwxODAsIDAuMiksIDAgMCAwIDAgcmdiYSgwLDIxMiwxODAsIDAuMik7XHJcblx0fVxyXG5cdDQwJSB7XHJcblx0ICBib3gtc2hhZG93OiAwIDhweCAxMHB4IHJnYmEoMCwyMTIsMTgwLCAwLjMpLCAwIDAgMCAzNXB4IHJnYmEoMCwyMTIsMTgwLCAwLjIpLCAwIDAgMCAwIHJnYmEoMCwyMTIsMTgwLCAwLjIpO1xyXG5cdH1cclxuXHQ4MCUge1xyXG5cdCAgYm94LXNoYWRvdzogMCA4cHggMTBweCByZ2JhKDAsMjEyLDE4MCwgMC4zKSwgMCAwIDAgNTVweCByZ2JhKDAsMjEyLDE4MCwgMCksIDAgMCAwIDI2LjdweCByZ2JhKDAsMjEyLDE4MCwgMC4wNjcpO1xyXG5cdH1cclxuXHQxMDAlIHtcclxuXHQgIGJveC1zaGFkb3c6IDAgOHB4IDEwcHggcmdiYSgwLDIxMiwxODAsIDAuMyksIDAgMCAwIDgwcHggcmdiYSgwLDIxMiwxODAsIDApLCAwIDAgMCA0MHB4IHJnYmEoMCwyMTIsMTgwLCAwLjApO1xyXG5cdH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBzaGFrZSB7XHJcblx0MCUge1xyXG5cdCAgdHJhbnNmb3JtOiByb3RhdGUoMCkgc2NhbGUoMSkgc2tldygwLjAxN3JhZCk7XHJcblx0fVxyXG5cdDI1JSB7XHJcblx0ICB0cmFuc2Zvcm06IHJvdGF0ZSgwKSBzY2FsZSgxKSBza2V3KDAuMDE3cmFkKTtcclxuXHR9XHJcblx0MzUlIHtcclxuXHQgIHRyYW5zZm9ybTogcm90YXRlKC0wLjNyYWQpIHNjYWxlKDEpIHNrZXcoMC4wMTdyYWQpO1xyXG5cdH1cclxuXHQ0NSUge1xyXG5cdCAgdHJhbnNmb3JtOiByb3RhdGUoMC4zcmFkKSBzY2FsZSgxKSBza2V3KDAuMDE3cmFkKTtcclxuXHR9XHJcblx0NTUlIHtcclxuXHQgIHRyYW5zZm9ybTogcm90YXRlKC0wLjNyYWQpIHNjYWxlKDEpIHNrZXcoMC4wMTdyYWQpO1xyXG5cdH1cclxuXHQ2NSUge1xyXG5cdCAgdHJhbnNmb3JtOiByb3RhdGUoMC4zcmFkKSBzY2FsZSgxKSBza2V3KDAuMDE3cmFkKTtcclxuXHR9XHJcblx0NzUlIHtcclxuXHQgIHRyYW5zZm9ybTogcm90YXRlKDApIHNjYWxlKDEpIHNrZXcoMC4wMTdyYWQpO1xyXG5cdH1cclxuXHQxMDAlIHtcclxuXHQgIHRyYW5zZm9ybTogcm90YXRlKDApIHNjYWxlKDEpIHNrZXcoMC4wMTdyYWQpO1xyXG5cdH1cclxufSIsIi8qIOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkFxyXG4gICBwcm92aXNpb24tb2NyLmh0bWwg4oCUIHNlY3Rpb25zXHJcbuKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkCAqL1xyXG5cclxuLyog4pSA4pSAICNoZXJvIOKUgOKUgCAqL1xyXG4uaGVyby1vY3IgLmhlcm8tZGFyay1ncmFkIHsgcG9zaXRpb246IGFic29sdXRlOyBpbnNldDogMDsgei1pbmRleDogMDsgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KGVsbGlwc2UgMTIwJSA4MCUgYXQgNTAlIC0xMCUsIHJnYmEoMCwyMTIsMTgwLC4wNykgMCUsIHJnYmEoMjYsMTA4LDI0NiwuMDUpIDM1JSwgdHJhbnNwYXJlbnQgNzAlKTsgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cclxuLmhlcm8tb2NyIC5oZXJvLWdsb3cgeyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogLTIwMHB4OyBsZWZ0OiA1MCU7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgd2lkdGg6IDkwMHB4OyBoZWlnaHQ6IDcwMHB4OyBib3JkZXItcmFkaXVzOiA1MCU7IGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudChlbGxpcHNlLHJnYmEoMCwyMTIsMTgwLC4xKSAwJSxyZ2JhKDI2LDEwOCwyNDYsLjA3KSA0MCUsdHJhbnNwYXJlbnQgNzAlKTsgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cclxuLmhlcm8tb2NyIC5oZXJvLWlubmVyIHsgcG9zaXRpb246IHJlbGF0aXZlOyB6LWluZGV4OiAxOyBtYXgtd2lkdGg6IDEyMDBweDsgbWFyZ2luOiAwIGF1dG87IHdpZHRoOiAxMDAlOyBkaXNwbGF5OiBncmlkOyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7IGdhcDogNjRweDsgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cclxuLmhlcm8tb2NyIC5oZXJvLWxlZnQgeyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XHJcbi5oZXJvLW9jciAuaGVyby1iYWRnZSB7IGRpc3BsYXk6IGlubGluZS1mbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDhweDsgcGFkZGluZzogNnB4IDE0cHg7IGJvcmRlci1yYWRpdXM6IDEwMHB4OyBiYWNrZ3JvdW5kOiByZ2JhKDAsMjEyLDE4MCwuMDgpOyBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsMjEyLDE4MCwuMjIpOyBmb250LXNpemU6IDExLjVweDsgZm9udC13ZWlnaHQ6IDYwMDsgY29sb3I6IHZhcigtLXRlYWwpOyBtYXJnaW4tYm90dG9tOiAyNnB4OyBsZXR0ZXItc3BhY2luZzogMS4ycHg7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IHdpZHRoOiBmaXQtY29udGVudDsgfVxyXG4uaGVyby1vY3IgLmhlcm8tYmFkZ2U6OmJlZm9yZSB7IGNvbnRlbnQ6ICcnOyB3aWR0aDogNnB4OyBoZWlnaHQ6IDZweDsgYm9yZGVyLXJhZGl1czogNTAlOyBiYWNrZ3JvdW5kOiB2YXIoLS10ZWFsKTsgYm94LXNoYWRvdzogMCAwIDhweCB2YXIoLS10ZWFsKTsgYW5pbWF0aW9uOiBwdWxzZSAycyBpbmZpbml0ZTsgfVxyXG5Aa2V5ZnJhbWVzIHB1bHNlIHsgMCUsMTAwJXtvcGFjaXR5OjF9IDUwJXtvcGFjaXR5Oi40fSB9XHJcblxyXG5oMS5oZXJvLW9jciAuaGVyby1oMSB7IGZvbnQtc2l6ZTogY2xhbXAoMzJweCw0dncsNTJweCk7IGZvbnQtd2VpZ2h0OiA4MDA7IGxpbmUtaGVpZ2h0OiAxLjA1OyBsZXR0ZXItc3BhY2luZzogLTJweDsgbWFyZ2luLWJvdHRvbTogMjBweDsgY29sb3I6IHZhcigtLXRleHQpOyB9XHJcbi5oZXJvLW9jciAuaGVyby1oMSAuZ3JhZCB7IGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMTBkZWcsdmFyKC0tdGVhbCkgMTAlLHZhcigtLWJsdWUpIDg1JSk7IC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0OyBiYWNrZ3JvdW5kLWNsaXA6IHRleHQ7IC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiB0cmFuc3BhcmVudDsgY29sb3I6IHRyYW5zcGFyZW50OyB9XHJcbi5oZXJvLW9jciAuaGVyby1zdWIgeyBmb250LXNpemU6IDE2cHg7IGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTsgZm9udC13ZWlnaHQ6IDMwMDsgbGluZS1oZWlnaHQ6IDEuNzsgbWFyZ2luLWJvdHRvbTogMjhweDsgfVxyXG4uaGVyby1vY3IgLmhlcm8tY3RhIHsgZGlzcGxheTogZmxleDsgZ2FwOiAxMHB4OyBmbGV4LXdyYXA6IHdyYXA7IG1hcmdpbi1ib3R0b206IDI0cHg7IH1cclxuLmhlcm8tb2NyIC5oZXJvLWN0YSAuYnRuLWxnIHsgcGFkZGluZzogMTFweCAyMHB4OyBmb250LXNpemU6IDE0cHg7IH1cclxuLmhlcm8tb2NyIC5oZXJvLWluZm8tYmxvY2sgeyBkaXNwbGF5OiBpbmxpbmUtZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiAxMHB4OyBmbGV4LXdyYXA6IHdyYXA7IHBhZGRpbmc6IDExcHggMThweDsgYm9yZGVyLXJhZGl1czogMTBweDsgYmFja2dyb3VuZDogcmdiYSgwLDIxMiwxODAsLjA2KTsgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLDIxMiwxODAsLjE4KTsgZm9udC1zaXplOiAxM3B4OyBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7IHdpZHRoOiBmaXQtY29udGVudDsgfVxyXG4uaGVyby1vY3IgLmhlcm8taW5mby1ibG9jayAuc2VwIHsgb3BhY2l0eTogLjM1OyBtYXJnaW46IDAgNHB4OyB9XHJcblxyXG4vKiBSSUdIVCDigJQgbWV0cmljcyBjYXJkICovXHJcbi5oZXJvLW9jciAuaGVyby1yaWdodCB7IGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IHBhZGRpbmctdG9wOiA1OHB4OyB9XHJcbi5oZXJvLW9jciAuaGVyby1tZXRyaWNzLWNhcmQgeyBiYWNrZ3JvdW5kOiB2YXIoLS1iZzMpOyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXIpOyBib3JkZXItcmFkaXVzOiAyMHB4OyBwYWRkaW5nOiAyOHB4OyBwb3NpdGlvbjogcmVsYXRpdmU7IG92ZXJmbG93OiBoaWRkZW47IGJveC1zaGFkb3c6IHZhcigtLWNhcmQtc2hhZG93KSwgMCAwIDYwcHggLTIwcHggcmdiYSgwLDIxMiwxODAsLjEyKTsgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAuMzVzLCBib3JkZXItY29sb3IgLjM1czsgfVxyXG4uaGVyby1vY3IgLmhlcm8tbWV0cmljcy1jYXJkOjpiZWZvcmUgeyBjb250ZW50OiAnJzsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDA7IGxlZnQ6IDA7IHJpZ2h0OiAwOyBoZWlnaHQ6IDFweDsgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLHRyYW5zcGFyZW50LHZhcigtLXRlYWwpLHRyYW5zcGFyZW50KTsgfVxyXG5odG1sLmxpZ2h0IC5oZXJvLW9jciAuaGVyby1tZXRyaWNzLWNhcmQgeyBiYWNrZ3JvdW5kOiAjZmZmOyBib3gtc2hhZG93OiB2YXIoLS1jYXJkLXNoYWRvdyk7IH1cclxuLmhlcm8tb2NyIC5oZXJvLW1ldHJpY3MtaGVhZGVyIHsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiA4cHg7IGZvbnQtc2l6ZTogMTFweDsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgbGV0dGVyLXNwYWNpbmc6IDEuNXB4OyBjb2xvcjogdmFyKC0tdGV4dC1kaW0pOyBmb250LXdlaWdodDogNjAwOyBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XHJcbi5oZXJvLW9jciAuaGVyby1tZXRyaWNzLWRvdCB7IHdpZHRoOiA3cHg7IGhlaWdodDogN3B4OyBib3JkZXItcmFkaXVzOiA1MCU7IGJhY2tncm91bmQ6IHZhcigtLXRlYWwpOyBib3gtc2hhZG93OiAwIDAgOHB4IHZhcigtLXRlYWwpOyBhbmltYXRpb246IHB1bHNlIDEuNXMgaW5maW5pdGU7IGZsZXgtc2hyaW5rOiAwOyB9XHJcbi5oZXJvLW9jciAuaGVyby1tZXRyaWNzLWdyaWQgeyBkaXNwbGF5OiBncmlkOyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7IGdhcDogMTJweDsgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxyXG4uaGVyby1vY3IgLmhlcm8tbWV0cmljIHsgYmFja2dyb3VuZDogcmdiYSgwLDIxMiwxODAsLjA1KTsgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLDIxMiwxODAsLjEpOyBib3JkZXItcmFkaXVzOiAxMnB4OyBwYWRkaW5nOiAxNHB4IDE2cHg7IHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAuMnMsIGJhY2tncm91bmQgLjJzOyB9XHJcbi5oZXJvLW9jciAuaGVyby1tZXRyaWM6aG92ZXIgeyBib3JkZXItY29sb3I6IHJnYmEoMCwyMTIsMTgwLC4yNSk7IGJhY2tncm91bmQ6IHJnYmEoMCwyMTIsMTgwLC4wOCk7IH1cclxuLmhlcm8tb2NyIC5oZXJvLW1ldHJpYy12YWwgeyBmb250LWZhbWlseTogJ1N5bmUnLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDI2cHg7IGZvbnQtd2VpZ2h0OiA4MDA7IGxldHRlci1zcGFjaW5nOiAtMXB4OyBjb2xvcjogdmFyKC0tdGVhbCk7IGxpbmUtaGVpZ2h0OiAxOyBtYXJnaW4tYm90dG9tOiA1cHg7IH1cclxuLmhlcm8tb2NyIC5oZXJvLW1ldHJpYy1sYWJlbCB7IGZvbnQtc2l6ZTogMTEuNXB4OyBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7IGxpbmUtaGVpZ2h0OiAxLjQ7IH1cclxuLmhlcm8tb2NyIC5oZXJvLXBpbGxzLXJpZ2h0IHsgZGlzcGxheTogZmxleDsgZmxleC13cmFwOiB3cmFwOyBnYXA6IDhweDsgcGFkZGluZy10b3A6IDE2cHg7IGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXIpOyB9XHJcbi5oZXJvLW9jciAuaGVyby1waWxsLXIgeyBkaXNwbGF5OiBpbmxpbmUtZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiA2cHg7IHBhZGRpbmc6IDZweCAxMnB4OyBib3JkZXItcmFkaXVzOiAxMDBweDsgYmFja2dyb3VuZDogdmFyKC0tY2FyZCk7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlcik7IGZvbnQtc2l6ZTogMTJweDsgZm9udC13ZWlnaHQ6IDUwMDsgY29sb3I6IHZhcigtLXRleHQtbXV0ZWQpOyB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgLjJzLCBjb2xvciAuMnM7IH1cclxuLmhlcm8tb2NyIC5oZXJvLXBpbGwtcjpob3ZlciB7IGJvcmRlci1jb2xvcjogcmdiYSgwLDIxMiwxODAsLjMpOyBjb2xvcjogdmFyKC0tdGV4dCk7IH1cclxuaHRtbC5saWdodCAuaGVyby1vY3IgLmhlcm8tcGlsbC1yIHsgYmFja2dyb3VuZDogcmdiYSgxMywzMCw2MCwuMDMpOyB9XHJcblxyXG4vKiDilIDilIAgI3RyaWFsIOKUgOKUgCBpbmhlcml0ZWQgZnJvbSBiYXNlLmNzcyDilIDilIAgKi9cclxuI3RyaWFsIHsgcGFkZGluZzogNTBweCAwOyB9XHJcblxyXG4vKiDilIDilIAgI3ByaWNpbmcg4pSA4pSAICovXHJcbi5wcmljaW5nLW9jciB7IHBhZGRpbmc6IDUwcHggMDsgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZyx0cmFuc3BhcmVudCAwJSxyZ2JhKDEwLDE4LDMyLC41KSAxMDAlKTsgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAuMzVzOyB9XHJcbi5wcmljaW5nLW9jciAuaGVhZGVyLWNlbnRlciB7IG1hcmdpbi1ib3R0b206IDU2cHg7IH1cclxuLnByaWNpbmctb2NyIC5zZWN0aW9uLXN1YiB7IG1hcmdpbjogMCBhdXRvIDhweDsgfVxyXG4ucHJpY2luZy1vY3IgLnByaWNlLWVudGVycHJpc2UgeyBmb250LXNpemU6IDIycHg7IGxldHRlci1zcGFjaW5nOiAtLjVweDsgfVxyXG5odG1sLmxpZ2h0IC5wcmljaW5nLW9jciB7IGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsdHJhbnNwYXJlbnQgMCUscmdiYSgyMzgsMjQyLDI0OSwuOSkgMTAwJSk7IH1cclxuLnByaWNpbmctb2NyIC5wcmljaW5nLWdyaWQgeyBkaXNwbGF5OiBncmlkOyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LDFmcik7IGdhcDogMTZweDsgfVxyXG4ucHJpY2luZy1vY3IgLnByaWNlLWNhcmQgeyBiYWNrZ3JvdW5kOiB2YXIoLS1jYXJkKTsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyKTsgYm9yZGVyLXJhZGl1czogMTZweDsgcGFkZGluZzogMjhweCAyNHB4OyBwb3NpdGlvbjogcmVsYXRpdmU7IG92ZXJmbG93OiBoaWRkZW47IGJveC1zaGFkb3c6IHZhcigtLWNhcmQtc2hhZG93KTsgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAuMzVzLCBib3JkZXItY29sb3IgLjNzLCB0cmFuc2Zvcm0gLjI1cywgYm94LXNoYWRvdyAuMjVzOyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XHJcbi5wcmljaW5nLW9jciAucHJpY2UtY2FyZDpob3ZlciB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNXB4KTsgYm94LXNoYWRvdzogdmFyKC0tY2FyZC1zaGFkb3ctaG92ZXIpOyB9XHJcbmh0bWwubGlnaHQgLnByaWNpbmctb2NyIC5wcmljZS1jYXJkIHsgYmFja2dyb3VuZDogI2ZmZjsgfVxyXG4ucHJpY2luZy1vY3IgLnByaWNlLWNhcmQuZmVhdHVyZWQgeyBib3JkZXItY29sb3I6IHJnYmEoMCwyMTIsMTgwLC40NSk7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNXB4KTsgYm94LXNoYWRvdzogdmFyKC0tY2FyZC1zaGFkb3ctaG92ZXIpOyB9XHJcbmh0bWwubGlnaHQgLnByaWNpbmctb2NyIC5wcmljZS1jYXJkLmZlYXR1cmVkIHsgYm9yZGVyLWNvbG9yOiByZ2JhKDAsMTIyLDEwNCwuNCk7IH1cclxuLnByaWNpbmctb2NyIC5wcmljZS1jYXJkLmZlYXR1cmVkOjpiZWZvcmUgeyBjb250ZW50OiAnJzsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDA7IGxlZnQ6IDA7IHJpZ2h0OiAwOyBoZWlnaHQ6IDJweDsgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLHZhcigtLXRlYWwpLHZhcigtLWJsdWUpKTsgfVxyXG4ucHJpY2luZy1vY3IgLnByaWNlLW9wdGltYWwgeyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMTZweDsgcmlnaHQ6IDE2cHg7IGJhY2tncm91bmQ6IHJnYmEoMCwyMTIsMTgwLC4xMik7IGNvbG9yOiB2YXIoLS10ZWFsKTsgZm9udC1zaXplOiAxMHB4OyBmb250LXdlaWdodDogNzAwOyBsZXR0ZXItc3BhY2luZzogLjVweDsgcGFkZGluZzogM3B4IDEwcHg7IGJvcmRlci1yYWRpdXM6IDIwcHg7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwyMTIsMTgwLC4zKTsgfVxyXG4ucHJpY2luZy1vY3IgLnByaWNlLXRpZXIgeyBmb250LXNpemU6IDExcHg7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IGxldHRlci1zcGFjaW5nOiAxLjVweDsgY29sb3I6IHZhcigtLXRleHQtbXV0ZWQpOyBmb250LXdlaWdodDogNjAwOyBtYXJnaW4tYm90dG9tOiA2cHg7IH1cclxuLnByaWNpbmctb2NyIC5wcmljZS1uYW1lIHsgZm9udC1zaXplOiAyMnB4OyBmb250LXdlaWdodDogODAwOyBsZXR0ZXItc3BhY2luZzogLS4zcHg7IG1hcmdpbi1ib3R0b206IDE2cHg7IH1cclxuLnByaWNpbmctb2NyIC5wcmljZS1hbW91bnQgeyBmb250LWZhbWlseTogJ1N5bmUnLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IGNsYW1wKDIycHgsMi41dncsMzBweCk7IGZvbnQtd2VpZ2h0OiA4MDA7IGxpbmUtaGVpZ2h0OiAxOyBtYXJnaW4tYm90dG9tOiA0cHg7IGxldHRlci1zcGFjaW5nOiAtMXB4OyB9XHJcbi5wcmljaW5nLW9jciAucHJpY2UtcGVyaW9kIHsgZm9udC1zaXplOiAxMnB4OyBjb2xvcjogdmFyKC0tdGV4dC1kaW0pOyBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XHJcbi5wcmljaW5nLW9jciAucHJpY2UtZGl2aWRlciB7IGhlaWdodDogMXB4OyBiYWNrZ3JvdW5kOiB2YXIoLS1ib3JkZXIpOyBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XHJcbi5wcmljaW5nLW9jciAucHJpY2UtZmVhdHVyZXMgeyBsaXN0LXN0eWxlOiBub25lOyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBnYXA6IDlweDsgZmxleDogMTsgbWFyZ2luLWJvdHRvbTogMjRweDsgfVxyXG4ucHJpY2luZy1vY3IgLnByaWNlLWZlYXR1cmVzIGxpIHsgZm9udC1zaXplOiAxM3B4OyBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyBnYXA6IDhweDsgbGluZS1oZWlnaHQ6IDEuNDsgfVxyXG4ucHJpY2luZy1vY3IgLnByaWNlLWZlYXR1cmVzIGxpIHN2ZyB7IGZsZXgtc2hyaW5rOiAwOyBtYXJnaW4tdG9wOiAycHg7IH1cclxuLnByaWNpbmctb2NyIC5wcmljZS1vdmVyYWdlIHsgZm9udC1zaXplOiAxMS41cHg7IGNvbG9yOiB2YXIoLS10ZXh0LWRpbSk7IG1hcmdpbi1ib3R0b206IDE2cHg7IHBhZGRpbmc6IDhweCAxMnB4OyBiYWNrZ3JvdW5kOiB2YXIoLS1zb2NpYWwtYmcpOyBib3JkZXItcmFkaXVzOiA4cHg7IH1cclxuLnByaWNpbmctb2NyIC5idG4tcHJpY2UgeyB3aWR0aDogMTAwJTsgcGFkZGluZzogMTJweDsgYm9yZGVyLXJhZGl1czogMTBweDsgZm9udC1zaXplOiAxNHB4OyBmb250LXdlaWdodDogNjAwOyBjdXJzb3I6IHBvaW50ZXI7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlcik7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyBjb2xvcjogdmFyKC0tdGV4dCk7IGZvbnQtZmFtaWx5OiAnRE0gU2FucycsIHNhbnMtc2VyaWY7IHRyYW5zaXRpb246IC4yczsgfVxyXG4ucHJpY2luZy1vY3IgLmJ0bi1wcmljZTpob3ZlciB7IGJvcmRlci1jb2xvcjogdmFyKC0tdGVhbCk7IGNvbG9yOiB2YXIoLS10ZWFsKTsgfVxyXG4ucHJpY2luZy1vY3IgLmJ0bi1wcmljZTphY3RpdmUgeyB0cmFuc2Zvcm06IHNjYWxlKDAuOTgpOyB9XHJcbi5wcmljaW5nLW9jciAuYnRuLXByaWNlLmN0YSB7IGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsdmFyKC0tdGVhbCksdmFyKC0tYmx1ZSkpOyBib3JkZXI6IG5vbmU7IGNvbG9yOiAjZmZmOyBhbmltYXRpb246IGN0YVB1bHNlIDIuOHMgZWFzZS1pbi1vdXQgaW5maW5pdGU7IH1cclxuLnByaWNpbmctb2NyIC5idG4tcHJpY2UuY3RhOmhvdmVyIHsgb3BhY2l0eTogLjk7IGFuaW1hdGlvbjogbm9uZTsgfVxyXG4ucHJpY2luZy1vY3IgLnByaWNlLXNhdmluZ3MgeyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGZvbnQtc2l6ZTogMTFweDsgZm9udC13ZWlnaHQ6IDYwMDsgY29sb3I6IHZhcigtLXRlYWwpOyBiYWNrZ3JvdW5kOiByZ2JhKDAsMjEyLDE4MCwuMDgpOyBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsMjEyLDE4MCwuMjIpOyBib3JkZXItcmFkaXVzOiA2cHg7IHBhZGRpbmc6IDJweCA4cHg7IG1hcmdpbi1ib3R0b206IDEycHg7IH1cclxuLnByaWNpbmctb2NyIC5wcmljZS1zYXZpbmdzIGRlbCB7IGNvbG9yOiB2YXIoLS10ZXh0LWRpbSk7IGZvbnQtd2VpZ2h0OiA0MDA7IH1cclxuXHJcbi8qIGNvbXBhcmlzb24gdGFibGUgKi9cclxuLmNvbXBhcmUtd3JhcCB7IG92ZXJmbG93OiBhdXRvOyBib3JkZXItcmFkaXVzOiAxNHB4OyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXIpOyBib3gtc2hhZG93OiB2YXIoLS1jYXJkLXNoYWRvdyk7IG1hcmdpbi1ib3R0b206IDMycHg7IH1cclxuLmNvbXBhcmUtd3JhcCB0YWJsZSB7IHdpZHRoOiAxMDAlOyBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOyBtaW4td2lkdGg6IDYwMHB4OyB9XHJcbi5jb21wYXJlLXdyYXAgdGhlYWQgdGggeyBwYWRkaW5nOiAxNHB4IDE4cHg7IGZvbnQtc2l6ZTogMTJweDsgZm9udC13ZWlnaHQ6IDcwMDsgdGV4dC1hbGlnbjogY2VudGVyOyBmb250LWZhbWlseTogJ1N5bmUnLCBzYW5zLXNlcmlmOyBsZXR0ZXItc3BhY2luZzogLjNweDsgYmFja2dyb3VuZDogdmFyKC0tY2FyZCk7IGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1ib3JkZXIpOyB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XHJcbi5jb21wYXJlLXdyYXAgdGhlYWQgdGg6Zmlyc3QtY2hpbGQgeyB0ZXh0LWFsaWduOiBsZWZ0OyBjb2xvcjogdmFyKC0tdGV4dC1kaW0pOyB9XHJcbi5jb21wYXJlLXdyYXAgdGhlYWQgdGguZmVhdCB7IGNvbG9yOiB2YXIoLS10ZWFsKTsgfVxyXG4uY29tcGFyZS13cmFwIHRib2R5IHRyOm50aC1jaGlsZChvZGQpIHsgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwuMDEpOyB9XHJcbmh0bWwubGlnaHQgLmNvbXBhcmUtd3JhcCB0Ym9keSB0cjpudGgtY2hpbGQob2RkKSB7IGJhY2tncm91bmQ6IHJnYmEoMTMsMzAsNjAsLjAxKTsgfVxyXG4uY29tcGFyZS13cmFwIHRib2R5IHRyIHsgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWJvcmRlcik7IH1cclxuLmNvbXBhcmUtd3JhcCB0Ym9keSB0ZCB7IHBhZGRpbmc6IDEycHggMThweDsgZm9udC1zaXplOiAxM3B4OyBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7IHRleHQtYWxpZ246IGNlbnRlcjsgfVxyXG4uY29tcGFyZS13cmFwIHRib2R5IHRkOmZpcnN0LWNoaWxkIHsgdGV4dC1hbGlnbjogbGVmdDsgY29sb3I6IHZhcigtLXRleHQpOyBmb250LXdlaWdodDogNTAwOyB9XHJcbi5jb21wYXJlLXdyYXAgLnZhbC15ZXMgeyBjb2xvcjogdmFyKC0tdGVhbCk7IGZvbnQtd2VpZ2h0OiA2MDA7IH1cclxuLmNvbXBhcmUtd3JhcCAudmFsLW5vIHsgY29sb3I6IHZhcigtLXRleHQtZGltKTsgfVxyXG4uY29tcGFyZS13cmFwIC52YWwtYm9sZCB7IGNvbG9yOiB2YXIoLS10ZXh0KTsgZm9udC13ZWlnaHQ6IDYwMDsgfVxyXG4uY29tcGFyZS1kb3dubG9hZCB7IHRleHQtYWxpZ246IGNlbnRlcjsgfVxyXG5cclxuLyog4pSA4pSAICNmZWF0dXJlcyDilIDilIAgKi9cclxuLmZlYXR1cmVzLW9jciB7IHBhZGRpbmc6IDUwcHggMDsgfVxyXG4uZmVhdHVyZXMtb2NyIC5jZW50ZXIgeyBtYXJnaW4tYm90dG9tOiA1NnB4OyB9XHJcbi5mZWF0dXJlcy1vY3IgLmZlYXR1cmVzLWdyaWQgeyBkaXNwbGF5OiBncmlkOyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLDFmcik7IGdhcDogMjBweDsgfVxyXG4uZmVhdHVyZXMtb2NyIC5mZWF0LWNhcmQgeyBiYWNrZ3JvdW5kOiB2YXIoLS1jYXJkKTsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyKTsgYm9yZGVyLXJhZGl1czogMTZweDsgcGFkZGluZzogMjhweDsgYm94LXNoYWRvdzogdmFyKC0tY2FyZC1zaGFkb3cpOyB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIC4zNXMsIGJvcmRlci1jb2xvciAuM3MsIHRyYW5zZm9ybSAuMjVzLCBib3gtc2hhZG93IC4yNXM7IH1cclxuLmZlYXR1cmVzLW9jciAuZmVhdC1jYXJkOmhvdmVyIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00cHgpOyBib3gtc2hhZG93OiB2YXIoLS1jYXJkLXNoYWRvdy1ob3Zlcik7IGJvcmRlci1jb2xvcjogcmdiYSgwLDIxMiwxODAsLjIpOyB9XHJcbmh0bWwubGlnaHQgLmZlYXR1cmVzLW9jciAuZmVhdC1jYXJkIHsgYmFja2dyb3VuZDogI2ZmZjsgfVxyXG4uZmVhdHVyZXMtb2NyIC5mZWF0LWljb24geyBmb250LXNpemU6IDI4cHg7IG1hcmdpbi1ib3R0b206IDE0cHg7IH1cclxuLmZlYXR1cmVzLW9jciAuZmVhdC10aXRsZSB7IGZvbnQtc2l6ZTogMThweDsgZm9udC13ZWlnaHQ6IDcwMDsgbGV0dGVyLXNwYWNpbmc6IC0uMnB4OyBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XHJcbi5mZWF0dXJlcy1vY3IgLmZlYXQtbGlzdCB7IGxpc3Qtc3R5bGU6IG5vbmU7IGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGdhcDogN3B4OyB9XHJcbi5mZWF0dXJlcy1vY3IgLmZlYXQtbGlzdCBsaSB7IGZvbnQtc2l6ZTogMTMuNXB4OyBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyBnYXA6IDhweDsgbGluZS1oZWlnaHQ6IDEuNDU7IH1cclxuLmZlYXR1cmVzLW9jciAuZmVhdC1saXN0IGxpOjpiZWZvcmUgeyBjb250ZW50OiAnwrcnOyBjb2xvcjogdmFyKC0tdGVhbCk7IGZvbnQtc2l6ZTogMThweDsgbGluZS1oZWlnaHQ6IDE7IGZsZXgtc2hyaW5rOiAwOyBtYXJnaW4tdG9wOiAtMXB4OyB9XHJcblxyXG4vKiDilIDilIAgI2RlbW8g4pSA4pSAICovXHJcbi5kZW1vLW9jciB7IHBhZGRpbmc6IDUwcHggMDsgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZyx0cmFuc3BhcmVudCAwJSxyZ2JhKDEwLDE4LDMyLC40KSAxMDAlKTsgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAuMzVzOyB9XHJcbmh0bWwubGlnaHQgLmRlbW8tb2NyIHsgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZyx0cmFuc3BhcmVudCAwJSxyZ2JhKDIzOCwyNDIsMjQ5LC44KSAxMDAlKTsgfVxyXG4uZGVtby1vY3IgLmRlbW8taGVhZGVyIHsgdGV4dC1hbGlnbjogY2VudGVyOyBtYXJnaW4tYm90dG9tOiA0OHB4OyB9XHJcbi5kZW1vLW9jciAuZGVtby1oZWFkZXIgLnNlY3Rpb24tc3ViIHsgbWFyZ2luOiAwIGF1dG87IH1cclxuLmRlbW8tb2NyIC5kZW1vLWNhcmQgeyBtYXgtd2lkdGg6IDc4MHB4OyBtYXJnaW46IDAgYXV0bzsgYmFja2dyb3VuZDogdmFyKC0tYmczKTsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyKTsgYm9yZGVyLXJhZGl1czogMjBweDsgcGFkZGluZzogNDBweDsgYm94LXNoYWRvdzogdmFyKC0tY2FyZC1zaGFkb3cpOyB9XHJcbmh0bWwubGlnaHQgLmRlbW8tb2NyIC5kZW1vLWNhcmQgeyBiYWNrZ3JvdW5kOiAjZmZmOyBib3gtc2hhZG93OiAwIDI0cHggNjBweCAtMTZweCByZ2JhKDEzLDMwLDYwLC4xKTsgfVxyXG5cclxuLmRlbW8tb2NyIC5kZW1vLWRyb3AgeyBib3JkZXI6IDJweCBkYXNoZWQgcmdiYSgwLDIxMiwxODAsLjMpOyBib3JkZXItcmFkaXVzOiAxNHB4OyBwYWRkaW5nOiA0MHB4OyB0ZXh0LWFsaWduOiBjZW50ZXI7IGN1cnNvcjogcG9pbnRlcjsgdHJhbnNpdGlvbjogLjNzOyBiYWNrZ3JvdW5kOiByZ2JhKDAsMjEyLDE4MCwuMDIpOyBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XHJcbi5kZW1vLW9jciAuZGVtby1kcm9wOmhvdmVyLFxyXG4uZGVtby1vY3IgLmRlbW8tZHJvcC5kcmFnb3ZlciB7IGJvcmRlci1jb2xvcjogdmFyKC0tdGVhbCk7IGJhY2tncm91bmQ6IHJnYmEoMCwyMTIsMTgwLC4wNik7IH1cclxuLmRlbW8tb2NyIC5kZW1vLWRyb3AtaWNvbiB7IGZvbnQtc2l6ZTogMzZweDsgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxyXG4uZGVtby1vY3IgLmRlbW8tZHJvcC10aXRsZSB7IGZvbnQtc2l6ZTogMTZweDsgZm9udC13ZWlnaHQ6IDYwMDsgbWFyZ2luLWJvdHRvbTogNnB4OyBjb2xvcjogdmFyKC0tdGV4dCk7IH1cclxuLmRlbW8tb2NyIC5kZW1vLWRyb3Atc3ViIHsgZm9udC1zaXplOiAxM3B4OyBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7IG1hcmdpbi1ib3R0b206IDE0cHg7IH1cclxuLmRlbW8tb2NyIC5kZW1vLWRyb3AtYnRuIHsgZGlzcGxheTogaW5saW5lLWZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogOHB4OyBwYWRkaW5nOiA5cHggMjBweDsgYm9yZGVyLXJhZGl1czogOHB4OyBiYWNrZ3JvdW5kOiB2YXIoLS1zb2NpYWwtYmcpOyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXIpOyBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7IGZvbnQtc2l6ZTogMTNweDsgZm9udC13ZWlnaHQ6IDUwMDsgY3Vyc29yOiBwb2ludGVyOyB0cmFuc2l0aW9uOiAuMnM7IGZvbnQtZmFtaWx5OiAnRE0gU2FucycsIHNhbnMtc2VyaWY7IH1cclxuLmRlbW8tb2NyIC5kZW1vLWRyb3AtYnRuOmhvdmVyIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS10ZWFsKTsgY29sb3I6IHZhcigtLXRlYWwpOyB9XHJcbi5kZW1vLW9jciAuZGVtby1maWxldHlwZXMgeyBmb250LXNpemU6IDExLjVweDsgY29sb3I6IHZhcigtLXRleHQtZGltKTsgbWFyZ2luLXRvcDogMTBweDsgfVxyXG5cclxuLmRlbW8tb2NyIC5kZW1vLW9wdGlvbnMgeyBkaXNwbGF5OiBncmlkOyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7IGdhcDogMTBweDsgbWFyZ2luLWJvdHRvbTogMjRweDsgfVxyXG4uZGVtby1vY3IgLmRlbW8tY2hlY2sgeyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDEwcHg7IHBhZGRpbmc6IDExcHggMTRweDsgYm9yZGVyLXJhZGl1czogMTBweDsgYmFja2dyb3VuZDogdmFyKC0tc29jaWFsLWJnKTsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyKTsgY3Vyc29yOiBwb2ludGVyOyBmb250LXNpemU6IDEzLjVweDsgY29sb3I6IHZhcigtLXRleHQtbXV0ZWQpOyB0cmFuc2l0aW9uOiAuMnM7IHVzZXItc2VsZWN0OiBub25lOyB9XHJcbi5kZW1vLW9jciAuZGVtby1jaGVjazpob3ZlciB7IGJvcmRlci1jb2xvcjogcmdiYSgwLDIxMiwxODAsLjMpOyBjb2xvcjogdmFyKC0tdGV4dCk7IH1cclxuLmRlbW8tb2NyIC5kZW1vLWNoZWNrIGlucHV0W3R5cGU9Y2hlY2tib3hdIHsgd2lkdGg6IDE2cHg7IGhlaWdodDogMTZweDsgYWNjZW50LWNvbG9yOiB2YXIoLS10ZWFsKTsgY3Vyc29yOiBwb2ludGVyOyBmbGV4LXNocmluazogMDsgfVxyXG4uZGVtby1vY3IgLmRlbW8tcnVuIHsgd2lkdGg6IDEwMCU7IHBhZGRpbmc6IDE0cHg7IGJvcmRlci1yYWRpdXM6IDEycHg7IGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsdmFyKC0tdGVhbCksdmFyKC0tYmx1ZSkpOyBjb2xvcjogI2ZmZjsgZm9udC1zaXplOiAxNXB4OyBmb250LXdlaWdodDogNzAwOyBib3JkZXI6IG5vbmU7IGN1cnNvcjogcG9pbnRlcjsgZm9udC1mYW1pbHk6ICdETSBTYW5zJywgc2Fucy1zZXJpZjsgdHJhbnNpdGlvbjogLjJzOyBtYXJnaW4tYm90dG9tOiA4cHg7IH1cclxuLmRlbW8tb2NyIC5kZW1vLXJ1bjpob3ZlciB7IG9wYWNpdHk6IC45OyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7IH1cclxuLmRlbW8tb2NyIC5kZW1vLXJ1bjphY3RpdmUgeyB0cmFuc2Zvcm06IHNjYWxlKDAuOTkpOyB9XHJcblxyXG4uZGVtby1vY3IgLmRlbW8tcmVzdWx0IHsgZGlzcGxheTogbm9uZTsgbWFyZ2luLXRvcDogMjRweDsgYW5pbWF0aW9uOiBmYWRlSW4gLjRzIGVhc2U7IH1cclxuLmRlbW8tb2NyIC5kZW1vLXJlc3VsdC5zaG93IHsgZGlzcGxheTogYmxvY2s7IH1cclxuQGtleWZyYW1lcyBmYWRlSW4geyBmcm9te29wYWNpdHk6MDt0cmFuc2Zvcm06dHJhbnNsYXRlWSgxMHB4KX0gdG97b3BhY2l0eToxO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApfSB9XHJcbi5kZW1vLW9jciAuZGVtby1yZXN1bHQtaGVhZGVyIHsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiA4cHg7IGZvbnQtc2l6ZTogMTRweDsgZm9udC13ZWlnaHQ6IDYwMDsgY29sb3I6IHZhcigtLXRlYWwpOyBtYXJnaW4tYm90dG9tOiAxMnB4OyB9XHJcbi5kZW1vLW9jciAuZGVtby1qc29uIHsgYmFja2dyb3VuZDogdmFyKC0tdGVybWluYWwtYmcpOyBib3JkZXItcmFkaXVzOiAxMHB4OyBwYWRkaW5nOiAxNnB4OyBmb250LWZhbWlseTogbW9ub3NwYWNlOyBmb250LXNpemU6IDEyLjVweDsgbGluZS1oZWlnaHQ6IDEuNzsgY29sb3I6ICM2ZWU3Yjc7IGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwyMTIsMTgwLC4xNSk7IHdoaXRlLXNwYWNlOiBwcmU7IG92ZXJmbG93LXg6IGF1dG87IG1hcmdpbi1ib3R0b206IDE2cHg7IH1cclxuLmRlbW8tb2NyIC5kZW1vLXJlc3VsdC1hY3Rpb25zIHsgZGlzcGxheTogZmxleDsgZ2FwOiAxMHB4OyBmbGV4LXdyYXA6IHdyYXA7IH1cclxuLmRlbW8tb2NyIC5kZW1vLXJlc3VsdC1hY3Rpb25zIC5idG4tZ2hvc3QgeyBmb250LXNpemU6IDEzcHg7IHBhZGRpbmc6IDhweCAxNnB4OyB9XHJcbi5kZW1vLW9jciAuZGVtby1kaXNjbGFpbWVyIHsgbWFyZ2luLXRvcDogMjBweDsgZm9udC1zaXplOiAxMnB4OyBjb2xvcjogdmFyKC0tdGV4dC1kaW0pOyB0ZXh0LWFsaWduOiBjZW50ZXI7IGxpbmUtaGVpZ2h0OiAxLjY7IHBhZGRpbmc6IDEycHg7IGJvcmRlci1yYWRpdXM6IDhweDsgYmFja2dyb3VuZDogcmdiYSgwLDIxMiwxODAsLjAzKTsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyKTsgfVxyXG4uZGVtby1vY3IgLmRlbW8td2FybiB7IGRpc3BsYXk6IG5vbmU7IHBhZGRpbmc6IDEwcHggMTZweDsgYm9yZGVyLXJhZGl1czogOHB4OyBiYWNrZ3JvdW5kOiByZ2JhKDIzOSw2OCw2OCwuMDgpOyBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDIzOSw2OCw2OCwuMik7IGNvbG9yOiAjZjg3MTcxOyBmb250LXNpemU6IDEzcHg7IG1hcmdpbi1ib3R0b206IDEycHg7IH1cclxuLmRlbW8tb2NyIC5kZW1vLXdhcm4uc2hvdyB7IGRpc3BsYXk6IGJsb2NrOyB9XHJcbmh0bWwubGlnaHQgLmRlbW8tb2NyIC5kZW1vLXdhcm4geyBjb2xvcjogI2RjMjYyNjsgfVxyXG5cclxuLyog4pSA4pSAICNmYXEg4pSA4pSAICovXHJcbi5mYXEtb2NyIHsgcGFkZGluZzogNTBweCAwOyB9XHJcbi5mYXEtb2NyIC5jZW50ZXIgeyBtYXJnaW4tYm90dG9tOiA0OHB4OyB9XHJcbi5mYXEtb2NyIC5mYXEtbGlzdCB7IG1heC13aWR0aDogNzYwcHg7IG1hcmdpbjogMCBhdXRvOyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBnYXA6IDA7IH1cclxuLmZhcS1vY3IgLmZhcS1pdGVtIHsgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJvcmRlcik7IH1cclxuLmZhcS1vY3IgLmZhcS1pdGVtOmZpcnN0LWNoaWxkIHsgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWJvcmRlcik7IH1cclxuLmZhcS1vY3IgLmZhcS1xIHsgZGlzcGxheTogZmxleDsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyBhbGlnbi1pdGVtczogY2VudGVyOyBwYWRkaW5nOiAyMHB4IDA7IGN1cnNvcjogcG9pbnRlcjsgZm9udC1zaXplOiAxNnB4OyBmb250LXdlaWdodDogNjAwOyBjb2xvcjogdmFyKC0tdGV4dCk7IGdhcDogMTZweDsgdHJhbnNpdGlvbjogY29sb3IgLjJzOyB9XHJcbi5mYXEtb2NyIC5mYXEtcTpob3ZlciB7IGNvbG9yOiB2YXIoLS10ZWFsKTsgfVxyXG4uZmFxLW9jciAuZmFxLWljb24geyB3aWR0aDogMjRweDsgaGVpZ2h0OiAyNHB4OyBib3JkZXItcmFkaXVzOiA1MCU7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlcik7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogY2VudGVyOyBmbGV4LXNocmluazogMDsgZm9udC1zaXplOiAxNHB4OyBjb2xvcjogdmFyKC0tdGV4dC1kaW0pOyB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjNzLCBib3JkZXItY29sb3IgLjJzLCBiYWNrZ3JvdW5kIC4yczsgfVxyXG4uZmFxLW9jciAuZmFxLWl0ZW0ub3BlbiAuZmFxLWljb24geyB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7IGJvcmRlci1jb2xvcjogdmFyKC0tdGVhbCk7IGNvbG9yOiB2YXIoLS10ZWFsKTsgYmFja2dyb3VuZDogcmdiYSgwLDIxMiwxODAsLjA4KTsgfVxyXG4uZmFxLW9jciAuZmFxLWEgeyBtYXgtaGVpZ2h0OiAwOyBvdmVyZmxvdzogaGlkZGVuOyB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IC4zNXMgZWFzZSwgcGFkZGluZyAuM3MgZWFzZTsgfVxyXG4uZmFxLW9jciAuZmFxLWl0ZW0ub3BlbiAuZmFxLWEgeyBtYXgtaGVpZ2h0OiAzMDBweDsgfVxyXG4uZmFxLW9jciAuZmFxLWEgcCB7IHBhZGRpbmctYm90dG9tOiAyMHB4OyBmb250LXNpemU6IDE0LjVweDsgY29sb3I6IHZhcigtLXRleHQtbXV0ZWQpOyBsaW5lLWhlaWdodDogMS43OyB9XHJcblxyXG4vKiDilIDilIAgUkVTUE9OU0lWRSDilIDilIAgKi9cclxuQG1lZGlhIChtYXgtd2lkdGg6IDEwMjRweCkge1xyXG4gIC5wcmljaW5nLW9jciAucHJpY2luZy1ncmlkIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwxZnIpOyB9XHJcbiAgLnByaWNpbmctb2NyIC5wcmljZS1jYXJkLmZlYXR1cmVkIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XHJcbiAgLnByaWNpbmctb2NyIC5wcmljZS1jYXJkLmZlYXR1cmVkOmhvdmVyIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01cHgpOyB9XHJcbn1cclxuQG1lZGlhIChtYXgtd2lkdGg6IDkwMHB4KSB7XHJcbiAgLmhlcm8tb2NyIC5oZXJvLWlubmVyIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7IGdhcDogNDBweDsgfVxyXG4gIC5oZXJvLW9jciAuaGVyby1yaWdodCB7IGRpc3BsYXk6IG5vbmU7IHBhZGRpbmctdG9wOiAwOyB9XHJcbiAgLnRyaWFsLWNhcmQgeyBwYWRkaW5nOiAzMnB4IDI0cHg7IH1cclxuICAudHJpYWwtY2FyZC1ncmlke2dyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOyBnYXA6IDMycHg7IH1cclxuICAuZmVhdHVyZXMtb2NyIC5mZWF0dXJlcy1ncmlkIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7IH1cclxuICAucHJpY2luZy1vY3IgLnByaWNpbmctZ3JpZCB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOyB9XHJcbiAgLmRlbW8tb2NyIC5kZW1vLW9wdGlvbnMgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsgfVxyXG4gICNjdGEtZmluYWwgeyBwYWRkaW5nOiA4MHB4IDIwcHg7IH1cclxufVxyXG4iLCIvKiDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZBcclxuICAgcHJvdmlzaW9uLWxhbmRpbmcuaHRtbCDigJQgc2VjdGlvbnNcclxu4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQICovXHJcblxyXG4vKiDilIDilIAgI2hlcm8g4pSA4pSAICovXHJcbiNoZXJvIHsgcG9zaXRpb246IHJlbGF0aXZlOyBtaW4taGVpZ2h0OiAxMDB2aDsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgcGFkZGluZzogMTIwcHggNDhweCA4MHB4OyBvdmVyZmxvdzogaGlkZGVuOyB9XHJcbi5oZXJvLWdsb3cgeyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogLTIwMHB4OyBsZWZ0OiA1MCU7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgd2lkdGg6IDkwMHB4OyBoZWlnaHQ6IDcwMHB4OyBib3JkZXItcmFkaXVzOiA1MCU7IGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudChlbGxpcHNlLHJnYmEoMCwyMTIsMTgwLC4wOCkgMCUscmdiYSgyNiwxMDgsMjQ2LC4wNSkgNDAlLHRyYW5zcGFyZW50IDcwJSk7IHBvaW50ZXItZXZlbnRzOiBub25lOyB9XHJcbi5oZXJvLWlubmVyIHsgcG9zaXRpb246IHJlbGF0aXZlOyB6LWluZGV4OiAxOyBtYXgtd2lkdGg6IDEyMDBweDsgbWFyZ2luOiAwIGF1dG87IHdpZHRoOiAxMDAlOyBkaXNwbGF5OiBncmlkOyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7IGdhcDogODBweDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxyXG4uaGVyby1iYWRnZSB7IGRpc3BsYXk6IGlubGluZS1mbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDhweDsgcGFkZGluZzogNnB4IDE0cHg7IGJvcmRlci1yYWRpdXM6IDEwMHB4OyBiYWNrZ3JvdW5kOiByZ2JhKDAsMjEyLDE4MCwuMDgpOyBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsMjEyLDE4MCwuMjIpOyBmb250LXNpemU6IDExLjVweDsgZm9udC13ZWlnaHQ6IDYwMDsgY29sb3I6IHZhcigtLXRlYWwpOyBtYXJnaW4tYm90dG9tOiAyNnB4OyBsZXR0ZXItc3BhY2luZzogMS4ycHg7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cclxuLmhlcm8tYmFkZ2U6OmJlZm9yZSB7IGNvbnRlbnQ6ICcnOyB3aWR0aDogNnB4OyBoZWlnaHQ6IDZweDsgYm9yZGVyLXJhZGl1czogNTAlOyBiYWNrZ3JvdW5kOiB2YXIoLS10ZWFsKTsgYm94LXNoYWRvdzogMCAwIDhweCB2YXIoLS10ZWFsKTsgYW5pbWF0aW9uOiBwdWxzZSAycyBpbmZpbml0ZTsgfVxyXG5Aa2V5ZnJhbWVzIHB1bHNlIHsgMCUsMTAwJXtvcGFjaXR5OjF9IDUwJXtvcGFjaXR5Oi40fSB9XHJcblxyXG5oMS5oZXJvLWgxIHsgZm9udC1zaXplOiBjbGFtcCg0MnB4LDV2dyw2NnB4KTsgZm9udC13ZWlnaHQ6IDgwMDsgbGluZS1oZWlnaHQ6IDEuMDQ7IGxldHRlci1zcGFjaW5nOiAtMnB4OyBtYXJnaW4tYm90dG9tOiAyMnB4OyB9XHJcbi5oZXJvLWgxIC5ncmFkIHsgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDExMGRlZyx2YXIoLS10ZWFsKSAxMCUsdmFyKC0tYmx1ZSkgODUlKTsgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7IGJhY2tncm91bmQtY2xpcDogdGV4dDsgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IHRyYW5zcGFyZW50OyBjb2xvcjogdHJhbnNwYXJlbnQ7IH1cclxuLmhlcm8taDEgLmVtcGggeyBjb2xvcjogdmFyKC0tdGV4dCk7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxyXG4uaGVyby1oMSAuZW1waDo6YWZ0ZXIgeyBjb250ZW50OiAnJzsgcG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiAwOyByaWdodDogMDsgYm90dG9tOiAwLjA2ZW07IGhlaWdodDogMC4xNGVtOyBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsdmFyKC0tdGVhbCksdmFyKC0tYmx1ZSkpOyBvcGFjaXR5OiAuMTg7IGJvcmRlci1yYWRpdXM6IDRweDsgfVxyXG4uaGVyby1zdWIgeyBmb250LXNpemU6IDE3cHg7IGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTsgZm9udC13ZWlnaHQ6IDMwMDsgbGluZS1oZWlnaHQ6IDEuNzsgbWFyZ2luLWJvdHRvbTogMzZweDsgbWF4LXdpZHRoOiA0ODBweDsgdGV4dC13cmFwOiBwcmV0dHk7IH1cclxuLmhlcm8tY3RhIHsgZGlzcGxheTogZmxleDsgZ2FwOiAxMnB4OyBmbGV4LXdyYXA6IHdyYXA7IG1hcmdpbi1ib3R0b206IDM2cHg7IH1cclxuXHJcbi50cnVzdC1iYWRnZXMgeyBkaXNwbGF5OiBmbGV4OyBmbGV4LXdyYXA6IHdyYXA7IGdhcDogMThweDsgZm9udC1zaXplOiAxMi41cHg7IGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTsgcGFkZGluZy10b3A6IDIwcHg7IGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXIpOyBtYXgtd2lkdGg6IDUyMHB4OyB9XHJcbi50cnVzdC1iYWRnZXMgc3BhbiB7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogNnB4OyB9XHJcbi50cnVzdC1iYWRnZXMgLmNoZWNrIHsgY29sb3I6IHZhcigtLXRlYWwpOyB9XHJcblxyXG4vKiBoZXJvIGNhcmQgKi9cclxuLmhlcm8tdmlzdWFsIHsgcG9zaXRpb246IHJlbGF0aXZlOyB9XHJcbi5oZXJvLXZpc3VhbDo6YmVmb3JlIHsgY29udGVudDogJyc7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgaW5zZXQ6IC02MHB4IC00MHB4OyB6LWluZGV4OiAwOyBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoZWxsaXBzZSA3MCUgNjAlIGF0IDUwJSA1MCUsIHJnYmEoMCwyMTIsMTgwLC4xOCkgMCUsIHJnYmEoMjYsMTA4LDI0NiwuMTIpIDM1JSwgdHJhbnNwYXJlbnQgNzAlKTsgZmlsdGVyOiBibHVyKDMwcHgpOyBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxyXG5odG1sLmxpZ2h0IC5oZXJvLXZpc3VhbDo6YmVmb3JlIHsgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KGVsbGlwc2UgNzAlIDYwJSBhdCA1MCUgNTAlLCByZ2JhKDAsMTIyLDEwNCwuMTIpIDAlLCByZ2JhKDIxLDgwLDE5MiwuMDgpIDM1JSwgdHJhbnNwYXJlbnQgNzAlKTsgfVxyXG5cclxuLmhlcm8tY2FyZCB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgei1pbmRleDogMTsgYmFja2dyb3VuZDogdmFyKC0tYmczKTsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyKTsgYm9yZGVyLXJhZGl1czogMTZweDsgcGFkZGluZzogMjRweDsgb3ZlcmZsb3c6IGhpZGRlbjsgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAuMzVzLCBib3JkZXItY29sb3IgLjM1czsgYm94LXNoYWRvdzogMCAyMHB4IDYwcHggLTIwcHggcmdiYSgwLDAsMCwwLjQpOyB9XHJcbmh0bWwubGlnaHQgLmhlcm8tY2FyZCB7IGJveC1zaGFkb3c6IDAgMjBweCA2MHB4IC0yMHB4IHJnYmEoMTMsMzAsNjAsMC4xNSk7IH1cclxuLmhlcm8tY2FyZDo6YmVmb3JlIHsgY29udGVudDogJyc7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAwOyBsZWZ0OiAwOyByaWdodDogMDsgaGVpZ2h0OiAxcHg7IGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZyx0cmFuc3BhcmVudCx2YXIoLS10ZWFsKSx0cmFuc3BhcmVudCk7IH1cclxuLmhlcm8tY2FyZC1oZWFkZXIgeyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IGZvbnQtc2l6ZTogMTFweDsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgbGV0dGVyLXNwYWNpbmc6IDEuNXB4OyBjb2xvcjogdmFyKC0tdGV4dC1kaW0pOyBtYXJnaW4tYm90dG9tOiAxNnB4OyBmb250LXdlaWdodDogNjAwOyB9XHJcbi5oZXJvLWNhcmQtaGVhZGVyIC5saXZlIHsgZGlzcGxheTogaW5saW5lLWZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogNnB4OyBjb2xvcjogdmFyKC0tdGVhbCk7IH1cclxuLmhlcm8tY2FyZC1oZWFkZXIgLmxpdmU6OmJlZm9yZSB7IGNvbnRlbnQ6ICcnOyB3aWR0aDogNnB4OyBoZWlnaHQ6IDZweDsgYm9yZGVyLXJhZGl1czogNTAlOyBiYWNrZ3JvdW5kOiB2YXIoLS10ZWFsKTsgYm94LXNoYWRvdzogMCAwIDZweCB2YXIoLS10ZWFsKTsgYW5pbWF0aW9uOiBwdWxzZSAxLjVzIGluZmluaXRlOyB9XHJcblxyXG4uZG9jLWZsb3cgeyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBnYXA6IDEycHg7IH1cclxuLmRvYy1yb3cgeyBwb3NpdGlvbjogcmVsYXRpdmU7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogMTJweDsgcGFkZGluZzogMTBweCAxNHB4OyBib3JkZXItcmFkaXVzOiAxMHB4OyBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LC4wMyk7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlcik7IHRyYW5zaXRpb246IGJhY2tncm91bmQgLjM1cywgYm9yZGVyLWNvbG9yIC4zNXM7IG92ZXJmbG93OiBoaWRkZW47IH1cclxuaHRtbC5saWdodCAuZG9jLXJvdyB7IGJhY2tncm91bmQ6IHJnYmEoMTMsMzAsNjAsLjAzKTsgfVxyXG4uZG9jLXJvdy5zY2FubmluZzo6YWZ0ZXIgeyBjb250ZW50OiAnJzsgcG9zaXRpb246IGFic29sdXRlOyBpbnNldDogMDsgcG9pbnRlci1ldmVudHM6IG5vbmU7IGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZyx0cmFuc3BhcmVudCAwJSxyZ2JhKDAsMjEyLDE4MCwwKSA0MCUscmdiYSgwLDIxMiwxODAsLjIyKSA1MCUscmdiYSgwLDIxMiwxODAsMCkgNjAlLHRyYW5zcGFyZW50IDEwMCUpOyBhbmltYXRpb246IHNjYW4gMi4ycyBsaW5lYXIgaW5maW5pdGU7IH1cclxuQGtleWZyYW1lcyBzY2FuIHsgMCV7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTEwMCUpO30gMTAwJXt0cmFuc2Zvcm06dHJhbnNsYXRlWCgxMDAlKTt9IH1cclxuXHJcbi5kb2MtaWNvbiB7IHdpZHRoOiAzNHB4OyBoZWlnaHQ6IDM0cHg7IGJvcmRlci1yYWRpdXM6IDhweDsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IGZvbnQtc2l6ZTogMTZweDsgZmxleC1zaHJpbms6IDA7IH1cclxuLmRvYy1pY29uLnBkZiB7IGJhY2tncm91bmQ6IHJnYmEoMjU1LDgwLDgwLC4xNSk7IH1cclxuLmRvYy1pY29uLmltZyB7IGJhY2tncm91bmQ6IHJnYmEoMjYsMTA4LDI0NiwuMTUpOyB9XHJcbi5kb2MtaWNvbi54bHMgeyBiYWNrZ3JvdW5kOiByZ2JhKDAsMjEyLDE4MCwuMTIpOyB9XHJcbi5kb2MtaW5mbyB7IGZsZXg6IDE7IG1pbi13aWR0aDogMDsgfVxyXG4uZG9jLW5hbWUgeyBmb250LXNpemU6IDEzcHg7IGZvbnQtd2VpZ2h0OiA1MDA7IG1hcmdpbi1ib3R0b206IDJweDsgfVxyXG4uZG9jLXNpemUgeyBmb250LXNpemU6IDExcHg7IGNvbG9yOiB2YXIoLS10ZXh0LWRpbSk7IH1cclxuLmRvYy1zdGF0dXMgeyBmb250LXNpemU6IDExcHg7IGZvbnQtd2VpZ2h0OiA2MDA7IHBhZGRpbmc6IDNweCAxMHB4OyBib3JkZXItcmFkaXVzOiAyMHB4OyB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XHJcbi5kb2Mtc3RhdHVzLmRvbmUgeyBiYWNrZ3JvdW5kOiByZ2JhKDAsMjEyLDE4MCwuMTIpOyBjb2xvcjogdmFyKC0tdGVhbCk7IH1cclxuLmRvYy1zdGF0dXMucHJvYyB7IGJhY2tncm91bmQ6IHJnYmEoMjYsMTA4LDI0NiwuMTQpOyBjb2xvcjogdmFyKC0tYmx1ZSk7IH1cclxuXHJcbi5leHRyYWN0ZWQtZmllbGRzIHsgZGlzcGxheTogZ3JpZDsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyOyBnYXA6IDhweDsgbWFyZ2luLXRvcDogMTRweDsgfVxyXG4uZmllbGQgeyBiYWNrZ3JvdW5kOiByZ2JhKDAsMjEyLDE4MCwuMDUpOyBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsMjEyLDE4MCwuMTIpOyBib3JkZXItcmFkaXVzOiA4cHg7IHBhZGRpbmc6IDEwcHggMTJweDsgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAuMzVzOyB9XHJcbi5maWVsZC1sYWJlbCB7IGZvbnQtc2l6ZTogMTBweDsgY29sb3I6IHZhcigtLXRlYWwpOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBsZXR0ZXItc3BhY2luZzogLjVweDsgbWFyZ2luLWJvdHRvbTogNHB4OyBmb250LXdlaWdodDogNjAwOyB9XHJcbi5maWVsZC12YWx1ZSB7IGZvbnQtc2l6ZTogMTNweDsgZm9udC13ZWlnaHQ6IDUwMDsgfVxyXG5cclxuLmFjY3VyYWN5LWJhciB7IG1hcmdpbi10b3A6IDEycHg7IHBhZGRpbmc6IDEwcHggMTRweDsgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwuMDIpOyBib3JkZXItcmFkaXVzOiAxMHB4OyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXIpOyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDEycHg7IHRyYW5zaXRpb246IGJhY2tncm91bmQgLjM1czsgfVxyXG5odG1sLmxpZ2h0IC5hY2N1cmFjeS1iYXIgeyBiYWNrZ3JvdW5kOiByZ2JhKDEzLDMwLDYwLC4wMik7IH1cclxuLmFjYy1sYWJlbCB7IGZvbnQtc2l6ZTogMTJweDsgY29sb3I6IHZhcigtLXRleHQtbXV0ZWQpOyBmbGV4OiAxOyB9XHJcbi5hY2MtbnVtIHsgZm9udC1zaXplOiAxOHB4OyBmb250LXdlaWdodDogNzAwOyBjb2xvcjogdmFyKC0tdGVhbCk7IGZvbnQtZmFtaWx5OiAnU3luZScsIHNhbnMtc2VyaWY7IH1cclxuLmFjYy1iYXItd3JhcCB7IGZsZXg6IDE7IGhlaWdodDogNHB4OyBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LC4wNik7IGJvcmRlci1yYWRpdXM6IDRweDsgb3ZlcmZsb3c6IGhpZGRlbjsgfVxyXG5odG1sLmxpZ2h0IC5hY2MtYmFyLXdyYXAgeyBiYWNrZ3JvdW5kOiByZ2JhKDEzLDMwLDYwLC4wOCk7IH1cclxuLmFjYy1iYXItZmlsbCB7IGhlaWdodDogMTAwJTsgYm9yZGVyLXJhZGl1czogNHB4OyBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsdmFyKC0tdGVhbCksdmFyKC0tYmx1ZSkpOyB3aWR0aDogOTklOyB9XHJcblxyXG4vKiDilIDilIAgI3Byb2JsZW0g4pSA4pSAICovXHJcbiNwcm9ibGVtIHsgcGFkZGluZzogNTBweCAwOyBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLHRyYW5zcGFyZW50IDAlLHJnYmEoMTAsMTgsMzIsLjQpIDEwMCUpOyB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIC4zNXM7IH1cclxuaHRtbC5saWdodCAjcHJvYmxlbSB7IGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsdHJhbnNwYXJlbnQgMCUscmdiYSgyMzgsMjQyLDI0OSwuOSkgMTAwJSk7IH1cclxuI3Byb2JsZW0gLmNvbnRhaW5lciB7IGRpc3BsYXk6IGdyaWQ7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDEuNmZyOyBnYXA6IDgwcHg7IGFsaWduLWl0ZW1zOiBzdGFydDsgfVxyXG4jcHJvYmxlbSAuc2VjdGlvbi1zdWIgeyBtYXJnaW4tYm90dG9tOiA0MHB4OyB9XHJcblxyXG4uY29tcGFyZS10YWJsZS13cmFwIHsgYm9yZGVyLXJhZGl1czogMTRweDsgb3ZlcmZsb3c6IGhpZGRlbjsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyKTsgYmFja2dyb3VuZDogdmFyKC0tY2FyZCk7IGJveC1zaGFkb3c6IHZhcigtLWNhcmQtc2hhZG93KTsgfVxyXG4uY29tcGFyZS10YWJsZSB7IHdpZHRoOiAxMDAlOyBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOyB9XHJcbi5jb21wYXJlLXRhYmxlIHRoZWFkIHRoIHsgcGFkZGluZzogMTZweCAyMHB4OyBmb250LXNpemU6IDEzcHg7IGZvbnQtd2VpZ2h0OiA3MDA7IHRleHQtYWxpZ246IGxlZnQ7IGZvbnQtZmFtaWx5OiAnU3luZScsIHNhbnMtc2VyaWY7IGxldHRlci1zcGFjaW5nOiAuMnB4OyB9XHJcbi5jb21wYXJlLXRhYmxlIHRoZWFkIHRoOmZpcnN0LWNoaWxkIHsgYmFja2dyb3VuZDogcmdiYSgyNTUsODAsODAsLjA4KTsgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tYm9yZGVyKTsgY29sb3I6ICNkOTRmNGY7IH1cclxuLmNvbXBhcmUtdGFibGUgdGhlYWQgdGg6bGFzdC1jaGlsZCB7IGJhY2tncm91bmQ6IHJnYmEoMCwyMTIsMTgwLC4wOCk7IGNvbG9yOiB2YXIoLS10ZWFsKTsgfVxyXG4uY29tcGFyZS10YWJsZSB0Ym9keSB0ciB7IGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXIpOyB9XHJcbi5jb21wYXJlLXRhYmxlIHRib2R5IHRkIHsgcGFkZGluZzogMTRweCAyMHB4OyBmb250LXNpemU6IDE0cHg7IGxpbmUtaGVpZ2h0OiAxLjU7IHZlcnRpY2FsLWFsaWduOiB0b3A7IGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTsgfVxyXG4uY29tcGFyZS10YWJsZSB0Ym9keSB0ZDpmaXJzdC1jaGlsZCB7IGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWJvcmRlcik7IGJhY2tncm91bmQ6IHJnYmEoMjU1LDgwLDgwLC4wMyk7IH1cclxuLmNvbXBhcmUtdGFibGUgdGJvZHkgdGQ6bGFzdC1jaGlsZCB7IGJhY2tncm91bmQ6IHJnYmEoMCwyMTIsMTgwLC4wMik7IGNvbG9yOiB2YXIoLS10ZXh0KTsgZm9udC13ZWlnaHQ6IDUwMDsgfVxyXG4uY21wLWNlbGwgeyBkaXNwbGF5OiBmbGV4OyBnYXA6IDEwcHg7IGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XHJcbi5jbXAtY2VsbCBzdmcgeyBmbGV4LXNocmluazogMDsgbWFyZ2luLXRvcDogMnB4OyB9XHJcblxyXG4vKiDilIDilIAgI3Byb2R1Y3RzIOKUgOKUgCAqL1xyXG4jcHJvZHVjdHMgeyBwYWRkaW5nOiA1MHB4IDA7IH1cclxuI3Byb2R1Y3RzIC5oZWFkZXItcm93IHsgZGlzcGxheTogZmxleDsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyBhbGlnbi1pdGVtczogZmxleC1lbmQ7IG1hcmdpbi1ib3R0b206IDU2cHg7IGdhcDogMjRweDsgfVxyXG4ucHJvZHVjdC1jYXJkcyB7IGRpc3BsYXk6IGdyaWQ7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsMWZyKTsgZ2FwOiAyMHB4OyB9XHJcbi5wLWNhcmQge1xyXG4gIGJhY2tncm91bmQ6IHZhcigtLWNhcmQpOyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXIpOyBib3JkZXItcmFkaXVzOiAxOHB4O1xyXG4gIHBhZGRpbmc6IDMycHg7IHBvc2l0aW9uOiByZWxhdGl2ZTsgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjM1cyBjdWJpYy1iZXppZXIoLjIsLjY1LC4yNSwxKSwgYm9yZGVyLWNvbG9yIC4zcywgYmFja2dyb3VuZCAuMzVzLCBib3gtc2hhZG93IC4zNXM7XHJcbiAgY3Vyc29yOiBwb2ludGVyOyBib3gtc2hhZG93OiB2YXIoLS1jYXJkLXNoYWRvdyk7XHJcbn1cclxuLnAtY2FyZDpob3ZlciB7IGJvcmRlci1jb2xvcjogcmdiYSgwLDIxMiwxODAsLjMpOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTZweCk7IGJveC1zaGFkb3c6IHZhcigtLWNhcmQtc2hhZG93LWhvdmVyKTsgfVxyXG4ucC1jYXJkOjpiZWZvcmUgeyBjb250ZW50OiAnJzsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDA7IGxlZnQ6IDA7IHJpZ2h0OiAwOyBoZWlnaHQ6IDJweDsgb3BhY2l0eTogMDsgdHJhbnNpdGlvbjogLjNzOyB9XHJcbi5wLWNhcmQ6aG92ZXI6OmJlZm9yZSB7IG9wYWNpdHk6IDE7IH1cclxuLnAtY2FyZDo6YWZ0ZXIgeyBjb250ZW50OiAnJzsgcG9zaXRpb246IGFic29sdXRlOyBpbnNldDogMDsgYm9yZGVyLXJhZGl1czogaW5oZXJpdDsgcG9pbnRlci1ldmVudHM6IG5vbmU7IGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudChlbGxpcHNlIDYwJSA0MCUgYXQgNTAlIDAlLCByZ2JhKDAsMjEyLDE4MCwuMDgpLCB0cmFuc3BhcmVudCA3MCUpOyBvcGFjaXR5OiAwOyB0cmFuc2l0aW9uOiBvcGFjaXR5IC4zNXM7IH1cclxuLnAtY2FyZDpob3Zlcjo6YWZ0ZXIgeyBvcGFjaXR5OiAxOyB9XHJcbi5wLWNhcmQub2NyOjpiZWZvcmUgeyBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsdmFyKC0tdGVhbCksdmFyKC0tYmx1ZSkpOyB9XHJcbi5wLWNhcmQubGxtOjpiZWZvcmUgeyBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsdmFyKC0tYmx1ZSksI2E4NTVmNyk7IH1cclxuLnAtY2FyZC5mbHV4OjpiZWZvcmUgeyBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsI2Y1OWUwYix2YXIoLS10ZWFsKSk7IH1cclxuXHJcbi5wLWNhcmQtaWNvbiB7IHdpZHRoOiA1MnB4OyBoZWlnaHQ6IDUycHg7IGJvcmRlci1yYWRpdXM6IDEycHg7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogY2VudGVyOyBmb250LXNpemU6IDI0cHg7IG1hcmdpbi1ib3R0b206IDIwcHg7IHBvc2l0aW9uOiByZWxhdGl2ZTsgei1pbmRleDogMTsgfVxyXG4ucC1jYXJkLm9jciAucC1jYXJkLWljb24geyBiYWNrZ3JvdW5kOiByZ2JhKDAsMjEyLDE4MCwuMSk7IH1cclxuLnAtY2FyZC5sbG0gLnAtY2FyZC1pY29uIHsgYmFja2dyb3VuZDogcmdiYSgyNiwxMDgsMjQ2LC4xMik7IH1cclxuLnAtY2FyZC5mbHV4IC5wLWNhcmQtaWNvbiB7IGJhY2tncm91bmQ6IHJnYmEoMjQ1LDE1OCwxMSwuMTIpOyB9XHJcbi5wLWNhcmQgaDMgeyBmb250LXNpemU6IDIxcHg7IGZvbnQtd2VpZ2h0OiA3MDA7IG1hcmdpbi1ib3R0b206IDZweDsgbGV0dGVyLXNwYWNpbmc6IC0uNHB4OyBwb3NpdGlvbjogcmVsYXRpdmU7IHotaW5kZXg6IDE7IH1cclxuLnAtY2FyZC10YWdsaW5lIHsgZm9udC1zaXplOiAxMC41cHg7IGNvbG9yOiB2YXIoLS1hY2NlbnQtc29mdCk7IGZvbnQtd2VpZ2h0OiA2MDA7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IGxldHRlci1zcGFjaW5nOiAxLjVweDsgbWFyZ2luLWJvdHRvbTogMTZweDsgZGlzcGxheTogaW5saW5lLWJsb2NrOyBwb3NpdGlvbjogcmVsYXRpdmU7IHotaW5kZXg6IDE7IH1cclxuLnAtY2FyZC1kZXNjIHsgZm9udC1zaXplOiAxNHB4OyBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7IGxpbmUtaGVpZ2h0OiAxLjY1OyBtYXJnaW4tYm90dG9tOiAyMHB4OyBwb3NpdGlvbjogcmVsYXRpdmU7IHotaW5kZXg6IDE7IH1cclxuLnAtZmVhdHVyZXMgeyBsaXN0LXN0eWxlOiBub25lOyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBnYXA6IDhweDsgbWFyZ2luLWJvdHRvbTogMjRweDsgcG9zaXRpb246IHJlbGF0aXZlOyB6LWluZGV4OiAxOyB9XHJcbi5wLWZlYXR1cmVzIGxpIHsgZm9udC1zaXplOiAxM3B4OyBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogOHB4OyB9XHJcbi5wLWZlYXR1cmVzIGxpOjpiZWZvcmUgeyBjb250ZW50OiAn4oaSJzsgY29sb3I6IHZhcigtLXRlYWwpOyBmb250LXNpemU6IDEycHg7IGZsZXgtc2hyaW5rOiAwOyB9XHJcbi5wLWNhcmQtbGluayB7IGZvbnQtc2l6ZTogMTNweDsgZm9udC13ZWlnaHQ6IDYwMDsgY29sb3I6IHZhcigtLXRlYWwpOyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IGRpc3BsYXk6IGlubGluZS1mbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDZweDsgdHJhbnNpdGlvbjogZ2FwIC4yczsgcG9zaXRpb246IHJlbGF0aXZlOyB6LWluZGV4OiAxOyB9XHJcbi5wLWNhcmQtbGluazpob3ZlciB7IGdhcDogMTBweDsgfVxyXG5cclxuLyog4pSA4pSAICN1c2VjYXNlcyDilIDilIAgKi9cclxuI3VzZWNhc2VzIHsgcGFkZGluZzogNTBweCAwOyBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLHRyYW5zcGFyZW50IDAlLHJnYmEoMTAsMTgsMzIsLjQpIDEwMCUpOyB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIC4zNXM7IH1cclxuaHRtbC5saWdodCAjdXNlY2FzZXMgeyBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLHRyYW5zcGFyZW50IDAlLHJnYmEoMjM4LDI0MiwyNDksLjkpIDEwMCUpOyB9XHJcblxyXG4udXNlY2FzZS1ncmlkIHsgZGlzcGxheTogZ3JpZDsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywxZnIpOyBnYXA6IDIwcHg7IG1hcmdpbi1ib3R0b206IDE2cHg7IH1cclxuLnVjLWNhcmQgeyBiYWNrZ3JvdW5kOiB2YXIoLS1jYXJkKTsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyKTsgYm9yZGVyLXJhZGl1czogMTZweDsgcGFkZGluZzogMjhweDsgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAuMzVzLCBib3JkZXItY29sb3IgLjNzLCB0cmFuc2Zvcm0gLjNzLCBib3gtc2hhZG93IC4zczsgYm94LXNoYWRvdzogdmFyKC0tY2FyZC1zaGFkb3cpOyB9XHJcbi51Yy1jYXJkOmhvdmVyIHsgYm9yZGVyLWNvbG9yOiByZ2JhKDAsMjEyLDE4MCwuMjIpOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTRweCk7IGJveC1zaGFkb3c6IHZhcigtLWNhcmQtc2hhZG93LWhvdmVyKTsgfVxyXG4udWMtZW1vamkgeyBmb250LXNpemU6IDI4cHg7IG1hcmdpbi1ib3R0b206IDE0cHg7IGRpc3BsYXk6IGJsb2NrOyB9XHJcbi51Yy1zZWN0b3Ige1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgZm9udC1zaXplOiAxMC41cHg7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IGxldHRlci1zcGFjaW5nOiAxLjVweDtcclxuICBjb2xvcjogdmFyKC0tYWNjZW50LXNvZnQpOyBmb250LXdlaWdodDogNjAwOyBtYXJnaW4tYm90dG9tOiAxMnB4O1xyXG4gIHBhZGRpbmc6IDNweCAxMHB4OyBib3JkZXItcmFkaXVzOiA2cHg7XHJcbiAgYmFja2dyb3VuZDogcmdiYSg5MSwxMjAsMTY4LC4xKTsgYm9yZGVyOiAxcHggc29saWQgcmdiYSg5MSwxMjAsMTY4LC4yKTtcclxufVxyXG5odG1sLmxpZ2h0IC51Yy1zZWN0b3IgeyBiYWNrZ3JvdW5kOiByZ2JhKDc0LDk4LDEyNywuMDgpOyBib3JkZXItY29sb3I6IHJnYmEoNzQsOTgsMTI3LC4xOCk7IH1cclxuLnVjLWNhcmQgaDMgeyBmb250LXNpemU6IDE4cHg7IGZvbnQtd2VpZ2h0OiA3MDA7IG1hcmdpbi1ib3R0b206IDE0cHg7IGxldHRlci1zcGFjaW5nOiAtLjJweDsgfVxyXG4udWMtc3RlcCB7IG1hcmdpbi1ib3R0b206IDEwcHg7IH1cclxuLnVjLXN0ZXAtbGFiZWwgeyBmb250LXNpemU6IDEwcHg7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IGxldHRlci1zcGFjaW5nOiAxcHg7IGNvbG9yOiB2YXIoLS10ZXh0LWRpbSk7IGZvbnQtd2VpZ2h0OiA2MDA7IG1hcmdpbi1ib3R0b206IDNweDsgfVxyXG4udWMtc3RlcC10ZXh0IHsgZm9udC1zaXplOiAxM3B4OyBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7IGxpbmUtaGVpZ2h0OiAxLjU1OyB9XHJcbi51Yy1yZXN1bHQgeyBtYXJnaW4tdG9wOiAxNnB4OyBwYWRkaW5nOiAxMHB4IDEycHg7IGJhY2tncm91bmQ6IHJnYmEoMCwyMTIsMTgwLC4wNik7IGJvcmRlci1yYWRpdXM6IDEwcHg7IGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwyMTIsMTgwLC4xNCk7IGZvbnQtc2l6ZTogMTNweDsgZm9udC13ZWlnaHQ6IDUwMDsgY29sb3I6IHZhcigtLXRlYWwpOyB9XHJcblxyXG4udXNlY2FzZS1leHRyYSB7IGRpc3BsYXk6IG5vbmU7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsMWZyKTsgZ2FwOiAyMHB4OyBtYXJnaW4tYm90dG9tOiAxNnB4OyB9XHJcbi51c2VjYXNlLWV4dHJhLm9wZW4geyBkaXNwbGF5OiBncmlkOyB9XHJcbi5jZW50ZXItYnRuIHsgdGV4dC1hbGlnbjogY2VudGVyOyBtYXJnaW4tdG9wOiA4cHg7IH1cclxuLmJ0bi1tb3JlIHsgZGlzcGxheTogaW5saW5lLWZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogOHB4OyBwYWRkaW5nOiAxMnB4IDI4cHg7IGJvcmRlci1yYWRpdXM6IDEwcHg7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlcik7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7IGZvbnQtc2l6ZTogMTRweDsgZm9udC13ZWlnaHQ6IDYwMDsgY3Vyc29yOiBwb2ludGVyOyBmb250LWZhbWlseTogJ0RNIFNhbnMnLCBzYW5zLXNlcmlmOyB0cmFuc2l0aW9uOiAuMnM7IH1cclxuLmJ0bi1tb3JlOmhvdmVyIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS10ZWFsKTsgY29sb3I6IHZhcigtLXRlYWwpOyB9XHJcbi5idG4tbW9yZSAuYXJyIHsgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4zczsgfVxyXG5cclxuLyog4pSA4pSAICNob3cg4pSA4pSAICovXHJcbi5ob3ctbGFuZGluZCB7IHBhZGRpbmc6IDUwcHggMDsgfVxyXG4uaG93LWxhbmRpbmQgLmlubmVyIHsgZGlzcGxheTogZ3JpZDsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyOyBnYXA6IDgwcHg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cclxuLmhvdy1sYW5kaW5kIC5zdGVwIHsgZGlzcGxheTogZmxleDsgZ2FwOiAyNHB4OyBwYWRkaW5nOiAyNHB4IDA7IGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1ib3JkZXIpOyB9XHJcbi5ob3ctbGFuZGluZCAuc3RlcDpsYXN0LWNoaWxkIHsgYm9yZGVyLWJvdHRvbTogbm9uZTsgfVxyXG4uaG93LWxhbmRpbmQgLnN0ZXAtbnVtIHsgd2lkdGg6IDQ0cHg7IGhlaWdodDogNDRweDsgYm9yZGVyLXJhZGl1czogMTJweDsgZmxleC1zaHJpbms6IDA7IGJhY2tncm91bmQ6IHJnYmEoOTEsMTIwLDE2OCwuMDgpOyBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDkxLDEyMCwxNjgsLjIyKTsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IGZvbnQtZmFtaWx5OiAnU3luZScsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMThweDsgZm9udC13ZWlnaHQ6IDgwMDsgY29sb3I6IHZhcigtLWFjY2VudC1zb2Z0KTsgfVxyXG4uaG93LWxhbmRpbmQgLnN0ZXAtY29udGVudCBoNCB7IGZvbnQtc2l6ZTogMTdweDsgZm9udC13ZWlnaHQ6IDcwMDsgbWFyZ2luLWJvdHRvbTogNnB4OyB9XHJcbi5ob3ctbGFuZGluZCAuc3RlcC1jb250ZW50IHAgeyBmb250LXNpemU6IDE0cHg7IGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTsgbGluZS1oZWlnaHQ6IDEuNjsgfVxyXG5cclxuLnRlcm1pbmFsIHsgYmFja2dyb3VuZDogdmFyKC0tdGVybWluYWwtYmcpOyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXIpOyBib3JkZXItcmFkaXVzOiAxNHB4OyBvdmVyZmxvdzogaGlkZGVuOyB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIC4zNXM7IGJveC1zaGFkb3c6IDAgMjBweCA0MHB4IC0yMHB4IHJnYmEoMCwwLDAsLjUpOyB9XHJcbi50ZXJtaW5hbC1oZWFkZXIgeyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDhweDsgcGFkZGluZzogMTJweCAxNnB4OyBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LC4wMyk7IGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1ib3JkZXIpOyB9XHJcbi50LWRvdCB7IHdpZHRoOiAxMHB4OyBoZWlnaHQ6IDEwcHg7IGJvcmRlci1yYWRpdXM6IDUwJTsgfVxyXG4udC1kb3QuciB7IGJhY2tncm91bmQ6ICNmZjVmNTc7IH1cclxuLnQtZG90LnkgeyBiYWNrZ3JvdW5kOiAjZmViYzJlOyB9XHJcbi50LWRvdC5nIHsgYmFja2dyb3VuZDogIzI4Yzg0MDsgfVxyXG4udGVybWluYWwtZmlsZW5hbWUgeyBmb250LXNpemU6IDEycHg7IGNvbG9yOiAjNmI3ZmE4OyBtYXJnaW4tbGVmdDogOHB4OyB9XHJcbi50ZXJtaW5hbC1ib2R5IHsgcGFkZGluZzogMjBweDsgZm9udC1mYW1pbHk6ICdTRiBNb25vJywgTWVubG8sIG1vbm9zcGFjZTsgZm9udC1zaXplOiAxM3B4OyBsaW5lLWhlaWdodDogMS44OyBjb2xvcjogI2U4ZWRmNTsgfVxyXG4udC1jb21tZW50IHsgY29sb3I6ICM0YTZiOTQ7IH1cclxuLnQtY21kIHsgY29sb3I6ICNlOGVkZjU7IH1cclxuLnQtb3V0IHsgY29sb3I6ICMwMGQ0YjQ7IH1cclxuLnQtcHJvbXB0IHsgY29sb3I6ICM2YjdmYTg7IG1hcmdpbi1yaWdodDogOHB4OyB9XHJcblxyXG4ucXVvdGUtYm94IHsgbWFyZ2luLXRvcDogNDBweDsgcGFkZGluZzogMjRweCAyOHB4OyBiYWNrZ3JvdW5kOiByZ2JhKDAsMjEyLDE4MCwuMDQpOyBib3JkZXItbGVmdDogM3B4IHNvbGlkIHZhcigtLXRlYWwpOyBib3JkZXItcmFkaXVzOiAwIDEycHggMTJweCAwOyBmb250LXNpemU6IDE1cHg7IGZvbnQtc3R5bGU6IGl0YWxpYzsgY29sb3I6IHZhcigtLXRleHQtbXV0ZWQpOyBsaW5lLWhlaWdodDogMS43OyB9XHJcblxyXG4vKiDilIDilIAgI3ByaWNpbmcg4pSA4pSAICovXHJcbi5wcmljaW5nLWxhbmRpbmcgeyBwYWRkaW5nOiA1MHB4IDA7IGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsdHJhbnNwYXJlbnQgMCUscmdiYSgxMCwxOCwzMiwuNCkgMTAwJSk7IHRyYW5zaXRpb246IGJhY2tncm91bmQgLjM1czsgfVxyXG5odG1sLmxpZ2h0IC5wcmljaW5nLWxhbmRpbmcgeyBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLHRyYW5zcGFyZW50IDAlLHJnYmEoMjM4LDI0MiwyNDksLjkpIDEwMCUpOyB9XHJcbi5wcmljaW5nLWxhbmRpbmcgLnNlY3Rpb24tc3ViIHsgbWFyZ2luOiAwIGF1dG8gNDhweDsgfVxyXG4ucHJpY2luZy1sYW5kaW5nIC5wcmljaW5nLWdyaWQgeyBkaXNwbGF5OiBncmlkOyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLDFmcik7IGdhcDogMjBweDsgbWFyZ2luLWJvdHRvbTogNDBweDsgYWxpZ24taXRlbXM6IHN0cmV0Y2g7IH1cclxuLnByaWNpbmctbGFuZGluZyAucHJpY2UtY2FyZCB7XHJcbiAgYmFja2dyb3VuZDogdmFyKC0tY2FyZCk7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlcik7IGJvcmRlci1yYWRpdXM6IDE4cHg7XHJcbiAgcGFkZGluZzogMzJweDsgcG9zaXRpb246IHJlbGF0aXZlOyBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuM3MsIGJvcmRlci1jb2xvciAuM3MsIGJveC1zaGFkb3cgLjNzO1xyXG4gIGJveC1zaGFkb3c6IHZhcigtLWNhcmQtc2hhZG93KTsgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxufVxyXG4ucHJpY2luZy1sYW5kaW5nIC5wcmljZS1jYXJkOmhvdmVyIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00cHgpOyBib3gtc2hhZG93OiB2YXIoLS1jYXJkLXNoYWRvdy1ob3Zlcik7IH1cclxuLnByaWNpbmctbGFuZGluZyAucHJpY2UtY2FyZC5mZWF0dXJlZCB7IGJvcmRlci1jb2xvcjogcmdiYSgwLDIxMiwxODAsLjM1KTsgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSgwLDIxMiwxODAsLjA0KSAwJSwgdmFyKC0tY2FyZCkgNDAlKTsgfVxyXG4ucHJpY2luZy1sYW5kaW5nIC5wcmljZS1jYXJkLmZlYXR1cmVkOjpiZWZvcmUgeyBjb250ZW50OiAnJzsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDA7IGxlZnQ6IDA7IHJpZ2h0OiAwOyBoZWlnaHQ6IDJweDsgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLHZhcigtLXRlYWwpLHZhcigtLWJsdWUpKTsgfVxyXG5cclxuLnByaWNpbmctbGFuZGluZyAucHJpY2UtdGFnIHsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDIwcHg7IHJpZ2h0OiAyMHB4OyBiYWNrZ3JvdW5kOiByZ2JhKDAsMjEyLDE4MCwuMTIpOyBjb2xvcjogdmFyKC0tdGVhbCk7IGZvbnQtc2l6ZTogMTBweDsgZm9udC13ZWlnaHQ6IDcwMDsgbGV0dGVyLXNwYWNpbmc6IC41cHg7IHBhZGRpbmc6IDNweCAxMHB4OyBib3JkZXItcmFkaXVzOiAyMHB4OyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsMjEyLDE4MCwuMjIpOyB9XHJcbi5wcmljaW5nLWxhbmRpbmcgLnNhdmluZ3MtYmFkZ2UgeyBkaXNwbGF5OiBpbmxpbmUtZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiA2cHg7IGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsdmFyKC0tdGVhbCksdmFyKC0tYmx1ZSkpOyBjb2xvcjogI2ZmZjsgZm9udC1mYW1pbHk6ICdTeW5lJywgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMXB4OyBmb250LXdlaWdodDogNzAwOyBsZXR0ZXItc3BhY2luZzogLjVweDsgcGFkZGluZzogNHB4IDEwcHg7IGJvcmRlci1yYWRpdXM6IDZweDsgbWFyZ2luLWxlZnQ6IDhweDsgYm94LXNoYWRvdzogMCA0cHggMTJweCAtNHB4IHJnYmEoMCwyMTIsMTgwLC40KTsgfVxyXG5cclxuLnByaWNpbmctbGFuZGluZyAucHJpY2UtcHJvZHVjdC1pY29uIHsgZm9udC1zaXplOiAyOHB4OyBtYXJnaW4tYm90dG9tOiAxNHB4OyB9XHJcbi5wcmljaW5nLWxhbmRpbmcgLnByaWNlLXRpZXIgeyBmb250LXNpemU6IDExcHg7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IGxldHRlci1zcGFjaW5nOiAxLjVweDsgY29sb3I6IHZhcigtLWFjY2VudC1zb2Z0KTsgZm9udC13ZWlnaHQ6IDYwMDsgbWFyZ2luLWJvdHRvbTogNnB4OyB9XHJcbi5wcmljaW5nLWxhbmRpbmcgLnByaWNlLW5hbWUgeyBmb250LXNpemU6IDIzcHg7IGZvbnQtd2VpZ2h0OiA4MDA7IG1hcmdpbi1ib3R0b206IDEwcHg7IGxldHRlci1zcGFjaW5nOiAtLjRweDsgfVxyXG4ucHJpY2luZy1sYW5kaW5nIC5wcmljZS1kZXNjIHsgZm9udC1zaXplOiAxM3B4OyBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7IG1hcmdpbi1ib3R0b206IDIwcHg7IGxpbmUtaGVpZ2h0OiAxLjU1OyB9XHJcbi5wcmljaW5nLWxhbmRpbmcgLnByaWNlLWZyb20geyBmb250LXNpemU6IDExcHg7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IGxldHRlci1zcGFjaW5nOiAxcHg7IGNvbG9yOiB2YXIoLS10ZXh0LWRpbSk7IG1hcmdpbi1ib3R0b206IDJweDsgZm9udC13ZWlnaHQ6IDYwMDsgfVxyXG4ucHJpY2luZy1sYW5kaW5nIC5wcmljZS1hbW91bnQtcm93IHsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGJhc2VsaW5lOyBnYXA6IDA7IGZsZXgtd3JhcDogd3JhcDsgfVxyXG4ucHJpY2luZy1sYW5kaW5nIC5wcmljZS1hbW91bnQgeyBmb250LWZhbWlseTogJ1N5bmUnLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDM4cHg7IGZvbnQtd2VpZ2h0OiA4MDA7IGxldHRlci1zcGFjaW5nOiAtMS41cHg7IH1cclxuLnByaWNpbmctbGFuZGluZyAucHJpY2UtYW1vdW50IHNwYW4geyBmb250LXNpemU6IDE1cHg7IGZvbnQtd2VpZ2h0OiA0MDA7IGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTsgbWFyZ2luLWxlZnQ6IDJweDsgfVxyXG4ucHJpY2luZy1sYW5kaW5nIC5wcmljZS1vbGQgeyBmb250LWZhbWlseTogJ1N5bmUnLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDE2cHg7IGZvbnQtd2VpZ2h0OiA1MDA7IGNvbG9yOiB2YXIoLS10ZXh0LWRpbSk7IHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoOyB0ZXh0LWRlY29yYXRpb24tY29sb3I6IHJnYmEoMjU1LDEwMCwxMDAsLjYpOyB0ZXh0LWRlY29yYXRpb24tdGhpY2tuZXNzOiAycHg7IG1hcmdpbi1yaWdodDogMTBweDsgfVxyXG4ucHJpY2luZy1sYW5kaW5nIC5wcmljZS1wZXJpb2QgeyBmb250LXNpemU6IDEycHg7IGNvbG9yOiB2YXIoLS10ZXh0LWRpbSk7IG1hcmdpbi1ib3R0b206IDIycHg7IG1hcmdpbi10b3A6IDZweDsgfVxyXG4ucHJpY2luZy1sYW5kaW5nIC5wcmljZS1mZWF0dXJlcyB7IGxpc3Qtc3R5bGU6IG5vbmU7IGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGdhcDogOXB4OyBtYXJnaW4tYm90dG9tOiAyMnB4OyBmbGV4OiAxOyB9XHJcbi5wcmljaW5nLWxhbmRpbmcgLnByaWNlLWZlYXR1cmVzIGxpIHsgZm9udC1zaXplOiAxM3B4OyBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyBnYXA6IDhweDsgfVxyXG4ucHJpY2luZy1sYW5kaW5nIC5wcmljZS1mZWF0dXJlcyBsaTo6YmVmb3JlIHsgY29udGVudDogJ+Kckyc7IGNvbG9yOiB2YXIoLS10ZWFsKTsgZm9udC13ZWlnaHQ6IDcwMDsgZmxleC1zaHJpbms6IDA7IG1hcmdpbi10b3A6IDFweDsgfVxyXG4ucHJpY2luZy1sYW5kaW5nIC5idG4tcHJpY2UgeyB3aWR0aDogMTAwJTsgcGFkZGluZzogMTJweDsgYm9yZGVyLXJhZGl1czogMTBweDsgZm9udC1zaXplOiAxNHB4OyBmb250LXdlaWdodDogNjAwOyBjdXJzb3I6IHBvaW50ZXI7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlcik7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyBjb2xvcjogdmFyKC0tdGV4dCk7IGZvbnQtZmFtaWx5OiAnRE0gU2FucycsIHNhbnMtc2VyaWY7IHRyYW5zaXRpb246IC4yczsgbWFyZ2luLWJvdHRvbTogOHB4OyB9XHJcbi5wcmljaW5nLWxhbmRpbmcgLmJ0bi1wcmljZTpob3ZlciB7IGJvcmRlci1jb2xvcjogdmFyKC0tdGVhbCk7IGNvbG9yOiB2YXIoLS10ZWFsKTsgfVxyXG4ucHJpY2luZy1sYW5kaW5nIC5idG4tcHJpY2UuY3RhIHsgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZyx2YXIoLS10ZWFsKSx2YXIoLS1ibHVlKSk7IGJvcmRlcjogbm9uZTsgY29sb3I6ICNmZmY7IH1cclxuLnByaWNpbmctbGFuZGluZyAuYnRuLXByaWNlLmN0YTpob3ZlciB7IG9wYWNpdHk6IC45MjsgYm94LXNoYWRvdzogMCA4cHggMjRweCAtOHB4IHJnYmEoMCwyMTIsMTgwLC41KTsgfVxyXG4ucHJpY2luZy1sYW5kaW5nIC5idG4tdGFibGUtbGluayB7IGRpc3BsYXk6IGJsb2NrOyB0ZXh0LWFsaWduOiBjZW50ZXI7IGZvbnQtc2l6ZTogMTJweDsgY29sb3I6IHZhcigtLXRleHQtZGltKTsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB0cmFuc2l0aW9uOiAuMnM7IH1cclxuLnByaWNpbmctbGFuZGluZyAuYnRuLXRhYmxlLWxpbms6aG92ZXIgeyBjb2xvcjogdmFyKC0tdGVhbCk7IH1cclxuLnByaWNpbmctbGFuZGluZyAucHJpY2luZy1jdGEgeyB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cclxuLnByaWNpbmctbGFuZGluZyAucHJpY2luZy1jdGEgcCB7IGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTsgZm9udC1zaXplOiAxNHB4OyBtYXJnaW4tYm90dG9tOiAxNnB4OyB9XHJcblxyXG4vKiDilIDilIAgI2RlbW8g4pSA4pSAICovXHJcbi5kZW1vLWxhbmRpbmcgeyBwYWRkaW5nOiA1MHB4IDA7IH1cclxuLmRlbW8tbGFuZGluZyAuZGVtby1oZWFkZXIgeyB0ZXh0LWFsaWduOiBjZW50ZXI7IG1hcmdpbi1ib3R0b206IDQ4cHg7IH1cclxuLmRlbW8tbGFuZGluZyAuZGVtby1oZWFkZXIgLnNlY3Rpb24tc3ViIHsgbWFyZ2luOiAwIGF1dG87IH1cclxuLmRlbW8tbGFuZGluZyAuZGVtby10YWJzIHsgZGlzcGxheTogZmxleDsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IGdhcDogOHB4OyBtYXJnaW4tYm90dG9tOiA0MHB4OyBmbGV4LXdyYXA6IHdyYXA7IH1cclxuLmRlbW8tbGFuZGluZyAuZGVtby10YWIgeyBwYWRkaW5nOiAxMHB4IDI0cHg7IGJvcmRlci1yYWRpdXM6IDEwcHg7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlcik7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7IGZvbnQtc2l6ZTogMTRweDsgZm9udC13ZWlnaHQ6IDYwMDsgY3Vyc29yOiBwb2ludGVyOyBmb250LWZhbWlseTogJ0RNIFNhbnMnLCBzYW5zLXNlcmlmOyB0cmFuc2l0aW9uOiAuMnM7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogOHB4OyB9XHJcbi5kZW1vLWxhbmRpbmcgLmRlbW8tdGFiOmhvdmVyIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS10ZWFsKTsgY29sb3I6IHZhcigtLXRlYWwpOyB9XHJcbi5kZW1vLWxhbmRpbmcgLmRlbW8tdGFiLmFjdGl2ZSB7IGJhY2tncm91bmQ6IHJnYmEoMCwyMTIsMTgwLC4wOCk7IGJvcmRlci1jb2xvcjogcmdiYSgwLDIxMiwxODAsLjQpOyBjb2xvcjogdmFyKC0tdGVhbCk7IH1cclxuXHJcbi5kZW1vLWxhbmRpbmcgLmRlbW8tcGFuZWwgeyBkaXNwbGF5OiBub25lOyB9XHJcbi5kZW1vLWxhbmRpbmcgLmRlbW8tcGFuZWwuYWN0aXZlIHsgZGlzcGxheTogZ3JpZDsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyOyBnYXA6IDQwcHg7IGFsaWduLWl0ZW1zOiBzdGFydDsgfVxyXG5cclxuLmRlbW8tbGFuZGluZyAuZHJvcC16b25lIHsgYm9yZGVyOiAycHggZGFzaGVkIHJnYmEoMCwyMTIsMTgwLC4yNSk7IGJvcmRlci1yYWRpdXM6IDE2cHg7IHBhZGRpbmc6IDQwcHggMjRweDsgdGV4dC1hbGlnbjogY2VudGVyOyBiYWNrZ3JvdW5kOiByZ2JhKDAsMjEyLDE4MCwuMDIpOyB0cmFuc2l0aW9uOiAuM3M7IGN1cnNvcjogcG9pbnRlcjsgfVxyXG4uZGVtby1sYW5kaW5nIC5kcm9wLXpvbmU6aG92ZXIgeyBib3JkZXItY29sb3I6IHJnYmEoMCwyMTIsMTgwLC41KTsgYmFja2dyb3VuZDogcmdiYSgwLDIxMiwxODAsLjA0KTsgfVxyXG4uZGVtby1sYW5kaW5nIC5kcm9wLWljb24geyBmb250LXNpemU6IDM2cHg7IG1hcmdpbi1ib3R0b206IDEycHg7IGRpc3BsYXk6IGJsb2NrOyB9XHJcbi5kZW1vLWxhbmRpbmcgLmRyb3AtdGl0bGUgeyBmb250LXNpemU6IDE2cHg7IGZvbnQtd2VpZ2h0OiA2MDA7IG1hcmdpbi1ib3R0b206IDZweDsgfVxyXG4uZGVtby1sYW5kaW5nIC5kcm9wLXN1YiB7IGZvbnQtc2l6ZTogMTNweDsgY29sb3I6IHZhcigtLXRleHQtbXV0ZWQpOyBtYXJnaW4tYm90dG9tOiAxNnB4OyB9XHJcbi5kZW1vLWxhbmRpbmcgLmRyb3AtdHlwZXMgeyBkaXNwbGF5OiBmbGV4OyBnYXA6IDhweDsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IGZsZXgtd3JhcDogd3JhcDsgfVxyXG4uZGVtby1sYW5kaW5nIC5kcm9wLXR5cGUgeyBwYWRkaW5nOiA0cHggMTJweDsgYm9yZGVyLXJhZGl1czogNnB4OyBiYWNrZ3JvdW5kOiB2YXIoLS1zb2NpYWwtYmcpOyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXIpOyBmb250LXNpemU6IDExcHg7IGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTsgZm9udC13ZWlnaHQ6IDUwMDsgfVxyXG4uZGVtby1sYW5kaW5nIC5kZW1vLXJlc3VsdC1wcmV2aWV3IHsgYmFja2dyb3VuZDogdmFyKC0tYmczKTsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyKTsgYm9yZGVyLXJhZGl1czogMTRweDsgcGFkZGluZzogMjBweDsgbWFyZ2luLXRvcDogMTZweDsgZGlzcGxheTogbm9uZTsgcG9zaXRpb246IHJlbGF0aXZlOyBvdmVyZmxvdzogaGlkZGVuOyB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIC4zNXM7IH1cclxuLmRlbW8tbGFuZGluZyAuZGVtby1yZXN1bHQtcHJldmlldy5zaG93IHsgZGlzcGxheTogYmxvY2s7IH1cclxuLmRlbW8tbGFuZGluZyAucmVzdWx0LWJsdXJyZWQgeyBmaWx0ZXI6IGJsdXIoNnB4KTsgdXNlci1zZWxlY3Q6IG5vbmU7IGZvbnQtc2l6ZTogMTNweDsgY29sb3I6IHZhcigtLXRleHQtbXV0ZWQpOyBsaW5lLWhlaWdodDogMi4yOyB9XHJcbi5kZW1vLWxhbmRpbmcgLnJlc3VsdC1vdmVybGF5IHsgcG9zaXRpb246IGFic29sdXRlOyBpbnNldDogMDsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGdhcDogMTBweDsgYmFja2dyb3VuZDogcmdiYSg2LDExLDIwLC42NSk7IGJhY2tkcm9wLWZpbHRlcjogYmx1cigzcHgpOyBib3JkZXItcmFkaXVzOiAxNHB4OyB9XHJcbmh0bWwubGlnaHQgLmRlbW8tbGFuZGluZyAucmVzdWx0LW92ZXJsYXkgeyBiYWNrZ3JvdW5kOiByZ2JhKDI0NSwyNDcsMjUyLC44NSk7IH1cclxuLmRlbW8tbGFuZGluZyByZXN1bHQtb3ZlcmxheSBwIHsgZm9udC1zaXplOiAxNHB4OyBjb2xvcjogdmFyKC0tdGV4dCk7IGZvbnQtd2VpZ2h0OiA1MDA7IH1cclxuXHJcbi5kZW1vLWxhbmRpbmcgLmxsbS1tZXNzYWdlcyB7IGJhY2tncm91bmQ6IHZhcigtLWJnMyk7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlcik7IGJvcmRlci1yYWRpdXM6IDE0cHg7IHBhZGRpbmc6IDIwcHg7IG1pbi1oZWlnaHQ6IDI0MHB4OyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBnYXA6IDE0cHg7IHRyYW5zaXRpb246IGJhY2tncm91bmQgLjM1czsgbWFyZ2luLWJvdHRvbTogMTJweDsgb3ZlcmZsb3cteTogYXV0bzsgbWF4LWhlaWdodDogMzIwcHg7IH1cclxuLmRlbW8tbGFuZGluZyAubXNnIHsgbWF4LXdpZHRoOiA4NSU7IHBhZGRpbmc6IDExcHggMTRweDsgYm9yZGVyLXJhZGl1czogMTJweDsgZm9udC1zaXplOiAxM3B4OyBsaW5lLWhlaWdodDogMS41NTsgcG9zaXRpb246IHJlbGF0aXZlOyB9XHJcbi5kZW1vLWxhbmRpbmcgLm1zZy51c2VyIHsgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgcmdiYSgyNiwxMDgsMjQ2LC4yNSksIHJnYmEoMjYsMTA4LDI0NiwuMTUpKTsgY29sb3I6IHZhcigtLXRleHQpOyBhbGlnbi1zZWxmOiBmbGV4LWVuZDsgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNiwxMDgsMjQ2LC4zKTsgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDRweDsgfVxyXG4uZGVtby1sYW5kaW5nIC5tc2cuYWkgeyBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LC4wMyk7IGNvbG9yOiB2YXIoLS10ZXh0KTsgYWxpZ24tc2VsZjogZmxleC1zdGFydDsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyKTsgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCB2YXIoLS10ZWFsKTsgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNHB4OyBwYWRkaW5nLWxlZnQ6IDE0cHg7IH1cclxuaHRtbC5saWdodCAuZGVtby1sYW5kaW5nIC5tc2cuYWkgeyBiYWNrZ3JvdW5kOiByZ2JhKDEzLDMwLDYwLC4wMyk7IH1cclxuLmRlbW8tbGFuZGluZyAubXNnLWxhYmVsIHsgZm9udC1zaXplOiAxMHB4OyBjb2xvcjogdmFyKC0tdGVhbCk7IGZvbnQtd2VpZ2h0OiA3MDA7IGxldHRlci1zcGFjaW5nOiAuNXB4OyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBtYXJnaW4tYm90dG9tOiA0cHg7IH1cclxuXHJcbi5kZW1vLWxhbmRpbmcgLmxsbS1pbnB1dC1yb3cgeyBkaXNwbGF5OiBmbGV4OyBnYXA6IDhweDsgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxyXG4uZGVtby1sYW5kaW5nIC5sbG0taW5wdXQgeyBmbGV4OiAxOyBwYWRkaW5nOiAxMXB4IDE2cHg7IGJvcmRlci1yYWRpdXM6IDEwcHg7IGJhY2tncm91bmQ6IHZhcigtLWlucHV0LWJnKTsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyKTsgY29sb3I6IHZhcigtLXRleHQpOyBmb250LXNpemU6IDE0cHg7IGZvbnQtZmFtaWx5OiAnRE0gU2FucycsIHNhbnMtc2VyaWY7IG91dGxpbmU6IG5vbmU7IHRyYW5zaXRpb246IC4yczsgfVxyXG4uZGVtby1sYW5kaW5nIC5sbG0taW5wdXQ6Zm9jdXMgeyBib3JkZXItY29sb3I6IHJnYmEoMCwyMTIsMTgwLC40KTsgfVxyXG4uZGVtby1sYW5kaW5nIC5sbG0taW5wdXQ6OnBsYWNlaG9sZGVyIHsgY29sb3I6IHZhcigtLXRleHQtZGltKTsgfVxyXG4uZGVtby1sYW5kaW5nIC5sbG0tc2VuZCB7IHBhZGRpbmc6IDExcHggMjBweDsgYm9yZGVyLXJhZGl1czogMTBweDsgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZyx2YXIoLS10ZWFsKSx2YXIoLS1ibHVlKSk7IGNvbG9yOiAjZmZmOyBib3JkZXI6IG5vbmU7IGZvbnQtc2l6ZTogMTNweDsgZm9udC13ZWlnaHQ6IDYwMDsgY3Vyc29yOiBwb2ludGVyOyBmb250LWZhbWlseTogJ0RNIFNhbnMnLCBzYW5zLXNlcmlmOyB0cmFuc2l0aW9uOiAuMnM7IH1cclxuLmRlbW8tbGFuZGluZyAubGxtLXNlbmQ6aG92ZXIgeyBvcGFjaXR5OiAuOTI7IGJveC1zaGFkb3c6IDAgOHB4IDIwcHggLTZweCByZ2JhKDAsMjEyLDE4MCwuNCk7IH1cclxuLmRlbW8tbGFuZGluZyAubGxtLWV4YW1wbGUtbGFiZWwgeyBmb250LXNpemU6IDExcHg7IGNvbG9yOiB2YXIoLS10ZXh0LWRpbSk7IG1hcmdpbi1ib3R0b206IDZweDsgZm9udC13ZWlnaHQ6IDYwMDsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgbGV0dGVyLXNwYWNpbmc6IC41cHg7IH1cclxuLmRlbW8tbGFuZGluZyAubGxtLWNoaXBzIHsgZGlzcGxheTogZmxleDsgZmxleC13cmFwOiB3cmFwOyBnYXA6IDZweDsgfVxyXG4uZGVtby1sYW5kaW5nIC5sbG0tY2hpcCB7IHBhZGRpbmc6IDVweCAxMnB4OyBib3JkZXItcmFkaXVzOiAyMHB4OyBiYWNrZ3JvdW5kOiB2YXIoLS1zb2NpYWwtYmcpOyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXIpOyBmb250LXNpemU6IDEycHg7IGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTsgY3Vyc29yOiBwb2ludGVyOyB0cmFuc2l0aW9uOiAuMnM7IH1cclxuLmRlbW8tbGFuZGluZyAubGxtLWNoaXA6aG92ZXIgeyBib3JkZXItY29sb3I6IHZhcigtLXRlYWwpOyBjb2xvcjogdmFyKC0tdGVhbCk7IH1cclxuXHJcbi5kZW1vLWxhbmRpbmcgLmZsdXgtcGFuZWwgeyB0ZXh0LWFsaWduOiBjZW50ZXI7IHBhZGRpbmc6IDQwcHggMjhweDsgYmFja2dyb3VuZDogdmFyKC0tYmczKTsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyKTsgYm9yZGVyLXJhZGl1czogMTZweDsgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAuMzVzOyB9XHJcbi5kZW1vLWxhbmRpbmcgLmZsdXgtaWNvbiB7IGZvbnQtc2l6ZTogNTJweDsgbWFyZ2luLWJvdHRvbTogMTZweDsgfVxyXG4uZGVtby1sYW5kaW5nIC5mbHV4LXBhbmVsIGgzIHsgZm9udC1zaXplOiAyMnB4OyBmb250LXdlaWdodDogODAwOyBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XHJcbi5kZW1vLWxhbmRpbmcgLmZsdXgtcGFuZWwgcCB7IGZvbnQtc2l6ZTogMTVweDsgY29sb3I6IHZhcigtLXRleHQtbXV0ZWQpOyBsaW5lLWhlaWdodDogMS42NTsgbWFyZ2luLWJvdHRvbTogMjRweDsgbWF4LXdpZHRoOiAzODBweDsgbWFyZ2luLWxlZnQ6IGF1dG87IG1hcmdpbi1yaWdodDogYXV0bzsgfVxyXG4uZGVtby1sYW5kaW5nIC5mbHV4LWZlYXR1cmVzLWdyaWQgeyBkaXNwbGF5OiBncmlkOyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7IGdhcDogMTBweDsgbWFyZ2luLWJvdHRvbTogMjRweDsgdGV4dC1hbGlnbjogbGVmdDsgfVxyXG4uZGVtby1sYW5kaW5nIC5mbHV4LWZlYXQgeyBiYWNrZ3JvdW5kOiByZ2JhKDAsMjEyLDE4MCwuMDUpOyBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsMjEyLDE4MCwuMTIpOyBib3JkZXItcmFkaXVzOiAxMHB4OyBwYWRkaW5nOiAxMnB4IDE0cHg7IGZvbnQtc2l6ZTogMTNweDsgY29sb3I6IHZhcigtLXRleHQtbXV0ZWQpOyBkaXNwbGF5OiBmbGV4OyBnYXA6IDhweDsgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cclxuLmRlbW8tbGFuZGluZyAuZmx1eC1mZWF0OjpiZWZvcmUgeyBjb250ZW50OiAn4pqhJzsgZmxleC1zaHJpbms6IDA7IH1cclxuXHJcbi5kZW1vLWxhbmRpbmcgLmVtYWlsLWdhdGUgeyBiYWNrZ3JvdW5kOiB2YXIoLS1iZzMpOyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXIpOyBib3JkZXItcmFkaXVzOiAxNnB4OyBwYWRkaW5nOiAzMnB4OyB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIC4zNXM7IGJveC1zaGFkb3c6IHZhcigtLWNhcmQtc2hhZG93KTsgfVxyXG4uZGVtby1sYW5kaW5nIC5lbWFpbC1nYXRlIGgzIHsgZm9udC1zaXplOiAyMHB4OyBmb250LXdlaWdodDogNzAwOyBtYXJnaW4tYm90dG9tOiA4cHg7IH1cclxuLmRlbW8tbGFuZGluZyAuZW1haWwtZ2F0ZSBwIHsgZm9udC1zaXplOiAxNHB4OyBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7IG1hcmdpbi1ib3R0b206IDIwcHg7IH1cclxuLmRlbW8tbGFuZGluZyAuZW1haWwtZm9ybSB7IGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGdhcDogMTBweDsgfVxyXG4uZGVtby1sYW5kaW5nIC5lbWFpbC1mb3JtIGlucHV0IHsgcGFkZGluZzogMTJweCAxNnB4OyBib3JkZXItcmFkaXVzOiAxMHB4OyBiYWNrZ3JvdW5kOiB2YXIoLS1pbnB1dC1iZyk7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlcik7IGNvbG9yOiB2YXIoLS10ZXh0KTsgZm9udC1zaXplOiAxNHB4OyBmb250LWZhbWlseTogJ0RNIFNhbnMnLCBzYW5zLXNlcmlmOyBvdXRsaW5lOiBub25lOyB0cmFuc2l0aW9uOiAuMnM7IH1cclxuLmRlbW8tbGFuZGluZyAuZW1haWwtZm9ybSBpbnB1dDpmb2N1cyB7IGJvcmRlci1jb2xvcjogcmdiYSgwLDIxMiwxODAsLjQpOyB9XHJcbi5kZW1vLWxhbmRpbmcgLmVtYWlsLWZvcm0gaW5wdXQ6OnBsYWNlaG9sZGVyIHsgY29sb3I6IHZhcigtLXRleHQtZGltKTsgfVxyXG4uZGVtby1sYW5kaW5nIC5lbWFpbC1mb3JtIC5idG4tbGcgeyB0ZXh0LWFsaWduOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XHJcbi5kZW1vLWxhbmRpbmcgLmRlbW8tcGVya3MgeyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBnYXA6IDhweDsgbWFyZ2luLXRvcDogMTZweDsgfVxyXG4uZGVtby1sYW5kaW5nIC5kZW1vLXBlcmsgeyBmb250LXNpemU6IDEzcHg7IGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiA4cHg7IH1cclxuLmRlbW8tbGFuZGluZyAuZGVtby1wZXJrOjpiZWZvcmUgeyBjb250ZW50OiAn4pyTJzsgY29sb3I6IHZhcigtLXRlYWwpOyBmb250LXdlaWdodDogNjAwOyB9XHJcblxyXG4vKiDilIDilIAgI3NvY2lhbHMg4pSA4pSAICovXHJcbiNzb2NpYWxzIHsgcGFkZGluZzogNzJweCAwOyBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYm9yZGVyKTsgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIC4zNXM7IH1cclxuI3NvY2lhbHMgLmlubmVyIHsgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiAyOHB4OyB9XHJcbi5zb2NpYWxzLWxhYmVsIHsgZm9udC1zaXplOiAxMXB4OyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBsZXR0ZXItc3BhY2luZzogMnB4OyBjb2xvcjogdmFyKC0tdGV4dC1kaW0pOyBmb250LXdlaWdodDogNjAwOyB9XHJcbi5zb2NpYWwtY2FyZHMgeyBkaXNwbGF5OiBmbGV4OyBnYXA6IDE2cHg7IGZsZXgtd3JhcDogd3JhcDsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cclxuLnNvY2lhbC1jYXJkIHtcclxuICBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDE0cHg7IHBhZGRpbmc6IDE4cHggMjRweDtcclxuICBib3JkZXItcmFkaXVzOiAxNnB4OyBiYWNrZ3JvdW5kOiB2YXIoLS1jYXJkKTsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyKTtcclxuICBib3JkZXItbGVmdDogM3B4IHNvbGlkIHZhcigtLWJvcmRlcik7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgY29sb3I6IHZhcigtLXRleHQpO1xyXG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuMjVzLCBib3JkZXItY29sb3IgLjI1cywgYmFja2dyb3VuZCAuMjVzLCBib3JkZXItbGVmdC1jb2xvciAuMjVzLCBib3gtc2hhZG93IC4yNXM7XHJcbiAgbWluLXdpZHRoOiAyMjBweDsgcG9zaXRpb246IHJlbGF0aXZlOyBib3gtc2hhZG93OiB2YXIoLS1jYXJkLXNoYWRvdyk7XHJcbn1cclxuLnNvY2lhbC1jYXJkOmhvdmVyIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00cHgpOyBib3gtc2hhZG93OiB2YXIoLS1jYXJkLXNoYWRvdy1ob3Zlcik7IH1cclxuLnNvY2lhbC1jYXJkLmdpdGh1Yjpob3ZlciB7IGJvcmRlci1sZWZ0LWNvbG9yOiAjNmU3NjgxOyBiYWNrZ3JvdW5kOiByZ2JhKDExMCwxMTgsMTI5LC4wOCk7IH1cclxuLnNvY2lhbC1jYXJkLmhmOmhvdmVyIHsgYm9yZGVyLWxlZnQtY29sb3I6ICNmZjlkMDA7IGJhY2tncm91bmQ6IHJnYmEoMjU1LDE1NywwLC4wOCk7IH1cclxuLnNvY2lhbC1jYXJkLnRnOmhvdmVyIHsgYm9yZGVyLWxlZnQtY29sb3I6ICMyMjllZDk7IGJhY2tncm91bmQ6IHJnYmEoMzQsMTU4LDIxNywuMDgpOyB9XHJcbi5zb2NpYWwtY2FyZC1pY29uIHsgd2lkdGg6IDQ2cHg7IGhlaWdodDogNDZweDsgYm9yZGVyLXJhZGl1czogMTJweDsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IGZvbnQtc2l6ZTogMjRweDsgZmxleC1zaHJpbms6IDA7IH1cclxuLnNvY2lhbC1jYXJkLmdpdGh1YiAuc29jaWFsLWNhcmQtaWNvbiB7IGJhY2tncm91bmQ6IHJnYmEoMTEwLDExOCwxMjksLjE1KTsgfVxyXG4uc29jaWFsLWNhcmQuaGYgLnNvY2lhbC1jYXJkLWljb24geyBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwxNTcsMCwuMTIpOyB9XHJcbi5zb2NpYWwtY2FyZC50ZyAuc29jaWFsLWNhcmQtaWNvbiB7IGJhY2tncm91bmQ6IHJnYmEoMzQsMTU4LDIxNywuMTIpOyB9XHJcbi5zb2NpYWwtY2FyZC1ib2R5IHsgZmxleDogMTsgfVxyXG4uc29jaWFsLWNhcmQtbmFtZSB7IGZvbnQtc2l6ZTogMTZweDsgZm9udC13ZWlnaHQ6IDcwMDsgZm9udC1mYW1pbHk6ICdTeW5lJywgc2Fucy1zZXJpZjsgbGV0dGVyLXNwYWNpbmc6IC0uMnB4OyB9XHJcbi5zb2NpYWwtY2FyZC1zdWIgeyBmb250LXNpemU6IDEycHg7IGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTsgbWFyZ2luLXRvcDogMnB4OyB9XHJcbi5zb2NpYWwtY2FyZC1tZXRhIHsgZm9udC1zaXplOiAxMXB4OyBjb2xvcjogdmFyKC0tdGV4dC1kaW0pOyBtYXJnaW4tdG9wOiA0cHg7IGZvbnQtZmFtaWx5OiAnU0YgTW9ubycsIE1lbmxvLCBtb25vc3BhY2U7IGxldHRlci1zcGFjaW5nOiAuM3B4OyB9XHJcbi5zb2NpYWwtY2FyZC1tZXRhIHN0cm9uZyB7IGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTsgZm9udC1mYW1pbHk6ICdTeW5lJywgc2Fucy1zZXJpZjsgZm9udC13ZWlnaHQ6IDcwMDsgbWFyZ2luLXJpZ2h0OiAzcHg7IH1cclxuXHJcbi8qIOKUgOKUgCBSRVNQT05TSVZFIOKUgOKUgCAqL1xyXG5AbWVkaWEgKG1heC13aWR0aDogOTAwcHgpIHtcclxuICAjaGVybyB7IHBhZGRpbmc6IDEwMHB4IDIwcHggNjBweDsgfVxyXG4gIC5oZXJvLWlubmVyIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7IGdhcDogNDBweDsgfVxyXG4gIC5oZXJvLXZpc3VhbCB7IGRpc3BsYXk6IG5vbmU7IH1cclxuICAjcHJvYmxlbSAuY29udGFpbmVyIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7IGdhcDogNDBweDsgfVxyXG4gIC5wcm9kdWN0LWNhcmRzLCAudXNlY2FzZS1ncmlkLCAudXNlY2FzZS1leHRyYSwgLnByaWNpbmctbGFuZGluZyAucHJpY2luZy1ncmlkIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7IH1cclxuICAuaG93LWxhbmRpbmQgLmlubmVyIHsgZGlzcGxheTogYmxvY2s7IH1cclxuICAuZGVtby1sYW5kaW5nIC5kZW1vLXBhbmVsLmFjdGl2ZSB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOyB9XHJcbiAgLnNvY2lhbC1jYXJkcyB7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9XHJcbiAgLnNvY2lhbC1jYXJkIHsgbWluLXdpZHRoOiB1bnNldDsgfVxyXG4gIC5kZW1vLWxhbmRpbmcgLmRlbW8tdGFicyB7IGZsZXgtd3JhcDogd3JhcDsgfVxyXG59XHJcbkBtZWRpYSAobWF4LXdpZHRoOiA1MDBweCkge1xyXG4gIC50cnVzdC1iYWRnZXMgc3BhbiB7IHBhZGRpbmc6IDAgMTJweDsgfVxyXG59XHJcbiIsIi8qIOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkFxyXG4gICBwcm92aXNpb24tbGxtLmh0bWwg4oCUIHNlY3Rpb25zXHJcbuKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkCAqL1xyXG5cclxuLyogcGFnZS1zcGVjaWZpYyB0b2tlbiAqL1xyXG46cm9vdCB7IC0tbGxtLWdyYWQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsdmFyKC0tdGVhbCksdmFyKC0tYmx1ZSkpOyB9XHJcblxyXG4vKiDilIDilIAgI2hlcm8g4pSA4pSAICovXHJcbi5oZXJvLWxsbSAuaGVyby1nbG93IHsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IC0yMDBweDsgbGVmdDogNTAlOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IHdpZHRoOiA5MDBweDsgaGVpZ2h0OiA3MDBweDsgYm9yZGVyLXJhZGl1czogNTAlOyBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoZWxsaXBzZSxyZ2JhKDAsMjEyLDE4MCwuMDgpIDAlLHJnYmEoMjYsMTA4LDI0NiwuMDUpIDQwJSx0cmFuc3BhcmVudCA3MCUpOyBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxyXG4uaGVyby1sbG0gLmhlcm8taW5uZXIgeyBwb3NpdGlvbjogcmVsYXRpdmU7IHotaW5kZXg6IDE7IG1heC13aWR0aDogMTIwMHB4OyBtYXJnaW46IDAgYXV0bzsgd2lkdGg6IDEwMCU7IGRpc3BsYXk6IGdyaWQ7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjsgZ2FwOiA2NHB4OyBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfVxyXG4uaGVyby1sbG0gLmhlcm8tbGVmdCB7IGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cclxuLmhlcm8tbGxtIC5oZXJvLXJpZ2h0IHsgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgcGFkZGluZy10b3A6IDU2cHg7IH1cclxuXHJcbi8qIGJhZGdlcyByb3cgKi9cclxuLmhlcm8tbGxtIC5oZXJvLWJhZGdlcyB7IGRpc3BsYXk6IGlubGluZS1mbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDA7IG1hcmdpbi1ib3R0b206IDI4cHg7IGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsLjA0KTsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyKTsgYm9yZGVyLXJhZGl1czogMTAwcHg7IHBhZGRpbmc6IDZweCA2cHggNnB4IDE0cHg7IH1cclxuLmhlcm8tbGxtIC5oZXJvLWJhZGdlLWl0ZW0geyBmb250LXNpemU6IDEycHg7IGZvbnQtd2VpZ2h0OiA2MDA7IGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTsgfVxyXG4uaGVyby1sbG0gLmhlcm8tYmFkZ2UtaXRlbS5ncmVlbiB7IGNvbG9yOiAjMTBiOTgxOyB9XHJcbmh0bWwubGlnaHQgLmhlcm8tbGxtIC5oZXJvLWJhZGdlLWl0ZW0uZ3JlZW4geyBjb2xvcjogIzA1OTY2OTsgfVxyXG4uaGVyby1sbG0gLmhlcm8tYmFkZ2UtZGl2aWRlciB7IHdpZHRoOiAxcHg7IGhlaWdodDogMTRweDsgYmFja2dyb3VuZDogdmFyKC0tYm9yZGVyKTsgbWFyZ2luOiAwIDEycHg7IH1cclxuLmhlcm8tbGxtIC5oZXJvLWJhZGdlLXBpbGwgeyBiYWNrZ3JvdW5kOiByZ2JhKDAsMjEyLDE4MCwuMTIpOyBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsMjEyLDE4MCwuMjUpOyBjb2xvcjogdmFyKC0tdGVhbCk7IHBhZGRpbmc6IDRweCAxMnB4OyBib3JkZXItcmFkaXVzOiAxMDBweDsgZm9udC1zaXplOiAxMS41cHg7IGZvbnQtd2VpZ2h0OiA3MDA7IG1hcmdpbi1sZWZ0OiA4cHg7IH1cclxuaHRtbC5saWdodCAuaGVyby1sbG0gLmhlcm8tYmFkZ2UtcGlsbCB7IGNvbG9yOiAjMDA1ZjUwOyB9XHJcblxyXG4uaGVyby1sbG0gaDEuaGVyby1oMSB7IGZvbnQtc2l6ZTogY2xhbXAoNDBweCw1dncsNjRweCk7IGZvbnQtd2VpZ2h0OiA4MDA7IGxpbmUtaGVpZ2h0OiAxLjA0OyBsZXR0ZXItc3BhY2luZzogLTJweDsgbWFyZ2luLWJvdHRvbTogMjJweDsgfVxyXG4uaGVyby1sbG0gLmhlcm8taDEgLmdyYWQgeyBiYWNrZ3JvdW5kOiB2YXIoLS1sbG0tZ3JhZCk7IC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0OyBiYWNrZ3JvdW5kLWNsaXA6IHRleHQ7IC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxyXG4uaGVyby1sbG0gLmhlcm8tc3ViIHsgZm9udC1zaXplOiAxN3B4OyBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7IGZvbnQtd2VpZ2h0OiAzMDA7IGxpbmUtaGVpZ2h0OiAxLjc7IG1hcmdpbi1ib3R0b206IDI0cHg7IG1heC13aWR0aDogNjQwcHg7IH1cclxuXHJcbi8qIHNhdmluZ3MgYmFubmVyICovXHJcbi5zYXZpbmdzLWJhbm5lciB7IGJvcmRlci1yYWRpdXM6IDE2cHg7IHBhZGRpbmc6IDI0cHggMjhweDsgbWFyZ2luLWJvdHRvbTogMzJweDsgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZyxyZ2JhKDE2LDE4NSwxMjksLjA4KSAwJSxyZ2JhKDI2LDEwOCwyNDYsLjA1KSAxMDAlKTsgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxNiwxODUsMTI5LC4yKTsgcG9zaXRpb246IHJlbGF0aXZlOyBvdmVyZmxvdzogaGlkZGVuOyB9XHJcbi5zYXZpbmdzLWJhbm5lcjo6YmVmb3JlIHsgY29udGVudDogJyc7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAwOyBsZWZ0OiAwOyByaWdodDogMDsgaGVpZ2h0OiAxcHg7IGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZyx0cmFuc3BhcmVudCxyZ2JhKDE2LDE4NSwxMjksLjUpLHRyYW5zcGFyZW50KTsgfVxyXG4uc2F2aW5ncy1iYW5uZXItdGl0bGUgeyBmb250LXNpemU6IDEzcHg7IGZvbnQtd2VpZ2h0OiA2MDA7IGNvbG9yOiAjMTBiOTgxOyBtYXJnaW4tYm90dG9tOiAxNnB4OyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDZweDsgfVxyXG5odG1sLmxpZ2h0IC5zYXZpbmdzLWJhbm5lci10aXRsZSB7IGNvbG9yOiAjMDU5NjY5OyB9XHJcbi5zYXZpbmdzLWNvbHMgeyBkaXNwbGF5OiBncmlkOyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LDFmcik7IGdhcDogMDsgcG9zaXRpb246IHJlbGF0aXZlOyB9XHJcbi5zYXZpbmdzLWNvbCB7IHRleHQtYWxpZ246IGNlbnRlcjsgcGFkZGluZzogMCAxMnB4OyBwb3NpdGlvbjogcmVsYXRpdmU7IH1cclxuLnNhdmluZ3MtY29sICsgLnNhdmluZ3MtY29sOjpiZWZvcmUgeyBjb250ZW50OiAnJzsgcG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiAwOyB0b3A6IDEwJTsgaGVpZ2h0OiA4MCU7IHdpZHRoOiAxcHg7IGJhY2tncm91bmQ6IHZhcigtLWJvcmRlcik7IH1cclxuLnNhdmluZ3MtbnVtIHsgZm9udC1mYW1pbHk6ICdTeW5lJywgc2Fucy1zZXJpZjsgZm9udC1zaXplOiBjbGFtcCgxOHB4LDIuNXZ3LDI2cHgpOyBmb250LXdlaWdodDogODAwOyBjb2xvcjogIzEwYjk4MTsgbGluZS1oZWlnaHQ6IDE7IG1hcmdpbi1ib3R0b206IDVweDsgfVxyXG5odG1sLmxpZ2h0IC5zYXZpbmdzLW51bSB7IGNvbG9yOiAjMDU5NjY5OyB9XHJcbi5zYXZpbmdzLWxhYmVsIHsgZm9udC1zaXplOiAxMXB4OyBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7IG9wYWNpdHk6IC44NTsgbGluZS1oZWlnaHQ6IDEuNDsgfVxyXG4uc2F2aW5ncy1ub3RlIHsgZm9udC1zaXplOiAxMS41cHg7IGNvbG9yOiB2YXIoLS10ZXh0LWRpbSk7IGZvbnQtc3R5bGU6IGl0YWxpYzsgbWFyZ2luLXRvcDogMTRweDsgcGFkZGluZy10b3A6IDE0cHg7IGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXIpOyB9XHJcblxyXG4uaGVyby1sbG0gLmhlcm8tY3RhIHsgZGlzcGxheTogZmxleDsgZ2FwOiAxMHB4OyBmbGV4LXdyYXA6IHdyYXA7IG1hcmdpbi1ib3R0b206IDE2cHg7IH1cclxuLmhlcm8tbGxtIC5oZXJvLWN0YSAuYnRuLWxnIHsgcGFkZGluZzogMTFweCAyMHB4OyBmb250LXNpemU6IDE0cHg7IH1cclxuLmhlcm8tbGxtIC5oZXJvLWhpbnQgeyBkaXNwbGF5OiBpbmxpbmUtZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiAxMHB4OyBmbGV4LXdyYXA6IHdyYXA7IHBhZGRpbmc6IDExcHggMTJweDsgYm9yZGVyLXJhZGl1czogMTBweDsgYmFja2dyb3VuZDogcmdiYSgwLDIxMiwxODAsLjA2KTsgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLDIxMiwxODAsLjE4KTsgZm9udC1zaXplOiAxM3B4OyBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7IHdpZHRoOiBmaXQtY29udGVudDt9XHJcblxyXG4vKiBoZXJvIHJpZ2h0IG1ldHJpY3MgKi9cclxuLmhlcm8tbGxtIC5oZXJvLW1ldHJpY3MtZ3JpZCB7IGRpc3BsYXk6IGdyaWQ7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjsgZ2FwOiAxMnB4OyBtYXJnaW4tdG9wOiAxNnB4OyBtYXJnaW4tYm90dG9tOiAxNnB4OyB9XHJcbi5oZXJvLWxsbSAuaGVyby1tZXRyaWMgeyBiYWNrZ3JvdW5kOiByZ2JhKDAsMjEyLDE4MCwuMDUpOyBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsMjEyLDE4MCwuMSk7IGJvcmRlci1yYWRpdXM6IDEycHg7IHBhZGRpbmc6IDE0cHggMTZweDsgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIC4ycywgYmFja2dyb3VuZCAuMnM7IH1cclxuLmhlcm8tbGxtIC5oZXJvLW1ldHJpYzpob3ZlciB7IGJvcmRlci1jb2xvcjogcmdiYSgwLDIxMiwxODAsLjI1KTsgYmFja2dyb3VuZDogcmdiYSgwLDIxMiwxODAsLjA4KTsgfVxyXG4uaGVyby1sbG0gLmhlcm8tbWV0cmljLXZhbCB7IGZvbnQtZmFtaWx5OiAnU3luZScsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMjRweDsgZm9udC13ZWlnaHQ6IDgwMDsgbGV0dGVyLXNwYWNpbmc6IC0xcHg7IGNvbG9yOiB2YXIoLS10ZWFsKTsgbGluZS1oZWlnaHQ6IDE7IG1hcmdpbi1ib3R0b206IDVweDsgfVxyXG4uaGVyby1sbG0gLmhlcm8tbWV0cmljLWxhYmVsIHsgZm9udC1zaXplOiAxMS41cHg7IGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTsgbGluZS1oZWlnaHQ6IDEuNDsgfVxyXG4uaGVyby1sbG0gLmhlcm8tcGlsbHMtcmlnaHQgeyBkaXNwbGF5OiBmbGV4OyBmbGV4LXdyYXA6IHdyYXA7IGdhcDogOHB4OyBwYWRkaW5nLXRvcDogMTRweDsgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWJvcmRlcik7IH1cclxuLmhlcm8tbGxtIC5oZXJvLXBpbGwtciB7IGRpc3BsYXk6IGlubGluZS1mbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDZweDsgcGFkZGluZzogNnB4IDEycHg7IGJvcmRlci1yYWRpdXM6IDEwMHB4OyBiYWNrZ3JvdW5kOiB2YXIoLS1jYXJkKTsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyKTsgZm9udC1zaXplOiAxMnB4OyBmb250LXdlaWdodDogNTAwOyBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7IHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAuMnMsIGNvbG9yIC4yczsgfVxyXG4uaGVyby1sbG0gLmhlcm8tcGlsbC1yOmhvdmVyIHsgYm9yZGVyLWNvbG9yOiByZ2JhKDAsMjEyLDE4MCwuMyk7IGNvbG9yOiB2YXIoLS10ZXh0KTsgfVxyXG5odG1sLmxpZ2h0IC5oZXJvLWxsbSAuaGVyby1waWxsLXIgeyBiYWNrZ3JvdW5kOiByZ2JhKDEzLDMwLDYwLC4wMyk7IH1cclxuXHJcbi8qIOKUgOKUgCAjZmVhdHVyZXMg4pSA4pSAICovXHJcbi5mZWF0dXJlcy1sbG0geyBwYWRkaW5nOiA1MHB4IDA7IGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsdHJhbnNwYXJlbnQgMCUscmdiYSgxMCwxOCwzMiwuNCkgMTAwJSk7IHRyYW5zaXRpb246IGJhY2tncm91bmQgLjM1czsgfVxyXG5odG1sLmxpZ2h0IC5mZWF0dXJlcy1sbG0geyBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLHRyYW5zcGFyZW50IDAlLHJnYmEoMjM4LDI0MiwyNDksLjkpIDEwMCUpOyB9XHJcbi5mZWF0dXJlcy1sbG0gLmZlYXR1cmVzLWdyaWQgeyBkaXNwbGF5OiBncmlkOyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLDFmcik7IGdhcDogMTZweDsgfVxyXG4uZmVhdHVyZXMtbGxtIC5mZWF0LWNhcmQgeyBiYWNrZ3JvdW5kOiB2YXIoLS1jYXJkKTsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyKTsgYm9yZGVyLXJhZGl1czogMTZweDsgcGFkZGluZzogMzBweDsgYm94LXNoYWRvdzogdmFyKC0tY2FyZC1zaGFkb3cpOyB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIC4zNXMsIGJvcmRlci1jb2xvciAuM3MsIHRyYW5zZm9ybSAuMjVzLCBib3gtc2hhZG93IC4yNXM7IHBvc2l0aW9uOiByZWxhdGl2ZTsgb3ZlcmZsb3c6IGhpZGRlbjsgfVxyXG4uZmVhdHVyZXMtbGxtIC5mZWF0LWNhcmQ6aG92ZXIgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTVweCk7IGJveC1zaGFkb3c6IHZhcigtLWNhcmQtc2hhZG93LWhvdmVyKTsgYm9yZGVyLWNvbG9yOiByZ2JhKDAsMjEyLDE4MCwuMjUpOyB9XHJcbi5mZWF0dXJlcy1sbG0gLmZlYXQtY2FyZDo6YmVmb3JlIHsgY29udGVudDogJyc7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAwOyBsZWZ0OiAwOyByaWdodDogMDsgaGVpZ2h0OiAycHg7IGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZyx2YXIoLS10ZWFsKSx2YXIoLS1ibHVlKSk7IG9wYWNpdHk6IDA7IHRyYW5zaXRpb246IC4zczsgfVxyXG4uZmVhdHVyZXMtbGxtIC5mZWF0LWNhcmQ6aG92ZXI6OmJlZm9yZSB7IG9wYWNpdHk6IDE7IH1cclxuaHRtbC5saWdodCAuZmVhdHVyZXMtbGxtIC5mZWF0LWNhcmQgeyBiYWNrZ3JvdW5kOiAjZmZmOyB9XHJcbi5mZWF0dXJlcy1sbG0gLmZlYXQtaWNvbiB7IGZvbnQtc2l6ZTogMzJweDsgbWFyZ2luLWJvdHRvbTogMTZweDsgZGlzcGxheTogYmxvY2s7IH1cclxuLmZlYXR1cmVzLWxsbSAuZmVhdC10aXRsZSB7IGZvbnQtc2l6ZTogMThweDsgZm9udC13ZWlnaHQ6IDcwMDsgbGV0dGVyLXNwYWNpbmc6IC0uMnB4OyBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XHJcbi5mZWF0dXJlcy1sbG0gLmZlYXQtZGVzYyB7IGZvbnQtc2l6ZTogMTRweDsgY29sb3I6IHZhcigtLXRleHQtbXV0ZWQpOyBsaW5lLWhlaWdodDogMS42NTsgfVxyXG5cclxuLyog4pSA4pSAICNwcmljaW5nIOKUgOKUgCAqL1xyXG4ucHJpY2luZy1sbG0geyBwYWRkaW5nOiA1MHB4IDA7IH1cclxuLnByaWNpbmctZ3JpZCB7IGRpc3BsYXk6IGdyaWQ7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsMWZyKTsgZ2FwOiAxNnB4OyBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XHJcbi5wcmljZS1jYXJkIHsgYmFja2dyb3VuZDogdmFyKC0tY2FyZCk7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlcik7IGJvcmRlci1yYWRpdXM6IDE2cHg7IHBhZGRpbmc6IDI0cHg7IHBvc2l0aW9uOiByZWxhdGl2ZTsgb3ZlcmZsb3c6IGhpZGRlbjsgYm94LXNoYWRvdzogdmFyKC0tY2FyZC1zaGFkb3cpOyB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjNzLCBib3JkZXItY29sb3IgLjNzLCBib3gtc2hhZG93IC4zcywgYmFja2dyb3VuZCAuMzVzOyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XHJcbi5wcmljZS1jYXJkOmhvdmVyIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00cHgpOyBib3gtc2hhZG93OiB2YXIoLS1jYXJkLXNoYWRvdy1ob3Zlcik7IH1cclxuaHRtbC5saWdodCAucHJpY2UtY2FyZCB7IGJhY2tncm91bmQ6ICNmZmY7IH1cclxuLnByaWNlLWNhcmQuZmVhdHVyZWQgeyBib3JkZXItY29sb3I6IHJnYmEoMCwyMTIsMTgwLC4zNSk7IGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcscmdiYSgwLDIxMiwxODAsLjA0KSAwJSx2YXIoLS1jYXJkKSA0MCUpOyB9XHJcbmh0bWwubGlnaHQgLnByaWNlLWNhcmQuZmVhdHVyZWQgeyBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLHJnYmEoMCwyMTIsMTgwLC4wMykgMCUsI2ZmZiA0MCUpOyB9XHJcbi5wcmljZS1jYXJkLmZlYXR1cmVkOjpiZWZvcmUgeyBjb250ZW50OiAnJzsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDA7IGxlZnQ6IDA7IHJpZ2h0OiAwOyBoZWlnaHQ6IDJweDsgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLHZhcigtLXRlYWwpLHZhcigtLWJsdWUpKTsgfVxyXG4ucHJpY2Utc3RhciB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAxNHB4OyByaWdodDogMTRweDsgYmFja2dyb3VuZDogcmdiYSgwLDIxMiwxODAsLjEyKTsgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLDIxMiwxODAsLjI1KTsgY29sb3I6IHZhcigtLXRlYWwpOyBmb250LXNpemU6IDEwcHg7IGZvbnQtd2VpZ2h0OiA3MDA7IHBhZGRpbmc6IDNweCAxMHB4OyBib3JkZXItcmFkaXVzOiAyMHB4OyBsZXR0ZXItc3BhY2luZzogLjVweDsgfVxyXG4ucHJpY2UtdGllciB7IGZvbnQtc2l6ZTogMTFweDsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgbGV0dGVyLXNwYWNpbmc6IDEuNXB4OyBjb2xvcjogdmFyKC0tYWNjZW50LXNvZnQpOyBmb250LXdlaWdodDogNjAwOyBtYXJnaW4tYm90dG9tOiA2cHg7IH1cclxuLnByaWNlLW5hbWUgeyBmb250LXNpemU6IDIwcHg7IGZvbnQtd2VpZ2h0OiA4MDA7IGxldHRlci1zcGFjaW5nOiAtLjNweDsgbWFyZ2luLWJvdHRvbTogMTRweDsgfVxyXG4ucHJpY2UtYW1vdW50IHsgZm9udC1mYW1pbHk6ICdTeW5lJywgc2Fucy1zZXJpZjsgZm9udC1zaXplOiBjbGFtcCgyMHB4LDJ2dywyNnB4KTsgZm9udC13ZWlnaHQ6IDgwMDsgbGV0dGVyLXNwYWNpbmc6IC0xcHg7IG1hcmdpbi1ib3R0b206IDNweDsgbGluZS1oZWlnaHQ6IDE7IH1cclxuLnByaWNlLXBlcmlvZCB7IGZvbnQtc2l6ZTogMTJweDsgY29sb3I6IHZhcigtLXRleHQtZGltKTsgbWFyZ2luLWJvdHRvbTogMThweDsgfVxyXG4ucHJpY2UtZGl2aWRlciB7IGhlaWdodDogMXB4OyBiYWNrZ3JvdW5kOiB2YXIoLS1ib3JkZXIpOyBtYXJnaW4tYm90dG9tOiAxNnB4OyB9XHJcbi5wcmljZS1yb3dzIHsgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgZ2FwOiA4cHg7IGZsZXg6IDE7IG1hcmdpbi1ib3R0b206IDIwcHg7IH1cclxuLnByaWNlLXJvdyB7IGRpc3BsYXk6IGZsZXg7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IGdhcDogOHB4OyBmb250LXNpemU6IDEyLjVweDsgfVxyXG4ucHJpY2Utcm93LWxhYmVsIHsgY29sb3I6IHZhcigtLXRleHQtZGltKTsgfVxyXG4ucHJpY2Utcm93LXZhbCB7IGNvbG9yOiB2YXIoLS10ZXh0KTsgZm9udC13ZWlnaHQ6IDYwMDsgdGV4dC1hbGlnbjogcmlnaHQ7IH1cclxuLnByaWNlLXJvdy12YWwuZ3JlZW4geyBjb2xvcjogIzEwYjk4MTsgfVxyXG5odG1sLmxpZ2h0IC5wcmljZS1yb3ctdmFsLmdyZWVuIHsgY29sb3I6ICMwNTk2Njk7IH1cclxuLnByaWNlLXJvdy12YWwubm8geyBjb2xvcjogdmFyKC0tdGV4dC1kaW0pOyBmb250LXdlaWdodDogNDAwOyB9XHJcbi5wcmljZS1vdmVyYWdlIHsgZm9udC1zaXplOiAxMS41cHg7IGNvbG9yOiB2YXIoLS10ZXh0LWRpbSk7IHBhZGRpbmc6IDhweCAxMHB4OyBiYWNrZ3JvdW5kOiB2YXIoLS1zb2NpYWwtYmcpOyBib3JkZXItcmFkaXVzOiA4cHg7IG1hcmdpbi1ib3R0b206IDE2cHg7IH1cclxuLmJ0bi1wcmljZSB7IHdpZHRoOiAxMDAlOyBwYWRkaW5nOiAxMXB4OyBib3JkZXItcmFkaXVzOiAxMHB4OyBmb250LXNpemU6IDEzLjVweDsgZm9udC13ZWlnaHQ6IDYwMDsgY3Vyc29yOiBwb2ludGVyOyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXIpOyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgY29sb3I6IHZhcigtLXRleHQpOyBmb250LWZhbWlseTogJ0RNIFNhbnMnLCBzYW5zLXNlcmlmOyB0cmFuc2l0aW9uOiAuMnM7IH1cclxuLmJ0bi1wcmljZTpob3ZlciB7IGJvcmRlci1jb2xvcjogdmFyKC0tdGVhbCk7IGNvbG9yOiB2YXIoLS10ZWFsKTsgfVxyXG4uYnRuLXByaWNlLmN0YSB7IGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsdmFyKC0tdGVhbCksdmFyKC0tYmx1ZSkpOyBib3JkZXI6IG5vbmU7IGNvbG9yOiAjZmZmOyB9XHJcbi5idG4tcHJpY2UuY3RhOmhvdmVyIHsgb3BhY2l0eTogLjk7IH1cclxuLnByaWNpbmctbm90ZSB7IHRleHQtYWxpZ246IGNlbnRlcjsgZm9udC1zaXplOiAxMnB4OyBjb2xvcjogdmFyKC0tdGV4dC1kaW0pOyB9XHJcbi5wcmljZS1zYXZpbmdzLXJvdyB7IGRpc3BsYXk6IGZsZXg7IGdhcDogNnB4OyBmbGV4LXdyYXA6IHdyYXA7IG1hcmdpbi1ib3R0b206IDEwcHg7IH1cclxuLnByaWNlLXNhdmluZy1iYWRnZSB7IGZvbnQtc2l6ZTogMTFweDsgZm9udC13ZWlnaHQ6IDYwMDsgcGFkZGluZzogMnB4IDhweDsgYm9yZGVyLXJhZGl1czogNnB4OyBiYWNrZ3JvdW5kOiByZ2JhKDE2LDE4NSwxMjksLjEpOyBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDE2LDE4NSwxMjksLjIpOyBjb2xvcjogIzEwYjk4MTsgfVxyXG5odG1sLmxpZ2h0IC5wcmljZS1zYXZpbmctYmFkZ2UgeyBjb2xvcjogIzA1OTY2OTsgfVxyXG5cclxuLyog4pSA4pSAICNjb21wYXJlIOKUgOKUgCAqL1xyXG4jY29tcGFyZSB7IHBhZGRpbmc6IDUwcHggMDsgfVxyXG4udGFicyB7IGRpc3BsYXk6IGZsZXg7IGdhcDogOHB4OyBtYXJnaW4tYm90dG9tOiAzMnB4OyBmbGV4LXdyYXA6IHdyYXA7IH1cclxuLnRhYi1idG4geyBwYWRkaW5nOiAxMHB4IDIycHg7IGJvcmRlci1yYWRpdXM6IDEwcHg7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlcik7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7IGZvbnQtc2l6ZTogMTRweDsgZm9udC13ZWlnaHQ6IDYwMDsgY3Vyc29yOiBwb2ludGVyOyBmb250LWZhbWlseTogJ0RNIFNhbnMnLCBzYW5zLXNlcmlmOyB0cmFuc2l0aW9uOiAuMnM7IH1cclxuLnRhYi1idG46aG92ZXIgeyBib3JkZXItY29sb3I6IHZhcigtLXRlYWwpOyBjb2xvcjogdmFyKC0tdGVhbCk7IH1cclxuLnRhYi1idG4uYWN0aXZlIHsgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZyx2YXIoLS10ZWFsKSx2YXIoLS1ibHVlKSk7IGJvcmRlcjogbm9uZTsgY29sb3I6ICNmZmY7IH1cclxuLnRhYi1wYW5lbCB7IGRpc3BsYXk6IG5vbmU7IH1cclxuLnRhYi1wYW5lbC5hY3RpdmUgeyBkaXNwbGF5OiBibG9jazsgfVxyXG5cclxuLmFkdi1ncmlkIHsgZGlzcGxheTogZ3JpZDsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyOyBnYXA6IDE2cHg7IG1hcmdpbi1ib3R0b206IDMycHg7IH1cclxuLmFkdi1jYXJkIHsgYmFja2dyb3VuZDogdmFyKC0tY2FyZCk7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlcik7IGJvcmRlci1yYWRpdXM6IDE0cHg7IHBhZGRpbmc6IDIwcHggMjJweDsgYm94LXNoYWRvdzogdmFyKC0tY2FyZC1zaGFkb3cpOyB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIC4zNXMsIGJvcmRlci1jb2xvciAuM3M7IH1cclxuLmFkdi1jYXJkOmhvdmVyIHsgYm9yZGVyLWNvbG9yOiByZ2JhKDAsMjEyLDE4MCwuMik7IH1cclxuaHRtbC5saWdodCAuYWR2LWNhcmQgeyBiYWNrZ3JvdW5kOiAjZmZmOyB9XHJcbi5hZHYtaWNvbiB7IGZvbnQtc2l6ZTogMjJweDsgbWFyZ2luLWJvdHRvbTogOHB4OyB9XHJcbi5hZHYtdGl0bGUgeyBmb250LXNpemU6IDE1cHg7IGZvbnQtd2VpZ2h0OiA3MDA7IG1hcmdpbi1ib3R0b206IDZweDsgY29sb3I6IHZhcigtLXRleHQpOyB9XHJcbi5hZHYtZGVzYyB7IGZvbnQtc2l6ZTogMTNweDsgY29sb3I6IHZhcigtLXRleHQtbXV0ZWQpOyBsaW5lLWhlaWdodDogMS42OyB9XHJcblxyXG4uY3RhYmxlLXdyYXAgeyBib3JkZXItcmFkaXVzOiAxNHB4OyBvdmVyZmxvdzogaGlkZGVuOyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXIpOyBib3gtc2hhZG93OiB2YXIoLS1jYXJkLXNoYWRvdyk7IH1cclxuLmN0YWJsZS13cmFwIHRhYmxlIHsgd2lkdGg6IDEwMCU7IGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7IH1cclxuLmN0YWJsZS13cmFwIHRoZWFkIHRoIHsgcGFkZGluZzogMTNweCAxOHB4OyBmb250LXNpemU6IDEycHg7IGZvbnQtd2VpZ2h0OiA3MDA7IHRleHQtYWxpZ246IGxlZnQ7IGJhY2tncm91bmQ6IHZhcigtLWNhcmQpOyBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYm9yZGVyKTsgZm9udC1mYW1pbHk6ICdTeW5lJywgc2Fucy1zZXJpZjsgfVxyXG5odG1sLmxpZ2h0IC5jdGFibGUtd3JhcCB0aGVhZCB0aCB7IGJhY2tncm91bmQ6IHZhcigtLWJnMik7IH1cclxuLmN0YWJsZS13cmFwIHRoZWFkIHRoOm5vdCg6Zmlyc3QtY2hpbGQpIHsgdGV4dC1hbGlnbjogY2VudGVyOyB9XHJcbi5jdGFibGUtd3JhcCB0Ym9keSB0ciB7IGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXIpOyB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIC4xNXM7IH1cclxuLmN0YWJsZS13cmFwIHRib2R5IHRyOmhvdmVyIHsgYmFja2dyb3VuZDogcmdiYSgwLDIxMiwxODAsLjAzKTsgfVxyXG4uY3RhYmxlLXdyYXAgdGJvZHkgdHIuaGlnaGxpZ2h0IHsgYmFja2dyb3VuZDogcmdiYSgwLDIxMiwxODAsLjA1KTsgfVxyXG4uY3RhYmxlLXdyYXAgdGJvZHkgdGQgeyBwYWRkaW5nOiAxMnB4IDE4cHg7IGZvbnQtc2l6ZTogMTNweDsgY29sb3I6IHZhcigtLXRleHQtbXV0ZWQpOyB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cclxuLmN0YWJsZS13cmFwIHRib2R5IHRkOmZpcnN0LWNoaWxkIHsgdGV4dC1hbGlnbjogbGVmdDsgZm9udC13ZWlnaHQ6IDYwMDsgY29sb3I6IHZhcigtLXRleHQpOyB9XHJcbi5jdGFibGUtd3JhcCAudmFsLWdyZWVuIHsgY29sb3I6ICMxMGI5ODE7IGZvbnQtd2VpZ2h0OiA3MDA7IH1cclxuaHRtbC5saWdodCAuY3RhYmxlLXdyYXAgLnZhbC1ncmVlbiB7IGNvbG9yOiAjMDU5NjY5OyB9XHJcbi5jdGFibGUtbm90ZSB7IGZvbnQtc2l6ZTogMTJweDsgY29sb3I6IHZhcigtLXRleHQtZGltKTsgbWFyZ2luLXRvcDogMTJweDsgcGFkZGluZzogMTJweCAxNnB4OyBiYWNrZ3JvdW5kOiByZ2JhKDAsMjEyLDE4MCwuMDQpOyBib3JkZXItcmFkaXVzOiAxMHB4OyBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsMjEyLDE4MCwuMSk7IH1cclxuXHJcbi5jb3N0LWJhcnMgeyBtYXJnaW4tYm90dG9tOiAyOHB4OyB9XHJcbi5jb3N0LWJhcnMtdGl0bGUgeyBmb250LXNpemU6IDE1cHg7IGZvbnQtd2VpZ2h0OiA3MDA7IG1hcmdpbi1ib3R0b206IDE2cHg7IGNvbG9yOiB2YXIoLS10ZXh0KTsgfVxyXG4uY29zdC1iYXItcm93IHsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiAxNHB4OyBtYXJnaW4tYm90dG9tOiAxMnB4OyB9XHJcbi5jb3N0LWJhci1sYWJlbCB7IGZvbnQtc2l6ZTogMTNweDsgY29sb3I6IHZhcigtLXRleHQtbXV0ZWQpOyB3aWR0aDogMjIwcHg7IGZsZXgtc2hyaW5rOiAwOyB9XHJcbi5jb3N0LWJhci13cmFwIHsgZmxleDogMTsgaGVpZ2h0OiA4cHg7IGJhY2tncm91bmQ6IHZhcigtLXNvY2lhbC1iZyk7IGJvcmRlci1yYWRpdXM6IDhweDsgb3ZlcmZsb3c6IGhpZGRlbjsgfVxyXG4uY29zdC1iYXItZmlsbCB7IGhlaWdodDogMTAwJTsgYm9yZGVyLXJhZGl1czogOHB4OyBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsdmFyKC0tdGVhbCksdmFyKC0tYmx1ZSkpOyB9XHJcbi5jb3N0LWJhci12YWwgeyBmb250LXNpemU6IDEzcHg7IGZvbnQtd2VpZ2h0OiA3MDA7IGNvbG9yOiB2YXIoLS10ZXh0KTsgd2lkdGg6IDEyMHB4OyB0ZXh0LWFsaWduOiByaWdodDsgZmxleC1zaHJpbms6IDA7IH1cclxuLmNvc3QtYmFyLXZhbC0tZGltIHsgY29sb3I6IHZhcigtLXRleHQtZGltKTsgfVxyXG4uY29zdC10b3RhbCB7IHBhZGRpbmc6IDE0cHggMjBweDsgYmFja2dyb3VuZDogcmdiYSgwLDIxMiwxODAsLjA1KTsgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLDIxMiwxODAsLjIpOyBib3JkZXItcmFkaXVzOiAxMnB4OyBmb250LXNpemU6IDE0cHg7IGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTsgbWFyZ2luLXRvcDogOHB4OyB9XHJcbi5jb3N0LXRvdGFsIHN0cm9uZyB7IGNvbG9yOiB2YXIoLS10ZWFsKTsgZm9udC1mYW1pbHk6ICdTeW5lJywgc2Fucy1zZXJpZjsgfVxyXG5cclxuXHJcbi8qIGVudGVycHJpc2UgcHJpY2Ugb3ZlcnJpZGUgKi9cclxuLnByaWNlLWVudGVycHJpc2UgeyBmb250LXNpemU6IDIycHg7IGxldHRlci1zcGFjaW5nOiAtLjVweDsgfVxyXG5cclxuLyog4pSA4pSAIFJFU1BPTlNJVkUg4pSA4pSAICovXHJcbkBtZWRpYSAobWF4LXdpZHRoOiAxMDI0cHgpIHsgLnByaWNpbmctZ3JpZCB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsMWZyKTsgfSB9XHJcbkBtZWRpYSAobWF4LXdpZHRoOiA5MDBweCkge1xyXG4gIC5oZXJvLWxsbSAuaGVyby1pbm5lciB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOyBnYXA6IDQwcHg7IH1cclxuICAuaGVyby1sbG0gLmhlcm8tcmlnaHQgeyBkaXNwbGF5OiBub25lOyBwYWRkaW5nLXRvcDogMDsgfVxyXG4gIC5zYXZpbmdzLWNvbHMgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLDFmcik7IGdhcDogMTZweDsgfVxyXG4gIC5zYXZpbmdzLWNvbCArIC5zYXZpbmdzLWNvbDo6YmVmb3JlIHsgZGlzcGxheTogbm9uZTsgfVxyXG4gIC5mZWF0dXJlcy1sbG0gLmZlYXR1cmVzLWdyaWQgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7IH1cclxuICAucHJpY2luZy1ncmlkIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7IH1cclxuICAuYWR2LWdyaWQgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsgfVxyXG4gICNjdGEtZmluYWwgeyBwYWRkaW5nOiA1NnB4IDIwcHg7IH1cclxufVxyXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcclxuICAuZmVhdHVyZXMtbGxtIC5mZWF0dXJlcy1ncmlkIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7IH1cclxuICAuY3RhLWZvcm0tZ3JpZCB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOyB9XHJcbn1cclxuQG1lZGlhIChtYXgtd2lkdGg6IDUwMHB4KSB7XHJcbiAgLmhlcm8tYmFkZ2VzIHsgZmxleC13cmFwOiB3cmFwOyBib3JkZXItcmFkaXVzOiAxMnB4OyB9XHJcbn1cclxuXHJcblxyXG4vKiBkZW1vICovXHJcbi5wbGItd3JhcCB7XHJcbiAgbWFyZ2luOiA1MHB4IDA7XHJcbiAgYmFja2dyb3VuZDogIzBhMTIyMDtcclxuICBib3JkZXItcmFkaXVzOiAyMHB4O1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjA4KTtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICBoZWlnaHQ6IDU2MHB4O1xyXG4gIGZvbnQtZmFtaWx5OiAnRE0gU2FucycsIHN5c3RlbS11aSwgc2Fucy1zZXJpZjtcclxuICBmb250LXNpemU6IDE0cHg7XHJcbiAgbGluZS1oZWlnaHQ6IDEuNTtcclxuICBjb2xvcjogI2U4ZWRmNTtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgc2Nyb2xsLW1hcmdpbi10b3A6NjRweDtcclxufVxyXG5cclxuLyog4pSA4pSAIEhFQURFUiDilIDilIAgKi9cclxuLnBsYi1oZWFkIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gIHBhZGRpbmc6IDEzcHggMThweDtcclxuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuMDcpO1xyXG4gIGJhY2tncm91bmQ6ICMwZjFhMmU7XHJcbiAgZmxleC1zaHJpbms6IDA7XHJcbn1cclxuLnBsYi1oZWFkLWxlZnQgeyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDlweDsgfVxyXG4ucGxiLWRvdCB7XHJcbiAgd2lkdGg6IDdweDsgaGVpZ2h0OiA3cHg7IGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICBiYWNrZ3JvdW5kOiAjMDBkNGI0O1xyXG4gIGJveC1zaGFkb3c6IDAgMCA3cHggIzAwZDRiNDtcclxuICBhbmltYXRpb246IHBsYlB1bHNlIDJzIGluZmluaXRlO1xyXG59XHJcbkBrZXlmcmFtZXMgcGxiUHVsc2UgeyAwJSwxMDAle29wYWNpdHk6MX0gNTAle29wYWNpdHk6LjM1fSB9XHJcbi5wbGItbW9kZWwtbmFtZSB7IGZvbnQtc2l6ZTogMTNweDsgZm9udC13ZWlnaHQ6IDYwMDsgY29sb3I6ICM3YThiYTg7IH1cclxuLnBsYi10YWcge1xyXG4gIHBhZGRpbmc6IDJweCA3cHg7IGJvcmRlci1yYWRpdXM6IDVweDtcclxuICBmb250LXNpemU6IDEwLjVweDsgZm9udC13ZWlnaHQ6IDcwMDtcclxuICBiYWNrZ3JvdW5kOiByZ2JhKDAsMjEyLDE4MCwuMSk7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLDIxMiwxODAsLjIpO1xyXG4gIGNvbG9yOiAjMDBkNGI0O1xyXG59XHJcbi5wbGItdGFnLWJsdWUge1xyXG4gIGJhY2tncm91bmQ6IHJnYmEoMjYsMTA4LDI0NiwuMSk7XHJcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDI2LDEwOCwyNDYsLjIpO1xyXG4gIGNvbG9yOiAjMWE2Y2Y2O1xyXG59XHJcbi5wbGItYmFkZ2Uge1xyXG4gIGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogNXB4O1xyXG4gIGZvbnQtc2l6ZTogMTFweDsgZm9udC13ZWlnaHQ6IDYwMDtcclxuICBwYWRkaW5nOiAzcHggMTBweDsgYm9yZGVyLXJhZGl1czogMjBweDtcclxuICBiYWNrZ3JvdW5kOiByZ2JhKDAsMjEyLDE4MCwuMDcpO1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwyMTIsMTgwLC4xOCk7XHJcbiAgY29sb3I6ICMwMGQ0YjQ7XHJcbn1cclxuXHJcbi8qIOKUgOKUgCBNRVNTQUdFUyDilIDilIAgKi9cclxuLnBsYi1tZXNzYWdlcyB7XHJcbiAgZmxleDogMTtcclxuICBvdmVyZmxvdy15OiBhdXRvO1xyXG4gIHBhZGRpbmc6IDIwcHggMjBweCA4cHg7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gIGdhcDogMTZweDtcclxuICBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDtcclxufVxyXG4ucGxiLW1lc3NhZ2VzOjotd2Via2l0LXNjcm9sbGJhciB7IHdpZHRoOiAzcHg7IH1cclxuLnBsYi1tZXNzYWdlczo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIgeyBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LC4wNyk7IGJvcmRlci1yYWRpdXM6IDNweDsgfVxyXG5cclxuLnBsYi1yb3cgeyBkaXNwbGF5OiBmbGV4OyBnYXA6IDEwcHg7IGFuaW1hdGlvbjogcGxiSW4gLjNzIGVhc2U7IH1cclxuLnBsYi1yb3cucGxiLXVzZXIgeyBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cclxuQGtleWZyYW1lcyBwbGJJbiB7IGZyb217b3BhY2l0eTowO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDhweCl9IHRve29wYWNpdHk6MTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX0gfVxyXG5cclxuLnBsYi1hdiB7XHJcbiAgd2lkdGg6IDI4cHg7IGhlaWdodDogMjhweDsgYm9yZGVyLXJhZGl1czogN3B4O1xyXG4gIGZsZXgtc2hyaW5rOiAwOyBtYXJnaW4tdG9wOiAycHg7XHJcbiAgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbn1cclxuLnBsYi1hdi5haSAgeyBiYWNrZ3JvdW5kOiByZ2JhKDAsMjEyLDE4MCwuMSk7IGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwyMTIsMTgwLC4yKTsgfVxyXG4ucGxiLWF2LnVzciB7IGJhY2tncm91bmQ6IHJnYmEoMjYsMTA4LDI0NiwuMSk7IGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjYsMTA4LDI0NiwuMik7IH1cclxuXHJcbi5wbGItYm9keSB7IG1heC13aWR0aDogNzUlOyBtaW4td2lkdGg6IDA7IH1cclxuLnBsYi1uYW1lIHtcclxuICBmb250LXNpemU6IDEwcHg7IGZvbnQtd2VpZ2h0OiA3MDA7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgbGV0dGVyLXNwYWNpbmc6IDFweDsgbWFyZ2luLWJvdHRvbTogNXB4O1xyXG59XHJcbi5wbGItcm93LnBsYi1haSAgIC5wbGItbmFtZSB7IGNvbG9yOiAjMDBkNGI0OyB9XHJcbi5wbGItcm93LnBsYi11c2VyIC5wbGItbmFtZSB7IGNvbG9yOiAjMWE2Y2Y2OyB0ZXh0LWFsaWduOiByaWdodDsgfVxyXG4ucGxiLWJ1YmJsZSB7XHJcbiAgcGFkZGluZzogMTFweCAxNXB4O1xyXG4gIGZvbnQtc2l6ZTogMTMuNXB4OyBsaW5lLWhlaWdodDogMS42NTtcclxuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC4wNyk7XHJcbiAgd29yZC1icmVhazogYnJlYWstd29yZDtcclxufVxyXG4ucGxiLXJvdy5wbGItYWkgICAucGxiLWJ1YmJsZSB7XHJcbiAgYmFja2dyb3VuZDogcmdiYSgwLDIxMiwxODAsLjA2KTtcclxuICBib3JkZXItcmFkaXVzOiAxMnB4IDEycHggMTJweCAzcHg7XHJcbn1cclxuLnBsYi1yb3cucGxiLXVzZXIgLnBsYi1idWJibGUge1xyXG4gIGJhY2tncm91bmQ6IHJnYmEoMjYsMTA4LDI0NiwuMTQpO1xyXG4gIGJvcmRlci1yYWRpdXM6IDEycHggMTJweCAzcHggMTJweDtcclxufVxyXG4ucGxiLWJ1YmJsZSBjb2RlIHtcclxuICBiYWNrZ3JvdW5kOiByZ2JhKDAsMjEyLDE4MCwuMSk7XHJcbiAgcGFkZGluZzogMXB4IDVweDsgYm9yZGVyLXJhZGl1czogNHB4O1xyXG4gIGZvbnQtc2l6ZTogMTJweDsgY29sb3I6ICMwMGQ0YjQ7XHJcbiAgZm9udC1mYW1pbHk6ICdETSBNb25vJywgbW9ub3NwYWNlO1xyXG59XHJcblxyXG4vKiB0eXBpbmcgKi9cclxuLnBsYi10eXBpbmctcm93IHsgZGlzcGxheTogZmxleDsgZ2FwOiAxMHB4OyB9XHJcbi5wbGItdHlwaW5nLWJ1YmJsZSB7XHJcbiAgcGFkZGluZzogMTBweCAxNHB4O1xyXG4gIGJhY2tncm91bmQ6IHJnYmEoMCwyMTIsMTgwLC4wNik7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuMDcpO1xyXG4gIGJvcmRlci1yYWRpdXM6IDEycHggMTJweCAxMnB4IDNweDtcclxuICBkaXNwbGF5OiBmbGV4OyBnYXA6IDRweDsgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxufVxyXG4ucGxiLWRvdDIge1xyXG4gIHdpZHRoOiA2cHg7IGhlaWdodDogNnB4OyBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgYmFja2dyb3VuZDogIzAwZDRiNDsgb3BhY2l0eTogLjU7XHJcbiAgYW5pbWF0aW9uOiBwbGJCb3VuY2UgMS4xcyBlYXNlIGluZmluaXRlO1xyXG59XHJcbi5wbGItZG90MjpudGgtY2hpbGQoMil7IGFuaW1hdGlvbi1kZWxheTouMThzOyB9XHJcbi5wbGItZG90MjpudGgtY2hpbGQoMyl7IGFuaW1hdGlvbi1kZWxheTouMzZzOyB9XHJcbkBrZXlmcmFtZXMgcGxiQm91bmNleyAwJSw2MCUsMTAwJXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX0gMzAle3RyYW5zZm9ybTp0cmFuc2xhdGVZKC02cHgpfSB9XHJcblxyXG4vKiDilIDilIAgQ0hJUFMg4pSA4pSAICovXHJcbi5wbGItY2hpcHMge1xyXG4gIHBhZGRpbmc6IDAgMjBweCAxMnB4O1xyXG4gIGRpc3BsYXk6IGZsZXg7IGZsZXgtd3JhcDogd3JhcDsgZ2FwOiA3cHg7XHJcbiAgZmxleC1zaHJpbms6IDA7XHJcbn1cclxuLnBsYi1jaGlwcy1sYWJlbCB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgZm9udC1zaXplOiAxMHB4OyBmb250LXdlaWdodDogNzAwOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gIGxldHRlci1zcGFjaW5nOiAxLjNweDsgY29sb3I6ICMzZDRmNmI7XHJcbiAgbWFyZ2luLWJvdHRvbTogMnB4O1xyXG59XHJcbi5wbGItY2hpcCB7XHJcbiAgcGFkZGluZzogNnB4IDEzcHg7IGJvcmRlci1yYWRpdXM6IDIwcHg7XHJcbiAgYmFja2dyb3VuZDogIzBmMWEyZTtcclxuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC4wOCk7XHJcbiAgZm9udC1zaXplOiAxMi41cHg7IGNvbG9yOiAjN2E4YmE4O1xyXG4gIGN1cnNvcjogcG9pbnRlcjsgdHJhbnNpdGlvbjogLjE4cztcclxuICB1c2VyLXNlbGVjdDogbm9uZTtcclxufVxyXG4ucGxiLWNoaXA6aG92ZXIge1xyXG4gIGJvcmRlci1jb2xvcjogcmdiYSgwLDIxMiwxODAsLjM1KTtcclxuICBjb2xvcjogI2U4ZWRmNTtcclxufVxyXG5cclxuLyog4pSA4pSAIElOUFVUIOKUgOKUgCAqL1xyXG4ucGxiLWlucHV0LWFyZWEge1xyXG4gIGZsZXgtc2hyaW5rOiAwO1xyXG4gIHBhZGRpbmc6IDEwcHggMTRweCAxNHB4O1xyXG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC4wNyk7XHJcbn1cclxuLnBsYi1pbnB1dC1yb3cgeyBkaXNwbGF5OiBmbGV4OyBnYXA6IDhweDsgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyB9XHJcbi5wbGItdGV4dGFyZWEge1xyXG4gIGZsZXg6IDE7XHJcbiAgcGFkZGluZzogMTFweCAxNHB4O1xyXG4gIGJhY2tncm91bmQ6ICMwZjFhMmU7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuMDgpO1xyXG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbiAgY29sb3I6ICNlOGVkZjU7XHJcbiAgZm9udC1zaXplOiAxMy41cHg7XHJcbiAgZm9udC1mYW1pbHk6ICdETSBTYW5zJywgc3lzdGVtLXVpLCBzYW5zLXNlcmlmO1xyXG4gIG91dGxpbmU6IG5vbmU7XHJcbiAgcmVzaXplOiBub25lO1xyXG4gIG1pbi1oZWlnaHQ6IDQycHg7XHJcbiAgbWF4LWhlaWdodDogMTIwcHg7XHJcbiAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIC4ycztcclxuICBsaW5lLWhlaWdodDogMS41O1xyXG59XHJcbi5wbGItdGV4dGFyZWE6Zm9jdXMgeyBib3JkZXItY29sb3I6IHJnYmEoMCwyMTIsMTgwLC4zNSk7IH1cclxuLnBsYi10ZXh0YXJlYTo6cGxhY2Vob2xkZXIgeyBjb2xvcjogIzNkNGY2YjsgfVxyXG4ucGxiLXNlbmQge1xyXG4gIHdpZHRoOiA0MnB4OyBoZWlnaHQ6IDQycHg7IGJvcmRlci1yYWRpdXM6IDEwcHg7IGZsZXgtc2hyaW5rOiAwO1xyXG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICMwMGQ0YjQsICMxYTZjZjYpO1xyXG4gIGJvcmRlcjogbm9uZTsgY3Vyc29yOiBwb2ludGVyO1xyXG4gIGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gIGNvbG9yOiAjZmZmOyB0cmFuc2l0aW9uOiAuMnM7XHJcbn1cclxuLnBsYi1zZW5kOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHsgb3BhY2l0eTogLjg1OyB0cmFuc2Zvcm06IHNjYWxlKDEuMDQpOyB9XHJcbi5wbGItc2VuZDpkaXNhYmxlZCB7IG9wYWNpdHk6IC4yODsgY3Vyc29yOiBkZWZhdWx0OyB0cmFuc2Zvcm06IG5vbmU7IH1cclxuLnBsYi1oaW50IHtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgZm9udC1zaXplOiAxMXB4OyBjb2xvcjogIzNkNGY2YjtcclxuICBtYXJnaW4tdG9wOiA3cHg7XHJcbn1cclxuLnBsYi1oaW50IGtiZCB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHBhZGRpbmc6IDFweCA1cHg7IGJvcmRlci1yYWRpdXM6IDRweDtcclxuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LC4wNSk7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuMDgpO1xyXG4gIGZvbnQtZmFtaWx5OiAnRE0gTW9ubycsIG1vbm9zcGFjZTtcclxuICBmb250LXNpemU6IDEwcHg7IGNvbG9yOiAjN2E4YmE4O1xyXG59IiwiLyog4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQXHJcbiAgIHByb3Zpc2lvbi1hYm91dC5odG1sIOKAlCBzZWN0aW9uc1xyXG7ilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZAgKi9cclxuXHJcbi8qIOKUgOKUgCAjYWJvdXQtaGVybyDilIDilIAgKi9cclxuI2Fib3V0LWhlcm8geyBwb3NpdGlvbjogcmVsYXRpdmU7IHBhZGRpbmc6IDE2MHB4IDQ4cHggMTAwcHg7IG92ZXJmbG93OiBoaWRkZW47IH1cclxuLmhlcm8tZ2xvdyB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IC0yMDBweDsgbGVmdDogNTAlOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgd2lkdGg6IDkwMHB4OyBoZWlnaHQ6IDcwMHB4OyBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KGVsbGlwc2UscmdiYSgwLDIxMiwxODAsLjA4KSAwJSxyZ2JhKDI2LDEwOCwyNDYsLjA1KSA0MCUsdHJhbnNwYXJlbnQgNzAlKTtcclxuICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxufVxyXG4uYWJvdXQtaGVyby1pbm5lciB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB6LWluZGV4OiAxOyBtYXgtd2lkdGg6IDEyMDBweDsgbWFyZ2luOiAwIGF1dG87XHJcbiAgZGlzcGxheTogZ3JpZDsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyOyBnYXA6IDgwcHg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuLmFib3V0LWhlcm8tbGVmdCBoMSB7IGZvbnQtc2l6ZTogY2xhbXAoNDBweCw1dncsNjRweCk7IGZvbnQtd2VpZ2h0OiA4MDA7IGxpbmUtaGVpZ2h0OiAxLjA1OyBsZXR0ZXItc3BhY2luZzogLTJweDsgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxyXG4uYWJvdXQtaGVyby1sZWZ0IGgxIC5ncmFkIHsgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDExMGRlZyx2YXIoLS10ZWFsKSAxMCUsdmFyKC0tYmx1ZSkgODUlKTsgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7IGJhY2tncm91bmQtY2xpcDogdGV4dDsgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IHRyYW5zcGFyZW50OyB9XHJcbi5hYm91dC1oZXJvLWxlZnQgLnRhZ2xpbmUgeyBmb250LXNpemU6IDE4cHg7IGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTsgZm9udC13ZWlnaHQ6IDMwMDsgbGluZS1oZWlnaHQ6IDEuNzsgbWFyZ2luLWJvdHRvbTogMzJweDsgbWF4LXdpZHRoOiA0ODBweDsgfVxyXG5cclxuLm1pc3Npb24tYmxvY2sge1xyXG4gIGJhY2tncm91bmQ6IHZhcigtLWJnMyk7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlcik7IGJvcmRlci1sZWZ0OiAzcHggc29saWQgdmFyKC0tdGVhbCk7XHJcbiAgYm9yZGVyLXJhZGl1czogMCAxNHB4IDE0cHggMDsgcGFkZGluZzogMjRweCAyOHB4OyBtYXJnaW4tYm90dG9tOiAzNnB4O1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgYm94LXNoYWRvdzogdmFyKC0tY2FyZC1zaGFkb3cpOyB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIC4zNXM7XHJcbn1cclxuLm1pc3Npb24tYmxvY2s6OmJlZm9yZSB7XHJcbiAgY29udGVudDogJ1wiJzsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IC0xMHB4OyBsZWZ0OiAyMHB4O1xyXG4gIGZvbnQtZmFtaWx5OiAnU3luZScsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogNjBweDsgY29sb3I6IHZhcigtLXRlYWwpOyBvcGFjaXR5OiAuMzsgbGluZS1oZWlnaHQ6IDE7XHJcbn1cclxuLm1pc3Npb24tdGV4dCB7IGZvbnQtc2l6ZTogMTdweDsgZm9udC1zdHlsZTogaXRhbGljOyBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7IGxpbmUtaGVpZ2h0OiAxLjc7IGZvbnQtd2VpZ2h0OiAzMDA7IH1cclxuXHJcbi5zdGF0cy1ncmlkIHsgZGlzcGxheTogZ3JpZDsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyOyBnYXA6IDE2cHg7IH1cclxuLnN0YXQtY2FyZCB7XHJcbiAgYmFja2dyb3VuZDogdmFyKC0tY2FyZCk7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlcik7IGJvcmRlci1yYWRpdXM6IDE2cHg7XHJcbiAgcGFkZGluZzogMjhweCAyNHB4OyB0ZXh0LWFsaWduOiBjZW50ZXI7IGJveC1zaGFkb3c6IHZhcigtLWNhcmQtc2hhZG93KTtcclxuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjNzLCBib3gtc2hhZG93IC4zcywgYm9yZGVyLWNvbG9yIC4zcywgYmFja2dyb3VuZCAuMzVzO1xyXG59XHJcbi5zdGF0LWNhcmQ6aG92ZXIgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTRweCk7IGJveC1zaGFkb3c6IHZhcigtLWNhcmQtc2hhZG93LWhvdmVyKTsgYm9yZGVyLWNvbG9yOiByZ2JhKDAsMjEyLDE4MCwuMjIpOyB9XHJcbmh0bWwubGlnaHQgLnN0YXQtY2FyZCB7IGJhY2tncm91bmQ6ICNmZmY7IH1cclxuLnN0YXQtbnVtIHtcclxuICBmb250LWZhbWlseTogJ1N5bmUnLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IGNsYW1wKDMycHgsMy41dncsNDhweCk7IGZvbnQtd2VpZ2h0OiA4MDA7XHJcbiAgbGV0dGVyLXNwYWNpbmc6IC0ycHg7IGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsdmFyKC0tdGVhbCksdmFyKC0tYmx1ZSkpO1xyXG4gIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0OyBiYWNrZ3JvdW5kLWNsaXA6IHRleHQ7IC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICBkaXNwbGF5OiBibG9jazsgbWFyZ2luLWJvdHRvbTogNnB4O1xyXG59XHJcbi5zdGF0LWxhYmVsIHsgZm9udC1zaXplOiAxM3B4OyBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7IGZvbnQtd2VpZ2h0OiA0MDA7IGxpbmUtaGVpZ2h0OiAxLjQ7IH1cclxuXHJcbi8qIOKUgOKUgCAjdmFsdWVzIOKUgOKUgCAqL1xyXG4jdmFsdWVzIHsgcGFkZGluZzogNTBweCAwOyBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLHRyYW5zcGFyZW50IDAlLHJnYmEoMTAsMTgsMzIsLjQpIDEwMCUpOyB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIC4zNXM7IH1cclxuaHRtbC5saWdodCAjdmFsdWVzIHsgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZyx0cmFuc3BhcmVudCAwJSxyZ2JhKDIzOCwyNDIsMjQ5LC45KSAxMDAlKTsgfVxyXG4jdmFsdWVzIC5oZWFkZXItY2VudGVyIHsgdGV4dC1hbGlnbjogY2VudGVyOyBtYXJnaW4tYm90dG9tOiA1NnB4OyB9XHJcbiN2YWx1ZXMgLmhlYWRlci1jZW50ZXIgLnNlY3Rpb24tc3ViIHsgbWFyZ2luOiAwIGF1dG87IH1cclxuXHJcbi52YWx1ZXMtZ3JpZCB7IGRpc3BsYXk6IGdyaWQ7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsMWZyKTsgZ2FwOiAxNnB4OyB9XHJcbi52YWx1ZS1jYXJkIHtcclxuICBiYWNrZ3JvdW5kOiB2YXIoLS1jYXJkKTsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyKTsgYm9yZGVyLXJhZGl1czogMTZweDtcclxuICBwYWRkaW5nOiAyOHB4IDIycHg7IHRleHQtYWxpZ246IGNlbnRlcjsgYm94LXNoYWRvdzogdmFyKC0tY2FyZC1zaGFkb3cpO1xyXG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuM3MsIGJveC1zaGFkb3cgLjNzLCBib3JkZXItY29sb3IgLjNzLCBiYWNrZ3JvdW5kIC4zNXM7XHJcbn1cclxuLnZhbHVlLWNhcmQ6aG92ZXIgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTVweCk7IGJveC1zaGFkb3c6IHZhcigtLWNhcmQtc2hhZG93LWhvdmVyKTsgYm9yZGVyLWNvbG9yOiByZ2JhKDAsMjEyLDE4MCwuMjIpOyB9XHJcbmh0bWwubGlnaHQgLnZhbHVlLWNhcmQgeyBiYWNrZ3JvdW5kOiAjZmZmOyB9XHJcbi52YWx1ZS1pY29uIHsgZm9udC1zaXplOiAzMnB4OyBtYXJnaW4tYm90dG9tOiAxNHB4OyBkaXNwbGF5OiBibG9jazsgfVxyXG4udmFsdWUtdGl0bGUgeyBmb250LXNpemU6IDE2cHg7IGZvbnQtd2VpZ2h0OiA3MDA7IG1hcmdpbi1ib3R0b206IDhweDsgbGV0dGVyLXNwYWNpbmc6IC0uMnB4OyB9XHJcbi52YWx1ZS1kZXNjIHsgZm9udC1zaXplOiAxM3B4OyBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7IGxpbmUtaGVpZ2h0OiAxLjY7IH1cclxuXHJcbi8qIOKUgOKUgCAjY2FyZWVyIOKUgOKUgCAqL1xyXG4jY2FyZWVyIHsgcGFkZGluZzogNTBweCAwOyB9XHJcbiNjYXJlZXIgLmlubmVyIHsgZGlzcGxheTogZ3JpZDsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyOyBnYXA6IDgwcHg7IGFsaWduLWl0ZW1zOiBzdGFydDsgfVxyXG4uY2FyZWVyLWRlc2MgeyBmb250LXNpemU6IDE1cHg7IGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTsgbGluZS1oZWlnaHQ6IDEuNzU7IG1hcmdpbi1ib3R0b206IDMycHg7IH1cclxuXHJcbi5oaXJpbmctc3RlcHMgeyBkaXNwbGF5OiBmbGV4OyBnYXA6IDA7IG1hcmdpbi1ib3R0b206IDQwcHg7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxyXG4uaGlyaW5nLXN0ZXBzOjpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6ICcnOyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMjJweDsgbGVmdDogMjJweDsgcmlnaHQ6IDIycHg7IGhlaWdodDogMnB4O1xyXG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZyx2YXIoLS10ZWFsKSx2YXIoLS1ibHVlKSk7IHotaW5kZXg6IDA7IG9wYWNpdHk6IC4zO1xyXG59XHJcbi5oLXN0ZXAgeyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBhbGlnbi1pdGVtczogY2VudGVyOyBmbGV4OiAxOyBwb3NpdGlvbjogcmVsYXRpdmU7IHotaW5kZXg6IDE7IH1cclxuLmgtc3RlcC1udW0ge1xyXG4gIHdpZHRoOiA0NHB4OyBoZWlnaHQ6IDQ0cHg7IGJvcmRlci1yYWRpdXM6IDUwJTsgYmFja2dyb3VuZDogdmFyKC0tYmczKTsgYm9yZGVyOiAycHggc29saWQgdmFyKC0tdGVhbCk7XHJcbiAgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgZm9udC1mYW1pbHk6ICdTeW5lJywgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxNnB4OyBmb250LXdlaWdodDogODAwOyBjb2xvcjogdmFyKC0tdGVhbCk7XHJcbiAgbWFyZ2luLWJvdHRvbTogMTBweDsgYm94LXNoYWRvdzogMCAwIDEycHggcmdiYSgwLDIxMiwxODAsLjIpOyB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIC4zNXM7XHJcbn1cclxuLmgtc3RlcC1sYWJlbCB7IGZvbnQtc2l6ZTogMTJweDsgZm9udC13ZWlnaHQ6IDYwMDsgdGV4dC1hbGlnbjogY2VudGVyOyBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7IH1cclxuXHJcbi5wZXJrcy1saXN0IHsgbGlzdC1zdHlsZTogbm9uZTsgZGlzcGxheTogZ3JpZDsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyOyBnYXA6IDEwcHg7IG1hcmdpbi1ib3R0b206IDMycHg7IH1cclxuLnBlcmtzLWxpc3QgbGkge1xyXG4gIGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogMTBweDsgcGFkZGluZzogMTJweCAxNnB4O1xyXG4gIGJvcmRlci1yYWRpdXM6IDEycHg7IGJhY2tncm91bmQ6IHZhcigtLWNhcmQpOyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXIpO1xyXG4gIGZvbnQtc2l6ZTogMTRweDsgY29sb3I6IHZhcigtLXRleHQtbXV0ZWQpOyBib3gtc2hhZG93OiB2YXIoLS1jYXJkLXNoYWRvdyk7XHJcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAuMzVzLCBib3JkZXItY29sb3IgLjNzO1xyXG59XHJcbi5wZXJrcy1saXN0IGxpOmhvdmVyIHsgYm9yZGVyLWNvbG9yOiByZ2JhKDAsMjEyLDE4MCwuMik7IH1cclxuaHRtbC5saWdodCAucGVya3MtbGlzdCBsaSB7IGJhY2tncm91bmQ6ICNmZmY7IH1cclxuLnBlcmstaWNvbiB7IGZvbnQtc2l6ZTogMjBweDsgZmxleC1zaHJpbms6IDA7IH1cclxuXHJcbi52YWNhbmNpZXMgeyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBnYXA6IDEycHg7IH1cclxuLnZhY2FuY3ktY2FyZCB7XHJcbiAgYmFja2dyb3VuZDogdmFyKC0tY2FyZCk7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlcik7IGJvcmRlci1yYWRpdXM6IDE0cHg7XHJcbiAgcGFkZGluZzogMjBweCAyNHB4OyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgZ2FwOiAxNnB4OyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IGNvbG9yOiB2YXIoLS10ZXh0KTsgYm94LXNoYWRvdzogdmFyKC0tY2FyZC1zaGFkb3cpO1xyXG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuMjVzLCBib3gtc2hhZG93IC4yNXMsIGJvcmRlci1jb2xvciAuMjVzLCBiYWNrZ3JvdW5kIC4zNXM7XHJcbn1cclxuLnZhY2FuY3ktY2FyZDpob3ZlciB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtM3B4KTsgYm94LXNoYWRvdzogdmFyKC0tY2FyZC1zaGFkb3ctaG92ZXIpOyBib3JkZXItY29sb3I6IHJnYmEoMCwyMTIsMTgwLC4yNSk7IH1cclxuaHRtbC5saWdodCAudmFjYW5jeS1jYXJkIHsgYmFja2dyb3VuZDogI2ZmZjsgfVxyXG4udmFjYW5jeS10aXRsZSB7IGZvbnQtc2l6ZTogMTZweDsgZm9udC13ZWlnaHQ6IDcwMDsgbWFyZ2luLWJvdHRvbTogNHB4OyBsZXR0ZXItc3BhY2luZzogLS4ycHg7IH1cclxuLnZhY2FuY3ktbWV0YSB7IGRpc3BsYXk6IGZsZXg7IGdhcDogMTBweDsgZmxleC13cmFwOiB3cmFwOyB9XHJcbi52YWNhbmN5LXRhZyB7IGZvbnQtc2l6ZTogMTFweDsgZm9udC13ZWlnaHQ6IDYwMDsgcGFkZGluZzogM3B4IDEwcHg7IGJvcmRlci1yYWRpdXM6IDIwcHg7IGJhY2tncm91bmQ6IHZhcigtLXNvY2lhbC1iZyk7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlcik7IGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTsgfVxyXG4udmFjYW5jeS10YWcuYWN0aXZlIHsgYmFja2dyb3VuZDogcmdiYSgwLDIxMiwxODAsLjA4KTsgYm9yZGVyLWNvbG9yOiByZ2JhKDAsMjEyLDE4MCwuMik7IGNvbG9yOiB2YXIoLS10ZWFsKTsgfVxyXG4udmFjYW5jeS1hcnJvdyB7IGNvbG9yOiB2YXIoLS10ZXh0LWRpbSk7IGZvbnQtc2l6ZTogMThweDsgZmxleC1zaHJpbms6IDA7IHRyYW5zaXRpb246IHRyYW5zZm9ybSAuMnMsIGNvbG9yIC4yczsgfVxyXG4udmFjYW5jeS1jYXJkOmhvdmVyIC52YWNhbmN5LWFycm93IHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDRweCk7IGNvbG9yOiB2YXIoLS10ZWFsKTsgfVxyXG5cclxuLyog4pSA4pSAICNjb250YWN0cyDilIDilIAgKi9cclxuI2NvbnRhY3RzIHsgcGFkZGluZzogNTBweCAwOyBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLHRyYW5zcGFyZW50IDAlLHJnYmEoMTAsMTgsMzIsLjQpIDEwMCUpOyB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIC4zNXM7IH1cclxuaHRtbC5saWdodCAjY29udGFjdHMgeyBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLHRyYW5zcGFyZW50IDAlLHJnYmEoMjM4LDI0MiwyNDksLjkpIDEwMCUpOyB9XHJcbiNjb250YWN0cyAuY29udGFjdHMtZ3JpZCB7IGRpc3BsYXk6IGdyaWQ7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjsgZ2FwOiA0OHB4OyBhbGlnbi1pdGVtczogc3RhcnQ7IH1cclxuLmNvbnRhY3RzLWhlYWRlciB7IG1hcmdpbi1ib3R0b206IDU2cHg7IH1cclxuXHJcbi5jb250YWN0LWluZm8tYmxvY2sgeyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBnYXA6IDIwcHg7IH1cclxuLmNvbnRhY3QtaXRlbSB7XHJcbiAgZGlzcGxheTogZmxleDsgZ2FwOiAxNnB4OyBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgcGFkZGluZzogMjBweDtcclxuICBiYWNrZ3JvdW5kOiB2YXIoLS1jYXJkKTsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyKTsgYm9yZGVyLXJhZGl1czogMTRweDtcclxuICBib3gtc2hhZG93OiB2YXIoLS1jYXJkLXNoYWRvdyk7IHRyYW5zaXRpb246IGJhY2tncm91bmQgLjM1cywgYm9yZGVyLWNvbG9yIC4zcztcclxufVxyXG4uY29udGFjdC1pdGVtOmhvdmVyIHsgYm9yZGVyLWNvbG9yOiByZ2JhKDAsMjEyLDE4MCwuMik7IH1cclxuaHRtbC5saWdodCAuY29udGFjdC1pdGVtIHsgYmFja2dyb3VuZDogI2ZmZjsgfVxyXG4uY29udGFjdC1pdGVtLWljb24ge1xyXG4gIHdpZHRoOiA0MnB4OyBoZWlnaHQ6IDQycHg7IGJvcmRlci1yYWRpdXM6IDEwcHg7IGJhY2tncm91bmQ6IHJnYmEoMCwyMTIsMTgwLC4wOCk7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLDIxMiwxODAsLjE1KTsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgZm9udC1zaXplOiAyMHB4OyBmbGV4LXNocmluazogMDtcclxufVxyXG4uY29udGFjdC1pdGVtLWxhYmVsIHsgZm9udC1zaXplOiAxMXB4OyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBsZXR0ZXItc3BhY2luZzogMXB4OyBjb2xvcjogdmFyKC0tdGV4dC1kaW0pOyBmb250LXdlaWdodDogNjAwOyBtYXJnaW4tYm90dG9tOiA0cHg7IH1cclxuLmNvbnRhY3QtaXRlbS12YWx1ZSB7IGZvbnQtc2l6ZTogMTRweDsgY29sb3I6IHZhcigtLXRleHQpOyBmb250LXdlaWdodDogNTAwOyBsaW5lLWhlaWdodDogMS41NTsgfVxyXG4uY29udGFjdC1pdGVtLXZhbHVlIGEgeyBjb2xvcjogdmFyKC0tdGV4dCk7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgdHJhbnNpdGlvbjogY29sb3IgLjJzOyB9XHJcbi5jb250YWN0LWl0ZW0tdmFsdWUgYTpob3ZlciB7IGNvbG9yOiB2YXIoLS10ZWFsKTsgfVxyXG4uY29udGFjdC1pdGVtLW1hcC1saW5rIHsgY29sb3I6IHZhcigtLXRlYWwpOyBmb250LXNpemU6IDEycHg7IG1hcmdpbi10b3A6IDRweDsgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XHJcbi5jb250YWN0LWl0ZW0tbWFwLWxpbms6aG92ZXIgeyBvcGFjaXR5OiAuNzU7IH1cclxuXHJcbi5jb250YWN0LXNvY2lhbHMgeyBkaXNwbGF5OiBmbGV4OyBnYXA6IDEwcHg7IGZsZXgtd3JhcDogd3JhcDsgbWFyZ2luLXRvcDogNHB4OyB9XHJcbi5jb250YWN0LXNvY2lhbC1idG4ge1xyXG4gIGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogOHB4OyBwYWRkaW5nOiA4cHggMTZweDsgYm9yZGVyLXJhZGl1czogMTBweDtcclxuICBiYWNrZ3JvdW5kOiB2YXIoLS1zb2NpYWwtYmcpOyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXIpOyBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyBmb250LXNpemU6IDEzcHg7IGZvbnQtd2VpZ2h0OiA1MDA7IHRyYW5zaXRpb246IC4ycztcclxufVxyXG4uY29udGFjdC1zb2NpYWwtYnRuOmhvdmVyIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS10ZWFsKTsgY29sb3I6IHZhcigtLXRlYWwpOyBiYWNrZ3JvdW5kOiB2YXIoLS1zb2NpYWwtaG92ZXIpOyB9XHJcbi5jb250YWN0LXNvY2lhbC1pY29uIHsgZm9udC1zaXplOiAxN3B4OyB9XHJcblxyXG4ubWFwLWJsb2NrIHtcclxuICBib3JkZXItcmFkaXVzOiAxNHB4OyBvdmVyZmxvdzogaGlkZGVuOyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXIpO1xyXG4gIGJveC1zaGFkb3c6IHZhcigtLWNhcmQtc2hhZG93KTsgaGVpZ2h0OiAyNjBweDsgYmFja2dyb3VuZDogdmFyKC0tYmczKTtcclxuICBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICBnYXA6IDEwcHg7IG1hcmdpbi10b3A6IDIwcHg7IHRyYW5zaXRpb246IGJhY2tncm91bmQgLjM1cztcclxufVxyXG4ubWFwLXBsYWNlaG9sZGVyLWljb24geyBmb250LXNpemU6IDM2cHg7IH1cclxuLm1hcC1wbGFjZWhvbGRlci10ZXh0IHsgZm9udC1zaXplOiAxM3B4OyBjb2xvcjogdmFyKC0tdGV4dC1kaW0pOyB9XHJcbi5tYXAtbGluayB7IGZvbnQtc2l6ZTogMTNweDsgZm9udC13ZWlnaHQ6IDYwMDsgY29sb3I6IHZhcigtLXRlYWwpOyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IHRyYW5zaXRpb246IG9wYWNpdHkgLjJzOyB9XHJcbi5tYXAtbGluazpob3ZlciB7IG9wYWNpdHk6IC43NTsgfVxyXG5cclxuLmNvbnRhY3QtZm9ybSB7XHJcbiAgYmFja2dyb3VuZDogdmFyKC0tYmczKTsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyKTsgYm9yZGVyLXJhZGl1czogMTZweDtcclxuICBwYWRkaW5nOiAzMnB4OyBib3gtc2hhZG93OiB2YXIoLS1jYXJkLXNoYWRvdyk7IHRyYW5zaXRpb246IGJhY2tncm91bmQgLjM1cztcclxufVxyXG5odG1sLmxpZ2h0IC5jb250YWN0LWZvcm0geyBiYWNrZ3JvdW5kOiAjZmZmOyB9XHJcbi5jb250YWN0LWZvcm0gaDMgeyBmb250LXNpemU6IDIwcHg7IGZvbnQtd2VpZ2h0OiA3MDA7IG1hcmdpbi1ib3R0b206IDZweDsgfVxyXG4uY29udGFjdC1mb3JtIC5mb3JtLXN1YiB7IGZvbnQtc2l6ZTogMTRweDsgY29sb3I6IHZhcigtLXRleHQtbXV0ZWQpOyBtYXJnaW4tYm90dG9tOiAyNHB4OyB9XHJcbi5mb3JtLWdyaWQgeyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBnYXA6IDEycHg7IH1cclxuLmZvcm0tcm93IHsgZGlzcGxheTogZ3JpZDsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyOyBnYXA6IDEycHg7IH1cclxudGV4dGFyZWEuZm9ybS1pbnB1dCB7IHJlc2l6ZTogdmVydGljYWw7IG1pbi1oZWlnaHQ6IDExMHB4OyB9XHJcbi5mb3JtLWNoZWNrLWxhYmVsIGEgeyBjb2xvcjogdmFyKC0tdGVhbCk7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxyXG5cclxuLyog4pSA4pSAIGNhcmVlciBzZWN0aW9uLWxhYmVsIHRvcCBzcGFjaW5nIOKUgOKUgCAqL1xyXG4jY2FyZWVyIC5zZWN0aW9uLWxhYmVsIHsgbWFyZ2luLXRvcDogOHB4OyB9XHJcbi8qIOKUgOKUgCBjb250YWN0IHNvY2lhbCBpY29uIGJvbGQgdmFyaWFudCDilIDilIAgKi9cclxuLmNvbnRhY3Qtc29jaWFsLWljb24tLWJvbGQgeyBmb250LXdlaWdodDogNzAwOyB9XHJcblxyXG4vKiDilIDilIAgUkVTUE9OU0lWRSDilIDilIAgKi9cclxuQG1lZGlhIChtYXgtd2lkdGg6IDkwMHB4KSB7XHJcbiAgI2Fib3V0LWhlcm8geyBwYWRkaW5nOiAxMTBweCAyMHB4IDcwcHg7IH1cclxuICAuYWJvdXQtaGVyby1pbm5lciB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOyBnYXA6IDQ4cHg7IH1cclxuICAuc3RhdHMtZ3JpZCB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjsgfVxyXG4gIC5jb250YWluZXIgeyBwYWRkaW5nOiAwIDIwcHg7IH1cclxuICAudmFsdWVzLWdyaWQgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7IH1cclxuICAjY2FyZWVyIC5pbm5lciB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOyBnYXA6IDQ4cHg7IH1cclxuICAuaGlyaW5nLXN0ZXBzOjpiZWZvcmUgeyBkaXNwbGF5OiBub25lOyB9XHJcbiAgLnBlcmtzLWxpc3QgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsgfVxyXG4gICNjb250YWN0cyAuY29udGFjdHMtZ3JpZCB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOyBnYXA6IDQwcHg7IH1cclxuICAuZm9ybS1yb3cgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsgfVxyXG59XHJcbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xyXG4gIC52YWx1ZXMtZ3JpZCB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjsgfVxyXG4gIC5oaXJpbmctc3RlcHMgeyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBnYXA6IDE2cHg7IH1cclxuICAuaC1zdGVwIHsgZmxleC1kaXJlY3Rpb246IHJvdzsganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyBnYXA6IDE0cHg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cclxuICAuaC1zdGVwLWxhYmVsIHsgdGV4dC1hbGlnbjogbGVmdDsgfVxyXG59XHJcbkBtZWRpYSAobWF4LXdpZHRoOiA1MDBweCkge1xyXG4gIC52YWx1ZXMtZ3JpZCB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOyB9XHJcbiAgLnN0YXRzLWdyaWQgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7IH1cclxufVxyXG4iLCIvKiDilIDilIAgQ09PS0lFIEJBTk5FUiDilIDilIAgKi9cclxuLmNvb2tpZS1iYW5uZXIge1xyXG4gIHBvc2l0aW9uOiBmaXhlZDsgYm90dG9tOiAyNHB4OyBsZWZ0OiA1MCU7IHotaW5kZXg6IDIwMDtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWShjYWxjKDEwMCUgKyAzMnB4KSk7XHJcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDQ4cHgpOyBtYXgtd2lkdGg6IDc2MHB4O1xyXG4gIGJvcmRlci1yYWRpdXM6IDE2cHg7IHBhZGRpbmc6IDIwcHggMjRweDtcclxuICBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDI0cHg7IGZsZXgtd3JhcDogd3JhcDtcclxuICBvcGFjaXR5OiAwOyBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjQ1cyBjdWJpYy1iZXppZXIoLjIsLjY1LC4yNSwxKSwgb3BhY2l0eSAuMzVzIGVhc2U7XHJcblxyXG4gIC8qIGRhcmsgYmFubmVyIGluIGRhcmsgdGhlbWUg4oaSIGludmVydGVkID0gbGlnaHQgdmFsdWVzICovXHJcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcclxuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDEzLDMwLDYwLDAuMTIpO1xyXG4gIGJveC1zaGFkb3c6IDAgOHB4IDMycHggLThweCByZ2JhKDEzLDMwLDYwLC4xOCksIDAgMXB4IDAgcmdiYSgxMywzMCw2MCwuMDYpIGluc2V0O1xyXG59XHJcbi5jb29raWUtYmFubmVyLnZpc2libGUge1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKDApO1xyXG4gIG9wYWNpdHk6IDE7IHBvaW50ZXItZXZlbnRzOiBhdXRvO1xyXG59XHJcblxyXG4vKiBsaWdodCB0aGVtZSDihpIgYmFubmVyIHVzZXMgZGFyayB2YWx1ZXMgKi9cclxuaHRtbC5saWdodCAuY29va2llLWJhbm5lciB7XHJcbiAgYmFja2dyb3VuZDogIzBhMTIyMDtcclxuICBib3JkZXItY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMC4wOCk7XHJcbiAgYm94LXNoYWRvdzogMCA4cHggNDBweCAtOHB4IHJnYmEoMCwwLDAsLjU1KSwgMCAxcHggMCByZ2JhKDI1NSwyNTUsMjU1LC4wNCkgaW5zZXQ7XHJcbn1cclxuXHJcbi5jb29raWUtdGV4dCB7IGZsZXg6IDE7IG1pbi13aWR0aDogMjAwcHg7IH1cclxuXHJcbi5jb29raWUtYmFubmVyIC5jb29raWUtdGl0bGUge1xyXG4gIGRpc3BsYXk6IGJsb2NrOyBmb250LXdlaWdodDogNzAwOyBmb250LXNpemU6IDE0cHg7IG1hcmdpbi1ib3R0b206IDRweDtcclxuICBjb2xvcjogIzBiMTUyNTtcclxufVxyXG5odG1sLmxpZ2h0IC5jb29raWUtYmFubmVyIC5jb29raWUtdGl0bGUgeyBjb2xvcjogI2U4ZWRmNTsgfVxyXG5cclxuLmNvb2tpZS1iYW5uZXIgLmNvb2tpZS10ZXh0IHAge1xyXG4gIGZvbnQtc2l6ZTogMTNweDsgbGluZS1oZWlnaHQ6IDEuNTU7IG1hcmdpbjogMDtcclxuICBjb2xvcjogIzQ3NTg3MjtcclxufVxyXG5odG1sLmxpZ2h0IC5jb29raWUtYmFubmVyIC5jb29raWUtdGV4dCBwIHsgY29sb3I6ICM4Nzk4YjU7IH1cclxuXHJcbi5jb29raWUtYmFubmVyIC5jb29raWUtdGV4dCBhIHsgY29sb3I6ICMwMDdhNjg7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxyXG4uY29va2llLWJhbm5lciAuY29va2llLXRleHQgYTpob3ZlciB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XHJcbmh0bWwubGlnaHQgLmNvb2tpZS1iYW5uZXIgLmNvb2tpZS10ZXh0IGEgeyBjb2xvcjogIzAwZDRiNDsgfVxyXG5cclxuLmNvb2tpZS1idXR0b25zIHsgZGlzcGxheTogZmxleDsgZ2FwOiA4cHg7IGZsZXgtc2hyaW5rOiAwOyB9XHJcbi5jb29raWUtYnV0dG9ucyAuYnRuLXByaW1hcnkgeyBhbmltYXRpb246IG5vbmU7IH1cclxuXHJcbi8qIGdob3N0IGJ1dHRvbiBvdmVycmlkZSBmb3IgaW52ZXJ0ZWQgYmFubmVyICovXHJcbi5jb29raWUtYmFubmVyIC5idG4tZ2hvc3Qge1xyXG4gIGJvcmRlci1jb2xvcjogcmdiYSgxMywzMCw2MCwwLjE0KTtcclxuICBjb2xvcjogIzQ3NTg3MjtcclxufVxyXG4uY29va2llLWJhbm5lciAuYnRuLWdob3N0OmhvdmVyIHsgYm9yZGVyLWNvbG9yOiAjMDA3YTY4OyBjb2xvcjogIzAwN2E2ODsgfVxyXG5odG1sLmxpZ2h0IC5jb29raWUtYmFubmVyIC5idG4tZ2hvc3Qge1xyXG4gIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjEwKTtcclxuICBjb2xvcjogIzg3OThiNTtcclxufVxyXG5odG1sLmxpZ2h0IC5jb29raWUtYmFubmVyIC5idG4tZ2hvc3Q6aG92ZXIgeyBib3JkZXItY29sb3I6ICMwMGQ0YjQ7IGNvbG9yOiAjMDBkNGI0OyB9XHJcblxyXG5AbWVkaWEgKG1heC13aWR0aDogNTYwcHgpIHtcclxuICAuY29va2llLWJhbm5lciB7IHBhZGRpbmc6IDE2cHggMThweDsgYm90dG9tOiAxNnB4OyB3aWR0aDogY2FsYygxMDAlIC0gMjRweCk7IH1cclxuICAuY29va2llLWJ1dHRvbnMgeyB3aWR0aDogMTAwJTsgfVxyXG4gIC5jb29raWUtYnV0dG9ucyAuYnRuLWdob3N0LFxyXG4gIC5jb29raWUtYnV0dG9ucyAuYnRuLXByaW1hcnkgeyBmbGV4OiAxOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxyXG59XHJcbiIsIi5hY2NvcmRpb24tLWRlZmF1bHQgLmFjY29yZGlvbi1oZWFkIHtcclxuXHRmb250LXNpemU6MThweDtcclxuXHRmb250LXdlaWdodDo3MDA7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdHNjcm9sbC1tYXJnaW4tdG9wOjIwcHg7XHJcblx0Z2FwOiAxNnB4O1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRwYWRkaW5nOiA0cHggMDtcclxuXHRmb250LXdlaWdodDogNjAwO1xyXG5cdHRyYW5zaXRpb246IGNvbG9yIC4ycztcclxufVxyXG4uYWNjb3JkaW9uLS1kZWZhdWx0IC5hY2NvcmRpb24taGVhZDpob3Zlcntjb2xvcjp2YXIoLS10ZWFsKTt9XHJcbi5hY2NvcmRpb24tLWRlZmF1bHQgLmFjY29yZGlvbi1oZWFkIHN2Z3tmbGV4LXNocmluazowO3RyYW5zaXRpb246dHJhbnNmb3JtIC4yNXM7fVxyXG4uYWNjb3JkaW9uLS1kZWZhdWx0IC5hY2NvcmRpb24taXRlbS5vcGVuIC5hY2NvcmRpb24taGVhZCBzdmd7dHJhbnNmb3JtOnJvdGF0ZSgxODBkZWcpO31cclxuXHJcbi5hY2NvcmRpb24tLWRlZmF1bHQgLmFjY29yZGlvbi1pdGVtIHtcclxuXHRtYXJnaW4tYm90dG9tOiAxMnB4O1xyXG59XHJcbi5hY2NvcmRpb24tLWRlZmF1bHQgLmFjY29yZGlvbi1pdGVtOm5vdCgub3BlbikgLmFjY29yZGlvbi1ib2R5IHtcclxuXHRkaXNwbGF5OiBub25lO1xyXG5cdG9wYWNpdHk6IDA7XHJcblx0dHJhbnNpdGlvbjogLjNzO1xyXG59XHJcblxyXG4vKiBNQUlOICovXHJcbi5kcy1zZWN0aW9ue3BhZGRpbmc6NjRweCA2NHB4O2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHZhcigtLWJvcmRlcik7fVxyXG4uZHMtc2VjdGlvbjpsYXN0LWNoaWxke2JvcmRlci1ib3R0b206bm9uZTt9XHJcbi5kcy1zZWN0aW9uLWhlYWRlcnttYXJnaW4tYm90dG9tOjQwcHg7fVxyXG4uZHMtc2VjdGlvbi10YWd7ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjZweDtmb250LXNpemU6MTBweDtmb250LXdlaWdodDo3MDA7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2xldHRlci1zcGFjaW5nOjJweDtjb2xvcjp2YXIoLS10ZWFsKTtiYWNrZ3JvdW5kOnJnYmEoMCwyMTIsMTgwLC4wOCk7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDAsMjEyLDE4MCwuMTgpO3BhZGRpbmc6NHB4IDEwcHg7Ym9yZGVyLXJhZGl1czoyMHB4O21hcmdpbi1ib3R0b206MTJweDt9XHJcbmh0bWwubGlnaHQgLmRzLXNlY3Rpb24tdGFne2NvbG9yOiMwMDVmNTA7YmFja2dyb3VuZDpyZ2JhKDAsOTUsODAsLjA4KTtib3JkZXItY29sb3I6cmdiYSgwLDk1LDgwLC4yKTt9XHJcbi5kcy1zZWN0aW9uLXRhZzo6YmVmb3Jle2NvbnRlbnQ6Jyc7d2lkdGg6NHB4O2hlaWdodDo0cHg7Ym9yZGVyLXJhZGl1czo1MCU7YmFja2dyb3VuZDp2YXIoLS10ZWFsKTtib3gtc2hhZG93OjAgMCA1cHggdmFyKC0tdGVhbCk7fVxyXG4uZHMtc2VjdGlvbi10aXRsZXtmb250LXNpemU6Y2xhbXAoMjJweCwyLjJ2dywzMnB4KTtmb250LXdlaWdodDo4MDA7bGV0dGVyLXNwYWNpbmc6LTFweDtsaW5lLWhlaWdodDoxLjE7bWFyZ2luLWJvdHRvbToxMHB4O31cclxuLmRzLXNlY3Rpb24tc3Vie2ZvbnQtc2l6ZToxNHB4O2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO21heC13aWR0aDo2MDBweDtsaW5lLWhlaWdodDoxLjY1O31cclxuXHJcbi8qIEhFUk8gKi9cclxuLmRzLWhlcm97cGFkZGluZzo4MHB4IDY0cHggNjRweDtib3JkZXItYm90dG9tOjFweCBzb2xpZCB2YXIoLS1ib3JkZXIpO3Bvc2l0aW9uOnJlbGF0aXZlO292ZXJmbG93OmhpZGRlbjt9XHJcbi5kcy1oZXJvLWdsb3d7cG9zaXRpb246YWJzb2x1dGU7dG9wOi0xMDBweDtsZWZ0OjQwJTt3aWR0aDo2MDBweDtoZWlnaHQ6NDAwcHg7Ym9yZGVyLXJhZGl1czo1MCU7YmFja2dyb3VuZDpyYWRpYWwtZ3JhZGllbnQoZWxsaXBzZSxyZ2JhKDAsMjEyLDE4MCwuMDgpIDAlLHJnYmEoMjYsMTA4LDI0NiwuMDUpIDQwJSx0cmFuc3BhcmVudCA3MCUpO3BvaW50ZXItZXZlbnRzOm5vbmU7fVxyXG4uZHMtaGVyby10YWd7ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjhweDtmb250LXNpemU6MTFweDtmb250LXdlaWdodDo3MDA7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2xldHRlci1zcGFjaW5nOjJweDtjb2xvcjp2YXIoLS10ZWFsKTtiYWNrZ3JvdW5kOnJnYmEoMCwyMTIsMTgwLC4wOCk7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDAsMjEyLDE4MCwuMik7cGFkZGluZzo1cHggMTJweDtib3JkZXItcmFkaXVzOjIwcHg7bWFyZ2luLWJvdHRvbToyMHB4O31cclxuLmRzLWhlcm8tdGFnOjpiZWZvcmV7Y29udGVudDonJzt3aWR0aDo1cHg7aGVpZ2h0OjVweDtib3JkZXItcmFkaXVzOjUwJTtiYWNrZ3JvdW5kOnZhcigtLXRlYWwpO2JveC1zaGFkb3c6MCAwIDZweCB2YXIoLS10ZWFsKTthbmltYXRpb246YmxpbmsgMnMgaW5maW5pdGU7fVxyXG5Aa2V5ZnJhbWVzIGJsaW5rezAlLDEwMCV7b3BhY2l0eToxfTUwJXtvcGFjaXR5Oi40fX1cclxuLmRzLWhlcm8gaDF7Zm9udC1zaXplOmNsYW1wKDM2cHgsNHZ3LDU2cHgpO2ZvbnQtd2VpZ2h0OjgwMDtsZXR0ZXItc3BhY2luZzotMnB4O2xpbmUtaGVpZ2h0OjEuMDU7bWFyZ2luLWJvdHRvbToxNnB4O31cclxuLmRzLWhlcm8gaDEgLmdyYWR7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTEwZGVnLHZhcigtLXRlYWwpIDEwJSx2YXIoLS1ibHVlKSA4NSUpOy13ZWJraXQtYmFja2dyb3VuZC1jbGlwOnRleHQ7YmFja2dyb3VuZC1jbGlwOnRleHQ7LXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6dHJhbnNwYXJlbnQ7fVxyXG4uZHMtaGVyby1zdWJ7Zm9udC1zaXplOjE2cHg7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7bWF4LXdpZHRoOjU2MHB4O2xpbmUtaGVpZ2h0OjEuNzttYXJnaW4tYm90dG9tOjMycHg7fVxyXG4uZHMtaGVyby1hY3Rpb25ze2Rpc3BsYXk6ZmxleDtnYXA6MTJweDtmbGV4LXdyYXA6d3JhcDttYXJnaW4tYm90dG9tOjQwcHg7fVxyXG4uZHMtaGVyby1tZXRhe2Rpc3BsYXk6ZmxleDtnYXA6MjRweDtmbGV4LXdyYXA6d3JhcDt9XHJcbi5kcy1oZXJvLW1ldGEtaXRlbXtmb250LXNpemU6MTJweDtjb2xvcjp2YXIoLS10ZXh0LWRpbSk7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6NnB4O31cclxuLmRzLWhlcm8tbWV0YS1pdGVtIHN0cm9uZ3tjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtmb250LXdlaWdodDo2MDA7fVxyXG5cclxuLyogQ09ERSBCTE9DSyAqL1xyXG4uY29kZS1ibG9ja3tiYWNrZ3JvdW5kOnZhcigtLWRzLWNvZGUtYmcpO2JvcmRlcjoxcHggc29saWQgdmFyKC0tYm9yZGVyKTtib3JkZXItcmFkaXVzOjEwcHg7b3ZlcmZsb3c6aGlkZGVuO21hcmdpbi10b3A6OHB4O31cclxuLmNvZGUtYmxvY2staGVhZGVye2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47cGFkZGluZzo4cHggMTRweDtib3JkZXItYm90dG9tOjFweCBzb2xpZCB2YXIoLS1ib3JkZXIpO2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwuMDIpO31cclxuaHRtbC5saWdodCAuY29kZS1ibG9jay1oZWFkZXJ7YmFja2dyb3VuZDpyZ2JhKDEzLDMwLDYwLC4wMik7fVxyXG4uY29kZS1ibG9jay1sYW5ne2ZvbnQtc2l6ZToxMHB4O2ZvbnQtd2VpZ2h0OjcwMDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7bGV0dGVyLXNwYWNpbmc6MXB4O2NvbG9yOnZhcigtLXRlYWwpO31cclxuLmNvZGUtYmxvY2sgcHJle3BhZGRpbmc6MThweCAxNnB4O2ZvbnQtZmFtaWx5OidETSBNb25vJyxtb25vc3BhY2U7Zm9udC1zaXplOjEyLjVweDtsaW5lLWhlaWdodDoxLjc1O2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO292ZXJmbG93LXg6YXV0bzt3aGl0ZS1zcGFjZTpwcmU7fVxyXG4uY29weS1idG57Zm9udC1zaXplOjExcHg7Y29sb3I6dmFyKC0tdGV4dC1kaW0pO2JhY2tncm91bmQ6dmFyKC0tc29jaWFsLWJnKTtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWJvcmRlcik7Ym9yZGVyLXJhZGl1czo1cHg7cGFkZGluZzozcHggOXB4O2N1cnNvcjpwb2ludGVyO2ZvbnQtZmFtaWx5OidETSBTYW5zJyxzYW5zLXNlcmlmO3RyYW5zaXRpb246LjJzO31cclxuLmNvcHktYnRuOmhvdmVye2NvbG9yOnZhcigtLXRlYWwpO2JvcmRlci1jb2xvcjp2YXIoLS10ZWFsKTt9XHJcbi5jb2RlLWt3e2NvbG9yOiM3ZGQzZmM7fSAuY29kZS1zdHJ7Y29sb3I6Izg2ZWZhYzt9IC5jb2RlLXZhbHtjb2xvcjojZmJiZjI0O31cclxuLmNvZGUtY29te2NvbG9yOnZhcigtLXRleHQtZGltKTtmb250LXN0eWxlOml0YWxpYzt9IC5jb2RlLXZhcntjb2xvcjp2YXIoLS10ZWFsKTt9XHJcbi5jb2RlLWZue2NvbG9yOiNjMDg0ZmM7fSAuY29kZS10eXBle2NvbG9yOiNmYjkyM2M7fVxyXG5cclxuLyogQ0FSRFMgKi9cclxuLmNhcmQtZ3JpZC1kb2Nze2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KGF1dG8tZmlsbCxtaW5tYXgoMjQwcHgsMWZyKSk7Z2FwOjE2cHg7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdChhdXRvLWZpbGwsbWlubWF4KDIwMHB4LDFmcikpO21hcmdpbi10b3A6OHB4O31cclxuLmNhcmQtZ3JpZC0ye2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyIDFmcjtnYXA6MTZweDt9XHJcbi5pbmZvLWNhcmR7YmFja2dyb3VuZDp2YXIoLS1jYXJkKTtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWJvcmRlcik7Ym9yZGVyLXJhZGl1czoxNHB4O3BhZGRpbmc6MjJweDtib3gtc2hhZG93OnZhcigtLWNhcmQtc2hhZG93KTt0cmFuc2l0aW9uOmJvcmRlci1jb2xvciAuMjVzLHRyYW5zZm9ybSAuMjVzLGJveC1zaGFkb3cgLjI1cztwb3NpdGlvbjpyZWxhdGl2ZTtvdmVyZmxvdzpoaWRkZW47fVxyXG4uaW5mby1jYXJkOmhvdmVye3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0zcHgpO2JveC1zaGFkb3c6dmFyKC0tY2FyZC1zaGFkb3ctaG92ZXIpO2JvcmRlci1jb2xvcjpyZ2JhKDAsMjEyLDE4MCwuMik7fVxyXG5odG1sLmxpZ2h0IC5pbmZvLWNhcmR7YmFja2dyb3VuZDojZmZmO31cclxuLmluZm8tY2FyZDo6YmVmb3Jle2NvbnRlbnQ6Jyc7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3JpZ2h0OjA7aGVpZ2h0OjJweDtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCg5MGRlZyx2YXIoLS10ZWFsKSx2YXIoLS1ibHVlKSk7b3BhY2l0eTowO3RyYW5zaXRpb246LjNzO31cclxuLmluZm8tY2FyZDpob3Zlcjo6YmVmb3Jle29wYWNpdHk6MTt9XHJcbi5pbmZvLWNhcmQtaWNvbntmb250LXNpemU6MjRweDttYXJnaW4tYm90dG9tOjEycHg7fVxyXG4uaW5mby1jYXJkLXRpdGxle2ZvbnQtZmFtaWx5OidTeW5lJyxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjcwMDttYXJnaW4tYm90dG9tOjZweDt9XHJcbi5pbmZvLWNhcmQtZGVzY3tmb250LXNpemU6MTIuNXB4O2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO2xpbmUtaGVpZ2h0OjEuNTU7fVxyXG5cclxuLyogRE9XTkxPQUQgQ0FSRFMgKi9cclxuLmRsLWdyaWR7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoYXV0by1maWxsLG1pbm1heCgyMDBweCwxZnIpKTtnYXA6MTRweDt9XHJcbi5kbC1jYXJke2JhY2tncm91bmQ6dmFyKC0tY2FyZCk7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1ib3JkZXIpO2JvcmRlci1yYWRpdXM6MTRweDtwYWRkaW5nOjIycHggMThweDt0ZXh0LWRlY29yYXRpb246bm9uZTt0cmFuc2l0aW9uOi4yNXM7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6MTBweDt9XHJcbi5kbC1jYXJkOmhvdmVye2JvcmRlci1jb2xvcjpyZ2JhKDAsMjEyLDE4MCwuMzUpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0zcHgpO2JveC1zaGFkb3c6dmFyKC0tY2FyZC1zaGFkb3ctaG92ZXIpO31cclxuLmRsLWNhcmQtb3N7Zm9udC1zaXplOjI4cHg7fVxyXG4uZGwtY2FyZC1uYW1le2ZvbnQtZmFtaWx5OidTeW5lJyxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNXB4O2ZvbnQtd2VpZ2h0OjcwMDtjb2xvcjp2YXIoLS10ZXh0KTt9XHJcbi5kbC1jYXJkLXZlcntmb250LXNpemU6MTFweDtjb2xvcjp2YXIoLS10ZXh0LWRpbSk7Zm9udC1mYW1pbHk6J0RNIE1vbm8nLG1vbm9zcGFjZTt9XHJcbi5kbC1jYXJkLXNpemV7Zm9udC1zaXplOjExcHg7Y29sb3I6dmFyKC0tdGV4dC1kaW0pO31cclxuLmRsLWNhcmQtYnRue2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo2cHg7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NjAwO2NvbG9yOnZhcigtLXRlYWwpO21hcmdpbi10b3A6YXV0bzt9XHJcblxyXG4vKiBDT01QQVQgVEFCTEUgKi9cclxuLmNvbXBhdC10YWJsZXt3aWR0aDoxMDAlO2JvcmRlci1jb2xsYXBzZTpjb2xsYXBzZTtmb250LXNpemU6MTNweDt9XHJcbi5jb21wYXQtdGFibGUgdGh7dGV4dC1hbGlnbjpsZWZ0O3BhZGRpbmc6MTBweCAxNnB4O2ZvbnQtc2l6ZToxMHB4O2ZvbnQtd2VpZ2h0OjcwMDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7bGV0dGVyLXNwYWNpbmc6MS4ycHg7Y29sb3I6dmFyKC0tdGV4dC1kaW0pO2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHZhcigtLWJvcmRlcik7fVxyXG4uY29tcGF0LXRhYmxlIHRke3BhZGRpbmc6MTFweCAxNnB4O2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHZhcigtLWJvcmRlcik7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7dmVydGljYWwtYWxpZ246bWlkZGxlO31cclxuLmNvbXBhdC10YWJsZSB0cjpsYXN0LWNoaWxkIHRke2JvcmRlci1ib3R0b206bm9uZTt9XHJcbi5jb21wYXQtdGFibGUgdHI6aG92ZXIgdGR7YmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LC4wMik7fVxyXG5odG1sLmxpZ2h0IC5jb21wYXQtdGFibGUgdHI6aG92ZXIgdGR7YmFja2dyb3VuZDpyZ2JhKDEzLDMwLDYwLC4wMik7fVxyXG4uY29tcGF0LXRhYmxlIC5iYWRnZXtkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6NXB4O3BhZGRpbmc6M3B4IDEwcHg7Ym9yZGVyLXJhZGl1czoxMDBweDtmb250LXNpemU6MTFweDtmb250LXdlaWdodDo2MDA7fVxyXG4uY29tcGF0LXRhYmxlIC5iYWRnZS10ZWFse2JhY2tncm91bmQ6cmdiYSgwLDIxMiwxODAsLjA4KTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwyMTIsMTgwLC4yMik7Y29sb3I6dmFyKC0tdGVhbCk7fVxyXG5odG1sLmxpZ2h0IC5jb21wYXQtdGFibGUgLmJhZGdlLXRlYWx7Y29sb3I6IzAwNWY1MDt9XHJcbi5jb21wYXQtdGFibGUgLmJhZGdlLWJsdWV7YmFja2dyb3VuZDpyZ2JhKDI2LDEwOCwyNDYsLjEpO2JvcmRlcjoxcHggc29saWQgcmdiYSgyNiwxMDgsMjQ2LC4yNSk7Y29sb3I6dmFyKC0tYmx1ZSk7fVxyXG4uY29tcGF0LXRhYmxlIC5iYWRnZS1ncmVlbntiYWNrZ3JvdW5kOnJnYmEoMTYsMTg1LDEyOSwuMSk7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDE2LDE4NSwxMjksLjI1KTtjb2xvcjojMTBiOTgxO31cclxuaHRtbC5saWdodCAuY29tcGF0LXRhYmxlIC5iYWRnZS1ncmVlbntjb2xvcjojMDU5NjY5O31cclxuLmNvbXBhdC10YWJsZSAuYmFkZ2UtbmV1dHJhbHtiYWNrZ3JvdW5kOnZhcigtLXNvY2lhbC1iZyk7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1ib3JkZXIpO2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO31cclxuLmNvbXBhdC10YWJsZSAuYmFkZ2UteWVsbG93e2JhY2tncm91bmQ6cmdiYSgyNDUsMTU4LDExLC4wOCk7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDI0NSwxNTgsMTEsLjIyKTtjb2xvcjojZjU5ZTBiO31cclxuXHJcbi8qIFRBQlMgKi9cclxuLnRhYnMtcGFyZW50IC50YWJze2Rpc3BsYXk6ZmxleDtnYXA6MnB4O2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwuMDMpO2JvcmRlcjoxcHggc29saWQgdmFyKC0tYm9yZGVyKTtib3JkZXItcmFkaXVzOjEwcHg7cGFkZGluZzo0cHg7bWFyZ2luLWJvdHRvbToyMHB4O2ZsZXgtd3JhcDp3cmFwO31cclxuaHRtbC5saWdodCAudGFicy1wYXJlbnQgLnRhYnN7YmFja2dyb3VuZDpyZ2JhKDEzLDMwLDYwLC4wMyk7fVxyXG4udGFicy1wYXJlbnQgLnRhYi1idG57cGFkZGluZzo3cHggMTZweDtib3JkZXItcmFkaXVzOjdweDtmb250LXNpemU6MTIuNXB4O2ZvbnQtd2VpZ2h0OjUwMDtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtjdXJzb3I6cG9pbnRlcjtib3JkZXI6bm9uZTtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2ZvbnQtZmFtaWx5OidETSBTYW5zJyxzYW5zLXNlcmlmO3RyYW5zaXRpb246LjJzO31cclxuLnRhYnMtcGFyZW50IC50YWItYnRuOmhvdmVye2NvbG9yOnZhcigtLXRleHQpO31cclxuLnRhYnMtcGFyZW50IC50YWItYnRuLmFjdGl2ZXtiYWNrZ3JvdW5kOnZhcigtLWJnMyk7Y29sb3I6dmFyKC0tdGV4dCk7Zm9udC13ZWlnaHQ6NjAwO2JveC1zaGFkb3c6MCAxcHggM3B4IHJnYmEoMCwwLDAsLjIpO31cclxuaHRtbC5saWdodCAudGFicy1wYXJlbnQgLnRhYi1idG4uYWN0aXZle2JhY2tncm91bmQ6I2ZmZjtib3gtc2hhZG93OjAgMXB4IDNweCByZ2JhKDEzLDMwLDYwLC4wOCk7fVxyXG4udGFicy1wYXJlbnQgLnRhYi1wYW5le2Rpc3BsYXk6bm9uZTt9XHJcbi50YWJzLXBhcmVudCAudGFiLXBhbmUuYWN0aXZle2Rpc3BsYXk6YmxvY2s7fVxyXG5cclxuLyogQVBJIEVORFBPSU5UICovXHJcbi5lbmRwb2ludC1saXN0e2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOjEycHg7fVxyXG4uZW5kcG9pbnR7YmFja2dyb3VuZDp2YXIoLS1jYXJkKTtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWJvcmRlcik7Ym9yZGVyLXJhZGl1czoxMnB4O292ZXJmbG93OmhpZGRlbjt0cmFuc2l0aW9uOmJvcmRlci1jb2xvciAuMnM7fVxyXG4uZW5kcG9pbnQ6aG92ZXJ7Ym9yZGVyLWNvbG9yOnJnYmEoMCwyMTIsMTgwLC4yKTt9XHJcbmh0bWwubGlnaHQgLmVuZHBvaW50e2JhY2tncm91bmQ6I2ZmZjt9XHJcbi5lbmRwb2ludC1oZWFkZXJ7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MTJweDtwYWRkaW5nOjE0cHggMThweDtjdXJzb3I6cG9pbnRlcjt9XHJcbi5lbmRwb2ludC1tZXRob2R7Zm9udC1mYW1pbHk6J0RNIE1vbm8nLG1vbm9zcGFjZTtmb250LXNpemU6MTFweDtmb250LXdlaWdodDo3MDA7cGFkZGluZzozcHggOXB4O2JvcmRlci1yYWRpdXM6NXB4O2xldHRlci1zcGFjaW5nOi41cHg7bWluLXdpZHRoOjQ2cHg7dGV4dC1hbGlnbjpjZW50ZXI7fVxyXG4ubWV0aG9kLWdldHtiYWNrZ3JvdW5kOnJnYmEoMTYsMTg1LDEyOSwuMSk7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDE2LDE4NSwxMjksLjI1KTtjb2xvcjojMTBiOTgxO31cclxuaHRtbC5saWdodCAubWV0aG9kLWdldHtjb2xvcjojMDU5NjY5O31cclxuLm1ldGhvZC1wb3N0e2JhY2tncm91bmQ6cmdiYSgyNiwxMDgsMjQ2LC4xKTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMjYsMTA4LDI0NiwuMjUpO2NvbG9yOnZhcigtLWJsdWUpO31cclxuLm1ldGhvZC1kZWxldGV7YmFja2dyb3VuZDpyZ2JhKDIzOSw2OCw2OCwuMSk7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDIzOSw2OCw2OCwuMjUpO2NvbG9yOiNlZjQ0NDQ7fVxyXG4uZW5kcG9pbnQtcGF0aHtmb250LWZhbWlseTonRE0gTW9ubycsbW9ub3NwYWNlO2ZvbnQtc2l6ZToxM3B4O2NvbG9yOnZhcigtLXRleHQpO2ZsZXg6MTt9XHJcbi5lbmRwb2ludC1kZXNje2ZvbnQtc2l6ZToxMi41cHg7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7fVxyXG4uZW5kcG9pbnQtYm9keXtwYWRkaW5nOjAgMThweCAxNnB4O2JvcmRlci10b3A6MXB4IHNvbGlkIHZhcigtLWJvcmRlcik7bWFyZ2luLXRvcDowO31cclxuLmVuZHBvaW50LXBhcmFtc3ttYXJnaW4tdG9wOjE0cHg7fVxyXG4ucGFyYW0tcm93e2Rpc3BsYXk6ZmxleDtnYXA6MTJweDthbGlnbi1pdGVtczpiYXNlbGluZTtwYWRkaW5nOjhweCAwO2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHZhcigtLWJvcmRlcik7Zm9udC1zaXplOjEyLjVweDt9XHJcbi5wYXJhbS1yb3c6bGFzdC1jaGlsZHtib3JkZXItYm90dG9tOm5vbmU7fVxyXG4ucGFyYW0tbmFtZXtmb250LWZhbWlseTonRE0gTW9ubycsbW9ub3NwYWNlO2NvbG9yOnZhcigtLXRlYWwpO21pbi13aWR0aDoxMzBweDt9XHJcbi5wYXJhbS10eXBle2ZvbnQtZmFtaWx5OidETSBNb25vJyxtb25vc3BhY2U7Y29sb3I6dmFyKC0tdGV4dC1kaW0pO21pbi13aWR0aDo4MHB4O2ZvbnQtc2l6ZToxMXB4O31cclxuLnBhcmFtLWRlc2N7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7fVxyXG4ucGFyYW0tcmVxe2ZvbnQtc2l6ZToxMHB4O2ZvbnQtd2VpZ2h0OjcwMDtjb2xvcjojZjU5ZTBiO21hcmdpbi1sZWZ0OjRweDt9XHJcblxyXG4vKiBOT1RFUyAqL1xyXG4uZHMtbm90ZXtwYWRkaW5nOjEycHggMTZweDtiYWNrZ3JvdW5kOnJnYmEoMCwyMTIsMTgwLC4wNCk7Ym9yZGVyLWxlZnQ6M3B4IHNvbGlkIHZhcigtLXRlYWwpO2JvcmRlci1yYWRpdXM6MCA4cHggOHB4IDA7Zm9udC1zaXplOjEzcHg7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7bGluZS1oZWlnaHQ6MS42O21hcmdpbi10b3A6MTZweDt9XHJcbi5kcy1ub3RlIHN0cm9uZ3tjb2xvcjojMDBENEI0RkY7fVxyXG4uZHMtd2FybntwYWRkaW5nOjEycHggMTZweDtiYWNrZ3JvdW5kOnJnYmEoMjQ1LDE1OCwxMSwuMDUpO2JvcmRlci1sZWZ0OjNweCBzb2xpZCAjZjU5ZTBiO2JvcmRlci1yYWRpdXM6MCA4cHggOHB4IDA7Zm9udC1zaXplOjEzcHg7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7bWFyZ2luLXRvcDoxNnB4O31cclxuLmRzLXdhcm4gc3Ryb25ne2NvbG9yOiNmNTllMGI7fVxyXG4uZHMtaW5mb3twYWRkaW5nOjEycHggMTZweDtiYWNrZ3JvdW5kOnJnYmEoMjYsMTA4LDI0NiwuMDUpO2JvcmRlci1sZWZ0OjNweCBzb2xpZCB2YXIoLS1ibHVlKTtib3JkZXItcmFkaXVzOjAgOHB4IDhweCAwO2ZvbnQtc2l6ZToxM3B4O2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO21hcmdpbi10b3A6MTZweDt9XHJcbi5kcy1pbmZvIHN0cm9uZ3tjb2xvcjp2YXIoLS1ibHVlKTt9XHJcblxyXG4vKiBGQVEgKi9cclxuLmZhcS1kb2Nze2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOjEycHg7fVxyXG4uZmFxLWRvY3MgLmZhcS1pdGVte2JhY2tncm91bmQ6dmFyKC0tY2FyZCk7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1ib3JkZXIpO2JvcmRlci1yYWRpdXM6MTJweDtvdmVyZmxvdzpoaWRkZW47fVxyXG5odG1sLmxpZ2h0IC5mYXEtZG9jcyAuZmFxLWl0ZW17YmFja2dyb3VuZDojZmZmO31cclxuLmZhcS1kb2NzIC5mYXEtcXtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO3BhZGRpbmc6MTZweCAyMHB4O2N1cnNvcjpwb2ludGVyO2ZvbnQtd2VpZ2h0OjYwMDtmb250LXNpemU6MTRweDt0cmFuc2l0aW9uOmNvbG9yIC4yczt9XHJcbi5mYXEtZG9jcyAuZmFxLXE6aG92ZXJ7Y29sb3I6dmFyKC0tdGVhbCk7fVxyXG4uZmFxLWRvY3MgLmZhcS1xIHN2Z3tmbGV4LXNocmluazowO3RyYW5zaXRpb246dHJhbnNmb3JtIC4yNXM7fVxyXG4uZmFxLWRvY3MgLmZhcS1pdGVtLm9wZW4gLmZhcS1xIHN2Z3t0cmFuc2Zvcm06cm90YXRlKDE4MGRlZyk7fVxyXG4uZmFxLWRvY3MgLmZhcS1he2Rpc3BsYXk6bm9uZTtwYWRkaW5nOjE2cHggMjBweDtmb250LXNpemU6MTMuNXB4O2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO2xpbmUtaGVpZ2h0OjEuNjU7Ym9yZGVyLXRvcDoxcHggc29saWQgdmFyKC0tYm9yZGVyKTt9XHJcbi5mYXEtZG9jcyAuZmFxLWl0ZW0ub3BlbiAuZmFxLWF7ZGlzcGxheTpibG9jazt9XHJcbi5mYXEtZG9jcyAuZmFxLWEgY29kZXtmb250LWZhbWlseTonRE0gTW9ubycsbW9ub3NwYWNlO2ZvbnQtc2l6ZToxMnB4O2NvbG9yOnZhcigtLXRlYWwpO2JhY2tncm91bmQ6cmdiYSgwLDIxMiwxODAsLjA2KTtwYWRkaW5nOjFweCA1cHg7Ym9yZGVyLXJhZGl1czo0cHg7fVxyXG5cclxuLyogU1RFUFMgKi9cclxuLnN0ZXBzLWRvY3N7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6MDt9XHJcbi5zdGVwcy1kb2NzIC5zdGVwe2Rpc3BsYXk6ZmxleDtnYXA6MjBweDtwb3NpdGlvbjpyZWxhdGl2ZTt9XHJcbi5zdGVwcy1kb2NzIC5zdGVwOm5vdCg6bGFzdC1jaGlsZCk6OmFmdGVye2NvbnRlbnQ6Jyc7cG9zaXRpb246YWJzb2x1dGU7bGVmdDoxN3B4O3RvcDozOHB4O2JvdHRvbTowO3dpZHRoOjFweDtiYWNrZ3JvdW5kOnZhcigtLWJvcmRlcik7fVxyXG4uc3RlcHMtZG9jcyAuc3RlcC1udW17d2lkdGg6MzRweDtoZWlnaHQ6MzRweDtib3JkZXItcmFkaXVzOjUwJTtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxMzVkZWcsdmFyKC0tdGVhbCksdmFyKC0tYmx1ZSkpO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtmb250LWZhbWlseTonU3luZScsc2Fucy1zZXJpZjtmb250LXNpemU6MTNweDtmb250LXdlaWdodDo3MDA7Y29sb3I6I2ZmZjtmbGV4LXNocmluazowO21hcmdpbi10b3A6MnB4O31cclxuLnN0ZXBzLWRvY3MgLnN0ZXAtY29udGVudHtwYWRkaW5nLWJvdHRvbToyOHB4O2ZsZXg6MTt9XHJcbi5zdGVwcy1kb2NzIC5zdGVwLXRpdGxle2ZvbnQtZmFtaWx5OidTeW5lJyxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNXB4O2ZvbnQtd2VpZ2h0OjcwMDttYXJnaW4tYm90dG9tOjZweDt9XHJcbi5zdGVwcy1kb2NzIC5zdGVwLWRlc2N7Zm9udC1zaXplOjEzLjVweDtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTttYXJnaW4tYm90dG9tOjEwcHg7bGluZS1oZWlnaHQ6MS41NTt9XHJcblxyXG4vKiBTVEFUIFJPVyAqL1xyXG4uc3RhdC1yb3d7ZGlzcGxheTpmbGV4O2dhcDozMnB4O2ZsZXgtd3JhcDp3cmFwO3BhZGRpbmc6MjRweCAwO2JvcmRlci10b3A6MXB4IHNvbGlkIHZhcigtLWJvcmRlcik7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgdmFyKC0tYm9yZGVyKTttYXJnaW46MjRweCAwO31cclxuLnN0YXQtaXRlbXtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDo0cHg7fVxyXG4uc3RhdC12YWx1ZXtmb250LWZhbWlseTonU3luZScsc2Fucy1zZXJpZjtmb250LXNpemU6MjRweDtmb250LXdlaWdodDo4MDA7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTEwZGVnLHZhcigtLXRlYWwpLHZhcigtLWJsdWUpKTstd2Via2l0LWJhY2tncm91bmQtY2xpcDp0ZXh0O2JhY2tncm91bmQtY2xpcDp0ZXh0Oy13ZWJraXQtdGV4dC1maWxsLWNvbG9yOnRyYW5zcGFyZW50O31cclxuLnN0YXQtbGFiZWx7Zm9udC1zaXplOjEycHg7Y29sb3I6dmFyKC0tdGV4dC1kaW0pO31cclxuXHJcbi8qIElOVEVHUkFUSU9OUyBQTEFDRUhPTERFUiAqL1xyXG4uaW50ZWdyYXRpb24tcGxhY2Vob2xkZXJ7Ym9yZGVyOjJweCBkYXNoZWQgdmFyKC0tYm9yZGVyKTtib3JkZXItcmFkaXVzOjE2cHg7cGFkZGluZzo2MHB4IDMycHg7dGV4dC1hbGlnbjpjZW50ZXI7fVxyXG4uaW50ZWdyYXRpb24tcGxhY2Vob2xkZXItaWNvbntmb250LXNpemU6NDhweDttYXJnaW4tYm90dG9tOjE2cHg7b3BhY2l0eTouNDt9XHJcbi5pbnRlZ3JhdGlvbi1wbGFjZWhvbGRlci10aXRsZXtmb250LWZhbWlseTonU3luZScsc2Fucy1zZXJpZjtmb250LXNpemU6MThweDtmb250LXdlaWdodDo3MDA7Y29sb3I6dmFyKC0tdGV4dC1kaW0pO21hcmdpbi1ib3R0b206OHB4O31cclxuLmludGVncmF0aW9uLXBsYWNlaG9sZGVyLXN1Yntmb250LXNpemU6MTMuNXB4O2NvbG9yOnZhcigtLXRleHQtZGltKTttYXgtd2lkdGg6MzgwcHg7bWFyZ2luOjAgYXV0bzt9XHJcblxyXG4vKiBQUk9EVUNUIERPQ1MgQ0FSRFMgKG1haW4gcGFnZSkgKi9cclxuLnByb2R1Y3QtZG9jcy1ncmlke2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KGF1dG8tZmlsbCxtaW5tYXgoMjgwcHgsMWZyKSk7Z2FwOjIwcHg7bWFyZ2luLXRvcDo4cHg7fVxyXG4ucHJvZHVjdC1kb2NzLWNhcmR7YmFja2dyb3VuZDp2YXIoLS1jYXJkKTtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWJvcmRlcik7Ym9yZGVyLXJhZGl1czoxNnB4O3BhZGRpbmc6MjhweCAyNHB4O2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOjE0cHg7dHJhbnNpdGlvbjpib3JkZXItY29sb3IgLjI1cyx0cmFuc2Zvcm0gLjI1cyxib3gtc2hhZG93IC4yNXM7cG9zaXRpb246cmVsYXRpdmU7b3ZlcmZsb3c6aGlkZGVuO31cclxuLnByb2R1Y3QtZG9jcy1jYXJkOjpiZWZvcmV7Y29udGVudDonJztwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7cmlnaHQ6MDtoZWlnaHQ6MnB4O2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDkwZGVnLHZhcigtLXRlYWwpLHZhcigtLWJsdWUpKTtvcGFjaXR5OjA7dHJhbnNpdGlvbjouM3M7fVxyXG4ucHJvZHVjdC1kb2NzLWNhcmQ6aG92ZXJ7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTNweCk7Ym94LXNoYWRvdzp2YXIoLS1jYXJkLXNoYWRvdy1ob3Zlcik7Ym9yZGVyLWNvbG9yOnJnYmEoMCwyMTIsMTgwLC4yKTt9XHJcbi5wcm9kdWN0LWRvY3MtY2FyZDpob3Zlcjo6YmVmb3Jle29wYWNpdHk6MTt9XHJcbmh0bWwubGlnaHQgLnByb2R1Y3QtZG9jcy1jYXJke2JhY2tncm91bmQ6I2ZmZjt9XHJcbi5wcm9kdWN0LWRvY3MtaWNvbntmb250LXNpemU6MzJweDt9XHJcbi5wcm9kdWN0LWRvY3MtbmFtZXtmb250LWZhbWlseTonU3luZScsc2Fucy1zZXJpZjtmb250LXNpemU6MThweDtmb250LXdlaWdodDo4MDA7bGV0dGVyLXNwYWNpbmc6LS41cHg7fVxyXG4ucHJvZHVjdC1kb2NzLWRlc2N7Zm9udC1zaXplOjEzLjVweDtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtsaW5lLWhlaWdodDoxLjY7fVxyXG4ucHJvZHVjdC1kb2NzLWZlYXR1cmVze2xpc3Qtc3R5bGU6bm9uZTtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDo2cHg7bWFyZ2luOjRweCAwO31cclxuLnByb2R1Y3QtZG9jcy1mZWF0dXJlcyBsaXtmb250LXNpemU6MTIuNXB4O2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjhweDt9XHJcbi5wcm9kdWN0LWRvY3MtZmVhdHVyZXMgbGk6OmJlZm9yZXtjb250ZW50OicnO3dpZHRoOjRweDtoZWlnaHQ6NHB4O2JvcmRlci1yYWRpdXM6NTAlO2JhY2tncm91bmQ6dmFyKC0tdGVhbCk7ZmxleC1zaHJpbms6MDt9XHJcbi5wcm9kdWN0LWRvY3MtY2FyZCAuYnRuLXByaW1hcnl7bWFyZ2luLXRvcDphdXRvO2FsaWduLXNlbGY6ZmxleC1zdGFydDt9XHJcblxyXG4vKiBTVVBQT1JUIFNFQ1RJT04gKi9cclxuLnN1cHBvcnQtYm94e2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOjI0cHg7fVxyXG4uc3VwcG9ydC1lbWFpbC1yb3d7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MTZweDtwYWRkaW5nOjIwcHggMjRweDtiYWNrZ3JvdW5kOnZhcigtLWNhcmQpO2JvcmRlcjoxcHggc29saWQgdmFyKC0tYm9yZGVyKTtib3JkZXItcmFkaXVzOjE0cHg7fVxyXG5odG1sLmxpZ2h0IC5zdXBwb3J0LWVtYWlsLXJvd3tiYWNrZ3JvdW5kOiNmZmY7fVxyXG4uc3VwcG9ydC1lbWFpbC1pY29ue2ZvbnQtc2l6ZToyOHB4O2ZsZXgtc2hyaW5rOjA7fVxyXG4uc3VwcG9ydC1lbWFpbC1sYWJlbHtmb250LXNpemU6MTFweDtmb250LXdlaWdodDo3MDA7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2xldHRlci1zcGFjaW5nOjEuNXB4O2NvbG9yOnZhcigtLXRleHQtZGltKTttYXJnaW4tYm90dG9tOjRweDt9XHJcbi5zdXBwb3J0LWVtYWlsLWxpbmt7Zm9udC1mYW1pbHk6J0RNIE1vbm8nLG1vbm9zcGFjZTtmb250LXNpemU6MTVweDtmb250LXdlaWdodDo1MDA7Y29sb3I6dmFyKC0tdGVhbCk7dGV4dC1kZWNvcmF0aW9uOm5vbmU7fVxyXG4uc3VwcG9ydC1lbWFpbC1saW5rOmhvdmVye3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7fVxyXG4uc3VwcG9ydC1zb2NpYWxze2Rpc3BsYXk6ZmxleDtnYXA6MTBweDtmbGV4LXdyYXA6d3JhcDt9XHJcbi5zdXBwb3J0LXNvY2lhbC1idG57ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjhweDtwYWRkaW5nOjlweCAxOHB4O2JvcmRlci1yYWRpdXM6MTBweDtiYWNrZ3JvdW5kOnZhcigtLXNvY2lhbC1iZyk7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1ib3JkZXIpO2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO2ZvbnQtc2l6ZToxM3B4O2ZvbnQtd2VpZ2h0OjUwMDt0ZXh0LWRlY29yYXRpb246bm9uZTt0cmFuc2l0aW9uOi4ycztmb250LWZhbWlseTonRE0gU2Fucycsc2Fucy1zZXJpZjt9XHJcbi5zdXBwb3J0LXNvY2lhbC1idG46aG92ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLXRlYWwpO2NvbG9yOnZhcigtLXRlYWwpO31cclxuXHJcbi8qIFBST0RVQ1QgSEVSTyAocGVyLXByb2R1Y3QgZG9jcyBwYWdlcykgKi9cclxuLmRzLWhlcm8tYWN0aW9uc3tkaXNwbGF5OmZsZXg7Z2FwOjEycHg7ZmxleC13cmFwOndyYXA7bWFyZ2luLWJvdHRvbTo0MHB4O31cclxuXHJcbi8qIOKUgOKUgCBET1dOTE9BRCBQQUdFIOKUgOKUgCAqL1xyXG4uYWNjb3JkaW9uLS1kb3dubG9hZCAuYWNjb3JkaW9uLWl0ZW06bm90KC5vcGVuKSA+IC5hY2NvcmRpb24tYm9keSB7IGRpc3BsYXk6IG5vbmU7IH1cclxuLmFjY29yZGlvbi0tZG93bmxvYWQgLmFjY29yZGlvbi1oZWFkIHtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICBnYXA6IDE2cHg7XHJcbiAgdHJhbnNpdGlvbjogY29sb3IgLjJzO1xyXG4gIHNjcm9sbC1tYXJnaW4tdG9wOiAyMHB4O1xyXG59XHJcbi5hY2NvcmRpb24tLWRvd25sb2FkIC5hY2NvcmRpb24taGVhZCBzdmcgeyBmbGV4LXNocmluazogMDsgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4yNXM7IH1cclxuLmFjY29yZGlvbi0tZG93bmxvYWQgLmFjY29yZGlvbi1pdGVtLm9wZW4gPiAuYWNjb3JkaW9uLWhlYWQgc3ZnIHsgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsgfVxyXG4uYWNjb3JkaW9uLS1kb3dubG9hZCAuYWNjb3JkaW9uLWhlYWQ6aG92ZXIgeyBjb2xvcjogdmFyKC0tdGVhbCk7IH1cclxuXHJcbi8qIEwxOiBQcm9kdWN0IGl0ZW1zIOKAlCBubyBjYXJkLCBqdXN0IGhvcml6b250YWwgZGl2aWRlcnMgKGxpa2UgYWNjb3JkaW9uLS1kZWZhdWx0KSAqL1xyXG4uZGwtcHJvZHVjdHMgPiAuYWNjb3JkaW9uLWl0ZW0geyBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYm9yZGVyKTsgbWFyZ2luLWJvdHRvbTogMDsgfVxyXG4uZGwtcHJvZHVjdHMgPiAuYWNjb3JkaW9uLWl0ZW06bGFzdC1jaGlsZCB7IGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1ib3JkZXIpOyB9XHJcbi5kbC1wcm9kdWN0cyA+IC5hY2NvcmRpb24taXRlbSA+IC5hY2NvcmRpb24taGVhZCB7XHJcbiAgZm9udC1zaXplOiAxOHB4O1xyXG4gIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgcGFkZGluZzogMThweCAwO1xyXG4gIGxldHRlci1zcGFjaW5nOiAtLjNweDtcclxufVxyXG4uZGwtcHJvZHVjdHMgPiAuYWNjb3JkaW9uLWl0ZW0gPiAuYWNjb3JkaW9uLWJvZHkgeyBwYWRkaW5nLWJvdHRvbTogMjBweDsgfVxyXG5cclxuLyogTDI6IFJlbGVhc2VzIOKAlCBsaWdodCBjYXJkIGluc2lkZSBwcm9kdWN0IGJvZHkgKi9cclxuLmRsLXJlbGVhc2VzIHtcclxuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXIpO1xyXG4gIGJvcmRlci1yYWRpdXM6IDEycHg7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICBiYWNrZ3JvdW5kOiB2YXIoLS1jYXJkKTtcclxufVxyXG5odG1sLmxpZ2h0IC5kbC1yZWxlYXNlcyB7IGJhY2tncm91bmQ6ICNmZmY7IH1cclxuLmRsLXJlbGVhc2VzID4gLmFjY29yZGlvbi1pdGVtIHsgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWJvcmRlcik7IH1cclxuLmRsLXJlbGVhc2VzID4gLmFjY29yZGlvbi1pdGVtOmZpcnN0LWNoaWxkIHsgYm9yZGVyLXRvcDogbm9uZTsgfVxyXG4uZGwtcmVsZWFzZXMgPiAuYWNjb3JkaW9uLWl0ZW0gPiAuYWNjb3JkaW9uLWhlYWQge1xyXG4gIGZvbnQtc2l6ZTogMTRweDtcclxuICBmb250LXdlaWdodDogNjAwO1xyXG4gIHBhZGRpbmc6IDEzcHggMThweDtcclxuICBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcbn1cclxuLmRsLXJlbGVhc2VzID4gLmFjY29yZGlvbi1pdGVtLm9wZW4gPiAuYWNjb3JkaW9uLWhlYWQgeyBjb2xvcjogdmFyKC0tdGV4dCk7IH1cclxuXHJcbi8qIEwzOiBHUFUgaXRlbXMgKi9cclxuLmRsLWdwdXMgPiAuYWNjb3JkaW9uLWl0ZW0geyBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYm9yZGVyKTsgfVxyXG4uZGwtZ3B1cyA+IC5hY2NvcmRpb24taXRlbTpmaXJzdC1jaGlsZCB7IGJvcmRlci10b3A6IG5vbmU7IH1cclxuLmRsLWdwdXMgPiAuYWNjb3JkaW9uLWl0ZW0gPiAuYWNjb3JkaW9uLWhlYWQge1xyXG4gIGZvbnQtc2l6ZTogMTIuNXB4O1xyXG4gIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgcGFkZGluZzogMTBweCAzMnB4O1xyXG4gIGNvbG9yOiB2YXIoLS10ZXh0LWRpbSk7XHJcbn1cclxuLmRsLWdwdXMgPiAuYWNjb3JkaW9uLWl0ZW0ub3BlbiA+IC5hY2NvcmRpb24taGVhZCB7IGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTsgfVxyXG5cclxuLyogRmlsZSBsaXN0IHJvd3MgKi9cclxuLmRsLWZpbGUtbGlzdCB7IG1hcmdpbjogMCAxOHB4IDE2cHggMzJweDsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyKTsgYm9yZGVyLXJhZGl1czogMTBweDsgb3ZlcmZsb3c6IGhpZGRlbjsgfVxyXG4uZGwtZmlsZS1yb3cge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBnYXA6IDE2cHg7XHJcbiAgcGFkZGluZzogMTFweCAxNnB4O1xyXG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXIpO1xyXG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgLjE1cztcclxufVxyXG4uZGwtZmlsZS1yb3c6Zmlyc3QtY2hpbGQgeyBib3JkZXItdG9wOiBub25lOyB9XHJcbi5kbC1maWxlLXJvdzpob3ZlciB7IGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsLjAyKTsgfVxyXG5odG1sLmxpZ2h0IC5kbC1maWxlLXJvdzpob3ZlciB7IGJhY2tncm91bmQ6IHJnYmEoMTMsMzAsNjAsLjAyKTsgfVxyXG4uZGwtZmlsZS1wbGF0Zm9ybSB7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogN3B4OyBtaW4td2lkdGg6IDExMHB4OyBmb250LXNpemU6IDEzcHg7IGZvbnQtd2VpZ2h0OiA2MDA7IGNvbG9yOiB2YXIoLS10ZXh0KTsgfVxyXG4uZGwtb3MtZW1vamkgeyBmb250LXNpemU6IDE1cHg7IGxpbmUtaGVpZ2h0OiAxOyBmbGV4LXNocmluazogMDsgfVxyXG4uZGwtb3MtbmFtZSB7IGZvbnQtc2l6ZTogMTNweDsgfVxyXG4uZGwtZmlsZS1kZXNjIHsgZmxleDogMTsgZm9udC1mYW1pbHk6ICdETSBNb25vJywgbW9ub3NwYWNlOyBmb250LXNpemU6IDEycHg7IGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTsgfVxyXG4uZGwtZmlsZS1zaXplIHsgZm9udC1zaXplOiAxMnB4OyBjb2xvcjogdmFyKC0tdGV4dC1kaW0pOyB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XHJcblxyXG4uZGwtYnRuIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiA1cHg7XHJcbiAgZm9udC1zaXplOiAxMnB4OyBmb250LXdlaWdodDogNjAwOyBjb2xvcjogdmFyKC0tdGVhbCk7XHJcbiAgYmFja2dyb3VuZDogcmdiYSgwLDIxMiwxODAsLjA2KTsgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLDIxMiwxODAsLjIpO1xyXG4gIGJvcmRlci1yYWRpdXM6IDdweDsgcGFkZGluZzogNXB4IDEzcHg7IGN1cnNvcjogcG9pbnRlcjtcclxuICBmb250LWZhbWlseTogJ0RNIFNhbnMnLCBzYW5zLXNlcmlmOyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IHRyYW5zaXRpb246IC4ycztcclxuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG59XHJcbi5kbC1idG46bm90KFtkaXNhYmxlZF0pOmhvdmVyIHsgYmFja2dyb3VuZDogcmdiYSgwLDIxMiwxODAsLjEyKTsgYm9yZGVyLWNvbG9yOiByZ2JhKDAsMjEyLDE4MCwuNCk7IH1cclxuLmRsLWJ0bltkaXNhYmxlZF0geyBvcGFjaXR5OiAuMzU7IGN1cnNvcjogbm90LWFsbG93ZWQ7IHBvaW50ZXItZXZlbnRzOiBub25lOyB9XHJcbi5kbC1idG4tLWNoYW5nZWxvZyB7IGNvbG9yOiB2YXIoLS10ZXh0LWRpbSk7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyBib3JkZXItY29sb3I6IHZhcigtLWJvcmRlcik7IH1cclxuLmRsLWJ0bi0tY2hhbmdlbG9nOmhvdmVyIHsgY29sb3I6IHZhcigtLXRlYWwpOyBib3JkZXItY29sb3I6IHJnYmEoMCwyMTIsMTgwLC40KTsgYmFja2dyb3VuZDogcmdiYSgwLDIxMiwxODAsLjA2KTsgfVxyXG5cclxuLyogUkVTUE9OU0lWRSAqL1xyXG4vKiBDSEFOR0VMT0cgKi9cclxuLmNsLWJhY2stbGlua3twb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjE7ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjZweDtmb250LXNpemU6MTNweDtjb2xvcjp2YXIoLS10ZXh0LWRpbSk7dGV4dC1kZWNvcmF0aW9uOm5vbmU7bWFyZ2luLWJvdHRvbToxNnB4O3RyYW5zaXRpb246Y29sb3IgLjJzO31cclxuLmNsLWJhY2stbGluazpob3Zlcntjb2xvcjp2YXIoLS10ZWFsKTt9XHJcbi5jbC1iYWNrLWxpbmsgc3Zne2ZsZXgtc2hyaW5rOjA7fVxyXG5cclxuLmNsLXZlcnNpb25zLXdyYXB7cGFkZGluZy1ib3R0b206NHB4O31cclxuLmNsLXZlcnNpb25zLXRhYmxle3dpZHRoOjEwMCU7Ym9yZGVyLWNvbGxhcHNlOmNvbGxhcHNlO31cclxuLmNsLXZlcnNpb25zLXRhYmxlIHRoe3RleHQtYWxpZ246bGVmdDtwYWRkaW5nOjEwcHggMCAxMHB4IDRweDtmb250LXNpemU6MTBweDtmb250LXdlaWdodDo3MDA7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2xldHRlci1zcGFjaW5nOjEuMnB4O2NvbG9yOnZhcigtLXRleHQtZGltKTtib3JkZXItYm90dG9tOjFweCBzb2xpZCB2YXIoLS1ib3JkZXIpO31cclxuLmNsLXZlcnNpb25zLXRhYmxlIHRke3BhZGRpbmc6MTFweCAwIDExcHggNHB4O2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHZhcigtLWJvcmRlcik7dmVydGljYWwtYWxpZ246bWlkZGxlO31cclxuLmNsLXZlcnNpb25zLXRhYmxlIHRyOmxhc3QtY2hpbGQgdGR7Ym9yZGVyLWJvdHRvbTpub25lO31cclxuLmNsLXZlcnNpb24tbGlua3tmb250LWZhbWlseTonRE0gTW9ubycsbW9ub3NwYWNlO2ZvbnQtc2l6ZToxM3B4O2ZvbnQtd2VpZ2h0OjYwMDtjb2xvcjp2YXIoLS10ZWFsKTt0ZXh0LWRlY29yYXRpb246bm9uZTt0cmFuc2l0aW9uOmNvbG9yIC4yczt9XHJcbi5jbC12ZXJzaW9uLWxpbms6aG92ZXJ7Y29sb3I6dmFyKC0tYmx1ZSk7fVxyXG4uY2wtZGF0ZXtmb250LXNpemU6MTIuNXB4O2NvbG9yOnZhcigtLXRleHQtZGltKTt9XHJcblxyXG4uY2wtY2hhbmdlc3tkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDoyOHB4O31cclxuLmNsLWNhdGVnb3J5LWhlYWR7bWFyZ2luLWJvdHRvbToxNHB4O31cclxuLmNsLWNhdGVnb3J5LWJhZGdle2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO3BhZGRpbmc6NHB4IDEycHg7Ym9yZGVyLXJhZGl1czoyMHB4O2ZvbnQtc2l6ZToxMHB4O2ZvbnQtd2VpZ2h0OjcwMDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7bGV0dGVyLXNwYWNpbmc6MS41cHg7fVxyXG4uY2wtYmFkZ2UtYWRkZWR7YmFja2dyb3VuZDpyZ2JhKDE2LDE4NSwxMjksLjEpO2JvcmRlcjoxcHggc29saWQgcmdiYSgxNiwxODUsMTI5LC4yNSk7Y29sb3I6IzEwYjk4MTt9XHJcbmh0bWwubGlnaHQgLmNsLWJhZGdlLWFkZGVke2NvbG9yOiMwNTk2Njk7fVxyXG4uY2wtYmFkZ2UtZml4ZWR7YmFja2dyb3VuZDpyZ2JhKDIzOSw2OCw2OCwuMDgpO2JvcmRlcjoxcHggc29saWQgcmdiYSgyMzksNjgsNjgsLjIpO2NvbG9yOiNlZjQ0NDQ7fVxyXG5odG1sLmxpZ2h0IC5jbC1iYWRnZS1maXhlZHtjb2xvcjojZGMyNjI2O31cclxuLmNsLWJhZGdlLWNoYW5nZWR7YmFja2dyb3VuZDpyZ2JhKDI2LDEwOCwyNDYsLjEpO2JvcmRlcjoxcHggc29saWQgcmdiYSgyNiwxMDgsMjQ2LC4yNSk7Y29sb3I6dmFyKC0tYmx1ZSk7fVxyXG4uY2wtYmFkZ2UtcmVtb3ZlZHtiYWNrZ3JvdW5kOnZhcigtLXNvY2lhbC1iZyk7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1ib3JkZXIpO2NvbG9yOnZhcigtLXRleHQtZGltKTt9XHJcblxyXG4uY2wtY2hhbmdlcy1saXN0e2xpc3Qtc3R5bGU6bm9uZTtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDo4cHg7cGFkZGluZy1sZWZ0OjRweDt9XHJcbi5jbC1jaGFuZ2VzLWxpc3QgbGl7Zm9udC1zaXplOjEzLjVweDtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6ZmxleC1zdGFydDtnYXA6MTBweDtsaW5lLWhlaWdodDoxLjY7fVxyXG4uY2wtY2hhbmdlcy1saXN0IGxpOjpiZWZvcmV7Y29udGVudDonJzt3aWR0aDo1cHg7aGVpZ2h0OjVweDtib3JkZXItcmFkaXVzOjUwJTtiYWNrZ3JvdW5kOnZhcigtLWJvcmRlcik7ZmxleC1zaHJpbms6MDttYXJnaW4tdG9wOjdweDt9XHJcblxyXG5AbWVkaWEobWF4LXdpZHRoOjkwMHB4KXtcclxuICAuZHMtc2VjdGlvbntwYWRkaW5nOjQwcHggMjRweDt9XHJcbiAgLmRzLWhlcm97cGFkZGluZzo2MHB4IDI0cHggNDBweDt9XHJcbiAgLmNhcmQtZ3JpZC0ye2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnI7fVxyXG4gIC5wcm9kdWN0LWRvY3MtZ3JpZHtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyO31cclxuICAuc3VwcG9ydC1lbWFpbC1yb3d7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2FsaWduLWl0ZW1zOmZsZXgtc3RhcnQ7fVxyXG59XHJcblxyXG5cclxuLmRvY3MtdGFibGUge1xyXG5cclxuXHR3aWR0aDogMTAwJTtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXIpO1xyXG5cdGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XHJcbn1cclxuLmRvY3MtdGFibGUgY2FwdGlvbiB7XHJcblx0Zm9udC13ZWlnaHQ6IDcwMDtcclxuXHRwYWRkaW5nOiAxMHB4O1xyXG59XHJcbi5kb2NzLXRhYmxlIHRoLFxyXG4uZG9jcy10YWJsZSB0ZHtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXIpO1xyXG5cdHBhZGRpbmc6IDEwcHg7XHJcbn0iLCIvKiBQcmlzbUpTIDEuMzAuMFxyXG5odHRwczovL3ByaXNtanMuY29tL2Rvd25sb2FkI3RoZW1lcz1wcmlzbSZsYW5ndWFnZXM9bWFya3VwK2NzcytjbGlrZStqYXZhc2NyaXB0K2Jhc2grZ28ramF2YStweXRob24rdHlwZXNjcmlwdCAqL1xyXG4vKipcclxuICogcHJpc20uanMgZGVmYXVsdCB0aGVtZSBmb3IgSmF2YVNjcmlwdCwgQ1NTIGFuZCBIVE1MXHJcbiAqIEJhc2VkIG9uIGRhYmJsZXQgKGh0dHA6Ly9kYWJibGV0LmNvbSlcclxuICogQGF1dGhvciBMZWEgVmVyb3VcclxuICovXHJcbi5saWdodCB7XHJcblxyXG5jb2RlW2NsYXNzKj1cImxhbmd1YWdlLVwiXSxcclxucHJlW2NsYXNzKj1cImxhbmd1YWdlLVwiXSB7XHJcblx0Y29sb3I6IGJsYWNrO1xyXG5cdGJhY2tncm91bmQ6IG5vbmU7XHJcblx0dGV4dC1zaGFkb3c6IDAgMXB4IHdoaXRlO1xyXG5cdGZvbnQtZmFtaWx5OiBDb25zb2xhcywgTW9uYWNvLCAnQW5kYWxlIE1vbm8nLCAnVWJ1bnR1IE1vbm8nLCBtb25vc3BhY2U7XHJcblx0Zm9udC1zaXplOiAxZW07XHJcblx0dGV4dC1hbGlnbjogbGVmdDtcclxuXHR3aGl0ZS1zcGFjZTogcHJlO1xyXG5cdHdvcmQtc3BhY2luZzogbm9ybWFsO1xyXG5cdHdvcmQtYnJlYWs6IG5vcm1hbDtcclxuXHR3b3JkLXdyYXA6IG5vcm1hbDtcclxuXHRsaW5lLWhlaWdodDogMS41O1xyXG5cclxuXHR0YWItc2l6ZTogNDtcclxuXHJcblx0aHlwaGVuczogbm9uZTtcclxufVxyXG5cclxuQG1lZGlhIHByaW50IHtcclxuXHRjb2RlW2NsYXNzKj1cImxhbmd1YWdlLVwiXSxcclxuXHRwcmVbY2xhc3MqPVwibGFuZ3VhZ2UtXCJdIHtcclxuXHRcdHRleHQtc2hhZG93OiBub25lO1xyXG5cdH1cclxufVxyXG5cclxuLyogQ29kZSBibG9ja3MgKi9cclxucHJlW2NsYXNzKj1cImxhbmd1YWdlLVwiXSB7XHJcblx0cGFkZGluZzogMWVtO1xyXG5cdG1hcmdpbjogLjVlbSAwO1xyXG5cdG92ZXJmbG93OiBhdXRvO1xyXG59XHJcblxyXG4vKiBJbmxpbmUgY29kZSAqL1xyXG46bm90KHByZSkgPiBjb2RlW2NsYXNzKj1cImxhbmd1YWdlLVwiXSB7XHJcblx0cGFkZGluZzogLjFlbTtcclxuXHRib3JkZXItcmFkaXVzOiAuM2VtO1xyXG5cdHdoaXRlLXNwYWNlOiBub3JtYWw7XHJcbn1cclxuXHJcbi50b2tlbi5jb21tZW50LFxyXG4udG9rZW4ucHJvbG9nLFxyXG4udG9rZW4uZG9jdHlwZSxcclxuLnRva2VuLmNkYXRhIHtcclxuXHRjb2xvcjogc2xhdGVncmF5O1xyXG59XHJcblxyXG4udG9rZW4ucHVuY3R1YXRpb24ge1xyXG5cdGNvbG9yOiAjOTk5O1xyXG59XHJcblxyXG4udG9rZW4ubmFtZXNwYWNlIHtcclxuXHRvcGFjaXR5OiAuNztcclxufVxyXG5cclxuLnRva2VuLnByb3BlcnR5LFxyXG4udG9rZW4udGFnLFxyXG4udG9rZW4uYm9vbGVhbixcclxuLnRva2VuLm51bWJlcixcclxuLnRva2VuLmNvbnN0YW50LFxyXG4udG9rZW4uc3ltYm9sLFxyXG4udG9rZW4uZGVsZXRlZCB7XHJcblx0Y29sb3I6ICM5MDU7XHJcbn1cclxuXHJcbi50b2tlbi5zZWxlY3RvcixcclxuLnRva2VuLmF0dHItbmFtZSxcclxuLnRva2VuLnN0cmluZyxcclxuLnRva2VuLmNoYXIsXHJcbi50b2tlbi5idWlsdGluLFxyXG4udG9rZW4uaW5zZXJ0ZWQge1xyXG5cdGNvbG9yOiAjNjkwO1xyXG59XHJcblxyXG4udG9rZW4ub3BlcmF0b3IsXHJcbi50b2tlbi5lbnRpdHksXHJcbi50b2tlbi51cmwsXHJcbi5sYW5ndWFnZS1jc3MgLnRva2VuLnN0cmluZyxcclxuLnN0eWxlIC50b2tlbi5zdHJpbmcge1xyXG5cdGNvbG9yOiAjOWE2ZTNhO1xyXG5cdC8qIFRoaXMgYmFja2dyb3VuZCBjb2xvciB3YXMgaW50ZW5kZWQgYnkgdGhlIGF1dGhvciBvZiB0aGlzIHRoZW1lLiAqL1xyXG5cdGJhY2tncm91bmQ6IGhzbGEoMCwgMCUsIDEwMCUsIC41KTtcclxufVxyXG5cclxuLnRva2VuLmF0cnVsZSxcclxuLnRva2VuLmF0dHItdmFsdWUsXHJcbi50b2tlbi5rZXl3b3JkIHtcclxuXHRjb2xvcjogIzA3YTtcclxufVxyXG5cclxuLnRva2VuLmZ1bmN0aW9uLFxyXG4udG9rZW4uY2xhc3MtbmFtZSB7XHJcblx0Y29sb3I6ICNERDRBNjg7XHJcbn1cclxuXHJcbi50b2tlbi5yZWdleCxcclxuLnRva2VuLmltcG9ydGFudCxcclxuLnRva2VuLnZhcmlhYmxlIHtcclxuXHRjb2xvcjogI2U5MDtcclxufVxyXG5cclxuLnRva2VuLmltcG9ydGFudCxcclxuLnRva2VuLmJvbGQge1xyXG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xyXG59XHJcbi50b2tlbi5pdGFsaWMge1xyXG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcclxufVxyXG5cclxuLnRva2VuLmVudGl0eSB7XHJcblx0Y3Vyc29yOiBoZWxwO1xyXG59XHJcblxyXG59XHJcblxyXG5cclxuXHJcbi8qIFByaXNtSlMgMS4zMC4wXHJcbmh0dHBzOi8vcHJpc21qcy5jb20vZG93bmxvYWQjdGhlbWVzPXByaXNtLWRhcmsmbGFuZ3VhZ2VzPW1hcmt1cCtjc3MrY2xpa2UramF2YXNjcmlwdCtiYXNoK2dvK2phdmErcHl0aG9uK3R5cGVzY3JpcHQgKi9cclxuLyoqXHJcbiAqIHByaXNtLmpzIERhcmsgdGhlbWUgZm9yIEphdmFTY3JpcHQsIENTUyBhbmQgSFRNTFxyXG4gKiBCYXNlZCBvbiB0aGUgc2xpZGVzIG9mIHRoZSB0YWxrIOKAnC9SZWcoZXhwKXsyfWxhaW5lZC/igJ1cclxuICogQGF1dGhvciBMZWEgVmVyb3VcclxuICovXHJcblxyXG5odG1sOm5vdCgubGlnaHQpIHtcclxuXHJcbmNvZGVbY2xhc3MqPVwibGFuZ3VhZ2UtXCJdLFxyXG5wcmVbY2xhc3MqPVwibGFuZ3VhZ2UtXCJdIHtcclxuXHRjb2xvcjogd2hpdGU7XHJcblx0YmFja2dyb3VuZDogbm9uZTtcclxuXHR0ZXh0LXNoYWRvdzogMCAtLjFlbSAuMmVtIGJsYWNrO1xyXG5cdGZvbnQtZmFtaWx5OiBDb25zb2xhcywgTW9uYWNvLCAnQW5kYWxlIE1vbm8nLCAnVWJ1bnR1IE1vbm8nLCBtb25vc3BhY2U7XHJcblx0Zm9udC1zaXplOiAxZW07XHJcblx0dGV4dC1hbGlnbjogbGVmdDtcclxuXHR3aGl0ZS1zcGFjZTogcHJlO1xyXG5cdHdvcmQtc3BhY2luZzogbm9ybWFsO1xyXG5cdHdvcmQtYnJlYWs6IG5vcm1hbDtcclxuXHR3b3JkLXdyYXA6IG5vcm1hbDtcclxuXHRsaW5lLWhlaWdodDogMS41O1xyXG5cclxuXHR0YWItc2l6ZTogNDtcclxuXHJcblx0LXdlYmtpdC1oeXBoZW5zOiBub25lO1xyXG5cdC1tb3otaHlwaGVuczogbm9uZTtcclxuXHQtbXMtaHlwaGVuczogbm9uZTtcclxuXHRoeXBoZW5zOiBub25lO1xyXG59XHJcblxyXG5AbWVkaWEgcHJpbnQge1xyXG5cdGNvZGVbY2xhc3MqPVwibGFuZ3VhZ2UtXCJdLFxyXG5cdHByZVtjbGFzcyo9XCJsYW5ndWFnZS1cIl0ge1xyXG5cdFx0dGV4dC1zaGFkb3c6IG5vbmU7XHJcblx0fVxyXG59XHJcblxyXG4vKiBDb2RlIGJsb2NrcyAqL1xyXG5wcmVbY2xhc3MqPVwibGFuZ3VhZ2UtXCJdIHtcclxuXHRwYWRkaW5nOiAxZW07XHJcblx0bWFyZ2luOiAuNWVtIDA7XHJcblx0b3ZlcmZsb3c6IGF1dG87XHJcbn1cclxuXHJcbi8qIElubGluZSBjb2RlICovXHJcbjpub3QocHJlKSA+IGNvZGVbY2xhc3MqPVwibGFuZ3VhZ2UtXCJdIHtcclxuXHRwYWRkaW5nOiAuMTVlbSAuMmVtIC4wNWVtO1xyXG5cdGJvcmRlci1yYWRpdXM6IC4zZW07XHJcblx0Ym9yZGVyOiAuMTNlbSBzb2xpZCBoc2woMzAsIDIwJSwgNDAlKTtcclxuXHRib3gtc2hhZG93OiAxcHggMXB4IC4zZW0gLS4xZW0gYmxhY2sgaW5zZXQ7XHJcblx0d2hpdGUtc3BhY2U6IG5vcm1hbDtcclxufVxyXG5cclxuLnRva2VuLmNvbW1lbnQsXHJcbi50b2tlbi5wcm9sb2csXHJcbi50b2tlbi5kb2N0eXBlLFxyXG4udG9rZW4uY2RhdGEge1xyXG5cdGNvbG9yOiBoc2woMzAsIDIwJSwgNTAlKTtcclxufVxyXG5cclxuLnRva2VuLnB1bmN0dWF0aW9uIHtcclxuXHRvcGFjaXR5OiAuNztcclxufVxyXG5cclxuLnRva2VuLm5hbWVzcGFjZSB7XHJcblx0b3BhY2l0eTogLjc7XHJcbn1cclxuXHJcbi50b2tlbi5wcm9wZXJ0eSxcclxuLnRva2VuLnRhZyxcclxuLnRva2VuLmJvb2xlYW4sXHJcbi50b2tlbi5udW1iZXIsXHJcbi50b2tlbi5jb25zdGFudCxcclxuLnRva2VuLnN5bWJvbCB7XHJcblx0Y29sb3I6IGhzbCgzNTAsIDQwJSwgNzAlKTtcclxufVxyXG5cclxuLnRva2VuLnNlbGVjdG9yLFxyXG4udG9rZW4uYXR0ci1uYW1lLFxyXG4udG9rZW4uc3RyaW5nLFxyXG4udG9rZW4uY2hhcixcclxuLnRva2VuLmJ1aWx0aW4sXHJcbi50b2tlbi5pbnNlcnRlZCB7XHJcblx0Y29sb3I6IGhzbCg3NSwgNzAlLCA2MCUpO1xyXG59XHJcblxyXG4udG9rZW4ub3BlcmF0b3IsXHJcbi50b2tlbi5lbnRpdHksXHJcbi50b2tlbi51cmwsXHJcbi5sYW5ndWFnZS1jc3MgLnRva2VuLnN0cmluZyxcclxuLnN0eWxlIC50b2tlbi5zdHJpbmcsXHJcbi50b2tlbi52YXJpYWJsZSB7XHJcblx0Y29sb3I6IGhzbCg0MCwgOTAlLCA2MCUpO1xyXG59XHJcblxyXG4udG9rZW4uYXRydWxlLFxyXG4udG9rZW4uYXR0ci12YWx1ZSxcclxuLnRva2VuLmtleXdvcmQge1xyXG5cdGNvbG9yOiBoc2woMzUwLCA0MCUsIDcwJSk7XHJcbn1cclxuXHJcbi50b2tlbi5yZWdleCxcclxuLnRva2VuLmltcG9ydGFudCB7XHJcblx0Y29sb3I6ICNlOTA7XHJcbn1cclxuXHJcbi50b2tlbi5pbXBvcnRhbnQsXHJcbi50b2tlbi5ib2xkIHtcclxuXHRmb250LXdlaWdodDogYm9sZDtcclxufVxyXG4udG9rZW4uaXRhbGljIHtcclxuXHRmb250LXN0eWxlOiBpdGFsaWM7XHJcbn1cclxuXHJcbi50b2tlbi5lbnRpdHkge1xyXG5cdGN1cnNvcjogaGVscDtcclxufVxyXG5cclxuLnRva2VuLmRlbGV0ZWQge1xyXG5cdGNvbG9yOiByZWQ7XHJcbn1cclxuXHJcbn0iLCIvKiDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZBcclxuICAgcGFydGlhbCDigJQgI3ByZXNlbnRhdGlvblxyXG7ilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZAgKi9cclxuXHJcbiNwcmVzZW50YXRpb24ge1xyXG4gIHBhZGRpbmc6IDgwcHggMDtcclxuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCB0cmFuc3BhcmVudCAwJSwgcmdiYSgxMCwxOCwzMiwuNCkgMTAwJSk7XHJcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAuMzVzO1xyXG59XHJcbmh0bWwubGlnaHQgI3ByZXNlbnRhdGlvbiB7XHJcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgdHJhbnNwYXJlbnQgMCUsIHJnYmEoMjM4LDI0MiwyNDksLjkpIDEwMCUpO1xyXG59XHJcblxyXG4ucHJlcy1oZWFkZXIgeyBtYXJnaW4tYm90dG9tOiA1NnB4OyB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cclxuLnByZXMtaGVhZGVyIC5zZWN0aW9uLXN1YnttYXJnaW46IGF1dG87fVxyXG4ucHJlcy1ncmlkIHtcclxuICBkaXNwbGF5OiBncmlkO1xyXG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDEuMjVmcjtcclxuICBnYXA6IDY0cHg7XHJcbiAgYWxpZ24taXRlbXM6IHN0YXJ0O1xyXG59XHJcblxyXG4ucHJlcy1pbmZvIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgZ2FwOiAyMHB4O1xyXG59XHJcblxyXG4ucHJlcy1wcm9tbyB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBnYXA6IDE2cHg7XHJcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcbiAgcGFkZGluZzogMjBweDtcclxuICBiYWNrZ3JvdW5kOiByZ2JhKDAsMjEyLDE4MCwuMDQpO1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwyMTIsMTgwLC4xNik7XHJcbiAgYm9yZGVyLXJhZGl1czogMTRweDtcclxuICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgLjNzO1xyXG59XHJcbi5wcmVzLXByb21vOmhvdmVyIHsgYm9yZGVyLWNvbG9yOiByZ2JhKDAsMjEyLDE4MCwuMyk7IH1cclxuLnByZXMtcHJvbW8taWNvbiB7IGZvbnQtc2l6ZTogMjRweDsgZmxleC1zaHJpbms6IDA7IG1hcmdpbi10b3A6IDJweDsgfVxyXG4ucHJlcy1wcm9tby10aXRsZSB7IGZvbnQtc2l6ZTogMTRweDsgZm9udC13ZWlnaHQ6IDcwMDsgbWFyZ2luLWJvdHRvbTogNnB4OyBjb2xvcjogdmFyKC0tdGVhbCk7IH1cclxuLnByZXMtcHJvbW8tdGV4dCB7IGZvbnQtc2l6ZTogMTNweDsgY29sb3I6IHZhcigtLXRleHQtbXV0ZWQpOyBsaW5lLWhlaWdodDogMS42OyB9XHJcblxyXG5AbWVkaWEgKG1heC13aWR0aDogOTAwcHgpIHtcclxuICAjcHJlc2VudGF0aW9uIHsgcGFkZGluZzogNjBweCAwOyB9XHJcbiAgLnByZXMtZ3JpZCB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOyBnYXA6IDQwcHg7IH1cclxuICAucHJlcy1oZWFkZXIgeyBtYXJnaW4tYm90dG9tOiA0MHB4OyB9XHJcbn1cclxuIl19 */
