@charset "UTF-8";@font-face{font-family:ABeeZee;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/abeezee/abeezee-regular-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}@font-face{font-family:ABeeZee;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/abeezee/abeezee-regular-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}@font-face{font-family:ABeeZee;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/abeezee/abeezee-italic-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}@font-face{font-family:ABeeZee;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/abeezee/abeezee-italic-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}@font-face{font-family:Nunito;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/nunito/nunito-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}@font-face{font-family:Nunito;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/nunito/nunito-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}@font-face{font-family:Nunito;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/nunito/nunito-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}@font-face{font-family:Nunito;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/nunito/nunito-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}@font-face{font-family:Nunito;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/nunito/nunito-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}@font-face{font-family:Nunito;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/nunito/nunito-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}@font-face{font-family:Nunito;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/nunito/nunito-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}@font-face{font-family:Nunito;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/nunito/nunito-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{--brand-primary:#F67160;--brand-secondary:#F0C374;--brand-accent-dark:#EA580C;--brand-accent-light:#FF8F61;--brand-highlight:#FAD8D6;--brand-primary-rgb:246,113,96;--brand-accent-rgb:255,143,97;--brand-header-rgb:239,123,82;--brand-focus-rgb:249,115,99;--brand-focus-alt-rgb:250,120,97;--brand-primary-faded:rgba(var(--brand-primary-rgb), 0.4);--brand-accent-bg:rgba(var(--brand-accent-rgb), 0.1);--brand-accent-bg-subtle:rgba(var(--brand-accent-rgb), 0.08);--brand-accent-bg-faint:rgba(var(--brand-accent-rgb), 0.06);--brand-accent-bg-hover:rgba(var(--brand-accent-rgb), 0.18);--brand-accent-border:rgba(var(--brand-accent-rgb), 0.15);--text-dark:#111827;--text-primary:#1F2937;--text-secondary:#374151;--text-muted:#6B7280;--text-border-gray:#929292;--text-white:#ffffff;--text-white-muted:rgba(255, 255, 255, 0.85);--bg-white:#ffffff;--bg-cream:#FBF6F3;--bg-panel-cream:#FCF4EF;--bg-panel-cream-alt:#FCF6F2;--bg-hover-cream:#F8EAE2;--bg-gray-light:#F3F4F6;--bg-gray-medium:#E5E7EB;--bg-gray-muted:#6B7280;--bg-error-light:lightyellow;--bg-hover-faint:rgba(0, 0, 0, 0.03);--bg-hover-light:rgba(0, 0, 0, 0.06);--border-soft:#E5E7EB;--border-side:#EAD9D1;--border-subtle:rgba(0, 0, 0, 0.05);--border-light-pink:#FAD9D4;--status-success:#28a745;--status-success-dark:#218838;--status-success-validation:#26b050;--status-error:#dc3545;--status-error-dark:#c82333;--status-error-validation:#e50000;--status-warning-red:#EF4444;--status-warning-orange:#f5a623;--status-cooldown-complete:#43a047;--link-default:#006bb7;--btn-primary-bg:#1b6ec2;--btn-primary-border:#1861ac;--btn-focus:var(--focus-ring-brand);--shadow-xs:rgba(0, 0, 0, 0.03);--shadow-sm:rgba(0, 0, 0, 0.05);--shadow-md:rgba(0, 0, 0, 0.1);--shadow-lg:rgba(0, 0, 0, 0.12);--shadow-xl:rgba(0, 0, 0, 0.18);--shadow-2xl:rgba(0, 0, 0, 0.2);--shadow-3xl:rgba(0, 0, 0, 0.35);--shadow-dark:rgba(0, 0, 0, 0.5);--focus-ring-brand:rgba(var(--brand-focus-rgb), 0.25);--focus-ring-brand-alt:rgba(var(--brand-focus-alt-rgb), 0.25);--focus-ring-blue:rgba(77, 144, 254, 0.5);--focus-ring-teal:rgba(0, 128, 128, 0.15);--focus-ring-dark:rgba(33, 37, 41, 0.2);--focus-ring-white:rgba(255, 255, 255, 0.2);--bs-focus-ring-color:var(--focus-ring-brand);--overlay-dark:rgba(0, 0, 0, 0.5);--overlay-darker:rgba(0, 0, 0, 0.7);--overlay-backdrop:rgba(0, 0, 0, 0.6);--overlay-light:rgba(255, 255, 255, 0.2);--overlay-light-strong:rgba(255, 255, 255, 0.25);--overlay-light-md:rgba(255, 255, 255, 0.3);--overlay-light-lg:rgba(255, 255, 255, 0.4);--group-coral:#E8927C;--group-gray:#6B7280;--group-teal:#5EBBAB;--group-green:#6ABF69;--group-brown:#A67C52;--group-pink:#DB7093;--group-purple:#9B59B6;--group-blue:#5B9BD5;--group-navy:#1B3A57;--group-yellow:#F4D03F;--group-red:#E74C3C;--glow-brand-xs:rgba(var(--brand-primary-rgb), 0.15);--glow-brand-sm:rgba(var(--brand-header-rgb), 0.2);--glow-brand-md:rgba(var(--brand-header-rgb), 0.3);--glow-brand-lg:rgba(var(--brand-primary-rgb), 0.35);--skeleton-base:#F0F0F0;--skeleton-highlight:#E0E0E0;--ratho-header-gradient-yellow:#F7A832;--ratho-header-gradient-orange:#EF7B52;--ratho-header-gradient-coral:#E8837C;--gradient-start:var(--brand-primary);--gradient-end:var(--brand-accent-light);--gradient-nav-start:#F16B5A;--gradient-nav-end:#FF9A6C;--cream:var(--bg-cream);--page-pad:clamp(0.75rem, 2.5vw, 3rem);--page-max:clamp(1600px, 100vw - 4rem, 2400px);--content-top-gap:1rem;--sidebar-width:16rem;--sidebar-content-gap:clamp(3rem, 4vw, 5rem);--content-surface-height:clamp(420px, 55dvh, 640px);--flyout-width:600px;--flyout-handle-width:32px;--flyout-handle-height:80px;--flyout-radius:14px;--flyout-speed:0.3s;--flyout-bg:var(--bg-cream);--flyout-margin:30px;--header-height:5rem;--ratho-input-height:44px;--ratho-input-height-mobile:48px;--ratho-input-radius:.75rem;--ratho-input-padding-x:.75rem;--ratho-input-border-color:var(--brand-accent-light, #ff8f61);--ratho-input-border-color-hover:var(--brand-accent-dark, #e67a4a);--ratho-input-focus-shadow:0 0 0 0.2rem rgba(var(--brand-accent-rgb), 0.25);--ratho-input-min-width:220px;--z-header:1030;--z-dropdown-menu:1045;--z-offcanvas:1055;--surface-primary:var(--bg-cream);--surface-elevated:var(--bg-white);--surface-secondary:var(--bg-panel-cream);--surface-hover:var(--bg-hover-cream);--text-on-surface:var(--text-dark);--text-on-brand:var(--text-white)}[data-theme=dark]{--bg-cream:#1a1a2e;--bg-white:#16213e;--bg-panel-cream:#1a1a2e;--bg-panel-cream-alt:#1e2a45;--bg-hover-cream:#2a2a4a;--bg-gray-light:#1e2a45;--bg-gray-medium:#334155;--bg-error-light:#3b2e00;--bg-hover-faint:rgba(255, 255, 255, 0.03);--bg-hover-light:rgba(255, 255, 255, 0.06);--text-dark:#f1f5f9;--text-primary:#e2e8f0;--text-secondary:#cbd5e1;--text-muted:#94a3b8;--text-border-gray:#64748b;--border-soft:#334155;--border-side:#334155;--border-subtle:rgba(255, 255, 255, 0.08);--border-light-pink:#4a2a3a;--shadow-xs:rgba(0, 0, 0, 0.2);--shadow-sm:rgba(0, 0, 0, 0.3);--shadow-md:rgba(0, 0, 0, 0.4);--shadow-lg:rgba(0, 0, 0, 0.45);--shadow-xl:rgba(0, 0, 0, 0.5);--shadow-2xl:rgba(0, 0, 0, 0.55);--shadow-3xl:rgba(0, 0, 0, 0.6);--shadow-dark:rgba(0, 0, 0, 0.7);--skeleton-base:#2a2a4a;--skeleton-highlight:#334155;--link-default:#60a5fa;--btn-primary-bg:#2563eb;--btn-primary-border:#1d4ed8;--brand-highlight:#3a2a3a;--focus-ring-brand:rgba(var(--brand-focus-rgb), 0.5);--focus-ring-brand-alt:rgba(var(--brand-focus-alt-rgb), 0.5);--focus-ring-blue:rgba(77, 144, 254, 0.6);--focus-ring-dark:rgba(255, 255, 255, 0.3)}@media (prefers-color-scheme:dark){[data-theme=auto]{--bg-cream:#1a1a2e;--bg-white:#16213e;--bg-panel-cream:#1a1a2e;--bg-panel-cream-alt:#1e2a45;--bg-hover-cream:#2a2a4a;--bg-gray-light:#1e2a45;--bg-gray-medium:#334155;--bg-error-light:#3b2e00;--bg-hover-faint:rgba(255, 255, 255, 0.03);--bg-hover-light:rgba(255, 255, 255, 0.06);--text-dark:#f1f5f9;--text-primary:#e2e8f0;--text-secondary:#cbd5e1;--text-muted:#94a3b8;--text-border-gray:#64748b;--border-soft:#334155;--border-side:#334155;--border-subtle:rgba(255, 255, 255, 0.08);--border-light-pink:#4a2a3a;--shadow-xs:rgba(0, 0, 0, 0.2);--shadow-sm:rgba(0, 0, 0, 0.3);--shadow-md:rgba(0, 0, 0, 0.4);--shadow-lg:rgba(0, 0, 0, 0.45);--shadow-xl:rgba(0, 0, 0, 0.5);--shadow-2xl:rgba(0, 0, 0, 0.55);--shadow-3xl:rgba(0, 0, 0, 0.6);--shadow-dark:rgba(0, 0, 0, 0.7);--skeleton-base:#2a2a4a;--skeleton-highlight:#334155;--link-default:#60a5fa;--btn-primary-bg:#2563eb;--btn-primary-border:#1d4ed8;--brand-highlight:#3a2a3a;--focus-ring-brand:rgba(var(--brand-focus-rgb), 0.5);--focus-ring-brand-alt:rgba(var(--brand-focus-alt-rgb), 0.5);--focus-ring-blue:rgba(77, 144, 254, 0.6);--focus-ring-dark:rgba(255, 255, 255, 0.3)}}body,html{height:100%;width:100%;margin:0;font-family:var(--font-family-base)}html{overflow-x:hidden}body{min-height:100vh;background-color:var(--bg-cream);box-sizing:border-box}.page-container{width:100%;max-width:var(--page-max);margin-left:auto;margin-right:auto;padding-left:var(--page-pad);padding-right:var(--page-pad);box-sizing:border-box}.side-width{width:var(--sidebar-width);flex-shrink:0}.mt-content{margin-top:var(--content-top-gap)}.content{padding-top:1.1rem}.bg-brand-gradient{background-image:linear-gradient(to right,var(--gradient-start),var(--gradient-end))}@media (max-width:575.98px){:root{--sidebar-width:100%;--sidebar-content-gap:0;--content-top-gap:0.75rem;--flyout-width:100%;--flyout-margin:10px}}@media (min-width:576px) and (max-width:767.98px){:root{--content-top-gap:0.875rem;--sidebar-width:100%;--sidebar-content-gap:0}}@media (min-width:768px) and (max-width:1199.98px){:root{--sidebar-width:14rem;--sidebar-content-gap:0}}.btn-link,a{color:var(--link-default)}.pe-force{cursor:pointer}button:disabled,button[disabled]{cursor:not-allowed;pointer-events:auto}.btn-primary{color:var(--text-white);background-color:var(--btn-primary-bg);border-color:var(--btn-primary-border)}.btn-link.nav-link:focus,.btn:active:focus,.btn:focus,.form-check-input:focus,.form-control:focus,.form-select:focus{box-shadow:0 0 0 .1rem var(--bg-white),0 0 0 .25rem var(--btn-focus);border-color:var(--brand-primary)}h1:focus{outline:0}.valid.modified:not([type=checkbox]){outline:1px solid var(--status-success-validation)}.invalid{outline:1px solid var(--status-error-validation)}.validation-message{color:var(--status-error-validation)}.darker-border-checkbox.form-check-input{border-color:var(--text-border-gray)}.form-check-input:checked,.form-check-input:indeterminate{background-color:var(--brand-accent-light,#ff8f61);border-color:var(--brand-accent-light,#ff8f61)}.form-floating>.form-control-plaintext::placeholder,.form-floating>.form-control::placeholder{color:var(--bs-secondary-color);text-align:end}.form-floating>.form-control-plaintext:focus::placeholder,.form-floating>.form-control:focus::placeholder{text-align:start}.blazor-error-boundary{background:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTYiIGhlaWdodD0iNDkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIG92ZXJmbG93PSJoaWRkZW4iPjxkZWZzPjxjbGlwUGF0aCBpZD0iY2xpcDAiPjxyZWN0IHg9IjIzNSIgeT0iNTEiIHdpZHRoPSI1NiIgaGVpZ2h0PSI0OSIvPjwvY2xpcFBhdGg+PC9kZWZzPjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMCkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMzUgLTUxKSI+PHBhdGggZD0iTTI2My41MDYgNTFDMjY0LjcxNyA1MSAyNjUuODEzIDUxLjQ4MzcgMjY2LjYwNiA1Mi4yNjU4TDI2Ny4wNTIgNTIuNzk4NyAyNjcuNTM5IDUzLjYyODMgMjkwLjE4NSA5Mi4xODMxIDI5MC41NDUgOTIuNzk1IDI5MC42NTYgOTIuOTk2QzI5MC44NzcgOTMuNTEzIDI5MSA5NC4wODE1IDI5MSA5NC42NzgyIDI5MSA5Ny4wNjUxIDI4OS4wMzggOTkgMjg2LjYxNyA5OUwyNDAuMzgzIDk5QzIzNy45NjMgOTkgMjM2IDk3LjA2NTEgMjM2IDk0LjY3ODIgMjM2IDk0LjM3OTkgMjM2LjAzMSA5NC4wODg2IDIzNi4wODkgOTMuODA3MkwyMzYuMzM4IDkzLjAxNjIgMjM2Ljg1OCA5Mi4xMzE0IDI1OS40NzMgNTMuNjI5NCAyNTkuOTYxIDUyLjc5ODUgMjYwLjQwNyA1Mi4yNjU4QzI2MS4yIDUxLjQ4MzcgMjYyLjI5NiA1MSAyNjMuNTA2IDUxWk0yNjMuNTg2IDY2LjAxODNDMjYwLjczNyA2Ni4wMTgzIDI1OS4zMTMgNjcuMTI0NSAyNTkuMzEzIDY5LjMzNyAyNTkuMzEzIDY5LjYxMDIgMjU5LjMzMiA2OS44NjA4IDI1OS4zNzEgNzAuMDg4N0wyNjEuNzk1IDg0LjAxNjEgMjY1LjM4IDg0LjAxNjEgMjY3LjgyMSA2OS43NDc1QzI2Ny44NiA2OS43MzA5IDI2Ny44NzkgNjkuNTg3NyAyNjcuODc5IDY5LjMxNzkgMjY3Ljg3OSA2Ny4xMTgyIDI2Ni40NDggNjYuMDE4MyAyNjMuNTg2IDY2LjAxODNaTTI2My41NzYgODYuMDU0N0MyNjEuMDQ5IDg2LjA1NDcgMjU5Ljc4NiA4Ny4zMDA1IDI1OS43ODYgODkuNzkyMSAyNTkuNzg2IDkyLjI4MzcgMjYxLjA0OSA5My41Mjk1IDI2My41NzYgOTMuNTI5NSAyNjYuMTE2IDkzLjUyOTUgMjY3LjM4NyA5Mi4yODM3IDI2Ny4zODcgODkuNzkyMSAyNjcuMzg3IDg3LjMwMDUgMjY2LjExNiA4Ni4wNTQ3IDI2My41NzYgODYuMDU0N1oiIGZpbGw9IiNGRkU1MDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvZz48L3N2Zz4=) no-repeat 1rem/1.8rem,#b32121;padding:1rem 1rem 1rem 3.7rem;color:#fff}.blazor-error-boundary::after{content:"An error has occurred."}:root{--font-family-base:Nunito,sans-serif;--font-family-student:ABeeZee,sans-serif;--font-family-mono:Consolas,Courier New,monospace;--fs-3xs:0.625rem;--fs-2xs:0.6875rem;--fs-xs:0.75rem;--fs-sm:0.875rem;--fs-base:1rem;--fs-md:1.125rem;--fs-lg:1.25rem;--fs-xl:1.5rem;--fs-2xl:2rem;--fs-3xl:3rem;--fs-4xl:4rem;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--lh-tight:1.2;--lh-normal:1.5;--lh-loose:1.7}.ratio picture{display:block}.content-soft-bg{background-color:var(--bg-panel-cream-alt);border-radius:.75rem;padding:1rem}.border-soft{border:1px solid var(--border-side)}.text-gradient-end{color:var(--gradient-end)}@media (max-width:991.98px){*{scrollbar-width:none;-ms-overflow-style:none}::-webkit-scrollbar{display:none}}.bg-brand-gradient{background-image:linear-gradient(to right,var(--gradient-start),var(--gradient-end))!important}.gradient-border{padding:3px;background-image:linear-gradient(to right,var(--gradient-start),var(--gradient-end));border-radius:8px}.gradient-border-sm{padding:2px;background-image:linear-gradient(to right,var(--gradient-start),var(--gradient-end));border-radius:4px}.back-button-arrow,.ratho-title-bar-icon,.text-brand-gradient{background:linear-gradient(135deg,var(--gradient-start),var(--gradient-end));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.back-button-position{left:.75rem}.min-w-0{min-width:0!important}@media (min-width:768px){.w-md-auto{width:auto!important}}.btn-icon-square{width:2.5rem;height:2.5rem;padding:0;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.library-add-btn{display:inline-flex;align-items:center;justify-content:center;padding:.5rem 1rem;font-size:1rem;font-weight:600;color:var(--text-white);background-image:linear-gradient(to right,var(--gradient-start),var(--gradient-end));border:none;border-radius:.625rem;cursor:pointer;text-decoration:none;box-shadow:0 3px 8px var(--glow-brand-md);transition:all .2s ease}.library-add-btn i{margin-right:.75rem;font-size:1rem}.library-add-btn:hover:not(:disabled){box-shadow:0 4px 12px var(--glow-brand-lg);transform:translateY(-2px)}.library-add-btn:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 6px var(--glow-brand-md)}.library-add-btn:focus,.library-add-btn:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.library-add-btn:disabled{opacity:.6;cursor:not-allowed}@media (prefers-reduced-motion:reduce){*,::after,::before{animation-duration:0s!important;animation-iteration-count:1!important;transition-duration:0s!important;scroll-behavior:auto!important}}.page{min-height:100dvh;background-color:var(--bg-cream);padding-bottom:.75rem;position:relative;z-index:1;display:flex;flex-direction:column;overflow-x:hidden}.group-select-page-wrapper~.page{background-color:transparent}.standard-layout-bg{background-color:var(--bg-cream)}.group-select-page-wrapper~.standard-layout-bg{background-color:transparent}.layout-gap{gap:var(--sidebar-content-gap)}.page>.page-container{flex:0 0 auto}@media (min-width:1200px){.layout-gap>.side-width{position:sticky;top:calc(var(--header-height) + 1rem);align-self:flex-start}}.tab-main{max-width:100%;min-width:0;padding-bottom:.75rem;display:flex;flex-direction:column}.tab-main>.ratho-card{min-height:var(--content-surface-height);margin-bottom:0;margin-top:3.5rem}.tab-main .ratho-tab-view{display:flex;flex-direction:column}.tab-main .ratho-tab-view .nav-link.active{box-shadow:0 .125rem .25rem var(--shadow-xs)}.tab-main .ratho-tab-view .ratho-tab-content{min-height:9.375rem;overflow:visible;box-shadow:0 .125rem .25rem var(--shadow-xs)}.tab-main .ratho-tab-view .ratho-tab-content::before{box-shadow:none}@media (min-width:1200px){.tab-main>.ratho-card{min-height:0;flex-grow:1}.tab-main .ratho-tab-view{flex-grow:1}.tab-main .ratho-tab-view .ratho-tab-content{min-height:0;flex-grow:1}}.mobile-sidebar-offcanvas{background-color:var(--bg-cream);width:var(--sidebar-width);max-width:85vw;z-index:var(--z-offcanvas)}.mobile-sidebar-offcanvas .offcanvas-header{padding:1rem;justify-content:flex-end;border-bottom:1px solid var(--border-soft)}.mobile-sidebar-offcanvas .offcanvas-body{overflow-y:auto}.mobile-sidebar-offcanvas .portal-sidebar{width:100%}#blazor-error-ui{color-scheme:light only;background:var(--bg-error-light);bottom:0;box-shadow:0 -1px 2px var(--shadow-2xl);display:none;left:0;padding:.6rem 1.25rem .7rem 1.25rem;position:fixed;width:100%;z-index:1000}#blazor-error-ui .dismiss{cursor:pointer;position:absolute;right:.75rem;top:.5rem}#blazor-error-ui .reload{color:inherit;text-decoration:underline}.portal-header{height:var(--header-height);overflow:visible;position:relative;z-index:var(--z-header)}.mobile-sidebar-toggle{width:2.5rem;height:2.5rem;background-color:var(--bg-white);border:none;border-radius:1rem;box-shadow:0 2px 6px var(--shadow-lg);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:box-shadow .15s ease}.mobile-sidebar-toggle:hover{box-shadow:0 4px 10px var(--shadow-xl)}.mobile-sidebar-toggle i{font-size:1.25rem;color:var(--gradient-end)}.portal-header-svg{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1}.portal-header-content{position:relative;z-index:2;height:100%;padding-bottom:1rem}.portal-header-content>div:first-child{transform:rotate(.3deg);transform-origin:center center}.portal-header-content>div:last-child{transform:rotate(-.3deg);transform-origin:center center}.portal-header-logo-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);padding-bottom:1rem}@media (max-width:575.98px){.mobile-sidebar-toggle{width:2.25rem;height:2.25rem;border-radius:.75rem}.mobile-sidebar-toggle i{font-size:1.125rem}}.portal-sidebar{width:var(--sidebar-width)}@media (max-width:1199.98px){.portal-sidebar{width:100%;margin-bottom:1rem}}.portal-sidebar .ratho-sidebar-nav-btn:first-of-type{margin-top:.5rem}.portal-sidebar .group-libraries{margin-top:.75rem}.header-dropdown,.header-dropdown-btn{--dropdown-btn-size:2.5rem;--dropdown-radius:1rem;--dropdown-transition:0.18s ease}.header-dropdown{--dropdown-min-width:280px;position:relative;display:inline-block;z-index:var(--z-dropdown-menu)}.header-dropdown-btn{width:var(--dropdown-btn-size);height:var(--dropdown-btn-size);background-color:var(--bg-white);border:none;border-radius:var(--dropdown-radius);box-shadow:0 2px 6px var(--shadow-lg);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:box-shadow .15s ease;text-decoration:none;color:inherit}.header-dropdown-btn:hover{box-shadow:0 4px 10px var(--shadow-xl)}.header-dropdown-btn:focus{outline:0}.header-dropdown-btn:focus-visible{outline:2px solid var(--focus-ring-brand);outline-offset:2px}.header-dropdown-btn i{font-size:1.25rem;color:var(--gradient-end)}.header-dropdown-menu{position:absolute;top:calc(100% + .25rem);min-width:var(--dropdown-min-width);background:var(--bg-white);border-radius:var(--dropdown-radius);box-shadow:0 18px 45px var(--shadow-xl);border:1px solid var(--border-side);padding:1rem;z-index:var(--z-dropdown-menu);opacity:0;transform:scale(.92);transition:opacity var(--dropdown-transition),transform var(--dropdown-transition);pointer-events:none}.header-dropdown-menu.show{opacity:1;transform:scale(1);pointer-events:auto}.header-dropdown-menu .dropdown-divider,.header-dropdown-menu hr{height:0;margin:.5rem 0;border:0;border-top:1px solid var(--border-side)}@media (max-width:767.98px){.header-dropdown{--dropdown-min-width:260px}.header-dropdown-menu{padding:.75rem}}@media (max-width:575.98px){.header-dropdown,.header-dropdown-btn{--dropdown-btn-size:2.25rem;--dropdown-radius:0.75rem}.header-dropdown{--dropdown-min-width:min(240px, calc(100vw - 2rem))}.header-dropdown-btn i{font-size:1.125rem}.header-dropdown-menu{padding:.625rem}}.dropdown-menu-item{display:flex;align-items:center;gap:.75rem;padding:.65rem .6rem;border-radius:.6rem;color:var(--text-primary);text-decoration:none;transition:background-color .15s ease;background:0 0;border:none;width:100%;text-align:left;font-size:inherit;font-family:inherit;cursor:pointer}.dropdown-menu-item:hover{background-color:var(--bg-panel-cream);color:var(--text-primary)}.dropdown-menu-item i{color:var(--brand-primary);font-size:1rem;width:1.25rem;text-align:center}.dropdown-menu-item-disabled{opacity:.5;cursor:not-allowed}.dropdown-menu-item-disabled:hover{background-color:transparent}.dropdown-menu-item-disabled i:last-child{color:var(--text-muted)}@media (max-width:575.98px){.dropdown-menu-item{padding:.75rem .625rem;min-height:44px;font-size:1rem}}.header-settings-dropdown .header-dropdown-menu{right:0;transform-origin:top right}.header-app-drawer{--dropdown-min-width:320px}.header-app-drawer .header-dropdown-menu{left:0;transform-origin:top left;padding:.75rem}.header-app-drawer-btn .custom-grid-icon{display:block;width:18px;height:18px;color:var(--gradient-end)}.header-app-drawer-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.125rem}.header-app-drawer-item{padding:.5rem .25rem .4rem;border-radius:.6rem;color:var(--text-primary);transition:background-color .15s ease}.header-app-drawer-item:hover{background-color:var(--bg-panel-cream);color:var(--text-primary)}.header-app-drawer-icon{width:56px;height:56px}.header-app-drawer-icon img{width:100%;height:100%;object-fit:contain}.header-app-drawer-icon i{font-size:2rem;color:var(--text-muted)}.header-app-drawer-name{font-size:.75rem;line-height:1.2;color:var(--text-secondary)}@media (max-width:575.98px){.header-app-drawer{--dropdown-min-width:min(280px, calc(100vw - 2rem))}.header-app-drawer .header-dropdown-menu{left:-.5rem;padding:.5rem}.header-app-drawer-item{padding:.375rem .125rem}.header-app-drawer-icon{width:44px;height:44px}.header-app-drawer-icon i{font-size:1.5rem}}.student-profile{display:flex;flex-direction:column;align-items:center;text-align:center;padding:1rem 0;margin-bottom:1rem;width:100%}.student-profile-avatar{position:relative;width:min(85%,220px);height:auto;aspect-ratio:1;border-radius:50%;padding:6px;background-image:linear-gradient(to right,var(--gradient-start),var(--gradient-end));display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .2s ease;margin-bottom:.75rem;box-shadow:0 4px 12px var(--shadow-sm)}.student-profile-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%;background-color:var(--bg-white);pointer-events:none}.student-profile-avatar .student-profile-avatar-overlay{position:absolute;inset:6px;border-radius:50%;background-color:var(--overlay-dark);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s ease;pointer-events:none}.student-profile-avatar .student-profile-avatar-overlay i{color:var(--text-white);font-size:1.25rem}.student-profile-avatar:hover{transform:scale(1.05)}.student-profile-avatar:focus .student-profile-avatar-overlay,.student-profile-avatar:hover .student-profile-avatar-overlay{opacity:1}.student-profile-name{display:flex;flex-direction:column;align-items:center;gap:.125rem}.student-profile-name .student-firstname{font-size:1.25rem;font-weight:700;color:var(--brand-primary);line-height:1.2}.student-profile-name .student-lastname{font-size:1rem;font-weight:500;color:var(--text-dark);line-height:1.2}.student-profile-name .student-env-name{font-size:.875rem;font-weight:400;color:var(--text-muted);line-height:1.2;margin-top:.25rem}.student-profile-name .student-groupname{font-size:1rem;font-weight:400;color:var(--text-muted);line-height:1.2;margin-top:.25rem}.profile-card{background-color:var(--bg-white);border-radius:.75rem;box-shadow:0 1px 2px var(--shadow-sm);overflow:hidden;margin-bottom:1rem}.profile-card-header{background:linear-gradient(to right,var(--gradient-start),var(--gradient-end));padding:1rem}.profile-avatar{width:3.25rem;height:3.25rem;border-radius:50%;background-color:var(--bg-white);display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0;position:relative;cursor:pointer}.profile-avatar img{width:100%;height:100%;object-fit:cover}.profile-avatar .profile-avatar-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background-color:var(--overlay-dark);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s ease}.profile-avatar .profile-avatar-overlay i{color:var(--text-white);font-size:.875rem}.profile-avatar:focus .profile-avatar-overlay,.profile-avatar:hover .profile-avatar-overlay{opacity:1}.profile-info{color:var(--text-white);flex:1;min-width:0}.profile-name{margin-bottom:0;font-weight:600;font-size:1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-env-logo{display:block;width:auto;height:4.5rem;max-width:100%;margin:0 auto .5rem;object-fit:contain;object-position:center}.profile-env-row{position:relative;padding-top:.625rem;margin-top:.25rem}.profile-env-row::before{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);width:2.5rem;height:1px;background-color:var(--bg-gray-medium)}.profile-env-name{flex:0 1 auto;min-width:0;font-size:.875rem;color:var(--text-muted)}.profile-switch-btn{flex:0 0 1.75rem;width:1.75rem;height:1.75rem;background-color:var(--bg-gray-light);border-radius:.5rem;border:none;display:inline-flex;align-items:center;justify-content:center;transition:background-color .15s ease}.profile-switch-btn:hover{background-color:var(--bg-gray-medium)}.profile-switch-btn i{font-size:.875rem;color:var(--text-muted)}.profile-substitute-indicator{color:var(--brand-primary)}@media (max-width:991.98px){.student-profile{padding:.75rem 0;margin-bottom:.75rem}.student-profile-avatar{width:min(60%,160px);margin-bottom:.5rem}.student-profile-name .student-firstname{font-size:1.125rem}.student-profile-name .student-groupname,.student-profile-name .student-lastname{font-size:1rem}.profile-env-logo{height:3.5rem}}@media (max-width:575.98px){.student-profile-avatar{width:min(50%,140px)}.student-profile-name .student-firstname{font-size:1rem}.student-profile-name .student-groupname,.student-profile-name .student-lastname{font-size:.875rem}}.group-libraries{position:relative;z-index:var(--z-dropdown-menu);margin-top:.25rem;margin-bottom:.75rem}.group-libraries>.group-libraries-toggle .group-icon{font-size:1.5rem;width:1.875rem}.group-libraries .group-icon{color:var(--brand-accent-light)}.group-libraries-toggle{border-bottom:1px solid var(--bs-gray-300,#dee2e6);padding:1rem .5rem;color:var(--text-secondary);border-radius:0;transition:background-color .2s ease}.group-libraries-toggle:hover{background-color:transparent}.group-libraries-toggle:focus{outline:2px solid var(--focus-ring-brand-alt);outline-offset:2px}.group-libraries-toggle>span{gap:1rem}.group-libraries-toggle>span:first-child span{font-weight:500;font-size:.875rem}.group-libraries-toggle .group-libraries-count{font-size:.875rem;font-weight:500;color:var(--text-secondary)}.group-libraries-toggle .group-libraries-toggle-icon{display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;background-color:var(--bg-white);border-radius:50%;font-size:.625rem;color:var(--text-muted);transition:transform .2s ease}.group-libraries-toggle[aria-expanded=false] .group-libraries-toggle-icon{transform:rotate(180deg)}.group-libraries-list{margin-top:.75rem;padding:0 .25rem}.group-libraries-item{background-color:transparent;color:var(--text-secondary);border:1px solid var(--bs-gray-400,#adb5bd);border-radius:.5rem;padding:.625rem .875rem;margin-bottom:.5rem;margin-left:.25rem;margin-right:.25rem;transition:background-color .15s ease,border-color .15s ease}.group-libraries-item:hover{background-color:var(--bg-hover-cream);border-color:var(--bs-gray-500,#6c757d)}.group-libraries-item .group-libraries-link{display:flex;align-items:center;text-decoration:none;color:var(--text-secondary);flex-grow:1;font-size:1rem}.group-libraries-item .group-libraries-link .group-icon{color:var(--brand-accent-light);font-size:.875rem}.group-libraries-item .group-libraries-link:hover{color:var(--text-secondary)}.group-libraries-item .group-libraries-link.active{color:var(--text-white);font-weight:600}.group-libraries-item:has(.group-libraries-link.active){background-image:linear-gradient(to right,var(--gradient-nav-start),var(--gradient-nav-end));background-color:var(--brand-primary);border-color:transparent;box-shadow:0 4px 12px var(--glow-brand-lg)}.group-libraries-item:has(.group-libraries-link.active):hover{background-image:linear-gradient(to right,var(--gradient-nav-start),var(--gradient-nav-end));background-color:var(--brand-primary)}.group-libraries-item:has(.group-libraries-link.active) .group-libraries-link,.group-libraries-item:has(.group-libraries-link.active) .group-libraries-link:hover{color:var(--text-white)}.group-libraries-item:has(.group-libraries-link.active) .group-icon{color:var(--text-white)}.group-libraries-item:has(.group-libraries-link.active) i.fa-chevron-right{color:var(--text-white)}.group-libraries-item i.fa-chevron-right{color:var(--text-muted);font-size:.75rem}.group-libraries-view-all{display:flex;align-items:center;justify-content:center;width:100%;padding:.375rem .75rem .5rem .75rem;color:var(--brand-accent-dark);font-size:.875rem;font-weight:600;text-decoration:none;background:0 0;border:none;border-bottom:1px solid var(--bs-gray-300,#dee2e6);border-radius:0;cursor:pointer;transition:color .15s ease,background-color .15s ease}.group-libraries-view-all:hover{background-color:var(--bg-hover-cream);color:var(--text-dark);text-decoration:none}.group-libraries-view-all:focus{outline:2px solid var(--focus-ring-brand-alt);outline-offset:2px}.ratho-tab-scroll-container{overflow-x:auto;overflow-y:hidden;min-width:0;scrollbar-width:none;-ms-overflow-style:none}.ratho-tab-scroll-container::-webkit-scrollbar{display:none}.ratho-tab-scroll-container>.nav-tabs{flex-wrap:nowrap;width:max-content}.ratho-reorder-ghost{opacity:.4}.ratho-reorder-chosen,.ratho-reorder-chosen .group-libraries-link,.ratho-reorder-chosen .nav-link{cursor:grabbing}.ratho-tab-scroll-btn{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;color:var(--bs-secondary-color);background:0 0;border:none;border-radius:50%;transition:color .15s ease,background-color .15s ease}.ratho-tab-scroll-btn:hover{color:var(--bs-body-color);background-color:var(--bg-hover-light)}.ratho-tab-scroll-btn:focus,.ratho-tab-scroll-btn:focus-visible{outline:0;box-shadow:none}.ratho-tab-scroll-btn i{font-size:.75rem}.user-tile-card{display:flex;flex-direction:column;align-items:center;text-align:center;cursor:pointer;transition:transform .3s ease}.user-tile-card:hover{transform:translateY(-4px)}.user-tile-card:hover .user-tile-avatar{box-shadow:0 8px 24px var(--shadow-lg)}.user-tile-card:hover .user-tile-avatar img{transform:scale(1.05)}.user-tile-card:hover .user-tile-name{color:var(--brand-primary)}.user-tile-card:active{transform:translateY(-2px)}.user-tile-avatar{width:100px;height:100px;border-radius:50%;padding:3px;background-image:linear-gradient(to right,var(--gradient-start),var(--gradient-end));display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .2s ease;border:2px solid transparent;transition:box-shadow .3s ease;box-shadow:0 4px 12px var(--shadow-sm)}.user-tile-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%;background-color:var(--bg-white)}.user-tile-avatar:hover{transform:scale(1.05)}.user-tile-avatar img{pointer-events:none;transition:transform .3s ease}.user-tile-name{margin-top:.5rem;font-weight:600;font-size:1rem;line-height:1.2;color:var(--text-dark);transition:color .3s ease;word-break:break-word;max-width:100%}@media (max-width:575.98px){.user-tile-avatar{width:70px;height:70px}.user-tile-name{font-size:.75rem;margin-top:.375rem}}@media (min-width:576px) and (max-width:767.98px){.user-tile-avatar{width:85px;height:85px}.user-tile-name{font-size:.875rem}}.user-tile-card.compact{width:4rem}.user-tile-card.compact .user-tile-avatar{width:3rem;height:3rem}.user-tile-card.compact .user-tile-name{font-size:.75rem;margin-top:.25rem}.user-tile-dismiss{top:-.25rem;right:-.25rem;width:1.25rem;height:1.25rem;background-color:var(--bg-white);color:var(--brand-primary);font-size:.625rem;box-shadow:0 1px 3px var(--shadow-sm);transition:background-color .15s ease,transform .15s ease;z-index:1}.user-tile-dismiss:hover{background-color:var(--brand-primary);color:var(--bg-white);transform:scale(1.1)}.user-tile-dismiss:focus-visible{outline:2px solid var(--focus-ring-brand-alt);outline-offset:2px}@keyframes skeleton-shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}.skeleton-avatar{background:linear-gradient(90deg,var(--skeleton-base) 25%,var(--skeleton-highlight) 50%,var(--skeleton-base) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s ease-in-out infinite;border-radius:50%;width:var(--avatar-size,120px);height:var(--avatar-size,120px)}@media (max-width:575.98px){.skeleton-avatar{width:80px;height:80px}}@media (min-width:576px) and (max-width:767.98px){.skeleton-avatar{width:100px;height:100px}}.skeleton-image{background:linear-gradient(90deg,var(--skeleton-base) 25%,var(--skeleton-highlight) 50%,var(--skeleton-base) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s ease-in-out infinite;aspect-ratio:4/3;border-radius:var(--bs-border-radius);width:100%}.skeleton-line{background:linear-gradient(90deg,var(--skeleton-base) 25%,var(--skeleton-highlight) 50%,var(--skeleton-base) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s ease-in-out infinite;height:.75rem;border-radius:.25rem}.skeleton-text-lines{gap:.35rem}.skeleton-tag{background:linear-gradient(90deg,var(--skeleton-base) 25%,var(--skeleton-highlight) 50%,var(--skeleton-base) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s ease-in-out infinite;height:1.25rem;border-radius:1rem}.skeleton-tag--lg{width:3rem}.skeleton-tag--md{width:2.5rem}.skeleton-tag--sm{width:2rem}.skeleton-widget-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:6px;padding:1rem 0}.skeleton-widget{background:linear-gradient(90deg,var(--skeleton-base) 25%,var(--skeleton-highlight) 50%,var(--skeleton-base) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s ease-in-out infinite;aspect-ratio:1;border-radius:var(--bs-border-radius)}.skeleton-login-tile{background:linear-gradient(90deg,var(--skeleton-base) 25%,var(--skeleton-highlight) 50%,var(--skeleton-base) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s ease-in-out infinite;aspect-ratio:1;border-radius:.75rem;width:100%}.skeleton-group-tile{background:linear-gradient(90deg,var(--skeleton-base) 25%,var(--skeleton-highlight) 50%,var(--skeleton-base) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s ease-in-out infinite;aspect-ratio:1/1;border-radius:10px;width:100%}.portal-loading-owl{animation:owl-bounce 2s ease-in-out infinite;filter:drop-shadow(0 4px 8px rgba(0, 0, 0, .1))}@keyframes owl-bounce{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-12px) rotate(3deg)}}.skeleton-sidebar-nav-btn{background:linear-gradient(90deg,var(--skeleton-base) 25%,var(--skeleton-highlight) 50%,var(--skeleton-base) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s ease-in-out infinite;width:100%;margin-bottom:.75rem;padding:2.8rem 1.5rem;border-radius:.875rem}.skeleton-sidebar-nav-btn:first-of-type{margin-top:.5rem}@media (max-width:991.98px){.skeleton-sidebar-nav-btn{padding:2rem 1.25rem}}@media (max-width:767.98px){.skeleton-sidebar-nav-btn{padding:1.5rem 1rem;margin-bottom:.5rem;border-radius:.75rem}}@media (max-width:575.98px){.skeleton-sidebar-nav-btn{padding:1.25rem .875rem}}.skeleton-tab-button{display:inline-flex;align-items:center;gap:.375rem;pointer-events:none;border-color:transparent!important}.skeleton-tab-button .skeleton-tab-icon{background:linear-gradient(90deg,var(--skeleton-base) 25%,var(--skeleton-highlight) 50%,var(--skeleton-base) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s ease-in-out infinite;width:1rem;height:1rem;border-radius:.25rem;flex-shrink:0}.skeleton-tab-button .skeleton-tab-label{background:linear-gradient(90deg,var(--skeleton-base) 25%,var(--skeleton-highlight) 50%,var(--skeleton-base) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s ease-in-out infinite;width:4rem;height:.75rem;border-radius:.25rem}.skeleton-tab-button.active{background-color:var(--bg-white,#fff)}.skeleton-list-item{display:flex;align-items:center;gap:.75rem;padding:.5rem 0;border-bottom:1px solid var(--border-subtle)}.skeleton-list-item:last-child{border-bottom:none}.skeleton-list-item .skeleton-icon{background:linear-gradient(90deg,var(--skeleton-base) 25%,var(--skeleton-highlight) 50%,var(--skeleton-base) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s ease-in-out infinite;border-radius:50%;flex-shrink:0}.skeleton-list-item .skeleton-icon.skeleton-list-icon{width:32px;height:32px}.skeleton-list-item .skeleton-line--secondary{opacity:.6}.alert:has(>.alert-icon){padding:0;display:flex;align-items:stretch;overflow:hidden}.alert:has(>.alert-icon)>.alert-icon{display:flex;align-items:center;justify-content:center;padding:.75rem 1rem;margin:0;background-color:rgba(0,0,0,.05);flex-shrink:0;--bs-gutter-x:0;--bs-gutter-y:0}.alert:has(>.alert-icon)>.alert-message{padding:.75rem 1rem;flex:1}.alert:has(>.alert-icon)>.btn-close{align-self:center;margin-right:.75rem;filter:none}.beta-banner-attention{animation:beta-banner-attention 1.6s ease-out .2s 1;will-change:transform,box-shadow}@media (prefers-reduced-motion:reduce){.beta-banner-attention{animation:none}}@keyframes beta-banner-attention{0%{transform:scale(.985);opacity:0;box-shadow:0 0 0 0 rgba(var(--bs-success-rgb,25,135,84),0)}35%{transform:scale(1.01);opacity:1;box-shadow:0 0 0 6px rgba(var(--bs-success-rgb,25,135,84),.18)}100%{transform:scale(1);opacity:1;box-shadow:0 0 0 0 rgba(var(--bs-success-rgb,25,135,84),0)}}.ratho-blazor-select{min-width:var(--ratho-input-min-width)}.ratho-blazor-select.multi-select .select-dropdown .search-container{display:none}.ratho-blazor-select.multi-select .options-container .option .option-label input[type=checkbox]{display:none}.ratho-blazor-select.multi-select .options-container .option.selected .option-label::after{content:"\f00c";font-family:"Font Awesome 7 Free","Font Awesome 6 Free",FontAwesome;font-weight:900;color:var(--brand-accent-light,#ff8f61);font-size:.875rem;margin-left:auto;flex-shrink:0;line-height:1}.ratho-blazor-select .select-button{height:var(--ratho-input-height);min-height:var(--ratho-input-height);border-color:var(--ratho-input-border-color);border-radius:var(--ratho-input-radius);font-weight:500;transition:border-color .2s ease,background-color .2s ease,box-shadow .2s ease}@media (max-width:575.98px){.ratho-blazor-select .select-button{height:var(--ratho-input-height-mobile);min-height:var(--ratho-input-height-mobile)}}.ratho-blazor-select .select-button:hover:not(.disabled){border-color:var(--ratho-input-border-color-hover);background-color:var(--bg-hover-cream,#fff9f5)}.ratho-blazor-select .select-button:focus,.ratho-blazor-select .select-button:focus-visible{border-color:var(--ratho-input-border-color);box-shadow:var(--ratho-input-focus-shadow)}.ratho-blazor-select .select-button .select-value .selected-count{color:var(--text-dark,#111827);font-weight:600}.ratho-blazor-select .select-button .select-value .select-placeholder-text{font-style:normal}.ratho-blazor-select .selected-pills .pill{background:linear-gradient(to right,var(--gradient-start,#ff8f61),var(--gradient-end,#f67160));color:var(--text-white,#fff);border-radius:1rem}.ratho-blazor-select .selected-pills .pill:hover{box-shadow:0 2px 8px rgba(var(--brand-accent-rgb),.35)}.ratho-blazor-select .select-dropdown{border-color:var(--brand-accent-light,#ff8f61);border-radius:var(--ratho-input-radius);box-shadow:0 4px 16px rgba(var(--brand-accent-rgb),.12);overflow:hidden;max-height:none}.ratho-blazor-select .select-dropdown .dropdown-header-actions{padding:.5rem .75rem;border-bottom:1px solid var(--bs-secondary-bg);background-color:var(--bs-tertiary-bg)}.ratho-blazor-select .select-dropdown .dropdown-header-actions .btn,.ratho-blazor-select .select-dropdown .quick-select-presets .btn{padding:.5rem .75rem;font-size:.875rem;border-radius:.5rem}.ratho-blazor-select .select-dropdown .btn-outline-primary{color:var(--brand-accent-dark,#e67a4a);border-color:var(--brand-accent-light,#ff8f61);background-color:transparent}.ratho-blazor-select .select-dropdown .btn-outline-primary.active,.ratho-blazor-select .select-dropdown .btn-outline-primary:active,.ratho-blazor-select .select-dropdown .btn-outline-primary:focus,.ratho-blazor-select .select-dropdown .btn-outline-primary:hover{color:var(--text-white,#fff);background-color:var(--brand-accent-light,#ff8f61);border-color:var(--brand-accent-light,#ff8f61);box-shadow:0 0 0 .2rem rgba(var(--brand-accent-rgb),.25)}.ratho-blazor-select .select-dropdown .btn-primary{color:var(--text-white,#fff);background-color:var(--brand-accent-light,#ff8f61);border-color:var(--brand-accent-light,#ff8f61)}.ratho-blazor-select .select-dropdown .btn-primary:active,.ratho-blazor-select .select-dropdown .btn-primary:focus,.ratho-blazor-select .select-dropdown .btn-primary:hover{background-color:var(--brand-accent-dark,#e67a4a);border-color:var(--brand-accent-dark,#e67a4a);box-shadow:0 0 0 .2rem rgba(var(--brand-accent-rgb),.25)}.ratho-blazor-select .select-dropdown .search-container .search-input:focus{border-color:var(--brand-accent-light,#ff8f61);box-shadow:0 0 0 .2rem rgba(var(--brand-accent-rgb),.15)}.ratho-blazor-select .select-dropdown .options-container{padding:.375rem;max-height:60vh;overflow-y:auto}.ratho-blazor-select .select-dropdown .options-container .option{border-radius:.5rem;border-bottom:0}.ratho-blazor-select .select-dropdown .options-container .option:not(:last-child){margin-bottom:2px}.ratho-blazor-select .select-dropdown .options-container .option:hover{transform:none}.ratho-blazor-select .select-dropdown .options-container .option:hover{background-color:var(--bg-hover-cream,#fff9f5)}.ratho-blazor-select .select-dropdown .options-container .option.selected{background-color:rgba(var(--brand-accent-rgb),.12);color:var(--brand-accent-dark,#e67a4a)}.ratho-blazor-select .select-dropdown .options-container .option.selected:hover{background-color:rgba(var(--brand-accent-rgb),.18)}.ratho-blazor-select .select-dropdown .options-container .option .option-content i.fa-check{color:var(--brand-accent-light,#ff8f61)}.ratho-blazor-select .select-dropdown .dropdown-footer .dropdown-footer-actions:not(:last-child){margin-bottom:.5rem}.flyout-footer{border-bottom-left-radius:calc(var(--flyout-radius,14px) - 2px)}#flyout-main{width:var(--flyout-width);margin:var(--flyout-margin) 0;height:auto;max-height:calc(100vh - var(--flyout-margin) * 2);border-top-left-radius:var(--flyout-radius);border-bottom-left-radius:var(--flyout-radius);border-top-right-radius:0;border-bottom-right-radius:0;visibility:visible;background-color:var(--flyout-bg);border-top:2px solid var(--ratho-header-gradient-orange);border-bottom:2px solid var(--ratho-header-gradient-orange);border-left:2px solid var(--ratho-header-gradient-orange);border-right:none;box-shadow:0 4px 24px var(--glow-brand-sm);transform:translateX(100%)}#flyout-main.show,#flyout-main.showing{transform:translateX(0)}#flyout-main.offcanvas{overflow:visible}#flyout-main .offcanvas-body>.fast-actions{margin-top:auto}#flyout-main .offcanvas-header{border-top-left-radius:12px}#flyout-main .offcanvas-header>.d-flex>i,#flyout-main .offcanvas-header>.d-flex>svg{font-size:1.25rem;line-height:1.5;background:linear-gradient(135deg,var(--ratho-header-gradient-yellow),var(--ratho-header-gradient-orange));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.offcanvas-backdrop{background-color:var(--overlay-backdrop)}.offcanvas-backdrop.show{opacity:1}@media (max-width:768px){:root{--flyout-width:95%;--flyout-margin:20px}}@media (max-width:575.98px){:root{--flyout-width:100%;--flyout-margin:10px}#flyout-main{border-radius:0;margin:0;max-height:100vh}#flyout-main.show,#flyout-main.showing{border-left:none}#flyout-main .offcanvas-header{border-top-left-radius:0}.flyout-footer{border-bottom-left-radius:0}#flyout-main.w-75{width:100%!important}.flyout-handle{--flyout-handle-width:24px;--flyout-handle-height:48px;border-top-left-radius:14px;border-bottom-left-radius:14px;font-size:.75rem}.flyout-handle.flyout-handle-open{display:none}.flyout-user-selector{padding:0 1rem}.user-selector-avatar{width:24px;height:24px}}.manuals-and-videos-flyout-content a{color:var(--bs-body-color)}.flyout-handle{position:absolute;left:calc(-1 * var(--flyout-handle-width));top:50%;transform:translateY(-50%);touch-action:none;width:var(--flyout-handle-width);height:var(--flyout-handle-height);display:grid;place-items:center;background:linear-gradient(to right,var(--gradient-start),var(--gradient-end));color:var(--text-white);border:0;outline:0;border-top-left-radius:20px;border-bottom-left-radius:20px;border-top-right-radius:0;border-bottom-right-radius:0;box-shadow:-2px 0 8px var(--glow-brand-md);cursor:pointer;z-index:1}body:has(.screenshot-viewer-overlay) .flyout-handle{display:none}.flyout-handle:hover{filter:brightness(.95)}.flyout-handle:focus{outline:0;box-shadow:-2px 0 8px var(--glow-brand-md)}.flyout-handle:focus-visible{outline:0;box-shadow:-2px 0 8px var(--glow-brand-md),0 0 0 .25rem var(--focus-ring-brand)}.flyout-chevron{transition:transform .3s ease}.flyout-handle-open .flyout-chevron{transform:rotate(180deg)}.action-list .action-row{cursor:pointer;transition:background-color .15s ease}.action-list .action-row:hover{background-color:var(--shadow-xs)}.action-list .action-row-disabled{cursor:not-allowed;opacity:.5}.action-list .action-row-disabled:hover{background-color:transparent}.action-list .action-row-disabled span{color:var(--text-muted)}.action-list .action-icon{width:28px;height:28px;border-radius:6px;background:linear-gradient(to right,var(--gradient-start),var(--gradient-end));flex-shrink:0}.action-list .action-icon i{font-size:.75rem;line-height:1}.action-list .action-icon-disabled{background:var(--text-muted)}.action-list .action-go{width:26px;height:26px;border-radius:50%;background:linear-gradient(to right,var(--gradient-start),var(--gradient-end));flex-shrink:0}.action-list .action-go-disabled{background:var(--text-muted);cursor:help}.action-list .action-row{border-bottom:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)}.action-list .action-row:last-child{border-bottom:none}.flyout-user-selector{padding:0 1.25rem}.user-selector-search{padding-left:2rem;border:1px solid var(--brand-accent-light);border-radius:.75rem}.user-selector-search:focus{border-color:var(--brand-accent-light);box-shadow:0 0 0 .2rem var(--focus-ring-brand)}.user-selector-search-icon{position:absolute;left:.625rem;top:50%;transform:translateY(-50%);color:var(--brand-accent-light);font-size:.875rem;pointer-events:none}.user-selector-list{background-color:var(--bg-white)}.user-selector-item{padding-left:.75rem;padding-right:.75rem;transition:background-color .15s ease;border-bottom:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)}.user-selector-item:hover{background-color:var(--bg-hover-cream)}.user-selector-item:last-child{border-bottom:none}.user-selector-avatar{width:28px;height:28px;object-fit:cover;flex-shrink:0}.flyout-tabs{background-color:var(--brand-accent-bg-faint);border:1px solid var(--brand-accent-border);border-radius:.625rem;padding:.25rem;gap:.25rem}.flyout-tabs .nav-item{flex:1 1 0}.flyout-tabs .nav-link{width:100%;color:var(--text-secondary);font-weight:600;background-color:transparent;border:0;border-radius:.5rem;padding:.4rem .75rem;transition:background-color 150ms ease,color 150ms ease,box-shadow 150ms ease}.flyout-tabs .nav-link:hover:not(.active){background-color:var(--brand-accent-bg-subtle);color:var(--brand-accent-dark)}.flyout-tabs .nav-link.active{background:linear-gradient(to right,var(--gradient-start),var(--gradient-end));color:var(--text-white);box-shadow:0 2px 6px var(--glow-brand-sm)}.flyout-tabs .nav-link:focus,.flyout-tabs .nav-link:focus-visible{outline:0;box-shadow:0 0 0 .2rem var(--focus-ring-brand)}.import-list{display:flex;flex-direction:column;gap:.375rem}.import-list .import-list-item{width:100%;border:1px solid var(--border-soft);border-radius:.625rem;padding:.5rem .75rem;background-color:var(--bg-white);color:var(--text-dark);text-align:left;cursor:pointer;transition:background-color 150ms ease,border-color 150ms ease,box-shadow 150ms ease}.import-list .import-list-item:hover:not(:disabled):not(.selected){background-color:var(--bg-hover-cream);border-color:var(--brand-accent-border)}.import-list .import-list-item:focus-visible{outline:0;box-shadow:0 0 0 .2rem var(--focus-ring-brand)}.import-list .import-list-item:disabled{cursor:not-allowed;opacity:.7}.import-list .import-list-item.selected{background:linear-gradient(to right,var(--gradient-start),var(--gradient-end));border-color:transparent;color:var(--text-white);box-shadow:0 2px 6px var(--glow-brand-sm)}.import-list .import-list-item.selected .text-muted{color:var(--text-white-muted)!important}.import-list .import-list-item.selected .import-list-item-indicator{color:var(--text-white)}.import-list .import-list-item .import-list-item-indicator{color:var(--brand-accent-light);font-size:1.25rem;line-height:1;display:inline-flex;align-items:center;justify-content:center}.import-list .import-list-item-body{flex:1 1 auto;min-width:0}.import-list .import-list-empty{text-align:center;color:var(--text-muted);padding:2rem 1rem}.flyout-search{position:relative}.flyout-search .flyout-search-icon{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:var(--brand-accent-light);font-size:.875rem;pointer-events:none;z-index:2}.flyout-search .form-control{padding-left:2.25rem}.flyout-content .ratho-icon-selector{display:grid;grid-template-columns:repeat(auto-fill,minmax(2.2rem,1fr));gap:.5rem}.flyout-content .ratho-icon-selector .ratho-icon-selector-btn{width:100%;height:auto;aspect-ratio:1;min-width:0}.flyout-content .ratho-icon-selector .ratho-icon-selector-btn i{font-size:1rem}.shortcut-form-header{gap:.75rem;margin-bottom:.75rem}.shortcut-form-fields{flex:1 1 200px;min-width:0;display:flex;flex-direction:column;justify-content:space-between}.shortcut-preview,.shortcut-preview-sm,.shortcut-preview-xs{container-type:inline-size;pointer-events:none;user-select:none;border-radius:.75rem;overflow:hidden;box-shadow:0 2px 8px var(--shadow-lg);flex-shrink:0}.shortcut-preview{width:180px;height:180px}.shortcut-preview-sm{width:140px;height:140px}.shortcut-preview-xs{width:56px;height:56px}.shortcut-preview-xs .appshortcut-category,.shortcut-preview-xs .appshortcut-tags,.shortcut-preview-xs .appshortcut-title{display:none}.color-selector .color-selector-btn{position:relative;width:32px;height:32px;border-radius:.375rem;border:2px solid transparent;cursor:pointer;transition:all 150ms ease;padding:0}.color-selector .color-selector-btn:hover{transform:scale(1.1);box-shadow:0 2px 8px var(--shadow-md)}.color-selector .color-selector-btn.selected{border-color:var(--bs-dark,#333);transform:scale(1.05)}.color-selector .color-selector-btn.selected-new{border-color:var(--gradient-start);transform:scale(1.05)}.color-selector .color-selector-btn .ratho-color-check-overlay{position:absolute;top:-4px;right:-4px;font-size:.5rem;width:14px;height:14px;border-radius:50%;background-color:var(--bs-dark,#333);color:#fff;display:flex;align-items:center;justify-content:center;z-index:1}.environment-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.environment-card{display:flex;align-items:center;gap:.75rem;padding:.75rem;background-color:var(--bg-white);border:1px solid var(--bs-border-color);border-radius:.75rem;text-align:left;cursor:pointer;transition:all .2s ease}.environment-card:hover{background-color:var(--bg-hover-cream);border-color:var(--gradient-start);transform:translateY(-2px);box-shadow:0 4px 12px var(--glow-brand-sm)}.environment-card:focus-visible{outline:2px solid var(--focus-ring-brand);outline-offset:2px}.environment-card.selected{background:linear-gradient(to right,var(--gradient-start),var(--gradient-end));border-color:transparent;color:var(--text-white);box-shadow:0 4px 12px var(--glow-brand-md)}.environment-card.selected .environment-card-icon{background:var(--overlay-light-strong)}.environment-card.selected .environment-card-icon i{color:var(--text-white)}.environment-card.selected .environment-card-name{color:var(--text-white)}.environment-card.selected .environment-card-subtitle{color:var(--text-white-muted)}.environment-card-icon{width:2.25rem;height:2.25rem;border-radius:.5rem;background:linear-gradient(135deg,var(--gradient-start),var(--gradient-end));display:flex;align-items:center;justify-content:center;flex-shrink:0}.environment-card-icon i{font-size:1rem;color:var(--text-white)}.environment-card-text{display:flex;flex-direction:column;min-width:0}.environment-card-name{font-size:.875rem;font-weight:600;color:var(--text-dark);line-height:1.3;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;min-width:0}.environment-card-subtitle{font-size:.75rem;font-weight:400;color:var(--text-muted);line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width:575.98px){.environment-grid{grid-template-columns:1fr;gap:.5rem}.environment-card{padding:.625rem}.environment-card-icon{width:2rem;height:2rem}.environment-card-icon i{font-size:.875rem}}.croppie-container{background-color:var(--bg-gray-light);border-radius:.5rem;padding:.75rem;min-height:260px}.croppie-container .croppie-container{padding:0}.croppie-container .cr-boundary{border-radius:.5rem}.croppie-container .cr-viewport{border:2px solid var(--gradient-start);box-shadow:0 0 0 9999px var(--overlay-dark)}.croppie-container .cr-slider-wrap{margin-top:1rem;width:100%}.croppie-container .cr-slider-wrap .cr-slider{width:100%}.cr-viewport.cr-vp-circle{border-radius:50%}.quickstart-welcome-video iframe{transform:scale(1.14);transform-origin:center center}.quickstart-video-frame{border:2px solid var(--brand-accent-light)}.reset-password-flyout .bulk-actions .btn-group .btn,.reset-password-flyout .password-type-toggle .btn-group .btn{flex:1}.reset-password-flyout .student-password-list{padding-right:.5rem}.reset-password-flyout .student-password-item{background:var(--bs-gray-100);border-radius:8px;padding:1rem;margin-bottom:1.5rem}.reset-password-flyout .student-password-item:last-child{margin-bottom:0}.student-header .student-avatar{width:40px;height:40px;object-fit:cover;border:2px solid var(--bs-gray-300)}.rup-password-input input[type=password]::-ms-reveal,.rup-password-input input[type=password]::-webkit-credentials-auto-fill-button{display:none}.portal-password .rup-password-photos{padding:.5rem;background:var(--bs-gray-200);border-radius:8px;gap:.25rem;align-items:flex-start;overflow-x:auto;overflow-y:visible}.portal-password .rup-password-photos .rup-password-photo{--tile-size:clamp(36px, 8vw, 48px);width:var(--tile-size);height:var(--tile-size);flex-shrink:0;flex-grow:0;border-radius:6px;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease;border:2px solid transparent;display:flex;align-items:center;justify-content:center;aspect-ratio:1;overflow:hidden}.portal-password .rup-password-photos .rup-password-photo img{width:100%;height:100%;object-fit:cover;display:block}.portal-password .rup-password-photos .rup-password-photo:hover{transform:scale(1.05);filter:brightness(.95)}.portal-password .rup-password-photos .rup-password-photo:focus{outline:0;box-shadow:0 0 0 3px var(--shadow-md)}.portal-password .rup-password-photos .rup-password-photo.selected{border-color:var(--text-dark);box-shadow:0 0 0 3px var(--focus-ring-dark)}.portal-password .rup-password-photos .rup-password-photo.selected:hover{transform:scale(1.02)}.portal-password .rup-toggle-btn{border:1px solid var(--gradient-end);color:var(--gradient-end)}.portal-password .rup-toggle-btn.active{background:linear-gradient(to right,var(--gradient-start),var(--gradient-end));color:var(--text-white);border-color:transparent}.password-type-toggle .btn-group .btn{position:relative;overflow:hidden}.password-type-toggle .btn-group .btn::before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:var(--overlay-light);opacity:0;transition:opacity .2s ease}.password-type-toggle .btn-group .btn:hover::before{opacity:1}.password-type-toggle .btn-group .btn:active::before{background:var(--shadow-md);opacity:1}@media (max-width:767.98px){.reset-password-flyout .student-password-item{padding:.75rem}.student-header .student-avatar{width:36px;height:36px}}@media (max-width:575.98px){.reset-password-flyout .student-password-list{padding-right:.25rem}.reset-password-flyout .student-password-item{padding:.625rem;border-radius:6px}.student-header .student-avatar{width:32px;height:32px}.password-requirements{font-size:.75rem}}.manage-pinned-groups-list .manage-pinned-groups-item{cursor:grab}.manage-pinned-groups-list .manage-pinned-groups-item:active{cursor:grabbing}.manage-pinned-groups-list .manage-pinned-groups-drag-handle{font-size:.875rem}.tab-expand-handle{position:absolute;top:max(50%,13rem);left:0;transform:translate(-100%,-50%);z-index:1030;width:var(--flyout-handle-width);height:var(--flyout-handle-height);display:grid;place-items:center;background:var(--bg-white);color:var(--text-muted);border:0;outline:0;border-top-left-radius:20px;border-bottom-left-radius:20px;border-top-right-radius:0;border-bottom-right-radius:0;box-shadow:-.125rem .125rem .25rem var(--shadow-xs);cursor:pointer}.tab-expand-handle:hover{filter:brightness(.95)}.tab-expand-handle:active,.tab-expand-handle:focus{outline:0;box-shadow:-.125rem .125rem .25rem var(--shadow-xs)}.tab-expand-handle:focus-visible{outline:0;box-shadow:-.125rem .125rem .25rem var(--shadow-xs),0 0 0 .25rem var(--focus-ring-brand)}.side-width{transition:width .25s ease,margin .25s ease,transform .25s ease,opacity .2s ease}.tab-expand-icon{color:inherit;font-size:1rem;transition:transform .25s ease}body.sidebar-collapsed .tab-expand-icon{transform:rotate(180deg)}body.sidebar-collapsed .side-width{width:0;margin-left:0;margin-right:0;transform:translateX(-1rem);opacity:0;overflow:hidden;pointer-events:none}body.sidebar-collapsed .layout-gap{gap:0}body.sidebar-collapsed main.flex-grow-1{margin-right:0}.student-login-card{display:flex;flex-direction:column}.student-hover-preview-bottom{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:.75rem;margin-top:.5rem;padding:.25rem .75rem;transition:all .3s ease}@media (max-width:768px){.student-hover-preview-bottom{flex-direction:column;margin-top:1rem;padding:.75rem}}.student-hover-avatar{width:60px;height:60px;border-radius:50%;box-shadow:0 8px 24px var(--shadow-md);transition:all .3s cubic-bezier(.34,1.56,.64,1);display:flex;align-items:center;justify-content:center;flex-shrink:0}.student-hover-avatar picture{width:80%;height:80%;display:flex;align-items:center;justify-content:center}.student-hover-avatar img{width:100%;height:100%;object-fit:contain;animation:popIn .3s cubic-bezier(.34,1.56,.64,1)}@media (max-width:768px){.student-hover-avatar{width:70px;height:70px;flex-shrink:0}}.student-hover-placeholder{width:100%;height:100%;border-radius:50%;background:var(--bg-cream);display:flex;align-items:center;justify-content:center;position:relative}.student-hover-placeholder::before{content:"?";font-size:3rem;font-weight:700;color:var(--brand-primary-faded);line-height:1}@media (max-width:768px){.student-hover-placeholder::before{font-size:3rem}}.student-hover-name{font-size:1.125rem;font-weight:600;color:var(--text-dark);max-width:200px;word-wrap:break-word;min-height:1.5rem;transition:all .3s ease}@media (max-width:768px){.student-hover-name{font-size:1rem;max-width:150px}}.student-preview-card{background:var(--bg-cream);border:none;border-radius:1.25rem;transition:transform .3s ease,box-shadow .3s ease;display:flex;flex-direction:column;--bs-secondary-color:var(--text-muted)}.student-preview-card .card-body{padding:1.5rem 1.25rem;display:flex;flex-direction:column;justify-content:center;flex:1}.student-preview-card h5{color:var(--text-dark);font-weight:600;min-height:2rem;display:flex;align-items:center;justify-content:center}.student-preview-card .text-muted{word-break:break-word;overflow-wrap:break-word;max-width:100%;padding:0 .5rem}@media (max-width:992px){.student-preview-card{margin-bottom:1rem}}.student-login-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:var(--bg-cream);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:9999;gap:1.5rem;animation:fadeIn .3s ease}.student-login-overlay .login-overlay-text{color:var(--text-dark);font-size:1.25rem;font-weight:600;text-align:center;max-width:400px;line-height:1.4}@media (max-width:768px){.student-login-overlay .login-overlay-text{font-size:1.125rem;padding:0 1rem}}@keyframes fadeIn{from{opacity:0}to{opacity:1}}.student-hover-preview-bottom .student-profile-avatar,.student-images-section .student-profile-avatar{width:100px;height:100px;border-radius:50%;padding:3px;background-image:linear-gradient(to right,var(--gradient-start),var(--gradient-end));display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .2s ease;transition:transform .4s cubic-bezier(.34,1.56,.64,1)}.student-hover-preview-bottom .student-profile-avatar img,.student-images-section .student-profile-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%;background-color:var(--bg-white)}.student-hover-preview-bottom .student-profile-avatar:hover,.student-images-section .student-profile-avatar:hover{transform:scale(1.05)}.student-hover-preview-bottom .student-profile-avatar img,.student-images-section .student-profile-avatar img{object-position:center;object-fit:contain;transition:transform .3s ease}.student-hover-preview-bottom .student-profile-avatar img.avatar-preview-active,.student-images-section .student-profile-avatar img.avatar-preview-active{animation:popIn .3s cubic-bezier(.34,1.56,.64,1)}.student-hover-preview-bottom .student-profile-avatar img.avatar-preview-selected,.student-images-section .student-profile-avatar img.avatar-preview-selected{transform:scale(1.05)}@keyframes popIn{0%{transform:scale(.8);opacity:0}50%{transform:scale(1.1)}100%{transform:scale(1);opacity:1}}.student-images-section .login-tile-grid{display:grid;grid-template-columns:repeat(8,1fr);grid-template-rows:repeat(4,1fr);gap:.75rem;justify-content:center;max-width:100%}@media (max-width:992px){.student-images-section .login-tile-grid{grid-template-columns:repeat(6,1fr);grid-template-rows:auto;gap:.75rem}}@media (max-width:768px){.student-images-section .login-tile-grid{grid-template-columns:repeat(4,1fr);gap:.75rem}}@media (max-width:575.98px){.student-images-section .login-tile-grid{grid-template-columns:repeat(3,1fr);gap:.75rem}}.student-images-section .login-tile-grid.shuffling .login-tile{transform:scale(0) rotate(180deg);opacity:0;transition:transform .35s cubic-bezier(.4,0,1,1),opacity .25s ease}.student-images-section .login-tile-grid.spreading .login-tile{animation:tile-spread-in .4s cubic-bezier(.34,1.56,.64,1) both}.student-images-section .login-tile-grid.spreading .login-tile:nth-child(1){animation-delay:15ms}.student-images-section .login-tile-grid.spreading .login-tile:nth-child(2){animation-delay:30ms}.student-images-section .login-tile-grid.spreading .login-tile:nth-child(3){animation-delay:45ms}.student-images-section .login-tile-grid.spreading .login-tile:nth-child(4){animation-delay:60ms}.student-images-section .login-tile-grid.spreading .login-tile:nth-child(5){animation-delay:75ms}.student-images-section .login-tile-grid.spreading .login-tile:nth-child(6){animation-delay:90ms}.student-images-section .login-tile-grid.spreading .login-tile:nth-child(7){animation-delay:105ms}.student-images-section .login-tile-grid.spreading .login-tile:nth-child(8){animation-delay:120ms}.student-images-section .login-tile-grid.spreading .login-tile:nth-child(9){animation-delay:135ms}.student-images-section .login-tile-grid.spreading .login-tile:nth-child(10){animation-delay:150ms}.student-images-section .login-tile-grid.spreading .login-tile:nth-child(11){animation-delay:165ms}.student-images-section .login-tile-grid.spreading .login-tile:nth-child(12){animation-delay:180ms}.student-images-section .login-tile-grid.spreading .login-tile:nth-child(13){animation-delay:195ms}.student-images-section .login-tile-grid.spreading .login-tile:nth-child(14){animation-delay:210ms}.student-images-section .login-tile-grid.spreading .login-tile:nth-child(15){animation-delay:225ms}.student-images-section .login-tile-grid.spreading .login-tile:nth-child(16){animation-delay:240ms}.student-images-section .login-tile-grid.spreading .login-tile:nth-child(17){animation-delay:255ms}.student-images-section .login-tile-grid.spreading .login-tile:nth-child(18){animation-delay:270ms}.student-images-section .login-tile-grid.spreading .login-tile:nth-child(19){animation-delay:285ms}.student-images-section .login-tile-grid.spreading .login-tile:nth-child(20){animation-delay:.3s}.student-images-section .login-tile-grid.spreading .login-tile:nth-child(21){animation-delay:315ms}.student-images-section .login-tile-grid.spreading .login-tile:nth-child(22){animation-delay:330ms}.student-images-section .login-tile-grid.spreading .login-tile:nth-child(23){animation-delay:345ms}.student-images-section .login-tile-grid.spreading .login-tile:nth-child(24){animation-delay:360ms}.student-images-section .login-tile-grid.spreading .login-tile:nth-child(25){animation-delay:375ms}.student-images-section .login-tile-grid.spreading .login-tile:nth-child(26){animation-delay:390ms}.student-images-section .login-tile-grid.spreading .login-tile:nth-child(27){animation-delay:405ms}.student-images-section .login-tile-grid.spreading .login-tile:nth-child(28){animation-delay:420ms}.student-images-section .login-tile-grid.spreading .login-tile:nth-child(29){animation-delay:435ms}.student-images-section .login-tile-grid.spreading .login-tile:nth-child(30){animation-delay:450ms}.student-images-section .login-tile-grid.spreading .login-tile:nth-child(31){animation-delay:465ms}.student-images-section .login-tile-grid.spreading .login-tile:nth-child(32){animation-delay:480ms}.student-images-section .login-tile{width:100%;aspect-ratio:1;border-radius:.75rem;overflow:hidden;cursor:pointer;transition:all .35s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px var(--shadow-md);position:relative;transform-style:preserve-3d;perspective:1000px}.student-images-section .login-tile::before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,var(--overlay-light) 0,transparent 60%);opacity:0;transition:opacity .35s ease;z-index:1;pointer-events:none;border-radius:.75rem}.student-images-section .login-tile::after{content:"";position:absolute;inset:-5px;border-radius:.75rem;background:radial-gradient(circle at center,var(--glow-brand-lg),transparent 70%);opacity:0;transition:opacity .35s ease;z-index:-1}.student-images-section .login-tile:hover{transform:translateY(-8px) rotateX(5deg) rotateY(5deg) scale(1.08);box-shadow:0 16px 40px var(--shadow-3xl);z-index:10}.student-images-section .login-tile:hover::before{opacity:1}.student-images-section .login-tile:hover::after{opacity:1}.student-images-section .login-tile:active{transform:translateY(-4px) rotateX(2deg) rotateY(2deg) scale(1.04);transition-duration:.1s;box-shadow:0 8px 24px var(--shadow-lg)}.student-images-section .login-tile:focus-visible{outline:3px solid var(--focus-ring-brand);outline-offset:3px}.student-images-section .login-tile.wrong{animation:tile-shake .4s ease;border:3px solid var(--bs-danger);box-shadow:0 0 16px rgba(220,53,69,.4)}.student-images-section .login-tile picture,.student-images-section .login-tile-img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}.login-tile:hover .student-images-section .login-tile picture,.login-tile:hover .student-images-section .login-tile-img{transform:scale(1.05)}.student-cooldown-zone{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px}@media (max-width:768px){.student-cooldown-zone{min-height:280px}}.student-cooldown-owl{width:100px;height:auto}@media (max-width:768px){.student-cooldown-owl{width:80px}}.student-cooldown-dot{width:14px;height:14px;border-radius:50%;transition:background-color .3s ease}.student-cooldown-dot.used{background-color:var(--bs-danger)}.student-cooldown-dot.available{background-color:var(--status-warning-orange)}.student-cooldown-progress{max-width:300px;width:100%;height:10px;border-radius:5px}.student-cooldown-progress .progress-bar{transition:width 1s linear,background-color .5s ease}.student-warning-pill{background-color:rgba(245,166,35,.15);color:#b47a00;border:1px solid rgba(245,166,35,.4);border-radius:2rem;padding:.35rem 1rem;font-size:.875rem;font-weight:600;animation:pill-fade-in .3s ease}@keyframes pill-fade-in{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes tile-shake{0%,100%{transform:translateX(0)}15%{transform:translateX(-6px) rotate(-2deg)}30%{transform:translateX(5px) rotate(1.5deg)}45%{transform:translateX(-4px) rotate(-1deg)}60%{transform:translateX(3px) rotate(.5deg)}75%{transform:translateX(-2px)}}@keyframes tile-spread-in{0%{transform:scale(0) rotate(-90deg);opacity:0}60%{transform:scale(1.08) rotate(2deg);opacity:1}100%{transform:scale(1) rotate(0);opacity:1}}html.avatar-flipped .student-profile-avatar{transform:rotateY(180deg);transition:transform .6s cubic-bezier(.34,1.56,.64,1)}.student-preview-card .student-profile-avatar{cursor:pointer;transition:transform .6s cubic-bezier(.34,1.56,.64,1)}.group-select-page-wrapper{position:fixed;top:0;left:0;width:100%;height:100%;background-color:var(--bg-cream);z-index:0;pointer-events:none;transform:translateX(3%)}.group-select-content-wrapper{position:relative;z-index:1;max-width:1280px;width:100%;margin:0 auto;padding:0 1rem}@media (min-width:768px){.group-select-content-wrapper{padding:0 2rem}}.group-select-card{--card-height:580px;border-radius:20px;overflow:hidden;backdrop-filter:blur(10px);background-color:rgba(255,255,255,.98);padding:1.5rem 2rem;min-height:var(--card-height)}@media (max-width:768px){.group-select-card{--card-height:450px;padding:1rem 1.5rem}}@media (min-width:992px){.group-select-card{--card-height:600px}}@media (min-width:1200px){.group-select-card{--card-height:620px}}@keyframes float-owls{0%,100%{transform:translateY(0) rotate(var(--rotation,0deg))}50%{transform:translateY(-8px) rotate(var(--rotation,0deg))}}.group-select-background-owl{position:fixed;width:100px;height:100px;background-size:70%;background-repeat:no-repeat;background-position:center;opacity:.05;pointer-events:none;z-index:0;animation:float-owls 5s ease-in-out infinite}.group-select-background-owl.owl-1{background-image:url(/images/login/owl-book.webp);top:0;left:0;--rotation:-8deg;animation-delay:0s}.group-select-background-owl.owl-2{background-image:url(/images/login/owl-music.webp);top:0;left:12.5%;--rotation:5deg;animation-delay:.3s}.group-select-background-owl.owl-3{background-image:url(/images/login/owl-pencil.webp);top:0;left:25%;--rotation:-12deg;animation-delay:.6s}.group-select-background-owl.owl-4{background-image:url(/images/login/owl-soccer.webp);top:0;left:37.5%;--rotation:10deg;animation-delay:.9s}.group-select-background-owl.owl-5{background-image:url(/images/login/owl-bicycle.webp);top:0;left:50%;--rotation:-5deg;animation-delay:1.2s}.group-select-background-owl.owl-6{background-image:url(/images/login/owl-play.webp);top:0;left:62.5%;--rotation:8deg;animation-delay:1.5s}.group-select-background-owl.owl-7{background-image:url(/images/login/owl-lunch.webp);top:0;left:75%;--rotation:-10deg;animation-delay:1.8s}.group-select-background-owl.owl-8{background-image:url(/images/login/owl-laptop.webp);top:0;left:87.5%;--rotation:6deg;animation-delay:2.1s}.group-select-background-owl.owl-9{background-image:url(/images/login/owl-camp.webp);top:16.66%;left:0;--rotation:7deg;animation-delay:.4s}.group-select-background-owl.owl-10{background-image:url(/images/login/owl-garden.webp);top:16.66%;left:12.5%;--rotation:-9deg;animation-delay:.7s}.group-select-background-owl.owl-11{background-image:url(/images/login/owl-rope.webp);top:16.66%;left:25%;--rotation:11deg;animation-delay:1s}.group-select-background-owl.owl-12{background-image:url(/images/login/owl-sail.webp);top:16.66%;left:37.5%;--rotation:-6deg;animation-delay:1.3s}.group-select-background-owl.owl-13{background-image:url(/images/login/owl-skate.webp);top:16.66%;left:50%;--rotation:9deg;animation-delay:1.6s}.group-select-background-owl.owl-14{background-image:url(/images/login/owl-snowman.webp);top:16.66%;left:62.5%;--rotation:-7deg;animation-delay:1.9s}.group-select-background-owl.owl-15{background-image:url(/images/login/owl-walk.webp);top:16.66%;left:75%;--rotation:8deg;animation-delay:2.2s}.group-select-background-owl.owl-16{background-image:url(/images/login/owl-book.webp);top:16.66%;left:87.5%;--rotation:-11deg;animation-delay:2.5s}.group-select-background-owl.owl-17{background-image:url(/images/login/owl-music.webp);top:33.33%;left:0;--rotation:10deg;animation-delay:.5s}.group-select-background-owl.owl-18{background-image:url(/images/login/owl-pencil.webp);top:33.33%;left:12.5%;--rotation:-8deg;animation-delay:.8s}.group-select-background-owl.owl-19{background-image:url(/images/login/owl-soccer.webp);top:33.33%;left:25%;--rotation:6deg;animation-delay:1.1s}.group-select-background-owl.owl-20{background-image:url(/images/login/owl-bicycle.webp);top:33.33%;left:37.5%;--rotation:-12deg;animation-delay:1.4s}.group-select-background-owl.owl-21{background-image:url(/images/login/owl-play.webp);top:33.33%;left:50%;--rotation:9deg;animation-delay:1.7s}.group-select-background-owl.owl-22{background-image:url(/images/login/owl-lunch.webp);top:33.33%;left:62.5%;--rotation:-7deg;animation-delay:2s}.group-select-background-owl.owl-23{background-image:url(/images/login/owl-laptop.webp);top:33.33%;left:75%;--rotation:11deg;animation-delay:2.3s}.group-select-background-owl.owl-24{background-image:url(/images/login/owl-camp.webp);top:33.33%;left:87.5%;--rotation:-9deg;animation-delay:2.6s}.group-select-background-owl.owl-25{background-image:url(/images/login/owl-garden.webp);top:50%;left:0;--rotation:-10deg;animation-delay:.6s}.group-select-background-owl.owl-26{background-image:url(/images/login/owl-rope.webp);top:50%;left:12.5%;--rotation:8deg;animation-delay:.9s}.group-select-background-owl.owl-27{background-image:url(/images/login/owl-sail.webp);top:50%;left:25%;--rotation:-6deg;animation-delay:1.2s}.group-select-background-owl.owl-28{background-image:url(/images/login/owl-skate.webp);top:50%;left:37.5%;--rotation:12deg;animation-delay:1.5s}.group-select-background-owl.owl-29{background-image:url(/images/login/owl-snowman.webp);top:50%;left:50%;--rotation:-8deg;animation-delay:1.8s}.group-select-background-owl.owl-30{background-image:url(/images/login/owl-walk.webp);top:50%;left:62.5%;--rotation:7deg;animation-delay:2.1s}.group-select-background-owl.owl-31{background-image:url(/images/login/owl-book.webp);top:50%;left:75%;--rotation:-11deg;animation-delay:2.4s}.group-select-background-owl.owl-32{background-image:url(/images/login/owl-music.webp);top:50%;left:87.5%;--rotation:9deg;animation-delay:2.7s}.group-select-background-owl.owl-33{background-image:url(/images/login/owl-pencil.webp);top:66.66%;left:0;--rotation:6deg;animation-delay:.7s}.group-select-background-owl.owl-34{background-image:url(/images/login/owl-soccer.webp);top:66.66%;left:12.5%;--rotation:-9deg;animation-delay:1s}.group-select-background-owl.owl-35{background-image:url(/images/login/owl-bicycle.webp);top:66.66%;left:25%;--rotation:11deg;animation-delay:1.3s}.group-select-background-owl.owl-36{background-image:url(/images/login/owl-play.webp);top:66.66%;left:37.5%;--rotation:-7deg;animation-delay:1.6s}.group-select-background-owl.owl-37{background-image:url(/images/login/owl-lunch.webp);top:66.66%;left:50%;--rotation:10deg;animation-delay:1.9s}.group-select-background-owl.owl-38{background-image:url(/images/login/owl-laptop.webp);top:66.66%;left:62.5%;--rotation:-12deg;animation-delay:2.2s}.group-select-background-owl.owl-39{background-image:url(/images/login/owl-camp.webp);top:66.66%;left:75%;--rotation:8deg;animation-delay:2.5s}.group-select-background-owl.owl-40{background-image:url(/images/login/owl-garden.webp);top:66.66%;left:87.5%;--rotation:-10deg;animation-delay:2.8s}.group-select-background-owl.owl-41{background-image:url(/images/login/owl-rope.webp);top:83.33%;left:0;--rotation:-8deg;animation-delay:.8s}.group-select-background-owl.owl-42{background-image:url(/images/login/owl-sail.webp);top:83.33%;left:12.5%;--rotation:9deg;animation-delay:1.1s}.group-select-background-owl.owl-43{background-image:url(/images/login/owl-skate.webp);top:83.33%;left:25%;--rotation:-11deg;animation-delay:1.4s}.group-select-background-owl.owl-44{background-image:url(/images/login/owl-snowman.webp);top:83.33%;left:37.5%;--rotation:7deg;animation-delay:1.7s}.group-select-background-owl.owl-45{background-image:url(/images/login/owl-walk.webp);top:83.33%;left:50%;--rotation:-9deg;animation-delay:2s}.group-select-background-owl.owl-46{background-image:url(/images/login/owl-book.webp);top:83.33%;left:62.5%;--rotation:12deg;animation-delay:2.3s}.group-select-background-owl.owl-47{background-image:url(/images/login/owl-music.webp);top:83.33%;left:75%;--rotation:-6deg;animation-delay:2.6s}.group-select-background-owl.owl-48{background-image:url(/images/login/owl-pencil.webp);top:83.33%;left:87.5%;--rotation:10deg;animation-delay:2.9s}@media (max-width:768px){.group-select-background-owl{width:80px;height:80px;opacity:.04}}@media (min-width:1400px){.group-select-background-owl{width:120px;height:120px;opacity:.06}}.group-select-grid-container{position:relative;z-index:1;max-width:100%;margin:0 auto;padding:0 1rem}@media (min-width:1280px){.group-select-grid-container{max-width:1280px}}.group-tiles-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;width:100%}@media (min-width:576px){.group-tiles-grid{grid-template-columns:repeat(4,1fr)}}@media (min-width:768px){.group-tiles-grid{grid-template-columns:repeat(6,1fr);gap:1rem}}@media (min-width:992px){.group-tiles-grid{grid-template-columns:repeat(8,1fr)}}@media (min-width:1200px){.group-tiles-grid{grid-template-columns:repeat(8,1fr)}}.group-tile{aspect-ratio:1/1;width:100%;transition:all .35s cubic-bezier(.4,0,.2,1);color:#fff;box-shadow:0 4px 12px var(--shadow-md);position:relative;overflow:hidden;border-radius:10px}.group-tile::before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,rgba(255,255,255,.15) 0,rgba(255,255,255,0) 60%);opacity:0;transition:opacity .35s ease}.group-tile::after{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.2) 0,transparent 70%);opacity:0;transition:opacity .35s ease}.group-tile:hover{transform:translateY(-6px) scale(1.02);box-shadow:0 12px 32px var(--shadow-3xl)}.group-tile:hover::after,.group-tile:hover::before{opacity:1}.group-tile:active{transform:translateY(-3px) scale(1.01);transition-duration:.1s}.group-tile:focus-visible{outline:3px solid var(--focus-ring-brand);outline-offset:2px}.group-tile-icon{width:36px;height:36px;box-shadow:0 2px 6px var(--shadow-sm);transition:transform .3s ease}.group-tile:hover .group-tile-icon{transform:scale(1.08)}@media (min-width:768px){.group-tile-icon{width:40px;height:40px}}@media (min-width:992px){.group-tile-icon{width:44px;height:44px}}.group-tile-icon-fallback{font-size:1rem}@media (min-width:768px){.group-tile-icon-fallback{font-size:1rem}}@media (min-width:992px){.group-tile-icon-fallback{font-size:1.125rem}}.group-tile-image{max-width:36px;max-height:36px;object-fit:contain;filter:drop-shadow(0 2px 4px var(--shadow-md));transition:transform .3s ease}.group-tile:hover .group-tile-image{transform:scale(1.08)}@media (min-width:768px){.group-tile-image{max-width:40px;max-height:40px}}@media (min-width:992px){.group-tile-image{max-width:44px;max-height:44px}}.group-tile-name{font-size:.625rem;letter-spacing:.3px;text-shadow:0 1px 3px var(--shadow-lg);line-height:1.2}@media (min-width:768px){.group-tile-name{font-size:.6875rem;letter-spacing:.35px}}@media (min-width:992px){.group-tile-name{font-size:.6875rem;letter-spacing:.4px}}.Bg_coral,.bg-coral{background-color:var(--group-coral)}.group-tile.Bg_coral .group-tile-icon-fallback,.group-tile.bg-coral .group-tile-icon-fallback{color:var(--group-coral)}.Bg_gray,.bg-gray{background-color:var(--group-gray)}.group-tile.Bg_gray .group-tile-icon-fallback,.group-tile.bg-gray .group-tile-icon-fallback{color:var(--group-gray)}.Bg_teal,.bg-teal{background-color:var(--group-teal)}.group-tile.Bg_teal .group-tile-icon-fallback,.group-tile.bg-teal .group-tile-icon-fallback{color:var(--group-teal)}.Bg_green,.bg-green{background-color:var(--group-green)}.group-tile.Bg_green .group-tile-icon-fallback,.group-tile.bg-green .group-tile-icon-fallback{color:var(--group-green)}.Bg_brown,.bg-brown{background-color:var(--group-brown)}.group-tile.Bg_brown .group-tile-icon-fallback,.group-tile.bg-brown .group-tile-icon-fallback{color:var(--group-brown)}.Bg_orange,.bg-orange{background-color:var(--group-coral)}.group-tile.Bg_orange .group-tile-icon-fallback,.group-tile.bg-orange .group-tile-icon-fallback{color:var(--group-coral)}.Bg_pink,.bg-pink{background-color:var(--group-pink)}.group-tile.Bg_pink .group-tile-icon-fallback,.group-tile.bg-pink .group-tile-icon-fallback{color:var(--group-pink)}.Bg_purple,.bg-purple{background-color:var(--group-purple)}.group-tile.Bg_purple .group-tile-icon-fallback,.group-tile.bg-purple .group-tile-icon-fallback{color:var(--group-purple)}.Bg_blue,.bg-blue{background-color:var(--group-blue)}.group-tile.Bg_blue .group-tile-icon-fallback,.group-tile.bg-blue .group-tile-icon-fallback{color:var(--group-blue)}.Bg_navy,.bg-navy{background-color:var(--group-navy)}.group-tile.Bg_navy .group-tile-icon-fallback,.group-tile.bg-navy .group-tile-icon-fallback{color:var(--group-navy)}.Bg_yellow,.bg-yellow{background-color:var(--group-yellow)}.group-tile.Bg_yellow .group-tile-icon-fallback,.group-tile.bg-yellow .group-tile-icon-fallback{color:var(--group-yellow)}.Bg_red,.bg-red{background-color:var(--group-red)}.group-tile.Bg_red .group-tile-icon-fallback,.group-tile.bg-red .group-tile-icon-fallback{color:var(--group-red)}@keyframes viewer-fade-in{from{opacity:0}to{opacity:1}}@keyframes viewer-slide-up{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.screenshot-viewer-overlay{inset:0;z-index:9999;background:rgba(0,0,0,.85);outline:0;animation:viewer-fade-in .2s ease}@media (min-width:768px) and (min-height:500px){.screenshot-viewer-overlay{padding:1rem}}.screenshot-viewer-modal{width:100vw;height:100vh;height:100svh;background:var(--bg-white);box-shadow:0 8px 32px var(--shadow-dark);animation:viewer-slide-up .25s ease}@media (min-width:768px) and (min-height:500px){.screenshot-viewer-modal{width:92vw;height:90vh;max-width:1800px;border-radius:8px}}@media (min-width:1200px){.screenshot-viewer-modal{height:92vh;border-radius:12px}}.screenshot-viewer-header{background:linear-gradient(135deg,var(--gradient-start),var(--gradient-end));padding-top:.25rem;padding-bottom:.25rem}@media (min-width:768px) and (min-height:500px){.screenshot-viewer-header{padding-top:.5rem;padding-bottom:.5rem}}.screenshot-viewer-header .viewer-h-group{display:inline-flex;align-items:center;gap:.25rem;position:relative}.screenshot-viewer-header .viewer-h-btn+.viewer-h-group,.screenshot-viewer-header .viewer-h-group+.viewer-h-btn:not(.viewer-h-btn--close),.screenshot-viewer-header .viewer-h-group+.viewer-h-group{margin-left:.875rem;padding-left:.875rem}.screenshot-viewer-header .viewer-h-btn+.viewer-h-group::before,.screenshot-viewer-header .viewer-h-group+.viewer-h-btn:not(.viewer-h-btn--close)::before,.screenshot-viewer-header .viewer-h-group+.viewer-h-group::before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:1px;background:rgba(255,255,255,.28)}.screenshot-viewer-header .viewer-h-btn{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;position:relative;min-width:2.25rem;height:2.25rem;padding:0 .625rem;border:0;border-radius:999px;background:0 0;color:var(--text-white);font-size:.85rem;font-weight:600;transition:background-color .18s ease,color .18s ease,box-shadow .18s ease}.screenshot-viewer-header .viewer-h-btn:hover:not(:disabled){background:rgba(255,255,255,.18)}.screenshot-viewer-header .viewer-h-btn[data-active=true]{background:var(--bg-white);color:var(--gradient-start);box-shadow:0 2px 0 rgba(0,0,0,.06),0 4px 14px -4px rgba(0,0,0,.18)}.screenshot-viewer-header .viewer-h-btn[data-active=true]:hover{background:var(--bg-white)}.screenshot-viewer-header .viewer-h-btn:disabled{opacity:.5;cursor:not-allowed}.screenshot-viewer-header .viewer-h-btn[data-variant=live][data-active=true]{color:var(--status-warning-red)}.screenshot-viewer-header .viewer-h-btn[data-variant=close]:hover:not(:disabled){background:rgba(212,63,63,.12);color:var(--status-warning-red)}.viewer-profile-avatar{width:28px;height:28px}@media (min-width:768px) and (min-height:500px){.viewer-profile-avatar{width:32px;height:32px}}.viewer-latency-badge{font-variant-numeric:tabular-nums;font-size:.78em;padding:.15em .6em;border-radius:999px;border:1px solid var(--border-side);background:var(--bg-white);color:var(--text-secondary);line-height:1.4}.viewer-latency-badge[data-state=good]{color:#1b5e2c;background:#dff3e4;border-color:transparent}.viewer-latency-badge[data-state=warn]{color:var(--status-warning-orange);background:#fbedd4;border-color:transparent}.viewer-latency-badge[data-state=bad]{color:var(--status-warning-red);background:#fce3e6;border-color:transparent}.viewer-live-badge{margin-top:16px;z-index:2;padding:5px 12px 5px 10px;border-radius:999px;background:var(--status-warning-red);color:var(--text-white);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;box-shadow:0 4px 14px rgba(239,68,68,.45)}.viewer-live-badge--inline{margin-top:0;padding:2px 8px 2px 6px;font-size:.66rem;box-shadow:none}.viewer-live-pulse{width:7px;height:7px;border-radius:50%;background:var(--text-white);animation:viewer-live-pulse 1.2s ease-in-out infinite}@keyframes viewer-live-pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.7)}}.viewer-camera-count{font-size:.78em;font-weight:600;font-variant-numeric:tabular-nums;min-width:1.25em;text-align:center;line-height:1}.screenshot-viewer--desktop-only{display:none!important}@media (min-width:768px) and (min-height:500px){.screenshot-viewer--desktop-only{display:inline-flex!important}}.screenshot-viewer--desktop-only-block{display:none!important}@media (min-width:768px) and (min-height:500px){.screenshot-viewer--desktop-only-block{display:block!important}}.screenshot-viewer--mobile-only{display:flex!important}@media (min-width:768px) and (min-height:500px){.screenshot-viewer--mobile-only{display:none!important}}.screenshot-viewer-bottom-bar .btn{min-width:2.5rem;min-height:2.5rem}.screenshot-viewer-action-input .form-control-sm{min-width:0}.screenshot-timer-badge{min-width:1.5em;font-variant-numeric:tabular-nums}.screenshot-zoom-container{transform:scale(var(--zoom-scale,1)) translate(var(--pan-x,0),var(--pan-y,0));transform-origin:center center;will-change:transform}.fullscreen-modal-container{overflow:hidden;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1050;width:90%;max-width:900px;max-height:90vh;background-color:var(--bg-white);border-radius:.5rem;box-shadow:0 10px 40px var(--shadow-3xl)}@media (max-width:575.98px){.fullscreen-modal-container{width:95%;border-radius:.375rem}}.fullscreen-modal-container .modal-content{border:none;box-shadow:none;border-radius:0;padding:1rem}.screenshot-viewer-content{flex:1 1 auto;flex-direction:column;min-height:0}.screenshot-viewer-content.has-panel .screenshot-viewer-body{flex:1 1 55%;min-height:120px}@media (min-width:768px) and (min-height:500px){.screenshot-viewer-content{flex-direction:row}.screenshot-viewer-content.has-panel .screenshot-viewer-body{flex:1 1 auto;max-height:none}}@media (max-width:767px) and (orientation:landscape){.screenshot-viewer-content{flex-direction:row}.screenshot-viewer-content.has-panel .screenshot-viewer-body{flex:0 0 60%;max-height:none}}.screenshot-viewer-body{flex:1 1 auto;min-height:150px;background:#1a1a2e;touch-action:none}.screenshot-viewer-body .screenshot-nav-btn{opacity:.6}@media (min-width:768px) and (min-height:500px){.screenshot-viewer-body{min-height:300px}.screenshot-viewer-body .screenshot-nav-btn{opacity:.4}.screenshot-viewer-body:hover .screenshot-nav-btn{opacity:.7}}.screenshot-viewer-image{pointer-events:none}.cursor-zoom-in{cursor:zoom-in}.cursor-zoom-out{cursor:zoom-out}.viewer-zoom-dock{right:.75rem;bottom:.75rem;z-index:10;gap:2px;padding:4px;border-radius:10px;background:rgba(20,22,27,.65);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.06)}.viewer-zoom-dock__btn{width:28px;height:28px;border:0;border-radius:6px;background:0 0;color:rgba(255,255,255,.7);font-size:.75rem;display:grid;place-items:center;transition:background-color .15s ease,color .15s ease}.viewer-zoom-dock__btn:hover:not(:disabled){background:rgba(255,255,255,.08);color:var(--text-white)}.viewer-zoom-dock__btn:disabled{opacity:.35;cursor:not-allowed}.viewer-zoom-dock__value{font-size:.6875rem;font-weight:500;color:rgba(255,255,255,.85);min-width:3rem;text-align:center;font-variant-numeric:tabular-nums}.viewer-zoom-dock__separator{width:1px;height:16px;background:rgba(255,255,255,.1);margin:0 4px}.screenshot-nav-btn{top:50%;transform:translateY(-50%);z-index:10;width:36px;height:36px;background:var(--overlay-dark);font-size:.875rem;cursor:pointer;transition:background-color .15s ease,transform .15s ease,opacity .2s ease}.screenshot-nav-btn:hover{background:rgba(0,0,0,.75);opacity:1;transform:translateY(-50%) scale(1.05)}@media (min-width:768px) and (min-height:500px){.screenshot-nav-btn{width:40px;height:40px;font-size:1rem}}.screenshot-nav-left{left:.5rem}@media (min-width:768px) and (min-height:500px){.screenshot-nav-left{left:.75rem}}.screenshot-nav-right{right:.5rem}@media (min-width:768px) and (min-height:500px){.screenshot-nav-right{right:.75rem}}.screenshot-viewer-metadata{padding-top:.125rem;padding-bottom:.125rem}@media (min-width:768px) and (min-height:500px){.screenshot-viewer-metadata{padding-top:.5rem;padding-bottom:.5rem}}.viewer-favicon{width:16px;height:16px}.screenshot-viewer-thumbnails{background:var(--bs-gray-50,#fafafa);scroll-snap-type:x mandatory;scrollbar-width:thin;padding-top:.125rem;padding-bottom:.125rem}@media (min-width:768px) and (min-height:500px){.screenshot-viewer-thumbnails{padding-top:.5rem;padding-bottom:.5rem}}@media (max-width:767px) and (orientation:landscape){.screenshot-viewer-thumbnails{display:none!important}}.screenshot-viewer-thumbnails::-webkit-scrollbar{height:4px}.screenshot-viewer-thumbnails::-webkit-scrollbar-thumb{background:var(--bs-gray-400);border-radius:2px}.viewer-thumbnail{width:56px;height:42px;border-radius:4px;border:2px solid transparent;cursor:pointer;scroll-snap-align:center;transition:border-color .2s ease,transform .15s ease,box-shadow .2s ease}.viewer-thumbnail:hover{border-color:var(--bs-gray-400);transform:scale(1.03)}.viewer-thumbnail.active{border-color:var(--gradient-start);box-shadow:0 0 0 1px var(--gradient-start)}.viewer-thumbnail img{pointer-events:none}@media (min-width:576px){.viewer-thumbnail{width:64px;height:48px}}@media (min-width:768px) and (min-height:500px){.viewer-thumbnail{width:80px;height:60px}}.viewer-panel-pico{width:22px;height:22px;border-radius:6px;background:var(--bg-white);border:1px solid var(--border-side);font-size:.7rem;color:var(--brand-primary)}.viewer-panel-refresh{padding:4px 10px;border:1px solid var(--border-side);border-radius:6px;background:var(--bg-white);color:var(--text-muted);transition:background-color .15s ease,color .15s ease,border-color .15s ease}.viewer-panel-refresh:hover:not(:disabled){background:var(--bg-hover-cream);color:var(--text-dark);border-color:var(--brand-accent-light)}.viewer-panel-refresh:disabled{opacity:.6;cursor:not-allowed}.screenshot-viewer-panel{flex:1 1 45%;min-height:100px;border-top:1px solid var(--bs-border-color,#dee2e6)}@media (min-width:768px) and (min-height:500px){.screenshot-viewer-panel{flex:0 0 clamp(280px,28%,400px);border-top:none;border-left:1px solid var(--bs-border-color,#dee2e6)}}@media (max-width:767px) and (orientation:landscape){.screenshot-viewer-panel{flex:0 0 40%;border-top:none;border-left:1px solid var(--bs-border-color,#dee2e6)}}.viewer-panel-count{display:inline-grid;place-items:center;min-width:1.4em;height:1.4em;padding:0 .4em;border-radius:999px;background:var(--bg-white);border:1px solid var(--border-side);color:var(--text-muted);font-size:.72rem;font-weight:600}.tab-row{padding:.5rem .4rem;border-radius:8px;transition:background-color .15s ease}.tab-row:focus-within,.tab-row:hover{background:var(--bg-hover-cream)}.tab-row__favicon{width:18px;height:18px;margin-top:1px;display:grid;place-items:center;flex-shrink:0}.tab-row__favicon img{max-width:16px;max-height:16px;border-radius:3px}.tab-row__actions{display:none;align-items:center;gap:2px}.tab-row:focus-within .tab-row__actions,.tab-row:hover .tab-row__actions{display:flex}.tab-action-btn{width:26px;height:26px;border:0;border-radius:6px;background:0 0;color:var(--text-muted);font-size:.78rem;display:grid;place-items:center;transition:background-color .15s ease,color .15s ease}.tab-action-btn:hover:not(:disabled){background:var(--border-side);color:var(--text-dark)}.tab-action-btn:disabled{opacity:.4;cursor:not-allowed}.tab-action-btn--danger:hover:not(:disabled){background:#fce3e6;color:var(--status-warning-red)}.panel-section-header{font-size:.625rem;letter-spacing:.08em;padding:.25rem 0}.panel-mono{font-family:"JetBrains Mono",ui-monospace,monospace;font-variant-numeric:tabular-nums}.panel-url{font-family:"JetBrains Mono",ui-monospace,monospace;font-size:.6875rem}.diag-score-card{padding:.875rem;background:var(--bg-panel-cream-alt);border:1px solid var(--border-side);border-radius:12px}.diag-score-ring{width:60px;height:60px}.diag-score-ring-bg{stroke:var(--border-side)}.diag-score-ring-fg{transition:stroke-dasharray .4s ease}.diag-score-ring-fg[data-state=good]{stroke:var(--brand-primary)}.diag-score-ring-fg[data-state=warn]{stroke:var(--status-warning-orange)}.diag-score-ring-fg[data-state=bad]{stroke:var(--status-warning-red)}.diag-score-value{font-family:"JetBrains Mono",ui-monospace,monospace;font-size:1rem;font-weight:600}.viewer-panel-body{scrollbar-width:thin}.viewer-panel-body::-webkit-scrollbar{width:4px}.viewer-panel-body::-webkit-scrollbar-thumb{background:var(--bs-gray-400);border-radius:2px}@media (max-width:767px) and (orientation:landscape){.screenshot-viewer-metadata{padding-top:.125rem;padding-bottom:.125rem}}.troubleshooting-wizard .wizard-step{padding:1.25rem;flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow-y:auto}.troubleshooting-wizard .wizard-loading{padding:3rem 1rem}.troubleshooting-wizard .student-select-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.75rem;flex:1 1 auto;min-height:0;overflow-y:auto;padding:2px}.troubleshooting-wizard .student-select-card{display:flex;flex-direction:column;align-items:center;padding:1rem .75rem;border-radius:.75rem;border:1px solid var(--border-side);background:var(--bg-white);color:var(--text-secondary);cursor:pointer;transition:all .15s ease;position:relative;box-shadow:0 1px 2px var(--shadow-xs)}.troubleshooting-wizard .student-select-card .white_checkbox{position:absolute;top:.5rem;right:.5rem;width:18px;height:18px}.troubleshooting-wizard .student-select-card:hover{border-color:var(--gradient-start);background:var(--brand-accent-bg-subtle);color:var(--gradient-end)}.troubleshooting-wizard .student-select-card.selected{border-color:var(--gradient-start);background:linear-gradient(135deg,var(--gradient-start),var(--gradient-end));color:var(--text-white);box-shadow:0 4px 10px rgba(var(--brand-accent-rgb),.25)}.troubleshooting-wizard .student-select-card.selected .student-name{color:var(--text-white);font-weight:600}.troubleshooting-wizard .student-select-card.has-issue::after{content:"";position:absolute;top:.4rem;left:.4rem;width:8px;height:8px;background:var(--brand-accent-light);border-radius:50%;border:1px solid var(--bg-white)}.troubleshooting-wizard .student-select-card.has-issue.selected .issue-badge{color:var(--text-white)}.troubleshooting-wizard .student-select-card .student-avatar{width:48px;height:48px;border-radius:50%;object-fit:cover;margin-bottom:.5rem;border:2px solid var(--border-side)}.troubleshooting-wizard .student-select-card.selected .student-avatar{border-color:var(--text-white)}.troubleshooting-wizard .student-select-card .student-info-text{text-align:center;position:relative}.troubleshooting-wizard .student-select-card .student-name{font-size:.8125rem;font-weight:500;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:120px}.troubleshooting-wizard .student-select-card .issue-badge{color:var(--brand-accent-light);font-size:.75rem;margin-left:.25rem}.troubleshooting-wizard .student-diagnostics-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1rem;margin-bottom:1rem;align-items:start}.troubleshooting-wizard .student-diag-card{background:var(--bg-white);border:1px solid var(--border-side);border-radius:.75rem;overflow:hidden;transition:border-color .15s ease,box-shadow .15s ease;display:flex;flex-direction:column;height:100%;min-height:280px;color:var(--text-secondary);box-shadow:0 1px 2px var(--shadow-xs)}.troubleshooting-wizard .student-diag-card:hover{border-color:var(--gradient-start);box-shadow:0 4px 12px rgba(var(--brand-accent-rgb),.12)}.troubleshooting-wizard .student-diag-header{display:flex;align-items:center;gap:.75rem;padding:.875rem;background:linear-gradient(135deg,var(--gradient-start),var(--gradient-end));color:var(--text-white);flex-shrink:0;min-height:58px}.troubleshooting-wizard .student-diag-header .student-avatar-sm{width:40px;height:40px;border-radius:50%;object-fit:cover;border:2px solid var(--text-white);flex-shrink:0}.troubleshooting-wizard .student-diag-header .flex-grow-1{min-width:0;flex:1}.troubleshooting-wizard .student-diag-header .fw-semibold{font-size:.875rem;margin-bottom:.125rem;color:var(--text-white);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.troubleshooting-wizard .student-diag-header small{font-size:.6875rem;color:var(--text-white-muted);display:block}.troubleshooting-wizard .student-diag-header small.text-danger,.troubleshooting-wizard .student-diag-header small.text-success,.troubleshooting-wizard .student-diag-header small.text-warning{color:var(--text-white)!important;opacity:.95}.troubleshooting-wizard .student-diag-header .btn-copy-student{background:0 0;border:1px solid var(--text-white-muted);color:var(--text-white);padding:.25rem .5rem;border-radius:.375rem;cursor:pointer;font-size:.75rem;transition:all .15s ease;margin-left:auto;flex-shrink:0}.troubleshooting-wizard .student-diag-header .btn-copy-student:hover{background:var(--overlay-light-md,rgba(255,255,255,.18));border-color:var(--text-white)}.troubleshooting-wizard .diag-stats{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;padding:.5rem;background:var(--bg-panel-cream-alt);border-bottom:1px solid var(--border-side);flex-shrink:0}.troubleshooting-wizard .diag-stats .diag-stat{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:70px;max-width:100px;padding:.25rem .5rem}.troubleshooting-wizard .diag-stats .diag-stat i{font-size:.875rem;color:var(--brand-accent-light);margin-bottom:2px}.troubleshooting-wizard .diag-stats .diag-stat i.transport-p2p{color:#16a34a}.troubleshooting-wizard .diag-stats .diag-stat i.transport-server{color:var(--brand-accent-dark)}.troubleshooting-wizard .diag-stats .diag-stat span{font-weight:600;color:var(--text-primary);white-space:nowrap;font-size:.6875rem;overflow:hidden;text-overflow:ellipsis;max-width:100%}.troubleshooting-wizard .diag-stats .diag-stat small{font-size:.5rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px}.troubleshooting-wizard .diag-checks-compact{padding:.5rem .75rem;flex:1;display:flex;flex-direction:column}.troubleshooting-wizard .diag-checks-compact .check-item-compact{display:flex;align-items:center;gap:.5rem;padding:.5rem;font-size:.8125rem;color:var(--text-secondary);border-radius:.375rem;margin:2px 0;background:var(--bg-gray-light)}.troubleshooting-wizard .diag-checks-compact .check-item-compact.success{background:rgba(22,163,74,.08)}.troubleshooting-wizard .diag-checks-compact .check-item-compact.success i{color:#16a34a}.troubleshooting-wizard .diag-checks-compact .check-item-compact.info{background:rgba(59,130,246,.08)}.troubleshooting-wizard .diag-checks-compact .check-item-compact.info i{color:#2563eb}.troubleshooting-wizard .diag-checks-compact .check-item-compact.warning{background:rgba(var(--brand-accent-rgb),.1)}.troubleshooting-wizard .diag-checks-compact .check-item-compact.warning i{color:var(--brand-accent-dark)}.troubleshooting-wizard .diag-checks-compact .check-item-compact.error{background:rgba(220,38,38,.08)}.troubleshooting-wizard .diag-checks-compact .check-item-compact.error i{color:#dc2626}.troubleshooting-wizard .diag-checks-compact .check-item-compact i{font-size:.875rem;flex-shrink:0;width:16px}.troubleshooting-wizard .diag-checks-compact .check-item-compact span{flex:1;font-weight:500}.troubleshooting-wizard .diag-checks-compact .check-item-compact .check-detail{color:var(--text-muted);font-size:.6875rem;margin-left:auto}.troubleshooting-wizard .diag-cause{padding:.625rem .75rem;background:rgba(var(--brand-accent-rgb),.08);border-top:1px solid var(--border-side);display:flex;align-items:start;gap:.5rem;font-size:.6875rem;color:var(--text-secondary);flex-shrink:0;min-height:40px}.troubleshooting-wizard .diag-cause i{color:var(--brand-accent-dark);margin-top:2px;flex-shrink:0;width:16px}.troubleshooting-wizard .diag-cause span{flex:1;line-height:1.4}.troubleshooting-wizard .diag-actions{padding:.625rem .75rem;background:var(--bg-panel-cream);border-top:1px solid var(--border-side);font-size:.6875rem;color:var(--text-secondary);flex-shrink:0;margin-top:auto}.troubleshooting-wizard .diag-actions .fw-semibold{color:var(--text-primary);font-size:.6875rem;margin-bottom:.375rem}.troubleshooting-wizard .diag-actions .fw-semibold i{color:var(--brand-accent-light);width:16px}.troubleshooting-wizard .diag-actions ul{margin:0;padding-left:1.25rem}.troubleshooting-wizard .diag-actions ul li{margin-bottom:.25rem;line-height:1.4}.student-card{min-width:0;padding:.5rem .25rem;border-radius:.75rem;transition:background-color .15s ease}.student-card:has(.student-avatar-selectable.selected){background-color:var(--brand-accent-bg-subtle)}.student-avatar{width:120px;height:120px;border-radius:50%;padding:3px;background-image:linear-gradient(to right,var(--gradient-start),var(--gradient-end));display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .2s ease;border:2px solid transparent;flex-shrink:0}.student-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%;background-color:var(--bg-white)}.student-avatar:hover{transform:scale(1.05)}.student-avatar img{pointer-events:none}@media (max-width:575.98px){.student-avatar{width:80px;height:80px}}@media (min-width:576px) and (max-width:767.98px){.student-avatar{width:100px;height:100px}}.student-name{font-size:1rem;line-height:1.2;color:var(--text-dark);word-break:break-word}@media (max-width:575.98px){.student-name{font-size:.75rem}}.student-badge{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background-image:linear-gradient(to right,var(--gradient-start),var(--gradient-end));border:2px solid var(--bg-white);transform:translate(25%,25%);font-size:.875rem;transition:transform .15s ease,background-color .15s ease}@media (max-width:575.98px){.student-badge{width:22px;height:22px;font-size:.6875rem}}.student-badge-fullscreen{background:var(--status-success);cursor:pointer;transform:translate(25%,-25%);opacity:0;transition:opacity .2s ease,background-color .15s ease,transform .15s ease}.student-badge-fullscreen:hover{background:var(--status-success-dark);transform:translate(25%,-25%) scale(1.1)}.student-avatar-selectable:hover .student-badge-fullscreen{opacity:1}.student-avatar-selectable.monitoring-active .student-badge-fullscreen{opacity:1}.student-badge-deselect{background:var(--status-error);cursor:pointer}.student-badge-deselect:hover{background:var(--status-error-dark);transform:translate(25%,25%) scale(1.1)}.student-badge-selected{bottom:0;right:0;transform:translate(15%,15%)}.student-badge-profile{width:36px;height:36px;border-radius:50%;border:2px solid var(--bg-white);overflow:hidden;transform:translate(-25%,-25%);background-color:var(--bg-white);padding:0;background-image:none}.student-badge-profile img{width:100%;height:100%;object-fit:cover}.student-offline{opacity:.3;transition:opacity .3s ease}.student-offline:hover{opacity:.4}.student-connecting{opacity:.55;transition:opacity .3s ease}.student-connecting:hover{opacity:.65}.student-connection-lost{opacity:.4;transition:opacity .3s ease}.student-connection-lost:hover{opacity:.5}.student-sync-screen-offline{background:var(--bs-gray-400)}.student-offline-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background-color:var(--bg-hover-faint);border-radius:6px}.student-offline-placeholder i{font-size:2rem;color:var(--bs-gray-500)}.student-offline-placeholder--connecting i{color:var(--gradient-start)}.student-offline-placeholder--waiting i{color:var(--bs-info,#0dcaf0)}.student-offline-placeholder--lost i{color:var(--status-warning,#ffc107)}.student-offline-placeholder--error i{color:var(--status-error)}.student-name-last{font-size:.75rem;color:var(--text-muted)}.student-avatar-selectable{position:relative;width:100%;height:100%;cursor:pointer;border-radius:50%;transition:opacity .15s ease,box-shadow .2s ease}.student-avatar-selectable:hover{opacity:.85}.student-avatar-selectable.selected img{box-shadow:0 0 0 3px var(--gradient-start)}.student-sync-screen{border-radius:8px;background:linear-gradient(to right,var(--gradient-start),var(--gradient-end));padding:3px;width:100%;height:auto;aspect-ratio:4/3;overflow:visible;transition:box-shadow .2s ease}.student-sync-screen:hover{box-shadow:0 4px 16px var(--shadow-lg)}.student-sync-screen img{border-radius:6px;object-fit:cover;transition:opacity .3s ease}.student-sync-screen .student-avatar-selectable{border-radius:6px;overflow:visible}.student-sync-screen .student-avatar-selectable>img{position:absolute;top:0;left:0}.student-sync-screen .student-badge-fullscreen{width:36px;height:36px;font-size:1rem;transform:translate(25%,-25%);z-index:2;opacity:0}.student-sync-screen .student-avatar-selectable:hover .student-badge-fullscreen,.student-sync-screen:hover .student-badge-fullscreen{opacity:1}.student-fullscreen-image{max-height:70vh;object-fit:contain}.classmanagement-grid{display:grid;width:100%;grid-template-columns:repeat(2,1fr);gap:1rem}@media (min-width:576px){.classmanagement-grid{grid-template-columns:repeat(3,1fr);gap:1.25rem}}@media (min-width:768px){.classmanagement-grid{grid-template-columns:repeat(4,1fr);gap:1.5rem}}@media (min-width:992px){.classmanagement-grid{grid-template-columns:repeat(5,1fr)}}@media (min-width:1200px){.classmanagement-grid{grid-template-columns:repeat(6,1fr)}}@media (min-width:1400px){.classmanagement-grid{grid-template-columns:repeat(7,1fr)}}@media (min-width:1700px){.classmanagement-grid{grid-template-columns:repeat(8,1fr);gap:1.25rem}}.classmanagement-grid-screens{gap:.5rem}@media (min-width:576px){.classmanagement-grid-screens{gap:.625rem}}@media (min-width:768px){.classmanagement-grid-screens{gap:.75rem}}@media (min-width:1200px){.classmanagement-grid-screens{gap:.5rem}}@media (min-width:992px){.sidebar-collapsed .classmanagement-grid{grid-template-columns:repeat(7,1fr)}}@media (min-width:1200px){.sidebar-collapsed .classmanagement-grid{grid-template-columns:repeat(8,1fr);gap:.75rem}}@media (min-width:1400px){.sidebar-collapsed .classmanagement-grid{grid-template-columns:repeat(9,1fr)}}@media (min-width:1700px){.sidebar-collapsed .classmanagement-grid{grid-template-columns:repeat(10,1fr)}}@media (min-width:1200px){.sidebar-collapsed .classmanagement-grid .student-name{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}}@media (min-width:1400px){.classmanagement-grid .student-name{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}}.ratho-tab-content{overflow-x:clip;max-width:100%}.ratho-tab-pane{overflow-x:clip;max-width:100%}.class-management-page .ratho-tab-view{--content-padding:2rem}.class-management-page .ratho-tab-view,.class-management-page .ratho-tab-view .ratho-tab-content,.class-management-page .ratho-tab-view .ratho-tab-pane{height:auto!important;max-height:none!important;overflow-y:visible!important}@media (max-width:575.98px){.ratho-tab-content>.ratho-tab-pane{padding:1rem}}@media (min-width:576px) and (max-width:991.98px){.ratho-tab-content>.ratho-tab-pane{padding:1.5rem}}.classmanagement-page-title-bar{background-color:var(--bg-panel-cream-alt);border-radius:1rem;color:var(--bs-dark,#212529);min-height:2.875rem}@media (max-width:767.98px){.classmanagement-page-title-bar{border-radius:.75rem}}.classmanagement-page-title{font-size:1.25rem;line-height:1.2}.classmanagement-page-title i{color:var(--brand-accent-light);font-size:1.5rem}@media (max-width:991.98px){.classmanagement-page-title{font-size:1.15rem}.classmanagement-page-title i{font-size:1.35rem}}@media (max-width:767.98px){.classmanagement-page-title{font-size:1.05rem}.classmanagement-page-title i{font-size:1.2rem}}@media (max-width:575.98px){.classmanagement-page-title{font-size:.95rem}.classmanagement-page-title i{font-size:1.1rem}}.classmanagement-online-badge{background-color:#479e76;color:#fff}.classmanagement-online-dot{font-size:.5rem}.classmanagement-dashboard{border-radius:1rem;overflow:visible;background:var(--bg-panel-cream-alt);border:1px solid var(--border-side);box-shadow:0 1px 2px var(--shadow-xs)}@media (max-width:767.98px){.classmanagement-dashboard{border-radius:.75rem}}.classmanagement-dashboard .dashboard-action-bar{background-color:var(--bg-panel-cream-alt);border-radius:inherit}.classmanagement-dashboard__latency{color:var(--gradient-end)}.classmanagement-dashboard__online-dot{font-size:.5rem}.classmanagement-dashboard__toggle{border:1px solid transparent}@media (min-width:768px){.classmanagement-dashboard__toggle{min-width:11rem;justify-content:center}}.classmanagement-dashboard__intervals .btn{min-width:2.75rem}.classmanagement-dashboard__intervals .btn,.classmanagement-dashboard__troubleshoot{border:1px solid var(--border-side);background:var(--bg-white);color:var(--text-secondary)}.classmanagement-dashboard__intervals .btn:hover,.classmanagement-dashboard__troubleshoot:hover{background:var(--bg-hover-faint);color:var(--gradient-end)}.classmanagement-dashboard__intervals .btn:focus,.classmanagement-dashboard__intervals .btn:focus-visible,.classmanagement-dashboard__troubleshoot:focus,.classmanagement-dashboard__troubleshoot:focus-visible{transform:none;border-color:var(--border-side)}.classmanagement-dashboard__intervals .btn.active,.classmanagement-dashboard__troubleshoot.active{background:linear-gradient(to right,var(--gradient-start),var(--gradient-end));border-color:var(--gradient-start);color:var(--text-white)}.classmanagement-dashboard__intervals .btn.active .badge,.classmanagement-dashboard__troubleshoot.active .badge{display:inline-block;min-width:2.4em;padding:.15em .4em;text-align:center;font-size:.75em;font-variant-numeric:tabular-nums;line-height:1;border-radius:.5rem;background:var(--overlay-light-md);color:var(--text-white);vertical-align:middle}.classmanagement-selectall{display:inline-flex;align-items:center}.tag-list .btn-link{color:var(--brand-accent-light)}.tag-list .btn-link:hover{color:var(--brand-accent-dark)}.cm2-monitor{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem 1.5rem;padding:1rem 1.5rem;background-color:var(--bg-panel-cream-alt);border:1px solid var(--border-side);border-radius:1rem;box-shadow:0 1px 2px var(--shadow-xs);--cm2-control-h:2.5rem}@media (max-width:767.98px){.cm2-monitor{grid-template-columns:auto 1fr;gap:.75rem 1rem;padding:.875rem 1rem;border-radius:.75rem}}@media (max-width:575.98px){.cm2-monitor{grid-template-columns:1fr;gap:.625rem;padding:.75rem;--cm2-control-h:2.75rem}}.cm2-monitor__viz{width:3rem;height:3rem;border-radius:50%;display:grid;place-items:center;background-color:var(--bg-white);color:var(--bs-gray-500);font-size:1.25rem;flex-shrink:0;transition:background-color .25s ease,color .25s ease}@media (max-width:575.98px){.cm2-monitor__viz{display:none}}.cm2-monitor__body{min-width:0}@media (max-width:575.98px){.cm2-monitor__body{grid-column:1}}.cm2-monitor__heading{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}@media (max-width:575.98px){.cm2-monitor__heading{gap:.5rem}}.cm2-monitor__title{font-size:1.25rem;font-weight:600;line-height:1.2;margin:0;color:var(--text-dark)}@media (max-width:575.98px){.cm2-monitor__title{font-size:1.125rem}}.cm2-monitor__online{font-size:.6875rem;padding:.25em .6em}.cm2-monitor__controls{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;justify-content:flex-end}@media (max-width:767.98px){.cm2-monitor__controls{grid-column:1/-1}}@media (max-width:575.98px){.cm2-monitor__controls{gap:.5rem;justify-content:flex-start}}.cm2-monitor__live{display:contents}.cm2-monitor__icon-btn{width:var(--cm2-control-h);height:var(--cm2-control-h);border-radius:.5rem;background-color:var(--bg-white);border:1px solid var(--border-side);color:var(--text-secondary);display:grid;place-items:center;transition:background-color .15s ease,color .15s ease;flex-shrink:0}.cm2-monitor__icon-btn:hover{background-color:var(--bg-hover-faint);color:var(--gradient-end)}.cm2-monitor__cta{height:var(--cm2-control-h);display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:0 1.25rem;border-radius:.625rem;border:1px solid transparent;background:linear-gradient(to right,var(--gradient-start),var(--gradient-end));color:var(--text-white);font-weight:600;font-size:.875rem;transition:filter .15s ease,transform .15s ease}.cm2-monitor__cta:hover{filter:brightness(1.05)}.cm2-monitor__cta:active{transform:translateY(1px)}@media (max-width:575.98px){.cm2-monitor__cta{flex:1 1 100%}}.cm2-monitor[data-state=on] .cm2-monitor__viz{background-color:var(--gradient-start);color:var(--text-white);animation:cm2-monitor-eye-pulse 2.5s ease-in-out infinite}.cm2-monitor[data-state=off] .cm2-monitor__live{display:none}@keyframes cm2-monitor-eye-pulse{0%,100%{box-shadow:0 0 0 0 rgba(241,107,90,.35)}50%{box-shadow:0 0 0 6px rgba(241,107,90,0)}}.cm2-interval{display:inline-flex;align-items:stretch;height:var(--cm2-control-h);border-radius:.5rem;overflow:hidden;border:1px solid var(--border-side);background-color:var(--bg-white);flex-shrink:0}.cm2-interval__btn{border:0;background:0 0;color:var(--text-secondary);font-size:.875rem;padding:0 .75rem;line-height:1;transition:background-color .15s ease,color .15s ease}.cm2-interval__btn+.cm2-interval__btn{border-left:1px solid var(--border-side)}.cm2-interval__btn:hover{background-color:var(--bg-hover-faint);color:var(--gradient-end)}.cm2-interval__btn.active{background:linear-gradient(to right,var(--gradient-start),var(--gradient-end));color:var(--text-white);font-weight:600}.cm2-interval__btn.active .badge{display:inline-block;min-width:2.4em;text-align:center;line-height:1;vertical-align:middle;background:var(--overlay-light-md);color:var(--text-white);margin-left:.4em;padding:.15em .4em;font-size:.75em;border-radius:.4rem;font-variant-numeric:tabular-nums}.cm2-interval__btn--camera i{color:var(--gradient-end)}.cm2-interval .dropdown-menu .dropdown-item.active,.cm2-interval .dropdown-menu .dropdown-item:active{background-color:var(--brand-accent-bg-hover);color:var(--brand-primary)}@keyframes screenshot-pulse{0%{opacity:1}40%{opacity:.35}100%{opacity:1}}.screenshot-pulse{animation:screenshot-pulse .4s ease-in-out}.problem-icon{width:32px;height:32px;border-radius:50%}.problem-icon--heartbeat{background-color:var(--status-error)}.problem-icon--connection{background-color:var(--bs-warning)}.problem-icon--screenshot{background-color:var(--bs-info)}.student-badge-connection{width:24px;height:24px;font-size:.6875rem;transform:translate(-25%,-25%);transition:background-color .2s ease,opacity .2s ease}@media (max-width:575.98px){.student-badge-connection{width:20px;height:20px;font-size:.625rem}}.student-badge-connection--offline{background:var(--bs-gray-400);opacity:.6}.student-badge-connection--connecting{opacity:.7}.student-badge-connection--error{background:var(--status-error)}.student-badge-connection--lost{background:var(--status-warning,#ffc107)}.student-badge-connection--image{background:0 0;border:0;opacity:1}.student-badge-connection--image>img{width:100%;height:100%;display:block;object-fit:contain;pointer-events:none;-webkit-user-drag:none;user-select:none;-webkit-user-select:none}.student-tags{display:flex;flex-wrap:wrap;justify-content:center;gap:.2rem;margin-top:.25rem;max-width:100%}.student-tags .ratho-status-badge{font-size:.6875rem;padding:.1rem .4rem;line-height:1.1}.student-tags .student-tag-clickable{cursor:pointer;transition:transform .1s ease,opacity .1s ease}.student-tags .student-tag-clickable:hover{transform:translateY(-1px);opacity:.85}@media (max-width:575.98px){.student-tags .ratho-status-badge{font-size:.625rem;padding:.05rem .3rem}}.student-tag-overflow{font-size:.6875rem;color:var(--text-muted);padding:.1rem .3rem;border-radius:.4rem;background:var(--bg-hover-faint);cursor:default;line-height:1.1}.history-list-item,.tab-list-item{transition:background-color .15s ease;border-bottom:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)}.history-list-item:last-child,.tab-list-item:last-child{border-bottom:none}.history-list-item:hover,.tab-list-item:hover{background-color:var(--bg-hover-faint)}.history-list-item .flex-grow-1,.tab-list-item .flex-grow-1{min-width:0}.history-list-item .flex-grow-1>div,.tab-list-item .flex-grow-1>div{min-width:0}.tab-favicon{width:16px;height:16px;object-fit:contain}.tab-list-icon{width:1.25rem;text-align:center}.flyout-student-avatar{width:24px;height:24px;object-fit:cover}.lock-screen-message{resize:vertical;min-height:60px}.badge-sm{font-size:.6875rem;padding:.15em .4em}.diagnostics-section-title{font-size:.75rem;font-weight:600;border-bottom:1px solid var(--bs-border-color,#dee2e6);padding-bottom:.25rem;margin-bottom:.25rem}.diagnostics-grid{padding-left:.25rem}.diagnostics-error-item{border-bottom:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)}.diagnostics-error-item:last-child{border-bottom:none}.lockscreen-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-cream);color:var(--bs-gray-800);margin:0;padding:1rem}.lockscreen-container{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.lockscreen-card{padding:3rem 2.5rem;background:var(--bg-white);border-radius:16px;box-shadow:0 4px 24px var(--shadow-sm);max-width:480px;width:100%}.lockscreen-icon{font-size:3rem;width:80px;height:80px;line-height:80px;border-radius:50%;background:linear-gradient(135deg,var(--gradient-start),var(--gradient-end));color:var(--text-white)}.lockscreen-title{font-size:1.25rem;font-weight:700;margin-bottom:.75rem;color:var(--bs-gray-800)}.lockscreen-teacher-message{font-size:1rem;font-weight:400;color:var(--bs-gray-600,#6c757d);word-break:break-word;min-height:1.5em}.export-picture-passwords{max-width:800px}.export-picture-passwords__logo{height:40px}.export-picture-passwords__card{break-inside:avoid}.export-picture-passwords__icon{height:50px}body:has(.print-layout) #flyout-handle,body:has(.print-layout) #flyout-main{display:none!important}.password-char{font-size:1.1rem;line-height:1.2}.password-char--upper{font-weight:700;text-transform:uppercase}.password-char--lower{font-weight:400}.password-char--digit{font-weight:700}.password-char--special{font-weight:700}@media print{body{print-color-adjust:exact}}.info-panel{background-color:var(--bg-cream);border:1px solid var(--border-side)}.info-item{background-color:transparent;border:none;border-bottom:1px solid var(--border-light-pink);border-radius:0;padding:.5rem 0;margin-bottom:.5rem}.info-item:last-child{border-bottom:none}.info-icon{width:40px;height:40px;background-color:var(--brand-accent-light);color:var(--text-white);font-size:.875rem}.admin-avatar{width:40px;height:40px;object-fit:cover;border:2px solid var(--brand-accent-light)}.example-label{color:var(--brand-accent-light);font-weight:400}.example-email{color:var(--brand-accent-light);text-decoration:none;font-size:.875rem}.example-email:hover{text-decoration:underline}@media (max-width:575.98px){.info-icon{width:34px;height:34px;font-size:.75rem}.admin-avatar{width:34px;height:34px}.patch-note-card{padding:.625rem .75rem}.patch-note-read-more{min-height:44px;display:inline-flex;align-items:center}}.admin-scroll{max-height:180px;overflow-y:auto;overflow-x:hidden;padding-right:.5rem;scrollbar-width:thin;scrollbar-color:var(--border-side) transparent}.admin-scroll::-webkit-scrollbar{width:6px}.admin-scroll::-webkit-scrollbar-track{background:0 0;border-radius:3px}.admin-scroll::-webkit-scrollbar-thumb{background:var(--border-side);border-radius:3px}.patch-note-card{background-color:var(--bg-cream);border:1px solid var(--border-side);border-radius:.75rem;padding:.75rem .9rem}.patch-note-title{color:var(--status-warning-red);font-weight:600;font-size:1rem}.patch-note-desc{color:var(--text-secondary);font-size:1rem}.patch-note-list{font-size:.875rem;color:var(--text-muted);padding-left:1rem;margin-top:.35rem;margin-bottom:0}.patch-note-list li{margin:.15rem 0}.patch-note-preview{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.patch-note-read-more{background:0 0;border:none;color:var(--brand-accent-light);font-size:.875rem;font-weight:600;padding:0;cursor:pointer;transition:color .15s ease}.patch-note-read-more:hover{color:var(--brand-accent-dark)}.patch-note-read-more i{font-size:.625rem}.patch-note-full-content{font-size:1rem;line-height:1.6;color:var(--text-secondary)}.patch-note-full-content ol,.patch-note-full-content ul{padding-left:1.25rem;margin-bottom:1rem}.patch-note-full-content li{margin-bottom:.25rem}.patch-note-full-content p{margin-bottom:.75rem}.patch-note-full-content b,.patch-note-full-content strong{color:var(--text-dark)}.help-video-player{width:100%;max-width:calc((100vh - 15rem) * 1.7778)}.update-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:var(--overlay-dark);z-index:1040;cursor:pointer}.update-modal-container{overflow-y:auto;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1050;width:90%;max-width:800px;max-height:90vh;background-color:var(--bg-white);border-radius:.75rem;box-shadow:0 10px 40px var(--shadow-3xl)}@media (max-width:575.98px){.update-modal-container{width:95%;border-radius:.375rem}}.update-modal-container .modal-content{border:none;box-shadow:none}.update-modal-container .modal-header{padding:1rem 1.5rem .5rem}.update-modal-container .modal-body{padding:.5rem 1.5rem 1.5rem}@media (max-width:575.98px){.update-modal-container .modal-header{padding:.75rem 1rem .5rem}.update-modal-container .modal-body{padding:.5rem 1rem 1rem}}.group-select-login-section{position:relative;z-index:1;padding:1.5rem 0;border-bottom:1px solid var(--border-soft);margin-bottom:0}.group-select-login-btn{padding:.75rem 2rem;transition:all .35s cubic-bezier(.4,0,.2,1);border-radius:10px;box-shadow:0 3px 8px var(--shadow-sm);font-weight:600;border:2px solid var(--border-soft);background-color:#fff}.group-select-login-btn:hover{transform:translateY(-3px);box-shadow:0 6px 16px var(--shadow-md);background-color:var(--bg-gray-light);border-color:var(--border-light-pink)}.group-select-login-btn:active{transform:translateY(-1px);box-shadow:0 2px 6px var(--shadow-sm);transition-duration:.1s}.group-select-login-btn:focus-visible{outline:3px solid var(--focus-ring-brand);outline-offset:2px}.group-select-login-icon{height:20px;width:auto;flex-shrink:0}.start-page{display:flex;flex-direction:column;flex-grow:1;min-height:0}.start-page .ratho-tab-view{--content-padding:2rem}.ratho-tab-view .nav-link img{filter:grayscale(1) brightness(.55);transition:filter .15s ease}.ratho-tab-view .nav-link.active img{filter:grayscale(1) brightness(.35)}.ratho-tab-view .nav-item:has(.nav-link.disabled){cursor:not-allowed}.ratho-tab-view .nav-link.disabled{pointer-events:none;color:var(--bs-secondary-color);opacity:.55}@media (max-width:575.98px){.ratho-tab-view .nav-link i{margin-right:0;font-size:1.125rem}}.error-page{min-height:80vh;display:flex;align-items:center;padding:3rem 15px;background:var(--bg-cream)}.error-page-card{background:var(--bg-white);border:1px solid var(--border-side);border-radius:1.25rem;padding:3rem 2.5rem;box-shadow:0 4px 24px var(--shadow-sm);max-width:800px;margin:0 auto;animation:errorSlideIn .6s ease-out}.error-page-subtitle{max-width:500px}.error-page-icon{font-size:4rem;z-index:1}.error-page-pulse{position:absolute;width:120px;height:120px;border-radius:50%;border:2px solid var(--brand-primary);opacity:0;animation:errorPulse 2s ease-out infinite}.error-page .ratho-action-card{background:var(--bg-panel-cream);border-color:var(--border-soft)}.error-page .ratho-action-card:hover{background:var(--bg-white);box-shadow:0 4px 16px var(--shadow-sm)}.error-page .ratho-action-card .ratho-action-card-icon{color:var(--brand-primary)}.error-page .ratho-action-card .ratho-action-card-title{color:var(--text-dark)}.error-page-footer{border-color:var(--border-soft)!important}.error-page-technical-details{max-width:550px}@keyframes errorSlideIn{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes errorPulse{0%{transform:scale(.5);opacity:.6}100%{transform:scale(1.2);opacity:0}}.error-page-owl{width:120px;height:auto;animation:errorOwlFloat 3s ease-in-out infinite}@keyframes errorOwlFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}@media (max-width:768px){.error-page{padding:2rem 15px}.error-page-card{padding:2rem 1.5rem}.error-page-actions{flex-direction:column}}.customer-onboarding-page{padding:3rem 0;min-height:85vh;position:relative}.customer-onboarding-page .onboarding-card{background:var(--bg-white);border:1px solid var(--border-side);border-radius:1.25rem;padding:3rem 2.5rem;box-shadow:0 4px 24px var(--shadow-sm);position:relative;overflow:hidden;animation:slideInUp .8s ease-out}.customer-onboarding-page .onboarding-mascot{width:100px;height:auto;filter:drop-shadow(0 4px 12px var(--glow-brand-xs))}.customer-onboarding-page .onboarding-hero{position:relative;z-index:1}.customer-onboarding-page .onboarding-hero .hero-title{color:var(--text-dark);font-weight:700;font-size:2rem}.customer-onboarding-page .onboarding-hero .hero-description,.customer-onboarding-page .onboarding-hero .hero-subtitle{font-size:1.125rem;line-height:1.5;color:var(--text-muted)}.customer-onboarding-page .onboarding-benefits{position:relative;z-index:1}.customer-onboarding-page .onboarding-benefits h4{color:var(--text-dark);font-weight:700}.customer-onboarding-page .onboarding-benefits .benefit-item{padding:1.5rem;border-radius:.75rem;background:var(--bg-panel-cream);border:1px solid var(--border-soft);height:100%}.customer-onboarding-page .onboarding-benefits .benefit-item h6{font-weight:600;color:var(--text-dark);margin-bottom:.5rem}.customer-onboarding-page .onboarding-benefits .benefit-item p{color:var(--text-muted);margin-bottom:0;line-height:1.4}.customer-onboarding-page .onboarding-cta{position:relative;z-index:1}.customer-onboarding-page .onboarding-cta h5{color:var(--text-dark);font-weight:700}.customer-onboarding-page .onboarding-cta .cta-buttons{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-bottom:2rem}.customer-onboarding-page .onboarding-cta .cta-buttons .btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1.5rem;border-radius:.75rem;font-weight:600;transition:all .3s ease;min-width:160px}.customer-onboarding-page .onboarding-cta .cta-buttons .btn:hover{transform:translateY(-2px)}.customer-onboarding-page .onboarding-cta .alternative-login{border-color:var(--border-soft)!important}@media (max-width:768px){.customer-onboarding-page{padding:2rem 0}.customer-onboarding-page .onboarding-card{padding:2rem 1.5rem}.customer-onboarding-page .onboarding-hero .hero-title{font-size:1.5rem}}.rathogridstack-host{transition:opacity .2s ease;opacity:1}.rathogridstack-host.is-reloading{opacity:.55}.grid-stack{overflow:visible;margin-left:calc(var(--gs-item-margin-left,6px) * -1);margin-right:calc(var(--gs-item-margin-right,6px) * -1)}.grid-stack .grid-stack-item{overflow:visible;container-type:inline-size;visibility:hidden}.grid-stack .grid-stack-item>.grid-stack-item-content{border-radius:.75rem;box-shadow:0 1px 3px var(--shadow-sm);transition:transform 150ms ease,box-shadow 150ms ease;overflow:hidden;background:linear-gradient(90deg,var(--skeleton-base) 25%,var(--skeleton-highlight) 50%,var(--skeleton-base) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s ease-in-out infinite}.grid-stack .grid-stack-item>.grid-stack-item-content>*{opacity:0;transition:opacity .3s ease}.grid-stack .grid-stack-item:hover>.grid-stack-item-content{transform:translateY(-2px);box-shadow:0 8px 20px var(--shadow-xl)}.grid-stack.gs-no-transition,.grid-stack.gs-no-transition .grid-stack-item,.grid-stack.gs-no-transition .grid-stack-item-content{transition:none!important}.grid-stack.gs-initialized .grid-stack-item{visibility:visible}.grid-stack.gs-content-ready .grid-stack-item>.grid-stack-item-content{animation:none;background:0 0}.grid-stack.gs-content-ready .grid-stack-item>.grid-stack-item-content>*{opacity:1}.gs-delete-indicator,.gs-edit-indicator,.gs-lock-indicator,.gs-widget-badge{position:absolute;z-index:10;user-select:none;-webkit-user-select:none;width:clamp(1.75rem,17cqi,3.25rem);height:clamp(1.75rem,17cqi,3.25rem);border-radius:50%;background-color:var(--gradient-start);border:3px solid var(--bg-white);padding:0;transition:transform 150ms ease;display:flex;align-items:center;justify-content:center}.gs-delete-indicator i,.gs-edit-indicator i,.gs-lock-indicator i,.gs-widget-badge i{color:var(--text-white);font-size:clamp(.7rem,7.5cqi,1.25rem);line-height:1;display:inline-flex;align-items:center;justify-content:center}.gs-delete-indicator>img,.gs-edit-indicator>img,.gs-lock-indicator>img,.gs-widget-badge>img{width:100%;height:100%;display:block;object-fit:contain;pointer-events:none;-webkit-user-drag:none}.grid-stack-item:hover .gs-delete-indicator,.grid-stack-item:hover .gs-edit-indicator,.grid-stack-item:hover .gs-lock-indicator,.grid-stack-item:hover .gs-widget-badge{transform:translateY(-2px)}.gs-lock-indicator{top:clamp(.2rem,1cqi,.4rem);right:clamp(.2rem,1cqi,.4rem);background:0 0;border:0}.gs-lock-indicator--interactive{cursor:pointer;outline:0}.gs-lock-indicator--interactive:hover{filter:brightness(.9)}.gs-lock-indicator--interactive:focus-visible{outline:2px solid var(--focus-ring-blue);outline-offset:2px}.gs-lock-indicator--unlocked{filter:grayscale(1)}.gs-lock-indicator--unlocked.gs-lock-indicator--interactive:hover{filter:grayscale(1) brightness(.9)}.gs-edit-indicator{top:clamp(.2rem,1cqi,.4rem);left:clamp(.2rem,1cqi,.4rem);cursor:pointer;outline:0}.gs-edit-indicator:hover{filter:brightness(.9)}.gs-edit-indicator:focus-visible{outline:2px solid var(--focus-ring-blue);outline-offset:2px}.gs-delete-indicator{bottom:clamp(.2rem,1cqi,.4rem);left:clamp(.2rem,1cqi,.4rem);background:0 0;border:0;cursor:pointer;outline:0}.gs-delete-indicator:hover{filter:brightness(.9)}.gs-delete-indicator:focus-visible{outline:2px solid var(--focus-ring-blue);outline-offset:2px}@media (max-width:575.98px){.grid-stack>.grid-stack-item>.grid-stack-item-content{inset:3px}}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIl9mb250cy5zY3NzIiwiTGF5b3V0L0dlbmVyYWwuc2NzcyIsIl90eXBvZ3JhcGh5LXRva2Vucy5zY3NzIiwiY29tcG9uZW50cy9fYmFzZS9fdXRpbGl0aWVzLnNjc3MiLCJMYXlvdXQvTWFpbkxheW91dC5zY3NzIiwiTGF5b3V0L1BvcnRhbEhlYWRlci5zY3NzIiwiTGF5b3V0L1BvcnRhbFNpZGViYXIuc2NzcyIsIkxheW91dC9IZWFkZXJEcm9wZG93bi5zY3NzIiwiTGF5b3V0L0Ryb3Bkb3duTWVudUl0ZW0uc2NzcyIsIkxheW91dC9IZWFkZXJTZXR0aW5nc0Ryb3Bkb3duLnNjc3MiLCJMYXlvdXQvSGVhZGVyQXBwRHJhd2VyLnNjc3MiLCJjb21wb25lbnRzL1NpZGVNZW51L1Byb2ZpbGVDYXJkLnNjc3MiLCJjb21wb25lbnRzL1NpZGVNZW51L0dyb3VwTGlicmFyaWVzLnNjc3MiLCJjb21wb25lbnRzL1RhYlNjcm9sbC5zY3NzIiwiY29tcG9uZW50cy9Vc2VyVGlsZUNhcmQuc2NzcyIsImNvbXBvbmVudHMvU2tlbGV0b24uc2NzcyIsImNvbXBvbmVudHMvUmF0aG9BbGVydC5zY3NzIiwiY29tcG9uZW50cy9CZXRhQmFubmVyLnNjc3MiLCJjb21wb25lbnRzL1JhdGhvQmxhem9yU2VsZWN0SW5wdXQuc2NzcyIsImNvbXBvbmVudHMvRmx5b3V0L0ZseW91dC5zY3NzIiwiY29tcG9uZW50cy9GbHlvdXQvQ2hhbmdlRW52aXJvbm1lbnRGbHlvdXQuc2NzcyIsImNvbXBvbmVudHMvRmx5b3V0L0NoYW5nZVByb2ZpbGVQaWN0dXJlRmx5b3V0LnNjc3MiLCJjb21wb25lbnRzL0ZseW91dC9RdWlja1N0YXJ0Rmx5b3V0LnNjc3MiLCJjb21wb25lbnRzL0ZseW91dC9SZXNldFBhc3N3b3JkRmx5b3V0LnNjc3MiLCJjb21wb25lbnRzL0ZseW91dC9NYW5hZ2VQaW5uZWRHcm91cHNGbHlvdXQuc2NzcyIsIkxheW91dC9UYWJFeHBhbmRIYW5kbGUuc2NzcyIsInBhZ2VzL0FjY291bnQvU3R1ZGVudC5zY3NzIiwicGFnZXMvQWNjb3VudC9Hcm91cHMuc2NzcyIsInBhZ2VzL0NsYXNzTWFuYWdlbWVudC9fU2NyZWVuc2hvdFZpZXdlci5zY3NzIiwicGFnZXMvQ2xhc3NNYW5hZ2VtZW50L19Ucm91Ymxlc2hvb3RpbmdXaXphcmQuc2NzcyIsInBhZ2VzL0NsYXNzTWFuYWdlbWVudC9DbGFzc01hbmFnZW1lbnQuc2NzcyIsInBhZ2VzL0NsYXNzTWFuYWdlbWVudC9FeHBvcnRQaWN0dXJlUGFzc3dvcmRzLnNjc3MiLCJwYWdlcy9IZWxwZGVzay9IZWxwVXBkYXRlcy5zY3NzIiwicGFnZXMvQWNjb3VudC9Db21wb25lbnRzL01pY3Jvc29mdExvZ2luQnV0dG9uLnNjc3MiLCJwYWdlcy9TdGFydC9TdGFydC5zY3NzIiwicGFnZXMvRXJyb3IvRXJyb3JQYWdlLnNjc3MiLCJwYWdlcy9FcnJvci9Ob1J1cC5zY3NzIiwiY29tcG9uZW50cy9ncmlkc3RhY2svcmF0aG9ncmlkc3RhY2suc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiaUJBR0EsV0FDRSxZQUFBLFFBQ0EsV0FBQSxPQUNBLFlBQUEsSUFDQSxhQUFBLEtBQ0EsSUFBQSxvREFBQSxnQkFDQSxjQUFBLFdBQUEsQ0FBQSxXQUFBLENBQUEsV0FBQSxDQUFBLFdBQUEsQ0FBQSxXQUFBLENBQUEsTUFBQSxDQUFBLE1BQUEsQ0FBQSxNQUFBLENBQUEsV0FBQSxDQUFBLFdBQUEsQ0FBQSxXQUFBLENBQUEsTUFBQSxDQUFBLFdBQUEsQ0FBQSxXQUFBLENBQUEsTUFBQSxDQUFBLFdBQUEsQ0FBQSxZQUdGLFdBQ0UsWUFBQSxRQUNBLFdBQUEsT0FDQSxZQUFBLElBQ0EsYUFBQSxLQUNBLElBQUEsZ0RBQUEsZ0JBQ0EsY0FBQSxXQUFBLENBQUEsTUFBQSxDQUFBLFdBQUEsQ0FBQSxXQUFBLENBQUEsTUFBQSxDQUFBLE1BQUEsQ0FBQSxNQUFBLENBQUEsTUFBQSxDQUFBLE1BQUEsQ0FBQSxNQUFBLENBQUEsV0FBQSxDQUFBLE1BQUEsQ0FBQSxNQUFBLENBQUEsTUFBQSxDQUFBLE1BQUEsQ0FBQSxNQUFBLENBQUEsTUFBQSxDQUFBLE1BQUEsQ0FBQSxPQUlGLFdBQ0UsWUFBQSxRQUNBLFdBQUEsT0FDQSxZQUFBLElBQ0EsYUFBQSxLQUNBLElBQUEsbURBQUEsZ0JBQ0EsY0FBQSxXQUFBLENBQUEsV0FBQSxDQUFBLFdBQUEsQ0FBQSxXQUFBLENBQUEsV0FBQSxDQUFBLE1BQUEsQ0FBQSxNQUFBLENBQUEsTUFBQSxDQUFBLFdBQUEsQ0FBQSxXQUFBLENBQUEsV0FBQSxDQUFBLE1BQUEsQ0FBQSxXQUFBLENBQUEsV0FBQSxDQUFBLE1BQUEsQ0FBQSxXQUFBLENBQUEsWUFHRixXQUNFLFlBQUEsUUFDQSxXQUFBLE9BQ0EsWUFBQSxJQUNBLGFBQUEsS0FDQSxJQUFBLCtDQUFBLGdCQUNBLGNBQUEsV0FBQSxDQUFBLE1BQUEsQ0FBQSxXQUFBLENBQUEsV0FBQSxDQUFBLE1BQUEsQ0FBQSxNQUFBLENBQUEsTUFBQSxDQUFBLE1BQUEsQ0FBQSxNQUFBLENBQUEsTUFBQSxDQUFBLFdBQUEsQ0FBQSxNQUFBLENBQUEsTUFBQSxDQUFBLE1BQUEsQ0FBQSxNQUFBLENBQUEsTUFBQSxDQUFBLE1BQUEsQ0FBQSxNQUFBLENBQUEsT0FJRixXQUNFLFlBQUEsT0FDQSxXQUFBLE9BQ0EsWUFBQSxJQUNBLGFBQUEsS0FDQSxJQUFBLDBDQUFBLGdCQUNBLGNBQUEsV0FBQSxDQUFBLFdBQUEsQ0FBQSxXQUFBLENBQUEsV0FBQSxDQUFBLFdBQUEsQ0FBQSxNQUFBLENBQUEsTUFBQSxDQUFBLE1BQUEsQ0FBQSxXQUFBLENBQUEsV0FBQSxDQUFBLFdBQUEsQ0FBQSxNQUFBLENBQUEsV0FBQSxDQUFBLFdBQUEsQ0FBQSxNQUFBLENBQUEsV0FBQSxDQUFBLFlBR0YsV0FDRSxZQUFBLE9BQ0EsV0FBQSxPQUNBLFlBQUEsSUFDQSxhQUFBLEtBQ0EsSUFBQSxzQ0FBQSxnQkFDQSxjQUFBLFdBQUEsQ0FBQSxNQUFBLENBQUEsV0FBQSxDQUFBLFdBQUEsQ0FBQSxNQUFBLENBQUEsTUFBQSxDQUFBLE1BQUEsQ0FBQSxNQUFBLENBQUEsTUFBQSxDQUFBLE1BQUEsQ0FBQSxXQUFBLENBQUEsTUFBQSxDQUFBLE1BQUEsQ0FBQSxNQUFBLENBQUEsTUFBQSxDQUFBLE1BQUEsQ0FBQSxNQUFBLENBQUEsTUFBQSxDQUFBLE9BR0YsV0FDRSxZQUFBLE9BQ0EsV0FBQSxPQUNBLFlBQUEsSUFDQSxhQUFBLEtBQ0EsSUFBQSwwQ0FBQSxnQkFDQSxjQUFBLFdBQUEsQ0FBQSxXQUFBLENBQUEsV0FBQSxDQUFBLFdBQUEsQ0FBQSxXQUFBLENBQUEsTUFBQSxDQUFBLE1BQUEsQ0FBQSxNQUFBLENBQUEsV0FBQSxDQUFBLFdBQUEsQ0FBQSxXQUFBLENBQUEsTUFBQSxDQUFBLFdBQUEsQ0FBQSxXQUFBLENBQUEsTUFBQSxDQUFBLFdBQUEsQ0FBQSxZQUdGLFdBQ0UsWUFBQSxPQUNBLFdBQUEsT0FDQSxZQUFBLElBQ0EsYUFBQSxLQUNBLElBQUEsc0NBQUEsZ0JBQ0EsY0FBQSxXQUFBLENBQUEsTUFBQSxDQUFBLFdBQUEsQ0FBQSxXQUFBLENBQUEsTUFBQSxDQUFBLE1BQUEsQ0FBQSxNQUFBLENBQUEsTUFBQSxDQUFBLE1BQUEsQ0FBQSxNQUFBLENBQUEsV0FBQSxDQUFBLE1BQUEsQ0FBQSxNQUFBLENBQUEsTUFBQSxDQUFBLE1BQUEsQ0FBQSxNQUFBLENBQUEsTUFBQSxDQUFBLE1BQUEsQ0FBQSxPQUdGLFdBQ0UsWUFBQSxPQUNBLFdBQUEsT0FDQSxZQUFBLElBQ0EsYUFBQSxLQUNBLElBQUEsMENBQUEsZ0JBQ0EsY0FBQSxXQUFBLENBQUEsV0FBQSxDQUFBLFdBQUEsQ0FBQSxXQUFBLENBQUEsV0FBQSxDQUFBLE1BQUEsQ0FBQSxNQUFBLENBQUEsTUFBQSxDQUFBLFdBQUEsQ0FBQSxXQUFBLENBQUEsV0FBQSxDQUFBLE1BQUEsQ0FBQSxXQUFBLENBQUEsV0FBQSxDQUFBLE1BQUEsQ0FBQSxXQUFBLENBQUEsWUFHRixXQUNFLFlBQUEsT0FDQSxXQUFBLE9BQ0EsWUFBQSxJQUNBLGFBQUEsS0FDQSxJQUFBLHNDQUFBLGdCQUNBLGNBQUEsV0FBQSxDQUFBLE1BQUEsQ0FBQSxXQUFBLENBQUEsV0FBQSxDQUFBLE1BQUEsQ0FBQSxNQUFBLENBQUEsTUFBQSxDQUFBLE1BQUEsQ0FBQSxNQUFBLENBQUEsTUFBQSxDQUFBLFdBQUEsQ0FBQSxNQUFBLENBQUEsTUFBQSxDQUFBLE1BQUEsQ0FBQSxNQUFBLENBQUEsTUFBQSxDQUFBLE1BQUEsQ0FBQSxNQUFBLENBQUEsT0FHRixXQUNFLFlBQUEsT0FDQSxXQUFBLE9BQ0EsWUFBQSxJQUNBLGFBQUEsS0FDQSxJQUFBLDBDQUFBLGdCQUNBLGNBQUEsV0FBQSxDQUFBLFdBQUEsQ0FBQSxXQUFBLENBQUEsV0FBQSxDQUFBLFdBQUEsQ0FBQSxNQUFBLENBQUEsTUFBQSxDQUFBLE1BQUEsQ0FBQSxXQUFBLENBQUEsV0FBQSxDQUFBLFdBQUEsQ0FBQSxNQUFBLENBQUEsV0FBQSxDQUFBLFdBQUEsQ0FBQSxNQUFBLENBQUEsV0FBQSxDQUFBLFlBR0YsV0FDRSxZQUFBLE9BQ0EsV0FBQSxPQUNBLFlBQUEsSUFDQSxhQUFBLEtBQ0EsSUFBQSxzQ0FBQSxnQkFDQSxjQUFBLFdBQUEsQ0FBQSxNQUFBLENBQUEsV0FBQSxDQUFBLFdBQUEsQ0FBQSxNQUFBLENBQUEsTUFBQSxDQUFBLE1BQUEsQ0FBQSxNQUFBLENBQUEsTUFBQSxDQUFBLE1BQUEsQ0FBQSxXQUFBLENBQUEsTUFBQSxDQUFBLE1BQUEsQ0FBQSxNQUFBLENBQUEsTUFBQSxDQUFBLE1BQUEsQ0FBQSxNQUFBLENBQUEsTUFBQSxDQUFBLE9DMUdGLE1BSUMsZ0JBQUEsUUFDQSxrQkFBQSxRQUNBLG9CQUFBLFFBQ0EscUJBQUEsUUFDQSxrQkFBQSxRQUdBLG9CQUFBLEdBQUEsQ0FBQSxHQUFBLENBQUEsR0FDQSxtQkFBQSxHQUFBLENBQUEsR0FBQSxDQUFBLEdBQ0EsbUJBQUEsR0FBQSxDQUFBLEdBQUEsQ0FBQSxHQUNBLGtCQUFBLEdBQUEsQ0FBQSxHQUFBLENBQUEsR0FDQSxzQkFBQSxHQUFBLENBQUEsR0FBQSxDQUFB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QSxNQUFBLHVCQUNBLGVBQUEsSUFXUiw0QkFDSSxzREFDSSxNQUFBIiwiZmlsZSI6InBvcnRhbC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBMb2NhbCBmb250IGRlZmluaXRpb25zIChob3N0ZWQgaW5zdGVhZCBvZiBHb29nbGUgRm9udHMgZm9yIHByaXZhY3kvcGVyZm9ybWFuY2UpXHJcblxyXG4vLyBBQmVlWmVlIC0gUmVndWxhclxyXG5AZm9udC1mYWNlIHtcclxuICBmb250LWZhbWlseTogJ0FCZWVaZWUnO1xyXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICBmb250LXdlaWdodDogNDAwO1xyXG4gIGZvbnQtZGlzcGxheTogc3dhcDtcclxuICBzcmM6IHVybCgnL2ZvbnRzL2FiZWV6ZWUvYWJlZXplZS1yZWd1bGFyLWxhdGluLWV4dC53b2ZmMicpIGZvcm1hdCgnd29mZjInKTtcclxuICB1bmljb2RlLXJhbmdlOiBVKzAxMDAtMDJCQSwgVSswMkJELTAyQzUsIFUrMDJDNy0wMkNDLCBVKzAyQ0UtMDJENywgVSswMkRELTAyRkYsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMUQwMC0xREJGLCBVKzFFMDAtMUU5RiwgVSsxRUYyLTFFRkYsIFUrMjAyMCwgVSsyMEEwLTIwQUIsIFUrMjBBRC0yMEMwLCBVKzIxMTMsIFUrMkM2MC0yQzdGLCBVK0E3MjAtQTdGRjtcclxufVxyXG5cclxuQGZvbnQtZmFjZSB7XHJcbiAgZm9udC1mYW1pbHk6ICdBQmVlWmVlJztcclxuICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICBmb250LWRpc3BsYXk6IHN3YXA7XHJcbiAgc3JjOiB1cmwoJy9mb250cy9hYmVlemVlL2FiZWV6ZWUtcmVndWxhci1sYXRpbi53b2ZmMicpIGZvcm1hdCgnd29mZjInKTtcclxuICB1bmljb2RlLXJhbmdlOiBVKzAwMDAtMDBGRiwgVSswMTMxLCBVKzAxNTItMDE1MywgVSswMkJCLTAyQkMsIFUrMDJDNiwgVSswMkRBLCBVKzAyREMsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMjAwMC0yMDZGLCBVKzIwQUMsIFUrMjEyMiwgVSsyMTkxLCBVKzIxOTMsIFUrMjIxMiwgVSsyMjE1LCBVK0ZFRkYsIFUrRkZGRDtcclxufVxyXG5cclxuLy8gQUJlZVplZSAtIEl0YWxpY1xyXG5AZm9udC1mYWNlIHtcclxuICBmb250LWZhbWlseTogJ0FCZWVaZWUnO1xyXG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcclxuICBmb250LXdlaWdodDogNDAwO1xyXG4gIGZvbnQtZGlzcGxheTogc3dhcDtcclxuICBzcmM6IHVybCgnL2ZvbnRzL2FiZWV6ZWUvYWJlZXplZS1pdGFsaWMtbGF0aW4tZXh0LndvZmYyJykgZm9ybWF0KCd3b2ZmMicpO1xyXG4gIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMC0wMkJBLCBVKzAyQkQtMDJDNSwgVSswMkM3LTAyQ0MsIFUrMDJDRS0wMkQ3LCBVKzAyREQtMDJGRiwgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsxRDAwLTFEQkYsIFUrMUUwMC0xRTlGLCBVKzFFRjItMUVGRiwgVSsyMDIwLCBVKzIwQTAtMjBBQiwgVSsyMEFELTIwQzAsIFUrMjExMywgVSsyQzYwLTJDN0YsIFUrQTcyMC1BN0ZGO1xyXG59XHJcblxyXG5AZm9udC1mYWNlIHtcclxuICBmb250LWZhbWlseTogJ0FCZWVaZWUnO1xyXG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcclxuICBmb250LXdlaWdodDogNDAwO1xyXG4gIGZvbnQtZGlzcGxheTogc3dhcDtcclxuICBzcmM6IHVybCgnL2ZvbnRzL2FiZWV6ZWUvYWJlZXplZS1pdGFsaWMtbGF0aW4ud29mZjInKSBmb3JtYXQoJ3dvZmYyJyk7XHJcbiAgdW5pY29kZS1yYW5nZTogVSswMDAwLTAwRkYsIFUrMDEzMSwgVSswMTUyLTAxNTMsIFUrMDJCQi0wMkJDLCBVKzAyQzYsIFUrMDJEQSwgVSswMkRDLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzIwMDAtMjA2RiwgVSsyMEFDLCBVKzIxMjIsIFUrMjE5MSwgVSsyMTkzLCBVKzIyMTIsIFUrMjIxNSwgVStGRUZGLCBVK0ZGRkQ7XHJcbn1cclxuXHJcbi8vIE51bml0byAtIFdlaWdodHMgNDAwLCA1MDAsIDYwMCwgNzAwXHJcbkBmb250LWZhY2Uge1xyXG4gIGZvbnQtZmFtaWx5OiAnTnVuaXRvJztcclxuICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICBmb250LWRpc3BsYXk6IHN3YXA7XHJcbiAgc3JjOiB1cmwoJy9mb250cy9udW5pdG8vbnVuaXRvLWxhdGluLWV4dC53b2ZmMicpIGZvcm1hdCgnd29mZjInKTtcclxuICB1bmljb2RlLXJhbmdlOiBVKzAxMDAtMDJCQSwgVSswMkJELTAyQzUsIFUrMDJDNy0wMkNDLCBVKzAyQ0UtMDJENywgVSswMkRELTAyRkYsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMUQwMC0xREJGLCBVKzFFMDAtMUU5RiwgVSsxRUYyLTFFRkYsIFUrMjAyMCwgVSsyMEEwLTIwQUIsIFUrMjBBRC0yMEMwLCBVKzIxMTMsIFUrMkM2MC0yQzdGLCBVK0E3MjAtQTdGRjtcclxufVxyXG5cclxuQGZvbnQtZmFjZSB7XHJcbiAgZm9udC1mYW1pbHk6ICdOdW5pdG8nO1xyXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICBmb250LXdlaWdodDogNDAwO1xyXG4gIGZvbnQtZGlzcGxheTogc3dhcDtcclxuICBzcmM6IHVybCgnL2ZvbnRzL251bml0by9udW5pdG8tbGF0aW4ud29mZjInKSBmb3JtYXQoJ3dvZmYyJyk7XHJcbiAgdW5pY29kZS1yYW5nZTogVSswMDAwLTAwRkYsIFUrMDEzMSwgVSswMTUyLTAxNTMsIFUrMDJCQi0wMkJDLCBVKzAyQzYsIFUrMDJEQSwgVSswMkRDLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzIwMDAtMjA2RiwgVSsyMEFDLCBVKzIxMjIsIFUrMjE5MSwgVSsyMTkzLCBVKzIyMTIsIFUrMjIxNSwgVStGRUZGLCBVK0ZGRkQ7XHJcbn1cclxuXHJcbkBmb250LWZhY2Uge1xyXG4gIGZvbnQtZmFtaWx5OiAnTnVuaXRvJztcclxuICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICBmb250LWRpc3BsYXk6IHN3YXA7XHJcbiAgc3JjOiB1cmwoJy9mb250cy9udW5pdG8vbnVuaXRvLWxhdGluLWV4dC53b2ZmMicpIGZvcm1hdCgnd29mZjInKTtcclxuICB1bmljb2RlLXJhbmdlOiBVKzAxMDAtMDJCQSwgVSswMkJELTAyQzUsIFUrMDJDNy0wMkNDLCBVKzAyQ0UtMDJENywgVSswMkRELTAyRkYsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMUQwMC0xREJGLCBVKzFFMDAtMUU5RiwgVSsxRUYyLTFFRkYsIFUrMjAyMCwgVSsyMEEwLTIwQUIsIFUrMjBBRC0yMEMwLCBVKzIxMTMsIFUrMkM2MC0yQzdGLCBVK0E3MjAtQTdGRjtcclxufVxyXG5cclxuQGZvbnQtZmFjZSB7XHJcbiAgZm9udC1mYW1pbHk6ICdOdW5pdG8nO1xyXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICBmb250LXdlaWdodDogNTAwO1xyXG4gIGZvbnQtZGlzcGxheTogc3dhcDtcclxuICBzcmM6IHVybCgnL2ZvbnRzL251bml0by9udW5pdG8tbGF0aW4ud29mZjInKSBmb3JtYXQoJ3dvZmYyJyk7XHJcbiAgdW5pY29kZS1yYW5nZTogVSswMDAwLTAwRkYsIFUrMDEzMSwgVSswMTUyLTAxNTMsIFUrMDJCQi0wMkJDLCBVKzAyQzYsIFUrMDJEQSwgVSswMkRDLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzIwMDAtMjA2RiwgVSsyMEFDLCBVKzIxMjIsIFUrMjE5MSwgVSsyMTkzLCBVKzIyMTIsIFUrMjIxNSwgVStGRUZGLCBVK0ZGRkQ7XHJcbn1cclxuXHJcbkBmb250LWZhY2Uge1xyXG4gIGZvbnQtZmFtaWx5OiAnTnVuaXRvJztcclxuICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICBmb250LWRpc3BsYXk6IHN3YXA7XHJcbiAgc3JjOiB1cmwoJy9mb250cy9udW5pdG8vbnVuaXRvLWxhdGluLWV4dC53b2ZmMicpIGZvcm1hdCgnd29mZjInKTtcclxuICB1bmljb2RlLXJhbmdlOiBVKzAxMDAtMDJCQSwgVSswMkJELTAyQzUsIFUrMDJDNy0wMkNDLCBVKzAyQ0UtMDJENywgVSswMkRELTAyRkYsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMUQwMC0xREJGLCBVKzFFMDAtMUU5RiwgVSsxRUYyLTFFRkYsIFUrMjAyMCwgVSsyMEEwLTIwQUIsIFUrMjBBRC0yMEMwLCBVKzIxMTMsIFUrMkM2MC0yQzdGLCBVK0E3MjAtQTdGRjtcclxufVxyXG5cclxuQGZvbnQtZmFjZSB7XHJcbiAgZm9udC1mYW1pbHk6ICdOdW5pdG8nO1xyXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICBmb250LXdlaWdodDogNjAwO1xyXG4gIGZvbnQtZGlzcGxheTogc3dhcDtcclxuICBzcmM6IHVybCgnL2ZvbnRzL251bml0by9udW5pdG8tbGF0aW4ud29mZjInKSBmb3JtYXQoJ3dvZmYyJyk7XHJcbiAgdW5pY29kZS1yYW5nZTogVSswMDAwLTAwRkYsIFUrMDEzMSwgVSswMTUyLTAxNTMsIFUrMDJCQi0wMkJDLCBVKzAyQzYsIFUrMDJEQSwgVSswMkRDLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzIwMDAtMjA2RiwgVSsyMEFDLCBVKzIxMjIsIFUrMjE5MSwgVSsyMTkzLCBVKzIyMTIsIFUrMjIxNSwgVStGRUZGLCBVK0ZGRkQ7XHJcbn1cclxuXHJcbkBmb250LWZhY2Uge1xyXG4gIGZvbnQtZmFtaWx5OiAnTnVuaXRvJztcclxuICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICBmb250LWRpc3BsYXk6IHN3YXA7XHJcbiAgc3JjOiB1cmwoJy9mb250cy9udW5pdG8vbnVuaXRvLWxhdGluLWV4dC53b2ZmMicpIGZvcm1hdCgnd29mZjInKTtcclxuICB1bmljb2RlLXJhbmdlOiBVKzAxMDAtMDJCQSwgVSswMkJELTAyQzUsIFUrMDJDNy0wMkNDLCBVKzAyQ0UtMDJENywgVSswMkRELTAyRkYsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMUQwMC0xREJGLCBVKzFFMDAtMUU5RiwgVSsxRUYyLTFFRkYsIFUrMjAyMCwgVSsyMEEwLTIwQUIsIFUrMjBBRC0yMEMwLCBVKzIxMTMsIFUrMkM2MC0yQzdGLCBVK0E3MjAtQTdGRjtcclxufVxyXG5cclxuQGZvbnQtZmFjZSB7XHJcbiAgZm9udC1mYW1pbHk6ICdOdW5pdG8nO1xyXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICBmb250LXdlaWdodDogNzAwO1xyXG4gIGZvbnQtZGlzcGxheTogc3dhcDtcclxuICBzcmM6IHVybCgnL2ZvbnRzL251bml0by9udW5pdG8tbGF0aW4ud29mZjInKSBmb3JtYXQoJ3dvZmYyJyk7XHJcbiAgdW5pY29kZS1yYW5nZTogVSswMDAwLTAwRkYsIFUrMDEzMSwgVSswMTUyLTAxNTMsIFUrMDJCQi0wMkJDLCBVKzAyQzYsIFUrMDJEQSwgVSswMkRDLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzIwMDAtMjA2RiwgVSsyMEFDLCBVKzIxMjIsIFUrMjE5MSwgVSsyMTkzLCBVKzIyMTIsIFUrMjIxNSwgVStGRUZGLCBVK0ZGRkQ7XHJcbn1cclxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgR0xPQkFMIFRIRU1FIC0gQ1NTIFZhcmlhYmxlcyBhbmQgQmFzZSBTdHlsZXNcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbjpyb290IHtcclxuXHQvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcblx0ICAgQlJBTkQgQ09MT1JTIChVc2luZyBSYXRobyBEZXNpZ24gU3lzdGVtKVxyXG5cdCAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHQtLWJyYW5kLXByaW1hcnk6ICNGNjcxNjA7ICAgICAgICAgICAgICAgLyogUmF0aG8gY29yYWwvc2FsbW9uICovXHJcblx0LS1icmFuZC1zZWNvbmRhcnk6ICNGMEMzNzQ7ICAgICAgICAgICAgIC8qIFJhdGhvIGdyb3VwIHRleHQgZ29sZCAqL1xyXG5cdC0tYnJhbmQtYWNjZW50LWRhcms6ICNFQTU4MEM7XHJcblx0LS1icmFuZC1hY2NlbnQtbGlnaHQ6ICNGRjhGNjE7ICAgICAgICAgIC8qIFJhdGhvIG9yYW5nZSAqL1xyXG5cdC0tYnJhbmQtaGlnaGxpZ2h0OiAjRkFEOEQ2OyAgICAgICAgICAgICAvKiBSYXRobyBncm91cCBzZWxlY3Rpb24gcGluayAqL1xyXG5cclxuXHQvKiBSR0IgY29tcG9uZW50cyDigJQgdXNlIHdpdGggcmdiYSh2YXIoLS1icmFuZC0qLXJnYiksIGFscGhhKSAqL1xyXG5cdC0tYnJhbmQtcHJpbWFyeS1yZ2I6IDI0NiwgMTEzLCA5NjsgICAgIC8qICNGNjcxNjAgY29yYWwgKi9cclxuXHQtLWJyYW5kLWFjY2VudC1yZ2I6IDI1NSwgMTQzLCA5NzsgICAgICAvKiAjRkY4RjYxIG9yYW5nZSAqL1xyXG5cdC0tYnJhbmQtaGVhZGVyLXJnYjogMjM5LCAxMjMsIDgyOyAgICAgIC8qICNFRjdCNTIgaGVhZGVyIGdyYWRpZW50IG9yYW5nZSAqL1xyXG5cdC0tYnJhbmQtZm9jdXMtcmdiOiAyNDksIDExNSwgOTk7ICAgICAgIC8qIGZvY3VzIHJpbmcgY29yYWwgKi9cclxuXHQtLWJyYW5kLWZvY3VzLWFsdC1yZ2I6IDI1MCwgMTIwLCA5NzsgICAvKiBmb2N1cyByaW5nIGFsdCAqL1xyXG5cclxuXHQtLWJyYW5kLXByaW1hcnktZmFkZWQ6IHJnYmEodmFyKC0tYnJhbmQtcHJpbWFyeS1yZ2IpLCAwLjQpO1xyXG5cdC0tYnJhbmQtYWNjZW50LWJnOiByZ2JhKHZhcigtLWJyYW5kLWFjY2VudC1yZ2IpLCAwLjEpO1xyXG5cdC0tYnJhbmQtYWNjZW50LWJnLXN1YnRsZTogcmdiYSh2YXIoLS1icmFuZC1hY2NlbnQtcmdiKSwgMC4wOCk7XHJcblx0LS1icmFuZC1hY2NlbnQtYmctZmFpbnQ6IHJnYmEodmFyKC0tYnJhbmQtYWNjZW50LXJnYiksIDAuMDYpO1xyXG5cdC0tYnJhbmQtYWNjZW50LWJnLWhvdmVyOiByZ2JhKHZhcigtLWJyYW5kLWFjY2VudC1yZ2IpLCAwLjE4KTtcclxuXHQtLWJyYW5kLWFjY2VudC1ib3JkZXI6IHJnYmEodmFyKC0tYnJhbmQtYWNjZW50LXJnYiksIDAuMTUpO1xyXG5cclxuXHQvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcblx0ICAgVEVYVCBDT0xPUlNcclxuXHQgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblx0LS10ZXh0LWRhcms6ICMxMTE4Mjc7XHJcblx0LS10ZXh0LXByaW1hcnk6ICMxRjI5Mzc7XHJcblx0LS10ZXh0LXNlY29uZGFyeTogIzM3NDE1MTtcclxuXHQtLXRleHQtbXV0ZWQ6ICM2QjcyODA7XHJcblx0LS10ZXh0LWJvcmRlci1ncmF5OiAjOTI5MjkyO1xyXG5cdC0tdGV4dC13aGl0ZTogI2ZmZmZmZjtcclxuXHQtLXRleHQtd2hpdGUtbXV0ZWQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44NSk7XHJcblxyXG5cdC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuXHQgICBCQUNLR1JPVU5EIENPTE9SUyAoVXNpbmcgUmF0aG8gRGVzaWduIFN5c3RlbSlcclxuXHQgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblx0LS1iZy13aGl0ZTogI2ZmZmZmZjtcclxuXHQtLWJnLWNyZWFtOiAjRkJGNkYzOyAgICAgICAgICAgICAgICAgICAgLyogUmF0aG8gYXBwIGJhY2tncm91bmQgKi9cclxuXHQtLWJnLXBhbmVsLWNyZWFtOiAjRkNGNEVGO1xyXG5cdC0tYmctcGFuZWwtY3JlYW0tYWx0OiAjRkNGNkYyO1xyXG5cdC0tYmctaG92ZXItY3JlYW06ICNGOEVBRTI7XHJcblx0LS1iZy1ncmF5LWxpZ2h0OiAjRjNGNEY2O1xyXG5cdC0tYmctZ3JheS1tZWRpdW06ICNFNUU3RUI7XHJcblx0LS1iZy1ncmF5LW11dGVkOiAjNkI3MjgwO1xyXG5cdC0tYmctZXJyb3ItbGlnaHQ6IGxpZ2h0eWVsbG93O1xyXG5cdC0tYmctaG92ZXItZmFpbnQ6IHJnYmEoMCwgMCwgMCwgMC4wMyk7XHJcblx0LS1iZy1ob3Zlci1saWdodDogcmdiYSgwLCAwLCAwLCAwLjA2KTtcclxuXHJcblx0LyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5cdCAgIEJPUkRFUiBDT0xPUlNcclxuXHQgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblx0LS1ib3JkZXItc29mdDogI0U1RTdFQjtcclxuXHQtLWJvcmRlci1zaWRlOiAjRUFEOUQxO1xyXG5cdC0tYm9yZGVyLXN1YnRsZTogcmdiYSgwLCAwLCAwLCAwLjA1KTtcclxuXHQtLWJvcmRlci1saWdodC1waW5rOiAjRkFEOUQ0O1xyXG5cclxuXHQvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcblx0ICAgU1RBVFVTIENPTE9SU1xyXG5cdCAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHQtLXN0YXR1cy1zdWNjZXNzOiAjMjhhNzQ1O1xyXG5cdC0tc3RhdHVzLXN1Y2Nlc3MtZGFyazogIzIxODgzODtcclxuXHQtLXN0YXR1cy1zdWNjZXNzLXZhbGlkYXRpb246ICMyNmIwNTA7XHJcblx0LS1zdGF0dXMtZXJyb3I6ICNkYzM1NDU7XHJcblx0LS1zdGF0dXMtZXJyb3ItZGFyazogI2M4MjMzMztcclxuXHQtLXN0YXR1cy1lcnJvci12YWxpZGF0aW9uOiAjZTUwMDAwO1xyXG5cdC0tc3RhdHVzLXdhcm5pbmctcmVkOiAjRUY0NDQ0O1xyXG5cdC0tc3RhdHVzLXdhcm5pbmctb3JhbmdlOiAjZjVhNjIzO1xyXG5cdC0tc3RhdHVzLWNvb2xkb3duLWNvbXBsZXRlOiAjNDNhMDQ3O1xyXG5cclxuXHQvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcblx0ICAgTElOSyAmIEJVVFRPTiBDT0xPUlNcclxuXHQgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblx0LS1saW5rLWRlZmF1bHQ6ICMwMDZiYjc7XHJcblx0LS1idG4tcHJpbWFyeS1iZzogIzFiNmVjMjtcclxuXHQtLWJ0bi1wcmltYXJ5LWJvcmRlcjogIzE4NjFhYztcclxuXHQtLWJ0bi1mb2N1czogdmFyKC0tZm9jdXMtcmluZy1icmFuZCk7XHJcblxyXG5cdC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuXHQgICBTSEFET1cgQ09MT1JTIChSR0JBKVxyXG5cdCAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHQtLXNoYWRvdy14czogcmdiYSgwLCAwLCAwLCAwLjAzKTtcclxuXHQtLXNoYWRvdy1zbTogcmdiYSgwLCAwLCAwLCAwLjA1KTtcclxuXHQtLXNoYWRvdy1tZDogcmdiYSgwLCAwLCAwLCAwLjEpO1xyXG5cdC0tc2hhZG93LWxnOiByZ2JhKDAsIDAsIDAsIDAuMTIpO1xyXG5cdC0tc2hhZG93LXhsOiByZ2JhKDAsIDAsIDAsIDAuMTgpO1xyXG5cdC0tc2hhZG93LTJ4bDogcmdiYSgwLCAwLCAwLCAwLjIpO1xyXG5cdC0tc2hhZG93LTN4bDogcmdiYSgwLCAwLCAwLCAwLjM1KTtcclxuXHQtLXNoYWRvdy1kYXJrOiByZ2JhKDAsIDAsIDAsIDAuNSk7XHJcblxyXG5cdC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuXHQgICBGT0NVUyBSSU5HIENPTE9SU1xyXG5cdCAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHQtLWZvY3VzLXJpbmctYnJhbmQ6IHJnYmEodmFyKC0tYnJhbmQtZm9jdXMtcmdiKSwgMC4yNSk7XHJcblx0LS1mb2N1cy1yaW5nLWJyYW5kLWFsdDogcmdiYSh2YXIoLS1icmFuZC1mb2N1cy1hbHQtcmdiKSwgMC4yNSk7XHJcblx0LS1mb2N1cy1yaW5nLWJsdWU6IHJnYmEoNzcsIDE0NCwgMjU0LCAwLjUpO1xyXG5cdC0tZm9jdXMtcmluZy10ZWFsOiByZ2JhKDAsIDEyOCwgMTI4LCAwLjE1KTtcclxuXHQtLWZvY3VzLXJpbmctZGFyazogcmdiYSgzMywgMzcsIDQxLCAwLjIpO1xyXG5cdC0tZm9jdXMtcmluZy13aGl0ZTogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xyXG5cclxuXHQvKiBPdmVycmlkZSBCb290c3RyYXAncyBkZWZhdWx0IGJsdWUgZm9jdXMgcmluZyB3aXRoIGJyYW5kIG9yYW5nZSAqL1xyXG5cdC0tYnMtZm9jdXMtcmluZy1jb2xvcjogdmFyKC0tZm9jdXMtcmluZy1icmFuZCk7XHJcblxyXG5cdC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuXHQgICBPVkVSTEFZIENPTE9SU1xyXG5cdCAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHQtLW92ZXJsYXktZGFyazogcmdiYSgwLCAwLCAwLCAwLjUpO1xyXG5cdC0tb3ZlcmxheS1kYXJrZXI6IHJnYmEoMCwgMCwgMCwgMC43KTtcclxuXHQtLW92ZXJsYXktYmFja2Ryb3A6IHJnYmEoMCwgMCwgMCwgMC42KTtcclxuXHQtLW92ZXJsYXktbGlnaHQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcclxuXHQtLW92ZXJsYXktbGlnaHQtc3Ryb25nOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjUpO1xyXG5cdC0tb3ZlcmxheS1saWdodC1tZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMpO1xyXG5cdC0tb3ZlcmxheS1saWdodC1sZzogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjQpO1xyXG5cclxuXHQvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcblx0ICAgR1JPVVAgVElMRSBDT0xPUlNcclxuXHQgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblx0LS1ncm91cC1jb3JhbDogI0U4OTI3QztcclxuXHQtLWdyb3VwLWdyYXk6ICM2QjcyODA7XHJcblx0LS1ncm91cC10ZWFsOiAjNUVCQkFCO1xyXG5cdC0tZ3JvdXAtZ3JlZW46ICM2QUJGNjk7XHJcblx0LS1ncm91cC1icm93bjogI0E2N0M1MjtcclxuXHQtLWdyb3VwLXBpbms6ICNEQjcwOTM7XHJcblx0LS1ncm91cC1wdXJwbGU6ICM5QjU5QjY7XHJcblx0LS1ncm91cC1ibHVlOiAjNUI5QkQ1O1xyXG5cdC0tZ3JvdXAtbmF2eTogIzFCM0E1NztcclxuXHQtLWdyb3VwLXllbGxvdzogI0Y0RDAzRjtcclxuXHQtLWdyb3VwLXJlZDogI0U3NEMzQztcclxuXHJcblx0LyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5cdCAgIEJSQU5EIEdMT1cgLyBTSEFET1cgQ09MT1JTIChvcmFuZ2UtdGludGVkKVxyXG5cdCAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHQtLWdsb3ctYnJhbmQteHM6IHJnYmEodmFyKC0tYnJhbmQtcHJpbWFyeS1yZ2IpLCAwLjE1KTtcclxuXHQtLWdsb3ctYnJhbmQtc206IHJnYmEodmFyKC0tYnJhbmQtaGVhZGVyLXJnYiksIDAuMik7XHJcblx0LS1nbG93LWJyYW5kLW1kOiByZ2JhKHZhcigtLWJyYW5kLWhlYWRlci1yZ2IpLCAwLjMpO1xyXG5cdC0tZ2xvdy1icmFuZC1sZzogcmdiYSh2YXIoLS1icmFuZC1wcmltYXJ5LXJnYiksIDAuMzUpO1xyXG5cclxuXHQvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcblx0ICAgU0tFTEVUT04gTE9BRElORyBDT0xPUlNcclxuXHQgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblx0LS1za2VsZXRvbi1iYXNlOiAjRjBGMEYwO1xyXG5cdC0tc2tlbGV0b24taGlnaGxpZ2h0OiAjRTBFMEUwO1xyXG5cclxuXHQvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcblx0ICAgUkFUSE8gSEVBREVSIEdSQURJRU5UIENPTE9SU1xyXG5cdCAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHQtLXJhdGhvLWhlYWRlci1ncmFkaWVudC15ZWxsb3c6ICNGN0E4MzI7ICAgICAgLyogTGVmdCAtIEdvbGRlbiB5ZWxsb3ctb3JhbmdlICovXHJcblx0LS1yYXRoby1oZWFkZXItZ3JhZGllbnQtb3JhbmdlOiAjRUY3QjUyOyAgICAgIC8qIENlbnRlciAtIENvcmFsIG9yYW5nZSAqL1xyXG5cdC0tcmF0aG8taGVhZGVyLWdyYWRpZW50LWNvcmFsOiAjRTg4MzdDOyAgICAgICAvKiBSaWdodCAtIFNhbG1vbiBjb3JhbCB3aXRoIGR1c3R5IHJvc2UgdG9uZSAqL1xyXG5cclxuXHQvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcblx0ICAgTEVHQUNZIFZBUklBQkxFUyAoZm9yIGNvbXBhdGliaWxpdHkpXHJcblx0ICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cdC8qIEdyYWRpZW50IHNob3J0Y3V0cyAtIHdpZGVseSB1c2VkIGFjcm9zcyBjb2RlYmFzZSAqL1xyXG5cdC0tZ3JhZGllbnQtc3RhcnQ6IHZhcigtLWJyYW5kLXByaW1hcnkpO1xyXG5cdC0tZ3JhZGllbnQtZW5kOiB2YXIoLS1icmFuZC1hY2NlbnQtbGlnaHQpO1xyXG5cdC8qIFNpZGViYXIgbmF2LWJ1dHRvbiBncmFkaWVudCAoZGFyayAtPiBsaWdodCwgbGVmdCB0byByaWdodCkuIFNoYXJlZCBieVxyXG5cdCAgIC5yYXRoby1zaWRlYmFyLW5hdi1idG4uYWN0aXZlIGFuZCB0aGUgYWN0aXZlIGdyb3VwLWxpYnJhcmllcyBpdGVtIHNvIHRoZVxyXG5cdCAgIG9yYW5qZSBncmFkaWVudHMgaW4gdGhlIHNpZGViYXIgbG9wZW4gY29uc2lzdGVudCBkZXplbGZkZSBrYW50IG9wLiAqL1xyXG5cdC0tZ3JhZGllbnQtbmF2LXN0YXJ0OiAjRjE2QjVBO1xyXG5cdC0tZ3JhZGllbnQtbmF2LWVuZDogI0ZGOUE2QztcclxuXHQvKiBDcmVhbSBhbGlhcyAtIHVzZWQgYnkgRW1iZXIgUmF0aG9UYWJWaWV3IGZhbGxiYWNrIGNoYWluICovXHJcblx0LS1jcmVhbTogdmFyKC0tYmctY3JlYW0pO1xyXG5cclxuXHQvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcblx0ICAgVFlQT0dSQVBIWVxyXG5cdCAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHQvKiAtLWZvbnQtZmFtaWx5LWJhc2UgYW5kIHR5cGUtc2NhbGUgdG9rZW5zIGxpdmUgaW4gX3R5cG9ncmFwaHktdG9rZW5zLnNjc3MgKi9cclxuXHJcblx0LyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5cdCAgIExBWU9VVCDigJQgZmx1aWQgc2NhbGluZ1xyXG5cdCAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHQgICAtLXBhZ2UtcGFkIGFuZCAtLXBhZ2UtbWF4IHNjYWxlIHNtb290aGx5IHdpdGggdmlld3BvcnQgdmlhIGNsYW1wKCkgc28gdGhlXHJcblx0ICAgd2lkZ2V0IGdyaWQgKGFuZCBldmVyeSBvdGhlciBwYWdlLWNvbnRhaW5lciBjaGlsZCkgZ2V0cyBhIGNvbnRhaW5lciB3aWR0aFxyXG5cdCAgIHRoYXQgZ3Jvd3MgbW9ub3RvbmljYWxseSB3aXRob3V0IGRpc2NyZXRlIGJyZWFrcG9pbnQgc3RlcHMuIFRoZSBwcmV2aW91c1xyXG5cdCAgIHN0ZXBwZWQgbWVkaWEgcXVlcmllcyBjYXVzZWQgMi1jb2x1bW4ganVtcHMgaW4gdGhlIHdpZGdldCBncmlkIGFzIHRoZVxyXG5cdCAgIHBhZ2UtY29udGFpbmVyIGlubmVyIHdpZHRoIGNyb3NzZWQgaW50ZWdlci10aWxlIGJvdW5kYXJpZXMuXHJcblx0ICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cdC0tcGFnZS1wYWQ6IGNsYW1wKDAuNzVyZW0sIDIuNXZ3LCAzcmVtKTtcclxuXHQtLXBhZ2UtbWF4OiBjbGFtcCgxNjAwcHgsIDEwMHZ3IC0gNHJlbSwgMjQwMHB4KTtcclxuXHQtLWNvbnRlbnQtdG9wLWdhcDogMXJlbTtcclxuXHQtLXNpZGViYXItd2lkdGg6IDE2cmVtO1xyXG5cdC0tc2lkZWJhci1jb250ZW50LWdhcDogY2xhbXAoM3JlbSwgNHZ3LCA1cmVtKTtcclxuXHJcblx0LyogTWluLWhlaWdodCBvZiB0aGUgd2hpdGUgY29udGVudCBzdXJmYWNlICgucmF0aG8tY2FyZCAvIC5yYXRoby10YWItY29udGVudCkuXHJcblx0ICAgVXNlcyBjbGFtcCgpIHNvIHRoZSBzdXJmYWNlIGFjY29tbW9kYXRlcyB+MyB3aWRnZXQgcm93cyB3aXRob3V0IHNjcm9sbGluZyBvblxyXG5cdCAgIHR5cGljYWwgZGVza3RvcCB2aWV3cG9ydHMsIGJ1dCBkb2Vzbid0IGdyb3cgdG8gZmlsbCB0YWxsIHZpZXdwb3J0cyDigJQgd2hpY2hcclxuXHQgICBwcmV2aW91c2x5IGxlZnQgYSBiaWcgZW1wdHkgYmFuZCBiZWxvdyBzaG9ydCB3aWRnZXQgZ3JpZHMuIENvbnRlbnQgcGFzdCB0aGlzXHJcblx0ICAgaGVpZ2h0IGdyb3dzIHRoZSBzdXJmYWNlIG5hdHVyYWxseTsgdGhlIHBhZ2UgKG5vdCBhbiBpbm5lciBjb250YWluZXIpXHJcblx0ICAgcHJvdmlkZXMgdGhlIHNjcm9sbGJhci4gKi9cclxuXHQtLWNvbnRlbnQtc3VyZmFjZS1oZWlnaHQ6IGNsYW1wKDQyMHB4LCA1NWR2aCwgNjQwcHgpO1xyXG5cclxuXHQvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcblx0ICAgQ09NUE9ORU5UU1xyXG5cdCAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHQtLWZseW91dC13aWR0aDogNjAwcHg7XHJcblx0LS1mbHlvdXQtaGFuZGxlLXdpZHRoOiAzMnB4O1xyXG5cdC0tZmx5b3V0LWhhbmRsZS1oZWlnaHQ6IDgwcHg7XHJcblx0LS1mbHlvdXQtcmFkaXVzOiAxNHB4O1xyXG5cdC0tZmx5b3V0LXNwZWVkOiAwLjNzO1xyXG5cdC0tZmx5b3V0LWJnOiB2YXIoLS1iZy1jcmVhbSk7XHJcblx0LS1mbHlvdXQtbWFyZ2luOiAzMHB4O1xyXG5cclxuXHQvKiBIZWFkZXIgKi9cclxuXHQtLWhlYWRlci1oZWlnaHQ6IDVyZW07XHJcblxyXG5cdC8qIElucHV0cyDigJQgc2hhcmVkIHRva2VucyBmb3IgZXZlcnkgdGV4dC1zdHlsZSBpbnB1dCBpbiB0aGUgUG9ydGFsIHNvXHJcblx0ICAgUmF0aG9UZXh0SW5wdXQsIFNlYXJjaEJhciBhbmQgUmF0aG9CbGF6b3JTZWxlY3QgbGluZSB1cCBpbiBmbHlvdXQgcm93cy5cclxuXHQgICBGb3JtLWNoZWNrIGNvbnRyb2xzIChSYXRob0NoZWNrYm94LCBSYXRob0Zvcm1Td2l0Y2gsIFJhdGhvVG9nZ2xlQnV0dG9uKVxyXG5cdCAgIGtlZXAgdGhlaXIgbmF0aXZlIGZvcm0tY2hlY2sgc2l6aW5nIGFuZCBpbnRlbnRpb25hbGx5IGRvIE5PVCB1c2UgdGhlc2UuICovXHJcblx0LS1yYXRoby1pbnB1dC1oZWlnaHQ6IDQ0cHg7XHJcblx0LS1yYXRoby1pbnB1dC1oZWlnaHQtbW9iaWxlOiA0OHB4O1xyXG5cdC0tcmF0aG8taW5wdXQtcmFkaXVzOiAuNzVyZW07XHJcblx0LS1yYXRoby1pbnB1dC1wYWRkaW5nLXg6IC43NXJlbTtcclxuXHQtLXJhdGhvLWlucHV0LWJvcmRlci1jb2xvcjogdmFyKC0tYnJhbmQtYWNjZW50LWxpZ2h0LCAjZmY4ZjYxKTtcclxuXHQtLXJhdGhvLWlucHV0LWJvcmRlci1jb2xvci1ob3ZlcjogdmFyKC0tYnJhbmQtYWNjZW50LWRhcmssICNlNjdhNGEpO1xyXG5cdC0tcmF0aG8taW5wdXQtZm9jdXMtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSh2YXIoLS1icmFuZC1hY2NlbnQtcmdiKSwgMC4yNSk7XHJcblx0LyogTWluaW11bSB3aWR0aCBmb3IgZHJvcGRvd24vc2VsZWN0IGlucHV0cyDigJQga2VlcHMgUmF0aG9CbGF6b3JTZWxlY3QgZnJvbVxyXG5cdCAgIGNvbGxhcHNpbmcgb3IgZ3Jvd2luZyB3aXRoIHRoZSBzZWxlY3RlZCBvcHRpb24ncyB0ZXh0LiAqL1xyXG5cdC0tcmF0aG8taW5wdXQtbWluLXdpZHRoOiAyMjBweDtcclxuXHJcblx0LyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5cdCAgIFotSU5ERVggTEFZRVJTIChCb290c3RyYXAgc3RhbmRhcmQgKyBjdXN0b20pXHJcblx0ICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cdC0tei1oZWFkZXI6IDEwMzA7ICAgICAgICAgICAgICAgICAgICAgICAgIC8qIEJvb3RzdHJhcCBzdGlja3kgKi9cclxuXHQtLXotZHJvcGRvd24tbWVudTogMTA0NTtcclxuXHQtLXotb2ZmY2FudmFzOiAxMDU1OyAgICAgICAgICAgICAgICAgICAgICAvKiBCb290c3RyYXAgb2ZmY2FudmFzICovXHJcblxyXG5cdC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuXHQgICBTRU1BTlRJQyBBTElBU0VTIChmb3IgdGhlbWUgc3dpdGNoaW5nKVxyXG5cdCAgIFRPRE86IG1pZ3JhdGUgY29tcG9uZW50cyB0byB0aGVzZSBzZW1hbnRpYyBhbGlhc2VzXHJcblx0ICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cdC0tc3VyZmFjZS1wcmltYXJ5OiB2YXIoLS1iZy1jcmVhbSk7XHJcblx0LS1zdXJmYWNlLWVsZXZhdGVkOiB2YXIoLS1iZy13aGl0ZSk7XHJcblx0LS1zdXJmYWNlLXNlY29uZGFyeTogdmFyKC0tYmctcGFuZWwtY3JlYW0pO1xyXG5cdC0tc3VyZmFjZS1ob3ZlcjogdmFyKC0tYmctaG92ZXItY3JlYW0pO1xyXG5cdC0tdGV4dC1vbi1zdXJmYWNlOiB2YXIoLS10ZXh0LWRhcmspO1xyXG5cdC0tdGV4dC1vbi1icmFuZDogdmFyKC0tdGV4dC13aGl0ZSk7XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIERBUksgVEhFTUUgT1ZFUlJJREVTXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG5AbWl4aW4gZGFyay10aGVtZSB7XHJcblx0LyogQmFja2dyb3VuZHMgKi9cclxuXHQtLWJnLWNyZWFtOiAjMWExYTJlO1xyXG5cdC0tYmctd2hpdGU6ICMxNjIxM2U7XHJcblx0LS1iZy1wYW5lbC1jcmVhbTogIzFhMWEyZTtcclxuXHQtLWJnLXBhbmVsLWNyZWFtLWFsdDogIzFlMmE0NTtcclxuXHQtLWJnLWhvdmVyLWNyZWFtOiAjMmEyYTRhO1xyXG5cdC0tYmctZ3JheS1saWdodDogIzFlMmE0NTtcclxuXHQtLWJnLWdyYXktbWVkaXVtOiAjMzM0MTU1O1xyXG5cdC0tYmctZXJyb3ItbGlnaHQ6ICMzYjJlMDA7XHJcblx0LS1iZy1ob3Zlci1mYWludDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjAzKTtcclxuXHQtLWJnLWhvdmVyLWxpZ2h0OiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDYpO1xyXG5cclxuXHQvKiBUZXh0ICovXHJcblx0LS10ZXh0LWRhcms6ICNmMWY1Zjk7XHJcblx0LS10ZXh0LXByaW1hcnk6ICNlMmU4ZjA7XHJcblx0LS10ZXh0LXNlY29uZGFyeTogI2NiZDVlMTtcclxuXHQtLXRleHQtbXV0ZWQ6ICM5NGEzYjg7XHJcblx0LS10ZXh0LWJvcmRlci1ncmF5OiAjNjQ3NDhiO1xyXG5cclxuXHQvKiBCb3JkZXJzICovXHJcblx0LS1ib3JkZXItc29mdDogIzMzNDE1NTtcclxuXHQtLWJvcmRlci1zaWRlOiAjMzM0MTU1O1xyXG5cdC0tYm9yZGVyLXN1YnRsZTogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA4KTtcclxuXHQtLWJvcmRlci1saWdodC1waW5rOiAjNGEyYTNhO1xyXG5cclxuXHQvKiBTaGFkb3dzICovXHJcblx0LS1zaGFkb3cteHM6IHJnYmEoMCwgMCwgMCwgMC4yKTtcclxuXHQtLXNoYWRvdy1zbTogcmdiYSgwLCAwLCAwLCAwLjMpO1xyXG5cdC0tc2hhZG93LW1kOiByZ2JhKDAsIDAsIDAsIDAuNCk7XHJcblx0LS1zaGFkb3ctbGc6IHJnYmEoMCwgMCwgMCwgMC40NSk7XHJcblx0LS1zaGFkb3cteGw6IHJnYmEoMCwgMCwgMCwgMC41KTtcclxuXHQtLXNoYWRvdy0yeGw6IHJnYmEoMCwgMCwgMCwgMC41NSk7XHJcblx0LS1zaGFkb3ctM3hsOiByZ2JhKDAsIDAsIDAsIDAuNik7XHJcblx0LS1zaGFkb3ctZGFyazogcmdiYSgwLCAwLCAwLCAwLjcpO1xyXG5cclxuXHQvKiBTa2VsZXRvbiAqL1xyXG5cdC0tc2tlbGV0b24tYmFzZTogIzJhMmE0YTtcclxuXHQtLXNrZWxldG9uLWhpZ2hsaWdodDogIzMzNDE1NTtcclxuXHJcblx0LyogTGluayAmIEJ1dHRvbiAqL1xyXG5cdC0tbGluay1kZWZhdWx0OiAjNjBhNWZhO1xyXG5cdC0tYnRuLXByaW1hcnktYmc6ICMyNTYzZWI7XHJcblx0LS1idG4tcHJpbWFyeS1ib3JkZXI6ICMxZDRlZDg7XHJcblxyXG5cdC8qIEJyYW5kICovXHJcblx0LS1icmFuZC1oaWdobGlnaHQ6ICMzYTJhM2E7ICAgICAgICAgICAgIC8qIGRhcmsgcGluayBmb3IgY29udHJhc3Qgb24gZGFyayBiZyAqL1xyXG5cclxuXHQvKiBGb2N1cyByaW5ncyDigJQgaGlnaGVyIG9wYWNpdHkgZm9yIHZpc2liaWxpdHkgb24gZGFyayBiZyAqL1xyXG5cdC0tZm9jdXMtcmluZy1icmFuZDogcmdiYSh2YXIoLS1icmFuZC1mb2N1cy1yZ2IpLCAwLjUpO1xyXG5cdC0tZm9jdXMtcmluZy1icmFuZC1hbHQ6IHJnYmEodmFyKC0tYnJhbmQtZm9jdXMtYWx0LXJnYiksIDAuNSk7XHJcblx0LS1mb2N1cy1yaW5nLWJsdWU6IHJnYmEoNzcsIDE0NCwgMjU0LCAwLjYpO1xyXG5cdC0tZm9jdXMtcmluZy1kYXJrOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMyk7XHJcbn1cclxuXHJcbltkYXRhLXRoZW1lPVwiZGFya1wiXSB7XHJcblx0QGluY2x1ZGUgZGFyay10aGVtZTtcclxufVxyXG5cclxuQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykge1xyXG5cdFtkYXRhLXRoZW1lPVwiYXV0b1wiXSB7XHJcblx0XHRAaW5jbHVkZSBkYXJrLXRoZW1lO1xyXG5cdH1cclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgQkFTRSBQQUdFIFNUWUxJTkdcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbmh0bWwsIGJvZHkge1xyXG5cdGhlaWdodDogMTAwJTtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRtYXJnaW46IDA7XHJcblx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5LWJhc2UpO1xyXG59XHJcblxyXG5odG1sIHtcclxuXHRvdmVyZmxvdy14OiBoaWRkZW47ICAgICAgICAgICAgICAgICAgICAvKiBQcmV2ZW50IGhvcml6b250YWwgc2Nyb2xsOyB2ZXJ0aWNhbCBoYW5kbGVkIGJ5IC5wYWdlICovXHJcbn1cclxuXHJcbmJvZHkge1xyXG5cdG1pbi1oZWlnaHQ6IDEwMHZoO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLWNyZWFtKTtcclxuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBMQVlPVVQgVVRJTElUSUVTXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKiBDb25zdHJhaW5lZCBwYWdlIGNvbnRhaW5lciAqL1xyXG4ucGFnZS1jb250YWluZXIge1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdG1heC13aWR0aDogdmFyKC0tcGFnZS1tYXgpO1xyXG5cdG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG5cdG1hcmdpbi1yaWdodDogYXV0bztcclxuXHRwYWRkaW5nLWxlZnQ6IHZhcigtLXBhZ2UtcGFkKTtcclxuXHRwYWRkaW5nLXJpZ2h0OiB2YXIoLS1wYWdlLXBhZCk7XHJcblx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcclxufVxyXG5cclxuLnNpZGUtd2lkdGggeyBcclxuXHR3aWR0aDogdmFyKC0tc2lkZWJhci13aWR0aCk7XHJcblx0ZmxleC1zaHJpbms6IDA7XHJcbn1cclxuXHJcbi5tdC1jb250ZW50IHsgXHJcblx0bWFyZ2luLXRvcDogdmFyKC0tY29udGVudC10b3AtZ2FwKTtcclxufVxyXG5cclxuLmNvbnRlbnQge1xyXG5cdHBhZGRpbmctdG9wOiAxLjFyZW07XHJcbn1cclxuXHJcbi8qIEJyYW5kIGdyYWRpZW50IHV0aWxpdHkgKi9cclxuLmJnLWJyYW5kLWdyYWRpZW50IHsgXHJcblx0YmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCB2YXIoLS1ncmFkaWVudC1zdGFydCksIHZhcigtLWdyYWRpZW50LWVuZCkpO1xyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBSRVNQT05TSVZFIEJSRUFLUE9JTlRTXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKiBNb2JpbGUgLyB0YWJsZXQgLyBzbWFsbC1kZXNrdG9wIHN0cnVjdHVyYWwgb3ZlcnJpZGVzIOKAlCB0aGUgaW4tZmxvdyBzaWRlYmFyXHJcbiAgIGlzIG9ubHkgc2hvd24gYXQgeGwrICjiiaUxMjAwcHgpLiBCZWxvdyB0aGF0IGl0IGxpdmVzIGluIHRoZSBvZmZjYW52YXMsIHNvXHJcbiAgIC0tc2lkZWJhci13aWR0aCBkcml2ZXMgb25seSB0aGUgb2ZmY2FudmFzIHdpZHRoIGFuZCAtLXNpZGViYXItY29udGVudC1nYXBcclxuICAgaXMgZm9yY2VkIHRvIDAgKG5vIGluLWZsb3cgZ2FwKS4gVGhlIGNsYW1wKCkgZGVmYXVsdHMgZm9yIC0tcGFnZS1wYWQgYW5kXHJcbiAgIC0tcGFnZS1tYXggc3RpbGwgYXBwbHkgc21vb3RobHkgYWNyb3NzIGFsbCB2aWV3cG9ydHMuICovXHJcblxyXG5AbWVkaWEgKG1heC13aWR0aDogNTc1Ljk4cHgpIHtcclxuXHQ6cm9vdCB7XHJcblx0XHQtLXNpZGViYXItd2lkdGg6IDEwMCU7XHJcblx0XHQtLXNpZGViYXItY29udGVudC1nYXA6IDA7XHJcblx0XHQtLWNvbnRlbnQtdG9wLWdhcDogMC43NXJlbTtcclxuXHRcdC0tZmx5b3V0LXdpZHRoOiAxMDAlO1xyXG5cdFx0LS1mbHlvdXQtbWFyZ2luOiAxMHB4O1xyXG5cdH1cclxufVxyXG5cclxuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSBhbmQgKG1heC13aWR0aDogNzY3Ljk4cHgpIHtcclxuXHQ6cm9vdCB7XHJcblx0XHQtLWNvbnRlbnQtdG9wLWdhcDogMC44NzVyZW07XHJcblx0XHQtLXNpZGViYXItd2lkdGg6IDEwMCU7XHJcblx0XHQtLXNpZGViYXItY29udGVudC1nYXA6IDA7XHJcblx0fVxyXG59XHJcblxyXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiAxMTk5Ljk4cHgpIHtcclxuXHQ6cm9vdCB7XHJcblx0XHQtLXNpZGViYXItd2lkdGg6IDE0cmVtO1xyXG5cdFx0LS1zaWRlYmFyLWNvbnRlbnQtZ2FwOiAwO1xyXG5cdH1cclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgTElOSyAmIEJVVFRPTiBTVFlMRVNcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbmEsIC5idG4tbGluayB7XHJcblx0Y29sb3I6IHZhcigtLWxpbmstZGVmYXVsdCk7XHJcbn1cclxuXHJcbi5wZS1mb3JjZSB7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4vKiBTaG93IFwibm90LWFsbG93ZWRcIiBjdXJzb3Igb24gZGlzYWJsZWQgYnV0dG9ucy4gQm9vdHN0cmFwIHNldHMgcG9pbnRlci1ldmVudHM6IG5vbmVcclxuICAgb24gLmJ0bjpkaXNhYmxlZCwgd2hpY2ggc3VwcHJlc3NlcyBjdXJzb3IgY2hhbmdlcyBlbnRpcmVseTsgd2UgcmUtZW5hYmxlIHBvaW50ZXJcclxuICAgZXZlbnRzLiBTY29wZWQgdG8gbmF0aXZlIDxidXR0b24gZGlzYWJsZWQ+IG9ubHkg4oCUIHRoZSBkaXNhYmxlZCBhdHRyaWJ1dGUgYmxvY2tzXHJcbiAgIGNsaWNrcyBhdCB0aGUgYnJvd3NlciBsZXZlbCwgc28gcmUtZW5hYmxpbmcgcG9pbnRlci1ldmVudHMgc3RheXMgc2FmZS4gQW5jaG9yLWJhc2VkXHJcbiAgIC5idG4uZGlzYWJsZWQgaXMgaW50ZW50aW9uYWxseSBsZWZ0IGFsb25lIChpdCByZWxpZXMgb24gcG9pbnRlci1ldmVudHM6IG5vbmUgdG9cclxuICAgYmxvY2sgbmF2aWdhdGlvbikuICovXHJcbmJ1dHRvbjpkaXNhYmxlZCxcclxuYnV0dG9uW2Rpc2FibGVkXSB7XHJcblx0Y3Vyc29yOiBub3QtYWxsb3dlZDtcclxuXHRwb2ludGVyLWV2ZW50czogYXV0bztcclxufVxyXG5cclxuLmJ0bi1wcmltYXJ5IHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC13aGl0ZSk7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnRuLXByaW1hcnktYmcpO1xyXG5cdGJvcmRlci1jb2xvcjogdmFyKC0tYnRuLXByaW1hcnktYm9yZGVyKTtcclxufVxyXG5cclxuLmJ0bjpmb2N1cyxcclxuLmJ0bjphY3RpdmU6Zm9jdXMsXHJcbi5idG4tbGluay5uYXYtbGluazpmb2N1cyxcclxuLmZvcm0tY29udHJvbDpmb2N1cyxcclxuLmZvcm0tc2VsZWN0OmZvY3VzLFxyXG4uZm9ybS1jaGVjay1pbnB1dDpmb2N1cyB7XHJcblx0Ym94LXNoYWRvdzogMCAwIDAgMC4xcmVtIHZhcigtLWJnLXdoaXRlKSwgMCAwIDAgMC4yNXJlbSB2YXIoLS1idG4tZm9jdXMpO1xyXG5cdGJvcmRlci1jb2xvcjogdmFyKC0tYnJhbmQtcHJpbWFyeSk7XHJcbn1cclxuXHJcbmgxOmZvY3VzIHtcclxuXHRvdXRsaW5lOiBub25lO1xyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBGT1JNIFZBTElEQVRJT04gU1RZTEVTXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4udmFsaWQubW9kaWZpZWQ6bm90KFt0eXBlPWNoZWNrYm94XSkge1xyXG5cdG91dGxpbmU6IDFweCBzb2xpZCB2YXIoLS1zdGF0dXMtc3VjY2Vzcy12YWxpZGF0aW9uKTtcclxufVxyXG5cclxuLmludmFsaWQge1xyXG5cdG91dGxpbmU6IDFweCBzb2xpZCB2YXIoLS1zdGF0dXMtZXJyb3ItdmFsaWRhdGlvbik7XHJcbn1cclxuXHJcbi52YWxpZGF0aW9uLW1lc3NhZ2Uge1xyXG5cdGNvbG9yOiB2YXIoLS1zdGF0dXMtZXJyb3ItdmFsaWRhdGlvbik7XHJcbn1cclxuXHJcbi5kYXJrZXItYm9yZGVyLWNoZWNrYm94LmZvcm0tY2hlY2staW5wdXQge1xyXG5cdGJvcmRlci1jb2xvcjogdmFyKC0tdGV4dC1ib3JkZXItZ3JheSk7XHJcbn1cclxuXHJcbi8qIEJyYW5kLWNvbG9yZWQgY2hlY2tib3hlcyBhbmQgdG9nZ2xlIHN3aXRjaGVzIOKAlCBhcHBsaWVkIGdsb2JhbGx5IHNvIGFsbFxyXG4gICBmb3JtLWNoZWNrIGlucHV0cyAoY2hlY2tib3hlcyArIHN3aXRjaGVzKSB1c2UgdGhlIGJyYW5kIGFjY2VudCBjb2xvci5cclxuICAgUHJldmlvdXNseSBvcHQtaW4gdmlhIC5mb3JtLWNoZWNrLWJyYW5kOyBtYWRlIGdsb2JhbCB0byBtYXRjaCB0aGVcclxuICAgcG9ydGFsLXdpZGUgYnJhbmQgdGhlbWluZy4gKi9cclxuLmZvcm0tY2hlY2staW5wdXQ6Y2hlY2tlZCxcclxuLmZvcm0tY2hlY2staW5wdXQ6aW5kZXRlcm1pbmF0ZSB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnJhbmQtYWNjZW50LWxpZ2h0LCAjZmY4ZjYxKTtcclxuXHRib3JkZXItY29sb3I6IHZhcigtLWJyYW5kLWFjY2VudC1saWdodCwgI2ZmOGY2MSk7XHJcbn1cclxuXHJcbi5mb3JtLWZsb2F0aW5nID4gLmZvcm0tY29udHJvbC1wbGFpbnRleHQ6OnBsYWNlaG9sZGVyLFxyXG4uZm9ybS1mbG9hdGluZyA+IC5mb3JtLWNvbnRyb2w6OnBsYWNlaG9sZGVyIHtcclxuXHRjb2xvcjogdmFyKC0tYnMtc2Vjb25kYXJ5LWNvbG9yKTtcclxuXHR0ZXh0LWFsaWduOiBlbmQ7XHJcbn1cclxuXHJcbi5mb3JtLWZsb2F0aW5nID4gLmZvcm0tY29udHJvbC1wbGFpbnRleHQ6Zm9jdXM6OnBsYWNlaG9sZGVyLCBcclxuLmZvcm0tZmxvYXRpbmcgPiAuZm9ybS1jb250cm9sOmZvY3VzOjpwbGFjZWhvbGRlciB7XHJcblx0dGV4dC1hbGlnbjogc3RhcnQ7XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIEJMQVpPUiBFUlJPUiBCT1VOREFSWVxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLmJsYXpvci1lcnJvci1ib3VuZGFyeSB7XHJcblx0YmFja2dyb3VuZDogdXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjNhV1IwYUQwaU5UWWlJR2hsYVdkb2REMGlORGtpSUhodGJHNXpQU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh5TURBd0wzTjJaeUlnZUcxc2JuTTZlR3hwYm1zOUltaDBkSEE2THk5M2QzY3Vkek11YjNKbkx6RTVPVGt2ZUd4cGJtc2lJRzkyWlhKbWJHOTNQU0pvYVdSa1pXNGlQanhrWldaelBqeGpiR2x3VUdGMGFDQnBaRDBpWTJ4cGNEQWlQanh5WldOMElIZzlJakl6TlNJZ2VUMGlOVEVpSUhkcFpIUm9QU0kxTmlJZ2FHVnBaMmgwUFNJME9TSXZQand2WTJ4cGNGQmhkR2crUEM5a1pXWnpQanhuSUdOc2FYQXRjR0YwYUQwaWRYSnNLQ05qYkdsd01Da2lJSFJ5WVc1elptOXliVDBpZEhKaGJuTnNZWFJsS0MweU16VWdMVFV4S1NJK1BIQmhkR2dnWkQwaVRUSTJNeTQxTURZZ05URkRNalkwTGpjeE55QTFNU0F5TmpVdU9ERXpJRFV4TGpRNE16Y2dNalkyTGpZd05pQTFNaTR5TmpVNFRESTJOeTR3TlRJZ05USXVOems0TnlBeU5qY3VOVE01SURVekxqWXlPRE1nTWprd0xqRTROU0E1TWk0eE9ETXhJREk1TUM0MU5EVWdPVEl1TnprMUlESTVNQzQyTlRZZ09USXVPVGsyUXpJNU1DNDROemNnT1RNdU5URXpJREk1TVNBNU5DNHdPREUxSURJNU1TQTVOQzQyTnpneUlESTVNU0E1Tnk0d05qVXhJREk0T1M0d016Z2dPVGtnTWpnMkxqWXhOeUE1T1V3eU5EQXVNemd6SURrNVF6SXpOeTQ1TmpNZ09Ua2dNak0ySURrM0xqQTJOVEVnTWpNMklEazBMalkzT0RJZ01qTTJJRGswTGpNM09Ua2dNak0yTGpBek1TQTVOQzR3T0RnMklESXpOaTR3T0RrZ09UTXVPREEzTWt3eU16WXVNek00SURrekxqQXhOaklnTWpNMkxqZzFPQ0E1TWk0eE16RTBJREkxT1M0ME56TWdOVE11TmpJNU5DQXlOVGt1T1RZeElEVXlMamM1T0RVZ01qWXdMalF3TnlBMU1pNHlOalU0UXpJMk1TNHlJRFV4TGpRNE16Y2dNall5TGpJNU5pQTFNU0F5TmpNdU5UQTJJRFV4V2sweU5qTXVOVGcySURZMkxqQXhPRE5ETWpZd0xqY3pOeUEyTmk0d01UZ3pJREkxT1M0ek1UTWdOamN1TVRJME5TQXlOVGt1TXpFeklEWTVMak16TnlBeU5Ua3VNekV6SURZNUxqWXhNRElnTWpVNUxqTXpNaUEyT1M0NE5qQTRJREkxT1M0ek56RWdOekF1TURnNE4wd3lOakV1TnprMUlEZzBMakF4TmpFZ01qWTFMak00SURnMExqQXhOakVnTWpZM0xqZ3lNU0EyT1M0M05EYzFRekkyTnk0NE5pQTJPUzQzTXpBNUlESTJOeTQ0TnprZ05qa3VOVGczTnlBeU5qY3VPRGM1SURZNUxqTXhOemtnTWpZM0xqZzNPU0EyTnk0eE1UZ3lJREkyTmk0ME5EZ2dOall1TURFNE15QXlOak11TlRnMklEWTJMakF4T0ROYVRUSTJNeTQxTnpZZ09EWXVNRFUwTjBNeU5qRXVNRFE1SURnMkxqQTFORGNnTWpVNUxqYzROaUE0Tnk0ek1EQTFJREkxT1M0M09EWWdPRGt1TnpreU1TQXlOVGt1TnpnMklEa3lMakk0TXpjZ01qWXhMakEwT1NBNU15NDFNamsxSURJMk15NDFOellnT1RNdU5USTVOU0F5TmpZdU1URTJJRGt6TGpVeU9UVWdNalkzTGpNNE55QTVNaTR5T0RNM0lESTJOeTR6T0RjZ09Ea3VOemt5TVNBeU5qY3VNemczSURnM0xqTXdNRFVnTWpZMkxqRXhOaUE0Tmk0d05UUTNJREkyTXk0MU56WWdPRFl1TURVME4xb2lJR1pwYkd3OUlpTkdSa1UxTURBaUlHWnBiR3d0Y25Wc1pUMGlaWFpsYm05a1pDSXZQand2Wno0OEwzTjJaejQ9KSBuby1yZXBlYXQgMXJlbS8xLjhyZW0sICNiMzIxMjE7XHJcblx0cGFkZGluZzogMXJlbSAxcmVtIDFyZW0gMy43cmVtO1xyXG5cdGNvbG9yOiB3aGl0ZTtcclxufVxyXG5cclxuLmJsYXpvci1lcnJvci1ib3VuZGFyeTo6YWZ0ZXIge1xyXG5cdGNvbnRlbnQ6IFwiQW4gZXJyb3IgaGFzIG9jY3VycmVkLlwiXHJcbn1cclxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuLy8gVFlQT0dSQVBIWSBUT0tFTlNcclxuLy8gU2luZ2xlIHNvdXJjZSBvZiB0cnV0aCBmb3IgZm9udC1mYW1pbHksIGZvbnQtc2l6ZSBzY2FsZSwgd2VpZ2h0cywgbGluZS1oZWlnaHRzLlxyXG4vLyBQb3J0YWwgU0NTUyBmaWxlcyByZWZlcmVuY2UgdGhlIFNDU1MgdmFyaWFibGVzICgkZnMtc20sIGV0Yy4pO1xyXG4vLyBydW50aW1lIG92ZXJyaWRlcyAoUnVwU3RhdGVQcm92aWRlciByb2xlLWZvbnQgc3dhcCwgZGFyayB0aGVtZSkgdXNlIHRoZVxyXG4vLyBDU1MgY3VzdG9tIHByb3BlcnRpZXMgKHZhcigtLWZvbnQtZmFtaWx5LXN0dWRlbnQpLCB2YXIoLS1mcy1zbSksIGV0Yy4pLlxyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5cclxuLy8gLS0tLS0gRm9udC1mYW1pbHkgc3RhY2tzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiRmb250LWZhbWlseS1iYXNlOiAgICAnTnVuaXRvJywgc2Fucy1zZXJpZjtcclxuJGZvbnQtZmFtaWx5LXN0dWRlbnQ6ICdBQmVlWmVlJywgc2Fucy1zZXJpZjtcclxuJGZvbnQtZmFtaWx5LW1vbm86ICAgICdDb25zb2xhcycsICdDb3VyaWVyIE5ldycsIG1vbm9zcGFjZTtcclxuXHJcbi8vIC0tLS0tIE1vZHVsYXIgdHlwZSBzY2FsZSAoMXJlbSA9IDE2cHgpIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4vLyBBYnNvcmJzIHRoZSB+MjUgYWQtaG9jIHJlbSB2YWx1ZXMgaGlzdG9yaWNhbGx5IHNjYXR0ZXJlZCBhY3Jvc3MgUG9ydGFsIFNDU1MuXHJcbiRmcy0zeHM6ICAwLjYyNXJlbTsgICAvLyAxMHB4IOKAlCBhYnNvcmJzIDAuNTUsIDAuNiwgMC42MjVcclxuJGZzLTJ4czogIDAuNjg3NXJlbTsgIC8vIDExcHgg4oCUIGFic29yYnMgMC42NSwgMC43XHJcbiRmcy14czogICAwLjc1cmVtOyAgICAvLyAxMnB4IOKAlCBhYnNvcmJzIDAuNzUsIDAuNzc1LCAwLjhcclxuJGZzLXNtOiAgIDAuODc1cmVtOyAgIC8vIDE0cHgg4oCUIGFic29yYnMgMC44MTI1LCAwLjg1LCAwLjg3NVxyXG4kZnMtYmFzZTogMXJlbTsgICAgICAgLy8gMTZweCDigJQgYWJzb3JicyAwLjksIDAuOTM3NSwgMC45NSwgMSwgMS4wNVxyXG4kZnMtbWQ6ICAgMS4xMjVyZW07ICAgLy8gMThweCDigJQgYWJzb3JicyAxLjEsIDEuMTVcclxuJGZzLWxnOiAgIDEuMjVyZW07ICAgIC8vIDIwcHgg4oCUIGFic29yYnMgMS4yNSwgMS4zNVxyXG4kZnMteGw6ICAgMS41cmVtOyAgICAgLy8gMjRweCDigJQgYWJzb3JicyAxLjUsIDEuNlxyXG4kZnMtMnhsOiAgMnJlbTsgICAgICAgLy8gMzJweCDigJQgYWJzb3JicyAxLjc1LCAyXHJcbiRmcy0zeGw6ICAzcmVtOyAgICAgICAvLyA0OHB4IOKAlCBhYnNvcmJzIDMsIDMuNVxyXG4kZnMtNHhsOiAgNHJlbTsgICAgICAgLy8gNjRweCDigJQgYWJzb3JicyA0XHJcblxyXG4vLyAtLS0tLSBXZWlnaHRzIChOdW5pdG8gc2hpcHMgNDAwLzUwMC82MDAvNzAwKSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4kZnctcmVndWxhcjogIDQwMDtcclxuJGZ3LW1lZGl1bTogICA1MDA7XHJcbiRmdy1zZW1pYm9sZDogNjAwO1xyXG4kZnctYm9sZDogICAgIDcwMDtcclxuXHJcbi8vIC0tLS0tIExpbmUtaGVpZ2h0cyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiRsaC10aWdodDogIDEuMjtcclxuJGxoLW5vcm1hbDogMS41O1xyXG4kbGgtbG9vc2U6ICAxLjc7XHJcblxyXG4vLyAtLS0tLSBDU1MgY3VzdG9tIHByb3BlcnRpZXMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuLy8gRXhwb3NlZCBzbyBydW50aW1lIHN0eWxlIGluamVjdGlvbnMgKHJvbGUtZm9udCBvdmVycmlkZSBpbiBSdXBTdGF0ZVByb3ZpZGVyLFxyXG4vLyB0aGVtZSB0b2dnbGVzKSBhbmQgc2hhcmVkIGxpYnJhcmllcyBjYW4gY29uc3VtZSB0aGUgc2FtZSBzY2FsZS5cclxuOnJvb3Qge1xyXG4gICAgLS1mb250LWZhbWlseS1iYXNlOiAgICAjeyRmb250LWZhbWlseS1iYXNlfTtcclxuICAgIC0tZm9udC1mYW1pbHktc3R1ZGVudDogI3skZm9udC1mYW1pbHktc3R1ZGVudH07XHJcbiAgICAtLWZvbnQtZmFtaWx5LW1vbm86ICAgICN7JGZvbnQtZmFtaWx5LW1vbm99O1xyXG5cclxuICAgIC0tZnMtM3hzOiAgI3skZnMtM3hzfTtcclxuICAgIC0tZnMtMnhzOiAgI3skZnMtMnhzfTtcclxuICAgIC0tZnMteHM6ICAgI3skZnMteHN9O1xyXG4gICAgLS1mcy1zbTogICAjeyRmcy1zbX07XHJcbiAgICAtLWZzLWJhc2U6ICN7JGZzLWJhc2V9O1xyXG4gICAgLS1mcy1tZDogICAjeyRmcy1tZH07XHJcbiAgICAtLWZzLWxnOiAgICN7JGZzLWxnfTtcclxuICAgIC0tZnMteGw6ICAgI3skZnMteGx9O1xyXG4gICAgLS1mcy0yeGw6ICAjeyRmcy0yeGx9O1xyXG4gICAgLS1mcy0zeGw6ICAjeyRmcy0zeGx9O1xyXG4gICAgLS1mcy00eGw6ICAjeyRmcy00eGx9O1xyXG5cclxuICAgIC0tZnctcmVndWxhcjogICN7JGZ3LXJlZ3VsYXJ9O1xyXG4gICAgLS1mdy1tZWRpdW06ICAgI3skZnctbWVkaXVtfTtcclxuICAgIC0tZnctc2VtaWJvbGQ6ICN7JGZ3LXNlbWlib2xkfTtcclxuICAgIC0tZnctYm9sZDogICAgICN7JGZ3LWJvbGR9O1xyXG5cclxuICAgIC0tbGgtdGlnaHQ6ICAjeyRsaC10aWdodH07XHJcbiAgICAtLWxoLW5vcm1hbDogI3skbGgtbm9ybWFsfTtcclxuICAgIC0tbGgtbG9vc2U6ICAjeyRsaC1sb29zZX07XHJcbn1cclxuIiwiQHVzZSBcInR5cG9ncmFwaHktdG9rZW5zXCIgYXMgKjtcclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIFVUSUxJVFkgQ0xBU1NFUyAtIFJldXNhYmxlIGhlbHBlcnNcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qIEJvb3RzdHJhcCAucmF0aW8gZml4OiA8cGljdHVyZT4gaXMgaW5saW5lIGJ5IGRlZmF1bHQsIGJyZWFraW5nIC5yYXRpbyA+ICogc2l6aW5nICovXHJcbi5yYXRpbyBwaWN0dXJlIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG59XHJcblxyXG4vKiBTdXJmYWNlIHV0aWxpdGllcyAqL1xyXG4uY29udGVudC1zb2Z0LWJnIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLXBhbmVsLWNyZWFtLWFsdCk7XHJcbiAgICBib3JkZXItcmFkaXVzOiAuNzVyZW07XHJcbiAgICBwYWRkaW5nOiAxcmVtO1xyXG59XHJcblxyXG4uYm9yZGVyLXNvZnQgeyBcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1zaWRlKTsgXHJcbn1cclxuXHJcbi8qIEljb24gY29sb3IgKi9cclxuLnRleHQtZ3JhZGllbnQtZW5kIHtcclxuICAgIGNvbG9yOiB2YXIoLS1ncmFkaWVudC1lbmQpO1xyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBNSVhJTlMgLSBSZXVzYWJsZSBwYXR0ZXJucyBmb3IgUG9ydGFsIGNvbXBvbmVudHNcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qIEF2YXRhciB3aXRoIGdyYWRpZW50IGJvcmRlciBtaXhpblxyXG4gICBDb25zb2xpZGF0ZXMgZHVwbGljYXRlIHBhdHRlcm4gZnJvbSBTdHVkZW50LnNjc3MsIENsYXNzTWFuYWdlbWVudC5zY3NzLCBVc2VyVGlsZUNhcmQuc2Nzc1xyXG4gICBVc2FnZTogQGluY2x1ZGUgcmF0aG8tYXZhdGFyLWdyYWRpZW50KDEyMHB4LCAzcHgpOyAqL1xyXG5AbWl4aW4gcmF0aG8tYXZhdGFyLWdyYWRpZW50KCRzaXplOiAxMDBweCwgJGJvcmRlci13aWR0aDogM3B4KSB7XHJcbiAgICB3aWR0aDogJHNpemU7XHJcbiAgICBoZWlnaHQ6ICRzaXplO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgcGFkZGluZzogJGJvcmRlci13aWR0aDtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgdmFyKC0tZ3JhZGllbnQtc3RhcnQpLCB2YXIoLS1ncmFkaWVudC1lbmQpKTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlO1xyXG5cclxuICAgIGltZyB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZy13aGl0ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTtcclxuICAgIH1cclxufVxyXG5cclxuLyogR3JhZGllbnQgYm9yZGVyIG1peGluXHJcbiAgIEZvciBhbnkgZWxlbWVudCB0aGF0IG5lZWRzIHRoZSBicmFuZCBncmFkaWVudCBhcyBhIGJvcmRlclxyXG4gICBVc2FnZTogQGluY2x1ZGUgcmF0aG8tZ3JhZGllbnQtYm9yZGVyKDNweCwgOHB4KTsgKi9cclxuQG1peGluIHJhdGhvLWdyYWRpZW50LWJvcmRlcigkYm9yZGVyLXdpZHRoOiAycHgsICRyYWRpdXM6IDhweCkge1xyXG4gICAgcGFkZGluZzogJGJvcmRlci13aWR0aDtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgdmFyKC0tZ3JhZGllbnQtc3RhcnQpLCB2YXIoLS1ncmFkaWVudC1lbmQpKTtcclxuICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XHJcbn1cclxuXHJcbi8qIEN1c3RvbSBzY3JvbGxiYXIgbWl4aW5cclxuICAgTW92ZWQgZnJvbSBSZXNldFBhc3N3b3JkRmx5b3V0LnNjc3MgZm9yIHJldXNlIGFjcm9zcyBjb21wb25lbnRzXHJcbiAgIFVzYWdlOiBAaW5jbHVkZSBjdXN0b20tc2Nyb2xsYmFyKHZhcigtLWJvcmRlci1zb2Z0KSwgdHJhbnNwYXJlbnQpOyAqL1xyXG5AbWl4aW4gY3VzdG9tLXNjcm9sbGJhcigkdGh1bWItY29sb3I6IHZhcigtLWJzLWdyYXktNDAwKSwgJHRyYWNrLWNvbG9yOiB0cmFuc3BhcmVudCkge1xyXG4gICAgJjo6LXdlYmtpdC1zY3JvbGxiYXIge1xyXG4gICAgICAgIHdpZHRoOiA2cHg7XHJcbiAgICB9XHJcbiAgICAmOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJHRyYWNrLWNvbG9yO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcclxuICAgIH1cclxuICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkdGh1bWItY29sb3I7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xyXG4gICAgfVxyXG59XHJcblxyXG4vKiBMaXN0IGl0ZW0gYm9yZGVyIG1peGluXHJcbiAgIEFkZHMgYSBib3R0b20gYm9yZGVyIHRvIGxpc3QgaXRlbXMgd2l0aCByZW1vdmFsIG9uIHRoZSBsYXN0IGNoaWxkXHJcbiAgIFVzYWdlOiBAaW5jbHVkZSBsaXN0LWl0ZW0tYm9yZGVyKCk7ICovXHJcbkBtaXhpbiBsaXN0LWl0ZW0tYm9yZGVyKCkge1xyXG4gICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYnMtYm9yZGVyLXdpZHRoKSB2YXIoLS1icy1ib3JkZXItc3R5bGUpIHZhcigtLWJzLWJvcmRlci1jb2xvcik7XHJcblxyXG4gICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xyXG4gICAgfVxyXG59XHJcblxyXG4vKiBIaWRlIHNjcm9sbGJhcnMgb24gbW9iaWxlIHdoaWxlIGtlZXBpbmcgc2Nyb2xsIGZ1bmN0aW9uYWxpdHkgKi9cclxuQG1lZGlhIChtYXgtd2lkdGg6IDk5MS45OHB4KSB7XHJcbiAgICAqIHtcclxuICAgICAgICBzY3JvbGxiYXItd2lkdGg6IG5vbmU7ICAgICAgICAgICAgICAvKiBGaXJlZm94ICovXHJcbiAgICAgICAgLW1zLW92ZXJmbG93LXN0eWxlOiBub25lOyAgICAgICAgICAgLyogSUUvRWRnZSAqL1xyXG5cclxuICAgICAgICAmOjotd2Via2l0LXNjcm9sbGJhciB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7ICAgICAgICAgICAgICAgICAgLyogQ2hyb21lLCBTYWZhcmksIE9wZXJhICovXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vKiBHcmFkaWVudCB0ZXh0IG1peGluXHJcbiAgIEFwcGxpZXMgdGhlIGJyYW5kIGdyYWRpZW50IGFzIHRleHQgY29sb3IgdXNpbmcgYmFja2dyb3VuZC1jbGlwXHJcbiAgIFVzYWdlOiBAaW5jbHVkZSBncmFkaWVudC10ZXh0KCk7ICovXHJcbkBtaXhpbiBncmFkaWVudC10ZXh0KCkge1xyXG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tZ3JhZGllbnQtc3RhcnQpLCB2YXIoLS1ncmFkaWVudC1lbmQpKTtcclxuICAgIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xyXG4gICAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xyXG59XHJcblxyXG4vKiBNb2RhbCBvdmVybGF5IG1peGluXHJcbiAgIEZ1bGwtdmlld3BvcnQgZGltbWVkIGJhY2tkcm9wIGZvciBtb2RhbCBkaWFsb2dzXHJcbiAgIFVzYWdlOiBAaW5jbHVkZSBtb2RhbC1vdmVybGF5KCk7ICovXHJcbkBtaXhpbiBtb2RhbC1vdmVybGF5KCRiZzogdmFyKC0tb3ZlcmxheS1kYXJrKSwgJHotaW5kZXg6IDEwNDApIHtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIHRvcDogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICByaWdodDogMDtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRiZztcclxuICAgIHotaW5kZXg6ICR6LWluZGV4O1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4vKiBDZW50ZXJlZCBtb2RhbCBjb250YWluZXIgbWl4aW5cclxuICAgRml4ZWQtcG9zaXRpb24gY2VudGVyZWQgY29udGFpbmVyIGZvciBtb2RhbCBjb250ZW50XHJcbiAgIFVzYWdlOiBAaW5jbHVkZSBtb2RhbC1jb250YWluZXIoOTAwcHgpOyAqL1xyXG5AbWl4aW4gbW9kYWwtY29udGFpbmVyKCRtYXgtd2lkdGg6IDkwMHB4LCAkei1pbmRleDogMTA1MCwgJGJvcmRlci1yYWRpdXM6IDAuNXJlbSkge1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgdG9wOiA1MCU7XHJcbiAgICBsZWZ0OiA1MCU7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgIHotaW5kZXg6ICR6LWluZGV4O1xyXG4gICAgd2lkdGg6IDkwJTtcclxuICAgIG1heC13aWR0aDogJG1heC13aWR0aDtcclxuICAgIG1heC1oZWlnaHQ6IDkwdmg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZy13aGl0ZSk7XHJcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcclxuICAgIGJveC1zaGFkb3c6IDAgMTBweCA0MHB4IHZhcigtLXNoYWRvdy0zeGwpO1xyXG5cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA1NzUuOThweCkge1xyXG4gICAgICAgIHdpZHRoOiA5NSU7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMC4zNzVyZW07XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qIEdyYWRpZW50IGJhY2tncm91bmQgbWl4aW5cclxuICAgQXBwbGllcyB0aGUgYnJhbmQgZ3JhZGllbnQgYXMgYSBiYWNrZ3JvdW5kXHJcbiAgIFVzYWdlOiBAaW5jbHVkZSBncmFkaWVudC1iZygpOyBvciBAaW5jbHVkZSBncmFkaWVudC1iZygxMzVkZWcpOyAqL1xyXG5AbWl4aW4gZ3JhZGllbnQtYmcoJGRpcmVjdGlvbjogdG8gcmlnaHQpIHtcclxuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgkZGlyZWN0aW9uLCB2YXIoLS1ncmFkaWVudC1zdGFydCksIHZhcigtLWdyYWRpZW50LWVuZCkpO1xyXG59XHJcblxyXG4vKiBGb2N1cyByaW5nIG1peGluXHJcbiAgIENvbnNpc3RlbnQgYWNjZXNzaWJsZSBmb2N1cyBpbmRpY2F0b3JcclxuICAgVXNhZ2U6IEBpbmNsdWRlIGZvY3VzLXJpbmcoKTsgKi9cclxuQG1peGluIGZvY3VzLXJpbmcoJHdpZHRoOiAycHgsICRjb2xvcjogdmFyKC0tZm9jdXMtcmluZy1icmFuZCksICRvZmZzZXQ6IDJweCkge1xyXG4gICAgJjpmb2N1cyxcclxuICAgICY6Zm9jdXMtdmlzaWJsZSB7XHJcbiAgICAgICAgb3V0bGluZTogJHdpZHRoIHNvbGlkICRjb2xvcjtcclxuICAgICAgICBvdXRsaW5lLW9mZnNldDogJG9mZnNldDtcclxuICAgIH1cclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgR1JBRElFTlQgVVRJTElUWSBDTEFTU0VTXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKiBCcmFuZCBncmFkaWVudCBiYWNrZ3JvdW5kIC0gZm9yIGRlY29yYXRpdmUgZWxlbWVudHMgKi9cclxuLmJnLWJyYW5kLWdyYWRpZW50IHtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgdmFyKC0tZ3JhZGllbnQtc3RhcnQpLCB2YXIoLS1ncmFkaWVudC1lbmQpKSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4vKiBHcmFkaWVudCBib3JkZXIgdXRpbGl0eSBjbGFzc2VzICovXHJcbi5ncmFkaWVudC1ib3JkZXIge1xyXG4gICAgQGluY2x1ZGUgcmF0aG8tZ3JhZGllbnQtYm9yZGVyKDNweCwgOHB4KTtcclxufVxyXG5cclxuLmdyYWRpZW50LWJvcmRlci1zbSB7XHJcbiAgICBAaW5jbHVkZSByYXRoby1ncmFkaWVudC1ib3JkZXIoMnB4LCA0cHgpO1xyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBHUkFESUVOVCBURVhUIFVUSUxJVFkgQ0xBU1NFU1xyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyogT3JhbmdlIGdyYWRpZW50IHRleHQgLSBmb3IgaWNvbnMgYW5kIHRleHQgZWxlbWVudHNcclxuICAgVXNlcyBDU1MgYmFja2dyb3VuZC1jbGlwIHRvIGFwcGx5IGdyYWRpZW50IHRvIHRleHQvaWNvbnMgKi9cclxuLnRleHQtYnJhbmQtZ3JhZGllbnQsXHJcbi5yYXRoby10aXRsZS1iYXItaWNvbixcclxuLmJhY2stYnV0dG9uLWFycm93IHtcclxuICAgIEBpbmNsdWRlIGdyYWRpZW50LXRleHQoKTtcclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgUE9TSVRJT05JTkcgVVRJTElUWSBDTEFTU0VTXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKiBCYWNrIGJ1dHRvbiBwb3NpdGlvbiAtIHVzZWQgd2l0aCBwb3NpdGlvbi1hYnNvbHV0ZSAqL1xyXG4uYmFjay1idXR0b24tcG9zaXRpb24ge1xyXG4gICAgbGVmdDogMC43NXJlbTtcclxufVxyXG5cclxuLyogRmxleC1zaHJpbmsgaGVscGVyOiBsZXRzIGEgZmxleCBjaGlsZCBzaHJpbmsgYmVsb3cgaXRzIGludHJpbnNpYyBjb250ZW50XHJcbiAgIHdpZHRoIHNvIHNpYmxpbmdzIGxpa2UgdGV4dC10cnVuY2F0ZSAvIG92ZXJmbG93LWhpZGRlbiBhY3R1YWxseSBlbmdhZ2UuXHJcbiAgIEJvb3RzdHJhcCA1LjMgc2hpcHMgb3ZlcmZsb3cgLyBtaW4tdncgdXRpbGl0aWVzIGJ1dCBubyBgbWluLXctMGAsIGV2ZW5cclxuICAgdGhvdWdoIGl0J3MgdGhlIGNhbm9uaWNhbCBmaXggZm9yIHRoZSBcInRleHQtdHJ1bmNhdGUgaW4gZmxleCBkb2Vzbid0XHJcbiAgIHRydW5jYXRlXCIgdHJhcCDigJQgc28gd2UgYWRkIGl0IGhlcmUuICovXHJcbi5taW4tdy0wIHtcclxuICAgIG1pbi13aWR0aDogMCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBSRVNQT05TSVZFIFVUSUxJVFkgQ0xBU1NFU1xyXG4gICBFeHRlbmQgQm9vdHN0cmFwJ3MgcmVzcG9uc2l2ZSB1dGlsaXRpZXMgZm9yIG1pc3NpbmcgYnJlYWtwb2ludCB2YXJpYW50c1xyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyogV2lkdGggYXV0byBhdCBtZWRpdW0gYnJlYWtwb2ludCBhbmQgYWJvdmUgKi9cclxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XHJcbiAgICAudy1tZC1hdXRvIHtcclxuICAgICAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG59XHJcblxyXG4vKiBGaXhlZC1zaXplIHNxdWFyZSBidXR0b24gdXRpbGl0eSAqL1xyXG4uYnRuLWljb24tc3F1YXJlIHtcclxuICAgIHdpZHRoOiAyLjVyZW07XHJcbiAgICBoZWlnaHQ6IDIuNXJlbTtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGZsZXgtc2hyaW5rOiAwO1xyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBTSEFSRUQgQlVUVE9OIFNUWUxFU1xyXG4gICBSZXVzYWJsZSBidXR0b24gY2xhc3NlcyB1c2VkIGFjcm9zcyBtdWx0aXBsZSBwYWdlc1xyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyogR3JhZGllbnQgYWRkIGJ1dHRvbiAtIHVzZWQgYnkgU3RhcnQgcGFnZSdzIFwiTGVzcGFnaW5hXCIgYnV0dG9uICovXHJcbi5saWJyYXJ5LWFkZC1idG4ge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBwYWRkaW5nOiAwLjVyZW0gMXJlbTtcclxuICAgIGZvbnQtc2l6ZTogJGZzLWJhc2U7XHJcbiAgICBmb250LXdlaWdodDogJGZ3LXNlbWlib2xkO1xyXG4gICAgY29sb3I6IHZhcigtLXRleHQtd2hpdGUpO1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCB2YXIoLS1ncmFkaWVudC1zdGFydCksIHZhcigtLWdyYWRpZW50LWVuZCkpO1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMC42MjVyZW07XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICBib3gtc2hhZG93OiAwIDNweCA4cHggdmFyKC0tZ2xvdy1icmFuZC1tZCk7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xyXG5cclxuICAgIGkge1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogMC43NXJlbTtcclxuICAgICAgICBmb250LXNpemU6ICRmcy1iYXNlO1xyXG4gICAgfVxyXG5cclxuICAgICY6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xyXG4gICAgICAgIGJveC1zaGFkb3c6IDAgNHB4IDEycHggdmFyKC0tZ2xvdy1icmFuZC1sZyk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpO1xyXG4gICAgfVxyXG5cclxuICAgICY6YWN0aXZlOm5vdCg6ZGlzYWJsZWQpIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XHJcbiAgICAgICAgYm94LXNoYWRvdzogMCAycHggNnB4IHZhcigtLWdsb3ctYnJhbmQtbWQpO1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIGZvY3VzLXJpbmcoMnB4LCB2YXIoLS1mb2N1cy1yaW5nKSwgMnB4KTtcclxuXHJcbiAgICAmOmRpc2FibGVkIHtcclxuICAgICAgICBvcGFjaXR5OiAwLjY7XHJcbiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcclxuICAgIH1cclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgUkVEVUNFRCBNT1RJT04gLSBBY2Nlc3NpYmlsaXR5IChXQ0FHIDIuMSBTQyAyLjMuMylcclxuICAgUmVzcGVjdHMgdGhlIE9TLWxldmVsIHByZWZlcnMtcmVkdWNlZC1tb3Rpb24gcHJlZmVyZW5jZS5cclxuICAgQ292ZXJzIGFsbCB0cmFuc2l0aW9ucyBhbmQgYW5pbWF0aW9ucyBwcm9qZWN0LXdpZGUsIGluY2x1ZGluZyBmdXR1cmUgYWRkaXRpb25zLlxyXG5cclxuICAgLSB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjAxbXMgIChpbnN0YW50LCBidXQgc3RpbGwgZmlyZXMgdHJhbnNpdGlvbmVuZCBldmVudHMpXHJcbiAgIC0gYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjAxbXMgICAoanVtcHMgdG8gZmluYWwga2V5ZnJhbWUsIHByZXNlcnZlcyBlbmQtc3RhdGUpXHJcbiAgIC0gYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMSAoc3RvcHMgaW5maW5pdGUgbG9vcHM6IHNoaW1tZXIsIHB1bHNlLCBib3VuY2UpXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xyXG4gICAgKixcclxuICAgICo6OmJlZm9yZSxcclxuICAgICo6OmFmdGVyIHtcclxuICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IDAuMDFtcyAhaW1wb3J0YW50O1xyXG4gICAgICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDEgIWltcG9ydGFudDtcclxuICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjAxbXMgIWltcG9ydGFudDtcclxuICAgICAgICBzY3JvbGwtYmVoYXZpb3I6IGF1dG8gIWltcG9ydGFudDtcclxuICAgIH1cclxufVxyXG5cclxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgTUFJTiBMQVlPVVQgLSBQYWdlIHN0cnVjdHVyZSBhbmQgQmxhem9yIGVycm9yIFVJXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4ucGFnZSB7XHJcblx0bWluLWhlaWdodDogMTAwZHZoO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLWNyZWFtKTtcclxuXHRwYWRkaW5nLWJvdHRvbTogMC43NXJlbTtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0ei1pbmRleDogMTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogQWJvdmUgb3dsIGJhY2tncm91bmQgKHotaW5kZXg6IDApICovXHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdG92ZXJmbG93LXg6IGhpZGRlbjsgICAgICAgICAgICAgICAgICAgIC8qIFZlcnRpY2FsIHNjcm9sbCBoYW5kbGVkIGJ5IGJvZHkg4oCUIHNpbmdsZSBzY3JvbGxiYXIgKi9cclxufVxyXG5cclxuLyogTWFrZSBwYWdlIGJhY2tncm91bmQgdHJhbnNwYXJlbnQgd2hlbiBvd2wgYmFja2dyb3VuZCBpcyBwcmVzZW50IChzdHVkZW50cykgKi9cclxuLmdyb3VwLXNlbGVjdC1wYWdlLXdyYXBwZXIgfiAucGFnZSB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbn1cclxuXHJcbi8qIFN0YW5kYXJkIGxheW91dCBiYWNrZ3JvdW5kIC0gdXNlZCBmb3IgQWNjb3VudCBwYWdlcyAqL1xyXG4uc3RhbmRhcmQtbGF5b3V0LWJnIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZy1jcmVhbSk7XHJcbn1cclxuXHJcbi8qIE1ha2Ugc3RhbmRhcmQgbGF5b3V0IGJhY2tncm91bmQgdHJhbnNwYXJlbnQgd2hlbiBvd2wgYmFja2dyb3VuZCBpcyBwcmVzZW50ICovXHJcbi5ncm91cC1zZWxlY3QtcGFnZS13cmFwcGVyIH4gLnN0YW5kYXJkLWxheW91dC1iZyB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbn1cclxuXHJcbi8qIEdhcCBiZXR3ZWVuIHNpZGViYXIgYW5kIG1haW4gY29udGVudCAtIHVzZXMgQ1NTIHZhcmlhYmxlIGZyb20gR2VuZXJhbC5zY3NzICovXHJcbi5sYXlvdXQtZ2FwIHtcclxuXHRnYXA6IHZhcigtLXNpZGViYXItY29udGVudC1nYXApO1xyXG59XHJcblxyXG4vKiBQYWdlIGNvbnRhaW5lciBncm93cyB3aXRoIGNvbnRlbnQ7IHRoZSB3aGl0ZSBjb250ZW50IHN1cmZhY2UgaXMgYW5jaG9yZWRcclxuICAgdG8gdmlld3BvcnQtYm90dG9tIHZpYSBtaW4taGVpZ2h0IG9uIC5yYXRoby1jYXJkIC8gLnJhdGhvLXRhYi1jb250ZW50LiAqL1xyXG4ucGFnZSA+IC5wYWdlLWNvbnRhaW5lciB7XHJcblx0ZmxleDogMCAwIGF1dG87XHJcbn1cclxuXHJcbi8qIERlc2t0b3AgKHhsKywg4omlMTIwMHB4KTogc2lkZWJhciBzdGlja3MgaW4gcGxhY2Ugd2hpbGUgY29udGVudCBzY3JvbGxzXHJcbiAgIHdpdGhpbiAucGFnZS4gQmVsb3cgeGwgdGhlIHNpZGViYXIgaXMgb2ZmY2FudmFzLCBub3QgaW4gZmxvdy4gKi9cclxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xyXG5cdC5sYXlvdXQtZ2FwID4gLnNpZGUtd2lkdGgge1xyXG5cdFx0cG9zaXRpb246IHN0aWNreTtcclxuXHRcdHRvcDogY2FsYyh2YXIoLS1oZWFkZXItaGVpZ2h0KSArIDFyZW0pO1xyXG5cdFx0YWxpZ24tc2VsZjogZmxleC1zdGFydDsgICAgICAgICAgICAvKiBEb24ndCBzdHJldGNoIHRvIGNvbnRlbnQgaGVpZ2h0ICovXHJcblx0fVxyXG59XHJcblxyXG4udGFiLW1haW4ge1xyXG5cdG1heC13aWR0aDogMTAwJTtcclxuXHRtaW4td2lkdGg6IDA7ICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBQcmV2ZW50IGZsZXggaXRlbSBvdmVyZmxvdyAqL1xyXG5cdHBhZGRpbmctYm90dG9tOiAwLjc1cmVtOyAgICAgICAgICAgICAgIC8qIE1hdGNoIHNpZGViYXIgbmF2LWJ0biBtYXJnaW4tYm90dG9tIGZvciBib3R0b20gYWxpZ25tZW50ICovXHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cclxuXHQ+IC5yYXRoby1jYXJkIHtcclxuXHRcdG1pbi1oZWlnaHQ6IHZhcigtLWNvbnRlbnQtc3VyZmFjZS1oZWlnaHQpO1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcclxuXHRcdG1hcmdpbi10b3A6IDMuNXJlbTtcclxuXHR9XHJcblxyXG5cdC5yYXRoby10YWItdmlldyB7XHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHJcblx0XHQubmF2LWxpbmsuYWN0aXZlIHtcclxuXHRcdFx0Ym94LXNoYWRvdzogMCAwLjEyNXJlbSAwLjI1cmVtIHZhcigtLXNoYWRvdy14cyk7XHJcblx0XHR9XHJcblxyXG5cdFx0LyogRmxvb3IgYmVsb3cgeGwg4oCUIGRlc2t0b3AgdXNlcyBmbGV4LWdyb3cgdG8gbWF0Y2ggc2lkZWJhciBib3R0b20uICovXHJcblx0XHQucmF0aG8tdGFiLWNvbnRlbnQge1xyXG5cdFx0XHRtaW4taGVpZ2h0OiA5LjM3NXJlbTtcclxuXHRcdFx0b3ZlcmZsb3c6IHZpc2libGU7XHJcblx0XHRcdGJveC1zaGFkb3c6IDAgMC4xMjVyZW0gMC4yNXJlbSB2YXIoLS1zaGFkb3cteHMpO1xyXG5cclxuXHRcdFx0Jjo6YmVmb3JlIHtcclxuXHRcdFx0XHRib3gtc2hhZG93OiBub25lO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XHJcblx0LnRhYi1tYWluIHtcclxuXHRcdD4gLnJhdGhvLWNhcmQge1xyXG5cdFx0XHRtaW4taGVpZ2h0OiAwO1xyXG5cdFx0XHRmbGV4LWdyb3c6IDE7XHJcblx0XHR9XHJcblxyXG5cdFx0LnJhdGhvLXRhYi12aWV3IHtcclxuXHRcdFx0ZmxleC1ncm93OiAxO1xyXG5cclxuXHRcdFx0LnJhdGhvLXRhYi1jb250ZW50IHtcclxuXHRcdFx0XHRtaW4taGVpZ2h0OiAwO1xyXG5cdFx0XHRcdGZsZXgtZ3JvdzogMTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgTU9CSUxFIFNJREVCQVIgT0ZGQ0FOVkFTIC0gTmF2aWdhdGlvbiBkcmF3ZXIgZm9yIG1vYmlsZSBkZXZpY2VzXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4ubW9iaWxlLXNpZGViYXItb2ZmY2FudmFzIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZy1jcmVhbSk7XHJcblx0d2lkdGg6IHZhcigtLXNpZGViYXItd2lkdGgpO1xyXG5cdG1heC13aWR0aDogODV2dzsgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIERvbid0IGV4Y2VlZCA4NSUgb2Ygdmlld3BvcnQgb24gc21hbGwgc2NyZWVucyAqL1xyXG5cdHotaW5kZXg6IHZhcigtLXotb2ZmY2FudmFzKTtcclxuXHJcblx0Lm9mZmNhbnZhcy1oZWFkZXIge1xyXG5cdFx0cGFkZGluZzogMXJlbTtcclxuXHRcdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7ICAgICAgICAgICAgLyogQ2xvc2UgYnV0dG9uIG9uIHRoZSByaWdodCAqL1xyXG5cdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1zb2Z0KTtcclxuXHR9XHJcblxyXG5cdC5vZmZjYW52YXMtYm9keSB7XHJcblx0XHQvKiBBbGxvdyBzaWRlYmFyIGNvbnRlbnQgdG8gc2Nyb2xsIGlmIG5lZWRlZCAqL1xyXG5cdFx0b3ZlcmZsb3cteTogYXV0bztcclxuXHR9XHJcblxyXG5cdC8qIEVuc3VyZSBzaWRlYmFyIG5hdiBidXR0b25zIGZpbGwgdGhlIGRyYXdlciAqL1xyXG5cdC5wb3J0YWwtc2lkZWJhciB7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHR9XHJcblxyXG5cdC8qIEF2YXRhciBzaXplIGRlZmVycyB0byBQcm9maWxlQ2FyZC5zY3NzIHJlc3BvbnNpdmUgcnVsZXMgKi9cclxufVxyXG5cclxuLyogQmxhem9yIGVycm9yIG5vdGlmaWNhdGlvbiAqL1xyXG4jYmxhem9yLWVycm9yLXVpIHtcclxuXHRjb2xvci1zY2hlbWU6IGxpZ2h0IG9ubHk7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmctZXJyb3ItbGlnaHQpO1xyXG5cdGJvdHRvbTogMDtcclxuXHRib3gtc2hhZG93OiAwIC0xcHggMnB4IHZhcigtLXNoYWRvdy0yeGwpO1xyXG5cdGRpc3BsYXk6IG5vbmU7XHJcblx0bGVmdDogMDtcclxuXHRwYWRkaW5nOiAwLjZyZW0gMS4yNXJlbSAwLjdyZW0gMS4yNXJlbTtcclxuXHRwb3NpdGlvbjogZml4ZWQ7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0ei1pbmRleDogMTAwMDtcclxuXHRcclxuXHQuZGlzbWlzcyB7XHJcblx0XHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRyaWdodDogMC43NXJlbTtcclxuXHRcdHRvcDogMC41cmVtO1xyXG5cdH1cclxuXHRcclxuXHQucmVsb2FkIHtcclxuXHRcdGNvbG9yOiBpbmhlcml0O1xyXG5cdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcblx0fVxyXG59XHJcbiIsIkB1c2UgXCJ0eXBvZ3JhcGh5LXRva2Vuc1wiIGFzICo7XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBQT1JUQUwgSEVBREVSIC0gVG9wIG5hdmlnYXRpb24gYmFyIHdpdGggU1ZHIGdyYWRpZW50IGJhY2tncm91bmRcclxuXHJcbiAgIE5PVEU6IExvZ28gc3R5bGluZyBpcyBub3cgaW4gUmF0aG8uVUkuRW1iZXIgKHJhdGhvbG9nby5zY3NzKS5cclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qIEhlYWRlciBjb250YWluZXIgd2l0aCBTVkcgYmFja2dyb3VuZCAqL1xyXG4ucG9ydGFsLWhlYWRlciB7XHJcblx0aGVpZ2h0OiB2YXIoLS1oZWFkZXItaGVpZ2h0KTtcclxuXHRvdmVyZmxvdzogdmlzaWJsZTtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0ei1pbmRleDogdmFyKC0tei1oZWFkZXIpO1xyXG59XHJcblxyXG4vKiBNb2JpbGUgc2lkZWJhciB0b2dnbGUgYnV0dG9uICovXHJcbi5tb2JpbGUtc2lkZWJhci10b2dnbGUge1xyXG5cdHdpZHRoOiAyLjVyZW07XHJcblx0aGVpZ2h0OiAyLjVyZW07XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctd2hpdGUpO1xyXG5cdGJvcmRlcjogbm9uZTtcclxuXHRib3JkZXItcmFkaXVzOiAxcmVtO1xyXG5cdGJveC1zaGFkb3c6IDAgMnB4IDZweCB2YXIoLS1zaGFkb3ctbGcpO1xyXG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC4xNXMgZWFzZTtcclxuXHJcblx0Jjpob3ZlciB7XHJcblx0XHRib3gtc2hhZG93OiAwIDRweCAxMHB4IHZhcigtLXNoYWRvdy14bCk7XHJcblx0fVxyXG5cclxuXHRpIHtcclxuXHRcdGZvbnQtc2l6ZTogJGZzLWxnO1xyXG5cdFx0Y29sb3I6IHZhcigtLWdyYWRpZW50LWVuZCk7XHJcblx0fVxyXG59XHJcblxyXG4vKiBTVkcgaGVhZGVyIGJhY2tncm91bmQgLSBzcGFucyBmdWxsIHdpZHRoIHdpdGggY3VydmVkIGJvdHRvbSBlZGdlICovXHJcbi5wb3J0YWwtaGVhZGVyLXN2ZyB7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHRvcDogMDtcclxuXHRsZWZ0OiAwO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdGhlaWdodDogMTAwJTtcclxuXHR6LWluZGV4OiAxO1xyXG59XHJcblxyXG4vKiBDb250ZW50IG92ZXJsYXkgLSBwb3NpdGlvbmVkIGFib3ZlIHRoZSBTVkcgYmFja2dyb3VuZCAqL1xyXG4ucG9ydGFsLWhlYWRlci1jb250ZW50IHtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0ei1pbmRleDogMjtcclxuXHRoZWlnaHQ6IDEwMCU7XHJcblx0cGFkZGluZy1ib3R0b206IDFyZW07ICAgICAgICAgICAgICAgLyogUHVzaCBjb250ZW50IHVwIGZyb20gY3VydmVkIGJvdHRvbSBlZGdlICovXHJcblxyXG5cdC8qIExlZnQgc2lkZSBlbGVtZW50cyAtIHRpbHQgdG8gZm9sbG93IGN1cnZlICovXHJcblx0PiBkaXY6Zmlyc3QtY2hpbGQge1xyXG5cdFx0dHJhbnNmb3JtOiByb3RhdGUoLjNkZWcpO1xyXG5cdFx0dHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcclxuXHR9XHJcblxyXG5cdC8qIFJpZ2h0IHNpZGUgZWxlbWVudHMgLSB0aWx0IG9wcG9zaXRlIGRpcmVjdGlvbiB0byBmb2xsb3cgY3VydmUgKi9cclxuXHQ+IGRpdjpsYXN0LWNoaWxkIHtcclxuXHRcdHRyYW5zZm9ybTogcm90YXRlKC0uM2RlZyk7XHJcblx0XHR0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyO1xyXG5cdH1cclxufVxyXG5cclxuLyogTW9iaWxlIGNlbnRlcmVkIGxvZ28gLSBhYnNvbHV0ZWx5IGNlbnRlcmVkIGJldHdlZW4gbGVmdC9yaWdodCBidXR0b24gZ3JvdXBzICovXHJcbi5wb3J0YWwtaGVhZGVyLWxvZ28tY2VudGVyIHtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0bGVmdDogNTAlO1xyXG5cdHRvcDogNTAlO1xyXG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG5cdHBhZGRpbmctYm90dG9tOiAxcmVtOyAvKiBNYXRjaCBoZWFkZXIgY29udGVudCBwYWRkaW5nLWJvdHRvbSAqL1xyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBSRVNQT05TSVZFIEFESlVTVE1FTlRTXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKiBFeHRyYSBzbWFsbCBkZXZpY2VzIChwb3J0cmFpdCBwaG9uZXMsIDwgNTc2cHgpICovXHJcbkBtZWRpYSAobWF4LXdpZHRoOiA1NzUuOThweCkge1xyXG5cdC5tb2JpbGUtc2lkZWJhci10b2dnbGUge1xyXG5cdFx0d2lkdGg6IDIuMjVyZW07XHJcblx0XHRoZWlnaHQ6IDIuMjVyZW07XHJcblx0XHRib3JkZXItcmFkaXVzOiAwLjc1cmVtO1xyXG5cclxuXHRcdGkge1xyXG5cdFx0XHRmb250LXNpemU6ICRmcy1tZDtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC8qIEdhcCByZWR1Y3Rpb24gaGFuZGxlZCB2aWEgcmVzcG9uc2l2ZSBCb290c3RyYXAgY2xhc3NlcyAoZ2FwLTIgZ2FwLXNtLTMpIGluIHJhem9yICovXHJcbn1cclxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgUE9SVEFMIFNJREVCQVIgLSBTaWRlIG5hdmlnYXRpb24gd2l0aCByZXNwb25zaXZlIGJlaGF2aW9yXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4ucG9ydGFsLXNpZGViYXIge1xyXG4gICAgd2lkdGg6IHZhcigtLXNpZGViYXItd2lkdGgpO1xyXG5cclxuICAgIC8qIEZ1bGwgd2lkdGggd2hlbiByZW5kZXJlZCBpbnNpZGUgdGhlIG9mZmNhbnZhcyAobW9iaWxlL3RhYmxldC9zbWFsbC1kZXNrdG9wIDwgeGwpICovXHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTE5OS45OHB4KSB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcclxuICAgIH1cclxuXHJcbiAgICAvKiBOYXZpZ2F0aW9uIHNlY3Rpb24gc3BhY2luZyAqL1xyXG4gICAgLnJhdGhvLXNpZGViYXItbmF2LWJ0bjpmaXJzdC1vZi10eXBlIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAwLjVyZW07ICAgICAgICAgICAgICAgLyogU3BhY2UgYWZ0ZXIgcHJvZmlsZSBjYXJkICovXHJcbiAgICB9XHJcblxyXG4gICAgLyogRW5zdXJlIGNvbnNpc3RlbnQgc3BhY2luZyBmb3IgZ3JvdXAgbGlicmFyaWVzICovXHJcbiAgICAuZ3JvdXAtbGlicmFyaWVzIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAwLjc1cmVtOyAgICAgICAgICAgICAgLyogUmVkdWNlZCBzcGFjaW5nICovXHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4iLCJAdXNlIFwidHlwb2dyYXBoeS10b2tlbnNcIiBhcyAqO1xyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgSEVBREVSIERST1BET1dOIC0gQmFzZSBkcm9wZG93biBtZW51IHN0eWxpbmcgZm9yIGhlYWRlciBjb21wb25lbnRzXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4uaGVhZGVyLWRyb3Bkb3duLFxyXG4uaGVhZGVyLWRyb3Bkb3duLWJ0biB7XHJcbiAgICAtLWRyb3Bkb3duLWJ0bi1zaXplOiAyLjVyZW07XHJcbiAgICAtLWRyb3Bkb3duLXJhZGl1czogMXJlbTtcclxuICAgIC0tZHJvcGRvd24tdHJhbnNpdGlvbjogMC4xOHMgZWFzZTtcclxufVxyXG5cclxuLmhlYWRlci1kcm9wZG93biB7XHJcbiAgICAtLWRyb3Bkb3duLW1pbi13aWR0aDogMjgwcHg7XHJcblxyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgei1pbmRleDogdmFyKC0tei1kcm9wZG93bi1tZW51KTtcclxufVxyXG5cclxuLmhlYWRlci1kcm9wZG93bi1idG4ge1xyXG4gICAgd2lkdGg6IHZhcigtLWRyb3Bkb3duLWJ0bi1zaXplKTtcclxuICAgIGhlaWdodDogdmFyKC0tZHJvcGRvd24tYnRuLXNpemUpO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctd2hpdGUpO1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tZHJvcGRvd24tcmFkaXVzKTtcclxuICAgIGJveC1zaGFkb3c6IDAgMnB4IDZweCB2YXIoLS1zaGFkb3ctbGcpO1xyXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuMTVzIGVhc2U7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICBjb2xvcjogaW5oZXJpdDtcclxuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICBib3gtc2hhZG93OiAwIDRweCAxMHB4IHZhcigtLXNoYWRvdy14bCk7XHJcbiAgICB9XHJcblxyXG4gICAgJjpmb2N1cyB7XHJcbiAgICAgICAgb3V0bGluZTogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICAmOmZvY3VzLXZpc2libGUge1xyXG4gICAgICAgIG91dGxpbmU6IDJweCBzb2xpZCB2YXIoLS1mb2N1cy1yaW5nLWJyYW5kKTtcclxuICAgICAgICBvdXRsaW5lLW9mZnNldDogMnB4O1xyXG4gICAgfVxyXG5cclxuICAgIGkge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJGZzLWxnO1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS1ncmFkaWVudC1lbmQpO1xyXG4gICAgfVxyXG59XHJcblxyXG4uaGVhZGVyLWRyb3Bkb3duLW1lbnUge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiBjYWxjKDEwMCUgKyAwLjI1cmVtKTtcclxuICAgIG1pbi13aWR0aDogdmFyKC0tZHJvcGRvd24tbWluLXdpZHRoKTtcclxuICAgIGJhY2tncm91bmQ6IHZhcigtLWJnLXdoaXRlKTtcclxuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWRyb3Bkb3duLXJhZGl1cyk7XHJcbiAgICBib3gtc2hhZG93OiAwIDE4cHggNDVweCB2YXIoLS1zaGFkb3cteGwpO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLXNpZGUpO1xyXG4gICAgcGFkZGluZzogMXJlbTtcclxuICAgIHotaW5kZXg6IHZhcigtLXotZHJvcGRvd24tbWVudSk7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjkyKTtcclxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgdmFyKC0tZHJvcGRvd24tdHJhbnNpdGlvbiksIHRyYW5zZm9ybSB2YXIoLS1kcm9wZG93bi10cmFuc2l0aW9uKTtcclxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG5cclxuICAgICYuc2hvdyB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xyXG4gICAgfVxyXG5cclxuICAgIC8qIEdyb3VwIHNlcGFyYXRvciBiZXR3ZWVuIGxvZ2ljYWwgaXRlbSBncm91cHMgKGUuZy4gbmV3cyAvIGFwcCAvIHByZWZzIC8gc2Vzc2lvbikgKi9cclxuICAgIGhyLFxyXG4gICAgLmRyb3Bkb3duLWRpdmlkZXIge1xyXG4gICAgICAgIGhlaWdodDogMDtcclxuICAgICAgICBtYXJnaW46IDAuNXJlbSAwO1xyXG4gICAgICAgIGJvcmRlcjogMDtcclxuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLXNpZGUpO1xyXG4gICAgfVxyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBSRVNQT05TSVZFIEFESlVTVE1FTlRTIC0gQm9vdHN0cmFwIGJyZWFrcG9pbnRzXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKiBTbWFsbCBkZXZpY2VzIChsYW5kc2NhcGUgcGhvbmVzLCA8IDc2OHB4KSAqL1xyXG5AbWVkaWEgKG1heC13aWR0aDogNzY3Ljk4cHgpIHtcclxuICAgIC5oZWFkZXItZHJvcGRvd24ge1xyXG4gICAgICAgIC0tZHJvcGRvd24tbWluLXdpZHRoOiAyNjBweDtcclxuICAgIH1cclxuXHJcbiAgICAuaGVhZGVyLWRyb3Bkb3duLW1lbnUge1xyXG4gICAgICAgIHBhZGRpbmc6IDAuNzVyZW07XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qIEV4dHJhIHNtYWxsIGRldmljZXMgKHBvcnRyYWl0IHBob25lcywgPCA1NzZweCkgKi9cclxuQG1lZGlhIChtYXgtd2lkdGg6IDU3NS45OHB4KSB7XHJcbiAgICAuaGVhZGVyLWRyb3Bkb3duLFxyXG4gICAgLmhlYWRlci1kcm9wZG93bi1idG4ge1xyXG4gICAgICAgIC0tZHJvcGRvd24tYnRuLXNpemU6IDIuMjVyZW07XHJcbiAgICAgICAgLS1kcm9wZG93bi1yYWRpdXM6IDAuNzVyZW07XHJcbiAgICB9XHJcblxyXG4gICAgLmhlYWRlci1kcm9wZG93biB7XHJcbiAgICAgICAgLS1kcm9wZG93bi1taW4td2lkdGg6IG1pbigyNDBweCwgY2FsYygxMDB2dyAtIDJyZW0pKTtcclxuICAgIH1cclxuXHJcbiAgICAuaGVhZGVyLWRyb3Bkb3duLWJ0biBpIHtcclxuICAgICAgICBmb250LXNpemU6ICRmcy1tZDtcclxuICAgIH1cclxuXHJcbiAgICAuaGVhZGVyLWRyb3Bkb3duLW1lbnUge1xyXG4gICAgICAgIHBhZGRpbmc6IDAuNjI1cmVtO1xyXG4gICAgfVxyXG59XHJcbiIsIkB1c2UgXCJ0eXBvZ3JhcGh5LXRva2Vuc1wiIGFzICo7XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBEUk9QRE9XTiBNRU5VIElURU0gLSBTdHlsZWQgbWVudSBpdGVtIGZvciBoZWFkZXIgZHJvcGRvd25zXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4uZHJvcGRvd24tbWVudS1pdGVtIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgZ2FwOiAwLjc1cmVtO1xyXG4gICAgcGFkZGluZzogMC42NXJlbSAwLjZyZW07XHJcbiAgICBib3JkZXItcmFkaXVzOiAwLjZyZW07XHJcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1wcmltYXJ5KTtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZTtcclxuICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XHJcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZy1wYW5lbC1jcmVhbSk7XHJcbiAgICAgICAgY29sb3I6IHZhcigtLXRleHQtcHJpbWFyeSk7XHJcbiAgICB9XHJcblxyXG4gICAgaSB7XHJcbiAgICAgICAgY29sb3I6IHZhcigtLWJyYW5kLXByaW1hcnkpO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJGZzLWJhc2U7XHJcbiAgICAgICAgd2lkdGg6IDEuMjVyZW07XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgfVxyXG59XHJcblxyXG4uZHJvcGRvd24tbWVudS1pdGVtLWRpc2FibGVkIHtcclxuICAgIG9wYWNpdHk6IDAuNTtcclxuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgaTpsYXN0LWNoaWxkIHtcclxuICAgICAgICBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIFJFU1BPTlNJVkUgQURKVVNUTUVOVFMgLSBJbXByb3ZlIHRvdWNoIHRhcmdldHMgb24gbW9iaWxlXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG5AbWVkaWEgKG1heC13aWR0aDogNTc1Ljk4cHgpIHtcclxuICAgIC5kcm9wZG93bi1tZW51LWl0ZW0ge1xyXG4gICAgICAgIHBhZGRpbmc6IDAuNzVyZW0gMC42MjVyZW07XHJcbiAgICAgICAgbWluLWhlaWdodDogNDRweDsgLyogV0NBRyBtaW5pbXVtIHRvdWNoIHRhcmdldCAqL1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJGZzLWJhc2U7XHJcbiAgICB9XHJcbn1cclxuXHJcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIEhFQURFUiBTRVRUSU5HUyBEUk9QRE9XTiAtIFNldHRpbmdzIG1lbnUgcG9zaXRpb25pbmdcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi5oZWFkZXItc2V0dGluZ3MtZHJvcGRvd24gLmhlYWRlci1kcm9wZG93bi1tZW51IHtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIHJpZ2h0O1xyXG59XHJcblxyXG4iLCJAdXNlIFwidHlwb2dyYXBoeS10b2tlbnNcIiBhcyAqO1xyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgSEVBREVSIEFQUCBEUkFXRVIgLSBBcHAgc2hvcnRjdXRzIGdyaWQgZHJvcGRvd25cclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi5oZWFkZXItYXBwLWRyYXdlciB7XHJcbiAgICAtLWRyb3Bkb3duLW1pbi13aWR0aDogMzIwcHg7XHJcblxyXG4gICAgLmhlYWRlci1kcm9wZG93bi1tZW51IHtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xyXG4gICAgICAgIHBhZGRpbmc6IDAuNzVyZW07XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qIEN1c3RvbSA5LWRvdCBncmlkIGljb24gKGlubGluZSBTVkcpICovXHJcbi5oZWFkZXItYXBwLWRyYXdlci1idG4ge1xyXG4gICAgLmN1c3RvbS1ncmlkLWljb24ge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIHdpZHRoOiAxOHB4O1xyXG4gICAgICAgIGhlaWdodDogMThweDtcclxuICAgICAgICBjb2xvcjogdmFyKC0tZ3JhZGllbnQtZW5kKTtcclxuICAgIH1cclxufVxyXG5cclxuLmhlYWRlci1hcHAtZHJhd2VyLWdyaWQge1xyXG4gICAgZGlzcGxheTogZ3JpZDtcclxuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIDFmcik7XHJcbiAgICBnYXA6IDAuMTI1cmVtO1xyXG59XHJcblxyXG4uaGVhZGVyLWFwcC1kcmF3ZXItaXRlbSB7XHJcbiAgICBwYWRkaW5nOiAwLjVyZW0gMC4yNXJlbSAwLjRyZW07XHJcbiAgICBib3JkZXItcmFkaXVzOiAwLjZyZW07XHJcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1wcmltYXJ5KTtcclxuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZTtcclxuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZy1wYW5lbC1jcmVhbSk7XHJcbiAgICAgICAgY29sb3I6IHZhcigtLXRleHQtcHJpbWFyeSk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qIEJ1bXBlZCB0byA1NnB4IHRvIGNvbXBlbnNhdGUgZm9yIH4yNSUgdHJhbnNwYXJlbnQgcGFkZGluZyBpbnNpZGUgTWljcm9zb2Z0J3MgNjR4NjQgYXBwIGljb25zICovXHJcbi5oZWFkZXItYXBwLWRyYXdlci1pY29uIHtcclxuICAgIHdpZHRoOiA1NnB4O1xyXG4gICAgaGVpZ2h0OiA1NnB4O1xyXG5cclxuICAgIGltZyB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XHJcbiAgICB9XHJcblxyXG4gICAgaSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAkZnMtMnhsO1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuICAgIH1cclxufVxyXG5cclxuLmhlYWRlci1hcHAtZHJhd2VyLW5hbWUge1xyXG4gICAgZm9udC1zaXplOiAkZnMteHM7XHJcbiAgICBsaW5lLWhlaWdodDogMS4yO1xyXG4gICAgY29sb3I6IHZhcigtLXRleHQtc2Vjb25kYXJ5KTtcclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgUkVTUE9OU0lWRSBBREpVU1RNRU5UU1xyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyogTW9iaWxlOiBlbnN1cmUgZHJvcGRvd24gZG9lc24ndCBvdmVyZmxvdyB2aWV3cG9ydCAqL1xyXG5AbWVkaWEgKG1heC13aWR0aDogNTc1Ljk4cHgpIHtcclxuICAgIC5oZWFkZXItYXBwLWRyYXdlciB7XHJcbiAgICAgICAgLS1kcm9wZG93bi1taW4td2lkdGg6IG1pbigyODBweCwgY2FsYygxMDB2dyAtIDJyZW0pKTtcclxuXHJcbiAgICAgICAgLmhlYWRlci1kcm9wZG93bi1tZW51IHtcclxuICAgICAgICAgICAgbGVmdDogLTAuNXJlbTtcclxuICAgICAgICAgICAgcGFkZGluZzogMC41cmVtO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuaGVhZGVyLWFwcC1kcmF3ZXItaXRlbSB7XHJcbiAgICAgICAgcGFkZGluZzogMC4zNzVyZW0gMC4xMjVyZW07XHJcbiAgICB9XHJcblxyXG4gICAgLmhlYWRlci1hcHAtZHJhd2VyLWljb24ge1xyXG4gICAgICAgIHdpZHRoOiA0NHB4O1xyXG4gICAgICAgIGhlaWdodDogNDRweDtcclxuXHJcbiAgICAgICAgaSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZzLXhsO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuIiwiQHVzZSBcInR5cG9ncmFwaHktdG9rZW5zXCIgYXMgKjtcclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIFBST0ZJTEUgQ0FSRCAtIFNpZGViYXIgdXNlciBwcm9maWxlXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gICBTdHVkZW50IFByb2ZpbGUgLSBDZW50ZXJlZCBhdmF0YXIgd2l0aCBzdGFja2VkIG5hbWVcclxuICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuXHJcbi5zdHVkZW50LXByb2ZpbGUge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRwYWRkaW5nOiAxcmVtIDA7XHJcblx0bWFyZ2luLWJvdHRvbTogMXJlbTtcclxuXHR3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLnN0dWRlbnQtcHJvZmlsZS1hdmF0YXIge1xyXG5cdC8qIFJlc3BvbnNpdmUgYXZhdGFyIC0gdGFrZXMgbW9zdCBvZiBzaWRlYmFyIHdpZHRoICovXHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdHdpZHRoOiBtaW4oODUlLCAyMjBweCk7XHJcblx0aGVpZ2h0OiBhdXRvO1xyXG5cdGFzcGVjdC1yYXRpbzogMTtcclxuXHRib3JkZXItcmFkaXVzOiA1MCU7XHJcblx0cGFkZGluZzogNnB4O1xyXG5cdGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgdmFyKC0tZ3JhZGllbnQtc3RhcnQpLCB2YXIoLS1ncmFkaWVudC1lbmQpKTtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGVhc2U7XHJcblx0bWFyZ2luLWJvdHRvbTogMC43NXJlbTtcclxuXHRib3gtc2hhZG93OiAwIDRweCAxMnB4IHZhcigtLXNoYWRvdy1zbSk7XHJcblxyXG5cdGltZyB7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdGhlaWdodDogMTAwJTtcclxuXHRcdG9iamVjdC1maXQ6IGNvdmVyO1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogNTAlO1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctd2hpdGUpO1xyXG5cdFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XHJcblx0fVxyXG5cclxuXHQuc3R1ZGVudC1wcm9maWxlLWF2YXRhci1vdmVybGF5IHtcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdGluc2V0OiA2cHg7XHJcblx0XHRib3JkZXItcmFkaXVzOiA1MCU7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1vdmVybGF5LWRhcmspO1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRcdG9wYWNpdHk6IDA7XHJcblx0XHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZTtcclxuXHRcdHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG5cclxuXHRcdGkge1xyXG5cdFx0XHRjb2xvcjogdmFyKC0tdGV4dC13aGl0ZSk7XHJcblx0XHRcdGZvbnQtc2l6ZTogJGZzLWxnO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Jjpob3ZlciB7XHJcblx0XHR0cmFuc2Zvcm06IHNjYWxlKDEuMDUpO1xyXG5cdH1cclxuXHJcblx0Jjpob3ZlciAuc3R1ZGVudC1wcm9maWxlLWF2YXRhci1vdmVybGF5LFxyXG5cdCY6Zm9jdXMgLnN0dWRlbnQtcHJvZmlsZS1hdmF0YXItb3ZlcmxheSB7XHJcblx0XHRvcGFjaXR5OiAxO1xyXG5cdH1cclxufVxyXG5cclxuLnN0dWRlbnQtcHJvZmlsZS1uYW1lIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRnYXA6IDAuMTI1cmVtO1xyXG5cclxuXHQuc3R1ZGVudC1maXJzdG5hbWUge1xyXG5cdFx0Zm9udC1zaXplOiAkZnMtbGc7XHJcblx0XHRmb250LXdlaWdodDogJGZ3LWJvbGQ7XHJcblx0XHRjb2xvcjogdmFyKC0tYnJhbmQtcHJpbWFyeSk7ICAgICAgICAgICAvKiBEYXJrZXIgb3JhbmdlLXJlZCBtYXRjaGluZyBoZWFkZXIgZ3JhZGllbnQgKi9cclxuXHRcdGxpbmUtaGVpZ2h0OiAkbGgtdGlnaHQ7XHJcblx0fVxyXG5cclxuXHQuc3R1ZGVudC1sYXN0bmFtZSB7XHJcblx0XHRmb250LXNpemU6ICRmcy1iYXNlO1xyXG5cdFx0Zm9udC13ZWlnaHQ6ICRmdy1tZWRpdW07XHJcblx0XHRjb2xvcjogdmFyKC0tdGV4dC1kYXJrKTtcclxuXHRcdGxpbmUtaGVpZ2h0OiAkbGgtdGlnaHQ7XHJcblx0fVxyXG5cclxuXHQuc3R1ZGVudC1lbnYtbmFtZSB7XHJcblx0XHRmb250LXNpemU6ICRmcy1zbTtcclxuXHRcdGZvbnQtd2VpZ2h0OiAkZnctcmVndWxhcjtcclxuXHRcdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRcdGxpbmUtaGVpZ2h0OiAkbGgtdGlnaHQ7XHJcblx0XHRtYXJnaW4tdG9wOiAwLjI1cmVtO1xyXG5cdH1cclxuXHJcblx0LnN0dWRlbnQtZ3JvdXBuYW1lIHtcclxuXHRcdGZvbnQtc2l6ZTogJGZzLWJhc2U7XHJcblx0XHRmb250LXdlaWdodDogJGZ3LXJlZ3VsYXI7XHJcblx0XHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0XHRsaW5lLWhlaWdodDogJGxoLXRpZ2h0O1xyXG5cdFx0bWFyZ2luLXRvcDogMC4yNXJlbTtcclxuXHR9XHJcbn1cclxuXHJcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgIFRlYWNoZXIvQWRtaW4gUHJvZmlsZSBDYXJkXHJcbiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcblxyXG4ucHJvZmlsZS1jYXJkIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZy13aGl0ZSk7XHJcblx0Ym9yZGVyLXJhZGl1czogMC43NXJlbTtcclxuXHRib3gtc2hhZG93OiAwIDFweCAycHggdmFyKC0tc2hhZG93LXNtKTtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdG1hcmdpbi1ib3R0b206IDFyZW07ICAgICAgICAgICAgICAgICAgLyogUmVkdWNlZCBzcGFjaW5nICovXHJcbn1cclxuXHJcbi5wcm9maWxlLWNhcmQtaGVhZGVyIHtcclxuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHZhcigtLWdyYWRpZW50LXN0YXJ0KSwgdmFyKC0tZ3JhZGllbnQtZW5kKSk7XHJcblx0cGFkZGluZzogMXJlbTtcclxufVxyXG5cclxuLnByb2ZpbGUtYXZhdGFyIHtcclxuXHR3aWR0aDogMy4yNXJlbTtcclxuXHRoZWlnaHQ6IDMuMjVyZW07XHJcblx0Ym9yZGVyLXJhZGl1czogNTAlO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLXdoaXRlKTtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHRmbGV4LXNocmluazogMDtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cclxuXHRpbWcge1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRoZWlnaHQ6IDEwMCU7XHJcblx0XHRvYmplY3QtZml0OiBjb3ZlcjtcclxuXHR9XHJcblxyXG5cdC5wcm9maWxlLWF2YXRhci1vdmVybGF5IHtcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdHRvcDogMDtcclxuXHRcdGxlZnQ6IDA7XHJcblx0XHRyaWdodDogMDtcclxuXHRcdGJvdHRvbTogMDtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLW92ZXJsYXktZGFyayk7XHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdFx0b3BhY2l0eTogMDtcclxuXHRcdHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlO1xyXG5cclxuXHRcdGkge1xyXG5cdFx0XHRjb2xvcjogdmFyKC0tdGV4dC13aGl0ZSk7XHJcblx0XHRcdGZvbnQtc2l6ZTogJGZzLXNtO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Jjpob3ZlciAucHJvZmlsZS1hdmF0YXItb3ZlcmxheSxcclxuXHQmOmZvY3VzIC5wcm9maWxlLWF2YXRhci1vdmVybGF5IHtcclxuXHRcdG9wYWNpdHk6IDE7XHJcblx0fVxyXG59XHJcblxyXG4ucHJvZmlsZS1pbmZvIHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC13aGl0ZSk7XHJcblx0ZmxleDogMTtcclxuXHRtaW4td2lkdGg6IDA7XHJcbn1cclxuXHJcbi5wcm9maWxlLW5hbWUge1xyXG5cdG1hcmdpbi1ib3R0b206IDA7XHJcblx0Zm9udC13ZWlnaHQ6ICRmdy1zZW1pYm9sZDtcclxuXHRmb250LXNpemU6ICRmcy1iYXNlO1xyXG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxufVxyXG5cclxuLnByb2ZpbGUtZW52LWxvZ28ge1xyXG5cdGRpc3BsYXk6IGJsb2NrO1xyXG5cdHdpZHRoOiBhdXRvO1xyXG5cdGhlaWdodDogNC41cmVtO1xyXG5cdG1heC13aWR0aDogMTAwJTtcclxuXHRtYXJnaW46IDAgYXV0byAwLjVyZW07XHJcblx0b2JqZWN0LWZpdDogY29udGFpbjtcclxuXHRvYmplY3QtcG9zaXRpb246IGNlbnRlcjtcclxufVxyXG5cclxuLnByb2ZpbGUtZW52LXJvdyB7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdHBhZGRpbmctdG9wOiAwLjYyNXJlbTtcclxuXHRtYXJnaW4tdG9wOiAwLjI1cmVtO1xyXG5cclxuXHQmOjpiZWZvcmUge1xyXG5cdFx0Y29udGVudDogXCJcIjtcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdHRvcDogMDtcclxuXHRcdGxlZnQ6IDUwJTtcclxuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuXHRcdHdpZHRoOiAyLjVyZW07XHJcblx0XHRoZWlnaHQ6IDFweDtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLWdyYXktbWVkaXVtKTtcclxuXHR9XHJcbn1cclxuXHJcbi5wcm9maWxlLWVudi1uYW1lIHtcclxuXHRmbGV4OiAwIDEgYXV0bztcclxuXHRtaW4td2lkdGg6IDA7XHJcblx0Zm9udC1zaXplOiAkZnMtc207XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG59XHJcblxyXG4ucHJvZmlsZS1zd2l0Y2gtYnRuIHtcclxuXHRmbGV4OiAwIDAgMS43NXJlbTtcclxuXHR3aWR0aDogMS43NXJlbTtcclxuXHRoZWlnaHQ6IDEuNzVyZW07XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctZ3JheS1saWdodCk7XHJcblx0Ym9yZGVyLXJhZGl1czogMC41cmVtO1xyXG5cdGJvcmRlcjogbm9uZTtcclxuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZTtcclxuXHJcblx0Jjpob3ZlciB7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZy1ncmF5LW1lZGl1bSk7XHJcblx0fVxyXG5cclxuXHRpIHtcclxuXHRcdGZvbnQtc2l6ZTogJGZzLXNtO1xyXG5cdFx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdH1cclxufVxyXG5cclxuLyogU3Vic3RpdHV0ZS1zaGlmdHMgaW5kaWNhdG9yOiBjbGlwYm9hcmQgaWNvbiBzaG93biBiZWZvcmUgdGhlIGVudmlyb25tZW50XHJcbiAgIG5hbWUgd2hlbiB0aGUgdGVhY2hlciBoYXMgYXNzaWduZWQgc3Vic3RpdHV0ZSBncm91cHMuIFRoZSBCb290c3RyYXAgdG9vbHRpcFxyXG4gICByZXZlYWxzIHRoZSBncm91cCBuYW1lcyBvbiBob3Zlci9mb2N1cy4gQnJhbmQtcHJpbWFyeSBjb2xvcmVkIHRvIG1pcnJvciB0aGVcclxuICAgcHJldmlvdXMgc3Vic3RpdHV0ZS1zaGlmdCBjaGlwIHN0eWxpbmcuICovXHJcbi5wcm9maWxlLXN1YnN0aXR1dGUtaW5kaWNhdG9yIHtcclxuXHRjb2xvcjogdmFyKC0tYnJhbmQtcHJpbWFyeSk7XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIFJFU1BPTlNJVkUgQURKVVNUTUVOVFMgLSBNb2JpbGUgb2ZmY2FudmFzIHNpZGViYXJcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qIFNtYWxsZXIgc3R1ZGVudCBhdmF0YXIgaW4gbW9iaWxlIG9mZmNhbnZhcyB0byBzYXZlIHNwYWNlICovXHJcbkBtZWRpYSAobWF4LXdpZHRoOiA5OTEuOThweCkge1xyXG5cdC5zdHVkZW50LXByb2ZpbGUge1xyXG5cdFx0cGFkZGluZzogMC43NXJlbSAwO1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMC43NXJlbTtcclxuXHR9XHJcblxyXG5cdC5zdHVkZW50LXByb2ZpbGUtYXZhdGFyIHtcclxuXHRcdHdpZHRoOiBtaW4oNjAlLCAxNjBweCk7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAwLjVyZW07XHJcblx0fVxyXG5cclxuXHQuc3R1ZGVudC1wcm9maWxlLW5hbWUge1xyXG5cdFx0LnN0dWRlbnQtZmlyc3RuYW1lIHtcclxuXHRcdFx0Zm9udC1zaXplOiAkZnMtbWQ7XHJcblx0XHR9XHJcblxyXG5cdFx0LnN0dWRlbnQtbGFzdG5hbWUsXHJcblx0XHQuc3R1ZGVudC1ncm91cG5hbWUge1xyXG5cdFx0XHRmb250LXNpemU6ICRmcy1iYXNlO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LnByb2ZpbGUtZW52LWxvZ28ge1xyXG5cdFx0aGVpZ2h0OiAzLjVyZW07XHJcblx0fVxyXG59XHJcblxyXG5AbWVkaWEgKG1heC13aWR0aDogNTc1Ljk4cHgpIHtcclxuXHQuc3R1ZGVudC1wcm9maWxlLWF2YXRhciB7XHJcblx0XHR3aWR0aDogbWluKDUwJSwgMTQwcHgpO1xyXG5cdH1cclxuXHJcblx0LnN0dWRlbnQtcHJvZmlsZS1uYW1lIHtcclxuXHRcdC5zdHVkZW50LWZpcnN0bmFtZSB7XHJcblx0XHRcdGZvbnQtc2l6ZTogJGZzLWJhc2U7XHJcblx0XHR9XHJcblxyXG5cdFx0LnN0dWRlbnQtbGFzdG5hbWUsXHJcblx0XHQuc3R1ZGVudC1ncm91cG5hbWUge1xyXG5cdFx0XHRmb250LXNpemU6ICRmcy1zbTtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbiIsIkB1c2UgXCJ0eXBvZ3JhcGh5LXRva2Vuc1wiIGFzICo7XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBHUk9VUCBMSUJSQVJJRVMgLSBDb2xsYXBzaWJsZSBncm91cCBsaXN0XHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4uZ3JvdXAtbGlicmFyaWVzIHtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0ei1pbmRleDogdmFyKC0tei1kcm9wZG93bi1tZW51KTtcclxuXHRtYXJnaW4tdG9wOiAwLjI1cmVtOyAgICAgICAgICAgICAgICAgICAgICAvKiBSZWR1Y2VkIHRvIGdyb3VwIHZpc3VhbGx5IHdpdGggTGlicmFyeSBidXR0b24gYWJvdmUgKi9cclxuXHRtYXJnaW4tYm90dG9tOiAwLjc1cmVtO1xyXG5cclxuXHQvKiBNYWluIHRvZ2dsZSBpY29uIC0gbGFyZ2VyIHRvIG1hdGNoIG5hdiBidXR0b25zICovXHJcblx0PiAuZ3JvdXAtbGlicmFyaWVzLXRvZ2dsZSAuZ3JvdXAtaWNvbiB7XHJcblx0XHRmb250LXNpemU6ICRmcy14bDsgICAgICAgICAgICAgICAgICAgIC8qIExhcmdlciBpY29uIGluIHRoZSBkcm9wZG93biBoZWFkZXIgKi9cclxuXHRcdHdpZHRoOiAxLjg3NXJlbTsgICAgICAgICAgICAgICAgICAgICAgLyogTWF0Y2ggbmF2IGJ1dHRvbiBpY29uIHdpZHRoICovXHJcblx0fVxyXG5cclxuXHQuZ3JvdXAtaWNvbiB7XHJcblx0XHRjb2xvcjogdmFyKC0tYnJhbmQtYWNjZW50LWxpZ2h0KTtcclxuXHR9XHJcblxyXG59XHJcblxyXG4uZ3JvdXAtbGlicmFyaWVzLXRvZ2dsZSB7XHJcblx0LyogTGF5b3V0ICh3aWR0aC9kaXNwbGF5L2FsaWduL2p1c3RpZnkpLCBiYWNrZ3JvdW5kLXRyYW5zcGFyZW50LCBib3JkZXItMCBhbmRcclxuXHQgKiB0ZXh0LXN0YXJ0IGNvbWUgZnJvbSBCb290c3RyYXAgdXRpbGl0aWVzIGFwcGxpZWQgaW4gdGhlIG1hcmt1cC4gT25seSB0aGVcclxuXHQgKiB0cnVseSBjb21wb25lbnQtc3BlY2lmaWMgc3R5bGluZyByZW1haW5zIGhlcmUuICovXHJcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJzLWdyYXktMzAwLCAjZGVlMmU2KTtcclxuXHRwYWRkaW5nOiAxcmVtIDAuNXJlbTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1zZWNvbmRhcnkpO1xyXG5cdGJvcmRlci1yYWRpdXM6IDA7XHJcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2U7XHJcblxyXG5cdCY6aG92ZXIge1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcblx0fVxyXG5cclxuXHQmOmZvY3VzIHtcclxuXHRcdG91dGxpbmU6IDJweCBzb2xpZCB2YXIoLS1mb2N1cy1yaW5nLWJyYW5kLWFsdCk7XHJcblx0XHRvdXRsaW5lLW9mZnNldDogMnB4O1xyXG5cdH1cclxuXHJcblx0PiBzcGFuIHtcclxuXHRcdGdhcDogMXJlbTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogSW5jcmVhc2VkIGdhcCB0byBiZXR0ZXIgbWF0Y2ggbmF2IGJ1dHRvbnMgKi9cclxuXHJcblx0XHQmOmZpcnN0LWNoaWxkIHNwYW4ge1xyXG5cdFx0XHRmb250LXdlaWdodDogJGZ3LW1lZGl1bTtcclxuXHRcdFx0Zm9udC1zaXplOiAkZnMtc207ICAgICAgICAgICAgICAgIC8qIGZzLWJhc2UgaXMgdG9vIHdpZGUg4oCUIHRpdGxlIHB1c2hlcyBhZ2FpbnN0IHRoZSBjb3VudGVyICovXHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQuZ3JvdXAtbGlicmFyaWVzLWNvdW50IHtcclxuXHRcdGZvbnQtc2l6ZTogJGZzLXNtO1xyXG5cdFx0Zm9udC13ZWlnaHQ6ICRmdy1tZWRpdW07XHJcblx0XHRjb2xvcjogdmFyKC0tdGV4dC1zZWNvbmRhcnkpO1xyXG5cdH1cclxuXHJcblx0LyogQ2hldnJvbiBpY29uIHdpdGggd2hpdGUgY2lyY2xlIGJhY2tncm91bmQgKi9cclxuXHQuZ3JvdXAtbGlicmFyaWVzLXRvZ2dsZS1pY29uIHtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0XHR3aWR0aDogMS41cmVtO1xyXG5cdFx0aGVpZ2h0OiAxLjVyZW07XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZy13aGl0ZSk7XHJcblx0XHRib3JkZXItcmFkaXVzOiA1MCU7XHJcblx0XHRmb250LXNpemU6ICRmcy0zeHM7XHJcblx0XHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0XHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlO1xyXG5cdH1cclxuXHJcblx0JlthcmlhLWV4cGFuZGVkPVwiZmFsc2VcIl0gLmdyb3VwLWxpYnJhcmllcy10b2dnbGUtaWNvbiB7XHJcblx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xyXG5cdH1cclxufVxyXG5cclxuLmdyb3VwLWxpYnJhcmllcy1saXN0IHtcclxuXHRtYXJnaW4tdG9wOiAwLjc1cmVtO1xyXG5cdHBhZGRpbmc6IDAgMC4yNXJlbTtcclxufVxyXG5cclxuLmdyb3VwLWxpYnJhcmllcy1pdGVtIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1zZWNvbmRhcnkpO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJzLWdyYXktNDAwLCAjYWRiNWJkKTtcclxuXHRib3JkZXItcmFkaXVzOiAwLjVyZW07XHJcblx0cGFkZGluZzogMC42MjVyZW0gMC44NzVyZW07XHJcblx0bWFyZ2luLWJvdHRvbTogMC41cmVtO1xyXG5cdG1hcmdpbi1sZWZ0OiAwLjI1cmVtO1xyXG5cdG1hcmdpbi1yaWdodDogMC4yNXJlbTtcclxuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2UsIGJvcmRlci1jb2xvciAwLjE1cyBlYXNlO1xyXG5cclxuXHQmOmhvdmVyIHtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLWhvdmVyLWNyZWFtKTtcclxuXHRcdGJvcmRlci1jb2xvcjogdmFyKC0tYnMtZ3JheS01MDAsICM2Yzc1N2QpO1xyXG5cdH1cclxuXHJcblx0Lmdyb3VwLWxpYnJhcmllcy1saW5rIHtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG5cdFx0Y29sb3I6IHZhcigtLXRleHQtc2Vjb25kYXJ5KTtcclxuXHRcdGZsZXgtZ3JvdzogMTtcclxuXHRcdGZvbnQtc2l6ZTogJGZzLWJhc2U7XHJcblxyXG5cdFx0Lmdyb3VwLWljb24ge1xyXG5cdFx0XHRjb2xvcjogdmFyKC0tYnJhbmQtYWNjZW50LWxpZ2h0KTtcclxuXHRcdFx0Zm9udC1zaXplOiAkZnMtc207XHJcblx0XHR9XHJcblxyXG5cdFx0Jjpob3ZlciB7XHJcblx0XHRcdGNvbG9yOiB2YXIoLS10ZXh0LXNlY29uZGFyeSk7XHJcblx0XHR9XHJcblxyXG5cdFx0Ji5hY3RpdmUge1xyXG5cdFx0XHRjb2xvcjogdmFyKC0tdGV4dC13aGl0ZSk7XHJcblx0XHRcdGZvbnQtd2VpZ2h0OiAkZnctc2VtaWJvbGQ7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQmOmhhcyguZ3JvdXAtbGlicmFyaWVzLWxpbmsuYWN0aXZlKSB7XHJcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHZhcigtLWdyYWRpZW50LW5hdi1zdGFydCksIHZhcigtLWdyYWRpZW50LW5hdi1lbmQpKTtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJyYW5kLXByaW1hcnkpO1xyXG5cdFx0Ym9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuXHRcdGJveC1zaGFkb3c6IDAgNHB4IDEycHggdmFyKC0tZ2xvdy1icmFuZC1sZyk7XHJcblxyXG5cdFx0Jjpob3ZlciB7XHJcblx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgdmFyKC0tZ3JhZGllbnQtbmF2LXN0YXJ0KSwgdmFyKC0tZ3JhZGllbnQtbmF2LWVuZCkpO1xyXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icmFuZC1wcmltYXJ5KTtcclxuXHRcdH1cclxuXHJcblx0XHQuZ3JvdXAtbGlicmFyaWVzLWxpbmssXHJcblx0XHQuZ3JvdXAtbGlicmFyaWVzLWxpbms6aG92ZXIge1xyXG5cdFx0XHRjb2xvcjogdmFyKC0tdGV4dC13aGl0ZSk7XHJcblx0XHR9XHJcblxyXG5cdFx0Lmdyb3VwLWljb24ge1xyXG5cdFx0XHRjb2xvcjogdmFyKC0tdGV4dC13aGl0ZSk7XHJcblx0XHR9XHJcblxyXG5cdFx0aS5mYS1jaGV2cm9uLXJpZ2h0IHtcclxuXHRcdFx0Y29sb3I6IHZhcigtLXRleHQtd2hpdGUpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0aS5mYS1jaGV2cm9uLXJpZ2h0IHtcclxuXHRcdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRcdGZvbnQtc2l6ZTogJGZzLXhzO1xyXG5cdH1cclxufVxyXG5cclxuLmdyb3VwLWxpYnJhcmllcy12aWV3LWFsbCB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdHBhZGRpbmc6IDAuMzc1cmVtIDAuNzVyZW0gMC41cmVtIDAuNzVyZW07XHJcblx0Y29sb3I6IHZhcigtLWJyYW5kLWFjY2VudC1kYXJrKTtcclxuXHRmb250LXNpemU6ICRmcy1zbTtcclxuXHRmb250LXdlaWdodDogJGZ3LXNlbWlib2xkO1xyXG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuXHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuXHRib3JkZXI6IG5vbmU7XHJcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJzLWdyYXktMzAwLCAjZGVlMmU2KTtcclxuXHRib3JkZXItcmFkaXVzOiAwO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHR0cmFuc2l0aW9uOiBjb2xvciAwLjE1cyBlYXNlLCBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2U7XHJcblxyXG5cdCY6aG92ZXIge1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctaG92ZXItY3JlYW0pO1xyXG5cdFx0Y29sb3I6IHZhcigtLXRleHQtZGFyayk7XHJcblx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcblx0fVxyXG5cclxuXHQmOmZvY3VzIHtcclxuXHRcdG91dGxpbmU6IDJweCBzb2xpZCB2YXIoLS1mb2N1cy1yaW5nLWJyYW5kLWFsdCk7XHJcblx0XHRvdXRsaW5lLW9mZnNldDogMnB4O1xyXG5cdH1cclxufVxyXG4iLCJAdXNlIFwidHlwb2dyYXBoeS10b2tlbnNcIiBhcyAqO1xyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgVEFCIFNDUk9MTCAtIEhvcml6b250YWwgc2Nyb2xsIGFycm93cyBmb3Igb3ZlcmZsb3dpbmcgdGFiIGJhcnNcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi5yYXRoby10YWItc2Nyb2xsLWNvbnRhaW5lciB7XHJcblx0b3ZlcmZsb3cteDogYXV0bztcclxuXHRvdmVyZmxvdy15OiBoaWRkZW47XHJcblx0bWluLXdpZHRoOiAwO1xyXG5cclxuXHQvKiBIaWRlIHNjcm9sbGJhciBhY3Jvc3MgYnJvd3NlcnMgKi9cclxuXHRzY3JvbGxiYXItd2lkdGg6IG5vbmU7XHJcblx0LW1zLW92ZXJmbG93LXN0eWxlOiBub25lO1xyXG5cdCY6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcclxuXHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0fVxyXG5cclxuXHQ+IC5uYXYtdGFicyB7XHJcblx0XHRmbGV4LXdyYXA6IG5vd3JhcDtcclxuXHRcdHdpZHRoOiBtYXgtY29udGVudDtcclxuXHR9XHJcbn1cclxuXHJcbi8qIERyYWctdG8tcmVvcmRlciB2aXN1YWxzIOKAlCBzaGFyZWQgYnkgdGFicyBhbmQgc2lkZWJhciAoZ3JvdXAtcmVvcmRlci5qcykgKi9cclxuLnJhdGhvLXJlb3JkZXItZ2hvc3Qge1xyXG5cdG9wYWNpdHk6IDAuNDtcclxufVxyXG5cclxuLnJhdGhvLXJlb3JkZXItY2hvc2VuLFxyXG4ucmF0aG8tcmVvcmRlci1jaG9zZW4gLm5hdi1saW5rLFxyXG4ucmF0aG8tcmVvcmRlci1jaG9zZW4gLmdyb3VwLWxpYnJhcmllcy1saW5rIHtcclxuXHRjdXJzb3I6IGdyYWJiaW5nO1xyXG59XHJcblxyXG4vKiBTY3JvbGwgYXJyb3cgYnV0dG9ucyAqL1xyXG4ucmF0aG8tdGFiLXNjcm9sbC1idG4ge1xyXG5cdGZsZXgtc2hyaW5rOiAwO1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHR3aWR0aDogMS43NXJlbTtcclxuXHRoZWlnaHQ6IDEuNzVyZW07XHJcblx0Y29sb3I6IHZhcigtLWJzLXNlY29uZGFyeS1jb2xvcik7XHJcblx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcblx0Ym9yZGVyOiBub25lO1xyXG5cdGJvcmRlci1yYWRpdXM6IDUwJTtcclxuXHR0cmFuc2l0aW9uOiBjb2xvciAwLjE1cyBlYXNlLCBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2U7XHJcblxyXG5cdCY6aG92ZXIge1xyXG5cdFx0Y29sb3I6IHZhcigtLWJzLWJvZHktY29sb3IpO1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctaG92ZXItbGlnaHQpO1xyXG5cdH1cclxuXHJcblx0Jjpmb2N1cyxcclxuXHQmOmZvY3VzLXZpc2libGUge1xyXG5cdFx0b3V0bGluZTogbm9uZTtcclxuXHRcdGJveC1zaGFkb3c6IG5vbmU7XHJcblx0fVxyXG5cclxuXHRpIHtcclxuXHRcdGZvbnQtc2l6ZTogJGZzLXhzO1xyXG5cdH1cclxufVxyXG4iLCJAdXNlIFwidHlwb2dyYXBoeS10b2tlbnNcIiBhcyAqO1xyXG5AdXNlIFwiY29tcG9uZW50cy9fYmFzZS91dGlsaXRpZXNcIiBhcyAqO1xyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgVVNFUiBUSUxFIENBUkQgLSBVc2VyIGNhcmQgZm9yIHBob3RvIHNlbGVjdGlvbiBsb2dpblxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLnVzZXItdGlsZS1jYXJkIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2U7XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00cHgpO1xyXG5cclxuICAgICAgICAudXNlci10aWxlLWF2YXRhciB7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgOHB4IDI0cHggdmFyKC0tc2hhZG93LWxnKTtcclxuXHJcbiAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAudXNlci10aWxlLW5hbWUge1xyXG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tYnJhbmQtcHJpbWFyeSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICY6YWN0aXZlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi51c2VyLXRpbGUtYXZhdGFyIHtcclxuICAgIEBpbmNsdWRlIHJhdGhvLWF2YXRhci1ncmFkaWVudCgxMDBweCwgM3B4KTtcclxuICAgIGJvcmRlcjogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjNzIGVhc2U7XHJcbiAgICBib3gtc2hhZG93OiAwIDRweCAxMnB4IHZhcigtLXNoYWRvdy1zbSk7XHJcblxyXG4gICAgaW1nIHtcclxuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlO1xyXG4gICAgfVxyXG59XHJcblxyXG4udXNlci10aWxlLW5hbWUge1xyXG4gICAgbWFyZ2luLXRvcDogMC41cmVtO1xyXG4gICAgZm9udC13ZWlnaHQ6ICRmdy1zZW1pYm9sZDtcclxuICAgIGZvbnQtc2l6ZTogJGZzLWJhc2U7XHJcbiAgICBsaW5lLWhlaWdodDogJGxoLXRpZ2h0O1xyXG4gICAgY29sb3I6IHZhcigtLXRleHQtZGFyayk7XHJcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjNzIGVhc2U7XHJcbiAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xyXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBSRVNQT05TSVZFIEFESlVTVE1FTlRTXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG5AbWVkaWEgKG1heC13aWR0aDogNTc1Ljk4cHgpIHtcclxuICAgIC51c2VyLXRpbGUtYXZhdGFyIHtcclxuICAgICAgICB3aWR0aDogNzBweDtcclxuICAgICAgICBoZWlnaHQ6IDcwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLnVzZXItdGlsZS1uYW1lIHtcclxuICAgICAgICBmb250LXNpemU6ICRmcy14cztcclxuICAgICAgICBtYXJnaW4tdG9wOiAwLjM3NXJlbTtcclxuICAgIH1cclxufVxyXG5cclxuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSBhbmQgKG1heC13aWR0aDogNzY3Ljk4cHgpIHtcclxuICAgIC51c2VyLXRpbGUtYXZhdGFyIHtcclxuICAgICAgICB3aWR0aDogODVweDtcclxuICAgICAgICBoZWlnaHQ6IDg1cHg7XHJcbiAgICB9XHJcblxyXG4gICAgLnVzZXItdGlsZS1uYW1lIHtcclxuICAgICAgICBmb250LXNpemU6ICRmcy1zbTtcclxuICAgIH1cclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgQ09NUEFDVCBWQVJJQU5UIC0gUmVhZC1vbmx5IHRpbGUgZ3JpZHMgaW5zaWRlIGZseW91dHMgKHNlbGVjdGlvbiBzdW1tYXJpZXMpXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4udXNlci10aWxlLWNhcmQuY29tcGFjdCB7XHJcbiAgICB3aWR0aDogNHJlbTtcclxuXHJcbiAgICAudXNlci10aWxlLWF2YXRhciB7XHJcbiAgICAgICAgd2lkdGg6IDNyZW07XHJcbiAgICAgICAgaGVpZ2h0OiAzcmVtO1xyXG4gICAgfVxyXG5cclxuICAgIC51c2VyLXRpbGUtbmFtZSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAkZnMteHM7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMC4yNXJlbTtcclxuICAgIH1cclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgRElTTUlTUyBCVVRUT04gLSBTbWFsbCBcInhcIiBpbiB0aGUgdG9wLXJpZ2h0IGNvcm5lciBvZiB0aGUgYXZhdGFyIHRoYXRcclxuICAgcmVtb3ZlcyB0aGUgdGlsZSBmcm9tIGEgc2VsZWN0aW9uIHN1bW1hcnkuIFJlbmRlcmVkIG9ubHkgd2hlbiB0aGUgY2FsbGVyXHJcbiAgIHdpcmVzIFVzZXJUaWxlQ2FyZC5PbkRpc21pc3MuXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKiBMYXlvdXQgKHBvc2l0aW9uLWFic29sdXRlIC8gZC1pbmxpbmUtZmxleCAvIGFsaWduLWl0ZW1zLWNlbnRlciAvXHJcbiAqIGp1c3RpZnktY29udGVudC1jZW50ZXIgLyByb3VuZGVkLWNpcmNsZSAvIGJvcmRlciAvIHAtMCAvIGxoLTEpIGNvbWVzIGZyb21cclxuICogQm9vdHN0cmFwIHV0aWxpdHkgY2xhc3NlcyBhcHBsaWVkIGluIHRoZSBtYXJrdXAuIEJhY2tncm91bmQtY29sb3IgaXMgc2V0XHJcbiAqIGhlcmUgKG5vdCB2aWEgQm9vdHN0cmFwJ3MgYmctd2hpdGUpIHNvIHRoZSA6aG92ZXIgcnVsZSBiZWxvdyBjYW4gb3ZlcnJpZGVcclxuICogaXQg4oCUIGJnLXdoaXRlIGNhcnJpZXMgIWltcG9ydGFudCBhbmQgd291bGQgb3RoZXJ3aXNlIHdpbiwgbGVhdmluZyBhIHdoaXRlXHJcbiAqIMOXIG9uIGEgd2hpdGUgYmFja2dyb3VuZC4gKi9cclxuLnVzZXItdGlsZS1kaXNtaXNzIHtcclxuICAgIHRvcDogLTAuMjVyZW07XHJcbiAgICByaWdodDogLTAuMjVyZW07XHJcbiAgICB3aWR0aDogMS4yNXJlbTtcclxuICAgIGhlaWdodDogMS4yNXJlbTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLXdoaXRlKTtcclxuICAgIGNvbG9yOiB2YXIoLS1icmFuZC1wcmltYXJ5KTtcclxuICAgIGZvbnQtc2l6ZTogMC42MjVyZW07XHJcbiAgICBib3gtc2hhZG93OiAwIDFweCAzcHggdmFyKC0tc2hhZG93LXNtKTtcclxuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZSwgdHJhbnNmb3JtIDAuMTVzIGVhc2U7XHJcbiAgICB6LWluZGV4OiAxO1xyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJyYW5kLXByaW1hcnkpO1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS1iZy13aGl0ZSk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xyXG4gICAgfVxyXG5cclxuICAgICY6Zm9jdXMtdmlzaWJsZSB7XHJcbiAgICAgICAgb3V0bGluZTogMnB4IHNvbGlkIHZhcigtLWZvY3VzLXJpbmctYnJhbmQtYWx0KTtcclxuICAgICAgICBvdXRsaW5lLW9mZnNldDogMnB4O1xyXG4gICAgfVxyXG59XHJcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIFNLRUxFVE9OIFBMQUNFSE9MREVSU1xyXG4gICBVbmlmb3JtIHNoaW1tZXIgYW5pbWF0aW9uIGFjcm9zcyBhbGwgc2tlbGV0b24gdHlwZXMuXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG5AdXNlIFwiY29tcG9uZW50cy9fYmFzZS9za2VsZXRvbi12YXJzXCIgYXMgKjtcclxuXHJcbi8qIFNoYXJlZCBzaGltbWVyIG1peGluICovXHJcbkBtaXhpbiBza2VsZXRvbi1zaGltbWVyIHtcclxuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgJHNrZWxldG9uLWJhc2UgMjUlLCAkc2tlbGV0b24taGlnaGxpZ2h0IDUwJSwgJHNrZWxldG9uLWJhc2UgNzUlKTtcclxuICAgIGJhY2tncm91bmQtc2l6ZTogMjAwJSAxMDAlO1xyXG4gICAgYW5pbWF0aW9uOiBza2VsZXRvbi1zaGltbWVyIDEuNXMgZWFzZS1pbi1vdXQgaW5maW5pdGU7XHJcbn1cclxuXHJcbi8qIFJldXNhYmxlIHNoaW1tZXIga2V5ZnJhbWVzIChhbHNvIHVzZWQgYnkgcmF0aG9ncmlkc3RhY2suc2NzcykgKi9cclxuQGtleWZyYW1lcyBza2VsZXRvbi1zaGltbWVyIHtcclxuICAgIDAlICAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAyMDAlIDA7IH1cclxuICAgIDEwMCUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjAwJSAwOyB9XHJcbn1cclxuXHJcbi5za2VsZXRvbi1hdmF0YXIge1xyXG4gICAgQGluY2x1ZGUgc2tlbGV0b24tc2hpbW1lcjtcclxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgIHdpZHRoOiB2YXIoLS1hdmF0YXItc2l6ZSwgMTIwcHgpO1xyXG4gICAgaGVpZ2h0OiB2YXIoLS1hdmF0YXItc2l6ZSwgMTIwcHgpO1xyXG5cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA1NzUuOThweCkge1xyXG4gICAgICAgIHdpZHRoOiA4MHB4O1xyXG4gICAgICAgIGhlaWdodDogODBweDtcclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjcuOThweCkge1xyXG4gICAgICAgIHdpZHRoOiAxMDBweDtcclxuICAgICAgICBoZWlnaHQ6IDEwMHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4uc2tlbGV0b24taW1hZ2Uge1xyXG4gICAgQGluY2x1ZGUgc2tlbGV0b24tc2hpbW1lcjtcclxuICAgIGFzcGVjdC1yYXRpbzogNCAvIDM7XHJcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzKTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4vKiBTdGFuZGFsb25lIHNoaW1tZXIgbGluZSDigJQgdXNhYmxlIGFueXdoZXJlIChzaWRlYmFyLCB0YWIgdmlldywgZXRjLikgKi9cclxuLnNrZWxldG9uLWxpbmUge1xyXG4gICAgQGluY2x1ZGUgc2tlbGV0b24tc2hpbW1lcjtcclxuICAgIGhlaWdodDogMC43NXJlbTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XHJcbn1cclxuXHJcbi5za2VsZXRvbi10ZXh0LWxpbmVzIHtcclxuICAgIGdhcDogMC4zNXJlbTtcclxufVxyXG5cclxuLnNrZWxldG9uLXRhZyB7XHJcbiAgICBAaW5jbHVkZSBza2VsZXRvbi1zaGltbWVyO1xyXG4gICAgaGVpZ2h0OiAxLjI1cmVtO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMXJlbTtcclxuXHJcbiAgICAmLS1sZyB7IHdpZHRoOiAzcmVtOyB9XHJcbiAgICAmLS1tZCB7IHdpZHRoOiAyLjVyZW07IH1cclxuICAgICYtLXNtIHsgd2lkdGg6IDJyZW07IH1cclxufVxyXG5cclxuLyogV2lkZ2V0IGdyaWQgc2tlbGV0b24g4oCUIG1pcnJvcnMgdGhlIGRlbnNpdHktZHJpdmVuIGNvbHVtbiBjb3VudCBvZiB0aGUgcmVhbFxyXG4gICBncmlkc3RhY2sgc28gdGhlIHNrZWxldG9uIGhhcyB0aGUgc2FtZSBudW1iZXIgb2YgdGlsZXMgcGVyIHJvdyBhcyB0aGUgbG9hZGVkXHJcbiAgIGdyaWQuIFRoZSAxMzBweCBmbG9vciBtYXRjaGVzIFJlc3BvbnNpdmVDb2x1bW5zT3B0aW9ucy5UYXJnZXRUaWxlUHggaW5cclxuICAgU2hvcnRjdXRIZWxwZXIsIHNvIGZsb29yKGNvbnRhaW5lcldpZHRoIC8gMTMwKSB0aWxlcyBmaXQgcGVyIHJvdyBpbiBib3RoLiAqL1xyXG4uc2tlbGV0b24td2lkZ2V0LWdyaWQge1xyXG4gICAgZGlzcGxheTogZ3JpZDtcclxuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KDEzMHB4LCAxZnIpKTtcclxuICAgIGdhcDogNnB4O1xyXG4gICAgcGFkZGluZzogMXJlbSAwO1xyXG59XHJcblxyXG4uc2tlbGV0b24td2lkZ2V0IHtcclxuICAgIEBpbmNsdWRlIHNrZWxldG9uLXNoaW1tZXI7XHJcbiAgICBhc3BlY3QtcmF0aW86IDE7XHJcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzKTtcclxufVxyXG5cclxuLyogTG9naW4gdGlsZSBza2VsZXRvbiDigJQgbWF0Y2hlcyAubG9naW4tdGlsZSBzaGFwZSBvbiBTdHVkZW50IHBhZ2UgKi9cclxuLnNrZWxldG9uLWxvZ2luLXRpbGUge1xyXG4gICAgQGluY2x1ZGUgc2tlbGV0b24tc2hpbW1lcjtcclxuICAgIGFzcGVjdC1yYXRpbzogMTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDAuNzVyZW07XHJcbiAgICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLyogR3JvdXAgdGlsZSBza2VsZXRvbiDigJQgbWF0Y2hlcyAuZ3JvdXAtdGlsZSBzaGFwZSAqL1xyXG4uc2tlbGV0b24tZ3JvdXAtdGlsZSB7XHJcbiAgICBAaW5jbHVkZSBza2VsZXRvbi1zaGltbWVyO1xyXG4gICAgYXNwZWN0LXJhdGlvOiAxIC8gMTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbiAgICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLyogTG9hZGluZyBwbGFjZWhvbGRlciDigJQgYW5pbWF0ZWQgb3dsIG1hc2NvdCAqL1xyXG4ucG9ydGFsLWxvYWRpbmctb3dsIHtcclxuICAgIGFuaW1hdGlvbjogb3dsLWJvdW5jZSAycyBlYXNlLWluLW91dCBpbmZpbml0ZTtcclxuICAgIGZpbHRlcjogZHJvcC1zaGFkb3coMCA0cHggOHB4IHJnYmEoMCwgMCwgMCwgMC4xKSk7XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgb3dsLWJvdW5jZSB7XHJcbiAgICAwJSwgMTAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSByb3RhdGUoLTNkZWcpOyB9XHJcbiAgICA1MCUgICAgICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTJweCkgcm90YXRlKDNkZWcpOyB9XHJcbn1cclxuXHJcbi8qIFNpZGViYXIgc2tlbGV0b24g4oCUIG1hdGNoZXMgUG9ydGFsU2lkZWJhciBuYXYgYnV0dG9uIGRpbWVuc2lvbnMgKi9cclxuLnNrZWxldG9uLXNpZGViYXItbmF2LWJ0biB7XHJcbiAgICBAaW5jbHVkZSBza2VsZXRvbi1zaGltbWVyO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwLjc1cmVtO1xyXG4gICAgcGFkZGluZzogMi44cmVtIDEuNXJlbTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDAuODc1cmVtO1xyXG5cclxuICAgICY6Zmlyc3Qtb2YtdHlwZSB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMC41cmVtO1xyXG4gICAgfVxyXG5cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5OTEuOThweCkge1xyXG4gICAgICAgIHBhZGRpbmc6IDJyZW0gMS4yNXJlbTtcclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3Ljk4cHgpIHtcclxuICAgICAgICBwYWRkaW5nOiAxLjVyZW0gMXJlbTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMC43NXJlbTtcclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogNTc1Ljk4cHgpIHtcclxuICAgICAgICBwYWRkaW5nOiAxLjI1cmVtIDAuODc1cmVtO1xyXG4gICAgfVxyXG59XHJcblxyXG4vKiBUYWIgdmlldyBza2VsZXRvbiDigJQgbWF0Y2hlcyBSYXRob1J1cFRhYlZpZXcgdGFiIGJhciArIGNvbnRlbnQgKi9cclxuLnNrZWxldG9uLXRhYi1idXR0b24ge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgZ2FwOiAwLjM3NXJlbTtcclxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG5cclxuICAgIC5za2VsZXRvbi10YWItaWNvbiB7XHJcbiAgICAgICAgQGluY2x1ZGUgc2tlbGV0b24tc2hpbW1lcjtcclxuICAgICAgICB3aWR0aDogMXJlbTtcclxuICAgICAgICBoZWlnaHQ6IDFyZW07XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTtcclxuICAgICAgICBmbGV4LXNocmluazogMDtcclxuICAgIH1cclxuXHJcbiAgICAuc2tlbGV0b24tdGFiLWxhYmVsIHtcclxuICAgICAgICBAaW5jbHVkZSBza2VsZXRvbi1zaGltbWVyO1xyXG4gICAgICAgIHdpZHRoOiA0cmVtO1xyXG4gICAgICAgIGhlaWdodDogMC43NXJlbTtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAwLjI1cmVtO1xyXG4gICAgfVxyXG5cclxuICAgICYuYWN0aXZlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZy13aGl0ZSwgI2ZmZik7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qIExpc3Qgc2tlbGV0b24gKGljb24gKyB0ZXh0IHJvd3MpICovXHJcblxyXG4uc2tlbGV0b24tbGlzdC1pdGVtIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgZ2FwOiAwLjc1cmVtO1xyXG4gICAgcGFkZGluZzogMC41cmVtIDA7XHJcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLXN1YnRsZSk7XHJcblxyXG4gICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgIC5za2VsZXRvbi1pY29uIHtcclxuICAgICAgICBAaW5jbHVkZSBza2VsZXRvbi1zaGltbWVyO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgICBmbGV4LXNocmluazogMDtcclxuXHJcbiAgICAgICAgJi5za2VsZXRvbi1saXN0LWljb24ge1xyXG4gICAgICAgICAgICB3aWR0aDogMzJweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAzMnB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuc2tlbGV0b24tbGluZS0tc2Vjb25kYXJ5IHtcclxuICAgICAgICBvcGFjaXR5OiAwLjY7XHJcbiAgICB9XHJcbn1cclxuIiwiLy8gTGF5b3V0IGZvciBhbGVydHMgdGhhdCB1c2UgdGhlIFJhdGhvQWxlcnQgc3RydWN0dXJlICguYWxlcnQtaWNvbiArIC5hbGVydC1tZXNzYWdlIGJsb2NrcykuXHJcbi8vIFNjb3BlZCB2aWEgOmhhcygpIHNvIHBsYWluIEJvb3RzdHJhcCBpbmxpbmUgYWxlcnRzICh3aXRob3V0IC5hbGVydC1pY29uKSBrZWVwIHRoZWlyIGRlZmF1bHQgbG9vay5cclxuLy8gVGhlIFNwYXJrIENTUyB0aGF0IHNoaXBzIHRoZXNlIHN0eWxlcyBpbiBNYW5hZ2VyIGlzIG5vdCBsb2FkZWQgaW4gUG9ydGFsLCBzbyB0aGlzIGZpbGVcclxuLy8gcHJvdmlkZXMgdGhlIGVxdWl2YWxlbnQgbGF5b3V0IGxvY2FsbHkuXHJcbi5hbGVydDpoYXMoPiAuYWxlcnQtaWNvbikge1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcblxyXG4gICAgPiAuYWxlcnQtaWNvbiB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIHBhZGRpbmc6IDAuNzVyZW0gMXJlbTtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjA1KTtcclxuICAgICAgICBmbGV4LXNocmluazogMDtcclxuXHJcbiAgICAgICAgLy8gUmVzZXQgQm9vdHN0cmFwIGdyaWQgcm93IGd1dHRlcnMvbWFyZ2lucyBpbmhlcml0ZWQgZnJvbSB0aGUgLnJvdyB1dGlsaXR5IGNsYXNzXHJcbiAgICAgICAgLy8gdGhhdCBSYXRob0FsZXJ0IGFwcGxpZXMgdG8gaXRzIGljb24gY29udGFpbmVyLlxyXG4gICAgICAgIC0tYnMtZ3V0dGVyLXg6IDA7XHJcbiAgICAgICAgLS1icy1ndXR0ZXIteTogMDtcclxuICAgIH1cclxuXHJcbiAgICA+IC5hbGVydC1tZXNzYWdlIHtcclxuICAgICAgICBwYWRkaW5nOiAwLjc1cmVtIDFyZW07XHJcbiAgICAgICAgZmxleDogMTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBSYXRob0FsZXJ0IHJlbmRlcnMgdGhlIGNsb3NlIGljb24gYXMgYnRuLWNsb3NlLXdoaXRlIGZvciBNYW5hZ2VyIChzb2xpZCB0aGVtZSBiZyk7XHJcbiAgICAvLyBQb3J0YWwgdXNlcyBCb290c3RyYXAncyBkZWZhdWx0IGxpZ2h0IGFsZXJ0IGJhY2tncm91bmRzLCBzbyByZXZlcnQgdGhlIHdoaXRlIGZpbHRlclxyXG4gICAgLy8gYW5kIGdpdmUgdGhlIGJ1dHRvbiBpdHMgb3duIHNwYWNpbmcgc2luY2UgdGhlIGFsZXJ0J3Mgb3duIHBhZGRpbmcgaXMgemVyb2VkIGFib3ZlLlxyXG4gICAgPiAuYnRuLWNsb3NlIHtcclxuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjc1cmVtO1xyXG4gICAgICAgIGZpbHRlcjogbm9uZTtcclxuICAgIH1cclxufVxyXG4iLCIvLyBTdWJ0bGUgZW50cmFuY2UgYW5pbWF0aW9uIHRoYXQgYnJpZWZseSBkcmF3cyBhdHRlbnRpb24gdG8gdGhlIGJldGEgYmFubmVyXHJcbi8vIHdoZW4gdGhlIHVzZXIgb3BlbnMgdGhlIFBvcnRhbC4gVGhlIGFuaW1hdGlvbiBydW5zIG9uY2UgcGVyIGNpcmN1aXRcclxuLy8gKEJldGFCYW5uZXIgdHJhY2tzIHRoaXMgdmlhIElCZXRhQmFubmVyU3RhdGUuSGFzQW5pbWF0ZWQpIHNvIGl0IGRvZXNuJ3RcclxuLy8gcmVwbGF5IG9uIGV2ZXJ5IG5hdmlnYXRpb24gYmFjayB0byBTdGFydC5cclxuXHJcbi5iZXRhLWJhbm5lci1hdHRlbnRpb24ge1xyXG4gICAgYW5pbWF0aW9uOiBiZXRhLWJhbm5lci1hdHRlbnRpb24gMS42cyBlYXNlLW91dCAwLjJzIDE7XHJcbiAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtLCBib3gtc2hhZG93O1xyXG59XHJcblxyXG4vLyBSZXNwZWN0IHVzZXJzIHdobyByZXF1ZXN0IHJlZHVjZWQgbW90aW9uIChXQ0FHIDIuMy4zKTogc2hvdyB0aGUgYmFubmVyIHN0YXRpY2FsbHkuXHJcbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XHJcbiAgICAuYmV0YS1iYW5uZXItYXR0ZW50aW9uIHtcclxuICAgICAgICBhbmltYXRpb246IG5vbmU7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgYmV0YS1iYW5uZXItYXR0ZW50aW9uIHtcclxuICAgIDAlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOTg1KTtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDAgcmdiYSh2YXIoLS1icy1zdWNjZXNzLXJnYiwgMjUsIDEzNSwgODQpLCAwKTtcclxuICAgIH1cclxuICAgIDM1JSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjAxKTtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDZweCByZ2JhKHZhcigtLWJzLXN1Y2Nlc3MtcmdiLCAyNSwgMTM1LCA4NCksIDAuMTgpO1xyXG4gICAgfVxyXG4gICAgMTAwJSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDAgcmdiYSh2YXIoLS1icy1zdWNjZXNzLXJnYiwgMjUsIDEzNSwgODQpLCAwKTtcclxuICAgIH1cclxufVxyXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBSQVRITyBCTEFaT1IgU0VMRUNUIC0gUG9ydGFsLXNwZWNpZmljIGJyYW5kIHNraW5cclxuICAgVGhlIGJhc2Ugc3R5bGluZyBsaXZlcyBpbiBSYXRoby5JbmZyYXN0cnVjdHVyZS5SYXpvciBhbmQgdXNlcyBCb290c3RyYXAgQ1NTXHJcbiAgIHZhcmlhYmxlcy4gUG9ydGFsIG92ZXJyaWRlcyB0aG9zZSBjb2xvdXJzL3JhZGlpIGhlcmUgdG8gbWF0Y2ggdGhlIGJyYW5kXHJcbiAgIHdpdGhvdXQgZm9ya2luZyB0aGUgY29tcG9uZW50IGl0c2VsZi5cclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi5yYXRoby1ibGF6b3Itc2VsZWN0IHtcclxuICAgIC8vIFN0YWJsZSBzaXppbmc6IGEgbWluaW11bSB3aWR0aCBwcmV2ZW50cyBjb2xsYXBzZSwgYW5kIHdpZHRoOiAxMDAlIChzZXRcclxuICAgIC8vIGluIHRoZSBiYXNlIFNDU1MpIHBsdXMgdGhlIC5zZWxlY3QtdmFsdWUncyB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcyBzdG9wc1xyXG4gICAgLy8gdGhlIGNvbnRyb2wgZnJvbSBncm93aW5nL3Nocmlua2luZyB3aXRoIHdoaWNoZXZlciBvcHRpb24gaXMgc2VsZWN0ZWQuXHJcbiAgICBtaW4td2lkdGg6IHZhcigtLXJhdGhvLWlucHV0LW1pbi13aWR0aCk7XHJcblxyXG4gICAgLy8gTXVsdGktc2VsZWN0IHJ1bGU6IG5vIHNlYXJjaCBmaWVsZCBpbnNpZGUgdGhlIGRyb3Bkb3duLiBUaGUgUG9ydGFsIGhhc1xyXG4gICAgLy8gY2hvc2VuIHRoaXMgYXMgYSBnbG9iYWwgcnVsZTsgU2hvd1NlYXJjaD1cImZhbHNlXCIgb24gdGhlIGNhbGwgc2l0ZXMgaXNcclxuICAgIC8vIHRoZSBwcmltYXJ5IGZpeCwgdGhpcyBpcyBhIHNhZmV0eS1uZXQgc28gZnV0dXJlIGNhbGxlcnMgY2FuJ3QgcmVpbnRyb2R1Y2UgaXQuXHJcbiAgICAmLm11bHRpLXNlbGVjdCAuc2VsZWN0LWRyb3Bkb3duIC5zZWFyY2gtY29udGFpbmVyIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIE11bHRpLXNlbGVjdCBzZWxlY3Rpb24gaW5kaWNhdG9yOiBoaWRlIHRoZSBuYXRpdmUgY2hlY2tib3ggYW5kIHVzZSB0aGVcclxuICAgIC8vIHNhbWUgdHJhaWxpbmcgY2hlY2staWNvbiBhcyBzaW5nbGUtc2VsZWN0LiBUaGUgZHJvcGRvd24gZGVsaWJlcmF0ZWx5XHJcbiAgICAvLyBzdGF5cyBvcGVuIGluIG11bHRpLXNlbGVjdCAoaGFuZGxlZCBpbiB0aGUgY29tcG9uZW50J3MgU2VsZWN0T3B0aW9uXHJcbiAgICAvLyBsb2dpYykgc28gdXNlcnMgY2FuIHBpY2sgbW9yZSB0aGFuIG9uZS4gUG9ydGFsLW9ubHkgcmVzdHlsZSDigJQgTWFuYWdlclxyXG4gICAgLy8ga2VlcHMgdGhlIGNoZWNrYm94IGFmZm9yZGFuY2UgdmlhIHRoZSBiYXNlIFNDU1MuXHJcbiAgICAmLm11bHRpLXNlbGVjdCAub3B0aW9ucy1jb250YWluZXIgLm9wdGlvbiB7XHJcbiAgICAgICAgLm9wdGlvbi1sYWJlbCB7XHJcbiAgICAgICAgICAgIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLnNlbGVjdGVkIC5vcHRpb24tbGFiZWw6OmFmdGVyIHtcclxuICAgICAgICAgICAgY29udGVudDogXCJcXGYwMGNcIjtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDcgRnJlZVwiLCBcIkZvbnQgQXdlc29tZSA2IEZyZWVcIiwgXCJGb250QXdlc29tZVwiO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogOTAwO1xyXG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tYnJhbmQtYWNjZW50LWxpZ2h0LCAjZmY4ZjYxKTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAwO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnNlbGVjdC1idXR0b24ge1xyXG4gICAgICAgIC8vIFNpemluZyB0b2tlbnMgKEdlbmVyYWwuc2NzcyA6cm9vdCkga2VlcCB0aGlzIGFsaWduZWQgd2l0aFxyXG4gICAgICAgIC8vIFJhdGhvVGV4dElucHV0IGFuZCBTZWFyY2hCYXIgaW4gYW55IGZpbHRlciByb3cuXHJcbiAgICAgICAgaGVpZ2h0OiB2YXIoLS1yYXRoby1pbnB1dC1oZWlnaHQpO1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6IHZhcigtLXJhdGhvLWlucHV0LWhlaWdodCk7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1yYXRoby1pbnB1dC1ib3JkZXItY29sb3IpO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhdGhvLWlucHV0LXJhZGl1cyk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4ycyBlYXNlLCBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZSwgYm94LXNoYWRvdyAwLjJzIGVhc2U7XHJcblxyXG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA1NzUuOThweCkge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IHZhcigtLXJhdGhvLWlucHV0LWhlaWdodC1tb2JpbGUpO1xyXG4gICAgICAgICAgICBtaW4taGVpZ2h0OiB2YXIoLS1yYXRoby1pbnB1dC1oZWlnaHQtbW9iaWxlKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6aG92ZXI6bm90KC5kaXNhYmxlZCkge1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLXJhdGhvLWlucHV0LWJvcmRlci1jb2xvci1ob3Zlcik7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLWhvdmVyLWNyZWFtLCAjZmZmOWY1KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6Zm9jdXMsXHJcbiAgICAgICAgJjpmb2N1cy12aXNpYmxlIHtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1yYXRoby1pbnB1dC1ib3JkZXItY29sb3IpO1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiB2YXIoLS1yYXRoby1pbnB1dC1mb2N1cy1zaGFkb3cpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gTWF0Y2ggdGhlIGJhc2UncyBgLnNlbGVjdC1idXR0b24gLnNlbGVjdC12YWx1ZSAuc2VsZWN0ZWQtY291bnRgXHJcbiAgICAgICAgLy8gc2VsZWN0b3IgY2hhaW4gc28gdGhpcyBvdmVycmlkZSBhY3R1YWxseSB3aW5zICh0aGUgYmFzZSBoYXMgaGlnaGVyXHJcbiAgICAgICAgLy8gc3BlY2lmaWNpdHkgdGhhbiBhIGZsYXQgLnNlbGVjdGVkLWNvdW50IHJ1bGUpLlxyXG4gICAgICAgIC5zZWxlY3QtdmFsdWUgLnNlbGVjdGVkLWNvdW50IHtcclxuICAgICAgICAgICAgY29sb3I6IHZhcigtLXRleHQtZGFyaywgIzExMTgyNyk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBCYXNlIFNDU1MgaXRhbGljaXNlcyB0aGUgcGxhY2Vob2xkZXI7IFBvcnRhbCBwcmVmZXJzIGEgY2FsbVxyXG4gICAgICAgIC8vIG5vbi1pdGFsaWMgc3R5bGUgc28gaXQgcmVhZHMgYXMgb3JkaW5hcnkgaGVscGVyIHRleHQuXHJcbiAgICAgICAgLnNlbGVjdC12YWx1ZSAuc2VsZWN0LXBsYWNlaG9sZGVyLXRleHQge1xyXG4gICAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qIFNlbGVjdGVkIHBpbGxzIOKAlCBvcmFuZ2UgZ3JhZGllbnQgaW5zdGVhZCBvZiBCb290c3RyYXAgcHJpbWFyeSBibHVlICovXHJcbiAgICAuc2VsZWN0ZWQtcGlsbHMgLnBpbGwge1xyXG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChcclxuICAgICAgICAgICAgdG8gcmlnaHQsXHJcbiAgICAgICAgICAgIHZhcigtLWdyYWRpZW50LXN0YXJ0LCAjZmY4ZjYxKSxcclxuICAgICAgICAgICAgdmFyKC0tZ3JhZGllbnQtZW5kLCAjZjY3MTYwKVxyXG4gICAgICAgICk7XHJcbiAgICAgICAgY29sb3I6IHZhcigtLXRleHQtd2hpdGUsICNmZmYpO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDFyZW07XHJcblxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDJweCA4cHggcmdiYSh2YXIoLS1icmFuZC1hY2NlbnQtcmdiKSwgMC4zNSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5zZWxlY3QtZHJvcGRvd24ge1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYnJhbmQtYWNjZW50LWxpZ2h0LCAjZmY4ZjYxKTtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYXRoby1pbnB1dC1yYWRpdXMpO1xyXG4gICAgICAgIGJveC1zaGFkb3c6IDAgNHB4IDE2cHggcmdiYSh2YXIoLS1icmFuZC1hY2NlbnQtcmdiKSwgMC4xMik7XHJcbiAgICAgICAgLy8gQ2xpcCBzcXVhcmUgY2hpbGRyZW4gKHNlYXJjaC1jb250YWluZXIsIG9wdGlvbnMsIGZvb3RlcikgdG8gdGhlXHJcbiAgICAgICAgLy8gcm91bmRlZCBvdXRlciBzaGFwZSBzbyBvcHRpb24taG92ZXIgYmFja2dyb3VuZHMgZG9uJ3QgYmxlZWQgcGFzdFxyXG4gICAgICAgIC8vIHRoZSBjb3JuZXJzLlxyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgLy8gVGhlIHBhbmVsIGl0c2VsZiBncm93cyB0byBmaXQ7IHRoZSB2aWV3cG9ydCBjYXAgbGl2ZXMgb24gdGhlIG9wdGlvbnNcclxuICAgICAgICAvLyBsaXN0IChzZWUgLm9wdGlvbnMtY29udGFpbmVyKSBzbyB0aGUgY2hyb21lIChwcmVzZXRzL2Zvb3Rlcikgc3RheXNcclxuICAgICAgICAvLyB2aXNpYmxlIHdoaWxlIHRoZSBsaXN0IHNjcm9sbHMuIFRoZSBzaGFyZWQgSlMgcG9zaXRpb25lciBhbmNob3JzIHRoZVxyXG4gICAgICAgIC8vIHBhbmVsIGFuZCBmbGlwcyBpdCBhYm92ZSB0aGUgdHJpZ2dlciB3aGVuIHRoZXJlJ3MgbW9yZSByb29tIHRoZXJlLlxyXG4gICAgICAgIG1heC1oZWlnaHQ6IG5vbmU7XHJcblxyXG4gICAgICAgIC8vIENhbGxlci1zdXBwbGllZCBoZWFkZXIgYWN0aW9ucyAoZS5nLiBcIlNob3cgYWxsIC8gcmVzZXQgZmlsdGVyXCIpLlxyXG4gICAgICAgIC8vIE1pcnJvcnMgdGhlIHZpc3VhbCB0cmVhdG1lbnQgb2YgLnF1aWNrLXNlbGVjdC1wcmVzZXRzIHNvIHRoZSBzbG90XHJcbiAgICAgICAgLy8gcmVhZHMgYXMgYSBkaXN0aW5jdCB0b3Agc2VjdGlvbiBhYm92ZSB0aGUgb3B0aW9ucyBsaXN0LlxyXG4gICAgICAgIC5kcm9wZG93bi1oZWFkZXItYWN0aW9ucyB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDAuNXJlbSAwLjc1cmVtO1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYnMtc2Vjb25kYXJ5LWJnKTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnMtdGVydGlhcnktYmcpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gU2l6ZSBib3RoIHRoZSBzaW5nbGUtc2VsZWN0IFwiQWxsXCIgcHJlc2V0IGFuZCB0aGUgbXVsdGktc2VsZWN0XHJcbiAgICAgICAgLy8gaGVhZGVyLWFjdGlvbiBidXR0b24gYXQgYXBwcm94aW1hdGVseSBvbmUgb3B0aW9uLXJvdyB0YWxsLCBzbyB0aGV5XHJcbiAgICAgICAgLy8gdmlzdWFsbHkgc2NhbiBhcyBwYXJ0IG9mIHRoZSBvcHRpb24gbGlzdCAoQm9vdHN0cmFwJ3MgYnRuLXNtXHJcbiAgICAgICAgLy8gZGVmYXVsdCBpcyBub3RpY2VhYmx5IHNob3J0ZXIgdGhhbiAub3B0aW9uJ3MgMC41cmVtIHBhZGRpbmcpLlxyXG4gICAgICAgIC8vIEJvcmRlci1yYWRpdXMgbWF0Y2hlcyAub3B0aW9uIGJlbG93IHNvIHRoZSBwcmVzZXRzIGFuZCByb3dzIHNoYXJlXHJcbiAgICAgICAgLy8gdGhlIHNhbWUgcGlsbCBzaGFwZS5cclxuICAgICAgICAucXVpY2stc2VsZWN0LXByZXNldHMgLmJ0bixcclxuICAgICAgICAuZHJvcGRvd24taGVhZGVyLWFjdGlvbnMgLmJ0biB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDAuNXJlbSAwLjc1cmVtO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwLjVyZW07XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBRdWljay1zZWxlY3QgcHJlc2V0cyAoXCJBbGxcIiAvIFwiTm9uZVwiKSDigJQgYmFzZSBtYXJrdXAgdXNlc1xyXG4gICAgICAgIC8vIGJ0bi1vdXRsaW5lLXByaW1hcnkgLyBidG4tcHJpbWFyeSB3aGljaCByZXNvbHZlIHRvIEJvb3RzdHJhcCBibHVlLlxyXG4gICAgICAgIC8vIFJlLXNraW4gdGhlbSB0byB0aGUgYnJhbmQgb3JhbmdlLCBzY29wZWQgdG8gdGhpcyBkcm9wZG93biBzbyBvdGhlclxyXG4gICAgICAgIC8vIGJ0bi1wcmltYXJ5IHVzYWdlcyBlbHNld2hlcmUgaW4gUG9ydGFsIGFyZSB1bmFmZmVjdGVkLlxyXG4gICAgICAgIC5idG4tb3V0bGluZS1wcmltYXJ5IHtcclxuICAgICAgICAgICAgY29sb3I6IHZhcigtLWJyYW5kLWFjY2VudC1kYXJrLCAjZTY3YTRhKTtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1icmFuZC1hY2NlbnQtbGlnaHQsICNmZjhmNjEpO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuXHJcbiAgICAgICAgICAgICY6aG92ZXIsXHJcbiAgICAgICAgICAgICY6Zm9jdXMsXHJcbiAgICAgICAgICAgICY6YWN0aXZlLFxyXG4gICAgICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tdGV4dC13aGl0ZSwgI2ZmZik7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icmFuZC1hY2NlbnQtbGlnaHQsICNmZjhmNjEpO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1icmFuZC1hY2NlbnQtbGlnaHQsICNmZjhmNjEpO1xyXG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEodmFyKC0tYnJhbmQtYWNjZW50LXJnYiksIDAuMjUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuYnRuLXByaW1hcnkge1xyXG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tdGV4dC13aGl0ZSwgI2ZmZik7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJyYW5kLWFjY2VudC1saWdodCwgI2ZmOGY2MSk7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYnJhbmQtYWNjZW50LWxpZ2h0LCAjZmY4ZjYxKTtcclxuXHJcbiAgICAgICAgICAgICY6aG92ZXIsXHJcbiAgICAgICAgICAgICY6Zm9jdXMsXHJcbiAgICAgICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJyYW5kLWFjY2VudC1kYXJrLCAjZTY3YTRhKTtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYnJhbmQtYWNjZW50LWRhcmssICNlNjdhNGEpO1xyXG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEodmFyKC0tYnJhbmQtYWNjZW50LXJnYiksIDAuMjUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuc2VhcmNoLWNvbnRhaW5lciAuc2VhcmNoLWlucHV0OmZvY3VzIHtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1icmFuZC1hY2NlbnQtbGlnaHQsICNmZjhmNjEpO1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSh2YXIoLS1icmFuZC1hY2NlbnQtcmdiKSwgMC4xNSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBJbnNldCB0aGUgb3B0aW9ucyBzbyBhIHNxdWFyZSBob3Zlci9zZWxlY3RlZCBiYWNrZ3JvdW5kIG5ldmVyXHJcbiAgICAgICAgLy8gdG91Y2hlcyB0aGUgZHJvcGRvd24ncyByb3VuZGVkIGVkZ2UuIEVhY2ggb3B0aW9uIHRoZW4gY2FycmllcyBpdHNcclxuICAgICAgICAvLyBvd24gcmFkaXVzLCBnaXZpbmcgdGhlIGhvdmVyIHN0YXRlIGEgbW9kZXJuIHBpbGwgbG9vayB0aGF0IGZpdHNcclxuICAgICAgICAvLyBpbnNpZGUgdGhlIHJvdW5kZWQgc2hlbGwgaW5zdGVhZCBvZiBmaWdodGluZyBpdC5cclxuICAgICAgICAub3B0aW9ucy1jb250YWluZXIge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwLjM3NXJlbTtcclxuICAgICAgICAgICAgLy8gUmV1c2UgdGhlIGJhc2UgY29tcG9uZW50J3Mgc2Nyb2xsIG1lY2hhbmlzbSAobWF4LWhlaWdodCArXHJcbiAgICAgICAgICAgIC8vIG92ZXJmbG93LXk6IGF1dG8pLCBqdXN0IHdpdGggYSB2aWV3cG9ydC1yZWxhdGl2ZSBjYXAgaW5zdGVhZCBvZlxyXG4gICAgICAgICAgICAvLyB0aGUgYmFzZSdzIGZpeGVkIDIwMHB4IHNvIHRoZSBQb3J0YWwgbGlzdCBncm93cyB0byBmaXQgd2hlbiBzaG9ydC5cclxuICAgICAgICAgICAgLy8gU2hvcnQgbGlzdHMgZml0IHdpdGggbm8gc2Nyb2xsYmFyOyBsb25nIG9uZXMgY2FwIGF0IH42MCUgb2YgdGhlXHJcbiAgICAgICAgICAgIC8vIHZpZXdwb3J0IGFuZCBzY3JvbGwgaW50ZXJuYWxseSwga2VlcGluZyB0aGUgcGFuZWwgb24tc2NyZWVuLlxyXG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiA2MHZoO1xyXG4gICAgICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xyXG5cclxuICAgICAgICAgICAgLm9wdGlvbiB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwLjVyZW07XHJcbiAgICAgICAgICAgICAgICAvLyBCYXNlIFNDU1MgZHJhd3MgYSBkaXZpZGVyIGxpbmUgdW5kZXIgZXZlcnkgb3B0aW9uOyB3aXRoXHJcbiAgICAgICAgICAgICAgICAvLyByb3VuZGVkIGhvdmVyIGJhY2tncm91bmRzIHRoZSBkaXZpZGVycyByZWFkIGFzIHZpc3VhbFxyXG4gICAgICAgICAgICAgICAgLy8gY2x1dHRlciwgc28gZHJvcCB0aGVtIGluIHRoZSBQb3J0YWwgc2tpbi5cclxuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICAvLyBTbWFsbCBicmVhdGhpbmcgcm9vbSBiZXR3ZWVuIHJvdW5kZWQgaXRlbSBwaWxscy5cclxuICAgICAgICAgICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMnB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLy8gQmFzZSBTQ1NTIHNoaWZ0cyBob3ZlcmVkIG9wdGlvbnMgNHB4IHRvIHRoZSByaWdodDsgd2l0aFxyXG4gICAgICAgICAgICAgICAgLy8gYW4gaW5zZXQgcm91bmRlZCBwaWxsIHRoYXQgc2lkZXdheXMganVtcCBmZWVscyBqaXR0ZXJ5LlxyXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBub25lO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLWhvdmVyLWNyZWFtLCAjZmZmOWY1KTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAmLnNlbGVjdGVkIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKHZhcigtLWJyYW5kLWFjY2VudC1yZ2IpLCAwLjEyKTtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tYnJhbmQtYWNjZW50LWRhcmssICNlNjdhNGEpO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSh2YXIoLS1icmFuZC1hY2NlbnQtcmdiKSwgMC4xOCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIC8vIFNpbmdsZS1zZWxlY3QgY2hlY2sgaWNvbiDigJQgYmFzZSBzZXRzIGl0IHRvIC0tYnMtcHJpbWFyeSAoYmx1ZSlcclxuICAgICAgICAgICAgICAgIC5vcHRpb24tY29udGVudCBpLmZhLWNoZWNrIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tYnJhbmQtYWNjZW50LWxpZ2h0LCAjZmY4ZjYxKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gQ2FsbGVyLXN1cHBsaWVkIGZvb3RlciBhY3Rpb25zIChlLmcuIHRoZSBcIk1hbmFnZSB0YWdzXCIgZ2VhciBidXR0b24pXHJcbiAgICAgICAgLy8gc2l0IGFib3ZlIHRoZSBidWlsdC1pbiBDbGVhciBBbGwgYnV0dG9uIOKAlCBnaXZlIHRoZW0gYSBzbWFsbCBnYXAgc29cclxuICAgICAgICAvLyB0aGUgdHdvIHJvd3MgcmVhZCBhcyBzZXBhcmF0ZSBhY3Rpb25zLlxyXG4gICAgICAgIC5kcm9wZG93bi1mb290ZXIgLmRyb3Bkb3duLWZvb3Rlci1hY3Rpb25zOm5vdCg6bGFzdC1jaGlsZCkge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIkB1c2UgXCJ0eXBvZ3JhcGh5LXRva2Vuc1wiIGFzICo7XHJcbkB1c2UgXCJjb21wb25lbnRzL19iYXNlL3V0aWxpdGllc1wiIGFzICo7XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBQT1JUQUwgRkxZT1VUIFBBTkVMIC0gRmxvYXRpbmcgY2FyZCBkZXNpZ24gZXh0ZW5zaW9uc1xyXG4gICBCYXNlIHN0cnVjdHVyYWwgc3R5bGVzIGFyZSBpbiBJbmZyYXN0cnVjdHVyZS5SYXpvciBfZmx5b3V0LnNjc3NcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qIFBvcnRhbC1zcGVjaWZpYzogZmx5b3V0LWZvb3RlciByb3VuZGVkIGNvcm5lciBmb3IgZmxvYXRpbmcgY2FyZCAqL1xyXG4uZmx5b3V0LWZvb3RlciB7XHJcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiBjYWxjKHZhcigtLWZseW91dC1yYWRpdXMsIDE0cHgpIC0gMnB4KTtcclxufVxyXG5cclxuI2ZseW91dC1tYWluIHtcclxuICAgIHdpZHRoOiB2YXIoLS1mbHlvdXQtd2lkdGgpO1xyXG5cclxuICAgIC8qIEZsb2F0aW5nIGNhcmQgc3R5bGluZyAtIGF0dGFjaGVzIHRvIHJpZ2h0IGVkZ2Ugb2Ygdmlld3BvcnQgKi9cclxuICAgIG1hcmdpbjogdmFyKC0tZmx5b3V0LW1hcmdpbikgMDtcclxuICAgIGhlaWdodDogYXV0bztcclxuICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSB2YXIoLS1mbHlvdXQtbWFyZ2luKSAqIDIpO1xyXG5cclxuICAgIC8qIE9ubHkgcm91bmQgTEVGVCBjb3JuZXJzIC0gcmlnaHQgc2lkZSBpcyBmbHVzaCB3aXRoIHZpZXdwb3J0IGVkZ2UgKi9cclxuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhcigtLWZseW91dC1yYWRpdXMpO1xyXG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFyKC0tZmx5b3V0LXJhZGl1cyk7XHJcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcclxuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xyXG5cclxuICAgIC8qIE92ZXJyaWRlIEJvb3RzdHJhcCBvZmZjYW52YXMgdG8ga2VlcCBoYW5kbGUgdmlzaWJsZSB3aGVuIGNsb3NlZC5cclxuICAgICAgICNpZCBzcGVjaWZpY2l0eSAoMSwwLDApIGJlYXRzIC5vZmZjYW52YXM6bm90KC5zaG93KSAoMCwyLDApIOKAlCBubyAhaW1wb3J0YW50IG5lZWRlZC4gKi9cclxuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcblxyXG4gICAgLyogVmlzdWFsIHN0eWxpbmcgYWx3YXlzIHByZXNlbnQg4oCUIHBhbmVsIGlzIG9mZi1zY3JlZW4gd2hlbiBjbG9zZWQgc28gaW52aXNpYmxlLlxyXG4gICAgICAgS2VlcHMgYm9yZGVycy9iZy9zaGFkb3cgZHVyaW5nIGNsb3NlIGFuaW1hdGlvbiAocHJldmVudHMgXCJmbGFzaFwiIHdoZW4gLnNob3cgaXMgcmVtb3ZlZCkuICovXHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1mbHlvdXQtYmcpO1xyXG4gICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkIHZhcigtLXJhdGhvLWhlYWRlci1ncmFkaWVudC1vcmFuZ2UpO1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHZhcigtLXJhdGhvLWhlYWRlci1ncmFkaWVudC1vcmFuZ2UpO1xyXG4gICAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCB2YXIoLS1yYXRoby1oZWFkZXItZ3JhZGllbnQtb3JhbmdlKTtcclxuICAgIGJvcmRlci1yaWdodDogbm9uZTtcclxuICAgIGJveC1zaGFkb3c6IDAgNHB4IDI0cHggdmFyKC0tZ2xvdy1icmFuZC1zbSk7XHJcblxyXG4gICAgLyogV2hlbiBjbG9zZWQsIHRyYW5zbGF0ZSBmdWxseSBvZmYtc2NyZWVuIC0gaGFuZGxlIGF0IGxlZnQ6LWhhbmRsZS13aWR0aCBwZWVrcyBvdXQuXHJcbiAgICAgICBOT1RFOiB0cmFuc2l0aW9uIGlzIGluaGVyaXRlZCBmcm9tIHNoYXJlZCBfZmx5b3V0LnNjc3MgKGVhc2UtaW4tb3V0KS4gKi9cclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcclxuXHJcbiAgICAmLnNob3csICYuc2hvd2luZyB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xyXG4gICAgfVxyXG59XHJcblxyXG4jZmx5b3V0LW1haW4ub2ZmY2FudmFzIHtcclxuICAgIG92ZXJmbG93OiB2aXNpYmxlOyAvKiBBbGxvdyBoYW5kbGUgdG8gc3RpY2sgb3V0IHRvIHRoZSBsZWZ0ICovXHJcbn1cclxuXHJcbi8qIFBpbiB0aGUgZmFzdC1hY3Rpb25zIGZvb3RlciAoU2F2ZSAvIHByaW1hcnkgYWN0aW9uKSB0byB0aGUgYm90dG9tIG9mIHRoZVxyXG4gICBmbHlvdXQgYm9keSByZWdhcmRsZXNzIG9mIGhvdyBzaG9ydCB0aGUgQm9keUNvbnRlbnQgaXMuIFRoZSBzaGFyZWRcclxuICAgX2ZseW91dC5zY3NzIG1ha2VzIC5vZmZjYW52YXMtYm9keSBhIGZsZXggY29sdW1uLCBzbyBtYXJnaW4tdG9wOmF1dG8gb24gdGhlXHJcbiAgIHRyYWlsaW5nIC5mYXN0LWFjdGlvbnMgcHVzaGVzIGl0IHBhc3QgYW55IHNob3J0IGNvbnRlbnQuICovXHJcbiNmbHlvdXQtbWFpbiAub2ZmY2FudmFzLWJvZHkgPiAuZmFzdC1hY3Rpb25zIHtcclxuICAgIG1hcmdpbi10b3A6IGF1dG87XHJcbn1cclxuXHJcbi8qIEZseW91dCBoZWFkZXIgLSBvbmx5IHJvdW5kIHRvcC1sZWZ0IGNvcm5lciAocmlnaHQgc2lkZSBpcyBzcXVhcmUpICovXHJcbiNmbHlvdXQtbWFpbiAub2ZmY2FudmFzLWhlYWRlciB7XHJcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAxMnB4O1xyXG5cclxuICAgIC8qIEhlYWRlciBpY29uIHdpdGggb3JhbmdlIGJyYW5kIGdyYWRpZW50LiBmb250LXNpemUgYXQgJGZzLWxnIGxlYXZlcyBhXHJcbiAgICAgICBoYWlyIG9mIHZlcnRpY2FsIHJvb20gc28gdGFsbC1zaGFja2xlIGdseXBocyAoZmEtbG9jaywgZmEtdW5sb2NrKSBkb24ndFxyXG4gICAgICAgc2l0IGZsdXNoIHdpdGggdGhlIGxpbmUtYm94IHRvcCDigJQgdGhlIHByZXZpb3VzICRmcy14bCBtYWRlIHRoZSBzaGFja2xlXHJcbiAgICAgICBsb29rIGNsaXBwZWQgdW5kZXIgYmFja2dyb3VuZC1jbGlwOnRleHQgcmVuZGVyaW5nLiAqL1xyXG4gICAgPiAuZC1mbGV4ID4gaSxcclxuICAgID4gLmQtZmxleCA+IHN2ZyB7XHJcbiAgICAgICAgZm9udC1zaXplOiAkZnMtbGc7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcclxuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1yYXRoby1oZWFkZXItZ3JhZGllbnQteWVsbG93KSwgdmFyKC0tcmF0aG8taGVhZGVyLWdyYWRpZW50LW9yYW5nZSkpO1xyXG4gICAgICAgIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xyXG4gICAgICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qIEJhY2tkcm9wIG92ZXJsYXkgLSBQb3J0YWwtc3BlY2lmaWMgZGFyayBvdmVybGF5IGNvbG9yICovXHJcbi5vZmZjYW52YXMtYmFja2Ryb3Age1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tb3ZlcmxheS1iYWNrZHJvcCk7XHJcblxyXG4gICAgJi5zaG93IHtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgfVxyXG59XHJcblxyXG4vKiBSZXNwb25zaXZlIGFkanVzdG1lbnRzIGZvciB0YWJsZXQgYW5kIHNtYWxsZXIgc2NyZWVucyAqL1xyXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcclxuICAgIDpyb290IHtcclxuICAgICAgICAtLWZseW91dC13aWR0aDogOTUlO1xyXG4gICAgICAgIC0tZmx5b3V0LW1hcmdpbjogMjBweDtcclxuICAgIH1cclxufVxyXG5cclxuLyogUmVzcG9uc2l2ZSBhZGp1c3RtZW50cyBmb3IgdmVyeSBzbWFsbCBzY3JlZW5zICovXHJcbkBtZWRpYSAobWF4LXdpZHRoOiA1NzUuOThweCkge1xyXG4gICAgOnJvb3Qge1xyXG4gICAgICAgIC0tZmx5b3V0LXdpZHRoOiAxMDAlO1xyXG4gICAgICAgIC0tZmx5b3V0LW1hcmdpbjogMTBweDtcclxuICAgIH1cclxuXHJcbiAgICAvKiBGdWxsLXdpZHRoOiBubyBmbG9hdGluZyBjYXJkIGVmZmVjdCDigJQgZmx1c2ggYWdhaW5zdCB2aWV3cG9ydCBlZGdlcyAqL1xyXG4gICAgI2ZseW91dC1tYWluIHtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBtYXgtaGVpZ2h0OiAxMDB2aDtcclxuXHJcbiAgICAgICAgJi5zaG93LCAmLnNob3dpbmcge1xyXG4gICAgICAgICAgICBib3JkZXItbGVmdDogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgI2ZseW91dC1tYWluIC5vZmZjYW52YXMtaGVhZGVyIHtcclxuICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xyXG4gICAgfVxyXG5cclxuICAgIC5mbHlvdXQtZm9vdGVyIHtcclxuICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xyXG4gICAgfVxyXG5cclxuICAgIC8qIE92ZXJyaWRlIHctNzUgZm9yIGxhcmdlIGZseW91dHMg4oCUIGFsd2F5cyBmdWxsLXdpZHRoIG9uIG1vYmlsZSAqL1xyXG4gICAgI2ZseW91dC1tYWluLnctNzUge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgLyogU21hbGxlciBoYW5kbGUgb24gc21hbGwgc2NyZWVucyAqL1xyXG4gICAgLmZseW91dC1oYW5kbGUge1xyXG4gICAgICAgIC0tZmx5b3V0LWhhbmRsZS13aWR0aDogMjRweDtcclxuICAgICAgICAtLWZseW91dC1oYW5kbGUtaGVpZ2h0OiA0OHB4O1xyXG4gICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDE0cHg7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMTRweDtcclxuICAgICAgICBmb250LXNpemU6ICRmcy14cztcclxuICAgIH1cclxuXHJcbiAgICAvKiBXaGVuIGZseW91dCBpcyBvcGVuIG9uIG1vYmlsZSwgaGlkZSB0aGUgaGFuZGxlIOKAlCBjbG9zZSBidXR0b24gaW4gaGVhZGVyIHN1ZmZpY2VzICovXHJcbiAgICAuZmx5b3V0LWhhbmRsZS5mbHlvdXQtaGFuZGxlLW9wZW4ge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgLmZseW91dC11c2VyLXNlbGVjdG9yIHtcclxuICAgICAgICBwYWRkaW5nOiAwIDFyZW07XHJcbiAgICB9XHJcblxyXG4gICAgLnVzZXItc2VsZWN0b3ItYXZhdGFyIHtcclxuICAgICAgICB3aWR0aDogMjRweDtcclxuICAgICAgICBoZWlnaHQ6IDI0cHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5tYW51YWxzLWFuZC12aWRlb3MtZmx5b3V0LWNvbnRlbnQgYSB7XHJcbiAgICBjb2xvcjogdmFyKC0tYnMtYm9keS1jb2xvcik7XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIEZMWU9VVCBIQU5ETEUgLSBQb3NpdGlvbmVkIElOU0lERSBvZmZjYW52YXMsIHN0aWNrcyBvdXQgdG8gdGhlIGxlZnRcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi5mbHlvdXQtaGFuZGxlIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGxlZnQ6IGNhbGMoLTEgKiB2YXIoLS1mbHlvdXQtaGFuZGxlLXdpZHRoKSk7XHJcbiAgICB0b3A6IDUwJTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgIHRvdWNoLWFjdGlvbjogbm9uZTtcclxuICAgIHdpZHRoOiB2YXIoLS1mbHlvdXQtaGFuZGxlLXdpZHRoKTtcclxuICAgIGhlaWdodDogdmFyKC0tZmx5b3V0LWhhbmRsZS1oZWlnaHQpO1xyXG4gICAgZGlzcGxheTogZ3JpZDtcclxuICAgIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZztcclxuICAgIGNvbG9yOiB2YXIoLS10ZXh0LXdoaXRlKTtcclxuICAgIGJvcmRlcjogMDtcclxuICAgIG91dGxpbmU6IDA7XHJcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAyMHB4O1xyXG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMjBweDtcclxuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xyXG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XHJcbiAgICBib3gtc2hhZG93OiAtMnB4IDAgOHB4IHZhcigtLWdsb3ctYnJhbmQtbWQpO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgei1pbmRleDogMTtcclxufVxyXG5cclxuYm9keTpoYXMoLnNjcmVlbnNob3Qtdmlld2VyLW92ZXJsYXkpIC5mbHlvdXQtaGFuZGxlIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbi5mbHlvdXQtaGFuZGxlOmhvdmVyIHtcclxuICAgIGZpbHRlcjogYnJpZ2h0bmVzcygwLjk1KTtcclxufVxyXG5cclxuLmZseW91dC1oYW5kbGU6Zm9jdXMge1xyXG4gICAgb3V0bGluZTogMDtcclxuICAgIGJveC1zaGFkb3c6IC0ycHggMCA4cHggdmFyKC0tZ2xvdy1icmFuZC1tZCk7XHJcbn1cclxuXHJcbi5mbHlvdXQtaGFuZGxlOmZvY3VzLXZpc2libGUge1xyXG4gICAgb3V0bGluZTogMDtcclxuICAgIGJveC1zaGFkb3c6IC0ycHggMCA4cHggdmFyKC0tZ2xvdy1icmFuZC1tZCksIDAgMCAwIDAuMjVyZW0gdmFyKC0tZm9jdXMtcmluZy1icmFuZCk7XHJcbn1cclxuXHJcbi5mbHlvdXQtY2hldnJvbiB7XHJcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlO1xyXG59XHJcblxyXG4uZmx5b3V0LWhhbmRsZS1vcGVuIC5mbHlvdXQtY2hldnJvbiB7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBBQ1RJT04gTElTVFxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLmFjdGlvbi1saXN0IHtcclxuICAgIC5hY3Rpb24tcm93IHtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjE1cyBlYXNlO1xyXG5cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2hhZG93LXhzKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmFjdGlvbi1yb3ctZGlzYWJsZWQge1xyXG4gICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XHJcbiAgICAgICAgb3BhY2l0eTogMC41O1xyXG5cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgY29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuYWN0aW9uLWljb24ge1xyXG4gICAgICAgIHdpZHRoOiAyOHB4O1xyXG4gICAgICAgIGhlaWdodDogMjhweDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7XHJcbiAgICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtYmc7XHJcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XHJcblxyXG4gICAgICAgIGkge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDAuNzVyZW07XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuYWN0aW9uLWljb24tZGlzYWJsZWQge1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG4gICAgfVxyXG5cclxuICAgIC5hY3Rpb24tZ28ge1xyXG4gICAgICAgIHdpZHRoOiAyNnB4O1xyXG4gICAgICAgIGhlaWdodDogMjZweDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtYmc7XHJcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgLmFjdGlvbi1nby1kaXNhYmxlZCB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tdGV4dC1tdXRlZCk7XHJcbiAgICAgICAgY3Vyc29yOiBoZWxwO1xyXG4gICAgfVxyXG5cclxuICAgIC5hY3Rpb24tcm93IHtcclxuICAgICAgICBAaW5jbHVkZSBsaXN0LWl0ZW0tYm9yZGVyKCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIFVTRVIgU0VMRUNUT1JcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi5mbHlvdXQtdXNlci1zZWxlY3RvciB7XHJcbiAgICBwYWRkaW5nOiAwIDEuMjVyZW07XHJcbn1cclxuXHJcbi51c2VyLXNlbGVjdG9yLXNlYXJjaCB7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDJyZW07XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1icmFuZC1hY2NlbnQtbGlnaHQpO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMC43NXJlbTtcclxuXHJcbiAgICAmOmZvY3VzIHtcclxuICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWJyYW5kLWFjY2VudC1saWdodCk7XHJcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHZhcigtLWZvY3VzLXJpbmctYnJhbmQpO1xyXG4gICAgfVxyXG59XHJcblxyXG4udXNlci1zZWxlY3Rvci1zZWFyY2gtaWNvbiB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBsZWZ0OiAwLjYyNXJlbTtcclxuICAgIHRvcDogNTAlO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgY29sb3I6IHZhcigtLWJyYW5kLWFjY2VudC1saWdodCk7XHJcbiAgICBmb250LXNpemU6ICRmcy1zbTtcclxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG59XHJcblxyXG4udXNlci1zZWxlY3Rvci1saXN0IHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLXdoaXRlKTtcclxufVxyXG5cclxuLnVzZXItc2VsZWN0b3ItaXRlbSB7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNzVyZW07XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjc1cmVtO1xyXG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjE1cyBlYXNlO1xyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLWhvdmVyLWNyZWFtKTtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBsaXN0LWl0ZW0tYm9yZGVyKCk7XHJcbn1cclxuXHJcbi51c2VyLXNlbGVjdG9yLWF2YXRhciB7XHJcbiAgICB3aWR0aDogMjhweDtcclxuICAgIGhlaWdodDogMjhweDtcclxuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xyXG4gICAgZmxleC1zaHJpbms6IDA7XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIEZMWU9VVCBUQUJTIC0gQnJhbmQtc3R5bGVkIHNlZ21lbnRlZCB0YWIgY29udHJvbFxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLmZseW91dC10YWJzIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJyYW5kLWFjY2VudC1iZy1mYWludCk7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1icmFuZC1hY2NlbnQtYm9yZGVyKTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDAuNjI1cmVtO1xyXG4gICAgcGFkZGluZzogMC4yNXJlbTtcclxuICAgIGdhcDogMC4yNXJlbTtcclxuXHJcbiAgICAubmF2LWl0ZW0ge1xyXG4gICAgICAgIGZsZXg6IDEgMSAwO1xyXG4gICAgfVxyXG5cclxuICAgIC5uYXYtbGluayB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgY29sb3I6IHZhcigtLXRleHQtc2Vjb25kYXJ5KTtcclxuICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgIGJvcmRlcjogMDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAwLjVyZW07XHJcbiAgICAgICAgcGFkZGluZzogMC40cmVtIDAuNzVyZW07XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxNTBtcyBlYXNlLCBjb2xvciAxNTBtcyBlYXNlLCBib3gtc2hhZG93IDE1MG1zIGVhc2U7XHJcblxyXG4gICAgICAgICY6aG92ZXI6bm90KC5hY3RpdmUpIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnJhbmQtYWNjZW50LWJnLXN1YnRsZSk7XHJcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1icmFuZC1hY2NlbnQtZGFyayk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnO1xyXG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tdGV4dC13aGl0ZSk7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMnB4IDZweCB2YXIoLS1nbG93LWJyYW5kLXNtKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6Zm9jdXMsXHJcbiAgICAgICAgJjpmb2N1cy12aXNpYmxlIHtcclxuICAgICAgICAgICAgb3V0bGluZTogMDtcclxuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHZhcigtLWZvY3VzLXJpbmctYnJhbmQpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgSU1QT1JUIExJU1QgKEFwcGxpY2F0aW9uIENhdGFsb2cgaW1wb3J0IGluIEFkZFdpZGdldCBmbHlvdXQpXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4uaW1wb3J0LWxpc3Qge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBnYXA6IDAuMzc1cmVtO1xyXG5cclxuICAgIC5pbXBvcnQtbGlzdC1pdGVtIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItc29mdCk7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMC42MjVyZW07XHJcbiAgICAgICAgcGFkZGluZzogMC41cmVtIDAuNzVyZW07XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctd2hpdGUpO1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS10ZXh0LWRhcmspO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMTUwbXMgZWFzZSwgYm9yZGVyLWNvbG9yIDE1MG1zIGVhc2UsIGJveC1zaGFkb3cgMTUwbXMgZWFzZTtcclxuXHJcbiAgICAgICAgJjpob3Zlcjpub3QoOmRpc2FibGVkKTpub3QoLnNlbGVjdGVkKSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLWhvdmVyLWNyZWFtKTtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1icmFuZC1hY2NlbnQtYm9yZGVyKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6Zm9jdXMtdmlzaWJsZSB7XHJcbiAgICAgICAgICAgIG91dGxpbmU6IDA7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSB2YXIoLS1mb2N1cy1yaW5nLWJyYW5kKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6ZGlzYWJsZWQge1xyXG4gICAgICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAwLjc7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBXaG9sZS1yb3cgXCJzZWxlY3RlZFwiIHN0YXRlIOKAlCBtYXRjaGVzIHRoZSBQb3J0YWwgY29udmVudGlvbiBmb3Igc2VsZWN0YWJsZVxyXG4gICAgICAgIC8vIGNhcmRzL3Jvd3MgKHNlZSBDaGFuZ2VFbnZpcm9ubWVudF9GbHlvdXQncyAuZW52aXJvbm1lbnQtY2FyZC5zZWxlY3RlZCk6XHJcbiAgICAgICAgLy8gYnJhbmQgZ3JhZGllbnQgd2l0aCB3aGl0ZSB0ZXh0LCBzbyB0aGUgdXNlciBzZWVzIGF0IGEgZ2xhbmNlIHdoaWNoIGNhdGFsb2dcclxuICAgICAgICAvLyBpdGVtcyB3aWxsIGJlIGltcG9ydGVkIG9uIFNhdmUuXHJcbiAgICAgICAgJi5zZWxlY3RlZCB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnO1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tdGV4dC13aGl0ZSk7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMnB4IDZweCB2YXIoLS1nbG93LWJyYW5kLXNtKTtcclxuXHJcbiAgICAgICAgICAgIC50ZXh0LW11dGVkIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS10ZXh0LXdoaXRlLW11dGVkKSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAuaW1wb3J0LWxpc3QtaXRlbS1pbmRpY2F0b3Ige1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLXRleHQtd2hpdGUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuaW1wb3J0LWxpc3QtaXRlbS1pbmRpY2F0b3Ige1xyXG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tYnJhbmQtYWNjZW50LWxpZ2h0KTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAkZnMtbGc7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIEZsZXhib3ggY2hpbGRyZW4gZGVmYXVsdCB0byBtaW4td2lkdGg6IGF1dG8sIHdoaWNoIHByZXZlbnRzIC50ZXh0LXRydW5jYXRlXHJcbiAgICAvLyBmcm9tIGNsaXBwaW5nLiBBbGxvdyB0aGUgdGl0bGUvdXJsIGJsb2NrIHRvIHNocmluayBwYXN0IGludHJpbnNpYyBjb250ZW50IHNpemUuXHJcbiAgICAuaW1wb3J0LWxpc3QtaXRlbS1ib2R5IHtcclxuICAgICAgICBmbGV4OiAxIDEgYXV0bztcclxuICAgICAgICBtaW4td2lkdGg6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgLmltcG9ydC1saXN0LWVtcHR5IHtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgY29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG4gICAgICAgIHBhZGRpbmc6IDJyZW0gMXJlbTtcclxuICAgIH1cclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgRkxZT1VUIFNFQVJDSCAtIFNlYXJjaCBpbnB1dCB3aXRoIGxlYWRpbmcgaWNvbiAodXNlZCBpbiBpbXBvcnQgdGFiKVxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLmZseW91dC1zZWFyY2gge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgIC5mbHlvdXQtc2VhcmNoLWljb24ge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICBsZWZ0OiAwLjc1cmVtO1xyXG4gICAgICAgIHRvcDogNTAlO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgICAgICBjb2xvcjogdmFyKC0tYnJhbmQtYWNjZW50LWxpZ2h0KTtcclxuICAgICAgICBmb250LXNpemU6ICRmcy1zbTtcclxuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAgICAgICB6LWluZGV4OiAyO1xyXG4gICAgfVxyXG5cclxuICAgIC5mb3JtLWNvbnRyb2wge1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMi4yNXJlbTtcclxuICAgIH1cclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgSUNPTiBTRUxFQ1RPUiAoRmx5b3V0LXNjb3BlZClcclxuICAgTWF0Y2ggdGhlIGNvbG9yIHNlbGVjdG9yJ3MgZ3JpZCBsYXlvdXQgc28gYm90aCBwaWNrZXJzIHNoYXJlIHRoZSBzYW1lIGNlbGxcclxuICAgc2l6ZSwgZ2FwLCBhbmQgZWRnZS10by1lZGdlIGFsaWdubWVudCB3aXRoaW4gdGhlIGZseW91dCBib2R5LlxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLmZseW91dC1jb250ZW50IC5yYXRoby1pY29uLXNlbGVjdG9yIHtcclxuICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heCgyLjJyZW0sIDFmcikpO1xyXG4gICAgZ2FwOiAwLjVyZW07XHJcblxyXG4gICAgLnJhdGhvLWljb24tc2VsZWN0b3ItYnRuIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgYXNwZWN0LXJhdGlvOiAxO1xyXG4gICAgICAgIG1pbi13aWR0aDogMDtcclxuXHJcbiAgICAgICAgaSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIFNIT1JUQ1VUIEZPUk1cclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi5zaG9ydGN1dC1mb3JtLWhlYWRlciB7XHJcbiAgICBnYXA6IDAuNzVyZW07XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwLjc1cmVtO1xyXG59XHJcblxyXG4uc2hvcnRjdXQtZm9ybS1maWVsZHMge1xyXG4gICAgLy8gR3JvdyB0byBmaWxsIHRoZSByb3cgc28gdGhlIHByZXZpZXcgYW5jaG9ycyB0byB0aGUgcmlnaHQgZWRnZSBvZiB0aGVcclxuICAgIC8vIGZseW91dCBib2R5LCBhbGlnbmluZyB3aXRoIFRhZ1BpY2tlciAvIEljb25TZWxlY3RvciAvIENvbG9yU2VsZWN0b3IgYmVsb3cuXHJcbiAgICBmbGV4OiAxIDEgMjAwcHg7XHJcbiAgICBtaW4td2lkdGg6IDA7XHJcblxyXG4gICAgLy8gU3RyZXRjaCB0aGUgdGl0bGUrVVJMIHN0YWNrIHZlcnRpY2FsbHkgYW5kIHB1c2ggdGhlbSB0byB0aGUgZXh0cmVtZXMgc28gdGhlXHJcbiAgICAvLyBVUkwgcm93J3MgYm90dG9tIGFsaWducyB3aXRoIHRoZSBwcmV2aWV3IHRpbGUncyBib3R0b20gKHRoZSBwcmV2aWV3IGlzIGZpeGVkXHJcbiAgICAvLyBhdCAxNDBweCkuIFdoZW4gdGhlIFVSTC1lcnJvciBtZXNzYWdlIGFwcGVhcnMgdGhlIHN0YWNrIGdyb3dzIGJleW9uZCB0aGVcclxuICAgIC8vIHByZXZpZXcgaGVpZ2h0OyBzcGFjZS1iZXR3ZWVuIHN0aWxsIHBsYWNlcyB0aGUgVVJMIGJsb2NrIGF0IHRoZSBib3R0b20gb2ZcclxuICAgIC8vIGl0cyAobm93LXRhbGxlcikgY29udGFpbmVyLCBzbyB0aGUgbGF5b3V0IGFkYXB0cyBncmFjZWZ1bGx5IHdpdGhvdXQgbWFnaWNcclxuICAgIC8vIG1hcmdpbiBudW1iZXJzLlxyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIFNIT1JUQ1VUIFBSRVZJRVcgLSB3cmFwcyBhIG5vbi1pbnRlcmFjdGl2ZSBBcHBsaWNhdGlvblNob3J0Y3V0IGZvciB1c2UgaW5cclxuICAgZmx5b3V0cyAobG9jay91bmxvY2svZGVsZXRlIGNvbmZpcm1hdGlvbnMsIGFkZC9lZGl0LWZvcm0gcHJldmlld3MpLlxyXG4gICBjb250YWluZXItdHlwZTogaW5saW5lLXNpemUgbWFrZXMgdGhlIGZsdWlkIGBjcWlgIHNpemluZyBpbnNpZGVcclxuICAgLmFwcGxpY2F0aW9uLXNob3J0Y3V0IHJlc29sdmUgY29ycmVjdGx5IG91dHNpZGUgdGhlIEdyaWRzdGFjayB0aWxlLlxyXG4gICBwb2ludGVyLWV2ZW50czogbm9uZSBkaXNhYmxlcyB0aGUgZW1iZWRkZWQgPGE+IHNvIHRoZSBwcmV2aWV3IGlzIHB1cmVseVxyXG4gICB2aXN1YWwg4oCUIG5vIHdpZGdldC1zaWRlIGNoYW5nZXMgcmVxdWlyZWQuXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4uc2hvcnRjdXQtcHJldmlldyxcclxuLnNob3J0Y3V0LXByZXZpZXctc20sXHJcbi5zaG9ydGN1dC1wcmV2aWV3LXhzIHtcclxuICAgIGNvbnRhaW5lci10eXBlOiBpbmxpbmUtc2l6ZTtcclxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICBib3JkZXItcmFkaXVzOiAwLjc1cmVtO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIGJveC1zaGFkb3c6IDAgMnB4IDhweCB2YXIoLS1zaGFkb3ctbGcpO1xyXG4gICAgZmxleC1zaHJpbms6IDA7XHJcbn1cclxuXHJcbi5zaG9ydGN1dC1wcmV2aWV3IHtcclxuICAgIHdpZHRoOiAxODBweDtcclxuICAgIGhlaWdodDogMTgwcHg7XHJcbn1cclxuXHJcbi5zaG9ydGN1dC1wcmV2aWV3LXNtIHtcclxuICAgIHdpZHRoOiAxNDBweDtcclxuICAgIGhlaWdodDogMTQwcHg7XHJcbn1cclxuXHJcbi5zaG9ydGN1dC1wcmV2aWV3LXhzIHtcclxuICAgIHdpZHRoOiA1NnB4O1xyXG4gICAgaGVpZ2h0OiA1NnB4O1xyXG5cclxuICAgIC8vIENvbXBhY3QgXCJpY29uIHRodW1ibmFpbFwiIHVzZSAoZS5nLiBpbXBvcnQtbGlzdCByb3dzKTogdGhlIHRpdGxlIGFuZCB0YWdzXHJcbiAgICAvLyBhbHJlYWR5IGFwcGVhciBuZXh0IHRvIHRoZSB0aWxlLCBzbyB0aGUgZW1iZWRkZWQgdGV4dCB3b3VsZCBiZSBkdXBsaWNhdGUuXHJcbiAgICAuYXBwc2hvcnRjdXQtdGl0bGUsXHJcbiAgICAuYXBwc2hvcnRjdXQtY2F0ZWdvcnksXHJcbiAgICAuYXBwc2hvcnRjdXQtdGFncyB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgU0VMRUNUT1JTIChJY29uLCBDb2xvcilcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qIENvbG9yIFNlbGVjdG9yIC0gVXNlcyBhcHBzaG9ydGN1dC1jb2xvci0qIGNsYXNzZXMgZnJvbSBhcHBsaWNhdGlvbnNob3J0Y3V0LnNjc3MgKi9cclxuLmNvbG9yLXNlbGVjdG9yIHtcclxuICAgIC5jb2xvci1zZWxlY3Rvci1idG4ge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB3aWR0aDogMzJweDtcclxuICAgICAgICBoZWlnaHQ6IDMycHg7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMC4zNzVyZW07XHJcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAxNTBtcyBlYXNlO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcblxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMnB4IDhweCB2YXIoLS1zaGFkb3ctbWQpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5zZWxlY3RlZCB7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYnMtZGFyaywgIzMzMyk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLnNlbGVjdGVkLW5ldyB7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tZ3JhZGllbnQtc3RhcnQpO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDUpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnJhdGhvLWNvbG9yLWNoZWNrLW92ZXJsYXkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDogLTRweDtcclxuICAgICAgICAgICAgcmlnaHQ6IC00cHg7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC41cmVtO1xyXG4gICAgICAgICAgICB3aWR0aDogMTRweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxNHB4O1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJzLWRhcmssICMzMzMpO1xyXG4gICAgICAgICAgICBjb2xvcjogd2hpdGU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICB6LWluZGV4OiAxO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCJAdXNlIFwidHlwb2dyYXBoeS10b2tlbnNcIiBhcyAqO1xyXG5AdXNlIFwiY29tcG9uZW50cy9fYmFzZS91dGlsaXRpZXNcIiBhcyAqO1xyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgQ0hBTkdFIEVOVklST05NRU5UIEZMWU9VVCAtIFR3by1jb2x1bW4gY2FyZCBncmlkXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKiBUd28tY29sdW1uIGdyaWQgY29udGFpbmVyICovXHJcbi5lbnZpcm9ubWVudC1ncmlkIHtcclxuICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xyXG4gICAgZ2FwOiAwLjc1cmVtO1xyXG59XHJcblxyXG4vKiBFbnZpcm9ubWVudCBjYXJkICovXHJcbi5lbnZpcm9ubWVudC1jYXJkIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgZ2FwOiAwLjc1cmVtO1xyXG4gICAgcGFkZGluZzogMC43NXJlbTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLXdoaXRlKTtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJzLWJvcmRlci1jb2xvcik7XHJcbiAgICBib3JkZXItcmFkaXVzOiAwLjc1cmVtO1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctaG92ZXItY3JlYW0pO1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tZ3JhZGllbnQtc3RhcnQpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTtcclxuICAgICAgICBib3gtc2hhZG93OiAwIDRweCAxMnB4IHZhcigtLWdsb3ctYnJhbmQtc20pO1xyXG4gICAgfVxyXG5cclxuICAgICY6Zm9jdXMtdmlzaWJsZSB7XHJcbiAgICAgICAgb3V0bGluZTogMnB4IHNvbGlkIHZhcigtLWZvY3VzLXJpbmctYnJhbmQpO1xyXG4gICAgICAgIG91dGxpbmUtb2Zmc2V0OiAycHg7XHJcbiAgICB9XHJcblxyXG4gICAgJi5zZWxlY3RlZCB7XHJcbiAgICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtYmc7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICBjb2xvcjogdmFyKC0tdGV4dC13aGl0ZSk7XHJcbiAgICAgICAgYm94LXNoYWRvdzogMCA0cHggMTJweCB2YXIoLS1nbG93LWJyYW5kLW1kKTtcclxuXHJcbiAgICAgICAgLmVudmlyb25tZW50LWNhcmQtaWNvbiB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLW92ZXJsYXktbGlnaHQtc3Ryb25nKTtcclxuXHJcbiAgICAgICAgICAgIGkge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLXRleHQtd2hpdGUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuZW52aXJvbm1lbnQtY2FyZC1uYW1lIHtcclxuICAgICAgICAgICAgY29sb3I6IHZhcigtLXRleHQtd2hpdGUpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmVudmlyb25tZW50LWNhcmQtc3VidGl0bGUge1xyXG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tdGV4dC13aGl0ZS1tdXRlZCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vKiBJY29uIGJhZGdlICovXHJcbi5lbnZpcm9ubWVudC1jYXJkLWljb24ge1xyXG4gICAgd2lkdGg6IDIuMjVyZW07XHJcbiAgICBoZWlnaHQ6IDIuMjVyZW07XHJcbiAgICBib3JkZXItcmFkaXVzOiAwLjVyZW07XHJcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygxMzVkZWcpO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGZsZXgtc2hyaW5rOiAwO1xyXG5cclxuICAgIGkge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJGZzLWJhc2U7XHJcbiAgICAgICAgY29sb3I6IHZhcigtLXRleHQtd2hpdGUpO1xyXG4gICAgfVxyXG59XHJcblxyXG4vKiBUZXh0IHdyYXBwZXIgZm9yIGNhcmRzIHdpdGggc3VidGl0bGUgKi9cclxuLmVudmlyb25tZW50LWNhcmQtdGV4dCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIG1pbi13aWR0aDogMDtcclxufVxyXG5cclxuLyogRW52aXJvbm1lbnQgbmFtZSAqL1xyXG4uZW52aXJvbm1lbnQtY2FyZC1uYW1lIHtcclxuICAgIGZvbnQtc2l6ZTogJGZzLXNtO1xyXG4gICAgZm9udC13ZWlnaHQ6ICRmdy1zZW1pYm9sZDtcclxuICAgIGNvbG9yOiB2YXIoLS10ZXh0LWRhcmspO1xyXG4gICAgbGluZS1oZWlnaHQ6IDEuMztcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xyXG4gICAgLXdlYmtpdC1saW5lLWNsYW1wOiAyO1xyXG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcclxuICAgIG1pbi13aWR0aDogMDtcclxufVxyXG5cclxuLyogU3VidGl0bGUgZm9yIHN1YnN0aXR1dGUgc2hpZnRzICovXHJcbi5lbnZpcm9ubWVudC1jYXJkLXN1YnRpdGxlIHtcclxuICAgIGZvbnQtc2l6ZTogJGZzLXhzO1xyXG4gICAgZm9udC13ZWlnaHQ6ICRmdy1yZWd1bGFyO1xyXG4gICAgY29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG4gICAgbGluZS1oZWlnaHQ6IDEuMztcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIFJFU1BPTlNJVkUgLSBTaW5nbGUgY29sdW1uIG9uIG1vYmlsZVxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuQG1lZGlhIChtYXgtd2lkdGg6IDU3NS45OHB4KSB7XHJcbiAgICAuZW52aXJvbm1lbnQtZ3JpZCB7XHJcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XHJcbiAgICAgICAgZ2FwOiAwLjVyZW07XHJcbiAgICB9XHJcblxyXG4gICAgLmVudmlyb25tZW50LWNhcmQge1xyXG4gICAgICAgIHBhZGRpbmc6IDAuNjI1cmVtO1xyXG4gICAgfVxyXG5cclxuICAgIC5lbnZpcm9ubWVudC1jYXJkLWljb24ge1xyXG4gICAgICAgIHdpZHRoOiAycmVtO1xyXG4gICAgICAgIGhlaWdodDogMnJlbTtcclxuXHJcbiAgICAgICAgaSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZzLXNtO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBDSEFOR0UgUFJPRklMRSBQSUNUVVJFIEZMWU9VVCAtIENyb3BwaWUgc3R5bGluZ1xyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLmNyb3BwaWUtY29udGFpbmVyIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZy1ncmF5LWxpZ2h0KTtcclxuXHRib3JkZXItcmFkaXVzOiAwLjVyZW07XHJcblx0cGFkZGluZzogMC43NXJlbTtcclxuXHRtaW4taGVpZ2h0OiAyNjBweDtcclxuXHJcblx0Ly8gT3ZlcnJpZGUgQ3JvcHBpZSBkZWZhdWx0IHN0eWxlcyBmb3IgYmV0dGVyIGludGVncmF0aW9uXHJcblx0LmNyb3BwaWUtY29udGFpbmVyIHtcclxuXHRcdHBhZGRpbmc6IDA7XHJcblx0fVxyXG5cclxuXHQuY3ItYm91bmRhcnkge1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogMC41cmVtO1xyXG5cdH1cclxuXHJcblx0LmNyLXZpZXdwb3J0IHtcclxuXHRcdGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWdyYWRpZW50LXN0YXJ0KTtcclxuXHRcdGJveC1zaGFkb3c6IDAgMCAwIDk5OTlweCB2YXIoLS1vdmVybGF5LWRhcmspO1xyXG5cdH1cclxuXHJcblx0LmNyLXNsaWRlci13cmFwIHtcclxuXHRcdG1hcmdpbi10b3A6IDFyZW07XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHJcblx0XHQuY3Itc2xpZGVyIHtcclxuXHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4vLyBPdmVycmlkZSBDcm9wcGllJ3MgZGVmYXVsdCBjaXJjbGUgdmlld3BvcnQgc3R5bGluZ1xyXG4uY3Itdmlld3BvcnQuY3ItdnAtY2lyY2xlIHtcclxuXHRib3JkZXItcmFkaXVzOiA1MCU7XHJcbn1cclxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgUVVJQ0tTVEFSVCBGTFlPVVQgLSBXZWxjb21lIHZpZGVvIGlmcmFtZVxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyogVGhlIHdlbGNvbWUgdmlkZW8gaXMgZXhwb3J0ZWQgd2l0aCB+NiUgbGV0dGVyYm94IGJhcnMgYmFrZWQgaW50byB0aGUgZmlsZSBhdFxyXG4gICB0b3AgYW5kIGJvdHRvbS4gU2NhbGluZyB0aGUgaWZyYW1lIHNsaWdodGx5IGNyb3BzIHRob3NlIGJhcnMgdmlhIHRoZSBwYXJlbnQnc1xyXG4gICBvdmVyZmxvdzpoaWRkZW4gZHVyaW5nIHBsYXliYWNrLiBOb3RlOiB0aGlzIGRvZXMgbm90IGFmZmVjdCBZb3VUdWJlJ3NcclxuICAgcHJlLXBsYXkgY2hyb21lICh0aXRsZSBiYXIgKyBcIldhdGNoIG9uIFlvdVR1YmVcIiBicmFuZGluZykgd2hpY2ggaXMgcmVuZGVyZWRcclxuICAgYnkgWW91VHViZSBpbnNpZGUgdGhlIGlmcmFtZSBhbmQgbm90IGxldHRlcmJveCBvZiB0aGUgc291cmNlIHZpZGVvLlxyXG4gICBMb25nLXRlcm0gZml4IGlzIHRvIHJlLWV4cG9ydCB0aGUgdmlkZW8gd2l0aG91dCB0aGUgbGV0dGVyYm94LCBvciB0b1xyXG4gICBsYXp5LWxvYWQgd2l0aCBhIGN1c3RvbSBwb3N0ZXIgaW1hZ2UgYW5kIHBsYXkgb3ZlcmxheS4gKi9cclxuLnF1aWNrc3RhcnQtd2VsY29tZS12aWRlbyBpZnJhbWUge1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjE0KTtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XHJcbn1cclxuXHJcbi8qIEJyYW5kZWQgZnJhbWUgYXJvdW5kIHRoZSBwbGF5ZXIsIHNoYXJlZCBieSB0aGUgd2VsY29tZSBmbHlvdXQgYW5kIHRoZVxyXG4gICBoZWxwLXBhZ2UgdmlkZW8gdGFiLiAqL1xyXG4ucXVpY2tzdGFydC12aWRlby1mcmFtZSB7XHJcbiAgICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1icmFuZC1hY2NlbnQtbGlnaHQpO1xyXG59XHJcbiIsIkB1c2UgXCJ0eXBvZ3JhcGh5LXRva2Vuc1wiIGFzICo7XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBSRVNFVCBQQVNTV09SRCBGTFlPVVQgLSBCdWxrIHBhc3N3b3JkIG1hbmFnZW1lbnRcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qIE1haW4gZmx5b3V0IGNvbnRhaW5lciAqL1xyXG4ucmVzZXQtcGFzc3dvcmQtZmx5b3V0IHtcclxuICAgIC5idWxrLWFjdGlvbnMgLmJ0bi1ncm91cCAuYnRuLFxyXG4gICAgLnBhc3N3b3JkLXR5cGUtdG9nZ2xlIC5idG4tZ3JvdXAgLmJ0biB7XHJcbiAgICAgICAgZmxleDogMTtcclxuICAgIH1cclxuXHJcbiAgICAuc3R1ZGVudC1wYXNzd29yZC1saXN0IHtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07XHJcbiAgICB9XHJcblxyXG4gICAgLnN0dWRlbnQtcGFzc3dvcmQtaXRlbSB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tYnMtZ3JheS0xMDApO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcclxuICAgICAgICBwYWRkaW5nOiAxcmVtO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcclxuXHJcbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIFN0dWRlbnQgaGVhZGVyXHJcbi5zdHVkZW50LWhlYWRlciAuc3R1ZGVudC1hdmF0YXIge1xyXG4gICAgd2lkdGg6IDQwcHg7XHJcbiAgICBoZWlnaHQ6IDQwcHg7XHJcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcclxuICAgIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWJzLWdyYXktMzAwKTtcclxufVxyXG5cclxuXHJcbi8qIEhpZGUgbmF0aXZlIGJyb3dzZXIgcGFzc3dvcmQgcmV2ZWFsIGJ1dHRvbiB0byBwcmV2ZW50IGRvdWJsZSB0b2dnbGUgKi9cclxuLnJ1cC1wYXNzd29yZC1pbnB1dCBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl06Oi1tcy1yZXZlYWwsXHJcbi5ydXAtcGFzc3dvcmQtaW5wdXQgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdOjotd2Via2l0LWNyZWRlbnRpYWxzLWF1dG8tZmlsbC1idXR0b24ge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLy8gUGhvdG8gc2VsZWN0aW9uIGdyaWQgKHNoYXJlZCBSdXBQYXNzd29yZElucHV0IGNvbXBvbmVudClcclxuLnBvcnRhbC1wYXNzd29yZCAucnVwLXBhc3N3b3JkLXBob3RvcyB7XHJcbiAgICBwYWRkaW5nOiAwLjVyZW07XHJcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1icy1ncmF5LTIwMCk7XHJcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XHJcbiAgICBnYXA6IDAuMjVyZW07XHJcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuICAgIG92ZXJmbG93LXg6IGF1dG87XHJcbiAgICBvdmVyZmxvdy15OiB2aXNpYmxlO1xyXG5cclxuICAgIC5ydXAtcGFzc3dvcmQtcGhvdG8ge1xyXG4gICAgICAgIC0tdGlsZS1zaXplOiBjbGFtcCgzNnB4LCA4dncsIDQ4cHgpO1xyXG5cclxuICAgICAgICB3aWR0aDogdmFyKC0tdGlsZS1zaXplKTtcclxuICAgICAgICBoZWlnaHQ6IHZhcigtLXRpbGUtc2l6ZSk7XHJcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XHJcbiAgICAgICAgZmxleC1ncm93OiAwO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGVhc2UsIGJveC1zaGFkb3cgMC4xNXMgZWFzZSwgYm9yZGVyLWNvbG9yIDAuMTVzIGVhc2U7XHJcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGFzcGVjdC1yYXRpbzogMTtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG5cclxuICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTtcclxuICAgICAgICAgICAgZmlsdGVyOiBicmlnaHRuZXNzKDAuOTUpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDNweCB2YXIoLS1zaGFkb3ctbWQpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5zZWxlY3RlZCB7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tdGV4dC1kYXJrKTtcclxuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgM3B4IHZhcigtLWZvY3VzLXJpbmctZGFyayk7XHJcblxyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wMik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIFBvcnRhbCB0b2dnbGUgYnV0dG9uIHN0eWxpbmcgKHVzZXMgRW1iZXIgZ3JhZGllbnQpXHJcbi5wb3J0YWwtcGFzc3dvcmQgLnJ1cC10b2dnbGUtYnRuIHtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWdyYWRpZW50LWVuZCk7XHJcbiAgICBjb2xvcjogdmFyKC0tZ3JhZGllbnQtZW5kKTtcclxuXHJcbiAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCB2YXIoLS1ncmFkaWVudC1zdGFydCksIHZhcigtLWdyYWRpZW50LWVuZCkpO1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS10ZXh0LXdoaXRlKTtcclxuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyBQYXNzd29yZCB0eXBlIHRvZ2dsZSBidXR0b25zIC0gYm90aCBzYW1lIHN0eWxlIHdpdGggaG92ZXIgZWZmZWN0XHJcbi5wYXNzd29yZC10eXBlLXRvZ2dsZSAuYnRuLWdyb3VwIC5idG4ge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuXHJcbiAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tb3ZlcmxheS1saWdodCk7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZTtcclxuICAgIH1cclxuXHJcbiAgICAmOmhvdmVyOjpiZWZvcmUge1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICB9XHJcblxyXG4gICAgJjphY3RpdmU6OmJlZm9yZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tc2hhZG93LW1kKTtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgfVxyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBSRVNQT05TSVZFIEFESlVTVE1FTlRTIC0gQm9vdHN0cmFwIGJyZWFrcG9pbnRzXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKiBTbWFsbCBkZXZpY2VzIChsYW5kc2NhcGUgcGhvbmVzLCA8IDc2OHB4KSAqL1xyXG5AbWVkaWEgKG1heC13aWR0aDogNzY3Ljk4cHgpIHtcclxuICAgIC5yZXNldC1wYXNzd29yZC1mbHlvdXQge1xyXG4gICAgICAgIC5zdHVkZW50LXBhc3N3b3JkLWl0ZW0ge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwLjc1cmVtO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuc3R1ZGVudC1oZWFkZXIgLnN0dWRlbnQtYXZhdGFyIHtcclxuICAgICAgICB3aWR0aDogMzZweDtcclxuICAgICAgICBoZWlnaHQ6IDM2cHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qIEV4dHJhIHNtYWxsIGRldmljZXMgKHBvcnRyYWl0IHBob25lcywgPCA1NzZweCkgKi9cclxuQG1lZGlhIChtYXgtd2lkdGg6IDU3NS45OHB4KSB7XHJcbiAgICAucmVzZXQtcGFzc3dvcmQtZmx5b3V0IHtcclxuICAgICAgICAuc3R1ZGVudC1wYXNzd29yZC1saXN0IHtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMC4yNXJlbTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5zdHVkZW50LXBhc3N3b3JkLWl0ZW0ge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwLjYyNXJlbTtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuc3R1ZGVudC1oZWFkZXIgLnN0dWRlbnQtYXZhdGFyIHtcclxuICAgICAgICB3aWR0aDogMzJweDtcclxuICAgICAgICBoZWlnaHQ6IDMycHg7XHJcbiAgICB9XHJcblxyXG4gICAgLnBhc3N3b3JkLXJlcXVpcmVtZW50cyB7XHJcbiAgICAgICAgZm9udC1zaXplOiAkZnMteHM7XHJcbiAgICB9XHJcbn1cclxuIiwiQHVzZSBcInR5cG9ncmFwaHktdG9rZW5zXCIgYXMgKjtcclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIE1BTkFHRSBQSU5ORUQgR1JPVVBTIEZMWU9VVCAtIERyYWctdG8tcmVvcmRlciArIHBpbiB0b2dnbGVzXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4ubWFuYWdlLXBpbm5lZC1ncm91cHMtbGlzdCB7XHJcbiAgICAubWFuYWdlLXBpbm5lZC1ncm91cHMtaXRlbSB7XHJcbiAgICAgICAgY3Vyc29yOiBncmFiO1xyXG5cclxuICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgIGN1cnNvcjogZ3JhYmJpbmc7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5tYW5hZ2UtcGlubmVkLWdyb3Vwcy1kcmFnLWhhbmRsZSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAkZnMtc207XHJcbiAgICB9XHJcbn1cclxuIiwiQHVzZSBcInR5cG9ncmFwaHktdG9rZW5zXCIgYXMgKjtcclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIFRBQiBFWFBBTkQgSEFORExFIC0gU2lkZWJhciB0b2dnbGUgYnV0dG9uXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4udGFiLWV4cGFuZC1oYW5kbGUge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgLyogQ2VudGVyZWQgcmVsYXRpdmUgdG8gdGhlIHRhYiBwYW5lbCAoLnJhdGhvLXRhYi12aWV3IGlzIHRoZSBwb3NpdGlvbi1yZWxhdGl2ZSBvZmZzZXQgcGFyZW50KS5cclxuICAgICAgIFRoZSBtYXgoKSBmbG9vciAofnRhYi1iYXIgKyBjb250ZW50LXBhZGRpbmcgKyB0aXRsZS1iYXIgKyBoYWxmIG9mIG9uZSB3aWRnZXQgcm93KSBrZWVwcyB0aGVcclxuICAgICAgIGhhbmRsZSBmcm9tIHJpc2luZyBhYm92ZSB0aGUgbWlkZGxlIG9mIHRoZSB0b3Btb3N0IHdpZGdldCByb3cgd2hlbiBhIHNob3J0IGdyaWQgKGUuZy4gTWluUm93PTEpXHJcbiAgICAgICBsZWF2ZXMgdGhlIHRhYiB2aWV3IHRvbyBjb21wYWN0IGZvciB0aGUgNTAlIG1pZHBvaW50IHRvIGNsZWFyIHRoZSB0YWIgYmFyLiAqL1xyXG4gICAgdG9wOiBtYXgoNTAlLCAxM3JlbSk7XHJcbiAgICAvKiBQb3NpdGlvbiBhdCB0aGUgbGVmdCBlZGdlIG9mIHRoZSB0YWIgY29udGVudCAqL1xyXG4gICAgbGVmdDogMDtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0xMDAlLCAtNTAlKTtcclxuICAgIHotaW5kZXg6IDEwMzA7XHJcbiAgICB3aWR0aDogdmFyKC0tZmx5b3V0LWhhbmRsZS13aWR0aCk7XHJcbiAgICBoZWlnaHQ6IHZhcigtLWZseW91dC1oYW5kbGUtaGVpZ2h0KTtcclxuICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICBwbGFjZS1pdGVtczogY2VudGVyO1xyXG4gICAgYmFja2dyb3VuZDogdmFyKC0tYmctd2hpdGUpO1xyXG4gICAgY29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG4gICAgYm9yZGVyOiAwO1xyXG4gICAgb3V0bGluZTogMDtcclxuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDIwcHg7XHJcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAyMHB4O1xyXG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XHJcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcclxuICAgIC8qIE9ubHkgY2FzdCBzaGFkb3cgdG8gdGhlIGxlZnQvYm90dG9tIOKAlCBubyBzaGFkb3cgb24gdGhlIHJpZ2h0IGVkZ2Ugd2hlcmUgaXQgbWVldHMgdGhlIHBhZ2UgKi9cclxuICAgIGJveC1zaGFkb3c6IC0wLjEyNXJlbSAwLjEyNXJlbSAwLjI1cmVtIHZhcigtLXNoYWRvdy14cyk7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgZmlsdGVyOiBicmlnaHRuZXNzKDAuOTUpO1xyXG4gICAgfVxyXG5cclxuICAgICY6Zm9jdXMsXHJcbiAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgb3V0bGluZTogMDtcclxuICAgICAgICBib3gtc2hhZG93OiAtMC4xMjVyZW0gMC4xMjVyZW0gMC4yNXJlbSB2YXIoLS1zaGFkb3cteHMpO1xyXG4gICAgfVxyXG5cclxuICAgICY6Zm9jdXMtdmlzaWJsZSB7XHJcbiAgICAgICAgb3V0bGluZTogMDtcclxuICAgICAgICBib3gtc2hhZG93OiAtMC4xMjVyZW0gMC4xMjVyZW0gMC4yNXJlbSB2YXIoLS1zaGFkb3cteHMpLCAwIDAgMCAwLjI1cmVtIHZhcigtLWZvY3VzLXJpbmctYnJhbmQpO1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLyogU2lkZWJhciBhbmltYXRpb25zICovXHJcbi5zaWRlLXdpZHRoIHtcclxuICAgIHRyYW5zaXRpb246IHdpZHRoIDAuMjVzIGVhc2UsIG1hcmdpbiAwLjI1cyBlYXNlLCB0cmFuc2Zvcm0gMC4yNXMgZWFzZSwgb3BhY2l0eSAwLjJzIGVhc2U7XHJcbn1cclxuXHJcbi8qIENoZXZyb24gaWNvbiBpbnNpZGUgdGhlIGhhbmRsZSAqL1xyXG4udGFiLWV4cGFuZC1pY29uIHtcclxuICAgIGNvbG9yOiBpbmhlcml0O1xyXG4gICAgZm9udC1zaXplOiAkZnMtYmFzZTtcclxuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjI1cyBlYXNlO1xyXG59XHJcblxyXG4vKiBGbGlwIGNoZXZyb24gd2hlbiBzaWRlYmFyIGlzIGNvbGxhcHNlZCAocG9pbnRzIHJpZ2h0ID0gXCJleHBhbmRcIikgKi9cclxuYm9keS5zaWRlYmFyLWNvbGxhcHNlZCAudGFiLWV4cGFuZC1pY29uIHtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XHJcbn1cclxuXHJcbi8qIENvbGxhcHNlZCBzaWRlYmFyIHN0YXRlICovXHJcbmJvZHkuc2lkZWJhci1jb2xsYXBzZWQge1xyXG4gICAgLyogT25seSBjb2xsYXBzZSB0aGUgc2lkZWJhcjsgbGVhdmUgLS1wYWdlLW1heCB1bnRvdWNoZWQgc28gdGhlIGhlYWRlcidzXHJcbiAgICAgICAucGFnZS1jb250YWluZXIgKGxvZ28gKyBzZXR0aW5ncykgc3RheXMgYXQgaXRzIG9yaWdpbmFsIHdpZHRoLiBNYWluXHJcbiAgICAgICBjb250ZW50IG5hdHVyYWxseSByZWNsYWltcyB0aGUgc2lkZWJhciArIGdhcCBzcGFjZS4gKi9cclxuXHJcbiAgICAuc2lkZS13aWR0aCB7XHJcbiAgICAgICAgd2lkdGg6IDA7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMXJlbSk7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgIC8qIFJlbW92ZSB0aGUgZ2FwIHdoZW4gc2lkZWJhciBpcyBjb2xsYXBzZWQgKi9cclxuICAgIC5sYXlvdXQtZ2FwIHtcclxuICAgICAgICBnYXA6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgbWFpbi5mbGV4LWdyb3ctMSB7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgfVxyXG5cclxuICAgIC8qIEhhbmRsZSBwb3NpdGlvbiBzdGF5cyB0aGUgc2FtZSAoYXQgbGVmdCBlZGdlIG9mIHRhYiBjb250ZW50KSB3aGVuIHNpZGViYXIgaXMgY29sbGFwc2VkICovXHJcbn1cclxuXHJcbiIsIkB1c2UgXCJ0eXBvZ3JhcGh5LXRva2Vuc1wiIGFzICo7XHJcbkB1c2UgXCJjb21wb25lbnRzL19iYXNlL3V0aWxpdGllc1wiIGFzICo7XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBTVFVERU5UIExPR0lOIC0gUHJvZmlsZSBhbmQgbG9naW4gdGlsZSBnYWxsZXJ5XHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKiBTdHVkZW50IGxvZ2luIGNhcmQg4oCUIG5vIG1heC1oZWlnaHQgY2FwIHNvIHRoZSB0aWxlIGdyaWQgaXMgZnVsbHkgdmlzaWJsZSAqL1xyXG4uc3R1ZGVudC1sb2dpbi1jYXJkIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG59XHJcblxyXG4vKiBIb3ZlciBwcmV2aWV3IGJlbG93IGdyaWQgKi9cclxuLnN0dWRlbnQtaG92ZXItcHJldmlldy1ib3R0b20ge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBnYXA6IDAuNzVyZW07XHJcbiAgICBtYXJnaW4tdG9wOiAwLjVyZW07XHJcbiAgICBwYWRkaW5nOiAwLjI1cmVtIDAuNzVyZW07XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xyXG5cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMXJlbTtcclxuICAgICAgICBwYWRkaW5nOiAwLjc1cmVtO1xyXG4gICAgfVxyXG59XHJcblxyXG4uc3R1ZGVudC1ob3Zlci1hdmF0YXIge1xyXG4gICAgd2lkdGg6IDYwcHg7XHJcbiAgICBoZWlnaHQ6IDYwcHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICBib3gtc2hhZG93OiAwIDhweCAyNHB4IHZhcigtLXNoYWRvdy1tZCk7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBjdWJpYy1iZXppZXIoMC4zNCwgMS41NiwgMC42NCwgMSk7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgZmxleC1zaHJpbms6IDA7XHJcblxyXG4gICAgcGljdHVyZSB7XHJcbiAgICAgICAgd2lkdGg6IDgwJTtcclxuICAgICAgICBoZWlnaHQ6IDgwJTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgaW1nIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgb2JqZWN0LWZpdDogY29udGFpbjtcclxuICAgICAgICBhbmltYXRpb246IHBvcEluIDAuM3MgY3ViaWMtYmV6aWVyKDAuMzQsIDEuNTYsIDAuNjQsIDEpO1xyXG4gICAgfVxyXG5cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xyXG4gICAgICAgIHdpZHRoOiA3MHB4O1xyXG4gICAgICAgIGhlaWdodDogNzBweDtcclxuICAgICAgICBmbGV4LXNocmluazogMDtcclxuICAgIH1cclxufVxyXG5cclxuLnN0dWRlbnQtaG92ZXItcGxhY2Vob2xkZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1jcmVhbSk7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogJz8nO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJGZzLTN4bDtcclxuICAgICAgICBmb250LXdlaWdodDogJGZ3LWJvbGQ7XHJcbiAgICAgICAgY29sb3I6IHZhcigtLWJyYW5kLXByaW1hcnktZmFkZWQpO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG5cclxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAkZnMtM3hsO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnN0dWRlbnQtaG92ZXItbmFtZSB7XHJcbiAgICBmb250LXNpemU6ICRmcy1tZDtcclxuICAgIGZvbnQtd2VpZ2h0OiAkZnctc2VtaWJvbGQ7XHJcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1kYXJrKTtcclxuICAgIG1heC13aWR0aDogMjAwcHg7XHJcbiAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XHJcbiAgICBtaW4taGVpZ2h0OiAxLjVyZW07XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xyXG5cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJGZzLWJhc2U7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAxNTBweDtcclxuICAgIH1cclxufVxyXG5cclxuLyogUHJldmlldyBjYXJkIHdpdGggZW5oYW5jZWQgc3R5bGluZyAqL1xyXG4uc3R1ZGVudC1wcmV2aWV3LWNhcmQge1xyXG4gICAgYmFja2dyb3VuZDogdmFyKC0tYmctY3JlYW0pO1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMS4yNXJlbTtcclxuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2UsIGJveC1zaGFkb3cgMC4zcyBlYXNlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblxyXG4gICAgLmNhcmQtYm9keSB7XHJcbiAgICAgICAgcGFkZGluZzogMS41cmVtIDEuMjVyZW07XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGZsZXg6IDE7XHJcbiAgICB9XHJcblxyXG4gICAgaDUge1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS10ZXh0LWRhcmspO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZnctc2VtaWJvbGQ7XHJcbiAgICAgICAgbWluLWhlaWdodDogMnJlbTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgLyogT3ZlcnJpZGUgQm9vdHN0cmFwJ3MgLS1icy1zZWNvbmRhcnktY29sb3Igc28gLnRleHQtbXV0ZWQgcGlja3MgdXAgdGhlIHJpZ2h0IHZhbHVlLlxyXG4gICAgICAgRGlyZWN0IC50ZXh0LW11dGVkIHsgY29sb3IgfSB3b24ndCB3b3JrIOKAlCBCb290c3RyYXAgdXNlcyAhaW1wb3J0YW50IG9uIHRoYXQgcHJvcGVydHkuXHJcbiAgICAgICBTYWZlIGhlcmU6IG9ubHkgY2hpbGQgdXNpbmcgdGhpcyB2YXJpYWJsZSBpcyB0aGUgZ3JvdXAtbmFtZSAudGV4dC1tdXRlZCBlbGVtZW50LiAqL1xyXG4gICAgLS1icy1zZWNvbmRhcnktY29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cclxuICAgIC50ZXh0LW11dGVkIHtcclxuICAgICAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xyXG4gICAgICAgIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMC41cmVtO1xyXG4gICAgfVxyXG5cclxuICAgIC8qIFJlc3BvbnNpdmUgYWRqdXN0bWVudHMgKi9cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5OTJweCkge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qIEZ1bGwtcGFnZSBsb2dpbiBvdmVybGF5ICovXHJcbi5zdHVkZW50LWxvZ2luLW92ZXJsYXkge1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctY3JlYW0pO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICB6LWluZGV4OiA5OTk5O1xyXG4gICAgZ2FwOiAxLjVyZW07XHJcbiAgICBhbmltYXRpb246IGZhZGVJbiAwLjNzIGVhc2U7XHJcblxyXG4gICAgLmxvZ2luLW92ZXJsYXktdGV4dCB7XHJcbiAgICAgICAgY29sb3I6IHZhcigtLXRleHQtZGFyayk7XHJcbiAgICAgICAgZm9udC1zaXplOiAkZnMtbGc7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRmdy1zZW1pYm9sZDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgbWF4LXdpZHRoOiA0MDBweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMS40O1xyXG5cclxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAkZnMtbWQ7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMXJlbTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgZmFkZUluIHtcclxuICAgIGZyb20ge1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICB9XHJcbiAgICB0byB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgIH1cclxufVxyXG5cclxuLyogUHJvZmlsZSBhdmF0YXIgd2l0aCBncmFkaWVudCBib3JkZXIgYW5kIGFuaW1hdGVkIHRyYW5zaXRpb25zXHJcbiAgIFNjb3BlZCB0byBzdHVkZW50IGxvZ2luIHBhZ2UgdG8gYXZvaWQgb3ZlcnJpZGluZyBzaWRlYmFyIHByb2ZpbGUgY2FyZCAqL1xyXG4uc3R1ZGVudC1pbWFnZXMtc2VjdGlvbiAuc3R1ZGVudC1wcm9maWxlLWF2YXRhcixcclxuLnN0dWRlbnQtaG92ZXItcHJldmlldy1ib3R0b20gLnN0dWRlbnQtcHJvZmlsZS1hdmF0YXIge1xyXG4gICAgQGluY2x1ZGUgcmF0aG8tYXZhdGFyLWdyYWRpZW50KDEwMHB4LCAzcHgpO1xyXG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNHMgY3ViaWMtYmV6aWVyKDAuMzQsIDEuNTYsIDAuNjQsIDEpO1xyXG5cclxuICAgIC8qIENvbXBvbmVudC1zcGVjaWZpYyBpbWFnZSBwb3NpdGlvbmluZyAqL1xyXG4gICAgaW1nIHtcclxuICAgICAgICBvYmplY3QtcG9zaXRpb246IGNlbnRlcjtcclxuICAgICAgICBvYmplY3QtZml0OiBjb250YWluO1xyXG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2U7XHJcblxyXG4gICAgICAgICYuYXZhdGFyLXByZXZpZXctYWN0aXZlIHtcclxuICAgICAgICAgICAgYW5pbWF0aW9uOiBwb3BJbiAwLjNzIGN1YmljLWJlemllcigwLjM0LCAxLjU2LCAwLjY0LCAxKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuYXZhdGFyLXByZXZpZXctc2VsZWN0ZWQge1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLyogUG9wIGluIGFuaW1hdGlvbiBmb3IgaG92ZXJlZCBhdmF0YXIgKi9cclxuQGtleWZyYW1lcyBwb3BJbiB7XHJcbiAgICAwJSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjgpO1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICB9XHJcbiAgICA1MCUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcclxuICAgIH1cclxuICAgIDEwMCUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgIH1cclxufVxyXG5cclxuLyogSW1hZ2UgZ2FsbGVyeSBzZWN0aW9uICovXHJcbi5zdHVkZW50LWltYWdlcy1zZWN0aW9uIHtcclxuICAgIC8qIExvZ2luIHRpbGUgZ3JpZCAtIDQgcm93cyB4IDggY29sdW1ucyAqL1xyXG4gICAgLmxvZ2luLXRpbGUtZ3JpZCB7XHJcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg4LCAxZnIpO1xyXG4gICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogcmVwZWF0KDQsIDFmcik7XHJcbiAgICAgICAgZ2FwOiAwLjc1cmVtO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuXHJcbiAgICAgICAgLyogUmVzcG9uc2l2ZSBhZGp1c3RtZW50cyAqL1xyXG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5OTJweCkge1xyXG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg2LCAxZnIpO1xyXG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG87XHJcbiAgICAgICAgICAgIGdhcDogMC43NXJlbTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xyXG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCAxZnIpO1xyXG4gICAgICAgICAgICBnYXA6IDAuNzVyZW07XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNTc1Ljk4cHgpIHtcclxuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTtcclxuICAgICAgICAgICAgZ2FwOiAwLjc1cmVtO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLyogU2h1ZmZsZSBwaGFzZSAxIOKAlCB0aWxlcyBnYXRoZXIgdG8gY2VudGVyICovXHJcbiAgICAgICAgJi5zaHVmZmxpbmcgLmxvZ2luLXRpbGUge1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDApIHJvdGF0ZSgxODBkZWcpO1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zNXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMSwgMSksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHkgMC4yNXMgZWFzZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8qIFNodWZmbGUgcGhhc2UgMiDigJQgdGlsZXMgc3ByZWFkIGZyb20gY2VudGVyIHRvIG5ldyBwb3NpdGlvbnMgKi9cclxuICAgICAgICAmLnNwcmVhZGluZyAubG9naW4tdGlsZSB7XHJcbiAgICAgICAgICAgIGFuaW1hdGlvbjogdGlsZS1zcHJlYWQtaW4gMC40cyBjdWJpYy1iZXppZXIoMC4zNCwgMS41NiwgMC42NCwgMSkgYm90aDtcclxuXHJcbiAgICAgICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggMzIge1xyXG4gICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoI3skaX0pIHtcclxuICAgICAgICAgICAgICAgICAgICBhbmltYXRpb24tZGVsYXk6ICN7JGkgKiAxNX1tcztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKiBMb2dpbiB0aWxlcyAtIGVuaGFuY2VkIHdpdGggM0QgdGlsdCBhbmQgcGxheWZ1bCBlZmZlY3RzICovXHJcbiAgICAubG9naW4tdGlsZSB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgYXNwZWN0LXJhdGlvOiAxO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAuNzVyZW07XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMzVzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XHJcbiAgICAgICAgYm94LXNoYWRvdzogMCA0cHggMTJweCB2YXIoLS1zaGFkb3ctbWQpO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkO1xyXG4gICAgICAgIHBlcnNwZWN0aXZlOiAxMDAwcHg7XHJcblxyXG4gICAgICAgIC8qIFN1YnRsZSBzaGluZSBlZmZlY3QgKi9cclxuICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLW92ZXJsYXktbGlnaHQpIDAlLCB0cmFuc3BhcmVudCA2MCUpO1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMzVzIGVhc2U7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XHJcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwLjc1cmVtO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLyogR2xvdyBlZmZlY3Qgb24gaG92ZXIgKi9cclxuICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIGluc2V0OiAtNXB4O1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwLjc1cmVtO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlIGF0IGNlbnRlciwgdmFyKC0tZ2xvdy1icmFuZC1sZyksIHRyYW5zcGFyZW50IDcwJSk7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zNXMgZWFzZTtcclxuICAgICAgICAgICAgei1pbmRleDogLTE7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvKiAzRCB0aWx0IGhvdmVyIGVmZmVjdCAqL1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLThweCkgcm90YXRlWCg1ZGVnKSByb3RhdGVZKDVkZWcpIHNjYWxlKDEuMDgpO1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDE2cHggNDBweCB2YXIoLS1zaGFkb3ctM3hsKTtcclxuICAgICAgICAgICAgei1pbmRleDogMTA7XHJcblxyXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTRweCkgcm90YXRlWCgyZGVnKSByb3RhdGVZKDJkZWcpIHNjYWxlKDEuMDQpO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjFzO1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDhweCAyNHB4IHZhcigtLXNoYWRvdy1sZyk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmZvY3VzLXZpc2libGUge1xyXG4gICAgICAgICAgICBvdXRsaW5lOiAzcHggc29saWQgdmFyKC0tZm9jdXMtcmluZy1icmFuZCk7XHJcbiAgICAgICAgICAgIG91dGxpbmUtb2Zmc2V0OiAzcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvKiBXcm9uZyB0aWxlIOKAlCBzaGFrZSArIHJlZCBib3JkZXIsIGF1dG8tY2xlYXJzIGFmdGVyIDYwMG1zICovXHJcbiAgICAgICAgJi53cm9uZyB7XHJcbiAgICAgICAgICAgIGFuaW1hdGlvbjogdGlsZS1zaGFrZSAwLjRzIGVhc2U7XHJcbiAgICAgICAgICAgIGJvcmRlcjogM3B4IHNvbGlkIHZhcigtLWJzLWRhbmdlcik7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAxNnB4IHJnYmEoMjIwLCA1MywgNjksIDAuNCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5sb2dpbi10aWxlLWltZyxcclxuICAgIC5sb2dpbi10aWxlIHBpY3R1cmUge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zNXMgZWFzZTtcclxuXHJcbiAgICAgICAgLmxvZ2luLXRpbGU6aG92ZXIgJiB7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxufVxyXG5cclxuLyogQ29vbGRvd24gem9uZSDigJQgc2hvd24gYWZ0ZXIgbWF4IGZhaWxlZCBhdHRlbXB0cyAqL1xyXG4uc3R1ZGVudC1jb29sZG93bi16b25lIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgbWluLWhlaWdodDogNDAwcHg7XHJcblxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XHJcbiAgICAgICAgbWluLWhlaWdodDogMjgwcHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zdHVkZW50LWNvb2xkb3duLW93bCB7XHJcbiAgICB3aWR0aDogMTAwcHg7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcblxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XHJcbiAgICAgICAgd2lkdGg6IDgwcHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zdHVkZW50LWNvb2xkb3duLWRvdCB7XHJcbiAgICB3aWR0aDogMTRweDtcclxuICAgIGhlaWdodDogMTRweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4zcyBlYXNlO1xyXG5cclxuICAgICYudXNlZCB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnMtZGFuZ2VyKTtcclxuICAgIH1cclxuXHJcbiAgICAmLmF2YWlsYWJsZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc3RhdHVzLXdhcm5pbmctb3JhbmdlKTtcclxuICAgIH1cclxufVxyXG5cclxuLnN0dWRlbnQtY29vbGRvd24tcHJvZ3Jlc3Mge1xyXG4gICAgbWF4LXdpZHRoOiAzMDBweDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMHB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xyXG5cclxuICAgIC5wcm9ncmVzcy1iYXIge1xyXG4gICAgICAgIHRyYW5zaXRpb246IHdpZHRoIDFzIGxpbmVhciwgYmFja2dyb3VuZC1jb2xvciAwLjVzIGVhc2U7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qIFdhcm5pbmcgcGlsbCDigJQgc2hvd24gYWJvdmUgZ3JpZCBvbiAybmQgZmFpbGVkIGF0dGVtcHQgKi9cclxuLnN0dWRlbnQtd2FybmluZy1waWxsIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjQ1LCAxNjYsIDM1LCAwLjE1KTtcclxuICAgIGNvbG9yOiAjYjQ3YTAwO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNDUsIDE2NiwgMzUsIDAuNCk7XHJcbiAgICBib3JkZXItcmFkaXVzOiAycmVtO1xyXG4gICAgcGFkZGluZzogMC4zNXJlbSAxcmVtO1xyXG4gICAgZm9udC1zaXplOiAkZnMtc207XHJcbiAgICBmb250LXdlaWdodDogJGZ3LXNlbWlib2xkO1xyXG4gICAgYW5pbWF0aW9uOiBwaWxsLWZhZGUtaW4gMC4zcyBlYXNlO1xyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHBpbGwtZmFkZS1pbiB7XHJcbiAgICBmcm9tIHsgb3BhY2l0eTogMDsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC04cHgpOyB9XHJcbiAgICB0byAgIHsgb3BhY2l0eTogMTsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XHJcbn1cclxuXHJcbi8qIFNoYWtlIGFuaW1hdGlvbiBmb3Igd3JvbmcgdGlsZSAqL1xyXG5Aa2V5ZnJhbWVzIHRpbGUtc2hha2Uge1xyXG4gICAgMCUsIDEwMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cclxuICAgIDE1JSAgICAgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC02cHgpIHJvdGF0ZSgtMmRlZyk7IH1cclxuICAgIDMwJSAgICAgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDVweCkgcm90YXRlKDEuNWRlZyk7IH1cclxuICAgIDQ1JSAgICAgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC00cHgpIHJvdGF0ZSgtMWRlZyk7IH1cclxuICAgIDYwJSAgICAgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDNweCkgcm90YXRlKDAuNWRlZyk7IH1cclxuICAgIDc1JSAgICAgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0ycHgpOyB9XHJcbn1cclxuXHJcbi8qIFNwcmVhZC1pbiBhbmltYXRpb24g4oCUIHRpbGVzIHBvcCBpbiBmcm9tIGNlbnRlciBhZnRlciBzaHVmZmxlICovXHJcbkBrZXlmcmFtZXMgdGlsZS1zcHJlYWQtaW4ge1xyXG4gICAgMCUgICB7IHRyYW5zZm9ybTogc2NhbGUoMCkgcm90YXRlKC05MGRlZyk7IG9wYWNpdHk6IDA7IH1cclxuICAgIDYwJSAgeyB0cmFuc2Zvcm06IHNjYWxlKDEuMDgpIHJvdGF0ZSgyZGVnKTsgb3BhY2l0eTogMTsgfVxyXG4gICAgMTAwJSB7IHRyYW5zZm9ybTogc2NhbGUoMSkgcm90YXRlKDApOyBvcGFjaXR5OiAxOyB9XHJcbn1cclxuXHJcbi8qIEVhc3RlciBlZ2cg4oCUIDNEIGZsaXAgb24gcHJvZmlsZSBhdmF0YXIgdmlhIGh0bWwuYXZhdGFyLWZsaXBwZWQgKi9cclxuaHRtbC5hdmF0YXItZmxpcHBlZCAuc3R1ZGVudC1wcm9maWxlLWF2YXRhciB7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZVkoMTgwZGVnKTtcclxuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjZzIGN1YmljLWJlemllcigwLjM0LCAxLjU2LCAwLjY0LCAxKTtcclxufVxyXG5cclxuLnN0dWRlbnQtcHJldmlldy1jYXJkIC5zdHVkZW50LXByb2ZpbGUtYXZhdGFyIHtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjZzIGN1YmljLWJlemllcigwLjM0LCAxLjU2LCAwLjY0LCAxKTtcclxufVxyXG4iLCJAdXNlIFwidHlwb2dyYXBoeS10b2tlbnNcIiBhcyAqO1xyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgR1JPVVAgU0VMRUNUIFBBR0UgLSBUaWxlIGdyaWQgc3R5bGVzIHVzaW5nIENTUyB2YXJpYWJsZXNcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qIFBhZ2Ugd3JhcHBlciB0byBvdmVycmlkZSBsYXlvdXQgYmFja2dyb3VuZCAqL1xyXG4uZ3JvdXAtc2VsZWN0LXBhZ2Utd3JhcHBlciB7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZy1jcmVhbSk7XHJcbiAgICB6LWluZGV4OiAwO1xyXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMyUpOyAgICAgICAgICAgICAvKiBDZW50ZXIgb3dsIGdyaWQgdmlzdWFsbHkgb24gdmlld3BvcnQgKi9cclxufVxyXG5cclxuLyogQ29udGVudCB3cmFwcGVyIHRvIHJlZHVjZSBtYXJnaW5zICovXHJcbi5ncm91cC1zZWxlY3QtY29udGVudC13cmFwcGVyIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHotaW5kZXg6IDE7XHJcbiAgICBtYXgtd2lkdGg6IDEyODBweDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICBwYWRkaW5nOiAwIDFyZW07XHJcblxyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XHJcbiAgICAgICAgcGFkZGluZzogMCAycmVtO1xyXG4gICAgfVxyXG59XHJcblxyXG4vKiBFbmhhbmNlZCBjYXJkIHN0eWxpbmcgKi9cclxuLmdyb3VwLXNlbGVjdC1jYXJkIHtcclxuICAgIC0tY2FyZC1oZWlnaHQ6IDU4MHB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogMjBweDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTBweCk7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOTgpO1xyXG4gICAgcGFkZGluZzogMS41cmVtIDJyZW07XHJcbiAgICBtaW4taGVpZ2h0OiB2YXIoLS1jYXJkLWhlaWdodCk7XHJcblxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XHJcbiAgICAgICAgLS1jYXJkLWhlaWdodDogNDUwcHg7XHJcbiAgICAgICAgcGFkZGluZzogMXJlbSAxLjVyZW07XHJcbiAgICB9XHJcblxyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XHJcbiAgICAgICAgLS1jYXJkLWhlaWdodDogNjAwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xyXG4gICAgICAgIC0tY2FyZC1oZWlnaHQ6IDYyMHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4vKiBBbmltYXRlZCBvd2wgYmFja2dyb3VuZCBwYXR0ZXJuICovXHJcbkBrZXlmcmFtZXMgZmxvYXQtb3dscyB7XHJcbiAgICAwJSwgMTAwJSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHJvdGF0ZSh2YXIoLS1yb3RhdGlvbiwgMGRlZykpO1xyXG4gICAgfVxyXG4gICAgNTAlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLThweCkgcm90YXRlKHZhcigtLXJvdGF0aW9uLCAwZGVnKSk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qIFRpbGVkIG93bCBwYXR0ZXJuIGdyaWQgKi9cclxuLmdyb3VwLXNlbGVjdC1iYWNrZ3JvdW5kLW93bCB7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICB3aWR0aDogMTAwcHg7XHJcbiAgICBoZWlnaHQ6IDEwMHB4O1xyXG4gICAgYmFja2dyb3VuZC1zaXplOiA3MCU7XHJcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xyXG4gICAgb3BhY2l0eTogMC4wNTtcclxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgei1pbmRleDogMDtcclxuICAgIGFuaW1hdGlvbjogZmxvYXQtb3dscyA1cyBlYXNlLWluLW91dCBpbmZpbml0ZTtcclxuXHJcbiAgICAvKiBDcmVhdGUgZ3JpZCBwb3NpdGlvbnMgLSA4IGNvbHVtbnMgeCA2IHJvd3MgKi9cclxuICAgICYub3dsLTEgeyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9pbWFnZXMvbG9naW4vb3dsLWJvb2sud2VicCcpOyB0b3A6IDA7IGxlZnQ6IDA7IC0tcm90YXRpb246IC04ZGVnOyBhbmltYXRpb24tZGVsYXk6IDBzOyB9XHJcbiAgICAmLm93bC0yIHsgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvaW1hZ2VzL2xvZ2luL293bC1tdXNpYy53ZWJwJyk7IHRvcDogMDsgbGVmdDogMTIuNSU7IC0tcm90YXRpb246IDVkZWc7IGFuaW1hdGlvbi1kZWxheTogMC4zczsgfVxyXG4gICAgJi5vd2wtMyB7IGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2ltYWdlcy9sb2dpbi9vd2wtcGVuY2lsLndlYnAnKTsgdG9wOiAwOyBsZWZ0OiAyNSU7IC0tcm90YXRpb246IC0xMmRlZzsgYW5pbWF0aW9uLWRlbGF5OiAwLjZzOyB9XHJcbiAgICAmLm93bC00IHsgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvaW1hZ2VzL2xvZ2luL293bC1zb2NjZXIud2VicCcpOyB0b3A6IDA7IGxlZnQ6IDM3LjUlOyAtLXJvdGF0aW9uOiAxMGRlZzsgYW5pbWF0aW9uLWRlbGF5OiAwLjlzOyB9XHJcbiAgICAmLm93bC01IHsgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvaW1hZ2VzL2xvZ2luL293bC1iaWN5Y2xlLndlYnAnKTsgdG9wOiAwOyBsZWZ0OiA1MCU7IC0tcm90YXRpb246IC01ZGVnOyBhbmltYXRpb24tZGVsYXk6IDEuMnM7IH1cclxuICAgICYub3dsLTYgeyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9pbWFnZXMvbG9naW4vb3dsLXBsYXkud2VicCcpOyB0b3A6IDA7IGxlZnQ6IDYyLjUlOyAtLXJvdGF0aW9uOiA4ZGVnOyBhbmltYXRpb24tZGVsYXk6IDEuNXM7IH1cclxuICAgICYub3dsLTcgeyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9pbWFnZXMvbG9naW4vb3dsLWx1bmNoLndlYnAnKTsgdG9wOiAwOyBsZWZ0OiA3NSU7IC0tcm90YXRpb246IC0xMGRlZzsgYW5pbWF0aW9uLWRlbGF5OiAxLjhzOyB9XHJcbiAgICAmLm93bC04IHsgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvaW1hZ2VzL2xvZ2luL293bC1sYXB0b3Aud2VicCcpOyB0b3A6IDA7IGxlZnQ6IDg3LjUlOyAtLXJvdGF0aW9uOiA2ZGVnOyBhbmltYXRpb24tZGVsYXk6IDIuMXM7IH1cclxuXHJcbiAgICAmLm93bC05IHsgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvaW1hZ2VzL2xvZ2luL293bC1jYW1wLndlYnAnKTsgdG9wOiAxNi42NiU7IGxlZnQ6IDA7IC0tcm90YXRpb246IDdkZWc7IGFuaW1hdGlvbi1kZWxheTogMC40czsgfVxyXG4gICAgJi5vd2wtMTAgeyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9pbWFnZXMvbG9naW4vb3dsLWdhcmRlbi53ZWJwJyk7IHRvcDogMTYuNjYlOyBsZWZ0OiAxMi41JTsgLS1yb3RhdGlvbjogLTlkZWc7IGFuaW1hdGlvbi1kZWxheTogMC43czsgfVxyXG4gICAgJi5vd2wtMTEgeyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9pbWFnZXMvbG9naW4vb3dsLXJvcGUud2VicCcpOyB0b3A6IDE2LjY2JTsgbGVmdDogMjUlOyAtLXJvdGF0aW9uOiAxMWRlZzsgYW5pbWF0aW9uLWRlbGF5OiAxczsgfVxyXG4gICAgJi5vd2wtMTIgeyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9pbWFnZXMvbG9naW4vb3dsLXNhaWwud2VicCcpOyB0b3A6IDE2LjY2JTsgbGVmdDogMzcuNSU7IC0tcm90YXRpb246IC02ZGVnOyBhbmltYXRpb24tZGVsYXk6IDEuM3M7IH1cclxuICAgICYub3dsLTEzIHsgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvaW1hZ2VzL2xvZ2luL293bC1za2F0ZS53ZWJwJyk7IHRvcDogMTYuNjYlOyBsZWZ0OiA1MCU7IC0tcm90YXRpb246IDlkZWc7IGFuaW1hdGlvbi1kZWxheTogMS42czsgfVxyXG4gICAgJi5vd2wtMTQgeyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9pbWFnZXMvbG9naW4vb3dsLXNub3dtYW4ud2VicCcpOyB0b3A6IDE2LjY2JTsgbGVmdDogNjIuNSU7IC0tcm90YXRpb246IC03ZGVnOyBhbmltYXRpb24tZGVsYXk6IDEuOXM7IH1cclxuICAgICYub3dsLTE1IHsgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvaW1hZ2VzL2xvZ2luL293bC13YWxrLndlYnAnKTsgdG9wOiAxNi42NiU7IGxlZnQ6IDc1JTsgLS1yb3RhdGlvbjogOGRlZzsgYW5pbWF0aW9uLWRlbGF5OiAyLjJzOyB9XHJcbiAgICAmLm93bC0xNiB7IGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2ltYWdlcy9sb2dpbi9vd2wtYm9vay53ZWJwJyk7IHRvcDogMTYuNjYlOyBsZWZ0OiA4Ny41JTsgLS1yb3RhdGlvbjogLTExZGVnOyBhbmltYXRpb24tZGVsYXk6IDIuNXM7IH1cclxuXHJcbiAgICAmLm93bC0xNyB7IGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2ltYWdlcy9sb2dpbi9vd2wtbXVzaWMud2VicCcpOyB0b3A6IDMzLjMzJTsgbGVmdDogMDsgLS1yb3RhdGlvbjogMTBkZWc7IGFuaW1hdGlvbi1kZWxheTogMC41czsgfVxyXG4gICAgJi5vd2wtMTggeyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9pbWFnZXMvbG9naW4vb3dsLXBlbmNpbC53ZWJwJyk7IHRvcDogMzMuMzMlOyBsZWZ0OiAxMi41JTsgLS1yb3RhdGlvbjogLThkZWc7IGFuaW1hdGlvbi1kZWxheTogMC44czsgfVxyXG4gICAgJi5vd2wtMTkgeyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9pbWFnZXMvbG9naW4vb3dsLXNvY2Nlci53ZWJwJyk7IHRvcDogMzMuMzMlOyBsZWZ0OiAyNSU7IC0tcm90YXRpb246IDZkZWc7IGFuaW1hdGlvbi1kZWxheTogMS4xczsgfVxyXG4gICAgJi5vd2wtMjAgeyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9pbWFnZXMvbG9naW4vb3dsLWJpY3ljbGUud2VicCcpOyB0b3A6IDMzLjMzJTsgbGVmdDogMzcuNSU7IC0tcm90YXRpb246IC0xMmRlZzsgYW5pbWF0aW9uLWRlbGF5OiAxLjRzOyB9XHJcbiAgICAmLm93bC0yMSB7IGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2ltYWdlcy9sb2dpbi9vd2wtcGxheS53ZWJwJyk7IHRvcDogMzMuMzMlOyBsZWZ0OiA1MCU7IC0tcm90YXRpb246IDlkZWc7IGFuaW1hdGlvbi1kZWxheTogMS43czsgfVxyXG4gICAgJi5vd2wtMjIgeyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9pbWFnZXMvbG9naW4vb3dsLWx1bmNoLndlYnAnKTsgdG9wOiAzMy4zMyU7IGxlZnQ6IDYyLjUlOyAtLXJvdGF0aW9uOiAtN2RlZzsgYW5pbWF0aW9uLWRlbGF5OiAyczsgfVxyXG4gICAgJi5vd2wtMjMgeyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9pbWFnZXMvbG9naW4vb3dsLWxhcHRvcC53ZWJwJyk7IHRvcDogMzMuMzMlOyBsZWZ0OiA3NSU7IC0tcm90YXRpb246IDExZGVnOyBhbmltYXRpb24tZGVsYXk6IDIuM3M7IH1cclxuICAgICYub3dsLTI0IHsgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvaW1hZ2VzL2xvZ2luL293bC1jYW1wLndlYnAnKTsgdG9wOiAzMy4zMyU7IGxlZnQ6IDg3LjUlOyAtLXJvdGF0aW9uOiAtOWRlZzsgYW5pbWF0aW9uLWRlbGF5OiAyLjZzOyB9XHJcblxyXG4gICAgJi5vd2wtMjUgeyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9pbWFnZXMvbG9naW4vb3dsLWdhcmRlbi53ZWJwJyk7IHRvcDogNTAlOyBsZWZ0OiAwOyAtLXJvdGF0aW9uOiAtMTBkZWc7IGFuaW1hdGlvbi1kZWxheTogMC42czsgfVxyXG4gICAgJi5vd2wtMjYgeyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9pbWFnZXMvbG9naW4vb3dsLXJvcGUud2VicCcpOyB0b3A6IDUwJTsgbGVmdDogMTIuNSU7IC0tcm90YXRpb246IDhkZWc7IGFuaW1hdGlvbi1kZWxheTogMC45czsgfVxyXG4gICAgJi5vd2wtMjcgeyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9pbWFnZXMvbG9naW4vb3dsLXNhaWwud2VicCcpOyB0b3A6IDUwJTsgbGVmdDogMjUlOyAtLXJvdGF0aW9uOiAtNmRlZzsgYW5pbWF0aW9uLWRlbGF5OiAxLjJzOyB9XHJcbiAgICAmLm93bC0yOCB7IGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2ltYWdlcy9sb2dpbi9vd2wtc2thdGUud2VicCcpOyB0b3A6IDUwJTsgbGVmdDogMzcuNSU7IC0tcm90YXRpb246IDEyZGVnOyBhbmltYXRpb24tZGVsYXk6IDEuNXM7IH1cclxuICAgICYub3dsLTI5IHsgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvaW1hZ2VzL2xvZ2luL293bC1zbm93bWFuLndlYnAnKTsgdG9wOiA1MCU7IGxlZnQ6IDUwJTsgLS1yb3RhdGlvbjogLThkZWc7IGFuaW1hdGlvbi1kZWxheTogMS44czsgfVxyXG4gICAgJi5vd2wtMzAgeyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9pbWFnZXMvbG9naW4vb3dsLXdhbGsud2VicCcpOyB0b3A6IDUwJTsgbGVmdDogNjIuNSU7IC0tcm90YXRpb246IDdkZWc7IGFuaW1hdGlvbi1kZWxheTogMi4xczsgfVxyXG4gICAgJi5vd2wtMzEgeyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9pbWFnZXMvbG9naW4vb3dsLWJvb2sud2VicCcpOyB0b3A6IDUwJTsgbGVmdDogNzUlOyAtLXJvdGF0aW9uOiAtMTFkZWc7IGFuaW1hdGlvbi1kZWxheTogMi40czsgfVxyXG4gICAgJi5vd2wtMzIgeyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9pbWFnZXMvbG9naW4vb3dsLW11c2ljLndlYnAnKTsgdG9wOiA1MCU7IGxlZnQ6IDg3LjUlOyAtLXJvdGF0aW9uOiA5ZGVnOyBhbmltYXRpb24tZGVsYXk6IDIuN3M7IH1cclxuXHJcbiAgICAmLm93bC0zMyB7IGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2ltYWdlcy9sb2dpbi9vd2wtcGVuY2lsLndlYnAnKTsgdG9wOiA2Ni42NiU7IGxlZnQ6IDA7IC0tcm90YXRpb246IDZkZWc7IGFuaW1hdGlvbi1kZWxheTogMC43czsgfVxyXG4gICAgJi5vd2wtMzQgeyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9pbWFnZXMvbG9naW4vb3dsLXNvY2Nlci53ZWJwJyk7IHRvcDogNjYuNjYlOyBsZWZ0OiAxMi41JTsgLS1yb3RhdGlvbjogLTlkZWc7IGFuaW1hdGlvbi1kZWxheTogMXM7IH1cclxuICAgICYub3dsLTM1IHsgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvaW1hZ2VzL2xvZ2luL293bC1iaWN5Y2xlLndlYnAnKTsgdG9wOiA2Ni42NiU7IGxlZnQ6IDI1JTsgLS1yb3RhdGlvbjogMTFkZWc7IGFuaW1hdGlvbi1kZWxheTogMS4zczsgfVxyXG4gICAgJi5vd2wtMzYgeyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9pbWFnZXMvbG9naW4vb3dsLXBsYXkud2VicCcpOyB0b3A6IDY2LjY2JTsgbGVmdDogMzcuNSU7IC0tcm90YXRpb246IC03ZGVnOyBhbmltYXRpb24tZGVsYXk6IDEuNnM7IH1cclxuICAgICYub3dsLTM3IHsgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvaW1hZ2VzL2xvZ2luL293bC1sdW5jaC53ZWJwJyk7IHRvcDogNjYuNjYlOyBsZWZ0OiA1MCU7IC0tcm90YXRpb246IDEwZGVnOyBhbmltYXRpb24tZGVsYXk6IDEuOXM7IH1cclxuICAgICYub3dsLTM4IHsgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvaW1hZ2VzL2xvZ2luL293bC1sYXB0b3Aud2VicCcpOyB0b3A6IDY2LjY2JTsgbGVmdDogNjIuNSU7IC0tcm90YXRpb246IC0xMmRlZzsgYW5pbWF0aW9uLWRlbGF5OiAyLjJzOyB9XHJcbiAgICAmLm93bC0zOSB7IGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2ltYWdlcy9sb2dpbi9vd2wtY2FtcC53ZWJwJyk7IHRvcDogNjYuNjYlOyBsZWZ0OiA3NSU7IC0tcm90YXRpb246IDhkZWc7IGFuaW1hdGlvbi1kZWxheTogMi41czsgfVxyXG4gICAgJi5vd2wtNDAgeyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9pbWFnZXMvbG9naW4vb3dsLWdhcmRlbi53ZWJwJyk7IHRvcDogNjYuNjYlOyBsZWZ0OiA4Ny41JTsgLS1yb3RhdGlvbjogLTEwZGVnOyBhbmltYXRpb24tZGVsYXk6IDIuOHM7IH1cclxuXHJcbiAgICAmLm93bC00MSB7IGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2ltYWdlcy9sb2dpbi9vd2wtcm9wZS53ZWJwJyk7IHRvcDogODMuMzMlOyBsZWZ0OiAwOyAtLXJvdGF0aW9uOiAtOGRlZzsgYW5pbWF0aW9uLWRlbGF5OiAwLjhzOyB9XHJcbiAgICAmLm93bC00MiB7IGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2ltYWdlcy9sb2dpbi9vd2wtc2FpbC53ZWJwJyk7IHRvcDogODMuMzMlOyBsZWZ0OiAxMi41JTsgLS1yb3RhdGlvbjogOWRlZzsgYW5pbWF0aW9uLWRlbGF5OiAxLjFzOyB9XHJcbiAgICAmLm93bC00MyB7IGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2ltYWdlcy9sb2dpbi9vd2wtc2thdGUud2VicCcpOyB0b3A6IDgzLjMzJTsgbGVmdDogMjUlOyAtLXJvdGF0aW9uOiAtMTFkZWc7IGFuaW1hdGlvbi1kZWxheTogMS40czsgfVxyXG4gICAgJi5vd2wtNDQgeyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9pbWFnZXMvbG9naW4vb3dsLXNub3dtYW4ud2VicCcpOyB0b3A6IDgzLjMzJTsgbGVmdDogMzcuNSU7IC0tcm90YXRpb246IDdkZWc7IGFuaW1hdGlvbi1kZWxheTogMS43czsgfVxyXG4gICAgJi5vd2wtNDUgeyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9pbWFnZXMvbG9naW4vb3dsLXdhbGsud2VicCcpOyB0b3A6IDgzLjMzJTsgbGVmdDogNTAlOyAtLXJvdGF0aW9uOiAtOWRlZzsgYW5pbWF0aW9uLWRlbGF5OiAyczsgfVxyXG4gICAgJi5vd2wtNDYgeyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9pbWFnZXMvbG9naW4vb3dsLWJvb2sud2VicCcpOyB0b3A6IDgzLjMzJTsgbGVmdDogNjIuNSU7IC0tcm90YXRpb246IDEyZGVnOyBhbmltYXRpb24tZGVsYXk6IDIuM3M7IH1cclxuICAgICYub3dsLTQ3IHsgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvaW1hZ2VzL2xvZ2luL293bC1tdXNpYy53ZWJwJyk7IHRvcDogODMuMzMlOyBsZWZ0OiA3NSU7IC0tcm90YXRpb246IC02ZGVnOyBhbmltYXRpb24tZGVsYXk6IDIuNnM7IH1cclxuICAgICYub3dsLTQ4IHsgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvaW1hZ2VzL2xvZ2luL293bC1wZW5jaWwud2VicCcpOyB0b3A6IDgzLjMzJTsgbGVmdDogODcuNSU7IC0tcm90YXRpb246IDEwZGVnOyBhbmltYXRpb24tZGVsYXk6IDIuOXM7IH1cclxuXHJcbiAgICAvKiBSZXNwb25zaXZlIHNpemluZyAqL1xyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XHJcbiAgICAgICAgd2lkdGg6IDgwcHg7XHJcbiAgICAgICAgaGVpZ2h0OiA4MHB4O1xyXG4gICAgICAgIG9wYWNpdHk6IDAuMDQ7XHJcbiAgICB9XHJcblxyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDE0MDBweCkge1xyXG4gICAgICAgIHdpZHRoOiAxMjBweDtcclxuICAgICAgICBoZWlnaHQ6IDEyMHB4O1xyXG4gICAgICAgIG9wYWNpdHk6IDAuMDY7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qIEdyaWQgY29udGFpbmVyIHdpdGggaW1wcm92ZWQgc3R5bGluZyAqL1xyXG4uZ3JvdXAtc2VsZWN0LWdyaWQtY29udGFpbmVyIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHotaW5kZXg6IDE7XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxuICAgIHBhZGRpbmc6IDAgMXJlbTtcclxuXHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTI4MHB4KSB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAxMjgwcHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qIFJlc3BvbnNpdmUgQ1NTIEdyaWQgZm9yIHRpbGVzICovXHJcbi5ncm91cC10aWxlcy1ncmlkIHtcclxuICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpO1xyXG4gICAgZ2FwOiAwLjc1cmVtO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcblxyXG4gICAgLyogNCBjb2x1bW5zIG9uIHNtYWxsIHNjcmVlbnMgKi9cclxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkge1xyXG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIDFmcik7XHJcbiAgICB9XHJcblxyXG4gICAgLyogNiBjb2x1bW5zIG9uIG1lZGl1bSBzY3JlZW5zICovXHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcclxuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg2LCAxZnIpO1xyXG4gICAgICAgIGdhcDogMXJlbTtcclxuICAgIH1cclxuXHJcbiAgICAvKiA4IGNvbHVtbnMgb24gbGFyZ2Ugc2NyZWVucyAqL1xyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XHJcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoOCwgMWZyKTtcclxuICAgIH1cclxuXHJcbiAgICAvKiA4IGNvbHVtbnMgb24gZXh0cmEgbGFyZ2Ugc2NyZWVucyAqL1xyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xyXG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDgsIDFmcik7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qIEdyb3VwIHRpbGUgYmFzZSBzdHlsZXMgd2l0aCBlbmhhbmNlZCBlZmZlY3RzICovXHJcbi5ncm91cC10aWxlIHtcclxuICAgIGFzcGVjdC1yYXRpbzogMSAvIDE7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHRyYW5zaXRpb246IGFsbCAwLjM1cyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xyXG4gICAgY29sb3I6IHdoaXRlO1xyXG4gICAgYm94LXNoYWRvdzogMCA0cHggMTJweCB2YXIoLS1zaGFkb3ctbWQpO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcblxyXG4gICAgLyogU3VidGxlIHNoaW5lIGVmZmVjdCAqL1xyXG4gICAgJjo6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSkgMCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkgNjAlKTtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zNXMgZWFzZTtcclxuICAgIH1cclxuXHJcbiAgICAvKiBHbG93IGVmZmVjdCBvbiBob3ZlciAqL1xyXG4gICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IC01MCU7XHJcbiAgICAgICAgbGVmdDogLTUwJTtcclxuICAgICAgICB3aWR0aDogMjAwJTtcclxuICAgICAgICBoZWlnaHQ6IDIwMCU7XHJcbiAgICAgICAgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpIDAlLCB0cmFuc3BhcmVudCA3MCUpO1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjM1cyBlYXNlO1xyXG4gICAgfVxyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNnB4KSBzY2FsZSgxLjAyKTtcclxuICAgICAgICBib3gtc2hhZG93OiAwIDEycHggMzJweCB2YXIoLS1zaGFkb3ctM3hsKTtcclxuXHJcbiAgICAgICAgJjo6YmVmb3JlLFxyXG4gICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJjphY3RpdmUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtM3B4KSBzY2FsZSgxLjAxKTtcclxuICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjFzO1xyXG4gICAgfVxyXG5cclxuICAgIC8qIEZvY3VzIHN0YXRlIGZvciBhY2Nlc3NpYmlsaXR5ICovXHJcbiAgICAmOmZvY3VzLXZpc2libGUge1xyXG4gICAgICAgIG91dGxpbmU6IDNweCBzb2xpZCB2YXIoLS1mb2N1cy1yaW5nLWJyYW5kKTtcclxuICAgICAgICBvdXRsaW5lLW9mZnNldDogMnB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4vKiBHcm91cCB0aWxlIGljb24gY29udGFpbmVyIChmYWxsYmFjayB3aGVuIG5vIGltYWdlKSAqL1xyXG4uZ3JvdXAtdGlsZS1pY29uIHtcclxuICAgIHdpZHRoOiAzNnB4O1xyXG4gICAgaGVpZ2h0OiAzNnB4O1xyXG4gICAgYm94LXNoYWRvdzogMCAycHggNnB4IHZhcigtLXNoYWRvdy1zbSk7XHJcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlO1xyXG5cclxuICAgIC5ncm91cC10aWxlOmhvdmVyICYge1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wOCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyogUmVzcG9uc2l2ZSBzaXppbmcgKi9cclxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xyXG4gICAgICAgIHdpZHRoOiA0MHB4O1xyXG4gICAgICAgIGhlaWdodDogNDBweDtcclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcclxuICAgICAgICB3aWR0aDogNDRweDtcclxuICAgICAgICBoZWlnaHQ6IDQ0cHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qIEZhbGxiYWNrIGljb24gaW5zaWRlIGNpcmNsZSAqL1xyXG4uZ3JvdXAtdGlsZS1pY29uLWZhbGxiYWNrIHtcclxuICAgIGZvbnQtc2l6ZTogJGZzLWJhc2U7XHJcblxyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAkZnMtYmFzZTtcclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcclxuICAgICAgICBmb250LXNpemU6ICRmcy1tZDtcclxuICAgIH1cclxufVxyXG5cclxuLyogRGlyZWN0IGltYWdlIGRpc3BsYXkgb24gdGlsZSAqL1xyXG4uZ3JvdXAtdGlsZS1pbWFnZSB7XHJcbiAgICBtYXgtd2lkdGg6IDM2cHg7XHJcbiAgICBtYXgtaGVpZ2h0OiAzNnB4O1xyXG4gICAgb2JqZWN0LWZpdDogY29udGFpbjtcclxuICAgIGZpbHRlcjogZHJvcC1zaGFkb3coMCAycHggNHB4IHZhcigtLXNoYWRvdy1tZCkpO1xyXG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZTtcclxuXHJcbiAgICAuZ3JvdXAtdGlsZTpob3ZlciAmIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDgpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qIFJlc3BvbnNpdmUgc2l6aW5nICovXHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDQwcHg7XHJcbiAgICAgICAgbWF4LWhlaWdodDogNDBweDtcclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDQ0cHg7XHJcbiAgICAgICAgbWF4LWhlaWdodDogNDRweDtcclxuICAgIH1cclxufVxyXG5cclxuLyogR3JvdXAgdGlsZSBuYW1lIHdpdGggYmV0dGVyIHR5cG9ncmFwaHkgKi9cclxuLmdyb3VwLXRpbGUtbmFtZSB7XHJcbiAgICBmb250LXNpemU6ICRmcy0zeHM7XHJcbiAgICBsZXR0ZXItc3BhY2luZzogMC4zcHg7XHJcbiAgICB0ZXh0LXNoYWRvdzogMCAxcHggM3B4IHZhcigtLXNoYWRvdy1sZyk7XHJcbiAgICBsaW5lLWhlaWdodDogJGxoLXRpZ2h0O1xyXG5cclxuICAgIC8qIFJlc3BvbnNpdmUgc2l6aW5nICovXHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcclxuICAgICAgICBmb250LXNpemU6ICRmcy0yeHM7XHJcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMzVweDtcclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcclxuICAgICAgICBmb250LXNpemU6ICRmcy0yeHM7XHJcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuNHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBCYWNrZ3JvdW5kIGNvbG9yIGNsYXNzZXMgYW5kIGZhbGxiYWNrIGljb24gY29sb3JzIHVzaW5nIENTUyB2YXJpYWJsZXNcclxuICAgTm90ZTogXCJvcmFuZ2VcIiBpbnRlbnRpb25hbGx5IHVzZXMgc2FtZSBjb2xvciBhcyBcImNvcmFsXCIgKCNFODkyN0MpXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKiBDb3JhbCAqL1xyXG4uYmctY29yYWwsIC5CZ19jb3JhbCB7IGJhY2tncm91bmQtY29sb3I6IHZhcigtLWdyb3VwLWNvcmFsKTsgfVxyXG4uZ3JvdXAtdGlsZS5iZy1jb3JhbCAuZ3JvdXAtdGlsZS1pY29uLWZhbGxiYWNrLFxyXG4uZ3JvdXAtdGlsZS5CZ19jb3JhbCAuZ3JvdXAtdGlsZS1pY29uLWZhbGxiYWNrIHtcclxuICAgIGNvbG9yOiB2YXIoLS1ncm91cC1jb3JhbCk7XHJcbn1cclxuXHJcbi8qIEdyYXkgKi9cclxuLmJnLWdyYXksIC5CZ19ncmF5IHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZ3JvdXAtZ3JheSk7IH1cclxuLmdyb3VwLXRpbGUuYmctZ3JheSAuZ3JvdXAtdGlsZS1pY29uLWZhbGxiYWNrLFxyXG4uZ3JvdXAtdGlsZS5CZ19ncmF5IC5ncm91cC10aWxlLWljb24tZmFsbGJhY2sge1xyXG4gICAgY29sb3I6IHZhcigtLWdyb3VwLWdyYXkpO1xyXG59XHJcblxyXG4vKiBUZWFsICovXHJcbi5iZy10ZWFsLCAuQmdfdGVhbCB7IGJhY2tncm91bmQtY29sb3I6IHZhcigtLWdyb3VwLXRlYWwpOyB9XHJcbi5ncm91cC10aWxlLmJnLXRlYWwgLmdyb3VwLXRpbGUtaWNvbi1mYWxsYmFjayxcclxuLmdyb3VwLXRpbGUuQmdfdGVhbCAuZ3JvdXAtdGlsZS1pY29uLWZhbGxiYWNrIHtcclxuICAgIGNvbG9yOiB2YXIoLS1ncm91cC10ZWFsKTtcclxufVxyXG5cclxuLyogR3JlZW4gKi9cclxuLmJnLWdyZWVuLCAuQmdfZ3JlZW4geyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ncm91cC1ncmVlbik7IH1cclxuLmdyb3VwLXRpbGUuYmctZ3JlZW4gLmdyb3VwLXRpbGUtaWNvbi1mYWxsYmFjayxcclxuLmdyb3VwLXRpbGUuQmdfZ3JlZW4gLmdyb3VwLXRpbGUtaWNvbi1mYWxsYmFjayB7XHJcbiAgICBjb2xvcjogdmFyKC0tZ3JvdXAtZ3JlZW4pO1xyXG59XHJcblxyXG4vKiBCcm93biAqL1xyXG4uYmctYnJvd24sIC5CZ19icm93biB7IGJhY2tncm91bmQtY29sb3I6IHZhcigtLWdyb3VwLWJyb3duKTsgfVxyXG4uZ3JvdXAtdGlsZS5iZy1icm93biAuZ3JvdXAtdGlsZS1pY29uLWZhbGxiYWNrLFxyXG4uZ3JvdXAtdGlsZS5CZ19icm93biAuZ3JvdXAtdGlsZS1pY29uLWZhbGxiYWNrIHtcclxuICAgIGNvbG9yOiB2YXIoLS1ncm91cC1icm93bik7XHJcbn1cclxuXHJcbi8qIE9yYW5nZSAodXNlcyBzYW1lIGNvbG9yIGFzIGNvcmFsKSAqL1xyXG4uYmctb3JhbmdlLCAuQmdfb3JhbmdlIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZ3JvdXAtY29yYWwpOyB9XHJcbi5ncm91cC10aWxlLmJnLW9yYW5nZSAuZ3JvdXAtdGlsZS1pY29uLWZhbGxiYWNrLFxyXG4uZ3JvdXAtdGlsZS5CZ19vcmFuZ2UgLmdyb3VwLXRpbGUtaWNvbi1mYWxsYmFjayB7XHJcbiAgICBjb2xvcjogdmFyKC0tZ3JvdXAtY29yYWwpO1xyXG59XHJcblxyXG4vKiBQaW5rICovXHJcbi5iZy1waW5rLCAuQmdfcGluayB7IGJhY2tncm91bmQtY29sb3I6IHZhcigtLWdyb3VwLXBpbmspOyB9XHJcbi5ncm91cC10aWxlLmJnLXBpbmsgLmdyb3VwLXRpbGUtaWNvbi1mYWxsYmFjayxcclxuLmdyb3VwLXRpbGUuQmdfcGluayAuZ3JvdXAtdGlsZS1pY29uLWZhbGxiYWNrIHtcclxuICAgIGNvbG9yOiB2YXIoLS1ncm91cC1waW5rKTtcclxufVxyXG5cclxuLyogUHVycGxlICovXHJcbi5iZy1wdXJwbGUsIC5CZ19wdXJwbGUgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ncm91cC1wdXJwbGUpOyB9XHJcbi5ncm91cC10aWxlLmJnLXB1cnBsZSAuZ3JvdXAtdGlsZS1pY29uLWZhbGxiYWNrLFxyXG4uZ3JvdXAtdGlsZS5CZ19wdXJwbGUgLmdyb3VwLXRpbGUtaWNvbi1mYWxsYmFjayB7XHJcbiAgICBjb2xvcjogdmFyKC0tZ3JvdXAtcHVycGxlKTtcclxufVxyXG5cclxuLyogQmx1ZSAqL1xyXG4uYmctYmx1ZSwgLkJnX2JsdWUgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ncm91cC1ibHVlKTsgfVxyXG4uZ3JvdXAtdGlsZS5iZy1ibHVlIC5ncm91cC10aWxlLWljb24tZmFsbGJhY2ssXHJcbi5ncm91cC10aWxlLkJnX2JsdWUgLmdyb3VwLXRpbGUtaWNvbi1mYWxsYmFjayB7XHJcbiAgICBjb2xvcjogdmFyKC0tZ3JvdXAtYmx1ZSk7XHJcbn1cclxuXHJcbi8qIE5hdnkgKi9cclxuLmJnLW5hdnksIC5CZ19uYXZ5IHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZ3JvdXAtbmF2eSk7IH1cclxuLmdyb3VwLXRpbGUuYmctbmF2eSAuZ3JvdXAtdGlsZS1pY29uLWZhbGxiYWNrLFxyXG4uZ3JvdXAtdGlsZS5CZ19uYXZ5IC5ncm91cC10aWxlLWljb24tZmFsbGJhY2sge1xyXG4gICAgY29sb3I6IHZhcigtLWdyb3VwLW5hdnkpO1xyXG59XHJcblxyXG4vKiBZZWxsb3cgKi9cclxuLmJnLXllbGxvdywgLkJnX3llbGxvdyB7IGJhY2tncm91bmQtY29sb3I6IHZhcigtLWdyb3VwLXllbGxvdyk7IH1cclxuLmdyb3VwLXRpbGUuYmcteWVsbG93IC5ncm91cC10aWxlLWljb24tZmFsbGJhY2ssXHJcbi5ncm91cC10aWxlLkJnX3llbGxvdyAuZ3JvdXAtdGlsZS1pY29uLWZhbGxiYWNrIHtcclxuICAgIGNvbG9yOiB2YXIoLS1ncm91cC15ZWxsb3cpO1xyXG59XHJcblxyXG4vKiBSZWQgKi9cclxuLmJnLXJlZCwgLkJnX3JlZCB7IGJhY2tncm91bmQtY29sb3I6IHZhcigtLWdyb3VwLXJlZCk7IH1cclxuLmdyb3VwLXRpbGUuYmctcmVkIC5ncm91cC10aWxlLWljb24tZmFsbGJhY2ssXHJcbi5ncm91cC10aWxlLkJnX3JlZCAuZ3JvdXAtdGlsZS1pY29uLWZhbGxiYWNrIHtcclxuICAgIGNvbG9yOiB2YXIoLS1ncm91cC1yZWQpO1xyXG59XHJcbiIsIkB1c2UgXCJ0eXBvZ3JhcGh5LXRva2Vuc1wiIGFzICo7XHJcbkB1c2UgXCJjb21wb25lbnRzL19iYXNlL3V0aWxpdGllc1wiIGFzICo7XHJcblxyXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gICBTY3JlZW5zaG90IFZpZXdlciAtIEZ1bGwtZmVhdHVyZWQgb3ZlcmxheSB3aXRoIHpvb20sIHBhbiwgYW5kIGhpc3RvcnlcclxuICAgQm9vdHN0cmFwLWZpcnN0OiBsYXlvdXQgdXRpbGl0aWVzIGluIHJhem9yIG1hcmt1cCwgY3VzdG9tLW9ubHkgU0NTUyBoZXJlLlxyXG4gICBSZXNwb25zaXZlIHRpZXJzOiBtb2JpbGUgcG9ydHJhaXQgLyBsYW5kc2NhcGUgcGhvbmUgLyBkZXNrdG9wIC8gbGFyZ2UgZGVza3RvcFxyXG4gICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG5cclxuLyog4pSA4pSAIE1lZGlhIHF1ZXJ5IHZhcmlhYmxlcyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIAgKi9cclxuXHJcbiR2aWV3ZXItZGVza3RvcDogXCIobWluLXdpZHRoOiA3NjhweCkgYW5kIChtaW4taGVpZ2h0OiA1MDBweClcIjtcclxuJHZpZXdlci1sYXJnZTogXCIobWluLXdpZHRoOiAxMjAwcHgpXCI7XHJcbiR2aWV3ZXItbGFuZHNjYXBlLXBob25lOiBcIihtYXgtd2lkdGg6IDc2N3B4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpXCI7XHJcblxyXG4vKiDilIDilIAgQW5pbWF0aW9ucyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIAgKi9cclxuXHJcbkBrZXlmcmFtZXMgdmlld2VyLWZhZGUtaW4ge1xyXG4gICAgZnJvbSB7IG9wYWNpdHk6IDA7IH1cclxuICAgIHRvICAgeyBvcGFjaXR5OiAxOyB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgdmlld2VyLXNsaWRlLXVwIHtcclxuICAgIGZyb20geyBvcGFjaXR5OiAwOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTJweCk7IH1cclxuICAgIHRvICAgeyBvcGFjaXR5OiAxOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cclxufVxyXG5cclxuLyog4pSA4pSAIE92ZXJsYXkg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAICovXHJcblxyXG4uc2NyZWVuc2hvdC12aWV3ZXItb3ZlcmxheSB7XHJcbiAgICBpbnNldDogMDtcclxuICAgIHotaW5kZXg6IDk5OTk7XHJcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuODUpO1xyXG4gICAgb3V0bGluZTogbm9uZTtcclxuICAgIGFuaW1hdGlvbjogdmlld2VyLWZhZGUtaW4gMC4ycyBlYXNlO1xyXG5cclxuICAgIEBtZWRpYSAjeyR2aWV3ZXItZGVza3RvcH0ge1xyXG4gICAgICAgIHBhZGRpbmc6IDFyZW07XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qIOKUgOKUgCBNb2RhbCBjb250YWluZXIg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAICovXHJcblxyXG4uc2NyZWVuc2hvdC12aWV3ZXItbW9kYWwge1xyXG4gICAgd2lkdGg6IDEwMHZ3O1xyXG4gICAgaGVpZ2h0OiAxMDB2aDtcclxuICAgIGhlaWdodDogMTAwc3ZoOyAvKiBzdGFibGUgZm9yIGZpeGVkIG92ZXJsYXlzIOKAlCBubyBsYXlvdXQgc2hpZnQgd2hlbiBicm93c2VyIGNocm9tZSB0b2dnbGVzICovXHJcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy13aGl0ZSk7XHJcbiAgICBib3gtc2hhZG93OiAwIDhweCAzMnB4IHZhcigtLXNoYWRvdy1kYXJrKTtcclxuICAgIGFuaW1hdGlvbjogdmlld2VyLXNsaWRlLXVwIDAuMjVzIGVhc2U7XHJcblxyXG4gICAgQG1lZGlhICN7JHZpZXdlci1kZXNrdG9wfSB7XHJcbiAgICAgICAgd2lkdGg6IDkydnc7XHJcbiAgICAgICAgaGVpZ2h0OiA5MHZoO1xyXG4gICAgICAgIG1heC13aWR0aDogMTgwMHB4O1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEgI3skdmlld2VyLWxhcmdlfSB7XHJcbiAgICAgICAgaGVpZ2h0OiA5MnZoO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qIOKUgOKUgCBIZWFkZXIg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAICovXHJcblxyXG4uc2NyZWVuc2hvdC12aWV3ZXItaGVhZGVyIHtcclxuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLWdyYWRpZW50LXN0YXJ0KSwgdmFyKC0tZ3JhZGllbnQtZW5kKSk7XHJcbiAgICBwYWRkaW5nLXRvcDogMC4yNXJlbTtcclxuICAgIHBhZGRpbmctYm90dG9tOiAwLjI1cmVtO1xyXG5cclxuICAgIEBtZWRpYSAjeyR2aWV3ZXItZGVza3RvcH0ge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAwLjVyZW07XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDAuNXJlbTtcclxuICAgIH1cclxuXHJcbiAgICAvKiBCdXR0b24gZ3JvdXBzIOKAlCBjbHVzdGVyZWQgYWN0aW9ucyB3aXRoIGEgdGhpbiB2ZXJ0aWNhbCBzZXBhcmF0b3IgYmV0d2VlblxyXG4gICAgICAgZWFjaCBncm91cC4gR2xhc3Mtb24tY29yYWwgc3R5bGU6IHRyYW5zcGFyZW50IGJ1dHRvbnMgdGhhdCBwaWNrIHVwIGFcclxuICAgICAgIHN1YnRsZSB3aGl0ZSB3YXNoIG9uIGhvdmVyLCBzb2xpZCB3aGl0ZSBwaWxsIHdpdGggY29yYWwgaWNvbiB3aGVuIGFjdGl2ZS4gKi9cclxuICAgIC52aWV3ZXItaC1ncm91cCB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBnYXA6IDAuMjVyZW07XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgfVxyXG5cclxuICAgIC52aWV3ZXItaC1ncm91cCArIC52aWV3ZXItaC1ncm91cCxcclxuICAgIC52aWV3ZXItaC1ncm91cCArIC52aWV3ZXItaC1idG46bm90KC52aWV3ZXItaC1idG4tLWNsb3NlKSxcclxuICAgIC52aWV3ZXItaC1idG4gKyAudmlld2VyLWgtZ3JvdXAge1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjg3NXJlbTtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuODc1cmVtO1xyXG5cclxuICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgIHRvcDogNnB4O1xyXG4gICAgICAgICAgICBib3R0b206IDZweDtcclxuICAgICAgICAgICAgd2lkdGg6IDFweDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI4KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyogUGlsbC1zaGFwZWQgaGVhZGVyIGJ1dHRvbi4gU2l6ZWQgc28gYSByb3cgb2YgaWNvbi1vbmx5IHBpbGxzIGRvZXNuJ3RcclxuICAgICAgIGNyb3dkIHRoZSBncmFkaWVudCBoZWFkZXI7IHBhZGRpbmcgaXMgZ2VuZXJvdXMgZW5vdWdoIGZvciBhbiBvcHRpb25hbFxyXG4gICAgICAgbGFiZWwgbGF0ZXIgKGltcHJlc3Npb24ncyBcImNvbWZvcnRhYmxlXCIgZGVuc2l0eSkuICovXHJcbiAgICAudmlld2VyLWgtYnRuIHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGdhcDogMC4zNXJlbTtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgbWluLXdpZHRoOiAyLjI1cmVtO1xyXG4gICAgICAgIGhlaWdodDogMi4yNXJlbTtcclxuICAgICAgICBwYWRkaW5nOiAwIDAuNjI1cmVtO1xyXG4gICAgICAgIGJvcmRlcjogMDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcclxuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgICAgICBjb2xvcjogdmFyKC0tdGV4dC13aGl0ZSk7XHJcbiAgICAgICAgZm9udC1zaXplOiAwLjg1cmVtO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjE4cyBlYXNlLCBjb2xvciAwLjE4cyBlYXNlLCBib3gtc2hhZG93IDAuMThzIGVhc2U7XHJcblxyXG4gICAgICAgICY6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTgpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJltkYXRhLWFjdGl2ZT1cInRydWVcIl0ge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy13aGl0ZSk7XHJcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1ncmFkaWVudC1zdGFydCk7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMnB4IDAgcmdiYSgwLCAwLCAwLCAwLjA2KSwgMCA0cHggMTRweCAtNHB4IHJnYmEoMCwgMCwgMCwgMC4xOCk7XHJcblxyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWJnLXdoaXRlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjpkaXNhYmxlZCB7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuNTtcclxuICAgICAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8qIFZhcmlhbnQ6IExJVkUgYWN0aXZlIHR1cm5zIHRoZSBpY29uIHJlY29yZGluZy1yZWQgaW5zdGVhZCBvZiBjb3JhbCAqL1xyXG4gICAgICAgICZbZGF0YS12YXJpYW50PVwibGl2ZVwiXVtkYXRhLWFjdGl2ZT1cInRydWVcIl0ge1xyXG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tc3RhdHVzLXdhcm5pbmctcmVkKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8qIFZhcmlhbnQ6IGNsb3NlIGdldHMgYSByZWQgd2FzaCBvbiBob3ZlciB0byB0ZWxlZ3JhcGggXCJleGl0XCIgKi9cclxuICAgICAgICAmW2RhdGEtdmFyaWFudD1cImNsb3NlXCJdOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyMTIsIDYzLCA2MywgMC4xMik7XHJcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1zdGF0dXMtd2FybmluZy1yZWQpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnZpZXdlci1wcm9maWxlLWF2YXRhciB7XHJcbiAgICB3aWR0aDogMjhweDtcclxuICAgIGhlaWdodDogMjhweDtcclxuXHJcbiAgICBAbWVkaWEgI3skdmlld2VyLWRlc2t0b3B9IHtcclxuICAgICAgICB3aWR0aDogMzJweDtcclxuICAgICAgICBoZWlnaHQ6IDMycHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qIENvbG9yLWNvZGVkIGxhdGVuY3kgYmFkZ2UgaW4gbWV0YWRhdGEgYmFyLiBTdGF0ZSB0aHJlc2hvbGRzIHNldCBpbiB0aGVcclxuICAgcmF6b3IgY29kZS1iZWhpbmQgKEdldExhdGVuY3lTdGF0ZSkuIFNvZnQgdGludGVkIGJhY2tncm91bmQgKyBtYXRjaGluZyBpbmtcclxuICAgc28gdGhlIHZhbHVlIHBvcHMgd2l0aG91dCBzY3JlYW1pbmcuICovXHJcbi52aWV3ZXItbGF0ZW5jeS1iYWRnZSB7XHJcbiAgICBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zO1xyXG4gICAgZm9udC1zaXplOiAwLjc4ZW07XHJcbiAgICBwYWRkaW5nOiAwLjE1ZW0gMC42ZW07XHJcbiAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1zaWRlKTtcclxuICAgIGJhY2tncm91bmQ6IHZhcigtLWJnLXdoaXRlKTtcclxuICAgIGNvbG9yOiB2YXIoLS10ZXh0LXNlY29uZGFyeSk7XHJcbiAgICBsaW5lLWhlaWdodDogMS40O1xyXG5cclxuICAgICZbZGF0YS1zdGF0ZT1cImdvb2RcIl0ge1xyXG4gICAgICAgIGNvbG9yOiAjMUI1RTJDO1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICNERkYzRTQ7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgIH1cclxuXHJcbiAgICAmW2RhdGEtc3RhdGU9XCJ3YXJuXCJdIHtcclxuICAgICAgICBjb2xvcjogdmFyKC0tc3RhdHVzLXdhcm5pbmctb3JhbmdlKTtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAjRkJFREQ0O1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgJltkYXRhLXN0YXRlPVwiYmFkXCJdIHtcclxuICAgICAgICBjb2xvcjogdmFyKC0tc3RhdHVzLXdhcm5pbmctcmVkKTtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAjRkNFM0U2O1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qIEZsb2F0aW5nIExJVkUgaW5kaWNhdG9yIG9uIHRoZSBib2R5IGR1cmluZyBsaXZlLXZpZXcuIEhpZ2gtY29udHJhc3QgcmVkIHBpbGxcclxuICAgY2VudGVyZWQgYXQgdGhlIHRvcCDigJQgc2FtZSB2aXN1YWwgbGFuZ3VhZ2UgYXMgYnJvYWRjYXN0IHRvb2xzLCBzbyB0aGUgdGVhY2hlclxyXG4gICBpbnN0YW50bHkga25vd3MgdGhleSdyZSBpbiBhIHNlc3Npb24gZXZlbiB3aGVuIHNjYW5uaW5nIGEgdGlsZWQgdmlldy4gKi9cclxuLnZpZXdlci1saXZlLWJhZGdlIHtcclxuICAgIG1hcmdpbi10b3A6IDE2cHg7XHJcbiAgICB6LWluZGV4OiAyO1xyXG4gICAgcGFkZGluZzogNXB4IDEycHggNXB4IDEwcHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcclxuICAgIGJhY2tncm91bmQ6IHZhcigtLXN0YXR1cy13YXJuaW5nLXJlZCk7XHJcbiAgICBjb2xvcjogdmFyKC0tdGV4dC13aGl0ZSk7XHJcbiAgICBmb250LXNpemU6IDAuNzJyZW07XHJcbiAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDhlbTtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICBib3gtc2hhZG93OiAwIDRweCAxNHB4IHJnYmEoMjM5LCA2OCwgNjgsIDAuNDUpO1xyXG59XHJcblxyXG4vKiBDb21wYWN0IGlubGluZSB2YXJpYW50IHVzZWQgaW4gdGhlIGxpdmUtbW9kZSBmb290ZXIgbmV4dCB0byB0aGUgc3RyZWFtaW5nXHJcbiAgIHRleHQuIFNtYWxsZXIgcGFkZGluZywgbm8gc2hhZG93LCBubyBmbG9hdCBwb3NpdGlvbmluZy4gKi9cclxuLnZpZXdlci1saXZlLWJhZGdlLS1pbmxpbmUge1xyXG4gICAgbWFyZ2luLXRvcDogMDtcclxuICAgIHBhZGRpbmc6IDJweCA4cHggMnB4IDZweDtcclxuICAgIGZvbnQtc2l6ZTogMC42NnJlbTtcclxuICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbn1cclxuXHJcbi52aWV3ZXItbGl2ZS1wdWxzZSB7XHJcbiAgICB3aWR0aDogN3B4O1xyXG4gICAgaGVpZ2h0OiA3cHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS10ZXh0LXdoaXRlKTtcclxuICAgIGFuaW1hdGlvbjogdmlld2VyLWxpdmUtcHVsc2UgMS4ycyBlYXNlLWluLW91dCBpbmZpbml0ZTtcclxufVxyXG5cclxuQGtleWZyYW1lcyB2aWV3ZXItbGl2ZS1wdWxzZSB7XHJcbiAgICAwJSwgMTAwJSB7IG9wYWNpdHk6IDE7IHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cclxuICAgIDUwJSB7IG9wYWNpdHk6IDAuNDsgdHJhbnNmb3JtOiBzY2FsZSgwLjcpOyB9XHJcbn1cclxuXHJcbi8qIElubGluZSBjb3VudGRvd24gbmV4dCB0byB0aGUgY2FtZXJhIGljb24uIHRhYnVsYXItbnVtcyArIG1pbi13aWR0aCBrZWVwIHRoZVxyXG4gICBidXR0b24gd2lkdGggdmlzdWFsbHkgc3RhYmxlIGFzIHRoZSB2YWx1ZSBzdGVwcyBzaW5nbGXihpRkb3VibGUgZGlnaXQuIEluaGVyaXRzXHJcbiAgIGNvbG9yIGZyb20gdGhlIHBhcmVudCBidXR0b24gc28gaXQgcmVhZHMgd2hpdGUgb24gdGhlIGNvcmFsIGlkbGUgc3RhdGUgYW5kXHJcbiAgIGNvcmFsIG9uIHRoZSB3aGl0ZSBhY3RpdmUgc3RhdGUuICovXHJcbi52aWV3ZXItY2FtZXJhLWNvdW50IHtcclxuICAgIGZvbnQtc2l6ZTogMC43OGVtO1xyXG4gICAgZm9udC13ZWlnaHQ6ICRmdy1zZW1pYm9sZDtcclxuICAgIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7XHJcbiAgICBtaW4td2lkdGg6IDEuMjVlbTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG59XHJcblxyXG4vKiDilIDilIAgUmVzcG9uc2l2ZSB2aXNpYmlsaXR5IGhlbHBlcnMgKHdpZHRoICsgaGVpZ2h0IGF3YXJlKSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIAgKi9cclxuLyogQm9vdHN0cmFwIGQtbWQtKiBpcyB3aWR0aC1vbmx5OyB0aGVzZSByZXF1aXJlIG1pbi1oZWlnaHQ6IDUwMHB4IHRvbyAgICAgICAgICovXHJcblxyXG4uc2NyZWVuc2hvdC12aWV3ZXItLWRlc2t0b3Atb25seSB7XHJcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcblxyXG4gICAgQG1lZGlhICN7JHZpZXdlci1kZXNrdG9wfSB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXggIWltcG9ydGFudDtcclxuICAgIH1cclxufVxyXG5cclxuLnNjcmVlbnNob3Qtdmlld2VyLS1kZXNrdG9wLW9ubHktYmxvY2sge1xyXG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG5cclxuICAgIEBtZWRpYSAjeyR2aWV3ZXItZGVza3RvcH0ge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zY3JlZW5zaG90LXZpZXdlci0tbW9iaWxlLW9ubHkge1xyXG4gICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xyXG5cclxuICAgIEBtZWRpYSAjeyR2aWV3ZXItZGVza3RvcH0ge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxuICAgIH1cclxufVxyXG5cclxuLyog4pSA4pSAIE1vYmlsZSBib3R0b20gYWN0aW9uIGJhciDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIAgKi9cclxuXHJcbi5zY3JlZW5zaG90LXZpZXdlci1ib3R0b20tYmFyIHtcclxuICAgIC5idG4ge1xyXG4gICAgICAgIG1pbi13aWR0aDogMi41cmVtO1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6IDIuNXJlbTtcclxuICAgIH1cclxufVxyXG5cclxuLyog4pSA4pSAIElubGluZSBhY3Rpb24gaW5wdXRzIChsb2NrIC8gbWVzc2FnZSkg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAICovXHJcblxyXG4uc2NyZWVuc2hvdC12aWV3ZXItYWN0aW9uLWlucHV0IHtcclxuICAgIC5mb3JtLWNvbnRyb2wtc20ge1xyXG4gICAgICAgIG1pbi13aWR0aDogMDsgLyogYWxsb3cgc2hyaW5raW5nIG9uIG1vYmlsZSAqL1xyXG4gICAgfVxyXG59XHJcblxyXG4vKiDilIDilIAgVGltZXIgYmFkZ2Ug4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAICovXHJcblxyXG4uc2NyZWVuc2hvdC10aW1lci1iYWRnZSB7XHJcbiAgICBtaW4td2lkdGg6IDEuNWVtO1xyXG4gICAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcclxufVxyXG5cclxuLyog4pSA4pSAIFpvb20gY29udGFpbmVyIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgCAqL1xyXG5cclxuLnNjcmVlbnNob3Qtem9vbS1jb250YWluZXIge1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSh2YXIoLS16b29tLXNjYWxlLCAxKSkgdHJhbnNsYXRlKHZhcigtLXBhbi14LCAwKSwgdmFyKC0tcGFuLXksIDApKTtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XHJcbiAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xyXG59XHJcblxyXG4vKiDilIDilIAgRnVsbHNjcmVlbiBtb2RhbCAoc2VwYXJhdGUgZmVhdHVyZSwga2VwdCBmb3IgYmFja3dhcmQgY29tcGF0KSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIAgKi9cclxuXHJcbi5mdWxsc2NyZWVuLW1vZGFsLWNvbnRhaW5lciB7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgQGluY2x1ZGUgbW9kYWwtY29udGFpbmVyKDkwMHB4KTtcclxuXHJcbiAgICAubW9kYWwtY29udGVudCB7XHJcbiAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcclxuICAgICAgICBwYWRkaW5nOiAxcmVtO1xyXG4gICAgfVxyXG59XHJcblxyXG4vKiDilIDilIAgQ29udGVudCByb3c6IHNjcmVlbnNob3QgKyBvcHRpb25hbCBzaWRlIHBhbmVsIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgCAqL1xyXG5cclxuLnNjcmVlbnNob3Qtdmlld2VyLWNvbnRlbnQge1xyXG4gICAgZmxleDogMSAxIGF1dG87XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyAvKiBtb2JpbGUgZGVmYXVsdDsgb3ZlcnJpZGRlbiB0byByb3cgYnkgZGVza3RvcC9sYW5kc2NhcGUgcXVlcmllcyAqL1xyXG4gICAgbWluLWhlaWdodDogMDtcclxuXHJcbiAgICAvKiBNb2JpbGUgcG9ydHJhaXQ6IHBhbmVsIGJlbG93IHNjcmVlbnNob3QsIGZsZXggcmF0aW9zIGluc3RlYWQgb2YgdmggKi9cclxuICAgICYuaGFzLXBhbmVsIC5zY3JlZW5zaG90LXZpZXdlci1ib2R5IHtcclxuICAgICAgICBmbGV4OiAxIDEgNTUlO1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6IDEyMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIEBtZWRpYSAjeyR2aWV3ZXItZGVza3RvcH0ge1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcblxyXG4gICAgICAgICYuaGFzLXBhbmVsIC5zY3JlZW5zaG90LXZpZXdlci1ib2R5IHtcclxuICAgICAgICAgICAgZmxleDogMSAxIGF1dG87XHJcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qIExhbmRzY2FwZSBwaG9uZXM6IHJvdyBsYXlvdXQgbGlrZSBkZXNrdG9wICovXHJcbiAgICBAbWVkaWEgI3skdmlld2VyLWxhbmRzY2FwZS1waG9uZX0ge1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcblxyXG4gICAgICAgICYuaGFzLXBhbmVsIC5zY3JlZW5zaG90LXZpZXdlci1ib2R5IHtcclxuICAgICAgICAgICAgZmxleDogMCAwIDYwJTtcclxuICAgICAgICAgICAgbWF4LWhlaWdodDogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qIOKUgOKUgCBTY3JlZW5zaG90IGJvZHkg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAICovXHJcblxyXG4uc2NyZWVuc2hvdC12aWV3ZXItYm9keSB7XHJcbiAgICBmbGV4OiAxIDEgYXV0bztcclxuICAgIG1pbi1oZWlnaHQ6IDE1MHB4O1xyXG4gICAgYmFja2dyb3VuZDogIzFhMWEyZTtcclxuICAgIHRvdWNoLWFjdGlvbjogbm9uZTsgLyogUHJldmVudCBicm93c2VyIGZyb20gc3RlYWxpbmcgdG91Y2ggZXZlbnRzIChzd2lwZSwgcGluY2gpICovXHJcblxyXG4gICAgLyogTW9iaWxlOiBuYXYgYXJyb3dzIGFsd2F5cyB2aXNpYmxlICovXHJcbiAgICAuc2NyZWVuc2hvdC1uYXYtYnRuIHtcclxuICAgICAgICBvcGFjaXR5OiAwLjY7XHJcbiAgICB9XHJcblxyXG4gICAgQG1lZGlhICN7JHZpZXdlci1kZXNrdG9wfSB7XHJcbiAgICAgICAgbWluLWhlaWdodDogMzAwcHg7XHJcblxyXG4gICAgICAgIC8qIERlc2t0b3A6IHN1YnRsZSBieSBkZWZhdWx0LCB2aXNpYmxlIG9uIGhvdmVyICovXHJcbiAgICAgICAgLnNjcmVlbnNob3QtbmF2LWJ0biB7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuNDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6aG92ZXIgLnNjcmVlbnNob3QtbmF2LWJ0biB7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuNztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zY3JlZW5zaG90LXZpZXdlci1pbWFnZSB7XHJcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxufVxyXG5cclxuLyogQ3Vyc29yIGNsYXNzZXMgZm9yIHpvb20gaW50ZXJhY3Rpb24gKi9cclxuLmN1cnNvci16b29tLWluICB7IGN1cnNvcjogem9vbS1pbjsgfVxyXG4uY3Vyc29yLXpvb20tb3V0IHsgY3Vyc29yOiB6b29tLW91dDsgfVxyXG5cclxuLyog4pSA4pSAIFpvb20gZG9jayDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcclxuICAgRGlzY292ZXJhYmxlIHpvb20gY29udHJvbHMgYm90dG9tLXJpZ2h0IG9mIHRoZSBib2R5LiBGcm9zdGVkLWdsYXNzIHN1cmZhY2VcclxuICAgc2l0cyBvbiB0b3Agb2YgdGhlIHNjcmVlbnNob3QgY2FudmFzOyB0aGUgJSByZWFkb3V0IHVzZXMgdGFidWxhci1udW1zIHNvXHJcbiAgIHdpZHRoIGlzIHN0YWJsZSB3aGVuIHN0ZXBwaW5nIHRocm91Z2ggem9vbSBsZXZlbHMuXHJcbiAgIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgCAqL1xyXG5cclxuLnZpZXdlci16b29tLWRvY2sge1xyXG4gICAgcmlnaHQ6IDAuNzVyZW07XHJcbiAgICBib3R0b206IDAuNzVyZW07XHJcbiAgICB6LWluZGV4OiAxMDtcclxuICAgIGdhcDogMnB4O1xyXG4gICAgcGFkZGluZzogNHB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcclxuICAgIGJhY2tncm91bmQ6IHJnYmEoMjAsIDIyLCAyNywgMC42NSk7XHJcbiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTJweCk7XHJcbiAgICAtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjogYmx1cigxMnB4KTtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNik7XHJcblxyXG4gICAgJl9fYnRuIHtcclxuICAgICAgICB3aWR0aDogMjhweDtcclxuICAgICAgICBoZWlnaHQ6IDI4cHg7XHJcbiAgICAgICAgYm9yZGVyOiAwO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDtcclxuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgICAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJGZzLXhzO1xyXG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICAgICAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcclxuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2UsIGNvbG9yIDAuMTVzIGVhc2U7XHJcblxyXG4gICAgICAgICY6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDgpO1xyXG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tdGV4dC13aGl0ZSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmRpc2FibGVkIHtcclxuICAgICAgICAgICAgb3BhY2l0eTogMC4zNTtcclxuICAgICAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9fdmFsdWUge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJGZzLTJ4cztcclxuICAgICAgICBmb250LXdlaWdodDogJGZ3LW1lZGl1bTtcclxuICAgICAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjg1KTtcclxuICAgICAgICBtaW4td2lkdGg6IDNyZW07XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7XHJcbiAgICB9XHJcblxyXG4gICAgJl9fc2VwYXJhdG9yIHtcclxuICAgICAgICB3aWR0aDogMXB4O1xyXG4gICAgICAgIGhlaWdodDogMTZweDtcclxuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XHJcbiAgICAgICAgbWFyZ2luOiAwIDRweDtcclxuICAgIH1cclxufVxyXG5cclxuLyog4pSA4pSAIE5hdmlnYXRpb24gYXJyb3dzIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgCAqL1xyXG5cclxuLnNjcmVlbnNob3QtbmF2LWJ0biB7XHJcbiAgICB0b3A6IDUwJTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgIHotaW5kZXg6IDEwO1xyXG4gICAgd2lkdGg6IDM2cHg7XHJcbiAgICBoZWlnaHQ6IDM2cHg7XHJcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1vdmVybGF5LWRhcmspO1xyXG4gICAgZm9udC1zaXplOiAkZnMtc207XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2UsIHRyYW5zZm9ybSAwLjE1cyBlYXNlLCBvcGFjaXR5IDAuMnMgZWFzZTtcclxuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNzUpO1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHNjYWxlKDEuMDUpO1xyXG4gICAgfVxyXG5cclxuICAgIEBtZWRpYSAjeyR2aWV3ZXItZGVza3RvcH0ge1xyXG4gICAgICAgIHdpZHRoOiA0MHB4O1xyXG4gICAgICAgIGhlaWdodDogNDBweDtcclxuICAgICAgICBmb250LXNpemU6ICRmcy1iYXNlO1xyXG4gICAgfVxyXG59XHJcblxyXG4uc2NyZWVuc2hvdC1uYXYtbGVmdCB7XHJcbiAgICBsZWZ0OiAwLjVyZW07XHJcblxyXG4gICAgQG1lZGlhICN7JHZpZXdlci1kZXNrdG9wfSB7XHJcbiAgICAgICAgbGVmdDogMC43NXJlbTtcclxuICAgIH1cclxufVxyXG5cclxuLnNjcmVlbnNob3QtbmF2LXJpZ2h0IHtcclxuICAgIHJpZ2h0OiAwLjVyZW07XHJcblxyXG4gICAgQG1lZGlhICN7JHZpZXdlci1kZXNrdG9wfSB7XHJcbiAgICAgICAgcmlnaHQ6IDAuNzVyZW07XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qIOKUgOKUgCBNZXRhZGF0YSBiYXIg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAICovXHJcblxyXG4uc2NyZWVuc2hvdC12aWV3ZXItbWV0YWRhdGEge1xyXG4gICAgcGFkZGluZy10b3A6IDAuMTI1cmVtO1xyXG4gICAgcGFkZGluZy1ib3R0b206IDAuMTI1cmVtO1xyXG5cclxuICAgIEBtZWRpYSAjeyR2aWV3ZXItZGVza3RvcH0ge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAwLjVyZW07XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDAuNXJlbTtcclxuICAgIH1cclxufVxyXG5cclxuLnZpZXdlci1mYXZpY29uIHtcclxuICAgIHdpZHRoOiAxNnB4O1xyXG4gICAgaGVpZ2h0OiAxNnB4O1xyXG59XHJcblxyXG4vKiDilIDilIAgVGh1bWJuYWlsIHN0cmlwIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgCAqL1xyXG5cclxuLnNjcmVlbnNob3Qtdmlld2VyLXRodW1ibmFpbHMge1xyXG4gICAgYmFja2dyb3VuZDogdmFyKC0tYnMtZ3JheS01MCwgI2ZhZmFmYSk7XHJcbiAgICBzY3JvbGwtc25hcC10eXBlOiB4IG1hbmRhdG9yeTtcclxuICAgIHNjcm9sbGJhci13aWR0aDogdGhpbjtcclxuICAgIHBhZGRpbmctdG9wOiAwLjEyNXJlbTtcclxuICAgIHBhZGRpbmctYm90dG9tOiAwLjEyNXJlbTtcclxuXHJcbiAgICBAbWVkaWEgI3skdmlld2VyLWRlc2t0b3B9IHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogMC41cmVtO1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwLjVyZW07XHJcbiAgICB9XHJcblxyXG4gICAgLyogSGlkZSBvbiBsYW5kc2NhcGUgcGhvbmVzIHRvIHJlY2xhaW0gdmVydGljYWwgc3BhY2UgKi9cclxuICAgIEBtZWRpYSAjeyR2aWV3ZXItbGFuZHNjYXBlLXBob25lfSB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcclxuICAgICAgICBoZWlnaHQ6IDRweDtcclxuICAgIH1cclxuXHJcbiAgICAmOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tYnMtZ3JheS00MDApO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcclxuICAgIH1cclxufVxyXG5cclxuLnZpZXdlci10aHVtYm5haWwge1xyXG4gICAgd2lkdGg6IDU2cHg7XHJcbiAgICBoZWlnaHQ6IDQycHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgICBib3JkZXI6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIHNjcm9sbC1zbmFwLWFsaWduOiBjZW50ZXI7XHJcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4ycyBlYXNlLCB0cmFuc2Zvcm0gMC4xNXMgZWFzZSwgYm94LXNoYWRvdyAwLjJzIGVhc2U7XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1icy1ncmF5LTQwMCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjAzKTtcclxuICAgIH1cclxuXHJcbiAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1ncmFkaWVudC1zdGFydCk7XHJcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMXB4IHZhcigtLWdyYWRpZW50LXN0YXJ0KTtcclxuICAgIH1cclxuXHJcbiAgICBpbWcge1xyXG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkge1xyXG4gICAgICAgIHdpZHRoOiA2NHB4O1xyXG4gICAgICAgIGhlaWdodDogNDhweDtcclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEgI3skdmlld2VyLWRlc2t0b3B9IHtcclxuICAgICAgICB3aWR0aDogODBweDtcclxuICAgICAgICBoZWlnaHQ6IDYwcHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qIOKUgOKUgCBTaWRlIHBhbmVsIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgCAqL1xyXG5cclxuLyogUGljbzogc21hbGwgYm9yZGVyZWQgaWNvbiBzcXVhcmUgbmV4dCB0byB0aGUgcGFuZWwgdGl0bGUuIEFjdHMgYXMgYSB2aXN1YWxcclxuICAgYW5jaG9yIOKAlCBtaXJyb3JzIHRoZSBpbXByZXNzaW9uJ3MgYC5wYW5lbC1oZWFkIGgzIC5waWNvYC4gKi9cclxuLnZpZXdlci1wYW5lbC1waWNvIHtcclxuICAgIHdpZHRoOiAyMnB4O1xyXG4gICAgaGVpZ2h0OiAyMnB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogNnB4O1xyXG4gICAgYmFja2dyb3VuZDogdmFyKC0tYmctd2hpdGUpO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLXNpZGUpO1xyXG4gICAgZm9udC1zaXplOiAwLjdyZW07XHJcbiAgICBjb2xvcjogdmFyKC0tYnJhbmQtcHJpbWFyeSk7XHJcbn1cclxuXHJcbi8qIFBhbmVsIGhlYWRlciByZWZyZXNoIGJ1dHRvbiDigJQgdmlzaWJsZSBieSBkZWZhdWx0LCBpY29uICsgbGFiZWwsIHN1YnRsZVxyXG4gICBib3JkZXIgKyBsaWdodC1jcmVhbSBob3ZlciB3YXNoIHNvIGl0IHJlYWRzIGNsZWFybHkgYXMgYW4gYWN0aW9uYWJsZSBidXR0b24uICovXHJcbi52aWV3ZXItcGFuZWwtcmVmcmVzaCB7XHJcbiAgICBwYWRkaW5nOiA0cHggMTBweDtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1zaWRlKTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDZweDtcclxuICAgIGJhY2tncm91bmQ6IHZhcigtLWJnLXdoaXRlKTtcclxuICAgIGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZSwgY29sb3IgMC4xNXMgZWFzZSwgYm9yZGVyLWNvbG9yIDAuMTVzIGVhc2U7XHJcblxyXG4gICAgJjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tYmctaG92ZXItY3JlYW0pO1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS10ZXh0LWRhcmspO1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYnJhbmQtYWNjZW50LWxpZ2h0KTtcclxuICAgIH1cclxuXHJcbiAgICAmOmRpc2FibGVkIHtcclxuICAgICAgICBvcGFjaXR5OiAwLjY7XHJcbiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcclxuICAgIH1cclxufVxyXG5cclxuLnNjcmVlbnNob3Qtdmlld2VyLXBhbmVsIHtcclxuICAgIGZsZXg6IDEgMSA0NSU7XHJcbiAgICBtaW4taGVpZ2h0OiAxMDBweDtcclxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1icy1ib3JkZXItY29sb3IsICNkZWUyZTYpO1xyXG5cclxuICAgIEBtZWRpYSAjeyR2aWV3ZXItZGVza3RvcH0ge1xyXG4gICAgICAgIGZsZXg6IDAgMCBjbGFtcCgyODBweCwgMjglLCA0MDBweCk7XHJcbiAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcclxuICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHZhcigtLWJzLWJvcmRlci1jb2xvciwgI2RlZTJlNik7XHJcbiAgICB9XHJcblxyXG4gICAgLyogTGFuZHNjYXBlIHBob25lczogc2lkZSBwYW5lbCAqL1xyXG4gICAgQG1lZGlhICN7JHZpZXdlci1sYW5kc2NhcGUtcGhvbmV9IHtcclxuICAgICAgICBmbGV4OiAwIDAgNDAlO1xyXG4gICAgICAgIGJvcmRlci10b3A6IG5vbmU7XHJcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB2YXIoLS1icy1ib3JkZXItY29sb3IsICNkZWUyZTYpO1xyXG4gICAgfVxyXG59XHJcblxyXG4vKiBDb3VudCBiYWRnZSBuZXh0IHRvIGEgcGFuZWwgdGl0bGUgKGUuZy4gXCJPcGVuIHRhYnMgwrcgNVwiKS4gU29mdCBwaWxsIHdpdGggdGhlXHJcbiAgIG51bWJlciByZW5kZXJlZCBpbiB0YWJ1bGFyLW51bXMgc28gaXQgbmV2ZXIgc2hpZnRzIHdpZHRocy4gKi9cclxuLnZpZXdlci1wYW5lbC1jb3VudCB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtZ3JpZDtcclxuICAgIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBtaW4td2lkdGg6IDEuNGVtO1xyXG4gICAgaGVpZ2h0OiAxLjRlbTtcclxuICAgIHBhZGRpbmc6IDAgMC40ZW07XHJcbiAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcclxuICAgIGJhY2tncm91bmQ6IHZhcigtLWJnLXdoaXRlKTtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1zaWRlKTtcclxuICAgIGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuICAgIGZvbnQtc2l6ZTogMC43MnJlbTtcclxuICAgIGZvbnQtd2VpZ2h0OiAkZnctc2VtaWJvbGQ7XHJcbn1cclxuXHJcbi8qIFRhYiByb3c6IHNvZnQgY3JlYW0gaG92ZXIgYmFja2dyb3VuZCwgYWN0aW9ucyBoaWRkZW4gYnkgZGVmYXVsdCBhbmQgcmV2ZWFsZWRcclxuICAgb24gaG92ZXIvZm9jdXMtd2l0aGluIHNvIHRoZSB0aXRsZSBnZXRzIGZ1bGwgd2lkdGggd2hlbiBhY3Rpb25zIGFyZSBhd2F5LlxyXG4gICBObyBuZWdhdGl2ZSBtYXJnaW4g4oCUIGtlZXBzIHRoZSByb3cgKGFuZCBpdHMgYWN0aW9uIGJ1dHRvbnMpIGNsZWFubHkgaW5zaWRlXHJcbiAgIHRoZSBwYW5lbCdzIHBhZGRpbmcgc28gbm90aGluZyB2aXN1YWxseSBwb2tlcyBvdXRzaWRlIHRoZSBmbHlvdXQuICovXHJcbi50YWItcm93IHtcclxuICAgIHBhZGRpbmc6IDAuNXJlbSAwLjRyZW07XHJcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XHJcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2U7XHJcbn1cclxuXHJcbi50YWItcm93OmhvdmVyLFxyXG4udGFiLXJvdzpmb2N1cy13aXRoaW4ge1xyXG4gICAgYmFja2dyb3VuZDogdmFyKC0tYmctaG92ZXItY3JlYW0pO1xyXG59XHJcblxyXG4udGFiLXJvd19fZmF2aWNvbiB7XHJcbiAgICB3aWR0aDogMThweDtcclxuICAgIGhlaWdodDogMThweDtcclxuICAgIG1hcmdpbi10b3A6IDFweDtcclxuICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICBwbGFjZS1pdGVtczogY2VudGVyO1xyXG4gICAgZmxleC1zaHJpbms6IDA7XHJcblxyXG4gICAgaW1nIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDE2cHg7XHJcbiAgICAgICAgbWF4LWhlaWdodDogMTZweDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi50YWItcm93X19hY3Rpb25zIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgZ2FwOiAycHg7XHJcbn1cclxuXHJcbi50YWItcm93OmhvdmVyIC50YWItcm93X19hY3Rpb25zLFxyXG4udGFiLXJvdzpmb2N1cy13aXRoaW4gLnRhYi1yb3dfX2FjdGlvbnMge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxufVxyXG5cclxuLyogQ29tcGFjdCBpY29uLW9ubHkgYWN0aW9uIGJ1dHRvbiB1c2VkIGluc2lkZSBhIHRhYiByb3cuIFN1YnRsZSBieSBkZWZhdWx0LFxyXG4gICBzbGlnaHRseSBkYXJrZXIgb24gaG92ZXIuIERhbmdlciB2YXJpYW50IHVzZXMgcmVkIG9uIGhvdmVyIGZvciBkZXN0cnVjdGl2ZVxyXG4gICBpbnRlbnQgKGNsb3NlIHRhYikuICovXHJcbi50YWItYWN0aW9uLWJ0biB7XHJcbiAgICB3aWR0aDogMjZweDtcclxuICAgIGhlaWdodDogMjZweDtcclxuICAgIGJvcmRlcjogMDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDZweDtcclxuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgY29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG4gICAgZm9udC1zaXplOiAwLjc4cmVtO1xyXG4gICAgZGlzcGxheTogZ3JpZDtcclxuICAgIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2UsIGNvbG9yIDAuMTVzIGVhc2U7XHJcblxyXG4gICAgJjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tYm9yZGVyLXNpZGUpO1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS10ZXh0LWRhcmspO1xyXG4gICAgfVxyXG5cclxuICAgICY6ZGlzYWJsZWQge1xyXG4gICAgICAgIG9wYWNpdHk6IDAuNDtcclxuICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xyXG4gICAgfVxyXG5cclxuICAgICYtLWRhbmdlcjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogI0ZDRTNFNjtcclxuICAgICAgICBjb2xvcjogdmFyKC0tc3RhdHVzLXdhcm5pbmctcmVkKTtcclxuICAgIH1cclxufVxyXG5cclxuLyogUmV1c2FibGUgcGFuZWwgYnVpbGRpbmcgYmxvY2tzIOKAlCBzZWN0aW9uIGhlYWRlciAoc21hbGwgdXBwZXJjYXNlIGxhYmVsIHdpdGhcclxuICAgaWNvbiksIG1vbm9zcGFjZSBtZXRhZGF0YSB0ZXh0LCBhbmQgVVJMIHRydW5jYXRpb24gc3R5bGluZy4gVXNlZCBhY3Jvc3MgdGhlXHJcbiAgIHRhYnMgLyBoaXN0b3J5IC8gZGlhZ25vc3RpY3MgY29udGVudCBjb21wb25lbnRzIGZvciB2aXN1YWwgY29uc2lzdGVuY3kuICovXHJcbi5wYW5lbC1zZWN0aW9uLWhlYWRlciB7XHJcbiAgICBmb250LXNpemU6ICRmcy0zeHM7XHJcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wOGVtO1xyXG4gICAgcGFkZGluZzogMC4yNXJlbSAwO1xyXG59XHJcblxyXG4ucGFuZWwtbW9ubyB7XHJcbiAgICBmb250LWZhbWlseTogJ0pldEJyYWlucyBNb25vJywgdWktbW9ub3NwYWNlLCBtb25vc3BhY2U7XHJcbiAgICBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zO1xyXG59XHJcblxyXG4ucGFuZWwtdXJsIHtcclxuICAgIGZvbnQtZmFtaWx5OiAnSmV0QnJhaW5zIE1vbm8nLCB1aS1tb25vc3BhY2UsIG1vbm9zcGFjZTtcclxuICAgIGZvbnQtc2l6ZTogJGZzLTJ4cztcclxufVxyXG5cclxuLyogRGlhZ25vc3RpY3Mgc2NvcmUgY2FyZDogY2lyY3VsYXIgU1ZHIHByb2dyZXNzICsgc3VtbWFyeSBsaW5lLlxyXG4gICBDb2xvdXItY29kZWQgcmluZyBzdHJva2UgbWF0Y2hlcyB0aGUgbGF0ZW5jeS1iYWRnZSB0aHJlc2hvbGRzIGVsc2V3aGVyZS4gKi9cclxuLmRpYWctc2NvcmUtY2FyZCB7XHJcbiAgICBwYWRkaW5nOiAwLjg3NXJlbTtcclxuICAgIGJhY2tncm91bmQ6IHZhcigtLWJnLXBhbmVsLWNyZWFtLWFsdCk7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItc2lkZSk7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xyXG59XHJcblxyXG4uZGlhZy1zY29yZS1yaW5nIHtcclxuICAgIHdpZHRoOiA2MHB4O1xyXG4gICAgaGVpZ2h0OiA2MHB4O1xyXG59XHJcblxyXG4uZGlhZy1zY29yZS1yaW5nLWJnIHtcclxuICAgIHN0cm9rZTogdmFyKC0tYm9yZGVyLXNpZGUpO1xyXG59XHJcblxyXG4uZGlhZy1zY29yZS1yaW5nLWZnIHtcclxuICAgIHRyYW5zaXRpb246IHN0cm9rZS1kYXNoYXJyYXkgMC40cyBlYXNlO1xyXG5cclxuICAgICZbZGF0YS1zdGF0ZT1cImdvb2RcIl0geyBzdHJva2U6IHZhcigtLWJyYW5kLXByaW1hcnkpOyB9XHJcbiAgICAmW2RhdGEtc3RhdGU9XCJ3YXJuXCJdIHsgc3Ryb2tlOiB2YXIoLS1zdGF0dXMtd2FybmluZy1vcmFuZ2UpOyB9XHJcbiAgICAmW2RhdGEtc3RhdGU9XCJiYWRcIl0gIHsgc3Ryb2tlOiB2YXIoLS1zdGF0dXMtd2FybmluZy1yZWQpOyB9XHJcbn1cclxuXHJcbi5kaWFnLXNjb3JlLXZhbHVlIHtcclxuICAgIGZvbnQtZmFtaWx5OiAnSmV0QnJhaW5zIE1vbm8nLCB1aS1tb25vc3BhY2UsIG1vbm9zcGFjZTtcclxuICAgIGZvbnQtc2l6ZTogMXJlbTtcclxuICAgIGZvbnQtd2VpZ2h0OiAkZnctc2VtaWJvbGQ7XHJcbn1cclxuXHJcbi8qIFBhbmVsIHNjcm9sbGFibGUgYm9keSDigJQgdGhpbiBzY3JvbGxiYXIgc3R5bGluZyAqL1xyXG4udmlld2VyLXBhbmVsLWJvZHkge1xyXG4gICAgc2Nyb2xsYmFyLXdpZHRoOiB0aGluO1xyXG5cclxuICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcclxuICAgICAgICB3aWR0aDogNHB4O1xyXG4gICAgfVxyXG5cclxuICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1icy1ncmF5LTQwMCk7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4vKiBMYW5kc2NhcGUgcGhvbmU6IGNvbXBhY3QgbWV0YWRhdGEgKi9cclxuQG1lZGlhICN7JHZpZXdlci1sYW5kc2NhcGUtcGhvbmV9IHtcclxuICAgIC5zY3JlZW5zaG90LXZpZXdlci1tZXRhZGF0YSB7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDAuMTI1cmVtO1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwLjEyNXJlbTtcclxuICAgIH1cclxufVxyXG4iLCIvLyBUcm91Ymxlc2hvb3RpbmcgV2l6YXJkIOKAlCBtdWx0aS1zdHVkZW50IGRpYWdub3N0aWNzIGZseW91dCwgc3R5bGVkIHRvIG1hdGNoXHJcbi8vIHRoZSBQb3J0YWwgZGVzaWduIHRva2VucyAoYnJhbmQgY29yYWwvb3JhbmdlLCBjcmVhbSBwYW5lbHMsIHNvZnQgYm9yZGVycykuXHJcbi8vIEV2ZXJ5dGhpbmcgaXMgc2NvcGVkIHVuZGVyIC50cm91Ymxlc2hvb3Rpbmctd2l6YXJkIHNvIHRoZSBkaWFnbm9zdGljLWNhcmRcclxuLy8gcnVsZXMgY2FuJ3QgYmxlZWQgaW50byB0aGUgc2ltcGxlciBEaWFnbm9zdGljc0NvbnRlbnQgdmlldy5cclxuXHJcbi50cm91Ymxlc2hvb3Rpbmctd2l6YXJkIHtcclxuICAgIC53aXphcmQtc3RlcCB7XHJcbiAgICAgICAgcGFkZGluZzogMS4yNXJlbTtcclxuICAgICAgICAvLyBGaWxsIHRoZSBmbHlvdXQgYm9keSBzbyB0aGUgc3R1ZGVudCBncmlkIGNhbiBmbGV4IGludG8gYWxsIGF2YWlsYWJsZVxyXG4gICAgICAgIC8vIHZlcnRpY2FsIHNwYWNlIGluc3RlYWQgb2YgYmVpbmcgdHJhcHBlZCBpbiBhIDQwMHB4IGJveC5cclxuICAgICAgICBmbGV4OiAxIDEgYXV0bztcclxuICAgICAgICBtaW4taGVpZ2h0OiAwO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAvLyBTdGVwIDMgKC5zdHVkZW50LWRpYWdub3N0aWNzLWdyaWQpIGhhcyBubyBpbnRlcm5hbCBzY3JvbGxlciwgc28gdGhlXHJcbiAgICAgICAgLy8gc3RlcCBpdHNlbGYgbXVzdCBzY3JvbGwgd2hlbiBtYW55IGRpYWdub3N0aWNzIGNhcmRzIHJlbmRlci4gU3RlcCAxJ3NcclxuICAgICAgICAvLyAuc3R1ZGVudC1zZWxlY3QtZ3JpZCBpcyBpdHMgb3duIHNjcm9sbCBjb250YWluZXIsIHNvIGl0cyBvdmVyZmxvd1xyXG4gICAgICAgIC8vIGlzIGhhbmRsZWQgaW5zaWRlOyB3aXphcmQtc3RlcCBuZXZlciBvdmVyZmxvd3MgaW4gdGhhdCBjYXNlLlxyXG4gICAgICAgIG92ZXJmbG93LXk6IGF1dG87XHJcbiAgICB9XHJcblxyXG4gICAgLndpemFyZC1sb2FkaW5nIHtcclxuICAgICAgICBwYWRkaW5nOiAzcmVtIDFyZW07XHJcbiAgICB9XHJcblxyXG4gICAgLyogLS0tLS0tLS0tLSBTdGVwIDEg4oCUIHN0dWRlbnQgc2VsZWN0aW9uIGdyaWQgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuXHJcbiAgICAuc3R1ZGVudC1zZWxlY3QtZ3JpZCB7XHJcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heCgxNDBweCwgMWZyKSk7XHJcbiAgICAgICAgZ2FwOiAwLjc1cmVtO1xyXG4gICAgICAgIC8vIEZpbGwgdGhlIHJlbWFpbmluZyBoZWlnaHQgaW5zaWRlIC53aXphcmQtc3RlcCBhbmQgb25seSBzY3JvbGwgd2hlbiB0aGVcclxuICAgICAgICAvLyBzdHVkZW50IGNvdW50IGFjdHVhbGx5IGV4Y2VlZHMgdGhhdCBzcGFjZSDigJQgbm8gaGFyZGNvZGVkIGNhcC5cclxuICAgICAgICBmbGV4OiAxIDEgYXV0bztcclxuICAgICAgICBtaW4taGVpZ2h0OiAwO1xyXG4gICAgICAgIG92ZXJmbG93LXk6IGF1dG87XHJcbiAgICAgICAgcGFkZGluZzogMnB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5zdHVkZW50LXNlbGVjdC1jYXJkIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBwYWRkaW5nOiAxcmVtIDAuNzVyZW07XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMC43NXJlbTtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItc2lkZSk7XHJcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tYmctd2hpdGUpO1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS10ZXh0LXNlY29uZGFyeSk7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBib3gtc2hhZG93OiAwIDFweCAycHggdmFyKC0tc2hhZG93LXhzKTtcclxuXHJcbiAgICAgICAgLndoaXRlX2NoZWNrYm94IHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB0b3A6IDAuNXJlbTtcclxuICAgICAgICAgICAgcmlnaHQ6IDAuNXJlbTtcclxuICAgICAgICAgICAgd2lkdGg6IDE4cHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogMThweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWdyYWRpZW50LXN0YXJ0KTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tYnJhbmQtYWNjZW50LWJnLXN1YnRsZSk7XHJcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1ncmFkaWVudC1lbmQpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5zZWxlY3RlZCB7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tZ3JhZGllbnQtc3RhcnQpO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1ncmFkaWVudC1zdGFydCksIHZhcigtLWdyYWRpZW50LWVuZCkpO1xyXG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tdGV4dC13aGl0ZSk7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgNHB4IDEwcHggcmdiYSh2YXIoLS1icmFuZC1hY2NlbnQtcmdiKSwgMC4yNSk7XHJcblxyXG4gICAgICAgICAgICAuc3R1ZGVudC1uYW1lIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS10ZXh0LXdoaXRlKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8qIElzc3VlIGRvdCDigJQgdG9wLWxlZnQgY29ybmVyIHBpcCwgZHJhd24gb3ZlciB0aGUgY2FyZCAqL1xyXG4gICAgICAgICYuaGFzLWlzc3VlOjphZnRlciB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDogMC40cmVtO1xyXG4gICAgICAgICAgICBsZWZ0OiAwLjRyZW07XHJcbiAgICAgICAgICAgIHdpZHRoOiA4cHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogOHB4O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1icmFuZC1hY2NlbnQtbGlnaHQpO1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJnLXdoaXRlKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuaGFzLWlzc3VlLnNlbGVjdGVkIC5pc3N1ZS1iYWRnZSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS10ZXh0LXdoaXRlKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5zdHVkZW50LWF2YXRhciB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA0OHB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDQ4cHg7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcclxuICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tYm9yZGVyLXNpZGUpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5zZWxlY3RlZCAuc3R1ZGVudC1hdmF0YXIge1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLXRleHQtd2hpdGUpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnN0dWRlbnQtaW5mby10ZXh0IHtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuc3R1ZGVudC1uYW1lIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMjBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5pc3N1ZS1iYWRnZSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1icmFuZC1hY2NlbnQtbGlnaHQpO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDAuNzVyZW07XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKiAtLS0tLS0tLS0tIFN0ZXAgMyDigJQgbXVsdGktc3R1ZGVudCBkaWFnbm9zdGljcyBncmlkIC0tLS0tLS0tLS0tLS0tLSAqL1xyXG5cclxuICAgIC5zdHVkZW50LWRpYWdub3N0aWNzLWdyaWQge1xyXG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maWxsLCBtaW5tYXgoMzIwcHgsIDFmcikpO1xyXG4gICAgICAgIGdhcDogMXJlbTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBzdGFydDtcclxuICAgIH1cclxuXHJcbiAgICAuc3R1ZGVudC1kaWFnLWNhcmQge1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWJnLXdoaXRlKTtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItc2lkZSk7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMC43NXJlbTtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjE1cyBlYXNlLCBib3gtc2hhZG93IDAuMTVzIGVhc2U7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICBtaW4taGVpZ2h0OiAyODBweDtcclxuICAgICAgICBjb2xvcjogdmFyKC0tdGV4dC1zZWNvbmRhcnkpO1xyXG4gICAgICAgIGJveC1zaGFkb3c6IDAgMXB4IDJweCB2YXIoLS1zaGFkb3cteHMpO1xyXG5cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1ncmFkaWVudC1zdGFydCk7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgNHB4IDEycHggcmdiYSh2YXIoLS1icmFuZC1hY2NlbnQtcmdiKSwgMC4xMik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5zdHVkZW50LWRpYWctaGVhZGVyIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgZ2FwOiAwLjc1cmVtO1xyXG4gICAgICAgIHBhZGRpbmc6IDAuODc1cmVtO1xyXG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLWdyYWRpZW50LXN0YXJ0KSwgdmFyKC0tZ3JhZGllbnQtZW5kKSk7XHJcbiAgICAgICAgY29sb3I6IHZhcigtLXRleHQtd2hpdGUpO1xyXG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6IDU4cHg7XHJcblxyXG4gICAgICAgIC5zdHVkZW50LWF2YXRhci1zbSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA0MHB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDQwcHg7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLXRleHQtd2hpdGUpO1xyXG4gICAgICAgICAgICBmbGV4LXNocmluazogMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5mbGV4LWdyb3ctMSB7XHJcbiAgICAgICAgICAgIG1pbi13aWR0aDogMDtcclxuICAgICAgICAgICAgZmxleDogMTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5mdy1zZW1pYm9sZCB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuMTI1cmVtO1xyXG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tdGV4dC13aGl0ZSk7XHJcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgc21hbGwge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDAuNjg3NXJlbTtcclxuICAgICAgICAgICAgY29sb3I6IHZhcigtLXRleHQtd2hpdGUtbXV0ZWQpO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuXHJcbiAgICAgICAgICAgICYudGV4dC1kYW5nZXIsXHJcbiAgICAgICAgICAgICYudGV4dC13YXJuaW5nLFxyXG4gICAgICAgICAgICAmLnRleHQtc3VjY2VzcyB7XHJcbiAgICAgICAgICAgICAgICAvKiBPbiB0aGUgb3JhbmdlIGdyYWRpZW50IGhlYWRlciwgc2VtYW50aWMgc3RhdHVzZXMgcmVhZCBhcyBhXHJcbiAgICAgICAgICAgICAgICAgICB3YXNoZWQtb3V0IHRpbnQgb2Ygd2hpdGUgcmF0aGVyIHRoYW4gdGhlaXIgZGVmYXVsdCBodWUuICovXHJcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tdGV4dC13aGl0ZSkgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuOTU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5idG4tY29weS1zdHVkZW50IHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXRleHQtd2hpdGUtbXV0ZWQpO1xyXG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tdGV4dC13aGl0ZSk7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDAuMjVyZW0gMC41cmVtO1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwLjM3NXJlbTtcclxuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDAuNzVyZW07XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlO1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7XHJcblxyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLW92ZXJsYXktbGlnaHQtbWQsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xOCkpO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS10ZXh0LXdoaXRlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuZGlhZy1zdGF0cyB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgZ2FwOiAwLjVyZW07XHJcbiAgICAgICAgcGFkZGluZzogMC41cmVtO1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWJnLXBhbmVsLWNyZWFtLWFsdCk7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1zaWRlKTtcclxuICAgICAgICBmbGV4LXNocmluazogMDtcclxuXHJcbiAgICAgICAgLmRpYWctc3RhdCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICBnYXA6IDJweDtcclxuICAgICAgICAgICAgbWluLXdpZHRoOiA3MHB4O1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwLjI1cmVtIDAuNXJlbTtcclxuXHJcbiAgICAgICAgICAgIGkge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1icmFuZC1hY2NlbnQtbGlnaHQpO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMnB4O1xyXG5cclxuICAgICAgICAgICAgICAgICYudHJhbnNwb3J0LXAycCB7IGNvbG9yOiAjMTZhMzRhOyB9XHJcbiAgICAgICAgICAgICAgICAmLnRyYW5zcG9ydC1zZXJ2ZXIgeyBjb2xvcjogdmFyKC0tYnJhbmQtYWNjZW50LWRhcmspOyB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS10ZXh0LXByaW1hcnkpO1xyXG4gICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC42ODc1cmVtO1xyXG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBzbWFsbCB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDAuNXJlbTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4zcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmRpYWctY2hlY2tzLWNvbXBhY3Qge1xyXG4gICAgICAgIHBhZGRpbmc6IDAuNXJlbSAwLjc1cmVtO1xyXG4gICAgICAgIGZsZXg6IDE7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cclxuICAgICAgICAuY2hlY2staXRlbS1jb21wYWN0IHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgZ2FwOiAwLjVyZW07XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDAuNXJlbTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07XHJcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS10ZXh0LXNlY29uZGFyeSk7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAuMzc1cmVtO1xyXG4gICAgICAgICAgICBtYXJnaW46IDJweCAwO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1ncmF5LWxpZ2h0KTtcclxuXHJcbiAgICAgICAgICAgICYuc3VjY2VzcyB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDIyLCAxNjMsIDc0LCAwLjA4KTtcclxuICAgICAgICAgICAgICAgIGkgeyBjb2xvcjogIzE2YTM0YTsgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmLmluZm8ge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSg1OSwgMTMwLCAyNDYsIDAuMDgpO1xyXG4gICAgICAgICAgICAgICAgaSB7IGNvbG9yOiAjMjU2M2ViOyB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICYud2FybmluZyB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKHZhcigtLWJyYW5kLWFjY2VudC1yZ2IpLCAwLjEpO1xyXG4gICAgICAgICAgICAgICAgaSB7IGNvbG9yOiB2YXIoLS1icmFuZC1hY2NlbnQtZGFyayk7IH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJi5lcnJvciB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDIyMCwgMzgsIDM4LCAwLjA4KTtcclxuICAgICAgICAgICAgICAgIGkgeyBjb2xvcjogI2RjMjYyNjsgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBpIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XHJcbiAgICAgICAgICAgICAgICBmbGV4LXNocmluazogMDtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxNnB4O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgICAgIGZsZXg6IDE7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAuY2hlY2stZGV0YWlsIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC42ODc1cmVtO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmRpYWctY2F1c2Uge1xyXG4gICAgICAgIHBhZGRpbmc6IDAuNjI1cmVtIDAuNzVyZW07XHJcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSh2YXIoLS1icmFuZC1hY2NlbnQtcmdiKSwgMC4wOCk7XHJcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1zaWRlKTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBzdGFydDtcclxuICAgICAgICBnYXA6IDAuNXJlbTtcclxuICAgICAgICBmb250LXNpemU6IDAuNjg3NXJlbTtcclxuICAgICAgICBjb2xvcjogdmFyKC0tdGV4dC1zZWNvbmRhcnkpO1xyXG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6IDQwcHg7XHJcblxyXG4gICAgICAgIGkge1xyXG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tYnJhbmQtYWNjZW50LWRhcmspO1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAycHg7XHJcbiAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAwO1xyXG4gICAgICAgICAgICB3aWR0aDogMTZweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICBmbGV4OiAxO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS40O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuZGlhZy1hY3Rpb25zIHtcclxuICAgICAgICBwYWRkaW5nOiAwLjYyNXJlbSAwLjc1cmVtO1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWJnLXBhbmVsLWNyZWFtKTtcclxuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLXNpZGUpO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMC42ODc1cmVtO1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS10ZXh0LXNlY29uZGFyeSk7XHJcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogYXV0bztcclxuXHJcbiAgICAgICAgLmZ3LXNlbWlib2xkIHtcclxuICAgICAgICAgICAgY29sb3I6IHZhcigtLXRleHQtcHJpbWFyeSk7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC42ODc1cmVtO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjM3NXJlbTtcclxuXHJcbiAgICAgICAgICAgIGkge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWJyYW5kLWFjY2VudC1saWdodCk7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTZweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdWwge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMS4yNXJlbTtcclxuXHJcbiAgICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuMjVyZW07XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS40O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIkB1c2UgXCJ0eXBvZ3JhcGh5LXRva2Vuc1wiIGFzICo7XHJcbkB1c2UgXCJjb21wb25lbnRzL19iYXNlL3V0aWxpdGllc1wiIGFzICo7XHJcbkB1c2UgXCJTY3JlZW5zaG90Vmlld2VyXCI7XHJcbkB1c2UgXCJUcm91Ymxlc2hvb3RpbmdXaXphcmRcIjtcclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIENMQVNTIE1BTkFHRU1FTlQgLSBTdHVkZW50IGNhcmQgYW5kIGdyaWQgc3R5bGluZ1xyXG4gICBSZXNwb25zaXZlIGRlc2lnbiB1c2luZyBCb290c3RyYXAgYnJlYWtwb2ludHNcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbiRzdGF0ZS10cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZTtcclxuXHJcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgIFN0dWRlbnQgQ2FyZFxyXG4gICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG5cclxuLnN0dWRlbnQtY2FyZCB7XHJcbiAgICBtaW4td2lkdGg6IDA7IC8qIFByZXZlbnQgb3ZlcmZsb3cgaW4gZ3JpZCAqL1xyXG4gICAgcGFkZGluZzogMC41cmVtIDAuMjVyZW07XHJcbiAgICBib3JkZXItcmFkaXVzOiAwLjc1cmVtO1xyXG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjE1cyBlYXNlO1xyXG59XHJcblxyXG4vKiBTZWxlY3RlZCBjYXJkIOKAlCBzdWJ0bGUgYnJhbmQtb3JhbmdlIHRpbnQgbWF0Y2hpbmcgdGhlIGJyYW5kLWFjY2VudC1iZ1xyXG4gICBjb252ZW50aW9uIChzZWUgR2VuZXJhbC5zY3NzKS4gVGFyZ2V0ZWQgdmlhIDpoYXMoKSBzbyB3ZSBkb24ndCBuZWVkIGFcclxuICAgcGFyZW50LWxldmVsIFwic2VsZWN0ZWRcIiBjbGFzcyBvbiB0aGUgbWFya3VwLiAqL1xyXG4uc3R1ZGVudC1jYXJkOmhhcyguc3R1ZGVudC1hdmF0YXItc2VsZWN0YWJsZS5zZWxlY3RlZCkge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnJhbmQtYWNjZW50LWJnLXN1YnRsZSk7XHJcbn1cclxuXHJcbi5zdHVkZW50LWF2YXRhciB7XHJcbiAgICBAaW5jbHVkZSByYXRoby1hdmF0YXItZ3JhZGllbnQoMTIwcHgsIDNweCk7XHJcbiAgICBib3JkZXI6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgIGZsZXgtc2hyaW5rOiAwO1xyXG5cclxuICAgIGltZyB7XHJcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgLyogU21hbGxlciBhdmF0YXIgb24gbW9iaWxlICovXHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogNTc1Ljk4cHgpIHtcclxuICAgICAgICB3aWR0aDogODBweDtcclxuICAgICAgICBoZWlnaHQ6IDgwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSBhbmQgKG1heC13aWR0aDogNzY3Ljk4cHgpIHtcclxuICAgICAgICB3aWR0aDogMTAwcHg7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDBweDtcclxuICAgIH1cclxufVxyXG5cclxuLnN0dWRlbnQtbmFtZSB7XHJcbiAgICBmb250LXNpemU6ICRmcy1iYXNlO1xyXG4gICAgbGluZS1oZWlnaHQ6ICRsaC10aWdodDtcclxuICAgIGNvbG9yOiB2YXIoLS10ZXh0LWRhcmspO1xyXG4gICAgd29yZC1icmVhazogYnJlYWstd29yZDtcclxuXHJcbiAgICAvKiBTbWFsbGVyIHRleHQgb24gbW9iaWxlICovXHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogNTc1Ljk4cHgpIHtcclxuICAgICAgICBmb250LXNpemU6ICRmcy14cztcclxuICAgIH1cclxufVxyXG5cclxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAgU2VsZWN0aW9uIEJhZGdlc1xyXG4gICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG5cclxuLnN0dWRlbnQtYmFkZ2Uge1xyXG4gICAgd2lkdGg6IDI4cHg7XHJcbiAgICBoZWlnaHQ6IDI4cHg7XHJcbiAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcclxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgdmFyKC0tZ3JhZGllbnQtc3RhcnQpLCB2YXIoLS1ncmFkaWVudC1lbmQpKTtcclxuICAgIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWJnLXdoaXRlKTtcclxuXHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgyNSUsIDI1JSk7XHJcbiAgICBmb250LXNpemU6ICRmcy1zbTtcclxuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBlYXNlLCBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2U7XHJcblxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDU3NS45OHB4KSB7XHJcbiAgICAgICAgd2lkdGg6IDIycHg7XHJcbiAgICAgICAgaGVpZ2h0OiAyMnB4O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJGZzLTJ4cztcclxuICAgIH1cclxufVxyXG5cclxuLnN0dWRlbnQtYmFkZ2UtZnVsbHNjcmVlbiB7XHJcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1zdGF0dXMtc3VjY2Vzcyk7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgyNSUsIC0yNSUpO1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlLCBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2UsIHRyYW5zZm9ybSAwLjE1cyBlYXNlO1xyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXN0YXR1cy1zdWNjZXNzLWRhcmspO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDI1JSwgLTI1JSkgc2NhbGUoMS4xKTtcclxuICAgIH1cclxufVxyXG5cclxuLyogU2hvdyBmdWxsc2NyZWVuIGJ1dHRvbiBvbiBjYXJkIGhvdmVyICovXHJcbi5zdHVkZW50LWF2YXRhci1zZWxlY3RhYmxlOmhvdmVyIC5zdHVkZW50LWJhZGdlLWZ1bGxzY3JlZW4ge1xyXG4gICAgb3BhY2l0eTogMTtcclxufVxyXG5cclxuLyogQWx3YXlzIHNob3cgZnVsbHNjcmVlbiBidXR0b24gd2hlbiBtb25pdG9yaW5nIGlzIGFjdGl2ZSAqL1xyXG4uc3R1ZGVudC1hdmF0YXItc2VsZWN0YWJsZS5tb25pdG9yaW5nLWFjdGl2ZSAuc3R1ZGVudC1iYWRnZS1mdWxsc2NyZWVuIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbn1cclxuXHJcbi5zdHVkZW50LWJhZGdlLWRlc2VsZWN0IHtcclxuICAgIGJhY2tncm91bmQ6IHZhcigtLXN0YXR1cy1lcnJvcik7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tc3RhdHVzLWVycm9yLWRhcmspO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDI1JSwgMjUlKSBzY2FsZSgxLjEpO1xyXG4gICAgfVxyXG59XHJcblxyXG4uc3R1ZGVudC1iYWRnZS1zZWxlY3RlZCB7XHJcbiAgICBib3R0b206IDA7XHJcbiAgICByaWdodDogMDtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDE1JSwgMTUlKTtcclxufVxyXG5cclxuLyogUHJvZmlsZSBiYWRnZSAtIGNpcmN1bGFyIHByb2ZpbGUgcGhvdG8gb24gdG9wLWxlZnQgY29ybmVyIG9mIHNjcmVlbnNob3QuXHJcbiAgIFNpemUgKyBvZmZzZXQgYXJlIG1pcnJvcmVkIG9uIC5zdHVkZW50LWJhZGdlLWZ1bGxzY3JlZW4gc28gYm90aCBjb3JuZXJcclxuICAgYmFkZ2VzIGxpbmUgdXAgc3ltbWV0cmljYWxseS4gKi9cclxuLnN0dWRlbnQtYmFkZ2UtcHJvZmlsZSB7XHJcbiAgICB3aWR0aDogMzZweDtcclxuICAgIGhlaWdodDogMzZweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWJnLXdoaXRlKTtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMjUlLCAtMjUlKTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLXdoaXRlKTtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xyXG5cclxuICAgIGltZyB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xyXG4gICAgfVxyXG59XHJcblxyXG4vKiBPZmZsaW5lIHN0YXRlIC0gZGltbWVkIGFwcGVhcmFuY2Ugd2l0aCBzbW9vdGggdHJhbnNpdGlvbiAqL1xyXG4uc3R1ZGVudC1vZmZsaW5lIHtcclxuICAgIG9wYWNpdHk6IDAuMztcclxuICAgIHRyYW5zaXRpb246ICRzdGF0ZS10cmFuc2l0aW9uO1xyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIG9wYWNpdHk6IDAuNDtcclxuICAgIH1cclxufVxyXG5cclxuLyogQ29ubmVjdGluZyBzdGF0ZSAtIGxlc3MgZGltbWVkLCBhY3Rpdml0eSBpbiBwcm9ncmVzcyAqL1xyXG4uc3R1ZGVudC1jb25uZWN0aW5nIHtcclxuICAgIG9wYWNpdHk6IDAuNTU7XHJcbiAgICB0cmFuc2l0aW9uOiAkc3RhdGUtdHJhbnNpdGlvbjtcclxuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICBvcGFjaXR5OiAwLjY1O1xyXG4gICAgfVxyXG59XHJcblxyXG4vKiBDb25uZWN0aW9uIGxvc3QgLyBlcnJvciAtIG1vZGVyYXRlIGRpbW1pbmcgKi9cclxuLnN0dWRlbnQtY29ubmVjdGlvbi1sb3N0IHtcclxuICAgIG9wYWNpdHk6IDAuNDtcclxuICAgIHRyYW5zaXRpb246ICRzdGF0ZS10cmFuc2l0aW9uO1xyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIG9wYWNpdHk6IDAuNTtcclxuICAgIH1cclxufVxyXG5cclxuLyogT2ZmbGluZSBzeW5jLXNjcmVlbiBib3JkZXIgb3ZlcnJpZGUgKG5vIGdyYWRpZW50LCBncmV5IGJvcmRlcikgKi9cclxuLnN0dWRlbnQtc3luYy1zY3JlZW4tb2ZmbGluZSB7XHJcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1icy1ncmF5LTQwMCk7XHJcbn1cclxuXHJcbi8qIFBsYWNlaG9sZGVyIHdpdGggY29ubmVjdGlvbi1zdGF0ZSBpY29uICovXHJcbi5zdHVkZW50LW9mZmxpbmUtcGxhY2Vob2xkZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctaG92ZXItZmFpbnQpO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNnB4O1xyXG4gICAgaSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAkZnMtMnhsO1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS1icy1ncmF5LTUwMCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyogQ29ubmVjdGluZyDigJQgYWNjZW50IGNvbG9yIHdpdGggc3BpbiAqL1xyXG4gICAgJi0tY29ubmVjdGluZyBpIHtcclxuICAgICAgICBjb2xvcjogdmFyKC0tZ3JhZGllbnQtc3RhcnQpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qIFdhaXRpbmcgZm9yIGV4dGVuc2lvbiDigJQgaW5mbyBibHVlICovXHJcbiAgICAmLS13YWl0aW5nIGkge1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS1icy1pbmZvLCAjMGRjYWYwKTtcclxuICAgIH1cclxuXHJcbiAgICAvKiBDb25uZWN0aW9uIGxvc3Qg4oCUIHdhcm5pbmcgeWVsbG93ICovXHJcbiAgICAmLS1sb3N0IGkge1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS1zdGF0dXMtd2FybmluZywgI2ZmYzEwNyk7XHJcbiAgICB9XHJcblxyXG4gICAgLyogRXJyb3Ig4oCUIGRhbmdlciByZWQgKi9cclxuICAgICYtLWVycm9yIGkge1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS1zdGF0dXMtZXJyb3IpO1xyXG4gICAgfVxyXG59XHJcblxyXG4vKiBTcGxpdCBuYW1lOiBsYXN0IG5hbWUgc3R5bGluZyAqL1xyXG4uc3R1ZGVudC1uYW1lLWxhc3Qge1xyXG4gICAgZm9udC1zaXplOiAkZnMteHM7XHJcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcbn1cclxuXHJcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgIFNlbGVjdGFibGUgQXZhdGFyXHJcbiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcblxyXG4uc3R1ZGVudC1hdmF0YXItc2VsZWN0YWJsZSB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMgZWFzZSwgYm94LXNoYWRvdyAwLjJzIGVhc2U7XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgb3BhY2l0eTogMC44NTtcclxuICAgIH1cclxuXHJcbiAgICAmLnNlbGVjdGVkIGltZyB7XHJcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgM3B4IHZhcigtLWdyYWRpZW50LXN0YXJ0KTtcclxuICAgIH1cclxufVxyXG5cclxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAgU3luYyBTY3JlZW4gTW9kZVxyXG4gICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG5cclxuLnN0dWRlbnQtc3luYy1zY3JlZW4ge1xyXG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xyXG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCB2YXIoLS1ncmFkaWVudC1zdGFydCksIHZhcigtLWdyYWRpZW50LWVuZCkpO1xyXG4gICAgcGFkZGluZzogM3B4O1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICBhc3BlY3QtcmF0aW86IDQgLyAzO1xyXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XHJcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuMnMgZWFzZTtcclxuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICBib3gtc2hhZG93OiAwIDRweCAxNnB4IHZhcigtLXNoYWRvdy1sZyk7XHJcbiAgICB9XHJcblxyXG4gICAgaW1nIHtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7XHJcbiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2U7XHJcbiAgICB9XHJcblxyXG4gICAgLyogT3ZlcnJpZGUgY2lyY3VsYXIgYm9yZGVyLXJhZGl1cyBmb3IgcmVjdGFuZ3VsYXIgc3luYy1zY3JlZW4gY2FyZHMgKi9cclxuICAgIC5zdHVkZW50LWF2YXRhci1zZWxlY3RhYmxlIHtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7XHJcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XHJcblxyXG4gICAgICAgIC8qIFNjcmVlbnNob3QvcGxhY2Vob2xkZXIgaW1hZ2VzOiBhYnNvbHV0ZS1wb3NpdGlvbiBzbyB0aGV5IGRvbid0XHJcbiAgICAgICAgICAgc3RyZXRjaCB0aGUgY29udGFpbmVyIGJleW9uZCB0aGUgNDozIGFzcGVjdCByYXRpbyAqL1xyXG4gICAgICAgID4gaW1nIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qIEZ1bGxzY3JlZW4gYnV0dG9uIGluIHN5bmMtc2NyZWVuIG1vZGUg4oCUIG1pcnJvcnMgLnN0dWRlbnQtYmFkZ2UtcHJvZmlsZVxyXG4gICAgICAgKHNpemUgKyBjb3JuZXIgb2Zmc2V0KSBzbyBib3RoIHRvcCBjb3JuZXJzIGxpbmUgdXAgc3ltbWV0cmljYWxseS4gKi9cclxuICAgIC5zdHVkZW50LWJhZGdlLWZ1bGxzY3JlZW4ge1xyXG4gICAgICAgIHdpZHRoOiAzNnB4O1xyXG4gICAgICAgIGhlaWdodDogMzZweDtcclxuICAgICAgICBmb250LXNpemU6ICRmcy1iYXNlO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDI1JSwgLTI1JSk7XHJcbiAgICAgICAgei1pbmRleDogMjtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgfVxyXG5cclxuICAgICY6aG92ZXIgLnN0dWRlbnQtYmFkZ2UtZnVsbHNjcmVlbixcclxuICAgIC5zdHVkZW50LWF2YXRhci1zZWxlY3RhYmxlOmhvdmVyIC5zdHVkZW50LWJhZGdlLWZ1bGxzY3JlZW4ge1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zdHVkZW50LWZ1bGxzY3JlZW4taW1hZ2Uge1xyXG4gICAgbWF4LWhlaWdodDogNzB2aDtcclxuICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XHJcbn1cclxuXHJcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgIEdyaWQgTGF5b3V0IC0gUmVzcG9uc2l2ZSB1c2luZyBCb290c3RyYXAgYnJlYWtwb2ludHNcclxuICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuXHJcbi5jbGFzc21hbmFnZW1lbnQtZ3JpZCB7XHJcbiAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcblxyXG4gICAgLyogTW9iaWxlOiAyIGNvbHVtbnMgKDwgNTc2cHgpICovXHJcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xyXG4gICAgZ2FwOiAxcmVtO1xyXG5cclxuICAgIC8qIFNtYWxsOiAzIGNvbHVtbnMgKD49IDU3NnB4KSAqL1xyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XHJcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTtcclxuICAgICAgICBnYXA6IDEuMjVyZW07XHJcbiAgICB9XHJcblxyXG4gICAgLyogTWVkaXVtOiA0IGNvbHVtbnMgKD49IDc2OHB4KSAqL1xyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XHJcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgMWZyKTtcclxuICAgICAgICBnYXA6IDEuNXJlbTtcclxuICAgIH1cclxuXHJcbiAgICAvKiBMYXJnZTogNSBjb2x1bW5zICg+PSA5OTJweCkgKi9cclxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xyXG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDUsIDFmcik7XHJcbiAgICB9XHJcblxyXG4gICAgLyogRXh0cmEgTGFyZ2U6IDYgY29sdW1ucyAoPj0gMTIwMHB4KSAqL1xyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xyXG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDYsIDFmcik7XHJcbiAgICB9XHJcblxyXG4gICAgLyogWFhMOiA3IGNvbHVtbnMgKD49IDE0MDBweCkgKi9cclxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxNDAwcHgpIHtcclxuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg3LCAxZnIpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qIFVsdHJhd2lkZTogOCBjb2x1bW5zICg+PSAxNzAwcHgpICovXHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTcwMHB4KSB7XHJcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoOCwgMWZyKTtcclxuICAgICAgICBnYXA6IDEuMjVyZW07XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qIFNjcmVlbiBtb2RlIC0gdGlnaHRlciBnYXBzIGZvciB3aWRlciBjYXJkcyAqL1xyXG4uY2xhc3NtYW5hZ2VtZW50LWdyaWQtc2NyZWVucyB7XHJcbiAgICBnYXA6IDAuNXJlbTtcclxuXHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcclxuICAgICAgICBnYXA6IDAuNjI1cmVtO1xyXG4gICAgfVxyXG5cclxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xyXG4gICAgICAgIGdhcDogMC43NXJlbTtcclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XHJcbiAgICAgICAgZ2FwOiAwLjVyZW07XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qIEV4dHJhIGNvbHVtbnMgd2hlbiBzaWRlYmFyIGlzIGNvbGxhcHNlZCB0byB1dGlsaXplIGZyZWVkIGhvcml6b250YWwgc3BhY2UgKi9cclxuLnNpZGViYXItY29sbGFwc2VkIC5jbGFzc21hbmFnZW1lbnQtZ3JpZCB7XHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcclxuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg3LCAxZnIpO1xyXG4gICAgfVxyXG5cclxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcclxuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg4LCAxZnIpO1xyXG4gICAgICAgIC8qIFRpZ2h0ZXIgZ2FwIGF0IDggY29sdW1ucyBzbyAyIGZ1bGwgcm93cyBvZiA4IHN0dWRlbnRzIChpbmNsLiA0OjNcclxuICAgICAgICAgICBzY3JlZW5zaG90ICsgbmFtZSkgZml0IG9uIGEgMTA4MHAgYnJvd3NlciB2aWV3cG9ydCAofjkwMHB4KSB1bmRlclxyXG4gICAgICAgICAgIHRoZSBkYXNoYm9hcmQgKyBmaWx0ZXIgcm93IHdpdGhvdXQgdmVydGljYWwgc2Nyb2xsaW5nLiAqL1xyXG4gICAgICAgIGdhcDogMC43NXJlbTtcclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTQwMHB4KSB7XHJcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoOSwgMWZyKTtcclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTcwMHB4KSB7XHJcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMTAsIDFmcik7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qIE5hbWUgb3ZlcmZsb3cgcHJvdGVjdGlvbiDigJQgd2hlbiB0aWxlcyBnZXQgbmFycm93ICjiiaU3IGNvbHVtbnMgcmVnYXJkbGVzcyBvZlxyXG4gICBzaWRlYmFyIHN0YXRlKSwgbG9uZyBmaXJzdC9sYXN0IG5hbWUgY29tYm9zIGNhbiB3cmFwIHBhc3QgdHdvIGxpbmVzIGFuZCBicmVha1xyXG4gICByb3cgcmh5dGhtLiBDbGFtcCB0byB0d28gbGluZXMgd2l0aCBlbGxpcHNpcyBzbyByb3cgaGVpZ2h0IHN0YXlzIHByZWRpY3RhYmxlLiAqL1xyXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XHJcbiAgICAuc2lkZWJhci1jb2xsYXBzZWQgLmNsYXNzbWFuYWdlbWVudC1ncmlkIC5zdHVkZW50LW5hbWUge1xyXG4gICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xyXG4gICAgICAgIC13ZWJraXQtbGluZS1jbGFtcDogMjtcclxuICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtZWRpYSAobWluLXdpZHRoOiAxNDAwcHgpIHtcclxuICAgIC5jbGFzc21hbmFnZW1lbnQtZ3JpZCAuc3R1ZGVudC1uYW1lIHtcclxuICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcclxuICAgICAgICAtd2Via2l0LWxpbmUtY2xhbXA6IDI7XHJcbiAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgfVxyXG59XHJcblxyXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gICBUYWIgQ29udGVudCAmIENvbnRhaW5lciBBZGp1c3RtZW50c1xyXG4gICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG5cclxuLyogUHJldmVudCBob3Jpem9udGFsIHNjcm9sbGJhciBidXQgYWxsb3cgZHJvcGRvd25zIHRvIHJlbmRlciBvdXRzaWRlIGJvdW5kcyAqL1xyXG4ucmF0aG8tdGFiLWNvbnRlbnQge1xyXG4gICAgb3ZlcmZsb3cteDogY2xpcDtcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxufVxyXG5cclxuLnJhdGhvLXRhYi1wYW5lIHtcclxuICAgIG92ZXJmbG93LXg6IGNsaXA7XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi8qIE9uIHRoZSBDbGFzcyBNYW5hZ2VtZW50IHBhZ2Ugd2Ugd2FudCB0aGUgZG9jdW1lbnQgaXRzZWxmIHRvIHNjcm9sbCBpbnN0ZWFkIG9mXHJcbiAgIGFueSBuZXN0ZWQgY29udGFpbmVyLiBNYWluTGF5b3V0IG5vcm1hbGx5IGNsYW1wcyAucmF0aG8tdGFiLWNvbnRlbnQgdG9cclxuICAgdmlld3BvcnQtaGVpZ2h0IHdpdGggaW50ZXJuYWwgb3ZlcmZsb3cteTsgaGVyZSB3ZSBsZXQgaXQgZ3JvdyB3aXRoIGl0c1xyXG4gICBjb250ZW50IHNvIHRoZSBzdHVkZW50cyBncmlkIHNpbXBseSBleHBhbmRzIGRvd253YXJkcyBhbmQgdGhlIHBhZ2UtbGV2ZWxcclxuICAgc2Nyb2xsYmFyIHRha2VzIG92ZXIuICFpbXBvcnRhbnQgaXMgbmVlZGVkIGJlY2F1c2UgTWFpbkxheW91dCdzIHJ1bGVcclxuICAgKC50YWItbWFpbiAucmF0aG8tdGFiLXZpZXcgLnJhdGhvLXRhYi1jb250ZW50KSBoYXMgZXF1YWwgc3BlY2lmaWNpdHksIGFuZFxyXG4gICBsb2FkIG9yZGVyIHdpdGhpbiB0aGUgZ3VscCBidW5kbGUgaXMgbm90IGd1YXJhbnRlZWQuICovXHJcbi5jbGFzcy1tYW5hZ2VtZW50LXBhZ2Uge1xyXG4gICAgLyogVGlnaHRlciB0YWItcGFuZSBwYWRkaW5nIG9ubHkgb24gdGhpcyBwYWdlIOKAlCB0aWdodGVyIGxheW91dCBmb3IgdGhlXHJcbiAgICAgICBtb2R1bGUgYmFyICsgZmlsdGVyIGJhciArIHN0dWRlbnQgZ3JpZCBjb21iaW5hdGlvbi4gU2V0IG9uXHJcbiAgICAgICAucmF0aG8tdGFiLXZpZXcgc28gaXQgd2lucyBvdmVyIHRoZSByZXNwb25zaXZlIG1lZGlhIHF1ZXJpZXMgaW5cclxuICAgICAgIHJhdGhvdGFidmlldy5zY3NzIHRoYXQgYWxzbyB0YXJnZXQgLnJhdGhvLXRhYi12aWV3LiAqL1xyXG4gICAgLnJhdGhvLXRhYi12aWV3IHtcclxuICAgICAgICAtLWNvbnRlbnQtcGFkZGluZzogMnJlbTtcclxuICAgIH1cclxuXHJcbiAgICAucmF0aG8tdGFiLXZpZXcsXHJcbiAgICAucmF0aG8tdGFiLXZpZXcgLnJhdGhvLXRhYi1jb250ZW50LFxyXG4gICAgLnJhdGhvLXRhYi12aWV3IC5yYXRoby10YWItcGFuZSB7XHJcbiAgICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgbWF4LWhlaWdodDogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICAgIG92ZXJmbG93LXk6IHZpc2libGUgIWltcG9ydGFudDtcclxuICAgIH1cclxufVxyXG5cclxuLyogUmVzcG9uc2l2ZSBwYWRkaW5nIC0gaGlnaGVyIHNwZWNpZmljaXR5IHRvIG92ZXJyaWRlIEVtYmVyJ3MgYmFzZSBwYWRkaW5nICovXHJcbi5yYXRoby10YWItY29udGVudCA+IC5yYXRoby10YWItcGFuZSB7XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogNTc1Ljk4cHgpIHtcclxuICAgICAgICBwYWRkaW5nOiAxcmVtO1xyXG4gICAgfVxyXG5cclxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkgYW5kIChtYXgtd2lkdGg6IDk5MS45OHB4KSB7XHJcbiAgICAgICAgcGFkZGluZzogMS41cmVtO1xyXG4gICAgfVxyXG59XHJcblxyXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gICBDbGFzcyBNYW5hZ2VtZW50IHBhZ2UgdGl0bGUg4oCUIGNvbXBhY3QgXCJ7UGFnZVRpdGxlfSB7R3JvdXBOYW1lfVwiIHJvdyBhYm92ZVxyXG4gICB0aGUgbW9kdWxlIGJhci4gQ3JlYW0gYmFja2dyb3VuZCBtYXRjaGVzIHRoZSBzdGFuZGFyZCBSYXRob1RpdGxlQmFyIGxvb2sgb25cclxuICAgb3RoZXIgUG9ydGFsIHBhZ2VzOyB0aGUgb25saW5lLWNvdW50IGJhZGdlIHNpdHMgaW5saW5lIGRpcmVjdGx5IGFmdGVyIHRoZVxyXG4gICBncm91cCBuYW1lIHNvIHRoZSB3aG9sZSBcIltpY29uXSB0aXRsZSBbYmFkZ2VdXCIgZ3JvdXAgaXMgY2VudGVyZWQgdG9nZXRoZXIuXHJcbiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcblxyXG4uY2xhc3NtYW5hZ2VtZW50LXBhZ2UtdGl0bGUtYmFyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLXBhbmVsLWNyZWFtLWFsdCk7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxcmVtO1xyXG4gICAgY29sb3I6IHZhcigtLWJzLWRhcmssICMyMTI1MjkpO1xyXG4gICAgLyogTWF0Y2ggdGhlIG1vZHVsZSBiYXIncyBuYXR1cmFsIGhlaWdodCAoYnRuLXNtIOKJiCAxLjg3NXJlbSBjb250ZW50ICtcclxuICAgICAgIHB5LTIgcGFkZGluZyA9IH4yLjg3NXJlbSkgc28gdGhlIHR3byBzdGFja2VkIGJhcnMgcmVhZCBhcyBhIGJhbGFuY2VkXHJcbiAgICAgICBwYWlyLiBhbGlnbi1pdGVtcy1jZW50ZXIgb24gdGhlIGZsZXggcGFyZW50IGtlZXBzIHRoZSB0aXRsZSBjZW50ZXJlZFxyXG4gICAgICAgd2l0aGluIHRoZSBleHRyYSB2ZXJ0aWNhbCBzbGFjay4gKi9cclxuICAgIG1pbi1oZWlnaHQ6IDIuODc1cmVtO1xyXG5cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjcuOThweCkge1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAuNzVyZW07XHJcbiAgICB9XHJcbn1cclxuXHJcbi5jbGFzc21hbmFnZW1lbnQtcGFnZS10aXRsZSB7XHJcbiAgICBmb250LXNpemU6IDEuMjVyZW07XHJcbiAgICBsaW5lLWhlaWdodDogJGxoLXRpZ2h0O1xyXG5cclxuICAgIGkge1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS1icmFuZC1hY2NlbnQtbGlnaHQpO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xyXG4gICAgfVxyXG5cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5OTEuOThweCkge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMS4xNXJlbTtcclxuXHJcbiAgICAgICAgaSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4zNXJlbTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2Ny45OHB4KSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxLjA1cmVtO1xyXG5cclxuICAgICAgICBpIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxLjJyZW07XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA1NzUuOThweCkge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMC45NXJlbTtcclxuXHJcbiAgICAgICAgaSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLyogT25saW5lLXN0YXR1cyBiYWRnZSDigJQgY3VzdG9tIGdyZWVuIHR1bmVkIGZvciB0aGUgdGl0bGUgYmFyJ3MgY3JlYW1cclxuICAgYmFja2dyb3VuZCAoQm9vdHN0cmFwJ3MgYmctc3VjY2VzcyByZWFkcyB0b28gc2F0dXJhdGVkIGFnYWluc3QgdGhlIGNyZWFtKS4gKi9cclxuLmNsYXNzbWFuYWdlbWVudC1vbmxpbmUtYmFkZ2Uge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDcxLCAxNTgsIDExOCk7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxufVxyXG5cclxuLyogT25saW5lLXN0YXR1cyBkb3Qg4oCUIHNtYWxsIGNpcmNsZSBuZXh0IHRvIHRoZSBcIntOfSBvbmxpbmVcIiBjb3VudCBpblxyXG4gICB0aGUgcGFnZSB0aXRsZSdzIGJhZGdlLiBTaXplZCBhcyBhIHRydWUgZG90IChub3QgZnVsbCBmb250LXNpemUpLiAqL1xyXG4uY2xhc3NtYW5hZ2VtZW50LW9ubGluZS1kb3Qge1xyXG4gICAgZm9udC1zaXplOiAwLjVyZW07XHJcbn1cclxuXHJcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgIENsYXNzIE1hbmFnZW1lbnQgRGFzaGJvYXJkIOKAlCBzaW5nbGUtcm93IGFjdGlvbiBiYXIgc2hvd24gYXQgdGhlIHRvcCBvZiBlYWNoXHJcbiAgIGdyb3VwIHRhYi4gVGhlIGdyb3VwIHRpdGxlIGlzIGFscmVhZHkgcmVuZGVyZWQgaW4gdGhlIHBhcmVudCBSYXRob1J1cFRhYlxyXG4gICBoZWFkZXIsIHNvIHRoaXMgY29tcG9uZW50IGNvbnRyaWJ1dGVzIG9ubHkgdGhlIGFjdGlvbiBiYXIuXHJcbiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcblxyXG4uY2xhc3NtYW5hZ2VtZW50LWRhc2hib2FyZCB7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxcmVtO1xyXG4gICAgLyogb3ZlcmZsb3c6dmlzaWJsZSBzbyB0aGUgY29tcGFjdCBpbnRlcnZhbCBkcm9wZG93biBtZW51IChyZW5kZXJlZCBvbmx5XHJcbiAgICAgICBiZWxvdyBtZCwgc2VlIENsYXNzTWFuYWdlbWVudE1vZHVsZUJhci5yYXpvcikgY2FuIGV4dGVuZCBiZWxvdyB0aGVcclxuICAgICAgIGNvbnRhaW5lciB3aXRob3V0IGJlaW5nIGNsaXBwZWQuIFRoZSBhY2NvcmRpb24ncyBoYWlybGluZSBzZXBhcmF0b3JcclxuICAgICAgIGlzIGRyYXduIHZpYSBhIDo6YmVmb3JlIHBzZXVkbyB3aXRoIGluc2V0IGVkZ2VzIHNvIGl0IHN0aWxsIHR1Y2tzXHJcbiAgICAgICBjbGVhbmx5IGluc2lkZSB0aGUgcm91bmRlZCBjb3JuZXJzLiAqL1xyXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XHJcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1wYW5lbC1jcmVhbS1hbHQpO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLXNpZGUpO1xyXG4gICAgYm94LXNoYWRvdzogMCAxcHggMnB4IHZhcigtLXNoYWRvdy14cyk7XHJcblxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2Ny45OHB4KSB7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMC43NXJlbTtcclxuICAgIH1cclxuXHJcbiAgICAvKiBBY3Rpb24gYmFyIGFuZCBjb2xsYXBzaWJsZSBhY3Rpb25zIGJhciDigJQgdHJhbnNwYXJlbnQgc28gdGhlIHBhcmVudFxyXG4gICAgICAgLmNsYXNzbWFuYWdlbWVudC1kYXNoYm9hcmQgY3JlYW0gYmFja2dyb3VuZCBzaG93cyB0aHJvdWdoLCBtYXRjaGluZ1xyXG4gICAgICAgdGhlIHBhZ2UgdGl0bGUgYmFyIGFib3ZlLiAqL1xyXG4gICAgLmRhc2hib2FyZC1hY3Rpb24tYmFyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZy1wYW5lbC1jcmVhbS1hbHQpO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IGluaGVyaXQ7XHJcbiAgICB9XHJcblxyXG4gICAgJl9fbGF0ZW5jeSB7XHJcbiAgICAgICAgY29sb3I6IHZhcigtLWdyYWRpZW50LWVuZCk7XHJcbiAgICB9XHJcblxyXG4gICAgJl9fb25saW5lLWRvdCB7XHJcbiAgICAgICAgZm9udC1zaXplOiAwLjVyZW07XHJcbiAgICB9XHJcblxyXG4gICAgLyogUGxheS9wYXVzZSB0b2dnbGUg4oCUIGZpeGVkIHdpZHRoIG9uIG1kKyBzbyBpdCBkb2Vzbid0IHNoaWZ0IHdoZW4gdGhlXHJcbiAgICAgICBsYWJlbCBmbGlwcyBiZXR3ZWVuIFN0YXJ0L1N0b3AgbW9uaXRvcmluZy4gVHJhbnNwYXJlbnQgMXB4IGJvcmRlclxyXG4gICAgICAgY29tcGVuc2F0ZXMgZm9yIC5idG4tZ3JhZGllbnQncyBgYm9yZGVyOiBub25lYCBzbyBpdHMgaGVpZ2h0IG1hdGNoZXNcclxuICAgICAgIHRoZSBib3JkZXJlZCBpbnRlcnZhbCBidXR0b25zIG5leHQgdG8gaXQuICovXHJcbiAgICAmX190b2dnbGUge1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG5cclxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcclxuICAgICAgICAgICAgbWluLXdpZHRoOiAxMXJlbTtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qIEludGVydmFsLXNlZ21lbnQgd2lkdGgg4oCUIGtlZXBzIHNlZ21lbnRlZCBidG4tZ3JvdXAgdGlnaHQuIEFsbCBvdGhlclxyXG4gICAgICAgc3R5bGluZyAoYm9yZGVyLCBjb2xvcnMsIGhvdmVyLCBhY3RpdmUsIGZvY3VzLCBiYWRnZSkgaXMgc2hhcmVkIHdpdGhcclxuICAgICAgICZfX3Ryb3VibGVzaG9vdCBiZWxvdy4gKi9cclxuICAgICZfX2ludGVydmFscyAuYnRuIHtcclxuICAgICAgICBtaW4td2lkdGg6IDIuNzVyZW07XHJcbiAgICB9XHJcblxyXG4gICAgJl9fdHJvdWJsZXNob290LFxyXG4gICAgJl9faW50ZXJ2YWxzIC5idG4ge1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1zaWRlKTtcclxuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy13aGl0ZSk7XHJcbiAgICAgICAgY29sb3I6IHZhcigtLXRleHQtc2Vjb25kYXJ5KTtcclxuXHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWJnLWhvdmVyLWZhaW50KTtcclxuICAgICAgICAgICAgY29sb3I6IHZhcigtLWdyYWRpZW50LWVuZCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvKiBMb2NrIHNpemUgKyBib3JkZXIgb24gZm9jdXMg4oCUIEJvb3RzdHJhcCdzIGRlZmF1bHQgLmJ0bjpmb2N1c1xyXG4gICAgICAgICAgIHJpbmcgKGJveC1zaGFkb3cpIGlzIGVub3VnaDsgd2UgZXhwbGljaXRseSBmb3JiaWQgdHJhbnNmb3JtcyBhbmRcclxuICAgICAgICAgICBib3JkZXItY29sb3Igc3dhcHMgc28gbmVpZ2hib3VyaW5nIGJ0bi1ncm91cCBidXR0b25zIGRvbid0XHJcbiAgICAgICAgICAgXCJzcHJpbmdcIiB3aGVuIHRhYmJpbmcgdGhyb3VnaCBjYW1lcmEgKyB0aW1lcnMuICovXHJcbiAgICAgICAgJjpmb2N1cyxcclxuICAgICAgICAmOmZvY3VzLXZpc2libGUge1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYm9yZGVyLXNpZGUpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHZhcigtLWdyYWRpZW50LXN0YXJ0KSwgdmFyKC0tZ3JhZGllbnQtZW5kKSk7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tZ3JhZGllbnQtc3RhcnQpO1xyXG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tdGV4dC13aGl0ZSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvKiBSZXNlcnZlIHdpZHRoIGZvciB0d28gZGlnaXRzIChtYXggaW50ZXJ2YWwgPSAzMHMpIHNvIHRoZSBhY3RpdmVcclxuICAgICAgICAgICBidXR0b24gZG9lc24ndCBzaHJpbmsgd2hlbiB0aGUgY291bnRkb3duIGZsaXBzIGZyb20gXCIxMFwiIHRvIFwiOVwiXHJcbiAgICAgICAgICAgb3IgZnJvbSBcIjMwXCIgdG8gXCI5XCIuIHRhYnVsYXItbnVtcyBrZWVwcyBkaWdpdCBhZHZhbmNlIGNvbnN0YW50LiAqL1xyXG4gICAgICAgICYuYWN0aXZlIC5iYWRnZSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgbWluLXdpZHRoOiAyLjRlbTtcclxuICAgICAgICAgICAgcGFkZGluZzogMC4xNWVtIDAuNGVtO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC43NWVtO1xyXG4gICAgICAgICAgICBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMC41cmVtO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1vdmVybGF5LWxpZ2h0LW1kKTtcclxuICAgICAgICAgICAgY29sb3I6IHZhcigtLXRleHQtd2hpdGUpO1xyXG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcbi5jbGFzc21hbmFnZW1lbnQtc2VsZWN0YWxsIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxufVxyXG5cclxuLyogVGFnLW1hbmFnZW1lbnQgZmx5b3V0IOKAlCBrZWVwIHRoZSBpY29uLW9ubHkgYWN0aW9uIGJ1dHRvbnMgaW4gYnJhbmQgb3JhbmdlXHJcbiAgIGluc3RlYWQgb2YgQm9vdHN0cmFwJ3MgZGVmYXVsdCBsaW5rLWJsdWUuICovXHJcbi50YWctbGlzdCAuYnRuLWxpbmsge1xyXG4gICAgY29sb3I6IHZhcigtLWJyYW5kLWFjY2VudC1saWdodCk7XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgY29sb3I6IHZhcigtLWJyYW5kLWFjY2VudC1kYXJrKTtcclxuICAgIH1cclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgQ00yIE1vbml0b3IgQ2FyZCDigJQgcmVkZXNpZ25lZCBtb25pdG9yaW5nIHdpZGdldCB0aGF0IHJlcGxhY2VzIHRoZSBob3Jpem9udGFsXHJcbiAgIGRhc2hib2FyZCBiYXIuIFN0YXRlLWF3YXJlOiBhdCBkYXRhLXN0YXRlPVwib2ZmXCIgb25seSB0aGUgdGl0bGUsIHN1YnRpdGxlIGFuZFxyXG4gICBwcmltYXJ5IENUQSBzaG93OyBhdCBcIm9uXCIgdGhlIGxpdmUgY29udHJvbHMgKGludGVydmFsIHBpY2tlciwgY2FtZXJhLFxyXG4gICB0cm91Ymxlc2hvb3QpIGFwcGVhciBhbmQgdGhlIHZpc3VhbGl6YXRpb24gaXMgaGlnaGxpZ2h0ZWQuXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4uY20yLW1vbml0b3Ige1xyXG4gICAgZGlzcGxheTogZ3JpZDtcclxuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byAxZnIgYXV0bztcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBnYXA6IDFyZW0gMS41cmVtO1xyXG4gICAgcGFkZGluZzogMXJlbSAxLjVyZW07XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZy1wYW5lbC1jcmVhbS1hbHQpO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLXNpZGUpO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMXJlbTtcclxuICAgIGJveC1zaGFkb3c6IDAgMXB4IDJweCB2YXIoLS1zaGFkb3cteHMpO1xyXG5cclxuICAgIC8qIFNoYXJlZCBjb250cm9sIGhlaWdodCBmb3IgaW50ZXJ2YWwgZ3JvdXAgKyBpY29uLWJ0biArIENUQS4gQnVtcGVkIG9uXHJcbiAgICAgICBwaG9uZXMgZm9yIGVhc2llciB0YXAgdGFyZ2V0cy4gRGVjbGFyZWQgYmVmb3JlIEBtZWRpYSB0byBzYXRpc2Z5IFNhc3NcclxuICAgICAgIG1peGVkLWRlY2xzLiAqL1xyXG4gICAgLS1jbTItY29udHJvbC1oOiAyLjVyZW07XHJcblxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2Ny45OHB4KSB7XHJcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIDFmcjtcclxuICAgICAgICBnYXA6IDAuNzVyZW0gMXJlbTtcclxuICAgICAgICBwYWRkaW5nOiAwLjg3NXJlbSAxcmVtO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAuNzVyZW07XHJcbiAgICB9XHJcblxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDU3NS45OHB4KSB7XHJcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XHJcbiAgICAgICAgZ2FwOiAwLjYyNXJlbTtcclxuICAgICAgICBwYWRkaW5nOiAwLjc1cmVtO1xyXG4gICAgICAgIC0tY20yLWNvbnRyb2wtaDogMi43NXJlbTtcclxuICAgIH1cclxuXHJcbiAgICAmX192aXoge1xyXG4gICAgICAgIHdpZHRoOiAzcmVtO1xyXG4gICAgICAgIGhlaWdodDogM3JlbTtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgICBwbGFjZS1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLXdoaXRlKTtcclxuICAgICAgICBjb2xvcjogdmFyKC0tYnMtZ3JheS01MDApO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcclxuICAgICAgICBmbGV4LXNocmluazogMDtcclxuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2UsIGNvbG9yIDAuMjVzIGVhc2U7XHJcblxyXG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA1NzUuOThweCkge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19ib2R5IHtcclxuICAgICAgICBtaW4td2lkdGg6IDA7XHJcblxyXG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA1NzUuOThweCkge1xyXG4gICAgICAgICAgICBncmlkLWNvbHVtbjogMTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9faGVhZGluZyB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGdhcDogMC43NXJlbTtcclxuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcblxyXG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA1NzUuOThweCkge1xyXG4gICAgICAgICAgICBnYXA6IDAuNXJlbTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9fdGl0bGUge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJGZzLWxnO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZnctc2VtaWJvbGQ7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRsaC10aWdodDtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgY29sb3I6IHZhcigtLXRleHQtZGFyayk7XHJcblxyXG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA1NzUuOThweCkge1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICRmcy1tZDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9fb25saW5lIHtcclxuICAgICAgICBmb250LXNpemU6ICRmcy0yeHM7XHJcbiAgICAgICAgcGFkZGluZzogMC4yNWVtIDAuNmVtO1xyXG4gICAgfVxyXG5cclxuICAgICZfX2NvbnRyb2xzIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgZ2FwOiAwLjc1cmVtO1xyXG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG5cclxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3Ljk4cHgpIHtcclxuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyAtMTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA1NzUuOThweCkge1xyXG4gICAgICAgICAgICBnYXA6IDAuNXJlbTtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKiBgZGlzcGxheTogY29udGVudHNgIHNvIHRoZSBpbm5lciBidXR0b25zIHBhcnRpY2lwYXRlIGluIF9fY29udHJvbHNcclxuICAgICAgIGxheW91dCB3aXRob3V0IGFuIGV4dHJhIGZsZXggd3JhcHBlci4gKi9cclxuICAgICZfX2xpdmUge1xyXG4gICAgICAgIGRpc3BsYXk6IGNvbnRlbnRzO1xyXG4gICAgfVxyXG5cclxuICAgICZfX2ljb24tYnRuIHtcclxuICAgICAgICB3aWR0aDogdmFyKC0tY20yLWNvbnRyb2wtaCk7XHJcbiAgICAgICAgaGVpZ2h0OiB2YXIoLS1jbTItY29udHJvbC1oKTtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAwLjVyZW07XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctd2hpdGUpO1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1zaWRlKTtcclxuICAgICAgICBjb2xvcjogdmFyKC0tdGV4dC1zZWNvbmRhcnkpO1xyXG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICAgICAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcclxuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2UsIGNvbG9yIDAuMTVzIGVhc2U7XHJcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XHJcblxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZy1ob3Zlci1mYWludCk7XHJcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1ncmFkaWVudC1lbmQpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19jdGEge1xyXG4gICAgICAgIGhlaWdodDogdmFyKC0tY20yLWNvbnRyb2wtaCk7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBnYXA6IDAuNXJlbTtcclxuICAgICAgICBwYWRkaW5nOiAwIDEuMjVyZW07XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMC42MjVyZW07XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCB2YXIoLS1ncmFkaWVudC1zdGFydCksIHZhcigtLWdyYWRpZW50LWVuZCkpO1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS10ZXh0LXdoaXRlKTtcclxuICAgICAgICBmb250LXdlaWdodDogJGZ3LXNlbWlib2xkO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJGZzLXNtO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGZpbHRlciAwLjE1cyBlYXNlLCB0cmFuc2Zvcm0gMC4xNXMgZWFzZTtcclxuXHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGZpbHRlcjogYnJpZ2h0bmVzcygxLjA1KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDFweCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvKiBGdWxsLXdpZHRoIHRhcCB0YXJnZXQgb24gcGhvbmVzIOKAlCBDVEEgc2l0cyBvbiBpdHMgb3duIHJvdyBiZWxvdyB0aGVcclxuICAgICAgICAgICBpbnRlcnZhbCArIHRyb3VibGVzaG9vdCBjbHVzdGVyLCBlYXNpZXIgdG8gaGl0IG9uZS1oYW5kZWQuICovXHJcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDU3NS45OHB4KSB7XHJcbiAgICAgICAgICAgIGZsZXg6IDEgMSAxMDAlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKiAtLS0tLSBTdGF0ZSB2YXJpYW50cyAtLS0tLSAqL1xyXG4gICAgJltkYXRhLXN0YXRlPVwib25cIl0ge1xyXG4gICAgICAgIC5jbTItbW9uaXRvcl9fdml6IHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZ3JhZGllbnQtc3RhcnQpO1xyXG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tdGV4dC13aGl0ZSk7XHJcbiAgICAgICAgICAgIGFuaW1hdGlvbjogY20yLW1vbml0b3ItZXllLXB1bHNlIDIuNXMgZWFzZS1pbi1vdXQgaW5maW5pdGU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZbZGF0YS1zdGF0ZT1cIm9mZlwiXSB7XHJcbiAgICAgICAgLmNtMi1tb25pdG9yX19saXZlIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgY20yLW1vbml0b3ItZXllLXB1bHNlIHtcclxuICAgIDAlLCAxMDAlIHsgYm94LXNoYWRvdzogMCAwIDAgMCByZ2JhKDI0MSwgMTA3LCA5MCwgMC4zNSk7IH1cclxuICAgIDUwJSAgICAgIHsgYm94LXNoYWRvdzogMCAwIDAgNnB4IHJnYmEoMjQxLCAxMDcsIDkwLCAwKTsgfVxyXG59XHJcblxyXG4vKiBJbnRlcnZhbCBwaWNrZXIgaW5zaWRlIGNtMi1tb25pdG9yX19saXZlLiBIZWlnaHQgaW5oZXJpdHMgdGhlXHJcbiAgIC0tY20yLWNvbnRyb2wtaCBjdXN0b20tcHJvcCBkZWNsYXJlZCBvbiAuY20yLW1vbml0b3Igc28gYWxsIHRocmVlIGNvbnRyb2xcclxuICAgaXRlbXMgKGludGVydmFsIGdyb3VwICsgaWNvbi1idG4gKyBDVEEpIGxpbmUgdXAgYXQgdGhlIHNhbWUgaGVpZ2h0LiAqL1xyXG4uY20yLWludGVydmFsIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XHJcbiAgICBoZWlnaHQ6IHZhcigtLWNtMi1jb250cm9sLWgpO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMC41cmVtO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1zaWRlKTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLXdoaXRlKTtcclxuICAgIGZsZXgtc2hyaW5rOiAwO1xyXG5cclxuICAgICZfX2J0biB7XHJcbiAgICAgICAgYm9yZGVyOiAwO1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS10ZXh0LXNlY29uZGFyeSk7XHJcbiAgICAgICAgZm9udC1zaXplOiAkZnMtc207XHJcbiAgICAgICAgcGFkZGluZzogMCAwLjc1cmVtO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZSwgY29sb3IgMC4xNXMgZWFzZTtcclxuXHJcbiAgICAgICAgJiArICYge1xyXG4gICAgICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1zaWRlKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZy1ob3Zlci1mYWludCk7XHJcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1ncmFkaWVudC1lbmQpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHZhcigtLWdyYWRpZW50LXN0YXJ0KSwgdmFyKC0tZ3JhZGllbnQtZW5kKSk7XHJcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS10ZXh0LXdoaXRlKTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRmdy1zZW1pYm9sZDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuYWN0aXZlIC5iYWRnZSB7XHJcbiAgICAgICAgICAgIC8qIFJlc2VydmUgd2lkdGggZm9yIHR3byBkaWdpdHMgKG1heCBpbnRlcnZhbCA9IDMwcykgc28gdGhlIGFjdGl2ZVxyXG4gICAgICAgICAgICAgICBidXR0b24gZG9lc24ndCBzaHJpbmsgd2hlbiB0aGUgY291bnRkb3duIGZsaXBzIGZyb20gXCIxMFwiIHRvIFwiOVwiXHJcbiAgICAgICAgICAgICAgIG9yIGZyb20gXCIzMFwiIHRvIFwiOVwiLiB0YWJ1bGFyLW51bXMga2VlcHMgZGlnaXQgYWR2YW5jZSBjb25zdGFudC4gKi9cclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICBtaW4td2lkdGg6IDIuNGVtO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1vdmVybGF5LWxpZ2h0LW1kKTtcclxuICAgICAgICAgICAgY29sb3I6IHZhcigtLXRleHQtd2hpdGUpO1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMC40ZW07XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDAuMTVlbSAwLjRlbTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAwLjc1ZW07XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAuNHJlbTtcclxuICAgICAgICAgICAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYtLWNhbWVyYSBpIHtcclxuICAgICAgICAgICAgY29sb3I6IHZhcigtLWdyYWRpZW50LWVuZCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qIE1vYmlsZSBpbnRlcnZhbCBwaWNrZXIgdXNlcyBCb290c3RyYXAncyA8dWwgY2xhc3M9XCJkcm9wZG93bi1tZW51XCI+LiBJdHNcclxuICAgICAgIGAuZHJvcGRvd24taXRlbS5hY3RpdmVgIGRlZmF1bHRzIHRvIEJvb3RzdHJhcC1ibHVlIOKAlCBvdmVycmlkZSB0byBicmFuZFxyXG4gICAgICAgb3JhbmdlIHNvIGl0IHZpc3VhbGx5IG1hdGNoZXMgdGhlIGFjdGl2ZSBzdGF0ZSBvZiB0aGUgc2VnbWVudGVkIHZlcnNpb24uICovXHJcbiAgICAuZHJvcGRvd24tbWVudSAuZHJvcGRvd24taXRlbS5hY3RpdmUsXHJcbiAgICAuZHJvcGRvd24tbWVudSAuZHJvcGRvd24taXRlbTphY3RpdmUge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJyYW5kLWFjY2VudC1iZy1ob3Zlcik7XHJcbiAgICAgICAgY29sb3I6IHZhcigtLWJyYW5kLXByaW1hcnkpO1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLyogQ2FtZXJhIHB1bHNlIGFuaW1hdGlvbiDigJQgcmVwbGF5cyBlYWNoIHRpbWUgU2NyZWVuc2hvdFJlZnJlc2hDb3VudCBjaGFuZ2VzLlxyXG4gICBPcGFjaXR5LW9ubHkgZmxhc2g7IG5vIHRyYW5zZm9ybSBzbyB0aGUgaWNvbiBzdGF5cyBhbGlnbmVkIGFuZCBuZWlnaGJvdXJzXHJcbiAgIGRvbid0IHJlZmxvdyBkdXJpbmcgdGhlIGFuaW1hdGlvbi4gKi9cclxuQGtleWZyYW1lcyBzY3JlZW5zaG90LXB1bHNlIHtcclxuICAgIDAlICAgeyBvcGFjaXR5OiAxOyB9XHJcbiAgICA0MCUgIHsgb3BhY2l0eTogMC4zNTsgfVxyXG4gICAgMTAwJSB7IG9wYWNpdHk6IDE7IH1cclxufVxyXG5cclxuLnNjcmVlbnNob3QtcHVsc2Uge1xyXG4gICAgYW5pbWF0aW9uOiBzY3JlZW5zaG90LXB1bHNlIDAuNHMgZWFzZS1pbi1vdXQ7XHJcbn1cclxuXHJcbi8qIFByb2JsZW0gc3R1ZGVudCBpY29ucyBpbiBmbHlvdXQgKi9cclxuLnByb2JsZW0taWNvbiB7XHJcbiAgICB3aWR0aDogMzJweDtcclxuICAgIGhlaWdodDogMzJweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuXHJcbiAgICAmLS1oZWFydGJlYXQgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zdGF0dXMtZXJyb3IpOyB9XHJcbiAgICAmLS1jb25uZWN0aW9uIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnMtd2FybmluZyk7IH1cclxuICAgICYtLXNjcmVlbnNob3QgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icy1pbmZvKTsgfVxyXG59XHJcblxyXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gICBDb25uZWN0aW9uIFN0YXR1cyBCYWRnZSAtIFNpZ25hbCBpbmRpY2F0b3Igb24gYXZhdGFyIHRvcC1sZWZ0XHJcbiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcblxyXG4uc3R1ZGVudC1iYWRnZS1jb25uZWN0aW9uIHtcclxuICAgIHdpZHRoOiAyNHB4O1xyXG4gICAgaGVpZ2h0OiAyNHB4O1xyXG4gICAgZm9udC1zaXplOiAkZnMtMnhzO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTI1JSwgLTI1JSk7XHJcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZSwgb3BhY2l0eSAwLjJzIGVhc2U7XHJcblxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDU3NS45OHB4KSB7XHJcbiAgICAgICAgd2lkdGg6IDIwcHg7XHJcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJGZzLTN4cztcclxuICAgIH1cclxufVxyXG5cclxuLyogQ29ubmVjdGlvbiBiYWRnZSByZXBvc2l0aW9uZWQgd2hlbiBpbnNpZGUgc3luYy1zY3JlZW4gY2FyZCAob3ZlcmxhcHMgcHJvZmlsZSBiYWRnZSlcclxuICAgTm8gbG9uZ2VyIHVzZWQg4oCUIHN5bmMtc2NyZWVuIGNhcmRzIHNob3cgc3RhdHVzIHZpYSBwbGFjZWhvbGRlciBpY29uIGluc3RlYWQuXHJcbiAgIEtlcHQgZm9yIG5vbi1zeW5jIG1vZGUgZmFsbGJhY2suICovXHJcblxyXG4uc3R1ZGVudC1iYWRnZS1jb25uZWN0aW9uLS1vZmZsaW5lIHtcclxuICAgIGJhY2tncm91bmQ6IHZhcigtLWJzLWdyYXktNDAwKTtcclxuICAgIG9wYWNpdHk6IDAuNjtcclxufVxyXG5cclxuLnN0dWRlbnQtYmFkZ2UtY29ubmVjdGlvbi0tY29ubmVjdGluZyB7XHJcbiAgICBvcGFjaXR5OiAwLjc7XHJcbn1cclxuXHJcbi5zdHVkZW50LWJhZGdlLWNvbm5lY3Rpb24tLWVycm9yIHtcclxuICAgIGJhY2tncm91bmQ6IHZhcigtLXN0YXR1cy1lcnJvcik7XHJcbn1cclxuXHJcbi5zdHVkZW50LWJhZGdlLWNvbm5lY3Rpb24tLWxvc3Qge1xyXG4gICAgYmFja2dyb3VuZDogdmFyKC0tc3RhdHVzLXdhcm5pbmcsICNmZmMxMDcpO1xyXG59XHJcblxyXG4vKiBQTkctYmFzZWQgdmFyaWFudCAoT25saW5lIC8gT2ZmbGluZSk6IHRoZSBhc3NldCBhbHJlYWR5IGNhcnJpZXMgaXRzIG93blxyXG4gICBjaXJjbGUsIHJpbmcgYW5kIGNvbG9yIHRyZWF0bWVudCwgc28gdGhlIGJhZGdlIGJveCBiZWNvbWVzIGEgc2l6aW5nXHJcbiAgIGNvbnRhaW5lci4gT3ZlcnJpZGVzIGJvdGggLS1vZmZsaW5lJ3MgZ3JheS1iYWNrZ3JvdW5kICsgb3BhY2l0eSBhbmQgdGhlXHJcbiAgIGRlZmF1bHQgb3JhbmdlIGdyYWRpZW50IGluaGVyaXRlZCBmcm9tIC5zdHVkZW50LWJhZGdlLiAqL1xyXG4uc3R1ZGVudC1iYWRnZS1jb25uZWN0aW9uLS1pbWFnZSB7XHJcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgYm9yZGVyOiAwO1xyXG4gICAgb3BhY2l0eTogMTtcclxuXHJcbiAgICA+IGltZyB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XHJcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICAgICAgLXdlYmtpdC11c2VyLWRyYWc6IG5vbmU7XHJcbiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICAgICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcclxuICAgIH1cclxufVxyXG5cclxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAgVGFnIFN5c3RlbSAtIFBpbGwgYmFkZ2VzIGJlbG93IHN0dWRlbnQgbmFtZXNcclxuICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuXHJcbi5zdHVkZW50LXRhZ3Mge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgZ2FwOiAwLjJyZW07XHJcbiAgICBtYXJnaW4tdG9wOiAwLjI1cmVtO1xyXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xyXG5cclxuICAgIC8qIENvbXBhY3QgdGFnIHBpbGxzIOKAlCBzbWFsbGVyIGZvbnQgKyBwYWRkaW5nIHRoYW4gdGhlIGRlZmF1bHRcclxuICAgICAgIC5yYXRoby1zdGF0dXMtYmFkZ2Ugc28gYSBzdHVkZW50IGNhcmQgY2FuIGZpdCB0d28gdGFncyArIG92ZXJmbG93XHJcbiAgICAgICBpbmRpY2F0b3Igd2l0aG91dCBibG9hdGluZyB2ZXJ0aWNhbCBzcGFjZS4gKi9cclxuICAgIC5yYXRoby1zdGF0dXMtYmFkZ2Uge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJGZzLTJ4cztcclxuICAgICAgICBwYWRkaW5nOiAwLjFyZW0gMC40cmVtO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE7XHJcbiAgICB9XHJcblxyXG4gICAgLnN0dWRlbnQtdGFnLWNsaWNrYWJsZSB7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjFzIGVhc2UsIG9wYWNpdHkgMC4xcyBlYXNlO1xyXG5cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAwLjg1O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogNTc1Ljk4cHgpIHtcclxuICAgICAgICAucmF0aG8tc3RhdHVzLWJhZGdlIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAkZnMtM3hzO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwLjA1cmVtIDAuM3JlbTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qIE92ZXJmbG93IGluZGljYXRvciBzaG93biB3aGVuIGEgc3R1ZGVudCBoYXMgbW9yZSB0YWdzIHRoYW4gZml0IG9uIHRoZVxyXG4gICBjYXJkLiBIb3ZlciBzaG93cyB0aGUgZnVsbCBsaXN0IHZpYSB0aXRsZSBhdHRyaWJ1dGUuICovXHJcbi5zdHVkZW50LXRhZy1vdmVyZmxvdyB7XHJcbiAgICBmb250LXNpemU6ICRmcy0yeHM7XHJcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcbiAgICBwYWRkaW5nOiAwLjFyZW0gMC4zcmVtO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMC40cmVtO1xyXG4gICAgYmFja2dyb3VuZDogdmFyKC0tYmctaG92ZXItZmFpbnQpO1xyXG4gICAgY3Vyc29yOiBkZWZhdWx0O1xyXG4gICAgbGluZS1oZWlnaHQ6IDEuMTtcclxufVxyXG5cclxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAgU3R1ZGVudFdhdGNoIEZseW91dCBTdHlsZXNcclxuICAgU2hhcmVkIHN0eWxlcyBmb3IgVGFiTWFuYWdlbWVudCwgSGlzdG9yeU1hbmFnZW1lbnQgYW5kIExvY2tTY3JlZW4gZmx5b3V0c1xyXG4gICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG5cclxuLyogU2hhcmVkIGxpc3QgaXRlbSBzdHlsZSAodXNlZCBieSB0YWItbGlzdCBhbmQgaGlzdG9yeS1saXN0KSAqL1xyXG4udGFiLWxpc3QtaXRlbSxcclxuLmhpc3RvcnktbGlzdC1pdGVtIHtcclxuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZTtcclxuICAgIEBpbmNsdWRlIGxpc3QtaXRlbS1ib3JkZXIoKTtcclxuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZy1ob3Zlci1mYWludCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyogRW5zdXJlIHRleHQgdHJ1bmNhdGlvbiB3b3JrcyB0aHJvdWdoIG5lc3RlZCBmbGV4IGNvbnRhaW5lcnMgKi9cclxuICAgIC5mbGV4LWdyb3ctMSB7XHJcbiAgICAgICAgbWluLXdpZHRoOiAwO1xyXG5cclxuICAgICAgICA+IGRpdiB7XHJcbiAgICAgICAgICAgIG1pbi13aWR0aDogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qIFRhYiBmYXZpY29uIGljb24gKi9cclxuLnRhYi1mYXZpY29uIHtcclxuICAgIHdpZHRoOiAxNnB4O1xyXG4gICAgaGVpZ2h0OiAxNnB4O1xyXG4gICAgb2JqZWN0LWZpdDogY29udGFpbjtcclxufVxyXG5cclxuLyogVGFiIGxpc3QgaWNvbiAoRm9udEF3ZXNvbWUgaWNvbnMgaW4gdGFiIG1hbmFnZW1lbnQgZmx5b3V0KSAqL1xyXG4udGFiLWxpc3QtaWNvbiB7XHJcbiAgICB3aWR0aDogMS4yNXJlbTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG5cclxuLyogU21hbGwgYXZhdGFyIGZvciBzdHVkZW50IGxpc3QgaW4gZmx5b3V0cyAoZS5nLiBMb2NrU2NyZWVuKSAqL1xyXG4uZmx5b3V0LXN0dWRlbnQtYXZhdGFyIHtcclxuICAgIHdpZHRoOiAyNHB4O1xyXG4gICAgaGVpZ2h0OiAyNHB4O1xyXG4gICAgb2JqZWN0LWZpdDogY292ZXI7XHJcbn1cclxuXHJcbi8qIExvY2sgc2NyZWVuIG1lc3NhZ2UgdGV4dGFyZWEgKi9cclxuLmxvY2stc2NyZWVuLW1lc3NhZ2Uge1xyXG4gICAgcmVzaXplOiB2ZXJ0aWNhbDtcclxuICAgIG1pbi1oZWlnaHQ6IDYwcHg7XHJcbn1cclxuXHJcbi8qIENvbXBhY3QgYmFkZ2UgdmFyaWFudCAqL1xyXG4uYmFkZ2Utc20ge1xyXG4gICAgZm9udC1zaXplOiAkZnMtMnhzO1xyXG4gICAgcGFkZGluZzogMC4xNWVtIDAuNGVtO1xyXG59XHJcblxyXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gICBEaWFnbm9zdGljcyBGbHlvdXQgLSBTZWN0aW9ucyBhbmQgbGF5b3V0XHJcbiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcblxyXG4uZGlhZ25vc3RpY3Mtc2VjdGlvbi10aXRsZSB7XHJcbiAgICBmb250LXNpemU6ICRmcy14cztcclxuICAgIGZvbnQtd2VpZ2h0OiAkZnctc2VtaWJvbGQ7XHJcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYnMtYm9yZGVyLWNvbG9yLCAjZGVlMmU2KTtcclxuICAgIHBhZGRpbmctYm90dG9tOiAwLjI1cmVtO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbTtcclxufVxyXG5cclxuLmRpYWdub3N0aWNzLWdyaWQge1xyXG4gICAgcGFkZGluZy1sZWZ0OiAwLjI1cmVtO1xyXG59XHJcblxyXG4uZGlhZ25vc3RpY3MtZXJyb3ItaXRlbSB7XHJcbiAgICBAaW5jbHVkZSBsaXN0LWl0ZW0tYm9yZGVyKCk7XHJcbn1cclxuXHJcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgIExvY2sgU2NyZWVuIFBhZ2Ug4oCUIFJhdGhvIFBvcnRhbCBEZXNpZ25cclxuICAgRnVsbHNjcmVlbiBvdmVybGF5IHNob3duIG9uIHN0dWRlbnQgYnJvd3NlciB3aGVuIGxvY2tlZCBieSB0ZWFjaGVyXHJcbiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcblxyXG4ubG9ja3NjcmVlbi1wYWdlIHtcclxuICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGJhY2tncm91bmQ6IHZhcigtLWJnLWNyZWFtKTtcclxuICAgIGNvbG9yOiB2YXIoLS1icy1ncmF5LTgwMCk7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBwYWRkaW5nOiAxcmVtO1xyXG59XHJcblxyXG4ubG9ja3NjcmVlbi1jb250YWluZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG59XHJcblxyXG4ubG9ja3NjcmVlbi1jYXJkIHtcclxuICAgIHBhZGRpbmc6IDNyZW0gMi41cmVtO1xyXG4gICAgYmFja2dyb3VuZDogdmFyKC0tYmctd2hpdGUpO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTZweDtcclxuICAgIGJveC1zaGFkb3c6IDAgNHB4IDI0cHggdmFyKC0tc2hhZG93LXNtKTtcclxuICAgIG1heC13aWR0aDogNDgwcHg7XHJcbiAgICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLmxvY2tzY3JlZW4taWNvbiB7XHJcbiAgICBmb250LXNpemU6ICRmcy0zeGw7XHJcbiAgICB3aWR0aDogODBweDtcclxuICAgIGhlaWdodDogODBweDtcclxuICAgIGxpbmUtaGVpZ2h0OiA4MHB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tZ3JhZGllbnQtc3RhcnQpLCB2YXIoLS1ncmFkaWVudC1lbmQpKTtcclxuICAgIGNvbG9yOiB2YXIoLS10ZXh0LXdoaXRlKTtcclxufVxyXG5cclxuLmxvY2tzY3JlZW4tdGl0bGUge1xyXG4gICAgZm9udC1zaXplOiAkZnMtbGc7XHJcbiAgICBmb250LXdlaWdodDogJGZ3LWJvbGQ7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwLjc1cmVtO1xyXG4gICAgY29sb3I6IHZhcigtLWJzLWdyYXktODAwKTtcclxufVxyXG5cclxuLmxvY2tzY3JlZW4tdGVhY2hlci1tZXNzYWdlIHtcclxuICAgIGZvbnQtc2l6ZTogJGZzLWJhc2U7XHJcbiAgICBmb250LXdlaWdodDogJGZ3LXJlZ3VsYXI7XHJcbiAgICBjb2xvcjogdmFyKC0tYnMtZ3JheS02MDAsICM2Yzc1N2QpO1xyXG4gICAgd29yZC1icmVhazogYnJlYWstd29yZDtcclxuICAgIG1pbi1oZWlnaHQ6IDEuNWVtO1xyXG59XHJcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIEVYUE9SVCBQSUNUVVJFIFBBU1NXT1JEUyAtIFByaW50LWZyaWVuZGx5IGdyb3VwIHBhc3N3b3JkIG92ZXJ2aWV3XHJcbiAgIFJlbmRlcmVkIHVuZGVyIFByaW50TGF5b3V0IChubyBwb3J0YWwgY2hyb21lKS4gQm9vdHN0cmFwIHV0aWxpdHkgY2xhc3Nlc1xyXG4gICBoYW5kbGUgbW9zdCBsYXlvdXQg4oCUIHRoaXMgZmlsZSBjb3ZlcnMgd2hhdCB1dGlsaXRpZXMgY2Fubm90LlxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLmV4cG9ydC1waWN0dXJlLXBhc3N3b3JkcyB7XHJcbiAgICBtYXgtd2lkdGg6IDgwMHB4O1xyXG5cclxuICAgICZfX2xvZ28ge1xyXG4gICAgICAgIGhlaWdodDogNDBweDtcclxuICAgIH1cclxuXHJcbiAgICAmX19jYXJkIHtcclxuICAgICAgICBicmVhay1pbnNpZGU6IGF2b2lkO1xyXG4gICAgfVxyXG5cclxuICAgICZfX2ljb24ge1xyXG4gICAgICAgIGhlaWdodDogNTBweDtcclxuICAgIH1cclxufVxyXG5cclxuLyogSGlkZSBwb3J0YWwgY2hyb21lIChmbHlvdXQgb2ZmY2FudmFzICsgY2hldnJvbiBoYW5kbGUpIHdoZW4gdGhlIHByaW50IGxheW91dCBpcyBhY3RpdmUuXHJcbiAgIFRoZSBjaHJvbWUgaXMgcmVuZGVyZWQgaGlnaGVyIGluIHRoZSBjYXNjYWRlIGJ5IEZseU91dFN0YXRlUHJvdmlkZXIgYW5kIHdvdWxkIG90aGVyd2lzZVxyXG4gICBsZWFrIGludG8gdGhlIHByaW50IHZpZXcgdmlhIHRoZSBwcmVmaXgtbWF0Y2hlZCBkZWZhdWx0IGZseW91dCBmb3IgL2NsYXNzLW1hbmFnZW1lbnQuICovXHJcbmJvZHk6aGFzKC5wcmludC1sYXlvdXQpIHtcclxuICAgICNmbHlvdXQtbWFpbixcclxuICAgICNmbHlvdXQtaGFuZGxlIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5wYXNzd29yZC1jaGFyIHtcclxuICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xyXG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcclxuXHJcbiAgICAmLS11cHBlciB7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgfVxyXG5cclxuICAgICYtLWxvd2VyIHtcclxuICAgICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgfVxyXG5cclxuICAgICYtLWRpZ2l0IHtcclxuICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgfVxyXG5cclxuICAgICYtLXNwZWNpYWwge1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtZWRpYSBwcmludCB7XHJcbiAgICBib2R5IHtcclxuICAgICAgICBwcmludC1jb2xvci1hZGp1c3Q6IGV4YWN0O1xyXG4gICAgfVxyXG59XHJcbiIsIkB1c2UgXCJ0eXBvZ3JhcGh5LXRva2Vuc1wiIGFzICo7XHJcbkB1c2UgXCJjb21wb25lbnRzL19iYXNlL3V0aWxpdGllc1wiIGFzICo7XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBIRUxQIFVQREFURVMgLSBQYWdlLXNwZWNpZmljIHN0eWxlc1xyXG4gICBPbmx5IHN0eWxlcyB0aGF0IGNhbm5vdCBiZSBhY2hpZXZlZCB3aXRoIEJvb3RzdHJhcCBjbGFzc2VzXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gICBJbmZvcm1hdGlvbiBQYW5lbCAtIFNoYXJlZCBwYW5lbCBzdHlsaW5nIGZvciBJVCBhZG1pbnMgYW5kIGV4YW1wbGUgdXNlclxyXG4gICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG5cclxuLmluZm8tcGFuZWwge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLWNyZWFtKTtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItc2lkZSk7XHJcbn1cclxuXHJcbi5pbmZvLWl0ZW0ge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG5cdGJvcmRlcjogbm9uZTtcclxuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLWxpZ2h0LXBpbmspO1xyXG5cdGJvcmRlci1yYWRpdXM6IDA7XHJcblx0cGFkZGluZzogMC41cmVtIDA7XHJcblx0bWFyZ2luLWJvdHRvbTogMC41cmVtO1xyXG5cclxuXHQmOmxhc3QtY2hpbGQge1xyXG5cdFx0Ym9yZGVyLWJvdHRvbTogbm9uZTtcclxuXHR9XHJcbn1cclxuXHJcbi5pbmZvLWljb24ge1xyXG5cdHdpZHRoOiA0MHB4O1xyXG5cdGhlaWdodDogNDBweDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icmFuZC1hY2NlbnQtbGlnaHQpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LXdoaXRlKTtcclxuXHRmb250LXNpemU6ICRmcy1zbTtcclxufVxyXG5cclxuLmFkbWluLWF2YXRhciB7XHJcblx0d2lkdGg6IDQwcHg7XHJcblx0aGVpZ2h0OiA0MHB4O1xyXG5cdG9iamVjdC1maXQ6IGNvdmVyO1xyXG5cdGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWJyYW5kLWFjY2VudC1saWdodCk7XHJcbn1cclxuXHJcbi5leGFtcGxlLWxhYmVsIHtcclxuXHRjb2xvcjogdmFyKC0tYnJhbmQtYWNjZW50LWxpZ2h0KTtcclxuXHRmb250LXdlaWdodDogJGZ3LXJlZ3VsYXI7XHJcbn1cclxuXHJcbi5leGFtcGxlLWVtYWlsIHtcclxuXHRjb2xvcjogdmFyKC0tYnJhbmQtYWNjZW50LWxpZ2h0KTtcclxuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcblx0Zm9udC1zaXplOiAkZnMtc207XHJcblxyXG5cdCY6aG92ZXIge1xyXG5cdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcblx0fVxyXG59XHJcblxyXG4vKiBSZXNwb25zaXZlIGluZm8gcGFuZWwgZWxlbWVudHMgKi9cclxuQG1lZGlhIChtYXgtd2lkdGg6IDU3NS45OHB4KSB7XHJcblx0LmluZm8taWNvbiB7XHJcblx0XHR3aWR0aDogMzRweDtcclxuXHRcdGhlaWdodDogMzRweDtcclxuXHRcdGZvbnQtc2l6ZTogJGZzLXhzO1xyXG5cdH1cclxuXHJcblx0LmFkbWluLWF2YXRhciB7XHJcblx0XHR3aWR0aDogMzRweDtcclxuXHRcdGhlaWdodDogMzRweDtcclxuXHR9XHJcblxyXG5cdC5wYXRjaC1ub3RlLWNhcmQge1xyXG5cdFx0cGFkZGluZzogMC42MjVyZW0gMC43NXJlbTtcclxuXHR9XHJcblxyXG5cdC5wYXRjaC1ub3RlLXJlYWQtbW9yZSB7XHJcblx0XHRtaW4taGVpZ2h0OiA0NHB4OyAvKiBXQ0FHIHRvdWNoIHRhcmdldCAqL1xyXG5cdFx0ZGlzcGxheTogaW5saW5lLWZsZXg7XHJcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdH1cclxufVxyXG5cclxuLyogU2Nyb2xsYWJsZSBjb250YWluZXIgd2l0aCBjdXN0b20gc2Nyb2xsYmFyICovXHJcbi5hZG1pbi1zY3JvbGwge1xyXG5cdG1heC1oZWlnaHQ6IDE4MHB4O1xyXG5cdG92ZXJmbG93LXk6IGF1dG87XHJcblx0b3ZlcmZsb3cteDogaGlkZGVuO1xyXG5cdHBhZGRpbmctcmlnaHQ6IDAuNXJlbTtcclxuXHRzY3JvbGxiYXItd2lkdGg6IHRoaW47XHJcblx0c2Nyb2xsYmFyLWNvbG9yOiB2YXIoLS1ib3JkZXItc2lkZSkgdHJhbnNwYXJlbnQ7XHJcblx0QGluY2x1ZGUgY3VzdG9tLXNjcm9sbGJhcih2YXIoLS1ib3JkZXItc2lkZSksIHRyYW5zcGFyZW50KTtcclxufVxyXG5cclxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAgUGF0Y2ggTm90ZXMgU2VjdGlvblxyXG4gICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG5cclxuLnBhdGNoLW5vdGUtY2FyZCB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctY3JlYW0pO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1zaWRlKTtcclxuXHRib3JkZXItcmFkaXVzOiAwLjc1cmVtO1xyXG5cdHBhZGRpbmc6IDAuNzVyZW0gMC45cmVtO1xyXG59XHJcblxyXG4ucGF0Y2gtbm90ZS10aXRsZSB7XHJcblx0Y29sb3I6IHZhcigtLXN0YXR1cy13YXJuaW5nLXJlZCk7XHJcblx0Zm9udC13ZWlnaHQ6ICRmdy1zZW1pYm9sZDtcclxuXHRmb250LXNpemU6ICRmcy1iYXNlO1xyXG59XHJcblxyXG4ucGF0Y2gtbm90ZS1kZXNjIHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1zZWNvbmRhcnkpO1xyXG5cdGZvbnQtc2l6ZTogJGZzLWJhc2U7XHJcbn1cclxuXHJcbi5wYXRjaC1ub3RlLWxpc3Qge1xyXG5cdGZvbnQtc2l6ZTogJGZzLXNtO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRwYWRkaW5nLWxlZnQ6IDFyZW07XHJcblx0bWFyZ2luLXRvcDogMC4zNXJlbTtcclxuXHRtYXJnaW4tYm90dG9tOiAwO1xyXG5cclxuXHRsaSB7XHJcblx0XHRtYXJnaW46IDAuMTVyZW0gMDtcclxuXHR9XHJcbn1cclxuXHJcbi5wYXRjaC1ub3RlLXByZXZpZXcge1xyXG5cdGRpc3BsYXk6IC13ZWJraXQtYm94O1xyXG5cdC13ZWJraXQtbGluZS1jbGFtcDogMjtcclxuXHQtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbn1cclxuXHJcbi5wYXRjaC1ub3RlLXJlYWQtbW9yZSB7XHJcblx0YmFja2dyb3VuZDogbm9uZTtcclxuXHRib3JkZXI6IG5vbmU7XHJcblx0Y29sb3I6IHZhcigtLWJyYW5kLWFjY2VudC1saWdodCk7XHJcblx0Zm9udC1zaXplOiAkZnMtc207XHJcblx0Zm9udC13ZWlnaHQ6ICRmdy1zZW1pYm9sZDtcclxuXHRwYWRkaW5nOiAwO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHR0cmFuc2l0aW9uOiBjb2xvciAwLjE1cyBlYXNlO1xyXG5cclxuXHQmOmhvdmVyIHtcclxuXHRcdGNvbG9yOiB2YXIoLS1icmFuZC1hY2NlbnQtZGFyayk7XHJcblx0fVxyXG5cclxuXHRpIHtcclxuXHRcdGZvbnQtc2l6ZTogJGZzLTN4cztcclxuXHR9XHJcbn1cclxuXHJcbi5wYXRjaC1ub3RlLWZ1bGwtY29udGVudCB7XHJcblx0Zm9udC1zaXplOiAkZnMtYmFzZTtcclxuXHRsaW5lLWhlaWdodDogMS42O1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LXNlY29uZGFyeSk7XHJcblxyXG5cdHVsLFxyXG5cdG9sIHtcclxuXHRcdHBhZGRpbmctbGVmdDogMS4yNXJlbTtcclxuXHRcdG1hcmdpbi1ib3R0b206IDFyZW07XHJcblx0fVxyXG5cclxuXHRsaSB7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAwLjI1cmVtO1xyXG5cdH1cclxuXHJcblx0cCB7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAwLjc1cmVtO1xyXG5cdH1cclxuXHJcblx0YixcclxuXHRzdHJvbmcge1xyXG5cdFx0Y29sb3I6IHZhcigtLXRleHQtZGFyayk7XHJcblx0fVxyXG59XHJcblxyXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gICBHZXR0aW5nLXN0YXJ0ZWQgVmlkZW8gVGFiXHJcbiAgIENlbnRlcnMgdGhlIHBsYXllciBhbmQgY2FwcyBpdHMgd2lkdGggZnJvbSB0aGUgYXZhaWxhYmxlIHZpZXdwb3J0IGhlaWdodCBzbyBhXHJcbiAgIDE2OjkgdmlkZW8gZmlsbHMgYXMgbXVjaCBzcGFjZSBhcyBwb3NzaWJsZSB3aGlsZSBzdGlsbCBmaXR0aW5nIG9uIHNjcmVlblxyXG4gICB3aXRob3V0IHNjcm9sbGluZy4gfjE1cmVtIGlzIHJlc2VydmVkIGZvciB0aGUgYXBwIGhlYWRlciwgdGFiIGJhciwgdGl0bGUgYW5kXHJcbiAgIGRlc2NyaXB0aW9uIHJlbmRlcmVkIGFib3ZlIHRoZSBwbGF5ZXIuXHJcbiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcblxyXG4uaGVscC12aWRlby1wbGF5ZXIge1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdG1heC13aWR0aDogY2FsYygoMTAwdmggLSAxNXJlbSkgKiAxLjc3NzgpO1xyXG59XHJcblxyXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gICBVcGRhdGUgTW9kYWwgLSBGdWxsIHZpZXdwb3J0IG92ZXJsYXlcclxuICAgVXNlcyBzZXBhcmF0ZSBvdmVybGF5IGFuZCBjb250YWluZXIgZm9yIGJldHRlciBzdGFja2luZyBjb250ZXh0IGNvbnRyb2xcclxuICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuXHJcbi51cGRhdGUtbW9kYWwtb3ZlcmxheSB7XHJcblx0QGluY2x1ZGUgbW9kYWwtb3ZlcmxheSgpO1xyXG59XHJcblxyXG4udXBkYXRlLW1vZGFsLWNvbnRhaW5lciB7XHJcblx0b3ZlcmZsb3cteTogYXV0bztcclxuXHRAaW5jbHVkZSBtb2RhbC1jb250YWluZXIoJG1heC13aWR0aDogODAwcHgsICRib3JkZXItcmFkaXVzOiAwLjc1cmVtKTtcclxuXHJcblx0Lm1vZGFsLWNvbnRlbnQge1xyXG5cdFx0Ym9yZGVyOiBub25lO1xyXG5cdFx0Ym94LXNoYWRvdzogbm9uZTtcclxuXHR9XHJcblxyXG5cdC5tb2RhbC1oZWFkZXIge1xyXG5cdFx0cGFkZGluZzogMXJlbSAxLjVyZW0gMC41cmVtO1xyXG5cdH1cclxuXHJcblx0Lm1vZGFsLWJvZHkge1xyXG5cdFx0cGFkZGluZzogMC41cmVtIDEuNXJlbSAxLjVyZW07XHJcblx0fVxyXG5cclxuXHRAbWVkaWEgKG1heC13aWR0aDogNTc1Ljk4cHgpIHtcclxuXHRcdC5tb2RhbC1oZWFkZXIge1xyXG5cdFx0XHRwYWRkaW5nOiAwLjc1cmVtIDFyZW0gMC41cmVtO1xyXG5cdFx0fVxyXG5cclxuXHRcdC5tb2RhbC1ib2R5IHtcclxuXHRcdFx0cGFkZGluZzogMC41cmVtIDFyZW0gMXJlbTtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbiIsIkB1c2UgXCJ0eXBvZ3JhcGh5LXRva2Vuc1wiIGFzICo7XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBNSUNST1NPRlQgTE9HSU4gQlVUVE9OIC0gTG9naW4gYnV0dG9uIHN0eWxpbmdcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi5ncm91cC1zZWxlY3QtbG9naW4tc2VjdGlvbiB7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdHotaW5kZXg6IDE7XHJcblx0cGFkZGluZzogMS41cmVtIDA7XHJcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1zb2Z0KTtcclxuXHRtYXJnaW4tYm90dG9tOiAwO1xyXG59XHJcblxyXG4uZ3JvdXAtc2VsZWN0LWxvZ2luLWJ0biB7XHJcblx0cGFkZGluZzogMC43NXJlbSAycmVtO1xyXG5cdHRyYW5zaXRpb246IGFsbCAwLjM1cyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xyXG5cdGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcblx0Ym94LXNoYWRvdzogMCAzcHggOHB4IHZhcigtLXNoYWRvdy1zbSk7XHJcblx0Zm9udC13ZWlnaHQ6ICRmdy1zZW1pYm9sZDtcclxuXHRib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1ib3JkZXItc29mdCk7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XHJcblxyXG5cdCY6aG92ZXIge1xyXG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0zcHgpO1xyXG5cdFx0Ym94LXNoYWRvdzogMCA2cHggMTZweCB2YXIoLS1zaGFkb3ctbWQpO1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctZ3JheS1saWdodCk7XHJcblx0XHRib3JkZXItY29sb3I6IHZhcigtLWJvcmRlci1saWdodC1waW5rKTtcclxuXHR9XHJcblxyXG5cdCY6YWN0aXZlIHtcclxuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcclxuXHRcdGJveC1zaGFkb3c6IDAgMnB4IDZweCB2YXIoLS1zaGFkb3ctc20pO1xyXG5cdFx0dHJhbnNpdGlvbi1kdXJhdGlvbjogMC4xcztcclxuXHR9XHJcblxyXG5cdCY6Zm9jdXMtdmlzaWJsZSB7XHJcblx0XHRvdXRsaW5lOiAzcHggc29saWQgdmFyKC0tZm9jdXMtcmluZy1icmFuZCk7XHJcblx0XHRvdXRsaW5lLW9mZnNldDogMnB4O1xyXG5cdH1cclxufVxyXG5cclxuLmdyb3VwLXNlbGVjdC1sb2dpbi1pY29uIHtcclxuXHRoZWlnaHQ6IDIwcHg7XHJcblx0d2lkdGg6IGF1dG87XHJcblx0ZmxleC1zaHJpbms6IDA7XHJcbn1cclxuXHJcbiIsIkB1c2UgXCJ0eXBvZ3JhcGh5LXRva2Vuc1wiIGFzICo7XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBTVEFSVCBQQUdFIC0gVGFiIHBhbmUgcGFkZGluZyBvdmVycmlkZVxyXG4gICBNYXRjaCB0aGUgdGlnaHRlciAycmVtIHBhZGRpbmcgdXNlZCBvbiBDbGFzcyBNYW5hZ2VtZW50LiBTZXQgb25cclxuICAgLnN0YXJ0LXBhZ2UgLnJhdGhvLXRhYi12aWV3IHNvIHRoZSBoaWdoZXIgc3BlY2lmaWNpdHkgKDAsMiwwKSBiZWF0cyB0aGVcclxuICAgcmVzcG9uc2l2ZSBtZWRpYSBxdWVyaWVzIGluIHJhdGhvdGFidmlldy5zY3NzIHRoYXQgdGFyZ2V0IHBsYWluXHJcbiAgIC5yYXRoby10YWItdmlldyAoMCwxLDApLlxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLnN0YXJ0LXBhZ2Uge1xyXG4gICAgLyogRmxleC1jb2x1bW4gd3JhcHBlciBzbyB0aGUgaW5uZXIgLnJhdGhvLXRhYi12aWV3J3MgZmxleC1ncm93OjEgKHhsKyxcclxuICAgICAgIE1haW5MYXlvdXQuc2NzcykgYWN0dWFsbHkgZmlsbHMgLnRhYi1tYWluIHZlcnRpY2FsbHkg4oCUIHdpdGhvdXQgdGhpc1xyXG4gICAgICAgbGluayBpbiB0aGUgY2hhaW4gdGhlIHRhYiBjYXJkIHN0b3BzIGF0IGl0cyBjb250ZW50IGhlaWdodCBhbmQgdGhlXHJcbiAgICAgICBib3R0b20gbWlzYWxpZ25zIGZyb20gdGhlIHNpZGViYXIgKG1vc3QgdmlzaWJsZSBmb3Igc3R1ZGVudHMgd2hvc2VcclxuICAgICAgIHNpZGViYXIgaXMgdGFsbGVyIHRoYW4gdGhlIHRhYiBjb250ZW50KS4gbWluLWhlaWdodDowIGxldHMgdGhlIGNvbHVtblxyXG4gICAgICAgc2hyaW5rIGJlbG93IGl0cyBjb250ZW50IGlmIHRoZSB2aWV3cG9ydCBpcyBuYXJyb3cuICovXHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGZsZXgtZ3JvdzogMTtcclxuICAgIG1pbi1oZWlnaHQ6IDA7XHJcbn1cclxuXHJcbi5zdGFydC1wYWdlIC5yYXRoby10YWItdmlldyB7XHJcbiAgICAtLWNvbnRlbnQtcGFkZGluZzogMnJlbTtcclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgU1RBUlQgUEFHRSAtIFRhYiB0aXRsZWJhciBzdHlsaW5nXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKiBUYWIgaW1hZ2UgaWNvbnMgc2hvdWxkIGFwcGVhciBncmV5IHRvIG1hdGNoIEZvbnRBd2Vzb21lIHRhYiBpY29ucyAqL1xyXG4ucmF0aG8tdGFiLXZpZXcgLm5hdi1saW5rIGltZyB7XHJcblx0ZmlsdGVyOiBncmF5c2NhbGUoMSkgYnJpZ2h0bmVzcygwLjU1KTtcclxuXHR0cmFuc2l0aW9uOiBmaWx0ZXIgMC4xNXMgZWFzZTtcclxufVxyXG5cclxuLnJhdGhvLXRhYi12aWV3IC5uYXYtbGluay5hY3RpdmUgaW1nIHtcclxuXHRmaWx0ZXI6IGdyYXlzY2FsZSgxKSBicmlnaHRuZXNzKDAuMzUpO1xyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBTVEFSVCBQQUdFIC0gUmVzcG9uc2l2ZSB0YWIgdGV4dCAoaWNvbi1vbmx5IG9uIHNtYWxsIHNjcmVlbnMpXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKiBEaXNhYmxlZCAoaW5hY3RpdmUpIHRhYnM6IGdyZXllZCBvdXQgYXBwZWFyYW5jZSB3aXRoIG5vdC1hbGxvd2VkIGN1cnNvci5cclxuICAgY3Vyc29yIG11c3QgbGl2ZSBvbiB0aGUgPGxpPiBiZWNhdXNlIDxidXR0b24gZGlzYWJsZWQ+IGJsb2NrcyBwb2ludGVyIGV2ZW50cy4gKi9cclxuLnJhdGhvLXRhYi12aWV3IC5uYXYtaXRlbTpoYXMoLm5hdi1saW5rLmRpc2FibGVkKSB7XHJcblx0Y3Vyc29yOiBub3QtYWxsb3dlZDtcclxufVxyXG5cclxuLnJhdGhvLXRhYi12aWV3IC5uYXYtbGluay5kaXNhYmxlZCB7XHJcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XHJcblx0Y29sb3I6IHZhcigtLWJzLXNlY29uZGFyeS1jb2xvcik7XHJcblx0b3BhY2l0eTogMC41NTtcclxufVxyXG5cclxuLyogT24gZXh0cmEtc21hbGwgc2NyZWVucywgaGlkZSB0YWIgdGV4dCBhbmQgc2hvdyBvbmx5IGljb25zICovXHJcbkBtZWRpYSAobWF4LXdpZHRoOiA1NzUuOThweCkge1xyXG5cdC5yYXRoby10YWItdmlldyAubmF2LWxpbmsge1xyXG5cdFx0LyogUmVtb3ZlIHJpZ2h0IG1hcmdpbiBvbiBpY29uIHdoZW4gdGV4dCBpcyBoaWRkZW4gKi9cclxuXHRcdGkge1xyXG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDA7XHJcblx0XHRcdGZvbnQtc2l6ZTogJGZzLW1kO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcbn1cclxuXHJcbiIsIkB1c2UgXCJ0eXBvZ3JhcGh5LXRva2Vuc1wiIGFzICo7XHJcblxyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4vLyBVbmlmaWVkIEVycm9yIFBhZ2UgTGF5b3V0IC0gUG9ydGFsIEJyYW5kXHJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcblxyXG4uZXJyb3ItcGFnZSB7XHJcbiAgICBtaW4taGVpZ2h0OiA4MHZoO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBwYWRkaW5nOiAzcmVtIDE1cHg7XHJcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1jcmVhbSk7XHJcbn1cclxuXHJcbi5lcnJvci1wYWdlLWNhcmQge1xyXG4gICAgYmFja2dyb3VuZDogdmFyKC0tYmctd2hpdGUpO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLXNpZGUpO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMS4yNXJlbTtcclxuICAgIHBhZGRpbmc6IDNyZW0gMi41cmVtO1xyXG4gICAgYm94LXNoYWRvdzogMCA0cHggMjRweCB2YXIoLS1zaGFkb3ctc20pO1xyXG4gICAgbWF4LXdpZHRoOiA4MDBweDtcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgYW5pbWF0aW9uOiBlcnJvclNsaWRlSW4gMC42cyBlYXNlLW91dDtcclxufVxyXG5cclxuLy8gU3VidGl0bGVcclxuLmVycm9yLXBhZ2Utc3VidGl0bGUge1xyXG4gICAgbWF4LXdpZHRoOiA1MDBweDtcclxufVxyXG5cclxuLy8gSGVybyBpY29uXHJcbi5lcnJvci1wYWdlLWljb24ge1xyXG4gICAgZm9udC1zaXplOiAkZnMtNHhsO1xyXG4gICAgei1pbmRleDogMTtcclxufVxyXG5cclxuLmVycm9yLXBhZ2UtcHVsc2Uge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgd2lkdGg6IDEyMHB4O1xyXG4gICAgaGVpZ2h0OiAxMjBweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWJyYW5kLXByaW1hcnkpO1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIGFuaW1hdGlvbjogZXJyb3JQdWxzZSAycyBlYXNlLW91dCBpbmZpbml0ZTtcclxufVxyXG5cclxuLy8gQWN0aW9uIGNhcmRzIOKAlCBQb3J0YWwtc3BlY2lmaWMgdGhlbWUgb3ZlcnJpZGVzIGZvciBSYXRob0FjdGlvbkNhcmQgd2l0aGluIGVycm9yIHBhZ2VzXHJcbi8vIChiYXNlIHN0eWxlcyBsaXZlIGluIFJhdGhvLlVJLkVtYmVyL3d3d3Jvb3Qvc2Nzcy9jb21wb25lbnRzL2NvbnRlbnQvcmF0aG9hY3Rpb25jYXJkLnNjc3MpXHJcbi5lcnJvci1wYWdlIC5yYXRoby1hY3Rpb24tY2FyZCB7XHJcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1wYW5lbC1jcmVhbSk7XHJcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWJvcmRlci1zb2Z0KTtcclxuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy13aGl0ZSk7XHJcbiAgICAgICAgYm94LXNoYWRvdzogMCA0cHggMTZweCB2YXIoLS1zaGFkb3ctc20pO1xyXG4gICAgfVxyXG5cclxuICAgIC5yYXRoby1hY3Rpb24tY2FyZC1pY29uIHtcclxuICAgICAgICBjb2xvcjogdmFyKC0tYnJhbmQtcHJpbWFyeSk7XHJcbiAgICB9XHJcblxyXG4gICAgLnJhdGhvLWFjdGlvbi1jYXJkLXRpdGxlIHtcclxuICAgICAgICBjb2xvcjogdmFyKC0tdGV4dC1kYXJrKTtcclxuICAgIH1cclxufVxyXG5cclxuLy8gRm9vdGVyXHJcbi5lcnJvci1wYWdlLWZvb3RlciB7XHJcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWJvcmRlci1zb2Z0KSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4vLyBUZWNobmljYWwgZGV0YWlscyBwYW5lbFxyXG4uZXJyb3ItcGFnZS10ZWNobmljYWwtZGV0YWlscyB7XHJcbiAgICBtYXgtd2lkdGg6IDU1MHB4O1xyXG59XHJcblxyXG4vLyBBbmltYXRpb25zXHJcbkBrZXlmcmFtZXMgZXJyb3JTbGlkZUluIHtcclxuICAgIGZyb20ge1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDMwcHgpO1xyXG4gICAgfVxyXG4gICAgdG8ge1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xyXG4gICAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGVycm9yUHVsc2Uge1xyXG4gICAgMCUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC41KTtcclxuICAgICAgICBvcGFjaXR5OiAwLjY7XHJcbiAgICB9XHJcbiAgICAxMDAlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMik7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgIH1cclxufVxyXG5cclxuLy8gT3dsIGlsbHVzdHJhdGlvbiAocmVwbGFjZXMgaWNvbiBmb3IgY2hpbGQgcGFnZXMpXHJcbi5lcnJvci1wYWdlLW93bCB7XHJcbiAgICB3aWR0aDogMTIwcHg7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICBhbmltYXRpb246IGVycm9yT3dsRmxvYXQgM3MgZWFzZS1pbi1vdXQgaW5maW5pdGU7XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgZXJyb3JPd2xGbG9hdCB7XHJcbiAgICAwJSwgMTAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxyXG4gICAgNTAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC04cHgpOyB9XHJcbn1cclxuXHJcbi8vIFJlc3BvbnNpdmVcclxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XHJcbiAgICAuZXJyb3ItcGFnZSB7XHJcbiAgICAgICAgcGFkZGluZzogMnJlbSAxNXB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5lcnJvci1wYWdlLWNhcmQge1xyXG4gICAgICAgIHBhZGRpbmc6IDJyZW0gMS41cmVtO1xyXG4gICAgfVxyXG5cclxuICAgIC5lcnJvci1wYWdlLWFjdGlvbnMge1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICB9XHJcbn1cclxuIiwiQHVzZSBcInR5cG9ncmFwaHktdG9rZW5zXCIgYXMgKjtcclxuXHJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbi8vIE5vUnVwIChPbmJvYXJkaW5nKSBQYWdlIC0gUG9ydGFsIEJyYW5kXHJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcblxyXG4uY3VzdG9tZXItb25ib2FyZGluZy1wYWdlIHtcclxuICAgIHBhZGRpbmc6IDNyZW0gMDtcclxuICAgIG1pbi1oZWlnaHQ6IDg1dmg7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgLm9uYm9hcmRpbmctY2FyZCB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tYmctd2hpdGUpO1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1zaWRlKTtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAxLjI1cmVtO1xyXG4gICAgICAgIHBhZGRpbmc6IDNyZW0gMi41cmVtO1xyXG4gICAgICAgIGJveC1zaGFkb3c6IDAgNHB4IDI0cHggdmFyKC0tc2hhZG93LXNtKTtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICBhbmltYXRpb246IHNsaWRlSW5VcCAwLjhzIGVhc2Utb3V0O1xyXG4gICAgfVxyXG5cclxuICAgIC8vIE1hc2NvdCBpbWFnZVxyXG4gICAgLm9uYm9hcmRpbmctbWFzY290IHtcclxuICAgICAgICB3aWR0aDogMTAwcHg7XHJcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgIGZpbHRlcjogZHJvcC1zaGFkb3coMCA0cHggMTJweCB2YXIoLS1nbG93LWJyYW5kLXhzKSk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gSGVybyBTZWN0aW9uXHJcbiAgICAub25ib2FyZGluZy1oZXJvIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgei1pbmRleDogMTtcclxuXHJcbiAgICAgICAgLmhlcm8tdGl0bGUge1xyXG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tdGV4dC1kYXJrKTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRmdy1ib2xkO1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICRmcy0yeGw7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuaGVyby1zdWJ0aXRsZSxcclxuICAgICAgICAuaGVyby1kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZzLW1kO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogJGxoLW5vcm1hbDtcclxuICAgICAgICAgICAgY29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBGZWF0dXJlIEdyaWRcclxuICAgIC5vbmJvYXJkaW5nLWJlbmVmaXRzIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgei1pbmRleDogMTtcclxuXHJcbiAgICAgICAgaDQge1xyXG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tdGV4dC1kYXJrKTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5iZW5lZml0LWl0ZW0ge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxLjVyZW07XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAuNzVyZW07XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWJnLXBhbmVsLWNyZWFtKTtcclxuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLXNvZnQpO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcblxyXG4gICAgICAgICAgICBoNiB7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLXRleHQtZGFyayk7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHAge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gQ2FsbCB0byBBY3Rpb25cclxuICAgIC5vbmJvYXJkaW5nLWN0YSB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHotaW5kZXg6IDE7XHJcblxyXG4gICAgICAgIGg1IHtcclxuICAgICAgICAgICAgY29sb3I6IHZhcigtLXRleHQtZGFyayk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuY3RhLWJ1dHRvbnMge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBnYXA6IDFyZW07XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XHJcblxyXG4gICAgICAgICAgICAuYnRuIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgZ2FwOiAwLjVyZW07XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwLjYyNXJlbSAxLjVyZW07XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwLjc1cmVtO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XHJcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDE2MHB4O1xyXG5cclxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmFsdGVybmF0aXZlLWxvZ2luIHtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1ib3JkZXItc29mdCkgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIFJlc3BvbnNpdmVcclxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XHJcbiAgICAuY3VzdG9tZXItb25ib2FyZGluZy1wYWdlIHtcclxuICAgICAgICBwYWRkaW5nOiAycmVtIDA7XHJcblxyXG4gICAgICAgIC5vbmJvYXJkaW5nLWNhcmQge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAycmVtIDEuNXJlbTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5vbmJvYXJkaW5nLWhlcm8gLmhlcm8tdGl0bGUge1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICRmcy14bDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiQHVzZSBcImNvbXBvbmVudHMvX2Jhc2Uvc2tlbGV0b24tdmFyc1wiIGFzICo7XHJcblxyXG4vLyBXcmFwcGVyIGFyb3VuZCAuZ3JpZC1zdGFjayB1c2VkIGJ5IFJhdGhvTGlicmFyeUNvbnRlbnQgLyBSYXRob1J1cFRhYldpZGdldENvbnRlbnRcclxuLy8gdG8gc2lnbmFsIGEgYmFja2dyb3VuZCByZWxvYWQgKGZseW91dC1jbG9zZSAvIGVudi1jaGFuZ2UpLiBUaGUgZ3JpZCBzdGF5cyBtb3VudGVkXHJcbi8vIHNvIHRoZSB1c2VyIGtlZXBzIHRoZWlyIHZpc3VhbCBhbmNob3I7IHRoaXMganVzdCBkaW1zIHRoZSBjb250ZW50IHdoaWxlIG5ldyBkYXRhXHJcbi8vIGlzIGZldGNoZWQuIFRyYW5zaXRpb24gaXMgc2hvcnQgc28gdGhlIGRpbSBpcyBwZXJjZWl2ZWQgYXMgYSBoaW50LCBub3QgYSB3YWl0LlxyXG4ucmF0aG9ncmlkc3RhY2staG9zdCB7XHJcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDIwMG1zIGVhc2U7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG5cclxuICAgICYuaXMtcmVsb2FkaW5nIHtcclxuICAgICAgICBvcGFjaXR5OiAwLjU1O1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyBhdWdtZW50cyB0aGUgb3JpZ2luYWwgZ3JpZC1zdGFjayBjbGFzc1xyXG4uZ3JpZC1zdGFjayB7XHJcbiAgICAvLyBBbGxvdyBpbmRpY2F0b3JzIHRvIG92ZXJmbG93IG91dHNpZGUgZ3JpZCBpdGVtc1xyXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XHJcblxyXG4gICAgLy8gQ2FuY2VsIGdyaWRzdGFjaydzIHBlci1pdGVtIGluc2V0IG9uIG91dGVyIGVkZ2VzIHNvIHRoZSBsZWZ0bW9zdC9yaWdodG1vc3RcclxuICAgIC8vIHRpbGUgYWxpZ25zIHdpdGggdGhlIHN1cnJvdW5kaW5nIHRpdGxlYmFyL3NlYXJjaGJhci5cclxuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKHZhcigtLWdzLWl0ZW0tbWFyZ2luLWxlZnQsIDZweCkgKiAtMSk7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IGNhbGModmFyKC0tZ3MtaXRlbS1tYXJnaW4tcmlnaHQsIDZweCkgKiAtMSk7XHJcblxyXG4gICAgLy8gQmFzZSBjYXJkIHN0eWxpbmcgZm9yIGFsbCBSYXRobyBncmlkc3RhY2sgaXRlbXNcclxuICAgIC5ncmlkLXN0YWNrLWl0ZW0ge1xyXG4gICAgICAgIC8vIEFsbG93IGNoaWxkcmVuIHRvIG92ZXJmbG93IChmb3IgbG9jay9kZWxldGUgaW5kaWNhdG9ycylcclxuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcclxuICAgICAgICBjb250YWluZXItdHlwZTogaW5saW5lLXNpemU7XHJcblxyXG4gICAgICAgIC8vIEhpZGUgaXRlbXMgdW50aWwgZ3JpZHN0YWNrLmpzIGhhcyBwb3NpdGlvbmVkIHRoZW0gKHByZXZlbnRzIDAsMCBmbGFzaClcclxuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcblxyXG4gICAgICAgID4gLmdyaWQtc3RhY2staXRlbS1jb250ZW50IHtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMC43NXJlbTsgLy8gYWxpZ25zIHdpdGggQm9vdHN0cmFwIHJvdW5kZWQtMlxyXG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDFweCAzcHggdmFyKC0tc2hhZG93LXNtKTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDE1MG1zIGVhc2UsIGJveC1zaGFkb3cgMTUwbXMgZWFzZTtcclxuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgLy8gT3ZlcnJpZGUgbGlicmFyeSdzIG92ZXJmbG93LXk6IGF1dG8gdG8gcHJldmVudCBzY3JvbGxiYXJzXHJcblxyXG4gICAgICAgICAgICAvLyBTa2VsZXRvbiBwbGFjZWhvbGRlciB3aXRoIHNoaW1tZXIgYW5pbWF0aW9uIHVudGlsIHdpZGdldCBjb250ZW50IHJlbmRlcnNcclxuICAgICAgICAgICAgLy8gVXNlcyBzaGFyZWQgc2tlbGV0b24tc2hpbW1lciBrZXlmcmFtZXMgZnJvbSBTa2VsZXRvbi5zY3NzXHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgJHNrZWxldG9uLWJhc2UgMjUlLCAkc2tlbGV0b24taGlnaGxpZ2h0IDUwJSwgJHNrZWxldG9uLWJhc2UgNzUlKTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAyMDAlIDEwMCU7XHJcbiAgICAgICAgICAgIGFuaW1hdGlvbjogc2tlbGV0b24tc2hpbW1lciAxLjVzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xyXG5cclxuICAgICAgICAgICAgLy8gSGlkZSB3aWRnZXQgY29udGVudCB1bnRpbCBncmlkc3RhY2sgaGFzIHBvc2l0aW9uZWQgaXRlbXNcclxuICAgICAgICAgICAgPiAqIHtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gSG92ZXIgaW50ZXJhY3Rpb246IHN1YnRsZSBsaWZ0IGFuZCBzdHJvbmdlciBzaGFkb3dcclxuICAgICAgICAmOmhvdmVyID4gLmdyaWQtc3RhY2staXRlbS1jb250ZW50IHtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpO1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDhweCAyMHB4IHZhcigtLXNoYWRvdy14bCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIEtpbGwgYWxsIHRyYW5zaXRpb25zIGR1cmluZyBpbml0aWFsIGxheW91dCB0byBwcmV2ZW50IGl0ZW1zIGZseWluZyBmcm9tICgwLDApXHJcbiAgICAmLmdzLW5vLXRyYW5zaXRpb24sXHJcbiAgICAmLmdzLW5vLXRyYW5zaXRpb24gLmdyaWQtc3RhY2staXRlbSxcclxuICAgICYuZ3Mtbm8tdHJhbnNpdGlvbiAuZ3JpZC1zdGFjay1pdGVtLWNvbnRlbnQge1xyXG4gICAgICAgIHRyYW5zaXRpb246IG5vbmUgIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICAvLyBQaGFzZSAxOiBzaG93IHNoaW1tZXIgcGxhY2Vob2xkZXJzIGF0IGNvcnJlY3QgcG9zaXRpb25zXHJcbiAgICAmLmdzLWluaXRpYWxpemVkIC5ncmlkLXN0YWNrLWl0ZW0ge1xyXG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gUGhhc2UgMjogcmV2ZWFsIHdpZGdldCBjb250ZW50IGFuZCBzdG9wIHNoaW1tZXJcclxuICAgICYuZ3MtY29udGVudC1yZWFkeSAuZ3JpZC1zdGFjay1pdGVtID4gLmdyaWQtc3RhY2staXRlbS1jb250ZW50IHtcclxuICAgICAgICBhbmltYXRpb246IG5vbmU7XHJcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcclxuXHJcbiAgICAgICAgPiAqIHtcclxuICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIFdJREdFVCBCQURHRSAtIFNoYXJlZCBiYXNlIGZvciBsb2NrICYgZGVsZXRlIGluZGljYXRvciBiYWRnZXNcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi5ncy13aWRnZXQtYmFkZ2Uge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgei1pbmRleDogMTA7XHJcblxyXG4gICAgLy8gQmFkZ2VzIGFyZSBjbGljayB0YXJnZXRzIGJ1dCBuZXZlciB0ZXh0LS9kcmFnLXNlbGVjdGlvbiB0YXJnZXRzIOKAlCBrZWVwc1xyXG4gICAgLy8gYWNjaWRlbnRhbCBoaWdobGlnaHRzIG9yIGdob3N0LWRyYWdzIGZyb20gaW50ZXJmZXJpbmcgd2l0aCB0aGUgd2lkZ2V0LlxyXG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xyXG5cclxuICAgIC8vIE9yYW5nZSBjaXJjbGUgYmFkZ2Ugd2l0aCB3aGl0ZSBib3JkZXIgLSBzY2FsZXMgd2l0aCB0aWxlIHNpemVcclxuICAgIHdpZHRoOiBjbGFtcCgxLjc1cmVtLCAxN2NxaSwgMy4yNXJlbSk7XHJcbiAgICBoZWlnaHQ6IGNsYW1wKDEuNzVyZW0sIDE3Y3FpLCAzLjI1cmVtKTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWdyYWRpZW50LXN0YXJ0KTtcclxuICAgIGJvcmRlcjogM3B4IHNvbGlkIHZhcigtLWJnLXdoaXRlKTtcclxuXHJcbiAgICAvLyBSZXNldCBidXR0b24gdXNlci1hZ2VudCBwYWRkaW5nIChuby1vcCBmb3Igc3RhdGljIDxkaXY+IHZhcmlhbnRzKS5cclxuICAgIHBhZGRpbmc6IDA7XHJcblxyXG4gICAgLy8gTWF0Y2ggdGhlIGhvdmVyLWxpZnQgdHJhbnNpdGlvbiBvZiAuZ3JpZC1zdGFjay1pdGVtLWNvbnRlbnQgc28gdGhlXHJcbiAgICAvLyBiYWRnZSBtb3ZlcyB3aXRoIGl0cyB0aWxlIGluc3RlYWQgb2Ygc3RheWluZyBiZWhpbmQgb24gaG92ZXIuXHJcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMTUwbXMgZWFzZTtcclxuXHJcbiAgICAvLyBDZW50ZXIgdGhlIGljb25cclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblxyXG4gICAgLy8gV2hpdGUgaWNvbi4gaW5saW5lLWZsZXggKyBhbGlnbi0vanVzdGlmeS1jZW50ZXIgb24gdGhlIDxpPiBpdHNlbGZcclxuICAgIC8vIGJ5cGFzc2VzIEZvbnRBd2Vzb21lIGdseXBoLWJhc2VsaW5lIHF1aXJrcyAocGVuY2lsL3RyYXNoY2FuIHNpdCBsb3dlclxyXG4gICAgLy8gaW4gdGhlaXIgYm91bmRpbmcgYm94IHRoYW4gbG9jayksIHNvIGFsbCB0aHJlZSBiYWRnZXMgbG9vayB2aXN1YWxseVxyXG4gICAgLy8gY2VudGVyZWQuIGxpbmUtaGVpZ2h0OiAxIHN0aWxsIHBpbm5lZCB0byBuZXV0cmFsaXNlIEJvb3RzdHJhcCBidXR0b25cclxuICAgIC8vIHJlc2V0LlxyXG4gICAgaSB7XHJcbiAgICAgICAgY29sb3I6IHZhcigtLXRleHQtd2hpdGUpO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogY2xhbXAoMC43cmVtLCA3LjVjcWksIDEuMjVyZW0pO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gUE5HLWJhc2VkIGJhZGdlcyAobG9jay9kZWxldGUpIGNhcnJ5IHRoZWlyIG93biBvcmFuZ2UgY2lyY2xlICsgd2hpdGVcclxuICAgIC8vIGJvcmRlciBpbiB0aGUgYXNzZXQsIHNvIHRoZSBzdXJyb3VuZGluZyBiYWRnZSBib3ggaXMgdHJhbnNwYXJlbnQgYW5kXHJcbiAgICAvLyB0aGUgaW1hZ2UgZmlsbHMgdGhlIGZ1bGwgY2xhbXAoKS1zaXplZCBib3guXHJcbiAgICAvLyBwb2ludGVyLWV2ZW50czogbm9uZSBsZXRzIGNsaWNrcyBwYXNzIHRvIHRoZSBwYXJlbnQgPGJ1dHRvbj47IHRoZVxyXG4gICAgLy8gLXdlYmtpdC11c2VyLWRyYWcgLyBkcmFnZ2FibGUgaGludCBwcmV2ZW50cyBicm93c2VyIGltYWdlLWRyYWcgZ2hvc3RzLlxyXG4gICAgPiBpbWcge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBvYmplY3QtZml0OiBjb250YWluO1xyXG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgICAgIC13ZWJraXQtdXNlci1kcmFnOiBub25lO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyBAZXh0ZW5kIG9uIHRoZSBpbmRpY2F0b3JzIHBpY2tzIHVwIHRoZSBwYXJlbnQgc2VsZWN0b3IgaGVyZSwgc28gYSBzaW5nbGUgcnVsZVxyXG4vLyBhZ2FpbnN0IC5ncy13aWRnZXQtYmFkZ2UgbGlmdHMgYWxsIHRocmVlIGluZGljYXRvcnMgb24gaG92ZXIuXHJcbi5ncmlkLXN0YWNrLWl0ZW06aG92ZXIgLmdzLXdpZGdldC1iYWRnZSB7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIExPQ0sgSU5ESUNBVE9SIC0gV2lkZ2V0IGxvY2sgYmFkZ2UgYXQgdG9wLXJpZ2h0XHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vLyBFYWNoIGluZGljYXRvciBpcyBvZmZzZXQgYnkgLS1ncy1iYWRnZS1pbnNldCBmcm9tIHRoZSBjb3JyZXNwb25kaW5nIGVkZ2UuXHJcbi8vIFBvc2l0aXZlIHZhbHVlIHNpdHMgdGhlIGJhZGdlIGZ1bGx5IGluc2lkZSB0aGUgdGlsZSBzbyBhZGphY2VudCBiYWRnZXNcclxuLy8gYWNyb3NzIHRoZSBncmlkc3RhY2sgZ3V0dGVyIG5ldmVyIG92ZXJsYXAuIFNjYWxlcyB3aXRoIHRpbGUgd2lkdGggdmlhIGNxaS5cclxuJGdzLWJhZGdlLWluc2V0OiBjbGFtcCgwLjJyZW0sIDFjcWksIDAuNHJlbSk7XHJcblxyXG4uZ3MtbG9jay1pbmRpY2F0b3Ige1xyXG4gICAgQGV4dGVuZCAuZ3Mtd2lkZ2V0LWJhZGdlO1xyXG4gICAgdG9wOiAkZ3MtYmFkZ2UtaW5zZXQ7XHJcbiAgICByaWdodDogJGdzLWJhZGdlLWluc2V0O1xyXG5cclxuICAgIC8vIFBORyBhc3NldCBzdXBwbGllcyBpdHMgb3duIG9yYW5nZSBjaXJjbGUgKyB3aGl0ZSBib3JkZXIg4oCUIHN0cmlwIHRoZVxyXG4gICAgLy8gYmFkZ2UncyBDU1MgYmFja2dyb3VuZC9ib3JkZXIgc28gdGhleSBkb24ndCBkb3VibGUgdXAuXHJcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgYm9yZGVyOiAwO1xyXG5cclxuICAgIC8vIEludGVyYWN0aXZlIGxvY2sgdG9nZ2xlIChyZW5kZXJlZCBhcyA8YnV0dG9uPiBpbiBlZGl0IG1vZGUpXHJcbiAgICAmLS1pbnRlcmFjdGl2ZSB7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgIG91dGxpbmU6IG5vbmU7XHJcblxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBmaWx0ZXI6IGJyaWdodG5lc3MoMC45KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6Zm9jdXMtdmlzaWJsZSB7XHJcbiAgICAgICAgICAgIG91dGxpbmU6IDJweCBzb2xpZCB2YXIoLS1mb2N1cy1yaW5nLWJsdWUpO1xyXG4gICAgICAgICAgICBvdXRsaW5lLW9mZnNldDogMnB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBVbmxvY2tlZCBzdGF0ZTogZGVzYXR1cmF0ZSB0aGUgUE5HIHNvIGl0IHJlYWRzIGFzIGEgc2Vjb25kYXJ5LCBuZXV0cmFsXHJcbiAgICAvLyBpbmRpY2F0b3IgYWdhaW5zdCB0aGUgbG9ja2VkLW9yYW5nZS4gQ29tcG9zZXMgd2l0aCB0aGUgaW50ZXJhY3RpdmVcclxuICAgIC8vIGhvdmVyL2ZvY3VzIGZpbHRlcnMgYmVsb3cgc28gYm90aCBlZmZlY3RzIGFwcGx5IHRvZ2V0aGVyLlxyXG4gICAgJi0tdW5sb2NrZWQge1xyXG4gICAgICAgIGZpbHRlcjogZ3JheXNjYWxlKDEpO1xyXG5cclxuICAgICAgICAmLmdzLWxvY2staW5kaWNhdG9yLS1pbnRlcmFjdGl2ZTpob3ZlciB7XHJcbiAgICAgICAgICAgIGZpbHRlcjogZ3JheXNjYWxlKDEpIGJyaWdodG5lc3MoMC45KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIEVESVQgSU5ESUNBVE9SIC0gV2lkZ2V0IGVkaXQgYnV0dG9uIGF0IHRvcC1sZWZ0IChlZGl0IG1vZGUpXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4uZ3MtZWRpdC1pbmRpY2F0b3Ige1xyXG4gICAgQGV4dGVuZCAuZ3Mtd2lkZ2V0LWJhZGdlO1xyXG4gICAgdG9wOiAkZ3MtYmFkZ2UtaW5zZXQ7XHJcbiAgICBsZWZ0OiAkZ3MtYmFkZ2UtaW5zZXQ7XHJcblxyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgb3V0bGluZTogbm9uZTtcclxuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICBmaWx0ZXI6IGJyaWdodG5lc3MoMC45KTtcclxuICAgIH1cclxuXHJcbiAgICAmOmZvY3VzLXZpc2libGUge1xyXG4gICAgICAgIG91dGxpbmU6IDJweCBzb2xpZCB2YXIoLS1mb2N1cy1yaW5nLWJsdWUpO1xyXG4gICAgICAgIG91dGxpbmUtb2Zmc2V0OiAycHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIERFTEVURSBJTkRJQ0FUT1IgLSBXaWRnZXQgZGVsZXRlIGJ1dHRvbiBhdCBib3R0b20tbGVmdCAoZWRpdCBtb2RlKVxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLmdzLWRlbGV0ZS1pbmRpY2F0b3Ige1xyXG4gICAgQGV4dGVuZCAuZ3Mtd2lkZ2V0LWJhZGdlO1xyXG4gICAgYm90dG9tOiAkZ3MtYmFkZ2UtaW5zZXQ7XHJcbiAgICBsZWZ0OiAkZ3MtYmFkZ2UtaW5zZXQ7XHJcblxyXG4gICAgLy8gUE5HIGFzc2V0IHN1cHBsaWVzIGl0cyBvd24gY2lyY2xlICsgYm9yZGVyIOKAlCBzdHJpcCB0aGUgYmFkZ2UncyBDU1NcclxuICAgIC8vIGJhY2tncm91bmQvYm9yZGVyIHNvIHRoZXkgZG9uJ3QgZG91YmxlIHVwLlxyXG4gICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgIGJvcmRlcjogMDtcclxuXHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIGZpbHRlcjogYnJpZ2h0bmVzcygwLjkpO1xyXG4gICAgfVxyXG5cclxuICAgICY6Zm9jdXMtdmlzaWJsZSB7XHJcbiAgICAgICAgb3V0bGluZTogMnB4IHNvbGlkIHZhcigtLWZvY3VzLXJpbmctYmx1ZSk7XHJcbiAgICAgICAgb3V0bGluZS1vZmZzZXQ6IDJweDtcclxuICAgIH1cclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgUkVTUE9OU0lWRSBBREpVU1RNRU5UUyAtIE1vYmlsZSBndXR0ZXIgdHJpbVxyXG4gICBUaWxlIGNvbnRlbnQgcGFkZGluZyBpcyBmdXJ0aGVyIHJlZHVjZWQgYnkgYXBwbGljYXRpb25zaG9ydGN1dC5zY3NzIGF0IHRoZVxyXG4gICBzYW1lIGJyZWFrcG9pbnQuIEdyaWRzdGFjaydzIDZweCBtYXJnaW4gKHNldCB2aWEgb3B0aW9ucykgaXMgYSBsYXJnZSBmcmFjdGlvblxyXG4gICBvZiBhIH4xMDVweCB0aWxlOyBzaHJpbmsgdGhlIHZpc3VhbCBndXR0ZXIgYnkgY2xpcHBpbmcgaXRlbS1jb250ZW50IHBhZGRpbmcuXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG5AbWVkaWEgKG1heC13aWR0aDogNTc1Ljk4cHgpIHtcclxuICAgIC5ncmlkLXN0YWNrID4gLmdyaWQtc3RhY2staXRlbSA+IC5ncmlkLXN0YWNrLWl0ZW0tY29udGVudCB7XHJcbiAgICAgICAgaW5zZXQ6IDNweDtcclxuICAgIH1cclxufVxyXG4iXX0= */
