@charset "UTF-8";/*!
  Theme Name: SIGNAL
  Version: 0.1.0
  Build: 26.9.20
  Author: Mindful Creative
  Description: Design option 2. A broadcast-console podcast theme built from a blank page — no V1 or V2 markup and no legacy stylesheet. Dark-first with a real light mode. Content is wired through a single seam in inc/content.php.
  License: GNU General Public License v2 or later
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
  Text Domain: signal
  Note: The bang in this comment is load-bearing — cleanCss strips ordinary
        comments, and WordPress would stop recognising the theme.
*/

:root,[data-theme=light]{--bg:#fbfaf7;--bg-2:#ffffff;--section:#ffffff;--wash:#fbfaf7;--bg-3:#e9e8e2;--bg-inset:#0b0b0d;--ink:#0b0b0d;--ink-2:#5c5c66;--ink-3:#8b8b95;--line:rgba(11, 11, 13, .12);--line-2:rgba(11, 11, 13, .22);--line-2-flat:color-mix(in srgb, rgb(11, 11, 13) 35%, #fbfaf7);--accent:#0181dd;--accent-ink:#0166b0;--accent-deep:#0169b6;--accent-2:#d8ecfb;--on-accent:#ffffff;--shadow:0 24px 60px rgba(11, 11, 13, .14);--shadow-card:0 16px 32px rgba(11, 11, 13, .18);--grain:.02;--ticker-fill:rgba(255, 255, 255, .05);color-scheme:light}.inset,[data-theme=dark]{--bg:#08080a;--bg-2:#101014;--section:#101014;--wash:#08080a;--bg-3:#191920;--bg-inset:#000000;--ink:#f4f4f2;--ink-2:#9b9ba6;--ink-3:#6a6a76;--line:rgba(255, 255, 255, .10);--line-2:rgba(255, 255, 255, .18);--line-2-flat:color-mix(in srgb, rgb(255, 255, 255) 18%, #08080a);--accent:#0181dd;--accent-ink:#2a9bea;--accent-deep:#0169b6;--accent-2:#0b2c45;--on-accent:#ffffff;--shadow:0 30px 80px rgba(0, 0, 0, .55);--shadow-card:0 16px 32px rgba(0, 0, 0, .5);--grain:.035;--ticker-fill:rgba(255, 255, 255, .05);color-scheme:dark}:root{--font-display:"Modica Black","Archivo",system-ui,sans-serif;--font-body:"Instrument Sans",system-ui,-apple-system,sans-serif;--font-mono:ui-monospace,"SF Mono","Cascadia Mono",monospace;--nav-h:72px;--dock-h:76px;--ticker-h:clamp(44.1px, 4.284vw, 65.7px);--radius:14px;--radius-lg:24px;--gutter:clamp(1.25rem, 4vw, 4.5rem);--maxw:1560px;--dur:.45s;--dur-fast:.2s}@media (max-width:780px){:root{--ticker-h:clamp(58px, 5.6vw, 86px)}}*,::after,::before{box-sizing:border-box}*{margin:0;padding:0}html{-webkit-text-size-adjust:100%;scroll-behavior:auto}html.is-smooth{scroll-behavior:smooth}html{-webkit-tap-highlight-color:transparent;touch-action:manipulation;overflow-x:clip}body{min-height:100svh;background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:clamp(1rem,.3vw + .93rem,1.0625rem);line-height:1.55;font-synthesis-weight:none;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;transition:background-color var(--dur) cubic-bezier(.22,.61,.36,1),color var(--dur) cubic-bezier(.22,.61,.36,1)}body::after{content:"";position:fixed;inset:0;z-index:9999;pointer-events:none;opacity:var(--grain);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)'/%3E%3C/svg%3E")}canvas,img,svg,video{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button{background:0 0;border:0;cursor:pointer}::-moz-selection{background:var(--accent);color:var(--on-accent)}::selection{background:var(--accent);color:var(--on-accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,::after,::before{animation-duration:0s!important;animation-iteration-count:1!important;transition-duration:0s!important}}.shell{width:min(100% - var(--gutter) * 2,var(--maxw));margin-inline:auto}.shell--narrow{max-width:900px}.skip-link{position:absolute;left:-9999px;top:0;z-index:10000;padding:.75rem 1.5rem;background:var(--accent);color:var(--on-accent);font-weight:700}.skip-link:focus{left:1rem;top:1rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.display,.section__title{font-family:var(--font-display);font-weight:900;line-height:.86;letter-spacing:-.035em;text-transform:uppercase}.eyebrow{display:inline-flex;align-items:center;gap:.6em;font-family:var(--font-mono);font-size:.72rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-2)}.lede{font-size:clamp(1.05rem,.5vw + .95rem,1.3rem);color:var(--ink-2);max-width:54ch}.btn{--btn-bg:transparent;--btn-ink:var(--ink);--btn-line:var(--line-2);position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.75rem;height:54px;padding-inline:2rem;border:1px solid var(--btn-line);border-radius:999px;background:var(--btn-bg);color:var(--btn-ink);font-size:.92rem;font-weight:600;letter-spacing:.01em;white-space:nowrap;overflow:hidden;isolation:isolate;transition:color var(--dur-fast) cubic-bezier(.22,.61,.36,1),border-color var(--dur-fast) cubic-bezier(.22,.61,.36,1),transform var(--dur-fast) cubic-bezier(.22,.61,.36,1)}.btn svg{width:14px;height:14px;flex:none}.btn::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--ink);transform:translateY(101%);transition:transform .38s cubic-bezier(.16,1,.3,1)}.btn:hover{color:var(--bg);border-color:var(--ink)}.btn:hover::before{transform:translateY(0)}.btn:active{transform:scale(.97)}.btn--accent{--btn-bg:var(--accent);--btn-ink:var(--on-accent);--btn-line:var(--accent)}.btn--accent::before{background:var(--ink)}.btn--accent:hover{color:var(--bg);border-color:var(--ink)}.btn--ghost{--btn-line:transparent}.btn__ico{display:grid;place-items:center;width:26px;height:26px;flex:none;border:1px solid currentColor;border-radius:999px}.btn__ico svg{width:13px;height:13px;margin-left:1px}.btn__ico--bare{border:0;margin-right:calc(.75rem * -.75)}.btn__ico--bare svg{width:22px;height:22px;margin-left:0}.section{--section-pad:clamp(4rem, 9vw, 9rem);padding-block:var(--section-pad);background:var(--section);scroll-margin-top:var(--nav-h)}#main>.section:first-child{padding-top:calc(var(--nav-h) + clamp(1.5rem,4vw,3rem))}.section--wash{background:var(--wash);border-block:1px solid var(--line)}.inset{background:var(--bg-inset);color:var(--ink)}.section__head{display:flex;align-items:flex-end;justify-content:space-between}.section__head>.eyebrow:last-child{text-align:right}.section__head{gap:2rem;margin-bottom:clamp(2rem,4vw,4rem)}.section__head>:first-child{min-width:0}.section__head>.btn,.section__head>.rail-nav,.section__head>.section__actions{flex:none}@media (max-width:780px){.section__head{gap:1rem}.section__head>.btn,.section__head>.section__actions .btn{height:44px;padding-inline:1rem;font-size:.85rem}}.section__actions{display:flex;align-items:center;gap:.75rem}.section__title{font-size:clamp(38px,20px + 4.5vw,92px);margin-top:1rem}@media (max-width:780px){input,select,textarea{font-size:max(16px,1em)}}.rule{height:1px;background:var(--line);transform:scaleX(0);transform-origin:left;transition:transform 1.1s cubic-bezier(.16,1,.3,1)}.is-in .rule{transform:scaleX(1)}.plogo{--plogo-h:clamp(15px, 1.5vw, 21px);display:block;height:calc(var(--plogo-h) * var(--scale,1));aspect-ratio:var(--ar,3/1);background:currentColor;color:var(--ink);opacity:.68;-webkit-mask:var(--src) center/contain no-repeat;mask:var(--src) center/contain no-repeat;transition:opacity var(--dur-fast) cubic-bezier(.22,.61,.36,1),color var(--dur-fast) cubic-bezier(.22,.61,.36,1)}@media (max-width:780px){.plogo{--plogo-h:clamp(12px, 4.3vw, 18px)}}.js [data-reveal]{opacity:0;transform:translateY(26px);transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1);transition-delay:calc(var(--d,0) * .08s)}.js [data-reveal].is-in{opacity:1;transform:none}.js [data-reveal-stagger]>*{opacity:0;transform:translateY(30px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1);transition-delay:calc(var(--i,0) * .07s)}.js [data-reveal-stagger].is-in>*{opacity:var(--rest-opacity,1);transform:none}.progress{position:fixed;top:0;left:0;right:0;height:2px;z-index:101;transform-origin:left;transform:scaleX(0);background:var(--accent);pointer-events:none}@supports (animation-timeline:scroll()){.progress{animation:progress linear;animation-timeline:scroll(root block)}}@keyframes progress{from{transform:scaleX(0)}to{transform:scaleX(1)}}.swap{position:relative;display:inline-grid;overflow:hidden;line-height:1.1}.swap>span{grid-area:1/1;transition:transform .42s cubic-bezier(.16,1,.3,1)}.swap>span:last-child{transform:translateY(105%)}.swap:hover>span:first-child{transform:translateY(-105%)}.swap:hover>span:last-child{transform:translateY(0)}.nav{position:fixed;top:0;left:0;width:100%;height:var(--nav-h);z-index:100;transition:background-color var(--dur) cubic-bezier(.22,.61,.36,1),border-color var(--dur) cubic-bezier(.22,.61,.36,1);border-bottom:1px solid transparent}.nav.is-stuck{background:rgba(0,0,0,.95);backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);border-bottom-color:rgba(255,255,255,.12)}.nav.is-stuck .nav__mark{color:#fff}.nav.is-stuck .nav__link{color:rgba(255,255,255,.72)}.nav.is-stuck .nav__link:hover,.nav.is-stuck .nav__link[aria-current]{color:#fff}.nav.is-stuck .burger,.nav.is-stuck .cartpill,.nav.is-stuck .nsearch,.nav.is-stuck .toggle{border-color:rgba(255,255,255,.22);color:#fff}.nav.is-stuck .cartpill__n{box-shadow:0 0 0 2px #000}.nav.is-stuck .nsearch:focus-within,.nav.is-stuck .nsearch:hover{border-color:var(--accent)}.nav.is-stuck .nsearch:focus-within .nsearch__btn,.nav.is-stuck .nsearch:hover .nsearch__btn{color:var(--accent-ink)}@media (hover:hover) and (pointer:fine){.nav.is-stuck .cartpill:hover,.nav.is-stuck .toggle:hover{border-color:var(--accent);color:var(--accent-ink)}}.nav.is-stuck .burger span,.nav.is-stuck .burger span::after,.nav.is-stuck .burger span::before{background:#fff}.nav.is-stuck .nsearch input{color:#fff}.nav.is-stuck .nsearch__btn{color:rgba(255,255,255,.72)}.nav.is-stuck .nsearch.is-open{background:#000}.nav.is-stuck .nsearch input::-moz-placeholder{color:rgba(255,255,255,.45)}.nav.is-stuck .nsearch input::placeholder{color:rgba(255,255,255,.45)}.nav__inner{width:min(100% - var(--gutter) * 2,var(--maxw));height:100%;margin-inline:auto;display:flex;align-items:center;gap:clamp(1rem,3vw,3rem)}.nav__mark{flex:none;display:inline-flex;align-items:center;gap:.75rem;font-family:var(--font-display);font-size:1.05rem;font-weight:900;letter-spacing:-.02em;text-transform:uppercase}.nav__mark img{height:30px;width:auto}.nav__name{font-family:var(--font-display);font-size:clamp(1rem,2.2vw,1.35rem);letter-spacing:-.01em;white-space:nowrap;color:inherit}.nav__logo{--logo-h:clamp(19.36px, 2.42vw, 26.62px);--logo-ratio:1188.57/107.69;display:block;height:calc(var(--logo-h) + 1px);width:calc(var(--logo-h) * (var(--logo-ratio)) + 1px);background:currentColor;-webkit-mask:var(--src) center/auto var(--logo-h) no-repeat;mask:var(--src) center/auto var(--logo-h) no-repeat}.nav__menu{display:flex;align-items:center;gap:clamp(.75rem,1.8vw,2rem);list-style:none;margin-inline:auto}@media (max-width:1080px){.nav__menu{display:none}}.nav__link{position:relative;padding:.5rem 0;font-size:.85rem;font-weight:500;letter-spacing:.02em;color:var(--ink-2);transition:color var(--dur-fast) cubic-bezier(.22,.61,.36,1)}.nav__link::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--accent);transform:scaleX(0);transition:transform .3s cubic-bezier(.16,1,.3,1)}.nav__link:hover,.nav__link[aria-current]{color:var(--ink)}.nav__link:hover::after,.nav__link[aria-current]::after{transform:scaleX(1)}.nav__tools{flex:none;display:flex;align-items:center;gap:.75rem;margin-left:auto}.cartpill{position:relative;width:42px;height:42px;flex:none;display:grid;place-items:center;border:1px solid var(--line);border-radius:999px;color:var(--ink);overflow:visible;transition:border-color var(--dur-fast) cubic-bezier(.22,.61,.36,1),color var(--dur-fast) cubic-bezier(.22,.61,.36,1),width .35s cubic-bezier(.16,1,.3,1),margin .35s cubic-bezier(.16,1,.3,1),opacity .3s cubic-bezier(.22,.61,.36,1)}.cartpill.is-empty{width:0;margin-left:-.75rem;opacity:0;border-color:transparent;pointer-events:none;overflow:hidden}.cartpill svg{width:18px;height:18px}.cartpill__n{position:absolute;top:-5px;right:-5px;min-width:19px;height:19px;padding-inline:5px;display:grid;place-items:center;overflow:hidden;border-radius:999px;background:var(--accent);color:var(--on-accent);font-family:var(--font-mono);font-size:.66rem;font-weight:700;line-height:1;font-variant-numeric:tabular-nums;box-shadow:0 0 0 2px var(--bg)}.cartpill__v{grid-area:1/1;display:block;will-change:transform,opacity}.cartpill__v.is-out-up{animation:cartpill-out-up .32s cubic-bezier(.16,1,.3,1) forwards}.cartpill__v.is-in-up{animation:cartpill-in-up .32s cubic-bezier(.16,1,.3,1)}.cartpill__v.is-out-down{animation:cartpill-out-down .32s cubic-bezier(.16,1,.3,1) forwards}.cartpill__v.is-in-down{animation:cartpill-in-down .32s cubic-bezier(.16,1,.3,1)}@media (hover:hover) and (pointer:fine){.cartpill:hover{border-color:var(--accent);color:var(--accent-ink)}}@keyframes cartpill-out-up{to{transform:translateY(-110%);opacity:0}}@keyframes cartpill-in-up{from{transform:translateY(110%);opacity:0}}@keyframes cartpill-out-down{to{transform:translateY(110%);opacity:0}}@keyframes cartpill-in-down{from{transform:translateY(-110%);opacity:0}}.toggle{position:relative;width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--line);border-radius:999px;color:var(--ink);transition:border-color var(--dur-fast) cubic-bezier(.22,.61,.36,1),transform var(--dur-fast) cubic-bezier(.22,.61,.36,1)}@media (hover:hover) and (pointer:fine){.toggle:hover{border-color:var(--accent);color:var(--accent-ink);transform:rotate(18deg)}}.toggle svg{position:absolute;width:17px;height:17px;transition:opacity var(--dur-fast) cubic-bezier(.22,.61,.36,1),transform .4s cubic-bezier(.16,1,.3,1)}.toggle .i-sun{opacity:1;transform:rotate(0) scale(1)}.toggle .i-moon{opacity:0;transform:rotate(-90deg) scale(.4)}[data-theme=light] .toggle .i-sun{opacity:0;transform:rotate(90deg) scale(.4)}[data-theme=light] .toggle .i-moon{opacity:1;transform:rotate(0) scale(1)}.nsearch-slot{position:relative;width:42px;height:42px;flex:none}@media (max-width:1080px){.nsearch-slot{display:none}}.nsearch{position:absolute;top:0;right:0;display:flex;align-items:center;width:42px;height:42px;border:1px solid var(--line);border-radius:999px;background:0 0;overflow:hidden;transition:width .45s cubic-bezier(.16,1,.3,1),border-color var(--dur-fast) cubic-bezier(.22,.61,.36,1),background-color var(--dur-fast) cubic-bezier(.22,.61,.36,1)}.nsearch:focus-within,.nsearch:hover{border-color:var(--accent)}.nsearch.is-open{width:clamp(200px,21vw,290px);background:var(--bg)}.nsearch input{flex:1;min-width:0;width:0;height:100%;padding:0;border:0;background:0 0;color:var(--ink);font-size:.88rem;opacity:0;transition:opacity .25s cubic-bezier(.22,.61,.36,1),padding .45s cubic-bezier(.16,1,.3,1)}.nsearch input::-moz-placeholder{color:var(--ink-3)}.nsearch input::placeholder{color:var(--ink-3)}.nsearch input:focus-visible{outline:0}.nsearch.is-open input{opacity:1;padding-left:1rem}.nsearch__btn{display:grid;place-items:center;width:40px;height:40px;flex:none;border:0;border-radius:999px;background:0 0;color:var(--ink-2);transition:color var(--dur-fast) cubic-bezier(.22,.61,.36,1)}.nsearch__btn svg{width:19.2px;height:19.2px}.nsearch:focus-within .nsearch__btn,.nsearch:hover .nsearch__btn{color:var(--accent-ink)}input[type=search]::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none;width:20.4px;height:20.4px;background:currentColor;color:var(--ink-3);cursor:pointer;margin-right:-.6rem;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 5l14 14M19 5L5 19' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 5l14 14M19 5L5 19' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat;-webkit-transition:color var(--dur-fast) cubic-bezier(.22,.61,.36,1);transition:color var(--dur-fast) cubic-bezier(.22,.61,.36,1)}@media (hover:hover) and (pointer:fine){input[type=search]::-webkit-search-cancel-button:hover{color:var(--ink)}}.dsearch{display:flex;align-items:center;height:54px;margin-bottom:2rem;border:1px solid var(--line);border-radius:999px;background:0 0;overflow:hidden;transition:border-color var(--dur-fast) cubic-bezier(.22,.61,.36,1)}.dsearch:focus-within,.dsearch:hover{border-color:var(--accent)}.dsearch input{flex:1;min-width:0;height:100%;padding-inline:1.5rem;border:0;background:0 0;color:var(--ink)}.dsearch input::-moz-placeholder{color:var(--ink-3)}.dsearch input::placeholder{color:var(--ink-3)}.dsearch input:focus-visible{outline:0}.dsearch button{display:grid;place-items:center;width:52px;height:52px;flex:none;margin-right:1px;border-radius:999px;background:0 0;color:var(--ink-2);transition:color var(--dur-fast) cubic-bezier(.22,.61,.36,1)}.dsearch button svg{width:20.4px;height:20.4px}.dsearch:focus-within button,.dsearch:hover button{color:var(--accent-ink)}.burger{display:none;width:42px;height:42px;place-items:center;border:1px solid var(--line);border-radius:999px}@media (max-width:1080px){.burger{display:grid}}.burger span{position:relative;display:block;width:16px;height:1.5px;background:var(--ink);transition:transform .3s cubic-bezier(.22,.61,.36,1),opacity .2s cubic-bezier(.22,.61,.36,1)}.burger span::after,.burger span::before{content:"";position:absolute;left:0;width:16px;height:1.5px;background:var(--ink);transition:transform .3s cubic-bezier(.16,1,.3,1),top .3s cubic-bezier(.22,.61,.36,1),bottom .3s cubic-bezier(.22,.61,.36,1)}.burger span::before{top:-5px}.burger span::after{bottom:-5px}.burger[aria-expanded=true] span::before{top:0;transform:rotate(45deg)}.burger[aria-expanded=true] span::after{bottom:0;transform:rotate(-45deg)}@media (hover:hover) and (pointer:fine){.nav .burger:hover{border-color:var(--accent)}.nav .burger:hover span::after,.nav .burger:hover span::before{background:var(--accent-ink)}.nav .burger:hover:not([aria-expanded=true]) span{background:var(--accent-ink)}}.nav .burger[aria-expanded=true]{border-color:var(--accent)}.nav .burger[aria-expanded=true] span{background:0 0}.nav .burger[aria-expanded=true] span::after,.nav .burger[aria-expanded=true] span::before{background:var(--accent-ink)}.drawer{position:fixed;inset:0;z-index:99;display:grid;align-content:center;padding:var(--nav-h) var(--gutter) 4rem;background:var(--bg);clip-path:inset(0 0 100% 0);transition:clip-path .6s cubic-bezier(.16,1,.3,1);pointer-events:none}.drawer.is-open{clip-path:inset(0 0 0 0);pointer-events:all}.drawer ul{list-style:none}.drawer li{overflow:hidden;border-bottom:1px solid var(--line)}.drawer li:last-child{border-bottom:0}.drawer a{display:block;padding:1rem 0;font-family:var(--font-display);font-size:clamp(30px,19.3333333333px + 2.6666666667vw,62px);font-weight:900;line-height:1;text-transform:uppercase;letter-spacing:-.03em;transform:translateY(110%);transition:transform .6s cubic-bezier(.16,1,.3,1) calc(var(--i,0) * .05s),color var(--dur-fast) cubic-bezier(.22,.61,.36,1)}.drawer a:hover,.drawer a[aria-current]{color:var(--accent-ink)}.drawer.is-open a{transform:translateY(0)}.hapt{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--line);color:var(--ink);font-family:var(--font-display);font-size:clamp(.9rem,1.1vw,1.15rem);font-weight:900;line-height:1;letter-spacing:-.01em;text-transform:uppercase;font-variant-numeric:tabular-nums}.hapt__track{position:relative;flex:none;width:46px;height:26px;border-radius:999px;background:var(--line-2);transition:background var(--dur-fast) cubic-bezier(.22,.61,.36,1)}.hapt__thumb{position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:999px;background:var(--bg);transition:translate var(--dur-fast) cubic-bezier(.22,.61,.36,1)}.hapt[aria-checked=true] .hapt__track{background:var(--accent)}.hapt[aria-checked=true] .hapt__thumb{translate:20px 0}.drawer .hapt{opacity:0;transition:opacity .4s cubic-bezier(.22,.61,.36,1) .35s}.drawer.is-open .hapt{opacity:1}.hero{--photo-w:min(clamp(372px, 48.8vw, 804px), 80.4svh)}.hero--404,.hero--no-ticker{--ticker-h:0px}.hero{position:relative;min-height:calc(100svh + var(--ticker-h));display:grid;grid-template-rows:1fr auto;padding-top:calc(var(--nav-h) + clamp(.5rem,2vw,1.5rem));padding-bottom:calc(clamp(4rem,7vh,6rem) + var(--ticker-h));overflow:hidden;--bloom:34%}.hero::before{display:none;content:"";position:absolute;top:-20%;left:50%;width:min(120vw,1400px);aspect-ratio:1;background:radial-gradient(circle,color-mix(in srgb,var(--accent) var(--bloom),transparent) 0,transparent 62%);pointer-events:none;translate:-50% 0;animation:bloom-drift 53s ease-in-out infinite,bloom-pulse 37s ease-in-out infinite alternate}@media (max-width:780px){.hero{--bloom:48%}}.hero__inner{position:relative;z-index:2;width:min(100% - var(--gutter) * 2,var(--maxw));margin-inline:auto;display:contents}.hero__photo{position:absolute;right:0;bottom:0;z-index:2;width:var(--photo-w);pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.hero__photo picture{display:block}@media (min-width:781px){.hero__photo::after{content:"";position:absolute;left:0;right:0;bottom:0;height:var(--ticker-h);pointer-events:auto}}.hero__photo img{display:block;width:100%;height:auto}@media (max-width:780px){.hero__photo{width:138.32vw;right:0;transform:translateX(50%);opacity:.22}}.hero__title{grid-row:1;align-self:center;width:min(100% - var(--gutter) * 2,var(--maxw));margin-inline:auto;position:relative;z-index:2;font-family:var(--font-display);font-weight:900;font-size:min(12.5vw,18svh,190px);line-height:.82;letter-spacing:-.045em;text-transform:uppercase}@media (min-width:781px){.hero__title{font-size:min((100vw - var(--photo-w) - var(--gutter) - 1.5rem) / 5.6,19svh,190px)}}.hero__word{display:block;overflow:hidden;padding-bottom:.14em;margin-bottom:-.14em}.hero__word>span{display:block;transform:translateY(120%);transition:transform 1s cubic-bezier(.16,1,.3,1) calc(var(--i,0) * .09s)}.is-ready .hero__word>span{transform:translateY(0)}.hero__word--hollow>span{color:transparent;-webkit-text-stroke:clamp(1px,.12vw,3px) var(--ink)}.hero__word--accent>span{color:var(--accent-ink)}.hero__foot{grid-row:2;width:min(100% - var(--gutter) * 2,var(--maxw));margin-inline:auto;position:relative;z-index:2;display:grid;justify-items:start;gap:clamp(1.25rem,2.5vh,1.75rem);padding-top:clamp(1rem,3vh,2rem)}.hero__logos{display:flex;align-items:center;flex-wrap:nowrap;gap:calc(clamp(1.25rem,2.4vw,2.75rem) - 2px);list-style:none;margin-bottom:clamp(.25rem,1vh,.75rem)}.hero__logos>li{min-width:0}@media (max-width:780px){.hero__logos{gap:clamp(.5rem,2.8vw,1.25rem)}}.hero__blurb{font-size:clamp(1rem,.45vw + .9rem,1.2rem);color:var(--ink-2);max-width:46ch}.hero__cta{display:flex;gap:.75rem;flex-wrap:wrap}.hero__cta .btn:not(.btn--accent){--btn-line:var(--line-2-flat)}.hero>.ticker{position:absolute;left:0;right:0;bottom:0;z-index:1}@media (max-width:780px){.hero{display:flex;flex-direction:column;justify-content:center;gap:1.5rem}.hero .hero__foot,.hero .hero__title{align-self:stretch;padding-top:0}}@keyframes bloom-drift{0%{translate:-50% 0}23%{translate:-40% 5%}41%{translate:-59% 9%}64%{translate:-44% -4%}83%{translate:-57% 3%}100%{translate:-50% 0}}@keyframes bloom-pulse{from{scale:1;opacity:.62}to{scale:1.28;opacity:.9}}.wave{display:flex;align-items:center;gap:3px;height:34px}.wave span{width:3px;height:30%;border-radius:2px;background:var(--accent);opacity:.85;animation:wave 1.1s cubic-bezier(.22,.61,.36,1) infinite alternate;animation-delay:calc(var(--i) * -.09s)}.wave--muted span{background:var(--ink-3)}@keyframes wave{from{height:14%}to{height:100%}}.cue{position:absolute;left:50%;bottom:calc(1rem + var(--ticker-h));transform:translateX(-50%);z-index:2;display:grid;justify-items:center;gap:.5rem;font-family:var(--font-mono);font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-3);transition:opacity .5s cubic-bezier(.22,.61,.36,1),visibility .5s,color var(--dur-fast) cubic-bezier(.22,.61,.36,1);padding-inline:1rem}@media (hover:hover) and (pointer:fine){.cue:hover{color:var(--ink)}}.cue.is-spent{opacity:0;visibility:hidden}.cue::after{content:"";width:1px;height:42px;background:linear-gradient(var(--ink-3),transparent);animation:drop 2.2s cubic-bezier(.22,.61,.36,1) infinite}@media (max-width:780px){.cue{font-size:.58rem;gap:.25rem}.cue::after{height:26px}}@keyframes drop{0%{transform:scaleY(0);transform-origin:top}45%{transform:scaleY(1);transform-origin:top}55%{transform:scaleY(1);transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}.ticker{position:relative;display:flex;align-items:center;height:var(--ticker-h);border-bottom:1px solid var(--line);background:var(--ticker-fill);backdrop-filter:blur(14px);overflow:hidden}.ticker__viewport{flex:1;min-width:0;display:flex;align-items:center;overflow:hidden;mask-image:none;-webkit-mask-image:none}.ticker__track{display:flex;width:-moz-max-content;width:max-content;flex:none;animation:marquee 42s linear infinite}.ticker:hover .ticker__track{animation-play-state:paused}.ticker__set{display:flex;align-items:center;flex:none}.ticker__item{display:inline-flex;align-items:center;gap:2rem;padding-inline:0 2rem;font-family:var(--font-display);font-size:clamp(.592rem,1.458vw - 1.215px,1.2rem)}@media (max-width:780px){.ticker__item{font-size:clamp(.975rem,2.4vw - 2px,1.975rem)}}.ticker__item{font-weight:900;text-transform:uppercase;letter-spacing:-.02em;white-space:nowrap;-webkit-text-stroke:0;transition:color var(--dur-fast) cubic-bezier(.22,.61,.36,1);color:var(--ink)}.ticker__item:hover{color:var(--accent)}.ticker__item:nth-child(even){color:var(--accent)}.ticker__item:nth-child(even):hover{color:var(--ink)}.ticker__item .ticker__sep{font-style:normal;flex:none;font-weight:400;color:color-mix(in srgb,var(--ink) 25%,transparent);-webkit-text-stroke:0}.ticker--reverse .ticker__track{animation-direction:reverse}@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}.index{position:relative;border-top:1px solid var(--line);transition:border-color .8s linear .1s}.index:has(>.ep:first-of-type.is-on){border-top-color:transparent}.index{--ep-w:clamp(232px, 23.4vw, 320px)}.ep{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;grid-template-rows:auto auto auto;align-items:center;-moz-column-gap:clamp(1.25rem,2.6vw,2.5rem);column-gap:clamp(1.25rem,2.6vw,2.5rem);row-gap:0;padding-block:clamp(1.5rem,2.6vw,2.5rem);border-bottom:1px solid var(--line);isolation:isolate;z-index:1;transition:color var(--dur-fast) cubic-bezier(.22,.61,.36,1),border-color .8s linear .1s}@media (max-width:780px){.ep{grid-template-columns:auto minmax(0,1fr);-moz-column-gap:1rem;column-gap:1rem}}.ep::before{content:"";position:absolute;inset:0 calc(var(--gutter) * -.5);z-index:-1;background:var(--accent-deep);transform:scaleY(0);transform-origin:bottom;transition:transform .4s cubic-bezier(.16,1,.3,1)}@media (hover:hover) and (pointer:fine){.ep:hover{color:var(--on-accent)}.ep:hover::before{transform:scaleY(1)}}@media (max-width:780px){.ep:last-child{border-bottom:0}}.ep.is-on .ep__thumb{transform:scale(.94)}.ep.is-on .ep__go{transform:rotate(-45deg)}.ep.is-on,.ep:has(+.ep.is-on){border-bottom-color:transparent}.ep__no{grid-column:1;grid-row:1/span 3;font-family:var(--font-mono);font-size:.78rem;color:var(--ink-3);font-variant-numeric:tabular-nums;transition:color var(--dur-fast) cubic-bezier(.22,.61,.36,1)}@media (hover:hover) and (pointer:fine){.ep:hover .ep__no{color:color-mix(in srgb,var(--on-accent) 82%,transparent)}}.ep__thumb{grid-column:1;grid-row:1/span 3;align-self:center;width:var(--ep-w);aspect-ratio:16/9;border-radius:10px;overflow:hidden;background:var(--bg-3);transition:transform .42s cubic-bezier(.16,1,.3,1)}.ep__thumb img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transform:scale(1) translateZ(0);backface-visibility:hidden;will-change:transform;transition:transform .6s cubic-bezier(.22,.61,.36,1),opacity .4s cubic-bezier(.22,.61,.36,1),filter .4s cubic-bezier(.22,.61,.36,1)!important}@media (hover:hover) and (pointer:fine){.ep:hover .ep__thumb img{transform:scale(1.06) translateZ(0)}}@media (max-width:780px){.ep__thumb{width:min(var(--ep-w),40vw)}}@media (max-width:520px){.ep__thumb{width:38vw}}.ep__ep{grid-column:2;grid-row:1;align-self:end;font-family:var(--font-display);font-size:clamp(.9rem,1.1vw,1.15rem);font-weight:900;line-height:1;letter-spacing:-.01em;text-transform:uppercase;font-variant-numeric:tabular-nums;color:var(--accent-ink);margin-bottom:.3em}@media (max-width:780px){.ep__ep{font-size:.84rem}}@media (hover:hover) and (pointer:fine){.ep:hover .ep__ep{color:color-mix(in srgb,var(--on-accent) 88%,transparent)}}.ep__title{grid-column:2;grid-row:2;align-self:start;font-family:var(--font-display);font-size:clamp(20px,13.3333333333px + 1.6666666667vw,40px);font-weight:900;line-height:1.05;letter-spacing:-.03em;text-transform:uppercase}@media (max-width:780px){.ep__title{font-size:clamp(1.02rem,3.4vw,1.35rem);line-height:1.05}}.ep__excerpt{grid-column:2;grid-row:3;align-self:start;max-width:68ch;margin-top:.5em;font-size:.95rem;line-height:1.5;color:var(--ink-2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}@media (hover:hover) and (pointer:fine){.ep:hover .ep__excerpt{color:color-mix(in srgb,var(--on-accent) 82%,transparent)}}@media (max-width:780px){.ep__excerpt{display:none}}.ep__ep,.ep__excerpt,.ep__title{transition:transform .4s cubic-bezier(.16,1,.3,1),color var(--dur-fast) cubic-bezier(.22,.61,.36,1)}@media (hover:hover) and (pointer:fine){.ep:hover .ep__ep,.ep:hover .ep__excerpt,.ep:hover .ep__title{transform:translateX(clamp(.5rem,1.5vw,1.5rem))}}.ep__meta{grid-column:3;grid-row:1/span 3;font-family:var(--font-mono);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);white-space:nowrap;transition:color var(--dur-fast) cubic-bezier(.22,.61,.36,1)}@media (hover:hover) and (pointer:fine){.ep:hover .ep__meta{color:var(--on-accent)}}@media (max-width:780px){.ep__meta{grid-column:2;grid-row:3;align-self:start;margin-top:.4em;font-family:var(--font-body);font-size:.86rem;font-weight:400;letter-spacing:0;line-height:1.45;text-transform:none;white-space:normal;color:var(--ink-2)}}.ep__go{grid-column:4;grid-row:1/span 3;display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--line-2);border-radius:999px;transition:background-color var(--dur-fast) cubic-bezier(.22,.61,.36,1),border-color var(--dur-fast) cubic-bezier(.22,.61,.36,1),transform .4s cubic-bezier(.16,1,.3,1)}.ep__go svg{width:15px;height:15px}@media (hover:hover) and (pointer:fine){.ep:hover .ep__go{background:var(--on-accent);border-color:var(--on-accent);color:var(--accent-ink);transform:rotate(-45deg)}}@media (max-width:780px){.ep__go{display:none}}.flow-marker{position:absolute;top:0;left:calc(var(--gutter) * -.35);right:calc(var(--gutter) * -.35);z-index:0;box-sizing:border-box;height:var(--mk-h,0);transform:translateY(var(--mk-y,0));border:3px solid var(--accent);border-radius:14px;opacity:0;pointer-events:none;transition:transform .42s cubic-bezier(.16,1,.3,1),height .42s cubic-bezier(.16,1,.3,1),opacity .3s cubic-bezier(.22,.61,.36,1)}.index.is-flowing .flow-marker{opacity:1}.shorts{position:relative}.shorts__rail{display:flex;gap:clamp(.75rem,1.4vw,1.25rem);overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding-top:28px;padding-bottom:56px;margin-top:-28px;margin-bottom:-56px;padding-left:max(var(--gutter),(100vw - var(--maxw)) / 2);scroll-padding-left:max(var(--gutter),(100vw - var(--maxw)) / 2);padding-right:var(--gutter);scrollbar-width:none;-ms-overflow-style:none}.shorts__rail::-webkit-scrollbar{display:none}.shorts__rail.is-dragging{scroll-behavior:auto;scroll-snap-type:none;cursor:grabbing}.shorts__rail.is-dragging .short{pointer-events:none}.shorts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,200px),1fr));gap:clamp(1rem,2vw,2rem)}@media (max-width:520px){.shorts-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}}.shorts-grid .short{width:auto;scroll-snap-align:none}.short{position:relative;flex:none;width:clamp(180px,19vw,260px);scroll-snap-align:start}@media (max-width:780px){.short{width:56vw}}.short{border-radius:var(--radius);overflow:hidden;background:var(--bg-3);transition:transform .45s cubic-bezier(.16,1,.3,1),box-shadow .45s cubic-bezier(.16,1,.3,1)}.short__media{position:relative;aspect-ratio:2/3;overflow:hidden}.short__media img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transform:scale(1) translateZ(0);backface-visibility:hidden;will-change:transform;transition:transform .6s cubic-bezier(.22,.61,.36,1),opacity .4s cubic-bezier(.22,.61,.36,1),filter .4s cubic-bezier(.22,.61,.36,1)!important}.short__media::after{content:"";position:absolute;inset:40% 0 0 0;background:linear-gradient(transparent,rgba(0,0,0,.78))}@media (hover:hover) and (pointer:fine){.short:hover{transform:translateY(-6px);box-shadow:var(--shadow-card)}.short:hover .short__media img{transform:scale(1.07) translateZ(0)}.short:hover .short__play{transform:translate(-50%,-50%) scale(1);opacity:1}}@media (max-width:780px){.short{scroll-snap-stop:always}.short::after{content:"";position:absolute;inset:0;z-index:3;border:3px solid transparent;border-radius:inherit;pointer-events:none;transition:border-color var(--dur-fast) cubic-bezier(.22,.61,.36,1)}.short.is-active::after{border-color:var(--accent)}}.short__play{position:absolute;left:50%;top:50%;z-index:2;display:grid;place-items:center;width:54px;height:54px;border-radius:999px;background:var(--accent);color:var(--on-accent);transform:translate(-50%,-50%) scale(.6);opacity:0;transition:transform .4s cubic-bezier(.16,1,.3,1),opacity .3s cubic-bezier(.22,.61,.36,1)}.short__play svg{width:16px;height:16px;margin-left:2px}.short__body{position:absolute;inset:auto 0 0 0;z-index:2;padding:1rem;display:grid;gap:2px}.short__title{font-family:var(--font-display);font-size:.95rem;font-weight:900;line-height:1.05;letter-spacing:-.015em;text-transform:uppercase;color:#fff;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.short__meta{font-family:var(--font-display);font-size:clamp(.9rem,1.1vw,1.15rem);font-weight:900;line-height:1;letter-spacing:-.01em;text-transform:uppercase;font-variant-numeric:tabular-nums;justify-self:start;padding:.16em .62em;margin-bottom:.3em;border-radius:999px;background:var(--accent);color:#fff}@media (max-width:780px){.short__meta{padding-inline:calc(.62em - 2px)}}.rail-nav{display:flex;gap:.5rem}@media (hover:none){.rail-nav{display:none}}.rail-nav button{display:grid;place-items:center;width:46px;height:46px;border:1px solid var(--line);border-radius:999px;color:var(--ink);transition:border-color var(--dur-fast) cubic-bezier(.22,.61,.36,1),color var(--dur-fast) cubic-bezier(.22,.61,.36,1),opacity var(--dur-fast) cubic-bezier(.22,.61,.36,1)}.rail-nav button svg{width:15px;height:15px}.rail-nav button:hover:not(:disabled){border-color:var(--accent);color:var(--accent-ink)}.rail-nav button:disabled{opacity:.3;cursor:default}.rail-nav__prev svg{transform:rotate(180deg)}.lightbox{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:clamp(1rem,4vw,3rem);overscroll-behavior:contain;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .3s cubic-bezier(.22,.61,.36,1),visibility .3s}.lightbox.is-open{opacity:1;visibility:visible;pointer-events:auto}.lightbox__scrim{position:absolute;inset:0;background:rgba(0,0,0,.92)}.lightbox__inner{position:relative;z-index:1;width:min(100%,1100px);display:grid;justify-items:center}.lightbox__stage{position:relative;display:grid;justify-items:center;width:100%}.lightbox__media{position:relative;width:auto;height:min(78svh,156.4444444444vw);aspect-ratio:9/16;max-width:100%;border-radius:var(--radius);overflow:hidden;background:#000;box-shadow:0 40px 100px rgba(0,0,0,.6)}@media (max-aspect-ratio:1/1) and (min-width:781px){.lightbox__media{height:auto;width:min(100%,34.875svh)}}.lightbox__frame,.lightbox__poster{display:block;width:100%;height:100%;border:0}.lightbox__poster{-o-object-fit:cover;object-fit:cover}.lightbox__btn{position:absolute;z-index:2;display:grid;place-items:center;width:52px;height:52px;border:1px solid rgba(255,255,255,.25);border-radius:999px;background:rgba(0,0,0,.4);backdrop-filter:blur(8px);color:#fff;transition:background-color var(--dur-fast) cubic-bezier(.22,.61,.36,1),border-color var(--dur-fast) cubic-bezier(.22,.61,.36,1),opacity var(--dur-fast) cubic-bezier(.22,.61,.36,1)}.lightbox__btn svg{width:20px;height:20px}@media (hover:hover) and (pointer:fine){.lightbox__btn:hover:not(:disabled){background:var(--accent);border-color:var(--accent)}}.lightbox__btn:active:not(:disabled){background:var(--accent);border-color:var(--accent)}.lightbox__btn:disabled{opacity:.25;cursor:default}.lightbox__btn--next:disabled,.lightbox__btn--prev:disabled{display:none}.lightbox__btn--close{top:clamp(1rem,3vw,2rem);right:clamp(1rem,3vw,2rem)}.lightbox__btn--close:focus-visible{outline:0}@media (hover:none){.lightbox__btn:focus-visible{outline:0}}.lightbox__btn--prev{left:clamp(.5rem,2vw,2rem);top:50%;translate:0 -50%}.lightbox__btn--next{right:clamp(.5rem,2vw,2rem);top:50%;translate:0 -50%}@media (max-width:780px){.lightbox__btn--next,.lightbox__btn--prev{--half:clamp(38px, 4.4vw, 50px);width:var(--half);height:calc(var(--half) * 2)}.lightbox__btn--next svg,.lightbox__btn--prev svg{width:21px;height:21px}.lightbox__btn--prev{left:0;border-left:0;border-radius:0 var(--half) var(--half) 0;padding-right:8px}.lightbox__btn--next{right:0;border-right:0;border-radius:var(--half) 0 0 var(--half);padding-left:8px}}@media (max-width:780px){.lightbox{padding:0}.lightbox .lightbox__inner,.lightbox .lightbox__stage{width:100%}.lightbox .lightbox__media{width:100%;height:100svh;max-width:none;aspect-ratio:auto;border-radius:0;box-shadow:none}.lightbox .lightbox__btn--close{top:max(1rem,env(safe-area-inset-top));right:max(1rem,env(safe-area-inset-right))}}body.is-locked-fixed{position:fixed;left:0;right:0;width:100%;overflow:hidden;overscroll-behavior:none}.ep-single__head{margin-bottom:clamp(1.25rem,2.5vw,2rem)}.ep-single__head .eyebrow--post{display:block;font-family:var(--font-display);font-size:clamp(.9rem,1.1vw,1.15rem);font-weight:900;line-height:1;letter-spacing:-.01em;text-transform:uppercase;font-variant-numeric:tabular-nums;font-size:clamp(1rem,1.3vw,1.3rem);letter-spacing:-.01em;color:var(--accent-ink)}.ep-single__head.article__head{margin-bottom:1.5rem}.ep-single__date{margin:.75rem 0 0;font-family:var(--font-body);font-size:1.05rem;font-weight:400;color:var(--ink-2)}.ep-single__title{font-family:var(--font-display);font-size:clamp(30px,19.3333333333px + 2.6666666667vw,62px);font-weight:900;line-height:1.02;letter-spacing:-.03em;text-transform:uppercase;margin-top:.75rem;overflow-wrap:anywhere}.ep-single__art,.ep-single__player{position:relative;aspect-ratio:16/9;border-radius:var(--radius-lg);overflow:hidden;background:var(--wash);border:1px solid var(--line);margin-bottom:clamp(1.5rem,3vw,2.5rem)}.ep-single__art iframe,.ep-single__art img,.ep-single__player iframe,.ep-single__player img{position:absolute;inset:0;width:100%;height:100%;border:0}.ep-single__art img,.ep-single__player img{-o-object-fit:cover;object-fit:cover}.ep-single__audio{margin-bottom:clamp(1.5rem,3vw,2.5rem)}.ep-single__audio iframe{display:block;width:100%;min-height:150px;border:0;border-radius:var(--radius)}.ep-single__back{margin-top:clamp(2rem,5vw,4rem)}.single-media{position:relative;aspect-ratio:16/9;border-radius:var(--radius-lg);overflow:hidden;background:var(--wash);border:1px solid var(--line);margin-block:clamp(1.5rem,3vw,2.5rem)}.single-media iframe,.single-media img{position:absolute;inset:0;width:100%;height:100%;border:0}.single-media img{-o-object-fit:cover;object-fit:cover}.single-media--portrait{aspect-ratio:9/16;max-width:min(100%,380px);margin-inline:auto}.article__media{position:relative;aspect-ratio:16/9;border-radius:var(--radius-lg);overflow:hidden;background:var(--wash);border:1px solid var(--line);margin-bottom:.75rem}.article__media img{position:absolute;inset:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.article__credit{font-family:var(--font-mono);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin-bottom:clamp(1.5rem,3vw,2.5rem)}.article__title{font-family:var(--font-display);font-size:clamp(28px,19.3333333333px + 2.1666666667vw,54px);font-weight:900;line-height:1.04;letter-spacing:-.02em;margin-top:.75rem;overflow-wrap:anywhere}.article__by{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:.75rem;margin-block:clamp(1.5rem,3vw,2.5rem);padding-bottom:clamp(1.5rem,3vw,2.5rem);border-bottom:1px solid var(--line)}.article__avatar{width:46px;height:46px;border-radius:999px;-o-object-fit:cover;object-fit:cover;border:1px solid var(--line-2)}.article__author{display:grid;gap:2px;min-width:0}.article__name{font-weight:700;font-size:.95rem;color:var(--ink)}.article__handle{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.08em;color:var(--ink-3);transition:color var(--dur-fast) cubic-bezier(.22,.61,.36,1)}@media (hover:hover) and (pointer:fine){.article__handle:hover{color:var(--accent-ink)}}.article__back{margin-top:clamp(2rem,5vw,4rem)}.pnav{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-top:clamp(2rem,4vw,3rem);padding-top:clamp(2rem,4vw,3rem);border-top:1px solid var(--line)}.tags+.pnav{margin-top:1.5rem}.pnav__slot{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto;-moz-column-gap:1rem;column-gap:1rem;row-gap:.25rem;align-content:center;align-items:center;padding:1rem;border:1px solid var(--line);border-radius:var(--radius);transition:border-color var(--dur-fast) cubic-bezier(.22,.61,.36,1),transform var(--dur-fast) cubic-bezier(.22,.61,.36,1)}.pnav__slot:not([href]){border-color:transparent;pointer-events:none}.pnav__slot--next{text-align:right;grid-template-columns:minmax(0,1fr) auto}.pnav__slot--next .pnav__thumb{grid-column:2}.pnav__slot--next .pnav__dir,.pnav__slot--next .pnav__title{grid-column:1}@media (hover:hover) and (pointer:fine){.pnav__slot[href]:hover{border-color:var(--accent);transform:translateY(-3px)}}.pnav__thumb{grid-row:1/span 2;width:112px;aspect-ratio:16/9;border-radius:8px;overflow:hidden;background:var(--bg-3)}.pnav__thumb img{display:block;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}@media (max-width:520px){.pnav__thumb{width:88px}}.pnav__dir{font-family:var(--font-mono);font-size:.66rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3)}.pnav__title{font-size:.95rem;color:var(--ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}@media (max-width:520px){.pnav{grid-template-columns:1fr}.pnav__slot--next{text-align:left;grid-template-columns:auto minmax(0,1fr)}.pnav__slot--next .pnav__thumb{grid-column:1}.pnav__slot--next .pnav__dir,.pnav__slot--next .pnav__title{grid-column:2}.pnav__slot:not([href]){display:none}}.appearances{margin-top:clamp(2.5rem,5vw,4.5rem);padding-top:clamp(2rem,4vw,3rem);border-top:1px solid var(--line)}.appearances .section__head{margin-bottom:clamp(1.25rem,2.5vw,2rem)}.section__title--sm{font-size:clamp(26px,18.6666666667px + 1.8333333333vw,48px)}.guest-hero{display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(1.25rem,3vw,2.5rem);align-items:center;margin-bottom:clamp(1.5rem,3vw,2.5rem)}@media (max-width:520px){.guest-hero{grid-template-columns:1fr;justify-items:start}}.guest-hero__photo{width:clamp(120px,14vw,160px);aspect-ratio:1;border-radius:999px;overflow:hidden;background:var(--bg-3);box-shadow:0 0 0 4px var(--accent)}.guest-hero__photo img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.guest-hero__body{display:grid;gap:.5rem;min-width:0}.guest-hero__name{font-family:var(--font-display);font-weight:900;font-size:clamp(32px,21.3333333333px + 2.6666666667vw,64px);line-height:.95;letter-spacing:-.035em;text-transform:uppercase;margin:0}.guest-hero__role{margin:0;font-size:1.05rem;color:var(--ink-2)}.guest-hero__links{display:flex;flex-wrap:wrap;gap:.5rem;margin:.5rem 0 0;padding:0;list-style:none}.glink{display:inline-flex;align-items:center;gap:.45em;padding:.45em .85em;border:1px solid var(--line);border-radius:999px;font-size:.82rem;font-weight:600;line-height:1.1;color:var(--ink-2);transition:color var(--dur-fast) cubic-bezier(.22,.61,.36,1),border-color var(--dur-fast) cubic-bezier(.22,.61,.36,1)}@media (hover:hover) and (pointer:fine){.glink:hover{color:var(--accent-ink);border-color:var(--accent)}}.glink__ico{width:1.05em;height:1.05em;flex:none}.signature{margin-top:clamp(1.5rem,3vw,2.5rem)}.signature__signoff{margin:0 0 .1em;font-size:clamp(1.05rem,.4vw + .96rem,1.16rem);color:var(--ink-2)}.signature__name{margin:0;font-family:WindSong,"Brush Script MT","Segoe Script",cursive;font-weight:500;font-size:clamp(2.4rem,4.4vw,3.5rem);line-height:1.1;letter-spacing:.01em;color:var(--ink);transform:rotate(-1.5deg);transform-origin:left center;display:inline-block;padding:.1em .15em .15em 0}.searchbar{margin-bottom:clamp(2rem,4vw,3.5rem)}.sform{display:flex;gap:.5rem;max-width:560px}.sform input[type=search]{flex:1;min-width:0;height:52px;padding-inline:1rem;border:1px solid var(--line-2);border-radius:999px;background:0 0;color:var(--ink);font-size:max(16px,1rem)}.sform input[type=search]::-moz-placeholder{color:var(--ink-3)}.sform input[type=search]::placeholder{color:var(--ink-3)}.sform input[type=search]:focus-visible{border-color:var(--accent);outline:0}.sform .btn{flex:none}@media (max-width:520px){.sform{flex-direction:column;max-width:none}.sform .btn{width:100%}}.noresults{max-width:60ch}.noresults .lede{margin-bottom:1.5rem}.noresults__actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:clamp(1.5rem,3vw,2.5rem)}.slink{display:grid;place-items:center;width:54px;height:54px;flex:none;border:1px solid var(--line-2);border-radius:999px;color:var(--ink);transition:border-color var(--dur-fast) cubic-bezier(.22,.61,.36,1),color var(--dur-fast) cubic-bezier(.22,.61,.36,1)}.slink svg{width:21px;height:21px}@media (hover:hover) and (pointer:fine){.slink:hover{border-color:var(--accent);color:var(--accent-ink)}}.slink:active{border-color:var(--accent);color:var(--accent-ink)}@media (max-width:780px){.slink{width:44px;height:44px}.slink svg{width:18px;height:18px}}.tweets__rail{display:flex;gap:clamp(.75rem,1.4vw,1.25rem);overflow-x:auto;scroll-snap-type:x mandatory;align-items:flex-start;margin-inline:calc(var(--gutter) * -1);padding-inline:var(--gutter);scroll-padding-inline:var(--gutter);padding-block:.5rem;scrollbar-width:none;-webkit-overflow-scrolling:touch}.tweets__rail::-webkit-scrollbar{display:none}.tweets__rail>*{scroll-snap-align:start}.xembed{--x-radius:12px;position:relative;flex:none;width:clamp(280px,32vw,380px);isolation:isolate}@media (max-width:780px){.xembed{width:75vw;scroll-snap-stop:always}}@media (max-width:780px){.xembed::before{content:"";position:absolute;inset:0;z-index:2;border:3px solid transparent;border-radius:var(--x-radius);pointer-events:none;transition:border-color var(--dur-fast) cubic-bezier(.22,.61,.36,1)}.xembed.is-active::before{border-color:var(--accent)}}.xembed blockquote{margin:0;padding:1.5rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg);font-size:clamp(.92rem,.35vw + .84rem,1.02rem);line-height:1.45;color:var(--ink)}.xembed blockquote p{margin:0 0 .75rem}.xembed blockquote a{color:var(--accent-ink);text-decoration:none}.js .xembed blockquote{opacity:0}.xembed .twitter-tweet-rendered{margin:0!important}.xembed iframe{display:block;margin:0!important;border-radius:var(--x-radius)}.xembed__sk{position:absolute;inset:0;z-index:1;display:none;align-content:start;gap:.75rem;padding:1.5rem;border:1px solid var(--line);border-radius:var(--x-radius);background:var(--bg);overflow:hidden;opacity:1;transition:opacity .5s ease}.js .xembed__sk{display:grid}.xembed__sk.is-done{opacity:0;pointer-events:none}.xembed__sk-head{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.xembed__sk-avatar,.xembed__sk-line,.xembed__sk-media,.xembed__sk-name{background:var(--bg-3);border-radius:6px;background-image:linear-gradient(90deg,transparent,color-mix(in srgb,var(--ink) 8%,transparent),transparent);background-size:220% 100%;background-repeat:no-repeat;animation:sk-shimmer 1.4s cubic-bezier(.22,.61,.36,1) infinite}.xembed__sk-avatar{width:40px;height:40px;border-radius:999px;flex:none}.xembed__sk-name{height:12px;width:45%}.xembed__sk-line{height:11px}.xembed__sk-line:nth-of-type(2){width:92%}.xembed__sk-line:nth-of-type(3){width:78%}.xembed__sk-media{height:120px;border-radius:var(--radius);margin-top:.5rem}.xembed:nth-child(2) .xembed__sk>*{animation-delay:.12s}.xembed:nth-child(3) .xembed__sk>*{animation-delay:.24s}@keyframes sk-shimmer{from{background-position:160% 0}to{background-position:-60% 0}}@media (prefers-reduced-motion:reduce){.xembed__sk *{animation:none}}.tweet{flex:none;width:clamp(240px,30vw,340px);display:grid;align-content:start;gap:.75rem;padding:1.5rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg);transition:border-color var(--dur-fast) cubic-bezier(.22,.61,.36,1),transform var(--dur-fast) cubic-bezier(.22,.61,.36,1)}.tweet__mark{color:var(--ink-3);transition:color var(--dur-fast) cubic-bezier(.22,.61,.36,1)}.tweet__mark svg{width:15px;height:15px}.tweet__text{font-size:clamp(.92rem,.35vw + .84rem,1.02rem);line-height:1.45;color:var(--ink);display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical;overflow:hidden}.tweet__author{font-family:var(--font-display);font-size:clamp(.9rem,1.1vw,1.15rem);font-weight:900;line-height:1;letter-spacing:-.01em;text-transform:uppercase;font-variant-numeric:tabular-nums;font-size:.7rem;color:var(--ink-3)}@media (hover:hover) and (pointer:fine){.tweet:hover{border-color:var(--accent);transform:translateY(-3px)}.tweet:hover .tweet__mark{color:var(--accent-ink)}}.wall{display:grid;grid-template-columns:repeat(6,1fr);gap:clamp(.5rem,1.2vw,1rem)}@media (max-width:780px){.wall{grid-template-columns:repeat(2,1fr)}}.spost{position:relative;display:block;grid-column:span 2;border-radius:var(--radius);overflow:hidden;background:var(--bg-3);transition:transform .5s cubic-bezier(.22,.61,.36,1),box-shadow .5s cubic-bezier(.22,.61,.36,1)}.spost:nth-child(3n+1){grid-column:span 3}.spost:nth-child(3n+2){grid-column:span 3}@media (max-width:780px){.spost{grid-column:span 1}.spost:nth-child(3n+1),.spost:nth-child(3n+2){grid-column:span 1}}.spost__media{aspect-ratio:4/5;background:var(--bg-3)}.spost__media img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transform:scale(1) translateZ(0);backface-visibility:hidden;will-change:transform;transition:transform .55s cubic-bezier(.22,.61,.36,1),opacity .4s cubic-bezier(.22,.61,.36,1),filter .4s cubic-bezier(.22,.61,.36,1)!important}.spost:nth-child(3n+1) .spost__media,.spost:nth-child(3n+2) .spost__media{aspect-ratio:3/2}@media (max-width:780px){.spost:nth-child(3n+1) .spost__media,.spost:nth-child(3n+2) .spost__media{aspect-ratio:4/5}}.spost__badge{position:absolute;top:.75rem;right:.75rem;display:grid;place-items:center;width:30px;height:30px;border-radius:999px;background:rgba(0,0,0,.45);backdrop-filter:blur(6px);color:#fff}.spost__badge svg{width:15px;height:15px}.spost__body{position:absolute;inset:auto 0 0 0;display:grid;gap:.35em;padding:2rem 1rem 1rem;background:linear-gradient(transparent,rgba(0,0,0,.82));color:#fff}.spost__caption{font-size:clamp(.82rem,.35vw + .74rem,.95rem);line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.spost__date{font-family:var(--font-display);font-size:clamp(.9rem,1.1vw,1.15rem);font-weight:900;line-height:1;letter-spacing:-.01em;text-transform:uppercase;font-variant-numeric:tabular-nums;font-size:.7rem;opacity:.72}@media (hover:hover) and (pointer:fine){.spost:hover{transform:translateY(-4px);box-shadow:var(--shadow-card)}.spost:hover .spost__media img{transform:scale(1.06) translateZ(0)}}.grid{--grid-gap:clamp(1.25rem, 2.5vw, 2.5rem)}@media (max-width:780px){.grid{--grid-gap:0;row-gap:0;border-top:1px solid var(--line)}}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:var(--grid-gap)}.grid>:only-child{max-width:calc(50% - var(--grid-gap)/ 2)}@media (max-width:780px){.grid>:only-child{max-width:none}}.grid--wide{grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr))}.grid--guests{grid-template-columns:repeat(auto-fill,minmax(min(100%,170px),1fr))}.grid--guests>:only-child{max-width:none}.grid--guests .guest__photo{width:100%}@media (max-width:780px){.grid--guests{--grid-gap:clamp(1.25rem, 5vw, 2rem);border-top:0}}.grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}@media (max-width:1080px){.grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:780px){.grid--3{grid-template-columns:minmax(0,1fr)}}.card{display:grid;gap:0;align-content:start}.card__media{position:relative;margin-bottom:1rem;aspect-ratio:16/9;border-radius:var(--radius);overflow:hidden;background:var(--bg-3)}.card__media img{position:relative;z-index:1;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transform:scale(1) translateZ(0);backface-visibility:hidden;will-change:transform;transition:transform .6s cubic-bezier(.22,.61,.36,1),opacity .4s cubic-bezier(.22,.61,.36,1),filter .4s cubic-bezier(.22,.61,.36,1)!important}.card--shorts .card__media{background:var(--bg-3)}.card--shorts .card__media img{-o-object-fit:contain;object-fit:contain}.card--shorts .card__media::before{content:"";position:absolute;inset:0;background:var(--art) center/cover no-repeat;filter:brightness(.2);transform:scale(1.05)}.card--shorts .card__media::after{content:"";position:absolute;inset:auto 0 0 0;height:45%;background:linear-gradient(transparent,rgba(0,0,0,.55));opacity:0;transition:opacity var(--dur) cubic-bezier(.22,.61,.36,1)}.card:hover .card__media img{transform:scale(1.06) translateZ(0)}.card:hover .card__media::after{opacity:1}.card__chip,.card__pill{position:absolute;z-index:2;font-family:var(--font-display);font-size:clamp(.9rem,1.1vw,1.15rem);font-weight:900;line-height:1;letter-spacing:-.01em;text-transform:uppercase;font-variant-numeric:tabular-nums;padding:.16em .62em;border-radius:999px;background:var(--accent);color:#fff}.card__pill{top:calc(.75rem - 3px);left:calc(.75rem - 3px);background:#fff;color:#111}.card__chip{bottom:.75rem;left:.75rem}@media (max-width:780px){.card__chip,.card__pill{font-size:.72rem;padding:.18em .55em}.card__pill{top:calc(.5rem - 3px);left:calc(.5rem - 3px)}.card__chip{bottom:.5rem;left:.5rem}}.card__play{position:absolute;right:.75rem;bottom:.75rem;z-index:2;display:grid;place-items:center;width:46px;height:46px;border-radius:999px;background:var(--accent);color:var(--on-accent);transform:scale(.7);opacity:0;transition:transform .4s cubic-bezier(.16,1,.3,1),opacity .3s cubic-bezier(.22,.61,.36,1)}.card__play svg{width:14px;height:14px;margin-left:2px}.card:hover .card__play{transform:scale(1);opacity:1}.card__meta{display:flex;align-items:center;gap:.75rem;margin-bottom:.3em;font-family:var(--font-display);font-size:clamp(.9rem,1.1vw,1.15rem);font-weight:900;line-height:1;letter-spacing:-.01em;text-transform:uppercase;font-variant-numeric:tabular-nums;color:var(--accent-ink)}.card__meta .card__ep{display:none}.card__title{font-family:var(--font-display);font-size:clamp(18px,14.6666666667px + .8333333333vw,28px);font-weight:900;line-height:1.05;letter-spacing:-.02em;text-transform:uppercase;transition:color var(--dur-fast) cubic-bezier(.22,.61,.36,1)}@media (max-width:780px){.card__title{font-size:clamp(1.02rem,3.4vw,1.35rem);line-height:1.05}}.card:hover .card__title{color:var(--accent-ink)}@media (max-width:780px){.card{grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto auto;-moz-column-gap:1rem;column-gap:1rem;row-gap:0;align-items:center;padding-block:clamp(1.5rem,2.6vw,2.5rem);border-bottom:1px solid var(--line)}.card .card__media{grid-column:1;grid-row:1/span 3;align-self:center;width:38vw;aspect-ratio:16/9;margin-bottom:0;border-radius:10px}.card .card__chip{display:none}.card .card__meta{display:contents}.card .card__ep{display:block;grid-column:2;grid-row:1;align-self:end;margin-bottom:.3em;font-family:var(--font-display);font-size:clamp(.9rem,1.1vw,1.15rem);font-weight:900;line-height:1;letter-spacing:-.01em;text-transform:uppercase;font-variant-numeric:tabular-nums;font-size:.84rem;color:var(--accent-ink)}.card .card__title{grid-column:2;grid-row:2;align-self:center}.card .card__date{grid-column:2;grid-row:3;align-self:start;margin:.4em 0 0;font-family:var(--font-body);font-size:.86rem;font-weight:400;line-height:1.45;letter-spacing:0;text-transform:none;color:var(--ink-2)}.card .card__excerpt{display:none}}.card__excerpt{margin-top:.5em;font-size:.95rem;line-height:1.5;color:var(--ink-2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}@media (max-width:780px){.card__excerpt{font-size:.86rem;line-height:1.45;margin-top:.4em}}.guest{display:grid;justify-items:center;gap:.75rem;text-align:center}.guest__photo{position:relative;width:clamp(110px,12vw,168px);aspect-ratio:1;border-radius:999px;overflow:hidden;background:var(--bg-3);box-shadow:0 0 0 0 var(--accent);transition:box-shadow .4s cubic-bezier(.16,1,.3,1)}.guest__photo img{position:absolute;inset:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}@media (hover:hover) and (pointer:fine){a.guest:hover .guest__photo{box-shadow:0 0 0 4px var(--accent)}a.guest:hover .guest__name{color:var(--accent-ink)}}.guest--static{cursor:default;opacity:.45;--rest-opacity:.45}.guest__name{font-family:var(--font-display);font-size:1.05rem;font-weight:900;text-transform:uppercase;letter-spacing:-.01em;transition:color var(--dur-fast) cubic-bezier(.22,.61,.36,1)}.guest__role{font-family:var(--font-mono);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}.feature{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(1.5rem,4vw,4rem);align-items:center;padding:clamp(1.5rem,3vw,3rem);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--bg-2)}@media (max-width:1080px){.feature{grid-template-columns:1fr}}.feature__media{position:relative;aspect-ratio:16/9;border-radius:var(--radius);overflow:hidden;background:var(--bg-3)}.feature__media img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.feature__body{display:grid;gap:1rem;align-content:center}.feature__title{font-family:var(--font-display);font-size:clamp(28px,14.6666666667px + 3.3333333333vw,68px);font-weight:900;line-height:.94;text-transform:uppercase;letter-spacing:-.03em}.prose{max-width:none;font-size:clamp(1.05rem,.4vw + .96rem,1.16rem);line-height:1.7;color:var(--ink-2)}.prose>*+*{margin-top:1.35em}.prose h2,.prose h3,.prose h4{color:var(--ink);font-family:var(--font-display);font-weight:900;line-height:1.05;letter-spacing:-.025em;text-transform:uppercase;margin-top:2.2em}.prose h2{font-size:clamp(1.6rem,2.4vw,2.4rem)}.prose h3{font-size:clamp(1.3rem,1.8vw,1.7rem)}.prose h4{font-size:1.15rem}.prose strong{color:var(--ink);font-weight:700}.prose a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:.18em;text-decoration-thickness:2px;transition:color var(--dur-fast) cubic-bezier(.22,.61,.36,1)}.prose a:hover{color:var(--accent-ink)}.prose ol,.prose ul{padding-left:1.4em}.prose li+li{margin-top:.5em}.prose li::marker{color:var(--accent-ink)}.prose blockquote{margin-inline:0;padding-left:1.5rem;border-left:2px solid var(--accent);font-family:var(--font-display);font-size:clamp(1.3rem,2vw,1.9rem);font-weight:900;line-height:1.15;letter-spacing:-.02em;text-transform:uppercase;color:var(--ink)}.prose figure,.prose iframe,.prose img,.prose video{border-radius:var(--radius)}.prose figcaption{margin-top:.5rem;font-family:var(--font-mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}.prose code{font-family:var(--font-mono);font-size:.88em;padding:.15em .4em;border-radius:4px;background:var(--bg-3);color:var(--ink)}.prose hr{border:0;height:1px;background:var(--line);margin-block:2.5em}.pagination{margin-top:clamp(2rem,4vw,4rem)}.pagination .nav-links{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.pagination .page-numbers{display:grid;place-items:center;min-width:46px;height:46px;padding-inline:.75rem;border:1px solid var(--line);border-radius:999px;font-family:var(--font-mono);font-size:.8rem;color:var(--ink-2);transition:color var(--dur-fast) cubic-bezier(.22,.61,.36,1),border-color var(--dur-fast) cubic-bezier(.22,.61,.36,1)}.pagination .page-numbers:hover{color:var(--ink);border-color:var(--line-2)}.pagination .page-numbers.current{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.with-side{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:clamp(2rem,4vw,4.5rem);align-items:start}.with-side>*{min-width:0}.with-side>:first-child{margin-top:-.6rem}@media (max-width:1080px){.with-side{grid-template-columns:1fr;gap:clamp(2.5rem,6vw,4rem)}.with-side>:first-child{margin-top:0}}.side__block+.side__block{margin-top:clamp(2rem,3.5vw,3rem)}.side__title{font-family:var(--font-display);font-size:clamp(.9rem,1.1vw,1.15rem);font-weight:900;line-height:1;letter-spacing:-.01em;text-transform:uppercase;font-variant-numeric:tabular-nums;color:var(--ink-2);padding-bottom:.75rem;margin-bottom:1rem;border-bottom:1px solid var(--line)}.side__list{list-style:none;margin:0;padding:0}.side__item+.side__item{margin-top:1rem}.side__list--guests .side__link{grid-template-columns:51px minmax(0,1fr);gap:.75rem}.side__list--guests .side__thumb{border-radius:999px}.side__link{display:grid;grid-template-columns:64px minmax(0,1fr);gap:1rem;align-items:center;color:inherit}@media (hover:hover) and (pointer:fine){.side__link:hover .side__name{color:var(--accent-ink)}.side__link:hover .side__thumb img{transform:scale(1.08) translateZ(0)}}.side__link--static{cursor:default;opacity:.45}@media (hover:hover) and (pointer:fine){.side__link--static:hover .side__name{color:inherit}.side__link--static:hover .side__thumb img{transform:none}}.side__thumb{display:block;aspect-ratio:1/1;border-radius:8px;overflow:hidden;background:var(--bg-3)}.side__thumb img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transform:scale(1) translateZ(0);backface-visibility:hidden;will-change:transform;transition:transform .5s cubic-bezier(.22,.61,.36,1),opacity .4s cubic-bezier(.22,.61,.36,1),filter .4s cubic-bezier(.22,.61,.36,1)!important}.side__body{display:block;min-width:0}.side__name{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-weight:600;font-size:.92rem;line-height:1.3;transition:color var(--dur-fast) cubic-bezier(.22,.61,.36,1)}.side__meta{display:block;margin-top:.3em;font-family:var(--font-mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}.side__year{border-bottom:1px solid var(--line)}.side__year:last-of-type{border-bottom:0}.side__yearname{display:flex;align-items:center;justify-content:space-between;padding-block:.75rem;cursor:pointer;font-family:var(--font-mono);font-size:.82rem;letter-spacing:.1em;list-style:none}.side__yearname::-webkit-details-marker{display:none}.side__yearname::after{content:"";width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translate(-2px,-2px);transition:transform var(--dur-fast) cubic-bezier(.22,.61,.36,1);opacity:.55}.side__year[open] .side__yearname::after{transform:rotate(225deg) translate(-2px,-2px)}.side__months{list-style:none;margin:0 0 .75rem;padding:0}.side__months a{display:block;padding-block:.25rem;font-size:.88rem;color:var(--ink-2);transition:color var(--dur-fast) cubic-bezier(.22,.61,.36,1)}@media (hover:hover) and (pointer:fine){.side__months a:hover{color:var(--accent-ink)}}.side__n{margin-left:.35em;font-family:var(--font-mono);font-size:.78rem;color:var(--ink-3);font-variant-numeric:tabular-nums}.cloud{display:flex;flex-wrap:wrap;gap:.5rem}.cloud__term{--w:0;display:inline-flex;align-items:baseline;gap:.45em;padding:.4em .75em;border:1px solid var(--line);border-radius:999px;font-size:calc(.78rem + var(--w) * .3rem);font-weight:calc(500 + var(--w) * 200);line-height:1.1;color:var(--ink-2);transition:color var(--dur-fast) cubic-bezier(.22,.61,.36,1),border-color var(--dur-fast) cubic-bezier(.22,.61,.36,1)}@media (hover:hover) and (pointer:fine){a.cloud__term:hover{color:var(--accent-ink);border-color:var(--accent)}}.cloud__term--static{border-style:dashed;color:var(--ink-3);cursor:default}.cloud__ico{width:1em;height:1em;flex:none;align-self:center;opacity:.7}.cloud__n{font-family:var(--font-mono);font-size:.68rem;color:var(--ink-3);font-variant-numeric:tabular-nums}.tags{display:grid;gap:1rem;margin-top:clamp(2rem,4vw,3rem);padding-top:1.5rem;border-top:1px solid var(--line)}.tags__row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.tags__row .cloud{display:contents}@media (max-width:520px){.tags__row .tags__label{flex-basis:100%;margin-right:0;margin-bottom:.25rem}}.tags__label{font-family:var(--font-display);font-size:clamp(.9rem,1.1vw,1.15rem);font-weight:900;line-height:1;letter-spacing:-.01em;text-transform:uppercase;font-variant-numeric:tabular-nums;color:var(--ink-3);margin-right:.5rem}.promo{position:relative;padding-block:clamp(3.5rem,7vw,7rem);overflow:hidden;border-bottom:1px solid var(--line-2)}.promo__inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.82fr);gap:clamp(2rem,5vw,5rem);align-items:center}@media (max-width:780px){.promo__inner{grid-template-columns:minmax(0,1fr);gap:clamp(2rem,6vw,3rem)}}.promo__copy{min-width:0}.promo__title{margin-top:1rem;font-size:clamp(2.1rem,5.2vw,4.2rem);max-width:14ch}.promo__text{margin-top:1.5rem;max-width:46ch;color:var(--ink-2);font-size:clamp(1rem,.35vw + .95rem,1.15rem)}.promo__cta{margin-top:2rem}.promo__media{position:relative;aspect-ratio:1/1;min-width:0;max-width:30rem;margin-inline:auto;border-radius:var(--radius-lg);background:var(--bg-3);overflow:hidden}@media (max-width:780px){.promo__media{max-width:22rem}}@media (max-width:520px){.promo__media{display:none}}.promo__img{display:block;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center}.pdp form.cart table.variations td select,.prose .woocommerce .select2-container .select2-selection--single,.prose .woocommerce select,.woocommerce .woocommerce-ordering select.orderby{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding:.6em 2.6em .6em 1.1em;border:1px solid var(--line-2);border-radius:999px;background:var(--bg);color:var(--ink);font-family:inherit;font-size:.92rem;font-weight:600;line-height:1.2;cursor:pointer;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23777' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><path d='M6 9l6 6 6-6'/></svg>");background-repeat:no-repeat;background-position:right 1em center;background-size:1em;transition:border-color var(--dur-fast) cubic-bezier(.22,.61,.36,1)}@media (hover:hover) and (pointer:fine){.pdp form.cart table.variations td select:hover,.prose .woocommerce .select2-container .select2-selection--single:hover,.prose .woocommerce select:hover,.woocommerce .woocommerce-ordering select.orderby:hover{border-color:var(--ink-3)}}.pdp form.cart table.variations td select:focus-visible,.prose .woocommerce .select2-container .select2-selection--single:focus-visible,.prose .woocommerce select:focus-visible,.woocommerce .woocommerce-ordering select.orderby:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-color:transparent}.pdp form.cart .quantity,.prose .woocommerce .quantity{position:relative;display:inline-grid;grid-template-columns:1fr auto;align-items:center;height:54px;padding:0 .75rem 0 1rem;border:1px solid var(--line-2);border-radius:999px;background:var(--bg);transition:border-color var(--dur-fast) cubic-bezier(.22,.61,.36,1)}.pdp form.cart .quantity:focus-within,.prose .woocommerce .quantity:focus-within{outline:3px solid var(--accent);outline-offset:2px}.pdp form.cart .quantity input.qty,.prose .woocommerce .quantity input.qty{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield;width:2.6em;height:100%;margin:0;padding:0;border:0;background:0 0;color:var(--ink);font:inherit;font-weight:600;text-align:center;outline:0}.pdp form.cart .quantity input.qty::-webkit-inner-spin-button,.pdp form.cart .quantity input.qty::-webkit-outer-spin-button,.prose .woocommerce .quantity input.qty::-webkit-inner-spin-button,.prose .woocommerce .quantity input.qty::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.pdp form.cart .quantity .qty__ctl,.prose .woocommerce .quantity .qty__ctl{display:grid;grid-template-rows:1fr 1fr;height:100%;padding-block:10px}.pdp form.cart .quantity .qty__down,.pdp form.cart .quantity .qty__up,.prose .woocommerce .quantity .qty__down,.prose .woocommerce .quantity .qty__up{display:grid;place-items:center;width:22px;padding:0;border:0;background:0 0;color:var(--ink-3);cursor:pointer;transition:color var(--dur-fast) cubic-bezier(.22,.61,.36,1)}.pdp form.cart .quantity .qty__down svg,.pdp form.cart .quantity .qty__up svg,.prose .woocommerce .quantity .qty__down svg,.prose .woocommerce .quantity .qty__up svg{width:12px;height:12px}@media (hover:hover) and (pointer:fine){.pdp form.cart .quantity .qty__down:hover,.pdp form.cart .quantity .qty__up:hover,.prose .woocommerce .quantity .qty__down:hover,.prose .woocommerce .quantity .qty__up:hover{color:var(--ink)}}.pdp form.cart .quantity .qty__down svg,.prose .woocommerce .quantity .qty__down svg{transform:rotate(180deg)}.section__head--shop{align-items:center}.section__head--shop>.shop-sort{flex:none}.woocommerce .woocommerce-ordering{float:none;display:flex;justify-content:flex-end;margin:0}.woocommerce ul.products{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:clamp(1.25rem,2.5vw,2.5rem);margin:0;padding:0;list-style:none}.woocommerce ul.products::after,.woocommerce ul.products::before{content:none}.woocommerce ul.products li.product,.woocommerce ul.products[class*=columns-] li.product{float:none;width:100%;margin:0;padding:0}.woocommerce ul.products li.product a.woocommerce-LoopProduct-link,.woocommerce ul.products[class*=columns-] li.product a.woocommerce-LoopProduct-link{display:grid;gap:0;color:inherit}.woocommerce ul.products li.product img,.woocommerce ul.products[class*=columns-] li.product img{display:block;width:100%;aspect-ratio:1;-o-object-fit:cover;object-fit:cover;margin:0 0 1rem;border-radius:var(--radius);background:var(--bg-3);transform:scale(1) translateZ(0);backface-visibility:hidden;will-change:transform;transition:transform .6s cubic-bezier(.22,.61,.36,1),opacity .4s cubic-bezier(.22,.61,.36,1),filter .4s cubic-bezier(.22,.61,.36,1)!important}.woocommerce ul.products li.product a:hover img,.woocommerce ul.products[class*=columns-] li.product a:hover img{transform:scale(1.04) translateZ(0)}.woocommerce ul.products li.product .woocommerce-loop-product__title,.woocommerce ul.products[class*=columns-] li.product .woocommerce-loop-product__title{margin:0;padding:0;font-family:var(--font-display);font-size:clamp(18px,15.3333333333px + .6666666667vw,26px);font-weight:900;line-height:1.05;letter-spacing:-.02em;text-transform:uppercase;color:var(--ink);transition:color var(--dur-fast) cubic-bezier(.22,.61,.36,1)}.woocommerce ul.products li.product a:hover .woocommerce-loop-product__title,.woocommerce ul.products[class*=columns-] li.product a:hover .woocommerce-loop-product__title{color:var(--accent-ink)}.woocommerce ul.products li.product .price,.woocommerce ul.products[class*=columns-] li.product .price{display:inline-block;justify-self:start;margin:.75rem 0 0;font-family:var(--font-display);font-size:clamp(.9rem,1.1vw,1.15rem);font-weight:900;line-height:1;letter-spacing:-.01em;text-transform:uppercase;font-variant-numeric:tabular-nums;padding:.16em .62em;border-radius:999px;background:var(--accent);color:#fff}.woocommerce ul.products li.product .price ins,.woocommerce ul.products[class*=columns-] li.product .price ins{text-decoration:none}.woocommerce ul.products li.product .price del,.woocommerce ul.products[class*=columns-] li.product .price del{opacity:.6;margin-right:.4em}.woocommerce ul.products li.product .price .woocommerce-Price-currencySymbol,.woocommerce ul.products[class*=columns-] li.product .price .woocommerce-Price-currencySymbol{font-weight:inherit}.pdp{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(2rem,5vw,5rem);align-items:start}@media (max-width:1080px){.pdp{grid-template-columns:1fr;gap:clamp(2rem,5vw,3rem)}}.pdp__gallery .woocommerce-product-gallery{width:100%!important;margin:0}.pdp__gallery .woocommerce-product-gallery .woocommerce-product-gallery__wrapper{margin:0}.pdp__gallery .woocommerce-product-gallery .woocommerce-product-gallery__image{border-radius:var(--radius-lg);overflow:hidden;background:var(--wash);border:1px solid var(--line)}.pdp__gallery .woocommerce-product-gallery .woocommerce-product-gallery__image img{display:block;width:100%;height:auto}.pdp__gallery .woocommerce-product-gallery .flex-control-thumbs{display:flex;flex-wrap:wrap;gap:.75rem;margin:1rem 0 0;padding:0;list-style:none}.pdp__gallery .woocommerce-product-gallery .flex-control-thumbs li{float:none;width:72px;margin:0}.pdp__gallery .woocommerce-product-gallery .flex-control-thumbs li img{display:block;border-radius:var(--radius);border:2px solid transparent;opacity:.55;cursor:pointer;transition:opacity var(--dur-fast) cubic-bezier(.22,.61,.36,1),border-color var(--dur-fast) cubic-bezier(.22,.61,.36,1)}.pdp__gallery .woocommerce-product-gallery .flex-control-thumbs li img.flex-active,.pdp__gallery .woocommerce-product-gallery .flex-control-thumbs li img:hover{opacity:1;border-color:var(--accent)}.pdp__gallery .woocommerce-product-gallery .woocommerce-product-gallery__trigger{display:none}.pdp__gallery .woocommerce-product-gallery .woocommerce-product-gallery__image a{cursor:default;pointer-events:none}.pdp__summary{display:grid;gap:1.5rem;align-content:start}.pdp__summary>*{margin:0}.pdp__title{margin-top:.25rem}.pdp .crumbs{display:inline-flex;gap:.6em}.pdp .crumbs a{color:inherit;transition:color var(--dur-fast) cubic-bezier(.22,.61,.36,1)}@media (hover:hover) and (pointer:fine){.pdp .crumbs a:hover{color:var(--accent-ink)}}.pdp .crumbs__sep{color:var(--ink-3)}.pdp__blurb{font-size:clamp(1rem,.3vw + .95rem,1.12rem);color:var(--ink-2)}.pdp__blurb>:last-child{margin-bottom:0}.pdp__price.price{justify-self:start;font-family:var(--font-display);font-size:clamp(.9rem,1.1vw,1.15rem);font-weight:900;line-height:1;letter-spacing:-.01em;text-transform:uppercase;font-variant-numeric:tabular-nums;font-size:clamp(16px,14px + .5vw,22px);padding:.22em .7em;border-radius:999px;background:var(--accent);color:#fff}.pdp__price.price ins{text-decoration:none}.pdp__price.price del{opacity:.6;margin-right:.4em}.pdp form.cart{display:grid;gap:1.5rem;margin:.5rem 0 0}.pdp form.cart table.variations{border-collapse:collapse;margin:0}.pdp form.cart table.variations tr{display:grid;gap:.5rem}.pdp form.cart table.variations td,.pdp form.cart table.variations th{display:block;padding:0;border:0;text-align:left;line-height:inherit}.pdp form.cart table.variations th label{font-family:var(--font-display);font-size:clamp(.9rem,1.1vw,1.15rem);font-weight:900;line-height:1;letter-spacing:-.01em;text-transform:uppercase;font-variant-numeric:tabular-nums;color:var(--ink-2)}.pdp form.cart table.variations td select{width:100%}.pdp form.cart table.variations .reset_variations{display:inline-block;margin-top:.5rem;font-size:.8rem;color:var(--ink-3)}.pdp form.cart .reset_variations{display:none!important}.pdp form.cart .woocommerce-variation .woocommerce-variation-price{display:none}.pdp form.cart .woocommerce-variation .woocommerce-variation-availability p{margin:0 0 .5rem;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}.pdp form.cart .woocommerce-variation .woocommerce-variation-availability p.out-of-stock{color:#c0392b}.pdp form.cart .woocommerce-variation-add-to-cart{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.pdp form.cart .single_add_to_cart_button{display:inline-flex;align-items:center;justify-content:center;flex:1 1 auto;height:54px;padding-inline:2rem;border:1px solid var(--accent);border-radius:999px;background:var(--accent);color:#fff;font:inherit;font-size:.92rem;font-weight:600;letter-spacing:.01em;line-height:1;cursor:pointer;transition:background var(--dur-fast) cubic-bezier(.22,.61,.36,1),border-color var(--dur-fast) cubic-bezier(.22,.61,.36,1),transform var(--dur-fast) cubic-bezier(.22,.61,.36,1)}@media (hover:hover) and (pointer:fine){.pdp form.cart .single_add_to_cart_button:hover{background:var(--ink);border-color:var(--ink);color:var(--bg)}}.pdp form.cart .single_add_to_cart_button:active{transform:translateY(1px)}.pdp form.cart .single_add_to_cart_button.disabled,.pdp form.cart .single_add_to_cart_button:disabled{opacity:.4;cursor:not-allowed}.pdp form.cart .single_add_to_cart_button.is-adding{opacity:.7;cursor:progress}.pdp form.cart .added_to_cart{display:none!important}.pdp form.cart .single_add_to_cart_button.is-added{background:var(--ink);border-color:var(--ink);color:var(--bg)}.pdp__desc{margin-top:clamp(2.5rem,5vw,4rem);max-width:68ch}.woocommerce-notices-wrapper:empty{display:none}.woocommerce-error,.woocommerce-info,.woocommerce-message{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.35em 1em;max-width:100%;margin:0 0 1.5rem;padding:.7em 1.2em;border:0;border-radius:999px;background:var(--ink);color:var(--bg);font-size:.88rem;font-weight:500;line-height:1.3;list-style:none}.woocommerce-error::before,.woocommerce-info::before,.woocommerce-message::before{display:none}.woocommerce-error a,.woocommerce-info a,.woocommerce-message a{color:var(--accent);font-weight:600;text-decoration:none}@media (hover:hover) and (pointer:fine){.woocommerce-error a:hover,.woocommerce-info a:hover,.woocommerce-message a:hover{text-decoration:underline}}.woocommerce-error .button,.woocommerce-info .button,.woocommerce-message .button{all:unset;color:var(--accent);font-weight:600;cursor:pointer}.woocommerce-error{background:#c0392b;color:#fff}.woocommerce-error a{color:#fff;text-decoration:underline}.woocommerce-error li{margin:0}.woocommerce-cart .woocommerce-notices-wrapper{position:fixed;left:50%;top:calc(var(--nav-h) + 23px);z-index:60;display:grid;gap:.5rem;justify-items:center;width:-moz-max-content;width:max-content;max-width:calc(100vw - 32px);transform:translateX(-50%);pointer-events:none}.woocommerce-cart .woocommerce-notices-wrapper>*{margin:0;pointer-events:auto;box-shadow:0 10px 30px rgba(0,0,0,.18);animation:toast-in .3s cubic-bezier(.16,1,.3,1) both,toast-out .35s cubic-bezier(.22,.61,.36,1) 10s forwards}.woocommerce-cart .woocommerce-notices-wrapper>.cart-empty{display:none!important}@keyframes toast-in{from{opacity:0;transform:translateY(-12px)}}@keyframes toast-out{to{opacity:0;transform:translateY(-8px);visibility:hidden}}.woocommerce-info.cart-empty{display:block;padding:0;border-radius:0;background:0 0;color:var(--ink-2);font-size:clamp(1.05rem,.5vw + .95rem,1.3rem);font-weight:400}.prose .woocommerce a{text-decoration:none}.prose .woocommerce table.shop_table{width:100%;margin:0;border:0;border-collapse:collapse;border-radius:0;font-size:.95rem}.prose .woocommerce table.shop_table th{white-space:nowrap}.prose .woocommerce table.shop_table td,.prose .woocommerce table.shop_table th{padding:1rem .75rem;border:0;border-bottom:1px solid var(--line);vertical-align:middle;text-align:left;line-height:1.35}.prose .woocommerce table.shop_table thead th{font-family:var(--font-display);font-size:clamp(.9rem,1.1vw,1.15rem);font-weight:900;line-height:1;letter-spacing:-.01em;text-transform:uppercase;font-variant-numeric:tabular-nums;color:var(--ink-3);padding-top:0}.prose .woocommerce table.shop_table tbody tr:last-child td,.prose .woocommerce table.shop_table tbody tr:last-child th{border-bottom:0}.prose .woocommerce table.shop_table tfoot td,.prose .woocommerce table.shop_table tfoot th{border-bottom:0}.prose .woocommerce table.shop_table a{color:inherit;font-weight:600}.prose .woocommerce table.shop_table .amount{font-variant-numeric:tabular-nums}.prose .woocommerce input.input-text,.prose .woocommerce textarea.input-text{width:100%;height:54px;padding:0 1.3rem;border:1px solid var(--line-2);border-radius:999px;background:var(--bg);color:var(--ink);font:inherit;line-height:1.3;transition:border-color var(--dur-fast) cubic-bezier(.22,.61,.36,1)}.prose .woocommerce input.input-text:focus-visible,.prose .woocommerce textarea.input-text:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.prose .woocommerce input.input-text::-moz-placeholder,.prose .woocommerce textarea.input-text::-moz-placeholder{color:var(--ink-3)}.prose .woocommerce input.input-text::placeholder,.prose .woocommerce textarea.input-text::placeholder{color:var(--ink-3)}@media (max-width:780px){.prose .woocommerce table.cart td.product-thumbnail{display:block;padding-right:0}.prose .woocommerce table.cart td.product-thumbnail::before{display:none}.prose .woocommerce table.cart td.actions .coupon{flex-wrap:wrap;width:100%}.prose .woocommerce table.cart td.actions .coupon .input-text{flex:1 1 160px;width:auto;min-width:0}.prose .woocommerce table.cart td.actions .coupon .button{float:none;flex:0 0 auto;width:auto}}.prose .woocommerce textarea.input-text{height:auto;padding:1rem 1.3rem;border-radius:27px;min-height:6em}.prose .woocommerce .quantity{height:46px}.prose .woocommerce .quantity .qty__ctl{padding-block:7px}.prose .woocommerce select{width:100%}.prose .woocommerce .select2-container .select2-selection--single{height:auto}.prose .woocommerce .select2-container .select2-selection--single .select2-selection__rendered{padding:0;line-height:inherit;color:inherit}.prose .woocommerce .select2-container .select2-selection--single .select2-selection__arrow{display:none}.prose .woocommerce .button,.prose .woocommerce a.button,.prose .woocommerce button.button{display:inline-flex;align-items:center;justify-content:center;gap:.75rem;height:54px;padding-inline:2rem;border:1px solid var(--line-2);border-radius:999px;background:0 0;color:var(--ink);font:inherit;font-size:.92rem;font-weight:600;letter-spacing:.01em;line-height:1;white-space:nowrap;cursor:pointer;transition:background var(--dur-fast) cubic-bezier(.22,.61,.36,1),color var(--dur-fast) cubic-bezier(.22,.61,.36,1),border-color var(--dur-fast) cubic-bezier(.22,.61,.36,1)}@media (hover:hover) and (pointer:fine){.prose .woocommerce .button:hover,.prose .woocommerce a.button:hover,.prose .woocommerce button.button:hover{background:var(--ink);border-color:var(--ink);color:var(--bg)}}.prose .woocommerce .button.disabled,.prose .woocommerce .button:disabled,.prose .woocommerce a.button.disabled,.prose .woocommerce a.button:disabled,.prose .woocommerce button.button.disabled,.prose .woocommerce button.button:disabled{opacity:.4;cursor:not-allowed}.prose .woocommerce #place_order,.prose .woocommerce .button.alt,.prose .woocommerce .checkout-button,.prose .woocommerce .coupon .button[name=apply_coupon]{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.prose .woocommerce .form-row{margin:0 0 1rem;padding:0}.prose .woocommerce .form-row label{display:block;margin-bottom:.5rem;font-family:var(--font-display);font-size:clamp(.9rem,1.1vw,1.15rem);font-weight:900;line-height:1;letter-spacing:-.01em;text-transform:uppercase;font-variant-numeric:tabular-nums;color:var(--ink-2)}.prose .woocommerce .form-row label .required{color:var(--ink-3);text-decoration:none}.prose .woocommerce .form-row label .optional{font-weight:400;text-transform:none;letter-spacing:0;color:var(--ink-3)}.prose .woocommerce .form-row.form-row-first,.prose .woocommerce .form-row.form-row-last{width:calc(50% - .5rem)}.prose .woocommerce .form-row.form-row-first{float:left}.prose .woocommerce .form-row.form-row-last{float:right}.prose .woocommerce .form-row.form-row-wide{clear:both}.prose .woocommerce .form-row .woocommerce-input-wrapper{display:block}@media (max-width:520px){.prose .woocommerce .form-row.form-row-first,.prose .woocommerce .form-row.form-row-last{float:none;width:100%}}.prose .woocommerce .form-row .checkbox,.prose .woocommerce .woocommerce-form__label-for-checkbox{display:inline-flex;align-items:center;gap:.5rem;text-transform:none;letter-spacing:0;font-family:inherit;font-size:.95rem;font-weight:500;color:var(--ink)}.prose .woocommerce .form-row .checkbox input,.prose .woocommerce .woocommerce-form__label-for-checkbox input{width:auto;accent-color:var(--accent)}.prose .woocommerce .woocommerce-cart-form{margin:0;transition:opacity .25s cubic-bezier(.22,.61,.36,1)}.prose .woocommerce .woocommerce-cart-form table.cart{table-layout:fixed}.prose .woocommerce .woocommerce-cart-form table.cart th.product-remove{width:44px}.prose .woocommerce .woocommerce-cart-form table.cart th.product-thumbnail{width:96px}.prose .woocommerce .woocommerce-cart-form table.cart th.product-price{width:96px}.prose .woocommerce .woocommerce-cart-form table.cart th.product-quantity{width:150px}.prose .woocommerce .woocommerce-cart-form table.cart th.product-subtotal{width:100px}.prose .woocommerce .woocommerce-cart-form td.product-remove,.prose .woocommerce .woocommerce-cart-form th.product-remove{padding-left:0;padding-right:1rem}.prose .woocommerce .woocommerce-cart-form a.remove{display:grid;place-items:center;width:28px;height:28px;border-radius:999px;border:1px solid var(--line-2);color:var(--ink-2)!important;font-size:1.1rem;font-weight:400;line-height:1;text-decoration:none;transition:background var(--dur-fast) cubic-bezier(.22,.61,.36,1),color var(--dur-fast) cubic-bezier(.22,.61,.36,1)}@media (hover:hover) and (pointer:fine){.prose .woocommerce .woocommerce-cart-form a.remove:hover{background:var(--ink)!important;color:var(--bg)!important;border-color:var(--ink)}}.prose .woocommerce .woocommerce-cart-form td.product-thumbnail,.prose .woocommerce .woocommerce-cart-form th.product-thumbnail{padding-right:1rem}.prose .woocommerce .woocommerce-cart-form td.product-thumbnail img{display:block;width:72px;max-width:none;height:72px;-o-object-fit:cover;object-fit:cover;border-radius:var(--radius);background:var(--bg-3)}.prose .woocommerce .woocommerce-cart-form td.product-name{font-weight:600}.prose .woocommerce .woocommerce-cart-form td.product-name .variation{display:block;margin:.3em 0 0;font-family:var(--font-mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}.prose .woocommerce .woocommerce-cart-form td.product-name .variation dd,.prose .woocommerce .woocommerce-cart-form td.product-name .variation dt,.prose .woocommerce .woocommerce-cart-form td.product-name .variation p{display:inline;margin:0;font-weight:400}.prose .woocommerce .woocommerce-cart-form td.product-name .variation dt{margin-right:.3em}.prose .woocommerce .woocommerce-cart-form td.product-price,.prose .woocommerce .woocommerce-cart-form td.product-subtotal{white-space:nowrap}.prose .woocommerce .woocommerce-cart-form td.actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;padding-inline:0;border:0}.prose .woocommerce .woocommerce-cart-form td.actions .coupon{display:flex;gap:.5rem;float:none}.prose .woocommerce .woocommerce-cart-form td.actions>.button[name=update_cart]{display:none}.prose .woocommerce .blockUI.blockOverlay{display:none!important}.prose .woocommerce .processing{position:relative}.prose .woocommerce .processing::before{display:none!important}.prose .woocommerce .cart_totals.processing,.prose .woocommerce .woocommerce-cart-form.processing,.prose .woocommerce .woocommerce-checkout-payment.processing,.prose .woocommerce .woocommerce-checkout-review-order.processing{opacity:.45;pointer-events:none;transition:opacity .25s cubic-bezier(.22,.61,.36,1)}.prose .woocommerce table.cart td.actions .coupon .input-text{float:none;width:220px;height:54px;margin:0;padding:0 1.3rem;border:1px solid var(--line-2);border-radius:999px;background:var(--bg);color:var(--ink);font:inherit;font-size:1rem;line-height:1.3}.prose .woocommerce table.cart td.actions .coupon .input-text:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.prose .woocommerce table.cart td.actions .coupon .input-text::-moz-placeholder{color:var(--ink-3)}.prose .woocommerce table.cart td.actions .coupon .input-text::placeholder{color:var(--ink-3)}.prose .woocommerce .cart_totals{transition:opacity .25s cubic-bezier(.22,.61,.36,1);float:none;width:100%;max-width:420px;margin:clamp(2rem,4vw,3rem) 0 0 auto;padding:2rem;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--wash)}.prose .woocommerce .cart_totals h2{margin:0 0 1rem;font-family:var(--font-display);font-size:clamp(20px,18px + .5vw,26px);font-weight:900;line-height:1;letter-spacing:-.02em;text-transform:uppercase}.prose .woocommerce .cart_totals table.shop_table th{font-family:var(--font-display);font-size:clamp(.9rem,1.1vw,1.15rem);font-weight:900;line-height:1;letter-spacing:-.01em;text-transform:uppercase;font-variant-numeric:tabular-nums;color:var(--ink-3);width:45%;padding-left:0}.prose .woocommerce .cart_totals table.shop_table td{text-align:right;padding-right:0}.prose .woocommerce .cart_totals table.shop_table tr.order-total td{font-family:var(--font-display);font-size:1.35rem;font-weight:900}.prose .woocommerce .cart_totals .wc-proceed-to-checkout{padding:1.5rem 0 0}.prose .woocommerce .cart_totals .wc-proceed-to-checkout .checkout-button{width:100%;margin:0}.prose .woocommerce .cart_totals .woocommerce-shipping-calculator,.prose .woocommerce .cart_totals .woocommerce-shipping-destination{font-size:.85rem;color:var(--ink-3)}.prose .woocommerce .cart-empty{margin:0 0 1.5rem}.prose .woocommerce .return-to-shop{margin:0}.prose .woocommerce .woocommerce-form-coupon-toggle,.prose .woocommerce .woocommerce-form-login-toggle{margin-bottom:1.5rem}.prose .woocommerce form.checkout_coupon,.prose .woocommerce form.woocommerce-form-login{margin:0 0 2rem;padding:1.5rem;border:1px solid var(--line);border-radius:var(--radius)}.prose .woocommerce form.checkout_coupon .form-row-last .button,.prose .woocommerce form.woocommerce-form-login .form-row-last .button{height:46px;margin-top:1.55rem}.prose .woocommerce form.checkout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:clamp(2rem,5vw,4rem);align-items:start}@media (max-width:1080px){.prose .woocommerce form.checkout{grid-template-columns:1fr}}.prose .woocommerce form.checkout #customer_details{width:100%}.prose .woocommerce form.checkout #customer_details .col-1,.prose .woocommerce form.checkout #customer_details .col-2{float:none;width:100%}.prose .woocommerce form.checkout #customer_details .col-2{margin-top:2rem}.prose .woocommerce form.checkout h3{margin:0 0 1.5rem;font-family:var(--font-display);font-size:clamp(20px,18px + .5vw,26px);font-weight:900;line-height:1;letter-spacing:-.02em;text-transform:uppercase}.prose .woocommerce form.checkout #order_review_heading{grid-column:2;grid-row:1;margin-top:0}.prose .woocommerce form.checkout #order_review{grid-column:2;grid-row:2;padding:2rem;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--wash)}@media (max-width:1080px){.prose .woocommerce form.checkout #order_review,.prose .woocommerce form.checkout #order_review_heading{grid-column:1;grid-row:auto}}.prose .woocommerce form.checkout .woocommerce-checkout-review-order-table td,.prose .woocommerce form.checkout .woocommerce-checkout-review-order-table th{padding-inline:0}.prose .woocommerce form.checkout .woocommerce-checkout-review-order-table td.product-name{font-weight:600}.prose .woocommerce form.checkout .woocommerce-checkout-review-order-table td.product-name .product-quantity{color:var(--ink-3);font-weight:400}.prose .woocommerce form.checkout .woocommerce-checkout-review-order-table td.product-total,.prose .woocommerce form.checkout .woocommerce-checkout-review-order-table tfoot td{text-align:right}.prose .woocommerce form.checkout .woocommerce-checkout-review-order-table tfoot th{font-family:var(--font-display);font-size:clamp(.9rem,1.1vw,1.15rem);font-weight:900;line-height:1;letter-spacing:-.01em;text-transform:uppercase;font-variant-numeric:tabular-nums;color:var(--ink-3)}.prose .woocommerce form.checkout .woocommerce-checkout-review-order-table tr.order-total td{font-family:var(--font-display);font-size:1.35rem;font-weight:900}.prose .woocommerce form.checkout #payment{background:0 0;border-radius:0;margin-top:1.5rem}.prose .woocommerce form.checkout #payment ul.payment_methods{margin:0 0 1.5rem;padding:0 0 1.5rem;border-bottom:1px solid var(--line);list-style:none}.prose .woocommerce form.checkout #payment ul.payment_methods li{margin:0 0 .75rem;line-height:1.4;font-size:.95rem}.prose .woocommerce form.checkout #payment ul.payment_methods label{display:inline;font-weight:600}.prose .woocommerce form.checkout #payment ul.payment_methods input[type=radio]{accent-color:var(--accent);margin-right:.5em}.prose .woocommerce form.checkout #payment ul.payment_methods .payment_box{margin:.75rem 0 0;padding:1rem;border-radius:var(--radius);background:var(--bg);font-size:.88rem;color:var(--ink-2)}.prose .woocommerce form.checkout #payment ul.payment_methods .payment_box::before{display:none}.prose .woocommerce form.checkout #payment ul.payment_methods .payment_box p:last-child{margin-bottom:0}.prose .woocommerce form.checkout #payment ul.payment_methods img{max-height:24px;vertical-align:middle}.prose .woocommerce form.checkout #payment .place-order{padding:0;margin:0}.prose .woocommerce form.checkout #payment .woocommerce-terms-and-conditions-wrapper{margin:0 0 1rem;font-size:.85rem;color:var(--ink-2)}.prose .woocommerce form.checkout #payment #place_order{width:100%}.prose .woocommerce form.checkout #payment .woocommerce-privacy-policy-text{font-size:.85rem;color:var(--ink-3)}.prose .woocommerce .woocommerce-order .woocommerce-thankyou-order-received{font-size:clamp(1.1rem,.5vw + 1rem,1.35rem);font-weight:600}.prose .woocommerce .woocommerce-order ul.woocommerce-order-overview{display:flex;flex-wrap:wrap;gap:1rem 2rem;margin:1.5rem 0;padding:1.5rem;border:1px solid var(--line);border-radius:var(--radius);list-style:none}.prose .woocommerce .woocommerce-order ul.woocommerce-order-overview li{margin:0;padding:0;border:0;font-family:var(--font-display);font-size:clamp(.9rem,1.1vw,1.15rem);font-weight:900;line-height:1;letter-spacing:-.01em;text-transform:uppercase;font-variant-numeric:tabular-nums;color:var(--ink-3)}.prose .woocommerce .woocommerce-order ul.woocommerce-order-overview li strong{display:block;margin-top:.3em;font:inherit;font-size:1rem;font-weight:600;letter-spacing:0;text-transform:none;color:var(--ink)}.prose .woocommerce .woocommerce-order h2{font-family:var(--font-display);font-size:clamp(20px,18px + .5vw,26px);font-weight:900;text-transform:uppercase;letter-spacing:-.02em}.prose .woocommerce .woocommerce-order address{font-style:normal;line-height:1.5}.subscribe{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(2rem,5vw,5rem);padding:clamp(2rem,4.5vw,4rem);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--bg-2)}@media (max-width:1080px){.subscribe{grid-template-columns:1fr;gap:clamp(1.75rem,4vw,2.5rem)}}.subscribe>*{min-width:0}.subscribe__title{margin-top:.75rem;font-family:var(--font-display);font-size:clamp(30px,19.3333333333px + 2.6666666667vw,62px);font-weight:900;line-height:.92;letter-spacing:-.035em;text-transform:uppercase}.subscribe__title-hollow{display:block;color:transparent;-webkit-text-stroke:2px var(--ink)}@media (max-width:780px){.subscribe__title-hollow{-webkit-text-stroke-width:1.5px}}.subscribe__lede{max-width:46ch;margin-top:1rem;font-size:clamp(.98rem,.35vw + .9rem,1.12rem);line-height:1.55;color:var(--ink-2)}.sform2__row{display:flex;gap:.75rem}@media (max-width:520px){.sform2__row{flex-direction:column}}.sform2__input{flex:1 1 auto;min-width:0;height:54px;padding-inline:1.5rem;border:1px solid var(--line-2);border-radius:999px;background:var(--bg);color:var(--ink);font-size:1rem;font-family:inherit}.sform2__input::-moz-placeholder{color:var(--ink-3)}.sform2__input::placeholder{color:var(--ink-3)}.sform2__input:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-color:transparent}.sform2.is-invalid .sform2__input{border-color:var(--accent-deep)}.sform2__btn{flex:none;min-width:11rem}@media (max-width:520px){.sform2__btn{width:100%}}.sform2__btn[disabled]{opacity:.55;pointer-events:none}.sform2__msg{margin-top:1rem;font-size:.92rem;line-height:1.45}.sform2__msg:empty{display:none}.sform2.is-ok .sform2__msg{color:var(--accent-ink)}.sform2.is-invalid .sform2__msg{color:var(--ink);font-weight:600}.sform2__fine{margin-top:1rem;font-size:.8rem;line-height:1.5;color:var(--ink-3)}.sform2.is-done .sform2__row{display:none}.u-trap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.formwrap{margin-top:clamp(2.5rem,5vw,4rem)}.nf-form-cont .nf-form-title{display:none}.nf-form-cont .nf-debug-msg{display:none}.nf-form-cont .nf-form-fields-required{margin-bottom:1.5rem;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}.nf-form-cont .nf-field-container{margin-bottom:1.5rem}.nf-form-cont .nf-field-container.label-hidden .nf-field-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.nf-form-cont .nf-field-label label{display:block;margin-bottom:.5rem;font-family:var(--font-mono);font-size:.72rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-2)}.nf-form-cont .ninja-forms-req-symbol{color:var(--ink-3)}.nf-form-cont input.nf-element:not([type=submit]):not([type=button]),.nf-form-cont select.nf-element,.nf-form-cont textarea.nf-element{width:100%;height:54px;padding:0 1.3rem;border:1px solid var(--line-2);border-radius:999px;background:var(--bg);color:var(--ink);font-family:inherit;line-height:1.5;font-size:1rem;transition:border-color var(--dur-fast) cubic-bezier(.22,.61,.36,1)}.nf-form-cont input.nf-element:not([type=submit]):not([type=button])::-moz-placeholder,.nf-form-cont select.nf-element::-moz-placeholder,.nf-form-cont textarea.nf-element::-moz-placeholder{color:var(--ink-3);opacity:1}.nf-form-cont input.nf-element:not([type=submit]):not([type=button])::placeholder,.nf-form-cont select.nf-element::placeholder,.nf-form-cont textarea.nf-element::placeholder{color:var(--ink-3);opacity:1}.nf-form-cont input.nf-element:not([type=submit]):not([type=button]):focus-visible,.nf-form-cont select.nf-element:focus-visible,.nf-form-cont textarea.nf-element:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-color:transparent}.nf-form-cont input.nf-element:not([type=submit]):not([type=button])[aria-invalid=true],.nf-form-cont select.nf-element[aria-invalid=true],.nf-form-cont textarea.nf-element[aria-invalid=true]{border-color:var(--accent-deep)}.nf-form-cont textarea.nf-element{height:auto;padding:1rem 1.3rem;border-radius:27px;resize:none;min-height:11rem;scrollbar-width:none}.nf-form-cont textarea.nf-element::-webkit-scrollbar{display:none}.nf-form-cont .nf-input-limit:empty{display:none}.nf-form-cont .nf-error-wrap.nf-error{margin-top:.5rem;font-size:.88rem;line-height:1.45;color:var(--accent-ink)}.nf-form-cont .nf-error-wrap.nf-error:empty{display:none}.nf-form-cont .nf-response-msg{font-size:1rem;line-height:1.6}.nf-form-cont .nf-response-msg:empty{display:none}.nf-form-cont .nf-response-msg:not(:empty){margin-bottom:1.5rem;padding:1rem 1.5rem;border:1px solid var(--line-2);border-radius:var(--radius);background:var(--bg-2)}.nf-form-cont .nf-response-msg p:last-child{margin-bottom:0}.nf-form-cont input.nf-element[type=button],.nf-form-cont input.nf-element[type=submit]{display:inline-flex;align-items:center;justify-content:center;width:auto;height:54px;padding-inline:2rem;border:1px solid var(--accent);border-radius:999px;background:var(--accent);color:var(--on-accent);font-family:inherit;font-size:.92rem;font-weight:600;letter-spacing:.01em;white-space:nowrap;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;transition:background var(--dur-fast) cubic-bezier(.22,.61,.36,1),color var(--dur-fast) cubic-bezier(.22,.61,.36,1),transform var(--dur-fast) cubic-bezier(.22,.61,.36,1)}@media (hover:hover) and (pointer:fine){.nf-form-cont input.nf-element[type=button]:hover,.nf-form-cont input.nf-element[type=submit]:hover{background:var(--ink);border-color:var(--ink);color:var(--bg)}}.nf-form-cont input.nf-element[type=button]:active,.nf-form-cont input.nf-element[type=submit]:active{transform:translateY(1px)}.nf-form-cont input.nf-element[type=button]:focus-visible,.nf-form-cont input.nf-element[type=submit]:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.nf-form-cont input.nf-element[type=button][disabled],.nf-form-cont input.nf-element[type=submit][disabled]{opacity:.55;pointer-events:none}.nf-form-cont .submit-container{margin-top:2rem}@media (max-width:520px){.nf-form-cont .submit-container input.nf-element[type=submit]{width:100%}}.nf-form-cont .ninja-forms-field-processing{color:var(--ink-2)}.nf-form-cont .recaptcha_v3-container{display:none}.dock{position:fixed;left:0;right:0;bottom:0;z-index:90;height:var(--dock-h);background:color-mix(in srgb,var(--bg-2) 88%,transparent);backdrop-filter:blur(20px) saturate(1.5);-webkit-backdrop-filter:blur(20px) saturate(1.5);border-top:1px solid var(--line);transform:translateY(101%);transition:transform .55s cubic-bezier(.16,1,.3,1)}.dock.is-up{transform:translateY(0)}.dock__inner{width:min(100% - var(--gutter) * 2,var(--maxw));height:100%;margin-inline:auto;display:flex;align-items:center;gap:clamp(.75rem,2vw,2rem)}.dock__play{display:grid;place-items:center;width:46px;height:46px;flex:none;border-radius:999px;background:var(--accent);color:var(--on-accent);transition:transform var(--dur-fast) cubic-bezier(.22,.61,.36,1),filter var(--dur-fast) cubic-bezier(.22,.61,.36,1)}.dock__play svg{width:15px;height:15px}.dock__play .i-pause{display:none}.dock__play:hover{filter:brightness(1.12)}.dock__play:active{transform:scale(.92)}.dock.is-playing .dock__play .i-play{display:none}.dock.is-playing .dock__play .i-pause{display:block}.dock__meta{min-width:0;display:grid;gap:1px}.dock__label{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3)}.dock__title{font-size:.95rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dock__wave{margin-left:auto}@media (max-width:780px){.dock__wave{display:none}}.dock:not(.is-playing) .dock__wave span{animation-play-state:paused;opacity:.35}.dock__time{font-family:var(--font-mono);font-size:.72rem;font-variant-numeric:tabular-nums;color:var(--ink-2);flex:none}@media (max-width:520px){.dock__time{display:none}}.dock__progress{position:absolute;top:-1px;left:0;right:0;height:3px;background:var(--line);cursor:pointer}.dock__progress::before{content:"";position:absolute;inset:-8px 0}.dock__bar{height:100%;width:0;background:var(--accent);transform-origin:left}body.has-dock{padding-bottom:var(--dock-h)}.cookies{position:fixed;--inset:calc(var(--gutter) * .5);left:var(--inset);right:var(--inset);bottom:calc(var(--inset) + env(safe-area-inset-bottom,0px));z-index:95;opacity:0;transform:translateY(12px);transition:opacity .45s cubic-bezier(.16,1,.3,1),transform .55s cubic-bezier(.16,1,.3,1);pointer-events:none}.cookies.is-in{opacity:1;transform:none;pointer-events:auto}.dock.is-up~.cookies{bottom:calc(var(--dock-h) + var(--inset) + env(safe-area-inset-bottom,0px))}@media (min-width:640px){.cookies{left:auto;width:min(400px,100% - var(--inset) * 2);transform:translateX(calc(100% + var(--inset)))}.cookies.is-in{transform:none}}.cookies__box{padding:1.5rem 2rem 2rem;border:1px solid var(--line);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--bg-2) 92%,transparent);backdrop-filter:blur(20px) saturate(1.5);-webkit-backdrop-filter:blur(20px) saturate(1.5);box-shadow:0 18px 50px -20px rgba(0,0,0,.55)}.cookies__title{margin:0 0 .5rem;font-family:var(--font-display);font-size:clamp(22px,20px + .5vw,28px);font-weight:900;line-height:1;letter-spacing:-.03em;text-transform:uppercase}.cookies__copy{margin:0 0 1.5rem;font-size:.9375rem;line-height:1.45;color:var(--ink-2)}.cookies__copy a{color:var(--ink);text-decoration:underline;text-underline-offset:.18em}.cookies__actions{display:flex;gap:.75rem}.cookies__btn{flex:1;height:46px;padding-inline:1rem}.foot{position:relative;padding-top:clamp(3rem,7vw,7rem);border-top:1px solid var(--line);overflow:hidden}.foot__subscribe{margin-bottom:clamp(3rem,7vw,7rem)}.foot__top{display:grid;grid-template-columns:auto auto;justify-content:space-between;align-items:start;gap:3rem}@media (max-width:780px){.foot__top{grid-template-columns:1fr}}.foot__lede{display:flex;align-items:center;gap:clamp(.75rem,2vw,1.5rem);font-size:clamp(26px,14px + 3vw,62px)}.foot__badge{flex:none;width:2.85em;height:2.85em}[data-theme=light] .foot__badge{filter:invert(1)}.foot__pitch{font-family:var(--font-display);font-size:inherit;font-weight:900;line-height:.95;text-transform:uppercase;letter-spacing:-.03em;max-width:16ch}.foot__cols{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,auto);gap:clamp(3rem,4.5vw,5rem)}@media (max-width:780px){.foot__cols{gap:1.5rem}}@media (max-width:520px){.foot__cols{grid-auto-flow:row;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem 1rem}}.foot__col{display:grid;gap:.75rem;align-content:start}.foot__col h3{font-family:var(--font-mono);font-size:.66rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3)}.foot__col ul{list-style:none;display:grid;gap:.65em}@media (max-width:780px){.foot__col ul{gap:.5rem}}.foot__col a{font-size:.95rem;color:var(--ink-2);transition:color var(--dur-fast) cubic-bezier(.22,.61,.36,1)}.foot__col a:hover{color:var(--accent-ink)}.foot__base{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-top:clamp(2rem,5vw,5rem);padding-block:1.5rem;border-top:1px solid var(--line);font-family:var(--font-mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}.foot__legal{display:flex;flex-wrap:wrap;gap:.75rem}.foot__legal a{color:inherit;text-decoration:none;transition:color var(--dur-fast) cubic-bezier(.22,.61,.36,1)}.foot__legal a:focus-visible,.foot__legal a:hover{color:var(--ink)}.foot__by{color:var(--accent-ink);transition:color var(--dur-fast) cubic-bezier(.22,.61,.36,1)}@media (hover:hover) and (pointer:fine){.foot__by:hover{color:var(--ink)}}.social{display:flex;gap:.5rem;list-style:none}.social a{display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--line);border-radius:999px;color:var(--ink-2);transition:color var(--dur-fast) cubic-bezier(.22,.61,.36,1),border-color var(--dur-fast) cubic-bezier(.22,.61,.36,1),transform var(--dur-fast) cubic-bezier(.22,.61,.36,1)}.social a svg{width:15px;height:15px;fill:currentColor}.social a:hover{color:var(--accent-ink);border-color:var(--accent);transform:translateY(-3px)}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImhlYWQuc2NzcyIsIl90b2tlbnMuc2NzcyIsImNvcmUuY3NzIiwiX2Jhc2Uuc2NzcyIsIl9tb3Rpb24uc2NzcyIsIl9uYXYuc2NzcyIsIl9oZXJvLnNjc3MiLCJfdGlja2VyLnNjc3MiLCJfaW5kZXguc2NzcyIsIl9zaG9ydHMuc2NzcyIsIl9saWdodGJveC5zY3NzIiwiX3NpbmdsZS5zY3NzIiwiX3NlYXJjaC5zY3NzIiwiX3NvY2lhbC5zY3NzIiwiX2NhcmRzLnNjc3MiLCJfcHJvc2Uuc2NzcyIsIl9zaWRlYmFyLnNjc3MiLCJfcHJvbW8uc2NzcyIsIl9zaG9wLnNjc3MiLCJfbmV3c2xldHRlci5zY3NzIiwiX2Zvcm1zLnNjc3MiLCJfZG9jay5zY3NzIiwiX2Nvb2tpZXMuc2NzcyIsIl9mb290ZXIuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiaUJBRUE7Ozs7Ozs7Ozs7Ozs7QUNtSkEsTUNwSkEsbUJEc0pDLEtBQUEsUUFDQSxPQUFBLFFBYUEsVUFBQSxRQUNBLE9BQUEsUUFDQSxPQUFBLFFBQ0EsV0FBQSxRQUVBLE1BQUEsUUFDQSxRQUFBLFFBQ0EsUUFBQSxRQUVBLE9BQUEsc0JBQ0EsU0FBQSxzQkFjQSxjQUFBLGlEQUVBLFNBQUEsUUFDQSxhQUFBLFFBQ0EsY0FBQSxRQUNBLFdBQUEsUUFDQSxZQUFBLFFBRUEsU0FBQSxFQUFBLEtBQUEsS0FBQSxzQkFDQSxjQUFBLEVBQUEsS0FBQSxLQUFBLHNCQUNBLFFBQUEsSUFLQSxjQUFBLHlCQUVBLGFBQUEsTUNuTEQsT0QrTEEsa0JBRUMsS0FBQSxRQUNBLE9BQUEsUUFTQSxVQUFBLFFBQ0EsT0FBQSxRQUNBLE9BQUEsUUFDQSxXQUFBLFFBRUEsTUFBQSxRQUNBLFFBQUEsUUFDQSxRQUFBLFFBRUEsT0FBQSx5QkFDQSxTQUFBLHlCQUVBLGNBQUEsb0RBRUEsU0FBQSxRQUNBLGFBQUEsUUFDQSxjQUFBLFFBQ0EsV0FBQSxRQUNBLFlBQUEsUUFFQSxTQUFBLEVBQUEsS0FBQSxLQUFBLG1CQUNBLGNB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dCBcInV0Zi04XCI7XG5cbi8qIVxuICBUaGVtZSBOYW1lOiBTSUdOQUxcbiAgVmVyc2lvbjogMC4xLjBcbiAgQnVpbGQ6IDI2LjkuMjBcbiAgQXV0aG9yOiBNaW5kZnVsIENyZWF0aXZlXG4gIERlc2NyaXB0aW9uOiBEZXNpZ24gb3B0aW9uIDIuIEEgYnJvYWRjYXN0LWNvbnNvbGUgcG9kY2FzdCB0aGVtZSBidWlsdCBmcm9tIGEgYmxhbmsgcGFnZSDigJQgbm8gVjEgb3IgVjIgbWFya3VwIGFuZCBubyBsZWdhY3kgc3R5bGVzaGVldC4gRGFyay1maXJzdCB3aXRoIGEgcmVhbCBsaWdodCBtb2RlLiBDb250ZW50IGlzIHdpcmVkIHRocm91Z2ggYSBzaW5nbGUgc2VhbSBpbiBpbmMvY29udGVudC5waHAuXG4gIExpY2Vuc2U6IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHYyIG9yIGxhdGVyXG4gIExpY2Vuc2UgVVJJOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvZ3BsLTIuMC5odG1sXG4gIFRleHQgRG9tYWluOiBzaWduYWxcbiAgTm90ZTogVGhlIGJhbmcgaW4gdGhpcyBjb21tZW50IGlzIGxvYWQtYmVhcmluZyDigJQgY2xlYW5Dc3Mgc3RyaXBzIG9yZGluYXJ5XG4gICAgICAgIGNvbW1lbnRzLCBhbmQgV29yZFByZXNzIHdvdWxkIHN0b3AgcmVjb2duaXNpbmcgdGhlIHRoZW1lLlxuKi9cbiIsIkB1c2UgXCJzYXNzOm1hdGhcIjtcbkB1c2UgXCJzYXNzOm1hcFwiO1xuXG4vLyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi8vICBUT0tFTlNcbi8vXG4vLyAgRXZlcnkgY29sb3VyIGlzIGEgQ1NTIGN1c3RvbSBwcm9wZXJ0eSB1bmRlciBbZGF0YS10aGVtZV0sIG5ldmVyIGEgU2Fzc1xuLy8gIHZhcmlhYmxlIOKAlCB0aGF0J3Mgd2hhdCBtYWtlcyB0aGUgbGlnaHQvZGFyayB0b2dnbGUgYSBzaW5nbGUgYXR0cmlidXRlIGZsaXBcbi8vICBpbnN0ZWFkIG9mIHR3byBjb21waWxlZCBzdHlsZXNoZWV0cy4gU2FzcyB2YXJpYWJsZXMgYXJlIHJlc2VydmVkIGZvciB0aGluZ3Ncbi8vICB0aGF0IGdlbnVpbmVseSBjYW5ub3QgY2hhbmdlIGF0IHJ1bnRpbWU6IGJyZWFrcG9pbnRzLCBlYXNpbmdzLCB0aGUgdHlwZVxuLy8gIHNjYWxlJ3MgbWF0aHMuXG4vL1xuLy8gIERhcmsgaXMgdGhlIGRlc2lnbidzIG5hdGl2ZSBzdGF0ZS4gTGlnaHQgaXMgYSByZWFsLCBmdWxseS1zcGVjaWZpZWQgdGhlbWVcbi8vICBhbmQgbm90IGFuIGFmdGVydGhvdWdodCBpbnZlcnNpb24g4oCUIHRoZSBjbGllbnQgcHJlZmVycyB3aGl0ZSwgc28gaXQgaGFzIHRvXG4vLyAgaG9sZCB1cCBvbiBpdHMgb3duLlxuLy8g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cbi8vIOKUgOKUgCBCcmVha3BvaW50cyAoY29tcGlsZS10aW1lKSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbiRicC14bDogMTQ0MHB4O1xuJGJwLWxnOiAxMDgwcHg7XG4kYnAtbWQ6IDc4MHB4O1xuJGJwLXNtOiA1MjBweDtcblxuQG1peGluIGF0KCRicCkge1xuXHRAaWYgICAgICAkYnAgPT0geGwgeyBAbWVkaWEgKG1heC13aWR0aDogJGJwLXhsKSB7IEBjb250ZW50OyB9IH1cblx0QGVsc2UgaWYgJGJwID09IGxnIHsgQG1lZGlhIChtYXgtd2lkdGg6ICRicC1sZykgeyBAY29udGVudDsgfSB9XG5cdEBlbHNlIGlmICRicCA9PSBtZCB7IEBtZWRpYSAobWF4LXdpZHRoOiAkYnAtbWQpIHsgQGNvbnRlbnQ7IH0gfVxuXHRAZWxzZSBpZiAkYnAgPT0gc20geyBAbWVkaWEgKG1heC13aWR0aDogJGJwLXNtKSB7IEBjb250ZW50OyB9IH1cblx0QGVsc2UgeyBAZXJyb3IgXCJhdCgpOiB1bmtub3duIGJyZWFrcG9pbnQgJyN7JGJwfScuXCI7IH1cbn1cblxuLy8g4pSA4pSAIEVhc2luZyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbiRlYXNlOiAgICAgY3ViaWMtYmV6aWVyKC4yMiwgLjYxLCAuMzYsIDEpO1xuJGVhc2Utb3V0OiBjdWJpYy1iZXppZXIoLjE2LCAxLCAuMywgMSk7XG4kZWFzZS1pbjogIGN1YmljLWJlemllciguNywgMCwgLjg0LCAwKTtcblxuLy8g4pSA4pSAIEZsdWlkIHR5cGUg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4vLyBjbGFtcCgpIGJldHdlZW4gdHdvIHZpZXdwb3J0IHdpZHRocywgc28gbm90aGluZyBzdGVwcyBhdCBhIGJyZWFrcG9pbnQuXG5AZnVuY3Rpb24gZmx1aWQoJG1pbiwgJG1heCwgJGZyb206IDQwMCwgJHRvOiAxNjAwKSB7XG5cdCRzbG9wZTogbWF0aC5kaXYoJG1heCAtICRtaW4sICR0byAtICRmcm9tKTtcblx0JGludGVyOiAkbWluIC0gJHNsb3BlICogJGZyb207XG5cdEByZXR1cm4gY2xhbXAoI3skbWlufXB4LCAjeyRpbnRlcn1weCArICN7JHNsb3BlICogMTAwfXZ3LCAjeyRtYXh9cHgpO1xufVxuXG4vLyDilIDilIAgSW1hZ2Ugem9vbSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi8vICBIb3ZlciB6b29tIG9uIGFydHdvcmsgc3R1dHRlcnMgdW5sZXNzIHRoZSBpbWFnZSBpcyBvbiBpdHMgb3duIGNvbXBvc2l0b3Jcbi8vICBsYXllci4gU2NhbGluZyBhIDEyODB4NzIwIHNvdXJjZSBpbnNpZGUgYW4gb3ZlcmZsb3c6aGlkZGVuIGJveCBtYWtlcyB0aGVcbi8vICBicm93c2VyIFJFUEFJTlQgdGhlIHdob2xlIGJveCBldmVyeSBmcmFtZTsgdHJhbnNsYXRlWigwKSBwcm9tb3RlcyBpdCBzbyB0aGVcbi8vICBzY2FsZSBpcyBjb21wb3NpdGVkIGluc3RlYWQsIHdoaWNoIHRoZSBHUFUgZG9lcyBmb3IgZnJlZS5cbi8vXG4vLyAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuIHN0b3BzIHRoZSBzdWItcGl4ZWwgc2hpbW1lciB0aGF0IHByb21vdGlvbiBjYW5cbi8vICBvdGhlcndpc2UgaW50cm9kdWNlIG9uIHRoZSBmaXJzdCBmcmFtZS5cbi8vXG4vLyAgQm90aCBtaXhpbnMgbXVzdCBrZWVwIHRyYW5zbGF0ZVooMCkgaW4gdGhlIHRyYW5zZm9ybSDigJQgZHJvcHBpbmcgaXQgZnJvbVxuLy8gIGVpdGhlciBlbmQga2lsbHMgdGhlIHByb21vdGlvbiBhbmQgdGhlIHN0dXR0ZXIgY29tZXMgc3RyYWlnaHQgYmFjay5cbkBtaXhpbiB6b29tYWJsZSgkZHVyOiAuNTVzKSB7XG5cdHRyYW5zZm9ybTogc2NhbGUoMSkgdHJhbnNsYXRlWigwKTtcblx0YmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXHQvLyB3aWxsLWNoYW5nZSBhcyB3ZWxsIGFzIHRyYW5zbGF0ZVooMCkuIFRoZXkgYXJlIE5PVCBpbnRlcmNoYW5nZWFibGU6XG5cdC8vIHRyYW5zbGF0ZVooMCkgcHJvbW90ZXMgdGhlIGVsZW1lbnQsIGJ1dCB0aGUgYnJvd3NlciBzdGlsbCByZS1yYXN0ZXJpc2VzXG5cdC8vIHRoZSBiaXRtYXAgd2hlbiB0aGUgc2NhbGUgY2hhbmdlcywgd2hpY2ggaXMgdGhlIHZpc2libGUgXCJzdGVwXCIgZnJvbSBvbmVcblx0Ly8gc2l6ZSB0byB0aGUgbmV4dC4gd2lsbC1jaGFuZ2UgdGVsbHMgaXQgdG8ga2VlcCBhIHNjYWxhYmxlIGxheWVyIHJlYWR5LCBzb1xuXHQvLyB0aGUgd2hvbGUgdHdlZW4gaXMgY29tcG9zaXRlZC4gQm90aCwgb3IgaXQganVtcHMuXG5cdHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XG5cblx0Ly8gIWltcG9ydGFudCBpcyBsb2FkLWJlYXJpbmcgaGVyZSwgYW5kIHRoaXMgaXMgdGhlIG9uZSBwbGFjZSBpdCdzIGVhcm5lZC5cblx0Ly9cblx0Ly8gVGhlIGBpbWFnZS1vcHRpbWl6ZXJgIHBsdWdpbiAoTGF6eUxvYWRpbmcvRmFkZUluRWZmZWN0LnBocCkgcHJpbnRzIGFuXG5cdC8vIElOTElORSA8c3R5bGU+IGNvbnRhaW5pbmc6XG5cdC8vICAgICBodG1sLmltZ29wdC1mYWRlIGltZ1tsb2FkaW5nPVwibGF6eVwiXSB7IHRyYW5zaXRpb246IG9wYWNpdHnigKYsIGZpbHRlcuKApiB9XG5cdC8vIFRoYXQgc2VsZWN0b3IgaXMgKDAsMiwyKSBhbmQgdGhlIDxzdHlsZT4gdGFnIGNvbWVzIGFmdGVyIHRoaXMgc3R5bGVzaGVldCxcblx0Ly8gc28gaXQgd2lucyBvbiBib3RoIHNwZWNpZmljaXR5IGFuZCBvcmRlciBhZ2FpbnN0IGFueSBjb21wb25lbnQgc2VsZWN0b3Jcblx0Ly8gbGlrZSBgLnNob3J0X19tZWRpYSBpbWdgICgwLDEsMSkuIEJlY2F1c2UgYHRyYW5zaXRpb25gIGlzIGEgc2hvcnRoYW5kLCBpdFxuXHQvLyBSRVBMQUNFUyBvdXJzIG91dHJpZ2h0IOKAlCB0aGUgdHJhbnNmb3JtIHR3ZWVuIGRpc2FwcGVhcnMgZW50aXJlbHkgYW5kIGV2ZXJ5XG5cdC8vIGhvdmVyIHpvb20gc25hcHMgdG8gdGhlIG5ldyBzY2FsZSB3aXRoIG5vIGFuaW1hdGlvbi4gVGhhdCB3YXMgdGhlIHJlYWxcblx0Ly8gY2F1c2Ugb2YgdGhlIFwiYnVtcGluZ1wiLCBub3QgY29tcG9zaXRpbmcuXG5cdC8vXG5cdC8vIG9wYWNpdHkgYW5kIGZpbHRlciBhcmUgcmVzdGF0ZWQgc28gdGhlIHBsdWdpbidzIG93biBsYXp5LWxvYWQgYmx1ci11cFxuXHQvLyBzdGlsbCBhbmltYXRlcy4gRHJvcHBpbmcgdGhlbSB3b3VsZCBmaXggb3VyIHpvb20gYnkgYnJlYWtpbmcgaXRzIGZhZGUuXG5cdHRyYW5zaXRpb246IHRyYW5zZm9ybSAkZHVyICRlYXNlLFxuXHRcdFx0XHRvcGFjaXR5IC40cyAkZWFzZSxcblx0XHRcdFx0ZmlsdGVyIC40cyAkZWFzZSAhaW1wb3J0YW50O1xufVxuXG5AbWl4aW4gem9vbWVkKCRzY2FsZTogMS4wNikge1xuXHR0cmFuc2Zvcm06IHNjYWxlKCRzY2FsZSkgdHJhbnNsYXRlWigwKTtcbn1cblxuLy8g4pSA4pSAIEhvdmVyIGNhcGFiaWxpdHkg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4vLyAgV3JhcCBhbnkgOmhvdmVyIHN0eWxpbmcgdGhhdCBtdXN0IE5PVCBhcHBseSBvbiB0b3VjaC4gVG91Y2ggYnJvd3NlcnMgZmlyZVxuLy8gIDpob3ZlciBvbiB0YXAgYW5kIGxlYXZlIGl0IGxhdGNoZWQgdW50aWwgeW91IHRhcCBlbHNld2hlcmUsIHNvIGFuIHVuZ3VhcmRlZFxuLy8gIGhvdmVyIHN0YXRlIGdldHMgc3R1Y2sgb24gd2hhdGV2ZXIgdGhlIHZpc2l0b3IgbGFzdCB0b3VjaGVkLlxuLy9cbi8vICBLZXllZCB0byBwb2ludGVyIGNhcGFiaWxpdHksIG5vdCB2aWV3cG9ydCB3aWR0aDogYSBuYXJyb3cgZGVza3RvcCB3aW5kb3dcbi8vICBzdGlsbCBnZXRzIGhvdmVyLCBhIGxhcmdlIHRhYmxldCBjb3JyZWN0bHkgZG9lcyBub3QuXG5AbWl4aW4gY2FuLWhvdmVyIHtcblx0QG1lZGlhIChob3ZlcjogaG92ZXIpIGFuZCAocG9pbnRlcjogZmluZSkgeyBAY29udGVudDsgfVxufVxuXG4vLyDilIDilIAgTGFiZWwg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4vLyAgVGhlIHNtYWxsIGlkZW50aWZpZXIgdGhhdCBzaXRzIGFib3ZlIGEgdGl0bGU6IFwiRVAuIDhcIiwgYSBkYXRlLCBhIGR1cmF0aW9uLlxuLy8gIE9ORSBkZWZpbml0aW9uIHNoYXJlZCBieSAuZXBfX2VwLCAuY2FyZF9fbWV0YSBhbmQgLnNob3J0X19tZXRhIHNvIHRoZSB0aHJlZVxuLy8gIHBvc3QgdHlwZXMgY2FuJ3QgZHJpZnQuIENvbG91ciBpcyBsZWZ0IHRvIHRoZSBjYWxsZXIg4oCUIHRoZSBzaG9ydHMgbGFiZWwgc2l0c1xuLy8gIG9uIGEgZGFyayBwaG90byBhbmQgbmVlZHMgYSBkaWZmZXJlbnQgdmFsdWUgZnJvbSB0aGUgb3RoZXIgdHdvLlxuLy9cbi8vICBOb3RlIHRoaXMgaXMgdGhlIERJU1BMQVkgZmFjZSwgbm90IG1vbm8uIE1vbm8gcGx1cyB3aWRlIGxldHRlci1zcGFjaW5nIG1hZGVcbi8vICB0aGUgZ2FwIGFmdGVyIHRoZSBjb21tYSBpbiBcIkpBTiAyLCAyMDI1XCIgcmVhZCBhcyBhIGRvdWJsZSBzcGFjZS5cbkBtaXhpbiBsYWJlbCB7XG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuXHRmb250LXNpemU6IGNsYW1wKC45cmVtLCAxLjF2dywgMS4xNXJlbSk7XG5cdGZvbnQtd2VpZ2h0OiA5MDA7XG5cdGxpbmUtaGVpZ2h0OiAxO1xuXHRsZXR0ZXItc3BhY2luZzogLS4wMWVtO1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zO1xufVxuXG4vLyDilIDilIAgU3BhY2Ugc2NhbGUg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4kc3BhY2U6IChcblx0MTogLjI1cmVtLCAgMjogLjVyZW0sICAgMzogLjc1cmVtLCAgNDogMXJlbSxcblx0NTogMS41cmVtLCAgNjogMnJlbSwgICAgNzogM3JlbSwgICAgODogNHJlbSxcblx0OTogNnJlbSwgICAgMTA6IDhyZW0sICAgMTE6IDEycmVtXG4pO1xuXG5AZnVuY3Rpb24gc3AoJHN0ZXApIHtcblx0QGlmIG5vdCBtYXAuaGFzLWtleSgkc3BhY2UsICRzdGVwKSB7IEBlcnJvciBcInNwKCk6IG5vIHN0ZXAgI3skc3RlcH1cIjsgfVxuXHRAcmV0dXJuIG1hcC5nZXQoJHNwYWNlLCAkc3RlcCk7XG59XG5cbi8vIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLy8gIFRIRU1FU1xuLy8g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cbi8vIOKUgOKUgCBCcmFuZCDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi8vICAjMDE4MUREIGlzIFRIRSBicmFuZCBjb2xvdXIgYW5kIGlzIHVzZWQgdmVyYmF0aW0gZm9yIGV2ZXJ5IGZpbGw6IGJ1dHRvbnMsXG4vLyAgdGhlIE9OIEFJUiBkb3QsIHdhdmVmb3JtIGJhcnMsIHRoZSBwbGF5IGNvbnRyb2wsIHByb2dyZXNzLlxuLy9cbi8vICBJdCBjYW5ub3QgYmUgdXNlZCB2ZXJiYXRpbSBmb3IgZXZlcnkgKnRleHQqIGNvbG91ciwgdGhvdWdoLiBNZWFzdXJlZCBhZ2FpbnN0XG4vLyAgdGhlIHR3byBwYWdlIGJhY2tncm91bmRzOlxuLy8gICAgICAjMDE4MUREIG9uICNmNGYzZWYgKHBhcGVyKSA9IDMuNjI6MSAgLT4gZmFpbHMgc21hbGwgdGV4dCAobmVlZHMgNC41KVxuLy8gICAgICAjMDE4MUREIG9uICMwODA4MGEgKGJsYWNrKSA9IDQuOTA6MSAgLT4gcGFzc2VzXG4vLyAgU28gLS1hY2NlbnQtaW5rIGNhcnJpZXMgYSBwZXItdGhlbWUgYWRqdXN0ZWQgdmVyc2lvbiBmb3IgYWNjZW50LUNPTE9VUkVEXG4vLyAgVEVYVCwgYW5kIC0tYWNjZW50LWRlZXAgaXMgYSBkYXJrZW5lZCBmaWxsIGZvciB0aGUgb25lIHBsYWNlIHNtYWxsIHdoaXRlXG4vLyAgdGV4dCBzaXRzIG9uIGEgc29saWQgYWNjZW50IGJsb2NrICh0aGUgZXBpc29kZSByb3cgaG92ZXIpLlxuLy8gIFNhbWUgYnJhbmQsIGxlZ2libGUgaW4gYm90aCB0aGVtZXMuXG5cbi8vIExpZ2h0IGlzIHRoZSBkZWZhdWx0OiB0aGUgY2xpZW50IHByZWZlcnMgd2hpdGUsIHNvIDpyb290IGlzIHRoZSBsaWdodCB0aGVtZVxuLy8gYW5kIGRhcmsgaXMgdGhlIG9wdC1pbi4gVGhlIGlubGluZSBzY3JpcHQgaW4gaGVhZGVyLnBocCBzdGlsbCBob25vdXJzIGFcbi8vIHN0b3JlZCBjaG9pY2Ugb3IgYW4gT1MgZGFyayBwcmVmZXJlbmNlIGJlZm9yZSBmaXJzdCBwYWludC5cbjpyb290LFxuW2RhdGEtdGhlbWU9XCJsaWdodFwiXSB7XG5cdC0tYmc6ICAgICAgICAgI2ZiZmFmNzsgIC8vIHdhcm0gcGFwZXIsIG5vdCAjZmZmIOKAlCBwdXJlIHdoaXRlIGdsYXJlcy4gV2FzICNmNGYzZWY7IGxpZnRlZCB0b3dhcmQgd2hpdGUgMjAyNi0wOS0xNCAoXCJ0b28gZ3JleSBhbmQgZGVmYXVsdHktZGlzYWJsZWQgbG9va2luZ1wiKSwgc2FtZSB3YXJtIGh1ZS4gQ29vbCB0aW50cyAoI2Y1ZjlmZiBldGMuKSB3ZXJlIHRyaWVkIGFuZCByZWplY3RlZC5cblx0LS1iZy0yOiAgICAgICAjZmZmZmZmO1xuXG5cdC8vIOKUgOKUgCBTZWN0aW9uIGJhbmRpbmcg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cdC8vICBJTlZFUlRFRCByZWxhdGl2ZSB0byBkYXJrIG1vZGUsIG9uIEpvZSdzIGNhbGwgMjAyNi0wOC0wNy4gSW4gZGFyaywgdGhlXG5cdC8vICBwYWdlIGlzIG5lYXItYmxhY2sgYW5kIGEgd2FzaGVkIGJhbmQgbGlmdHMgc2xpZ2h0bHkgb3V0IG9mIGl0LiBEb2luZyB0aGVcblx0Ly8gIHNhbWUgaGVyZSBwdXQgdGhlIHdhcm0gcGFwZXIgdW5kZXJuZWF0aCBhbmQgd2hpdGUgb24gdG9wLCBzbyBFcGlzb2RlcyDigJRcblx0Ly8gIHRoZSBmaXJzdCBhbmQgbW9zdCBpbXBvcnRhbnQgYmFuZCDigJQgcmVhZCBhcyB0aGUgZGltbWVyIG9mIHRoZSB0d28uXG5cdC8vXG5cdC8vICBTbyB0aGUgcGxhaW4gc2VjdGlvbnMgdGFrZSB3aGl0ZSBhbmQgdGhlIHdhc2ggdGFrZXMgdGhlIHBhcGVyLiBUaGUgZGFya1xuXHQvLyAgYmxvY2sgZG9lcyB0aGUgc2FtZSB0aGluZyB3aXRoIGl0cyBvd24gdHdvIGdyZXlzIOKAlCBpbiBCT1RIIHRoZW1lcyB0aGVcblx0Ly8gIHBsYWluIGJhbmQgaXMgdGhlIGJyaWdodGVyIG9uZS4gLS1iZyBpcyB1bnRvdWNoZWQ6IGl0IHN0aWxsIG93bnMgdGhlXG5cdC8vICBoZXJvLCB0aGUgZm9vdGVyIGFuZCBldmVyeSBjYXJkIGZpbGwsIGFuZCBzd2FwcGluZyBJVCB3b3VsZCBoYXZlIGRyYWdnZWRcblx0Ly8gIGFsbCBvZiB0aG9zZSB3aXRoIGl0LlxuXHQtLXNlY3Rpb246ICAgICNmZmZmZmY7XG5cdC0td2FzaDogICAgICAgI2ZiZmFmNzsgICAvLyA9IC0tYmcsIGRlbGliZXJhdGVseVxuXHQtLWJnLTM6ICAgICAgICNlOWU4ZTI7XG5cdC0tYmctaW5zZXQ6ICAgIzBiMGIwZDsgIC8vIGludmVydGVkIHBhbmVscyBzdGF5IGRhcmsgaW4gbGlnaHQgbW9kZVxuXG5cdC0taW5rOiAgICAgICAgIzBiMGIwZDtcblx0LS1pbmstMjogICAgICAjNWM1YzY2O1xuXHQtLWluay0zOiAgICAgICM4YjhiOTU7XG5cblx0LS1saW5lOiAgICAgICByZ2JhKDExLCAxMSwgMTMsIC4xMik7XG5cdC0tbGluZS0yOiAgICAgcmdiYSgxMSwgMTEsIDEzLCAuMjIpO1xuXHQvLyAtLWxpbmUtMiBtYWRlIE9QQVFVRSwgZm9yIGNvbnRyb2xzIHNpdHRpbmcgb24gYXJ0d29yayDigJQgdGhlIHRyYW5zbHVjZW50XG5cdC8vIG9yaWdpbmFsIGxldHMgdGhlIGltYWdlIHJlYWQgdGhyb3VnaCBhbmQgdGhlIGVkZ2Ugc2hpZnRzIGNvbG91ciBhbG9uZyBpdHNcblx0Ly8gb3duIGxlbmd0aC4gU2VlIHRoZSBub3RlIG9uIC5oZXJvX19jdGEuXG5cdC8vXG5cdC8vIE5PVCBhIHN0cmFpZ2h0IGZsYXR0ZW4gaW4gbGlnaHQgbW9kZS4gQSB0cnVlIG9uZSBpcyAtLWxpbmUtMidzIG93biAyMiVcblx0Ly8gb3ZlciAtLWJnICh+I2NhYzljNiksIHdoaWNoIGlzIGFscmVhZHkgYSBzaGFkZSBkYXJrZXIgdGhhbiB0aGUgc2FtZSBib3JkZXJcblx0Ly8gY29tcG9zaXRlZCBvdmVyIGEgd2hpdGUgc2VjdGlvbiAofiNkNWQ1ZDYpIOKAlCBzbyBtYXRjaGluZyBcIlZpZXcgYWxsXCIgd291bGRcblx0Ly8gaGF2ZSBtZWFudCBnb2luZyBMSUdIVEVSLCBub3QgZGFya2VyLiBKb2Ugd2FudGVkIGl0IGRhcmtlciB0aGFuIGJvdGgsIHNvXG5cdC8vIHRoaXMgaXMgbWl4ZWQgYXQgMzUlIGluc3RlYWQ6IHRoZSBoZXJvIHBob3RvIGJlaGluZCBpdCBsaWZ0cyB0aGUgcGVyY2VpdmVkXG5cdC8vIGVkZ2UsIGFuZCBhIHRydWUgZmxhdHRlbiByZWFkIHRvbyBmYWludCBhZ2FpbnN0IGl0LlxuXHQvL1xuXHQvLyAzNSUgaXMgdGhlIGtub2IuIERhcmsgbW9kZSBpcyBhIHN0cmFpZ2h0IGZsYXR0ZW4gYW5kIGxvb2tlZCByaWdodCBmaXJzdFxuXHQvLyB0aW1lLCBzbyBvbmx5IHRoaXMgb25lIGlzIHR1bmVkLlxuXHQtLWxpbmUtMi1mbGF0OiAje2NvbG9yLW1peChpbiBzcmdiLCByZ2IoMTEsIDExLCAxMykgMzUlLCAjZmJmYWY3KX07XG5cblx0LS1hY2NlbnQ6ICAgICAjMDE4MWRkOyAgLy8gYnJhbmQsIGV4YWN0XG5cdC0tYWNjZW50LWluazogIzAxNjZiMDsgIC8vIDUuMzoxIG9uIHBhcGVyXG5cdC0tYWNjZW50LWRlZXA6IzAxNjliNjtcblx0LS1hY2NlbnQtMjogICAjZDhlY2ZiO1xuXHQtLW9uLWFjY2VudDogICNmZmZmZmY7XG5cblx0LS1zaGFkb3c6ICAgICAwIDI0cHggNjBweCByZ2JhKDExLCAxMSwgMTMsIC4xNCk7XG5cdC0tc2hhZG93LWNhcmQ6MCAxNnB4IDMycHggcmdiYSgxMSwgMTEsIDEzLCAuMTgpO1xuXHQtLWdyYWluOiAgICAgIC4wMjtcblxuXHQvLyBXYXNoIG92ZXIgdGhlIGhlcm8gcGhvdG8gYmVoaW5kIHRoZSB0b3BpYyB0aWNrZXIuIFdoaXRlIGhlcmUgaXMgYSBsaWZ0LFxuXHQvLyBiZWNhdXNlIC0tYmcgaXMgd2FybSBwYXBlciByYXRoZXIgdGhhbiAjZmZmLiBPbmx5IDUlIOKAlCB0aGUgYmx1ciBvbiB0aGVcblx0Ly8gc3RyaXAgZG9lcyB0aGUgc2VwYXJhdGluZyBub3csIGFuZCB0aGUgZmlsbCBpcyBqdXN0IGEgdGludCBvbiB0b3Agb2YgaXQuXG5cdC0tdGlja2VyLWZpbGw6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjA1KTtcblxuXHRjb2xvci1zY2hlbWU6IGxpZ2h0O1xufVxuXG4vLyDimqAgYC5pbnNldGAgSVMgSU4gVEhJUyBTRUxFQ1RPUiBMSVNUIE9OIFBVUlBPU0UuIEFueSBlbGVtZW50IGNhcnJ5aW5nIHRoYXRcbi8vIGNsYXNzIOKAlCBhbmQgZXZlcnl0aGluZyBpbnNpZGUgaXQg4oCUIGdldHMgdGhlIEVOVElSRSBkYXJrIHBhbGV0dGUsIGluIGJvdGhcbi8vIHRoZW1lcy4gVGhhdCBpcyBob3cgdGhlIHByb21vIGJhbmQgYW5kIHRoZSBuZXdzbGV0dGVyIHN0YXkgZGFyayBvbiBhIGxpZ2h0XG4vLyBwYWdlOiBub3QgYnkgb3ZlcnJpZGluZyBlYWNoIG5lc3RlZCBjb21wb25lbnQncyBjb2xvdXJzLCBhbmQgbm90IGJ5IGtlZXBpbmcgYVxuLy8gc2Vjb25kIGNvcHkgb2YgdGhlc2UgdmFsdWVzIHNvbWV3aGVyZSBlbHNlIHRvIGRyaWZ0IG91dCBvZiBzdGVwLiBPbmUgYmxvY2ssXG4vLyBvbmUgcGxhY2UgdG8gdHVuZS4gVGhlIHN1cmZhY2UgaXRzZWxmIGlzIHBhaW50ZWQgaW4gX2Jhc2Uuc2NzcyAoYC5pbnNldGApLlxuLy9cbi8vIEN1c3RvbSBwcm9wZXJ0aWVzIGluaGVyaXQsIHNvIHRoaXMgbmVlZHMgbm8gc3BlY2lmaWNpdHkgZ2FtZXM6IHRoZSBjbGFzc1xuLy8gZGVjbGFyZXMgdGhlbSBvbiBhIGNsb3NlciBlbGVtZW50IHRoYW4gPGh0bWw+IGRvZXMsIGFuZCB0aGUgY2xvc2VyIHdpbnMuXG5bZGF0YS10aGVtZT1cImRhcmtcIl0sXG4uaW5zZXQge1xuXHQtLWJnOiAgICAgICAgICMwODA4MGE7XG5cdC0tYmctMjogICAgICAgIzEwMTAxNDtcblxuXHQvLyBJbnZlcnRlZCB0byBtYXRjaCBsaWdodCBtb2RlIOKAlCBKb2UncyBjYWxsLCAyMDI2LTA4LTA3LiBUaGUgcGxhaW4gc2VjdGlvbnNcblx0Ly8gTElGVCBvdXQgb2YgdGhlIHBhZ2UgYW5kIHRoZSB3YXNoZWQgb25lcyBzaXQgYmFjayBkb3duIG9uIGl0LCBzbyBFcGlzb2Rlc1xuXHQvLyBpcyB0aGUgYnJpZ2h0ZXIgYmFuZCBpbiBib3RoIHRoZW1lcyByYXRoZXIgdGhhbiBvbmx5IG9uZS5cblx0Ly9cblx0Ly8gVGhpcyBpcyB0aGUgcmV2ZXJzZSBvZiB0aGUgb3JpZ2luYWwgcmh5dGhtLCB3aGVyZSBwbGFpbiBzZWN0aW9ucyB3ZXJlXG5cdC8vIHNpbXBseSB0aGUgcGFnZSBzaG93aW5nIHRocm91Z2guIC0tYmcgaXMgdW50b3VjaGVkIGVpdGhlciB3YXk6IGl0IHN0aWxsXG5cdC8vIG93bnMgdGhlIGhlcm8sIHRoZSBmb290ZXIgYW5kIGV2ZXJ5IGNhcmQgZmlsbC5cblx0LS1zZWN0aW9uOiAgICAjMTAxMDE0O1xuXHQtLXdhc2g6ICAgICAgICMwODA4MGE7XG5cdC0tYmctMzogICAgICAgIzE5MTkyMDtcblx0LS1iZy1pbnNldDogICAjMDAwMDAwO1xuXG5cdC0taW5rOiAgICAgICAgI2Y0ZjRmMjtcblx0LS1pbmstMjogICAgICAjOWI5YmE2O1xuXHQtLWluay0zOiAgICAgICM2YTZhNzY7XG5cblx0LS1saW5lOiAgICAgICByZ2JhKDI1NSwgMjU1LCAyNTUsIC4xMCk7XG5cdC0tbGluZS0yOiAgICAgcmdiYSgyNTUsIDI1NSwgMjU1LCAuMTgpO1xuXHQvLyBTZWUgdGhlIGxpZ2h0IGJsb2NrIGZvciB3aGF0IHRoaXMgaXMgYW5kIHdoeS5cblx0LS1saW5lLTItZmxhdDogI3tjb2xvci1taXgoaW4gc3JnYiwgcmdiKDI1NSwgMjU1LCAyNTUpIDE4JSwgIzA4MDgwYSl9O1xuXG5cdC0tYWNjZW50OiAgICAgIzAxODFkZDsgIC8vIGJyYW5kLCBleGFjdCDigJQgaWRlbnRpY2FsIGluIGJvdGggdGhlbWVzXG5cdC0tYWNjZW50LWluazogIzJhOWJlYTsgIC8vIGxpZnRlZCBmb3IgNi42OjEgb24gbmVhci1ibGFja1xuXHQtLWFjY2VudC1kZWVwOiMwMTY5YjY7XG5cdC0tYWNjZW50LTI6ICAgIzBiMmM0NTtcblx0LS1vbi1hY2NlbnQ6ICAjZmZmZmZmO1xuXG5cdC0tc2hhZG93OiAgICAgMCAzMHB4IDgwcHggcmdiYSgwLCAwLCAwLCAuNTUpO1xuXHQtLXNoYWRvdy1jYXJkOjAgMTZweCAzMnB4IHJnYmEoMCwgMCwgMCwgLjUpO1xuXHQtLWdyYWluOiAgICAgIC4wMzU7XG5cblx0Ly8gV0hJVEUsIG5vdCAtLWJnLTIuIFRoaXMgaXMgdGhlIG9uZSB0aGF0IHdhcyB3cm9uZzogLS1iZy0yIGlzICMxMDEwMTQgaW5cblx0Ly8gZGFyayBtb2RlLCBzbyBhIHdhc2ggb2YgaXQgb3ZlciBhIG5lYXItYmxhY2sgaGVybyB3YXMgbmVhci1ibGFjayBvdmVyXG5cdC8vIG5lYXItYmxhY2sg4oCUIGFyaXRobWV0aWNhbGx5IHByZXNlbnQsIHZpc3VhbGx5IG5vdGhpbmcuXG5cdC8vIFNhbWUgZGVjbGFyZWQgdmFsdWUgYXMgbGlnaHQgbW9kZTsga2VwdCBpbiBib3RoIGJsb2NrcyBzbyBlaXRoZXIgY2FuIGJlXG5cdC8vIHR1bmVkIHdpdGhvdXQgdG91Y2hpbmcgdGhlIG90aGVyLlxuXHQtLXRpY2tlci1maWxsOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC4wNSk7XG5cblx0Y29sb3Itc2NoZW1lOiBkYXJrO1xufVxuXG4vLyDilIDilIAgTm9uLWNvbG91ciB0b2tlbnMg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG46cm9vdCB7XG5cdC0tZm9udC1kaXNwbGF5OiBcIk1vZGljYSBCbGFja1wiLCBcIkFyY2hpdm9cIiwgc3lzdGVtLXVpLCBzYW5zLXNlcmlmO1xuXHQtLWZvbnQtYm9keTogICAgXCJJbnN0cnVtZW50IFNhbnNcIiwgc3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBzYW5zLXNlcmlmO1xuXHQtLWZvbnQtbW9ubzogICAgdWktbW9ub3NwYWNlLCBcIlNGIE1vbm9cIiwgXCJDYXNjYWRpYSBNb25vXCIsIG1vbm9zcGFjZTtcblxuXHQtLW5hdi1oOiAgIDcycHg7XG5cdC0tZG9jay1oOiAgNzZweDtcblxuXHQvLyBUaGUgdGlja2VyIGlzIGFuIEVYUExJQ0lUIGhlaWdodCwgbm90IG9uZSB0aGF0IGZhbGxzIG91dCBvZiBpdHMgcGFkZGluZ1xuXHQvLyBhbmQgbGluZSBib3guIFRoZSBoZXJvIGhhcyB0byBvdmVyaGFuZyB0aGUgZm9sZCBieSBwcmVjaXNlbHkgdGhpcyBtdWNoXG5cdC8vIChzZWUgX2hlcm8uc2NzcyksIGFuZCBDU1MgY2FuJ3QgbWVhc3VyZSBhIHNpYmxpbmcg4oCUIHNvIHRoZSBudW1iZXIgaGFzIHRvXG5cdC8vIGJlIGRlY2xhcmVkIG9uY2UsIHVwIGhlcmUsIGFuZCByZWFkIGJ5IGJvdGguXG5cdC8vXG5cdC8vIOKaoCBERVNLVE9QIE9OTFkuIE1vYmlsZSBpcyByZXN0b3JlZCB0byB0aGUgb3JpZ2luYWwgYmVsb3cg4oCUIHNlZSB0aGUgYXQobWQpXG5cdC8vIGJsb2NrIGFmdGVyIHRoaXMgcnVsZS5cblx0Ly9cblx0Ly8gT3JpZ2luYWxseSBjbGFtcCg1OHB4LCA1LjZ2dywgODZweCksIHdoaWNoIHRyYWNrZWQgd2hhdCB0aGUgb2xkIHBhZGRpbmcgK1xuXHQvLyBsaW5lIGJveCBwcm9kdWNlZC4gVGFrZW4gZG93biAxNSUgb24gMjAyNi0wOC0wOCDigJQgdGhlIHRvcGljIHR5cGUgaGFkXG5cdC8vIHNocnVuayB0d2ljZSBieSB0aGVuICgtMjUlLCB0aGVuIC0xMCUpIGFuZCB0aGUgc3RyaXAga2VwdCBpdHMgZnVsbCBoZWlnaHRcblx0Ly8gdGhyb3VnaCBib3RoLCBzbyB0aGUgYmFuZCB3YXMgY2FycnlpbmcgZmFyIG1vcmUgYWlyIHRoYW4gaXQgd2FzIGRyYXduIGZvci5cblx0Ly9cblx0Ly8gTk9UIHNjYWxlZCBieSB0aGUgc2FtZSBhbW91bnQgYXMgdGhlIHR5cGU6IHRoZSBzdHJpcCBpcyBtZWFudCB0byBoYXZlXG5cdC8vIGJyZWF0aGluZyByb29tLCBpdCBpcyBhIGJhbmQgcmF0aGVyIHRoYW4gYSBsaW5lIG9mIHRleHQuIDE1JSBjbG9zZXMgdGhlXG5cdC8vIGdhcCB0aGF0IG9wZW5lZCB1cCB3aXRob3V0IHR1cm5pbmcgaXQgaW50byBhIHRpZ2h0IHJ1bGUuXG5cdC8vXG5cdC8vIOKaoCBUSEUgSEVSTyBSRUFEUyBUSElTLiBJdHMgb3ZlcmhhbmcgcGFzdCB0aGUgZm9sZCwgaXRzIGJvdHRvbSBwYWRkaW5nIGFuZFxuXHQvLyB0aGUgc2Nyb2xsIGN1ZSdzIG9mZnNldCBhcmUgYWxsIGNhbGMoKSdkIGZyb20gdGhpcyB0b2tlbiwgc28gdGhleSBmb2xsb3dcblx0Ly8gYXV0b21hdGljYWxseSDigJQgYnV0IGl0IGRvZXMgbWVhbiB0aGlzIG51bWJlciBtb3ZlcyB0aGUgZm9sZC4gQ2hlY2sgdGhlXG5cdC8vIGhlcm8gYWZ0ZXIgY2hhbmdpbmcgaXQsIG5vdCBqdXN0IHRoZSBzdHJpcC5cblx0Ly8gQSBmdXJ0aGVyIC0xMCUgb24gMjAyNi0wOC0wOCwgdGhpcyB0aW1lIE1BVENISU5HIHRoZSB0eXBlJ3MgLTEwJSBleGFjdGx5LlxuXHQvLyBUaGUgcHJldmlvdXMgcGFzcyBzaHJhbmsgdHlwZSBhbmQgYmFuZCBieSBkaWZmZXJlbnQgYW1vdW50cyAoLTEwJSB0eXBlLFxuXHQvLyAtMTUlIGJhbmQpIGFuZCB0aGUgcmF0aW8gZHJpZnRlZDsgc2NhbGluZyBib3RoIGJ5IHRoZSBzYW1lIGZhY3RvciBrZWVwc1xuXHQvLyB0aGUgYmFuZCdzIHByb3BvcnRpb25zIGZpeGVkIHdoaWxlIGl0IGdldHMgc21hbGxlci5cblx0LS10aWNrZXItaDogY2xhbXAoNDQuMXB4LCA0LjI4NHZ3LCA2NS43cHgpO1xuXHQtLXJhZGl1czogIDE0cHg7XG5cdC0tcmFkaXVzLWxnOiAyNHB4O1xuXG5cdC0tZ3V0dGVyOiBjbGFtcCgxLjI1cmVtLCA0dncsIDQuNXJlbSk7XG5cdC0tbWF4dzogICAxNTYwcHg7XG5cblx0LS1kdXI6ICAgIC40NXM7XG5cdC0tZHVyLWZhc3Q6IC4ycztcbn1cblxuLy8g4pqgIE1PQklMRSBLRUVQUyBUSEUgT1JJR0lOQUwgVElDS0VSIEhFSUdIVC4gVGhlIDE1JSByZWR1Y3Rpb24gYWJvdmUgd2FzIG1hZGVcbi8vIGxvb2tpbmcgYXQgYSBkZXNrdG9wIHNjcmVlbiBhbmQgaXMgd2FudGVkIHRoZXJlIG9ubHkg4oCUIEpvZSwgMjAyNi0wOC0wOC5cbi8vXG4vLyBUaGlzIHJlc3RvcmVzIHRoZSBleGFjdCBwcmUtY2hhbmdlIGNsYW1wIHJhdGhlciB0aGFuIHBpY2tpbmcgYSBuZXcgbnVtYmVyLCBzb1xuLy8gcGhvbmVzIGFyZSBieXRlLWZvci1ieXRlIHdoYXQgdGhleSB3ZXJlLiBCZWxvdyBtZCB0aGUgdncgdGVybSBuZXZlciB3aW5zXG4vLyBhbnl3YXkgKDUuNnZ3IGlzIDQzLjdweCBhdCA3ODBweCksIHNvIGluIHByYWN0aWNlIHRoaXMgaXMgdGhlIDU4cHggZmxvb3Ig4oCUXG4vLyBidXQgdGhlIHdob2xlIGNsYW1wIGlzIHdyaXR0ZW4gb3V0IHNvIHRoZSB0d28gc3RhdGVzIHN0YXkgY29tcGFyYWJsZSBhbmQgdGhlXG4vLyBvcmlnaW5hbCBpcyByZWNvdmVyYWJsZSBmcm9tIHRoaXMgZmlsZSBhbG9uZS5cbi8vXG4vLyBUaGUgdHlwZSBoYXMgdGhlIG1hdGNoaW5nIG1vYmlsZSByZXZlcnQgaW4gX3RpY2tlci5zY3NzOyB0aGUgdHdvIHdlcmUgY2hhbmdlZFxuLy8gdG9nZXRoZXIgYW5kIGhhdmUgdG8gYmUgcmV2ZXJ0ZWQgdG9nZXRoZXIsIG9yIHRoZSBiYW5kJ3MgcHJvcG9ydGlvbnMgb25seVxuLy8gaGFsZiByZXR1cm4uXG5AaW5jbHVkZSBhdChtZCkge1xuXHQ6cm9vdCB7IC0tdGlja2VyLWg6IGNsYW1wKDU4cHgsIDUuNnZ3LCA4NnB4KTsgfVxufVxuIiwiOnJvb3QsXG5bZGF0YS10aGVtZT1saWdodF0ge1xuICAtLWJnOiAjZmJmYWY3O1xuICAtLWJnLTI6ICNmZmZmZmY7XG4gIC0tc2VjdGlvbjogI2ZmZmZmZjtcbiAgLS13YXNoOiAjZmJmYWY3O1xuICAtLWJnLTM6ICNlOWU4ZTI7XG4gIC0tYmctaW5zZXQ6ICMwYjBiMGQ7XG4gIC0taW5rOiAjMGIwYjBkO1xuICAtLWluay0yOiAjNWM1YzY2O1xuICAtLWluay0zOiAjOGI4Yjk1O1xuICAtLWxpbmU6IHJnYmEoMTEsIDExLCAxMywgLjEyKTtcbiAgLS1saW5lLTI6IHJnYmEoMTEsIDExLCAxMywgLjIyKTtcbiAgLS1saW5lLTItZmxhdDogY29sb3ItbWl4KGluIHNyZ2IsIHJnYigxMSwgMTEsIDEzKSAzNSUsICNmYmZhZjcpO1xuICAtLWFjY2VudDogIzAxODFkZDtcbiAgLS1hY2NlbnQtaW5rOiAjMDE2NmIwO1xuICAtLWFjY2VudC1kZWVwOiMwMTY5YjY7XG4gIC0tYWNjZW50LTI6ICNkOGVjZmI7XG4gIC0tb24tYWNjZW50OiAjZmZmZmZmO1xuICAtLXNoYWRvdzogMCAyNHB4IDYwcHggcmdiYSgxMSwgMTEsIDEzLCAuMTQpO1xuICAtLXNoYWRvdy1jYXJkOjAgMTZweCAzMnB4IHJnYmEoMTEsIDExLCAxMywgLjE4KTtcbiAgLS1ncmFpbjogLjAyO1xuICAtLXRpY2tlci1maWxsOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC4wNSk7XG4gIGNvbG9yLXNjaGVtZTogbGlnaHQ7XG59XG5cbltkYXRhLXRoZW1lPWRhcmtdLFxuLmluc2V0IHtcbiAgLS1iZzogIzA4MDgwYTtcbiAgLS1iZy0yOiAjMTAxMDE0O1xuICAtLXNlY3Rpb246ICMxMDEwMTQ7XG4gIC0td2FzaDogIzA4MDgwYTtcbiAgLS1iZy0zOiAjMTkxOTIwO1xuICAtLWJnLWluc2V0OiAjMDAwMDAwO1xuICAtLWluazogI2Y0ZjRmMjtcbiAgLS1pbmstMjogIzliOWJhNjtcbiAgLS1pbmstMzogIzZhNmE3NjtcbiAgLS1saW5lOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC4xMCk7XG4gIC0tbGluZS0yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC4xOCk7XG4gIC0tbGluZS0yLWZsYXQ6IGNvbG9yLW1peChpbiBzcmdiLCByZ2IoMjU1LCAyNTUsIDI1NSkgMTglLCAjMDgwODBhKTtcbiAgLS1hY2NlbnQ6ICMwMTgxZGQ7XG4gIC0tYWNjZW50LWluazogIzJhOWJlYTtcbiAgLS1hY2NlbnQtZGVlcDojMDE2OWI2O1xuICAtLWFjY2VudC0yOiAjMGIyYzQ1O1xuICAtLW9uLWFjY2VudDogI2ZmZmZmZjtcbiAgLS1zaGFkb3c6IDAgMzBweCA4MHB4IHJnYmEoMCwgMCwgMCwgLjU1KTtcbiAgLS1zaGFkb3ctY2FyZDowIDE2cHggMzJweCByZ2JhKDAsIDAsIDAsIC41KTtcbiAgLS1ncmFpbjogLjAzNTtcbiAgLS10aWNrZXItZmlsbDogcmdiYSgyNTUsIDI1NSwgMjU1LCAuMDUpO1xuICBjb2xvci1zY2hlbWU6IGRhcms7XG59XG5cbjpyb290IHtcbiAgLS1mb250LWRpc3BsYXk6IFwiTW9kaWNhIEJsYWNrXCIsIFwiQXJjaGl2b1wiLCBzeXN0ZW0tdWksIHNhbnMtc2VyaWY7XG4gIC0tZm9udC1ib2R5OiBcIkluc3RydW1lbnQgU2Fuc1wiLCBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIHNhbnMtc2VyaWY7XG4gIC0tZm9udC1tb25vOiB1aS1tb25vc3BhY2UsIFwiU0YgTW9ub1wiLCBcIkNhc2NhZGlhIE1vbm9cIiwgbW9ub3NwYWNlO1xuICAtLW5hdi1oOiA3MnB4O1xuICAtLWRvY2staDogNzZweDtcbiAgLS10aWNrZXItaDogY2xhbXAoNDQuMXB4LCA0LjI4NHZ3LCA2NS43cHgpO1xuICAtLXJhZGl1czogMTRweDtcbiAgLS1yYWRpdXMtbGc6IDI0cHg7XG4gIC0tZ3V0dGVyOiBjbGFtcCgxLjI1cmVtLCA0dncsIDQuNXJlbSk7XG4gIC0tbWF4dzogMTU2MHB4O1xuICAtLWR1cjogLjQ1cztcbiAgLS1kdXItZmFzdDogLjJzO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzgwcHgpIHtcbiAgOnJvb3Qge1xuICAgIC0tdGlja2VyLWg6IGNsYW1wKDU4cHgsIDUuNnZ3LCA4NnB4KTtcbiAgfVxufVxuKiwgKjo6YmVmb3JlLCAqOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbioge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbmh0bWwge1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIHNjcm9sbC1iZWhhdmlvcjogYXV0bztcbn1cbmh0bWwuaXMtc21vb3RoIHtcbiAgc2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGg7XG59XG5odG1sIHtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG4gIG92ZXJmbG93LXg6IGNsaXA7XG59XG5cbmJvZHkge1xuICBtaW4taGVpZ2h0OiAxMDBzdmg7XG4gIGJhY2tncm91bmQ6IHZhcigtLWJnKTtcbiAgY29sb3I6IHZhcigtLWluayk7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWJvZHkpO1xuICBmb250LXNpemU6IGNsYW1wKDFyZW0sIDAuM3Z3ICsgMC45M3JlbSwgMS4wNjI1cmVtKTtcbiAgbGluZS1oZWlnaHQ6IDEuNTU7XG4gIGZvbnQtc3ludGhlc2lzLXdlaWdodDogbm9uZTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tZHVyKSBjdWJpYy1iZXppZXIoMC4yMiwgMC42MSwgMC4zNiwgMSksIGNvbG9yIHZhcigtLWR1cikgY3ViaWMtYmV6aWVyKDAuMjIsIDAuNjEsIDAuMzYsIDEpO1xufVxuXG5ib2R5OjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgaW5zZXQ6IDA7XG4gIHotaW5kZXg6IDk5OTk7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBvcGFjaXR5OiB2YXIoLS1ncmFpbik7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjAwJyBoZWlnaHQ9JzIwMCclM0UlM0NmaWx0ZXIgaWQ9J24nJTNFJTNDZmVUdXJidWxlbmNlIHR5cGU9J2ZyYWN0YWxOb2lzZScgYmFzZUZyZXF1ZW5jeT0nLjgnIG51bU9jdGF2ZXM9JzMnLyUzRSUzQy9maWx0ZXIlM0UlM0NyZWN0IHdpZHRoPScyMDAnIGhlaWdodD0nMjAwJyBmaWx0ZXI9J3VybCglMjNuKScvJTNFJTNDL3N2ZyUzRVwiKTtcbn1cblxuaW1nLCBzdmcsIHZpZGVvLCBjYW52YXMge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbmEge1xuICBjb2xvcjogaW5oZXJpdDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG5idXR0b24sIGlucHV0LCBzZWxlY3QsIHRleHRhcmVhIHtcbiAgZm9udDogaW5oZXJpdDtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG5cbmJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG46OnNlbGVjdGlvbiB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFjY2VudCk7XG4gIGNvbG9yOiB2YXIoLS1vbi1hY2NlbnQpO1xufVxuXG46Zm9jdXMtdmlzaWJsZSB7XG4gIG91dGxpbmU6IDJweCBzb2xpZCB2YXIoLS1hY2NlbnQpO1xuICBvdXRsaW5lLW9mZnNldDogM3B4O1xuICBib3JkZXItcmFkaXVzOiAycHg7XG59XG5cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gIGh0bWwge1xuICAgIHNjcm9sbC1iZWhhdmlvcjogYXV0bztcbiAgfVxuICAqLCAqOjpiZWZvcmUsICo6OmFmdGVyIHtcbiAgICBhbmltYXRpb24tZHVyYXRpb246IDAuMDFtcyAhaW1wb3J0YW50O1xuICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDEgIWltcG9ydGFudDtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjAxbXMgIWltcG9ydGFudDtcbiAgfVxufVxuLnNoZWxsIHtcbiAgd2lkdGg6IG1pbigxMDAlIC0gdmFyKC0tZ3V0dGVyKSAqIDIsIHZhcigtLW1heHcpKTtcbiAgbWFyZ2luLWlubGluZTogYXV0bztcbn1cblxuLnNoZWxsLS1uYXJyb3cge1xuICBtYXgtd2lkdGg6IDkwMHB4O1xufVxuXG4uc2tpcC1saW5rIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAtOTk5OXB4O1xuICB0b3A6IDA7XG4gIHotaW5kZXg6IDEwMDAwO1xuICBwYWRkaW5nOiAwLjc1cmVtIDEuNXJlbTtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWNjZW50KTtcbiAgY29sb3I6IHZhcigtLW9uLWFjY2VudCk7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG4uc2tpcC1saW5rOmZvY3VzIHtcbiAgbGVmdDogMXJlbTtcbiAgdG9wOiAxcmVtO1xufVxuXG4uc3Itb25seSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogLTFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcC1wYXRoOiBpbnNldCg1MCUpO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uZGlzcGxheSwgLnNlY3Rpb25fX3RpdGxlIHtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIGxpbmUtaGVpZ2h0OiAwLjg2O1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDM1ZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5leWVicm93IHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMC42ZW07XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm8pO1xuICBmb250LXNpemU6IDAuNzJyZW07XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxldHRlci1zcGFjaW5nOiAwLjE4ZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGNvbG9yOiB2YXIoLS1pbmstMik7XG59XG5cbi5sZWRlIHtcbiAgZm9udC1zaXplOiBjbGFtcCgxLjA1cmVtLCAwLjV2dyArIDAuOTVyZW0sIDEuM3JlbSk7XG4gIGNvbG9yOiB2YXIoLS1pbmstMik7XG4gIG1heC13aWR0aDogNTRjaDtcbn1cblxuLmJ0biB7XG4gIC0tYnRuLWJnOiB0cmFuc3BhcmVudDtcbiAgLS1idG4taW5rOiB2YXIoLS1pbmspO1xuICAtLWJ0bi1saW5lOiB2YXIoLS1saW5lLTIpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZ2FwOiAwLjc1cmVtO1xuICBoZWlnaHQ6IDU0cHg7XG4gIHBhZGRpbmctaW5saW5lOiAycmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1idG4tbGluZSk7XG4gIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1idG4tYmcpO1xuICBjb2xvcjogdmFyKC0tYnRuLWluayk7XG4gIGZvbnQtc2l6ZTogMC45MnJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDFlbTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgaXNvbGF0aW9uOiBpc29sYXRlO1xuICB0cmFuc2l0aW9uOiBjb2xvciB2YXIoLS1kdXItZmFzdCkgY3ViaWMtYmV6aWVyKDAuMjIsIDAuNjEsIDAuMzYsIDEpLCBib3JkZXItY29sb3IgdmFyKC0tZHVyLWZhc3QpIGN1YmljLWJlemllcigwLjIyLCAwLjYxLCAwLjM2LCAxKSwgdHJhbnNmb3JtIHZhcigtLWR1ci1mYXN0KSBjdWJpYy1iZXppZXIoMC4yMiwgMC42MSwgMC4zNiwgMSk7XG59XG4uYnRuIHN2ZyB7XG4gIHdpZHRoOiAxNHB4O1xuICBoZWlnaHQ6IDE0cHg7XG4gIGZsZXg6IG5vbmU7XG59XG4uYnRuOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGluc2V0OiAwO1xuICB6LWluZGV4OiAtMTtcbiAgYmFja2dyb3VuZDogdmFyKC0taW5rKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMSUpO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zOHMgY3ViaWMtYmV6aWVyKDAuMTYsIDEsIDAuMywgMSk7XG59XG4uYnRuOmhvdmVyIHtcbiAgY29sb3I6IHZhcigtLWJnKTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pbmspO1xufVxuLmJ0bjpob3Zlcjo6YmVmb3JlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xufVxuLmJ0bjphY3RpdmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuOTcpO1xufVxuLmJ0bi0tYWNjZW50IHtcbiAgLS1idG4tYmc6IHZhcigtLWFjY2VudCk7XG4gIC0tYnRuLWluazogdmFyKC0tb24tYWNjZW50KTtcbiAgLS1idG4tbGluZTogdmFyKC0tYWNjZW50KTtcbn1cbi5idG4tLWFjY2VudDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogdmFyKC0taW5rKTtcbn1cbi5idG4tLWFjY2VudDpob3ZlciB7XG4gIGNvbG9yOiB2YXIoLS1iZyk7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0taW5rKTtcbn1cbi5idG4tLWdob3N0IHtcbiAgLS1idG4tbGluZTogdHJhbnNwYXJlbnQ7XG59XG4uYnRuX19pY28ge1xuICBkaXNwbGF5OiBncmlkO1xuICBwbGFjZS1pdGVtczogY2VudGVyO1xuICB3aWR0aDogMjZweDtcbiAgaGVpZ2h0OiAyNnB4O1xuICBmbGV4OiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCBjdXJyZW50Q29sb3I7XG4gIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xufVxuLmJ0bl9faWNvIHN2ZyB7XG4gIHdpZHRoOiAxM3B4O1xuICBoZWlnaHQ6IDEzcHg7XG4gIG1hcmdpbi1sZWZ0OiAxcHg7XG59XG4uYnRuX19pY28tLWJhcmUge1xuICBib3JkZXI6IDA7XG4gIG1hcmdpbi1yaWdodDogY2FsYygwLjc1cmVtICogLTAuNzUpO1xufVxuLmJ0bl9faWNvLS1iYXJlIHN2ZyB7XG4gIHdpZHRoOiAyMnB4O1xuICBoZWlnaHQ6IDIycHg7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG4uc2VjdGlvbiB7XG4gIC0tc2VjdGlvbi1wYWQ6IGNsYW1wKDRyZW0sIDl2dywgOXJlbSk7XG4gIHBhZGRpbmctYmxvY2s6IHZhcigtLXNlY3Rpb24tcGFkKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tc2VjdGlvbik7XG4gIHNjcm9sbC1tYXJnaW4tdG9wOiB2YXIoLS1uYXYtaCk7XG59XG5cbiNtYWluID4gLnNlY3Rpb246Zmlyc3QtY2hpbGQge1xuICBwYWRkaW5nLXRvcDogY2FsYyh2YXIoLS1uYXYtaCkgKyBjbGFtcCgxLjVyZW0sIDR2dywgM3JlbSkpO1xufVxuXG4uc2VjdGlvbi0td2FzaCB7XG4gIGJhY2tncm91bmQ6IHZhcigtLXdhc2gpO1xuICBib3JkZXItYmxvY2s6IDFweCBzb2xpZCB2YXIoLS1saW5lKTtcbn1cblxuLmluc2V0IHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYmctaW5zZXQpO1xuICBjb2xvcjogdmFyKC0taW5rKTtcbn1cblxuLnNlY3Rpb25fX2hlYWQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cbi5zZWN0aW9uX19oZWFkID4gLmV5ZWJyb3c6bGFzdC1jaGlsZCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuLnNlY3Rpb25fX2hlYWQge1xuICBnYXA6IDJyZW07XG4gIG1hcmdpbi1ib3R0b206IGNsYW1wKDJyZW0sIDR2dywgNHJlbSk7XG59XG4uc2VjdGlvbl9faGVhZCA+IDpmaXJzdC1jaGlsZCB7XG4gIG1pbi13aWR0aDogMDtcbn1cbi5zZWN0aW9uX19oZWFkID4gLmJ0biwgLnNlY3Rpb25fX2hlYWQgPiAucmFpbC1uYXYsIC5zZWN0aW9uX19oZWFkID4gLnNlY3Rpb25fX2FjdGlvbnMge1xuICBmbGV4OiBub25lO1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDc4MHB4KSB7XG4gIC5zZWN0aW9uX19oZWFkIHtcbiAgICBnYXA6IDFyZW07XG4gIH1cbiAgLnNlY3Rpb25fX2hlYWQgPiAuYnRuLFxuICAuc2VjdGlvbl9faGVhZCA+IC5zZWN0aW9uX19hY3Rpb25zIC5idG4ge1xuICAgIGhlaWdodDogNDRweDtcbiAgICBwYWRkaW5nLWlubGluZTogMXJlbTtcbiAgICBmb250LXNpemU6IDAuODVyZW07XG4gIH1cbn1cblxuLnNlY3Rpb25fX2FjdGlvbnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDAuNzVyZW07XG59XG5cbi5zZWN0aW9uX190aXRsZSB7XG4gIGZvbnQtc2l6ZTogY2xhbXAoMzhweCwgMjBweCArIDQuNXZ3LCA5MnB4KTtcbiAgbWFyZ2luLXRvcDogMXJlbTtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc4MHB4KSB7XG4gIGlucHV0LFxuICBzZWxlY3QsXG4gIHRleHRhcmVhIHtcbiAgICBmb250LXNpemU6IG1heCgxNnB4LCAxZW0pO1xuICB9XG59XG4ucnVsZSB7XG4gIGhlaWdodDogMXB4O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1saW5lKTtcbiAgdHJhbnNmb3JtOiBzY2FsZVgoMCk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQ7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAxLjFzIGN1YmljLWJlemllcigwLjE2LCAxLCAwLjMsIDEpO1xufVxuLmlzLWluIC5ydWxlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZVgoMSk7XG59XG5cbi5wbG9nbyB7XG4gIC0tcGxvZ28taDogY2xhbXAoMTVweCwgMS41dncsIDIxcHgpO1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiBjYWxjKHZhcigtLXBsb2dvLWgpICogdmFyKC0tc2NhbGUsIDEpKTtcbiAgYXNwZWN0LXJhdGlvOiB2YXIoLS1hciwgMy8xKTtcbiAgYmFja2dyb3VuZDogY3VycmVudENvbG9yO1xuICBjb2xvcjogdmFyKC0taW5rKTtcbiAgb3BhY2l0eTogMC42ODtcbiAgLXdlYmtpdC1tYXNrOiB2YXIoLS1zcmMpIGNlbnRlci9jb250YWluIG5vLXJlcGVhdDtcbiAgbWFzazogdmFyKC0tc3JjKSBjZW50ZXIvY29udGFpbiBuby1yZXBlYXQ7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgdmFyKC0tZHVyLWZhc3QpIGN1YmljLWJlemllcigwLjIyLCAwLjYxLCAwLjM2LCAxKSwgY29sb3IgdmFyKC0tZHVyLWZhc3QpIGN1YmljLWJlemllcigwLjIyLCAwLjYxLCAwLjM2LCAxKTtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA3ODBweCkge1xuICAucGxvZ28ge1xuICAgIC0tcGxvZ28taDogY2xhbXAoMTJweCwgNC4zdncsIDE4cHgpO1xuICB9XG59XG5cbi5qcyBbZGF0YS1yZXZlYWxdIHtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDI2cHgpO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuOHMgY3ViaWMtYmV6aWVyKDAuMTYsIDEsIDAuMywgMSksIHRyYW5zZm9ybSAwLjhzIGN1YmljLWJlemllcigwLjE2LCAxLCAwLjMsIDEpO1xuICB0cmFuc2l0aW9uLWRlbGF5OiBjYWxjKHZhcigtLWQsIDApICogMC4wOHMpO1xufVxuXG4uanMgW2RhdGEtcmV2ZWFsXS5pcy1pbiB7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zZm9ybTogbm9uZTtcbn1cblxuLmpzIFtkYXRhLXJldmVhbC1zdGFnZ2VyXSA+ICoge1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMzBweCk7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC43cyBjdWJpYy1iZXppZXIoMC4xNiwgMSwgMC4zLCAxKSwgdHJhbnNmb3JtIDAuN3MgY3ViaWMtYmV6aWVyKDAuMTYsIDEsIDAuMywgMSk7XG4gIHRyYW5zaXRpb24tZGVsYXk6IGNhbGModmFyKC0taSwgMCkgKiAwLjA3cyk7XG59XG5cbi5qcyBbZGF0YS1yZXZlYWwtc3RhZ2dlcl0uaXMtaW4gPiAqIHtcbiAgb3BhY2l0eTogdmFyKC0tcmVzdC1vcGFjaXR5LCAxKTtcbiAgdHJhbnNmb3JtOiBub25lO1xufVxuXG4ucHJvZ3Jlc3Mge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGhlaWdodDogMnB4O1xuICB6LWluZGV4OiAxMDE7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQ7XG4gIHRyYW5zZm9ybTogc2NhbGVYKDApO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hY2NlbnQpO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuQHN1cHBvcnRzIChhbmltYXRpb24tdGltZWxpbmU6IHNjcm9sbCgpKSB7XG4gIC5wcm9ncmVzcyB7XG4gICAgYW5pbWF0aW9uOiBwcm9ncmVzcyBsaW5lYXI7XG4gICAgYW5pbWF0aW9uLXRpbWVsaW5lOiBzY3JvbGwocm9vdCBibG9jayk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgcHJvZ3Jlc3Mge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWCgwKTtcbiAgfVxuICB0byB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVgoMSk7XG4gIH1cbn1cbi5zd2FwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtZ3JpZDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbGluZS1oZWlnaHQ6IDEuMTtcbn1cbi5zd2FwID4gc3BhbiB7XG4gIGdyaWQtYXJlYTogMS8xO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC40MnMgY3ViaWMtYmV6aWVyKDAuMTYsIDEsIDAuMywgMSk7XG59XG4uc3dhcCA+IHNwYW46bGFzdC1jaGlsZCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDUlKTtcbn1cbi5zd2FwOmhvdmVyID4gc3BhbjpmaXJzdC1jaGlsZCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTA1JSk7XG59XG4uc3dhcDpob3ZlciA+IHNwYW46bGFzdC1jaGlsZCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbn1cblxuLm5hdiB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiB2YXIoLS1uYXYtaCk7XG4gIHotaW5kZXg6IDEwMDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS1kdXIpIGN1YmljLWJlemllcigwLjIyLCAwLjYxLCAwLjM2LCAxKSwgYm9yZGVyLWNvbG9yIHZhcigtLWR1cikgY3ViaWMtYmV6aWVyKDAuMjIsIDAuNjEsIDAuMzYsIDEpO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG59XG4ubmF2LmlzLXN0dWNrIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjk1KTtcbiAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDE4cHgpIHNhdHVyYXRlKDEuNCk7XG4gIC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiBibHVyKDE4cHgpIHNhdHVyYXRlKDEuNCk7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xMik7XG59XG4ubmF2LmlzLXN0dWNrIC5uYXZfX21hcmsge1xuICBjb2xvcjogI2ZmZjtcbn1cbi5uYXYuaXMtc3R1Y2sgLm5hdl9fbGluayB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNzIpO1xufVxuLm5hdi5pcy1zdHVjayAubmF2X19saW5rOmhvdmVyLFxuLm5hdi5pcy1zdHVjayAubmF2X19saW5rW2FyaWEtY3VycmVudF0ge1xuICBjb2xvcjogI2ZmZjtcbn1cbi5uYXYuaXMtc3R1Y2sgLnRvZ2dsZSxcbi5uYXYuaXMtc3R1Y2sgLmNhcnRwaWxsLFxuLm5hdi5pcy1zdHVjayAuYnVyZ2VyLFxuLm5hdi5pcy1zdHVjayAubnNlYXJjaCB7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIyKTtcbiAgY29sb3I6ICNmZmY7XG59XG4ubmF2LmlzLXN0dWNrIC5jYXJ0cGlsbF9fbiB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDJweCAjMDAwO1xufVxuLm5hdi5pcy1zdHVjayAubnNlYXJjaDpob3Zlcixcbi5uYXYuaXMtc3R1Y2sgLm5zZWFyY2g6Zm9jdXMtd2l0aGluIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1hY2NlbnQpO1xufVxuLm5hdi5pcy1zdHVjayAubnNlYXJjaDpob3ZlciAubnNlYXJjaF9fYnRuLFxuLm5hdi5pcy1zdHVjayAubnNlYXJjaDpmb2N1cy13aXRoaW4gLm5zZWFyY2hfX2J0biB7XG4gIGNvbG9yOiB2YXIoLS1hY2NlbnQtaW5rKTtcbn1cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSBhbmQgKHBvaW50ZXI6IGZpbmUpIHtcbiAgLm5hdi5pcy1zdHVjayAudG9nZ2xlOmhvdmVyLFxuICAubmF2LmlzLXN0dWNrIC5jYXJ0cGlsbDpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1hY2NlbnQpO1xuICAgIGNvbG9yOiB2YXIoLS1hY2NlbnQtaW5rKTtcbiAgfVxufVxuLm5hdi5pcy1zdHVjayAuYnVyZ2VyIHNwYW4sXG4ubmF2LmlzLXN0dWNrIC5idXJnZXIgc3Bhbjo6YmVmb3JlLFxuLm5hdi5pcy1zdHVjayAuYnVyZ2VyIHNwYW46OmFmdGVyIHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbn1cbi5uYXYuaXMtc3R1Y2sgLm5zZWFyY2ggaW5wdXQge1xuICBjb2xvcjogI2ZmZjtcbn1cbi5uYXYuaXMtc3R1Y2sgLm5zZWFyY2hfX2J0biB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNzIpO1xufVxuLm5hdi5pcy1zdHVjayAubnNlYXJjaC5pcy1vcGVuIHtcbiAgYmFja2dyb3VuZDogIzAwMDtcbn1cbi5uYXYuaXMtc3R1Y2sgLm5zZWFyY2ggaW5wdXQ6OnBsYWNlaG9sZGVyIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40NSk7XG59XG4ubmF2X19pbm5lciB7XG4gIHdpZHRoOiBtaW4oMTAwJSAtIHZhcigtLWd1dHRlcikgKiAyLCB2YXIoLS1tYXh3KSk7XG4gIGhlaWdodDogMTAwJTtcbiAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiBjbGFtcCgxcmVtLCAzdncsIDNyZW0pO1xufVxuLm5hdl9fbWFyayB7XG4gIGZsZXg6IG5vbmU7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDAuNzVyZW07XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuICBmb250LXNpemU6IDEuMDVyZW07XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuLm5hdl9fbWFyayBpbWcge1xuICBoZWlnaHQ6IDMwcHg7XG4gIHdpZHRoOiBhdXRvO1xufVxuLm5hdl9fbmFtZSB7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuICBmb250LXNpemU6IGNsYW1wKDFyZW0sIDIuMnZ3LCAxLjM1cmVtKTtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGNvbG9yOiBpbmhlcml0O1xufVxuLm5hdl9fbG9nbyB7XG4gIC0tbG9nby1oOiBjbGFtcCgxOS4zNnB4LCAyLjQydncsIDI2LjYycHgpO1xuICAtLWxvZ28tcmF0aW86IDExODguNTcgLyAxMDcuNjk7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IGNhbGModmFyKC0tbG9nby1oKSArIDFweCk7XG4gIHdpZHRoOiBjYWxjKHZhcigtLWxvZ28taCkgKiAodmFyKC0tbG9nby1yYXRpbykpICsgMXB4KTtcbiAgYmFja2dyb3VuZDogY3VycmVudENvbG9yO1xuICAtd2Via2l0LW1hc2s6IHZhcigtLXNyYykgY2VudGVyL2F1dG8gdmFyKC0tbG9nby1oKSBuby1yZXBlYXQ7XG4gIG1hc2s6IHZhcigtLXNyYykgY2VudGVyL2F1dG8gdmFyKC0tbG9nby1oKSBuby1yZXBlYXQ7XG59XG4ubmF2X19tZW51IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiBjbGFtcCgwLjc1cmVtLCAxLjh2dywgMnJlbSk7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbi1pbmxpbmU6IGF1dG87XG59XG5AbWVkaWEgKG1heC13aWR0aDogMTA4MHB4KSB7XG4gIC5uYXZfX21lbnUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbi5uYXZfX2xpbmsge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDAuNXJlbSAwO1xuICBmb250LXNpemU6IDAuODVyZW07XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxldHRlci1zcGFjaW5nOiAwLjAyZW07XG4gIGNvbG9yOiB2YXIoLS1pbmstMik7XG4gIHRyYW5zaXRpb246IGNvbG9yIHZhcigtLWR1ci1mYXN0KSBjdWJpYy1iZXppZXIoMC4yMiwgMC42MSwgMC4zNiwgMSk7XG59XG4ubmF2X19saW5rOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgaGVpZ2h0OiAxcHg7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFjY2VudCk7XG4gIHRyYW5zZm9ybTogc2NhbGVYKDApO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBjdWJpYy1iZXppZXIoMC4xNiwgMSwgMC4zLCAxKTtcbn1cbi5uYXZfX2xpbms6aG92ZXIsIC5uYXZfX2xpbmtbYXJpYS1jdXJyZW50XSB7XG4gIGNvbG9yOiB2YXIoLS1pbmspO1xufVxuLm5hdl9fbGluazpob3Zlcjo6YWZ0ZXIsIC5uYXZfX2xpbmtbYXJpYS1jdXJyZW50XTo6YWZ0ZXIge1xuICB0cmFuc2Zvcm06IHNjYWxlWCgxKTtcbn1cbi5uYXZfX3Rvb2xzIHtcbiAgZmxleDogbm9uZTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAwLjc1cmVtO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbn1cblxuLmNhcnRwaWxsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogNDJweDtcbiAgaGVpZ2h0OiA0MnB4O1xuICBmbGV4OiBub25lO1xuICBkaXNwbGF5OiBncmlkO1xuICBwbGFjZS1pdGVtczogY2VudGVyO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1saW5lKTtcbiAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gIGNvbG9yOiB2YXIoLS1pbmspO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIHZhcigtLWR1ci1mYXN0KSBjdWJpYy1iZXppZXIoMC4yMiwgMC42MSwgMC4zNiwgMSksIGNvbG9yIHZhcigtLWR1ci1mYXN0KSBjdWJpYy1iZXppZXIoMC4yMiwgMC42MSwgMC4zNiwgMSksIHdpZHRoIDAuMzVzIGN1YmljLWJlemllcigwLjE2LCAxLCAwLjMsIDEpLCBtYXJnaW4gMC4zNXMgY3ViaWMtYmV6aWVyKDAuMTYsIDEsIDAuMywgMSksIG9wYWNpdHkgMC4zcyBjdWJpYy1iZXppZXIoMC4yMiwgMC42MSwgMC4zNiwgMSk7XG59XG4uY2FydHBpbGwuaXMtZW1wdHkge1xuICB3aWR0aDogMDtcbiAgbWFyZ2luLWxlZnQ6IC0wLjc1cmVtO1xuICBvcGFjaXR5OiAwO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5jYXJ0cGlsbCBzdmcge1xuICB3aWR0aDogMThweDtcbiAgaGVpZ2h0OiAxOHB4O1xufVxuLmNhcnRwaWxsX19uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC01cHg7XG4gIHJpZ2h0OiAtNXB4O1xuICBtaW4td2lkdGg6IDE5cHg7XG4gIGhlaWdodDogMTlweDtcbiAgcGFkZGluZy1pbmxpbmU6IDVweDtcbiAgZGlzcGxheTogZ3JpZDtcbiAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFjY2VudCk7XG4gIGNvbG9yOiB2YXIoLS1vbi1hY2NlbnQpO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vKTtcbiAgZm9udC1zaXplOiAwLjY2cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICBsaW5lLWhlaWdodDogMTtcbiAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4IHZhcigtLWJnKTtcbn1cbi5jYXJ0cGlsbF9fdiB7XG4gIGdyaWQtYXJlYTogMS8xO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbn1cbi5jYXJ0cGlsbF9fdi5pcy1vdXQtdXAge1xuICBhbmltYXRpb246IGNhcnRwaWxsLW91dC11cCAwLjMycyBjdWJpYy1iZXppZXIoMC4xNiwgMSwgMC4zLCAxKSBmb3J3YXJkcztcbn1cbi5jYXJ0cGlsbF9fdi5pcy1pbi11cCB7XG4gIGFuaW1hdGlvbjogY2FydHBpbGwtaW4tdXAgMC4zMnMgY3ViaWMtYmV6aWVyKDAuMTYsIDEsIDAuMywgMSk7XG59XG4uY2FydHBpbGxfX3YuaXMtb3V0LWRvd24ge1xuICBhbmltYXRpb246IGNhcnRwaWxsLW91dC1kb3duIDAuMzJzIGN1YmljLWJlemllcigwLjE2LCAxLCAwLjMsIDEpIGZvcndhcmRzO1xufVxuLmNhcnRwaWxsX192LmlzLWluLWRvd24ge1xuICBhbmltYXRpb246IGNhcnRwaWxsLWluLWRvd24gMC4zMnMgY3ViaWMtYmV6aWVyKDAuMTYsIDEsIDAuMywgMSk7XG59XG5AbWVkaWEgKGhvdmVyOiBob3ZlcikgYW5kIChwb2ludGVyOiBmaW5lKSB7XG4gIC5jYXJ0cGlsbDpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1hY2NlbnQpO1xuICAgIGNvbG9yOiB2YXIoLS1hY2NlbnQtaW5rKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGNhcnRwaWxsLW91dC11cCB7XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTExMCUpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbkBrZXlmcmFtZXMgY2FydHBpbGwtaW4tdXAge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTEwJSk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuQGtleWZyYW1lcyBjYXJ0cGlsbC1vdXQtZG93biB7XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTEwJSk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuQGtleWZyYW1lcyBjYXJ0cGlsbC1pbi1kb3duIHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMTAlKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG4udG9nZ2xlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogNDJweDtcbiAgaGVpZ2h0OiA0MnB4O1xuICBkaXNwbGF5OiBncmlkO1xuICBwbGFjZS1pdGVtczogY2VudGVyO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1saW5lKTtcbiAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gIGNvbG9yOiB2YXIoLS1pbmspO1xuICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgdmFyKC0tZHVyLWZhc3QpIGN1YmljLWJlemllcigwLjIyLCAwLjYxLCAwLjM2LCAxKSwgdHJhbnNmb3JtIHZhcigtLWR1ci1mYXN0KSBjdWJpYy1iZXppZXIoMC4yMiwgMC42MSwgMC4zNiwgMSk7XG59XG5AbWVkaWEgKGhvdmVyOiBob3ZlcikgYW5kIChwb2ludGVyOiBmaW5lKSB7XG4gIC50b2dnbGU6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYWNjZW50KTtcbiAgICBjb2xvcjogdmFyKC0tYWNjZW50LWluayk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMThkZWcpO1xuICB9XG59XG4udG9nZ2xlIHN2ZyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDE3cHg7XG4gIGhlaWdodDogMTdweDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSB2YXIoLS1kdXItZmFzdCkgY3ViaWMtYmV6aWVyKDAuMjIsIDAuNjEsIDAuMzYsIDEpLCB0cmFuc2Zvcm0gMC40cyBjdWJpYy1iZXppZXIoMC4xNiwgMSwgMC4zLCAxKTtcbn1cbi50b2dnbGUgLmktc3VuIHtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMCkgc2NhbGUoMSk7XG59XG4udG9nZ2xlIC5pLW1vb24ge1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpIHNjYWxlKDAuNCk7XG59XG5bZGF0YS10aGVtZT1saWdodF0gLnRvZ2dsZSAuaS1zdW4ge1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZykgc2NhbGUoMC40KTtcbn1cbltkYXRhLXRoZW1lPWxpZ2h0XSAudG9nZ2xlIC5pLW1vb24ge1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwKSBzY2FsZSgxKTtcbn1cblxuLm5zZWFyY2gtc2xvdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDQycHg7XG4gIGhlaWdodDogNDJweDtcbiAgZmxleDogbm9uZTtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiAxMDgwcHgpIHtcbiAgLm5zZWFyY2gtc2xvdCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4ubnNlYXJjaCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgd2lkdGg6IDQycHg7XG4gIGhlaWdodDogNDJweDtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbGluZSk7XG4gIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogd2lkdGggMC40NXMgY3ViaWMtYmV6aWVyKDAuMTYsIDEsIDAuMywgMSksIGJvcmRlci1jb2xvciB2YXIoLS1kdXItZmFzdCkgY3ViaWMtYmV6aWVyKDAuMjIsIDAuNjEsIDAuMzYsIDEpLCBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLWR1ci1mYXN0KSBjdWJpYy1iZXppZXIoMC4yMiwgMC42MSwgMC4zNiwgMSk7XG59XG4ubnNlYXJjaDpob3ZlciwgLm5zZWFyY2g6Zm9jdXMtd2l0aGluIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1hY2NlbnQpO1xufVxuLm5zZWFyY2guaXMtb3BlbiB7XG4gIHdpZHRoOiBjbGFtcCgyMDBweCwgMjF2dywgMjkwcHgpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1iZyk7XG59XG4ubnNlYXJjaCBpbnB1dCB7XG4gIGZsZXg6IDE7XG4gIG1pbi13aWR0aDogMDtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBjb2xvcjogdmFyKC0taW5rKTtcbiAgZm9udC1zaXplOiAwLjg4cmVtO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMjVzIGN1YmljLWJlemllcigwLjIyLCAwLjYxLCAwLjM2LCAxKSwgcGFkZGluZyAwLjQ1cyBjdWJpYy1iZXppZXIoMC4xNiwgMSwgMC4zLCAxKTtcbn1cbi5uc2VhcmNoIGlucHV0OjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiB2YXIoLS1pbmstMyk7XG59XG4ubnNlYXJjaCBpbnB1dDpmb2N1cy12aXNpYmxlIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cbi5uc2VhcmNoLmlzLW9wZW4gaW5wdXQge1xuICBvcGFjaXR5OiAxO1xuICBwYWRkaW5nLWxlZnQ6IDFyZW07XG59XG4ubnNlYXJjaF9fYnRuIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcbiAgd2lkdGg6IDQwcHg7XG4gIGhlaWdodDogNDBweDtcbiAgZmxleDogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgY29sb3I6IHZhcigtLWluay0yKTtcbiAgdHJhbnNpdGlvbjogY29sb3IgdmFyKC0tZHVyLWZhc3QpIGN1YmljLWJlemllcigwLjIyLCAwLjYxLCAwLjM2LCAxKTtcbn1cbi5uc2VhcmNoX19idG4gc3ZnIHtcbiAgd2lkdGg6IDE5LjJweDtcbiAgaGVpZ2h0OiAxOS4ycHg7XG59XG4ubnNlYXJjaDpob3ZlciAubnNlYXJjaF9fYnRuLCAubnNlYXJjaDpmb2N1cy13aXRoaW4gLm5zZWFyY2hfX2J0biB7XG4gIGNvbG9yOiB2YXIoLS1hY2NlbnQtaW5rKTtcbn1cblxuaW5wdXRbdHlwZT1zZWFyY2hdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICB3aWR0aDogMjAuNHB4O1xuICBoZWlnaHQ6IDIwLjRweDtcbiAgYmFja2dyb3VuZDogY3VycmVudENvbG9yO1xuICBjb2xvcjogdmFyKC0taW5rLTMpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG1hcmdpbi1yaWdodDogLTAuNnJlbTtcbiAgLXdlYmtpdC1tYXNrOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDI0IDI0JyUzRSUzQ3BhdGggZD0nTTUgNWwxNCAxNE0xOSA1TDUgMTknIGZpbGw9J25vbmUnIHN0cm9rZT0nJTIzMDAwJyBzdHJva2Utd2lkdGg9JzInIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcvJTNFJTNDL3N2ZyUzRVwiKSBjZW50ZXIvY29udGFpbiBuby1yZXBlYXQ7XG4gIG1hc2s6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMjQgMjQnJTNFJTNDcGF0aCBkPSdNNSA1bDE0IDE0TTE5IDVMNSAxOScgZmlsbD0nbm9uZScgc3Ryb2tlPSclMjMwMDAnIHN0cm9rZS13aWR0aD0nMicgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJy8lM0UlM0Mvc3ZnJTNFXCIpIGNlbnRlci9jb250YWluIG5vLXJlcGVhdDtcbiAgdHJhbnNpdGlvbjogY29sb3IgdmFyKC0tZHVyLWZhc3QpIGN1YmljLWJlemllcigwLjIyLCAwLjYxLCAwLjM2LCAxKTtcbn1cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSBhbmQgKHBvaW50ZXI6IGZpbmUpIHtcbiAgaW5wdXRbdHlwZT1zZWFyY2hdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uOmhvdmVyIHtcbiAgICBjb2xvcjogdmFyKC0taW5rKTtcbiAgfVxufVxuXG4uZHNlYXJjaCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGhlaWdodDogNTRweDtcbiAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbGluZSk7XG4gIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIHZhcigtLWR1ci1mYXN0KSBjdWJpYy1iZXppZXIoMC4yMiwgMC42MSwgMC4zNiwgMSk7XG59XG4uZHNlYXJjaDpob3ZlciwgLmRzZWFyY2g6Zm9jdXMtd2l0aGluIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1hY2NlbnQpO1xufVxuLmRzZWFyY2ggaW5wdXQge1xuICBmbGV4OiAxO1xuICBtaW4td2lkdGg6IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgcGFkZGluZy1pbmxpbmU6IDEuNXJlbTtcbiAgYm9yZGVyOiAwO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBjb2xvcjogdmFyKC0taW5rKTtcbn1cbi5kc2VhcmNoIGlucHV0OjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiB2YXIoLS1pbmstMyk7XG59XG4uZHNlYXJjaCBpbnB1dDpmb2N1cy12aXNpYmxlIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cbi5kc2VhcmNoIGJ1dHRvbiB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XG4gIHdpZHRoOiA1MnB4O1xuICBoZWlnaHQ6IDUycHg7XG4gIGZsZXg6IG5vbmU7XG4gIG1hcmdpbi1yaWdodDogMXB4O1xuICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgY29sb3I6IHZhcigtLWluay0yKTtcbiAgdHJhbnNpdGlvbjogY29sb3IgdmFyKC0tZHVyLWZhc3QpIGN1YmljLWJlemllcigwLjIyLCAwLjYxLCAwLjM2LCAxKTtcbn1cbi5kc2VhcmNoIGJ1dHRvbiBzdmcge1xuICB3aWR0aDogMjAuNHB4O1xuICBoZWlnaHQ6IDIwLjRweDtcbn1cbi5kc2VhcmNoOmhvdmVyIGJ1dHRvbiwgLmRzZWFyY2g6Zm9jdXMtd2l0aGluIGJ1dHRvbiB7XG4gIGNvbG9yOiB2YXIoLS1hY2NlbnQtaW5rKTtcbn1cblxuLmJ1cmdlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHdpZHRoOiA0MnB4O1xuICBoZWlnaHQ6IDQycHg7XG4gIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpbmUpO1xuICBib3JkZXItcmFkaXVzOiA5OTlweDtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiAxMDgwcHgpIHtcbiAgLmJ1cmdlciB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgfVxufVxuLmJ1cmdlciBzcGFuIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDE2cHg7XG4gIGhlaWdodDogMS41cHg7XG4gIGJhY2tncm91bmQ6IHZhcigtLWluayk7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGN1YmljLWJlemllcigwLjIyLCAwLjYxLCAwLjM2LCAxKSwgb3BhY2l0eSAwLjJzIGN1YmljLWJlemllcigwLjIyLCAwLjYxLCAwLjM2LCAxKTtcbn1cbi5idXJnZXIgc3Bhbjo6YmVmb3JlLCAuYnVyZ2VyIHNwYW46OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTZweDtcbiAgaGVpZ2h0OiAxLjVweDtcbiAgYmFja2dyb3VuZDogdmFyKC0taW5rKTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgY3ViaWMtYmV6aWVyKDAuMTYsIDEsIDAuMywgMSksIHRvcCAwLjNzIGN1YmljLWJlemllcigwLjIyLCAwLjYxLCAwLjM2LCAxKSwgYm90dG9tIDAuM3MgY3ViaWMtYmV6aWVyKDAuMjIsIDAuNjEsIDAuMzYsIDEpO1xufVxuLmJ1cmdlciBzcGFuOjpiZWZvcmUge1xuICB0b3A6IC01cHg7XG59XG4uYnVyZ2VyIHNwYW46OmFmdGVyIHtcbiAgYm90dG9tOiAtNXB4O1xufVxuLmJ1cmdlclthcmlhLWV4cGFuZGVkPXRydWVdIHNwYW46OmJlZm9yZSB7XG4gIHRvcDogMDtcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xufVxuLmJ1cmdlclthcmlhLWV4cGFuZGVkPXRydWVdIHNwYW46OmFmdGVyIHtcbiAgYm90dG9tOiAwO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xufVxuXG5AbWVkaWEgKGhvdmVyOiBob3ZlcikgYW5kIChwb2ludGVyOiBmaW5lKSB7XG4gIC5uYXYgLmJ1cmdlcjpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1hY2NlbnQpO1xuICB9XG4gIC5uYXYgLmJ1cmdlcjpob3ZlciBzcGFuOjpiZWZvcmUsXG4gIC5uYXYgLmJ1cmdlcjpob3ZlciBzcGFuOjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYWNjZW50LWluayk7XG4gIH1cbiAgLm5hdiAuYnVyZ2VyOmhvdmVyOm5vdChbYXJpYS1leHBhbmRlZD10cnVlXSkgc3BhbiB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYWNjZW50LWluayk7XG4gIH1cbn1cbi5uYXYgLmJ1cmdlclthcmlhLWV4cGFuZGVkPXRydWVdIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1hY2NlbnQpO1xufVxuLm5hdiAuYnVyZ2VyW2FyaWEtZXhwYW5kZWQ9dHJ1ZV0gc3BhbiB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuLm5hdiAuYnVyZ2VyW2FyaWEtZXhwYW5kZWQ9dHJ1ZV0gc3Bhbjo6YmVmb3JlLFxuLm5hdiAuYnVyZ2VyW2FyaWEtZXhwYW5kZWQ9dHJ1ZV0gc3Bhbjo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hY2NlbnQtaW5rKTtcbn1cblxuLmRyYXdlciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgaW5zZXQ6IDA7XG4gIHotaW5kZXg6IDk5O1xuICBkaXNwbGF5OiBncmlkO1xuICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmc6IHZhcigtLW5hdi1oKSB2YXIoLS1ndXR0ZXIpIDRyZW07XG4gIGJhY2tncm91bmQ6IHZhcigtLWJnKTtcbiAgY2xpcC1wYXRoOiBpbnNldCgwIDAgMTAwJSAwKTtcbiAgdHJhbnNpdGlvbjogY2xpcC1wYXRoIDAuNnMgY3ViaWMtYmV6aWVyKDAuMTYsIDEsIDAuMywgMSk7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLmRyYXdlci5pcy1vcGVuIHtcbiAgY2xpcC1wYXRoOiBpbnNldCgwIDAgMCAwKTtcbiAgcG9pbnRlci1ldmVudHM6IGFsbDtcbn1cbi5kcmF3ZXIgdWwge1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuLmRyYXdlciBsaSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1saW5lKTtcbn1cbi5kcmF3ZXIgbGk6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1ib3R0b206IDA7XG59XG4uZHJhd2VyIGEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMXJlbSAwO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbiAgZm9udC1zaXplOiBjbGFtcCgzMHB4LCAxOS4zMzMzMzMzMzMzcHggKyAyLjY2NjY2NjY2Njd2dywgNjJweCk7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDNlbTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDExMCUpO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC42cyBjdWJpYy1iZXppZXIoMC4xNiwgMSwgMC4zLCAxKSBjYWxjKHZhcigtLWksIDApICogMC4wNXMpLCBjb2xvciB2YXIoLS1kdXItZmFzdCkgY3ViaWMtYmV6aWVyKDAuMjIsIDAuNjEsIDAuMzYsIDEpO1xufVxuLmRyYXdlciBhOmhvdmVyLCAuZHJhd2VyIGFbYXJpYS1jdXJyZW50XSB7XG4gIGNvbG9yOiB2YXIoLS1hY2NlbnQtaW5rKTtcbn1cbi5kcmF3ZXIuaXMtb3BlbiBhIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xufVxuXG4uaGFwdCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgZ2FwOiAxcmVtO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLXRvcDogMS41cmVtO1xuICBwYWRkaW5nLXRvcDogMXJlbTtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWxpbmUpO1xuICBjb2xvcjogdmFyKC0taW5rKTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGZvbnQtc2l6ZTogY2xhbXAoMC45cmVtLCAxLjF2dywgMS4xNXJlbSk7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcbn1cbi5oYXB0X190cmFjayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxleDogbm9uZTtcbiAgd2lkdGg6IDQ2cHg7XG4gIGhlaWdodDogMjZweDtcbiAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gIGJhY2tncm91bmQ6IHZhcigtLWxpbmUtMik7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgdmFyKC0tZHVyLWZhc3QpIGN1YmljLWJlemllcigwLjIyLCAwLjYxLCAwLjM2LCAxKTtcbn1cbi5oYXB0X190aHVtYiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAzcHg7XG4gIGxlZnQ6IDNweDtcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMjBweDtcbiAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gIGJhY2tncm91bmQ6IHZhcigtLWJnKTtcbiAgdHJhbnNpdGlvbjogdHJhbnNsYXRlIHZhcigtLWR1ci1mYXN0KSBjdWJpYy1iZXppZXIoMC4yMiwgMC42MSwgMC4zNiwgMSk7XG59XG4uaGFwdFthcmlhLWNoZWNrZWQ9dHJ1ZV0gLmhhcHRfX3RyYWNrIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWNjZW50KTtcbn1cbi5oYXB0W2FyaWEtY2hlY2tlZD10cnVlXSAuaGFwdF9fdGh1bWIge1xuICB0cmFuc2xhdGU6IDIwcHggMDtcbn1cblxuLmRyYXdlciAuaGFwdCB7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC40cyBjdWJpYy1iZXppZXIoMC4yMiwgMC42MSwgMC4zNiwgMSkgMC4zNXM7XG59XG5cbi5kcmF3ZXIuaXMtb3BlbiAuaGFwdCB7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5oZXJvIHtcbiAgLS1waG90by13OiBtaW4oY2xhbXAoMzcycHgsIDQ4Ljh2dywgODA0cHgpLCA4MC40c3ZoKTtcbn1cbi5oZXJvLS00MDQsIC5oZXJvLS1uby10aWNrZXIge1xuICAtLXRpY2tlci1oOiAwcHg7XG59XG4uaGVybyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWluLWhlaWdodDogY2FsYygxMDBzdmggKyB2YXIoLS10aWNrZXItaCkpO1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLXJvd3M6IDFmciBhdXRvO1xuICBwYWRkaW5nLXRvcDogY2FsYyh2YXIoLS1uYXYtaCkgKyBjbGFtcCgwLjVyZW0sIDJ2dywgMS41cmVtKSk7XG4gIHBhZGRpbmctYm90dG9tOiBjYWxjKGNsYW1wKDRyZW0sIDd2aCwgNnJlbSkgKyB2YXIoLS10aWNrZXItaCkpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAtLWJsb29tOiAzNCU7XG59XG4uaGVybzo6YmVmb3JlIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC0yMCU7XG4gIGxlZnQ6IDUwJTtcbiAgd2lkdGg6IG1pbigxMjB2dywgMTQwMHB4KTtcbiAgYXNwZWN0LXJhdGlvOiAxO1xuICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tYWNjZW50KSB2YXIoLS1ibG9vbSksIHRyYW5zcGFyZW50KSAwJSwgdHJhbnNwYXJlbnQgNjIlKTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHRyYW5zbGF0ZTogLTUwJSAwO1xuICBhbmltYXRpb246IGJsb29tLWRyaWZ0IDUzcyBlYXNlLWluLW91dCBpbmZpbml0ZSwgYmxvb20tcHVsc2UgMzdzIGVhc2UtaW4tb3V0IGluZmluaXRlIGFsdGVybmF0ZTtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA3ODBweCkge1xuICAuaGVybyB7XG4gICAgLS1ibG9vbTogNDglO1xuICB9XG59XG4uaGVyb19faW5uZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDI7XG4gIHdpZHRoOiBtaW4oMTAwJSAtIHZhcigtLWd1dHRlcikgKiAyLCB2YXIoLS1tYXh3KSk7XG4gIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gIGRpc3BsYXk6IGNvbnRlbnRzO1xufVxuLmhlcm9fX3Bob3RvIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICB6LWluZGV4OiAyO1xuICB3aWR0aDogdmFyKC0tcGhvdG8tdyk7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cbi5oZXJvX19waG90byBwaWN0dXJlIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzgxcHgpIHtcbiAgLmhlcm9fX3Bob3RvOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgaGVpZ2h0OiB2YXIoLS10aWNrZXItaCk7XG4gICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gIH1cbn1cbi5oZXJvX19waG90byBpbWcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA3ODBweCkge1xuICAuaGVyb19fcGhvdG8ge1xuICAgIHdpZHRoOiAxMzguMzJ2dztcbiAgICByaWdodDogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNTAlKTtcbiAgICBvcGFjaXR5OiAwLjIyO1xuICB9XG59XG4uaGVyb19fdGl0bGUge1xuICBncmlkLXJvdzogMTtcbiAgYWxpZ24tc2VsZjogY2VudGVyO1xuICB3aWR0aDogbWluKDEwMCUgLSB2YXIoLS1ndXR0ZXIpICogMiwgdmFyKC0tbWF4dykpO1xuICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDI7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuICBmb250LXdlaWdodDogOTAwO1xuICBmb250LXNpemU6IG1pbigxMi41dncsIDE4c3ZoLCAxOTBweCk7XG4gIGxpbmUtaGVpZ2h0OiAwLjgyO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDQ1ZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzgxcHgpIHtcbiAgLmhlcm9fX3RpdGxlIHtcbiAgICBmb250LXNpemU6IG1pbigoMTAwdncgLSB2YXIoLS1waG90by13KSAtIHZhcigtLWd1dHRlcikgLSAxLjVyZW0pIC8gNS42LCAxOXN2aCwgMTkwcHgpO1xuICB9XG59XG4uaGVyb19fd29yZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nLWJvdHRvbTogMC4xNGVtO1xuICBtYXJnaW4tYm90dG9tOiAtMC4xNGVtO1xufVxuLmhlcm9fX3dvcmQgPiBzcGFuIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMjAlKTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDFzIGN1YmljLWJlemllcigwLjE2LCAxLCAwLjMsIDEpIGNhbGModmFyKC0taSwgMCkgKiAwLjA5cyk7XG59XG4uaXMtcmVhZHkgLmhlcm9fX3dvcmQgPiBzcGFuIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xufVxuLmhlcm9fX3dvcmQtLWhvbGxvdyA+IHNwYW4ge1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC13ZWJraXQtdGV4dC1zdHJva2U6IGNsYW1wKDFweCwgMC4xMnZ3LCAzcHgpIHZhcigtLWluayk7XG59XG4uaGVyb19fd29yZC0tYWNjZW50ID4gc3BhbiB7XG4gIGNvbG9yOiB2YXIoLS1hY2NlbnQtaW5rKTtcbn1cbi5oZXJvX19mb290IHtcbiAgZ3JpZC1yb3c6IDI7XG4gIHdpZHRoOiBtaW4oMTAwJSAtIHZhcigtLWd1dHRlcikgKiAyLCB2YXIoLS1tYXh3KSk7XG4gIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjtcbiAgZGlzcGxheTogZ3JpZDtcbiAganVzdGlmeS1pdGVtczogc3RhcnQ7XG4gIGdhcDogY2xhbXAoMS4yNXJlbSwgMi41dmgsIDEuNzVyZW0pO1xuICBwYWRkaW5nLXRvcDogY2xhbXAoMXJlbSwgM3ZoLCAycmVtKTtcbn1cbi5oZXJvX19sb2dvcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBnYXA6IGNhbGMoY2xhbXAoMS4yNXJlbSwgMi40dncsIDIuNzVyZW0pIC0gMnB4KTtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luLWJvdHRvbTogY2xhbXAoMC4yNXJlbSwgMXZoLCAwLjc1cmVtKTtcbn1cbi5oZXJvX19sb2dvcyA+IGxpIHtcbiAgbWluLXdpZHRoOiAwO1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDc4MHB4KSB7XG4gIC5oZXJvX19sb2dvcyB7XG4gICAgZ2FwOiBjbGFtcCgwLjVyZW0sIDIuOHZ3LCAxLjI1cmVtKTtcbiAgfVxufVxuLmhlcm9fX2JsdXJiIHtcbiAgZm9udC1zaXplOiBjbGFtcCgxcmVtLCAwLjQ1dncgKyAwLjlyZW0sIDEuMnJlbSk7XG4gIGNvbG9yOiB2YXIoLS1pbmstMik7XG4gIG1heC13aWR0aDogNDZjaDtcbn1cbi5oZXJvX19jdGEge1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDAuNzVyZW07XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cbi5oZXJvX19jdGEgLmJ0bjpub3QoLmJ0bi0tYWNjZW50KSB7XG4gIC0tYnRuLWxpbmU6IHZhcigtLWxpbmUtMi1mbGF0KTtcbn1cbi5oZXJvID4gLnRpY2tlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgei1pbmRleDogMTtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA3ODBweCkge1xuICAuaGVybyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGdhcDogMS41cmVtO1xuICB9XG4gIC5oZXJvIC5oZXJvX190aXRsZSxcbiAgLmhlcm8gLmhlcm9fX2Zvb3Qge1xuICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBibG9vbS1kcmlmdCB7XG4gIDAlIHtcbiAgICB0cmFuc2xhdGU6IC01MCUgMDtcbiAgfVxuICAyMyUge1xuICAgIHRyYW5zbGF0ZTogLTQwJSA1JTtcbiAgfVxuICA0MSUge1xuICAgIHRyYW5zbGF0ZTogLTU5JSA5JTtcbiAgfVxuICA2NCUge1xuICAgIHRyYW5zbGF0ZTogLTQ0JSAtNCU7XG4gIH1cbiAgODMlIHtcbiAgICB0cmFuc2xhdGU6IC01NyUgMyU7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNsYXRlOiAtNTAlIDA7XG4gIH1cbn1cbkBrZXlmcmFtZXMgYmxvb20tcHVsc2Uge1xuICBmcm9tIHtcbiAgICBzY2FsZTogMTtcbiAgICBvcGFjaXR5OiAwLjYyO1xuICB9XG4gIHRvIHtcbiAgICBzY2FsZTogMS4yODtcbiAgICBvcGFjaXR5OiAwLjk7XG4gIH1cbn1cbi53YXZlIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAzcHg7XG4gIGhlaWdodDogMzRweDtcbn1cbi53YXZlIHNwYW4ge1xuICB3aWR0aDogM3B4O1xuICBoZWlnaHQ6IDMwJTtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hY2NlbnQpO1xuICBvcGFjaXR5OiAwLjg1O1xuICBhbmltYXRpb246IHdhdmUgMS4xcyBjdWJpYy1iZXppZXIoMC4yMiwgMC42MSwgMC4zNiwgMSkgaW5maW5pdGUgYWx0ZXJuYXRlO1xuICBhbmltYXRpb24tZGVsYXk6IGNhbGModmFyKC0taSkgKiAtMC4wOXMpO1xufVxuLndhdmUtLW11dGVkIHNwYW4ge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1pbmstMyk7XG59XG5cbkBrZXlmcmFtZXMgd2F2ZSB7XG4gIGZyb20ge1xuICAgIGhlaWdodDogMTQlO1xuICB9XG4gIHRvIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbn1cbi5jdWUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDUwJTtcbiAgYm90dG9tOiBjYWxjKDFyZW0gKyB2YXIoLS10aWNrZXItaCkpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIHotaW5kZXg6IDI7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGp1c3RpZnktaXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAwLjVyZW07XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm8pO1xuICBmb250LXNpemU6IDAuNjJyZW07XG4gIGxldHRlci1zcGFjaW5nOiAwLjJlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6IHZhcigtLWluay0zKTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzIGN1YmljLWJlemllcigwLjIyLCAwLjYxLCAwLjM2LCAxKSwgdmlzaWJpbGl0eSAwLjVzLCBjb2xvciB2YXIoLS1kdXItZmFzdCkgY3ViaWMtYmV6aWVyKDAuMjIsIDAuNjEsIDAuMzYsIDEpO1xuICBwYWRkaW5nLWlubGluZTogMXJlbTtcbn1cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSBhbmQgKHBvaW50ZXI6IGZpbmUpIHtcbiAgLmN1ZTpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLWluayk7XG4gIH1cbn1cbi5jdWUuaXMtc3BlbnQge1xuICBvcGFjaXR5OiAwO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG4uY3VlOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogNDJweDtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHZhcigtLWluay0zKSwgdHJhbnNwYXJlbnQpO1xuICBhbmltYXRpb246IGRyb3AgMi4ycyBjdWJpYy1iZXppZXIoMC4yMiwgMC42MSwgMC4zNiwgMSkgaW5maW5pdGU7XG59XG5AbWVkaWEgKG1heC13aWR0aDogNzgwcHgpIHtcbiAgLmN1ZSB7XG4gICAgZm9udC1zaXplOiAwLjU4cmVtO1xuICAgIGdhcDogMC4yNXJlbTtcbiAgfVxuICAuY3VlOjphZnRlciB7XG4gICAgaGVpZ2h0OiAyNnB4O1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZHJvcCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWSgwKTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3A7XG4gIH1cbiAgNDUlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWSgxKTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3A7XG4gIH1cbiAgNTUlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWSgxKTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b207XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVkoMCk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tO1xuICB9XG59XG4udGlja2VyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBoZWlnaHQ6IHZhcigtLXRpY2tlci1oKTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWxpbmUpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS10aWNrZXItZmlsbCk7XG4gIGJhY2tkcm9wLWZpbHRlcjogYmx1cigxNHB4KTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi50aWNrZXJfX3ZpZXdwb3J0IHtcbiAgZmxleDogMTtcbiAgbWluLXdpZHRoOiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBtYXNrLWltYWdlOiBub25lO1xuICAtd2Via2l0LW1hc2staW1hZ2U6IG5vbmU7XG59XG4udGlja2VyX190cmFjayB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiBtYXgtY29udGVudDtcbiAgZmxleDogbm9uZTtcbiAgYW5pbWF0aW9uOiBtYXJxdWVlIDQycyBsaW5lYXIgaW5maW5pdGU7XG59XG4udGlja2VyOmhvdmVyIC50aWNrZXJfX3RyYWNrIHtcbiAgYW5pbWF0aW9uLXBsYXktc3RhdGU6IHBhdXNlZDtcbn1cbi50aWNrZXJfX3NldCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXg6IG5vbmU7XG59XG4udGlja2VyX19pdGVtIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMnJlbTtcbiAgcGFkZGluZy1pbmxpbmU6IDAgMnJlbTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGZvbnQtc2l6ZTogY2xhbXAoMC41OTJyZW0sIDEuNDU4dncgLSAxLjIxNXB4LCAxLjJyZW0pO1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDc4MHB4KSB7XG4gIC50aWNrZXJfX2l0ZW0ge1xuICAgIGZvbnQtc2l6ZTogY2xhbXAoMC45NzVyZW0sIDIuNHZ3IC0gMnB4LCAxLjk3NXJlbSk7XG4gIH1cbn1cbi50aWNrZXJfX2l0ZW0ge1xuICBmb250LXdlaWdodDogOTAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgLXdlYmtpdC10ZXh0LXN0cm9rZTogMDtcbiAgdHJhbnNpdGlvbjogY29sb3IgdmFyKC0tZHVyLWZhc3QpIGN1YmljLWJlemllcigwLjIyLCAwLjYxLCAwLjM2LCAxKTtcbiAgY29sb3I6IHZhcigtLWluayk7XG59XG4udGlja2VyX19pdGVtOmhvdmVyIHtcbiAgY29sb3I6IHZhcigtLWFjY2VudCk7XG59XG4udGlja2VyX19pdGVtOm50aC1jaGlsZChldmVuKSB7XG4gIGNvbG9yOiB2YXIoLS1hY2NlbnQpO1xufVxuLnRpY2tlcl9faXRlbTpudGgtY2hpbGQoZXZlbik6aG92ZXIge1xuICBjb2xvcjogdmFyKC0taW5rKTtcbn1cbi50aWNrZXJfX2l0ZW0gLnRpY2tlcl9fc2VwIHtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmbGV4OiBub25lO1xuICBmb250LXdlaWdodDogNDAwO1xuICBjb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWluaykgMjUlLCB0cmFuc3BhcmVudCk7XG4gIC13ZWJraXQtdGV4dC1zdHJva2U6IDA7XG59XG4udGlja2VyLS1yZXZlcnNlIC50aWNrZXJfX3RyYWNrIHtcbiAgYW5pbWF0aW9uLWRpcmVjdGlvbjogcmV2ZXJzZTtcbn1cblxuQGtleWZyYW1lcyBtYXJxdWVlIHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB9XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIH1cbn1cbi5pbmRleCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWxpbmUpO1xuICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC44cyBsaW5lYXIgMC4xcztcbn1cbi5pbmRleDpoYXMoPiAuZXA6Zmlyc3Qtb2YtdHlwZS5pcy1vbikge1xuICBib3JkZXItdG9wLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5pbmRleCB7XG4gIC0tZXAtdzogY2xhbXAoMjMycHgsIDIzLjR2dywgMzIwcHgpO1xufVxuXG4uZXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byBtaW5tYXgoMCwgMWZyKSBhdXRvIGF1dG87XG4gIGdyaWQtdGVtcGxhdGUtcm93czogYXV0byBhdXRvIGF1dG87XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGNvbHVtbi1nYXA6IGNsYW1wKDEuMjVyZW0sIDIuNnZ3LCAyLjVyZW0pO1xuICByb3ctZ2FwOiAwO1xuICBwYWRkaW5nLWJsb2NrOiBjbGFtcCgxLjVyZW0sIDIuNnZ3LCAyLjVyZW0pO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tbGluZSk7XG4gIGlzb2xhdGlvbjogaXNvbGF0ZTtcbiAgei1pbmRleDogMTtcbiAgdHJhbnNpdGlvbjogY29sb3IgdmFyKC0tZHVyLWZhc3QpIGN1YmljLWJlemllcigwLjIyLCAwLjYxLCAwLjM2LCAxKSwgYm9yZGVyLWNvbG9yIDAuOHMgbGluZWFyIDAuMXM7XG59XG5AbWVkaWEgKG1heC13aWR0aDogNzgwcHgpIHtcbiAgLmVwIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gbWlubWF4KDAsIDFmcik7XG4gICAgY29sdW1uLWdhcDogMXJlbTtcbiAgfVxufVxuLmVwOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGluc2V0OiAwIGNhbGModmFyKC0tZ3V0dGVyKSAqIC0wLjUpO1xuICB6LWluZGV4OiAtMTtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWNjZW50LWRlZXApO1xuICB0cmFuc2Zvcm06IHNjYWxlWSgwKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC40cyBjdWJpYy1iZXppZXIoMC4xNiwgMSwgMC4zLCAxKTtcbn1cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSBhbmQgKHBvaW50ZXI6IGZpbmUpIHtcbiAgLmVwOmhvdmVyIHtcbiAgICBjb2xvcjogdmFyKC0tb24tYWNjZW50KTtcbiAgfVxuICAuZXA6aG92ZXI6OmJlZm9yZSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVkoMSk7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA3ODBweCkge1xuICAuZXA6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgfVxufVxuLmVwLmlzLW9uIC5lcF9fdGh1bWIge1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuOTQpO1xufVxuLmVwLmlzLW9uIC5lcF9fZ28ge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xufVxuLmVwLmlzLW9uLCAuZXA6aGFzKCsgLmVwLmlzLW9uKSB7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLmVwX19ubyB7XG4gIGdyaWQtY29sdW1uOiAxO1xuICBncmlkLXJvdzogMS9zcGFuIDM7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm8pO1xuICBmb250LXNpemU6IDAuNzhyZW07XG4gIGNvbG9yOiB2YXIoLS1pbmstMyk7XG4gIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7XG4gIHRyYW5zaXRpb246IGNvbG9yIHZhcigtLWR1ci1mYXN0KSBjdWJpYy1iZXppZXIoMC4yMiwgMC42MSwgMC4zNiwgMSk7XG59XG5AbWVkaWEgKGhvdmVyOiBob3ZlcikgYW5kIChwb2ludGVyOiBmaW5lKSB7XG4gIC5lcDpob3ZlciAuZXBfX25vIHtcbiAgICBjb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW9uLWFjY2VudCkgODIlLCB0cmFuc3BhcmVudCk7XG4gIH1cbn1cbi5lcF9fdGh1bWIge1xuICBncmlkLWNvbHVtbjogMTtcbiAgZ3JpZC1yb3c6IDEvc3BhbiAzO1xuICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gIHdpZHRoOiB2YXIoLS1lcC13KTtcbiAgYXNwZWN0LXJhdGlvOiAxNi85O1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy0zKTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNDJzIGN1YmljLWJlemllcigwLjE2LCAxLCAwLjMsIDEpO1xufVxuLmVwX190aHVtYiBpbWcge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKSB0cmFuc2xhdGVaKDApO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjZzIGN1YmljLWJlemllcigwLjIyLCAwLjYxLCAwLjM2LCAxKSwgb3BhY2l0eSAwLjRzIGN1YmljLWJlemllcigwLjIyLCAwLjYxLCAwLjM2LCAxKSwgZmlsdGVyIDAuNHMgY3ViaWMtYmV6aWVyKDAuMjIsIDAuNjEsIDAuMzYsIDEpICFpbXBvcnRhbnQ7XG59XG5AbWVkaWEgKGhvdmVyOiBob3ZlcikgYW5kIChwb2ludGVyOiBmaW5lKSB7XG4gIC5lcDpob3ZlciAuZXBfX3RodW1iIGltZyB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA2KSB0cmFuc2xhdGVaKDApO1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogNzgwcHgpIHtcbiAgLmVwX190aHVtYiB7XG4gICAgd2lkdGg6IG1pbih2YXIoLS1lcC13KSwgNDB2dyk7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA1MjBweCkge1xuICAuZXBfX3RodW1iIHtcbiAgICB3aWR0aDogMzh2dztcbiAgfVxufVxuLmVwX19lcCB7XG4gIGdyaWQtY29sdW1uOiAyO1xuICBncmlkLXJvdzogMTtcbiAgYWxpZ24tc2VsZjogZW5kO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbiAgZm9udC1zaXplOiBjbGFtcCgwLjlyZW0sIDEuMXZ3LCAxLjE1cmVtKTtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zO1xuICBjb2xvcjogdmFyKC0tYWNjZW50LWluayk7XG4gIG1hcmdpbi1ib3R0b206IDAuM2VtO1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDc4MHB4KSB7XG4gIC5lcF9fZXAge1xuICAgIGZvbnQtc2l6ZTogMC44NHJlbTtcbiAgfVxufVxuQG1lZGlhIChob3ZlcjogaG92ZXIpIGFuZCAocG9pbnRlcjogZmluZSkge1xuICAuZXA6aG92ZXIgLmVwX19lcCB7XG4gICAgY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1vbi1hY2NlbnQpIDg4JSwgdHJhbnNwYXJlbnQpO1xuICB9XG59XG4uZXBfX3RpdGxlIHtcbiAgZ3JpZC1jb2x1bW46IDI7XG4gIGdyaWQtcm93OiAyO1xuICBhbGlnbi1zZWxmOiBzdGFydDtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGZvbnQtc2l6ZTogY2xhbXAoMjBweCwgMTMuMzMzMzMzMzMzM3B4ICsgMS42NjY2NjY2NjY3dncsIDQwcHgpO1xuICBmb250LXdlaWdodDogOTAwO1xuICBsaW5lLWhlaWdodDogMS4wNTtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAzZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5AbWVkaWEgKG1heC13aWR0aDogNzgwcHgpIHtcbiAgLmVwX190aXRsZSB7XG4gICAgZm9udC1zaXplOiBjbGFtcCgxLjAycmVtLCAzLjR2dywgMS4zNXJlbSk7XG4gICAgbGluZS1oZWlnaHQ6IDEuMDU7XG4gIH1cbn1cbi5lcF9fZXhjZXJwdCB7XG4gIGdyaWQtY29sdW1uOiAyO1xuICBncmlkLXJvdzogMztcbiAgYWxpZ24tc2VsZjogc3RhcnQ7XG4gIG1heC13aWR0aDogNjhjaDtcbiAgbWFyZ2luLXRvcDogMC41ZW07XG4gIGZvbnQtc2l6ZTogMC45NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgY29sb3I6IHZhcigtLWluay0yKTtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIC13ZWJraXQtbGluZS1jbGFtcDogMjtcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSBhbmQgKHBvaW50ZXI6IGZpbmUpIHtcbiAgLmVwOmhvdmVyIC5lcF9fZXhjZXJwdCB7XG4gICAgY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1vbi1hY2NlbnQpIDgyJSwgdHJhbnNwYXJlbnQpO1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogNzgwcHgpIHtcbiAgLmVwX19leGNlcnB0IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4uZXBfX2VwLCAuZXBfX3RpdGxlLCAuZXBfX2V4Y2VycHQge1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC40cyBjdWJpYy1iZXppZXIoMC4xNiwgMSwgMC4zLCAxKSwgY29sb3IgdmFyKC0tZHVyLWZhc3QpIGN1YmljLWJlemllcigwLjIyLCAwLjYxLCAwLjM2LCAxKTtcbn1cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSBhbmQgKHBvaW50ZXI6IGZpbmUpIHtcbiAgLmVwOmhvdmVyIC5lcF9fZXAsIC5lcDpob3ZlciAuZXBfX3RpdGxlLCAuZXA6aG92ZXIgLmVwX19leGNlcnB0IHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2xhbXAoMC41cmVtLCAxLjV2dywgMS41cmVtKSk7XG4gIH1cbn1cbi5lcF9fbWV0YSB7XG4gIGdyaWQtY29sdW1uOiAzO1xuICBncmlkLXJvdzogMS9zcGFuIDM7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm8pO1xuICBmb250LXNpemU6IDAuNzhyZW07XG4gIGxldHRlci1zcGFjaW5nOiAwLjEyZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGNvbG9yOiB2YXIoLS1pbmstMyk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHRyYW5zaXRpb246IGNvbG9yIHZhcigtLWR1ci1mYXN0KSBjdWJpYy1iZXppZXIoMC4yMiwgMC42MSwgMC4zNiwgMSk7XG59XG5AbWVkaWEgKGhvdmVyOiBob3ZlcikgYW5kIChwb2ludGVyOiBmaW5lKSB7XG4gIC5lcDpob3ZlciAuZXBfX21ldGEge1xuICAgIGNvbG9yOiB2YXIoLS1vbi1hY2NlbnQpO1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogNzgwcHgpIHtcbiAgLmVwX19tZXRhIHtcbiAgICBncmlkLWNvbHVtbjogMjtcbiAgICBncmlkLXJvdzogMztcbiAgICBhbGlnbi1zZWxmOiBzdGFydDtcbiAgICBtYXJnaW4tdG9wOiAwLjRlbTtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1ib2R5KTtcbiAgICBmb250LXNpemU6IDAuODZyZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogMDtcbiAgICBsaW5lLWhlaWdodDogMS40NTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgIGNvbG9yOiB2YXIoLS1pbmstMik7XG4gIH1cbn1cbi5lcF9fZ28ge1xuICBncmlkLWNvbHVtbjogNDtcbiAgZ3JpZC1yb3c6IDEvc3BhbiAzO1xuICBkaXNwbGF5OiBncmlkO1xuICBwbGFjZS1pdGVtczogY2VudGVyO1xuICB3aWR0aDogNDRweDtcbiAgaGVpZ2h0OiA0NHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1saW5lLTIpO1xuICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS1kdXItZmFzdCkgY3ViaWMtYmV6aWVyKDAuMjIsIDAuNjEsIDAuMzYsIDEpLCBib3JkZXItY29sb3IgdmFyKC0tZHVyLWZhc3QpIGN1YmljLWJlemllcigwLjIyLCAwLjYxLCAwLjM2LCAxKSwgdHJhbnNmb3JtIDAuNHMgY3ViaWMtYmV6aWVyKDAuMTYsIDEsIDAuMywgMSk7XG59XG4uZXBfX2dvIHN2ZyB7XG4gIHdpZHRoOiAxNXB4O1xuICBoZWlnaHQ6IDE1cHg7XG59XG5AbWVkaWEgKGhvdmVyOiBob3ZlcikgYW5kIChwb2ludGVyOiBmaW5lKSB7XG4gIC5lcDpob3ZlciAuZXBfX2dvIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1vbi1hY2NlbnQpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tb24tYWNjZW50KTtcbiAgICBjb2xvcjogdmFyKC0tYWNjZW50LWluayk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDc4MHB4KSB7XG4gIC5lcF9fZ28ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLmZsb3ctbWFya2VyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IGNhbGModmFyKC0tZ3V0dGVyKSAqIC0wLjM1KTtcbiAgcmlnaHQ6IGNhbGModmFyKC0tZ3V0dGVyKSAqIC0wLjM1KTtcbiAgei1pbmRleDogMDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgaGVpZ2h0OiB2YXIoLS1tay1oLCAwcHgpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkodmFyKC0tbWsteSwgMHB4KSk7XG4gIGJvcmRlcjogM3B4IHNvbGlkIHZhcigtLWFjY2VudCk7XG4gIGJvcmRlci1yYWRpdXM6IDE0cHg7XG4gIG9wYWNpdHk6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC40MnMgY3ViaWMtYmV6aWVyKDAuMTYsIDEsIDAuMywgMSksIGhlaWdodCAwLjQycyBjdWJpYy1iZXppZXIoMC4xNiwgMSwgMC4zLCAxKSwgb3BhY2l0eSAwLjNzIGN1YmljLWJlemllcigwLjIyLCAwLjYxLCAwLjM2LCAxKTtcbn1cbi5pbmRleC5pcy1mbG93aW5nIC5mbG93LW1hcmtlciB7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5zaG9ydHMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uc2hvcnRzX19yYWlsIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiBjbGFtcCgwLjc1cmVtLCAxLjR2dywgMS4yNXJlbSk7XG4gIG92ZXJmbG93LXg6IGF1dG87XG4gIG92ZXJzY3JvbGwtYmVoYXZpb3IteDogY29udGFpbjtcbiAgc2Nyb2xsLXNuYXAtdHlwZTogeCBtYW5kYXRvcnk7XG4gIHNjcm9sbC1iZWhhdmlvcjogc21vb3RoO1xuICBwYWRkaW5nLXRvcDogMjhweDtcbiAgcGFkZGluZy1ib3R0b206IDU2cHg7XG4gIG1hcmdpbi10b3A6IC0yOHB4O1xuICBtYXJnaW4tYm90dG9tOiAtNTZweDtcbiAgcGFkZGluZy1sZWZ0OiBtYXgodmFyKC0tZ3V0dGVyKSwgKDEwMHZ3IC0gdmFyKC0tbWF4dykpIC8gMik7XG4gIHNjcm9sbC1wYWRkaW5nLWxlZnQ6IG1heCh2YXIoLS1ndXR0ZXIpLCAoMTAwdncgLSB2YXIoLS1tYXh3KSkgLyAyKTtcbiAgcGFkZGluZy1yaWdodDogdmFyKC0tZ3V0dGVyKTtcbiAgc2Nyb2xsYmFyLXdpZHRoOiBub25lO1xuICAtbXMtb3ZlcmZsb3ctc3R5bGU6IG5vbmU7XG59XG4uc2hvcnRzX19yYWlsOjotd2Via2l0LXNjcm9sbGJhciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4uc2hvcnRzX19yYWlsLmlzLWRyYWdnaW5nIHtcbiAgc2Nyb2xsLWJlaGF2aW9yOiBhdXRvO1xuICBzY3JvbGwtc25hcC10eXBlOiBub25lO1xuICBjdXJzb3I6IGdyYWJiaW5nO1xufVxuLnNob3J0c19fcmFpbC5pcy1kcmFnZ2luZyAuc2hvcnQge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLnNob3J0cy1ncmlkIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maWxsLCBtaW5tYXgobWluKDEwMCUsIDIwMHB4KSwgMWZyKSk7XG4gIGdhcDogY2xhbXAoMXJlbSwgMnZ3LCAycmVtKTtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA1MjBweCkge1xuICAuc2hvcnRzLWdyaWQge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIG1pbm1heCgwLCAxZnIpKTtcbiAgICBnYXA6IDAuNzVyZW07XG4gIH1cbn1cbi5zaG9ydHMtZ3JpZCAuc2hvcnQge1xuICB3aWR0aDogYXV0bztcbiAgc2Nyb2xsLXNuYXAtYWxpZ246IG5vbmU7XG59XG5cbi5zaG9ydCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxleDogbm9uZTtcbiAgd2lkdGg6IGNsYW1wKDE4MHB4LCAxOXZ3LCAyNjBweCk7XG4gIHNjcm9sbC1zbmFwLWFsaWduOiBzdGFydDtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA3ODBweCkge1xuICAuc2hvcnQge1xuICAgIHdpZHRoOiA1NnZ3O1xuICB9XG59XG4uc2hvcnQge1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy0zKTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNDVzIGN1YmljLWJlemllcigwLjE2LCAxLCAwLjMsIDEpLCBib3gtc2hhZG93IDAuNDVzIGN1YmljLWJlemllcigwLjE2LCAxLCAwLjMsIDEpO1xufVxuLnNob3J0X19tZWRpYSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYXNwZWN0LXJhdGlvOiAyLzM7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4uc2hvcnRfX21lZGlhIGltZyB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpIHRyYW5zbGF0ZVooMCk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNnMgY3ViaWMtYmV6aWVyKDAuMjIsIDAuNjEsIDAuMzYsIDEpLCBvcGFjaXR5IDAuNHMgY3ViaWMtYmV6aWVyKDAuMjIsIDAuNjEsIDAuMzYsIDEpLCBmaWx0ZXIgMC40cyBjdWJpYy1iZXppZXIoMC4yMiwgMC42MSwgMC4zNiwgMSkgIWltcG9ydGFudDtcbn1cbi5zaG9ydF9fbWVkaWE6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBpbnNldDogNDAlIDAgMCAwO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodHJhbnNwYXJlbnQsIHJnYmEoMCwgMCwgMCwgMC43OCkpO1xufVxuQG1lZGlhIChob3ZlcjogaG92ZXIpIGFuZCAocG9pbnRlcjogZmluZSkge1xuICAuc2hvcnQ6aG92ZXIge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNnB4KTtcbiAgICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctY2FyZCk7XG4gIH1cbiAgLnNob3J0OmhvdmVyIC5zaG9ydF9fbWVkaWEgaW1nIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDcpIHRyYW5zbGF0ZVooMCk7XG4gIH1cbiAgLnNob3J0OmhvdmVyIC5zaG9ydF9fcGxheSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgc2NhbGUoMSk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDc4MHB4KSB7XG4gIC5zaG9ydCB7XG4gICAgc2Nyb2xsLXNuYXAtc3RvcDogYWx3YXlzO1xuICB9XG4gIC5zaG9ydDo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGluc2V0OiAwO1xuICAgIHotaW5kZXg6IDM7XG4gICAgYm9yZGVyOiAzcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogaW5oZXJpdDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgdmFyKC0tZHVyLWZhc3QpIGN1YmljLWJlemllcigwLjIyLCAwLjYxLCAwLjM2LCAxKTtcbiAgfVxuICAuc2hvcnQuaXMtYWN0aXZlOjphZnRlciB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1hY2NlbnQpO1xuICB9XG59XG4uc2hvcnRfX3BsYXkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDUwJTtcbiAgdG9wOiA1MCU7XG4gIHotaW5kZXg6IDI7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XG4gIHdpZHRoOiA1NHB4O1xuICBoZWlnaHQ6IDU0cHg7XG4gIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hY2NlbnQpO1xuICBjb2xvcjogdmFyKC0tb24tYWNjZW50KTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgc2NhbGUoMC42KTtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNHMgY3ViaWMtYmV6aWVyKDAuMTYsIDEsIDAuMywgMSksIG9wYWNpdHkgMC4zcyBjdWJpYy1iZXppZXIoMC4yMiwgMC42MSwgMC4zNiwgMSk7XG59XG4uc2hvcnRfX3BsYXkgc3ZnIHtcbiAgd2lkdGg6IDE2cHg7XG4gIGhlaWdodDogMTZweDtcbiAgbWFyZ2luLWxlZnQ6IDJweDtcbn1cbi5zaG9ydF9fYm9keSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaW5zZXQ6IGF1dG8gMCAwIDA7XG4gIHotaW5kZXg6IDI7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdhcDogMnB4O1xufVxuLnNob3J0X190aXRsZSB7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuICBmb250LXNpemU6IDAuOTVyZW07XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjA1O1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDE1ZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGNvbG9yOiAjZmZmO1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgLXdlYmtpdC1saW5lLWNsYW1wOiAyO1xuICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLnNob3J0X19tZXRhIHtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGZvbnQtc2l6ZTogY2xhbXAoMC45cmVtLCAxLjF2dywgMS4xNXJlbSk7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcbiAganVzdGlmeS1zZWxmOiBzdGFydDtcbiAgcGFkZGluZzogMC4xNmVtIDAuNjJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC4zZW07XG4gIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hY2NlbnQpO1xuICBjb2xvcjogI2ZmZjtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA3ODBweCkge1xuICAuc2hvcnRfX21ldGEge1xuICAgIHBhZGRpbmctaW5saW5lOiBjYWxjKDAuNjJlbSAtIDJweCk7XG4gIH1cbn1cblxuLnJhaWwtbmF2IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiAwLjVyZW07XG59XG5AbWVkaWEgKGhvdmVyOiBub25lKSB7XG4gIC5yYWlsLW5hdiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuLnJhaWwtbmF2IGJ1dHRvbiB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XG4gIHdpZHRoOiA0NnB4O1xuICBoZWlnaHQ6IDQ2cHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpbmUpO1xuICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgY29sb3I6IHZhcigtLWluayk7XG4gIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciB2YXIoLS1kdXItZmFzdCkgY3ViaWMtYmV6aWVyKDAuMjIsIDAuNjEsIDAuMzYsIDEpLCBjb2xvciB2YXIoLS1kdXItZmFzdCkgY3ViaWMtYmV6aWVyKDAuMjIsIDAuNjEsIDAuMzYsIDEpLCBvcGFjaXR5IHZhcigtLWR1ci1mYXN0KSBjdWJpYy1iZXppZXIoMC4yMiwgMC42MSwgMC4zNiwgMSk7XG59XG4ucmFpbC1uYXYgYnV0dG9uIHN2ZyB7XG4gIHdpZHRoOiAxNXB4O1xuICBoZWlnaHQ6IDE1cHg7XG59XG4ucmFpbC1uYXYgYnV0dG9uOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1hY2NlbnQpO1xuICBjb2xvcjogdmFyKC0tYWNjZW50LWluayk7XG59XG4ucmFpbC1uYXYgYnV0dG9uOmRpc2FibGVkIHtcbiAgb3BhY2l0eTogMC4zO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG4ucmFpbC1uYXZfX3ByZXYgc3ZnIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbn1cblxuLmxpZ2h0Ym94IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBpbnNldDogMDtcbiAgei1pbmRleDogMjAwO1xuICBkaXNwbGF5OiBncmlkO1xuICBwbGFjZS1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiBjbGFtcCgxcmVtLCA0dncsIDNyZW0pO1xuICBvdmVyc2Nyb2xsLWJlaGF2aW9yOiBjb250YWluO1xuICBvcGFjaXR5OiAwO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgY3ViaWMtYmV6aWVyKDAuMjIsIDAuNjEsIDAuMzYsIDEpLCB2aXNpYmlsaXR5IDAuM3M7XG59XG4ubGlnaHRib3guaXMtb3BlbiB7XG4gIG9wYWNpdHk6IDE7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xufVxuLmxpZ2h0Ym94X19zY3JpbSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaW5zZXQ6IDA7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC45Mik7XG59XG4ubGlnaHRib3hfX2lubmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuICB3aWR0aDogbWluKDEwMCUsIDExMDBweCk7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGp1c3RpZnktaXRlbXM6IGNlbnRlcjtcbn1cbi5saWdodGJveF9fc3RhZ2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGp1c3RpZnktaXRlbXM6IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG59XG4ubGlnaHRib3hfX21lZGlhIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiBtaW4oNzhzdmgsIDE1Ni40NDQ0NDQ0NDQ0dncpO1xuICBhc3BlY3QtcmF0aW86IDkvMTY7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYmFja2dyb3VuZDogIzAwMDtcbiAgYm94LXNoYWRvdzogMCA0MHB4IDEwMHB4IHJnYmEoMCwgMCwgMCwgMC42KTtcbn1cbkBtZWRpYSAobWF4LWFzcGVjdC1yYXRpbzogMS8xKSBhbmQgKG1pbi13aWR0aDogNzgxcHgpIHtcbiAgLmxpZ2h0Ym94X19tZWRpYSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHdpZHRoOiBtaW4oMTAwJSwgMzQuODc1c3ZoKTtcbiAgfVxufVxuLmxpZ2h0Ym94X19mcmFtZSwgLmxpZ2h0Ym94X19wb3N0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYm9yZGVyOiAwO1xufVxuLmxpZ2h0Ym94X19wb3N0ZXIge1xuICBvYmplY3QtZml0OiBjb3Zlcjtcbn1cbi5saWdodGJveF9fYnRuIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAyO1xuICBkaXNwbGF5OiBncmlkO1xuICBwbGFjZS1pdGVtczogY2VudGVyO1xuICB3aWR0aDogNTJweDtcbiAgaGVpZ2h0OiA1MnB4O1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjUpO1xuICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjQpO1xuICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoOHB4KTtcbiAgY29sb3I6ICNmZmY7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tZHVyLWZhc3QpIGN1YmljLWJlemllcigwLjIyLCAwLjYxLCAwLjM2LCAxKSwgYm9yZGVyLWNvbG9yIHZhcigtLWR1ci1mYXN0KSBjdWJpYy1iZXppZXIoMC4yMiwgMC42MSwgMC4zNiwgMSksIG9wYWNpdHkgdmFyKC0tZHVyLWZhc3QpIGN1YmljLWJlemllcigwLjIyLCAwLjYxLCAwLjM2LCAxKTtcbn1cbi5saWdodGJveF9fYnRuIHN2ZyB7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDIwcHg7XG59XG5AbWVkaWEgKGhvdmVyOiBob3ZlcikgYW5kIChwb2ludGVyOiBmaW5lKSB7XG4gIC5saWdodGJveF9fYnRuOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1hY2NlbnQpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYWNjZW50KTtcbiAgfVxufVxuLmxpZ2h0Ym94X19idG46YWN0aXZlOm5vdCg6ZGlzYWJsZWQpIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWNjZW50KTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1hY2NlbnQpO1xufVxuLmxpZ2h0Ym94X19idG46ZGlzYWJsZWQge1xuICBvcGFjaXR5OiAwLjI1O1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG4ubGlnaHRib3hfX2J0bi0tcHJldjpkaXNhYmxlZCwgLmxpZ2h0Ym94X19idG4tLW5leHQ6ZGlzYWJsZWQge1xuICBkaXNwbGF5OiBub25lO1xufVxuLmxpZ2h0Ym94X19idG4tLWNsb3NlIHtcbiAgdG9wOiBjbGFtcCgxcmVtLCAzdncsIDJyZW0pO1xuICByaWdodDogY2xhbXAoMXJlbSwgM3Z3LCAycmVtKTtcbn1cbi5saWdodGJveF9fYnRuLS1jbG9zZTpmb2N1cy12aXNpYmxlIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cbkBtZWRpYSAoaG92ZXI6IG5vbmUpIHtcbiAgLmxpZ2h0Ym94X19idG46Zm9jdXMtdmlzaWJsZSB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgfVxufVxuLmxpZ2h0Ym94X19idG4tLXByZXYge1xuICBsZWZ0OiBjbGFtcCgwLjVyZW0sIDJ2dywgMnJlbSk7XG4gIHRvcDogNTAlO1xuICB0cmFuc2xhdGU6IDAgLTUwJTtcbn1cbi5saWdodGJveF9fYnRuLS1uZXh0IHtcbiAgcmlnaHQ6IGNsYW1wKDAuNXJlbSwgMnZ3LCAycmVtKTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zbGF0ZTogMCAtNTAlO1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDc4MHB4KSB7XG4gIC5saWdodGJveF9fYnRuLS1wcmV2LCAubGlnaHRib3hfX2J0bi0tbmV4dCB7XG4gICAgLS1oYWxmOiBjbGFtcCgzOHB4LCA0LjR2dywgNTBweCk7XG4gICAgd2lkdGg6IHZhcigtLWhhbGYpO1xuICAgIGhlaWdodDogY2FsYyh2YXIoLS1oYWxmKSAqIDIpO1xuICB9XG4gIC5saWdodGJveF9fYnRuLS1wcmV2IHN2ZywgLmxpZ2h0Ym94X19idG4tLW5leHQgc3ZnIHtcbiAgICB3aWR0aDogMjFweDtcbiAgICBoZWlnaHQ6IDIxcHg7XG4gIH1cbiAgLmxpZ2h0Ym94X19idG4tLXByZXYge1xuICAgIGxlZnQ6IDA7XG4gICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogMCB2YXIoLS1oYWxmKSB2YXIoLS1oYWxmKSAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDhweDtcbiAgfVxuICAubGlnaHRib3hfX2J0bi0tbmV4dCB7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWhhbGYpIDAgMCB2YXIoLS1oYWxmKTtcbiAgICBwYWRkaW5nLWxlZnQ6IDhweDtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDc4MHB4KSB7XG4gIC5saWdodGJveCB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuICAubGlnaHRib3ggLmxpZ2h0Ym94X19pbm5lcixcbiAgLmxpZ2h0Ym94IC5saWdodGJveF9fc3RhZ2Uge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC5saWdodGJveCAubGlnaHRib3hfX21lZGlhIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMHN2aDtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgYXNwZWN0LXJhdGlvOiBhdXRvO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgfVxuICAubGlnaHRib3ggLmxpZ2h0Ym94X19idG4tLWNsb3NlIHtcbiAgICB0b3A6IG1heCgxcmVtLCBlbnYoc2FmZS1hcmVhLWluc2V0LXRvcCkpO1xuICAgIHJpZ2h0OiBtYXgoMXJlbSwgZW52KHNhZmUtYXJlYS1pbnNldC1yaWdodCkpO1xuICB9XG59XG5cbmJvZHkuaXMtbG9ja2VkLWZpeGVkIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG92ZXJzY3JvbGwtYmVoYXZpb3I6IG5vbmU7XG59XG5cbi5lcC1zaW5nbGVfX2hlYWQge1xuICBtYXJnaW4tYm90dG9tOiBjbGFtcCgxLjI1cmVtLCAyLjV2dywgMnJlbSk7XG59XG4uZXAtc2luZ2xlX19oZWFkIC5leWVicm93LS1wb3N0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuICBmb250LXNpemU6IGNsYW1wKDAuOXJlbSwgMS4xdncsIDEuMTVyZW0pO1xuICBmb250LXdlaWdodDogOTAwO1xuICBsaW5lLWhlaWdodDogMTtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7XG4gIGZvbnQtc2l6ZTogY2xhbXAoMXJlbSwgMS4zdncsIDEuM3JlbSk7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtO1xuICBjb2xvcjogdmFyKC0tYWNjZW50LWluayk7XG59XG4uZXAtc2luZ2xlX19oZWFkLmFydGljbGVfX2hlYWQge1xuICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG59XG4uZXAtc2luZ2xlX19kYXRlIHtcbiAgbWFyZ2luOiAwLjc1cmVtIDAgMDtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtYm9keSk7XG4gIGZvbnQtc2l6ZTogMS4wNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6IHZhcigtLWluay0yKTtcbn1cbi5lcC1zaW5nbGVfX3RpdGxlIHtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGZvbnQtc2l6ZTogY2xhbXAoMzBweCwgMTkuMzMzMzMzMzMzM3B4ICsgMi42NjY2NjY2NjY3dncsIDYycHgpO1xuICBmb250LXdlaWdodDogOTAwO1xuICBsaW5lLWhlaWdodDogMS4wMjtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAzZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIG1hcmdpbi10b3A6IDAuNzVyZW07XG4gIG92ZXJmbG93LXdyYXA6IGFueXdoZXJlO1xufVxuLmVwLXNpbmdsZV9fcGxheWVyLCAuZXAtc2luZ2xlX19hcnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGFzcGVjdC1yYXRpbzogMTYvOTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWxnKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYmFja2dyb3VuZDogdmFyKC0td2FzaCk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpbmUpO1xuICBtYXJnaW4tYm90dG9tOiBjbGFtcCgxLjVyZW0sIDN2dywgMi41cmVtKTtcbn1cbi5lcC1zaW5nbGVfX3BsYXllciBpZnJhbWUsXG4uZXAtc2luZ2xlX19wbGF5ZXIgaW1nLCAuZXAtc2luZ2xlX19hcnQgaWZyYW1lLFxuLmVwLXNpbmdsZV9fYXJ0IGltZyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaW5zZXQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJvcmRlcjogMDtcbn1cbi5lcC1zaW5nbGVfX3BsYXllciBpbWcsIC5lcC1zaW5nbGVfX2FydCBpbWcge1xuICBvYmplY3QtZml0OiBjb3Zlcjtcbn1cbi5lcC1zaW5nbGVfX2F1ZGlvIHtcbiAgbWFyZ2luLWJvdHRvbTogY2xhbXAoMS41cmVtLCAzdncsIDIuNXJlbSk7XG59XG4uZXAtc2luZ2xlX19hdWRpbyBpZnJhbWUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDE1MHB4O1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XG59XG4uZXAtc2luZ2xlX19iYWNrIHtcbiAgbWFyZ2luLXRvcDogY2xhbXAoMnJlbSwgNXZ3LCA0cmVtKTtcbn1cblxuLnNpbmdsZS1tZWRpYSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYXNwZWN0LXJhdGlvOiAxNi85O1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbGcpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS13YXNoKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbGluZSk7XG4gIG1hcmdpbi1ibG9jazogY2xhbXAoMS41cmVtLCAzdncsIDIuNXJlbSk7XG59XG4uc2luZ2xlLW1lZGlhIGlmcmFtZSxcbi5zaW5nbGUtbWVkaWEgaW1nIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBpbnNldDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYm9yZGVyOiAwO1xufVxuLnNpbmdsZS1tZWRpYSBpbWcge1xuICBvYmplY3QtZml0OiBjb3Zlcjtcbn1cbi5zaW5nbGUtbWVkaWEtLXBvcnRyYWl0IHtcbiAgYXNwZWN0LXJhdGlvOiA5LzE2O1xuICBtYXgtd2lkdGg6IG1pbigxMDAlLCAzODBweCk7XG4gIG1hcmdpbi1pbmxpbmU6IGF1dG87XG59XG5cbi5hcnRpY2xlX19tZWRpYSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYXNwZWN0LXJhdGlvOiAxNi85O1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbGcpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS13YXNoKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbGluZSk7XG4gIG1hcmdpbi1ib3R0b206IDAuNzVyZW07XG59XG4uYXJ0aWNsZV9fbWVkaWEgaW1nIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBpbnNldDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG59XG4uYXJ0aWNsZV9fY3JlZGl0IHtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ubyk7XG4gIGZvbnQtc2l6ZTogMC42NnJlbTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMTJlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6IHZhcigtLWluay0zKTtcbiAgbWFyZ2luLWJvdHRvbTogY2xhbXAoMS41cmVtLCAzdncsIDIuNXJlbSk7XG59XG4uYXJ0aWNsZV9fdGl0bGUge1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbiAgZm9udC1zaXplOiBjbGFtcCgyOHB4LCAxOS4zMzMzMzMzMzMzcHggKyAyLjE2NjY2NjY2Njd2dywgNTRweCk7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjA0O1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbiAgbWFyZ2luLXRvcDogMC43NXJlbTtcbiAgb3ZlcmZsb3ctd3JhcDogYW55d2hlcmU7XG59XG4uYXJ0aWNsZV9fYnkge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gMWZyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDAuNzVyZW07XG4gIG1hcmdpbi1ibG9jazogY2xhbXAoMS41cmVtLCAzdncsIDIuNXJlbSk7XG4gIHBhZGRpbmctYm90dG9tOiBjbGFtcCgxLjVyZW0sIDN2dywgMi41cmVtKTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWxpbmUpO1xufVxuLmFydGljbGVfX2F2YXRhciB7XG4gIHdpZHRoOiA0NnB4O1xuICBoZWlnaHQ6IDQ2cHg7XG4gIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbGluZS0yKTtcbn1cbi5hcnRpY2xlX19hdXRob3Ige1xuICBkaXNwbGF5OiBncmlkO1xuICBnYXA6IDJweDtcbiAgbWluLXdpZHRoOiAwO1xufVxuLmFydGljbGVfX25hbWUge1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDAuOTVyZW07XG4gIGNvbG9yOiB2YXIoLS1pbmspO1xufVxuLmFydGljbGVfX2hhbmRsZSB7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm8pO1xuICBmb250LXNpemU6IDAuN3JlbTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDhlbTtcbiAgY29sb3I6IHZhcigtLWluay0zKTtcbiAgdHJhbnNpdGlvbjogY29sb3IgdmFyKC0tZHVyLWZhc3QpIGN1YmljLWJlemllcigwLjIyLCAwLjYxLCAwLjM2LCAxKTtcbn1cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSBhbmQgKHBvaW50ZXI6IGZpbmUpIHtcbiAgLmFydGljbGVfX2hhbmRsZTpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLWFjY2VudC1pbmspO1xuICB9XG59XG4uYXJ0aWNsZV9fYmFjayB7XG4gIG1hcmdpbi10b3A6IGNsYW1wKDJyZW0sIDV2dywgNHJlbSk7XG59XG5cbi5wbmF2IHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuICBnYXA6IDAuNzVyZW07XG4gIG1hcmdpbi10b3A6IGNsYW1wKDJyZW0sIDR2dywgM3JlbSk7XG4gIHBhZGRpbmctdG9wOiBjbGFtcCgycmVtLCA0dncsIDNyZW0pO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tbGluZSk7XG59XG4udGFncyArIC5wbmF2IHtcbiAgbWFyZ2luLXRvcDogMS41cmVtO1xufVxuLnBuYXZfX3Nsb3Qge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gbWlubWF4KDAsIDFmcik7XG4gIGdyaWQtdGVtcGxhdGUtcm93czogYXV0byBhdXRvO1xuICBjb2x1bW4tZ2FwOiAxcmVtO1xuICByb3ctZ2FwOiAwLjI1cmVtO1xuICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpbmUpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xuICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgdmFyKC0tZHVyLWZhc3QpIGN1YmljLWJlemllcigwLjIyLCAwLjYxLCAwLjM2LCAxKSwgdHJhbnNmb3JtIHZhcigtLWR1ci1mYXN0KSBjdWJpYy1iZXppZXIoMC4yMiwgMC42MSwgMC4zNiwgMSk7XG59XG4ucG5hdl9fc2xvdDpub3QoW2hyZWZdKSB7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLnBuYXZfX3Nsb3QtLW5leHQge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMCwgMWZyKSBhdXRvO1xufVxuLnBuYXZfX3Nsb3QtLW5leHQgLnBuYXZfX3RodW1iIHtcbiAgZ3JpZC1jb2x1bW46IDI7XG59XG4ucG5hdl9fc2xvdC0tbmV4dCAucG5hdl9fZGlyLCAucG5hdl9fc2xvdC0tbmV4dCAucG5hdl9fdGl0bGUge1xuICBncmlkLWNvbHVtbjogMTtcbn1cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSBhbmQgKHBvaW50ZXI6IGZpbmUpIHtcbiAgLnBuYXZfX3Nsb3RbaHJlZl06aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYWNjZW50KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTNweCk7XG4gIH1cbn1cbi5wbmF2X190aHVtYiB7XG4gIGdyaWQtcm93OiAxL3NwYW4gMjtcbiAgd2lkdGg6IDExMnB4O1xuICBhc3BlY3QtcmF0aW86IDE2Lzk7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYmFja2dyb3VuZDogdmFyKC0tYmctMyk7XG59XG4ucG5hdl9fdGh1bWIgaW1nIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDUyMHB4KSB7XG4gIC5wbmF2X190aHVtYiB7XG4gICAgd2lkdGg6IDg4cHg7XG4gIH1cbn1cbi5wbmF2X19kaXIge1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vKTtcbiAgZm9udC1zaXplOiAwLjY2cmVtO1xuICBmb250LXdlaWdodDogNTAwO1xuICBsZXR0ZXItc3BhY2luZzogMC4xOGVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBjb2xvcjogdmFyKC0taW5rLTMpO1xufVxuLnBuYXZfX3RpdGxlIHtcbiAgZm9udC1zaXplOiAwLjk1cmVtO1xuICBjb2xvcjogdmFyKC0taW5rKTtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIC13ZWJraXQtbGluZS1jbGFtcDogMjtcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA1MjBweCkge1xuICAucG5hdiB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gIH1cbiAgLnBuYXZfX3Nsb3QtLW5leHQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIG1pbm1heCgwLCAxZnIpO1xuICB9XG4gIC5wbmF2X19zbG90LS1uZXh0IC5wbmF2X190aHVtYiB7XG4gICAgZ3JpZC1jb2x1bW46IDE7XG4gIH1cbiAgLnBuYXZfX3Nsb3QtLW5leHQgLnBuYXZfX2RpciwgLnBuYXZfX3Nsb3QtLW5leHQgLnBuYXZfX3RpdGxlIHtcbiAgICBncmlkLWNvbHVtbjogMjtcbiAgfVxuICAucG5hdl9fc2xvdDpub3QoW2hyZWZdKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uYXBwZWFyYW5jZXMge1xuICBtYXJnaW4tdG9wOiBjbGFtcCgyLjVyZW0sIDV2dywgNC41cmVtKTtcbiAgcGFkZGluZy10b3A6IGNsYW1wKDJyZW0sIDR2dywgM3JlbSk7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1saW5lKTtcbn1cbi5hcHBlYXJhbmNlcyAuc2VjdGlvbl9faGVhZCB7XG4gIG1hcmdpbi1ib3R0b206IGNsYW1wKDEuMjVyZW0sIDIuNXZ3LCAycmVtKTtcbn1cblxuLnNlY3Rpb25fX3RpdGxlLS1zbSB7XG4gIGZvbnQtc2l6ZTogY2xhbXAoMjZweCwgMTguNjY2NjY2NjY2N3B4ICsgMS44MzMzMzMzMzMzdncsIDQ4cHgpO1xufVxuXG4uZ3Vlc3QtaGVybyB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byBtaW5tYXgoMCwgMWZyKTtcbiAgZ2FwOiBjbGFtcCgxLjI1cmVtLCAzdncsIDIuNXJlbSk7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IGNsYW1wKDEuNXJlbSwgM3Z3LCAyLjVyZW0pO1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDUyMHB4KSB7XG4gIC5ndWVzdC1oZXJvIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICBqdXN0aWZ5LWl0ZW1zOiBzdGFydDtcbiAgfVxufVxuLmd1ZXN0LWhlcm9fX3Bob3RvIHtcbiAgd2lkdGg6IGNsYW1wKDEyMHB4LCAxNHZ3LCAxNjBweCk7XG4gIGFzcGVjdC1yYXRpbzogMTtcbiAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJhY2tncm91bmQ6IHZhcigtLWJnLTMpO1xuICBib3gtc2hhZG93OiAwIDAgMCA0cHggdmFyKC0tYWNjZW50KTtcbn1cbi5ndWVzdC1oZXJvX19waG90byBpbWcge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvYmplY3QtZml0OiBjb3Zlcjtcbn1cbi5ndWVzdC1oZXJvX19ib2R5IHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ2FwOiAwLjVyZW07XG4gIG1pbi13aWR0aDogMDtcbn1cbi5ndWVzdC1oZXJvX19uYW1lIHtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIGZvbnQtc2l6ZTogY2xhbXAoMzJweCwgMjEuMzMzMzMzMzMzM3B4ICsgMi42NjY2NjY2NjY3dncsIDY0cHgpO1xuICBsaW5lLWhlaWdodDogMC45NTtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAzNWVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBtYXJnaW46IDA7XG59XG4uZ3Vlc3QtaGVyb19fcm9sZSB7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAxLjA1cmVtO1xuICBjb2xvcjogdmFyKC0taW5rLTIpO1xufVxuLmd1ZXN0LWhlcm9fX2xpbmtzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBnYXA6IDAuNXJlbTtcbiAgbWFyZ2luOiAwLjVyZW0gMCAwO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4uZ2xpbmsge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAwLjQ1ZW07XG4gIHBhZGRpbmc6IDAuNDVlbSAwLjg1ZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpbmUpO1xuICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgZm9udC1zaXplOiAwLjgycmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICBsaW5lLWhlaWdodDogMS4xO1xuICBjb2xvcjogdmFyKC0taW5rLTIpO1xuICB0cmFuc2l0aW9uOiBjb2xvciB2YXIoLS1kdXItZmFzdCkgY3ViaWMtYmV6aWVyKDAuMjIsIDAuNjEsIDAuMzYsIDEpLCBib3JkZXItY29sb3IgdmFyKC0tZHVyLWZhc3QpIGN1YmljLWJlemllcigwLjIyLCAwLjYxLCAwLjM2LCAxKTtcbn1cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSBhbmQgKHBvaW50ZXI6IGZpbmUpIHtcbiAgLmdsaW5rOmhvdmVyIHtcbiAgICBjb2xvcjogdmFyKC0tYWNjZW50LWluayk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1hY2NlbnQpO1xuICB9XG59XG4uZ2xpbmtfX2ljbyB7XG4gIHdpZHRoOiAxLjA1ZW07XG4gIGhlaWdodDogMS4wNWVtO1xuICBmbGV4OiBub25lO1xufVxuXG4uc2lnbmF0dXJlIHtcbiAgbWFyZ2luLXRvcDogY2xhbXAoMS41cmVtLCAzdncsIDIuNXJlbSk7XG59XG4uc2lnbmF0dXJlX19zaWdub2ZmIHtcbiAgbWFyZ2luOiAwIDAgMC4xZW07XG4gIGZvbnQtc2l6ZTogY2xhbXAoMS4wNXJlbSwgMC40dncgKyAwLjk2cmVtLCAxLjE2cmVtKTtcbiAgY29sb3I6IHZhcigtLWluay0yKTtcbn1cbi5zaWduYXR1cmVfX25hbWUge1xuICBtYXJnaW46IDA7XG4gIGZvbnQtZmFtaWx5OiBcIldpbmRTb25nXCIsIFwiQnJ1c2ggU2NyaXB0IE1UXCIsIFwiU2Vnb2UgU2NyaXB0XCIsIGN1cnNpdmU7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtc2l6ZTogY2xhbXAoMi40cmVtLCA0LjR2dywgMy41cmVtKTtcbiAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDFlbTtcbiAgY29sb3I6IHZhcigtLWluayk7XG4gIHRyYW5zZm9ybTogcm90YXRlKC0xLjVkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGNlbnRlcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAwLjFlbSAwLjE1ZW0gMC4xNWVtIDA7XG59XG5cbi5zZWFyY2hiYXIge1xuICBtYXJnaW4tYm90dG9tOiBjbGFtcCgycmVtLCA0dncsIDMuNXJlbSk7XG59XG5cbi5zZm9ybSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogMC41cmVtO1xuICBtYXgtd2lkdGg6IDU2MHB4O1xufVxuLnNmb3JtIGlucHV0W3R5cGU9c2VhcmNoXSB7XG4gIGZsZXg6IDE7XG4gIG1pbi13aWR0aDogMDtcbiAgaGVpZ2h0OiA1MnB4O1xuICBwYWRkaW5nLWlubGluZTogMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbGluZS0yKTtcbiAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogdmFyKC0taW5rKTtcbiAgZm9udC1zaXplOiBtYXgoMTZweCwgMXJlbSk7XG59XG4uc2Zvcm0gaW5wdXRbdHlwZT1zZWFyY2hdOjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiB2YXIoLS1pbmstMyk7XG59XG4uc2Zvcm0gaW5wdXRbdHlwZT1zZWFyY2hdOmZvY3VzLXZpc2libGUge1xuICBib3JkZXItY29sb3I6IHZhcigtLWFjY2VudCk7XG4gIG91dGxpbmU6IG5vbmU7XG59XG4uc2Zvcm0gLmJ0biB7XG4gIGZsZXg6IG5vbmU7XG59XG5AbWVkaWEgKG1heC13aWR0aDogNTIwcHgpIHtcbiAgLnNmb3JtIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgfVxuICAuc2Zvcm0gLmJ0biB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLm5vcmVzdWx0cyB7XG4gIG1heC13aWR0aDogNjBjaDtcbn1cbi5ub3Jlc3VsdHMgLmxlZGUge1xuICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG59XG5cbi5ub3Jlc3VsdHNfX2FjdGlvbnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGdhcDogMC43NXJlbTtcbiAgbWFyZ2luLXRvcDogY2xhbXAoMS41cmVtLCAzdncsIDIuNXJlbSk7XG59XG5cbi5zbGluayB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XG4gIHdpZHRoOiA1NHB4O1xuICBoZWlnaHQ6IDU0cHg7XG4gIGZsZXg6IG5vbmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpbmUtMik7XG4gIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICBjb2xvcjogdmFyKC0taW5rKTtcbiAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIHZhcigtLWR1ci1mYXN0KSBjdWJpYy1iZXppZXIoMC4yMiwgMC42MSwgMC4zNiwgMSksIGNvbG9yIHZhcigtLWR1ci1mYXN0KSBjdWJpYy1iZXppZXIoMC4yMiwgMC42MSwgMC4zNiwgMSk7XG59XG4uc2xpbmsgc3ZnIHtcbiAgd2lkdGg6IDIxcHg7XG4gIGhlaWdodDogMjFweDtcbn1cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSBhbmQgKHBvaW50ZXI6IGZpbmUpIHtcbiAgLnNsaW5rOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWFjY2VudCk7XG4gICAgY29sb3I6IHZhcigtLWFjY2VudC1pbmspO1xuICB9XG59XG4uc2xpbms6YWN0aXZlIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1hY2NlbnQpO1xuICBjb2xvcjogdmFyKC0tYWNjZW50LWluayk7XG59XG5AbWVkaWEgKG1heC13aWR0aDogNzgwcHgpIHtcbiAgLnNsaW5rIHtcbiAgICB3aWR0aDogNDRweDtcbiAgICBoZWlnaHQ6IDQ0cHg7XG4gIH1cbiAgLnNsaW5rIHN2ZyB7XG4gICAgd2lkdGg6IDE4cHg7XG4gICAgaGVpZ2h0OiAxOHB4O1xuICB9XG59XG5cbi50d2VldHNfX3JhaWwge1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IGNsYW1wKDAuNzVyZW0sIDEuNHZ3LCAxLjI1cmVtKTtcbiAgb3ZlcmZsb3cteDogYXV0bztcbiAgc2Nyb2xsLXNuYXAtdHlwZTogeCBtYW5kYXRvcnk7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBtYXJnaW4taW5saW5lOiBjYWxjKHZhcigtLWd1dHRlcikgKiAtMSk7XG4gIHBhZGRpbmctaW5saW5lOiB2YXIoLS1ndXR0ZXIpO1xuICBzY3JvbGwtcGFkZGluZy1pbmxpbmU6IHZhcigtLWd1dHRlcik7XG4gIHBhZGRpbmctYmxvY2s6IDAuNXJlbTtcbiAgc2Nyb2xsYmFyLXdpZHRoOiBub25lO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG59XG4udHdlZXRzX19yYWlsOjotd2Via2l0LXNjcm9sbGJhciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4udHdlZXRzX19yYWlsID4gKiB7XG4gIHNjcm9sbC1zbmFwLWFsaWduOiBzdGFydDtcbn1cblxuLnhlbWJlZCB7XG4gIC0teC1yYWRpdXM6IDEycHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxleDogbm9uZTtcbiAgd2lkdGg6IGNsYW1wKDI4MHB4LCAzMnZ3LCAzODBweCk7XG4gIGlzb2xhdGlvbjogaXNvbGF0ZTtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA3ODBweCkge1xuICAueGVtYmVkIHtcbiAgICB3aWR0aDogNzV2dztcbiAgICBzY3JvbGwtc25hcC1zdG9wOiBhbHdheXM7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA3ODBweCkge1xuICAueGVtYmVkOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGluc2V0OiAwO1xuICAgIHotaW5kZXg6IDI7XG4gICAgYm9yZGVyOiAzcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0teC1yYWRpdXMpO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciB2YXIoLS1kdXItZmFzdCkgY3ViaWMtYmV6aWVyKDAuMjIsIDAuNjEsIDAuMzYsIDEpO1xuICB9XG4gIC54ZW1iZWQuaXMtYWN0aXZlOjpiZWZvcmUge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYWNjZW50KTtcbiAgfVxufVxuLnhlbWJlZCBibG9ja3F1b3RlIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAxLjVyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpbmUpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1iZyk7XG4gIGZvbnQtc2l6ZTogY2xhbXAoMC45MnJlbSwgMC4zNXZ3ICsgMC44NHJlbSwgMS4wMnJlbSk7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ1O1xuICBjb2xvcjogdmFyKC0taW5rKTtcbn1cbi54ZW1iZWQgYmxvY2txdW90ZSBwIHtcbiAgbWFyZ2luOiAwIDAgMC43NXJlbTtcbn1cbi54ZW1iZWQgYmxvY2txdW90ZSBhIHtcbiAgY29sb3I6IHZhcigtLWFjY2VudC1pbmspO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4uanMgLnhlbWJlZCBibG9ja3F1b3RlIHtcbiAgb3BhY2l0eTogMDtcbn1cbi54ZW1iZWQgLnR3aXR0ZXItdHdlZXQtcmVuZGVyZWQge1xuICBtYXJnaW46IDAgIWltcG9ydGFudDtcbn1cbi54ZW1iZWQgaWZyYW1lIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS14LXJhZGl1cyk7XG59XG4ueGVtYmVkX19zayB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaW5zZXQ6IDA7XG4gIHotaW5kZXg6IDE7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGFsaWduLWNvbnRlbnQ6IHN0YXJ0O1xuICBnYXA6IDAuNzVyZW07XG4gIHBhZGRpbmc6IDEuNXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbGluZSk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXgtcmFkaXVzKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tYmcpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXMgZWFzZTtcbn1cbi5qcyAueGVtYmVkX19zayB7XG4gIGRpc3BsYXk6IGdyaWQ7XG59XG4ueGVtYmVkX19zay5pcy1kb25lIHtcbiAgb3BhY2l0eTogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4ueGVtYmVkX19zay1oZWFkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAwLjc1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG59XG4ueGVtYmVkX19zay1hdmF0YXIsIC54ZW1iZWRfX3NrLW5hbWUsIC54ZW1iZWRfX3NrLWxpbmUsIC54ZW1iZWRfX3NrLW1lZGlhIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYmctMyk7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDkwZGVnLCB0cmFuc3BhcmVudCwgY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWluaykgOCUsIHRyYW5zcGFyZW50KSwgdHJhbnNwYXJlbnQpO1xuICBiYWNrZ3JvdW5kLXNpemU6IDIyMCUgMTAwJTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYW5pbWF0aW9uOiBzay1zaGltbWVyIDEuNHMgY3ViaWMtYmV6aWVyKDAuMjIsIDAuNjEsIDAuMzYsIDEpIGluZmluaXRlO1xufVxuLnhlbWJlZF9fc2stYXZhdGFyIHtcbiAgd2lkdGg6IDQwcHg7XG4gIGhlaWdodDogNDBweDtcbiAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gIGZsZXg6IG5vbmU7XG59XG4ueGVtYmVkX19zay1uYW1lIHtcbiAgaGVpZ2h0OiAxMnB4O1xuICB3aWR0aDogNDUlO1xufVxuLnhlbWJlZF9fc2stbGluZSB7XG4gIGhlaWdodDogMTFweDtcbn1cbi54ZW1iZWRfX3NrLWxpbmU6bnRoLW9mLXR5cGUoMikge1xuICB3aWR0aDogOTIlO1xufVxuLnhlbWJlZF9fc2stbGluZTpudGgtb2YtdHlwZSgzKSB7XG4gIHdpZHRoOiA3OCU7XG59XG4ueGVtYmVkX19zay1tZWRpYSB7XG4gIGhlaWdodDogMTIwcHg7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XG4gIG1hcmdpbi10b3A6IDAuNXJlbTtcbn1cbi54ZW1iZWQ6bnRoLWNoaWxkKDIpIC54ZW1iZWRfX3NrID4gKiB7XG4gIGFuaW1hdGlvbi1kZWxheTogMC4xMnM7XG59XG4ueGVtYmVkOm50aC1jaGlsZCgzKSAueGVtYmVkX19zayA+ICoge1xuICBhbmltYXRpb24tZGVsYXk6IDAuMjRzO1xufVxuXG5Aa2V5ZnJhbWVzIHNrLXNoaW1tZXIge1xuICBmcm9tIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxNjAlIDA7XG4gIH1cbiAgdG8ge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC02MCUgMDtcbiAgfVxufVxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgLnhlbWJlZF9fc2sgKiB7XG4gICAgYW5pbWF0aW9uOiBub25lO1xuICB9XG59XG4udHdlZXQge1xuICBmbGV4OiBub25lO1xuICB3aWR0aDogY2xhbXAoMjQwcHgsIDMwdncsIDM0MHB4KTtcbiAgZGlzcGxheTogZ3JpZDtcbiAgYWxpZ24tY29udGVudDogc3RhcnQ7XG4gIGdhcDogMC43NXJlbTtcbiAgcGFkZGluZzogMS41cmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1saW5lKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tYmcpO1xuICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgdmFyKC0tZHVyLWZhc3QpIGN1YmljLWJlemllcigwLjIyLCAwLjYxLCAwLjM2LCAxKSwgdHJhbnNmb3JtIHZhcigtLWR1ci1mYXN0KSBjdWJpYy1iZXppZXIoMC4yMiwgMC42MSwgMC4zNiwgMSk7XG59XG4udHdlZXRfX21hcmsge1xuICBjb2xvcjogdmFyKC0taW5rLTMpO1xuICB0cmFuc2l0aW9uOiBjb2xvciB2YXIoLS1kdXItZmFzdCkgY3ViaWMtYmV6aWVyKDAuMjIsIDAuNjEsIDAuMzYsIDEpO1xufVxuLnR3ZWV0X19tYXJrIHN2ZyB7XG4gIHdpZHRoOiAxNXB4O1xuICBoZWlnaHQ6IDE1cHg7XG59XG4udHdlZXRfX3RleHQge1xuICBmb250LXNpemU6IGNsYW1wKDAuOTJyZW0sIDAuMzV2dyArIDAuODRyZW0sIDEuMDJyZW0pO1xuICBsaW5lLWhlaWdodDogMS40NTtcbiAgY29sb3I6IHZhcigtLWluayk7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAtd2Via2l0LWxpbmUtY2xhbXA6IDY7XG4gIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4udHdlZXRfX2F1dGhvciB7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuICBmb250LXNpemU6IGNsYW1wKDAuOXJlbSwgMS4xdncsIDEuMTVyZW0pO1xuICBmb250LXdlaWdodDogOTAwO1xuICBsaW5lLWhlaWdodDogMTtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7XG4gIGZvbnQtc2l6ZTogMC43cmVtO1xuICBjb2xvcjogdmFyKC0taW5rLTMpO1xufVxuQG1lZGlhIChob3ZlcjogaG92ZXIpIGFuZCAocG9pbnRlcjogZmluZSkge1xuICAudHdlZXQ6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYWNjZW50KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTNweCk7XG4gIH1cbiAgLnR3ZWV0OmhvdmVyIC50d2VldF9fbWFyayB7XG4gICAgY29sb3I6IHZhcigtLWFjY2VudC1pbmspO1xuICB9XG59XG5cbi53YWxsIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNiwgMWZyKTtcbiAgZ2FwOiBjbGFtcCgwLjVyZW0sIDEuMnZ3LCAxcmVtKTtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA3ODBweCkge1xuICAud2FsbCB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgfVxufVxuXG4uc3Bvc3Qge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBncmlkLWNvbHVtbjogc3BhbiAyO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy0zKTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMgY3ViaWMtYmV6aWVyKDAuMjIsIDAuNjEsIDAuMzYsIDEpLCBib3gtc2hhZG93IDAuNXMgY3ViaWMtYmV6aWVyKDAuMjIsIDAuNjEsIDAuMzYsIDEpO1xufVxuLnNwb3N0Om50aC1jaGlsZCgzbisxKSB7XG4gIGdyaWQtY29sdW1uOiBzcGFuIDM7XG59XG4uc3Bvc3Q6bnRoLWNoaWxkKDNuKzIpIHtcbiAgZ3JpZC1jb2x1bW46IHNwYW4gMztcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA3ODBweCkge1xuICAuc3Bvc3Qge1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDE7XG4gIH1cbiAgLnNwb3N0Om50aC1jaGlsZCgzbisxKSwgLnNwb3N0Om50aC1jaGlsZCgzbisyKSB7XG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gMTtcbiAgfVxufVxuLnNwb3N0X19tZWRpYSB7XG4gIGFzcGVjdC1yYXRpbzogNC81O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy0zKTtcbn1cbi5zcG9zdF9fbWVkaWEgaW1nIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSkgdHJhbnNsYXRlWigwKTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41NXMgY3ViaWMtYmV6aWVyKDAuMjIsIDAuNjEsIDAuMzYsIDEpLCBvcGFjaXR5IDAuNHMgY3ViaWMtYmV6aWVyKDAuMjIsIDAuNjEsIDAuMzYsIDEpLCBmaWx0ZXIgMC40cyBjdWJpYy1iZXppZXIoMC4yMiwgMC42MSwgMC4zNiwgMSkgIWltcG9ydGFudDtcbn1cbi5zcG9zdDpudGgtY2hpbGQoM24rMSkgLnNwb3N0X19tZWRpYSwgLnNwb3N0Om50aC1jaGlsZCgzbisyKSAuc3Bvc3RfX21lZGlhIHtcbiAgYXNwZWN0LXJhdGlvOiAzLzI7XG59XG5AbWVkaWEgKG1heC13aWR0aDogNzgwcHgpIHtcbiAgLnNwb3N0Om50aC1jaGlsZCgzbisxKSAuc3Bvc3RfX21lZGlhLCAuc3Bvc3Q6bnRoLWNoaWxkKDNuKzIpIC5zcG9zdF9fbWVkaWEge1xuICAgIGFzcGVjdC1yYXRpbzogNC81O1xuICB9XG59XG4uc3Bvc3RfX2JhZGdlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDAuNzVyZW07XG4gIHJpZ2h0OiAwLjc1cmVtO1xuICBkaXNwbGF5OiBncmlkO1xuICBwbGFjZS1pdGVtczogY2VudGVyO1xuICB3aWR0aDogMzBweDtcbiAgaGVpZ2h0OiAzMHB4O1xuICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjQ1KTtcbiAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDZweCk7XG4gIGNvbG9yOiAjZmZmO1xufVxuLnNwb3N0X19iYWRnZSBzdmcge1xuICB3aWR0aDogMTVweDtcbiAgaGVpZ2h0OiAxNXB4O1xufVxuLnNwb3N0X19ib2R5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBpbnNldDogYXV0byAwIDAgMDtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ2FwOiAwLjM1ZW07XG4gIHBhZGRpbmc6IDJyZW0gMXJlbSAxcmVtO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodHJhbnNwYXJlbnQsIHJnYmEoMCwgMCwgMCwgMC44MikpO1xuICBjb2xvcjogI2ZmZjtcbn1cbi5zcG9zdF9fY2FwdGlvbiB7XG4gIGZvbnQtc2l6ZTogY2xhbXAoMC44MnJlbSwgMC4zNXZ3ICsgMC43NHJlbSwgMC45NXJlbSk7XG4gIGxpbmUtaGVpZ2h0OiAxLjM1O1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgLXdlYmtpdC1saW5lLWNsYW1wOiAyO1xuICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLnNwb3N0X19kYXRlIHtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGZvbnQtc2l6ZTogY2xhbXAoMC45cmVtLCAxLjF2dywgMS4xNXJlbSk7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcbiAgZm9udC1zaXplOiAwLjdyZW07XG4gIG9wYWNpdHk6IDAuNzI7XG59XG5AbWVkaWEgKGhvdmVyOiBob3ZlcikgYW5kIChwb2ludGVyOiBmaW5lKSB7XG4gIC5zcG9zdDpob3ZlciB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00cHgpO1xuICAgIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1jYXJkKTtcbiAgfVxuICAuc3Bvc3Q6aG92ZXIgLnNwb3N0X19tZWRpYSBpbWcge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNikgdHJhbnNsYXRlWigwKTtcbiAgfVxufVxuXG4uZ3JpZCB7XG4gIC0tZ3JpZC1nYXA6IGNsYW1wKDEuMjVyZW0sIDIuNXZ3LCAyLjVyZW0pO1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDc4MHB4KSB7XG4gIC5ncmlkIHtcbiAgICAtLWdyaWQtZ2FwOiAwO1xuICAgIHJvdy1nYXA6IDA7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWxpbmUpO1xuICB9XG59XG4uZ3JpZCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgobWluKDEwMCUsIDMwMHB4KSwgMWZyKSk7XG4gIGdhcDogdmFyKC0tZ3JpZC1nYXApO1xufVxuLmdyaWQgPiA6b25seS1jaGlsZCB7XG4gIG1heC13aWR0aDogY2FsYyg1MCUgLSB2YXIoLS1ncmlkLWdhcCkgLyAyKTtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA3ODBweCkge1xuICAuZ3JpZCA+IDpvbmx5LWNoaWxkIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gIH1cbn1cblxuLmdyaWQtLXdpZGUge1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KG1pbigxMDAlLCA0MjBweCksIDFmcikpO1xufVxuXG4uZ3JpZC0tZ3Vlc3RzIHtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maWxsLCBtaW5tYXgobWluKDEwMCUsIDE3MHB4KSwgMWZyKSk7XG59XG4uZ3JpZC0tZ3Vlc3RzID4gOm9ubHktY2hpbGQge1xuICBtYXgtd2lkdGg6IG5vbmU7XG59XG4uZ3JpZC0tZ3Vlc3RzIC5ndWVzdF9fcGhvdG8ge1xuICB3aWR0aDogMTAwJTtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA3ODBweCkge1xuICAuZ3JpZC0tZ3Vlc3RzIHtcbiAgICAtLWdyaWQtZ2FwOiBjbGFtcCgxLjI1cmVtLCA1dncsIDJyZW0pO1xuICAgIGJvcmRlci10b3A6IDA7XG4gIH1cbn1cblxuLmdyaWQtLTMge1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCBtaW5tYXgoMCwgMWZyKSk7XG59XG5AbWVkaWEgKG1heC13aWR0aDogMTA4MHB4KSB7XG4gIC5ncmlkLS0zIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCBtaW5tYXgoMCwgMWZyKSk7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA3ODBweCkge1xuICAuZ3JpZC0tMyB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMCwgMWZyKTtcbiAgfVxufVxuXG4uY2FyZCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdhcDogMDtcbiAgYWxpZ24tY29udGVudDogc3RhcnQ7XG59XG4uY2FyZF9fbWVkaWEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGFzcGVjdC1yYXRpbzogMTYvOTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYmFja2dyb3VuZDogdmFyKC0tYmctMyk7XG59XG4uY2FyZF9fbWVkaWEgaW1nIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKSB0cmFuc2xhdGVaKDApO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjZzIGN1YmljLWJlemllcigwLjIyLCAwLjYxLCAwLjM2LCAxKSwgb3BhY2l0eSAwLjRzIGN1YmljLWJlemllcigwLjIyLCAwLjYxLCAwLjM2LCAxKSwgZmlsdGVyIDAuNHMgY3ViaWMtYmV6aWVyKDAuMjIsIDAuNjEsIDAuMzYsIDEpICFpbXBvcnRhbnQ7XG59XG4uY2FyZC0tc2hvcnRzIC5jYXJkX19tZWRpYSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWJnLTMpO1xufVxuLmNhcmQtLXNob3J0cyAuY2FyZF9fbWVkaWEgaW1nIHtcbiAgb2JqZWN0LWZpdDogY29udGFpbjtcbn1cbi5jYXJkLS1zaG9ydHMgLmNhcmRfX21lZGlhOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGluc2V0OiAwO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hcnQpIGNlbnRlci9jb3ZlciBuby1yZXBlYXQ7XG4gIGZpbHRlcjogYnJpZ2h0bmVzcygwLjIpO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMDUpO1xufVxuLmNhcmQtLXNob3J0cyAuY2FyZF9fbWVkaWE6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBpbnNldDogYXV0byAwIDAgMDtcbiAgaGVpZ2h0OiA0NSU7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0cmFuc3BhcmVudCwgcmdiYSgwLCAwLCAwLCAwLjU1KSk7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgdmFyKC0tZHVyKSBjdWJpYy1iZXppZXIoMC4yMiwgMC42MSwgMC4zNiwgMSk7XG59XG4uY2FyZDpob3ZlciAuY2FyZF9fbWVkaWEgaW1nIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjA2KSB0cmFuc2xhdGVaKDApO1xufVxuLmNhcmQ6aG92ZXIgLmNhcmRfX21lZGlhOjphZnRlciB7XG4gIG9wYWNpdHk6IDE7XG59XG4uY2FyZF9fcGlsbCwgLmNhcmRfX2NoaXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDI7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuICBmb250LXNpemU6IGNsYW1wKDAuOXJlbSwgMS4xdncsIDEuMTVyZW0pO1xuICBmb250LXdlaWdodDogOTAwO1xuICBsaW5lLWhlaWdodDogMTtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7XG4gIHBhZGRpbmc6IDAuMTZlbSAwLjYyZW07XG4gIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hY2NlbnQpO1xuICBjb2xvcjogI2ZmZjtcbn1cbi5jYXJkX19waWxsIHtcbiAgdG9wOiBjYWxjKDAuNzVyZW0gLSAzcHgpO1xuICBsZWZ0OiBjYWxjKDAuNzVyZW0gLSAzcHgpO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBjb2xvcjogIzExMTtcbn1cbi5jYXJkX19jaGlwIHtcbiAgYm90dG9tOiAwLjc1cmVtO1xuICBsZWZ0OiAwLjc1cmVtO1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDc4MHB4KSB7XG4gIC5jYXJkX19waWxsLCAuY2FyZF9fY2hpcCB7XG4gICAgZm9udC1zaXplOiAwLjcycmVtO1xuICAgIHBhZGRpbmc6IDAuMThlbSAwLjU1ZW07XG4gIH1cbiAgLmNhcmRfX3BpbGwge1xuICAgIHRvcDogY2FsYygwLjVyZW0gLSAzcHgpO1xuICAgIGxlZnQ6IGNhbGMoMC41cmVtIC0gM3B4KTtcbiAgfVxuICAuY2FyZF9fY2hpcCB7XG4gICAgYm90dG9tOiAwLjVyZW07XG4gICAgbGVmdDogMC41cmVtO1xuICB9XG59XG4uY2FyZF9fcGxheSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDAuNzVyZW07XG4gIGJvdHRvbTogMC43NXJlbTtcbiAgei1pbmRleDogMjtcbiAgZGlzcGxheTogZ3JpZDtcbiAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcbiAgd2lkdGg6IDQ2cHg7XG4gIGhlaWdodDogNDZweDtcbiAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFjY2VudCk7XG4gIGNvbG9yOiB2YXIoLS1vbi1hY2NlbnQpO1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuNyk7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjRzIGN1YmljLWJlemllcigwLjE2LCAxLCAwLjMsIDEpLCBvcGFjaXR5IDAuM3MgY3ViaWMtYmV6aWVyKDAuMjIsIDAuNjEsIDAuMzYsIDEpO1xufVxuLmNhcmRfX3BsYXkgc3ZnIHtcbiAgd2lkdGg6IDE0cHg7XG4gIGhlaWdodDogMTRweDtcbiAgbWFyZ2luLWxlZnQ6IDJweDtcbn1cbi5jYXJkOmhvdmVyIC5jYXJkX19wbGF5IHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgb3BhY2l0eTogMTtcbn1cbi5jYXJkX19tZXRhIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAwLjc1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjNlbTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGZvbnQtc2l6ZTogY2xhbXAoMC45cmVtLCAxLjF2dywgMS4xNXJlbSk7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcbiAgY29sb3I6IHZhcigtLWFjY2VudC1pbmspO1xufVxuLmNhcmRfX21ldGEgLmNhcmRfX2VwIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5jYXJkX190aXRsZSB7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuICBmb250LXNpemU6IGNsYW1wKDE4cHgsIDE0LjY2NjY2NjY2NjdweCArIDAuODMzMzMzMzMzM3Z3LCAyOHB4KTtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMDU7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB0cmFuc2l0aW9uOiBjb2xvciB2YXIoLS1kdXItZmFzdCkgY3ViaWMtYmV6aWVyKDAuMjIsIDAuNjEsIDAuMzYsIDEpO1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDc4MHB4KSB7XG4gIC5jYXJkX190aXRsZSB7XG4gICAgZm9udC1zaXplOiBjbGFtcCgxLjAycmVtLCAzLjR2dywgMS4zNXJlbSk7XG4gICAgbGluZS1oZWlnaHQ6IDEuMDU7XG4gIH1cbn1cbi5jYXJkOmhvdmVyIC5jYXJkX190aXRsZSB7XG4gIGNvbG9yOiB2YXIoLS1hY2NlbnQtaW5rKTtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA3ODBweCkge1xuICAuY2FyZCB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIG1pbm1heCgwLCAxZnIpO1xuICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0byBhdXRvIGF1dG87XG4gICAgY29sdW1uLWdhcDogMXJlbTtcbiAgICByb3ctZ2FwOiAwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZy1ibG9jazogY2xhbXAoMS41cmVtLCAyLjZ2dywgMi41cmVtKTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tbGluZSk7XG4gIH1cbiAgLmNhcmQgLmNhcmRfX21lZGlhIHtcbiAgICBncmlkLWNvbHVtbjogMTtcbiAgICBncmlkLXJvdzogMS9zcGFuIDM7XG4gICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgIHdpZHRoOiAzOHZ3O1xuICAgIGFzcGVjdC1yYXRpbzogMTYvOTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIH1cbiAgLmNhcmQgLmNhcmRfX2NoaXAge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLmNhcmQgLmNhcmRfX21ldGEge1xuICAgIGRpc3BsYXk6IGNvbnRlbnRzO1xuICB9XG4gIC5jYXJkIC5jYXJkX19lcCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgZ3JpZC1yb3c6IDE7XG4gICAgYWxpZ24tc2VsZjogZW5kO1xuICAgIG1hcmdpbi1ib3R0b206IDAuM2VtO1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuICAgIGZvbnQtc2l6ZTogY2xhbXAoMC45cmVtLCAxLjF2dywgMS4xNXJlbSk7XG4gICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7XG4gICAgZm9udC1zaXplOiAwLjg0cmVtO1xuICAgIGNvbG9yOiB2YXIoLS1hY2NlbnQtaW5rKTtcbiAgfVxuICAuY2FyZCAuY2FyZF9fdGl0bGUge1xuICAgIGdyaWQtY29sdW1uOiAyO1xuICAgIGdyaWQtcm93OiAyO1xuICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgfVxuICAuY2FyZCAuY2FyZF9fZGF0ZSB7XG4gICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgZ3JpZC1yb3c6IDM7XG4gICAgYWxpZ24tc2VsZjogc3RhcnQ7XG4gICAgbWFyZ2luOiAwLjRlbSAwIDA7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtYm9keSk7XG4gICAgZm9udC1zaXplOiAwLjg2cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDU7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgY29sb3I6IHZhcigtLWluay0yKTtcbiAgfVxuICAuY2FyZCAuY2FyZF9fZXhjZXJwdCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuLmNhcmRfX2V4Y2VycHQge1xuICBtYXJnaW4tdG9wOiAwLjVlbTtcbiAgZm9udC1zaXplOiAwLjk1cmVtO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogdmFyKC0taW5rLTIpO1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgLXdlYmtpdC1saW5lLWNsYW1wOiAyO1xuICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDc4MHB4KSB7XG4gIC5jYXJkX19leGNlcnB0IHtcbiAgICBmb250LXNpemU6IDAuODZyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNDU7XG4gICAgbWFyZ2luLXRvcDogMC40ZW07XG4gIH1cbn1cblxuLmd1ZXN0IHtcbiAgZGlzcGxheTogZ3JpZDtcbiAganVzdGlmeS1pdGVtczogY2VudGVyO1xuICBnYXA6IDAuNzVyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5ndWVzdF9fcGhvdG8ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiBjbGFtcCgxMTBweCwgMTJ2dywgMTY4cHgpO1xuICBhc3BlY3QtcmF0aW86IDE7XG4gIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy0zKTtcbiAgYm94LXNoYWRvdzogMCAwIDAgMCB2YXIoLS1hY2NlbnQpO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNHMgY3ViaWMtYmV6aWVyKDAuMTYsIDEsIDAuMywgMSk7XG59XG4uZ3Vlc3RfX3Bob3RvIGltZyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaW5zZXQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xufVxuQG1lZGlhIChob3ZlcjogaG92ZXIpIGFuZCAocG9pbnRlcjogZmluZSkge1xuICBhLmd1ZXN0OmhvdmVyIC5ndWVzdF9fcGhvdG8ge1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDRweCB2YXIoLS1hY2NlbnQpO1xuICB9XG4gIGEuZ3Vlc3Q6aG92ZXIgLmd1ZXN0X19uYW1lIHtcbiAgICBjb2xvcjogdmFyKC0tYWNjZW50LWluayk7XG4gIH1cbn1cbi5ndWVzdC0tc3RhdGljIHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBvcGFjaXR5OiAwLjQ1O1xuICAtLXJlc3Qtb3BhY2l0eTogLjQ1O1xufVxuLmd1ZXN0X19uYW1lIHtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGZvbnQtc2l6ZTogMS4wNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07XG4gIHRyYW5zaXRpb246IGNvbG9yIHZhcigtLWR1ci1mYXN0KSBjdWJpYy1iZXppZXIoMC4yMiwgMC42MSwgMC4zNiwgMSk7XG59XG4uZ3Vlc3RfX3JvbGUge1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vKTtcbiAgZm9udC1zaXplOiAwLjY2cmVtO1xuICBsZXR0ZXItc3BhY2luZzogMC4xMmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBjb2xvcjogdmFyKC0taW5rLTMpO1xufVxuXG4uZmVhdHVyZSB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDAsIDEuMTVmcikgbWlubWF4KDAsIDAuODVmcik7XG4gIGdhcDogY2xhbXAoMS41cmVtLCA0dncsIDRyZW0pO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiBjbGFtcCgxLjVyZW0sIDN2dywgM3JlbSk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpbmUpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbGcpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy0yKTtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiAxMDgwcHgpIHtcbiAgLmZlYXR1cmUge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICB9XG59XG4uZmVhdHVyZV9fbWVkaWEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGFzcGVjdC1yYXRpbzogMTYvOTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYmFja2dyb3VuZDogdmFyKC0tYmctMyk7XG59XG4uZmVhdHVyZV9fbWVkaWEgaW1nIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG59XG4uZmVhdHVyZV9fYm9keSB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdhcDogMXJlbTtcbiAgYWxpZ24tY29udGVudDogY2VudGVyO1xufVxuLmZlYXR1cmVfX3RpdGxlIHtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGZvbnQtc2l6ZTogY2xhbXAoMjhweCwgMTQuNjY2NjY2NjY2N3B4ICsgMy4zMzMzMzMzMzMzdncsIDY4cHgpO1xuICBmb250LXdlaWdodDogOTAwO1xuICBsaW5lLWhlaWdodDogMC45NDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAzZW07XG59XG5cbi5wcm9zZSB7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgZm9udC1zaXplOiBjbGFtcCgxLjA1cmVtLCAwLjR2dyArIDAuOTZyZW0sIDEuMTZyZW0pO1xuICBsaW5lLWhlaWdodDogMS43O1xuICBjb2xvcjogdmFyKC0taW5rLTIpO1xufVxuLnByb3NlID4gKiArICoge1xuICBtYXJnaW4tdG9wOiAxLjM1ZW07XG59XG4ucHJvc2UgaDIsIC5wcm9zZSBoMywgLnByb3NlIGg0IHtcbiAgY29sb3I6IHZhcigtLWluayk7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuICBmb250LXdlaWdodDogOTAwO1xuICBsaW5lLWhlaWdodDogMS4wNTtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyNWVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBtYXJnaW4tdG9wOiAyLjJlbTtcbn1cbi5wcm9zZSBoMiB7XG4gIGZvbnQtc2l6ZTogY2xhbXAoMS42cmVtLCAyLjR2dywgMi40cmVtKTtcbn1cbi5wcm9zZSBoMyB7XG4gIGZvbnQtc2l6ZTogY2xhbXAoMS4zcmVtLCAxLjh2dywgMS43cmVtKTtcbn1cbi5wcm9zZSBoNCB7XG4gIGZvbnQtc2l6ZTogMS4xNXJlbTtcbn1cbi5wcm9zZSBzdHJvbmcge1xuICBjb2xvcjogdmFyKC0taW5rKTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cbi5wcm9zZSBhIHtcbiAgY29sb3I6IHZhcigtLWluayk7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB0ZXh0LWRlY29yYXRpb24tY29sb3I6IHZhcigtLWFjY2VudCk7XG4gIHRleHQtdW5kZXJsaW5lLW9mZnNldDogMC4xOGVtO1xuICB0ZXh0LWRlY29yYXRpb24tdGhpY2tuZXNzOiAycHg7XG4gIHRyYW5zaXRpb246IGNvbG9yIHZhcigtLWR1ci1mYXN0KSBjdWJpYy1iZXppZXIoMC4yMiwgMC42MSwgMC4zNiwgMSk7XG59XG4ucHJvc2UgYTpob3ZlciB7XG4gIGNvbG9yOiB2YXIoLS1hY2NlbnQtaW5rKTtcbn1cbi5wcm9zZSB1bCwgLnByb3NlIG9sIHtcbiAgcGFkZGluZy1sZWZ0OiAxLjRlbTtcbn1cbi5wcm9zZSBsaSArIGxpIHtcbiAgbWFyZ2luLXRvcDogMC41ZW07XG59XG4ucHJvc2UgbGk6Om1hcmtlciB7XG4gIGNvbG9yOiB2YXIoLS1hY2NlbnQtaW5rKTtcbn1cbi5wcm9zZSBibG9ja3F1b3RlIHtcbiAgbWFyZ2luLWlubGluZTogMDtcbiAgcGFkZGluZy1sZWZ0OiAxLjVyZW07XG4gIGJvcmRlci1sZWZ0OiAycHggc29saWQgdmFyKC0tYWNjZW50KTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGZvbnQtc2l6ZTogY2xhbXAoMS4zcmVtLCAydncsIDEuOXJlbSk7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6IHZhcigtLWluayk7XG59XG4ucHJvc2UgaW1nLCAucHJvc2UgZmlndXJlLCAucHJvc2UgdmlkZW8sIC5wcm9zZSBpZnJhbWUge1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xufVxuLnByb3NlIGZpZ2NhcHRpb24ge1xuICBtYXJnaW4tdG9wOiAwLjVyZW07XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm8pO1xuICBmb250LXNpemU6IDAuN3JlbTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMWVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBjb2xvcjogdmFyKC0taW5rLTMpO1xufVxuLnByb3NlIGNvZGUge1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vKTtcbiAgZm9udC1zaXplOiAwLjg4ZW07XG4gIHBhZGRpbmc6IDAuMTVlbSAwLjRlbTtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy0zKTtcbiAgY29sb3I6IHZhcigtLWluayk7XG59XG4ucHJvc2UgaHIge1xuICBib3JkZXI6IDA7XG4gIGhlaWdodDogMXB4O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1saW5lKTtcbiAgbWFyZ2luLWJsb2NrOiAyLjVlbTtcbn1cblxuLnBhZ2luYXRpb24ge1xuICBtYXJnaW4tdG9wOiBjbGFtcCgycmVtLCA0dncsIDRyZW0pO1xufVxuLnBhZ2luYXRpb24gLm5hdi1saW5rcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogMC41cmVtO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG4ucGFnaW5hdGlvbiAucGFnZS1udW1iZXJzIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcbiAgbWluLXdpZHRoOiA0NnB4O1xuICBoZWlnaHQ6IDQ2cHg7XG4gIHBhZGRpbmctaW5saW5lOiAwLjc1cmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1saW5lKTtcbiAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm8pO1xuICBmb250LXNpemU6IDAuOHJlbTtcbiAgY29sb3I6IHZhcigtLWluay0yKTtcbiAgdHJhbnNpdGlvbjogY29sb3IgdmFyKC0tZHVyLWZhc3QpIGN1YmljLWJlemllcigwLjIyLCAwLjYxLCAwLjM2LCAxKSwgYm9yZGVyLWNvbG9yIHZhcigtLWR1ci1mYXN0KSBjdWJpYy1iZXppZXIoMC4yMiwgMC42MSwgMC4zNiwgMSk7XG59XG4ucGFnaW5hdGlvbiAucGFnZS1udW1iZXJzOmhvdmVyIHtcbiAgY29sb3I6IHZhcigtLWluayk7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tbGluZS0yKTtcbn1cbi5wYWdpbmF0aW9uIC5wYWdlLW51bWJlcnMuY3VycmVudCB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFjY2VudCk7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYWNjZW50KTtcbiAgY29sb3I6IHZhcigtLW9uLWFjY2VudCk7XG59XG5cbi53aXRoLXNpZGUge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgwLCAxZnIpIDMyMHB4O1xuICBnYXA6IGNsYW1wKDJyZW0sIDR2dywgNC41cmVtKTtcbiAgYWxpZ24taXRlbXM6IHN0YXJ0O1xufVxuLndpdGgtc2lkZSA+ICoge1xuICBtaW4td2lkdGg6IDA7XG59XG4ud2l0aC1zaWRlID4gOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogLTAuNnJlbTtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiAxMDgwcHgpIHtcbiAgLndpdGgtc2lkZSB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgZ2FwOiBjbGFtcCgyLjVyZW0sIDZ2dywgNHJlbSk7XG4gIH1cbiAgLndpdGgtc2lkZSA+IDpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxufVxuXG4uc2lkZV9fYmxvY2sgKyAuc2lkZV9fYmxvY2sge1xuICBtYXJnaW4tdG9wOiBjbGFtcCgycmVtLCAzLjV2dywgM3JlbSk7XG59XG4uc2lkZV9fdGl0bGUge1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbiAgZm9udC1zaXplOiBjbGFtcCgwLjlyZW0sIDEuMXZ3LCAxLjE1cmVtKTtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zO1xuICBjb2xvcjogdmFyKC0taW5rLTIpO1xuICBwYWRkaW5nLWJvdHRvbTogMC43NXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWxpbmUpO1xufVxuLnNpZGVfX2xpc3Qge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG59XG4uc2lkZV9faXRlbSArIC5zaWRlX19pdGVtIHtcbiAgbWFyZ2luLXRvcDogMXJlbTtcbn1cbi5zaWRlX19saXN0LS1ndWVzdHMgLnNpZGVfX2xpbmsge1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDUxcHggbWlubWF4KDAsIDFmcik7XG4gIGdhcDogMC43NXJlbTtcbn1cbi5zaWRlX19saXN0LS1ndWVzdHMgLnNpZGVfX3RodW1iIHtcbiAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG59XG4uc2lkZV9fbGluayB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogNjRweCBtaW5tYXgoMCwgMWZyKTtcbiAgZ2FwOiAxcmVtO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBjb2xvcjogaW5oZXJpdDtcbn1cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSBhbmQgKHBvaW50ZXI6IGZpbmUpIHtcbiAgLnNpZGVfX2xpbms6aG92ZXIgLnNpZGVfX25hbWUge1xuICAgIGNvbG9yOiB2YXIoLS1hY2NlbnQtaW5rKTtcbiAgfVxuICAuc2lkZV9fbGluazpob3ZlciAuc2lkZV9fdGh1bWIgaW1nIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDgpIHRyYW5zbGF0ZVooMCk7XG4gIH1cbn1cbi5zaWRlX19saW5rLS1zdGF0aWMge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIG9wYWNpdHk6IDAuNDU7XG59XG5AbWVkaWEgKGhvdmVyOiBob3ZlcikgYW5kIChwb2ludGVyOiBmaW5lKSB7XG4gIC5zaWRlX19saW5rLS1zdGF0aWM6aG92ZXIgLnNpZGVfX25hbWUge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICB9XG4gIC5zaWRlX19saW5rLS1zdGF0aWM6aG92ZXIgLnNpZGVfX3RodW1iIGltZyB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG4uc2lkZV9fdGh1bWIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgYXNwZWN0LXJhdGlvOiAxLzE7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYmFja2dyb3VuZDogdmFyKC0tYmctMyk7XG59XG4uc2lkZV9fdGh1bWIgaW1nIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSkgdHJhbnNsYXRlWigwKTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cyBjdWJpYy1iZXppZXIoMC4yMiwgMC42MSwgMC4zNiwgMSksIG9wYWNpdHkgMC40cyBjdWJpYy1iZXppZXIoMC4yMiwgMC42MSwgMC4zNiwgMSksIGZpbHRlciAwLjRzIGN1YmljLWJlemllcigwLjIyLCAwLjYxLCAwLjM2LCAxKSAhaW1wb3J0YW50O1xufVxuLnNpZGVfX2JvZHkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWluLXdpZHRoOiAwO1xufVxuLnNpZGVfX25hbWUge1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgLXdlYmtpdC1saW5lLWNsYW1wOiAyO1xuICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LXNpemU6IDAuOTJyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG4gIHRyYW5zaXRpb246IGNvbG9yIHZhcigtLWR1ci1mYXN0KSBjdWJpYy1iZXppZXIoMC4yMiwgMC42MSwgMC4zNiwgMSk7XG59XG4uc2lkZV9fbWV0YSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tdG9wOiAwLjNlbTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ubyk7XG4gIGZvbnQtc2l6ZTogMC43cmVtO1xuICBsZXR0ZXItc3BhY2luZzogMC4xMmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBjb2xvcjogdmFyKC0taW5rLTMpO1xufVxuLnNpZGVfX3llYXIge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tbGluZSk7XG59XG4uc2lkZV9feWVhcjpsYXN0LW9mLXR5cGUge1xuICBib3JkZXItYm90dG9tOiAwO1xufVxuLnNpZGVfX3llYXJuYW1lIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nLWJsb2NrOiAwLjc1cmVtO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm8pO1xuICBmb250LXNpemU6IDAuODJyZW07XG4gIGxldHRlci1zcGFjaW5nOiAwLjFlbTtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cbi5zaWRlX195ZWFybmFtZTo6LXdlYmtpdC1kZXRhaWxzLW1hcmtlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4uc2lkZV9feWVhcm5hbWU6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgd2lkdGg6IDdweDtcbiAgaGVpZ2h0OiA3cHg7XG4gIGJvcmRlci1yaWdodDogMnB4IHNvbGlkIGN1cnJlbnRDb2xvcjtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIGN1cnJlbnRDb2xvcjtcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpIHRyYW5zbGF0ZSgtMnB4LCAtMnB4KTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIHZhcigtLWR1ci1mYXN0KSBjdWJpYy1iZXppZXIoMC4yMiwgMC42MSwgMC4zNiwgMSk7XG4gIG9wYWNpdHk6IDAuNTU7XG59XG4uc2lkZV9feWVhcltvcGVuXSAuc2lkZV9feWVhcm5hbWU6OmFmdGVyIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMjI1ZGVnKSB0cmFuc2xhdGUoLTJweCwgLTJweCk7XG59XG4uc2lkZV9fbW9udGhzIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAwIDAgMC43NXJlbTtcbiAgcGFkZGluZzogMDtcbn1cbi5zaWRlX19tb250aHMgYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nLWJsb2NrOiAwLjI1cmVtO1xuICBmb250LXNpemU6IDAuODhyZW07XG4gIGNvbG9yOiB2YXIoLS1pbmstMik7XG4gIHRyYW5zaXRpb246IGNvbG9yIHZhcigtLWR1ci1mYXN0KSBjdWJpYy1iZXppZXIoMC4yMiwgMC42MSwgMC4zNiwgMSk7XG59XG5AbWVkaWEgKGhvdmVyOiBob3ZlcikgYW5kIChwb2ludGVyOiBmaW5lKSB7XG4gIC5zaWRlX19tb250aHMgYTpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLWFjY2VudC1pbmspO1xuICB9XG59XG4uc2lkZV9fbiB7XG4gIG1hcmdpbi1sZWZ0OiAwLjM1ZW07XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm8pO1xuICBmb250LXNpemU6IDAuNzhyZW07XG4gIGNvbG9yOiB2YXIoLS1pbmstMyk7XG4gIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7XG59XG5cbi5jbG91ZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZ2FwOiAwLjVyZW07XG59XG4uY2xvdWRfX3Rlcm0ge1xuICAtLXc6IDA7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gIGdhcDogMC40NWVtO1xuICBwYWRkaW5nOiAwLjRlbSAwLjc1ZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpbmUpO1xuICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgZm9udC1zaXplOiBjYWxjKDAuNzhyZW0gKyB2YXIoLS13KSAqIDAuM3JlbSk7XG4gIGZvbnQtd2VpZ2h0OiBjYWxjKDUwMCArIHZhcigtLXcpICogMjAwKTtcbiAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgY29sb3I6IHZhcigtLWluay0yKTtcbiAgdHJhbnNpdGlvbjogY29sb3IgdmFyKC0tZHVyLWZhc3QpIGN1YmljLWJlemllcigwLjIyLCAwLjYxLCAwLjM2LCAxKSwgYm9yZGVyLWNvbG9yIHZhcigtLWR1ci1mYXN0KSBjdWJpYy1iZXppZXIoMC4yMiwgMC42MSwgMC4zNiwgMSk7XG59XG5AbWVkaWEgKGhvdmVyOiBob3ZlcikgYW5kIChwb2ludGVyOiBmaW5lKSB7XG4gIGEuY2xvdWRfX3Rlcm06aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS1hY2NlbnQtaW5rKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWFjY2VudCk7XG4gIH1cbn1cbi5jbG91ZF9fdGVybS0tc3RhdGljIHtcbiAgYm9yZGVyLXN0eWxlOiBkYXNoZWQ7XG4gIGNvbG9yOiB2YXIoLS1pbmstMyk7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cbi5jbG91ZF9faWNvIHtcbiAgd2lkdGg6IDFlbTtcbiAgaGVpZ2h0OiAxZW07XG4gIGZsZXg6IG5vbmU7XG4gIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgb3BhY2l0eTogMC43O1xufVxuLmNsb3VkX19uIHtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ubyk7XG4gIGZvbnQtc2l6ZTogMC42OHJlbTtcbiAgY29sb3I6IHZhcigtLWluay0zKTtcbiAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcbn1cblxuLnRhZ3Mge1xuICBkaXNwbGF5OiBncmlkO1xuICBnYXA6IDFyZW07XG4gIG1hcmdpbi10b3A6IGNsYW1wKDJyZW0sIDR2dywgM3JlbSk7XG4gIHBhZGRpbmctdG9wOiAxLjVyZW07XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1saW5lKTtcbn1cbi50YWdzX19yb3cge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMC41cmVtO1xufVxuLnRhZ3NfX3JvdyAuY2xvdWQge1xuICBkaXNwbGF5OiBjb250ZW50cztcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA1MjBweCkge1xuICAudGFnc19fcm93IC50YWdzX19sYWJlbCB7XG4gICAgZmxleC1iYXNpczogMTAwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbTtcbiAgfVxufVxuLnRhZ3NfX2xhYmVsIHtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGZvbnQtc2l6ZTogY2xhbXAoMC45cmVtLCAxLjF2dywgMS4xNXJlbSk7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcbiAgY29sb3I6IHZhcigtLWluay0zKTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG59XG5cbi5wcm9tbyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1ibG9jazogY2xhbXAoMy41cmVtLCA3dncsIDdyZW0pO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tbGluZS0yKTtcbn1cbi5wcm9tb19faW5uZXIge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgwLCAxZnIpIG1pbm1heCgwLCAwLjgyZnIpO1xuICBnYXA6IGNsYW1wKDJyZW0sIDV2dywgNXJlbSk7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5AbWVkaWEgKG1heC13aWR0aDogNzgwcHgpIHtcbiAgLnByb21vX19pbm5lciB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMCwgMWZyKTtcbiAgICBnYXA6IGNsYW1wKDJyZW0sIDZ2dywgM3JlbSk7XG4gIH1cbn1cbi5wcm9tb19fY29weSB7XG4gIG1pbi13aWR0aDogMDtcbn1cbi5wcm9tb19fdGl0bGUge1xuICBtYXJnaW4tdG9wOiAxcmVtO1xuICBmb250LXNpemU6IGNsYW1wKDIuMXJlbSwgNS4ydncsIDQuMnJlbSk7XG4gIG1heC13aWR0aDogMTRjaDtcbn1cbi5wcm9tb19fdGV4dCB7XG4gIG1hcmdpbi10b3A6IDEuNXJlbTtcbiAgbWF4LXdpZHRoOiA0NmNoO1xuICBjb2xvcjogdmFyKC0taW5rLTIpO1xuICBmb250LXNpemU6IGNsYW1wKDFyZW0sIDAuMzV2dyArIDAuOTVyZW0sIDEuMTVyZW0pO1xufVxuLnByb21vX19jdGEge1xuICBtYXJnaW4tdG9wOiAycmVtO1xufVxuLnByb21vX19tZWRpYSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYXNwZWN0LXJhdGlvOiAxLzE7XG4gIG1pbi13aWR0aDogMDtcbiAgbWF4LXdpZHRoOiAzMHJlbTtcbiAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWxnKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tYmctMyk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5AbWVkaWEgKG1heC13aWR0aDogNzgwcHgpIHtcbiAgLnByb21vX19tZWRpYSB7XG4gICAgbWF4LXdpZHRoOiAyMnJlbTtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDUyMHB4KSB7XG4gIC5wcm9tb19fbWVkaWEge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbi5wcm9tb19faW1nIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xuICBvYmplY3QtcG9zaXRpb246IGNlbnRlcjtcbn1cblxuLnByb3NlIC53b29jb21tZXJjZSAuc2VsZWN0Mi1jb250YWluZXIgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUsIC5wcm9zZSAud29vY29tbWVyY2Ugc2VsZWN0LCAucGRwIGZvcm0uY2FydCB0YWJsZS52YXJpYXRpb25zIHRkIHNlbGVjdCwgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1vcmRlcmluZyBzZWxlY3Qub3JkZXJieSB7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgcGFkZGluZzogMC42ZW0gMi42ZW0gMC42ZW0gMS4xZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpbmUtMik7XG4gIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1iZyk7XG4gIGNvbG9yOiB2YXIoLS1pbmspO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAwLjkycmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICBsaW5lLWhlaWdodDogMS4yO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMjQgMjQnIGZpbGw9J25vbmUnIHN0cm9rZT0nJTIzNzc3JyBzdHJva2Utd2lkdGg9JzIuMicgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJz48cGF0aCBkPSdNNiA5bDYgNiA2LTYnLz48L3N2Zz5cIik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDFlbSBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogMWVtO1xuICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgdmFyKC0tZHVyLWZhc3QpIGN1YmljLWJlemllcigwLjIyLCAwLjYxLCAwLjM2LCAxKTtcbn1cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSBhbmQgKHBvaW50ZXI6IGZpbmUpIHtcbiAgLnByb3NlIC53b29jb21tZXJjZSAuc2VsZWN0Mi1jb250YWluZXIgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGU6aG92ZXIsIC5wcm9zZSAud29vY29tbWVyY2Ugc2VsZWN0OmhvdmVyLCAucGRwIGZvcm0uY2FydCB0YWJsZS52YXJpYXRpb25zIHRkIHNlbGVjdDpob3ZlciwgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1vcmRlcmluZyBzZWxlY3Qub3JkZXJieTpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pbmstMyk7XG4gIH1cbn1cbi5wcm9zZSAud29vY29tbWVyY2UgLnNlbGVjdDItY29udGFpbmVyIC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlOmZvY3VzLXZpc2libGUsIC5wcm9zZSAud29vY29tbWVyY2Ugc2VsZWN0OmZvY3VzLXZpc2libGUsIC5wZHAgZm9ybS5jYXJ0IHRhYmxlLnZhcmlhdGlvbnMgdGQgc2VsZWN0OmZvY3VzLXZpc2libGUsIC53b29jb21tZXJjZSAud29vY29tbWVyY2Utb3JkZXJpbmcgc2VsZWN0Lm9yZGVyYnk6Zm9jdXMtdmlzaWJsZSB7XG4gIG91dGxpbmU6IDNweCBzb2xpZCB2YXIoLS1hY2NlbnQpO1xuICBvdXRsaW5lLW9mZnNldDogMnB4O1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4ucHJvc2UgLndvb2NvbW1lcmNlIC5xdWFudGl0eSwgLnBkcCBmb3JtLmNhcnQgLnF1YW50aXR5IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgYXV0bztcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgaGVpZ2h0OiA1NHB4O1xuICBwYWRkaW5nOiAwIDAuNzVyZW0gMCAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1saW5lLTIpO1xuICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgYmFja2dyb3VuZDogdmFyKC0tYmcpO1xuICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgdmFyKC0tZHVyLWZhc3QpIGN1YmljLWJlemllcigwLjIyLCAwLjYxLCAwLjM2LCAxKTtcbn1cbi5wcm9zZSAud29vY29tbWVyY2UgLnF1YW50aXR5OmZvY3VzLXdpdGhpbiwgLnBkcCBmb3JtLmNhcnQgLnF1YW50aXR5OmZvY3VzLXdpdGhpbiB7XG4gIG91dGxpbmU6IDNweCBzb2xpZCB2YXIoLS1hY2NlbnQpO1xuICBvdXRsaW5lLW9mZnNldDogMnB4O1xufVxuLnByb3NlIC53b29jb21tZXJjZSAucXVhbnRpdHkgaW5wdXQucXR5LCAucGRwIGZvcm0uY2FydCAucXVhbnRpdHkgaW5wdXQucXR5IHtcbiAgLW1vei1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gIGFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgd2lkdGg6IDIuNmVtO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6IHZhcigtLWluayk7XG4gIGZvbnQ6IGluaGVyaXQ7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgb3V0bGluZTogbm9uZTtcbn1cbi5wcm9zZSAud29vY29tbWVyY2UgLnF1YW50aXR5IGlucHV0LnF0eTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbiwgLnBkcCBmb3JtLmNhcnQgLnF1YW50aXR5IGlucHV0LnF0eTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbiwgLnByb3NlIC53b29jb21tZXJjZSAucXVhbnRpdHkgaW5wdXQucXR5Ojotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uLCAucGRwIGZvcm0uY2FydCAucXVhbnRpdHkgaW5wdXQucXR5Ojotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBtYXJnaW46IDA7XG59XG4ucHJvc2UgLndvb2NvbW1lcmNlIC5xdWFudGl0eSAucXR5X19jdGwsIC5wZHAgZm9ybS5jYXJ0IC5xdWFudGl0eSAucXR5X19jdGwge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLXJvd3M6IDFmciAxZnI7XG4gIGhlaWdodDogMTAwJTtcbiAgcGFkZGluZy1ibG9jazogMTBweDtcbn1cbi5wcm9zZSAud29vY29tbWVyY2UgLnF1YW50aXR5IC5xdHlfX3VwLCAucGRwIGZvcm0uY2FydCAucXVhbnRpdHkgLnF0eV9fdXAsIC5wcm9zZSAud29vY29tbWVyY2UgLnF1YW50aXR5IC5xdHlfX2Rvd24sIC5wZHAgZm9ybS5jYXJ0IC5xdWFudGl0eSAucXR5X19kb3duIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcbiAgd2lkdGg6IDIycHg7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiB2YXIoLS1pbmstMyk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogY29sb3IgdmFyKC0tZHVyLWZhc3QpIGN1YmljLWJlemllcigwLjIyLCAwLjYxLCAwLjM2LCAxKTtcbn1cbi5wcm9zZSAud29vY29tbWVyY2UgLnF1YW50aXR5IC5xdHlfX3VwIHN2ZywgLnBkcCBmb3JtLmNhcnQgLnF1YW50aXR5IC5xdHlfX3VwIHN2ZywgLnByb3NlIC53b29jb21tZXJjZSAucXVhbnRpdHkgLnF0eV9fZG93biBzdmcsIC5wZHAgZm9ybS5jYXJ0IC5xdWFudGl0eSAucXR5X19kb3duIHN2ZyB7XG4gIHdpZHRoOiAxMnB4O1xuICBoZWlnaHQ6IDEycHg7XG59XG5AbWVkaWEgKGhvdmVyOiBob3ZlcikgYW5kIChwb2ludGVyOiBmaW5lKSB7XG4gIC5wcm9zZSAud29vY29tbWVyY2UgLnF1YW50aXR5IC5xdHlfX3VwOmhvdmVyLCAucGRwIGZvcm0uY2FydCAucXVhbnRpdHkgLnF0eV9fdXA6aG92ZXIsIC5wcm9zZSAud29vY29tbWVyY2UgLnF1YW50aXR5IC5xdHlfX2Rvd246aG92ZXIsIC5wZHAgZm9ybS5jYXJ0IC5xdWFudGl0eSAucXR5X19kb3duOmhvdmVyIHtcbiAgICBjb2xvcjogdmFyKC0taW5rKTtcbiAgfVxufVxuLnByb3NlIC53b29jb21tZXJjZSAucXVhbnRpdHkgLnF0eV9fZG93biBzdmcsIC5wZHAgZm9ybS5jYXJ0IC5xdWFudGl0eSAucXR5X19kb3duIHN2ZyB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG59XG5cbi5zZWN0aW9uX19oZWFkLS1zaG9wIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbi5zZWN0aW9uX19oZWFkLS1zaG9wID4gLnNob3Atc29ydCB7XG4gIGZsZXg6IG5vbmU7XG59XG5cbi53b29jb21tZXJjZSAud29vY29tbWVyY2Utb3JkZXJpbmcge1xuICBmbG9hdDogbm9uZTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgbWFyZ2luOiAwO1xufVxuLndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heChtaW4oMTAwJSwgMjQwcHgpLCAxZnIpKTtcbiAgZ2FwOiBjbGFtcCgxLjI1cmVtLCAyLjV2dywgMi41cmVtKTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuLndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzOjpiZWZvcmUsIC53b29jb21tZXJjZSB1bC5wcm9kdWN0czo6YWZ0ZXIge1xuICBjb250ZW50OiBub25lO1xufVxuLndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzW2NsYXNzKj1jb2x1bW5zLV0gbGkucHJvZHVjdCxcbi53b29jb21tZXJjZSB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0IHtcbiAgZmxvYXQ6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG59XG4ud29vY29tbWVyY2UgdWwucHJvZHVjdHNbY2xhc3MqPWNvbHVtbnMtXSBsaS5wcm9kdWN0IGEud29vY29tbWVyY2UtTG9vcFByb2R1Y3QtbGluayxcbi53b29jb21tZXJjZSB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0IGEud29vY29tbWVyY2UtTG9vcFByb2R1Y3QtbGluayB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdhcDogMDtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG4ud29vY29tbWVyY2UgdWwucHJvZHVjdHNbY2xhc3MqPWNvbHVtbnMtXSBsaS5wcm9kdWN0IGltZyxcbi53b29jb21tZXJjZSB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0IGltZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgYXNwZWN0LXJhdGlvOiAxO1xuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tYmctMyk7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSkgdHJhbnNsYXRlWigwKTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC42cyBjdWJpYy1iZXppZXIoMC4yMiwgMC42MSwgMC4zNiwgMSksIG9wYWNpdHkgMC40cyBjdWJpYy1iZXppZXIoMC4yMiwgMC42MSwgMC4zNiwgMSksIGZpbHRlciAwLjRzIGN1YmljLWJlemllcigwLjIyLCAwLjYxLCAwLjM2LCAxKSAhaW1wb3J0YW50O1xufVxuLndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzW2NsYXNzKj1jb2x1bW5zLV0gbGkucHJvZHVjdCBhOmhvdmVyIGltZyxcbi53b29jb21tZXJjZSB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0IGE6aG92ZXIgaW1nIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjA0KSB0cmFuc2xhdGVaKDApO1xufVxuLndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzW2NsYXNzKj1jb2x1bW5zLV0gbGkucHJvZHVjdCAud29vY29tbWVyY2UtbG9vcC1wcm9kdWN0X190aXRsZSxcbi53b29jb21tZXJjZSB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0IC53b29jb21tZXJjZS1sb29wLXByb2R1Y3RfX3RpdGxlIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbiAgZm9udC1zaXplOiBjbGFtcCgxOHB4LCAxNS4zMzMzMzMzMzMzcHggKyAwLjY2NjY2NjY2Njd2dywgMjZweCk7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjA1O1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6IHZhcigtLWluayk7XG4gIHRyYW5zaXRpb246IGNvbG9yIHZhcigtLWR1ci1mYXN0KSBjdWJpYy1iZXppZXIoMC4yMiwgMC42MSwgMC4zNiwgMSk7XG59XG4ud29vY29tbWVyY2UgdWwucHJvZHVjdHNbY2xhc3MqPWNvbHVtbnMtXSBsaS5wcm9kdWN0IGE6aG92ZXIgLndvb2NvbW1lcmNlLWxvb3AtcHJvZHVjdF9fdGl0bGUsXG4ud29vY29tbWVyY2UgdWwucHJvZHVjdHMgbGkucHJvZHVjdCBhOmhvdmVyIC53b29jb21tZXJjZS1sb29wLXByb2R1Y3RfX3RpdGxlIHtcbiAgY29sb3I6IHZhcigtLWFjY2VudC1pbmspO1xufVxuLndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzW2NsYXNzKj1jb2x1bW5zLV0gbGkucHJvZHVjdCAucHJpY2UsXG4ud29vY29tbWVyY2UgdWwucHJvZHVjdHMgbGkucHJvZHVjdCAucHJpY2Uge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGp1c3RpZnktc2VsZjogc3RhcnQ7XG4gIG1hcmdpbjogMC43NXJlbSAwIDA7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuICBmb250LXNpemU6IGNsYW1wKDAuOXJlbSwgMS4xdncsIDEuMTVyZW0pO1xuICBmb250LXdlaWdodDogOTAwO1xuICBsaW5lLWhlaWdodDogMTtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7XG4gIHBhZGRpbmc6IDAuMTZlbSAwLjYyZW07XG4gIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hY2NlbnQpO1xuICBjb2xvcjogI2ZmZjtcbn1cbi53b29jb21tZXJjZSB1bC5wcm9kdWN0c1tjbGFzcyo9Y29sdW1ucy1dIGxpLnByb2R1Y3QgLnByaWNlIGlucyxcbi53b29jb21tZXJjZSB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0IC5wcmljZSBpbnMge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4ud29vY29tbWVyY2UgdWwucHJvZHVjdHNbY2xhc3MqPWNvbHVtbnMtXSBsaS5wcm9kdWN0IC5wcmljZSBkZWwsXG4ud29vY29tbWVyY2UgdWwucHJvZHVjdHMgbGkucHJvZHVjdCAucHJpY2UgZGVsIHtcbiAgb3BhY2l0eTogMC42O1xuICBtYXJnaW4tcmlnaHQ6IDAuNGVtO1xufVxuLndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzW2NsYXNzKj1jb2x1bW5zLV0gbGkucHJvZHVjdCAucHJpY2UgLndvb2NvbW1lcmNlLVByaWNlLWN1cnJlbmN5U3ltYm9sLFxuLndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzIGxpLnByb2R1Y3QgLnByaWNlIC53b29jb21tZXJjZS1QcmljZS1jdXJyZW5jeVN5bWJvbCB7XG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xufVxuXG4ucGRwIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMCwgMS4xZnIpIG1pbm1heCgwLCAxZnIpO1xuICBnYXA6IGNsYW1wKDJyZW0sIDV2dywgNXJlbSk7XG4gIGFsaWduLWl0ZW1zOiBzdGFydDtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiAxMDgwcHgpIHtcbiAgLnBkcCB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgZ2FwOiBjbGFtcCgycmVtLCA1dncsIDNyZW0pO1xuICB9XG59XG4ucGRwX19nYWxsZXJ5IC53b29jb21tZXJjZS1wcm9kdWN0LWdhbGxlcnkge1xuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICBtYXJnaW46IDA7XG59XG4ucGRwX19nYWxsZXJ5IC53b29jb21tZXJjZS1wcm9kdWN0LWdhbGxlcnkgLndvb2NvbW1lcmNlLXByb2R1Y3QtZ2FsbGVyeV9fd3JhcHBlciB7XG4gIG1hcmdpbjogMDtcbn1cbi5wZHBfX2dhbGxlcnkgLndvb2NvbW1lcmNlLXByb2R1Y3QtZ2FsbGVyeSAud29vY29tbWVyY2UtcHJvZHVjdC1nYWxsZXJ5X19pbWFnZSB7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1sZyk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJhY2tncm91bmQ6IHZhcigtLXdhc2gpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1saW5lKTtcbn1cbi5wZHBfX2dhbGxlcnkgLndvb2NvbW1lcmNlLXByb2R1Y3QtZ2FsbGVyeSAud29vY29tbWVyY2UtcHJvZHVjdC1nYWxsZXJ5X19pbWFnZSBpbWcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbn1cbi5wZHBfX2dhbGxlcnkgLndvb2NvbW1lcmNlLXByb2R1Y3QtZ2FsbGVyeSAuZmxleC1jb250cm9sLXRodW1icyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZ2FwOiAwLjc1cmVtO1xuICBtYXJnaW46IDFyZW0gMCAwO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuLnBkcF9fZ2FsbGVyeSAud29vY29tbWVyY2UtcHJvZHVjdC1nYWxsZXJ5IC5mbGV4LWNvbnRyb2wtdGh1bWJzIGxpIHtcbiAgZmxvYXQ6IG5vbmU7XG4gIHdpZHRoOiA3MnB4O1xuICBtYXJnaW46IDA7XG59XG4ucGRwX19nYWxsZXJ5IC53b29jb21tZXJjZS1wcm9kdWN0LWdhbGxlcnkgLmZsZXgtY29udHJvbC10aHVtYnMgbGkgaW1nIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XG4gIGJvcmRlcjogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBvcGFjaXR5OiAwLjU1O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgdmFyKC0tZHVyLWZhc3QpIGN1YmljLWJlemllcigwLjIyLCAwLjYxLCAwLjM2LCAxKSwgYm9yZGVyLWNvbG9yIHZhcigtLWR1ci1mYXN0KSBjdWJpYy1iZXppZXIoMC4yMiwgMC42MSwgMC4zNiwgMSk7XG59XG4ucGRwX19nYWxsZXJ5IC53b29jb21tZXJjZS1wcm9kdWN0LWdhbGxlcnkgLmZsZXgtY29udHJvbC10aHVtYnMgbGkgaW1nLmZsZXgtYWN0aXZlLCAucGRwX19nYWxsZXJ5IC53b29jb21tZXJjZS1wcm9kdWN0LWdhbGxlcnkgLmZsZXgtY29udHJvbC10aHVtYnMgbGkgaW1nOmhvdmVyIHtcbiAgb3BhY2l0eTogMTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1hY2NlbnQpO1xufVxuLnBkcF9fZ2FsbGVyeSAud29vY29tbWVyY2UtcHJvZHVjdC1nYWxsZXJ5IC53b29jb21tZXJjZS1wcm9kdWN0LWdhbGxlcnlfX3RyaWdnZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuLnBkcF9fZ2FsbGVyeSAud29vY29tbWVyY2UtcHJvZHVjdC1nYWxsZXJ5IC53b29jb21tZXJjZS1wcm9kdWN0LWdhbGxlcnlfX2ltYWdlIGEge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLnBkcF9fc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdhcDogMS41cmVtO1xuICBhbGlnbi1jb250ZW50OiBzdGFydDtcbn1cbi5wZHBfX3N1bW1hcnkgPiAqIHtcbiAgbWFyZ2luOiAwO1xufVxuLnBkcF9fdGl0bGUge1xuICBtYXJnaW4tdG9wOiAwLjI1cmVtO1xufVxuLnBkcCAuY3J1bWJzIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGdhcDogMC42ZW07XG59XG4ucGRwIC5jcnVtYnMgYSB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB0cmFuc2l0aW9uOiBjb2xvciB2YXIoLS1kdXItZmFzdCkgY3ViaWMtYmV6aWVyKDAuMjIsIDAuNjEsIDAuMzYsIDEpO1xufVxuQG1lZGlhIChob3ZlcjogaG92ZXIpIGFuZCAocG9pbnRlcjogZmluZSkge1xuICAucGRwIC5jcnVtYnMgYTpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLWFjY2VudC1pbmspO1xuICB9XG59XG4ucGRwIC5jcnVtYnNfX3NlcCB7XG4gIGNvbG9yOiB2YXIoLS1pbmstMyk7XG59XG4ucGRwX19ibHVyYiB7XG4gIGZvbnQtc2l6ZTogY2xhbXAoMXJlbSwgMC4zdncgKyAwLjk1cmVtLCAxLjEycmVtKTtcbiAgY29sb3I6IHZhcigtLWluay0yKTtcbn1cbi5wZHBfX2JsdXJiID4gOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLnBkcF9fcHJpY2UucHJpY2Uge1xuICBqdXN0aWZ5LXNlbGY6IHN0YXJ0O1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbiAgZm9udC1zaXplOiBjbGFtcCgwLjlyZW0sIDEuMXZ3LCAxLjE1cmVtKTtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zO1xuICBmb250LXNpemU6IGNsYW1wKDE2cHgsIDE0cHggKyAwLjV2dywgMjJweCk7XG4gIHBhZGRpbmc6IDAuMjJlbSAwLjdlbTtcbiAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFjY2VudCk7XG4gIGNvbG9yOiAjZmZmO1xufVxuLnBkcF9fcHJpY2UucHJpY2UgaW5zIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuLnBkcF9fcHJpY2UucHJpY2UgZGVsIHtcbiAgb3BhY2l0eTogMC42O1xuICBtYXJnaW4tcmlnaHQ6IDAuNGVtO1xufVxuLnBkcCBmb3JtLmNhcnQge1xuICBkaXNwbGF5OiBncmlkO1xuICBnYXA6IDEuNXJlbTtcbiAgbWFyZ2luOiAwLjVyZW0gMCAwO1xufVxuLnBkcCBmb3JtLmNhcnQgdGFibGUudmFyaWF0aW9ucyB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIG1hcmdpbjogMDtcbn1cbi5wZHAgZm9ybS5jYXJ0IHRhYmxlLnZhcmlhdGlvbnMgdHIge1xuICBkaXNwbGF5OiBncmlkO1xuICBnYXA6IDAuNXJlbTtcbn1cbi5wZHAgZm9ybS5jYXJ0IHRhYmxlLnZhcmlhdGlvbnMgdGgsIC5wZHAgZm9ybS5jYXJ0IHRhYmxlLnZhcmlhdGlvbnMgdGQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cbi5wZHAgZm9ybS5jYXJ0IHRhYmxlLnZhcmlhdGlvbnMgdGggbGFiZWwge1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbiAgZm9udC1zaXplOiBjbGFtcCgwLjlyZW0sIDEuMXZ3LCAxLjE1cmVtKTtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zO1xuICBjb2xvcjogdmFyKC0taW5rLTIpO1xufVxuLnBkcCBmb3JtLmNhcnQgdGFibGUudmFyaWF0aW9ucyB0ZCBzZWxlY3Qge1xuICB3aWR0aDogMTAwJTtcbn1cbi5wZHAgZm9ybS5jYXJ0IHRhYmxlLnZhcmlhdGlvbnMgLnJlc2V0X3ZhcmlhdGlvbnMge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi10b3A6IDAuNXJlbTtcbiAgZm9udC1zaXplOiAwLjhyZW07XG4gIGNvbG9yOiB2YXIoLS1pbmstMyk7XG59XG4ucGRwIGZvcm0uY2FydCAucmVzZXRfdmFyaWF0aW9ucyB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cbi5wZHAgZm9ybS5jYXJ0IC53b29jb21tZXJjZS12YXJpYXRpb24gLndvb2NvbW1lcmNlLXZhcmlhdGlvbi1wcmljZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4ucGRwIGZvcm0uY2FydCAud29vY29tbWVyY2UtdmFyaWF0aW9uIC53b29jb21tZXJjZS12YXJpYXRpb24tYXZhaWxhYmlsaXR5IHAge1xuICBtYXJnaW46IDAgMCAwLjVyZW07XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm8pO1xuICBmb250LXNpemU6IDAuNzJyZW07XG4gIGxldHRlci1zcGFjaW5nOiAwLjEyZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGNvbG9yOiB2YXIoLS1pbmstMyk7XG59XG4ucGRwIGZvcm0uY2FydCAud29vY29tbWVyY2UtdmFyaWF0aW9uIC53b29jb21tZXJjZS12YXJpYXRpb24tYXZhaWxhYmlsaXR5IHAub3V0LW9mLXN0b2NrIHtcbiAgY29sb3I6ICNjMDM5MmI7XG59XG4ucGRwIGZvcm0uY2FydCAud29vY29tbWVyY2UtdmFyaWF0aW9uLWFkZC10by1jYXJ0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBnYXA6IDAuNzVyZW07XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG4ucGRwIGZvcm0uY2FydCAuc2luZ2xlX2FkZF90b19jYXJ0X2J1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZmxleDogMSAxIGF1dG87XG4gIGhlaWdodDogNTRweDtcbiAgcGFkZGluZy1pbmxpbmU6IDJyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWFjY2VudCk7XG4gIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hY2NlbnQpO1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udDogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAwLjkycmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICBsZXR0ZXItc3BhY2luZzogMC4wMWVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIHZhcigtLWR1ci1mYXN0KSBjdWJpYy1iZXppZXIoMC4yMiwgMC42MSwgMC4zNiwgMSksIGJvcmRlci1jb2xvciB2YXIoLS1kdXItZmFzdCkgY3ViaWMtYmV6aWVyKDAuMjIsIDAuNjEsIDAuMzYsIDEpLCB0cmFuc2Zvcm0gdmFyKC0tZHVyLWZhc3QpIGN1YmljLWJlemllcigwLjIyLCAwLjYxLCAwLjM2LCAxKTtcbn1cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSBhbmQgKHBvaW50ZXI6IGZpbmUpIHtcbiAgLnBkcCBmb3JtLmNhcnQgLnNpbmdsZV9hZGRfdG9fY2FydF9idXR0b246aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWluayk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pbmspO1xuICAgIGNvbG9yOiB2YXIoLS1iZyk7XG4gIH1cbn1cbi5wZHAgZm9ybS5jYXJ0IC5zaW5nbGVfYWRkX3RvX2NhcnRfYnV0dG9uOmFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxcHgpO1xufVxuLnBkcCBmb3JtLmNhcnQgLnNpbmdsZV9hZGRfdG9fY2FydF9idXR0b24uZGlzYWJsZWQsIC5wZHAgZm9ybS5jYXJ0IC5zaW5nbGVfYWRkX3RvX2NhcnRfYnV0dG9uOmRpc2FibGVkIHtcbiAgb3BhY2l0eTogMC40O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuLnBkcCBmb3JtLmNhcnQgLnNpbmdsZV9hZGRfdG9fY2FydF9idXR0b24uaXMtYWRkaW5nIHtcbiAgb3BhY2l0eTogMC43O1xuICBjdXJzb3I6IHByb2dyZXNzO1xufVxuLnBkcCBmb3JtLmNhcnQgLmFkZGVkX3RvX2NhcnQge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG4ucGRwIGZvcm0uY2FydCAuc2luZ2xlX2FkZF90b19jYXJ0X2J1dHRvbi5pcy1hZGRlZCB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWluayk7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0taW5rKTtcbiAgY29sb3I6IHZhcigtLWJnKTtcbn1cbi5wZHBfX2Rlc2Mge1xuICBtYXJnaW4tdG9wOiBjbGFtcCgyLjVyZW0sIDV2dywgNHJlbSk7XG4gIG1heC13aWR0aDogNjhjaDtcbn1cblxuLndvb2NvbW1lcmNlLW5vdGljZXMtd3JhcHBlcjplbXB0eSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi53b29jb21tZXJjZS1tZXNzYWdlLFxuLndvb2NvbW1lcmNlLWluZm8sXG4ud29vY29tbWVyY2UtZXJyb3Ige1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDAuMzVlbSAxZW07XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwIDAgMS41cmVtO1xuICBwYWRkaW5nOiAwLjdlbSAxLjJlbTtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgYmFja2dyb3VuZDogdmFyKC0taW5rKTtcbiAgY29sb3I6IHZhcigtLWJnKTtcbiAgZm9udC1zaXplOiAwLjg4cmVtO1xuICBmb250LXdlaWdodDogNTAwO1xuICBsaW5lLWhlaWdodDogMS4zO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuLndvb2NvbW1lcmNlLW1lc3NhZ2U6OmJlZm9yZSxcbi53b29jb21tZXJjZS1pbmZvOjpiZWZvcmUsXG4ud29vY29tbWVyY2UtZXJyb3I6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4ud29vY29tbWVyY2UtbWVzc2FnZSBhLFxuLndvb2NvbW1lcmNlLWluZm8gYSxcbi53b29jb21tZXJjZS1lcnJvciBhIHtcbiAgY29sb3I6IHZhcigtLWFjY2VudCk7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSBhbmQgKHBvaW50ZXI6IGZpbmUpIHtcbiAgLndvb2NvbW1lcmNlLW1lc3NhZ2UgYTpob3ZlcixcbiAgLndvb2NvbW1lcmNlLWluZm8gYTpob3ZlcixcbiAgLndvb2NvbW1lcmNlLWVycm9yIGE6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB9XG59XG4ud29vY29tbWVyY2UtbWVzc2FnZSAuYnV0dG9uLFxuLndvb2NvbW1lcmNlLWluZm8gLmJ1dHRvbixcbi53b29jb21tZXJjZS1lcnJvciAuYnV0dG9uIHtcbiAgYWxsOiB1bnNldDtcbiAgY29sb3I6IHZhcigtLWFjY2VudCk7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLndvb2NvbW1lcmNlLWVycm9yIHtcbiAgYmFja2dyb3VuZDogI2MwMzkyYjtcbiAgY29sb3I6ICNmZmY7XG59XG4ud29vY29tbWVyY2UtZXJyb3IgYSB7XG4gIGNvbG9yOiAjZmZmO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLndvb2NvbW1lcmNlLWVycm9yIGxpIHtcbiAgbWFyZ2luOiAwO1xufVxuXG4ud29vY29tbWVyY2UtY2FydCAud29vY29tbWVyY2Utbm90aWNlcy13cmFwcGVyIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBsZWZ0OiA1MCU7XG4gIHRvcDogY2FsYyh2YXIoLS1uYXYtaCkgKyAyM3B4KTtcbiAgei1pbmRleDogNjA7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdhcDogMC41cmVtO1xuICBqdXN0aWZ5LWl0ZW1zOiBjZW50ZXI7XG4gIHdpZHRoOiBtYXgtY29udGVudDtcbiAgbWF4LXdpZHRoOiBjYWxjKDEwMHZ3IC0gMzJweCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4ud29vY29tbWVyY2UtY2FydCAud29vY29tbWVyY2Utbm90aWNlcy13cmFwcGVyID4gKiB7XG4gIG1hcmdpbjogMDtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gIGJveC1zaGFkb3c6IDAgMTBweCAzMHB4IHJnYmEoMCwgMCwgMCwgMC4xOCk7XG4gIGFuaW1hdGlvbjogdG9hc3QtaW4gMC4zcyBjdWJpYy1iZXppZXIoMC4xNiwgMSwgMC4zLCAxKSBib3RoLCB0b2FzdC1vdXQgMC4zNXMgY3ViaWMtYmV6aWVyKDAuMjIsIDAuNjEsIDAuMzYsIDEpIDEwcyBmb3J3YXJkcztcbn1cbi53b29jb21tZXJjZS1jYXJ0IC53b29jb21tZXJjZS1ub3RpY2VzLXdyYXBwZXIgPiAuY2FydC1lbXB0eSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuQGtleWZyYW1lcyB0b2FzdC1pbiB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMnB4KTtcbiAgfVxufVxuQGtleWZyYW1lcyB0b2FzdC1vdXQge1xuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLThweCk7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG59XG4ud29vY29tbWVyY2UtaW5mby5jYXJ0LWVtcHR5IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogdmFyKC0taW5rLTIpO1xuICBmb250LXNpemU6IGNsYW1wKDEuMDVyZW0sIDAuNXZ3ICsgMC45NXJlbSwgMS4zcmVtKTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLnByb3NlIC53b29jb21tZXJjZSBhIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuLnByb3NlIC53b29jb21tZXJjZSB0YWJsZS5zaG9wX3RhYmxlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMDtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBmb250LXNpemU6IDAuOTVyZW07XG59XG4ucHJvc2UgLndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGUgdGgge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuLnByb3NlIC53b29jb21tZXJjZSB0YWJsZS5zaG9wX3RhYmxlIHRoLCAucHJvc2UgLndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGUgdGQge1xuICBwYWRkaW5nOiAxcmVtIDAuNzVyZW07XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWxpbmUpO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBsaW5lLWhlaWdodDogMS4zNTtcbn1cbi5wcm9zZSAud29vY29tbWVyY2UgdGFibGUuc2hvcF90YWJsZSB0aGVhZCB0aCB7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuICBmb250LXNpemU6IGNsYW1wKDAuOXJlbSwgMS4xdncsIDEuMTVyZW0pO1xuICBmb250LXdlaWdodDogOTAwO1xuICBsaW5lLWhlaWdodDogMTtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7XG4gIGNvbG9yOiB2YXIoLS1pbmstMyk7XG4gIHBhZGRpbmctdG9wOiAwO1xufVxuLnByb3NlIC53b29jb21tZXJjZSB0YWJsZS5zaG9wX3RhYmxlIHRib2R5IHRyOmxhc3QtY2hpbGQgdGgsXG4ucHJvc2UgLndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGUgdGJvZHkgdHI6bGFzdC1jaGlsZCB0ZCB7XG4gIGJvcmRlci1ib3R0b206IDA7XG59XG4ucHJvc2UgLndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGUgdGZvb3QgdGgsIC5wcm9zZSAud29vY29tbWVyY2UgdGFibGUuc2hvcF90YWJsZSB0Zm9vdCB0ZCB7XG4gIGJvcmRlci1ib3R0b206IDA7XG59XG4ucHJvc2UgLndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGUgYSB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBmb250LXdlaWdodDogNjAwO1xufVxuLnByb3NlIC53b29jb21tZXJjZSB0YWJsZS5zaG9wX3RhYmxlIC5hbW91bnQge1xuICBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zO1xufVxuLnByb3NlIC53b29jb21tZXJjZSBpbnB1dC5pbnB1dC10ZXh0LFxuLnByb3NlIC53b29jb21tZXJjZSB0ZXh0YXJlYS5pbnB1dC10ZXh0IHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNTRweDtcbiAgcGFkZGluZzogMCAxLjNyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpbmUtMik7XG4gIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1iZyk7XG4gIGNvbG9yOiB2YXIoLS1pbmspO1xuICBmb250OiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogMS4zO1xuICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgdmFyKC0tZHVyLWZhc3QpIGN1YmljLWJlemllcigwLjIyLCAwLjYxLCAwLjM2LCAxKTtcbn1cbi5wcm9zZSAud29vY29tbWVyY2UgaW5wdXQuaW5wdXQtdGV4dDpmb2N1cy12aXNpYmxlLFxuLnByb3NlIC53b29jb21tZXJjZSB0ZXh0YXJlYS5pbnB1dC10ZXh0OmZvY3VzLXZpc2libGUge1xuICBvdXRsaW5lOiAzcHggc29saWQgdmFyKC0tYWNjZW50KTtcbiAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbn1cbi5wcm9zZSAud29vY29tbWVyY2UgaW5wdXQuaW5wdXQtdGV4dDo6cGxhY2Vob2xkZXIsXG4ucHJvc2UgLndvb2NvbW1lcmNlIHRleHRhcmVhLmlucHV0LXRleHQ6OnBsYWNlaG9sZGVyIHtcbiAgY29sb3I6IHZhcigtLWluay0zKTtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA3ODBweCkge1xuICAucHJvc2UgLndvb2NvbW1lcmNlIHRhYmxlLmNhcnQgdGQucHJvZHVjdC10aHVtYm5haWwge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cbiAgLnByb3NlIC53b29jb21tZXJjZSB0YWJsZS5jYXJ0IHRkLnByb2R1Y3QtdGh1bWJuYWlsOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLnByb3NlIC53b29jb21tZXJjZSB0YWJsZS5jYXJ0IHRkLmFjdGlvbnMgLmNvdXBvbiB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC5wcm9zZSAud29vY29tbWVyY2UgdGFibGUuY2FydCB0ZC5hY3Rpb25zIC5jb3Vwb24gLmlucHV0LXRleHQge1xuICAgIGZsZXg6IDEgMSAxNjBweDtcbiAgICB3aWR0aDogYXV0bztcbiAgICBtaW4td2lkdGg6IDA7XG4gIH1cbiAgLnByb3NlIC53b29jb21tZXJjZSB0YWJsZS5jYXJ0IHRkLmFjdGlvbnMgLmNvdXBvbiAuYnV0dG9uIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogYXV0bztcbiAgfVxufVxuLnByb3NlIC53b29jb21tZXJjZSB0ZXh0YXJlYS5pbnB1dC10ZXh0IHtcbiAgaGVpZ2h0OiBhdXRvO1xuICBwYWRkaW5nOiAxcmVtIDEuM3JlbTtcbiAgYm9yZGVyLXJhZGl1czogMjdweDtcbiAgbWluLWhlaWdodDogNmVtO1xufVxuLnByb3NlIC53b29jb21tZXJjZSAucXVhbnRpdHkge1xuICBoZWlnaHQ6IDQ2cHg7XG59XG4ucHJvc2UgLndvb2NvbW1lcmNlIC5xdWFudGl0eSAucXR5X19jdGwge1xuICBwYWRkaW5nLWJsb2NrOiA3cHg7XG59XG4ucHJvc2UgLndvb2NvbW1lcmNlIHNlbGVjdCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuLnByb3NlIC53b29jb21tZXJjZSAuc2VsZWN0Mi1jb250YWluZXIgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUge1xuICBoZWlnaHQ6IGF1dG87XG59XG4ucHJvc2UgLndvb2NvbW1lcmNlIC5zZWxlY3QyLWNvbnRhaW5lciAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX3JlbmRlcmVkIHtcbiAgcGFkZGluZzogMDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIGNvbG9yOiBpbmhlcml0O1xufVxuLnByb3NlIC53b29jb21tZXJjZSAuc2VsZWN0Mi1jb250YWluZXIgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUgLnNlbGVjdDItc2VsZWN0aW9uX19hcnJvdyB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4ucHJvc2UgLndvb2NvbW1lcmNlIC5idXR0b24sIC5wcm9zZSAud29vY29tbWVyY2UgYnV0dG9uLmJ1dHRvbiwgLnByb3NlIC53b29jb21tZXJjZSBhLmJ1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZ2FwOiAwLjc1cmVtO1xuICBoZWlnaHQ6IDU0cHg7XG4gIHBhZGRpbmctaW5saW5lOiAycmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1saW5lLTIpO1xuICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiB2YXIoLS1pbmspO1xuICBmb250OiBpbmhlcml0O1xuICBmb250LXNpemU6IDAuOTJyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxldHRlci1zcGFjaW5nOiAwLjAxZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgdmFyKC0tZHVyLWZhc3QpIGN1YmljLWJlemllcigwLjIyLCAwLjYxLCAwLjM2LCAxKSwgY29sb3IgdmFyKC0tZHVyLWZhc3QpIGN1YmljLWJlemllcigwLjIyLCAwLjYxLCAwLjM2LCAxKSwgYm9yZGVyLWNvbG9yIHZhcigtLWR1ci1mYXN0KSBjdWJpYy1iZXppZXIoMC4yMiwgMC42MSwgMC4zNiwgMSk7XG59XG5AbWVkaWEgKGhvdmVyOiBob3ZlcikgYW5kIChwb2ludGVyOiBmaW5lKSB7XG4gIC5wcm9zZSAud29vY29tbWVyY2UgLmJ1dHRvbjpob3ZlciwgLnByb3NlIC53b29jb21tZXJjZSBidXR0b24uYnV0dG9uOmhvdmVyLCAucHJvc2UgLndvb2NvbW1lcmNlIGEuYnV0dG9uOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1pbmspO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0taW5rKTtcbiAgICBjb2xvcjogdmFyKC0tYmcpO1xuICB9XG59XG4ucHJvc2UgLndvb2NvbW1lcmNlIC5idXR0b246ZGlzYWJsZWQsIC5wcm9zZSAud29vY29tbWVyY2UgLmJ1dHRvbi5kaXNhYmxlZCwgLnByb3NlIC53b29jb21tZXJjZSBidXR0b24uYnV0dG9uOmRpc2FibGVkLCAucHJvc2UgLndvb2NvbW1lcmNlIGJ1dHRvbi5idXR0b24uZGlzYWJsZWQsIC5wcm9zZSAud29vY29tbWVyY2UgYS5idXR0b246ZGlzYWJsZWQsIC5wcm9zZSAud29vY29tbWVyY2UgYS5idXR0b24uZGlzYWJsZWQge1xuICBvcGFjaXR5OiAwLjQ7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG4ucHJvc2UgLndvb2NvbW1lcmNlIC5jaGVja291dC1idXR0b24sIC5wcm9zZSAud29vY29tbWVyY2UgI3BsYWNlX29yZGVyLCAucHJvc2UgLndvb2NvbW1lcmNlIC5idXR0b24uYWx0LCAucHJvc2UgLndvb2NvbW1lcmNlIC5jb3Vwb24gLmJ1dHRvbltuYW1lPWFwcGx5X2NvdXBvbl0ge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hY2NlbnQpO1xuICBib3JkZXItY29sb3I6IHZhcigtLWFjY2VudCk7XG4gIGNvbG9yOiB2YXIoLS1vbi1hY2NlbnQpO1xufVxuLnByb3NlIC53b29jb21tZXJjZSAuZm9ybS1yb3cge1xuICBtYXJnaW46IDAgMCAxcmVtO1xuICBwYWRkaW5nOiAwO1xufVxuLnByb3NlIC53b29jb21tZXJjZSAuZm9ybS1yb3cgbGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbiAgZm9udC1zaXplOiBjbGFtcCgwLjlyZW0sIDEuMXZ3LCAxLjE1cmVtKTtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zO1xuICBjb2xvcjogdmFyKC0taW5rLTIpO1xufVxuLnByb3NlIC53b29jb21tZXJjZSAuZm9ybS1yb3cgbGFiZWwgLnJlcXVpcmVkIHtcbiAgY29sb3I6IHZhcigtLWluay0zKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuLnByb3NlIC53b29jb21tZXJjZSAuZm9ybS1yb3cgbGFiZWwgLm9wdGlvbmFsIHtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGxldHRlci1zcGFjaW5nOiAwO1xuICBjb2xvcjogdmFyKC0taW5rLTMpO1xufVxuLnByb3NlIC53b29jb21tZXJjZSAuZm9ybS1yb3cuZm9ybS1yb3ctZmlyc3QsIC5wcm9zZSAud29vY29tbWVyY2UgLmZvcm0tcm93LmZvcm0tcm93LWxhc3Qge1xuICB3aWR0aDogY2FsYyg1MCUgLSAwLjVyZW0pO1xufVxuLnByb3NlIC53b29jb21tZXJjZSAuZm9ybS1yb3cuZm9ybS1yb3ctZmlyc3Qge1xuICBmbG9hdDogbGVmdDtcbn1cbi5wcm9zZSAud29vY29tbWVyY2UgLmZvcm0tcm93LmZvcm0tcm93LWxhc3Qge1xuICBmbG9hdDogcmlnaHQ7XG59XG4ucHJvc2UgLndvb2NvbW1lcmNlIC5mb3JtLXJvdy5mb3JtLXJvdy13aWRlIHtcbiAgY2xlYXI6IGJvdGg7XG59XG4ucHJvc2UgLndvb2NvbW1lcmNlIC5mb3JtLXJvdyAud29vY29tbWVyY2UtaW5wdXQtd3JhcHBlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDUyMHB4KSB7XG4gIC5wcm9zZSAud29vY29tbWVyY2UgLmZvcm0tcm93LmZvcm0tcm93LWZpcnN0LCAucHJvc2UgLndvb2NvbW1lcmNlIC5mb3JtLXJvdy5mb3JtLXJvdy1sYXN0IHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuLnByb3NlIC53b29jb21tZXJjZSAuZm9ybS1yb3cgLmNoZWNrYm94LFxuLnByb3NlIC53b29jb21tZXJjZSAud29vY29tbWVyY2UtZm9ybV9fbGFiZWwtZm9yLWNoZWNrYm94IHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMC41cmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IDAuOTVyZW07XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGNvbG9yOiB2YXIoLS1pbmspO1xufVxuLnByb3NlIC53b29jb21tZXJjZSAuZm9ybS1yb3cgLmNoZWNrYm94IGlucHV0LFxuLnByb3NlIC53b29jb21tZXJjZSAud29vY29tbWVyY2UtZm9ybV9fbGFiZWwtZm9yLWNoZWNrYm94IGlucHV0IHtcbiAgd2lkdGg6IGF1dG87XG4gIGFjY2VudC1jb2xvcjogdmFyKC0tYWNjZW50KTtcbn1cbi5wcm9zZSAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLWNhcnQtZm9ybSB7XG4gIG1hcmdpbjogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjI1cyBjdWJpYy1iZXppZXIoMC4yMiwgMC42MSwgMC4zNiwgMSk7XG59XG4ucHJvc2UgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1jYXJ0LWZvcm0gdGFibGUuY2FydCB7XG4gIHRhYmxlLWxheW91dDogZml4ZWQ7XG59XG4ucHJvc2UgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1jYXJ0LWZvcm0gdGFibGUuY2FydCB0aC5wcm9kdWN0LXJlbW92ZSB7XG4gIHdpZHRoOiA0NHB4O1xufVxuLnByb3NlIC53b29jb21tZXJjZSAud29vY29tbWVyY2UtY2FydC1mb3JtIHRhYmxlLmNhcnQgdGgucHJvZHVjdC10aHVtYm5haWwge1xuICB3aWR0aDogOTZweDtcbn1cbi5wcm9zZSAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLWNhcnQtZm9ybSB0YWJsZS5jYXJ0IHRoLnByb2R1Y3QtcHJpY2Uge1xuICB3aWR0aDogOTZweDtcbn1cbi5wcm9zZSAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLWNhcnQtZm9ybSB0YWJsZS5jYXJ0IHRoLnByb2R1Y3QtcXVhbnRpdHkge1xuICB3aWR0aDogMTUwcHg7XG59XG4ucHJvc2UgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1jYXJ0LWZvcm0gdGFibGUuY2FydCB0aC5wcm9kdWN0LXN1YnRvdGFsIHtcbiAgd2lkdGg6IDEwMHB4O1xufVxuLnByb3NlIC53b29jb21tZXJjZSAud29vY29tbWVyY2UtY2FydC1mb3JtIHRkLnByb2R1Y3QtcmVtb3ZlLCAucHJvc2UgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1jYXJ0LWZvcm0gdGgucHJvZHVjdC1yZW1vdmUge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDFyZW07XG59XG4ucHJvc2UgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1jYXJ0LWZvcm0gYS5yZW1vdmUge1xuICBkaXNwbGF5OiBncmlkO1xuICBwbGFjZS1pdGVtczogY2VudGVyO1xuICB3aWR0aDogMjhweDtcbiAgaGVpZ2h0OiAyOHB4O1xuICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbGluZS0yKTtcbiAgY29sb3I6IHZhcigtLWluay0yKSAhaW1wb3J0YW50O1xuICBmb250LXNpemU6IDEuMXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCB2YXIoLS1kdXItZmFzdCkgY3ViaWMtYmV6aWVyKDAuMjIsIDAuNjEsIDAuMzYsIDEpLCBjb2xvciB2YXIoLS1kdXItZmFzdCkgY3ViaWMtYmV6aWVyKDAuMjIsIDAuNjEsIDAuMzYsIDEpO1xufVxuQG1lZGlhIChob3ZlcjogaG92ZXIpIGFuZCAocG9pbnRlcjogZmluZSkge1xuICAucHJvc2UgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1jYXJ0LWZvcm0gYS5yZW1vdmU6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWluaykgIWltcG9ydGFudDtcbiAgICBjb2xvcjogdmFyKC0tYmcpICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pbmspO1xuICB9XG59XG4ucHJvc2UgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1jYXJ0LWZvcm0gdGQucHJvZHVjdC10aHVtYm5haWwsIC5wcm9zZSAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLWNhcnQtZm9ybSB0aC5wcm9kdWN0LXRodW1ibmFpbCB7XG4gIHBhZGRpbmctcmlnaHQ6IDFyZW07XG59XG4ucHJvc2UgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1jYXJ0LWZvcm0gdGQucHJvZHVjdC10aHVtYm5haWwgaW1nIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiA3MnB4O1xuICBtYXgtd2lkdGg6IG5vbmU7XG4gIGhlaWdodDogNzJweDtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWJnLTMpO1xufVxuLnByb3NlIC53b29jb21tZXJjZSAud29vY29tbWVyY2UtY2FydC1mb3JtIHRkLnByb2R1Y3QtbmFtZSB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG4ucHJvc2UgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1jYXJ0LWZvcm0gdGQucHJvZHVjdC1uYW1lIC52YXJpYXRpb24ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwLjNlbSAwIDA7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm8pO1xuICBmb250LXNpemU6IDAuN3JlbTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMTJlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6IHZhcigtLWluay0zKTtcbn1cbi5wcm9zZSAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLWNhcnQtZm9ybSB0ZC5wcm9kdWN0LW5hbWUgLnZhcmlhdGlvbiBkdCwgLnByb3NlIC53b29jb21tZXJjZSAud29vY29tbWVyY2UtY2FydC1mb3JtIHRkLnByb2R1Y3QtbmFtZSAudmFyaWF0aW9uIGRkLCAucHJvc2UgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1jYXJ0LWZvcm0gdGQucHJvZHVjdC1uYW1lIC52YXJpYXRpb24gcCB7XG4gIGRpc3BsYXk6IGlubGluZTtcbiAgbWFyZ2luOiAwO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuLnByb3NlIC53b29jb21tZXJjZSAud29vY29tbWVyY2UtY2FydC1mb3JtIHRkLnByb2R1Y3QtbmFtZSAudmFyaWF0aW9uIGR0IHtcbiAgbWFyZ2luLXJpZ2h0OiAwLjNlbTtcbn1cbi5wcm9zZSAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLWNhcnQtZm9ybSB0ZC5wcm9kdWN0LXByaWNlLCAucHJvc2UgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1jYXJ0LWZvcm0gdGQucHJvZHVjdC1zdWJ0b3RhbCB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4ucHJvc2UgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1jYXJ0LWZvcm0gdGQuYWN0aW9ucyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBnYXA6IDAuNzVyZW07XG4gIHBhZGRpbmctaW5saW5lOiAwO1xuICBib3JkZXI6IDA7XG59XG4ucHJvc2UgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1jYXJ0LWZvcm0gdGQuYWN0aW9ucyAuY291cG9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiAwLjVyZW07XG4gIGZsb2F0OiBub25lO1xufVxuLnByb3NlIC53b29jb21tZXJjZSAud29vY29tbWVyY2UtY2FydC1mb3JtIHRkLmFjdGlvbnMgPiAuYnV0dG9uW25hbWU9dXBkYXRlX2NhcnRdIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5wcm9zZSAud29vY29tbWVyY2UgLmJsb2NrVUkuYmxvY2tPdmVybGF5IHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuLnByb3NlIC53b29jb21tZXJjZSAucHJvY2Vzc2luZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5wcm9zZSAud29vY29tbWVyY2UgLnByb2Nlc3Npbmc6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cbi5wcm9zZSAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLWNhcnQtZm9ybS5wcm9jZXNzaW5nLFxuLnByb3NlIC53b29jb21tZXJjZSAuY2FydF90b3RhbHMucHJvY2Vzc2luZyxcbi5wcm9zZSAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLWNoZWNrb3V0LXJldmlldy1vcmRlci5wcm9jZXNzaW5nLFxuLnByb3NlIC53b29jb21tZXJjZSAud29vY29tbWVyY2UtY2hlY2tvdXQtcGF5bWVudC5wcm9jZXNzaW5nIHtcbiAgb3BhY2l0eTogMC40NTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4yNXMgY3ViaWMtYmV6aWVyKDAuMjIsIDAuNjEsIDAuMzYsIDEpO1xufVxuLnByb3NlIC53b29jb21tZXJjZSB0YWJsZS5jYXJ0IHRkLmFjdGlvbnMgLmNvdXBvbiAuaW5wdXQtdGV4dCB7XG4gIGZsb2F0OiBub25lO1xuICB3aWR0aDogMjIwcHg7XG4gIGhlaWdodDogNTRweDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwIDEuM3JlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbGluZS0yKTtcbiAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gIGJhY2tncm91bmQ6IHZhcigtLWJnKTtcbiAgY29sb3I6IHZhcigtLWluayk7XG4gIGZvbnQ6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMztcbn1cbi5wcm9zZSAud29vY29tbWVyY2UgdGFibGUuY2FydCB0ZC5hY3Rpb25zIC5jb3Vwb24gLmlucHV0LXRleHQ6Zm9jdXMtdmlzaWJsZSB7XG4gIG91dGxpbmU6IDNweCBzb2xpZCB2YXIoLS1hY2NlbnQpO1xuICBvdXRsaW5lLW9mZnNldDogMnB4O1xufVxuLnByb3NlIC53b29jb21tZXJjZSB0YWJsZS5jYXJ0IHRkLmFjdGlvbnMgLmNvdXBvbiAuaW5wdXQtdGV4dDo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogdmFyKC0taW5rLTMpO1xufVxuLnByb3NlIC53b29jb21tZXJjZSAuY2FydF90b3RhbHMge1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMjVzIGN1YmljLWJlemllcigwLjIyLCAwLjYxLCAwLjM2LCAxKTtcbiAgZmxvYXQ6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDQyMHB4O1xuICBtYXJnaW46IGNsYW1wKDJyZW0sIDR2dywgM3JlbSkgMCAwIGF1dG87XG4gIHBhZGRpbmc6IDJyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpbmUpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbGcpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS13YXNoKTtcbn1cbi5wcm9zZSAud29vY29tbWVyY2UgLmNhcnRfdG90YWxzIGgyIHtcbiAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGZvbnQtc2l6ZTogY2xhbXAoMjBweCwgMThweCArIDAuNXZ3LCAyNnB4KTtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuLnByb3NlIC53b29jb21tZXJjZSAuY2FydF90b3RhbHMgdGFibGUuc2hvcF90YWJsZSB0aCB7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuICBmb250LXNpemU6IGNsYW1wKDAuOXJlbSwgMS4xdncsIDEuMTVyZW0pO1xuICBmb250LXdlaWdodDogOTAwO1xuICBsaW5lLWhlaWdodDogMTtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7XG4gIGNvbG9yOiB2YXIoLS1pbmstMyk7XG4gIHdpZHRoOiA0NSU7XG4gIHBhZGRpbmctbGVmdDogMDtcbn1cbi5wcm9zZSAud29vY29tbWVyY2UgLmNhcnRfdG90YWxzIHRhYmxlLnNob3BfdGFibGUgdGQge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgcGFkZGluZy1yaWdodDogMDtcbn1cbi5wcm9zZSAud29vY29tbWVyY2UgLmNhcnRfdG90YWxzIHRhYmxlLnNob3BfdGFibGUgdHIub3JkZXItdG90YWwgdGQge1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbiAgZm9udC1zaXplOiAxLjM1cmVtO1xuICBmb250LXdlaWdodDogOTAwO1xufVxuLnByb3NlIC53b29jb21tZXJjZSAuY2FydF90b3RhbHMgLndjLXByb2NlZWQtdG8tY2hlY2tvdXQge1xuICBwYWRkaW5nOiAxLjVyZW0gMCAwO1xufVxuLnByb3NlIC53b29jb21tZXJjZSAuY2FydF90b3RhbHMgLndjLXByb2NlZWQtdG8tY2hlY2tvdXQgLmNoZWNrb3V0LWJ1dHRvbiB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDA7XG59XG4ucHJvc2UgLndvb2NvbW1lcmNlIC5jYXJ0X3RvdGFscyAud29vY29tbWVyY2Utc2hpcHBpbmctZGVzdGluYXRpb24sIC5wcm9zZSAud29vY29tbWVyY2UgLmNhcnRfdG90YWxzIC53b29jb21tZXJjZS1zaGlwcGluZy1jYWxjdWxhdG9yIHtcbiAgZm9udC1zaXplOiAwLjg1cmVtO1xuICBjb2xvcjogdmFyKC0taW5rLTMpO1xufVxuLnByb3NlIC53b29jb21tZXJjZSAuY2FydC1lbXB0eSB7XG4gIG1hcmdpbjogMCAwIDEuNXJlbTtcbn1cbi5wcm9zZSAud29vY29tbWVyY2UgLnJldHVybi10by1zaG9wIHtcbiAgbWFyZ2luOiAwO1xufVxuLnByb3NlIC53b29jb21tZXJjZSAud29vY29tbWVyY2UtZm9ybS1jb3Vwb24tdG9nZ2xlLCAucHJvc2UgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1mb3JtLWxvZ2luLXRvZ2dsZSB7XG4gIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbn1cbi5wcm9zZSAud29vY29tbWVyY2UgZm9ybS5jaGVja291dF9jb3Vwb24sIC5wcm9zZSAud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1mb3JtLWxvZ2luIHtcbiAgbWFyZ2luOiAwIDAgMnJlbTtcbiAgcGFkZGluZzogMS41cmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1saW5lKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcbn1cbi5wcm9zZSAud29vY29tbWVyY2UgZm9ybS5jaGVja291dF9jb3Vwb24gLmZvcm0tcm93LWxhc3QgLmJ1dHRvbiwgLnByb3NlIC53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWZvcm0tbG9naW4gLmZvcm0tcm93LWxhc3QgLmJ1dHRvbiB7XG4gIGhlaWdodDogNDZweDtcbiAgbWFyZ2luLXRvcDogMS41NXJlbTtcbn1cbi5wcm9zZSAud29vY29tbWVyY2UgZm9ybS5jaGVja291dCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDAsIDEuMmZyKSBtaW5tYXgoMCwgMWZyKTtcbiAgZ2FwOiBjbGFtcCgycmVtLCA1dncsIDRyZW0pO1xuICBhbGlnbi1pdGVtczogc3RhcnQ7XG59XG5AbWVkaWEgKG1heC13aWR0aDogMTA4MHB4KSB7XG4gIC5wcm9zZSAud29vY29tbWVyY2UgZm9ybS5jaGVja291dCB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gIH1cbn1cbi5wcm9zZSAud29vY29tbWVyY2UgZm9ybS5jaGVja291dCAjY3VzdG9tZXJfZGV0YWlscyB7XG4gIHdpZHRoOiAxMDAlO1xufVxuLnByb3NlIC53b29jb21tZXJjZSBmb3JtLmNoZWNrb3V0ICNjdXN0b21lcl9kZXRhaWxzIC5jb2wtMSwgLnByb3NlIC53b29jb21tZXJjZSBmb3JtLmNoZWNrb3V0ICNjdXN0b21lcl9kZXRhaWxzIC5jb2wtMiB7XG4gIGZsb2F0OiBub25lO1xuICB3aWR0aDogMTAwJTtcbn1cbi5wcm9zZSAud29vY29tbWVyY2UgZm9ybS5jaGVja291dCAjY3VzdG9tZXJfZGV0YWlscyAuY29sLTIge1xuICBtYXJnaW4tdG9wOiAycmVtO1xufVxuLnByb3NlIC53b29jb21tZXJjZSBmb3JtLmNoZWNrb3V0IGgzIHtcbiAgbWFyZ2luOiAwIDAgMS41cmVtO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbiAgZm9udC1zaXplOiBjbGFtcCgyMHB4LCAxOHB4ICsgMC41dncsIDI2cHgpO1xuICBmb250LXdlaWdodDogOTAwO1xuICBsaW5lLWhlaWdodDogMTtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG4ucHJvc2UgLndvb2NvbW1lcmNlIGZvcm0uY2hlY2tvdXQgI29yZGVyX3Jldmlld19oZWFkaW5nIHtcbiAgZ3JpZC1jb2x1bW46IDI7XG4gIGdyaWQtcm93OiAxO1xuICBtYXJnaW4tdG9wOiAwO1xufVxuLnByb3NlIC53b29jb21tZXJjZSBmb3JtLmNoZWNrb3V0ICNvcmRlcl9yZXZpZXcge1xuICBncmlkLWNvbHVtbjogMjtcbiAgZ3JpZC1yb3c6IDI7XG4gIHBhZGRpbmc6IDJyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpbmUpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbGcpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS13YXNoKTtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiAxMDgwcHgpIHtcbiAgLnByb3NlIC53b29jb21tZXJjZSBmb3JtLmNoZWNrb3V0ICNvcmRlcl9yZXZpZXdfaGVhZGluZywgLnByb3NlIC53b29jb21tZXJjZSBmb3JtLmNoZWNrb3V0ICNvcmRlcl9yZXZpZXcge1xuICAgIGdyaWQtY29sdW1uOiAxO1xuICAgIGdyaWQtcm93OiBhdXRvO1xuICB9XG59XG4ucHJvc2UgLndvb2NvbW1lcmNlIGZvcm0uY2hlY2tvdXQgLndvb2NvbW1lcmNlLWNoZWNrb3V0LXJldmlldy1vcmRlci10YWJsZSB0aCwgLnByb3NlIC53b29jb21tZXJjZSBmb3JtLmNoZWNrb3V0IC53b29jb21tZXJjZS1jaGVja291dC1yZXZpZXctb3JkZXItdGFibGUgdGQge1xuICBwYWRkaW5nLWlubGluZTogMDtcbn1cbi5wcm9zZSAud29vY29tbWVyY2UgZm9ybS5jaGVja291dCAud29vY29tbWVyY2UtY2hlY2tvdXQtcmV2aWV3LW9yZGVyLXRhYmxlIHRkLnByb2R1Y3QtbmFtZSB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG4ucHJvc2UgLndvb2NvbW1lcmNlIGZvcm0uY2hlY2tvdXQgLndvb2NvbW1lcmNlLWNoZWNrb3V0LXJldmlldy1vcmRlci10YWJsZSB0ZC5wcm9kdWN0LW5hbWUgLnByb2R1Y3QtcXVhbnRpdHkge1xuICBjb2xvcjogdmFyKC0taW5rLTMpO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuLnByb3NlIC53b29jb21tZXJjZSBmb3JtLmNoZWNrb3V0IC53b29jb21tZXJjZS1jaGVja291dC1yZXZpZXctb3JkZXItdGFibGUgdGQucHJvZHVjdC10b3RhbCwgLnByb3NlIC53b29jb21tZXJjZSBmb3JtLmNoZWNrb3V0IC53b29jb21tZXJjZS1jaGVja291dC1yZXZpZXctb3JkZXItdGFibGUgdGZvb3QgdGQge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cbi5wcm9zZSAud29vY29tbWVyY2UgZm9ybS5jaGVja291dCAud29vY29tbWVyY2UtY2hlY2tvdXQtcmV2aWV3LW9yZGVyLXRhYmxlIHRmb290IHRoIHtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGZvbnQtc2l6ZTogY2xhbXAoMC45cmVtLCAxLjF2dywgMS4xNXJlbSk7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcbiAgY29sb3I6IHZhcigtLWluay0zKTtcbn1cbi5wcm9zZSAud29vY29tbWVyY2UgZm9ybS5jaGVja291dCAud29vY29tbWVyY2UtY2hlY2tvdXQtcmV2aWV3LW9yZGVyLXRhYmxlIHRyLm9yZGVyLXRvdGFsIHRkIHtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGZvbnQtc2l6ZTogMS4zNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbn1cbi5wcm9zZSAud29vY29tbWVyY2UgZm9ybS5jaGVja291dCAjcGF5bWVudCB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBtYXJnaW4tdG9wOiAxLjVyZW07XG59XG4ucHJvc2UgLndvb2NvbW1lcmNlIGZvcm0uY2hlY2tvdXQgI3BheW1lbnQgdWwucGF5bWVudF9tZXRob2RzIHtcbiAgbWFyZ2luOiAwIDAgMS41cmVtO1xuICBwYWRkaW5nOiAwIDAgMS41cmVtO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tbGluZSk7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG4ucHJvc2UgLndvb2NvbW1lcmNlIGZvcm0uY2hlY2tvdXQgI3BheW1lbnQgdWwucGF5bWVudF9tZXRob2RzIGxpIHtcbiAgbWFyZ2luOiAwIDAgMC43NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgZm9udC1zaXplOiAwLjk1cmVtO1xufVxuLnByb3NlIC53b29jb21tZXJjZSBmb3JtLmNoZWNrb3V0ICNwYXltZW50IHVsLnBheW1lbnRfbWV0aG9kcyBsYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cbi5wcm9zZSAud29vY29tbWVyY2UgZm9ybS5jaGVja291dCAjcGF5bWVudCB1bC5wYXltZW50X21ldGhvZHMgaW5wdXRbdHlwZT1yYWRpb10ge1xuICBhY2NlbnQtY29sb3I6IHZhcigtLWFjY2VudCk7XG4gIG1hcmdpbi1yaWdodDogMC41ZW07XG59XG4ucHJvc2UgLndvb2NvbW1lcmNlIGZvcm0uY2hlY2tvdXQgI3BheW1lbnQgdWwucGF5bWVudF9tZXRob2RzIC5wYXltZW50X2JveCB7XG4gIG1hcmdpbjogMC43NXJlbSAwIDA7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWJnKTtcbiAgZm9udC1zaXplOiAwLjg4cmVtO1xuICBjb2xvcjogdmFyKC0taW5rLTIpO1xufVxuLnByb3NlIC53b29jb21tZXJjZSBmb3JtLmNoZWNrb3V0ICNwYXltZW50IHVsLnBheW1lbnRfbWV0aG9kcyAucGF5bWVudF9ib3g6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4ucHJvc2UgLndvb2NvbW1lcmNlIGZvcm0uY2hlY2tvdXQgI3BheW1lbnQgdWwucGF5bWVudF9tZXRob2RzIC5wYXltZW50X2JveCBwOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLnByb3NlIC53b29jb21tZXJjZSBmb3JtLmNoZWNrb3V0ICNwYXltZW50IHVsLnBheW1lbnRfbWV0aG9kcyBpbWcge1xuICBtYXgtaGVpZ2h0OiAyNHB4O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuLnByb3NlIC53b29jb21tZXJjZSBmb3JtLmNoZWNrb3V0ICNwYXltZW50IC5wbGFjZS1vcmRlciB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbn1cbi5wcm9zZSAud29vY29tbWVyY2UgZm9ybS5jaGVja291dCAjcGF5bWVudCAud29vY29tbWVyY2UtdGVybXMtYW5kLWNvbmRpdGlvbnMtd3JhcHBlciB7XG4gIG1hcmdpbjogMCAwIDFyZW07XG4gIGZvbnQtc2l6ZTogMC44NXJlbTtcbiAgY29sb3I6IHZhcigtLWluay0yKTtcbn1cbi5wcm9zZSAud29vY29tbWVyY2UgZm9ybS5jaGVja291dCAjcGF5bWVudCAjcGxhY2Vfb3JkZXIge1xuICB3aWR0aDogMTAwJTtcbn1cbi5wcm9zZSAud29vY29tbWVyY2UgZm9ybS5jaGVja291dCAjcGF5bWVudCAud29vY29tbWVyY2UtcHJpdmFjeS1wb2xpY3ktdGV4dCB7XG4gIGZvbnQtc2l6ZTogMC44NXJlbTtcbiAgY29sb3I6IHZhcigtLWluay0zKTtcbn1cbi5wcm9zZSAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLW9yZGVyIC53b29jb21tZXJjZS10aGFua3lvdS1vcmRlci1yZWNlaXZlZCB7XG4gIGZvbnQtc2l6ZTogY2xhbXAoMS4xcmVtLCAwLjV2dyArIDFyZW0sIDEuMzVyZW0pO1xuICBmb250LXdlaWdodDogNjAwO1xufVxuLnByb3NlIC53b29jb21tZXJjZSAud29vY29tbWVyY2Utb3JkZXIgdWwud29vY29tbWVyY2Utb3JkZXItb3ZlcnZpZXcge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGdhcDogMXJlbSAycmVtO1xuICBtYXJnaW46IDEuNXJlbSAwO1xuICBwYWRkaW5nOiAxLjVyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpbmUpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuLnByb3NlIC53b29jb21tZXJjZSAud29vY29tbWVyY2Utb3JkZXIgdWwud29vY29tbWVyY2Utb3JkZXItb3ZlcnZpZXcgbGkge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGZvbnQtc2l6ZTogY2xhbXAoMC45cmVtLCAxLjF2dywgMS4xNXJlbSk7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcbiAgY29sb3I6IHZhcigtLWluay0zKTtcbn1cbi5wcm9zZSAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLW9yZGVyIHVsLndvb2NvbW1lcmNlLW9yZGVyLW92ZXJ2aWV3IGxpIHN0cm9uZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tdG9wOiAwLjNlbTtcbiAgZm9udDogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICBsZXR0ZXItc3BhY2luZzogMDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGNvbG9yOiB2YXIoLS1pbmspO1xufVxuLnByb3NlIC53b29jb21tZXJjZSAud29vY29tbWVyY2Utb3JkZXIgaDIge1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbiAgZm9udC1zaXplOiBjbGFtcCgyMHB4LCAxOHB4ICsgMC41dncsIDI2cHgpO1xuICBmb250LXdlaWdodDogOTAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbn1cbi5wcm9zZSAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLW9yZGVyIGFkZHJlc3Mge1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG59XG5cbi5zdWJzY3JpYmUge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgwLCAxZnIpIG1pbm1heCgwLCAxZnIpO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IGNsYW1wKDJyZW0sIDV2dywgNXJlbSk7XG4gIHBhZGRpbmc6IGNsYW1wKDJyZW0sIDQuNXZ3LCA0cmVtKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbGluZSk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1sZyk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWJnLTIpO1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDEwODBweCkge1xuICAuc3Vic2NyaWJlIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICBnYXA6IGNsYW1wKDEuNzVyZW0sIDR2dywgMi41cmVtKTtcbiAgfVxufVxuLnN1YnNjcmliZSA+ICoge1xuICBtaW4td2lkdGg6IDA7XG59XG4uc3Vic2NyaWJlX190aXRsZSB7XG4gIG1hcmdpbi10b3A6IDAuNzVyZW07XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuICBmb250LXNpemU6IGNsYW1wKDMwcHgsIDE5LjMzMzMzMzMzMzNweCArIDIuNjY2NjY2NjY2N3Z3LCA2MnB4KTtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgbGluZS1oZWlnaHQ6IDAuOTI7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4wMzVlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbi5zdWJzY3JpYmVfX3RpdGxlLWhvbGxvdyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC13ZWJraXQtdGV4dC1zdHJva2U6IDJweCB2YXIoLS1pbmspO1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDc4MHB4KSB7XG4gIC5zdWJzY3JpYmVfX3RpdGxlLWhvbGxvdyB7XG4gICAgLXdlYmtpdC10ZXh0LXN0cm9rZS13aWR0aDogMS41cHg7XG4gIH1cbn1cbi5zdWJzY3JpYmVfX2xlZGUge1xuICBtYXgtd2lkdGg6IDQ2Y2g7XG4gIG1hcmdpbi10b3A6IDFyZW07XG4gIGZvbnQtc2l6ZTogY2xhbXAoMC45OHJlbSwgMC4zNXZ3ICsgMC45cmVtLCAxLjEycmVtKTtcbiAgbGluZS1oZWlnaHQ6IDEuNTU7XG4gIGNvbG9yOiB2YXIoLS1pbmstMik7XG59XG5cbi5zZm9ybTJfX3JvdyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogMC43NXJlbTtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA1MjBweCkge1xuICAuc2Zvcm0yX19yb3cge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cbn1cbi5zZm9ybTJfX2lucHV0IHtcbiAgZmxleDogMSAxIGF1dG87XG4gIG1pbi13aWR0aDogMDtcbiAgaGVpZ2h0OiA1NHB4O1xuICBwYWRkaW5nLWlubGluZTogMS41cmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1saW5lLTIpO1xuICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgYmFja2dyb3VuZDogdmFyKC0tYmcpO1xuICBjb2xvcjogdmFyKC0taW5rKTtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbn1cbi5zZm9ybTJfX2lucHV0OjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiB2YXIoLS1pbmstMyk7XG59XG4uc2Zvcm0yX19pbnB1dDpmb2N1cy12aXNpYmxlIHtcbiAgb3V0bGluZTogM3B4IHNvbGlkIHZhcigtLWFjY2VudCk7XG4gIG91dGxpbmUtb2Zmc2V0OiAycHg7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4uc2Zvcm0yLmlzLWludmFsaWQgLnNmb3JtMl9faW5wdXQge1xuICBib3JkZXItY29sb3I6IHZhcigtLWFjY2VudC1kZWVwKTtcbn1cbi5zZm9ybTJfX2J0biB7XG4gIGZsZXg6IG5vbmU7XG4gIG1pbi13aWR0aDogMTFyZW07XG59XG5AbWVkaWEgKG1heC13aWR0aDogNTIwcHgpIHtcbiAgLnNmb3JtMl9fYnRuIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuLnNmb3JtMl9fYnRuW2Rpc2FibGVkXSB7XG4gIG9wYWNpdHk6IDAuNTU7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLnNmb3JtMl9fbXNnIHtcbiAgbWFyZ2luLXRvcDogMXJlbTtcbiAgZm9udC1zaXplOiAwLjkycmVtO1xuICBsaW5lLWhlaWdodDogMS40NTtcbn1cbi5zZm9ybTJfX21zZzplbXB0eSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4uc2Zvcm0yLmlzLW9rIC5zZm9ybTJfX21zZyB7XG4gIGNvbG9yOiB2YXIoLS1hY2NlbnQtaW5rKTtcbn1cbi5zZm9ybTIuaXMtaW52YWxpZCAuc2Zvcm0yX19tc2cge1xuICBjb2xvcjogdmFyKC0taW5rKTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cbi5zZm9ybTJfX2ZpbmUge1xuICBtYXJnaW4tdG9wOiAxcmVtO1xuICBmb250LXNpemU6IDAuOHJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgY29sb3I6IHZhcigtLWluay0zKTtcbn1cbi5zZm9ybTIuaXMtZG9uZSAuc2Zvcm0yX19yb3cge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4udS10cmFwIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAtOTk5OXB4O1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmZvcm13cmFwIHtcbiAgbWFyZ2luLXRvcDogY2xhbXAoMi41cmVtLCA1dncsIDRyZW0pO1xufVxuXG4ubmYtZm9ybS1jb250IC5uZi1mb3JtLXRpdGxlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5uZi1mb3JtLWNvbnQgLm5mLWRlYnVnLW1zZyB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4ubmYtZm9ybS1jb250IC5uZi1mb3JtLWZpZWxkcy1yZXF1aXJlZCB7XG4gIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ubyk7XG4gIGZvbnQtc2l6ZTogMC43MnJlbTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMTJlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6IHZhcigtLWluay0zKTtcbn1cbi5uZi1mb3JtLWNvbnQgLm5mLWZpZWxkLWNvbnRhaW5lciB7XG4gIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbn1cbi5uZi1mb3JtLWNvbnQgLm5mLWZpZWxkLWNvbnRhaW5lci5sYWJlbC1oaWRkZW4gLm5mLWZpZWxkLWxhYmVsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAtMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwLXBhdGg6IGluc2V0KDUwJSk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4ubmYtZm9ybS1jb250IC5uZi1maWVsZC1sYWJlbCBsYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm8pO1xuICBmb250LXNpemU6IDAuNzJyZW07XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxldHRlci1zcGFjaW5nOiAwLjE4ZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGNvbG9yOiB2YXIoLS1pbmstMik7XG59XG4ubmYtZm9ybS1jb250IC5uaW5qYS1mb3Jtcy1yZXEtc3ltYm9sIHtcbiAgY29sb3I6IHZhcigtLWluay0zKTtcbn1cbi5uZi1mb3JtLWNvbnQgaW5wdXQubmYtZWxlbWVudDpub3QoW3R5cGU9c3VibWl0XSk6bm90KFt0eXBlPWJ1dHRvbl0pLFxuLm5mLWZvcm0tY29udCB0ZXh0YXJlYS5uZi1lbGVtZW50LFxuLm5mLWZvcm0tY29udCBzZWxlY3QubmYtZWxlbWVudCB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDU0cHg7XG4gIHBhZGRpbmc6IDAgMS4zcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1saW5lLTIpO1xuICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgYmFja2dyb3VuZDogdmFyKC0tYmcpO1xuICBjb2xvcjogdmFyKC0taW5rKTtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIHZhcigtLWR1ci1mYXN0KSBjdWJpYy1iZXppZXIoMC4yMiwgMC42MSwgMC4zNiwgMSk7XG59XG4ubmYtZm9ybS1jb250IGlucHV0Lm5mLWVsZW1lbnQ6bm90KFt0eXBlPXN1Ym1pdF0pOm5vdChbdHlwZT1idXR0b25dKTo6cGxhY2Vob2xkZXIsXG4ubmYtZm9ybS1jb250IHRleHRhcmVhLm5mLWVsZW1lbnQ6OnBsYWNlaG9sZGVyLFxuLm5mLWZvcm0tY29udCBzZWxlY3QubmYtZWxlbWVudDo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogdmFyKC0taW5rLTMpO1xuICBvcGFjaXR5OiAxO1xufVxuLm5mLWZvcm0tY29udCBpbnB1dC5uZi1lbGVtZW50Om5vdChbdHlwZT1zdWJtaXRdKTpub3QoW3R5cGU9YnV0dG9uXSk6Zm9jdXMtdmlzaWJsZSxcbi5uZi1mb3JtLWNvbnQgdGV4dGFyZWEubmYtZWxlbWVudDpmb2N1cy12aXNpYmxlLFxuLm5mLWZvcm0tY29udCBzZWxlY3QubmYtZWxlbWVudDpmb2N1cy12aXNpYmxlIHtcbiAgb3V0bGluZTogM3B4IHNvbGlkIHZhcigtLWFjY2VudCk7XG4gIG91dGxpbmUtb2Zmc2V0OiAycHg7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4ubmYtZm9ybS1jb250IGlucHV0Lm5mLWVsZW1lbnQ6bm90KFt0eXBlPXN1Ym1pdF0pOm5vdChbdHlwZT1idXR0b25dKVthcmlhLWludmFsaWQ9dHJ1ZV0sXG4ubmYtZm9ybS1jb250IHRleHRhcmVhLm5mLWVsZW1lbnRbYXJpYS1pbnZhbGlkPXRydWVdLFxuLm5mLWZvcm0tY29udCBzZWxlY3QubmYtZWxlbWVudFthcmlhLWludmFsaWQ9dHJ1ZV0ge1xuICBib3JkZXItY29sb3I6IHZhcigtLWFjY2VudC1kZWVwKTtcbn1cbi5uZi1mb3JtLWNvbnQgdGV4dGFyZWEubmYtZWxlbWVudCB7XG4gIGhlaWdodDogYXV0bztcbiAgcGFkZGluZzogMXJlbSAxLjNyZW07XG4gIGJvcmRlci1yYWRpdXM6IDI3cHg7XG4gIHJlc2l6ZTogbm9uZTtcbiAgbWluLWhlaWdodDogMTFyZW07XG4gIHNjcm9sbGJhci13aWR0aDogbm9uZTtcbn1cbi5uZi1mb3JtLWNvbnQgdGV4dGFyZWEubmYtZWxlbWVudDo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuLm5mLWZvcm0tY29udCAubmYtaW5wdXQtbGltaXQ6ZW1wdHkge1xuICBkaXNwbGF5OiBub25lO1xufVxuLm5mLWZvcm0tY29udCAubmYtZXJyb3Itd3JhcC5uZi1lcnJvciB7XG4gIG1hcmdpbi10b3A6IDAuNXJlbTtcbiAgZm9udC1zaXplOiAwLjg4cmVtO1xuICBsaW5lLWhlaWdodDogMS40NTtcbiAgY29sb3I6IHZhcigtLWFjY2VudC1pbmspO1xufVxuLm5mLWZvcm0tY29udCAubmYtZXJyb3Itd3JhcC5uZi1lcnJvcjplbXB0eSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4ubmYtZm9ybS1jb250IC5uZi1yZXNwb25zZS1tc2cge1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG59XG4ubmYtZm9ybS1jb250IC5uZi1yZXNwb25zZS1tc2c6ZW1wdHkge1xuICBkaXNwbGF5OiBub25lO1xufVxuLm5mLWZvcm0tY29udCAubmYtcmVzcG9uc2UtbXNnOm5vdCg6ZW1wdHkpIHtcbiAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICBwYWRkaW5nOiAxcmVtIDEuNXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbGluZS0yKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tYmctMik7XG59XG4ubmYtZm9ybS1jb250IC5uZi1yZXNwb25zZS1tc2cgcDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi5uZi1mb3JtLWNvbnQgaW5wdXQubmYtZWxlbWVudFt0eXBlPXN1Ym1pdF0sXG4ubmYtZm9ybS1jb250IGlucHV0Lm5mLWVsZW1lbnRbdHlwZT1idXR0b25dIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiA1NHB4O1xuICBwYWRkaW5nLWlubGluZTogMnJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYWNjZW50KTtcbiAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFjY2VudCk7XG4gIGNvbG9yOiB2YXIoLS1vbi1hY2NlbnQpO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAwLjkycmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICBsZXR0ZXItc3BhY2luZzogMC4wMWVtO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCB2YXIoLS1kdXItZmFzdCkgY3ViaWMtYmV6aWVyKDAuMjIsIDAuNjEsIDAuMzYsIDEpLCBjb2xvciB2YXIoLS1kdXItZmFzdCkgY3ViaWMtYmV6aWVyKDAuMjIsIDAuNjEsIDAuMzYsIDEpLCB0cmFuc2Zvcm0gdmFyKC0tZHVyLWZhc3QpIGN1YmljLWJlemllcigwLjIyLCAwLjYxLCAwLjM2LCAxKTtcbn1cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSBhbmQgKHBvaW50ZXI6IGZpbmUpIHtcbiAgLm5mLWZvcm0tY29udCBpbnB1dC5uZi1lbGVtZW50W3R5cGU9c3VibWl0XTpob3ZlcixcbiAgLm5mLWZvcm0tY29udCBpbnB1dC5uZi1lbGVtZW50W3R5cGU9YnV0dG9uXTpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0taW5rKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWluayk7XG4gICAgY29sb3I6IHZhcigtLWJnKTtcbiAgfVxufVxuLm5mLWZvcm0tY29udCBpbnB1dC5uZi1lbGVtZW50W3R5cGU9c3VibWl0XTphY3RpdmUsXG4ubmYtZm9ybS1jb250IGlucHV0Lm5mLWVsZW1lbnRbdHlwZT1idXR0b25dOmFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxcHgpO1xufVxuLm5mLWZvcm0tY29udCBpbnB1dC5uZi1lbGVtZW50W3R5cGU9c3VibWl0XTpmb2N1cy12aXNpYmxlLFxuLm5mLWZvcm0tY29udCBpbnB1dC5uZi1lbGVtZW50W3R5cGU9YnV0dG9uXTpmb2N1cy12aXNpYmxlIHtcbiAgb3V0bGluZTogM3B4IHNvbGlkIHZhcigtLWFjY2VudCk7XG4gIG91dGxpbmUtb2Zmc2V0OiAzcHg7XG59XG4ubmYtZm9ybS1jb250IGlucHV0Lm5mLWVsZW1lbnRbdHlwZT1zdWJtaXRdW2Rpc2FibGVkXSxcbi5uZi1mb3JtLWNvbnQgaW5wdXQubmYtZWxlbWVudFt0eXBlPWJ1dHRvbl1bZGlzYWJsZWRdIHtcbiAgb3BhY2l0eTogMC41NTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4ubmYtZm9ybS1jb250IC5zdWJtaXQtY29udGFpbmVyIHtcbiAgbWFyZ2luLXRvcDogMnJlbTtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA1MjBweCkge1xuICAubmYtZm9ybS1jb250IC5zdWJtaXQtY29udGFpbmVyIGlucHV0Lm5mLWVsZW1lbnRbdHlwZT1zdWJtaXRdIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuLm5mLWZvcm0tY29udCAubmluamEtZm9ybXMtZmllbGQtcHJvY2Vzc2luZyB7XG4gIGNvbG9yOiB2YXIoLS1pbmstMik7XG59XG4ubmYtZm9ybS1jb250IC5yZWNhcHRjaGFfdjMtY29udGFpbmVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmRvY2sge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIHotaW5kZXg6IDkwO1xuICBoZWlnaHQ6IHZhcigtLWRvY2staCk7XG4gIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1iZy0yKSA4OCUsIHRyYW5zcGFyZW50KTtcbiAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDIwcHgpIHNhdHVyYXRlKDEuNSk7XG4gIC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiBibHVyKDIwcHgpIHNhdHVyYXRlKDEuNSk7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1saW5lKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMSUpO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41NXMgY3ViaWMtYmV6aWVyKDAuMTYsIDEsIDAuMywgMSk7XG59XG4uZG9jay5pcy11cCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbn1cbi5kb2NrX19pbm5lciB7XG4gIHdpZHRoOiBtaW4oMTAwJSAtIHZhcigtLWd1dHRlcikgKiAyLCB2YXIoLS1tYXh3KSk7XG4gIGhlaWdodDogMTAwJTtcbiAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiBjbGFtcCgwLjc1cmVtLCAydncsIDJyZW0pO1xufVxuLmRvY2tfX3BsYXkge1xuICBkaXNwbGF5OiBncmlkO1xuICBwbGFjZS1pdGVtczogY2VudGVyO1xuICB3aWR0aDogNDZweDtcbiAgaGVpZ2h0OiA0NnB4O1xuICBmbGV4OiBub25lO1xuICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWNjZW50KTtcbiAgY29sb3I6IHZhcigtLW9uLWFjY2VudCk7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSB2YXIoLS1kdXItZmFzdCkgY3ViaWMtYmV6aWVyKDAuMjIsIDAuNjEsIDAuMzYsIDEpLCBmaWx0ZXIgdmFyKC0tZHVyLWZhc3QpIGN1YmljLWJlemllcigwLjIyLCAwLjYxLCAwLjM2LCAxKTtcbn1cbi5kb2NrX19wbGF5IHN2ZyB7XG4gIHdpZHRoOiAxNXB4O1xuICBoZWlnaHQ6IDE1cHg7XG59XG4uZG9ja19fcGxheSAuaS1wYXVzZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4uZG9ja19fcGxheTpob3ZlciB7XG4gIGZpbHRlcjogYnJpZ2h0bmVzcygxLjEyKTtcbn1cbi5kb2NrX19wbGF5OmFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC45Mik7XG59XG4uZG9jay5pcy1wbGF5aW5nIC5kb2NrX19wbGF5IC5pLXBsYXkge1xuICBkaXNwbGF5OiBub25lO1xufVxuLmRvY2suaXMtcGxheWluZyAuZG9ja19fcGxheSAuaS1wYXVzZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLmRvY2tfX21ldGEge1xuICBtaW4td2lkdGg6IDA7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdhcDogMXB4O1xufVxuLmRvY2tfX2xhYmVsIHtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ubyk7XG4gIGZvbnQtc2l6ZTogMC42MnJlbTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMTZlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6IHZhcigtLWluay0zKTtcbn1cbi5kb2NrX190aXRsZSB7XG4gIGZvbnQtc2l6ZTogMC45NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG4uZG9ja19fd2F2ZSB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDc4MHB4KSB7XG4gIC5kb2NrX193YXZlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4uZG9jazpub3QoLmlzLXBsYXlpbmcpIC5kb2NrX193YXZlIHNwYW4ge1xuICBhbmltYXRpb24tcGxheS1zdGF0ZTogcGF1c2VkO1xuICBvcGFjaXR5OiAwLjM1O1xufVxuLmRvY2tfX3RpbWUge1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vKTtcbiAgZm9udC1zaXplOiAwLjcycmVtO1xuICBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zO1xuICBjb2xvcjogdmFyKC0taW5rLTIpO1xuICBmbGV4OiBub25lO1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDUyMHB4KSB7XG4gIC5kb2NrX190aW1lIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4uZG9ja19fcHJvZ3Jlc3Mge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTFweDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGhlaWdodDogM3B4O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1saW5lKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLmRvY2tfX3Byb2dyZXNzOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGluc2V0OiAtOHB4IDA7XG59XG4uZG9ja19fYmFyIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMDtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWNjZW50KTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdDtcbn1cblxuYm9keS5oYXMtZG9jayB7XG4gIHBhZGRpbmctYm90dG9tOiB2YXIoLS1kb2NrLWgpO1xufVxuXG4uY29va2llcyB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgLS1pbnNldDogY2FsYyh2YXIoLS1ndXR0ZXIpICogLjUpO1xuICBsZWZ0OiB2YXIoLS1pbnNldCk7XG4gIHJpZ2h0OiB2YXIoLS1pbnNldCk7XG4gIGJvdHRvbTogY2FsYyh2YXIoLS1pbnNldCkgKyBlbnYoc2FmZS1hcmVhLWluc2V0LWJvdHRvbSwgMHB4KSk7XG4gIHotaW5kZXg6IDk1O1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTJweCk7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC40NXMgY3ViaWMtYmV6aWVyKDAuMTYsIDEsIDAuMywgMSksIHRyYW5zZm9ybSAwLjU1cyBjdWJpYy1iZXppZXIoMC4xNiwgMSwgMC4zLCAxKTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4uY29va2llcy5pcy1pbiB7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zZm9ybTogbm9uZTtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XG59XG4uZG9jay5pcy11cCB+IC5jb29raWVzIHtcbiAgYm90dG9tOiBjYWxjKHZhcigtLWRvY2staCkgKyB2YXIoLS1pbnNldCkgKyBlbnYoc2FmZS1hcmVhLWluc2V0LWJvdHRvbSwgMHB4KSk7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgLmNvb2tpZXMge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgd2lkdGg6IG1pbig0MDBweCwgMTAwJSAtIHZhcigtLWluc2V0KSAqIDIpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKDEwMCUgKyB2YXIoLS1pbnNldCkpKTtcbiAgfVxuICAuY29va2llcy5pcy1pbiB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG4uY29va2llc19fYm94IHtcbiAgcGFkZGluZzogMS41cmVtIDJyZW0gMnJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbGluZSk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1sZyk7XG4gIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1iZy0yKSA5MiUsIHRyYW5zcGFyZW50KTtcbiAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDIwcHgpIHNhdHVyYXRlKDEuNSk7XG4gIC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiBibHVyKDIwcHgpIHNhdHVyYXRlKDEuNSk7XG4gIGJveC1zaGFkb3c6IDAgMThweCA1MHB4IC0yMHB4IHJnYmEoMCwgMCwgMCwgMC41NSk7XG59XG4uY29va2llc19fdGl0bGUge1xuICBtYXJnaW46IDAgMCAwLjVyZW07XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuICBmb250LXNpemU6IGNsYW1wKDIycHgsIDIwcHggKyAwLjV2dywgMjhweCk7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDNlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbi5jb29raWVzX19jb3B5IHtcbiAgbWFyZ2luOiAwIDAgMS41cmVtO1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDU7XG4gIGNvbG9yOiB2YXIoLS1pbmstMik7XG59XG4uY29va2llc19fY29weSBhIHtcbiAgY29sb3I6IHZhcigtLWluayk7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6IDAuMThlbTtcbn1cbi5jb29raWVzX19hY3Rpb25zIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiAwLjc1cmVtO1xufVxuLmNvb2tpZXNfX2J0biB7XG4gIGZsZXg6IDE7XG4gIGhlaWdodDogNDZweDtcbiAgcGFkZGluZy1pbmxpbmU6IDFyZW07XG59XG5cbi5mb290IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLXRvcDogY2xhbXAoM3JlbSwgN3Z3LCA3cmVtKTtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWxpbmUpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLmZvb3RfX3N1YnNjcmliZSB7XG4gIG1hcmdpbi1ib3R0b206IGNsYW1wKDNyZW0sIDd2dywgN3JlbSk7XG59XG4uZm9vdF9fdG9wIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIGF1dG87XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IHN0YXJ0O1xuICBnYXA6IDNyZW07XG59XG5AbWVkaWEgKG1heC13aWR0aDogNzgwcHgpIHtcbiAgLmZvb3RfX3RvcCB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gIH1cbn1cbi5mb290X19sZWRlIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiBjbGFtcCgwLjc1cmVtLCAydncsIDEuNXJlbSk7XG4gIGZvbnQtc2l6ZTogY2xhbXAoMjZweCwgMTRweCArIDN2dywgNjJweCk7XG59XG4uZm9vdF9fYmFkZ2Uge1xuICBmbGV4OiBub25lO1xuICB3aWR0aDogMi44NWVtO1xuICBoZWlnaHQ6IDIuODVlbTtcbn1cbltkYXRhLXRoZW1lPWxpZ2h0XSAuZm9vdF9fYmFkZ2Uge1xuICBmaWx0ZXI6IGludmVydCgxKTtcbn1cbi5mb290X19waXRjaCB7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIGxpbmUtaGVpZ2h0OiAwLjk1O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDNlbTtcbiAgbWF4LXdpZHRoOiAxNmNoO1xufVxuLmZvb3RfX2NvbHMge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLWF1dG8tZmxvdzogY29sdW1uO1xuICBncmlkLWF1dG8tY29sdW1uczogbWlubWF4KDAsIGF1dG8pO1xuICBnYXA6IGNsYW1wKDNyZW0sIDQuNXZ3LCA1cmVtKTtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA3ODBweCkge1xuICAuZm9vdF9fY29scyB7XG4gICAgZ2FwOiAxLjVyZW07XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA1MjBweCkge1xuICAuZm9vdF9fY29scyB7XG4gICAgZ3JpZC1hdXRvLWZsb3c6IHJvdztcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCBtaW5tYXgoMCwgMWZyKSk7XG4gICAgZ2FwOiAxLjVyZW0gMXJlbTtcbiAgfVxufVxuLmZvb3RfX2NvbCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdhcDogMC43NXJlbTtcbiAgYWxpZ24tY29udGVudDogc3RhcnQ7XG59XG4uZm9vdF9fY29sIGgzIHtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ubyk7XG4gIGZvbnQtc2l6ZTogMC42NnJlbTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMThlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6IHZhcigtLWluay0zKTtcbn1cbi5mb290X19jb2wgdWwge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBkaXNwbGF5OiBncmlkO1xuICBnYXA6IDAuNjVlbTtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA3ODBweCkge1xuICAuZm9vdF9fY29sIHVsIHtcbiAgICBnYXA6IDAuNXJlbTtcbiAgfVxufVxuLmZvb3RfX2NvbCBhIHtcbiAgZm9udC1zaXplOiAwLjk1cmVtO1xuICBjb2xvcjogdmFyKC0taW5rLTIpO1xuICB0cmFuc2l0aW9uOiBjb2xvciB2YXIoLS1kdXItZmFzdCkgY3ViaWMtYmV6aWVyKDAuMjIsIDAuNjEsIDAuMzYsIDEpO1xufVxuLmZvb3RfX2NvbCBhOmhvdmVyIHtcbiAgY29sb3I6IHZhcigtLWFjY2VudC1pbmspO1xufVxuLmZvb3RfX2Jhc2Uge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGdhcDogMXJlbTtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW4tdG9wOiBjbGFtcCgycmVtLCA1dncsIDVyZW0pO1xuICBwYWRkaW5nLWJsb2NrOiAxLjVyZW07XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1saW5lKTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ubyk7XG4gIGZvbnQtc2l6ZTogMC42OHJlbTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMWVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBjb2xvcjogdmFyKC0taW5rLTMpO1xufVxuLmZvb3RfX2xlZ2FsIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBnYXA6IDAuNzVyZW07XG59XG4uZm9vdF9fbGVnYWwgYSB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRyYW5zaXRpb246IGNvbG9yIHZhcigtLWR1ci1mYXN0KSBjdWJpYy1iZXppZXIoMC4yMiwgMC42MSwgMC4zNiwgMSk7XG59XG4uZm9vdF9fbGVnYWwgYTpob3ZlciwgLmZvb3RfX2xlZ2FsIGE6Zm9jdXMtdmlzaWJsZSB7XG4gIGNvbG9yOiB2YXIoLS1pbmspO1xufVxuLmZvb3RfX2J5IHtcbiAgY29sb3I6IHZhcigtLWFjY2VudC1pbmspO1xuICB0cmFuc2l0aW9uOiBjb2xvciB2YXIoLS1kdXItZmFzdCkgY3ViaWMtYmV6aWVyKDAuMjIsIDAuNjEsIDAuMzYsIDEpO1xufVxuQG1lZGlhIChob3ZlcjogaG92ZXIpIGFuZCAocG9pbnRlcjogZmluZSkge1xuICAuZm9vdF9fYnk6aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS1pbmspO1xuICB9XG59XG5cbi5zb2NpYWwge1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDAuNXJlbTtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cbi5zb2NpYWwgYSB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpbmUpO1xuICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgY29sb3I6IHZhcigtLWluay0yKTtcbiAgdHJhbnNpdGlvbjogY29sb3IgdmFyKC0tZHVyLWZhc3QpIGN1YmljLWJlemllcigwLjIyLCAwLjYxLCAwLjM2LCAxKSwgYm9yZGVyLWNvbG9yIHZhcigtLWR1ci1mYXN0KSBjdWJpYy1iZXppZXIoMC4yMiwgMC42MSwgMC4zNiwgMSksIHRyYW5zZm9ybSB2YXIoLS1kdXItZmFzdCkgY3ViaWMtYmV6aWVyKDAuMjIsIDAuNjEsIDAuMzYsIDEpO1xufVxuLnNvY2lhbCBhIHN2ZyB7XG4gIHdpZHRoOiAxNXB4O1xuICBoZWlnaHQ6IDE1cHg7XG4gIGZpbGw6IGN1cnJlbnRDb2xvcjtcbn1cbi5zb2NpYWwgYTpob3ZlciB7XG4gIGNvbG9yOiB2YXIoLS1hY2NlbnQtaW5rKTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1hY2NlbnQpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTNweCk7XG59IiwiQHVzZSBcInRva2Vuc1wiIGFzICo7XHJcblxyXG4vLyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcclxuLy8gIEJBU0Ug4oCUIHJlc2V0LCBkb2N1bWVudCwgdHlwZSBwcmltaXRpdmVzLCBzaGFyZWQgYXRvbXNcclxuLy8g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXHJcblxyXG4qLCAqOjpiZWZvcmUsICo6OmFmdGVyIHsgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxyXG5cclxuKiB7IG1hcmdpbjogMDsgcGFkZGluZzogMDsgfVxyXG5cclxuaHRtbCB7XHJcblx0LXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xyXG5cclxuXHQvLyDim5QgTk9UIGBzbW9vdGhgIEhFUkUuIFRoaXMgdXNlZCB0byBiZSBgc2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGhgIG91dHJpZ2h0LFxyXG5cdC8vIGFuZCBpdCBtYWRlIHRoZSBicm93c2VyIEFOSU1BVEUgaXRzIG93biBzY3JvbGwgcmVzdG9yYXRpb246IHJlbG9hZCBmcm9tXHJcblx0Ly8gaGFsZndheSBkb3duIHRoZSBwYWdlIGFuZCB5b3Ugd2F0Y2hlZCBpdCByYWNlIGJhY2sgdG8gd2hlcmUgeW91IHdlcmUsXHJcblx0Ly8gZXZlcnkgdGltZS4gVGhlIHNhbWUgaGF6YXJkIGFscmVhZHkgYml0IHRoZSBsaWdodGJveCBvbiBjbG9zZSDigJQgc2VlXHJcblx0Ly8gYS1sb2NrLmpzLCB3aGljaCBzdXBwcmVzc2VzIHRoaXMgZm9yIG9uZSBmcmFtZSBmb3IgZXhhY3RseSB0aGF0IHJlYXNvbi5cclxuXHQvL1xyXG5cdC8vIFNtb290aCBpcyBzd2l0Y2hlZCBvbiBieSBhLXNjcm9sbC5qcyBvbmNlIHRoZSByZXN0b3JlIGhhcyBoYXBwZW5lZCwgc29cclxuXHQvLyBhbmNob3IgbGlua3Mgc3RpbGwgYW5pbWF0ZSBhbmQgdGhlIHJlc3RvcmF0aW9uIHN0YXlzIGluc3RhbnQuIFRoYXQgbWVhbnNcclxuXHQvLyBzbW9vdGggc2Nyb2xsaW5nIHJlcXVpcmVzIEpTIG5vdywgd2hpY2ggaXMgdGhlIGNvcnJlY3QgdHJhZGU6IHdpdGhvdXQgSlNcclxuXHQvLyB5b3UgZ2V0IGluc3RhbnQganVtcHMsIHdoaWNoIGlzIHRoZSBicm93c2VyIGRlZmF1bHQgYW5kIG9mZmVuZHMgbm9ib2R5LlxyXG5cdHNjcm9sbC1iZWhhdmlvcjogYXV0bztcclxuXHJcblx0Ji5pcy1zbW9vdGggeyBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDsgfVxyXG5cdC8vIEtpbGxzIHRoZSBwbGF0Zm9ybSB0YXAgZmxhc2guIENocm9tZSBvbiBBbmRyb2lkIHBhaW50cyBhIHRyYW5zbHVjZW50IGJveFxyXG5cdC8vIG92ZXIgd2hhdGV2ZXIgeW91IHRvdWNoIOKAlCB0aGUgd2hvbGUgZWxlbWVudCwgc28gYW4gZXBpc29kZSByb3cgbGl0IHVwIGFzIGFcclxuXHQvLyBwYWxlIGJsdWUgc2xhYiDigJQgYW5kIGhvbGRzIGl0IGZvciB0aGUgZHVyYXRpb24gb2YgYSBsb25nIHByZXNzLiBJdCBpcyB0aGVcclxuXHQvLyBicm93c2VyJ3MgY29sb3VyLCBub3QgdGhlIHRoZW1lJ3MsIHNvIGl0IGlnbm9yZXMgbGlnaHQvZGFyayBlbnRpcmVseS5cclxuXHQvL1xyXG5cdC8vIFNhZmUgdG8gcmVtb3ZlIGJlY2F1c2UgdGhlIHRoZW1lIGFscmVhZHkgcHJvdmlkZXMgaXRzIG93biBwcmVzcyBmZWVkYmFjazpcclxuXHQvLyA6YWN0aXZlIHN0YXRlcyBvbiBldmVyeSBidXR0b24gYW5kIHRoZSAuZmxvdy1tYXJrZXIgb3V0bGluZSBvbiByb3dzLiBUaGlzXHJcblx0Ly8gb25seSB0YWtlcyBhd2F5IHRoZSBvbmUgd2UgZG9uJ3QgY29udHJvbC5cclxuXHQtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG5cclxuXHQvLyDilIDilIAgS2lsbHMgRE9VQkxFLVRBUCBaT09NLCBhbmQgbm90aGluZyBlbHNlIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxyXG5cdC8vICBgbWFuaXB1bGF0aW9uYCBrZWVwcyBwYW5uaW5nIGFuZCBwaW5jaCB3b3JraW5nIGFuZCBkcm9wcyBvbmx5IHRoZVxyXG5cdC8vICBkb3VibGUtdGFwLXRvLXpvb20gZ2VzdHVyZSDigJQgd2hpY2ggb24gYSBzaXRlIHdpdGggbm8gem9vbWFibGUgY29udGVudCBpc1xyXG5cdC8vICBwdXJlIGFjY2lkZW50LCB1c3VhbGx5IGZpcmVkIHdoaWxlIHRyeWluZyB0byB0YXAgc29tZXRoaW5nIHR3aWNlLlxyXG5cdC8vXHJcblx0Ly8gIEl0IGFsc28gcmVtb3ZlcyB0aGUgfjMwMG1zIGNsaWNrIGRlbGF5IGJyb3dzZXJzIGhvbGQgd2FpdGluZyB0byBzZWUgaWYgYVxyXG5cdC8vICBzZWNvbmQgdGFwIGlzIGNvbWluZywgc28gZXZlcnkgdGFwIG9uIHRoZSBzaXRlIGFuc3dlcnMgZmFzdGVyLiBUaGF0IGlzXHJcblx0Ly8gIHdvcnRoIGhhdmluZyBvbiBpdHMgb3duLlxyXG5cdC8vXHJcblx0Ly8gIOKaoCBEZWxpYmVyYXRlbHkgTk9UIGB0b3VjaC1hY3Rpb246IG5vbmVgLCB3aGljaCB3b3VsZCBraWxsIHNjcm9sbGluZ1xyXG5cdC8vICBvdXRyaWdodC5cclxuXHR0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcclxuXHJcblx0Ly8gVGhlIGhlcm8ncyBvZmYtY2FudmFzIHR5cGUgYW5kIHRoZSBtYXJxdWVlIGJvdGggb3ZlcmZsb3c7IGNsaXAgY29udGFpbnNcclxuXHQvLyB0aGVtIHdpdGhvdXQgY3JlYXRpbmcgYSBzY3JvbGwgY29udGFpbmVyIChoaWRkZW4gd291bGQgYnJlYWsgc3RpY2t5KS5cclxuXHRvdmVyZmxvdy14OiBjbGlwO1xyXG59XHJcblxyXG5ib2R5IHtcclxuXHRtaW4taGVpZ2h0OiAxMDBzdmg7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmcpO1xyXG5cdGNvbG9yOiB2YXIoLS1pbmspO1xyXG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWJvZHkpO1xyXG5cdGZvbnQtc2l6ZTogY2xhbXAoMXJlbSwgLjN2dyArIC45M3JlbSwgMS4wNjI1cmVtKTtcclxuXHRsaW5lLWhlaWdodDogMS41NTtcclxuXHRmb250LXN5bnRoZXNpcy13ZWlnaHQ6IG5vbmU7XHJcblx0LXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XHJcblx0dGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcclxuXHQvLyBUaGVtZSBmbGlwIHNob3VsZCBmZWVsIGRlbGliZXJhdGUsIG5vdCBqYXJyaW5nLlxyXG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tZHVyKSAkZWFzZSwgY29sb3IgdmFyKC0tZHVyKSAkZWFzZTtcclxufVxyXG5cclxuLy8gRmlsbSBncmFpbiBvdmVyIHRoZSB3aG9sZSBwYWdlLiBQdXJlIENTUyDigJQgYW4gU1ZHIHR1cmJ1bGVuY2UgZGF0YSBVUkksIHNvIG5vXHJcbi8vIGltYWdlIHJlcXVlc3QgYW5kIGl0IHNjYWxlcyB0byBhbnkgdmlld3BvcnQuXHJcbmJvZHk6OmFmdGVyIHtcclxuXHRjb250ZW50OiBcIlwiO1xyXG5cdHBvc2l0aW9uOiBmaXhlZDtcclxuXHRpbnNldDogMDtcclxuXHR6LWluZGV4OiA5OTk5O1xyXG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG5cdG9wYWNpdHk6IHZhcigtLWdyYWluKTtcclxuXHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzIwMCcgaGVpZ2h0PScyMDAnJTNFJTNDZmlsdGVyIGlkPSduJyUzRSUzQ2ZlVHVyYnVsZW5jZSB0eXBlPSdmcmFjdGFsTm9pc2UnIGJhc2VGcmVxdWVuY3k9Jy44JyBudW1PY3RhdmVzPSczJy8lM0UlM0MvZmlsdGVyJTNFJTNDcmVjdCB3aWR0aD0nMjAwJyBoZWlnaHQ9JzIwMCcgZmlsdGVyPSd1cmwoJTIzbiknLyUzRSUzQy9zdmclM0VcIik7XHJcbn1cclxuXHJcbmltZywgc3ZnLCB2aWRlbywgY2FudmFzIHsgZGlzcGxheTogYmxvY2s7IG1heC13aWR0aDogMTAwJTsgaGVpZ2h0OiBhdXRvOyB9XHJcblxyXG5hIHsgY29sb3I6IGluaGVyaXQ7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxyXG5cclxuYnV0dG9uLCBpbnB1dCwgc2VsZWN0LCB0ZXh0YXJlYSB7IGZvbnQ6IGluaGVyaXQ7IGNvbG9yOiBpbmhlcml0OyB9XHJcbmJ1dHRvbiB7IGJhY2tncm91bmQ6IG5vbmU7IGJvcmRlcjogMDsgY3Vyc29yOiBwb2ludGVyOyB9XHJcblxyXG46OnNlbGVjdGlvbiB7IGJhY2tncm91bmQ6IHZhcigtLWFjY2VudCk7IGNvbG9yOiB2YXIoLS1vbi1hY2NlbnQpOyB9XHJcblxyXG46Zm9jdXMtdmlzaWJsZSB7XHJcblx0b3V0bGluZTogMnB4IHNvbGlkIHZhcigtLWFjY2VudCk7XHJcblx0b3V0bGluZS1vZmZzZXQ6IDNweDtcclxuXHRib3JkZXItcmFkaXVzOiAycHg7XHJcbn1cclxuXHJcbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XHJcblx0aHRtbCB7IHNjcm9sbC1iZWhhdmlvcjogYXV0bzsgfVxyXG5cdCosICo6OmJlZm9yZSwgKjo6YWZ0ZXIge1xyXG5cdFx0YW5pbWF0aW9uLWR1cmF0aW9uOiAuMDFtcyAhaW1wb3J0YW50O1xyXG5cdFx0YW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMSAhaW1wb3J0YW50O1xyXG5cdFx0dHJhbnNpdGlvbi1kdXJhdGlvbjogLjAxbXMgIWltcG9ydGFudDtcclxuXHR9XHJcbn1cclxuXHJcbi8vIOKUgOKUgCBMYXlvdXQgYXRvbXMg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXHJcbi5zaGVsbCB7XHJcblx0d2lkdGg6IG1pbigxMDAlIC0gdmFyKC0tZ3V0dGVyKSAqIDIsIHZhcigtLW1heHcpKTtcclxuXHRtYXJnaW4taW5saW5lOiBhdXRvO1xyXG59XHJcblxyXG4uc2hlbGwtLW5hcnJvdyB7IG1heC13aWR0aDogOTAwcHg7IH1cclxuXHJcbi5za2lwLWxpbmsge1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRsZWZ0OiAtOTk5OXB4O1xyXG5cdHRvcDogMDtcclxuXHR6LWluZGV4OiAxMDAwMDtcclxuXHRwYWRkaW5nOiBzcCgzKSBzcCg1KTtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1hY2NlbnQpO1xyXG5cdGNvbG9yOiB2YXIoLS1vbi1hY2NlbnQpO1xyXG5cdGZvbnQtd2VpZ2h0OiA3MDA7XHJcblxyXG5cdCY6Zm9jdXMgeyBsZWZ0OiBzcCg0KTsgdG9wOiBzcCg0KTsgfVxyXG59XHJcblxyXG4uc3Itb25seSB7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHdpZHRoOiAxcHg7IGhlaWdodDogMXB4O1xyXG5cdHBhZGRpbmc6IDA7IG1hcmdpbjogLTFweDtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdGNsaXAtcGF0aDogaW5zZXQoNTAlKTtcclxuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG59XHJcblxyXG4vLyDilIDilIAgVHlwZSBwcmltaXRpdmVzIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxyXG4uZGlzcGxheSB7XHJcblx0Ly8g4puUIE5PIHRleHQtd3JhcDogYmFsYW5jZSDigJQgaGVyZSBvciBvbiBhbnkgaGVhZGluZy4gSXQgd2FzIG9uIG5pbmVcclxuXHQvLyBzZWxlY3RvcnM7IEpvZSBwdWxsZWQgaXQgc2l0ZS13aWRlIDIwMjYtMDktMTMgKFwiSSBkb24ndCBsaWtlIHRoZSB0ZXh0XHJcblx0Ly8gd3JhcCBiYWxhbmNlXCIpLiBIZWFkaW5ncyB3cmFwIHRoZSB3YXkgdGhlIGJyb3dzZXIgd3JhcHMgdGhlbS5cclxuXHRmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcclxuXHRmb250LXdlaWdodDogOTAwO1xyXG5cdGxpbmUtaGVpZ2h0OiAuODY7XHJcblx0bGV0dGVyLXNwYWNpbmc6IC0uMDM1ZW07XHJcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxufVxyXG5cclxuLmV5ZWJyb3cge1xyXG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0Z2FwOiAuNmVtO1xyXG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm8pO1xyXG5cdGZvbnQtc2l6ZTogLjcycmVtO1xyXG5cdGZvbnQtd2VpZ2h0OiA1MDA7XHJcblx0bGV0dGVyLXNwYWNpbmc6IC4xOGVtO1xyXG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0Y29sb3I6IHZhcigtLWluay0yKTtcclxufVxyXG5cclxuLmxlZGUge1xyXG5cdGZvbnQtc2l6ZTogY2xhbXAoMS4wNXJlbSwgLjV2dyArIC45NXJlbSwgMS4zcmVtKTtcclxuXHRjb2xvcjogdmFyKC0taW5rLTIpO1xyXG5cdG1heC13aWR0aDogNTRjaDtcclxufVxyXG5cclxuLy8g4pSA4pSAIEJ1dHRvbnMg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXHJcbi5idG4ge1xyXG5cdC0tYnRuLWJnOiB0cmFuc3BhcmVudDtcclxuXHQtLWJ0bi1pbms6IHZhcigtLWluayk7XHJcblx0LS1idG4tbGluZTogdmFyKC0tbGluZS0yKTtcclxuXHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0Z2FwOiBzcCgzKTtcclxuXHRoZWlnaHQ6IDU0cHg7XHJcblx0cGFkZGluZy1pbmxpbmU6IHNwKDYpO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJ0bi1saW5lKTtcclxuXHRib3JkZXItcmFkaXVzOiA5OTlweDtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1idG4tYmcpO1xyXG5cdGNvbG9yOiB2YXIoLS1idG4taW5rKTtcclxuXHRmb250LXNpemU6IC45MnJlbTtcclxuXHRmb250LXdlaWdodDogNjAwO1xyXG5cdGxldHRlci1zcGFjaW5nOiAuMDFlbTtcclxuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblx0aXNvbGF0aW9uOiBpc29sYXRlO1xyXG5cdHRyYW5zaXRpb246IGNvbG9yIHZhcigtLWR1ci1mYXN0KSAkZWFzZSwgYm9yZGVyLWNvbG9yIHZhcigtLWR1ci1mYXN0KSAkZWFzZSxcclxuXHRcdFx0XHR0cmFuc2Zvcm0gdmFyKC0tZHVyLWZhc3QpICRlYXNlO1xyXG5cclxuXHQvLyBzaWdfaWNvbigpIGVtaXRzIDxzdmcgdmlld0JveD1cIjAgMCAyNCAyNFwiPiB3aXRoIE5PIHdpZHRoL2hlaWdodCBhdHRycyxcclxuXHQvLyBhbmQgdGhlIGJhc2UgcmVzZXQgc2V0cyBgc3ZnIHsgaGVpZ2h0OiBhdXRvIH1gIOKAlCBzbyB3aXRob3V0IGFuIGV4cGxpY2l0XHJcblx0Ly8gc2l6ZSB0aGUgaWNvbiBjb2xsYXBzZWQgdG8gbm90aGluZyB3aGlsZSB0aGUgZmxleCBgZ2FwYCBzdGlsbCByZXNlcnZlZFxyXG5cdC8vIHNwYWNlIGZvciBpdC4gVGhhdCB3YXMgdGhlIG15c3RlcnkgbGVmdCBwYWRkaW5nIG9uIFwiUGxheSBsYXRlc3RcIi5cclxuXHQvLyBFdmVyeSBvdGhlciBpY29uIHNpdGUgaW4gdGhlIHRoZW1lIHNpemVzIGl0cyBzdmc7IHRoaXMgb25lIHdhcyBtaXNzZWQuXHJcblx0c3ZnIHtcclxuXHRcdHdpZHRoOiAxNHB4O1xyXG5cdFx0aGVpZ2h0OiAxNHB4O1xyXG5cdFx0ZmxleDogbm9uZTtcclxuXHR9XHJcblxyXG5cdC8vIFdpcGUtZmlsbCBvbiBob3ZlciwgZnJvbSB0aGUgYm90dG9tIHVwLlxyXG5cdCY6OmJlZm9yZSB7XHJcblx0XHRjb250ZW50OiBcIlwiO1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0aW5zZXQ6IDA7XHJcblx0XHR6LWluZGV4OiAtMTtcclxuXHRcdGJhY2tncm91bmQ6IHZhcigtLWluayk7XHJcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAxJSk7XHJcblx0XHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjM4cyAkZWFzZS1vdXQ7XHJcblx0fVxyXG5cclxuXHQmOmhvdmVyIHtcclxuXHRcdGNvbG9yOiB2YXIoLS1iZyk7XHJcblx0XHRib3JkZXItY29sb3I6IHZhcigtLWluayk7XHJcblxyXG5cdFx0Jjo6YmVmb3JlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XHJcblx0fVxyXG5cclxuXHQmOmFjdGl2ZSB7IHRyYW5zZm9ybTogc2NhbGUoLjk3KTsgfVxyXG5cclxuXHQmLS1hY2NlbnQge1xyXG5cdFx0LS1idG4tYmc6IHZhcigtLWFjY2VudCk7XHJcblx0XHQtLWJ0bi1pbms6IHZhcigtLW9uLWFjY2VudCk7XHJcblx0XHQtLWJ0bi1saW5lOiB2YXIoLS1hY2NlbnQpO1xyXG5cclxuXHRcdCY6OmJlZm9yZSB7IGJhY2tncm91bmQ6IHZhcigtLWluayk7IH1cclxuXHRcdCY6aG92ZXIgeyBjb2xvcjogdmFyKC0tYmcpOyBib3JkZXItY29sb3I6IHZhcigtLWluayk7IH1cclxuXHR9XHJcblxyXG5cdCYtLWdob3N0IHsgLS1idG4tbGluZTogdHJhbnNwYXJlbnQ7IH1cclxuXHJcblx0Ly8g4pSA4pSAIFJpbmdlZCBpY29uIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxyXG5cdC8vICBPcHQtaW4gd3JhcHBlcjogb25seSBidXR0b25zIHRoYXQgYXNrIGZvciBpdCBnZXQgdGhlIGNpcmNsZSwgc28gYSBwbGFpblxyXG5cdC8vICA8c3ZnPiBpbiBhIC5idG4gc3RpbGwgYmVoYXZlcyBhcyBiZWZvcmUuXHJcblx0Ly9cclxuXHQvLyAgQm90aCB0aGUgcmluZyBhbmQgdGhlIGdseXBoIGFyZSBjdXJyZW50Q29sb3IsIHNvIHRoZSB3aG9sZSB0aGluZyBpbnZlcnRzXHJcblx0Ly8gIHdpdGggdGhlIGJ1dHRvbiBvbiBob3ZlciBmb3IgZnJlZSDigJQgbm8gc2VwYXJhdGUgaG92ZXIgcnVsZS5cclxuXHQmX19pY28ge1xyXG5cdFx0ZGlzcGxheTogZ3JpZDtcclxuXHRcdHBsYWNlLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHR3aWR0aDogMjZweDtcclxuXHRcdGhlaWdodDogMjZweDtcclxuXHRcdGZsZXg6IG5vbmU7XHJcblx0XHRib3JkZXI6IDFweCBzb2xpZCBjdXJyZW50Q29sb3I7XHJcblx0XHRib3JkZXItcmFkaXVzOiA5OTlweDtcclxuXHJcblx0XHQvLyBTbWFsbGVyIHRoYW4gdGhlIGJhcmUgLmJ0biBzdmcgYWJvdmUg4oCUIHRoZSByaW5nIGlzIG5vdyBkb2luZyB0aGUgd29ya1xyXG5cdFx0Ly8gb2YgcmVhZGluZyBhcyBhbiBpY29uLCBzbyBhIDE0cHggZ2x5cGggaW5zaWRlIGl0IGxvb2tzIGNyb3dkZWQuXHJcblx0XHQvLyBTYW1lIHNwZWNpZmljaXR5IGFzIGAuYnRuIHN2Z2AgKDAsMSwxKSBhbmQgZGVjbGFyZWQgYWZ0ZXIgaXQsIHNvIHRoaXNcclxuXHRcdC8vIHdpbnMgb24gb3JkZXIuIEtlZXAgaXQgYmVsb3cgdGhhdCBydWxlLlxyXG5cdFx0Ly8gSGFsZiB0aGUgcmluZydzIDI2cHggZGlhbWV0ZXIg4oCUIHRoZSBnbHlwaCBhbmQgaXRzIHN1cnJvdW5kIHJlYWQgYXMgYVxyXG5cdFx0Ly8gZGVsaWJlcmF0ZSBwYWlyIGF0IHRoYXQgcHJvcG9ydGlvbiByYXRoZXIgdGhhbiBhIGRvdCBpbiBhIGhvb3AuXHJcblx0XHRzdmcge1xyXG5cdFx0XHR3aWR0aDogMTNweDtcclxuXHRcdFx0aGVpZ2h0OiAxM3B4O1xyXG5cdFx0XHQvLyBBIHJpZ2h0LXBvaW50aW5nIHRyaWFuZ2xlIGNlbnRyZWQgYnkgZ2VvbWV0cnkgcmVhZHMgbGVmdC1vZi1jZW50cmUsXHJcblx0XHRcdC8vIGJlY2F1c2UgaXRzIHZpc3VhbCBtYXNzIHNpdHMgYmVoaW5kIHRoZSBwb2ludC4gTnVkZ2VkIG92ZXIgYnlcclxuXHRcdFx0Ly8gcm91Z2hseSBhIHRlbnRoIG9mIGl0cyB3aWR0aCB0byBzaXQgd2hlcmUgdGhlIGV5ZSBleHBlY3RzLlxyXG5cdFx0XHRtYXJnaW4tbGVmdDogMXB4O1xyXG5cdFx0fVxyXG5cclxuXHRcdC8vIEJhcmUgdmFyaWFudCDigJQgbm8gcmluZywgdGhlIGdseXBoIGZpbGxzIHRoZSByaW5nJ3MgMjZweCBmb290cHJpbnRcclxuXHRcdC8vIGluc3RlYWQuIEZvciBpY29ucyB0aGF0IGFyZSBhIHBpY3R1cmUgaW4gdGhlaXIgb3duIHJpZ2h0ICh0aGUgNDA0J3NcclxuXHRcdC8vIGhvdXNlKTsgdGhlIHJpbmcgZXhpc3RzIHRvIG1ha2UgYSB0cmlhbmdsZSByZWFkIGFzIFwicGxheVwiLCBhbmQgYSBob3VzZVxyXG5cdFx0Ly8gaW5zaWRlIGEgaG9vcCBpcyBhIGhvdXNlIGluIGEgaG9vcCAoSm9lLCAyMDI2LTA5LTE3KS5cclxuXHRcdCYtLWJhcmUge1xyXG5cdFx0XHRib3JkZXI6IDA7XHJcblx0XHRcdC8vIEEgcXVhcnRlciBvZiB0aGUgYnV0dG9uJ3MgZ2FwIOKAlCBhIGJpZ2dlciBnbHlwaCB3aXRoIG5vIHJpbmcgYXJvdW5kXHJcblx0XHRcdC8vIGl0IGFscmVhZHkgY2FycmllcyBpdHMgb3duIGFpciAoSm9lLCAyMDI2LTA5LTE3OiBcInNwbGl0IGluIGhhbGZcIixcclxuXHRcdFx0Ly8gdGhlbiBcImFub3RoZXIgaGFsZlwiKS5cclxuXHRcdFx0bWFyZ2luLXJpZ2h0OiBjYWxjKCN7c3AoMyl9ICogLS43NSk7XHJcblx0XHRcdHN2ZyB7IHdpZHRoOiAyMnB4OyBoZWlnaHQ6IDIycHg7IG1hcmdpbi1sZWZ0OiAwOyB9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4vLyDilIDilIAgU2VjdGlvbiBzY2FmZm9sZGluZyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcclxuLnNlY3Rpb24ge1xyXG5cdC8vIEhlbGQgaW4gYSBjdXN0b20gcHJvcGVydHkgc28gdGhlIGZpcnN0LWNoaWxkIHJ1bGUgYmVsb3cgY2FuIGFkZCB0aGUgbmF2XHJcblx0Ly8gaGVpZ2h0IHRvIGl0IFdJVEhPVVQgcmVzdGF0aW5nIHRoZSBjbGFtcC4gVHdvIGNvcGllcyBvZiB0aGlzIGV4cHJlc3Npb25cclxuXHQvLyB3b3VsZCBkcmlmdCB0aGUgbW9tZW50IGVpdGhlciBpcyB0dW5lZC5cclxuXHQtLXNlY3Rpb24tcGFkOiAje2NsYW1wKDRyZW0sIDl2dywgOXJlbSl9O1xyXG5cclxuXHRwYWRkaW5nLWJsb2NrOiB2YXIoLS1zZWN0aW9uLXBhZCk7XHJcblx0Ly8gdHJhbnNwYXJlbnQgaW4gZGFyaywgd2hpdGUgaW4gbGlnaHQg4oCUIHNlZSB0aGUgLS1zZWN0aW9uIG5vdGUgaW4gX3Rva2Vucy5cclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1zZWN0aW9uKTtcclxuXHJcblx0Ly8gQW55IHByb2dyYW1tYXRpYyBzY3JvbGwgdG8gYSBzZWN0aW9uIOKAlCB0aGUgY3VlIGJ1dHRvbiwgYW5jaG9yIGxpbmtzIOKAlFxyXG5cdC8vIHN0b3BzIHdpdGggdGhlIHNlY3Rpb24ncyB0b3AganVzdCBjbGVhciBvZiB0aGUgRklYRUQgbmF2IGluc3RlYWQgb2ZcclxuXHQvLyB1bmRlcm5lYXRoIGl0LiBKb2UncyByZWFkIG9uIHRoZSBjdWUgbGFuZGluZyBmbHVzaDogXCJ3ZW50IHRvbyBmYXIgZG93blwiLlxyXG5cdC8vXHJcblx0Ly8gc2Nyb2xsLW1hcmdpbiwgbm90IGFuIG9mZnNldCBpbiB0aGUgSlM6IHRoZSBjb3JyZWN0aW9uIGJlbG9uZ3MgdG8gdGhlXHJcblx0Ly8gdGFyZ2V0LCBzbyBldmVyeSBmdXR1cmUgc2Nyb2xsSW50b1ZpZXcgYW5kICNhbmNob3IgaW5oZXJpdHMgaXQgd2l0aG91dFxyXG5cdC8vIGVhY2ggY2FsbGVyIGtub3dpbmcgdGhlIG5hdiBleGlzdHMuXHJcblx0c2Nyb2xsLW1hcmdpbi10b3A6IHZhcigtLW5hdi1oKTtcclxufVxyXG5cclxuLy8g4pqgIFRIRSBOQVYgSVMgYHBvc2l0aW9uOiBmaXhlZGAsIFNPIElUIFRBS0VTIE5PIFNQQUNFIElOIFRIRSBGTE9XLiBUaGUgZnJvbnRcclxuLy8gcGFnZSBuZXZlciBzaG93ZWQgdGhpcyBiZWNhdXNlIC5oZXJvIGlzIGZ1bGwtaGVpZ2h0IGFuZCBwbGFjZXMgaXRzIG93blxyXG4vLyBjb250ZW50OyBldmVyeSBJTlRFUklPUiB0ZW1wbGF0ZSBvcGVucyB3aXRoIGEgLnNlY3Rpb24gaW5zdGVhZCwgd2hvc2UgdG9wXHJcbi8vIHBhZGRpbmcgaXMgYWxsIHRoYXQgc3RhbmRzIGJldHdlZW4gdGhlIHBhZ2UgdGl0bGUgYW5kIGEgbmF2IGZsb2F0aW5nIG9uIHRvcFxyXG4vLyBvZiBpdC5cclxuLy9cclxuLy8gVGhlIHBhZGRpbmcgaXMgTk9UIGVub3VnaCBvbiBpdHMgb3duLiAtLW5hdi1oIGlzIDcycHggYW5kIHRoZSBjbGFtcCBib3R0b21zXHJcbi8vIG91dCBhdCA2NHB4LCBzbyBiZWxvdyB+ODAwcHggd2lkZSB0aGUgaGVhZGluZyByZW5kZXJlZCBVTkRFUiB0aGUgYmFyOyBhYm92ZVxyXG4vLyBpdCwgdGhlIGxlZnRvdmVyIGdhcCB3YXMgd2hhdGV2ZXIgOXZ3IGV4Y2VlZGVkIDcycHggYnksIHdoaWNoIHJlYWQgYXMgY3JhbXBlZFxyXG4vLyByYXRoZXIgdGhhbiBicm9rZW4uIEJvdGggZmFpbHVyZSBtb2RlcyB3ZXJlIGludmlzaWJsZSBmb3IgYXMgbG9uZyBhcyB0aGUgZGVtb1xyXG4vLyBsb2NrIGtlcHQgZXZlcnlvbmUgb2ZmIGludGVyaW9yIHBhZ2VzLlxyXG4vL1xyXG4vLyBTY29wZWQgdG8gI21haW4ncyBmaXJzdCBzZWN0aW9uIHNvIGl0IGNhbid0IGRvdWJsZSB1cCBvbiB0aGUgaG9tZXBhZ2Ug4oCUIC5oZXJvXHJcbi8vIGlzbid0IGEgLnNlY3Rpb24gYW5kIG5ldmVyIG1hdGNoZXMuXHJcbi8vXHJcbi8vIOKaoCBOT1QgLS1zZWN0aW9uLXBhZC4gU3RhY2tpbmcgdGhlIGZ1bGwgc2VjdGlvbiByaHl0aG0gKHVwIHRvIDlyZW0pIG9uIHRvcCBvZlxyXG4vLyAtLW5hdi1oIGxlZnQgfjIwMHB4IG9mIGRlYWQgYWlyIGFib3ZlIGV2ZXJ5IGFyY2hpdmUgaGVhZGluZyDigJQgSm9lJ3MgY2FsbFxyXG4vLyAyMDI2LTA5LTEzLCBcImNsb3NlIHRoaXMgZ2FwLCBpdCdzIHRvbyBtdWNoLCBvbiBldmVyeSBhcmNoaXZlIHBhZ2VcIi4gVGhpcyBpc1xyXG4vLyBhIHNtYWxsZXIgdG9wLW9ubHkgY2xhbXAsIGp1c3QgZW5vdWdoIHRvIGNsZWFyIHRoZSBmaXhlZCBuYXYgd2l0aCBicmVhdGhpbmdcclxuLy8gcm9vbSwgaW5kZXBlbmRlbnQgb2YgdGhlICh1bnJlbGF0ZWQpIHNwYWNlIC5zZWN0aW9uIHdhbnRzIGJldHdlZW4gc2VjdGlvbnMuXHJcbiNtYWluID4gLnNlY3Rpb246Zmlyc3QtY2hpbGQge1xyXG5cdHBhZGRpbmctdG9wOiBjYWxjKHZhcigtLW5hdi1oKSArIGNsYW1wKDEuNXJlbSwgNHZ3LCAzcmVtKSk7XHJcbn1cclxuXHJcbi8vIEFsdGVybmF0aW5nIGJhbmQuIFRoZSBob21lcGFnZSB1c2VkIHRvIGdldCB0aGlzIHJoeXRobSBmb3IgZnJlZSBmcm9tIHRoZVxyXG4vLyBcIkxpc3RlbiBhbnl3aGVyZVwiIHN0cmlwLCB3aGljaCBjYXJyaWVkIGl0cyBvd24gLS1iZy0yOyBwdWxsaW5nIHRoYXQgc2VjdGlvblxyXG4vLyBsZWZ0IGV2ZXJ5dGhpbmcgYmVsb3cgdGhlIGVwaXNvZGUgbGlzdCBvbiBvbmUgZmxhdCBjb2xvdXIuXHJcbi8vXHJcbi8vIEFwcGxpZWQgZXhwbGljaXRseSBwZXIgc2VjdGlvbiByYXRoZXIgdGhhbiB3aXRoIDpudGgtb2YtdHlwZSwgYmVjYXVzZVxyXG4vLyBzZWN0aW9ucyByZW5kZXIgY29uZGl0aW9uYWxseSDigJQgYW4gZW1wdHkgR3Vlc3RzIG9yIEJsb2cgc2V0IHdvdWxkIHNpbGVudGx5XHJcbi8vIHNoaWZ0IHRoZSB3aG9sZSBhbHRlcm5hdGlvbiBieSBvbmUuXHJcbi5zZWN0aW9uLS13YXNoIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS13YXNoKTtcclxuXHRib3JkZXItYmxvY2s6IDFweCBzb2xpZCB2YXIoLS1saW5lKTtcclxufVxyXG5cclxuLy8g4pSA4pSAIEluc2V0IChkYXJrIG1vZHVsZSkg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXHJcbi8vICBBIGJhbmQgdGhhdCBpcyBkYXJrIElOIEJPVEggVEhFTUVTIOKAlCBhIGRlbGliZXJhdGUgaW50ZXJydXB0aW9uIHJhdGhlciB0aGFuXHJcbi8vICBhbm90aGVyIHdhc2ggc3RlcCBpbiB0aGUgYWx0ZXJuYXRpb24uIEZpcnN0IGJ1aWx0IGZvciB0aGUgcHJvbW8gYmFuZCxcclxuLy8gIHJldXNlZCBieSB0aGUgbmV3c2xldHRlciBwYW5lbC5cclxuLy9cclxuLy8gIOKblCBBTEwgdGhlIHJlY29sb3VyaW5nIGhhcHBlbnMgaW4gdG9rZW5zLCBub3QgaGVyZS4gYC5pbnNldGAgaXMgb25lIG9mIHRoZVxyXG4vLyAgc2VsZWN0b3JzIFtkYXRhLXRoZW1lPVwiZGFya1wiXSBpcyBkZWZpbmVkIG9uIChzZWUgX3Rva2Vucy5zY3NzKSDigJQgYWRkaW5nIHRoZVxyXG4vLyAgY2xhc3MgcmUtcG9pbnRzIGV2ZXJ5IC0taW5rIC8gLS1saW5lIC8gLS1iZyBjdXN0b20gcHJvcGVydHkgdG8gdGhlaXIgZGFya1xyXG4vLyAgdmFsdWVzIG9uIHRoaXMgZWxlbWVudCBhbmQgZXZlcnl0aGluZyBpbnNpZGUgaXQsIHNvIC5leWVicm93LCAuYnRuLCAucHJvc2UsXHJcbi8vICB3aGF0ZXZlciBnZXRzIG5lc3RlZCBpbiBoZXJlIGFsbCByZWNvbG91ciB3aXRoIFpFUk8gY29tcG9uZW50LXNwZWNpZmljXHJcbi8vICBydWxlcy4gVGhhdCBpcyBhbHNvIHdoeSB0aGVyZSBpcyBvbmx5IG9uZSBwbGFjZSB0byB0dW5lIHRoaXMgcGFsZXR0ZTogYVxyXG4vLyAgc2Vjb25kIGhhbmQtd3JpdHRlbiBjb3B5ICh0aGlzIHVzZWQgdG8gbGl2ZSBpbmxpbmUgaW4gX3Byb21vLnNjc3MpIGlzXHJcbi8vICBleGFjdGx5IHRoZSBraW5kIG9mIHRoaW5nIHRoYXQgZHJpZnRzIHRoZSBkYXkgb25seSBvbmUgY29weSBnZXRzIGVkaXRlZC5cclxuLy9cclxuLy8gIFRoaXMgcnVsZSBwYWludHMgdGhlIFNVUkZBQ0Ugb25seSDigJQgYmFja2dyb3VuZCBhbmQgZGVmYXVsdCB0ZXh0IGNvbG91ci5cclxuLy8gIENvbXBvbmVudC1zcGVjaWZpYyBsYXlvdXQgKHBhZGRpbmcsIGdyaWQsIHRoZSBwcm9kdWN0IGNhcmQpIHN0YXlzIGluIHRoZVxyXG4vLyAgcGFydGlhbCB0aGF0IG93bnMgdGhhdCBjb21wb25lbnQuXHJcbi5pbnNldCB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmctaW5zZXQpO1xyXG5cdGNvbG9yOiB2YXIoLS1pbmspO1xyXG59XHJcblxyXG4vLyBIZWFkaW5nIGxlZnQsIGFjdGlvbiByaWdodCDigJQgYW5kIGl0IFNUQVlTIHRoYXQgd2F5IG9uIG1vYmlsZS4gVGhpcyB1c2VkIHRvXHJcbi8vIHN3aXRjaCB0byBmbGV4LWRpcmVjdGlvbjogY29sdW1uIGF0IG1kLCB3aGljaCBkcm9wcGVkIHRoZSBcIlZpZXcgYWxsXCIgYnV0dG9uXHJcbi8vIHVuZGVybmVhdGggdGhlIGhlYWRpbmcgYW5kIGxlZnQtYWxpZ25lZCBpdC5cclxuLnNlY3Rpb25fX2hlYWQge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGZsZXgtZW5kO1xyXG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHJcblx0Ly8gQSBjb3VudCBvbiB0aGUgcmlnaHQgKFwiMyBhcHBlYXJhbmNlc1wiLCBcIjE2IGFydGljbGVzXCIpIHdyYXBzIG5leHQgdG8gYVxyXG5cdC8vIGxvbmcgdGl0bGUgb24gYSBwaG9uZSDigJQgdGhlIFwiM1wiIHdhcyBsZWZ0IG9uIGl0cyBvd24gbGluZSwgcmFnZ2VkLWxlZnRcclxuXHQvLyAoSm9lLCAyMDI2LTA5LTE0OiBcInRoZSAzIHNob3VsZCBiZSB0byB0aGUgcmlnaHRcIikuIFJpZ2h0LWFsaWduIGl0IHNvXHJcblx0Ly8gaG93ZXZlciBpdCBicmVha3MsIGl0IGhhbmdzIG9mZiB0aGUgZWRnZSBpdCBiZWxvbmdzIHRvLlxyXG5cdD4gLmV5ZWJyb3c6bGFzdC1jaGlsZCB7IHRleHQtYWxpZ246IHJpZ2h0OyB9XHJcblx0Z2FwOiBzcCg2KTtcclxuXHRtYXJnaW4tYm90dG9tOiBjbGFtcCgycmVtLCA0dncsIDRyZW0pO1xyXG5cclxuXHQvLyBUaGUgaGVhZGluZyBibG9jayBtdXN0IGJlIGFsbG93ZWQgdG8gc2hyaW5rIGFuZCB3cmFwOyB0aGUgYWN0aW9uIG11c3Qgbm90LlxyXG5cdC8vIFdpdGhvdXQgbWluLXdpZHRoOjAgYSBsb25nIHRpdGxlIHJlZnVzZXMgdG8gd3JhcCBhbmQgcHVzaGVzIHRoZSBidXR0b25cclxuXHQvLyBvZmYgdGhlIGVkZ2UgaW5zdGVhZC5cclxuXHQ+IDpmaXJzdC1jaGlsZCB7IG1pbi13aWR0aDogMDsgfVxyXG5cdD4gLmJ0biwgPiAucmFpbC1uYXYsID4gLnNlY3Rpb25fX2FjdGlvbnMgeyBmbGV4OiBub25lOyB9XHJcblxyXG5cdEBpbmNsdWRlIGF0KG1kKSB7XHJcblx0XHRnYXA6IHNwKDQpO1xyXG5cclxuXHRcdC8vIFRyaW1tZWQgc28gaGVhZGluZyArIGJ1dHRvbiBzdGlsbCBmaXQgc2lkZSBieSBzaWRlIG9uIGEgfjM2MHB4IHNjcmVlbi5cclxuXHRcdC8vIEJvdGggc2VsZWN0b3JzIGFyZSBuZWVkZWQ6IG1vc3Qgc2VjdGlvbnMgcHV0IHRoZSAuYnRuIGRpcmVjdGx5IGluIHRoZVxyXG5cdFx0Ly8gaGVhZCwgYnV0IFNob3J0cyBuZXN0cyBpdCBpbnNpZGUgLnNlY3Rpb25fX2FjdGlvbnMgbmV4dCB0byB0aGUgcmFpbFxyXG5cdFx0Ly8gYXJyb3dzLCBhbmQgYSBjaGlsZCBjb21iaW5hdG9yIGFsb25lIHdvdWxkIHNraXAgaXQg4oCUIGxlYXZpbmcgb25lXHJcblx0XHQvLyBzZWN0aW9uIHdpdGggYSBmdWxsLXNpemUgYnV0dG9uIHdoaWxlIHRoZSByZXN0IHNocmFuay5cclxuXHRcdD4gLmJ0bixcclxuXHRcdD4gLnNlY3Rpb25fX2FjdGlvbnMgLmJ0biB7XHJcblx0XHRcdGhlaWdodDogNDRweDtcclxuXHRcdFx0cGFkZGluZy1pbmxpbmU6IHNwKDQpO1xyXG5cdFx0XHRmb250LXNpemU6IC44NXJlbTtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi8vIFJhaWwgYXJyb3dzICsgYSBWaWV3IGFsbCwga2VwdCB0b2dldGhlciBvbiB0aGUgcmlnaHQgb2YgYSBzZWN0aW9uIGhlYWQuXHJcbi8vIFNob3J0cyAoYXJyb3dzICsgVmlldyBhbGwpIGFuZCBTb2NpYWwgKGFycm93cyArIHR3byBmb2xsb3cgbWFya3MpIGJvdGggdXNlIGl0LlxyXG4uc2VjdGlvbl9fYWN0aW9ucyB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGdhcDogc3AoMyk7XHJcbn1cclxuXHJcbi5zZWN0aW9uX190aXRsZSB7XHJcblx0QGV4dGVuZCAuZGlzcGxheTtcclxuXHRmb250LXNpemU6IGZsdWlkKDM4LCA5Mik7XHJcblx0bWFyZ2luLXRvcDogc3AoNCk7XHJcbn1cclxuXHJcbi8vIOKUgOKUgCDim5QgMTZweCBGTE9PUiBPTiBFVkVSWSBGSUVMRCwgT04gVE9VQ0gg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXHJcbi8vICBUSElTIElTIFRIRSBaT09NIFBFT1BMRSBBQ1RVQUxMWSBDT01QTEFJTiBBQk9VVC4gaU9TIFNhZmFyaSB6b29tcyB0aGUgd2hvbGVcclxuLy8gIHBhZ2UgaW4gd2hlbiB5b3UgZm9jdXMgYW4gaW5wdXQgd2hvc2UgY29tcHV0ZWQgZm9udC1zaXplIGlzIEJFTE9XIDE2cHgg4oCUIGFuZFxyXG4vLyAgaXQgZG9lcyBub3Qgem9vbSBiYWNrIG91dCBhZnRlcndhcmRzLCBzbyB0aGUgc2l0ZSBpcyBsZWZ0IG1hZ25pZmllZCB1bnRpbCB0aGVcclxuLy8gIHZpc2l0b3IgcGluY2hlcyBpdCBiYWNrIHRoZW1zZWx2ZXMuIFRoZSBuYXYgc2VhcmNoIGZpZWxkIHdhcyAuODhyZW0gKDE0LjA4cHgpXHJcbi8vICBhbmQgZGlkIGV4YWN0bHkgdGhpcy5cclxuLy9cclxuLy8gIE5vIGB1c2VyLXNjYWxhYmxlPW5vYCBjYW4gcHJldmVudCBpdDogU2FmYXJpIGlnbm9yZXMgdGhhdCBlbnRpcmVseS4gMTZweCBpc1xyXG4vLyAgdGhlIG9ubHkgZml4LlxyXG4vL1xyXG4vLyAgbWF4KCkgcmF0aGVyIHRoYW4gYSBmbGF0IDE2cHggc28gYSBmaWVsZCB0aGF0IGlzIGFscmVhZHkgTEFSR0VSIGtlZXBzIGl0c1xyXG4vLyAgc2l6ZSDigJQgdGhpcyByYWlzZXMgdGhlIGZsb29yIHdpdGhvdXQgZmxhdHRlbmluZyB0aGUgdHlwZSBzY2FsZS5cclxuQGluY2x1ZGUgYXQobWQpIHtcclxuXHRpbnB1dCxcclxuXHRzZWxlY3QsXHJcblx0dGV4dGFyZWEge1xyXG5cdFx0Zm9udC1zaXplOiBtYXgoMTZweCwgMWVtKTtcclxuXHR9XHJcbn1cclxuXHJcbi8vIEEgaGFpcmxpbmUgdGhhdCBkcmF3cyBpdHNlbGYgaW4gd2hlbiB0aGUgc2VjdGlvbiBzY3JvbGxzIGludG8gdmlldy5cclxuLnJ1bGUge1xyXG5cdGhlaWdodDogMXB4O1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWxpbmUpO1xyXG5cdHRyYW5zZm9ybTogc2NhbGVYKDApO1xyXG5cdHRyYW5zZm9ybS1vcmlnaW46IGxlZnQ7XHJcblx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDEuMXMgJGVhc2Utb3V0O1xyXG5cclxuXHQuaXMtaW4gJiB7IHRyYW5zZm9ybTogc2NhbGVYKDEpOyB9XHJcbn1cclxuXHJcblxyXG4vLyDilIDilIAgUGxhdGZvcm0gd29yZG1hcmsg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXHJcbi8vICBEcmF3biBhcyBhIENTUyBNQVNLLCBub3QgYW4gPGltZz4uIG1hc2staW1hZ2UgdGFrZXMgdGhlIHNoYXBlIGZyb20gdGhlIFNWR1xyXG4vLyAgYW5kIGBiYWNrZ3JvdW5kOiBjdXJyZW50Q29sb3JgIHBhaW50cyBpdCDigJQgc28gdGhlIGxvZ28gaW5oZXJpdHMgdGhlIHRoZW1lJ3NcclxuLy8gIHRleHQgY29sb3VyIGFuZCBmbGlwcyBibGFja+KGlHdoaXRlIHdpdGggbGlnaHQvZGFyayBvbiBpdHMgb3duLiBBbiA8aW1nPlxyXG4vLyAgY291bGQgbm90IGRvIHRoYXQsIGFuZCBpbmxpbmluZyBmb3VyIHZlbmRvciBTVkdzIHdvdWxkIHB1dCB+MTZLQiBvZiBtYXJrdXBcclxuLy8gIG9uIGV2ZXJ5IHBhZ2UuXHJcbi8vXHJcbi8vICAtLXNyYyBhbmQgLS1hciBhcmUgc2V0IHBlciBsb2dvIGluIHRoZSB0ZW1wbGF0ZTsgLS1hciBjb21lcyBmcm9tIGVhY2ggZmlsZSdzXHJcbi8vICBvd24gdmlld0JveCwgc28gaGVpZ2h0IGlzIHRoZSBvbmx5IHRoaW5nIENTUyBzZXRzIGFuZCBub3RoaW5nIGRpc3RvcnRzLlxyXG4ucGxvZ28ge1xyXG5cdC8vIE9uZSBzaGFyZWQgYm94IGhlaWdodCBmb3IgdGhlIHNldC4gLS1zY2FsZSBpcyBhbiBvcHRpb25hbCBwZXItbG9nbyBidW1wLFxyXG5cdC8vIHNldCBpbmxpbmUgYnkgc2lnX3BsYXRmb3JtX2xvZ29zKCkgYW5kIG9ubHkgb24gdGhlIGxvZ29zIEpvZSBoYXMgYXNrZWQgdG9cclxuXHQvLyBhZGp1c3Qg4oCUIHNlZSB0aGUgbm90ZSB0aGVyZS4gTW9zdCBjYXJyeSBubyBvdmVycmlkZSBhbmQgbGFuZCBvbiB0aGUgMS5cclxuXHQtLXBsb2dvLWg6IGNsYW1wKDE1cHgsIDEuNXZ3LCAyMXB4KTtcclxuXHJcblx0ZGlzcGxheTogYmxvY2s7XHJcblx0aGVpZ2h0OiBjYWxjKHZhcigtLXBsb2dvLWgpICogdmFyKC0tc2NhbGUsIDEpKTtcclxuXHRhc3BlY3QtcmF0aW86IHZhcigtLWFyLCAzIC8gMSk7XHJcblx0YmFja2dyb3VuZDogY3VycmVudENvbG9yO1xyXG5cdGNvbG9yOiB2YXIoLS1pbmspO1xyXG5cdG9wYWNpdHk6IC42ODtcclxuXHJcblx0LXdlYmtpdC1tYXNrOiB2YXIoLS1zcmMpIGNlbnRlciAvIGNvbnRhaW4gbm8tcmVwZWF0O1xyXG5cdG1hc2s6IHZhcigtLXNyYykgY2VudGVyIC8gY29udGFpbiBuby1yZXBlYXQ7XHJcblxyXG5cdC8vIOKblCBOTyBIT1ZFUi4gVGhlc2UgYXJlIDxzcGFuIHJvbGU9XCJpbWdcIj4gbm93LCBub3QgbGlua3Mg4oCUIHNlZSB0aGUgbm90ZSBpblxyXG5cdC8vIHNpZ19wbGF0Zm9ybV9sb2dvcygpLiBBIGhvdmVyIHRpbnQgb24gc29tZXRoaW5nIHRoYXQgY2Fubm90IGJlIGNsaWNrZWQgaXNcclxuXHQvLyBhIGxpZSBhYm91dCB3aGF0IGl0IGRvZXMsIHNvIHRoZSB3aG9sZSBzdGF0ZSB3ZW50IHdpdGggdGhlIGFuY2hvci5cclxuXHR0cmFuc2l0aW9uOiBvcGFjaXR5IHZhcigtLWR1ci1mYXN0KSAkZWFzZSwgY29sb3IgdmFyKC0tZHVyLWZhc3QpICRlYXNlO1xyXG5cclxuXHQvLyDimqAgTVVTVCBTVEFZIFZJRVdQT1JULVNDQUxFRC4gVGhpcyB3YXMgYSBmbGF0IDE3cHgsIHdoaWNoIG92ZXJmbG93ZWQgdGhlXHJcblx0Ly8gaGVybyByb3cgb24gYSAzOTBweCBwaG9uZSBhbmQgd3JhcHBlZCBSdW1ibGUgb250byBhIHNlY29uZCBsaW5lIOKAlCBzZWUgdGhlXHJcblx0Ly8gYXJpdGhtZXRpYyBpbiAuaGVyb19fbG9nb3MuIFRoZSByb3cncyB3aWR0aCBpcyBhIGZpeGVkIG11bHRpcGxlIG9mIHRoaXNcclxuXHQvLyB2YWx1ZSwgc28gYSBjb25zdGFudCBoZWlnaHQgY2Fubm90IGZpdCBldmVyeSBwaG9uZS5cclxuXHQvL1xyXG5cdC8vIFRoZSB1cHBlciBib3VuZCBpcyB0aGUgb2xkIDE3cHggcm91bmRlZCB1cDogb24gYSAzOTBweCBzY3JlZW4gdGhpc1xyXG5cdC8vIHJlc29sdmVzIHRvIH4xNi44cHgsIHNvIHRoZSBsb29rIGJhcmVseSBtb3ZlcyBvbiB0aGUgaGFuZHNldHMgaXQgYWxyZWFkeVxyXG5cdC8vIHN1aXRlZCwgYW5kIG9ubHkgZ2VudWluZWx5IG5hcnJvdyBzY3JlZW5zIGdldCBzbWFsbGVyIG1hcmtzLlxyXG5cdC8vXHJcblx0Ly8g4puUIERvbid0IFwidGlkeVwiIHRoaXMgYmFjayB0byBhIGZpeGVkIHZhbHVlLiBUaGUgcm93IHdpbGwgZml0IG9uIHdoYXRldmVyXHJcblx0Ly8geW91IHRlc3RlZCBhbmQgd3JhcCBvbiBzb21ldGhpbmcgbmFycm93ZXIuXHJcblx0QGluY2x1ZGUgYXQobWQpIHsgLS1wbG9nby1oOiBjbGFtcCgxMnB4LCA0LjN2dywgMThweCk7IH1cclxufVxyXG4iLCJAdXNlIFwidG9rZW5zXCIgYXMgKjtcblxuLy8g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4vLyAgTU9USU9OIOKAlCBzY3JvbGwgcmV2ZWFscyBhbmQgcHJvZ3Jlc3Ncbi8vXG4vLyAgUmV2ZWFscyBhcmUgb3B0LWluIHZpYSBbZGF0YS1yZXZlYWxdLiBUaGUgaW5pdGlhbCBzdGF0ZSBsaXZlcyBiZWhpbmRcbi8vICBgLmpzYCAoc2V0IGJ5IHRoZSBpbmxpbmUgaGVhZCBzY3JpcHQpIHNvIHRoYXQgd2l0aCBKUyBkaXNhYmxlZCBub3RoaW5nIGlzXG4vLyAgZXZlciBzdHVjayBhdCBvcGFjaXR5IDAg4oCUIHRoZSBwYWdlIGp1c3QgcmVuZGVycywgc3RhdGljYWxseSwgaW4gZnVsbC5cbi8vIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG4uanMgW2RhdGEtcmV2ZWFsXSB7XG5cdG9wYWNpdHk6IDA7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyNnB4KTtcblx0dHJhbnNpdGlvbjogb3BhY2l0eSAuOHMgJGVhc2Utb3V0LCB0cmFuc2Zvcm0gLjhzICRlYXNlLW91dDtcblx0dHJhbnNpdGlvbi1kZWxheTogY2FsYyh2YXIoLS1kLCAwKSAqIC4wOHMpO1xufVxuXG4uanMgW2RhdGEtcmV2ZWFsXS5pcy1pbiB7XG5cdG9wYWNpdHk6IDE7XG5cdHRyYW5zZm9ybTogbm9uZTtcbn1cblxuLy8gQ2hpbGRyZW4gc3RhZ2dlciB0aGVtc2VsdmVzIG9mZiB0aGVpciBpbmRleC5cbi5qcyBbZGF0YS1yZXZlYWwtc3RhZ2dlcl0gPiAqIHtcblx0b3BhY2l0eTogMDtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDMwcHgpO1xuXHR0cmFuc2l0aW9uOiBvcGFjaXR5IC43cyAkZWFzZS1vdXQsIHRyYW5zZm9ybSAuN3MgJGVhc2Utb3V0O1xuXHR0cmFuc2l0aW9uLWRlbGF5OiBjYWxjKHZhcigtLWksIDApICogLjA3cyk7XG59XG5cbi5qcyBbZGF0YS1yZXZlYWwtc3RhZ2dlcl0uaXMtaW4gPiAqIHtcblx0b3BhY2l0eTogdmFyKC0tcmVzdC1vcGFjaXR5LCAxKTtcblx0dHJhbnNmb3JtOiBub25lO1xufVxuLy8g4pqgIFRoZSByZXZlYWwgT1dOUyBvcGFjaXR5IG9uIHN0YWdnZXJlZCBjaGlsZHJlbiDigJQgYG9wYWNpdHk6IDFgIGhlcmUgYmVhdFxuLy8gLmd1ZXN0LS1zdGF0aWMncyAuNDUgKHNwZWNpZmljaXR5IDAsMiwwIHZzIDAsMSwwKSwgc28gYSBkaW1tZWQgZ3Vlc3Rcbi8vIHJldmVhbGVkIHRvIGZ1bGwgc3RyZW5ndGggKEpvZSwgMjAyNi0wOS0xMzogXCJzaGUncyB1bmRpbW1lZCBhZ2FpblwiKS5cbi8vIEFueXRoaW5nIHRoYXQgd2FudHMgdG8gcmVzdCBkaW1tZWQgc2V0cyAtLXJlc3Qtb3BhY2l0eSBpbnN0ZWFkIG9mXG4vLyBvcGFjaXR5LCBhbmQgdGhlIHJldmVhbCBhbmltYXRlcyBUTyB0aGF0IHZhbHVlLlxuXG4vLyDilIDilIAgU2Nyb2xsIHByb2dyZXNzIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLy8gVXNlcyBhIHNjcm9sbC1kcml2ZW4gYW5pbWF0aW9uIHdoZXJlIHN1cHBvcnRlZCwgc28gaXQgY29zdHMgemVybyBKUyBhbmQgcnVuc1xuLy8gb2ZmIHRoZSBtYWluIHRocmVhZC4gQnJvd3NlcnMgd2l0aG91dCBpdCBzaW1wbHkgbmV2ZXIgc2hvdyB0aGUgYmFyLlxuLnByb2dyZXNzIHtcblx0cG9zaXRpb246IGZpeGVkO1xuXHR0b3A6IDA7XG5cdGxlZnQ6IDA7XG5cdHJpZ2h0OiAwO1xuXHRoZWlnaHQ6IDJweDtcblx0ei1pbmRleDogMTAxO1xuXHR0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0O1xuXHR0cmFuc2Zvcm06IHNjYWxlWCgwKTtcblx0YmFja2dyb3VuZDogdmFyKC0tYWNjZW50KTtcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbkBzdXBwb3J0cyAoYW5pbWF0aW9uLXRpbWVsaW5lOiBzY3JvbGwoKSkge1xuXHQucHJvZ3Jlc3Mge1xuXHRcdGFuaW1hdGlvbjogcHJvZ3Jlc3MgbGluZWFyO1xuXHRcdGFuaW1hdGlvbi10aW1lbGluZTogc2Nyb2xsKHJvb3QgYmxvY2spO1xuXHR9XG59XG5cbkBrZXlmcmFtZXMgcHJvZ3Jlc3Mge1xuXHRmcm9tIHsgdHJhbnNmb3JtOiBzY2FsZVgoMCk7IH1cblx0dG8gICB7IHRyYW5zZm9ybTogc2NhbGVYKDEpOyB9XG59XG5cbi8vIOKUgOKUgCBNYXJxdWVlLW9uLWhvdmVyIGxpbmsg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4vLyBBIGxpbmsgd2hvc2UgbGFiZWwgc3dhcHMgZm9yIGEgZHVwbGljYXRlIHNsaWRpbmcgdXAgZnJvbSBiZWxvdy5cbi5zd2FwIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRkaXNwbGF5OiBpbmxpbmUtZ3JpZDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0bGluZS1oZWlnaHQ6IDEuMTtcblxuXHQ+IHNwYW4ge1xuXHRcdGdyaWQtYXJlYTogMSAvIDE7XG5cdFx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIC40MnMgJGVhc2Utb3V0O1xuXHR9XG5cblx0PiBzcGFuOmxhc3QtY2hpbGQgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTA1JSk7IH1cblxuXHQmOmhvdmVyID4gc3BhbjpmaXJzdC1jaGlsZCB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTA1JSk7IH1cblx0Jjpob3ZlciA+IHNwYW46bGFzdC1jaGlsZCAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cbn1cbiIsIkB1c2UgXCJ0b2tlbnNcIiBhcyAqO1xyXG5cclxuLy8g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXHJcbi8vICBOQVYg4oCUIGZsb2F0cyBvdmVyIHRoZSBoZXJvLCBnYWlucyBhIGJhY2tkcm9wIG9uY2UgeW91IHNjcm9sbCBwYXN0IGl0XHJcbi8vIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxyXG5cclxuLm5hdiB7XHJcblx0cG9zaXRpb246IGZpeGVkO1xyXG5cdHRvcDogMDtcclxuXHRsZWZ0OiAwO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdGhlaWdodDogdmFyKC0tbmF2LWgpO1xyXG5cdHotaW5kZXg6IDEwMDtcclxuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLWR1cikgJGVhc2UsIGJvcmRlci1jb2xvciB2YXIoLS1kdXIpICRlYXNlO1xyXG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuXHJcblx0Ly8gLmlzLXN0dWNrIGlzIHNldCB0aGUgaW5zdGFudCB0aGUgcGFnZSBsZWF2ZXMgdGhlIHZlcnkgdG9wIOKAlCBhIDFweFxyXG5cdC8vIHNlbnRpbmVsIGF0IHRoZSB0b3Agb2YgPGJvZHk+IGRyaXZlcyBpdCwgc28gdGhlIGJhciBzb2xpZGlmaWVzIG9uIHRoZVxyXG5cdC8vIGZpcnN0IHNjcm9sbCByYXRoZXIgdGhhbiB3YWl0aW5nIGZvciB0aGUgaGVybyB0byBjbGVhci5cclxuXHQvL1xyXG5cdC8vIEZyb3N0ZWQsIGJ1dCBEQVJLIOKAlCB0aGUgc2FtZSB0cmVhdG1lbnQgdGhlIGxpZ2h0IGJhciBoYWQsIGludmVydGVkLlxyXG5cdC8vIDk1JSByYXRoZXIgdGhhbiBzb2xpZCBzbyB0aGUgcGFnZSBzdGlsbCBtb3ZlcyBmYWludGx5IHVuZGVybmVhdGg7IHRoZVxyXG5cdC8vIGJsdXIgaXMgd2hhdCBzdG9wcyB0aGUgZ2lhbnQgaGVhZGxpbmUgcmVhZGluZyB0aHJvdWdoIGl0LCB3aGljaCBpcyB3aGF0XHJcblx0Ly8gd2VudCB3cm9uZyB3aGVuIHRoaXMgd2FzIGEgdHJhbnNsdWNlbnQgbGlnaHQgYmFyLlxyXG5cdCYuaXMtc3R1Y2sge1xyXG5cdFx0YmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAuOTUpO1xyXG5cdFx0YmFja2Ryb3AtZmlsdGVyOiBibHVyKDE4cHgpIHNhdHVyYXRlKDEuNCk7XHJcblx0XHQtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjogYmx1cigxOHB4KSBzYXR1cmF0ZSgxLjQpO1xyXG5cdFx0Ym9yZGVyLWJvdHRvbS1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAuMTIpO1xyXG5cclxuXHRcdC8vIFRoZSBiYXIgaXMgbm93IGRhcmsgcmVnYXJkbGVzcyBvZiB0aGVtZSwgc28gaXRzIGNvbnRlbnRzIGhhdmUgdG8gYmVcclxuXHRcdC8vIGxpZ2h0IHJlZ2FyZGxlc3Mgb2YgdGhlbWUgdG9vIOKAlCBub25lIG9mIHRoZXNlIGNhbiBpbmhlcml0IC0taW5rLlxyXG5cdFx0Lm5hdl9fbWFyayAgICAgICAgeyBjb2xvcjogI2ZmZjsgfVxyXG5cdFx0Lm5hdl9fbGluayAgICAgICAgeyBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAuNzIpOyB9XHJcblx0XHQubmF2X19saW5rOmhvdmVyLFxyXG5cdFx0Lm5hdl9fbGlua1thcmlhLWN1cnJlbnRdIHsgY29sb3I6ICNmZmY7IH1cclxuXHJcblx0XHQudG9nZ2xlLFxyXG5cdFx0LmNhcnRwaWxsLFxyXG5cdFx0LmJ1cmdlcixcclxuXHRcdC5uc2VhcmNoIHtcclxuXHRcdFx0Ym9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC4yMik7XHJcblx0XHRcdGNvbG9yOiAjZmZmO1xyXG5cdFx0fVxyXG5cdFx0LmNhcnRwaWxsX19uIHsgYm94LXNoYWRvdzogMCAwIDAgMnB4ICMwMDA7IH1cclxuXHJcblx0XHQvLyBCb3JkZXIgQU5EIGljb24sIHNhbWUgYXMgdGhlIGxpZ2h0IHN0YXRlLlxyXG5cdFx0Lm5zZWFyY2g6aG92ZXIsXHJcblx0XHQubnNlYXJjaDpmb2N1cy13aXRoaW4geyBib3JkZXItY29sb3I6IHZhcigtLWFjY2VudCk7IH1cclxuXHJcblx0XHQubnNlYXJjaDpob3ZlciAubnNlYXJjaF9fYnRuLFxyXG5cdFx0Lm5zZWFyY2g6Zm9jdXMtd2l0aGluIC5uc2VhcmNoX19idG4geyBjb2xvcjogdmFyKC0tYWNjZW50LWluayk7IH1cclxuXHJcblx0XHQvLyDimqAgVGhlIHRvZ2dsZSdzIGhvdmVyIGlzIEdBVEVEIEhFUkUgVE9PLCBub3QganVzdCBvbiB0aGUgYmFzZSAudG9nZ2xlXHJcblx0XHQvLyBydWxlLiBUaGF0IG9uZSBpcyBiZWhpbmQgY2FuLWhvdmVyLCBidXQgdGhlc2UgLmlzLXN0dWNrIG92ZXJyaWRlcyB3ZXJlXHJcblx0XHQvLyBub3Qg4oCUIHNvIHRoZSBnYXRpbmcgc2lsZW50bHkgc3RvcHBlZCBhcHBseWluZyB0aGUgbW9tZW50IHRoZSBwYWdlIHdhc1xyXG5cdFx0Ly8gc2Nyb2xsZWQsIGFuZCBvbiB0b3VjaCB0aGUgYnV0dG9uIGxhdGNoZWQgYmx1ZSBhbmQgbmV2ZXIgY2xlYXJlZC5cclxuXHRcdC8vIEEgZ2F0ZWQgc3RhdGUgbmVlZHMgZ2F0aW5nIGluIEVWRVJZIHBsYWNlIGl0IGlzIHJlZGVjbGFyZWQuXHJcblx0XHRAaW5jbHVkZSBjYW4taG92ZXIge1xyXG5cdFx0XHQudG9nZ2xlOmhvdmVyLFxyXG5cdFx0XHQuY2FydHBpbGw6aG92ZXIge1xyXG5cdFx0XHRcdGJvcmRlci1jb2xvcjogdmFyKC0tYWNjZW50KTtcclxuXHRcdFx0XHRjb2xvcjogdmFyKC0tYWNjZW50LWluayk7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQuYnVyZ2VyIHNwYW4sXHJcblx0XHQuYnVyZ2VyIHNwYW46OmJlZm9yZSxcclxuXHRcdC5idXJnZXIgc3Bhbjo6YWZ0ZXIgeyBiYWNrZ3JvdW5kOiAjZmZmOyB9XHJcblxyXG5cdFx0Lm5zZWFyY2ggaW5wdXQgICAgICAgeyBjb2xvcjogI2ZmZjsgfVxyXG5cdFx0Lm5zZWFyY2hfX2J0biAgICAgICAgeyBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAuNzIpOyB9XHJcblx0XHQubnNlYXJjaC5pcy1vcGVuICAgICB7IGJhY2tncm91bmQ6ICMwMDA7IH1cclxuXHRcdC5uc2VhcmNoIGlucHV0OjpwbGFjZWhvbGRlciB7IGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC40NSk7IH1cclxuXHR9XHJcblxyXG5cdCZfX2lubmVyIHtcclxuXHRcdHdpZHRoOiBtaW4oMTAwJSAtIHZhcigtLWd1dHRlcikgKiAyLCB2YXIoLS1tYXh3KSk7XHJcblx0XHRoZWlnaHQ6IDEwMCU7XHJcblx0XHRtYXJnaW4taW5saW5lOiBhdXRvO1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHRnYXA6IGNsYW1wKDFyZW0sIDN2dywgM3JlbSk7XHJcblx0fVxyXG5cclxuXHQmX19tYXJrIHtcclxuXHRcdGZsZXg6IG5vbmU7XHJcblx0XHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHRnYXA6IHNwKDMpO1xyXG5cdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XHJcblx0XHRmb250LXNpemU6IDEuMDVyZW07XHJcblx0XHRmb250LXdlaWdodDogOTAwO1xyXG5cdFx0bGV0dGVyLXNwYWNpbmc6IC0uMDJlbTtcclxuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblxyXG5cdFx0aW1nIHsgaGVpZ2h0OiAzMHB4OyB3aWR0aDogYXV0bzsgfVxyXG5cdH1cclxuXHJcblx0Ly8g4pSA4pSAIFdvcmRtYXJrIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxyXG5cdC8vICBUaGUgc3VwcGxpZWQgU1ZHLCBNQVNLRUQgcmF0aGVyIHRoYW4gcGxhY2VkIGFzIGFuIGltYWdlLiBJdHMgb25seSBmaWxsIGlzXHJcblx0Ly8gIGEgaGFyZGNvZGVkICNmZmYgKElsbHVzdHJhdG9yIGV4cG9ydCksIHNvIGFzIGFuIDxpbWc+IGl0IHdvdWxkIGJlXHJcblx0Ly8gIGludmlzaWJsZSBhZ2FpbnN0IHRoZSBsaWdodCB0aGVtZS4gQXMgYSBtYXNrIHRoZSBzaGFwZSB0YWtlc1xyXG5cdC8vICBjdXJyZW50Q29sb3IsIHdoaWNoIC5uYXZfX21hcmsgYWxyZWFkeSBtYW5hZ2VzIGNvcnJlY3RseTogLS1pbmsgbm9ybWFsbHksXHJcblx0Ly8gICNmZmYgb25jZSAuaXMtc3R1Y2sgdHVybnMgdGhlIGJhciBkYXJrIHJlZ2FyZGxlc3Mgb2YgdGhlbWUuXHJcblx0Ly9cclxuXHQvLyAgYXNwZWN0LXJhdGlvIGNvbWVzIHN0cmFpZ2h0IG9mZiB0aGUgZmlsZSdzIHZpZXdCb3ggKDExODguNTcgw5cgMTA3LjY5KSwgc29cclxuXHQvLyAgaGVpZ2h0IGlzIHRoZSBvbmx5IGtub2IgYW5kIHRoZSB3b3JkbWFyayBjYW4gbmV2ZXIgc3RyZXRjaC4gU2l6ZWQgdG8gbGFuZFxyXG5cdC8vICBvbiByb3VnaGx5IHRoZSBzYW1lIHdpZHRoIHRoZSB0ZXh0IHdvcmRtYXJrIGhhZCwgc28gdGhlIGJhcidzIGJhbGFuY2UgaXNcclxuXHQvLyAgdW5jaGFuZ2VkLlxyXG5cdC8vXHJcblx0Ly8gIC0tc3JjIGlzIHNldCBpbmxpbmUgaW4gaGVhZGVyLnBocCDigJQgdGhlIHRoZW1lJ3MgYXNzZXQgVVJMIGlzbid0IGtub3dhYmxlXHJcblx0Ly8gIGZyb20gYSBzdHlsZXNoZWV0LlxyXG5cdC8vIEEgc2hvdyB3aXRoIG5vIGltZy9sb2dvLnN2ZyBpbiBpdHMgc2l0ZXMvIGZvbGRlciBnZXRzIGl0cyBuYW1lIGFzIHRleHQg4oCUXHJcblx0Ly8gdGhlIGRpc3BsYXkgZmFjZSwgc2l6ZWQgdG8gc2l0IHdoZXJlIHRoZSB3b3JkbWFyayB3b3VsZC4gSW5oZXJpdHMgdGhlXHJcblx0Ly8gYmFyJ3MgY29sb3VyIHRoZSBzYW1lIHdheSB0aGUgbWFzayBkb2VzLlxyXG5cdCZfX25hbWUge1xyXG5cdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XHJcblx0XHRmb250LXNpemU6IGNsYW1wKDFyZW0sIDIuMnZ3LCAxLjM1cmVtKTtcclxuXHRcdGxldHRlci1zcGFjaW5nOiAtLjAxZW07XHJcblx0XHR3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG5cdFx0Y29sb3I6IGluaGVyaXQ7XHJcblx0fVxyXG5cclxuXHQmX19sb2dvIHtcclxuXHRcdC8vICsyMSUgb24gdGhlIG9yaWdpbmFsIGNsYW1wKDE2cHgsIDJ2dywgMjJweCkg4oCUIHR3byAxMCUgcGFzc2VzIG9uIEpvZSdzXHJcblx0XHQvLyBleWUsIDIwMjYtMDgtMDcuIEV2ZXJ5IHRlcm0gaXMgc2NhbGVkLCBub3QganVzdCB0aGUgY2VpbGluZywgc28gaXRcclxuXHRcdC8vIGdyb3dzIGJ5IHRoZSBzYW1lIHByb3BvcnRpb24gYXQgZXZlcnkgd2lkdGggcmF0aGVyIHRoYW4gb25seSBvblxyXG5cdFx0Ly8gZGVza3RvcC5cclxuXHRcdC8vXHJcblx0XHQvLyDimqAgVEhJUyBJUyBUSEUgTUFSSydTIFNJWkUsIE5PVCBUSEUgQk9YJ1MuIFNlZSBiZWxvdy5cclxuXHRcdC0tbG9nby1oOiBjbGFtcCgxOS4zNnB4LCAyLjQydncsIDI2LjYycHgpO1xyXG5cdFx0Ly8gVGhlIHdvcmRtYXJrJ3Mgdmlld0JveCBhcyB3IC8gaC4gVEpDUydzIGZpbGUgaXMgdGhlIGRlZmF1bHQ7IGEgc2hvd1xyXG5cdFx0Ly8gd2hvc2UgbG9nby5zdmcgaGFzIGEgZGlmZmVyZW50IHJhdGlvIHNldHMgdGhpcyBpbiBpdHMgc2tpbi5jc3Mgc28gdGhlXHJcblx0XHQvLyBib3ggZml0cyB0aGUgbWFyayAoUm90b0xlZ2VuZHM6IDEwMDAgLyA5OC42KS5cclxuXHRcdC0tbG9nby1yYXRpbzogMTE4OC41NyAvIDEwNy42OTtcclxuXHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHJcblx0XHQvLyDilIDilIAgV2h5IHRoZSBib3ggaXMgMXB4IGJpZ2dlciB0aGFuIHRoZSBtYXJrIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxyXG5cdFx0Ly8gIFRoaXMgd2FzIGBhc3BlY3QtcmF0aW86IDExODguNTcgLyAxMDcuNjlgICsgYG1hc2stc2l6ZTogY29udGFpbmAsXHJcblx0XHQvLyAgd2hpY2ggc291bmRzIGFpcnRpZ2h0IOKAlCB0aGUgYm94IHJhdGlvIG1hdGNoZXMgdGhlIHZpZXdCb3ggZXhhY3RseSwgc29cclxuXHRcdC8vICBgY29udGFpbmAgZml0cyB0aGUgYXJ0d29yayBjb3JuZXIgdG8gY29ybmVyLlxyXG5cdFx0Ly9cclxuXHRcdC8vICBFWEFDVExZIGlzIHRoZSBwcm9ibGVtLiBJdCBsZWF2ZXMgemVybyB0b2xlcmFuY2UsIGFuZCB0aGUgaGVpZ2h0IGlzXHJcblx0XHQvLyAgZnJhY3Rpb25hbDogMTkuMzZweCBvbiBhIDN4IHNjcmVlbiBpcyA1OC4wOCBkZXZpY2UgcGl4ZWxzLCB3aGljaFxyXG5cdFx0Ly8gIGNhbm5vdCBleGlzdC4gSXQgcm91bmRzIGRvd24sIGFuZCB0aGUgcm93IHRoYXQgZ2V0cyBkcm9wcGVkIGlzIHRoZVxyXG5cdFx0Ly8gIGJvdHRvbSBvZiB0aGUgZ2x5cGguIFJlcG9ydGVkIG9uIGEgdGVzdCBpUGhvbmUgMjAyNi0wOC0wOCBhcyBcImN1dCBvZmZcclxuXHRcdC8vICBieSBoYWxmIGEgcGl4ZWwgb24gdGhlIGJvdHRvbVwiIOKAlCB0aGF0IGlzIHByZWNpc2VseSB3aGF0IGl0IHdhcy5cclxuXHRcdC8vXHJcblx0XHQvLyAgU286IHNpemUgdGhlIE1BUksgZXhwbGljaXRseSBhbmQgbWFrZSB0aGUgQk9YIGEgcGl4ZWwgbGFyZ2VyIGluIGVhY2hcclxuXHRcdC8vICBkaXJlY3Rpb24uIENlbnRyZWQsIHRoYXQgaXMgaGFsZiBhIHBpeGVsIG9mIHNsYWNrIG9uIGV2ZXJ5IGVkZ2UsIGFuZFxyXG5cdFx0Ly8gIHJvdW5kaW5nIG5vdyBlYXRzIHRoZSBzbGFjayBpbnN0ZWFkIG9mIHRoZSBhcnR3b3JrLiBUaGUgcmVuZGVyZWRcclxuXHRcdC8vICBsb2dvIGlzIHRoZSBzYW1lIHNpemUgaXQgYWx3YXlzIHdhczsgb25seSBpdHMgYm94IGNoYW5nZWQuXHJcblx0XHQvL1xyXG5cdFx0Ly8gIOKblCBEb24ndCByZXN0b3JlIGBjb250YWluYCBoZXJlLCBhbmQgZG9uJ3QgXCJzaW1wbGlmeVwiIHRoZSBib3ggYmFjayB0b1xyXG5cdFx0Ly8gIHRoZSBleGFjdCByYXRpby4gSXQgbG9va3MgY29ycmVjdCBvbiBhIDJ4IGRpc3BsYXkgYW5kIGNsaXBzIG9uIGEgM3guXHJcblx0XHRoZWlnaHQ6IGNhbGModmFyKC0tbG9nby1oKSArIDFweCk7XHJcblx0XHR3aWR0aDogIGNhbGModmFyKC0tbG9nby1oKSAqICh2YXIoLS1sb2dvLXJhdGlvKSkgKyAxcHgpO1xyXG5cdFx0YmFja2dyb3VuZDogY3VycmVudENvbG9yO1xyXG5cclxuXHRcdC8vIGBhdXRvIDxoZWlnaHQ+YCBrZWVwcyB0aGUgdmlld0JveCByYXRpbywgc28gdGhlIHdvcmRtYXJrIHN0aWxsIGNhbm5vdFxyXG5cdFx0Ly8gc3RyZXRjaCDigJQgdGhhdCBndWFyYW50ZWUgbW92ZWQgaGVyZSBmcm9tIGFzcGVjdC1yYXRpby5cclxuXHRcdC13ZWJraXQtbWFzazogdmFyKC0tc3JjKSBjZW50ZXIgLyBhdXRvIHZhcigtLWxvZ28taCkgbm8tcmVwZWF0O1xyXG5cdFx0bWFzazogdmFyKC0tc3JjKSBjZW50ZXIgLyBhdXRvIHZhcigtLWxvZ28taCkgbm8tcmVwZWF0O1xyXG5cdH1cclxuXHJcblx0Jl9fbWVudSB7XHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRcdGdhcDogY2xhbXAoLjc1cmVtLCAxLjh2dywgMnJlbSk7XHJcblx0XHRsaXN0LXN0eWxlOiBub25lO1xyXG5cdFx0bWFyZ2luLWlubGluZTogYXV0bztcclxuXHJcblx0XHRAaW5jbHVkZSBhdChsZykgeyBkaXNwbGF5OiBub25lOyB9XHJcblx0fVxyXG5cclxuXHQmX19saW5rIHtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdHBhZGRpbmc6IHNwKDIpIDA7XHJcblx0XHRmb250LXNpemU6IC44NXJlbTtcclxuXHRcdGZvbnQtd2VpZ2h0OiA1MDA7XHJcblx0XHRsZXR0ZXItc3BhY2luZzogLjAyZW07XHJcblx0XHRjb2xvcjogdmFyKC0taW5rLTIpO1xyXG5cdFx0dHJhbnNpdGlvbjogY29sb3IgdmFyKC0tZHVyLWZhc3QpICRlYXNlO1xyXG5cclxuXHRcdC8vIFVuZGVybGluZSBncm93cyBmcm9tIHRoZSBjZW50cmUuXHJcblx0XHQmOjphZnRlciB7XHJcblx0XHRcdGNvbnRlbnQ6IFwiXCI7XHJcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0bGVmdDogMDsgcmlnaHQ6IDA7IGJvdHRvbTogMDtcclxuXHRcdFx0aGVpZ2h0OiAxcHg7XHJcblx0XHRcdGJhY2tncm91bmQ6IHZhcigtLWFjY2VudCk7XHJcblx0XHRcdHRyYW5zZm9ybTogc2NhbGVYKDApO1xyXG5cdFx0XHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjNzICRlYXNlLW91dDtcclxuXHRcdH1cclxuXHJcblx0XHQvLyBIb3ZlciBhbmQgY3VycmVudCBhcmUgT05FIGxvb2sg4oCUIHRoZSB1bmRlcmxpbmUgZHJhd24sIHRoZSBpbmsgZnVsbC5cclxuXHRcdC8vIGFyaWEtY3VycmVudCBjb21lcyBmcm9tIHNpZ19uYXZfY3VycmVudCgpIChmdW5jdGlvbnMucGhwKTogdGhlXHJcblx0XHQvLyBhcmNoaXZlIGl0c2VsZiwgYW5kIGV2ZXJ5dGhpbmcgaW5zaWRlIGl0cyBzZWN0aW9uLlxyXG5cdFx0Jjpob3ZlcixcclxuXHRcdCZbYXJpYS1jdXJyZW50XSB7XHJcblx0XHRcdGNvbG9yOiB2YXIoLS1pbmspO1xyXG5cdFx0XHQmOjphZnRlciB7IHRyYW5zZm9ybTogc2NhbGVYKDEpOyB9XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQmX190b29scyB7XHJcblx0XHRmbGV4OiBub25lO1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHRnYXA6IHNwKDMpO1xyXG5cdFx0bWFyZ2luLWxlZnQ6IGF1dG87XHJcblx0fVxyXG59XHJcblxyXG4vLyDilIDilIAgQ2FydCDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcclxuLy8gU2FtZSA0MnB4IGNpcmNsZSBhcyAudG9nZ2xlLiBgLmlzLWVtcHR5YCAoc2VydmVyLXNldCBieSBzaWdfY2FydF9waWxsLFxyXG4vLyB0b2dnbGVkIGJ5IGwtY2FydC5qcykgY29sbGFwc2VzIGl0IOKAlCB3aWR0aCwgZ2FwIGFuZCBvcGFjaXR5IGFsbCB0cmFuc2l0aW9uLFxyXG4vLyBzbyB0aGUgZmlyc3QgYWRkIGZhZGVzIGl0IGluIGFuZCB0aGUgbGFzdCByZW1vdmFsIGZhZGVzIGl0IG91dCBpbnN0ZWFkIG9mXHJcbi8vIHRoZSBiYXIgc25hcHBpbmcgKEpvZSwgMjAyNi0wOS0xMykuXHJcbi5jYXJ0cGlsbCB7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdHdpZHRoOiA0MnB4O1xyXG5cdGhlaWdodDogNDJweDtcclxuXHRmbGV4OiBub25lO1xyXG5cdGRpc3BsYXk6IGdyaWQ7XHJcblx0cGxhY2UtaXRlbXM6IGNlbnRlcjtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1saW5lKTtcclxuXHRib3JkZXItcmFkaXVzOiA5OTlweDtcclxuXHRjb2xvcjogdmFyKC0taW5rKTtcclxuXHRvdmVyZmxvdzogdmlzaWJsZTtcclxuXHR0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgdmFyKC0tZHVyLWZhc3QpICRlYXNlLCBjb2xvciB2YXIoLS1kdXItZmFzdCkgJGVhc2UsXHJcblx0XHRcdFx0d2lkdGggLjM1cyAkZWFzZS1vdXQsIG1hcmdpbiAuMzVzICRlYXNlLW91dCwgb3BhY2l0eSAuM3MgJGVhc2U7XHJcblxyXG5cdCYuaXMtZW1wdHkge1xyXG5cdFx0d2lkdGg6IDA7XHJcblx0XHRtYXJnaW4tbGVmdDogLSN7c3AoMyl9OyAgIC8vIHN3YWxsb3cgdGhlIHRvb2xzIGdhcCB0b29cclxuXHRcdG9wYWNpdHk6IDA7XHJcblx0XHRib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xyXG5cdFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XHJcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdH1cclxuXHJcblx0c3ZnIHsgd2lkdGg6IDE4cHg7IGhlaWdodDogMThweDsgfVxyXG5cclxuXHQvLyBUaGUgY291bnQ6IGEgYmx1ZSBkb3QsIHRvcC1yaWdodCwganVzdCBvdXRzaWRlIHRoZSBjaXJjbGUuIENsaXBzIGl0c1xyXG5cdC8vIG93biBjb250ZW50cyBzbyB0aGUgcm9sbGluZyBkaWdpdCBlbnRlcnMvbGVhdmVzIGZyb20gaW5zaWRlIHRoZSBkb3QuXHJcblx0Jl9fbiB7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHR0b3A6IC01cHg7XHJcblx0XHRyaWdodDogLTVweDtcclxuXHRcdG1pbi13aWR0aDogMTlweDtcclxuXHRcdGhlaWdodDogMTlweDtcclxuXHRcdHBhZGRpbmctaW5saW5lOiA1cHg7XHJcblx0XHRkaXNwbGF5OiBncmlkO1xyXG5cdFx0cGxhY2UtaXRlbXM6IGNlbnRlcjtcclxuXHRcdG92ZXJmbG93OiBoaWRkZW47XHJcblx0XHRib3JkZXItcmFkaXVzOiA5OTlweDtcclxuXHRcdGJhY2tncm91bmQ6IHZhcigtLWFjY2VudCk7XHJcblx0XHRjb2xvcjogdmFyKC0tb24tYWNjZW50KTtcclxuXHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm8pO1xyXG5cdFx0Zm9udC1zaXplOiAuNjZyZW07XHJcblx0XHRmb250LXdlaWdodDogNzAwO1xyXG5cdFx0bGluZS1oZWlnaHQ6IDE7XHJcblx0XHRmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zO1xyXG5cdFx0Ym94LXNoYWRvdzogMCAwIDAgMnB4IHZhcigtLWJnKTtcclxuXHR9XHJcblxyXG5cdC8vIFJvbG9kZXguIEJvdGggdGhlIGxlYXZpbmcgYW5kIHRoZSBhcnJpdmluZyBkaWdpdCBzaXQgaW4gdGhlIHNhbWUgZ3JpZFxyXG5cdC8vIGNlbGw7IHRoZSBsZWF2aW5nIG9uZSBzbGlkZXMgb3V0IG9uZSB3YXksIHRoZSBhcnJpdmluZyBvbmUgc2xpZGVzIGluXHJcblx0Ly8gZnJvbSB0aGUgb3RoZXIuIERpcmVjdGlvbiBjbGFzc2VzIGNvbWUgZnJvbSBsLWNhcnQuanMg4oCUIHVwIGZvciBhblxyXG5cdC8vIGluY3JlYXNlLCBkb3duIGZvciBhIGRlY3JlYXNlLlxyXG5cdCZfX3Yge1xyXG5cdFx0Z3JpZC1hcmVhOiAxIC8gMTtcclxuXHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0d2lsbC1jaGFuZ2U6IHRyYW5zZm9ybSwgb3BhY2l0eTtcclxuXHR9XHJcblx0Jl9fdi5pcy1vdXQtdXAgICB7IGFuaW1hdGlvbjogY2FydHBpbGwtb3V0LXVwICAgLjMycyAkZWFzZS1vdXQgZm9yd2FyZHM7IH1cclxuXHQmX192LmlzLWluLXVwICAgIHsgYW5pbWF0aW9uOiBjYXJ0cGlsbC1pbi11cCAgICAuMzJzICRlYXNlLW91dDsgfVxyXG5cdCZfX3YuaXMtb3V0LWRvd24geyBhbmltYXRpb246IGNhcnRwaWxsLW91dC1kb3duIC4zMnMgJGVhc2Utb3V0IGZvcndhcmRzOyB9XHJcblx0Jl9fdi5pcy1pbi1kb3duICB7IGFuaW1hdGlvbjogY2FydHBpbGwtaW4tZG93biAgLjMycyAkZWFzZS1vdXQ7IH1cclxuXHJcblx0QGluY2x1ZGUgY2FuLWhvdmVyIHtcclxuXHRcdCY6aG92ZXIgeyBib3JkZXItY29sb3I6IHZhcigtLWFjY2VudCk7IGNvbG9yOiB2YXIoLS1hY2NlbnQtaW5rKTsgfVxyXG5cdH1cclxufVxyXG5Aa2V5ZnJhbWVzIGNhcnRwaWxsLW91dC11cCAgIHsgdG8gICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTEwJSk7IG9wYWNpdHk6IDA7IH0gfVxyXG5Aa2V5ZnJhbWVzIGNhcnRwaWxsLWluLXVwICAgIHsgZnJvbSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMTAlKTsgIG9wYWNpdHk6IDA7IH0gfVxyXG5Aa2V5ZnJhbWVzIGNhcnRwaWxsLW91dC1kb3duIHsgdG8gICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMTAlKTsgIG9wYWNpdHk6IDA7IH0gfVxyXG5Aa2V5ZnJhbWVzIGNhcnRwaWxsLWluLWRvd24gIHsgZnJvbSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTEwJSk7IG9wYWNpdHk6IDA7IH0gfVxyXG5cclxuLy8g4pSA4pSAIFRoZW1lIHRvZ2dsZSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcclxuLy8gT25lIGJ1dHRvbiwgdHdvIGljb25zLCBjcm9zcy1mYWRlZCBhbmQgcm90YXRlZC4gTm8gbGF5b3V0IHNoaWZ0IG9uIGZsaXAuXHJcbi50b2dnbGUge1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHR3aWR0aDogNDJweDtcclxuXHRoZWlnaHQ6IDQycHg7XHJcblx0ZGlzcGxheTogZ3JpZDtcclxuXHRwbGFjZS1pdGVtczogY2VudGVyO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpbmUpO1xyXG5cdGJvcmRlci1yYWRpdXM6IDk5OXB4O1xyXG5cdGNvbG9yOiB2YXIoLS1pbmspO1xyXG5cdHRyYW5zaXRpb246IGJvcmRlci1jb2xvciB2YXIoLS1kdXItZmFzdCkgJGVhc2UsIHRyYW5zZm9ybSB2YXIoLS1kdXItZmFzdCkgJGVhc2U7XHJcblxyXG5cdC8vIFNhbWUgaG92ZXIgbGFuZ3VhZ2UgYXMgLnJhaWwtbmF2IGJ1dHRvbiBhbmQgLm5zZWFyY2g6IGJyYW5kIG91dGxpbmVcclxuXHQvLyBBTkQgYnJhbmQgaWNvbi4gSXQgcHJldmlvdXNseSBvbmx5IG1vdmVkIHRoZSBib3JkZXIsIHNvIHRoZSBpY29uXHJcblx0Ly8gc3RheWVkIGdyZXkgYW5kIHRoZSBjb250cm9sIGxvb2tlZCBoYWxmLWxpdC5cclxuXHQvL1xyXG5cdC8vIEdhdGVkOiB0aGlzIGNvbnRyb2wgaXMgdmlzaWJsZSBhdCBldmVyeSB3aWR0aCwgYW5kIG9uIGEgdG91Y2hzY3JlZW5cclxuXHQvLyA6aG92ZXIgTEFUQ0hFUyBhZnRlciBhIHRhcCDigJQgaXQgd291bGQgc2l0IHRoZXJlIGJsdWUgYW5kIHJvdGF0ZWQgMThkZWdcclxuXHQvLyB3aXRoIG5vdGhpbmcgdG8gY2xlYXIgaXQsIHdoaWNoIGlzIHRoZSBzdHVjayBzdGF0ZSBKb2UgaGl0IG9uIHRoZVxyXG5cdC8vIGxpZ2h0Ym94IGFycm93cy5cclxuXHRAaW5jbHVkZSBjYW4taG92ZXIge1xyXG5cdFx0Jjpob3ZlciB7XHJcblx0XHRcdGJvcmRlci1jb2xvcjogdmFyKC0tYWNjZW50KTtcclxuXHRcdFx0Y29sb3I6IHZhcigtLWFjY2VudC1pbmspO1xyXG5cdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgxOGRlZyk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRzdmcge1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0d2lkdGg6IDE3cHg7XHJcblx0XHRoZWlnaHQ6IDE3cHg7XHJcblx0XHR0cmFuc2l0aW9uOiBvcGFjaXR5IHZhcigtLWR1ci1mYXN0KSAkZWFzZSwgdHJhbnNmb3JtIC40cyAkZWFzZS1vdXQ7XHJcblx0fVxyXG5cclxuXHQvLyBEYXJrIHRoZW1lIHNob3dzIHRoZSBzdW4gKHRoZSB0aGluZyB5b3UnZCBzd2l0Y2ggVE8pLlxyXG5cdC5pLXN1biAgeyBvcGFjaXR5OiAxOyB0cmFuc2Zvcm06IHJvdGF0ZSgwKSBzY2FsZSgxKTsgfVxyXG5cdC5pLW1vb24geyBvcGFjaXR5OiAwOyB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpIHNjYWxlKC40KTsgfVxyXG5cclxuXHRbZGF0YS10aGVtZT1cImxpZ2h0XCJdICYge1xyXG5cdFx0Lmktc3VuICB7IG9wYWNpdHk6IDA7IHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKSBzY2FsZSguNCk7IH1cclxuXHRcdC5pLW1vb24geyBvcGFjaXR5OiAxOyB0cmFuc2Zvcm06IHJvdGF0ZSgwKSBzY2FsZSgxKTsgfVxyXG5cdH1cclxufVxyXG5cclxuLy8g4pSA4pSAIFNlYXJjaCDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcclxuLy8gIE9ORSBvdXRsaW5lZCBwaWxsIHRoYXQgd2lkZW5zIOKAlCBub3QgYSBib3ggdGhhdCBhcHBlYXJzIG5leHQgdG8gYSBidXR0b24uXHJcbi8vXHJcbi8vICBDbG9zZWQsIGl0IGlzIGRpbWVuc2lvbmFsbHkgaWRlbnRpY2FsIHRvIC50b2dnbGUgKDQycHggY2lyY2xlLCAxcHggLS1saW5lXHJcbi8vICBib3JkZXIsIHRyYW5zcGFyZW50IGZpbGwpIHNvIHRoZSB0d28gc2l0IGFzIGEgbWF0Y2hlZCBwYWlyIGJlc2lkZSB0aGUgT04gQUlSXHJcbi8vICBwaWxsLiBPcGVuaW5nIGFuaW1hdGVzIHRoZSBwaWxsJ3Mgb3duIHdpZHRoOyB0aGUgaW5wdXQgaW5zaWRlIGlzIGZsZXg6MSBhbmRcclxuLy8gIHNpbXBseSBnZXRzIHJvb20sIHdoaWNoIGlzIHdoeSB0aGVyZSBpcyBubyBzZWNvbmQgYm9yZGVyIGFueXdoZXJlLlxyXG4vL1xyXG4vLyAgVGhlIGlucHV0IG11c3QgbmV2ZXIgYmUgZGlzcGxheTpub25lIOKAlCB0aGUgZm9ybSBoYXMgdG8gc3RheSBzdWJtaXR0YWJsZSBhbmRcclxuLy8gIHRoZSBmaWVsZCBmb2N1c2FibGUuIEl0IGNvbGxhcHNlcyB0byB6ZXJvIHdpZHRoIGluc3RlYWQgKEpTIG1pcnJvcnMgdGhhdFxyXG4vLyAgd2l0aCB0YWJpbmRleCBzbyBpdCBpc24ndCBhIHRhYiBzdG9wIHdoaWxlIGludmlzaWJsZSkuXHJcbi8vIFRoZSBzbG90IGhvbGRzIGEgcGVybWFuZW50IDQycHggaW4gdGhlIGZsZXggcm93LiBUaGUgcGlsbCBpbnNpZGUgaXNcclxuLy8gYWJzb2x1dGVseSBwb3NpdGlvbmVkIGFuZCBhbmNob3JlZCByaWdodCwgc28gb3BlbmluZyBpdCBncm93cyBMRUZUV0FSRCBvdmVyXHJcbi8vIGVtcHR5IHNwYWNlIGFuZCB0aGUgbmF2IGxpbmtzIG5ldmVyIG1vdmUuXHJcbi5uc2VhcmNoLXNsb3Qge1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHR3aWR0aDogNDJweDtcclxuXHRoZWlnaHQ6IDQycHg7XHJcblx0ZmxleDogbm9uZTtcclxuXHJcblx0QGluY2x1ZGUgYXQobGcpIHsgZGlzcGxheTogbm9uZTsgfSAgLy8gdGhlIGRyYXdlciBjYXJyaWVzIGl0cyBvd24gZmllbGRcclxufVxyXG5cclxuLm5zZWFyY2gge1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR0b3A6IDA7XHJcblx0cmlnaHQ6IDA7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdHdpZHRoOiA0MnB4OyAgICAgICAgICAgICAgLy8gY2xvc2VkOiBhIGNpcmNsZSwgc2FtZSBhcyAudG9nZ2xlXHJcblx0aGVpZ2h0OiA0MnB4O1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpbmUpO1xyXG5cdGJvcmRlci1yYWRpdXM6IDk5OXB4O1xyXG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblx0dHJhbnNpdGlvbjogd2lkdGggLjQ1cyAkZWFzZS1vdXQsIGJvcmRlci1jb2xvciB2YXIoLS1kdXItZmFzdCkgJGVhc2UsXHJcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvciB2YXIoLS1kdXItZmFzdCkgJGVhc2U7XHJcblxyXG5cdC8vIEJyYW5kIG91dGxpbmUgb24gaG92ZXIg4oCUIG1hdGNoZXMgaG93IGV2ZXJ5IG90aGVyIG91dGxpbmVkIGNvbnRyb2wgaGVyZVxyXG5cdC8vIHJlYWN0cywgYW5kIGlzIHRoZSBvbmx5IGNvbG91ciB0aGUgY29udHJvbCBldmVyIHRha2VzLlxyXG5cdCY6aG92ZXIsXHJcblx0Jjpmb2N1cy13aXRoaW4geyBib3JkZXItY29sb3I6IHZhcigtLWFjY2VudCk7IH1cclxuXHJcblx0Ji5pcy1vcGVuIHtcclxuXHRcdHdpZHRoOiBjbGFtcCgyMDBweCwgMjF2dywgMjkwcHgpO1xyXG5cdFx0Ly8gT3BhcXVlIG9uY2Ugb3BlbjogdGhlIHBpbGwgbm93IHNpdHMgT1ZFUiB0aGUgbmF2IHJvdywgYW5kIGF0IG5hcnJvd1xyXG5cdFx0Ly8gZGVza3RvcCB3aWR0aHMgaXRzIGxlZnQgZWRnZSBjYW4gcmVhY2ggdGhlIGxhc3QgbWVudSBpdGVtLlxyXG5cdFx0YmFja2dyb3VuZDogdmFyKC0tYmcpO1xyXG5cdH1cclxuXHJcblx0aW5wdXQge1xyXG5cdFx0ZmxleDogMTtcclxuXHRcdG1pbi13aWR0aDogMDtcclxuXHRcdHdpZHRoOiAwO1xyXG5cdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdFx0Ly8gWmVybyBwYWRkaW5nIHdoaWxlIGNsb3NlZC4gUGFkZGluZyBkb2VzIE5PVCBzaHJpbmsgdW5kZXIgZmxleCwgc28gYVxyXG5cdFx0Ly8gcGVybWFuZW50IHBhZGRpbmctbGVmdCBrZXB0IGEgMTZweCBzbGl2ZXIgb2YgaW5wdXQgaW4gdGhlIGNvbGxhcHNlZFxyXG5cdFx0Ly8gcGlsbCBhbmQgc2hvdmVkIHRoZSBtYWduaWZpZXIgb2ZmIGNlbnRyZS5cclxuXHRcdHBhZGRpbmc6IDA7XHJcblx0XHRib3JkZXI6IDA7XHJcblx0XHRiYWNrZ3JvdW5kOiBub25lO1xyXG5cdFx0Y29sb3I6IHZhcigtLWluayk7XHJcblx0XHRmb250LXNpemU6IC44OHJlbTtcclxuXHRcdG9wYWNpdHk6IDA7XHJcblx0XHR0cmFuc2l0aW9uOiBvcGFjaXR5IC4yNXMgJGVhc2UsIHBhZGRpbmcgLjQ1cyAkZWFzZS1vdXQ7XHJcblxyXG5cdFx0Jjo6cGxhY2Vob2xkZXIgeyBjb2xvcjogdmFyKC0taW5rLTMpOyB9XHJcblxyXG5cdFx0Ly8gVGhlIHBpbGwgYWxyZWFkeSBzaG93cyBmb2N1cyB2aWEgOmZvY3VzLXdpdGhpbiDigJQgYSBzZWNvbmQgcmluZ1xyXG5cdFx0Ly8gaW5zaWRlIGl0IHdvdWxkIGp1c3QgYmUgbm9pc2UuXHJcblx0XHQmOmZvY3VzLXZpc2libGUgeyBvdXRsaW5lOiBub25lOyB9XHJcblx0fVxyXG5cclxuXHQmLmlzLW9wZW4gaW5wdXQge1xyXG5cdFx0b3BhY2l0eTogMTtcclxuXHRcdHBhZGRpbmctbGVmdDogc3AoNCk7XHJcblx0fVxyXG5cclxuXHQmX19idG4ge1xyXG5cdFx0ZGlzcGxheTogZ3JpZDtcclxuXHRcdHBsYWNlLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHR3aWR0aDogNDBweDtcclxuXHRcdGhlaWdodDogNDBweDtcclxuXHRcdGZsZXg6IG5vbmU7XHJcblx0XHRib3JkZXI6IDA7XHJcblx0XHRib3JkZXItcmFkaXVzOiA5OTlweDtcclxuXHRcdGJhY2tncm91bmQ6IG5vbmU7XHJcblx0XHRjb2xvcjogdmFyKC0taW5rLTIpO1xyXG5cdFx0dHJhbnNpdGlvbjogY29sb3IgdmFyKC0tZHVyLWZhc3QpICRlYXNlO1xyXG5cclxuXHRcdC8vICsyMCUgb24gSm9lJ3MgZXllLCAyMDI2LTA4LTA3ICh3YXMgMTZweCkuIFRoZSBidXR0b24gYm94IGlzIHVuY2hhbmdlZCDigJRcclxuXHRcdC8vIG9ubHkgdGhlIGdseXBoIGluc2lkZSBpdCBncmV3LlxyXG5cdFx0c3ZnIHsgd2lkdGg6IDE5LjJweDsgaGVpZ2h0OiAxOS4ycHg7IH1cclxuXHR9XHJcblxyXG5cdCY6aG92ZXIgJl9fYnRuLFxyXG5cdCY6Zm9jdXMtd2l0aGluICZfX2J0biB7IGNvbG9yOiB2YXIoLS1hY2NlbnQtaW5rKTsgfVxyXG59XHJcblxyXG4vLyBEcmF3ZXIgc2VhcmNoIOKAlCBzYW1lIG91dGxpbmVkIGxhbmd1YWdlLCBzaXplZCBmb3IgdG91Y2guIE5vIHNsaWRlLW91dFxyXG4vLyB0aGVhdHJlIGF0IHRoaXMgd2lkdGg6IHRoZSBmaWVsZCBpcyB0aGUgcG9pbnQsIHNvIGl0J3MganVzdCB0aGVyZS5cclxuLy8g4pSA4pSAIFRoZSBjbGVhciAow5cpIGJ1dHRvbiBpbnNpZGUgYSBzZWFyY2ggZmllbGQg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXHJcbi8vICDimqAgVEhJUyBHTFlQSCBJUyBUSEUgQlJPV1NFUidTLCBOT1QgT1VSUy4gYGlucHV0W3R5cGU9XCJzZWFyY2hcIl1gIHJlbmRlcnMgYVxyXG4vLyAgbmF0aXZlIGNsZWFyIGJ1dHRvbiwgYW5kIGl0IGlnbm9yZXMgZXZlcnkgaWNvbiBzaXplIGluIHRoaXMgdGhlbWUg4oCUIHdoaWNoIGlzXHJcbi8vICB3aHkgaXQgc2F0IG5vdGljZWFibHkgc21hbGxlciB0aGFuIHRoZSBtYWduaWZpZXIgYmVzaWRlIGl0LiBJdCBpcyBhIHNoYWRvd1xyXG4vLyAgcHNldWRvLWVsZW1lbnQsIHNvIGl0IGNhbiBvbmx5IGJlIHJlYWNoZWQgdGhyb3VnaCA6Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1cclxuLy8gIGJ1dHRvbiAoQmxpbmsgYW5kIFdlYktpdDsgRmlyZWZveCBkcmF3cyBubyBjbGVhciBidXR0b24gYXQgYWxsKS5cclxuLy9cclxuLy8gIGBhcHBlYXJhbmNlOiBub25lYCByZW1vdmVzIHRoZSBwbGF0Zm9ybSBnbHlwaCBlbnRpcmVseSwgYW5kIHRoZSBtYXNrIGJlbG93XHJcbi8vICByZWRyYXdzIGl0IGFzIG91cnMg4oCUIHdoaWNoIGFsc28gbWVhbnMgaXQgdGFrZXMgY3VycmVudENvbG9yIGFuZCB0aGVtZXNcclxuLy8gIGNvcnJlY3RseSwgd2hlcmUgdGhlIG5hdGl2ZSBvbmUgaXMgYSBmaXhlZCBncmV5LlxyXG4vL1xyXG4vLyAgU2l6ZWQgdG8gMjAuNHB4IHRvIG1hdGNoIGAuZHNlYXJjaCBidXR0b24gc3ZnYCBleGFjdGx5LiDim5QgSWYgdGhhdCBjaGFuZ2VzLFxyXG4vLyAgY2hhbmdlIHRoaXMgd2l0aCBpdCDigJQgdGhleSBzaXQgc2lkZSBieSBzaWRlIGFuZCBhbnkgbWlzbWF0Y2ggaXMgb2J2aW91cy5cclxuLy9cclxuLy8gIFNhbWUgWCBwYXRoIGFzIHRoZSBsaWdodGJveCBjbG9zZSBidXR0b24sIHNvIGV2ZXJ5IGRpc21pc3MgaW4gdGhlIFVJIGlzIHRoZVxyXG4vLyAgc2FtZSBtYXJrLlxyXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uIHtcclxuXHQtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XHJcblx0YXBwZWFyYW5jZTogbm9uZTtcclxuXHR3aWR0aDogMjAuNHB4O1xyXG5cdGhlaWdodDogMjAuNHB4O1xyXG5cdGJhY2tncm91bmQ6IGN1cnJlbnRDb2xvcjtcclxuXHRjb2xvcjogdmFyKC0taW5rLTMpO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHJcblx0Ly8gTnVkZ2VkIHRvd2FyZCB0aGUgbWFnbmlmaWVyIOKAlCBKb2UsIDIwMjYtMDgtMDguIFRoZSBuYXRpdmUgYnV0dG9uIHNpdHMgYXRcclxuXHQvLyB0aGUgZW5kIG9mIHRoZSBpbnB1dCdzIENPTlRFTlQgYm94LCBzbyBpdCBpbmhlcml0cyB0aGUgZmllbGQncyBmdWxsXHJcblx0Ly8gcGFkZGluZy1pbmxpbmUgYW5kIGxhbmRzIGZ1cnRoZXIgZnJvbSB0aGUgc3VibWl0IGljb24gdGhhbiBpdCBsb29rcyBsaWtlXHJcblx0Ly8gaXQgc2hvdWxkLiBBIG5lZ2F0aXZlIG1hcmdpbiBtb3ZlcyBvbmx5IHRoZSBnbHlwaDsgY2hhbmdpbmcgdGhlIGlucHV0J3NcclxuXHQvLyBwYWRkaW5nIHdvdWxkIGRyYWcgdGhlIHR5cGVkIHRleHQgd2l0aCBpdC5cclxuXHQvL1xyXG5cdC8vIOKaoCBUSElTIElTIFRIRSBPTkUgS05PQi4gUmFpc2UgdGhlIG5lZ2F0aXZlIHZhbHVlIHRvIG1vdmUgaXQgZnVydGhlclxyXG5cdC8vIHJpZ2h0LCB0b3dhcmQgdGhlIG1hZ25pZmllci4gUGFzdCBhYm91dCAtMS4yNXJlbSBpdCBzdGFydHMgY3Jvd2RpbmcgdGhlXHJcblx0Ly8gc3VibWl0IGJ1dHRvbiwgd2hpY2ggaXMgYSA1MnB4IHRhcCB0YXJnZXQgYW5kIG11c3Qgbm90IGJlIGVuY3JvYWNoZWQgb24uXHJcblx0bWFyZ2luLXJpZ2h0OiAtLjZyZW07XHJcblx0LXdlYmtpdC1tYXNrOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDI0IDI0JyUzRSUzQ3BhdGggZD0nTTUgNWwxNCAxNE0xOSA1TDUgMTknIGZpbGw9J25vbmUnIHN0cm9rZT0nJTIzMDAwJyBzdHJva2Utd2lkdGg9JzInIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcvJTNFJTNDL3N2ZyUzRVwiKSBjZW50ZXIgLyBjb250YWluIG5vLXJlcGVhdDtcclxuXHRtYXNrOiAgICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMjQgMjQnJTNFJTNDcGF0aCBkPSdNNSA1bDE0IDE0TTE5IDVMNSAxOScgZmlsbD0nbm9uZScgc3Ryb2tlPSclMjMwMDAnIHN0cm9rZS13aWR0aD0nMicgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJy8lM0UlM0Mvc3ZnJTNFXCIpIGNlbnRlciAvIGNvbnRhaW4gbm8tcmVwZWF0O1xyXG5cdHRyYW5zaXRpb246IGNvbG9yIHZhcigtLWR1ci1mYXN0KSAkZWFzZTtcclxuXHJcblx0QGluY2x1ZGUgY2FuLWhvdmVyIHtcclxuXHRcdCY6aG92ZXIgeyBjb2xvcjogdmFyKC0taW5rKTsgfVxyXG5cdH1cclxufVxyXG5cclxuLmRzZWFyY2gge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRoZWlnaHQ6IDU0cHg7XHJcblx0Ly8gU2l0cyBhYm92ZSB0aGUgbGluayBsaXN0IG5vdywgc28gdGhlIGdhcCBnb2VzIHVuZGVybmVhdGggaXQuXHJcblx0bWFyZ2luLWJvdHRvbTogc3AoNik7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tbGluZSk7XHJcblx0Ym9yZGVyLXJhZGl1czogOTk5cHg7XHJcblx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHR0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgdmFyKC0tZHVyLWZhc3QpICRlYXNlO1xyXG5cclxuXHQmOmhvdmVyLFxyXG5cdCY6Zm9jdXMtd2l0aGluIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1hY2NlbnQpOyB9XHJcblxyXG5cdGlucHV0IHtcclxuXHRcdGZsZXg6IDE7XHJcblx0XHRtaW4td2lkdGg6IDA7XHJcblx0XHRoZWlnaHQ6IDEwMCU7XHJcblx0XHRwYWRkaW5nLWlubGluZTogc3AoNSk7XHJcblx0XHRib3JkZXI6IDA7XHJcblx0XHRiYWNrZ3JvdW5kOiBub25lO1xyXG5cdFx0Y29sb3I6IHZhcigtLWluayk7XHJcblxyXG5cdFx0Jjo6cGxhY2Vob2xkZXIgeyBjb2xvcjogdmFyKC0taW5rLTMpOyB9XHJcblx0XHQmOmZvY3VzLXZpc2libGUgeyBvdXRsaW5lOiBub25lOyB9XHJcblx0fVxyXG5cclxuXHRidXR0b24ge1xyXG5cdFx0ZGlzcGxheTogZ3JpZDtcclxuXHRcdHBsYWNlLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHR3aWR0aDogNTJweDtcclxuXHRcdGhlaWdodDogNTJweDtcclxuXHRcdGZsZXg6IG5vbmU7XHJcblx0XHRtYXJnaW4tcmlnaHQ6IDFweDtcclxuXHRcdGJvcmRlci1yYWRpdXM6IDk5OXB4O1xyXG5cdFx0YmFja2dyb3VuZDogbm9uZTtcclxuXHRcdGNvbG9yOiB2YXIoLS1pbmstMik7XHJcblx0XHR0cmFuc2l0aW9uOiBjb2xvciB2YXIoLS1kdXItZmFzdCkgJGVhc2U7XHJcblxyXG5cdFx0Ly8gKzIwJSwgbWF0Y2hpbmcgLm5zZWFyY2hfX2J0biAod2FzIDE3cHgpLlxyXG5cdFx0c3ZnIHsgd2lkdGg6IDIwLjRweDsgaGVpZ2h0OiAyMC40cHg7IH1cclxuXHR9XHJcblxyXG5cdCY6aG92ZXIgYnV0dG9uLFxyXG5cdCY6Zm9jdXMtd2l0aGluIGJ1dHRvbiB7IGNvbG9yOiB2YXIoLS1hY2NlbnQtaW5rKTsgfVxyXG59XHJcblxyXG4vLyDilIDilIAgTW9iaWxlIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxyXG4uYnVyZ2VyIHtcclxuXHRkaXNwbGF5OiBub25lO1xyXG5cdHdpZHRoOiA0MnB4O1xyXG5cdGhlaWdodDogNDJweDtcclxuXHRwbGFjZS1pdGVtczogY2VudGVyO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpbmUpO1xyXG5cdGJvcmRlci1yYWRpdXM6IDk5OXB4O1xyXG5cclxuXHRAaW5jbHVkZSBhdChsZykgeyBkaXNwbGF5OiBncmlkOyB9XHJcblxyXG5cdHNwYW4ge1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHR3aWR0aDogMTZweDtcclxuXHRcdGhlaWdodDogMS41cHg7XHJcblx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1pbmspO1xyXG5cdFx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIC4zcyAkZWFzZSwgb3BhY2l0eSAuMnMgJGVhc2U7XHJcblxyXG5cdFx0Jjo6YmVmb3JlLCAmOjphZnRlciB7XHJcblx0XHRcdGNvbnRlbnQ6IFwiXCI7XHJcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0bGVmdDogMDtcclxuXHRcdFx0d2lkdGg6IDE2cHg7XHJcblx0XHRcdGhlaWdodDogMS41cHg7XHJcblx0XHRcdGJhY2tncm91bmQ6IHZhcigtLWluayk7XHJcblx0XHRcdHRyYW5zaXRpb246IHRyYW5zZm9ybSAuM3MgJGVhc2Utb3V0LCB0b3AgLjNzICRlYXNlLCBib3R0b20gLjNzICRlYXNlO1xyXG5cdFx0fVxyXG5cdFx0Jjo6YmVmb3JlIHsgdG9wOiAtNXB4OyB9XHJcblx0XHQmOjphZnRlciAgeyBib3R0b206IC01cHg7IH1cclxuXHR9XHJcblxyXG5cdC8vIEdFT01FVFJZIE9OTFkuIFRoZSBtaWRkbGUgYmFyJ3MgY29sb3VyIGlzIE5PVCBzZXQgaGVyZSDigJQgc2VlIHRoZSAubmF2XHJcblx0Ly8gYmxvY2sgYXQgdGhlIGJvdHRvbSBvZiB0aGlzIGZpbGUgZm9yIHdoeSBpdCBjYW4ndCBiZS5cclxuXHQmW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdIHNwYW4ge1xyXG5cdFx0Jjo6YmVmb3JlIHsgdG9wOiAwOyB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7IH1cclxuXHRcdCY6OmFmdGVyICB7IGJvdHRvbTogMDsgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTsgfVxyXG5cdH1cclxuXHJcblx0Ly8gSG92ZXIgYW5kIG9wZW4gc3RhdGVzIGxpdmUgaW4gdGhlIC5uYXYgYmxvY2sgYXQgdGhlIGJvdHRvbSBvZiB0aGlzIGZpbGUsXHJcblx0Ly8gbm90IGhlcmUuIEJvdGggaGF2ZSB0byBvdXQtd2VpZ2ggYC5uYXYuaXMtc3R1Y2tgLCB3aGljaCBhIGJhcmUgYC5idXJnZXJgXHJcblx0Ly8gcnVsZSBjYW5ub3QgZG8uXHJcbn1cclxuXHJcbi8vIOKUgOKUgCBCdXJnZXIsIG9wZW4g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXHJcbi8vICBMaXQsIGFuZCB0aGUgbWlkZGxlIGJhciBoaWRkZW4uIERlbGliZXJhdGVseSBOT1QgaW5zaWRlIGNhbi1ob3ZlcjogdGhpcyBpc1xyXG4vLyAgdGhlIHN0YXRlIHRoYXQgc2F5cyBcInRoZSBkcmF3ZXIgaXMgd2hhdCB5b3UncmUgbG9va2luZyBhdFwiLCBhbmQgb24gYSBwaG9uZSDigJRcclxuLy8gIHdoZXJlIHRoZSBkcmF3ZXIgbWF0dGVycyBtb3N0IOKAlCB0aGVyZSBpcyBubyBob3ZlciB0byBjYXJyeSBpdC5cclxuLy9cclxuLy8gIOKaoCBUSEUgYC5uYXZgIFBSRUZJWCBBTkQgVEhFIGBzcGFuYCBSVUxFIEFSRSBCT1RIIExPQUQtQkVBUklORy4gRXZlcnlcclxuLy8gIGRlY2xhcmF0aW9uIGhlcmUgZXhpc3RzIHRvIG91dC13ZWlnaCBhIGAubmF2LmlzLXN0dWNrYCBydWxlIG5lYXIgdGhlIHRvcCBvZlxyXG4vLyAgdGhpcyBmaWxlLCB3aGljaCByZXBhaW50cyB0aGUgd2hvbGUgY29udHJvbCB3aGl0ZSBvbmNlIHRoZSBoZWFkZXIgc3RpY2tzOlxyXG4vL1xyXG4vLyAgICAubmF2LmlzLXN0dWNrIC5idXJnZXIgc3BhbiAgeyBiYWNrZ3JvdW5kOiAjZmZmIH0gICAoMCwzLDEpXHJcbi8vICAgIC5uYXYuaXMtc3R1Y2sgLmJ1cmdlciAgICAgICB7IGJvcmRlci1jb2xvcjog4oCmIH0gICAgKDAsMywwKVxyXG4vL1xyXG4vLyAgQSBiYXJlIGAuYnVyZ2VyW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdIHNwYW5gIGlzIG9ubHkgKDAsMiwxKSBhbmQgTE9TRVMsIHNvIHRoZVxyXG4vLyAgbWlkZGxlIGJhciBwYWludGVkIHdoaXRlIGluc3RlYWQgb2YgdmFuaXNoaW5nIGFuZCB0aGUgWCBjYW1lIG91dCB3aXRoIGEgYmFyXHJcbi8vICBzdHJ1Y2sgdGhyb3VnaCBpdCDigJQgSm9lJ3MgXCJzb21ldGltZXMgdGhlIGhhbWJ1cmdlciBnZXRzIG1lc3NlZCB1cFwiLiBPbmx5XHJcbi8vICBzb21ldGltZXMgYmVjYXVzZSBpdCBuZWVkcyB0aGUgcGFnZSBzY3JvbGxlZCBmYXIgZW5vdWdoIGZvciAuaXMtc3R1Y2suXHJcbi8vXHJcbi8vICBXaXRoIGAubmF2YCBpbiBmcm9udCB0aGVzZSBhcmUgKDAsMywxKSBhbmQgKDAsMywwKTogbGV2ZWwgcGVnZ2luZywgZGVjaWRlZCBieVxyXG4vLyAgc291cmNlIG9yZGVyLCB3aGljaCBpcyB3aHkgdGhpcyBibG9jayBtdXN0IHN0YXkgYXQgdGhlIEJPVFRPTSBvZiB0aGUgZmlsZS5cclxuLm5hdiAuYnVyZ2VyIHtcclxuXHJcblx0Ly8gU2FtZSBsYW5ndWFnZSBhcyAudG9nZ2xlIGJlc2lkZSBpdDogYnJhbmQgb3V0bGluZSBBTkQgYnJhbmQgaW5rLCBzbyB0aGVcclxuXHQvLyB3aG9sZSBjb250cm9sIGxpZ2h0cyByYXRoZXIgdGhhbiBqdXN0IGl0cyByaW5nLiBUaGUgOm5vdCgpIGtlZXBzIHRoZVxyXG5cdC8vIG1pZGRsZSBiYXIgaGlkZGVuIHdoaWxlIHRoZSBidXJnZXIgaXMgYW4gWCDigJQgd2l0aG91dCBpdCwgaG92ZXJpbmcgdGhlIG9wZW5cclxuXHQvLyBzdGF0ZSBsaWdodHMgYSB0aGlyZCBzdHJva2Ugc3RyYWlnaHQgdGhyb3VnaCB0aGUgY3Jvc3MuXHJcblx0QGluY2x1ZGUgY2FuLWhvdmVyIHtcclxuXHRcdCY6aG92ZXIge1xyXG5cdFx0XHRib3JkZXItY29sb3I6IHZhcigtLWFjY2VudCk7XHJcblxyXG5cdFx0XHRzcGFuOjpiZWZvcmUsXHJcblx0XHRcdHNwYW46OmFmdGVyIHsgYmFja2dyb3VuZDogdmFyKC0tYWNjZW50LWluayk7IH1cclxuXHRcdH1cclxuXHJcblx0XHQmOmhvdmVyOm5vdChbYXJpYS1leHBhbmRlZD1cInRydWVcIl0pIHNwYW4geyBiYWNrZ3JvdW5kOiB2YXIoLS1hY2NlbnQtaW5rKTsgfVxyXG5cdH1cclxuXHJcblx0JlthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSB7XHJcblx0XHRib3JkZXItY29sb3I6IHZhcigtLWFjY2VudCk7XHJcblxyXG5cdFx0Ly8gVGhlIG1pZGRsZSBiYXIgSVMgdGhlIHRoaW5nIHRoYXQgaGFzIHRvIGRpc2FwcGVhciDigJQgdGhlIHR3byBwc2V1ZG8tXHJcblx0XHQvLyBlbGVtZW50cyByb3RhdGUgaW50byB0aGUgY3Jvc3MgYW5kIHRoaXMgb25lIHN0cmlrZXMgdGhyb3VnaCBpdC5cclxuXHRcdHNwYW4geyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxyXG5cclxuXHRcdHNwYW46OmJlZm9yZSxcclxuXHRcdHNwYW46OmFmdGVyIHsgYmFja2dyb3VuZDogdmFyKC0tYWNjZW50LWluayk7IH1cclxuXHR9XHJcbn1cclxuXHJcbi5kcmF3ZXIge1xyXG5cdHBvc2l0aW9uOiBmaXhlZDtcclxuXHRpbnNldDogMDtcclxuXHR6LWluZGV4OiA5OTtcclxuXHRkaXNwbGF5OiBncmlkO1xyXG5cdGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRwYWRkaW5nOiB2YXIoLS1uYXYtaCkgdmFyKC0tZ3V0dGVyKSBzcCg4KTtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iZyk7XHJcblx0Ly8gY2xpcC1wYXRoIHdpcGUgcmF0aGVyIHRoYW4gYSBzbGlkZSDigJQgcmVhZHMgYXMgYSBzY2VuZSBjaGFuZ2UsIG5vdCBhIHBhbmVsLlxyXG5cdGNsaXAtcGF0aDogaW5zZXQoMCAwIDEwMCUgMCk7XHJcblx0dHJhbnNpdGlvbjogY2xpcC1wYXRoIC42cyAkZWFzZS1vdXQ7XHJcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XHJcblxyXG5cdCYuaXMtb3BlbiB7IGNsaXAtcGF0aDogaW5zZXQoMCAwIDAgMCk7IHBvaW50ZXItZXZlbnRzOiBhbGw7IH1cclxuXHJcblx0dWwgeyBsaXN0LXN0eWxlOiBub25lOyB9XHJcblxyXG5cdGxpIHtcclxuXHRcdG92ZXJmbG93OiBoaWRkZW47XHJcblx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tbGluZSk7XHJcblxyXG5cdFx0Ly8gVGhlIHJ1bGVzIGRpdmlkZSB0aGUgbGlua3MgZnJvbSBlYWNoIG90aGVyOyB0aGUgb25lIHVuZGVyIHRoZSBsYXN0XHJcblx0XHQvLyBpdGVtIGRpdmlkZXMgaXQgZnJvbSBub3RoaW5nLlxyXG5cdFx0JjpsYXN0LWNoaWxkIHsgYm9yZGVyLWJvdHRvbTogMDsgfVxyXG5cdH1cclxuXHJcblx0YSB7XHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdHBhZGRpbmc6IHNwKDQpIDA7XHJcblx0XHRmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcclxuXHRcdGZvbnQtc2l6ZTogZmx1aWQoMzAsIDYyKTtcclxuXHRcdGZvbnQtd2VpZ2h0OiA5MDA7XHJcblx0XHRsaW5lLWhlaWdodDogMTtcclxuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0XHRsZXR0ZXItc3BhY2luZzogLS4wM2VtO1xyXG5cdFx0Ly8gU3RhZ2dlcmVkIHJpc2Ug4oCUIC0taSBpcyBzZXQgcGVyIGl0ZW0gaW4gdGhlIHRlbXBsYXRlLlxyXG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDExMCUpO1xyXG5cdFx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIC42cyAkZWFzZS1vdXQgY2FsYyh2YXIoLS1pLCAwKSAqIC4wNXMpLCBjb2xvciB2YXIoLS1kdXItZmFzdCkgJGVhc2U7XHJcblxyXG5cdFx0Jjpob3ZlcixcclxuXHRcdCZbYXJpYS1jdXJyZW50XSB7IGNvbG9yOiB2YXIoLS1hY2NlbnQtaW5rKTsgfVxyXG5cdH1cclxuXHJcblx0Ji5pcy1vcGVuIGEgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cclxufVxyXG5cclxuLy8g4pSA4pSAIEhhcHRpY3Mgc3dpdGNoIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxyXG4vLyAgRm9vdCBvZiB0aGUgZHJhd2VyLiBEZWxpYmVyYXRlbHkgcXVpZXQ6IGl0J3MgYSBwcmVmZXJlbmNlLCBub3QgYVxyXG4vLyAgZGVzdGluYXRpb24sIHNvIGl0IHRha2VzIHRoZSBzbWFsbCBsYWJlbCB0eXBlIHJhdGhlciB0aGFuIGNvbXBldGluZyB3aXRoIHRoZVxyXG4vLyAgZmx1aWQoMzAsIDYyKSBsaW5rcyBkaXJlY3RseSBhYm92ZSBpdC5cclxuLmhhcHQge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblx0Z2FwOiBzcCg0KTtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRtYXJnaW4tdG9wOiBzcCg1KTtcclxuXHRwYWRkaW5nLXRvcDogc3AoNCk7XHJcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWxpbmUpO1xyXG5cdGNvbG9yOiB2YXIoLS1pbmspO1xyXG5cclxuXHRAaW5jbHVkZSBsYWJlbDtcclxuXHJcblx0Jl9fdHJhY2sge1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0ZmxleDogbm9uZTtcclxuXHRcdHdpZHRoOiA0NnB4O1xyXG5cdFx0aGVpZ2h0OiAyNnB4O1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogOTk5cHg7XHJcblx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1saW5lLTIpO1xyXG5cdFx0dHJhbnNpdGlvbjogYmFja2dyb3VuZCB2YXIoLS1kdXItZmFzdCkgJGVhc2U7XHJcblx0fVxyXG5cclxuXHQvLyBPZmZzZXRzIGFyZSBoYW5kLWZpdHRlZCB0byB0aGUgdHJhY2s6IDI2IOKIkiAoMyDDlyAyKSA9IDIwcHggdGFsbCwgYW5kIHRoZVxyXG5cdC8vIHRyYXZlbCBiZWxvdyBpcyB0aGUgc2FtZSAyMHB4LCB3aGljaCBsYW5kcyBpdCAzcHggb2ZmIHRoZSBmYXIgZW5kIGV4YWN0bHlcclxuXHQvLyBhcyBpdCBzdGFydHMgM3B4IG9mZiB0aGUgbmVhciBvbmUuIENoYW5nZSB0aGUgdHJhY2sgYW5kIGFsbCBmb3VyIG1vdmUuXHJcblx0Jl9fdGh1bWIge1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0dG9wOiAzcHg7XHJcblx0XHRsZWZ0OiAzcHg7XHJcblx0XHR3aWR0aDogMjBweDtcclxuXHRcdGhlaWdodDogMjBweDtcclxuXHRcdGJvcmRlci1yYWRpdXM6IDk5OXB4O1xyXG5cdFx0YmFja2dyb3VuZDogdmFyKC0tYmcpO1xyXG5cdFx0dHJhbnNpdGlvbjogdHJhbnNsYXRlIHZhcigtLWR1ci1mYXN0KSAkZWFzZTtcclxuXHR9XHJcblxyXG5cdCZbYXJpYS1jaGVja2VkPVwidHJ1ZVwiXSB7XHJcblx0XHQuaGFwdF9fdHJhY2sgeyBiYWNrZ3JvdW5kOiB2YXIoLS1hY2NlbnQpOyB9XHJcblx0XHQuaGFwdF9fdGh1bWIgeyB0cmFuc2xhdGU6IDIwcHggMDsgfVxyXG5cdH1cclxufVxyXG5cclxuLy8gRkFERVMgcmF0aGVyIHRoYW4gcmlzaW5nLiBUaGUgbGlua3MgZ2V0IHRoZWlyIHN0YWdnZXJlZCByaXNlIGZyb20gYSB0cmFuc2xhdGVcclxuLy8gbWFza2VkIGJ5IGAuZHJhd2VyIGxpIHsgb3ZlcmZsb3c6IGhpZGRlbiB9YDsgdGhpcyBzaXRzIG91dHNpZGUgdGhhdCBsaXN0LCBzb1xyXG4vLyB0aGUgc2FtZSB0cmVhdG1lbnQgd291bGQgc2xpZGUgYW4gdW5tYXNrZWQgcm93IHVwIHRoZSBvcGVuIGRyYXdlciBpbiBmdWxsXHJcbi8vIHZpZXcuIE9wYWNpdHkgbmVlZHMgbm8gbWFzay4gU2NvcGVkIHRvIC5kcmF3ZXIgc28gYSAuaGFwdCBwbGFjZWQgYW55d2hlcmVcclxuLy8gZWxzZSBpc24ndCBpbnZpc2libGUgYnkgZGVmYXVsdC5cclxuLmRyYXdlciAuaGFwdCB7XHJcblx0b3BhY2l0eTogMDtcclxuXHR0cmFuc2l0aW9uOiBvcGFjaXR5IC40cyAkZWFzZSAuMzVzO1xyXG59XHJcblxyXG4uZHJhd2VyLmlzLW9wZW4gLmhhcHQgeyBvcGFjaXR5OiAxOyB9XHJcblxyXG4vLyDimqAgYGJvZHkuaXMtbG9ja2VkIHsgb3ZlcmZsb3c6IGhpZGRlbiB9YCBXQVMgSEVSRSBhbmQgd2FzIHJlbW92ZWQgMjAyNi0wOC0wOC5cclxuLy8gIEl0IHdhcyB0aGUgZHJhd2VyJ3Mgc2Nyb2xsIGxvY2sgYW5kIGl0IGRpZCBub3Qgd29yayBvbiBpT1MsIHdoaWNoIGlnbm9yZXNcclxuLy8gIG92ZXJmbG93OmhpZGRlbiBvbiBib2R5IOKAlCB0aGUgcGFnZSBzY3JvbGxlZCBoYXBwaWx5IGJlaGluZCB0aGUgb3BlbiBtZW51LlxyXG4vLyAgVGhlIGRyYXdlciBub3cgc2hhcmVzIHRoZSBsaWdodGJveCdzIGZpeGVkLWJvZHkgbG9jazogYGJvZHkuaXMtbG9ja2VkLWZpeGVkYFxyXG4vLyAgaW4gX2xpZ2h0Ym94LnNjc3MsIGRyaXZlbiBieSBhLWxvY2suanMuIE5vdGhpbmcgc2V0cyAuaXMtbG9ja2VkIGFueSBtb3JlLCBzb1xyXG4vLyAgcmUtYWRkaW5nIHRoaXMgcnVsZSB3b3VsZCBzdHlsZSBhIGNsYXNzIHRoYXQgbmV2ZXIgYXBwZWFycy5cclxuIiwiQHVzZSBcInRva2Vuc1wiIGFzICo7XHJcblxyXG4vLyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcclxuLy8gIEhFUk8g4oCUIGZ1bGwtdmlld3BvcnQgdHJhbnNtaXNzaW9uIHBhbmVsXHJcbi8vXHJcbi8vICBUaGUgaGVhZGxpbmUgaXMgdGhlIHdob2xlIGRlc2lnbi4gRWFjaCB3b3JkIHNpdHMgaW4gYW4gb3ZlcmZsb3c6aGlkZGVuIG1hc2tcclxuLy8gIGFuZCByaXNlcyBvbiBsb2FkLCBzbyB0aGUgcGFnZSBhc3NlbWJsZXMgaXRzZWxmIHJhdGhlciB0aGFuIGp1c3QgYXBwZWFyaW5nLlxyXG4vLyAgT25lIHdvcmQgaXMga25vY2tlZCBvdXQgdG8gYW4gb3V0bGluZSBzbyB0aGUgdGl0bGUgaGFzIGEgZm9jYWwgcG9pbnQgd2l0aG91dFxyXG4vLyAgbmVlZGluZyBhbiBpbWFnZS5cclxuLy8g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXHJcblxyXG4uaGVybyB7XHJcblx0Ly8gU2hhcmVkIGJ5IHRoZSBiYWNrZHJvcCBwaG90byBBTkQgYnkgdGhlIGhlYWRsaW5lJ3Mgc2l6ZSBjYWxjIGJlbG93LCBzb1xyXG5cdC8vIHRoZSB0d28gY2FuIG5ldmVyIGRpc2FncmVlIGFib3V0IGhvdyBtdWNoIHJvb20gaXMgbGVmdCBmb3IgdGhlIHR5cGUuXHJcblx0Ly8gSGVpZ2h0IGlzIHdoYXQgbWF0dGVycyBoZXJlLCBub3Qgd2lkdGg6IHRoZSBjdXQtb3V0IGlzIDAuNzggcmF0aW8sIHNvIGFcclxuXHQvLyA3NTlweCB3aWR0aCBtYWRlIGhpbSA5NzNweCBUQUxMIOKAlCB0YWxsZXIgdGhhbiB0aGUgaGVybyBpdHNlbGYuIEhlbmNlIHRoZVxyXG5cdC8vIGxvb21pbmcsIGFuZCB0aGUgY2xpcHBlZCBoZWFkLiB+MjYlIGRvd24gcHV0cyBoaW0gYXQgfjcxOHB4IHRhbGwsIHdoaWNoXHJcblx0Ly8gc2l0cyBpbnNpZGUgdGhlIGhlcm8gd2l0aCByb29tIGFib3ZlLlxyXG5cdC8vXHJcblx0Ly8gU2hyaW5raW5nIGhpbSBhbHNvIGdpdmVzIHRoZSBoZWFkbGluZSBiYWNrIHJlYWwgZXN0YXRlLCB3aGljaCBpcyB3aGVyZVxyXG5cdC8vIGl0cyBzaXplIGluY3JlYXNlIGNvbWVzIGZyb20g4oCUIHNlZSAmX190aXRsZS5cclxuXHQvLyArMjAlIG9uIDIwMjYtMDgtMDgg4oCUIHdhcyBjbGFtcCgyNjBweCwgMzR2dywgNTYwcHgpLiBIZSB3YXMgYm90dG9tLWFuY2hvcmVkXHJcblx0Ly8gYW5kIG9ubHkgfjYyOHB4IHRhbGwgaW4gYSB+OTY4cHggaGVybywgd2hpY2ggbGVmdCBhIHRoaXJkIG9mIHRoZSBmcmFtZVxyXG5cdC8vIGVtcHR5IGFib3ZlIGhpbSBhbmQgcmVhZCBhcyB0aGUgZmlndXJlIHNpbmtpbmcgaW50byB0aGUgY29ybmVyLiBCZWNhdXNlXHJcblx0Ly8gdGhlIHBob3RvIGlzIGFuY2hvcmVkIHRvIHRoZSBib3R0b20sIFdJRFRIIGlzIHdoYXQgbGlmdHMgaGltOiBtb3JlIHdpZHRoXHJcblx0Ly8gaXMgbW9yZSBoZWlnaHQsIGFuZCB0aGUgZXh0cmEgaGVpZ2h0IGNhbiBvbmx5IGdvIHVwd2FyZC5cclxuXHQvL1xyXG5cdC8vIOKblCBUSEUgbWluKCkgSVMgQSBHVUFSRCwgTk9UIEEgVElEWS1VUCDigJQgZG9uJ3QgcmVtb3ZlIGl0LlxyXG5cdC8vXHJcblx0Ly8gVGhlIGNvbW1lbnQgYWJvdmUgcmVjb3JkcyB3aHkgdGhpcyB3YXMgY3V0IGluIHRoZSBmaXJzdCBwbGFjZTogYXQgNzU5cHhcclxuXHQvLyB3aWRlIHRoZSAwLjc4IGN1dC1vdXQgbWFkZSBoaW0gOTczcHggVEFMTCwgdGFsbGVyIHRoYW4gdGhlIGhlcm8gaXRzZWxmLFxyXG5cdC8vIHNvIGhlIGxvb21lZCBhbmQgaGlzIGhlYWQgd2FzIGNsaXBwZWQuIFRoYXQgZmFpbHVyZSBpcyBkcml2ZW4gYnkgVklFV1BPUlRcclxuXHQvLyBIRUlHSFQsIGFuZCBhIHdpZHRoIGNsYW1wIGNhbm5vdCBzZWUgdmlld3BvcnQgaGVpZ2h0IOKAlCBvbiBhIHdpZGUsIHNob3J0XHJcblx0Ly8gbGFwdG9wICgxNDQweDcyMCBpcyBvcmRpbmFyeSkgdGhlIHZ3IHRlcm0gYWxvbmUgd291bGQgd2FsayBzdHJhaWdodCBiYWNrXHJcblx0Ly8gaW50byBpdC5cclxuXHQvL1xyXG5cdC8vIFNvIHRoZSB3aWR0aCBpcyBhbHNvIGNhcHBlZCBpbiBzdmguIFRoZSBmaWd1cmUgaXMgYnVkZ2V0ZWQgYXQgfjg3c3ZoXHJcblx0Ly8gdGFsbCDigJQgZW5vdWdoIHRvIGZpbGwgdGhlIGZyYW1lIHdpdGggdGhlIHRvcCBzdGlsbCBpbnNpZGUgaXQuXHJcblx0Ly9cclxuXHQvLyDimqAgRVZFUlkgTlVNQkVSIEhFUkUgSVMgVEhFIENVVC1PVVQnUyBBU1BFQ1QgUkFUSU8gSU4gRElTR1VJU0UuIFRoZVxyXG5cdC8vIDIwMjYtMDgtMDYgcGhvdG8gd2FzIDAuNzggKGggPSB3IHggMS4yODIpOiA2OHN2aCB3aWRlID0gODdzdmggdGFsbC4gVGhlXHJcblx0Ly8gMjAyNi0wOS0xNCBwaG90byBpcyBzcXVhcmVyLCAwLjg4OSAoaCA9IHcgeCAxLjEyNSksIGFuZCBhdCB0aGUgU0FNRVxyXG5cdC8vIHdpZHRoIGNhbWUgb3V0IDEyJSBzaG9ydGVyIOKAlCBoZWFkIGRyb3BwZWQgdG8gdGhlIGZvbGQgbGluZSBhbmQgdGhlXHJcblx0Ly8gc2hpcnQgd2FzIGN1dCBvZmYgKFwieW91IGdvdHRhIG1ha2UgaXQgdGFsbGVyXCIpLiBTbyB0aGUgd2hvbGUgY2xhbXAgd2FzXHJcblx0Ly8gc2NhbGVkIGJ5IDEuMjgyLzEuMTI1ID0gMS4xNDogNzdzdmggeCAxLjEyNSA9IHRoZSBzYW1lIDg3c3ZoIGZpZ3VyZS5cclxuXHQvLyBUaGVuIGEgZnVydGhlciB4MS4wNyBvbiByZXZpZXcgKFwiYnJpbmcgaGltIHVwIGEgYml0IG1vcmVcIikg4oCUIDgyc3ZoIHdpZGVcclxuXHQvLyBpcyB+OTJzdmggb2YgZmlndXJlLCB0aGUgaGVhZCBub3cgd2VsbCBhYm92ZSB0aGUgZm9sZCBsaW5lLiBGaW5hbFxyXG5cdC8vIHRyaW0gb2YgMiUgKFwic2NhbGUgdGhlIHBob3RvIGRvd24gMiUgYW5kIHdlJ3JlIGRvbmUgd2l0aCBoaW1cIikuXHJcblx0Ly8gSWYgdGhlIHBob3RvIGNoYW5nZXMgYWdhaW4sIHJlLWRlcml2ZSBmcm9tIGl0cyByYXRpbzsgZG9uJ3QgZXllYmFsbC5cclxuXHQtLXBob3RvLXc6IG1pbihjbGFtcCgzNzJweCwgNDguOHZ3LCA4MDRweCksIDgwLjRzdmgpO1xyXG5cclxuXHQvLyDilIDilIAgNDA0ICg0MDQucGhwKSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcclxuXHQvLyBUaGUgZXJyb3IgcGFnZSBpcyB0aGUgaGVybywgbWludXMgdGhlIHRpY2tlciBhbmQgdGhlIHNjcm9sbCBjdWUuIEV2ZXJ5XHJcblx0Ly8gYml0IG9mIG92ZXJoYW5nIG1hdGgg4oCUIHRoZSBtaW4taGVpZ2h0LCB0aGUgYm90dG9tIHBhZGRpbmcsIHRoZSBjdWUnc1xyXG5cdC8vIG9mZnNldCDigJQgaXMgZGVyaXZlZCBmcm9tIC0tdGlja2VyLWgsIHNvIHplcm9pbmcgdGhlIHRva2VuIGhlcmUgaXMgdGhlXHJcblx0Ly8gd2hvbGUgY2hhbmdlOiBhIHBsYWluIDEwMHN2aCBwYW5lbCwgcGhvdG8gYW5jaG9yZWQgdG8gaXRzIHJlYWwgYm90dG9tLlxyXG5cdC8vIOKblCBEb24ndCByZXN0eWxlIHRoZSA0MDQgc2VwYXJhdGVseSBhZ2FpbiAoYSAuZTQwNCBibG9jayBleGlzdGVkIHVudGlsXHJcblx0Ly8gMjAyNi0wOS0xNyk7IGl0IHNob3VsZCB0cmFjayB0aGUgaG9tZXBhZ2UgYXV0b21hdGljYWxseS5cclxuXHQmLS00MDQsXHJcblx0Ji0tbm8tdGlja2VyIHsgLS10aWNrZXItaDogMHB4OyB9ICAgLy8gLS1uby10aWNrZXI6IGhvbWVwYWdlIHdpdGggPCBTSUdfVElDS0VSX01JTiB0b3BpY3NcclxuXHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdC8vIE92ZXJoYW5ncyB0aGUgZm9sZCBieSBFWEFDVExZIHRoZSB0aWNrZXIncyBoZWlnaHQsIGFuZCB0aGUgdGlja2VyIG9jY3VwaWVzXHJcblx0Ly8gdGhhdCBvdmVyaGFuZy4gU28gdGhlIGZpcnN0IHNjcmVlbiBpcyB0aGUgaGVybyBhcyBpdCBhbHdheXMgd2FzLCBhbmQgdGhlXHJcblx0Ly8gdmVyeSBmaXJzdCBzY3JvbGwgYnJpbmdzIHRoZSB0aWNrZXIgdXAgaW50byB2aWV3IGFsb25nIHdpdGggdGhlIGJvdHRvbSBvZlxyXG5cdC8vIHRoZSBwaG90byDigJQgdGhlIHRpY2tlciBpcyB0aGUgcmV3YXJkIGZvciBzY3JvbGxpbmcsIG5vdCBhIHNlcGFyYXRlIGJhbmRcclxuXHQvLyB0aGF0IGhhcHBlbnMgdG8gYmUgbmV4dC5cclxuXHQvL1xyXG5cdC8vIEJvdGggaGFsdmVzIG9mIHRoYXQgY29tZSBmcm9tIHRoZSBzYW1lIC0tdGlja2VyLWggdG9rZW46IGFkZCBpdCB0byB0aGVcclxuXHQvLyBoZWlnaHQsIGFkZCBpdCB0byB0aGUgYm90dG9tIHBhZGRpbmcuIFRoZSBwYWRkaW5nIGlzIHdoYXQga2VlcHMgdGhlXHJcblx0Ly8gQ09OVEVOVCBib3ggYXQgYSBwbGFpbiAxMDBzdmgsIHNvIG5vdGhpbmcgYWJvdmUgdGhlIGZvbGQgbW92ZXMuXHJcblx0Ly8g4puUIERPTidUIEFERCBBTiBpT1MgRk9MRCBPRkZTRVQgSEVSRS4gVHJpZWQgYW5kIHJldmVydGVkLCAyMDI2LTA4LTA4LlxyXG5cdC8vXHJcblx0Ly8gIFRoZSBvYnNlcnZhdGlvbiB3YXMgcmVhbDogb24gaU9TIHRoZSB0aWNrZXIgaXMgdmlzaWJsZSBhdCByZXN0LCBiZWNhdXNlXHJcblx0Ly8gIFNhZmFyaSdzIGJvdHRvbSBiYXIgaXMgYSBmbG9hdGluZyBQSUxMIHdpdGggdHJhbnNwYXJlbnQgZ2FwcyByYXRoZXIgdGhhblxyXG5cdC8vICBhbiBvcGFxdWUgc3RyaXAsIHNvIGNvbnRlbnQgZ2VudWluZWx5IGJlbG93IHRoZSBmb2xkIHN0aWxsIHNob3dzIFRIUk9VR0hcclxuXHQvLyAgaXQuIDEwMHN2aCBpcyBub3Qgd3Jvbmcg4oCUIHRoZSBmb2xkIGlzIHdoZXJlIGl0IHNheXMgaXQgaXMuXHJcblx0Ly9cclxuXHQvLyAgVGhlIGZpeCBwdXNoZWQgdGhlIHRpY2tlciBkb3duIGJ5IHRoZSB0b29sYmFyIGJhbmQsIGdhdGVkIGJlaGluZFxyXG5cdC8vICBgQHN1cHBvcnRzICgtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmUpYC4gSXQgd29ya2VkLCBhbmQgaXQgd2FzIHN0aWxsXHJcblx0Ly8gIHdyb25nOiB0aGF0IHRlc3QgY2F0Y2hlcyBBTEwgaU9TIGJyb3dzZXJzLCBiZWNhdXNlIEFwcGxlIHJlcXVpcmVzIGV2ZXJ5XHJcblx0Ly8gIG9uZSBvZiB0aGVtIHRvIHVzZSBXZWJLaXQuIFRoZXJlIGlzIG5vIENTUyB0aGF0IGRpc3Rpbmd1aXNoZXMgU2FmYXJpIG9uXHJcblx0Ly8gIGlPUyBmcm9tIENocm9tZSBvbiBpT1Mg4oCUIHRoZXkgYXJlIHRoZSBzYW1lIGVuZ2luZSByZXBvcnRpbmcgdGhlIHNhbWVcclxuXHQvLyAgY2FwYWJpbGl0aWVzLiBKb2UncyBjYWxsIHdhcyB0aGF0IGEgZml4IGxlYWtpbmcgaW50byBDaHJvbWUgb24gaU9TIGlzXHJcblx0Ly8gIHdvcnNlIHRoYW4gdGhlIGNvc21ldGljIGlzc3VlIGl0IHNvbHZlcy5cclxuXHQvL1xyXG5cdC8vICBVQSBzbmlmZmluZyBpbiBKUyBjb3VsZCB0ZWxsIHRoZW0gYXBhcnQgKENyaU9TIC8gRnhpT1MgaW4gdGhlIHN0cmluZyksXHJcblx0Ly8gIGJ1dCB0aGF0IGlzIGEgZnJhZ2lsZSwgbWFpbnRlbmFuY2UtYmVhcmluZyBoYWNrIGZvciBhIHBlZWstdGhyb3VnaCwgYW5kXHJcblx0Ly8gIHdhcyBleHBsaWNpdGx5IGRlY2xpbmVkLlxyXG5cdG1pbi1oZWlnaHQ6IGNhbGMoMTAwc3ZoICsgdmFyKC0tdGlja2VyLWgpKTtcclxuXHRkaXNwbGF5OiBncmlkO1xyXG5cdC8vIFR3byByb3dzIG5vdyDigJQgdGhlIE9OIEFJUiBzdGF0dXMgcm93IGlzIGdvbmUsIHNvIGV2ZXJ5dGhpbmcgc2l0cyBoaWdoZXIuXHJcblx0Z3JpZC10ZW1wbGF0ZS1yb3dzOiAxZnIgYXV0bztcclxuXHRwYWRkaW5nLXRvcDogY2FsYyh2YXIoLS1uYXYtaCkgKyBjbGFtcCguNXJlbSwgMnZ3LCAxLjVyZW0pKTtcclxuXHQvLyBSb29tIGZvciB0aGUgYWJzb2x1dGVseS1wb3NpdGlvbmVkIHNjcm9sbCBjdWUsIHBsdXMgdGhlIHRpY2tlciBzdHJpcC5cclxuXHRwYWRkaW5nLWJvdHRvbTogY2FsYyhjbGFtcCg0cmVtLCA3dmgsIDZyZW0pICsgdmFyKC0tdGlja2VyLWgpKTtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cclxuXHQvLyBTbG93IHJhZGlhbCBibG9vbSBiZWhpbmQgdGhlIHR5cGUg4oCUIGdpdmVzIHRoZSBibGFjayBzb21lIGRlcHRoLlxyXG5cdC8vXHJcblx0Ly8gU3RyZW5ndGggaXMgYSB2YXJpYWJsZSBzbyBpdCBjYW4gYmUgcmFpc2VkIHdoZXJlIHRoZSBibG9vbSBpcyBmaWdodGluZ1xyXG5cdC8vIHNvbWV0aGluZy4gSXQgd2FzIGEgZmxhdCAyMiUsIHdoaWNoIHJlYWQgYXMgYSBzdGF0aWMgc211ZGdlIG9uIGEgcGhvbmU6XHJcblx0Ly8gdGhlIGJsb29tIGlzIHotaW5kZXggMCwgQkVISU5EIHRoZSBwaG90byBhdCB6LWluZGV4IDEsIGFuZCBvbiBtb2JpbGUgdGhhdFxyXG5cdC8vIHBob3RvIGlzIDExMXZ3IHdpZGUgYW5kIGNvdmVycyBtb3N0IG9mIHRoZSBzY3JlZW4uIE1vdGlvbiBhbG9uZSB3b3VsZG4ndFxyXG5cdC8vIGhhdmUgZml4ZWQgdGhhdCDigJQgaXQgd2FzIHRvbyBmYWludCB0byBzZWUgbW92aW5nLlxyXG5cdC0tYmxvb206IDM0JTtcclxuXHJcblx0Jjo6YmVmb3JlIHtcclxuXHRcdC8vIOKPuCBISURERU4gMjAyNi0wOC0wNyDigJQgSm9lIGlzbid0IHNvbGQgb24gaXQuIEV2ZXJ5dGhpbmcgYmVsb3cgaXMgaW50YWN0XHJcblx0XHQvLyBhbmQgY29ycmVjdDsgZGVsZXRlIHRoaXMgb25lIGxpbmUgdG8gYnJpbmcgaXQgYmFjay5cclxuXHRcdC8vXHJcblx0XHQvLyBkaXNwbGF5Om5vbmUgcmF0aGVyIHRoYW4gYSB0cmFuc3BhcmVudCBmaWxsIG9uIHB1cnBvc2U6IGl0IHN0b3BzIHRoZVxyXG5cdFx0Ly8gZWxlbWVudCByZW5kZXJpbmcgYXQgYWxsLCBzbyB0aGUgdHdvIGFuaW1hdGlvbnMgYmVsb3cgc3RvcCBjb3N0aW5nXHJcblx0XHQvLyBjb21wb3NpdG9yIHdvcmsgZm9yIHNvbWV0aGluZyBub2JvZHkgY2FuIHNlZS5cclxuXHRcdGRpc3BsYXk6IG5vbmU7XHJcblxyXG5cdFx0Y29udGVudDogXCJcIjtcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdHRvcDogLTIwJTtcclxuXHRcdGxlZnQ6IDUwJTtcclxuXHRcdHdpZHRoOiBtaW4oMTIwdncsIDE0MDBweCk7XHJcblx0XHRhc3BlY3QtcmF0aW86IDE7XHJcblx0XHRiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlLFxyXG5cdFx0XHRjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tYWNjZW50KSB2YXIoLS1ibG9vbSksIHRyYW5zcGFyZW50KSAwJSxcclxuXHRcdFx0dHJhbnNwYXJlbnQgNjIlKTtcclxuXHRcdHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG5cclxuXHRcdC8vIEluZGl2aWR1YWwgYHRyYW5zbGF0ZWAgLyBgc2NhbGVgLCBOT1QgdGhlIHRyYW5zZm9ybSBzaG9ydGhhbmQuXHJcblx0XHQvLyBUaGUgZWxlbWVudCBpcyBjZW50cmVkIHdpdGggLTUwJSBvbiB4LCBzbyBzaG9ydGhhbmQga2V5ZnJhbWVzIHdvdWxkXHJcblx0XHQvLyBoYXZlIHRvIHJlc3RhdGUgdGhhdCBvbiBldmVyeSBzaW5nbGUgZnJhbWUg4oCUIG1pc3MgaXQgb25jZSBhbmQgdGhlXHJcblx0XHQvLyBibG9iIHNuYXBzIHRvIHRoZSBsZWZ0IGVkZ2UuIFNlcGFyYXRlIHByb3BlcnRpZXMgY29tcG9zZSBpbnN0ZWFkLCBzb1xyXG5cdFx0Ly8gdGhlIGNlbnRyaW5nIGxpdmVzIGhlcmUgYW5kIHRoZSBhbmltYXRpb24gb25seSBzYXlzIGhvdyBmYXIgaXQgc3RyYXlzLlxyXG5cdFx0dHJhbnNsYXRlOiAtNTAlIDA7XHJcblxyXG5cdFx0Ly8gVHdvIGFuaW1hdGlvbnMgb24gcHVycG9zZSwgd2l0aCBkdXJhdGlvbnMgdGhhdCBkb24ndCBkaXZpZGUgaW50byBlYWNoXHJcblx0XHQvLyBvdGhlci4gVGhlIGRyaWZ0IGFuZCB0aGUgcHVsc2UgZmFsbCBvdXQgb2YgcGhhc2UgYW5kIGJhY2sgb3ZlciBhYm91dFxyXG5cdFx0Ly8gdHdlbnR5IG1pbnV0ZXMsIHNvIHRoZSBtb3Rpb24gbmV2ZXIgcmVhZHMgYXMgYSBsb29wLiBPbmUgY29tYmluZWRcclxuXHRcdC8vIGFuaW1hdGlvbiB3b3VsZCByZXBlYXQgdmlzaWJseSBldmVyeSBjeWNsZS5cclxuXHRcdC8vXHJcblx0XHQvLyBCb3RoIGFyZSB0cmFuc2Zvcm0tZmFtaWx5LCBzbyB0aGlzIHN0YXlzIG9uIHRoZSBjb21wb3NpdG9yLiBBbmltYXRpbmdcclxuXHRcdC8vIHRvcC9sZWZ0IHdvdWxkIHJlbGF5b3V0IGV2ZXJ5IGZyYW1lIOKAlCB0aGUgd29yc3QgdGhpbmcgdG8gaGFuZCB0aGVcclxuXHRcdC8vIG1haW4gdGhyZWFkIGlzIGEgZnVsbC12aWV3cG9ydCBibHVycmVkIGdyYWRpZW50LlxyXG5cdFx0YW5pbWF0aW9uOiBibG9vbS1kcmlmdCA1M3MgZWFzZS1pbi1vdXQgaW5maW5pdGUsXHJcblx0XHRcdFx0ICAgYmxvb20tcHVsc2UgMzdzIGVhc2UtaW4tb3V0IGluZmluaXRlIGFsdGVybmF0ZTtcclxuXHR9XHJcblxyXG5cdC8vIE1vYmlsZTogcmFpc2UgaXQgZnVydGhlciBzdGlsbC4gRXZlbiBhdCAzNCUgaXQncyBjb21wZXRpbmcgd2l0aCB0aGUgcGhvdG9cclxuXHQvLyBvbiB0b3Agb2YgaXQsIGFuZCB0aGlzIGlzIHdoZXJlIEpvZSBzYWlkIGhlIGNvdWxkIGJhcmVseSBzZWUgaXQuXHJcblx0QGluY2x1ZGUgYXQobWQpIHtcclxuXHRcdC0tYmxvb206IDQ4JTtcclxuXHR9XHJcblxyXG5cdCZfX2lubmVyIHtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdHotaW5kZXg6IDI7XHJcblx0XHR3aWR0aDogbWluKDEwMCUgLSB2YXIoLS1ndXR0ZXIpICogMiwgdmFyKC0tbWF4dykpO1xyXG5cdFx0bWFyZ2luLWlubGluZTogYXV0bztcclxuXHRcdGRpc3BsYXk6IGNvbnRlbnRzO1xyXG5cdH1cclxuXHJcblx0Ly8g4pSA4pSAIEJhY2tkcm9wIHBob3RvIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxyXG5cdC8vICBBbmNob3JlZCB0byB0aGUgYm90dG9tLXJpZ2h0IGNvcm5lciBhbmQgc2l0dGluZyBCRUhJTkQgZXZlcnl0aGluZzogdGhlXHJcblx0Ly8gIGhlcm8ncyBvd24gY29udGVudCBpcyB6LWluZGV4IDIsIHRoZSBibG9vbSBncmFkaWVudCBpcyAwLCB0aGlzIGlzIDEg4oCUIHNvXHJcblx0Ly8gIHRoZSBwaG90byByZWFkcyBhYm92ZSB0aGUgZ2xvdyBidXQgdW5kZXIgdGhlIGhlYWRsaW5lIGFuZCB0aGUgQ1RBcy5cclxuXHQvL1xyXG5cdC8vICBwb2ludGVyLWV2ZW50czogbm9uZSBtYXR0ZXJzIOKAlCB3aXRob3V0IGl0IHRoZSBpbWFnZSB3b3VsZCBzd2FsbG93IGNsaWNrc1xyXG5cdC8vICBvbiB0aGUgXCJBbGwgZXBpc29kZXNcIiBidXR0b24sIHdoaWNoIG92ZXJsYXBzIGl0IGF0IHNvbWUgd2lkdGhzLlxyXG5cdC8vXHJcblx0Ly8gIFRoZSBoZXJvIGFscmVhZHkgaGFzIG92ZXJmbG93OmhpZGRlbiwgc28gdGhlIGJsZWVkIG9mZiB0aGUgcmlnaHQgYW5kXHJcblx0Ly8gIGJvdHRvbSBlZGdlcyBpcyBjbGlwcGVkIHJhdGhlciB0aGFuIGNyZWF0aW5nIGEgc2Nyb2xsYmFyLlxyXG5cdCZfX3Bob3RvIHtcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdHJpZ2h0OiAwO1xyXG5cdFx0Ly8gVGhlIGJvdHRvbSBvZiB0aGUgSEVSTywgd2hpY2ggbm93IGluY2x1ZGVzIHRoZSBvdmVyaGFuZyDigJQgc28gdGhlIHBob3RvXHJcblx0XHQvLyBydW5zIG9uIGJlaGluZCB0aGUgdGlja2VyIGluc3RlYWQgb2Ygc3RvcHBpbmcgYXQgaXRzIHRvcCBlZGdlLlxyXG5cdFx0Ly9cclxuXHRcdC8vIEl0IHdhcyBicmllZmx5IGFuY2hvcmVkIHRvIHRoZSBmb2xkIChib3R0b206IHZhcigtLXRpY2tlci1oKSkgdG8ga2VlcFxyXG5cdFx0Ly8gYXJ0d29yayBvdXQgZnJvbSB1bmRlciBhIHRoZW4tdHJhbnNwYXJlbnQgdGlja2VyLiBUaGF0IGxlZnQgdGhlIHBob3RvXHJcblx0XHQvLyB0ZXJtaW5hdGluZyBpbiBhIGhhcmQgaG9yaXpvbnRhbCBjdXQgcmlnaHQgd2hlcmUgdGhlIHRpY2tlciBiZWdhbixcclxuXHRcdC8vIHdoaWNoIGlzIHdoYXQgSm9lIHNwb3R0ZWQuIFRoZSB0aWNrZXIgaGFzIGl0cyBmaWxsIGJhY2ssIHNvIGl0IGhpZGVzXHJcblx0XHQvLyB0aGUgcGhvdG8ncyBib3R0b20gZWRnZSBhbmQgdGhlcmUncyBubyBzZWFtIHRvIHNlZS5cclxuXHRcdC8vXHJcblx0XHQvLyAyMDI2LTA5LTE0OiBub3cgei1pbmRleCAyLCBBQk9WRSB0aGUgdGlja2VyICgxKSDigJQgdGhlIHRvcGljcyBydW5cclxuXHRcdC8vIGJlaGluZCBoaW0uIExldmVsIHdpdGggdGhlIGNvcHksIGJ1dCB0aGUgcGhvdG8gY29tZXMgZmlyc3QgaW4gdGhlXHJcblx0XHQvLyBET00gc28gdGhlIGhlYWRsaW5lIHN0aWxsIHBhaW50cyBvbiB0b3Agd2hlcmUgdGhlIHR3byBib3hlcyBtZWV0LlxyXG5cdFx0Ym90dG9tOiAwO1xyXG5cdFx0ei1pbmRleDogMjtcclxuXHRcdC8vICsxNSUgb3ZlciB0aGUgb3JpZ2luYWwgY2xhbXAoMzAwcHgsIDQwdncsIDY2MHB4KS5cclxuXHRcdHdpZHRoOiB2YXIoLS1waG90by13KTtcclxuXHRcdHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG5cdFx0dXNlci1zZWxlY3Q6IG5vbmU7XHJcblx0XHQvLyBGdWxsIHN0cmVuZ3RoIG9uIGRlc2t0b3AuIFRoZSBjbGllbnQgYXNrZWQgZm9yIHRoZSBwaG9uZSdzIC4yMiBvblxyXG5cdFx0Ly8gMjAyNi0wOS0xNSwgc2F3IGl0LCBhbmQgcHVsbGVkIGl0IHdpdGhpbiB0aGUgaG91ciAoXCJ0aGUgY2xpZW50XHJcblx0XHQvLyBkb2Vzbid0IGxpa2UgaXQgbG9sXCIpLiBUaGUgZmlndXJlIGlzIGEgU1VCSkVDVCBoZXJlLCBub3QgdGhlXHJcblx0XHQvLyBiYWNrZHJvcCBpdCBpcyBvbiBhIHBob25lIOKAlCBkaW1tZWQsIGl0IHJlYWRzIGFzIGEgd2F0ZXJtYXJrLlxyXG5cclxuXHRcdHBpY3R1cmUgeyBkaXNwbGF5OiBibG9jazsgfVxyXG5cclxuXHRcdC8vIERlc2t0b3A6IHRoZSB0b3BpYyBsaW5rcyBhcmUgTk9UIGNsaWNrYWJsZSB0aHJvdWdoIGhpbSAoSm9lLFxyXG5cdFx0Ly8gMjAyNi0wOS0xNyDigJQgXCJoZSBoYXMgbm8gcG9pbnRlciBldmVudHMgYnV0IGtlZXAgdGhlbVwiKS4gVGhlIHBob3RvXHJcblx0XHQvLyBzdGF5cyBwb2ludGVyLWV2ZW50czpub25lIGFzIGEgd2hvbGUgYmVjYXVzZSBpdCBvdmVybGFwcyB0aGUgQ1RBcyBhdFxyXG5cdFx0Ly8gc29tZSB3aWR0aHM7IG9ubHkgYSBzdHJpcCB0aGUgdGlja2VyJ3MgaGVpZ2h0IGFsb25nIGl0cyBib3R0b20gZWRnZVxyXG5cdFx0Ly8gY2F0Y2hlcyB0aGUgcG9pbnRlciwgc28gdGhlIGxpbmtzIGhlIGNvdmVycyBhcmUgZGVhZCBhbmQgdGhlIG9uZXNcclxuXHRcdC8vIGVpdGhlciBzaWRlIG9mIGhpbSBzdGlsbCB3b3JrLiBQaG9uZSBrZWVwcyBjbGljay10aHJvdWdoOiB0aGVyZSBoZVxyXG5cdFx0Ly8gaXMgYSBiYWNrZHJvcCBvdmVyIG1vc3Qgb2YgdGhlIHN0cmlwLlxyXG5cdFx0QG1lZGlhIChtaW4td2lkdGg6ICN7JGJwLW1kICsgMX0pIHtcclxuXHRcdFx0Jjo6YWZ0ZXIge1xyXG5cdFx0XHRcdGNvbnRlbnQ6ICcnO1xyXG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0XHRsZWZ0OiAwO1xyXG5cdFx0XHRcdHJpZ2h0OiAwO1xyXG5cdFx0XHRcdGJvdHRvbTogMDtcclxuXHRcdFx0XHRoZWlnaHQ6IHZhcigtLXRpY2tlci1oKTtcclxuXHRcdFx0XHRwb2ludGVyLWV2ZW50czogYXV0bztcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdGltZyB7XHJcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0aGVpZ2h0OiBhdXRvO1xyXG5cdFx0fVxyXG5cclxuXHRcdC8vIE9uIG1vYmlsZSBpdCBiZWNvbWVzIGEgbGFyZ2UgYmFja2Ryb3AgYmlzZWN0ZWQgYnkgdGhlIHJpZ2h0IGVkZ2U6XHJcblx0XHQvLyByb3VnaGx5IGhhbGYgdGhlIGZpZ3VyZSB2aXNpYmxlLCB0aGUgb3RoZXIgaGFsZiBydW5uaW5nIG9mZi1zY3JlZW4uXHJcblx0XHQvL1xyXG5cdFx0Ly8gdHJhbnNsYXRlWCg1MCUpIGlzIHdoYXQgZG9lcyBpdCDigJQgYSBwZXJjZW50YWdlIFRSQU5TTEFURSByZXNvbHZlc1xyXG5cdFx0Ly8gYWdhaW5zdCB0aGUgZWxlbWVudCdzIG93biB3aWR0aCwgdW5saWtlIGByaWdodDogLTUwJWAsIHdoaWNoIHdvdWxkXHJcblx0XHQvLyByZXNvbHZlIGFnYWluc3QgdGhlIGhlcm8ncyB3aWR0aCBhbmQgbGFuZCBub3doZXJlIG5lYXIgaGFsZi5cclxuXHRcdC8vIFNvOiAxMTF2dyB3aWRlLCBzaGlmdGVkIHJpZ2h0IGJ5IH41NXZ3LCBsZWF2aW5nIH41NXZ3IG9uIHNjcmVlbi4gVGhlXHJcblx0XHQvLyBoZXJvJ3Mgb3ZlcmZsb3c6aGlkZGVuIGNsaXBzIHRoZSByZXN0LCBzbyBub25lIG9mIHRoaXMgY3JlYXRlcyBhXHJcblx0XHQvLyBob3Jpem9udGFsIHNjcm9sbGJhci5cclxuXHRcdC8vXHJcblx0XHQvLyBXaWR0aCBpcyB0aGUga25vYiwgYnV0IEhFSUdIVCBpcyB3aGF0J3MgYmVpbmcgdHVuZWQ6IGJvdHRvbS1hbmNob3JlZCxcclxuXHRcdC8vIHRoZSB0b3AgZWRnZSBpcyBzZXQgYnkgaGVpZ2h0ID0gd2lkdGggeCAxLjI4MiAoMC43OCByYXRpbykuIDExMXZ3XHJcblx0XHQvLyBwdXRzIGhpbSB+MTQydncgdGFsbCwgc28gaGlzIGhlYWQgbGFuZHMgYWJvdXQgYSBmaWZ0aCBvZiB0aGUgd2F5IGRvd25cclxuXHRcdC8vIHRoZSB2aWV3cG9ydC5cclxuXHRcdC8vXHJcblx0XHQvLyBUdW5lZCBvbiBKb2UncyBleWUgYWNyb3NzIGZvdXIgcGFzc2VzOiAxMTF2dyDihpIgMTMwdncgKGhlIG1hcmtlZCBob3cgZmFyXHJcblx0XHQvLyB1cCBoZSB3YW50ZWQgdGhlIGZpZ3VyZSB0byByZWFjaCkg4oaSIDE0NS42dncg4oaSIDEzOC4zMnZ3LCBiYWNraW5nIG9mZiA1JS5cclxuXHRcdC8vIFRoZSBwaG90byBpcyBib3R0b20tYW5jaG9yZWQgYW5kIGl0cyBoZWlnaHQgaXMgd2lkdGggeCAxLjI4Miwgc28gdGhpc1xyXG5cdFx0Ly8gbnVtYmVyIGFsb25lIHNldHMgd2hlcmUgdGhlIHRvcCBlZGdlIGxhbmRzOiAxMzguMzJ2dyBwdXRzIGhpbSB+MTc3dndcclxuXHRcdC8vIHRhbGwuXHJcblx0XHQvL1xyXG5cdFx0Ly8g4pqgIENFSUxJTkcgSVMgfjE0OHZ3LiBUaGF0IHdhcyB0cmllZCBvbiB0aGlzIHNhbWUgaW1hZ2UgYW5kIGhlIHN3YWxsb3dlZFxyXG5cdFx0Ly8gdGhlIGVudGlyZSBzY3JlZW4sIHNvIHRoZXJlIGlzIHJvdWdobHkgMTB2dyBvZiBoZWFkcm9vbSBhYm92ZSB0aGVcclxuXHRcdC8vIGN1cnJlbnQgdmFsdWUgYW5kIG5vbmUgYWJvdmUgMTQ4LiBHb2luZyBiZXlvbmQgaXQgbmVlZHMgdGhlXHJcblx0XHQvLyBjb21wb3NpdGlvbiByZXRoaW5raW5nIOKAlCBhIHRpZ2h0ZXIgY3JvcCwgb3IgZHJvcHBpbmcgdGhlXHJcblx0XHQvLyBib3R0b20tYW5jaG9yaW5nIOKAlCBub3QgYSBiaWdnZXIgbnVtYmVyLlxyXG5cdFx0QGluY2x1ZGUgYXQobWQpIHtcclxuXHRcdFx0d2lkdGg6IDEzOC4zMnZ3O1xyXG5cdFx0XHRyaWdodDogMDtcclxuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDUwJSk7XHJcblx0XHRcdG9wYWNpdHk6IC4yMjtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC8vIOKUgOKUgCBIZWFkbGluZSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcclxuXHQvL1xyXG5cdC8vICBTSVpJTkcgSVMgQ09OU1RSQUlORUQgVEhSRUUgV0FZUywgYW5kIGl0IGhhcyB0byBiZTpcclxuXHQvL1xyXG5cdC8vICAgMTIuNXZ3ICDigJQgdGhlIGxvbmdlc3Qgd29yZCBoYXMgdG8gRklUIFRIRSBDT05UQUlORVIuIFwiRVZFUllUSElOR1wiIGlzIDEwXHJcblx0Ly8gICAgICAgICAgICAgY2hhcmFjdGVyczsgaW4gYSA5MDAtd2VpZ2h0IGdyb3Rlc3F1ZSBhdCAtLjA0NWVtIHRyYWNraW5nIGVhY2hcclxuXHQvLyAgICAgICAgICAgICB1cHBlcmNhc2UgZ2x5cGggYWR2YW5jZXMgcm91Z2hseSAuNjJlbSwgc28gdGhlIHdvcmQgaXMgfjYuMmVtXHJcblx0Ly8gICAgICAgICAgICAgd2lkZS4gVGhlIGNvbnRhaW5lciBpcyBhYm91dCA5MnZ3LCBzbyA5Mi82LjIg4omIIDE0Ljh2dyBpcyB0aGVcclxuXHQvLyAgICAgICAgICAgICBhYnNvbHV0ZSBjZWlsaW5nIOKAlCAxMi41dncgbGVhdmVzIHJlYWwgbWFyZ2luIGZvciBhIGZvbnQgd2hvc2VcclxuXHQvLyAgICAgICAgICAgICBtZXRyaWNzIGRpZmZlciBmcm9tIHRoYXQgZXN0aW1hdGUuIFRoZSBwcmV2aW91cyBmbHVpZCg1NiwyNjApXHJcblx0Ly8gICAgICAgICAgICAgaWdub3JlZCB3b3JkIGxlbmd0aCBlbnRpcmVseSwgd2hpY2ggaXMgd2h5IHRoZSBHIHJhbiBvZmYgdGhlXHJcblx0Ly8gICAgICAgICAgICAgcmlnaHQgZWRnZS5cclxuXHQvL1xyXG5cdC8vICAgMThzdmggICDigJQgdGhyZWUgbGluZXMgYXQgLjgyIGxlYWRpbmcgbXVzdCBsZWF2ZSByb29tIGZvciB0aGUgYmx1cmIsIHRoZVxyXG5cdC8vICAgICAgICAgICAgIENUQXMgYW5kIHRoZSBzY3JvbGwgY3VlIFdJVEhPVVQgcHVzaGluZyB0aGVtIHVuZGVyIHRoZSBmb2xkLlxyXG5cdC8vICAgICAgICAgICAgIDMgw5cgLjgyIMOXIDE4c3ZoIOKJiCA0NHN2aCBmb3IgdGhlIHRpdGxlLCBsZWF2aW5nIH41NnN2aCBmb3JcclxuXHQvLyAgICAgICAgICAgICBldmVyeXRoaW5nIGVsc2UuIFRoaXMgaXMgd2hhdCBwcm90ZWN0cyBzaG9ydC9sYW5kc2NhcGVcclxuXHQvLyAgICAgICAgICAgICB2aWV3cG9ydHMsIHdoZXJlIGEgdnctb25seSBzaXplIHdvdWxkIGJlIGVub3Jtb3VzLlxyXG5cdC8vXHJcblx0Ly8gICAxOTBweCAgIOKAlCBhIGZsYXQgY2FwIHNvIGl0IHN0b3BzIGdyb3dpbmcgb24gdWx0cmF3aWRlIGRpc3BsYXlzLlxyXG5cdC8vXHJcblx0Ly8gIENoYW5nZSB0aGUgY29weSBhbmQgeW91IG11c3QgcmUtY2hlY2sgdGhlIGZpcnN0IG51bWJlci5cclxuXHQmX190aXRsZSB7XHJcblx0XHRncmlkLXJvdzogMTtcclxuXHRcdGFsaWduLXNlbGY6IGNlbnRlcjtcclxuXHRcdHdpZHRoOiBtaW4oMTAwJSAtIHZhcigtLWd1dHRlcikgKiAyLCB2YXIoLS1tYXh3KSk7XHJcblx0XHRtYXJnaW4taW5saW5lOiBhdXRvO1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0ei1pbmRleDogMjtcclxuXHJcblx0XHRmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcclxuXHRcdGZvbnQtd2VpZ2h0OiA5MDA7XHJcblx0XHRmb250LXNpemU6IG1pbigxMi41dncsIDE4c3ZoLCAxOTBweCk7XHJcblx0XHRsaW5lLWhlaWdodDogLjgyO1xyXG5cdFx0bGV0dGVyLXNwYWNpbmc6IC0uMDQ1ZW07XHJcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cclxuXHRcdC8vIOKUgOKUgCBBYm92ZSBtb2JpbGU6IGtlZXAgY2xlYXIgb2YgdGhlIGJhY2tkcm9wIHBob3RvIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxyXG5cdFx0Ly8gIFRoZSAxMi41dncgYWJvdmUgaXMgZGVyaXZlZCBmcm9tIHRoZSBDT05UQUlORVIgd2lkdGgsIHdoaWNoIGFzc3VtZXNcclxuXHRcdC8vICB0aGUgaGVhZGxpbmUgb3ducyB0aGUgZnVsbCByb3cuIEZyb20gbWQgdXAgaXQgZG9lc24ndCDigJQgdGhlIHBob3RvXHJcblx0XHQvLyAgb2NjdXBpZXMgdGhlIHJpZ2h0IHNpZGUsIGFuZCBcIkVWRVJZVEhJTkdcIiByYW4gc3RyYWlnaHQgaW50byBoaW0uXHJcblx0XHQvL1xyXG5cdFx0Ly8gIERlcml2YXRpb246IHRoZSBwaG90byBpcyA0NnZ3IGFuY2hvcmVkIHJpZ2h0LCBzbyBpdHMgbGVmdCBlZGdlIHNpdHNcclxuXHRcdC8vICBhdCB+NTR2dyB3aGVyZXZlciB0aGF0IGNsYW1wIGlzIGFjdGl2ZSAoaXQgb25seSBnZXRzIGZ1cnRoZXIgcmlnaHRcclxuXHRcdC8vICBvbmNlIHRoZSA3NTlweCBjYXAga2lja3MgaW4pLiBUaGUgdGl0bGUgc3RhcnRzIGF0IHRoZSBndXR0ZXIsIH40dncuXHJcblx0XHQvLyAgVGhhdCBsZWF2ZXMgfjUwdncuIFwiRVZFUllUSElOR1wiIGlzIH42LjJlbSB3aWRlIGF0IHRoaXMgd2VpZ2h0IGFuZFxyXG5cdFx0Ly8gIHRyYWNraW5nLCBzbyA1MCAvIDYuMiDiiYggOHZ3IGlzIHRoZSBoYXJkIGNlaWxpbmc7IDcuOHZ3IGtlZXBzIGFcclxuXHRcdC8vICBtYXJnaW4gZm9yIGEgZm9udCB3aG9zZSBtZXRyaWNzIGRpZmZlciBmcm9tIHRoYXQgZXN0aW1hdGUuXHJcblx0XHQvL1xyXG5cdFx0Ly8gIE1vYmlsZSBrZWVwcyB0aGUgbGFyZ2VyIHNpemUgb24gcHVycG9zZSDigJQgdGhlcmUgdGhlIHBob3RvIGlzIGEgMjIlXHJcblx0XHQvLyAgYmFja2Ryb3AgdGhlIGNvcHkgaXMgTUVBTlQgdG8gc2l0IG92ZXIuXHJcblx0XHRAbWVkaWEgKG1pbi13aWR0aDogI3skYnAtbWQgKyAxfSkge1xyXG5cdFx0XHQvLyBEZXJpdmVkLCBub3QgZ3Vlc3NlZDogdGFrZSB0aGUgdmlld3BvcnQsIHN1YnRyYWN0IHRoZSBwaG90bywgdGhlXHJcblx0XHRcdC8vIGxlZnQgZ3V0dGVyIGFuZCBhIGJyZWF0aGluZyBnYXAg4oCUIHRoYXQncyB0aGUgcm9vbSB0aGUgaGVhZGxpbmVcclxuXHRcdFx0Ly8gYWN0dWFsbHkgaGFzLiBcIkVWRVJZVEhJTkdcIiBpcyB+Ni4yZW0gd2lkZSBhdCB0aGlzIHdlaWdodCBhbmRcclxuXHRcdFx0Ly8gdHJhY2tpbmcsIHNvIGRpdmlkaW5nIGJ5IDYuMiBnaXZlcyB0aGUgbGFyZ2VzdCBzaXplIHRoYXQgc3RpbGxcclxuXHRcdFx0Ly8gY2xlYXJzIGhpbSwgYXQgZXZlcnkgd2lkdGggYXV0b21hdGljYWxseS5cclxuXHRcdFx0Ly9cclxuXHRcdFx0Ly8gMTcycHggY2FwIGlzIHRoZSBtaWRwb2ludCBvZiB0aGUgb3JpZ2luYWwgMTkwcHggYW5kIHRoZSAxNTVweCBpdFxyXG5cdFx0XHQvLyB3YXMgY3V0IHRvLiBPbiB3aWRlIHNjcmVlbnMsIHdoZXJlIHRoZSBwaG90byBoaXRzIGl0cyA3NTlweCBjYXBcclxuXHRcdFx0Ly8gYW5kIHN0b3BzIGdyb3dpbmcsIHRoYXQgbWlkcG9pbnQgaXMgd2hhdCB5b3UgZ2V0LlxyXG5cdFx0XHQvLyAyMDI2LTA5LTE0OiBkaXZpc29yIDYuMiDihpIgNS42IGFuZCBjYXBzIGxpZnRlZCAoMTdzdmgvMTcycHgg4oaSXHJcblx0XHRcdC8vIDE5c3ZoLzE5MHB4KSB3aXRoIHRoZSB3aWRlciBwaG90byDigJQgXCJtYWtlIHRoZSBIMSBhIGJpdCBiaWdnZXJcIi5cclxuXHRcdFx0Ly8gNS42IGxldHMgXCJFVkVSWVRISU5HXCIgcmVhY2ggfjEwJSBpbnRvIHRoZSBwaG90bydzIGJveCwgd2hpY2ggaXNcclxuXHRcdFx0Ly8gdHJhbnNwYXJlbnQgdGhlcmU6IHRoZSBjdXQtb3V0J3MgbGVmdCB0aGlyZCBhdCB0aXRsZSBoZWlnaHQgaXNcclxuXHRcdFx0Ly8gZW1wdHkgYWlyIGJlc2lkZSBoaXMgZmFjZS4gVGhlIG1pYyBhbmQgc2hvdWxkZXIgYXJlIGxvd2VyLlxyXG5cdFx0XHRmb250LXNpemU6IG1pbihcclxuXHRcdFx0XHRjYWxjKCgxMDB2dyAtIHZhcigtLXBob3RvLXcpIC0gdmFyKC0tZ3V0dGVyKSAtIDEuNXJlbSkgLyA1LjYpLFxyXG5cdFx0XHRcdDE5c3ZoLFxyXG5cdFx0XHRcdDE5MHB4XHJcblx0XHRcdCk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQvLyBNYXNrICsgcmlzZS4gVGhlIHdvcmQgaXRzZWxmIGlzIHRoZSBpbm5lciBzcGFuLlxyXG5cdC8vXHJcblx0Ly8gbGluZS1oZWlnaHQgLjgyIG1ha2VzIHRoZSBsaW5lIGJveCBTSE9SVEVSIHRoYW4gdGhlIGdseXBocywgc28gcm91bmRcclxuXHQvLyBsZXR0ZXJzIHRoYXQgb3ZlcnNob290IHRoZSBiYXNlbGluZSAoRywgTywgUykgYW5kIGFueSBkZXNjZW5kZXIgZ2V0XHJcblx0Ly8gc2xpY2VkIG9mZiBieSBvdmVyZmxvdzpoaWRkZW4uIFBhZGRpbmcgZ2l2ZXMgdGhlIG1hc2sgcm9vbSB0byBzaG93IHRoZVxyXG5cdC8vIGZ1bGwgZ2x5cGg7IHRoZSBuZWdhdGl2ZSBtYXJnaW4gdGFrZXMgdGhlIHNhbWUgc3BhY2UgYmFjayBvdXQgb2YgdGhlXHJcblx0Ly8gbGF5b3V0LCBzbyB0aGUgbGluZXMgc3RheSB0aWdodGx5IHN0YWNrZWQgYW5kIG5vdGhpbmcgbW92ZXMuXHJcblx0Ly9cclxuXHQvLyBCb3RoIHZhbHVlcyBtdXN0IHN0YXkgZXF1YWwgYW5kIGluIGVtLCBzbyB0aGV5IHRyYWNrIHRoZSBmb250IHNpemUuXHJcblx0Jl9fd29yZCB7XHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdG92ZXJmbG93OiBoaWRkZW47XHJcblx0XHRwYWRkaW5nLWJvdHRvbTogLjE0ZW07XHJcblx0XHRtYXJnaW4tYm90dG9tOiAtLjE0ZW07XHJcblxyXG5cdFx0PiBzcGFuIHtcclxuXHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdC8vIFRyYW5zbGF0ZSBwYXN0IHRoZSBwYWRkaW5nIHRvbywgb3IgdGhlIGdseXBoIHBlZWtzIG91dCBiZWZvcmUgaXRcclxuXHRcdFx0Ly8gYW5pbWF0ZXMgaW4uXHJcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMjAlKTtcclxuXHRcdFx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDFzICRlYXNlLW91dCBjYWxjKHZhcigtLWksIDApICogLjA5cyk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQuaXMtcmVhZHkgJl9fd29yZCA+IHNwYW4geyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cclxuXHJcblx0Ly8gVGhlIGtub2NrZWQtb3V0IHdvcmQuIC13ZWJraXQtdGV4dC1zdHJva2UgaGFzIHRoZSB3aWRlc3Qgc3VwcG9ydCBvZiB0aGVcclxuXHQvLyBvdXRsaW5lIG9wdGlvbnMgYW5kIGRlZ3JhZGVzIHRvIHNvbGlkIGluayBpZiB1bnN1cHBvcnRlZC5cclxuXHQmX193b3JkLS1ob2xsb3cgPiBzcGFuIHtcclxuXHRcdGNvbG9yOiB0cmFuc3BhcmVudDtcclxuXHRcdC13ZWJraXQtdGV4dC1zdHJva2U6IGNsYW1wKDFweCwgLjEydncsIDNweCkgdmFyKC0taW5rKTtcclxuXHR9XHJcblxyXG5cdCZfX3dvcmQtLWFjY2VudCA+IHNwYW4geyBjb2xvcjogdmFyKC0tYWNjZW50LWluayk7IH1cclxuXHJcblx0Ly8g4pSA4pSAIEZvb3Qg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXHJcblx0Jl9fZm9vdCB7XHJcblx0XHRncmlkLXJvdzogMjtcclxuXHRcdHdpZHRoOiBtaW4oMTAwJSAtIHZhcigtLWd1dHRlcikgKiAyLCB2YXIoLS1tYXh3KSk7XHJcblx0XHRtYXJnaW4taW5saW5lOiBhdXRvO1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0ei1pbmRleDogMjtcclxuXHRcdGRpc3BsYXk6IGdyaWQ7XHJcblx0XHQvLyBTaW5nbGUgY29sdW1uOiBibHVyYiwgdGhlbiB0aGUgYnV0dG9ucyBiZW5lYXRoIGl0LCBib3RoIGhhcmQgbGVmdC5cclxuXHRcdC8vIFByZXZpb3VzbHkgdGhpcyB3YXMgYG1pbm1heCgwLDFmcikgYXV0b2AsIHdoaWNoIHB1c2hlZCB0aGUgQ1RBcyB0byB0aGVcclxuXHRcdC8vIGZhciByaWdodCBvZiB0aGUgaGVybywgYXdheSBmcm9tIHRoZSBjb3B5IHRoZXkgYmVsb25nIHRvLlxyXG5cdFx0anVzdGlmeS1pdGVtczogc3RhcnQ7XHJcblx0XHRnYXA6IGNsYW1wKDEuMjVyZW0sIDIuNXZoLCAxLjc1cmVtKTtcclxuXHRcdHBhZGRpbmctdG9wOiBjbGFtcCgxcmVtLCAzdmgsIDJyZW0pO1xyXG5cdH1cclxuXHJcblx0Ly8g4pSA4pSAIFBsYXRmb3JtIHdvcmRtYXJrcyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcclxuXHQvLyAgU2l0cyBpbiB0aGUgZ2FwIGJldHdlZW4gdGhlIGhlYWRsaW5lIGFuZCB0aGUgYmx1cmIuXHJcblx0Jl9fbG9nb3Mge1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblxyXG5cdFx0Ly8g4puUIE5FVkVSIFdSQVAg4oCUIEpvZSwgMjAyNi0wOC0wOC4gUnVtYmxlIHdhcyBkcm9wcGluZyB0byBhIHNlY29uZCByb3cgb25cclxuXHRcdC8vIGEgcGhvbmUuIFRoZXNlIGZvdXIgcmVhZCBhcyBvbmUgc2V0OyBhIHNpbmdsZSBsb2dvIG9ycGhhbmVkIHVuZGVybmVhdGhcclxuXHRcdC8vIHJlYWRzIGFzIGEgbWlzdGFrZSwgbm90IGEgc2Vjb25kIGxpbmUuXHJcblx0XHRmbGV4LXdyYXA6IG5vd3JhcDtcclxuXHJcblx0XHQvLyAtMnB4IG9mZiB0aGUgd2hvbGUgY3VydmUgcmF0aGVyIHRoYW4gYSBuZXcgc2V0IG9mIGNsYW1wIHZhbHVlcywgc28gdGhlXHJcblx0XHQvLyBmbHVpZCBiZWhhdmlvdXIgaXMgdW50b3VjaGVkIGFuZCB0aGUgYWRqdXN0bWVudCBzdGF5cyBsZWdpYmxlIGFzXHJcblx0XHQvLyBcInRoZSBvbGQgZ2FwLCBtaW51cyAyXCIuXHJcblx0XHRnYXA6IGNhbGMoY2xhbXAoMS4yNXJlbSwgMi40dncsIDIuNzVyZW0pIC0gMnB4KTtcclxuXHRcdGxpc3Qtc3R5bGU6IG5vbmU7XHJcblx0XHRtYXJnaW4tYm90dG9tOiBjbGFtcCguMjVyZW0sIDF2aCwgLjc1cmVtKTtcclxuXHJcblx0XHQvLyDilIDilIAgV2h5IGl0IG5vdyBmaXRzLCBhbmQgd2hhdCBoYXBwZW5zIGlmIGl0IHN0b3BzIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxyXG5cdFx0Ly8gIEVhY2ggbWFyaydzIHdpZHRoIGlzIGhlaWdodCB4IGl0cyBvd24gcmF0aW8sIHNvIHRoZSByb3cncyBuYXR1cmFsXHJcblx0XHQvLyAgd2lkdGggaXMgLS1wbG9nby1oIHggdGhlIFNVTSBvZiB0aGUgZm91ciByYXRpb3MsIHBsdXMgdGhyZWUgZ2FwczpcclxuXHRcdC8vXHJcblx0XHQvLyAgICBBcHBsZSA2Ny8xMiA9IDUuNTggfCBTcG90aWZ5IDU1OS8xNjggeCAxLjEgPSAzLjY2XHJcblx0XHQvLyAgICBZb3VUdWJlIDUxMi8xMTQuMyA9IDQuNDggfCBSdW1ibGUgMTQwLzM1IHggMS4xID0gNC40MFxyXG5cdFx0Ly8gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAxOC4xMlxyXG5cdFx0Ly9cclxuXHRcdC8vICBBdCB0aGUgb2xkIGZsYXQgMTdweCB0aGF0IGlzIH4zMDhweCBvZiBsb2dvIHBsdXMgfjU0cHggb2YgZ2FwID0gMzYycHgsXHJcblx0XHQvLyAgYWdhaW5zdCB+MzU4cHggb2YgdXNhYmxlIHdpZHRoIG9uIGEgMzkwcHggcGhvbmUuIEZvdXIgcGl4ZWxzIG92ZXIsIGFuZFxyXG5cdFx0Ly8gIHRoZSByb3cgd3JhcHBlZC4gQm90aCB0aGUgaGVpZ2h0IGFuZCB0aGUgZ2FwIGFyZSBub3cgdmlld3BvcnQtc2NhbGVkXHJcblx0XHQvLyAgYmVsb3cgbWQgc28gdGhlIHN1bSBzdGF5cyB1bmRlciB0aGUgbGluZSDigJQgc2VlIC5wbG9nbyBpbiBfYmFzZS5zY3NzLlxyXG5cdFx0Ly9cclxuXHRcdC8vICDimqAgVEhBVCAxOC4xMiBJUyBBIENPTlNUQU5UIERFUklWRUQgRlJPTSBUSEVTRSBGT1VSIExPR09TLiBBZGQgYSBmaWZ0aFxyXG5cdFx0Ly8gIHRvIHNpZ19wbGF0Zm9ybXMoKSBhbmQgdGhlIGFyaXRobWV0aWMgY2hhbmdlczsgcmUtY2hlY2sgaXQgcmF0aGVyIHRoYW5cclxuXHRcdC8vICBhc3N1bWluZyBub3dyYXAgd2lsbCBjb3BlLlxyXG5cdFx0PiBsaSB7IG1pbi13aWR0aDogMDsgfVxyXG5cclxuXHRcdC8vIFRpZ2h0ZXIgZ2FwcyBvbiBwaG9uZXMsIHdoZXJlIHRoZSBmaXhlZCAxLjI1cmVtIGZsb29yIHdhcyBlYXRpbmcgYVxyXG5cdFx0Ly8gcXVhcnRlciBvZiB0aGUgYXZhaWxhYmxlIHdpZHRoIG9uIGl0cyBvd24uXHJcblx0XHRAaW5jbHVkZSBhdChtZCkge1xyXG5cdFx0XHRnYXA6IGNsYW1wKC41cmVtLCAyLjh2dywgMS4yNXJlbSk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQmX19ibHVyYiB7XHJcblx0XHRmb250LXNpemU6IGNsYW1wKDFyZW0sIC40NXZ3ICsgLjlyZW0sIDEuMnJlbSk7XHJcblx0XHRjb2xvcjogdmFyKC0taW5rLTIpO1xyXG5cdFx0bWF4LXdpZHRoOiA0NmNoO1xyXG5cdH1cclxuXHJcblx0Jl9fY3RhIHtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRnYXA6IHNwKDMpO1xyXG5cdFx0ZmxleC13cmFwOiB3cmFwO1xyXG5cclxuXHRcdC8vIOKUgOKUgCBPcGFxdWUgYm9yZGVyLCBvbmx5IGhlcmUg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXHJcblx0XHQvLyAgLmJ0bidzIGJvcmRlciBpcyAtLWxpbmUtMiwgd2hpY2ggaXMgdHJhbnNsdWNlbnQg4oCUIGZpbmUgZXZlcnl3aGVyZSBpdFxyXG5cdFx0Ly8gIHNpdHMgb24gYSBmbGF0IHNlY3Rpb24sIGJlY2F1c2UgaXQgY29tcG9zaXRlcyB0byBhIGNvbnNpc3RlbnQgY29sb3VyLlxyXG5cdFx0Ly8gIEluIHRoZSBoZXJvIGl0IHNpdHMgb3ZlciB0aGUgcGhvdG8sIHNvIHRoZSBhcnR3b3JrIHJlYWRzIFRIUk9VR0ggdGhlXHJcblx0XHQvLyAgZWRnZSBhbmQgdGhlIGJvcmRlciBzaGlmdHMgY29sb3VyIGFsb25nIGl0cyBvd24gbGVuZ3RoLlxyXG5cdFx0Ly9cclxuXHRcdC8vICAtLWxpbmUtMi1mbGF0IGlzIHRoYXQgc2FtZSBib3JkZXIgcHJlLWNvbXBvc2l0ZWQgYWdhaW5zdCAtLWJnOiB0aGVcclxuXHRcdC8vICBpZGVudGljYWwgY29sb3VyIGl0IHJlc29sdmVzIHRvIG9uIGEgcGxhaW4gYmFja2dyb3VuZCwgYnV0IG9wYXF1ZSwgc29cclxuXHRcdC8vICBpdCBzdGF5cyBwdXQgb3ZlciBhbnl0aGluZy4gQm90aCB0aGVtZXMgY2Fycnkgb25lLlxyXG5cdFx0Ly9cclxuXHRcdC8vICA6bm90KC5idG4tLWFjY2VudCkgaXMgcmVxdWlyZWQuIC5idG4tLWFjY2VudCBzZXRzIGl0cyBvd24gLS1idG4tbGluZVxyXG5cdFx0Ly8gIGF0IG9uZSBjbGFzcyBvZiBzcGVjaWZpY2l0eTsgdGhpcyBydWxlIGlzIHR3bywgc28gd2l0aG91dCB0aGUgZ3VhcmQgaXRcclxuXHRcdC8vICB3b3VsZCBvdmVyd3JpdGUgdGhlIGJyYW5kIGJvcmRlciBvbiBcIlBsYXkgbGF0ZXN0XCIuXHJcblx0XHQuYnRuOm5vdCguYnRuLS1hY2NlbnQpIHsgLS1idG4tbGluZTogdmFyKC0tbGluZS0yLWZsYXQpOyB9XHJcblx0fVxyXG5cclxuXHQvLyDilIDilIAgVGlja2VyIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxyXG5cdC8vICBUaGUgY29tcG9uZW50IGl0c2VsZiBzdGF5cyBsYXlvdXQtbmV1dHJhbCAoc2VlIF90aWNrZXIuc2Nzcyk7IHRoaXMgaXMgdGhlXHJcblx0Ly8gIG9ubHkgcGxhY2UgdGhhdCBkZWNpZGVzIHdoZXJlIGl0IHNpdHMuIEFic29sdXRlIHJhdGhlciB0aGFuIGEgdGhpcmQgZ3JpZFxyXG5cdC8vICByb3cgYmVjYXVzZSB0aGUgaGVybyBzd2l0Y2hlcyBmcm9tIGdyaWQgdG8gZmxleCBhdCBtZCDigJQgYW4gYWJzb2x1dGUgY2hpbGRcclxuXHQvLyAgaXMgcG9zaXRpb25lZCBpZGVudGljYWxseSB1bmRlciBib3RoLCBzbyB0aGlzIG5lZWRzIG5vIG1vYmlsZSB2YXJpYW50LlxyXG5cdC8vXHJcblx0Ly8gIHotaW5kZXggMTogQkVMT1cgdGhlIHBob3RvLiBJdCByYW4gb3ZlciBoaW0gdW50aWwgMjAyNi0wOS0xNCAoXCJ3aGF0IGlmXHJcblx0Ly8gIHRoZSB0b3BpY3MgZmVlZCBjYW1lIGZyb20gYmVoaW5kIEpvZSBpbnN0ZWFkIG9mIG92ZXIgaGltIVwiKSDigJQgbm93IHRoZVxyXG5cdC8vICBzdHJpcCBzbGlkZXMgaW4gYmVoaW5kIGhpcyBzaG91bGRlciBhbmQgdGhlIG1pYywgYW5kIGhlIHN0YW5kcyBpblxyXG5cdC8vICBmcm9udCBvZiBpdC4gVGhlIHBob3RvJ3MgZmxhdCBib3R0b20gZWRnZSBsYW5kcyBleGFjdGx5IG9uIHRoZSBoZXJvJ3NcclxuXHQvLyAgYm90dG9tICg9IHRoZSB0aWNrZXIncyBib3R0b20gPSB0aGUgbmV4dCBzZWN0aW9uJ3MgdG9wKSwgc28gdGhlcmUnc1xyXG5cdC8vICBzdGlsbCBubyBjdXQgdG8gc2VlLiBPbiBhIHBob25lIHRvcGljIGxpbmtzIHN0YXkgY2xpY2thYmxlIHRocm91Z2ggaGltXHJcblx0Ly8gICh0aGUgcGhvdG8gaXMgcG9pbnRlci1ldmVudHM6IG5vbmUpOyBvbiBkZXNrdG9wIGEgc3RyaXAgb24gdGhlIHBob3RvXHJcblx0Ly8gIGJsb2NrcyB0aGVtIOKAlCBzZWUgJl9fcGhvdG86OmFmdGVyLlxyXG5cdD4gLnRpY2tlciB7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRsZWZ0OiAwO1xyXG5cdFx0cmlnaHQ6IDA7XHJcblx0XHRib3R0b206IDA7XHJcblx0XHR6LWluZGV4OiAxO1xyXG5cdH1cclxuXHJcblx0Ly8g4pSA4pSAIE1vYmlsZTogb25lIGNlbnRyZWQgYmxvY2sg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXHJcblx0Ly8gIE9uIGRlc2t0b3AgdGhlIGdyaWQgZGVsaWJlcmF0ZWx5IHB1c2hlcyB0aGUgaGVhZGxpbmUgdG8gdGhlIG1pZGRsZSBhbmRcclxuXHQvLyAgdGhlIGJsdXJiL0NUQXMgdG8gdGhlIGJvdHRvbSBlZGdlLiBPbiBhIHRhbGwgbmFycm93IHNjcmVlbiB0aGF0IHJlYWRzIGFzXHJcblx0Ly8gIHR3byBkaXNjb25uZWN0ZWQgZ3JvdXBzIHdpdGggYSBob2xlIGJldHdlZW4gdGhlbSwgc28gaGVyZSB0aGUgaGVhZGxpbmUsXHJcblx0Ly8gIGJsdXJiIGFuZCBidXR0b25zIGJlY29tZSBhIHNpbmdsZSBzdGFjayBjZW50cmVkIGFzIG9uZSB1bml0LlxyXG5cdC8vXHJcblx0Ly8gIFN3aXRjaGluZyB0byBmbGV4IG1lYW5zIGdyaWQtcm93L2FsaWduLXNlbGYgbm8gbG9uZ2VyIGFwcGx5IOKAlCBhbmRcclxuXHQvLyAgYWxpZ24tc2VsZiB3b3VsZCBub3cgY29udHJvbCB0aGUgSE9SSVpPTlRBTCBheGlzLCBzbyB0aGUgY2hpbGRyZW4gaGF2ZVxyXG5cdC8vICB0byBiZSByZXNldCB0byBzdHJldGNoIG9yIHRoZSBoZWFkbGluZSB3b3VsZCBzaHJpbmstd3JhcCBhbmQgY2VudHJlXHJcblx0Ly8gIGl0c2VsZiBzaWRld2F5cy5cclxuXHRAaW5jbHVkZSBhdChtZCkge1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRcdGdhcDogc3AoNSk7XHJcblxyXG5cdFx0Lmhlcm9fX3RpdGxlLFxyXG5cdFx0Lmhlcm9fX2Zvb3Qge1xyXG5cdFx0XHRhbGlnbi1zZWxmOiBzdHJldGNoO1xyXG5cdFx0XHRwYWRkaW5nLXRvcDogMDtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi8vIFdhbmRlci4gUGVyY2VudGFnZXMgcmVzb2x2ZSBhZ2FpbnN0IHRoZSBlbGVtZW50J3MgT1dOIHNpemUgKGxpa2UgdHJhbnNmb3JtXHJcbi8vIHRyYW5zbGF0ZSksIGFuZCBpdCdzIG1pbigxMjB2dywgMTQwMHB4KSBhY3Jvc3Mg4oCUIHNvIHRoZXNlIHNtYWxsIG51bWJlcnMgYXJlXHJcbi8vIGEgbG9uZywgbGF6eSBtb3ZlbWVudCwgbm90IGEgdHdpdGNoLiB4IHN0YXlzIGFyb3VuZCAtNTAlIChpdHMgY2VudHJlZFxyXG4vLyBwb3NpdGlvbikgYW5kIHN0cmF5cyBhYm91dCBhIHRlbnRoIG9mIGl0cyB3aWR0aCBlaXRoZXIgd2F5LlxyXG4vL1xyXG4vLyBGaXZlIHVuZXZlbiBzdG9wcyByYXRoZXIgdGhhbiBhIHRoZXJlLWFuZC1iYWNrLCBzbyBubyB0d28gcGFzc2VzIHRyYWNlIHRoZVxyXG4vLyBzYW1lIHBhdGguIE5vdCBgYWx0ZXJuYXRlYCDigJQgaXQgcnVucyBmb3J3YXJkIGFuZCB0aGUgbGFzdCBzdG9wIHJldHVybnMgdG8gdGhlXHJcbi8vIGZpcnN0LCB3aGljaCBrZWVwcyB0aGUgbG9vcCBzZWFtbGVzcyB3aXRob3V0IG1pcnJvcmluZyB0aGUgcm91dGUuXHJcbkBrZXlmcmFtZXMgYmxvb20tZHJpZnQge1xyXG5cdDAlICAgeyB0cmFuc2xhdGU6IC01MCUgMDsgfVxyXG5cdDIzJSAgeyB0cmFuc2xhdGU6IC00MCUgNSU7IH1cclxuXHQ0MSUgIHsgdHJhbnNsYXRlOiAtNTklIDklOyB9XHJcblx0NjQlICB7IHRyYW5zbGF0ZTogLTQ0JSAtNCU7IH1cclxuXHQ4MyUgIHsgdHJhbnNsYXRlOiAtNTclIDMlOyB9XHJcblx0MTAwJSB7IHRyYW5zbGF0ZTogLTUwJSAwOyB9XHJcbn1cclxuXHJcbi8vIEJyZWF0aGluZywgc2VwYXJhdGUgZnJvbSB0aGUgd2FuZGVyIHNvIHRoZSB0d28gY2FuIGRyaWZ0IG91dCBvZiBwaGFzZS5cclxuQGtleWZyYW1lcyBibG9vbS1wdWxzZSB7XHJcblx0ZnJvbSB7IHNjYWxlOiAxOyAgICBvcGFjaXR5OiAuNjI7IH1cclxuXHR0byAgIHsgc2NhbGU6IDEuMjg7IG9wYWNpdHk6IC45OyB9XHJcbn1cclxuXHJcbi8vIFRoZSBPTiBBSVIgYmFkZ2UgbGl2ZWQgaGVyZSBhbmQgd2FzIHJlbW92ZWQg4oCUIGl0IHB1c2hlZCB0aGUgaGVybyBjb250ZW50XHJcbi8vIGJlbG93IHRoZSBmb2xkIGZvciBubyByZWFsIHBheW9mZi4gVGhlIGRvY2sgc3RpbGwgY2FycmllcyB0aGUgbGl2ZSBzaWduYWwuXHJcblxyXG4vLyDilIDilIAgTGl2ZSB3YXZlZm9ybSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcclxuLy8gUHVyZSBDU1MuIEVhY2ggYmFyIGdldHMgLS1pIGZyb20gdGhlIHRlbXBsYXRlIGFuZCBkZXJpdmVzIGl0cyBvd24gZGVsYXksIHNvXHJcbi8vIHRoZSB3YXZlIHRyYXZlbHMgaW5zdGVhZCBvZiBwdWxzaW5nIGluIHVuaXNvbi5cclxuLndhdmUge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRnYXA6IDNweDtcclxuXHRoZWlnaHQ6IDM0cHg7XHJcblxyXG5cdHNwYW4ge1xyXG5cdFx0d2lkdGg6IDNweDtcclxuXHRcdGhlaWdodDogMzAlO1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogMnB4O1xyXG5cdFx0YmFja2dyb3VuZDogdmFyKC0tYWNjZW50KTtcclxuXHRcdG9wYWNpdHk6IC44NTtcclxuXHRcdGFuaW1hdGlvbjogd2F2ZSAxLjFzICRlYXNlIGluZmluaXRlIGFsdGVybmF0ZTtcclxuXHRcdGFuaW1hdGlvbi1kZWxheTogY2FsYyh2YXIoLS1pKSAqIC0uMDlzKTtcclxuXHR9XHJcblxyXG5cdCYtLW11dGVkIHNwYW4geyBiYWNrZ3JvdW5kOiB2YXIoLS1pbmstMyk7IH1cclxufVxyXG5cclxuQGtleWZyYW1lcyB3YXZlIHtcclxuXHRmcm9tIHsgaGVpZ2h0OiAxNCU7IH1cclxuXHR0byAgIHsgaGVpZ2h0OiAxMDAlOyB9XHJcbn1cclxuXHJcbi8vIOKUgOKUgCBTY3JvbGwgY3VlIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxyXG4uY3VlIHtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0bGVmdDogNTAlO1xyXG5cdC8vIE1lYXN1cmVkIGZyb20gdGhlIEZPTEQsIG5vdCB0aGUgYm90dG9tIG9mIHRoZSBoZXJvIOKAlCBvdGhlcndpc2UgdGhlIHRpY2tlclxyXG5cdC8vIHdvdWxkIHNpdCBvbiB0b3Agb2YgaXQuXHJcblx0Ym90dG9tOiBjYWxjKCN7c3AoNCl9ICsgdmFyKC0tdGlja2VyLWgpKTtcclxuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcblx0ei1pbmRleDogMjtcclxuXHRkaXNwbGF5OiBncmlkO1xyXG5cdGp1c3RpZnktaXRlbXM6IGNlbnRlcjtcclxuXHRnYXA6IHNwKDIpO1xyXG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm8pO1xyXG5cdGZvbnQtc2l6ZTogLjYycmVtO1xyXG5cdGxldHRlci1zcGFjaW5nOiAuMmVtO1xyXG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0Y29sb3I6IHZhcigtLWluay0zKTtcclxuXHR0cmFuc2l0aW9uOiBvcGFjaXR5IC41cyAkZWFzZSwgdmlzaWJpbGl0eSAuNXMsIGNvbG9yIHZhcigtLWR1ci1mYXN0KSAkZWFzZTtcclxuXHJcblx0Ly8gSXQncyBhIDxidXR0b24+IGFzIG9mIDIwMjYtMDgtMDgg4oCUIHRhcHBpbmcgaXQgc2Nyb2xscyBwYXN0IHRoZSBoZXJvLCBhbmRcclxuXHQvLyBvbiBwaG9uZXMgdGhhdCB0YXAgYXJtcyB0aGUgc2Nyb2xsLWRyaXZlbiBoYXB0aWNzIChzZWUgYy1jdWUuanMpLiBUaGVcclxuXHQvLyBnbG9iYWwgYnV0dG9uIHJlc2V0IGFscmVhZHkgc3RyaXBzIHRoZSBVQSBjaHJvbWU7IHRoaXMgcGFkZGluZyB3aWRlbnMgdGhlXHJcblx0Ly8gdGFwIHRhcmdldCwgc2luY2UgdGhlIHdvcmQgYWxvbmUgaXMgYSBuYXJyb3cgdGhpbmcgdG8gaGl0LiBIb3Jpem9udGFsXHJcblx0Ly8gb25seTogdGhlIHN0ZW0gYmVsb3cgYWxyZWFkeSBnaXZlcyBpdCBjb21mb3J0YWJsZSBoZWlnaHQuXHJcblx0cGFkZGluZy1pbmxpbmU6IHNwKDQpO1xyXG5cclxuXHRAaW5jbHVkZSBjYW4taG92ZXIge1xyXG5cdFx0Jjpob3ZlciB7IGNvbG9yOiB2YXIoLS1pbmspOyB9XHJcblx0fVxyXG5cclxuXHQvLyBTZXQgYnkgYy1jdWUuanMgb25jZSB0aGUgdGlja2VyIGlzIGZ1bGx5IGluIHZpZXcg4oCUIHRoZSBjdWUgaGFzIGJlZW5cclxuXHQvLyBhbnN3ZXJlZCwgc28gaXQgc3RlcHMgYXNpZGUuXHJcblx0Ly9cclxuXHQvLyB2aXNpYmlsaXR5IHJpZGVzIGFsb25nIHdpdGggb3BhY2l0eSBzbyB0aGUgZmFkZWQgY3VlIGFsc28gc3RvcHMgdGFraW5nXHJcblx0Ly8gcG9pbnRlciBhbmQgc2NyZWVuLXJlYWRlciBhdHRlbnRpb247IGJvdGggYXJlIHRyYW5zaXRpb25lZCBzbyBpdCBmYWRlc1xyXG5cdC8vIHJhdGhlciB0aGFuIGJsaW5raW5nIG91dC4gVGhlIHN0ZW0gYW5pbWF0aW9uIGlzIGxlZnQgcnVubmluZyDigJQgaXQnc1xyXG5cdC8vIGludmlzaWJsZSBhdCBvcGFjaXR5IDAgYW5kIHN0b3BwaW5nIGl0IHdvdWxkIG1lYW4gaXQgcmVzdGFydHMgbWlkLWN5Y2xlXHJcblx0Ly8gb24gdGhlIHdheSBiYWNrIHVwLlxyXG5cdCYuaXMtc3BlbnQge1xyXG5cdFx0b3BhY2l0eTogMDtcclxuXHRcdHZpc2liaWxpdHk6IGhpZGRlbjtcclxuXHR9XHJcblxyXG5cdCY6OmFmdGVyIHtcclxuXHRcdGNvbnRlbnQ6IFwiXCI7XHJcblx0XHR3aWR0aDogMXB4O1xyXG5cdFx0aGVpZ2h0OiA0MnB4O1xyXG5cdFx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHZhcigtLWluay0zKSwgdHJhbnNwYXJlbnQpO1xyXG5cdFx0YW5pbWF0aW9uOiBkcm9wIDIuMnMgJGVhc2UgaW5maW5pdGU7XHJcblx0fVxyXG5cclxuXHQvLyBTaG93biBvbiBtb2JpbGUgbm93LCB3aGVyZSBpdCB1c2VkIHRvIGJlIGRpc3BsYXk6bm9uZS4gVGhlIGhlcm8gaXMgYVxyXG5cdC8vIGNlbnRyZWQgc3RhY2sgYXQgdGhpcyBzaXplIGFuZCBpdHMgYm90dG9tIHBhZGRpbmcgaXMgdGhlIG9ubHkgY2xlYXJhbmNlLFxyXG5cdC8vIHNvIHRoZSBzdGVtIGlzIHNob3J0ZW5lZCB0byBrZWVwIHRoZSBjdWUgb2ZmIHRoZSBDVEFzIG9uIGEgc2hvcnQgcGhvbmUuXHJcblx0QGluY2x1ZGUgYXQobWQpIHtcclxuXHRcdGZvbnQtc2l6ZTogLjU4cmVtO1xyXG5cdFx0Z2FwOiBzcCgxKTtcclxuXHJcblx0XHQmOjphZnRlciB7IGhlaWdodDogMjZweDsgfVxyXG5cdH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBkcm9wIHtcclxuXHQwJSAgIHsgdHJhbnNmb3JtOiBzY2FsZVkoMCk7IHRyYW5zZm9ybS1vcmlnaW46IHRvcDsgfVxyXG5cdDQ1JSAgeyB0cmFuc2Zvcm06IHNjYWxlWSgxKTsgdHJhbnNmb3JtLW9yaWdpbjogdG9wOyB9XHJcblx0NTUlICB7IHRyYW5zZm9ybTogc2NhbGVZKDEpOyB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b207IH1cclxuXHQxMDAlIHsgdHJhbnNmb3JtOiBzY2FsZVkoMCk7IHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbTsgfVxyXG59XHJcbiIsIkB1c2UgXCJ0b2tlbnNcIiBhcyAqO1xuXG4vLyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi8vICBUSUNLRVIg4oCUIGluZmluaXRlIG1hcnF1ZWUgb2YgdG9waWNzXG4vL1xuLy8gIFRoZSB0cmFjayBob2xkcyB0aGUgbGlzdCBUV0lDRSBhbmQgdHJhbnNsYXRlcyAtNTAlLCBzbyB0aGUgbG9vcCBpcyBzZWFtbGVzc1xuLy8gIHdpdGggbm8gSlMgYW5kIG5vIGNsb25lLWNvdW50aW5nLiBEdXBsaWNhdGUgY29waWVzIGFyZSBhcmlhLWhpZGRlbiBzbyBzY3JlZW5cbi8vICByZWFkZXJzIGhlYXIgdGhlIGxpc3Qgb25jZS5cbi8vIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG4udGlja2VyIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHQvLyBGaXhlZCBoZWlnaHQgcmF0aGVyIHRoYW4gcGFkZGluZyArIGxpbmUgYm94LCBiZWNhdXNlIHRoZSBoZXJvJ3Mgb3Zlcmhhbmdcblx0Ly8gaXMgY2FsY3VsYXRlZCBmcm9tIGl0IOKAlCBzZWUgLS10aWNrZXItaCBpbiBfdG9rZW5zLnNjc3MuIENlbnRyaW5nIHRoZSB0cmFja1xuXHQvLyBrZWVwcyB0aGUgdG9waWNzIG9wdGljYWxseSB3aGVyZSB0aGUgb2xkIHN5bW1ldHJpYyBwYWRkaW5nIHB1dCB0aGVtLlxuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRoZWlnaHQ6IHZhcigtLXRpY2tlci1oKTtcblx0Ly8gQm90dG9tIHJ1bGUgb25seSDigJQgYSB0b3AgYm9yZGVyIHdvdWxkIGRyYXcgYSBzZWNvbmQgbGluZSBhY3Jvc3MgdGhlIG1pZGRsZVxuXHQvLyBvZiB0aGUgaGVybyBhcnR3b3JrLlxuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tbGluZSk7XG5cdC8vIEEgMTUlIHdhc2ggcmF0aGVyIHRoYW4gYSBzb2xpZCBiYW5kLiBFbm91Z2ggdG8gbGlmdCB0aGUgdG9waWNzIG9mZiB0aGVcblx0Ly8gYXJ0d29yayBhbmQgbWFyayB0aGUgc3RyaXAgYXMgaXRzIG93biB0aGluZywgd2hpbGUgdGhlIGhlcm8gcGhvdG8gcmVhZHNcblx0Ly8gc3RyYWlnaHQgdGhyb3VnaCBpdCDigJQgd2hpY2ggaXMgdGhlIHBvaW50LCBzaW5jZSB0aGUgcGhvdG8gbm93IHJ1bnMgdGhlXG5cdC8vIGZ1bGwgaGVpZ2h0IG9mIHRoaXMgc3RyaXAgYW5kIGVuZHMgb24gdGhlIGJvcmRlciBiZWxvdyAoc2VlICZfX3Bob3RvIGluXG5cdC8vIF9oZXJvLnNjc3MpLiBBIHNvbGlkIGZpbGwgd291bGQgaGF2ZSBoaWRkZW4gdGhhdCBlbnRpcmVseS5cblx0Ly9cblx0Ly8gUGVyLXRoZW1lLCBhbmQgaXQgaGFzIHRvIGJlOiB0aGUgcHJldmlvdXMgdmVyc2lvbiB3YXNoZWQgd2l0aCAtLWJnLTIsXG5cdC8vIHdoaWNoIGlzIHdoaXRlIGluIGxpZ2h0IG1vZGUgYnV0IG5lYXItYmxhY2sgaW4gZGFyaywgc28gdGhlIHNhbWUgcnVsZVxuXHQvLyBsaWZ0ZWQgb25lIHRoZW1lIGFuZCBkaWQgbm90aGluZyBhdCBhbGwgaW4gdGhlIG90aGVyLlxuXHRiYWNrZ3JvdW5kOiB2YXIoLS10aWNrZXItZmlsbCk7XG5cdC8vIEZyb3N0ZWQgZ2xhc3Mgb3ZlciB0aGUgaGVybyBwaG90by4gV2l0aCB0aGUgZmlsbCBkb3duIGF0IDUlIHRoZSBibHVyIGlzXG5cdC8vIHdoYXQgYWN0dWFsbHkgc2VwYXJhdGVzIHRoZSBzdHJpcCBmcm9tIHRoZSBhcnR3b3JrIGJlaGluZCBpdCDigJQgdGhlIHRpbnRcblx0Ly8gYWxvbmUgaXMgZmFyIHRvbyBmYWludCB0byBkbyBpdC5cblx0Ly9cblx0Ly8gTm8gLXdlYmtpdC0gcHJlZml4LCBhbmQgdGhhdCdzIGNvcnJlY3Qg4oCUIGRvbid0IFwiZml4XCIgaXQuIFNhZmFyaSBuZWVkZWQgb25lXG5cdC8vIHVudGlsIDE4LCBidXQgdGhpcyBwcm9qZWN0J3MgYnJvd3NlcnNsaXN0IGZsb29yIGlzIGlPUyBTYWZhcmkgMTguNSwgc29cblx0Ly8gYXV0b3ByZWZpeGVyIHN0cmlwcyBhIGhhbmQtd3JpdHRlbiBwcmVmaXggYmFjayBvdXQuIEFkZGluZyBvbmUgaXMgY2h1cm5cblx0Ly8gdGhhdCBzaWxlbnRseSBkaXNhcHBlYXJzIGF0IGJ1aWxkIHRpbWUuXG5cdGJhY2tkcm9wLWZpbHRlcjogYmx1cigxNHB4KTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblxuXHQvLyDilIDilIAgVmlld3BvcnQg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cdC8vICBFeGlzdHMgT05MWSB0byBjYXJyeSB0aGUgZWRnZS1mYWRlIG1hc2suIFRoYXQgbWFzayB1c2VkIHRvIHNpdCBvbiAudGlja2VyXG5cdC8vICBpdHNlbGYsIHdoaWNoIHdhcyBmaW5lIHdoZW4gdGhlIHN0cmlwIHdhcyBpbnZpc2libGUsIGJ1dCBhIG1hc2sgYXBwbGllc1xuXHQvLyAgdG8gdGhlIGVsZW1lbnQgYW5kIGV2ZXJ5dGhpbmcgaW4gaXQg4oCUIHNvIHdpdGggYSBmaWxsLCBhIGJsdXIgYW5kIGEgYm9yZGVyXG5cdC8vICBpdCB0b29rIHRoZSB3aG9sZSBnbGFzcyBwYW5lbCBkb3duIHdpdGggaXQgYW5kIHRoZSBzdHJpcCBhcHBlYXJlZCB0b1xuXHQvLyAgZGlzc29sdmUgYXQgYm90aCBlbmRzLiBNYXNraW5nIGFuIGlubmVyIGJveCBmYWRlcyB0aGUgbW92aW5nIFRPUElDUyB3aGlsZVxuXHQvLyAgdGhlIHBhbmVsLCBpdHMgYmx1ciBhbmQgaXRzIGJvdHRvbSBydWxlIHJ1biBlZGdlIHRvIGVkZ2UuXG5cdC8vXG5cdC8vICBJdCBjYW4ndCBnbyBvbiBfX3RyYWNrIGVpdGhlcjogdGhlIHRyYWNrIHRyYW5zbGF0ZXMsIHNvIHRoZSBmYWRlIHdvdWxkXG5cdC8vICB0cmF2ZWwgd2l0aCB0aGUgY29udGVudCBpbnN0ZWFkIG9mIHN0YXlpbmcgYXQgdGhlIHZpZXdwb3J0IGVkZ2VzLlxuXHQvL1xuXHQvLyAgU2Vjb25kIHJlYXNvbiB0byBzcGxpdCB0aGVtOiBiYWNrZHJvcC1maWx0ZXIgYW5kIG1hc2staW1hZ2Ugb24gdGhlIHNhbWVcblx0Ly8gIGVsZW1lbnQgaGF2ZSBhIGhpc3Rvcnkgb2YgY29tcG9zaXRpbmcgYnVncyBpbiBTYWZhcmkuIFNlcGFyYXRpbmcgdGhlbVxuXHQvLyAgc2lkZXN0ZXBzIHRoYXQgZW50aXJlbHkuXG5cdCZfX3ZpZXdwb3J0IHtcblx0XHRmbGV4OiAxO1xuXHRcdG1pbi13aWR0aDogMDtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHQvLyBOTyBlZGdlIGZhZGVzLiBMZWZ0IHdlbnQgMjAyNi0wOS0xNCAoXCJkb2Vzbid0IG5lZWQgdGhhdCBmYWRlIG91dCBhdFxuXHRcdC8vIHRoZSBsZWZ0XCIpLCByaWdodCB3ZW50IDIwMjYtMDktMTUgKFwicmVtb3ZlIHRoZSBmYWRlb3V0IG9uIHRoZSByaWdodFxuXHRcdC8vIHNpZGUgdG9vXCIpIOKAlCB0b3BpY3MgcnVuIGVkZ2UgdG8gZWRnZSBhdCBmdWxsIGluaywgYW5kIG9uIHRoZVxuXHRcdC8vIGhvbWVwYWdlIHRoZSBoZXJvIHBob3RvIHN0YW5kaW5nIGluIGZyb250IGlzIHdoYXQgaGlkZXMgdGhlbS4gVGhlXG5cdFx0Ly8gd3JhcHBlciBzdGF5czogaXQncyBzdGlsbCB0aGUgb3ZlcmZsb3cgY2xpcCwgYW5kIHRoZSBtYXNrIGhpc3Rvcnlcblx0XHQvLyBhYm92ZSBpcyB3aHkgaXQgZXhpc3RzIGFzIGEgc2VwYXJhdGUgYm94IGF0IGFsbC5cblx0XHRtYXNrLWltYWdlOiBub25lO1xuXHRcdC13ZWJraXQtbWFzay1pbWFnZTogbm9uZTtcblx0fVxuXG5cdCZfX3RyYWNrIHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdHdpZHRoOiBtYXgtY29udGVudDtcblx0XHQvLyBUaGUgdGlja2VyIGlzIGEgZmxleCByb3cgbm93LCBzbyB0aGUgdHJhY2sgaXMgYSBmbGV4IElURU0g4oCUIHdpdGhvdXRcblx0XHQvLyB0aGlzIGl0IHdvdWxkIHNocmluayB0byB0aGUgY29udGFpbmVyIGFuZCB0aGUgbWFycXVlZSdzIC01MCUgd291bGRcblx0XHQvLyB0cmF2ZWwgdGhlIHdyb25nIGRpc3RhbmNlLCB0ZWFyaW5nIHRoZSBsb29wLlxuXHRcdGZsZXg6IG5vbmU7XG5cdFx0YW5pbWF0aW9uOiBtYXJxdWVlIDQycyBsaW5lYXIgaW5maW5pdGU7XG5cdH1cblxuXHQvLyBQYXVzaW5nIG9uIGhvdmVyIG1ha2VzIGl0IGZlZWwgbGlrZSBhbiBvYmplY3QgcmF0aGVyIHRoYW4gYSBiYWNrZ3JvdW5kLlxuXHQmOmhvdmVyICZfX3RyYWNrIHsgYW5pbWF0aW9uLXBsYXktc3RhdGU6IHBhdXNlZDsgfVxuXG5cdCZfX3NldCB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdGZsZXg6IG5vbmU7XG5cdH1cblxuXHQmX19pdGVtIHtcblx0XHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdC8vIFRoZSBkb3Qgc2l0cyBCRVRXRUVOIHR3byB0b3BpY3MsIHNvIGJvdGggc2lkZXMgbXVzdCBtYXRjaDpcblx0XHQvLyAgIHByZXYgdGV4dCAtPiBkb3QgID0gZ2FwXG5cdFx0Ly8gICBkb3QgLT4gbmV4dCB0ZXh0ICA9IHRoaXMgaXRlbSdzIHBhZGRpbmctcmlnaHQgKyBuZXh0J3MgcGFkZGluZy1sZWZ0XG5cdFx0Ly8gV2l0aCBgZ2FwOiBzcCg1KWAgYW5kIGBwYWRkaW5nLWlubGluZTogc3AoNSlgIHRob3NlIHdlcmUgMS41cmVtIGFuZFxuXHRcdC8vIDNyZW0g4oCUIHRoZSBkb3QgaHVnZ2VkIHRoZSB0ZXh0IG9uIGl0cyBsZWZ0LiBEcm9wcGluZyB0aGUgbGVmdCBwYWRkaW5nXG5cdFx0Ly8gbWFrZXMgYm90aCBzaWRlcyBleGFjdGx5IHNwKDYpLlxuXHRcdGdhcDogc3AoNik7XG5cdFx0cGFkZGluZy1pbmxpbmU6IDAgc3AoNik7XG5cdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG5cdFx0Ly8g4pSA4pSAIFNpemUgaGlzdG9yeSwgYmVjYXVzZSB0aGlzIGhhcyBtb3ZlZCB0d2ljZSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblx0XHQvLyAgY2xhbXAoMS4xcmVtLCAyLjR2dywgMi4xcmVtKSAgICAgICAgICAgICAgb3JpZ2luYWxcblx0XHQvLyAgY2xhbXAoLjk3NXJlbSwgMi40dncgLSAycHgsIDEuOTc1cmVtKSAgICAgLTJweCwgMjAyNi0wOC0wOFxuXHRcdC8vICBjbGFtcCguNzMxcmVtLCAxLjh2dyAtIDEuNXB4LCAxLjQ4MXJlbSkgICAtMjUlLCAyMDI2LTA4LTA4XG5cdFx0Ly8gIGNsYW1wKC42NThyZW0sIDEuNjJ2dyAtIDEuMzVweCwgMS4zMzNyZW0pIC0xMCUgYWdhaW4sIHNhbWUgZGF5IOKGkCBub3dcblx0XHQvL1xuXHRcdC8vIEFMTCBUSFJFRSB0ZXJtcyBhcmUgc2NhbGVkIGJ5IC43NSwgaW5jbHVkaW5nIHRoZSB2dy4gQ3V0dGluZyBvbmx5IHRoZVxuXHRcdC8vIG1pbiBhbmQgbWF4IHdvdWxkIGxlYXZlIHRoZSBmbHVpZCBtaWRkbGUgYXQgaXRzIG9sZCBzaXplLCB3aGljaFxuXHRcdC8vIHJlc2hhcGVzIHRoZSBjdXJ2ZSByYXRoZXIgdGhhbiBsb3dlcmluZyBpdCDigJQgdGhlIHJvdyB3b3VsZCBzdGlsbCBoaXRcblx0XHQvLyB0aGUgb2xkIHNpemUgYXQgbWlkLXJhbmdlIHdpZHRocyBhbmQgc2hyaW5rIG9ubHkgYXQgdGhlIGV4dHJlbWVzLlxuXHRcdC8vIFRoZSAtMS41cHggaXMgdGhlIHByZXZpb3VzIC0ycHggc2NhbGVkIGJ5IHRoZSBzYW1lIC43NSwgc28gdGhlIGVhcmxpZXJcblx0XHQvLyBjb3JyZWN0aW9uIHN0YXlzIHByb3BvcnRpb25hbGx5IGludGFjdCBpbnN0ZWFkIG9mIGJlaW5nIHN3YW1wZWQuXG5cdFx0Ly9cblx0XHQvLyBUaGUgc2VwYXJhdG9ycyBjYXJyeSBubyBzaXplIG9mIHRoZWlyIG93biBhbmQgaW5oZXJpdCB0aGlzLCBzbyB0aGVcblx0XHQvLyB0b3BpY3MgYW5kIHRoZSBtYXJrcyBiZXR3ZWVuIHRoZW0gbW92ZSB0b2dldGhlci5cblx0XHQvL1xuXHRcdC8vIOKaoCAtLXRpY2tlci1oIGlzIElOREVQRU5ERU5UIG9mIHRoaXMgYW5kIGRvZXMgTk9UIGZvbGxvdy4gSXQgd2FzIHRha2VuXG5cdFx0Ly8gZG93biAxNSUgaW4gX3Rva2Vucy5zY3NzIHRvIGNhdGNoIHVwIHdpdGggdGhlc2UgdHdvIHJlZHVjdGlvbnMg4oCUIGlmXG5cdFx0Ly8gdGhlIHR5cGUgbW92ZXMgYWdhaW4sIGNoZWNrIHRoZSBiYW5kJ3MgYWlyIGFnYWluLiBUaGV5IGFyZSB0d28ga25vYnMsXG5cdFx0Ly8gbm90IG9uZS5cblx0XHQvLyAgY2xhbXAoLjU5MnJlbSwgMS40NTh2dyAtIDEuMjE1cHgsIDEuMnJlbSkgLTEwJSBhZ2FpbiDihpAgbm93LCBhbmRcblx0XHQvLyAgLS10aWNrZXItaCB0b29rIHRoZSBTQU1FIDEwJSB0aGlzIHRpbWUgc28gdGhlIGJhbmQncyBwcm9wb3J0aW9ucyBob2xkXG5cdFx0Ly8gIGluc3RlYWQgb2YgdGhlIGFpciBncm93aW5nIGFnYWluLlxuXHRcdGZvbnQtc2l6ZTogY2xhbXAoLjU5MnJlbSwgMS40NTh2dyAtIDEuMjE1cHgsIDEuMnJlbSk7XG5cblx0XHQvLyDimqAgREVTS1RPUCBPTkxZIOKAlCBtb2JpbGUga2VlcHMgdGhlIHNpemUgaXQgaGFkIGJlZm9yZSB0b2RheSdzIHR3b1xuXHRcdC8vIHJlZHVjdGlvbnMuIEJvdGggd2VyZSBqdWRnZWQgb24gYSBkZXNrdG9wIHNjcmVlbjsgdGhlIHBob25lIHdhcyBuZXZlclxuXHRcdC8vIHRoZSB0aGluZyBiZWluZyBsb29rZWQgYXQsIGFuZCBhdCAzOTBweCB0aGUgLTI1JSBhbmQgLTEwJSBoYWQgc3RhY2tlZFxuXHRcdC8vIGludG8gMTAuNXB4IHR5cGUsIHdoaWNoIGlzIHNtYWxsIGZvciBhIHJvdyBvZiBsaW5rcyB5b3UgYXJlIG1lYW50IHRvXG5cdFx0Ly8gYmUgYWJsZSB0byB0YXAuXG5cdFx0Ly9cblx0XHQvLyBUaGUgd2hvbGUgb3JpZ2luYWwgY2xhbXAgaXMgcmVzdG9yZWQgcmF0aGVyIHRoYW4gYSBmbGF0IHB4IHZhbHVlLCBzb1xuXHRcdC8vIHRoZSBmbHVpZCBiZWhhdmlvdXIgYmVsb3cgbWQgaXMgaWRlbnRpY2FsIHRvIHdoYXQgaXQgd2FzIGFuZCB0aGUgdHdvXG5cdFx0Ly8gc3RhdGVzIGNhbiBiZSBjb21wYXJlZCBsaW5lIGZvciBsaW5lLlxuXHRcdC8vXG5cdFx0Ly8gUGFpcnMgd2l0aCB0aGUgLS10aWNrZXItaCByZXZlcnQgaW4gX3Rva2Vucy5zY3NzLiBSZXZlcnQgb25lIHdpdGhvdXRcblx0XHQvLyB0aGUgb3RoZXIgYW5kIHRoZSBiYW5kJ3MgcHJvcG9ydGlvbnMgb25seSBoYWxmIHJldHVybi5cblx0XHRAaW5jbHVkZSBhdChtZCkge1xuXHRcdFx0Zm9udC1zaXplOiBjbGFtcCguOTc1cmVtLCAyLjR2dyAtIDJweCwgMS45NzVyZW0pO1xuXHRcdH1cblx0XHRmb250LXdlaWdodDogOTAwO1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0bGV0dGVyLXNwYWNpbmc6IC0uMDJlbTtcblx0XHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRcdC8vIOKUgOKUgCBBbHRlcm5hdGluZyB3aGl0ZSAvIGJsdWUsIHdpdGggcmV2ZXJzZWQgaG92ZXJzIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXHRcdC8vICBKb2UsIDIwMjYtMDgtMDguIFRoZSBhbHRlcm5hdGlvbiBpcyBhIFJFVFVSTiB0byBob3cgdGhpcyByb3cgdXNlZCB0b1xuXHRcdC8vICB3b3JrIOKAlCBpdCB3YXMgc29saWQgdnMgaG9sbG93LCB0aGVuIGJyaWVmbHkgYWxsLW91dGxpbmVkLCB0aGVuIGFsbFxuXHRcdC8vICBhY2NlbnQsIGFuZCBpcyBub3cgd2hpdGUgdnMgYWNjZW50LiBEb24ndCBcInNpbXBsaWZ5XCIgaXQgYmFjayB0byBvbmVcblx0XHQvLyAgY29sb3VyOyB0aGUgdHdvLXRvbmUgcm93IGlzIHRoZSBpbnRlbnQuXG5cdFx0Ly9cblx0XHQvLyAg4pqgIFRISVMgT05MWSBUSUxFUyBJRiBUSEUgVE9QSUMgQ09VTlQgSVMgRVZFTi4gVGhlIG1hcnF1ZWUgcmVuZGVyc1xuXHRcdC8vICB0aGUgbGlzdCB0d2ljZSwgYW5kIGVhY2ggY29weSBpcyBpdHMgb3duIC50aWNrZXJfX3NldCwgc28gbnRoLWNoaWxkXG5cdFx0Ly8gIHJlc3RhcnRzIGluc2lkZSBlYWNoIG9uZS4gV2l0aCBhbiBldmVuIGNvdW50IHRoZSBzZWNvbmQgc2V0IG9wZW5zIG9uXG5cdFx0Ly8gIHRoZSBvcHBvc2l0ZSBjb2xvdXIgdG8gdGhlIG9uZSB0aGUgZmlyc3Qgc2V0IGNsb3NlZCBvbiBhbmQgdGhlXG5cdFx0Ly8gIHBhdHRlcm4gcnVucyB1bmJyb2tlbjsgd2l0aCBhbiBvZGQgY291bnQgdHdvIHNhbWUtY29sb3VyZWQgdG9waWNzXG5cdFx0Ly8gIG1lZXQgYXQgdGhlIHNlYW0uIFRoZXJlIHdlcmUgOCB0b3BpY3Mgd2hlbiB0aGlzIHdhcyB3cml0dGVuLlxuXHRcdC8vXG5cdFx0Ly8gIEl0IGlzIG5vdCBmaXhhYmxlIGJ5IGZsaXBwaW5nIHRoZSBzZWNvbmQgc2V0OiB0aGUgbG9vcCByZXNldHMgYnlcblx0XHQvLyAgdHJhbnNsYXRpbmcgZXhhY3RseSBvbmUgc2V0IHdpZHRoLCBzbyB0aGUgdHdvIGNvcGllcyBNVVNUIGxvb2tcblx0XHQvLyAgaWRlbnRpY2FsIG9yIHRoZSB3cmFwIHBvcHMuIEEgZ2VudWluZWx5IG9kZC1jb3VudC1wcm9vZiB2ZXJzaW9uXG5cdFx0Ly8gIG5lZWRzIGZvdXIgY29waWVzIHBsdXMgY29sb3VycyBhc3NpZ25lZCBieSBhYnNvbHV0ZSBpbmRleC5cblx0XHQvL1xuXHRcdC8vICBUaGUgc3Ryb2tlIGlzIHplcm9lZCByYXRoZXIgdGhhbiBkZWxldGVkIGJlY2F1c2UgLXdlYmtpdC10ZXh0LXN0cm9rZVxuXHRcdC8vICBpcyBpbmhlcml0ZWQg4oCUIGxlYXZpbmcgaXQgc2V0IHdvdWxkIGhhdmUgdGhlIHNlcGFyYXRvcnMgYW5kIGFueXRoaW5nXG5cdFx0Ly8gIG5lc3RlZCBwaWNrIGl0IHVwLCBhbmQgYDBgIGlzIHRoZSBvbmx5IHdheSB0byBzYXkgXCJubyBzdHJva2UgaGVyZVwiLlxuXHRcdC13ZWJraXQtdGV4dC1zdHJva2U6IDA7XG5cdFx0dHJhbnNpdGlvbjogY29sb3IgdmFyKC0tZHVyLWZhc3QpICRlYXNlO1xuXG5cdFx0Ly8g4pqgIFRIRU1FLUFXQVJFLCBhbmQgaXQgd2FzIE5PVCBhbHdheXMuIFRoaXMgd2FzIGEgcmF3ICNmZmYgb24gdGhlXG5cdFx0Ly8gcmVhc29uaW5nIHRoYXQgdGhlIGhlcm8gcGhvdG8gYmVoaW5kIGl0IGlzIHRoZSBzYW1lIGltYWdlIGluIGJvdGhcblx0XHQvLyB0aGVtZXMsIHNvIHRoZSByb3cgc2hvdWxkIGtleSB0byB0aGUgYXJ0d29yayByYXRoZXIgdGhhbiB0aGUgcGFsZXR0ZS5cblx0XHQvLyBKb2Ugb3ZlcnJ1bGVkIHRoYXQgb24gMjAyNi0wOC0wODogaW4gbGlnaHQgbW9kZSB0aGUgd2hpdGUgaGFzIHRvIGdvXG5cdFx0Ly8gYmxhY2suIERvbid0IHJlaW5zdGF0ZSB0aGUgaGFyZGNvZGUg4oCUIHRoZSBvbGQgYXJndW1lbnQgaXMgcmVjb3JkZWRcblx0XHQvLyBoZXJlIHByZWNpc2VseSBzbyBpdCBpc24ndCByZWRpc2NvdmVyZWQgYW5kIGFjdGVkIG9uLlxuXHRcdC8vXG5cdFx0Ly8gLS1pbmsgaXMgdGhlIHRva2VuIHRoYXQgYWxyZWFkeSBtZWFucyBleGFjdGx5IHRoaXM6ICNmNGY0ZjIgaW4gZGFyayxcblx0XHQvLyAjMGIwYjBkIGluIGxpZ2h0LiBVc2luZyBpdCBiZWF0cyBhIFtkYXRhLXRoZW1lPVwibGlnaHRcIl0gb3ZlcnJpZGVcblx0XHQvLyBiZWNhdXNlIGl0J3Mgb25lIGRlY2xhcmF0aW9uIHRoYXQgY2FuJ3QgZmFsbCBvdXQgb2Ygc3RlcCwgYW5kIHRoZVxuXHRcdC8vIGRpZmZlcmVuY2UgZnJvbSBwdXJlICNmZmYgLyAjMDAwIGlzIGltcGVyY2VwdGlibGUgb3ZlciBhIHBob3RvLlxuXHRcdGNvbG9yOiB2YXIoLS1pbmspO1xuXHRcdCY6aG92ZXIgeyBjb2xvcjogdmFyKC0tYWNjZW50KTsgfVxuXG5cdFx0Ly8g4pqgIFNQRUNJRklDSVRZLCBhbmQgaXQgaXMgbG9hZC1iZWFyaW5nLiBgJjpudGgtY2hpbGQoZXZlbilgIGlzICgwLDIsMClcblx0XHQvLyDigJQgaWRlbnRpY2FsIHRvIGAmOmhvdmVyYCBhYm92ZSDigJQgc28gaXQgb25seSB3aW5zIGJ5IGNvbWluZyBsYXRlciBpblxuXHRcdC8vIHRoZSBmaWxlLiBUaGUgcmV2ZXJzZWQgaG92ZXIgdGhlbiBuZWVkcyAoMCwzLDApIHRvIGJlYXQgaXQsIHdoaWNoIGlzXG5cdFx0Ly8gZXhhY3RseSB3aGF0IG5lc3RpbmcgOmhvdmVyIGluc2lkZSBnaXZlcy4gUmVvcmRlciB0aGVzZSBhbmQgZXZlblxuXHRcdC8vIGl0ZW1zIHN0b3AgcmVhY3RpbmcgdG8gaG92ZXIgZW50aXJlbHkuXG5cdFx0JjpudGgtY2hpbGQoZXZlbikge1xuXHRcdFx0Y29sb3I6IHZhcigtLWFjY2VudCk7XG5cdFx0XHQvLyAtLWluayBmb3IgdGhlIHNhbWUgcmVhc29uIGFzIHRoZSBiYXNlIGNvbG91cjogdGhlIHJldmVyc2VkIGhvdmVyXG5cdFx0XHQvLyBsYW5kcyBvbiB3aGF0ZXZlciBcInRoZSBub24tYmx1ZSBvbmVcIiBpcyBpbiB0aGlzIHRoZW1lLlxuXHRcdFx0Jjpob3ZlciB7IGNvbG9yOiB2YXIoLS1pbmspOyB9XG5cdFx0fVxuXG5cdFx0Ly8gYWxpZ24taXRlbXM6IGNlbnRlciBjZW50cmVzIHRoZSBkb3Qgb24gdGhlIExJTkUgQk9YLiBVcHBlcmNhc2UgY2Fwc1xuXHRcdC8vIGRvbid0IGZpbGwgdGhlaXIgbGluZSBib3gg4oCUIHRoZXkgc2l0IHJvdWdobHkgLjA4NWVtIGFib3ZlIGl0cyBjZW50cmVcblx0XHQvLyAoaGFsZi1sZWFkaW5nIGlzIHN5bW1ldHJpYywgc28gdGhlIG9mZnNldCBob2xkcyBhdCBhbnkgbGluZS1oZWlnaHQpLlxuXHRcdC8vIENlbnRyaW5nIG9uIHRoZSBib3ggdGhlcmVmb3JlIHJlYWRzIHZpc2libHkgbG93IGFnYWluc3QgdGhlIGNhcHMuXG5cdFx0Ly8gcG9zaXRpb246cmVsYXRpdmUgKyB0b3AgbnVkZ2VzIGl0IG9wdGljYWxseSB3aXRob3V0IHRvdWNoaW5nIGxheW91dC5cblx0XHQvLyBUaGUgYmFja3NsYXNoIGlzIGEgcmVhbCBlbGVtZW50IGluIHRoZSBtYXJrdXAgKC50aWNrZXJfX3NlcCksIG5vdCBhIENTU1xuXHRcdC8vIGBjb250ZW50YCBlc2NhcGUg4oCUIHNlZSB0aGUgbm90ZSBpbiBmcm9udC1wYWdlLnBocC4gSXQgaXMgdGV4dCwgc28gaXRcblx0XHQvLyBzaXRzIG9uIHRoZSBiYXNlbGluZSB3aXRoIHRoZSB0b3BpY3MgYW5kIG5lZWRzIG5vbmUgb2YgdGhlIG9wdGljYWxcblx0XHQvLyBudWRnaW5nIHRoZSBvbGQgZ2VvbWV0cmljIGRvdCByZXF1aXJlZC5cblx0XHQudGlja2VyX19zZXAge1xuXHRcdFx0Zm9udC1zdHlsZTogbm9ybWFsO1xuXHRcdFx0ZmxleDogbm9uZTtcblxuXHRcdFx0Ly8gTGlnaHQsIG5vdCBib2xkIOKAlCBKb2UsIDIwMjYtMDgtMDguIFRoZSBzZXBhcmF0b3IgaXMgcHVuY3R1YXRpb25cblx0XHRcdC8vIGJldHdlZW4gdG9waWNzLCBub3QgYSBwZWVyIG9mIHRoZW0sIHNvIGl0IGRyb3BzIG91dCBvZiB0aGUgOTAwXG5cdFx0XHQvLyB0aGUgcm93IGNhcnJpZXMuIDQwMCBhZ2FpbnN0IHRoZSB0b3BpY3MnIDkwMCBpcyB3aGF0IG1ha2VzIGl0XG5cdFx0XHQvLyByZWFkIGFzIGEgbWFyayByYXRoZXIgdGhhbiBhIGNoYXJhY3RlciBpbiB0aGUgbGlzdC5cblx0XHRcdGZvbnQtd2VpZ2h0OiA0MDA7XG5cblx0XHRcdC8vIEluayBhdCAyNSUg4oCUIEpvZSwgMjAyNi0wOC0wOC4gT3BhcXVlIHdoaXRlIGZpcnN0LCB0aGVuIDI1JSB3aGl0ZSxcblx0XHRcdC8vIHRoZW4gdGhlbWUtYXdhcmUgaW4gdGhlIHNhbWUgc2Vzc2lvbi4gSXQncyBwdW5jdHVhdGlvbiwgYW5kIGF0XG5cdFx0XHQvLyBmdWxsIHN0cmVuZ3RoIGl0IGNvbXBldGVkIHdpdGggdGhlIHRvcGljcyBpbnN0ZWFkIG9mIHNwYWNpbmdcblx0XHRcdC8vIHRoZW0uXG5cdFx0XHQvL1xuXHRcdFx0Ly8gY29sb3ItbWl4IGFnYWluc3QgYHRyYW5zcGFyZW50YCBpcyBob3cgeW91IGdldCBhbiBhbHBoYSBvZiBhXG5cdFx0XHQvLyBjdXN0b20gcHJvcGVydHk6IC0taW5rIGlzIGEgZmxhdCBoZXgsIHNvIHJnYmEoKSBjYW4ndCB0YWtlIGl0XG5cdFx0XHQvLyBhcGFydC4gU2FtZSBtZWNoYW5pc20gYXMgLS1saW5lLTItZmxhdCBpbiBfdG9rZW5zLnNjc3MuXG5cdFx0XHQvL1xuXHRcdFx0Ly8g4pqgIEJlaW5nIHRyYW5zbHVjZW50IGl0IHBpY2tzIHVwIHdoYXRldmVyIHRoZSBwaG90byBpcyBkb2luZ1xuXHRcdFx0Ly8gYmVoaW5kIGl0LCBzbyBpdHMgYXBwYXJlbnQgY29sb3VyIHZhcmllcyBhbG9uZyB0aGUgcm93LiBUaGF0IGlzXG5cdFx0XHQvLyBhY2NlcHRlZCwgbm90IG92ZXJsb29rZWQg4oCUIGlmIGl0IGV2ZXIgcmVhZHMgZGlydHkgcmF0aGVyIHRoYW5cblx0XHRcdC8vIHNvZnQsIHRoZSBmaXggaXMgbW9yZSBhbHBoYSwgbm90IGEgZGlmZmVyZW50IGh1ZS5cblx0XHRcdC8vXG5cdFx0XHQvLyBQaW5uZWQgcmF0aGVyIHRoYW4gaW5oZXJpdGVkLCB3aGljaCBhbHNvIGtlZXBzIHRoZSBzZXBhcmF0b3JzIG91dFxuXHRcdFx0Ly8gb2YgdGhlIHRvcGljcycgaG92ZXIgc2hpZnQg4oCUIG9ubHkgdGhlIG9uZSB5b3UncmUgcG9pbnRpbmcgYXRcblx0XHRcdC8vIGNoYW5nZXMuIFRoZSBzdHJva2UgcmVzZXQgaXMgdmVzdGlnaWFsIHNpbmNlIHRoZSBvdXRsaW5lIHdlbnQuXG5cdFx0XHRjb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWluaykgMjUlLCB0cmFuc3BhcmVudCk7XG5cdFx0XHQtd2Via2l0LXRleHQtc3Ryb2tlOiAwO1xuXHRcdH1cblxuXHR9XG5cblx0Ly8gSG92ZXJzIGFyZSBkZWNsYXJlZCB3aXRoIHRoZSBhbHRlcm5hdGlvbiBhYm92ZSwgbm90IGRvd24gaGVyZSDigJQgZWFjaCBpdGVtXG5cdC8vIGhvdmVycyB0byB0aGUgT1RIRVIgY29sb3VyLCBzbyB0aGUgcm93IGFsd2F5cyBoYXMgYm90aCBpbiBwbGF5IGluc3RlYWQgb2Zcblx0Ly8gY29sbGFwc2luZyB0byBvbmUgb24gaG92ZXIuXG5cdC8vXG5cdC8vIE5vdCBnYXRlZCBiZWhpbmQgY2FuLWhvdmVyLCBwZXIgSm9lOiBvbmx5IHRoZSBjb250cm9scyBoZSBuYW1lZCBnZXQgdGhhdFxuXHQvLyB0cmVhdG1lbnQuIEl0IGNhbiBsYXRjaCBhZnRlciBhIHRhcCBvbiB0b3VjaCwgd2hpY2ggaXMgYWNjZXB0YWJsZSBvbiBhXG5cdC8vIGRlY29yYXRpdmUgbWFycXVlZS5cblxuXHQmLS1yZXZlcnNlICZfX3RyYWNrIHsgYW5pbWF0aW9uLWRpcmVjdGlvbjogcmV2ZXJzZTsgfVxufVxuXG5Aa2V5ZnJhbWVzIG1hcnF1ZWUge1xuXHRmcm9tIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG5cdHRvICAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IH1cbn1cbiIsIkB1c2UgXCJ0b2tlbnNcIiBhcyAqO1xuXG4vLyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi8vICBFUElTT0RFIElOREVYXG4vL1xuLy8gIEEgbGlzdCwgbm90IGEgY2FyZCBncmlkIOKAlCByb3dzIHJlYWQgZmFzdGVyIGFuZCBob2xkIG1vcmUgZXBpc29kZXMgYWJvdmUgdGhlXG4vLyAgZm9sZC5cbi8vXG4vLyAgRWFjaCByb3cgaXMgYSBncmlkOiBhcnR3b3JrIG9uIHRoZSBsZWZ0IHNwYW5uaW5nIGFsbCB0aHJlZSB0ZXh0IHJvd3MsIHRoZW5cbi8vICBcIkVQLiBuXCIgLyB0aXRsZSAvIGRlc2NyaXB0aW9uIHN0YWNrZWQgYmVzaWRlIGl0LlxuLy9cbi8vICBUaGUgYXJ0d29yayBpcyBzaXplZCBieSBXSURUSCAoLS1lcC13KSB3aXRoIGl0cyBoZWlnaHQgZGVyaXZlZCB2aWFcbi8vICBhc3BlY3QtcmF0aW8uIEl0IGlzIGRlbGliZXJhdGVseSBub3Qgc3RyZXRjaGVkIHRvIHRoZSByb3cg4oCUIHNlZSB0aGUgbm90ZSBvblxuLy8gICZfX3RodW1iIOKAlCBiZWNhdXNlIGEgc3RyZXRjaGVkIGJveCBzaWxlbnRseSBjaGFuZ2VzIHRoZSBwaWN0dXJlJ3MgY3JvcFxuLy8gIHdoZW5ldmVyIHRoZSBjb3B5IGJlc2lkZSBpdCBnZXRzIHRhbGxlci5cbi8vXG4vLyAgVGhlIGN1cnNvci10cmFja2luZyBwcmV2aWV3IHRoYXQgdXNlZCB0byBsaXZlIGhlcmUgaXMgZ29uZSwgYWxvbmcgd2l0aFxuLy8gIHNyYy9qcy9jLXByZXZpZXcuanMg4oCUIGV2ZXJ5IHJvdyBzaG93cyBpdHMgb3duIGFydHdvcmsgbm93LCBzbyB0aGVyZSBpc1xuLy8gIG5vdGhpbmcgbGVmdCB0byBwcmV2aWV3LlxuLy8g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cbi5pbmRleCB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTsgICAvLyBwb3NpdGlvbmluZyBjb250ZXh0IGZvciAuZmxvdy1tYXJrZXJcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWxpbmUpO1xuXHQvLyBTYW1lIGN1cnZlLCBkdXJhdGlvbiBBTkQgZGVsYXkgYXMgLmVwJ3MgcnVsZSBiZWxvdyDigJQgdGhlc2UgdHdvIGZhZGVzIGFyZVxuXHQvLyB0aGUgc2FtZSBldmVudCBhbmQgbXVzdCBub3QgZHJpZnQgYXBhcnQuXG5cdHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAuOHMgbGluZWFyIC4xcztcblxuXHQvLyBUaGUgbGlzdCdzIG93biB0b3AgcnVsZSBJUyB0aGUgbWFya2VyJ3MgdG9wIGVkZ2Ugd2hlbiB0aGUgZmlyc3Qgcm93IGlzXG5cdC8vIGFjdGl2ZSwgc28gaXQgZmFkZXMgd2l0aCB0aGUgcmVzdCDigJQgc2VlIHRoZSBub3RlIG9uIC5lcC5pcy1vbiBiZWxvdy5cblx0Ly9cblx0Ly8gOmZpcnN0LW9mLXR5cGUsIE5PVCA6Zmlyc3QtY2hpbGQg4oCUIGctZmxvdy5qcyBpbnNlcnRzIHRoZSBtYXJrZXIgd2l0aFxuXHQvLyBpbnNlcnRCZWZvcmUobGlzdC5maXJzdENoaWxkKSwgc28gdGhlIGZpcnN0IGNoaWxkIGlzIGEgPHNwYW4+IGFuZCBubyAuZXBcblx0Ly8gaXMgZXZlciA6Zmlyc3QtY2hpbGQuIFRoZSByb3dzIGFyZSA8YT4sIHRoZSBtYXJrZXIgaXMgYSA8c3Bhbj4sIHdoaWNoIGlzXG5cdC8vIHdoYXQgbWFrZXMgOmZpcnN0LW9mLXR5cGUgdGhlIHJpZ2h0IHF1ZXN0aW9uIGhlcmUuXG5cdCY6aGFzKD4gLmVwOmZpcnN0LW9mLXR5cGUuaXMtb24pIHsgYm9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblx0Ly8gQXJ0d29yayBXSURUSC4gSGVpZ2h0IGlzIGRlcml2ZWQgZnJvbSBpdCBieSBhc3BlY3QtcmF0aW8sIHNvIHRoaXMgaXMgdGhlXG5cdC8vIG9ubHkgc2l6ZSBrbm9iIGFuZCB0aGUgcmF0aW8gY2FuIG5ldmVyIGRyaWZ0LiArMjAlIGFnYWluLlxuXHQtLWVwLXc6IGNsYW1wKDIzMnB4LCAyMy40dncsIDMyMHB4KTtcbn1cblxuLmVwIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRkaXNwbGF5OiBncmlkO1xuXHQvLyB0aHVtYiB8IEVQICsgdGl0bGUgKyBkZXNjcmlwdGlvbiB8IGRhdGUgfCBhcnJvd1xuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gbWlubWF4KDAsIDFmcikgYXV0byBhdXRvO1xuXHRncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG8gYXV0byBhdXRvO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRjb2x1bW4tZ2FwOiBjbGFtcCgxLjI1cmVtLCAyLjZ2dywgMi41cmVtKTtcblx0cm93LWdhcDogMDtcblx0cGFkZGluZy1ibG9jazogY2xhbXAoMS41cmVtLCAyLjZ2dywgMi41cmVtKTtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWxpbmUpO1xuXHRpc29sYXRpb246IGlzb2xhdGU7XG5cdHotaW5kZXg6IDE7ICAgLy8gYWJvdmUgLmZsb3ctbWFya2VyXG5cdC8vIOKUgOKUgCBUaGUgc2VwYXJhdG9yIGZhZGUg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cdC8vICBMT05HIGFuZCBMSU5FQVIsIGFuZCBib3RoIHBhcnRzIGFyZSBkZWxpYmVyYXRlLlxuXHQvL1xuXHQvLyAgTG9uZyAoLjhzKSBiZWNhdXNlIHRoZSBtYXJrZXIgb25seSB0cmF2ZWxzIGZvciAuNDJzOiB0aGUgZmFkZSBoYXMgdG9cblx0Ly8gIG91dGxhc3QgdGhlIHNsaWRlIHNvIHRoZSBydWxlIGlzIHN0aWxsIHZpc2libHkgZ29pbmcgYXMgdGhlIG91dGxpbmVcblx0Ly8gIGFycml2ZXMsIHJhdGhlciB0aGFuIGJlaW5nIGZpbmlzaGVkIGJlZm9yZSBpdCBsYW5kcy4gVHdvIHNob3J0ZXJcblx0Ly8gIHZlcnNpb25zICguNDJzIHRoZW4gLjNzKSBib3RoIHJlYWQgYXMgaW5zdGFudCBvbiBKb2UncyBwaG9uZS5cblx0Ly9cblx0Ly8gIExpbmVhciBiZWNhdXNlIHRoZXJlIGlzIGFsbW9zdCBub3RoaW5nIGhlcmUgdG8gZmFkZS4gVGhlIHJ1bGUgaXMgMXB4IG9mXG5cdC8vICAtLWxpbmUsIHdoaWNoIGlzIDEwJSBhbHBoYSDigJQgdGhlIGVudGlyZSByYW5nZSBpcyBhIGNvdXBsZSBvZiBkb3plblxuXHQvLyAgcGVyY2VwdGlibGUgc3RlcHMsIHNvIGFueSBlYXNlZCBjdXJ2ZSBzcGVuZHMgbW9zdCBvZiBpdHMgdGltZSBpbiBhIHBhcnRcblx0Ly8gIG9mIHRoYXQgcmFuZ2UgdGhlIGV5ZSBjYW4ndCBzZXBhcmF0ZSBhbmQgdGhlIGNoYW5nZSBsb29rcyBsaWtlIGEgc25hcC5cblx0Ly8gIEFuIGV2ZW4gcmFtcCBpcyB0aGUgb25seSB3YXkgYSBmYWRlIHRoaXMgZmFpbnQgcmVhZHMgYXMgYSBmYWRlIGF0IGFsbC5cblx0Ly8gIFRoaXMgaXMgYWxzbyB3aHkgaXQgaXMgTk9UIG9uICRlYXNlLW91dCBsaWtlIHRoZSBtYXJrZXI6IHRoYXQgY3VydmUgaXNcblx0Ly8gIGN1YmljLWJlemllciguMTYsIDEsIC4zLCAxKSBhbmQgZG9lcyBtb3N0IG9mIGl0cyB3b3JrIGltbWVkaWF0ZWx5LlxuXHQvL1xuXHQvLyAgVGhlIC4xcyBkZWxheSBpcyBzeW1tZXRyaWMsIHNvIHRoZSBleGl0IGlzIHJpZ2h0IHRvbzogYXMgdGhlIG1hcmtlclxuXHQvLyAgbGVhdmVzLCB0aGUgcnVsZSBzdGF5cyBkb3duIHdoaWxlIHRoZSBvdXRsaW5lIGlzIHN0aWxsIG92ZXJsYXBwaW5nIGl0XG5cdC8vICBhbmQgb25seSBjb21lcyBiYWNrIG9uY2UgaXQgaGFzIG1vdmVkIGNsZWFyLlxuXHR0cmFuc2l0aW9uOiBjb2xvciB2YXIoLS1kdXItZmFzdCkgJGVhc2UsXG5cdFx0XHRcdGJvcmRlci1jb2xvciAuOHMgbGluZWFyIC4xcztcblxuXHRAaW5jbHVkZSBhdChtZCkge1xuXHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byBtaW5tYXgoMCwgMWZyKTtcblx0XHRjb2x1bW4tZ2FwOiBzcCg0KTtcblx0fVxuXG5cdC8vIEFjY2VudCBzd2VlcCBiZWhpbmQgdGhlIHJvdy5cblx0Ly9cblx0Ly8gLS1hY2NlbnQtZGVlcCByYXRoZXIgdGhhbiAtLWFjY2VudDogdGhpcyBpcyB0aGUgb25lIHBsYWNlIHNtYWxsIHdoaXRlIHRleHRcblx0Ly8gc2l0cyBvbiBhIHNvbGlkIGJyYW5kIGJsb2NrLCBhbmQgIzAxODFERC93aGl0ZSBpcyA0LjA2OjEg4oCUIHVuZGVyIHRoZSA0LjVcblx0Ly8gc21hbGwgdGV4dCBuZWVkcy4gVGhlIGRlZXBlciBzaGFkZSByZWFkcyBhcyB0aGUgc2FtZSBibHVlIGFuZCBjbGVhcnMgNToxLlxuXHQmOjpiZWZvcmUge1xuXHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdGluc2V0OiAwIGNhbGModmFyKC0tZ3V0dGVyKSAqIC0uNSk7XG5cdFx0ei1pbmRleDogLTE7XG5cdFx0YmFja2dyb3VuZDogdmFyKC0tYWNjZW50LWRlZXApO1xuXHRcdHRyYW5zZm9ybTogc2NhbGVZKDApO1xuXHRcdHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbTtcblx0XHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjRzICRlYXNlLW91dDtcblx0fVxuXG5cdC8vIERFU0tUT1AgT05MWS4gVGhlIHNjcm9sbC1hY3RpdmF0ZWQgdmVyc2lvbiAobWFnbmlmaWMtc3R5bGUsIHZpYVxuXHQvLyBzcmMvanMvZy1pbnZpZXcuanMpIGhhcyBiZWVuIHJlbW92ZWQgYWxvbmcgd2l0aCB0aGUgc2NyaXB0IOKAlCBvbiB0b3VjaCB0aGVcblx0Ly8gcm93cyBub3cgc3RheSBpbiB0aGVpciByZXN0aW5nIHN0YXRlLCB3aXRoIG5vIHN3ZWVwIGF0IGFsbC5cblx0QGluY2x1ZGUgY2FuLWhvdmVyIHtcblx0XHQmOmhvdmVyIHtcblx0XHRcdGNvbG9yOiB2YXIoLS1vbi1hY2NlbnQpO1xuXHRcdFx0Jjo6YmVmb3JlIHsgdHJhbnNmb3JtOiBzY2FsZVkoMSk7IH1cblx0XHR9XG5cdH1cblxuXHQvLyBObyB0cmFpbGluZyBydWxlIHVuZGVyIHRoZSBmaW5hbCByb3cg4oCUIGl0IGRpdmlkZXMgbm90aGluZy5cblx0JjpsYXN0LWNoaWxkIHtcblx0XHRAaW5jbHVkZSBhdChtZCkgeyBib3JkZXItYm90dG9tOiAwOyB9XG5cdH1cblxuXHQvLyDilIDilIAgU2Nyb2xsIGZsb3c6IHRoZSBhY3RpdmUgcm93IOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXHQvLyAgYC5pcy1vbmAgaXMgc2V0IGJ5IHNyYy9qcy9nLWZsb3cuanMgb24gdGhlIHJvdyBuZWFyZXN0IHRoZSBjZW50cmUgb2YgdGhlXG5cdC8vICB2aWV3cG9ydCAodG91Y2ggb25seSDigJQgZGVza3RvcCB1c2VzIDpob3ZlcikuIFRoZSBtYXJrZXIgaXRzZWxmIGlzIGFcblx0Ly8gIHNpbmdsZSBzaGFyZWQgZWxlbWVudCwgLmZsb3ctbWFya2VyLCB0aGF0IHNsaWRlcyBiZXR3ZWVuIHJvd3MuXG5cdC8vXG5cdC8vICDimqAgTk8gQ09MT1VSIENIQU5HRVMgSEVSRS4gVGhlIG1hcmtlciB3YXMgYSBzb2xpZCBibHVlIGJsb2NrIGFuZCB0aGlzXG5cdC8vICBibG9jayBpbnZlcnRlZCBldmVyeSBwaWVjZSBvZiBjb3B5IG9udG8gaXQg4oCUIHRpdGxlLCBsYWJlbCwgZXhjZXJwdCwgZGF0ZVxuXHQvLyAgYW5kIHRoZSBhcnJvdyBjaGlwLiBUaGUgbWFya2VyIGlzIG5vdyBhIDNweCBvdXRsaW5lIChKb2UsIDIwMjYtMDgtMDcpLCBzb1xuXHQvLyAgdGhlIHJvdyBrZWVwcyBpdHMgbm9ybWFsIGJhY2tncm91bmQgYW5kIGludmVydGVkIGNvcHkgd291bGQgYmUgd2hpdGUgdGV4dFxuXHQvLyAgb24gdGhlIHBhZ2UncyBvd24gZGFyayBzdXJmYWNlOiBpbnZpc2libGUgaW4gbGlnaHQgbW9kZSwgYW5kIHdyb25nIGluXG5cdC8vICBib3RoLiBPbmx5IHRoZSBtb3Rpb24gY3VlcyBzdXJ2aXZlLlxuXHQmLmlzLW9uIHtcblx0XHQvLyBUaGUgd2hvbGUgVEhVTUJOQUlMIHNocmlua3Mg4oCUIHRoZSBjb250YWluZXIsIG5vdCB0aGUgaW1hZ2UgaW5zaWRlIGl0LlxuXHRcdC8vIFR3byBkZWxpYmVyYXRlIGRpZmZlcmVuY2VzIGZyb20gdGhlIGRlc2t0b3AgaG92ZXIgYmVsb3c6XG5cdFx0Ly9cblx0XHQvLyAgIOKAoiBDb250YWluZXIsIG5vdCBpbWcuIFNjYWxpbmcgdGhlIGltZyBpbnNpZGUgYSBmaXhlZCBvdmVyZmxvdzpoaWRkZW5cblx0XHQvLyAgICAgYm94IG9ubHkgcmUtY3JvcHMgdGhlIHBpY3R1cmU7IG5vdGhpbmcgbW92ZXMgYXQgdGhlIGNhcmQncyBlZGdlcyxcblx0XHQvLyAgICAgc28gaXQgcmVhZHMgYXMgdGhlIGFydHdvcmsgdHdpdGNoaW5nIHJhdGhlciB0aGFuIHRoZSByb3dcblx0XHQvLyAgICAgcmVzcG9uZGluZy5cblx0XHQvLyAgIOKAoiBEb3duLCBub3QgdXAuIFRoZSByb3cgaXMgYWxyZWFkeSBjYWxsZWQgb3V0IGJ5IHRoZSBvdXRsaW5lIGFyb3VuZFxuXHRcdC8vICAgICBpdDsgcHVzaGluZyB0aGUgdGh1bWIgb3V0IGFzIHdlbGwgZm91Z2h0IHRoYXQgcmluZy4gRWFzaW5nIGl0IGJhY2tcblx0XHQvLyAgICAgbGV0cyB0aGUgb3V0bGluZSBkbyB0aGUgd29yayBhbmQgcmVhZHMgYXMgdGhlIHJvdyBzZXR0bGluZy5cblx0XHQuZXBfX3RodW1iIHsgdHJhbnNmb3JtOiBzY2FsZSguOTQpOyB9XG5cblx0XHQvLyBUaGUgYXJyb3cgdHVybnMgdG8gcG9pbnQgaW50byB0aGUgcm93LiBUcmFuc2Zvcm0gb25seSDigJQgaXRzIGZpbGxlZFxuXHRcdC8vIHN0YXRlIGJlbG9uZ2VkIHRvIHRoZSBzb2xpZCBtYXJrZXIuXG5cdFx0LmVwX19nbyB7IHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7IH1cblx0fVxuXG5cdC8vIOKUgOKUgCBTZXBhcmF0b3IgbGluZXMgdGhlIG1hcmtlciB0b3VjaGVzIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXHQvLyAgVGhlIDFweCBydWxlcyBhbmQgdGhlIG91dGxpbmUgbGFuZCBvbiBleGFjdGx5IHRoZSBzYW1lIGVkZ2VzLCBzbyB0aGVcblx0Ly8gIGFjdGl2ZSByb3cgcmVhZCBhcyBkb3VibGUtcnVsZWQuIEJvdGggbGluZXMgdGhlIG1hcmtlciBtZWV0cyBmYWRlIG91dDpcblx0Ly8gIHRoZSBhY3RpdmUgcm93J3Mgb3duIGJvdHRvbSBib3JkZXIsIGFuZCB0aGUgYm90dG9tIGJvcmRlciBvZiB0aGUgcm93XG5cdC8vICBBQk9WRSBpdCwgd2hpY2ggaXMgdGhlIG1hcmtlcidzIHRvcCBlZGdlLlxuXHQvL1xuXHQvLyAgOmhhcygpIHJhdGhlciB0aGFuIGEgc2Vjb25kIGNsYXNzIGZyb20gZy1mbG93LmpzIOKAlCBcInRoZSByb3cgYmVmb3JlIHRoZVxuXHQvLyAgYWN0aXZlIG9uZVwiIGlzIGEgcmVsYXRpb25zaGlwIENTUyBzdGF0ZXMgZGlyZWN0bHksIGFuZCB0aGUgYnJvd3NlcnNsaXN0XG5cdC8vICBmbG9vciBoZXJlIGlzIGlPUyBTYWZhcmkgMTguNSwgbG9uZyBwYXN0IDpoYXMoKSBzdXBwb3J0LlxuXHQvL1xuXHQvLyAgYm9yZGVyLWNvbG9yLCBub3QgYm9yZGVyLXdpZHRoOiB0aGUgcm93IG11c3Qgbm90IGNoYW5nZSBoZWlnaHQgYXMgdGhlXG5cdC8vICBtYXJrZXIgYXJyaXZlcywgb3IgZXZlcnkgcm93IGJlbG93IGl0IHdvdWxkIHNoaWZ0IGJ5IGEgcGl4ZWwuXG5cdC8vXG5cdC8vICBUaW1pbmcgaXMgc2V0IG9uIC5lcCBhYm92ZSDigJQgLjhzIGxpbmVhciBhZnRlciBhIC4xcyBkZWxheSwgZGVsaWJlcmF0ZWx5XG5cdC8vICBvdXRsYXN0aW5nIHRoZSBtYXJrZXIncyAuNDJzIHRyYXZlbC4gU2VlIHRoZSBub3RlIHRoZXJlLlxuXHQmLmlzLW9uLFxuXHQmOmhhcygrIC5lcC5pcy1vbikge1xuXHRcdGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xuXHR9XG5cblx0Ly8gS2VwdCBmb3IgdGhlIGNvbW1lbnRlZC1vdXQgcnVubmluZyBudW1iZXIgaW4gZnJvbnQtcGFnZS5waHAuXG5cdCZfX25vIHtcblx0XHRncmlkLWNvbHVtbjogMTtcblx0XHRncmlkLXJvdzogMSAvIHNwYW4gMztcblx0XHRmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vKTtcblx0XHRmb250LXNpemU6IC43OHJlbTtcblx0XHRjb2xvcjogdmFyKC0taW5rLTMpO1xuXHRcdGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7XG5cdFx0dHJhbnNpdGlvbjogY29sb3IgdmFyKC0tZHVyLWZhc3QpICRlYXNlO1xuXG5cdFx0QGluY2x1ZGUgY2FuLWhvdmVyIHtcblx0XHRcdC5lcDpob3ZlciAmIHsgY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1vbi1hY2NlbnQpIDgyJSwgdHJhbnNwYXJlbnQpOyB9XG5cdFx0fVxuXHR9XG5cblx0Ly8gQXJ0d29yay5cblx0Ly9cblx0Ly8gYXNwZWN0LXJhdGlvOiAxNi85IGFuZCBhbGlnbi1zZWxmOiBDRU5URVIg4oCUIG5ldmVyIGBzdHJldGNoYC4gU3RyZXRjaGluZ1xuXHQvLyBtYWRlIHRoZSBib3ggdGFrZSB0aGUgUk9XJ3MgaGVpZ2h0LCB3aGljaCBncm93cyB3aXRoIHRoZSBkZXNjcmlwdGlvbiBhbmRcblx0Ly8gdGhlIHBhZGRpbmcsIHNvIHRoZSBmcmFtZSBkcmlmdGVkIHdlbGwgb2ZmIDE2OjkgYW5kIG9iamVjdC1maXQ6IGNvdmVyXG5cdC8vIHNpbGVudGx5IGNyb3BwZWQgdGhlIHBpY3R1cmUuIFdpZHRoIGluLCBoZWlnaHQgZGVyaXZlZCwgcmF0aW8gbG9ja2VkLlxuXHQvL1xuXHQvLyAxNjo5IG1hdGNoZXMgdGhlIHNvdXJjZSBleGFjdGx5OiBlcGlzb2RlIGFydHdvcmsgaXMgWW91VHViZVxuXHQvLyBgbWF4cmVzZGVmYXVsdGAgKDEyODB4NzIwKSwgc28gYGNvdmVyYCBpcyBhIDE6MSBtYXBwaW5nIGFuZCBjcm9wcyBub3RoaW5nLlxuXHQvLyBXb3J0aCBrbm93aW5nIGlmIHRoZSBxdWFsaXR5IGZpZWxkIGlzIGV2ZXIgY2hhbmdlZCDigJQgYGhxZGVmYXVsdGAgaXMgNDozXG5cdC8vIHdpdGggbGV0dGVyYm94aW5nIGJha2VkIGluLCBhbmQgY292ZXIgd291bGQgdGhlbiB0cmltIHRoZSBibGFjayBiYXJzXG5cdC8vICh3aGljaCBpcyBmaW5lLCBidXQgaXQgaXMgYSBjcm9wKS5cblx0Jl9fdGh1bWIge1xuXHRcdGdyaWQtY29sdW1uOiAxO1xuXHRcdGdyaWQtcm93OiAxIC8gc3BhbiAzO1xuXHRcdGFsaWduLXNlbGY6IGNlbnRlcjtcblx0XHR3aWR0aDogdmFyKC0tZXAtdyk7XG5cdFx0YXNwZWN0LXJhdGlvOiAxNiAvIDk7XG5cdFx0Ym9yZGVyLXJhZGl1czogMTBweDtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdGJhY2tncm91bmQ6IHZhcigtLWJnLTMpO1xuXHRcdC8vIE1hdGNoZXMgLmZsb3ctbWFya2VyJ3MgdHJhdmVsLCBzbyB0aGUgdGh1bWIgc2V0dGxlcyBhcyB0aGUgb3V0bGluZVxuXHRcdC8vIGFycml2ZXMgcmF0aGVyIHRoYW4gZmluaXNoaW5nIGVhcmx5IGFuZCBsb29raW5nIGxpa2UgYSBzZXBhcmF0ZSBldmVudC5cblx0XHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjQycyAkZWFzZS1vdXQ7XG5cblx0XHRpbWcge1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0XHRvYmplY3QtZml0OiBjb3Zlcjtcblx0XHRcdEBpbmNsdWRlIHpvb21hYmxlKC42cyk7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgY2FuLWhvdmVyIHtcblx0XHRcdC5lcDpob3ZlciAmIGltZyB7IEBpbmNsdWRlIHpvb21lZCgxLjA2KTsgfVxuXHRcdH1cblxuXHRcdC8vIE1vYmlsZTogbmFycm93ZXIsIHNvIHRoZSBjb3B5IGJlc2lkZSBpdCBnZXRzIHVzYWJsZSB3aWR0aC4gU3RheXNcblx0XHQvLyBjZW50cmUtYWxpZ25lZCAodGhlIGJhc2UgYWxpZ24tc2VsZiksIG1hdGNoaW5nIGRlc2t0b3Ag4oCUIG5vIG92ZXJyaWRlLlxuXHRcdEBpbmNsdWRlIGF0KG1kKSB7IHdpZHRoOiBtaW4odmFyKC0tZXAtdyksIDQwdncpOyB9XG5cdFx0QGluY2x1ZGUgYXQoc20pIHsgd2lkdGg6IDM4dnc7IH1cblx0fVxuXG5cdC8vIFwiRVAuIDlcIiDigJQgYm9sZCBleWVicm93IGFib3ZlIHRoZSB0aXRsZS5cblx0Jl9fZXAge1xuXHRcdGdyaWQtY29sdW1uOiAyO1xuXHRcdGdyaWQtcm93OiAxO1xuXHRcdGFsaWduLXNlbGY6IGVuZDtcblx0XHRAaW5jbHVkZSBsYWJlbDtcblx0XHRjb2xvcjogdmFyKC0tYWNjZW50LWluayk7XG5cdFx0bWFyZ2luLWJvdHRvbTogLjNlbTtcblxuXHRcdC8vIDFweCB1bmRlciB0aGUgbGFiZWwgY2xhbXAncyAuOXJlbSBmbG9vciBvbiBwaG9uZXMgKEpvZSwgMjAyNi0wOS0xNDpcblx0XHQvLyBcIkVQLiBYIC8gMyBtaW4gcmVhZCAvIFg6WFggY291bGQgYWxsIGJlIDFweCBzbWFsbGVyXCIpLiA9IC5jYXJkX19lcC5cblx0XHRAaW5jbHVkZSBhdChtZCkgeyBmb250LXNpemU6IC44NHJlbTsgfVxuXG5cdFx0QGluY2x1ZGUgY2FuLWhvdmVyIHtcblx0XHRcdC5lcDpob3ZlciAmIHsgY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1vbi1hY2NlbnQpIDg4JSwgdHJhbnNwYXJlbnQpOyB9XG5cdFx0fVxuXHR9XG5cblx0Ly8gRGlzcGxheSBmYWNlLCBhIHN0ZXAgZG93biBmcm9tIGJlZm9yZSB0byBsZWF2ZSByb29tIGZvciB0aGUgZGVzY3JpcHRpb24uXG5cdCZfX3RpdGxlIHtcblx0XHRncmlkLWNvbHVtbjogMjtcblx0XHRncmlkLXJvdzogMjtcblx0XHRhbGlnbi1zZWxmOiBzdGFydDtcblx0XHRmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcblx0XHRmb250LXNpemU6IGZsdWlkKDIwLCA0MCk7XG5cdFx0Zm9udC13ZWlnaHQ6IDkwMDtcblx0XHRsaW5lLWhlaWdodDogMS4wNTsgICAvLyBzaGFyZWQgdGl0bGUgbGVhZGluZyDigJQgc2VlIF9zaG9ydHMvX2NhcmRzXG5cdFx0bGV0dGVyLXNwYWNpbmc6IC0uMDNlbTtcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG5cdFx0Ly8gTW9iaWxlOiBzbWFsbGVyLCBidXQgTkVWRVIgdHJ1bmNhdGVkIOKAlCBlcGlzb2RlIHRpdGxlcyBzaG93IGluIGZ1bGxcblx0XHQvLyBob3dldmVyIG1hbnkgbGluZXMgdGhleSB0YWtlLiBSb3dzIHdpbGwgdmFyeSBpbiBoZWlnaHQgYXMgYSByZXN1bHQ7XG5cdFx0Ly8gdGhhdCdzIHRoZSBhY2NlcHRlZCB0cmFkZSBmb3Igbm90IGhpZGluZyBoYWxmIGEgdGl0bGUuIFRoZVxuXHRcdC8vIGRlc2NyaXB0aW9uIGJlbG93IGlzIHdoYXQgc3RheXMgY2xhbXBlZC5cblx0XHRAaW5jbHVkZSBhdChtZCkge1xuXHRcdFx0Zm9udC1zaXplOiBjbGFtcCgxLjAycmVtLCAzLjR2dywgMS4zNXJlbSk7XG5cdFx0XHRsaW5lLWhlaWdodDogMS4wNTtcblx0XHR9XG5cdH1cblxuXHQvLyBFcGlzb2RlIGRlc2NyaXB0aW9uLiBDbGFtcGVkIHRvIHR3byBsaW5lcyBzbyBldmVyeSByb3cgc3RheXMgdGhlIHNhbWVcblx0Ly8gaGVpZ2h0IHJlZ2FyZGxlc3Mgb2YgaG93IG11Y2ggY29weSBhIGdpdmVuIGVwaXNvZGUgY2Fycmllcy5cblx0Jl9fZXhjZXJwdCB7XG5cdFx0Z3JpZC1jb2x1bW46IDI7XG5cdFx0Z3JpZC1yb3c6IDM7XG5cdFx0YWxpZ24tc2VsZjogc3RhcnQ7XG5cdFx0bWF4LXdpZHRoOiA2OGNoO1xuXHRcdG1hcmdpbi10b3A6IC41ZW07XG5cdFx0Zm9udC1zaXplOiAuOTVyZW07XG5cdFx0bGluZS1oZWlnaHQ6IDEuNTtcblx0XHRjb2xvcjogdmFyKC0taW5rLTIpO1xuXHRcdGRpc3BsYXk6IC13ZWJraXQtYm94O1xuXHRcdC13ZWJraXQtbGluZS1jbGFtcDogMjtcblx0XHQtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cblx0XHRAaW5jbHVkZSBjYW4taG92ZXIge1xuXHRcdFx0LmVwOmhvdmVyICYgeyBjb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW9uLWFjY2VudCkgODIlLCB0cmFuc3BhcmVudCk7IH1cblx0XHR9XG5cblx0XHRAaW5jbHVkZSBhdChtZCkgeyBkaXNwbGF5OiBub25lOyB9ICAgLy8gdGhlIGRhdGUgc2l0cyBoZXJlIGluc3RlYWQg4oCUIHNlZSAmX19tZXRhXG5cdH1cblxuXHQvLyBOdWRnZSB0aGUgd2hvbGUgdGV4dCBibG9jayBvbiBob3ZlciByYXRoZXIgdGhhbiBvbmUgbGluZSBvZiBpdCwgc28gdGhlXG5cdC8vIG51bWJlciwgbmFtZSBhbmQgZGVzY3JpcHRpb24gc3RheSBsb2NrZWQgdG9nZXRoZXIuXG5cdC8vXG5cdC8vIEdhdGVkIG9uIGEgUkVBTCBwb2ludGVyLiBUb3VjaCBicm93c2VycyBmaXJlIDpob3ZlciBvbiB0YXAgYW5kIGxlYXZlIGl0XG5cdC8vIHN0dWNrIHVudGlsIHlvdSB0YXAgZWxzZXdoZXJlLCBzbyBvbiBhIHBob25lIHRoZSBjb3B5IGp1c3Qgc2F0IHRoZXJlXG5cdC8vIGluZGVudGVkIHdpdGggbm8gd2F5IHRvIHVuZG8gaXQuIEtleWVkIHRvIHBvaW50ZXIgY2FwYWJpbGl0eSByYXRoZXIgdGhhblxuXHQvLyBhIHdpZHRoIGJyZWFrcG9pbnQg4oCUIGEgbmFycm93IGRlc2t0b3Agd2luZG93IHN0aWxsIGdldHMgdGhlIGVmZmVjdCwgYVxuXHQvLyBsYXJnZSB0YWJsZXQgY29ycmVjdGx5IGRvZXNuJ3QuXG5cdCZfX2VwLFxuXHQmX190aXRsZSxcblx0Jl9fZXhjZXJwdCB7XG5cdFx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIC40cyAkZWFzZS1vdXQsIGNvbG9yIHZhcigtLWR1ci1mYXN0KSAkZWFzZTtcblxuXHRcdEBpbmNsdWRlIGNhbi1ob3ZlciB7XG5cdFx0XHQuZXA6aG92ZXIgJiB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWChjbGFtcCguNXJlbSwgMS41dncsIDEuNXJlbSkpOyB9XG5cdFx0fVxuXHR9XG5cblx0Jl9fbWV0YSB7XG5cdFx0Z3JpZC1jb2x1bW46IDM7XG5cdFx0Z3JpZC1yb3c6IDEgLyBzcGFuIDM7XG5cdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ubyk7XG5cdFx0Zm9udC1zaXplOiAuNzhyZW07ICAgICAgLy8gPSAuc2hvcnRfX21ldGEgLyAuY2FyZF9fbWV0YVxuXHRcdGxldHRlci1zcGFjaW5nOiAuMTJlbTsgIC8vID0gLnNob3J0X19tZXRhIC8gLmNhcmRfX21ldGFcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdGNvbG9yOiB2YXIoLS1pbmstMyk7XG5cdFx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0XHR0cmFuc2l0aW9uOiBjb2xvciB2YXIoLS1kdXItZmFzdCkgJGVhc2U7XG5cblx0XHRAaW5jbHVkZSBjYW4taG92ZXIge1xuXHRcdFx0LmVwOmhvdmVyICYgeyBjb2xvcjogdmFyKC0tb24tYWNjZW50KTsgfVxuXHRcdH1cblxuXHRcdC8vIE9uIHRoZSBwaG9uZSByb3cgdGhlIGRhdGUgdGFrZXMgdGhlIEVYQ0VSUFQncyBzbG90IGFuZCB2b2ljZSDigJQgZ3JleVxuXHRcdC8vIHNlbnRlbmNlIHRleHQgdW5kZXIgdGhlIHRpdGxlIOKAlCBhbmQgdGhlIGV4Y2VycHQgaXRzZWxmIGlzIGRyb3BwZWRcblx0XHQvLyAoSm9lLCAyMDI2LTA5LTE0OiBcInJlcGxhY2UgdGhlIHNob3J0IGRlc2NyaXB0aW9uIHdpdGggdGhlIHBvc3Rcblx0XHQvLyBkYXRlIGluIHRoZSBzYW1lIHRleHQgc3R5bGVcIikuIFNhbWUgRE9NLCByZS1zbG90dGVkIGJ5IGdyaWQtcm93LlxuXHRcdEBpbmNsdWRlIGF0KG1kKSB7XG5cdFx0XHRncmlkLWNvbHVtbjogMjtcblx0XHRcdGdyaWQtcm93OiAzO1xuXHRcdFx0YWxpZ24tc2VsZjogc3RhcnQ7XG5cdFx0XHRtYXJnaW4tdG9wOiAuNGVtO1xuXHRcdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtYm9keSk7XG5cdFx0XHRmb250LXNpemU6IC44NnJlbTtcblx0XHRcdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdFx0XHRsZXR0ZXItc3BhY2luZzogMDtcblx0XHRcdGxpbmUtaGVpZ2h0OiAxLjQ1O1xuXHRcdFx0dGV4dC10cmFuc2Zvcm06IG5vbmU7XG5cdFx0XHR3aGl0ZS1zcGFjZTogbm9ybWFsO1xuXHRcdFx0Y29sb3I6IHZhcigtLWluay0yKTtcblx0XHR9XG5cdH1cblxuXHQmX19nbyB7XG5cdFx0Z3JpZC1jb2x1bW46IDQ7XG5cdFx0Z3JpZC1yb3c6IDEgLyBzcGFuIDM7XG5cdFx0ZGlzcGxheTogZ3JpZDtcblx0XHRwbGFjZS1pdGVtczogY2VudGVyO1xuXHRcdHdpZHRoOiA0NHB4O1xuXHRcdGhlaWdodDogNDRweDtcblx0XHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1saW5lLTIpO1xuXHRcdGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuXHRcdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tZHVyLWZhc3QpICRlYXNlLFxuXHRcdFx0XHRcdGJvcmRlci1jb2xvciB2YXIoLS1kdXItZmFzdCkgJGVhc2UsXG5cdFx0XHRcdFx0dHJhbnNmb3JtIC40cyAkZWFzZS1vdXQ7XG5cblx0XHRzdmcgeyB3aWR0aDogMTVweDsgaGVpZ2h0OiAxNXB4OyB9XG5cblx0XHRAaW5jbHVkZSBjYW4taG92ZXIge1xuXHRcdFx0LmVwOmhvdmVyICYge1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1vbi1hY2NlbnQpO1xuXHRcdFx0XHRib3JkZXItY29sb3I6IHZhcigtLW9uLWFjY2VudCk7XG5cdFx0XHRcdGNvbG9yOiB2YXIoLS1hY2NlbnQtaW5rKTtcblx0XHRcdFx0dHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRAaW5jbHVkZSBhdChtZCkgeyBkaXNwbGF5OiBub25lOyB9XG5cdH1cbn1cblxuXG4vLyDilIDilIAgRmxvdyBtYXJrZXIg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4vLyAgT05FIGVsZW1lbnQgcGVyIGxpc3QuIEpTIGluamVjdHMgaXQgYW5kIGRyaXZlcyAtLW1rLXkgLyAtLW1rLWg7IENTUyBhbmltYXRlc1xuLy8gIGJldHdlZW4gdmFsdWVzLCB3aGljaCBpcyB3aGF0IG1ha2VzIGl0IGFwcGVhciB0byBzbGlkZSBmcm9tIHJvdyB0byByb3cgaW5cbi8vICB3aGljaGV2ZXIgZGlyZWN0aW9uIHlvdSdyZSBzY3JvbGxpbmcuXG4vL1xuLy8gIEluamVjdGVkIHJhdGhlciB0aGFuIHJlbmRlcmVkIGJ5IHRoZSB0ZW1wbGF0ZSwgc28gaXQgb25seSBleGlzdHMgb24gZGV2aWNlc1xuLy8gIHRoYXQgYWN0dWFsbHkgdXNlIGl0LlxuLy9cbi8vICBCbGVlZHMgc2xpZ2h0bHkgcGFzdCB0aGUgY29udGFpbmVyIG9uIGJvdGggc2lkZXMg4oCUIHRoZSBzYW1lIG92ZXJoYW5nIHRoZVxuLy8gIGRlc2t0b3AgaG92ZXIgZmlsbCB1c2VzIOKAlCBzbyB0aGUgb3V0bGluZSByZWFkcyBhcyB3aWRlciB0aGFuIHRoZSB0ZXh0IGNvbHVtbi5cbi8vXG4vLyAgQSAzcHggT1VUTElORSwgbm90IGEgZmlsbCDigJQgSm9lJ3MgY2FsbCwgMjAyNi0wOC0wNy4gVGhlIHNvbGlkIGJsb2NrIHdhc1xuLy8gIGxlZ2libGUgYnV0IGl0IHRvb2sgb3ZlciB0aGUgcm93LCBhbmQgaXQgZm9yY2VkIGV2ZXJ5IHBpZWNlIG9mIGNvcHkgaW5zaWRlIHRvXG4vLyAgaW52ZXJ0IG9udG8gaXQuIEFuIG91dGxpbmUgbWFya3MgdGhlIHJvdyB3aXRob3V0IHJlc3R5bGluZyBpdCwgd2hpY2ggaXMgd2h5XG4vLyAgLmVwLmlzLW9uIGJlbG93IG5vdyBvbmx5IGNhcnJpZXMgdGhlIG1vdGlvbiBjdWVzLlxuLy9cbi8vICBib3JkZXItYm94IHNpemluZyBpcyBpbXBsaWNpdCBoZXJlOiB0aGUgaGVpZ2h0IGNvbWVzIGZyb20gLS1tay1oLCB3aGljaCBKU1xuLy8gIG1lYXN1cmVzIG9mZiB0aGUgcm93J3Mgb2Zmc2V0SGVpZ2h0LCBzbyB0aGUgYm9yZGVyIGhhcyB0byBzaXQgSU5TSURFIHRoYXRcbi8vICBudW1iZXIgb3IgdGhlIG91dGxpbmUgd291bGQgc3RhbmQgNnB4IHRhbGxlciB0aGFuIHRoZSByb3cgaXQgbWFya3MuXG4uZmxvdy1tYXJrZXIge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMDtcblx0bGVmdDogY2FsYyh2YXIoLS1ndXR0ZXIpICogLS4zNSk7XG5cdHJpZ2h0OiBjYWxjKHZhcigtLWd1dHRlcikgKiAtLjM1KTtcblx0ei1pbmRleDogMDtcblx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0aGVpZ2h0OiB2YXIoLS1tay1oLCAwcHgpO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkodmFyKC0tbWsteSwgMHB4KSk7XG5cdGJvcmRlcjogM3B4IHNvbGlkIHZhcigtLWFjY2VudCk7XG5cdGJvcmRlci1yYWRpdXM6IDE0cHg7XG5cdG9wYWNpdHk6IDA7XG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjQycyAkZWFzZS1vdXQsXG5cdFx0XHRcdGhlaWdodCAuNDJzICRlYXNlLW91dCxcblx0XHRcdFx0b3BhY2l0eSAuM3MgJGVhc2U7XG5cblx0LmluZGV4LmlzLWZsb3dpbmcgJiB7IG9wYWNpdHk6IDE7IH1cbn1cbiIsIkB1c2UgXCJ0b2tlbnNcIiBhcyAqO1xuXG4vLyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi8vICBTSE9SVFMg4oCUIDI6MyB2ZXJ0aWNhbCBjbGlwcywgaG9yaXpvbnRhbCByYWlsXG4vL1xuLy8gIEJ1aWx0IG9uIG5hdGl2ZSBDU1Mgc2Nyb2xsLXNuYXAgcmF0aGVyIHRoYW4gYSBjYXJvdXNlbCBsaWJyYXJ5OiBpdCBnZXRzXG4vLyAgcmVhbCBtb21lbnR1bSBvbiB0cmFja3BhZHMgYW5kIHRvdWNoIGZvciBmcmVlLCBzdGF5cyBrZXlib2FyZC0gYW5kXG4vLyAgc2NyZWVuLXJlYWRlci1uYXZpZ2FibGUgKGl0J3MganVzdCBhIHNjcm9sbGluZyBsaXN0KSwgYW5kIHN1cnZpdmVzIHdpdGggSlNcbi8vICBvZmYuIFRoZSBKUyBvbmx5IEFERFMgZHJhZy10by1zY3JvbGwgYW5kIHRoZSBhcnJvdyBidXR0b25zLlxuLy9cbi8vICBUaGUgcmFpbCBibGVlZHMgdG8gdGhlIHJpZ2h0IHZpZXdwb3J0IGVkZ2Ugb24gcHVycG9zZSDigJQgYSBoYXJkIHN0b3AgYXQgdGhlXG4vLyAgY29udGFpbmVyIGVkZ2UgbWFrZXMgYSBjYXJvdXNlbCBsb29rIGZpbmlzaGVkIHdoZW4gaXQgaXNuJ3QsIGFuZCB0aGVcbi8vICBoYWxmLXZpc2libGUgbmV4dCBjYXJkIGlzIHRoZSBhZmZvcmRhbmNlIHRoYXQgc2F5cyBcImtlZXAgZ29pbmdcIi5cbi8vIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG4uc2hvcnRzIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdCZfX3JhaWwge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0Z2FwOiBjbGFtcCguNzVyZW0sIDEuNHZ3LCAxLjI1cmVtKTtcblx0XHRvdmVyZmxvdy14OiBhdXRvO1xuXHRcdG92ZXJzY3JvbGwtYmVoYXZpb3IteDogY29udGFpbjtcblx0XHRzY3JvbGwtc25hcC10eXBlOiB4IG1hbmRhdG9yeTtcblx0XHRzY3JvbGwtYmVoYXZpb3I6IHNtb290aDtcblx0XHQvLyBvdmVyZmxvdy14OiBhdXRvIG1ha2VzIHRoaXMgYSBTQ1JPTEwgQ09OVEFJTkVSLCBhbmQgYSBzY3JvbGwgY29udGFpbmVyXG5cdFx0Ly8gY2xpcHMgYm90aCBheGVzIOKAlCBvdmVyZmxvdy15IGNvbXB1dGVzIHRvIGF1dG8gdG9vLCBpdCBjYW5ub3Qgc3RheVxuXHRcdC8vIHZpc2libGUuIFNvIGEgY2FyZCdzIGhvdmVyIHNoYWRvdyB3YXMgYmVpbmcgc2xpY2VkIG9mZiB0b3AgYW5kIGJvdHRvbS5cblx0XHQvL1xuXHRcdC8vIEZpeDogcGFkIGVub3VnaCBmb3IgdGhlIHNoYWRvdyB0byByZW5kZXIgSU5TSURFIHRoZSBjb250YWluZXIsIHRoZW5cblx0XHQvLyBwdWxsIHRoZSBzYW1lIGFtb3VudCBiYWNrIHdpdGggbmVnYXRpdmUgbWFyZ2luIHNvIHNlY3Rpb24gc3BhY2luZyBpc1xuXHRcdC8vIHVuY2hhbmdlZC4gVmFsdWVzIHRyYWNrIC0tc2hhZG93LWNhcmQgKDE2cHggb2Zmc2V0ICsgMzJweCBibHVyKSBwbHVzXG5cdFx0Ly8gdGhlIDZweCBob3ZlciBsaWZ0OiB+MjJweCBuZWVkZWQgYWJvdmUsIH40MnB4IGJlbG93LlxuXHRcdC8vXG5cdFx0Ly8gVG9wIGJsZWVkIGlzIGtlcHQgc21hbGwgb24gcHVycG9zZS4gVGhlIHJhaWwgcGFpbnRzIGFmdGVyIHRoZSBzZWN0aW9uXG5cdFx0Ly8gaGVhZCwgc28gYSB0YWxsIG5lZ2F0aXZlIG1hcmdpbi10b3Agd291bGQgcHV0IGl0cyBoaXQgYXJlYSBvdmVyIHRoZVxuXHRcdC8vIGhlYWRpbmcgYW5kIGl0cyBidXR0b25zIGFuZCBzd2FsbG93IHRob3NlIGNsaWNrcy5cblx0XHRwYWRkaW5nLXRvcDogMjhweDtcblx0XHRwYWRkaW5nLWJvdHRvbTogNTZweDtcblx0XHRtYXJnaW4tdG9wOiAtMjhweDtcblx0XHRtYXJnaW4tYm90dG9tOiAtNTZweDtcblx0XHQvLyDilIDilIAgVGhlIGd1dHRlciBsaXZlcyBJTlNJREUgdGhlIHNjcm9sbCBjb250YWluZXIg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cdFx0Ly8gIEl0IHVzZWQgdG8gc2l0IG9uIC5zaG9ydHMsIG91dHNpZGUgdGhpcyBlbGVtZW50LCB3aGljaCBtYWRlIGl0IGFcblx0XHQvLyAgc3RyaXAgdGhlIGNhcmRzIGNvdWxkIG5ldmVyIHNsaWRlIHVuZGVyIOKAlCB0aGUgcm93IHN0YXllZCBpbnNldCBldmVuXG5cdFx0Ly8gIHNjcm9sbGVkLiBKb2Ugd2FudHMgdGhlbSBydW5uaW5nIHRvIHRoZSBzY3JlZW4gZWRnZSwgc28gaXQgbW92ZWQgaW5cblx0XHQvLyAgaGVyZTogdGhlIHNjcm9sbHBvcnQgbm93IHNwYW5zIHRoZSB2aWV3cG9ydCBhbmQgdGhpcyBwYWRkaW5nIG9ubHlcblx0XHQvLyAgc2V0cyB3aGVyZSB0aGUgcm93IHN0YXJ0cy5cblx0XHQvL1xuXHRcdC8vICBUaGUgbWF4KCkga2VlcHMgdGhlIHN0YXJ0IGFsaWduZWQgd2l0aCAuc2hlbGwgb24gd2lkZSBzY3JlZW5zLCB3aGljaFxuXHRcdC8vICBpcyB3aGF0IHRoZSBvbGQgLnNob3J0cyBydWxlIHdhcyBkb2luZy4gc2Nyb2xsLXBhZGRpbmcgbWlycm9ycyBpdCBzb1xuXHRcdC8vICBzbmFwcGluZyBsYW5kcyBvbiB0aGUgZ3V0dGVyIGluc3RlYWQgb2YgdGhlIGJsZWVkLlxuXHRcdHBhZGRpbmctbGVmdDogbWF4KHZhcigtLWd1dHRlciksIGNhbGMoKDEwMHZ3IC0gdmFyKC0tbWF4dykpIC8gMikpO1xuXHRcdHNjcm9sbC1wYWRkaW5nLWxlZnQ6IG1heCh2YXIoLS1ndXR0ZXIpLCBjYWxjKCgxMDB2dyAtIHZhcigtLW1heHcpKSAvIDIpKTtcblx0XHRwYWRkaW5nLXJpZ2h0OiB2YXIoLS1ndXR0ZXIpO1xuXG5cdFx0Ly8gVGhlIGJyb3dzZXIgc2Nyb2xsYmFyIHdvdWxkIHNpdCB1bmRlciB0aGUgY2FyZHMgYW5kIGZpZ2h0IHRoZSBkZXNpZ247XG5cdFx0Ly8gdGhlIGFycm93cyBhbmQgZHJhZyBhcmUgdGhlIGNvbnRyb2xzLlxuXHRcdHNjcm9sbGJhci13aWR0aDogbm9uZTtcblx0XHQtbXMtb3ZlcmZsb3ctc3R5bGU6IG5vbmU7XG5cdFx0Jjo6LXdlYmtpdC1zY3JvbGxiYXIgeyBkaXNwbGF5OiBub25lOyB9XG5cblx0XHQvLyBTZXQgYnkgSlMgd2hpbGUgZHJhZ2dpbmcgc28gdGhlIHBvaW50ZXIgcmVhZHMgYXMgYSBncmFiLCBhbmQgc28gdGhlXG5cdFx0Ly8gc21vb3RoLXNjcm9sbCBlYXNpbmcgZG9lc24ndCBmaWdodCB0aGUgZHJhZy5cblx0XHQmLmlzLWRyYWdnaW5nIHtcblx0XHRcdHNjcm9sbC1iZWhhdmlvcjogYXV0bztcblx0XHRcdHNjcm9sbC1zbmFwLXR5cGU6IG5vbmU7XG5cdFx0XHRjdXJzb3I6IGdyYWJiaW5nO1xuXG5cdFx0XHQuc2hvcnQgeyBwb2ludGVyLWV2ZW50czogbm9uZTsgfSAgLy8gZG9uJ3QgZmlyZSBsaW5rcyBvbiBhIGRyYWdcblx0XHR9XG5cdH1cbn1cblxuLy8g4pSA4pSAIFNob3J0cyBhcyBhIEdSSUQgKHRoZSBhcmNoaXZlKSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi8vICBUaGUgaG9tZXBhZ2Ugc2hvd3Mgc2hvcnRzIGluIGEgaG9yaXpvbnRhbCByYWlsOyBhcmNoaXZlLXNob3J0cy5waHAgc2hvd3MgdGhlXG4vLyAgc2FtZSBjYXJkcyBpbiBhIGdyaWQuIE9ubHkgdGhlIGNvbnRhaW5lciBkaWZmZXJzIOKAlCB0aGUgY2FyZCwgaXRzIHJhdGlvLCBpdHNcbi8vICBob3ZlciBhbmQgaXRzIGRhdGEtKiBhdHRyaWJ1dGVzIGFyZSBpZGVudGljYWwsIHdoaWNoIGlzIHdoYXQgbGV0cyB0aGUgc2FtZVxuLy8gIGxpZ2h0Ym94IGRyaXZlIGJvdGguXG4vL1xuLy8gIOKaoCBUSEUgV0lEVEggT1ZFUlJJREUgSVMgUkVRVUlSRUQuIC5zaG9ydCBjYXJyaWVzIGFuIGV4cGxpY2l0IHdpZHRoIChhbmQgYVxuLy8gIDU2dncgb25lIGF0IG1kKSBiZWNhdXNlIGEgcmFpbCBpdGVtIGhhcyB0byBzaXplIGl0c2VsZiDigJQgbm90aGluZyBlbHNlIGNhbi5cbi8vICBEcm9wcGVkIGludG8gYSBncmlkIHRoYXQgd2lkdGggZmlnaHRzIHRoZSB0cmFjazogZXZlcnkgY2FyZCByZW5kZXJzIGF0IHRoZVxuLy8gIHJhaWwncyBzaXplIGFuZCB0aGUgY29sdW1ucyBlaXRoZXIgb3ZlcmZsb3cgb3IgbGVhdmUgZ2Fwcy4gYHdpZHRoOiBhdXRvYFxuLy8gIGhhbmRzIHNpemluZyBiYWNrIHRvIHRoZSBncmlkLCBhbmQgYmVjYXVzZSAuc2hvcnRfX21lZGlhIGRlcml2ZXMgaXRzIGhlaWdodFxuLy8gIGZyb20gdGhlIGNhcmQncyB3aWR0aCB2aWEgYXNwZWN0LXJhdGlvLCB0aGUgY2FyZHMgc3RheSBwaG9uZS1zaGFwZWQuXG4vL1xuLy8gIOKblCBEbyBOT1QgYWRkIGRhdGEtcmFpbCB0byB0aGlzIGNvbnRhaW5lciDigJQgc2VlIHRoZSBub3RlIGluIGFyY2hpdmUtc2hvcnRzLnBocC5cbi5zaG9ydHMtZ3JpZCB7XG5cdGRpc3BsYXk6IGdyaWQ7XG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KG1pbigxMDAlLCAyMDBweCksIDFmcikpO1xuXHRnYXA6IGNsYW1wKDFyZW0sIDJ2dywgMnJlbSk7XG5cblx0Ly8gQSBwaG9uZSBpcyBuYXJyb3dlciB0aGFuIHR3byAyMDBweCB0cmFja3MsIHNvIGF1dG8tZmlsbCBnYXZlIE9ORSBjb2x1bW5cblx0Ly8g4oCUIGEgMjozIGNhcmQgdGhlIGZ1bGwgd2lkdGggb2YgdGhlIHNjcmVlbiwgdGFsbGVyIHRoYW4gdGhlIHZpZXdwb3J0XG5cdC8vIChcIndheSB0b28gYmlnIGZvciBtb2JpbGUsIG1heWJlIDIgdG8gYSByb3c/XCIsIEpvZSwgMjAyNi0wOS0xNCkuIFR3b1xuXHQvLyBmaXhlZCB0cmFja3MgYmVsb3cgc207IHRoZSBtaW5tYXggZmxvb3IgaXMgYSBkZXNrdG9wIGNvbmNlcm4uXG5cdEBpbmNsdWRlIGF0KHNtKSB7XG5cdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgbWlubWF4KDAsIDFmcikpO1xuXHRcdGdhcDogc3AoMyk7XG5cdH1cblxuXHQvLyBhdXRvLUZJTEwsIG5vdCBhdXRvLWZpdDogd2l0aCB0d28gb3IgdGhyZWUgc2hvcnRzIHB1Ymxpc2hlZCwgYXV0by1maXRcblx0Ly8gY29sbGFwc2VzIHRoZSBlbXB0eSB0cmFja3MgYW5kIHN0cmV0Y2hlcyB0aG9zZSBmZXcgY2FyZHMgdG8gaGFsZiB0aGVcblx0Ly8gc2NyZWVuIGVhY2guIFRoZXNlIGFyZSBwaG9uZS1zaGFwZWQgY2xpcHMg4oCUIGJsb3duIHVwIHRoYXQgZmFyIHRoZXkgbG9va1xuXHQvLyBsaWtlIGEgbGF5b3V0IGJ1ZyByYXRoZXIgdGhhbiBhIGRlbGliZXJhdGUgc2l6ZS5cblx0LnNob3J0IHtcblx0XHR3aWR0aDogYXV0bztcblx0XHRzY3JvbGwtc25hcC1hbGlnbjogbm9uZTtcblx0fVxufVxuXG4uc2hvcnQge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGZsZXg6IG5vbmU7XG5cdHdpZHRoOiBjbGFtcCgxODBweCwgMTl2dywgMjYwcHgpO1xuXHRzY3JvbGwtc25hcC1hbGlnbjogc3RhcnQ7XG5cblx0Ly8gQmlnZ2VyIG9uIG1vYmlsZSwgb24gSm9lJ3MgYXNrIGZvciB0YWxsZXIgY2FyZHMuIFdJRFRIIGlzIHRoZSBvbmx5IGxldmVyOlxuXHQvLyAuc2hvcnRfX21lZGlhIGlzIGxvY2tlZCB0byAyLzMgYW5kIGRlcml2ZXMgaXRzIGhlaWdodCBmcm9tIHRoaXMsIHNvIHRoZVxuXHQvLyBjYXJkIGdyb3dzIGluIGJvdGggZGlyZWN0aW9ucyBvciBuZWl0aGVyLlxuXHQvL1xuXHQvLyBUaGUgY29zdCwgYW5kIGl0IGlzIHVuYXZvaWRhYmxlOiBhdCAxODBweCB0d28gY2FyZHMgYW5kIGEgcGVlayBmaXR0ZWQgYVxuXHQvLyB+NDExcHggc2NyZWVuLiBBdCA1NnZ3IG9uZSBmdWxsIGNhcmQgYW5kIGEgZ29vZCBoYWxmIG9mIHRoZSBuZXh0IGRvLiBBXG5cdC8vIHJhaWwgc3RpbGwgcmVhZHMgYXMgYSByYWlsIGF0IDEuNSBjYXJkcyDigJQgaXQgZG9lcyBub3QgYXQgMS5cblx0QGluY2x1ZGUgYXQobWQpIHsgd2lkdGg6IDU2dnc7IH1cblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0YmFja2dyb3VuZDogdmFyKC0tYmctMyk7XG5cdHRyYW5zaXRpb246IHRyYW5zZm9ybSAuNDVzICRlYXNlLW91dCwgYm94LXNoYWRvdyAuNDVzICRlYXNlLW91dDtcblxuXHQvLyBUaGUgZm9ybWF0IElTIHRoZSBkZXNpZ24gaGVyZSDigJQgdmVydGljYWwsIHBob25lLXNoYXBlZC5cblx0Ly9cblx0Ly8gMiAvIDMgQVQgRVZFUlkgU0laRS4gSGVpZ2h0IGlzIGRlcml2ZWQgZnJvbSB0aGUgY2FyZCdzIHdpZHRoLCBzbyB0aGUgb25seVxuXHQvLyB3YXkgdG8gbWFrZSBhIGNhcmQgdGFsbGVyIGlzIHRvIG1ha2UgaXQgd2lkZXIg4oCUIHNlZSB0aGUgd2lkdGggb3ZlcnJpZGUgb25cblx0Ly8gLnNob3J0LiBEbyBub3QgcmVhY2ggZm9yIGEgdGFsbGVyIHJhdGlvIGhlcmU6IGl0IHJlLWNyb3BzIHRoZSBhcnR3b3JrXG5cdC8vIHJhdGhlciB0aGFuIGdyb3dpbmcgdGhlIGNhcmQsIHdoaWNoIGlzIGEgZGlmZmVyZW50IGNoYW5nZSB3ZWFyaW5nIHRoZSBzYW1lXG5cdC8vIGNsb3RoZXMuXG5cdCZfX21lZGlhIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0YXNwZWN0LXJhdGlvOiAyIC8gMztcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXG5cdFx0aW1nIHtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0b2JqZWN0LWZpdDogY292ZXI7XG5cdFx0XHRAaW5jbHVkZSB6b29tYWJsZSguNnMpO1xuXHRcdH1cblxuXHRcdC8vIExlZ2liaWxpdHkgc2NyaW0gZm9yIHRoZSBjYXB0aW9uLlxuXHRcdCY6OmFmdGVyIHtcblx0XHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRpbnNldDogNDAlIDAgMCAwO1xuXHRcdFx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRyYW5zcGFyZW50LCByZ2JhKDAsIDAsIDAsIC43OCkpO1xuXHRcdH1cblx0fVxuXG5cdC8vIEdBVEVELiBPbiBhIHRvdWNoc2NyZWVuIDpob3ZlciBsYXRjaGVzIGFmdGVyIGEgdGFwIGFuZCBuZXZlciBjbGVhcnMg4oCUXG5cdC8vIHRoZXJlIGlzIG5vIHBvaW50ZXIgdG8gbGVhdmUgdGhlIGVsZW1lbnQg4oCUIHNvIHRoZSBjYXJkIHlvdSBsYXN0IHRhcHBlZCBzYXRcblx0Ly8gbGlmdGVkLCB6b29tZWQgYW5kIHdlYXJpbmcgYSBwbGF5IGJ1dHRvbiB1bnRpbCB5b3UgdGFwcGVkIHNvbWV0aGluZyBlbHNlLlxuXHQvLyBPbiBtb2JpbGUgdGhlIGFjdGl2ZSBjYXJkIGlzIG1hcmtlZCBieSB0aGUgcmluZyBiZWxvdyBpbnN0ZWFkLlxuXHRAaW5jbHVkZSBjYW4taG92ZXIge1xuXHRcdCY6aG92ZXIge1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC02cHgpO1xuXHRcdFx0Ym94LXNoYWRvdzogdmFyKC0tc2hhZG93LWNhcmQpO1xuXG5cdFx0XHQuc2hvcnRfX21lZGlhIGltZyB7IEBpbmNsdWRlIHpvb21lZCgxLjA3KTsgfVxuXHRcdFx0LnNob3J0X19wbGF5IHsgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgc2NhbGUoMSk7IG9wYWNpdHk6IDE7IH1cblx0XHR9XG5cdH1cblxuXHQvLyDilIDilIAgQWN0aXZlIGNhcmQg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cdC8vICBNT0JJTEUgT05MWSDigJQgZGVza3RvcCBzaG93cyB0aGUgd2hvbGUgcm93IGF0IG9uY2UsIHdoZXJlIG1hcmtpbmcgb25lIGNhcmRcblx0Ly8gIHNheXMgbm90aGluZy4gT24gYSBwaG9uZSB0d28gYW5kIGEgYml0IGNhcmRzIGFyZSB2aXNpYmxlIGFuZCB0aGUgcmFpbFxuXHQvLyAgc25hcHMgb25lIGF0IGEgdGltZSwgc28gdGhlIGxlZnRtb3N0IGNhcmQgaXMgZ2VudWluZWx5IFwidGhlIG9uZSB5b3UncmVcblx0Ly8gIG9uXCIuIGYtcmFpbC5qcyBzZXRzIC5pcy1hY3RpdmU7IHNlZSBbZGF0YS1yYWlsLW1hcmtdLlxuXHQvL1xuXHQvLyAgRHJhd24gYXMgYW4gYWJzb2x1dGVseS1wb3NpdGlvbmVkIHJpbmcsIE5PVCBhIHJlYWwgYm9yZGVyLiBBIGJvcmRlciBvblxuXHQvLyAgLnNob3J0IHdvdWxkIGJlIHBhcnQgb2YgaXRzIGJveDogM3B4IGVhY2ggc2lkZSB3b3VsZCBlaXRoZXIgc2hyaW5rIHRoZVxuXHQvLyAgYXJ0d29yayBvciB3aWRlbiB0aGUgY2FyZCwgYW5kIHdpZGVuaW5nIGl0IGNoYW5nZXMgdGhlIHNuYXAgZ2VvbWV0cnkgc29cblx0Ly8gIHRoZSByb3cgc2hpZnRzIGV2ZXJ5IHRpbWUgdGhlIGFjdGl2ZSBjYXJkIG1vdmVzLlxuXHQvL1xuXHQvLyAgc2Nyb2xsLXNuYXAtc3RvcDogYWx3YXlzIGlzIHRoZSBvdGhlciBoYWxmIG9mIFwib25lIGF0IGEgdGltZVwiLiBTbmFwXG5cdC8vICBwb2ludHMgYWxvbmUgZG9uJ3Qgc3RvcCBhIGZhc3QgZmxpY2sg4oCUIHRoZSBicm93c2VyIGlzIGZyZWUgdG8gZmx5IHBhc3Rcblx0Ly8gIHNldmVyYWwgYW5kIGxhbmQgb24gYSBkaXN0YW50IG9uZS4gYGFsd2F5c2AgZm9yY2VzIGl0IHRvIHN0b3AgYXQgZWFjaC5cblx0QGluY2x1ZGUgYXQobWQpIHtcblx0XHRzY3JvbGwtc25hcC1zdG9wOiBhbHdheXM7XG5cblx0XHQmOjphZnRlciB7XG5cdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0aW5zZXQ6IDA7XG5cdFx0XHR6LWluZGV4OiAzOyAgICAgICAgICAgICAgLy8gb3ZlciAuc2hvcnRfX2JvZHkgYW5kIC5zaG9ydF9fcGxheSAoMilcblx0XHRcdGJvcmRlcjogM3B4IHNvbGlkIHRyYW5zcGFyZW50O1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogaW5oZXJpdDtcblx0XHRcdHBvaW50ZXItZXZlbnRzOiBub25lOyAgICAvLyBuZXZlciBlYXRzIGEgdGFwIG1lYW50IGZvciB0aGUgY2FyZFxuXHRcdFx0dHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIHZhcigtLWR1ci1mYXN0KSAkZWFzZTtcblx0XHR9XG5cblx0XHQmLmlzLWFjdGl2ZTo6YWZ0ZXIgeyBib3JkZXItY29sb3I6IHZhcigtLWFjY2VudCk7IH1cblx0fVxuXG5cdC8vIENlbnRyZSBwbGF5IGJ1dHRvbiwgcmV2ZWFsZWQgb24gaG92ZXIuXG5cdCZfX3BsYXkge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRsZWZ0OiA1MCU7XG5cdFx0dG9wOiA1MCU7XG5cdFx0ei1pbmRleDogMjtcblx0XHRkaXNwbGF5OiBncmlkO1xuXHRcdHBsYWNlLWl0ZW1zOiBjZW50ZXI7XG5cdFx0d2lkdGg6IDU0cHg7XG5cdFx0aGVpZ2h0OiA1NHB4O1xuXHRcdGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuXHRcdGJhY2tncm91bmQ6IHZhcigtLWFjY2VudCk7XG5cdFx0Y29sb3I6IHZhcigtLW9uLWFjY2VudCk7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgc2NhbGUoLjYpO1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIC40cyAkZWFzZS1vdXQsIG9wYWNpdHkgLjNzICRlYXNlO1xuXG5cdFx0c3ZnIHsgd2lkdGg6IDE2cHg7IGhlaWdodDogMTZweDsgbWFyZ2luLWxlZnQ6IDJweDsgfVxuXHR9XG5cblx0Jl9fYm9keSB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdGluc2V0OiBhdXRvIDAgMCAwO1xuXHRcdHotaW5kZXg6IDI7XG5cdFx0cGFkZGluZzogc3AoNCk7XG5cdFx0ZGlzcGxheTogZ3JpZDtcblx0XHRnYXA6IDJweDtcblx0fVxuXG5cdCZfX3RpdGxlIHtcblx0XHRmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcblx0XHRmb250LXNpemU6IC45NXJlbTtcblx0XHRmb250LXdlaWdodDogOTAwO1xuXHRcdGxpbmUtaGVpZ2h0OiAxLjA1O1xuXHRcdGxldHRlci1zcGFjaW5nOiAtLjAxNWVtO1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0Y29sb3I6ICNmZmY7XG5cdFx0Ly8gVHdvIGxpbmVzIG1heCDigJQgYSB0aGlyZCB3b3VsZCBjb3ZlciB0aGUgaW1hZ2UgZW50aXJlbHkuXG5cdFx0ZGlzcGxheTogLXdlYmtpdC1ib3g7XG5cdFx0LXdlYmtpdC1saW5lLWNsYW1wOiAyO1xuXHRcdC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0fVxuXG5cdC8vID0gLmVwX19lcCAvIC5jYXJkX19tZXRhLCBidXQgLS1hY2NlbnQgcmF0aGVyIHRoYW4gLS1hY2NlbnQtaW5rOiB0aGlzIGxhYmVsXG5cdC8vIHNpdHMgb24gYSBkYXJrIHBob3RvIGluIEJPVEggdGhlbWVzLCBhbmQgLS1hY2NlbnQtaW5rIGlzIGRlbGliZXJhdGVseVxuXHQvLyBkYXJrZW5lZCBmb3IgbGlnaHQgYmFja2dyb3VuZHMsIHNvIGl0IHdvdWxkIG5lYXJseSB2YW5pc2ggaGVyZS5cblx0Ly8gQnJhbmQtYmx1ZSBwaWxsLiBqdXN0aWZ5LXNlbGY6IHN0YXJ0IGlzIHJlcXVpcmVkIOKAlCAuc2hvcnRfX2JvZHkgaXMgYVxuXHQvLyBncmlkLCBzbyB3aXRob3V0IGl0IHRoZSBwaWxsIHdvdWxkIHN0cmV0Y2ggdGhlIGZ1bGwgY2FyZCB3aWR0aC5cblx0Jl9fbWV0YSB7XG5cdFx0QGluY2x1ZGUgbGFiZWw7XG5cdFx0anVzdGlmeS1zZWxmOiBzdGFydDtcblx0XHRwYWRkaW5nOiAuMTZlbSAuNjJlbTtcblx0XHQvLyAuc2hvcnRfX2JvZHkncyBncmlkIGdhcCBpcyBvbmx5IDJweCwgd2hpY2ggaXMgcmlnaHQgZm9yIGEgcGxhaW5cblx0XHQvLyBsYWJlbCBidXQgdG9vIHRpZ2h0IHVuZGVyIGEgZmlsbGVkIHBpbGwuXG5cdFx0bWFyZ2luLWJvdHRvbTogLjNlbTtcblx0XHRib3JkZXItcmFkaXVzOiA5OTlweDtcblx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1hY2NlbnQpO1xuXHRcdGNvbG9yOiAjZmZmO1xuXG5cdFx0Ly8g4puUIFNUQVlTIEEgRklMTEVEIFBJTEwuIEl0IHdhcyBicmllZmx5IGEgcGxhaW4gYmx1ZSB0ZXh0IGxhYmVsIG9uXG5cdFx0Ly8gMjAyNi0wOS0xNCAoYSBtaXNyZWFkIG9mIFwicHV0IHRoZSB0aW1lIG92ZXIgdGhlIHNob3J0cyB0aXRsZVwiIOKAlFxuXHRcdC8vIEpvZSBtZWFudCB0aGUgc2hvcnRzIENBUkQgaW4gYSBtaXhlZCBncmlkLCBub3QgdGhpcyByYWlsKSBhbmQgd2FzXG5cdFx0Ly8gcmV2ZXJ0ZWQgdGhlIHNhbWUgaG91cjogXCJyZXZlcnQgYW55dGhpbmcgeW91IGRpZCB0byB0aGUgc2hvcnRzXG5cdFx0Ly8gcmFpbFwiLiBUaGUgcmFpbCdzIHBpbGwgYW5kIHRoZSBlcGlzb2RlIGNoaXAgYXJlIG9uZSBvYmplY3QuXG5cblx0XHQvLyAycHggdGlnaHRlciBlYWNoIHNpZGUgb24gcGhvbmVzLiBUaGUgbGFiZWwgY2xhbXAgYm90dG9tcyBvdXQgYXQgLjlyZW1cblx0XHQvLyB0aGVyZSwgc28gLjYyZW0gcmVzb2x2ZXMgdG8gfjlweCBvZiBwYWRkaW5nIGFnYWluc3QgYSB+MTRweCBnbHlwaCDigJRcblx0XHQvLyBlbm91Z2ggdG8gbWFrZSB0aGUgcGlsbCByZWFkIHdpZGUgYW5kIGxvb3NlIG5leHQgdG8gdGhlIHRpdGxlLlxuXHRcdC8vXG5cdFx0Ly8gY2FsYygpIG9mZiB0aGUgc2FtZSAuNjJlbSByYXRoZXIgdGhhbiBhIGZsYXQgcHggdmFsdWUsIHNvIGlmIHRoZSBsYWJlbFxuXHRcdC8vIHNpemUgZXZlciBjaGFuZ2VzIHRoaXMgc3RheXMgXCJ0aGUgZGVza3RvcCBwYWRkaW5nLCBtaW51cyAycHhcIiBpbnN0ZWFkXG5cdFx0Ly8gb2Ygc2lsZW50bHkgYmVjb21pbmcgYSBkaWZmZXJlbnQgcHJvcG9ydGlvbi5cblx0XHRAaW5jbHVkZSBhdChtZCkgeyBwYWRkaW5nLWlubGluZTogY2FsYyguNjJlbSAtIDJweCk7IH1cblx0fVxufVxuXG4vLyDilIDilIAgQXJyb3dzIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLy8gU0hBUkVEIOKAlCB0aGUgU29jaWFsIHNlY3Rpb24ncyBYIHJhaWwgdXNlcyB0aGlzIHRvby4gTGl2ZXMgaGVyZSBiZWNhdXNlIHRoaXNcbi8vIGlzIHdoZXJlIHRoZSByYWlsIHBhdHRlcm4gc3RhcnRlZDsgaWYgYSB0aGlyZCByYWlsIGFwcGVhcnMsIG1vdmUgaXQgb3V0LlxuLnJhaWwtbmF2IHtcblx0ZGlzcGxheTogZmxleDtcblx0Z2FwOiBzcCgyKTtcblxuXHQvLyBUb3VjaCBhbHJlYWR5IGhhcyBhIGJldHRlciBnZXN0dXJlIHRoYW4gYSBidXR0b24uXG5cdEBtZWRpYSAoaG92ZXI6IG5vbmUpIHsgZGlzcGxheTogbm9uZTsgfVxuXG5cdGJ1dHRvbiB7XG5cdFx0ZGlzcGxheTogZ3JpZDtcblx0XHRwbGFjZS1pdGVtczogY2VudGVyO1xuXHRcdHdpZHRoOiA0NnB4O1xuXHRcdGhlaWdodDogNDZweDtcblx0XHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1saW5lKTtcblx0XHRib3JkZXItcmFkaXVzOiA5OTlweDtcblx0XHRjb2xvcjogdmFyKC0taW5rKTtcblx0XHR0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgdmFyKC0tZHVyLWZhc3QpICRlYXNlLCBjb2xvciB2YXIoLS1kdXItZmFzdCkgJGVhc2UsXG5cdFx0XHRcdFx0b3BhY2l0eSB2YXIoLS1kdXItZmFzdCkgJGVhc2U7XG5cblx0XHRzdmcgeyB3aWR0aDogMTVweDsgaGVpZ2h0OiAxNXB4OyB9XG5cblx0XHQmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1hY2NlbnQpOyBjb2xvcjogdmFyKC0tYWNjZW50LWluayk7IH1cblxuXHRcdC8vIERpc2FibGVkIGF0IHRoZSBlbmRzIHJhdGhlciB0aGFuIGhpZGRlbiDigJQgYSBjb250cm9sIHRoYXQgdmFuaXNoZXMgaXNcblx0XHQvLyBtb3JlIGRpc29yaWVudGluZyB0aGFuIG9uZSB0aGF0IGRpbXMuXG5cdFx0JjpkaXNhYmxlZCB7IG9wYWNpdHk6IC4zOyBjdXJzb3I6IGRlZmF1bHQ7IH1cblx0fVxuXG5cdCZfX3ByZXYgc3ZnIHsgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsgfVxufVxuIiwiQHVzZSBcInRva2Vuc1wiIGFzICo7XG5cbi8vIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLy8gIExJR0hUQk9YIOKAlCBmdWxsLXNjcmVlbiBzaG9ydHMgdmlld2VyXG4vL1xuLy8gIEJ1aWx0IGJ5IGgtbGlnaHRib3guanMgb24gZmlyc3Qgb3Blbiwgc28gbm9uZSBvZiB0aGlzIG1hcmt1cCBleGlzdHMgZm9yIGFcbi8vICB2aXNpdG9yIHdobyBuZXZlciBvcGVucyBhIGNsaXAuXG4vL1xuLy8gIOKaoCBERUxJQkVSQVRFTFkgRE9FUyBOT1QgVVNFIFRIRSBGVUxMU0NSRUVOIEFQSS4gU2VlIHRoZSBub3RlIGluXG4vLyAgaC1saWdodGJveC5qcyDigJQgdGhlIGJyb3dzZXIncyBcIlRvIGV4aXQgZnVsbCBzY3JlZW4sIGRyYWcgZnJvbSB0aGUgdG9w4oCmXCJcbi8vICB0b2FzdCBpcyB1bmF2b2lkYWJsZSB3aGlsZSB0aGF0IEFQSSBpcyBpbiBwbGF5LCBhbmQgaXQgY2Fubm90IGJlIHN0eWxlZCBvclxuLy8gIHN1cHByZXNzZWQuIFRoaXMgZmlsbHMgdGhlIHZpZXdwb3J0IHdpdGggcGxhaW4gQ1NTIGluc3RlYWQ6IHNhbWUgcmVzdWx0LCBub1xuLy8gIGJyb3dzZXIgZnVybml0dXJlLCBhbmQgaXQgYmVoYXZlcyBpZGVudGljYWxseSBvbiBpT1Mgd2hlcmUgdGhlIEFQSSBkb2Vzbid0XG4vLyAgd29yayBvbiBhbiBpZnJhbWUgYXQgYWxsLlxuLy9cbi8vICBBbHdheXMgZGFyayBpbiBib3RoIHRoZW1lcy4gQSB2aWRlbyBzaXRzIGJldHRlciBpbiBhIGRhcmsgcm9vbSwgYW5kIGEgd2hpdGVcbi8vICBvdmVybGF5IGFyb3VuZCBhIDk6MTYgY2xpcCBpcyBhIHdhbGwgb2YgZ2xhcmUgZWl0aGVyIHNpZGUgb2YgaXQuXG4vLyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblxuLmxpZ2h0Ym94IHtcblx0cG9zaXRpb246IGZpeGVkO1xuXHRpbnNldDogMDtcblx0ei1pbmRleDogMjAwOyAgICAgICAgICAvLyBhYm92ZSB0aGUgbmF2ICgxMDApIGFuZCB0aGUgZHJhd2VyICg5OSlcblx0ZGlzcGxheTogZ3JpZDtcblx0cGxhY2UtaXRlbXM6IGNlbnRlcjtcblx0cGFkZGluZzogY2xhbXAoMXJlbSwgNHZ3LCAzcmVtKTtcblx0Ly8gU3RvcHMgYSBmbGljayB0aGF0IHN0YXJ0cyBvbiBhIGdlc3R1cmUgc3RyaXAgZnJvbSBjaGFpbmluZyB0aHJvdWdoIHRvIHRoZVxuXHQvLyBkb2N1bWVudCB1bmRlcm5lYXRoIG9uY2UgdGhlIG92ZXJsYXkgaXRzZWxmIGhhcyBub3doZXJlIHRvIHNjcm9sbC5cblx0b3ZlcnNjcm9sbC1iZWhhdmlvcjogY29udGFpbjtcblxuXHQvLyBIaWRkZW4gd2l0aG91dCBkaXNwbGF5Om5vbmUsIHNvIHRoZSBmYWRlIGhhcyBzb21ldGhpbmcgdG8gYW5pbWF0ZSBhbmRcblx0Ly8gdGhlIGZvY3VzIHRyYXAgY2FuIHN0aWxsIG1lYXN1cmUgaXRzIGJ1dHRvbnMuXG5cdG9wYWNpdHk6IDA7XG5cdHZpc2liaWxpdHk6IGhpZGRlbjtcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdHRyYW5zaXRpb246IG9wYWNpdHkgLjNzICRlYXNlLCB2aXNpYmlsaXR5IC4zcztcblxuXHQmLmlzLW9wZW4ge1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0dmlzaWJpbGl0eTogdmlzaWJsZTtcblx0XHRwb2ludGVyLWV2ZW50czogYXV0bztcblx0fVxuXG5cdCZfX3NjcmltIHtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0aW5zZXQ6IDA7XG5cdFx0YmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAuOTIpO1xuXHR9XG5cblx0Jl9faW5uZXIge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHR6LWluZGV4OiAxO1xuXHRcdHdpZHRoOiBtaW4oMTAwJSwgMTEwMHB4KTtcblx0XHRkaXNwbGF5OiBncmlkO1xuXHRcdGp1c3RpZnktaXRlbXM6IGNlbnRlcjtcblx0fVxuXG5cdCZfX3N0YWdlIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7ICAgLy8gYW5jaG9ycyB0aGUgZ2VzdHVyZSBzdHJpcHMgYmVsb3dcblx0XHRkaXNwbGF5OiBncmlkO1xuXHRcdGp1c3RpZnktaXRlbXM6IGNlbnRlcjtcblx0XHR3aWR0aDogMTAwJTtcblx0fVxuXG5cblx0Ly8g4pSA4pSAIE1lZGlhIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXHQvLyAgRGVza3RvcDogYSB3aW5kb3dlZCA5OjE2IGJveCwgc2l6ZWQgYnkgSEVJR0hUIGZpcnN0LiBTaG9ydHMgYXJlIHZlcnRpY2FsLFxuXHQvLyAgc28gYSB3aWR0aC1kcml2ZW4gYm94IG1ha2VzIGEgcG9ydHJhaXQgY2xpcCB0YWxsZXIgdGhhbiB0aGUgdmlld3BvcnQuXG5cdCZfX21lZGlhIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0d2lkdGg6IGF1dG87XG5cdFx0aGVpZ2h0OiBtaW4oNzhzdmgsIDg4dncgKiAxNiAvIDkpO1xuXHRcdGFzcGVjdC1yYXRpbzogOSAvIDE2O1xuXHRcdG1heC13aWR0aDogMTAwJTtcblx0XHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0YmFja2dyb3VuZDogIzAwMDtcblx0XHRib3gtc2hhZG93OiAwIDQwcHggMTAwcHggcmdiYSgwLCAwLCAwLCAuNik7XG5cblx0XHQvLyBTaG9ydC9sYW5kc2NhcGUgd2luZG93czogYSA5OjE2IGJveCBoYXMgbm93aGVyZSB0byBnbyB2ZXJ0aWNhbGx5LCBzb1xuXHRcdC8vIGxldCB3aWR0aCBkcml2ZSBpdCBhbmQgYWNjZXB0IGEgc21hbGxlciBjbGlwLlxuXHRcdEBtZWRpYSAobWF4LWFzcGVjdC1yYXRpbzogMS8xKSBhbmQgKG1pbi13aWR0aDogI3skYnAtbWQgKyAxfSkge1xuXHRcdFx0aGVpZ2h0OiBhdXRvO1xuXHRcdFx0d2lkdGg6IG1pbigxMDAlLCA2MnN2aCAqIDkgLyAxNik7XG5cdFx0fVxuXHR9XG5cblx0Jl9fZnJhbWUsXG5cdCZfX3Bvc3RlciB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdGJvcmRlcjogMDtcblx0fVxuXG5cdCZfX3Bvc3RlciB7IG9iamVjdC1maXQ6IGNvdmVyOyB9XG5cblxuXHQvLyDilIDilIAgQ29udHJvbHMg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cdCZfX2J0biB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHotaW5kZXg6IDI7XG5cdFx0ZGlzcGxheTogZ3JpZDtcblx0XHRwbGFjZS1pdGVtczogY2VudGVyO1xuXHRcdHdpZHRoOiA1MnB4O1xuXHRcdGhlaWdodDogNTJweDtcblx0XHRib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIC4yNSk7XG5cdFx0Ym9yZGVyLXJhZGl1czogOTk5cHg7XG5cdFx0YmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAuNCk7XG5cdFx0YmFja2Ryb3AtZmlsdGVyOiBibHVyKDhweCk7XG5cdFx0Y29sb3I6ICNmZmY7XG5cdFx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS1kdXItZmFzdCkgJGVhc2UsXG5cdFx0XHRcdFx0Ym9yZGVyLWNvbG9yIHZhcigtLWR1ci1mYXN0KSAkZWFzZSxcblx0XHRcdFx0XHRvcGFjaXR5IHZhcigtLWR1ci1mYXN0KSAkZWFzZTtcblxuXHRcdHN2ZyB7IHdpZHRoOiAyMHB4OyBoZWlnaHQ6IDIwcHg7IH1cblxuXHRcdC8vIEdhdGVkIGJlaGluZCBjYW4taG92ZXIuIE9uIGEgdG91Y2hzY3JlZW4gOmhvdmVyIExBVENIRVMgYWZ0ZXIgYSB0YXBcblx0XHQvLyBhbmQgbmV2ZXIgY2xlYXJzLCBzbyB0aGUgYXJyb3cgeW91IGxhc3QgcHJlc3NlZCBzaXRzIHRoZXJlIGxpdCB1cCBpblxuXHRcdC8vIGJyYW5kIGJsdWUgYXMgaWYgaXQgd2VyZSBzdGlsbCBhY3RpdmUg4oCUIHdoaWNoIGlzIGV4YWN0bHkgd2hhdCBKb2Ugd2FzXG5cdFx0Ly8gbG9va2luZyBhdC4gVGhlcmUgaXMgbm8gcG9pbnRlciB0byBsZWF2ZSB0aGUgZWxlbWVudCwgc28gbm90aGluZyBldmVyXG5cdFx0Ly8gcmVtb3ZlcyB0aGUgc3RhdGUuXG5cdFx0QGluY2x1ZGUgY2FuLWhvdmVyIHtcblx0XHRcdCY6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1hY2NlbnQpO1xuXHRcdFx0XHRib3JkZXItY29sb3I6IHZhcigtLWFjY2VudCk7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Ly8gUHJlc3MgZmVlZGJhY2sgZm9yIHRvdWNoLCByZXBsYWNpbmcgd2hhdCA6aG92ZXIgdXNlZCB0byBwcm92aWRlLlxuXHRcdC8vIDphY3RpdmUgY2FuJ3QgZ2V0IHN0dWNrIOKAlCB0aGUgYnJvd3NlciBkcm9wcyBpdCBvbiByZWxlYXNlLlxuXHRcdCY6YWN0aXZlOm5vdCg6ZGlzYWJsZWQpIHtcblx0XHRcdGJhY2tncm91bmQ6IHZhcigtLWFjY2VudCk7XG5cdFx0XHRib3JkZXItY29sb3I6IHZhcigtLWFjY2VudCk7XG5cdFx0fVxuXG5cdFx0JjpkaXNhYmxlZCB7XG5cdFx0XHRvcGFjaXR5OiAuMjU7XG5cdFx0XHRjdXJzb3I6IGRlZmF1bHQ7XG5cdFx0fVxuXG5cdFx0Ly8g4pqgIFJFVkVSU0VEIG9uIEpvZSdzIGFzaywgMjAyNi0wOC0wOC4gVGhpcyBibG9jayB1c2VkIHRvIHJlYWRcblx0XHQvLyBcImRpc2FibGVkIHJhdGhlciB0aGFuIGhpZGRlbjogdGhlIGNvbnRyb2wgc3RheWluZyBwdXQgdGVsbHMgeW91XG5cdFx0Ly8geW91J3ZlIHJlYWNoZWQgdGhlIGVuZCwgd2hlcmUgYSB2YW5pc2hpbmcgYnV0dG9uIGp1c3QgbG9va3MgbGlrZSBhXG5cdFx0Ly8gZ2xpdGNoLlwiIEhlIHdhbnRzIHRoZW0gZ29uZSwgc28gdGhlIGVuZHMgYXJlIHNpZ25hbGxlZCBieSBhYnNlbmNlXG5cdFx0Ly8gbm93LiBSZWNvcmRlZCBiZWNhdXNlIHRoZSBvbGQgcmVhc29uaW5nIGlzIHNvdW5kIGFuZCB3b3VsZCBvdGhlcndpc2Vcblx0XHQvLyBnZXQgcmUtYXJndWVkIGZyb20gc2NyYXRjaC5cblx0XHQvL1xuXHRcdC8vIFNjb3BlZCB0byB0aGUgYXJyb3dzLCBOT1QgdG8gLmxpZ2h0Ym94X19idG4gZ2VuZXJhbGx5IOKAlCBjbG9zZSBpc1xuXHRcdC8vIG5ldmVyIGRpc2FibGVkIHRvZGF5LCBidXQgYSBibGFua2V0IHJ1bGUgd291bGQgaGlkZSBpdCB0aGUgZGF5XG5cdFx0Ly8gc29tZXRoaW5nIGRpc2FibGVzIGl0LCBhbmQgYSBtb2RhbCB3aXRoIG5vIHdheSBvdXQgaXMgdGhlIG9uZSBidWdcblx0XHQvLyB0aGlzIG11c3QgbmV2ZXIgY2F1c2UuXG5cdFx0Ly9cblx0XHQvLyBEcml2ZW4gYnkgdGhlIGBkaXNhYmxlZGAgYXR0cmlidXRlIHJhdGhlciB0aGFuIGEgY2xhc3MsIGRlbGliZXJhdGVseTpcblx0XHQvLyB0aGUgZm9jdXMgdHJhcCBpbiBoLWxpZ2h0Ym94LmpzIHNlbGVjdHMgYGJ1dHRvbjpub3QoW2Rpc2FibGVkXSlgLCBzb1xuXHRcdC8vIG9uZSBhdHRyaWJ1dGUga2VlcHMgdGhlIGFycm93IG91dCBvZiB0aGUgdGFiIGN5Y2xlIEFORCBvZmYgdGhlXG5cdFx0Ly8gc2NyZWVuLiBBIGNsYXNzIHdvdWxkIG5lZWQgYm90aCBrZXB0IGluIHN0ZXAgYnkgaGFuZC5cblx0XHQmLS1wcmV2OmRpc2FibGVkLFxuXHRcdCYtLW5leHQ6ZGlzYWJsZWQgeyBkaXNwbGF5OiBub25lOyB9XG5cblx0XHQvLyBYLCB0b3AgcmlnaHQsIGF0IGV2ZXJ5IHNpemUuIFRoZSBtb2JpbGUgYmxvY2sgZnVydGhlciBkb3duIG9ubHlcblx0XHQvLyBhZGp1c3RzIHRoZSBvZmZzZXRzIGZvciB0aGUgbm90Y2guXG5cdFx0Ji0tY2xvc2Uge1xuXHRcdFx0dG9wOiBjbGFtcCgxcmVtLCAzdncsIDJyZW0pO1xuXHRcdFx0cmlnaHQ6IGNsYW1wKDFyZW0sIDN2dywgMnJlbSk7XG5cdFx0XHQvLyBObyBmb2N1cyByaW5nIG9uIHRoZSBYLCBldmVyIChKb2UsIDIwMjYtMDktMTgpLiBvcGVuKCkgZm9jdXNlc1xuXHRcdFx0Ly8gaXQgcHJvZ3JhbW1hdGljYWxseSwgYW5kIHdpdGhvdXQgYSBwb2ludGVyIGV2ZW50IGZpcnN0IOKAlCB0aGVcblx0XHRcdC8vIGVtYWlsIGRlZXAgbGluaywgYSB0YXAgb24gYSBwaG9uZSDigJQgdGhlIGJyb3dzZXIgdHJlYXRzIHRoYXQgYXNcblx0XHRcdC8vIGtleWJvYXJkIGZvY3VzIGFuZCBkcmF3cyB0aGUgcmluZyBvbiBhIGJ1dHRvbiBub2JvZHkga2V5ZWQgdG8uXG5cdFx0XHQvLyBUaGUgcmluZyBiZWxvbmdzIG9uIHRoZSBBUlJPV1Mgd2hpbGUga2V5aW5nIHRocm91Z2ggdGhlXG5cdFx0XHQvLyBnYWxsZXJ5IChvbktleSBtb3ZlcyBmb2N1cyB0aGVyZSksIGFuZCBvbmx5IHRoZXJlLlxuXHRcdFx0Jjpmb2N1cy12aXNpYmxlIHsgb3V0bGluZTogbm9uZTsgfVxuXHRcdH1cblxuXHRcdC8vIOKApmFuZCBuZXZlciBvbiBhIHRvdWNoIHNjcmVlbiwgd2hlcmUgdGhlIHJpbmcgY2FuIG9ubHkgZXZlciBiZSB0aGVcblx0XHQvLyBwcm9ncmFtbWF0aWMtZm9jdXMgYXJ0ZWZhY3QgYWJvdmUsIG5vdCBhIGtleWJvYXJkIHVzZXIncyBjdWUuXG5cdFx0QG1lZGlhIChob3Zlcjogbm9uZSkge1xuXHRcdFx0Jjpmb2N1cy12aXNpYmxlIHsgb3V0bGluZTogbm9uZTsgfVxuXHRcdH1cblxuXHRcdC8vIOKUgOKUgCBEZXNrdG9wOiBmdWxsIGNpcmNsZXMsIGZsb2F0ZWQgb2ZmIHRoZSBlZGdlIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXHRcdC8vICBVbnRvdWNoZWQg4oCUIHRoaXMgaXMgdGhlIG9yaWdpbmFsIHRyZWF0bWVudCBhbmQgSm9lIHdhbnRzIGl0IGtlcHRcblx0XHQvLyAgZXhhY3RseSBhcyBpdCB3YXMuIFRoZSBoYWxmLWRpc2MgYmVsb3cgaXMgYSBNT0JJTEUtT05MWSBvdmVycmlkZS5cblx0XHQmLS1wcmV2IHsgbGVmdDogIGNsYW1wKC41cmVtLCAydncsIDJyZW0pOyB0b3A6IDUwJTsgdHJhbnNsYXRlOiAwIC01MCU7IH1cblx0XHQmLS1uZXh0IHsgcmlnaHQ6IGNsYW1wKC41cmVtLCAydncsIDJyZW0pOyB0b3A6IDUwJTsgdHJhbnNsYXRlOiAwIC01MCU7IH1cblxuXHRcdC8vIOKUgOKUgCBNb2JpbGU6IGhhbGYtZGlzY3MsIGZsdXNoIHRvIHRoZSBzY3JlZW4gZWRnZXMg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cdFx0Ly8gIEEgdHJ1ZSBzZW1pY2lyY2xlOiBoZWlnaHQgaXMgZXhhY3RseSB0d2ljZSB0aGUgd2lkdGggYW5kIHRoZSB3aG9sZVxuXHRcdC8vICByYWRpdXMgc2l0cyBvbiB0aGUgaW53YXJkLWZhY2luZyBjb3JuZXJzLCBzbyB0aGUgZmxhdCBzaWRlIGlzIGFnYWluc3Rcblx0XHQvLyAgdGhlIGVkZ2Ugb2YgdGhlIHNjcmVlbiBhbmQgdGhlIGN1cnZlIGJ1bGdlcyBvdmVyIHRoZSBjbGlwLlxuXHRcdC8vXG5cdFx0Ly8gIFRoZXkgc2hvdyBvbiB0b3VjaCBub3cuIFRoZXkgdXNlZCB0byBoaWRlIHRoZW1zZWx2ZXMgdGhlcmUgaW4gZmF2b3VyXG5cdFx0Ly8gIG9mIHN3aXBpbmcsIGJ1dCBzd2lwZSBjYW5ub3Qgd29yayBvdmVyIGEgY3Jvc3Mtb3JpZ2luIHBsYXllciDigJQgc2VlXG5cdFx0Ly8gIHRoZSBub3RlIGluIGgtbGlnaHRib3guanMg4oCUIHNvIHRoZXNlIGFyZSB0aGUgb25seSB3YXkgdGhyb3VnaCB0aGVcblx0XHQvLyAgY29sbGVjdGlvbiBvbiBhIHBob25lLlxuXHRcdEBpbmNsdWRlIGF0KG1kKSB7XG5cdFx0XHQmLS1wcmV2LFxuXHRcdFx0Ji0tbmV4dCB7XG5cdFx0XHRcdC0taGFsZjogY2xhbXAoMzhweCwgNC40dncsIDUwcHgpO1xuXG5cdFx0XHRcdHdpZHRoOiB2YXIoLS1oYWxmKTtcblx0XHRcdFx0aGVpZ2h0OiBjYWxjKHZhcigtLWhhbGYpICogMik7XG5cblx0XHRcdFx0Ly8gQSB0b3VjaCBsYXJnZXIgdGhhbiB0aGUgMjBweCBlbHNld2hlcmU6IGluIGEgaGFsZi1kaXNjIHRoZVxuXHRcdFx0XHQvLyBnbHlwaCBzaXRzIG9mZi1jZW50cmUgYWdhaW5zdCBhIGJpZyBjdXJ2ZSBhbmQgbmVlZHMgdGhlIGV4dHJhXG5cdFx0XHRcdC8vIHdlaWdodCB0byBob2xkIGl0cyBvd24uXG5cdFx0XHRcdHN2ZyB7IHdpZHRoOiAyMXB4OyBoZWlnaHQ6IDIxcHg7IH1cblx0XHRcdH1cblxuXHRcdFx0Ly8gUGFkZGluZyBwdXNoZXMgdGhlIGNlbnRyZWQgZ2x5cGggdG93YXJkIHRoZSBmbGF0IHNpZGUsIGkuZS4gdG93YXJkXG5cdFx0XHQvLyB0aGUgc2NyZWVuIGVkZ2UsIHNvIGl0IHJlYWRzIGFzIHNpdHRpbmcgSU4gdGhlIGRpc2MgcmF0aGVyIHRoYW5cblx0XHRcdC8vIGZsb2F0aW5nIGluIGl0cyBib3VuZGluZyBib3guIFdhcyAycHgsIHdoaWNoIGJhcmVseSByZWdpc3RlcmVkLlxuXHRcdFx0Ji0tcHJldiB7XG5cdFx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRcdGJvcmRlci1sZWZ0OiAwOyAgICAgICAgICAgICAgIC8vIG5vIGhhaXJsaW5lIGFnYWluc3QgdGhlIHNjcmVlbiBlZGdlXG5cdFx0XHRcdGJvcmRlci1yYWRpdXM6IDAgdmFyKC0taGFsZikgdmFyKC0taGFsZikgMDtcblx0XHRcdFx0cGFkZGluZy1yaWdodDogOHB4O1xuXHRcdFx0fVxuXG5cdFx0XHQmLS1uZXh0IHtcblx0XHRcdFx0cmlnaHQ6IDA7XG5cdFx0XHRcdGJvcmRlci1yaWdodDogMDtcblx0XHRcdFx0Ym9yZGVyLXJhZGl1czogdmFyKC0taGFsZikgMCAwIHZhcigtLWhhbGYpO1xuXHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDhweDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQvLyDilIDilIAgTW9iaWxlOiBlZGdlIHRvIGVkZ2Ug4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cdC8vICBUSEUgV0hPTEUgU0NSRUVOLCBpbW1lZGlhdGVseSwgd2l0aCBubyBmdWxsc2NyZWVuIHJlcXVlc3QgYW5kIHRoZXJlZm9yZVxuXHQvLyAgbm8gYnJvd3NlciB0b2FzdC4gVGhlIGJveCBkcm9wcyBpdHMgYXNwZWN0LXJhdGlvIGFuZCB0YWtlcyB0aGUgdmlld3BvcnQ7XG5cdC8vICBZb3VUdWJlJ3MgcGxheWVyIGxldHRlcmJveGVzIHRoZSA5OjE2IGNsaXAgaW5zaWRlIGl0IGV4YWN0bHkgdGhlIHdheSB0aGVcblx0Ly8gIFlvdVR1YmUgYXBwIGRvZXMsIHNvIHRoZSBjaHJvbWUgZmlsbHMgdGhlIHNjcmVlbiBhbmQgdGhlIHZpZGVvIGlzIGFzIGJpZ1xuXHQvLyAgYXMgaXQgY2FuIGJlLiBQcmV2aW91c2x5IHRoZSBtZWRpYSBrZXB0IGl0cyB3aW5kb3dlZCA5OjE2IHNpemUgZXZlbiBpblxuXHQvLyAgZnVsbHNjcmVlbiwgd2hpY2ggaXMgd2h5IHRoZSBjbGlwIHNhdCBpbiB0aGUgbWlkZGxlIG9mIGEgYmxhY2sgZmllbGQgYW5kXG5cdC8vICBuZWVkZWQgYSBzZWNvbmQgdGFwIG9uIHRoZSBwbGF5ZXIncyBvd24gZnVsbHNjcmVlbiBpY29uLlxuXHQvL1xuXHQvLyAgMTAwc3ZoLCBub3QgMTAwdmg6IHdpdGggYSBkeW5hbWljIGJyb3dzZXIgdG9vbGJhciwgMTAwdmggb3ZlcmZsb3dzIGFuZFxuXHQvLyAgcHVzaGVzIHRoZSBjbG9zZSBidXR0b24gb2ZmIHRoZSB0b3Agb2YgdGhlIHNjcmVlbi5cblx0QGluY2x1ZGUgYXQobWQpIHtcblx0XHRwYWRkaW5nOiAwO1xuXG5cdFx0LmxpZ2h0Ym94X19pbm5lcixcblx0XHQubGlnaHRib3hfX3N0YWdlIHsgd2lkdGg6IDEwMCU7IH1cblxuXHRcdC5saWdodGJveF9fbWVkaWEge1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRoZWlnaHQ6IDEwMHN2aDtcblx0XHRcdG1heC13aWR0aDogbm9uZTtcblx0XHRcdGFzcGVjdC1yYXRpbzogYXV0bztcblx0XHRcdGJvcmRlci1yYWRpdXM6IDA7XG5cdFx0XHRib3gtc2hhZG93OiBub25lO1xuXHRcdH1cblxuXHRcdC8vIFgsIHRvcCByaWdodCDigJQgdGhlIHNhbWUgdHJlYXRtZW50IGFzIGRlc2t0b3AsIG9uIGV2ZXJ5IHNpemUuXG5cdFx0Ly9cblx0XHQvLyBJdCBzcGVudCBhIHdoaWxlIGFzIGEgYmFjayBhcnJvdyBpbiB0aGUgdG9wIExFRlQsIGJlY2F1c2UgdGhlIHRvcFxuXHRcdC8vIHJpZ2h0IG9uIGEgcGhvbmUgaXMgd2hlcmUgWW91VHViZSBzdGFja2VkIG11dGUsIENDIGFuZCBzaGFyZSBhbmQgYVxuXHRcdC8vIGJ1dHRvbiB0aGVyZSBjb3ZlcmVkIHRoZW0uIFRoZSBwbGF5ZXIgaXMgaGVhZGxlc3Mgbm93IChzZWUgLnBsYXllclxuXHRcdC8vIGJlbG93KTogdGhlcmUgaXMgbm8gWW91VHViZSBjaHJvbWUgYW55d2hlcmUsIHNvIHRoYXQgY29ybmVyIGlzIGVtcHR5XG5cdFx0Ly8gYW5kIHRoZSBjb250cm9sIGNhbiBnbyBiYWNrIHdoZXJlIGl0IGJlbG9uZ3MuXG5cdFx0Ly9cblx0XHQvLyBPbmx5IHRoZSBvZmZzZXRzIGNoYW5nZSBoZXJlIOKAlCB0aGUgaW5zZXRzIGNsZWFyIHRoZSBub3RjaCBhbmQgdGhlXG5cdFx0Ly8gcm91bmRlZCBjb3JuZXIsIHdoaWNoIHRoZSBkZXNrdG9wIGNsYW1wKCkgZG9lc24ndCBhY2NvdW50IGZvci5cblx0XHQubGlnaHRib3hfX2J0bi0tY2xvc2Uge1xuXHRcdFx0dG9wOiAgIG1heCgxcmVtLCBlbnYoc2FmZS1hcmVhLWluc2V0LXRvcCkpO1xuXHRcdFx0cmlnaHQ6IG1heCgxcmVtLCBlbnYoc2FmZS1hcmVhLWluc2V0LXJpZ2h0KSk7XG5cdFx0fVxuXHR9XG59XG5cbi8vIOKUgOKUgCBTY3JvbGwgbG9jayDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi8vICDimqAgU0hBUkVELCBkZXNwaXRlIGxpdmluZyBpbiB0aGUgbGlnaHRib3ggcGFydGlhbC4gU2V0IGJ5IGEtbG9jay5qcyBvbiBiZWhhbGZcbi8vICBvZiBCT1RIIHRoZSBsaWdodGJveCBhbmQgdGhlIG1vYmlsZSBkcmF3ZXIgYXMgb2YgMjAyNi0wOC0wOCDigJQgaXQgc3RheXMgaGVyZVxuLy8gIG9ubHkgYmVjYXVzZSB0aGlzIGlzIHdoZXJlIGl0IHdhcyB3cml0dGVuOyB0cmVhdCBpdCBhcyBnbG9iYWwuIEl0IGtlcHQgaXRzXG4vLyAgbmFtZSAoYGlzLWxvY2tlZC1maXhlZGApIHRocm91Z2ggdGhhdCBjaGFuZ2Ugc28gbm90aGluZyBoYWQgdG8gYmUgcmVuYW1lZFxuLy8gIGFjcm9zcyB0aHJlZSBmaWxlcy5cbi8vXG4vLyAgYS1sb2NrLmpzIGFsc28gc3RvcmVzIGFuZCByZXN0b3JlcyB0aGUgc2Nyb2xsIG9mZnNldCDigJQgYSBmaXhlZCBib2R5IGxvc2VzXG4vLyAgaXQsIHNvIHdpdGhvdXQgdGhhdCB0aGUgcGFnZSB3b3VsZCBzbmFwIHRvIHRoZSB0b3Agb24gb3BlbiBhbmQgc3RheSB0aGVyZSBvblxuLy8gIGNsb3NlLlxuLy9cbi8vICBwb3NpdGlvbjpmaXhlZCByYXRoZXIgdGhhbiBwbGFpbiBvdmVyZmxvdzpoaWRkZW4gYmVjYXVzZSBpT1MgU2FmYXJpIGlnbm9yZXNcbi8vICBvdmVyZmxvdzpoaWRkZW4gb24gYm9keSBhbmQgaGFwcGlseSBzY3JvbGxzIHRoZSBwYWdlIGJlaGluZCB0aGUgb3ZlcmxheS5cbi8vICBUaGF0IGlzIGV4YWN0bHkgd2h5IHRoZSBkcmF3ZXIncyBvbGQgYC5pcy1sb2NrZWRgIHJ1bGUgd2FzIGRlbGV0ZWQgZnJvbVxuLy8gIF9uYXYuc2NzcyByYXRoZXIgdGhhbiBrZXB0IGFsb25nc2lkZSB0aGlzIG9uZS5cbmJvZHkuaXMtbG9ja2VkLWZpeGVkIHtcblx0cG9zaXRpb246IGZpeGVkO1xuXHRsZWZ0OiAwO1xuXHRyaWdodDogMDtcblx0d2lkdGg6IDEwMCU7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdG92ZXJzY3JvbGwtYmVoYXZpb3I6IG5vbmU7XG59XG4iLCJAdXNlIFwidG9rZW5zXCIgYXMgKjtcblxuLy8g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4vLyAgSU5URVJJT1IgU0lOR0xFIFRFTVBMQVRFUyDigJQgZXBpc29kZSwgYmxvZyBhcnRpY2xlLCBhbmQgdGhlIHByZXYvbmV4dCB0aGV5IHNoYXJlXG4vL1xuLy8gIEV2ZXJ5IG9uZSBmb2xsb3dzIHRoZSBzYW1lIHNoYXBlOiBzaGVsbC0tbmFycm93LCBhIGhlYWQgYmxvY2ssIG9uZSBwaWVjZSBvZlxuLy8gIG1lZGlhLCB0aGUgY29weSwgdGhlbiB0aGUgd2F5IG91dC4gS2VwdCBpbiBPTkUgcGFydGlhbCBiZWNhdXNlIHRoZSB0aHJlZVxuLy8gIGJsb2NrcyBiZWxvdyByZWZlcmVuY2UgZWFjaCBvdGhlcidzIHNwYWNpbmc7IHNwbGl0dGluZyB0aGVtIHBlciB0ZW1wbGF0ZSBpc1xuLy8gIHdoYXQgbGV0IHRoZSBob21lcGFnZSBzZWN0aW9ucyBkcmlmdCBhcGFydCBiZWZvcmUuXG4vL1xuLy8gIOKaoCBUaGVpciB0b3Agb2Zmc2V0IGNvbWVzIGZyb20gYCNtYWluID4gLnNlY3Rpb246Zmlyc3QtY2hpbGRgIGluIF9iYXNlLnNjc3MsXG4vLyAgTk9UIGZyb20gYW55dGhpbmcgaGVyZS4gVGhlIG5hdiBpcyBwb3NpdGlvbjpmaXhlZCBhbmQgdGFrZXMgbm8gc3BhY2UgaW4gdGhlXG4vLyAgZmxvdzsgdGhhdCBydWxlIGlzIHRoZSBvbmx5IHRoaW5nIHN0YW5kaW5nIGJldHdlZW4gdGhlc2UgdGl0bGVzIGFuZCB0aGUgYmFyLlxuLy8gIERvbid0IGFkZCBhIHNlY29uZCBvZmZzZXQgaGVyZSDigJQgaXQgd291bGQgZG91YmxlIHVwLlxuLy8g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cbi5lcC1zaW5nbGUge1xuXG5cdCZfX2hlYWQge1xuXHRcdC8vIFdhcyBjbGFtcCgycmVtLCA0dncsIDMuNXJlbSk7IEpvZSwgMjAyNi0wOS0xNTogXCJjbG9zZSB0aGUgZ2FwXG5cdFx0Ly8gYmV0d2VlbiB0aGUgdGl0bGUgYW5kIHRoZSB2aWRlb1wiLiBUaGUgZGF0ZSB1bmRlciB0aGUgdGl0bGUgbm93XG5cdFx0Ly8gY2FycmllcyBpdHMgb3duIHNwKDMpIGFib3ZlLCBzbyB0aGUgaGVhZCBuZWVkcyBsZXNzIGJlbG93LlxuXHRcdG1hcmdpbi1ib3R0b206IGNsYW1wKDEuMjVyZW0sIDIuNXZ3LCAycmVtKTtcblxuXHRcdC8vIFRoZSBwb3N0IGV5ZWJyb3cgaXMgdGhlIGxpc3Rpbmcgcm93cycgYmx1ZSBsYWJlbCDigJQgXCJFUC4gOFwiLCBcIjMgbWluXG5cdFx0Ly8gcmVhZFwiLCBcIjE6MjdcIiDigJQgbm90IHRoZSBtb25vIHNwYWNlZCAuZXllYnJvdyB0aGUgc2VjdGlvbiBoZWFkcyB1c2Vcblx0XHQvLyAoSm9lLCAyMDI2LTA5LTE1OiBcInNhbWUgYm9sZCBibHVlIGZvbnQvc3R5bGluZyBhcyB0aGUgYXJjaGl2ZVxuXHRcdC8vIGdyaWRzL2xpc3RzXCIpLiBNb2RpZmllciwgbm90IGEgZ2xvYmFsIGNoYW5nZTogXCJUSEUgU0hPV1wiIC8gXCJRVUlDS1xuXHRcdC8vIFRBS0VTXCIgc2VjdGlvbiBleWVicm93cyBzdGF5IG1vbm8uXG5cdFx0LmV5ZWJyb3ctLXBvc3Qge1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRAaW5jbHVkZSBsYWJlbDtcblx0XHRcdGZvbnQtc2l6ZTogY2xhbXAoMXJlbSwgMS4zdncsIDEuM3JlbSk7ICAgLy8gYSBzdGVwIHVwIGZyb20gdGhlIGxpc3Qg4oCUIHRoaXMgaXMgYW4gaDEncyBsYWJlbFxuXHRcdFx0bGV0dGVyLXNwYWNpbmc6IC0uMDFlbTtcblx0XHRcdGNvbG9yOiB2YXIoLS1hY2NlbnQtaW5rKTtcblx0XHR9XG5cdH1cblxuXHQvLyBzaW5nbGUtYmxvZy5waHAgcmV1c2VzIHRoZSBoZWFkIGFzIC5lcC1zaW5nbGVfX2hlYWQuYXJ0aWNsZV9faGVhZCDigJRcblx0Ly8gdGhlIGJ5bGluZSBibG9jayBmb2xsb3dzIGl0LCBzbyB0aGUgaGVhZCdzIG93biBib3R0b20gbWFyZ2luIGlzIGN1dFxuXHQvLyBiYWNrIHRvIGtlZXAgdGhlIGRhdGUgYW5kIHRoZSBhdXRob3IgZnJvbSBkcmlmdGluZyBhcGFydC5cblx0Jl9faGVhZC5hcnRpY2xlX19oZWFkIHsgbWFyZ2luLWJvdHRvbTogc3AoNSk7IH1cblxuXHQvLyBEYXRlIFVOREVSIHRoZSB0aXRsZSwgaW4gdGhlIGxpc3Rpbmcgcm93cycgcGhvbmUtZGF0ZSB2b2ljZSDigJQgZ3JleSBib2R5XG5cdC8vIHRleHQgKEpvZSwgMjAyNi0wOS0xNTogXCJtb3ZlIHRoZSBkYXRlIGJlbG93IHRoZSB0aXRsZSwgYm90aCBFcGlzb2Rlc1xuXHQvLyBhbmQgQmxvZ1wiKS4gSXQgdXNlZCB0byBsZWFkIHRoZSBleWVicm93IChcIkVQLiA4IC8gSkFOIDMwLCAyMDI1XCIpLlxuXHQmX19kYXRlIHtcblx0XHRtYXJnaW46IHNwKDMpIDAgMDtcblx0XHRmb250LWZhbWlseTogdmFyKC0tZm9udC1ib2R5KTtcblx0XHRmb250LXNpemU6IDEuMDVyZW07XG5cdFx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0XHRjb2xvcjogdmFyKC0taW5rLTIpO1xuXHR9XG5cblx0Jl9fdGl0bGUge1xuXHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuXHRcdC8vIFNtYWxsZXIgdGhhbiAuc2VjdGlvbl9fdGl0bGUncyBjZWlsaW5nIG9uIHB1cnBvc2U6IGFuIGVwaXNvZGUgdGl0bGUgaXNcblx0XHQvLyBhIHNlbnRlbmNlLCBub3QgYSBvbmUtd29yZCBzZWN0aW9uIGxhYmVsLCBhbmQgdGhlIHNhbWUgdXBwZXIgYm91bmRcblx0XHQvLyBwcm9kdWNlZCBmb3VyLWxpbmUgaGVhZGluZ3Mgb24gYSBsYXB0b3AuXG5cdFx0Zm9udC1zaXplOiBmbHVpZCgzMCwgNjIpO1xuXHRcdGZvbnQtd2VpZ2h0OiA5MDA7XG5cdFx0bGluZS1oZWlnaHQ6IDEuMDI7XG5cdFx0bGV0dGVyLXNwYWNpbmc6IC0uMDNlbTtcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdG1hcmdpbi10b3A6IHNwKDMpO1xuXHRcdC8vIExvbmcgdW5icm9rZW4gd29yZHMgaW4gYSBwYXN0ZWQgWW91VHViZSB0aXRsZSB3b3VsZCBvdGhlcndpc2UgcHVzaCB0aGVcblx0XHQvLyBzaGVsbCB3aWRlciB0aGFuIHRoZSB2aWV3cG9ydC5cblx0XHRvdmVyZmxvdy13cmFwOiBhbnl3aGVyZTtcblx0fVxuXG5cdC8vIOKUgOKUgCBWaWRlbyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblx0Ly8gYXNwZWN0LXJhdGlvIG9uIHRoZSBXUkFQUEVSIHdpdGggdGhlIGlmcmFtZSBhYnNvbHV0ZWx5IGZpbGxpbmcgaXQsIHJhdGhlclxuXHQvLyB0aGFuIGFzcGVjdC1yYXRpbyBvbiB0aGUgaWZyYW1lIGl0c2VsZi4gU29tZSBlbWJlZCBwcm92aWRlcnMgd3JpdGUgaW5saW5lXG5cdC8vIHdpZHRoL2hlaWdodCBhdHRyaWJ1dGVzIG9udG8gdGhlIGVsZW1lbnQgYWZ0ZXIgbG9hZCwgd2hpY2ggd2lucyBvdmVyIGFcblx0Ly8gYmFyZSBgYXNwZWN0LXJhdGlvYCBvbiB0aGF0IHNhbWUgZWxlbWVudCBhbmQgY29sbGFwc2VzIHRoZSBmcmFtZS4gVGhlXG5cdC8vIHdyYXBwZXIgb3ducyB0aGUgYm94OyB0aGUgaWZyYW1lIG9ubHkgaGFzIHRvIGZpbGwgaXQuXG5cdCZfX3BsYXllcixcblx0Jl9fYXJ0IHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0YXNwZWN0LXJhdGlvOiAxNiAvIDk7XG5cdFx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWxnKTtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdGJhY2tncm91bmQ6IHZhcigtLXdhc2gpO1xuXHRcdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpbmUpO1xuXHRcdG1hcmdpbi1ib3R0b206IGNsYW1wKDEuNXJlbSwgM3Z3LCAyLjVyZW0pO1xuXG5cdFx0aWZyYW1lLFxuXHRcdGltZyB7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRpbnNldDogMDtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0Ym9yZGVyOiAwO1xuXHRcdH1cblxuXHRcdGltZyB7IG9iamVjdC1maXQ6IGNvdmVyOyB9XG5cdH1cblxuXHQvLyDilIDilIAgUG9kY2FzdCBwbGF5ZXIg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cdC8vIOKaoCBOTyBhc3BlY3QtcmF0aW8gYW5kIE5PIGZpeGVkIGhlaWdodC4gVGhpcyBpcyBhIFRISVJELVBBUlRZIGlmcmFtZSBwYXN0ZWRcblx0Ly8gYnkgdGhlIGNsaWVudCwgYW5kIGl0IGFycml2ZXMgY2FycnlpbmcgaXRzIG93biBpbmxpbmUgaGVpZ2h0ICgxNTBweCBvbiB0aGVcblx0Ly8gb25lcyBvbiB0aGlzIHNpdGUpLiBGb3JjaW5nIGEgcmF0aW8gaGVyZSBmb3VnaHQgdGhhdCBpbmxpbmUgc3R5bGUgYW5kXG5cdC8vIGNsaXBwZWQgdGhlIHBsYXkgYnV0dG9uOyBsZXR0aW5nIHRoZSBlbWJlZCBzaXplIGl0c2VsZiBpcyBjb3JyZWN0LCBhbmQgdGhlXG5cdC8vIG1pbi1oZWlnaHQgb25seSBndWFyZHMgYWdhaW5zdCBhIHBhc3RlIHRoYXQgc3BlY2lmaWVzIG5vbmUgYXQgYWxsLlxuXHQmX19hdWRpbyB7XG5cdFx0bWFyZ2luLWJvdHRvbTogY2xhbXAoMS41cmVtLCAzdncsIDIuNXJlbSk7XG5cblx0XHRpZnJhbWUge1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdG1pbi1oZWlnaHQ6IDE1MHB4O1xuXHRcdFx0Ym9yZGVyOiAwO1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcblx0XHR9XG5cdH1cblxuXHQmX19iYWNrIHtcblx0XHRtYXJnaW4tdG9wOiBjbGFtcCgycmVtLCA1dncsIDRyZW0pO1xuXHR9XG59XG5cblxuLy8g4pSA4pSAIEdlbmVyaWMgc2luZ2xlIG1lZGlhIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLy8gIFVzZWQgYnkgc2luZ2xlLnBocCwgdGhlIEZBTExCQUNLIHRlbXBsYXRlIChndWVzdHMsIHNob3J0cywgYW55dGhpbmcgYWRkZWRcbi8vICBsYXRlcikuIFNhbWUgd3JhcHBlci1vd25zLXRoZS1ib3ggYXBwcm9hY2ggYXMgLmVwLXNpbmdsZV9fcGxheWVyOiB0aGUgcmF0aW9cbi8vICBsaXZlcyBvbiB0aGUgY29udGFpbmVyIGFuZCB0aGUgaWZyYW1lL2ltZyBqdXN0IGZpbGxzIGl0LCBiZWNhdXNlIHNvbWUgZW1iZWRcbi8vICBwcm92aWRlcnMgd3JpdGUgaW5saW5lIHdpZHRoL2hlaWdodCBvbnRvIHRoZSBlbGVtZW50IGFmdGVyIGxvYWQgYW5kIHRoYXRcbi8vICBiZWF0cyBhIGJhcmUgYXNwZWN0LXJhdGlvIG9uIHRoZSBzYW1lIGVsZW1lbnQuXG4uc2luZ2xlLW1lZGlhIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRhc3BlY3QtcmF0aW86IDE2IC8gOTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWxnKTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0YmFja2dyb3VuZDogdmFyKC0td2FzaCk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpbmUpO1xuXHRtYXJnaW4tYmxvY2s6IGNsYW1wKDEuNXJlbSwgM3Z3LCAyLjVyZW0pO1xuXG5cdGlmcmFtZSxcblx0aW1nIHtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0aW5zZXQ6IDA7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdGJvcmRlcjogMDtcblx0fVxuXG5cdGltZyB7IG9iamVjdC1maXQ6IGNvdmVyOyB9XG5cblx0Ly8gU2hvcnRzIGFyZSBwaG9uZS1zaGFwZWQuIOKaoCBUaGUgbWF4LXdpZHRoIGlzIHdoYXQgc3RvcHMgYSA5LzE2IGZyYW1lIGZyb21cblx0Ly8gcnVubmluZyB0YWxsZXIgdGhhbiB0aGUgc2NyZWVuIG9uIGRlc2t0b3Ag4oCUIHdpdGggb25seSBhIHJhdGlvIHNldCwgYVxuXHQvLyA5MDBweC13aWRlIHNoZWxsIHdvdWxkIG1ha2UgYSAxNjAwcHgtdGFsbCB2aWRlby4gQ2FwcGluZyB0aGUgV0lEVEggaXMgdGhlXG5cdC8vIG9ubHkgbGV2ZXIsIGJlY2F1c2UgdGhlIGhlaWdodCBpcyBkZXJpdmVkIGZyb20gaXQuXG5cdCYtLXBvcnRyYWl0IHtcblx0XHRhc3BlY3QtcmF0aW86IDkgLyAxNjtcblx0XHRtYXgtd2lkdGg6IG1pbigxMDAlLCAzODBweCk7XG5cdFx0bWFyZ2luLWlubGluZTogYXV0bztcblx0fVxuXG59XG5cblxuLy8g4pSA4pSAIEJsb2cgYXJ0aWNsZSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi8vICBEZWxpYmVyYXRlbHkgTk9UIHJldXNpbmcgLmVwLXNpbmdsZS4gVGhleSBsb29rIHNpbWlsYXIgdG9kYXksIGJ1dCBhbiBlcGlzb2RlXG4vLyAgaXMgYnVpbHQgYXJvdW5kIGEgcGxheWVyIGFuZCBhbiBhcnRpY2xlIGFyb3VuZCBhIGJ5bGluZSwgYW5kIHRoZSB0d28gd2lsbFxuLy8gIGRpdmVyZ2Ug4oCUIHNoYXJpbmcgdGhlIGJsb2NrIG5vdyB3b3VsZCBtZWFuIHVucGlja2luZyBpdCBsYXRlci4gV2hhdCBJUyBzaGFyZWRcbi8vICBpcyAucG5hdiBiZWxvdywgYmVjYXVzZSBwcmV2L25leHQgaXMgdGhlIHNhbWUgY29tcG9uZW50IGluIGJvdGguXG4uYXJ0aWNsZSB7XG5cblx0Jl9fbWVkaWEge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRhc3BlY3QtcmF0aW86IDE2IC8gOTtcblx0XHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbGcpO1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0YmFja2dyb3VuZDogdmFyKC0td2FzaCk7XG5cdFx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tbGluZSk7XG5cdFx0bWFyZ2luLWJvdHRvbTogc3AoMyk7XG5cblx0XHRpbWcge1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0aW5zZXQ6IDA7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdGhlaWdodDogMTAwJTtcblx0XHRcdG9iamVjdC1maXQ6IGNvdmVyO1xuXHRcdH1cblx0fVxuXG5cdC8vIENyZWRpdCBhbmQgY2FwdGlvbiBzaXQgVU5ERVIgdGhlIGltYWdlLCBub3Qgb3ZlciBpdC4gT3ZlcmxhaWQsIHRoZXkgbGFuZGVkXG5cdC8vIG9uIHdoYXRldmVyIHRoZSBwaG90byBoYXBwZW5lZCB0byBjb250YWluIGFuZCB3ZXJlIHVucmVhZGFibGUgb24gYWJvdXQgaGFsZlxuXHQvLyB0aGUgbGlicmFyeS5cblx0Jl9fY3JlZGl0IHtcblx0XHRmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vKTtcblx0XHRmb250LXNpemU6IC42NnJlbTtcblx0XHRsZXR0ZXItc3BhY2luZzogLjEyZW07XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRjb2xvcjogdmFyKC0taW5rLTMpO1xuXHRcdG1hcmdpbi1ib3R0b206IGNsYW1wKDEuNXJlbSwgM3Z3LCAyLjVyZW0pO1xuXHR9XG5cblx0Jl9fdGl0bGUge1xuXHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuXHRcdGZvbnQtc2l6ZTogZmx1aWQoMjgsIDU0KTtcblx0XHRmb250LXdlaWdodDogOTAwO1xuXHRcdGxpbmUtaGVpZ2h0OiAxLjA0O1xuXHRcdGxldHRlci1zcGFjaW5nOiAtLjAyZW07XG5cdFx0bWFyZ2luLXRvcDogc3AoMyk7XG5cdFx0b3ZlcmZsb3ctd3JhcDogYW55d2hlcmU7XG5cdH1cblxuXHQvLyDilIDilIAgQnlsaW5lIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXHQvLyBHcmlkIHJhdGhlciB0aGFuIGZsZXggc28gdGhlIHBob3RvIGNhbiBzcGFuIGJvdGggdGV4dCByb3dzIGFuZCBzdGF5XG5cdC8vIHZlcnRpY2FsbHkgY2VudHJlZCBhZ2FpbnN0IHRoZW0gd2l0aG91dCBhIG1hZ2ljIGxpbmUtaGVpZ2h0LlxuXHQmX19ieSB7XG5cdFx0ZGlzcGxheTogZ3JpZDtcblx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gMWZyO1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0Z2FwOiBzcCgzKTtcblx0XHRtYXJnaW4tYmxvY2s6IGNsYW1wKDEuNXJlbSwgM3Z3LCAyLjVyZW0pO1xuXHRcdHBhZGRpbmctYm90dG9tOiBjbGFtcCgxLjVyZW0sIDN2dywgMi41cmVtKTtcblx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tbGluZSk7XG5cdH1cblxuXHQmX19hdmF0YXIge1xuXHRcdHdpZHRoOiA0NnB4O1xuXHRcdGhlaWdodDogNDZweDtcblx0XHRib3JkZXItcmFkaXVzOiA5OTlweDtcblx0XHRvYmplY3QtZml0OiBjb3Zlcjtcblx0XHQvLyBUaGUgcGhvdG9zIGFyZSB1c2VyIHVwbG9hZHMgb2Ygd2lsZGx5IG1peGVkIHF1YWxpdHk7IGEgcmluZyBrZWVwcyBhXG5cdFx0Ly8gcGFsZSBvbmUgZnJvbSBkaXNzb2x2aW5nIGludG8gdGhlIHBhZ2UuXG5cdFx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tbGluZS0yKTtcblx0fVxuXG5cdCZfX2F1dGhvciB7XG5cdFx0ZGlzcGxheTogZ3JpZDtcblx0XHRnYXA6IDJweDtcblx0XHQvLyBtaW4td2lkdGg6MCBzbyBhIGxvbmcgaGFuZGxlIHRydW5jYXRlcyBpbnN0ZWFkIG9mIHdpZGVuaW5nIHRoZSBncmlkLlxuXHRcdG1pbi13aWR0aDogMDtcblx0fVxuXG5cdCZfX25hbWUge1xuXHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdFx0Zm9udC1zaXplOiAuOTVyZW07XG5cdFx0Y29sb3I6IHZhcigtLWluayk7XG5cdH1cblxuXHQmX19oYW5kbGUge1xuXHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm8pO1xuXHRcdGZvbnQtc2l6ZTogLjdyZW07XG5cdFx0bGV0dGVyLXNwYWNpbmc6IC4wOGVtO1xuXHRcdGNvbG9yOiB2YXIoLS1pbmstMyk7XG5cdFx0dHJhbnNpdGlvbjogY29sb3IgdmFyKC0tZHVyLWZhc3QpICRlYXNlO1xuXG5cdFx0QGluY2x1ZGUgY2FuLWhvdmVyIHtcblx0XHRcdCY6aG92ZXIgeyBjb2xvcjogdmFyKC0tYWNjZW50LWluayk7IH1cblx0XHR9XG5cdH1cblxuXHQmX19iYWNrIHtcblx0XHRtYXJnaW4tdG9wOiBjbGFtcCgycmVtLCA1dncsIDRyZW0pO1xuXHR9XG59XG5cblxuLy8g4pSA4pSAIFByZXZpb3VzIC8gbmV4dCDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi8vICBTSEFSRUQgYnkgc2luZ2xlLXBvc3QucGhwIGFuZCBzaW5nbGUtYmxvZy5waHAg4oCUIGhlbmNlIC5wbmF2IGFuZCBub3QgLmVwLW5hdixcbi8vICB3aGljaCBpcyB3aGF0IGl0IHdhcyBjYWxsZWQgd2hpbGUgb25seSBlcGlzb2RlcyB1c2VkIGl0LlxuLy9cbi8vICBUd28gc2xvdHMsIEFMV0FZUyBib3RoIHJlbmRlcmVkIOKAlCB0aGUgdGVtcGxhdGUgZW1pdHMgYW4gZW1wdHkgPHNwYW4+IGZvciBhXG4vLyAgbWlzc2luZyBuZWlnaGJvdXIuIFdpdGggYSBzaW5nbGUgbGluayBhbmQgbm8gcGxhY2Vob2xkZXIsIGBzcGFjZS1iZXR3ZWVuYFxuLy8gIHdvdWxkIHBhcmsgdGhlIG9ubHkgbGluayBvbiB0aGUgbGVmdCB3aGV0aGVyIGl0IHdhcyB0aGUgcHJldmlvdXMgb3IgdGhlIG5leHRcbi8vICBvbmUsIHdoaWNoIHJlYWRzIGFzIHRoZSB3cm9uZyBkaXJlY3Rpb24gYXQgdGhlIGVuZHMgb2YgdGhlIGFyY2hpdmUuXG4ucG5hdiB7XG5cdGRpc3BsYXk6IGdyaWQ7XG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcblx0Z2FwOiBzcCgzKTtcblx0Ly8gRXF1YWwgYWlyIGVpdGhlciBzaWRlIG9mIHRoZSBydWxlIChKb2UsIDIwMjYtMDktMTU6IFwidGhlIGdhcCB1bmRlclxuXHQvLyB0aGUgYm9keSB0ZXh0IHNob3VsZCBtYXRjaCB0aGUgZ2FwIGZyb20gdGhlIHNlcGFyYXRvciB0byB0aGVcblx0Ly8gcHJldi9uZXh0XCIpLiBtYXJnaW4tdG9wIHdhcyBjbGFtcCgyLjVyZW0sIDV2dywgNHJlbSkg4oCUIGEgc3RlcCBtb3JlXG5cdC8vIGFib3ZlIHRoYW4gYmVsb3csIHdoaWNoIHJlYWQgYXMgdGhlIHJ1bGUgc2l0dGluZyBsb3cuXG5cdG1hcmdpbi10b3A6IGNsYW1wKDJyZW0sIDR2dywgM3JlbSk7XG5cdHBhZGRpbmctdG9wOiBjbGFtcCgycmVtLCA0dncsIDNyZW0pO1xuXHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tbGluZSk7XG5cblx0Ly8gQWZ0ZXIgdGhlIHRhZ3MgYmxvY2sgdGhlIHNwYWNlIGJlbG93IHRoZSBwaWxscyBtdXN0IGVxdWFsIHRoZSBzcGFjZVxuXHQvLyBhYm92ZSB0aGVtIOKAlCBzcCg1KSwgdGhlIHRhZ3MnIG93biBwYWRkaW5nLXRvcCDigJQgb3IgdGhlIHBpbGxzIHNpdCBoaWdoXG5cdC8vIGluIHRoZWlyIGJhbmQgKEpvZSwgMjAyNi0wOS0xNTogXCJjbG9zZSB0aGUgYm90dG9tIGdhcCBvbiB0aGUgSW4gVGhpc1xuXHQvLyBFcGlzb2RlLCBpdCBsb29rcyB1bmV2ZW5cIikuIFRoZSBjbGFtcCBhYm92ZSBpcyBmb3Igd2hlbiAucG5hdiBmb2xsb3dzXG5cdC8vIHByb3NlIGRpcmVjdGx5LlxuXHQudGFncyArICYgeyBtYXJnaW4tdG9wOiBzcCg1KTsgfVxuXG5cdCZfX3Nsb3Qge1xuXHRcdGRpc3BsYXk6IGdyaWQ7XG5cdFx0Ly8gVGh1bWIgaW4gaXRzIG93biBjb2x1bW4sIHRoZSB0d28gdGV4dCBsaW5lcyBzdGFja2VkIGJlc2lkZSBpdDtcblx0XHQvLyBQcmV2aW91cyBwdXRzIGl0IGxlZnQsIE5leHQgcHV0cyBpdCByaWdodCAoc2VlICZfX3RodW1iKS5cblx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gbWlubWF4KDAsIDFmcik7XG5cdFx0Z3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvIGF1dG87XG5cdFx0Y29sdW1uLWdhcDogc3AoNCk7XG5cdFx0cm93LWdhcDogc3AoMSk7XG5cdFx0YWxpZ24tY29udGVudDogY2VudGVyO1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0cGFkZGluZzogc3AoNCk7XG5cdFx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tbGluZSk7XG5cdFx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcblx0XHR0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgdmFyKC0tZHVyLWZhc3QpICRlYXNlLCB0cmFuc2Zvcm0gdmFyKC0tZHVyLWZhc3QpICRlYXNlO1xuXG5cdFx0Ly8gVGhlIGVtcHR5IHBsYWNlaG9sZGVyIG11c3Qgbm90IGxvb2sgbGlrZSBhIGNhcmQuXG5cdFx0Jjpub3QoW2hyZWZdKSB7XG5cdFx0XHRib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdFx0fVxuXG5cdFx0Ji0tbmV4dCB7XG5cdFx0XHR0ZXh0LWFsaWduOiByaWdodDtcblx0XHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDAsIDFmcikgYXV0bztcblx0XHRcdC5wbmF2X190aHVtYiB7IGdyaWQtY29sdW1uOiAyOyB9XG5cdFx0XHQucG5hdl9fZGlyLCAucG5hdl9fdGl0bGUgeyBncmlkLWNvbHVtbjogMTsgfVxuXHRcdH1cblxuXHRcdEBpbmNsdWRlIGNhbi1ob3ZlciB7XG5cdFx0XHQmW2hyZWZdOmhvdmVyIHtcblx0XHRcdFx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1hY2NlbnQpO1xuXHRcdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTNweCk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Ly8gVGhlIHBvc3QncyBhcnR3b3JrIOKAlCBzYW1lIGNyb3AgYXMgZXZlcnkgbGlzdGluZyB0aHVtYiAoMTYvOSwgY292ZXIpLlxuXHQvLyBBIHJvdy1zcGFuIHNvIHRoZSBkaXIgKyB0aXRsZSBzdGFjayBjZW50cmUgYWdhaW5zdCBpdC5cblx0Jl9fdGh1bWIge1xuXHRcdGdyaWQtcm93OiAxIC8gc3BhbiAyO1xuXHRcdHdpZHRoOiAxMTJweDtcblx0XHRhc3BlY3QtcmF0aW86IDE2IC8gOTtcblx0XHRib3JkZXItcmFkaXVzOiA4cHg7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1iZy0zKTtcblx0XHRpbWcgeyBkaXNwbGF5OiBibG9jazsgd2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTsgb2JqZWN0LWZpdDogY292ZXI7IH1cblxuXHRcdEBpbmNsdWRlIGF0KHNtKSB7IHdpZHRoOiA4OHB4OyB9XG5cdH1cblxuXHQmX19kaXIge1xuXHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm8pO1xuXHRcdGZvbnQtc2l6ZTogLjY2cmVtO1xuXHRcdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdFx0bGV0dGVyLXNwYWNpbmc6IC4xOGVtO1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0Y29sb3I6IHZhcigtLWluay0zKTtcblx0fVxuXG5cdCZfX3RpdGxlIHtcblx0XHRmb250LXNpemU6IC45NXJlbTtcblx0XHRjb2xvcjogdmFyKC0taW5rKTtcblx0XHQvLyBUd28gbGluZXMgbWF4aW11bS4gRXBpc29kZSB0aXRsZXMgaGVyZSBydW4gbG9uZyBlbm91Z2ggdGhhdCBhblxuXHRcdC8vIHVuY2xhbXBlZCBvbmUgbWFrZXMgdGhlIHR3byBjYXJkcyB3aWxkbHkgZGlmZmVyZW50IGhlaWdodHMuXG5cdFx0ZGlzcGxheTogLXdlYmtpdC1ib3g7XG5cdFx0LXdlYmtpdC1saW5lLWNsYW1wOiAyO1xuXHRcdC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0fVxuXG5cdC8vIE9uZSBjb2x1bW4gb24gYSBwaG9uZTogc2lkZS1ieS1zaWRlIGxlYXZlcyB+MTggY2hhcmFjdGVycyBwZXIgY2FyZCwgd2hpY2hcblx0Ly8gY2xhbXBzIGV2ZXJ5IHRpdGxlIHRvIGFuIHVucmVhZGFibGUgc3R1Yi5cblx0QGluY2x1ZGUgYXQoc20pIHtcblx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcblxuXHRcdCZfX3Nsb3QtLW5leHQge1xuXHRcdFx0dGV4dC1hbGlnbjogbGVmdDtcblx0XHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byBtaW5tYXgoMCwgMWZyKTtcblx0XHRcdC5wbmF2X190aHVtYiB7IGdyaWQtY29sdW1uOiAxOyB9XG5cdFx0XHQucG5hdl9fZGlyLCAucG5hdl9fdGl0bGUgeyBncmlkLWNvbHVtbjogMjsgfVxuXHRcdH1cblx0XHQvLyBXaXRoIG9uZSBjb2x1bW4gdGhlIGVtcHR5IHBsYWNlaG9sZGVyIHdvdWxkIG9jY3VweSBhIHdob2xlIHJvdyBvZlxuXHRcdC8vIGJsYW5rIHNwYWNlLCBzbyBpdCBnb2VzIGVudGlyZWx5LlxuXHRcdCZfX3Nsb3Q6bm90KFtocmVmXSkgeyBkaXNwbGF5OiBub25lOyB9XG5cdH1cbn1cblxuXG4vLyDilIDilIAgQXBwZWFyYW5jZXMg4oCUIG9uIGEgZ3Vlc3QncyBwYWdlIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLy8gIFwiRXZlcnkgZXBpc29kZSwgYXJ0aWNsZSBhbmQgc2hvcnQgdGhpcyBndWVzdCBpcyB0YWdnZWQgaW5cIiDigJQgc2luZ2xlLnBocCxcbi8vICBkYXRhIGZyb20gc2lnX2d1ZXN0X2FwcGVhcmFuY2VzKCkuIFNhbWUgLmNhcmQgZ3JpZCBhcyB0aGUgYXJjaGl2ZXMgKGluZGV4LnBocCksIHNvIG5vdGhpbmdcbi8vICByb3ctbGV2ZWwgbGl2ZXMgaGVyZTsgdGhpcyBpcyBvbmx5IHRoZSBibG9jaydzIHNwYWNpbmcgYW5kIGEgaGVhZGluZyBvbmVcbi8vICBzdGVwIGRvd24gZnJvbSB0aGUgc2VjdGlvbiBzY2FsZSwgYmVjYXVzZSBpdCBzaXRzIFVOREVSIGEgcGFnZSBoMSBhbmQgdGhlXG4vLyAgZnVsbCBmbHVpZCgzOCwgOTIpIHdvdWxkIG91dC1zaG91dCB0aGUgZ3Vlc3QncyBvd24gbmFtZS5cbi5hcHBlYXJhbmNlcyB7XG5cdG1hcmdpbi10b3A6IGNsYW1wKDIuNXJlbSwgNXZ3LCA0LjVyZW0pO1xuXHRwYWRkaW5nLXRvcDogY2xhbXAoMnJlbSwgNHZ3LCAzcmVtKTtcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWxpbmUpO1xuXG5cdC5zZWN0aW9uX19oZWFkIHsgbWFyZ2luLWJvdHRvbTogY2xhbXAoMS4yNXJlbSwgMi41dncsIDJyZW0pOyB9XG59XG5cbi5zZWN0aW9uX190aXRsZS0tc20ge1xuXHRmb250LXNpemU6IGZsdWlkKDI2LCA0OCk7XG59XG5cblxuLy8g4pSA4pSAIEd1ZXN0IHByb2ZpbGUgaGVhZGVyIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLy8gIHNpbmdsZS5waHAsIGd1ZXN0cyBvbmx5LiBQb3J0cmFpdCBiZXNpZGUgdGhlIG5hbWUsIG5vdCBhYm92ZSBpdCDigJQgYSBndWVzdFxuLy8gIHBhZ2UgaXMgYSBwcm9maWxlIGNhcmQgdGhhdCBoYXBwZW5zIHRvIGhhdmUgYSBiaW8gdW5kZXIgaXQsIGFuZCBhIDUwMHB4XG4vLyAgc3F1YXJlIGFzIGEgaGVybyByZWFkIGFzIGEgbXVnc2hvdCAoSm9lLCAyMDI2LTA5LTEzKS4gVGhlIGNpcmNsZSBpcyB0aGVcbi8vICBzYW1lIHRyZWF0bWVudCBhcyAuZ3Vlc3RfX3Bob3RvIG9uIHRoZSBhcmNoaXZlLCBvbmUgc3RlcCBsYXJnZXIsIHNvIHRoZVxuLy8gIGNhcmQgYW5kIHRoZSBwYWdlIGFyZSByZWNvZ25pc2FibHkgdGhlIHNhbWUgcGVyc29uLlxuLmd1ZXN0LWhlcm8ge1xuXHRkaXNwbGF5OiBncmlkO1xuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gbWlubWF4KDAsIDFmcik7XG5cdGdhcDogY2xhbXAoMS4yNXJlbSwgM3Z3LCAyLjVyZW0pO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRtYXJnaW4tYm90dG9tOiBjbGFtcCgxLjVyZW0sIDN2dywgMi41cmVtKTtcblxuXHRAaW5jbHVkZSBhdChzbSkge1xuXHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuXHRcdGp1c3RpZnktaXRlbXM6IHN0YXJ0O1xuXHR9XG5cblx0Jl9fcGhvdG8ge1xuXHRcdHdpZHRoOiBjbGFtcCgxMjBweCwgMTR2dywgMTYwcHgpO1xuXHRcdGFzcGVjdC1yYXRpbzogMTtcblx0XHRib3JkZXItcmFkaXVzOiA5OTlweDtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdGJhY2tncm91bmQ6IHZhcigtLWJnLTMpO1xuXHRcdGJveC1zaGFkb3c6IDAgMCAwIDRweCB2YXIoLS1hY2NlbnQpO1xuXG5cdFx0aW1nIHsgd2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTsgb2JqZWN0LWZpdDogY292ZXI7IH1cblx0fVxuXG5cdCZfX2JvZHkge1xuXHRcdGRpc3BsYXk6IGdyaWQ7XG5cdFx0Z2FwOiBzcCgyKTtcblx0XHRtaW4td2lkdGg6IDA7XG5cdH1cblxuXHQvLyBPbmUgc3RlcCBiZWxvdyAuZXAtc2luZ2xlX190aXRsZTogdGhlIG5hbWUgaXMgYSBoZWFkaW5nLCBub3QgYSBoZWFkbGluZS5cblx0Ly8g4pqgIC5kaXNwbGF5J3MgcHJvcGVydGllcyBpbmxpbmUsIG5vdCBAZXh0ZW5kIOKAlCAuZGlzcGxheSBsaXZlcyBpblxuXHQvLyBfYmFzZS5zY3NzLCBhbmQgd2l0aCBgQHVzZWAgYSBwYXJ0aWFsIGNhbid0IGV4dGVuZCBhIHNlbGVjdG9yIGZyb21cblx0Ly8gYW5vdGhlciBtb2R1bGUgKHRoZSBidWlsZCBmYWlsczogXCJ0YXJnZXQgc2VsZWN0b3Igd2FzIG5vdCBmb3VuZFwiKS5cblx0Jl9fbmFtZSB7XG5cdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG5cdFx0Zm9udC13ZWlnaHQ6IDkwMDtcblx0XHRmb250LXNpemU6IGZsdWlkKDMyLCA2NCk7XG5cdFx0bGluZS1oZWlnaHQ6IC45NTtcblx0XHRsZXR0ZXItc3BhY2luZzogLS4wMzVlbTtcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdG1hcmdpbjogMDtcblx0fVxuXG5cdCZfX3JvbGUge1xuXHRcdG1hcmdpbjogMDtcblx0XHRmb250LXNpemU6IDEuMDVyZW07XG5cdFx0Y29sb3I6IHZhcigtLWluay0yKTtcblx0fVxuXG5cdCZfX2xpbmtzIHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGZsZXgtd3JhcDogd3JhcDtcblx0XHRnYXA6IHNwKDIpO1xuXHRcdG1hcmdpbjogc3AoMikgMCAwO1xuXHRcdHBhZGRpbmc6IDA7XG5cdFx0bGlzdC1zdHlsZTogbm9uZTtcblx0fVxufVxuXG4vLyBBIGd1ZXN0IGxpbms6IGljb24gKyBwbGF0Zm9ybSBuYW1lIGluIHRoZSBzYW1lIHBpbGwgYXMgLmNsb3VkX190ZXJtLCBzb1xuLy8gdGhlIHBhZ2UncyB0YWcgcm93IGFuZCBpdHMgbGluayByb3cgcmVhZCBhcyBvbmUgZmFtaWx5LlxuLmdsaW5rIHtcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogLjQ1ZW07XG5cdHBhZGRpbmc6IC40NWVtIC44NWVtO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1saW5lKTtcblx0Ym9yZGVyLXJhZGl1czogOTk5cHg7XG5cdGZvbnQtc2l6ZTogLjgycmVtO1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRsaW5lLWhlaWdodDogMS4xO1xuXHRjb2xvcjogdmFyKC0taW5rLTIpO1xuXHR0cmFuc2l0aW9uOiBjb2xvciB2YXIoLS1kdXItZmFzdCkgJGVhc2UsIGJvcmRlci1jb2xvciB2YXIoLS1kdXItZmFzdCkgJGVhc2U7XG5cblx0QGluY2x1ZGUgY2FuLWhvdmVyIHtcblx0XHQmOmhvdmVyIHsgY29sb3I6IHZhcigtLWFjY2VudC1pbmspOyBib3JkZXItY29sb3I6IHZhcigtLWFjY2VudCk7IH1cblx0fVxuXG5cdCZfX2ljbyB7XG5cdFx0d2lkdGg6IDEuMDVlbTtcblx0XHRoZWlnaHQ6IDEuMDVlbTtcblx0XHRmbGV4OiBub25lO1xuXHR9XG59XG5cblxuLy8g4pSA4pSAIFNpZ25hdHVyZSAoQWJvdXQgcGFnZSkg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4vLyAgQSBzaWduLW9mZiBsaW5lIGluIHRoZSBib2R5IGZhY2UsIHRoZW4gdGhlIG5hbWUgaW4gV2luZFNvbmcg4oCUIEpvZSdzIHBpY2tcbi8vICAoMjAyNi0wOS0xMyksIGEgR29vZ2xlIGZhY2UgZGVzcGl0ZSB0aGUgZGFmb250IG9yaWdpbmFsIG9mIHRoZSBzYW1lIG5hbWUuXG4vLyAgQ2F2ZWF0LCBNciBEYWZvZSBhbmQgQWxsaXNvbiBjYW1lIGJlZm9yZSBpdC4gTG9hZGVkIG9ubHkgb24gdGhpcyBwYWdlLlxuLy8gIFRpbHRlZCBhIGhhaXIgYW5kIGlua2VkIGluIHRoZSBhY2NlbnQgc28gaXQgcmVhZHMgYXMgYSBzaWduYXR1cmUuXG4uc2lnbmF0dXJlIHtcblx0bWFyZ2luLXRvcDogY2xhbXAoMS41cmVtLCAzdncsIDIuNXJlbSk7XG5cblx0Jl9fc2lnbm9mZiB7XG5cdFx0bWFyZ2luOiAwIDAgLjFlbTtcblx0XHRmb250LXNpemU6IGNsYW1wKDEuMDVyZW0sIC40dncgKyAuOTZyZW0sIDEuMTZyZW0pOyAgIC8vID0gLnByb3NlXG5cdFx0Y29sb3I6IHZhcigtLWluay0yKTtcblx0fVxuXG5cdCZfX25hbWUge1xuXHRcdG1hcmdpbjogMDtcblx0XHRmb250LWZhbWlseTogXCJXaW5kU29uZ1wiLCBcIkJydXNoIFNjcmlwdCBNVFwiLCBcIlNlZ29lIFNjcmlwdFwiLCBjdXJzaXZlO1xuXHRcdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdFx0Zm9udC1zaXplOiBjbGFtcCgyLjRyZW0sIDQuNHZ3LCAzLjVyZW0pOyAgIC8vIDIwJSB1bmRlciB0aGUgZmlyc3QgY3V0IChKb2UsIDIwMjYtMDktMTMpXG5cdFx0bGluZS1oZWlnaHQ6IDEuMTtcblx0XHRsZXR0ZXItc3BhY2luZzogLjAxZW07XG5cdFx0Y29sb3I6IHZhcigtLWluayk7ICAgLy8gaW5rLCBub3QgYWNjZW50IOKAlCBcIm5vdCBibHVlXCI7IGEgc2lnbmF0dXJlIGlzIHdyaXR0ZW4sIG5vdCBsaW5rZWRcblx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgtMS41ZGVnKTsgICAvLyB3YXMgLTM7IFwic2xpZ2h0bHkgbGVzcyBhbmdsZWRcIiAoSm9lLCAyMDI2LTA5LTEzKVxuXHRcdHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgY2VudGVyO1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRwYWRkaW5nOiAuMWVtIC4xNWVtIC4xNWVtIDA7XG5cdH1cbn1cbiIsIkB1c2UgXCJ0b2tlbnNcIiBhcyAqO1xyXG5cclxuLy8g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXHJcbi8vICBTRUFSQ0ggRk9STSwgUkVTVUxUUyBBTkQgNDA0XHJcbi8vXHJcbi8vICDimqAgU2hhcmVkIGJ5IHNlYXJjaC5waHAgQU5EIDQwNC5waHAg4oCUIHRoZSB0d28gcGFnZXMgYXJlIHRoZSBzYW1lIHByb2JsZW1cclxuLy8gIChcInlvdSBkaWRuJ3QgZmluZCB3aGF0IHlvdSB3YW50ZWRcIikgd2VhcmluZyBkaWZmZXJlbnQgaGF0cywgc28gdGhleSB1c2UgdGhlXHJcbi8vICBzYW1lIGZvcm0gYW5kIHRoZSBzYW1lIGFjdGlvbiByb3cgcmF0aGVyIHRoYW4gZWFjaCBncm93aW5nIHRoZWlyIG93bi5cclxuLy9cclxuLy8gIOKblCBOT1QgcmVsYXRlZCB0byAubnNlYXJjaCBpbiBfbmF2LnNjc3MuIFRoYXQgaXMgYSBwaWxsIHRoYXQgZXhwYW5kcyBvdXQgb2YgYVxyXG4vLyAgNDJweCBzbG90IGFuZCBjYXJyaWVzIGl0cyBvd24gYW5pbWF0aW9uOyB0aGlzIGlzIGEgcGxhaW4gZmllbGQgb24gYSBwYWdlIHRoYXRcclxuLy8gIGlzIGFib3V0IHNlYXJjaGluZy4gS2VlcGluZyB0aGVtIHNlcGFyYXRlIGlzIGRlbGliZXJhdGUg4oCUIG1lcmdpbmcgdGhlbSB3b3VsZFxyXG4vLyAgbWVhbiBldmVyeSB0d2VhayB0byB0aGUgbmF2J3MgZXhwYW5kL2NvbGxhcHNlIGhhZCB0byBiZSByZS12ZXJpZmllZCBoZXJlLlxyXG4vLyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcclxuXHJcbi5zZWFyY2hiYXIge1xyXG5cdG1hcmdpbi1ib3R0b206IGNsYW1wKDJyZW0sIDR2dywgMy41cmVtKTtcclxufVxyXG5cclxuLnNmb3JtIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGdhcDogc3AoMik7XHJcblx0Ly8gV2lkZSBlbm91Z2ggZm9yIGEgcmVhbCBzZW50ZW5jZSwgc2hvcnQgZW5vdWdoIG5vdCB0byBsb29rIGxpa2UgYSBwYWdlIG9mXHJcblx0Ly8gaW5wdXQgb24gYSBkZXNrdG9wLiBNYXRjaGVzIC5zdWJzY3JpYmUncyBpbnRlbnQsIG5vdCBpdHMgZXhhY3Qgd2lkdGgg4oCUXHJcblx0Ly8gdGhpcyBvbmUgY2FycmllcyBhIGxvbmdlciBwbGFjZWhvbGRlci5cclxuXHRtYXgtd2lkdGg6IDU2MHB4O1xyXG5cclxuXHRpbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcclxuXHRcdGZsZXg6IDE7XHJcblx0XHQvLyDimqAgbWluLXdpZHRoOjAgSVMgTE9BRC1CRUFSSU5HLiBBIGZsZXggaXRlbSdzIGRlZmF1bHQgbWluLXdpZHRoIGlzXHJcblx0XHQvLyBhdXRvLCBhbmQgYW4gPGlucHV0PidzIGludHJpbnNpYyB3aWR0aCBjb21lcyBmcm9tIGl0cyBgc2l6ZWBcclxuXHRcdC8vIGF0dHJpYnV0ZSAofjIwIGNoYXJzKSwgTk9UIGl0cyBjb250ZW50IOKAlCBzbyB3aXRob3V0IHRoaXMgdGhlIGZpZWxkXHJcblx0XHQvLyByZWZ1c2VzIHRvIHNocmluayBhbmQgcHVzaGVzIHRoZSBidXR0b24gb2ZmIGEgbmFycm93IHNjcmVlbi5cclxuXHRcdG1pbi13aWR0aDogMDtcclxuXHRcdGhlaWdodDogNTJweDtcclxuXHRcdHBhZGRpbmctaW5saW5lOiBzcCg0KTtcclxuXHRcdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpbmUtMik7XHJcblx0XHRib3JkZXItcmFkaXVzOiA5OTlweDtcclxuXHRcdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG5cdFx0Y29sb3I6IHZhcigtLWluayk7XHJcblxyXG5cdFx0Ly8g4pqgIDE2cHggTUlOSU1VTSBPTiBUT1VDSCwgYW5kIHRoaXMgaXMgbm90IGEgc3R5bGUgY2hvaWNlLiBpT1MgU2FmYXJpXHJcblx0XHQvLyB6b29tcyB0aGUgdmlld3BvcnQgd2hlbiBmb2N1c2luZyBhbnkgZmllbGQgdW5kZXIgMTZweCwgYW5kIGl0IGRvZXMgbm90XHJcblx0XHQvLyB6b29tIGJhY2sgb3V0IOKAlCB0aGUgdmlzaXRvciBpcyBsZWZ0IG9uIGEgbWFnbmlmaWVkLCBzaWRld2F5cy1zY3JvbGxpbmdcclxuXHRcdC8vIHBhZ2UuIFNhbWUgcnVsZSBhcyB0aGUgZHJhd2VyJ3MgZmllbGQuXHJcblx0XHRmb250LXNpemU6IG1heCgxNnB4LCAxcmVtKTtcclxuXHJcblx0XHQmOjpwbGFjZWhvbGRlciB7IGNvbG9yOiB2YXIoLS1pbmstMyk7IH1cclxuXHRcdCY6Zm9jdXMtdmlzaWJsZSB7IGJvcmRlci1jb2xvcjogdmFyKC0tYWNjZW50KTsgb3V0bGluZTogbm9uZTsgfVxyXG5cdH1cclxuXHJcblx0LmJ0biB7IGZsZXg6IG5vbmU7IH1cclxuXHJcblx0Ly8gVGhlIGJ1dHRvbidzIGxhYmVsIGlzIHJlZHVuZGFudCBvbmNlIHRoZSBmaWVsZCBmaWxscyB0aGUgcm93LCBhbmQgYXQgdGhpc1xyXG5cdC8vIHdpZHRoIHRoZSB0d28gdG9nZXRoZXIgd3JhcCBhd2t3YXJkbHkuIFN0YWNrIGluc3RlYWQgb2Ygc2hyaW5raW5nLlxyXG5cdEBpbmNsdWRlIGF0KHNtKSB7XHJcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdFx0bWF4LXdpZHRoOiBub25lO1xyXG5cclxuXHRcdC5idG4geyB3aWR0aDogMTAwJTsgfVxyXG5cdH1cclxufVxyXG5cclxuLy8g4pSA4pSAIDQwNCDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcclxuLy8gIEdvbmUgKDIwMjYtMDktMTcpLiBUaGUgNDA0IElTIHRoZSBoZXJvIG5vdyDigJQgLmhlcm8uaGVyby0tNDA0IGluIF9oZXJvLnNjc3MuXHJcbi8vICBBIHN0YW5kYWxvbmUgLmU0MDQgdHJlYXRtZW50IGxpdmVkIGhlcmUgYmVmb3JlOyBKb2Ugd2FudGVkIHRoZSByZWFsIGhlcm9cclxuLy8gIChcImp1c3QgdXNlIHRoZSBoZXJvIG9ubHkgd2l0aCBzb21lIG1lc3NhZ2luZyB3aGVyZSB0aGUgQ1RBcyBhcmVcIikuXHJcblxyXG4vLyDilIDilIAgTm8gcmVzdWx0cyAvIDQwNCBhY3Rpb25zIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxyXG4ubm9yZXN1bHRzIHtcclxuXHRtYXgtd2lkdGg6IDYwY2g7XHJcblxyXG5cdC5sZWRlIHsgbWFyZ2luLWJvdHRvbTogc3AoNSk7IH1cclxufVxyXG5cclxuLm5vcmVzdWx0c19fYWN0aW9ucyB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LXdyYXA6IHdyYXA7XHJcblx0Z2FwOiBzcCgzKTtcclxuXHRtYXJnaW4tdG9wOiBjbGFtcCgxLjVyZW0sIDN2dywgMi41cmVtKTtcclxufVxyXG4iLCJAdXNlIFwidG9rZW5zXCIgYXMgKjtcclxuXHJcbi8vIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxyXG4vLyAgU09DSUFMXHJcbi8vXHJcbi8vICBPbmUgcmFpbCBvZiBYIHBvc3RzLCBwbHVzIHRoZSB0d28gZm9sbG93IGJ1dHRvbnMgaW4gdGhlIHNlY3Rpb24gaGVhZC5cclxuLy9cclxuLy8gIEFuIEluc3RhZ3JhbSB3YWxsIHVzZWQgdG8gc2l0IHVuZGVyIHRoZSByYWlsOyBpdCB3YXMgc2NyYXBwZWQgb24gMjAyNi0wOC0wN1xyXG4vLyAgYW5kIGl0cyBzdHlsZXMgYXJlIHNoZWx2ZWQgYXQgdGhlIGJvdHRvbSBvZiB0aGlzIGZpbGUgcmF0aGVyIHRoYW4gZGVsZXRlZC5cclxuLy8g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXHJcblxyXG4vLyDilIDilIAgQWNjb3VudCBsaW5rcyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcclxuLy8gIFRoZSB0d28gcGxhdGZvcm0gYnV0dG9ucyBpbiB0aGUgc2VjdGlvbiBoZWFkLiBTYW1lIGNpcmN1bGFyIGxhbmd1YWdlIGFzXHJcbi8vICAucmFpbC1uYXYncyBhcnJvd3MsIHNvIHRoZSByaWdodC1oYW5kIHNpZGUgb2YgZXZlcnkgc2VjdGlvbiBoZWFkIHJlYWRzIHRoZVxyXG4vLyAgc2FtZSB3YXkgd2hldGhlciBpdCBob2xkcyBhIGJ1dHRvbiwgYXJyb3dzLCBvciB0aGVzZS5cclxuLnNsaW5rIHtcclxuXHRkaXNwbGF5OiBncmlkO1xyXG5cdHBsYWNlLWl0ZW1zOiBjZW50ZXI7XHJcblx0Ly8gTUFUQ0hFRCBUTyAuYnRuLCBub3QgdG8gLnJhaWwtbmF2J3MgYXJyb3dzIOKAlCBKb2UncyBjYWxsLCAyMDI2LTA4LTA3LiBJdFxyXG5cdC8vIHNpdHMgaW4gYSBzZWN0aW9uIGhlYWQgYWxvbmdzaWRlIHRoZSBcIlZpZXcgYWxsXCIgcGlsbHMgZWxzZXdoZXJlIG9uIHRoZVxyXG5cdC8vIHBhZ2UsIGFuZCBhIGNpcmNsZSBhIGZldyBwaXhlbHMgc2hvcnRlciB0aGFuIHRob3NlIHJlYWQgYXMgYSBtaXN0YWtlLlxyXG5cdC8vIEJvdGggdmFsdWVzIHRyYWNrIC5idG46IDU0cHgsIGRyb3BwaW5nIHRvIDQ0cHggYXQgbWQgd2hlcmUgX2Jhc2Uuc2Nzc1xyXG5cdC8vIHRyaW1zIHRoZSBidXR0b24gZm9yIG5hcnJvdyBzY3JlZW5zLiBJZiAuYnRuJ3MgaGVpZ2h0IGNoYW5nZXMsIGNoYW5nZVxyXG5cdC8vIHRoZXNlIHdpdGggaXQuXHJcblx0d2lkdGg6IDU0cHg7XHJcblx0aGVpZ2h0OiA1NHB4O1xyXG5cdGZsZXg6IG5vbmU7XHJcblx0Ly8gLS1saW5lLTIsIHRoZSBzYW1lIGJvcmRlciAuYnRuIHVzZXMg4oCUIE5PVCAtLWxpbmUuIEl0IHNpdHMgaW4gYSBzZWN0aW9uIGhlYWRcclxuXHQvLyBiZXNpZGUgdGhlIFwiVmlldyBhbGxcIiBwaWxscyBhbmQgaGFzIHRvIHJlYWQgYXMgdGhlIHNhbWUgY29udHJvbC5cclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1saW5lLTIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IDk5OXB4O1xyXG5cdGNvbG9yOiB2YXIoLS1pbmspO1xyXG5cdHRyYW5zaXRpb246IGJvcmRlci1jb2xvciB2YXIoLS1kdXItZmFzdCkgJGVhc2UsIGNvbG9yIHZhcigtLWR1ci1mYXN0KSAkZWFzZTtcclxuXHJcblx0Ly8gU2NhbGVkIHdpdGggdGhlIGNpcmNsZSBhYm92ZSwgc28gdGhlIGdseXBoIGtlZXBzIHRoZSBzYW1lIHByb3BvcnRpb25cclxuXHQvLyBpbnNpZGUgaXQgcmF0aGVyIHRoYW4gc2l0dGluZyBsb3N0IGluIGEgYmlnZ2VyIHJpbmcuXHJcblx0c3ZnIHsgd2lkdGg6IDIxcHg7IGhlaWdodDogMjFweDsgfVxyXG5cclxuXHQvLyBHYXRlZCDigJQgb24gdG91Y2ggOmhvdmVyIGxhdGNoZXMgYWZ0ZXIgYSB0YXAgYW5kIHRoZSBidXR0b24gc3RheXMgbGl0LlxyXG5cdEBpbmNsdWRlIGNhbi1ob3ZlciB7XHJcblx0XHQmOmhvdmVyIHtcclxuXHRcdFx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1hY2NlbnQpO1xyXG5cdFx0XHRjb2xvcjogdmFyKC0tYWNjZW50LWluayk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQmOmFjdGl2ZSB7XHJcblx0XHRib3JkZXItY29sb3I6IHZhcigtLWFjY2VudCk7XHJcblx0XHRjb2xvcjogdmFyKC0tYWNjZW50LWluayk7XHJcblx0fVxyXG5cclxuXHQvLyBNYXRjaGVzIHRoZSB0cmltbWVkIC5idG4gc2l6ZSB0aGUgc2VjdGlvbiBoZWFkIHVzZXMgYXQgdGhpcyB3aWR0aC5cclxuXHRAaW5jbHVkZSBhdChtZCkge1xyXG5cdFx0d2lkdGg6IDQ0cHg7XHJcblx0XHRoZWlnaHQ6IDQ0cHg7XHJcblxyXG5cdFx0c3ZnIHsgd2lkdGg6IDE4cHg7IGhlaWdodDogMThweDsgfVxyXG5cdH1cclxufVxyXG5cclxuLy8g4pSA4pSAIFggcmFpbCDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcclxuLy8gIEEgcm93IG9mIFRFWFQgY2FyZHMsIG5vdCBwaWN0dXJlcy4gVGhpcyBpcyB0aGUgc3BsaXQgdGhhdCBtYWtlcyB0aGUgc2VjdGlvblxyXG4vLyAgd29yazogYSB3YWxsIG9mIGltYWdlcyBmb3JjZWQgZXZlcnkgWCBwb3N0IHRvIGNhcnJ5IGFydHdvcmssIGFuZCBtb3N0IHBvc3RzXHJcbi8vICBvbiBYIGFyZSB3b3Jkcy4gVHdvIHBsYXRmb3JtcywgdHdvIHNoYXBlcy5cclxuLy9cclxuLy8gIFJldXNlcyB0aGUgW2RhdGEtcmFpbF0gbWVjaGFuaWNzIGZyb20gdGhlIHNob3J0cyByYWlsIOKAlCBzY3JvbGwtc25hcCwgZHJhZyxcclxuLy8gIGtleWJvYXJkIOKAlCBzbyB0aGVyZSBpcyBubyBzZWNvbmQgaW1wbGVtZW50YXRpb24gb2YgdGhlIHNhbWUgYmVoYXZpb3VyLlxyXG4udHdlZXRzIHtcclxuXHQmX19yYWlsIHtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRnYXA6IGNsYW1wKC43NXJlbSwgMS40dncsIDEuMjVyZW0pO1xyXG5cdFx0b3ZlcmZsb3cteDogYXV0bztcclxuXHRcdC8vIFNhbWUgcmFpbCBiZWhhdmlvdXIgYXMgLnNob3J0c19fcmFpbCwgb24gSm9lJ3MgY2FsbCDigJQgbWFuZGF0b3J5IHNuYXAsXHJcblx0XHQvLyBhbmQgLnhlbWJlZCBjYXJyaWVzIHNjcm9sbC1zbmFwLXN0b3A6IGFsd2F5cyBzbyBhIGZsaWNrIG1vdmVzIGV4YWN0bHlcclxuXHRcdC8vIG9uZSBjYXJkLlxyXG5cdFx0Ly9cclxuXHRcdC8vIOKaoCBNYW5kYXRvcnkgd2FzIGJhY2tlZCBvdXQgb2Ygb25jZSwgYmVjYXVzZSB0aGUgcmFpbCBrZXB0IHRocm93aW5nXHJcblx0XHQvLyBpdHNlbGYgYmFjayB0byB0aGUgZmlyc3QgY2FyZDogYSBtYW5kYXRvcnkgY29udGFpbmVyIG11c3QgYWx3YXlzIGJlXHJcblx0XHQvLyBzbmFwcGVkLCBzbyBldmVyeSB0aW1lIGFuIFggaWZyYW1lIGZpbmlzaGVkIG1lYXN1cmluZyBhbmQgUkVTSVpFRCwgdGhlXHJcblx0XHQvLyBicm93c2VyIHJlLXNuYXBwZWQuIEl0IGlzIHNhZmUgbm93IGZvciBvbmUgc3BlY2lmaWMgcmVhc29uIOKAlCB0aGUgc2xvdFxyXG5cdFx0Ly8gaXMgYSBmaXhlZCB3aWR0aCAoNzV2dyAvIGEgY2xhbXApIGFuZCB0aGUgc2tlbGV0b24gb3ZlcmxheXMgaXQsIHNvIGFcclxuXHRcdC8vIHNsb3QncyBXSURUSCBuZXZlciBjaGFuZ2VzIGJldHdlZW4gZmlyc3QgcGFpbnQgYW5kIHRoZSByZW5kZXJlZCB0d2VldC5cclxuXHRcdC8vIE9ubHkgaXRzIGhlaWdodCBkb2VzLCB3aGljaCBkb2Vzbid0IG1vdmUgYSBob3Jpem9udGFsIHNuYXAgcG9pbnQuXHJcblx0XHQvLyBJZiBjYXJkcyBldmVyIHN0YXJ0IGp1bXBpbmcgbGVmdCBhZ2FpbiwgdGhhdCBpbnZhcmlhbnQgaXMgd2hhdCBicm9rZS5cclxuXHRcdHNjcm9sbC1zbmFwLXR5cGU6IHggbWFuZGF0b3J5O1xyXG5cclxuXHRcdC8vIEVhY2ggc2xvdCBpcyBpdHMgb3duIGhlaWdodCwgbm90IHRoZSB0YWxsZXN0IG9uZSBpbiB0aGUgcm93LiBGbGV4XHJcblx0XHQvLyBkZWZhdWx0cyB0byBgc3RyZXRjaGAsIHdoaWNoIG1hZGUgZXZlcnkgLnhlbWJlZCBhcyB0YWxsIGFzIHRoZSBsb25nZXN0XHJcblx0XHQvLyB0d2VldCDigJQgYW5kIHNpbmNlIHRoZSBhY3RpdmUgcmluZyBpcyBpbnNldDowIG9uIHRoZSBzbG90LCB0aGUgcmluZyByYW5cclxuXHRcdC8vIHdlbGwgcGFzdCB0aGUgYm90dG9tIG9mIHRoZSBjYXJkIGl0IHdhcyBtYXJraW5nLlxyXG5cdFx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcblxyXG5cdFx0Ly8g4pSA4pSAIFRoZSBndXR0ZXIgbGl2ZXMgSU5TSURFIHRoaXMgc2Nyb2xsIGNvbnRhaW5lciDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcclxuXHRcdC8vICBEZWxpYmVyYXRlLCBhbmQgaXQgaXMgd2hhdCBsZXRzIGNhcmRzIHJ1biB0byB0aGUgc2NyZWVuIGVkZ2U6IHRoZVxyXG5cdFx0Ly8gIHNjcm9sbHBvcnQgc3BhbnMgdGhlIGZ1bGwgdmlld3BvcnQsIHNvIHRoZSBwYWRkaW5nIG9ubHkgc2V0cyB3aGVyZVxyXG5cdFx0Ly8gIHRoZSByb3cgU1RBUlRTIOKAlCBzY3JvbGxlZCwgY2FyZHMgcGFzcyB1bmRlciBpdCBhbmQgcmVhY2ggeD0wLlxyXG5cdFx0Ly8gIFB1dHRpbmcgaXQgb24gdGhlIHdyYXBwZXIgaW5zdGVhZCBtYWtlcyBpdCBhIHN0cmlwIG5vdGhpbmcgY2FuIGNyb3NzLFxyXG5cdFx0Ly8gIHdoaWNoIEpvZSBleHBsaWNpdGx5IGRvZXMgbm90IHdhbnQuXHJcblx0XHQvL1xyXG5cdFx0Ly8gIHNjcm9sbC1wYWRkaW5nIGlzIFJFUVVJUkVEIGFsb25nc2lkZSBpdDogc25hcHBpbmcgYWxpZ25zIGEgY2FyZCdzXHJcblx0XHQvLyAgc3RhcnQgZWRnZSB0byB0aGUgU0NST0xMUE9SVCdzIGVkZ2UsIHdoaWNoIGlnbm9yZXMgcGFkZGluZy1pbmxpbmUsIHNvXHJcblx0XHQvLyAgd2l0aG91dCBpdCBldmVyeSBzbmFwIHlhbmtzIHRoZSBjYXJkIG9mZiB0aGUgZ3V0dGVyIGFuZCBvbnRvIHRoZVxyXG5cdFx0Ly8gIGJsZWVkLiBJdCBoYXMgdG8gdHJhY2sgcGFkZGluZy1pbmxpbmUgZXhhY3RseS5cclxuXHRcdG1hcmdpbi1pbmxpbmU6IGNhbGModmFyKC0tZ3V0dGVyKSAqIC0xKTtcclxuXHRcdHBhZGRpbmctaW5saW5lOiB2YXIoLS1ndXR0ZXIpO1xyXG5cdFx0c2Nyb2xsLXBhZGRpbmctaW5saW5lOiB2YXIoLS1ndXR0ZXIpO1xyXG5cdFx0cGFkZGluZy1ibG9jazogc3AoMik7XHJcblx0XHRzY3JvbGxiYXItd2lkdGg6IG5vbmU7XHJcblx0XHQtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XHJcblxyXG5cdFx0Jjo6LXdlYmtpdC1zY3JvbGxiYXIgeyBkaXNwbGF5OiBub25lOyB9XHJcblxyXG5cdFx0PiAqIHsgc2Nyb2xsLXNuYXAtYWxpZ246IHN0YXJ0OyB9XHJcblx0fVxyXG59XHJcblxyXG4vLyDilIDilIAgWCdzIG93biBlbWJlZCDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcclxuLy8gIEEgZml4ZWQtd2lkdGggc2xvdCBpbiB0aGUgcmFpbC4gWCdzIHdpZGdldCBzaXplcyBpdHNlbGYgdG8gaXRzIGNvbnRhaW5lciB1cFxyXG4vLyAgdG8gNTUwcHgsIHNvIHRoZSBzbG90IGRlY2lkZXMgdGhlIHdpZHRoIGFuZCB0aGUgaWZyYW1lIGZvbGxvd3MuXHJcbi8vXHJcbi8vICBIZWlnaHQgaXMgZGVsaWJlcmF0ZWx5IE5PVCBjb25zdHJhaW5lZDogdGhlIGVtYmVkIGlzIGEgY3Jvc3Mtb3JpZ2luIGlmcmFtZVxyXG4vLyAgdGhhdCBtZWFzdXJlcyBpdHMgb3duIGNvbnRlbnQsIGFuZCBmb3JjaW5nIGEgaGVpZ2h0IG9uIGl0IGVpdGhlciBjbGlwcyB0aGVcclxuLy8gIHBvc3Qgb3IgbGVhdmVzIGRlYWQgc3BhY2UgdW5kZXIgaXQuXHJcbi54ZW1iZWQge1xyXG5cdC8vIFgncyBvd24gY2FyZCByYWRpdXMuIE9ORSB2YXJpYWJsZSBiZWNhdXNlIEZPVVIgdGhpbmdzIGhhdmUgdG8gYWdyZWUgb24gaXQg4oCUXHJcblx0Ly8gdGhlIGlmcmFtZSBjbGlwLCB0aGUgc2tlbGV0b24gdGhhdCBkaXNzb2x2ZXMgaW50byBpdCwgdGhlIGFjdGl2ZSByaW5nIGRyYXduXHJcblx0Ly8gYXJvdW5kIGl0LCBhbmQgWCdzIGNhcmQgaXRzZWxmLiBBbnkgdHdvIGRpc2FncmVlaW5nIHNob3dzIHVwIGFzIGEgY29ybmVyXHJcblx0Ly8gY2hhbmdpbmcgc2hhcGUgbWlkLWZhZGUsIG9yIGFzIHdoaXRlIGluIHRoZSBjb3JuZXJzLlxyXG5cdC8vXHJcblx0Ly8gMTJweCwgTUVBU1VSRUQgcmF0aGVyIHRoYW4gZ3Vlc3NlZDogc2NhbGVkIG9mZiB0aGUgM3B4IGFjdGl2ZSByaW5nIGluIGFcclxuXHQvLyB6b29tZWQgc2NyZWVuc2hvdCBvZiB0aGUgcmVuZGVyZWQgY2FyZCwgWCdzIGNvcm5lciBjb21lcyBvdXQgYXQgfjExcHguIDE1cHhcclxuXHQvLyBhbmQgMTZweCB3ZXJlIGJvdGggdG9vIExPT1NFIOKAlCBhIGNsaXAgd2lkZXIgdGhhbiB0aGVpciBjb3JuZXIgbGVhdmVzIHRoZVxyXG5cdC8vIGlmcmFtZSdzIG93biBjYW52YXMgdmlzaWJsZSBpbiB0aGUgZ2FwIGJldHdlZW4gdGhlIHR3byBjdXJ2ZXMsIHdoaWNoIGlzIHRoZVxyXG5cdC8vIHdoaXRlIG5pY2tzLiBFcnJpbmcgdGlnaHQgaXMgdGhlIHNhZmUgZGlyZWN0aW9uOiBhIGhhaXIgb2YgdGhlaXIgYm9yZGVyIGlzXHJcblx0Ly8gaW52aXNpYmxlLCB3aGl0ZSB0cmlhbmdsZXMgYXJlIG5vdC5cclxuXHQtLXgtcmFkaXVzOiAxMnB4O1xyXG5cclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0ZmxleDogbm9uZTtcclxuXHR3aWR0aDogY2xhbXAoMjgwcHgsIDMydncsIDM4MHB4KTtcclxuXHQvLyBJdHMgb3duIHN0YWNraW5nIGNvbnRleHQsIHNvIHRoZSBpZnJhbWUgY2FuJ3QgcGFpbnQgb3ZlciB0aGUgcmFpbCdzXHJcblx0Ly8gbmVpZ2hib3VycyB3aGlsZSBpdCBzZXR0bGVzIG9uIGEgaGVpZ2h0LlxyXG5cdGlzb2xhdGlvbjogaXNvbGF0ZTtcclxuXHJcblx0Ly8gVGhyZWUgcXVhcnRlcnMgb2YgdGhlIHNjcmVlbiBvbiBtb2JpbGUsIHNvIHRoZSBuZXh0IGNhcmQgYWx3YXlzIHBlZWtzIGluXHJcblx0Ly8gYW5kIHRoZSByb3cgcmVhZHMgYXMgYSByb3cgcmF0aGVyIHRoYW4gYSBzaW5nbGUgc3RhY2tlZCBjYXJkLiBUaGUgc2tlbGV0b25cclxuXHQvLyBpcyBhYnNvbHV0ZWx5IHBvc2l0aW9uZWQgYWdhaW5zdCB0aGlzIGJveCwgc28gdGhpcyBvbmUgbnVtYmVyIHNpemVzIHRoZVxyXG5cdC8vIHNrZWxldG9uLCB0aGUgYmxvY2txdW90ZSBhbmQgdGhlIHJlbmRlcmVkIGlmcmFtZSBhbGlrZSDigJQgdGhleSBjYW5ub3RcclxuXHQvLyBkaXNhZ3JlZSBhYm91dCB3aWR0aCwgd2hpY2ggaXMgd2hhdCBsZXRzIHRoZSBmYWRlIGxhbmQgZXhhY3RseSBvbiB0aGUgY2FyZC5cclxuXHQvL1xyXG5cdC8vIHNjcm9sbC1zbmFwLXN0b3AgbWF0Y2hlcyB0aGUgc2hvcnRzIHJhaWw6IHNuYXAgcG9pbnRzIGFsb25lIGRvbid0IHN0b3AgYVxyXG5cdC8vIGZhc3QgZmxpY2ssIHRoZSBicm93c2VyIGlzIGZyZWUgdG8gZmx5IHBhc3Qgc2V2ZXJhbC4gYGFsd2F5c2AgZm9yY2VzIGl0IHRvXHJcblx0Ly8gc3RvcCBhdCBlYWNoIG9uZS5cclxuXHRAaW5jbHVkZSBhdChtZCkge1xyXG5cdFx0d2lkdGg6IDc1dnc7XHJcblx0XHRzY3JvbGwtc25hcC1zdG9wOiBhbHdheXM7XHJcblx0fVxyXG5cclxuXHQvLyDilIDilIAgQWN0aXZlIGNhcmQg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXHJcblx0Ly8gIE1PQklMRSBPTkxZLCBzYW1lIHRyZWF0bWVudCBhbmQgc2FtZSByZWFzb25pbmcgYXMgLnNob3J0LmlzLWFjdGl2ZTogb24gYVxyXG5cdC8vICBwaG9uZSB0aGUgcmFpbCBzbmFwcyBvbmUgY2FyZCBhdCBhIHRpbWUsIHNvIHRoZSBsZWZ0bW9zdCBjYXJkIGlzIHRoZSBvbmVcclxuXHQvLyAgeW91J3JlIG9uLiBmLXJhaWwuanMgc2V0cyB0aGUgY2xhc3M7IHNlZSBbZGF0YS1yYWlsLW1hcmtdLlxyXG5cdC8vXHJcblx0Ly8gIC0teC1yYWRpdXMsIG5vdCAtLXJhZGl1cyDigJQgdGhlIHNhbWUgbnVtYmVyIHRoZSBpZnJhbWUgaXMgY2xpcHBlZCB0bywgc29cclxuXHQvLyAgdGhlIHJpbmcgc2l0cyBvbiB0aGUgY2FyZCdzIGVkZ2UgaW5zdGVhZCBvZiBjdXR0aW5nIGluc2lkZSBpdCBvclxyXG5cdC8vICBmbG9hdGluZyBvdXRzaWRlIGl0LlxyXG5cdEBpbmNsdWRlIGF0KG1kKSB7XHJcblx0XHQmOjpiZWZvcmUge1xyXG5cdFx0XHRjb250ZW50OiBcIlwiO1xyXG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdGluc2V0OiAwO1xyXG5cdFx0XHR6LWluZGV4OiAyOyAgICAgICAgICAgICAgLy8gb3ZlciB0aGUgaWZyYW1lIEFORCB0aGUgc2tlbGV0b25cclxuXHRcdFx0Ym9yZGVyOiAzcHggc29saWQgdHJhbnNwYXJlbnQ7XHJcblx0XHRcdGJvcmRlci1yYWRpdXM6IHZhcigtLXgtcmFkaXVzKTtcclxuXHRcdFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XHJcblx0XHRcdHRyYW5zaXRpb246IGJvcmRlci1jb2xvciB2YXIoLS1kdXItZmFzdCkgJGVhc2U7XHJcblx0XHR9XHJcblxyXG5cdFx0Ji5pcy1hY3RpdmU6OmJlZm9yZSB7IGJvcmRlci1jb2xvcjogdmFyKC0tYWNjZW50KTsgfVxyXG5cdH1cclxuXHJcblx0Ly8gQmVmb3JlIHdpZGdldHMuanMgcnVucyDigJQgYW5kIHBlcm1hbmVudGx5LCBpZiBpdCdzIGJsb2NrZWQg4oCUIHRoZSBzbG90IGhvbGRzXHJcblx0Ly8gWCdzIHBsYWluIGJsb2NrcXVvdGUuIExlZnQgdW5zdHlsZWQgaXQgcmVuZGVycyBhcyBhIG5ha2VkIHF1b3RlIHdpdGggYVxyXG5cdC8vIGJyb3dzZXIgZGVmYXVsdCBtYXJnaW4sIHdoaWNoIGxvb2tzIGxpa2UgYSBidWcuIFRoaXMgbWFrZXMgdGhhdCBzdGF0ZSBhXHJcblx0Ly8gZGVsaWJlcmF0ZSBjYXJkLlxyXG5cdC8vXHJcblx0Ly8gV2hpbGUgdGhlIHNrZWxldG9uIGlzIHVwIHRoaXMgaXMgc3RpbGwgTEFJRCBPVVQsIGp1c3QgaW52aXNpYmxlOiBpdCBnaXZlc1xyXG5cdC8vIHRoZSBzbG90IGl0cyBoZWlnaHQsIGFuZCBYIG1lYXN1cmVzIHRoZSBjb250YWluZXIgdG8gc2l6ZSB0aGUgaWZyYW1lLlxyXG5cdC8vIGRpc3BsYXk6bm9uZSBoZXJlIHdvdWxkIGNvbGxhcHNlIGJvdGguXHJcblx0YmxvY2txdW90ZSB7XHJcblx0XHRtYXJnaW46IDA7XHJcblx0XHRwYWRkaW5nOiBzcCg1KTtcclxuXHRcdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpbmUpO1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcclxuXHRcdGJhY2tncm91bmQ6IHZhcigtLWJnKTtcclxuXHRcdGZvbnQtc2l6ZTogY2xhbXAoLjkycmVtLCAuMzV2dyArIC44NHJlbSwgMS4wMnJlbSk7XHJcblx0XHRsaW5lLWhlaWdodDogMS40NTtcclxuXHRcdGNvbG9yOiB2YXIoLS1pbmspO1xyXG5cclxuXHRcdHAgeyBtYXJnaW46IDAgMCBzcCgzKTsgfVxyXG5cclxuXHRcdGEge1xyXG5cdFx0XHRjb2xvcjogdmFyKC0tYWNjZW50LWluayk7XHJcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC8vIOKUgOKUgCBXaGljaCBsYXllciBzaG93cyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcclxuXHQvLyAgVGhlIGJsb2NrcXVvdGUgaXMgTkVWRVIgc2VlbiB3aGVuIEpTIGlzIG9uLiBJdCBpcyBYJ3Mgb3duIG1hcmt1cCBhbmQgSm9lXHJcblx0Ly8gIGRvZXNuJ3Qgd2FudCBpdCBvbiBzY3JlZW4gYXQgYWxsIOKAlCBpdCBzdGF5cyBpbiB0aGUgRE9NIHB1cmVseSBiZWNhdXNlXHJcblx0Ly8gIHdpZGdldHMuanMgaGFzIHRvIGZpbmQgaXQgdGhlcmUsIGxhaWQgb3V0IChub3QgZGlzcGxheTpub25lKSBzbyBYIGNhblxyXG5cdC8vICBtZWFzdXJlIHRoZSBzbG90LiBUaGVyZSBpcyBkZWxpYmVyYXRlbHkgTk8gZmFsbGJhY2s6IGlmIHRoZSBlbWJlZCBuZXZlclxyXG5cdC8vICBhcnJpdmVzIHRoZSBza2VsZXRvbiBzaW1wbHkgc3RheXMgdXAuIFNlZSB0aGUgbm90ZSBpbiBpLXhlbWJlZC5qcy5cclxuXHQvL1xyXG5cdC8vICBLZXllZCBvbiBgLmpzYCwgd2hpY2ggaGVhZGVyLnBocCBwdXRzIG9uIDxodG1sPiBpbiBhIGJsb2NraW5nIGlubGluZVxyXG5cdC8vICBzY3JpcHQgYmVmb3JlIGFueXRoaW5nIHBhaW50cy4gV0lUSE9VVCBKUyBub25lIG9mIHRoaXMgYXBwbGllczogdGhlXHJcblx0Ly8gIHNrZWxldG9uIHN0YXlzIGRpc3BsYXk6bm9uZSBhbmQgdGhlIGJsb2NrcXVvdGUgaXMgc2ltcGx5IHRoZSBjYXJkLCB3aGljaFxyXG5cdC8vICBpcyB0aGUgd2hvbGUgcmVhc29uIGl0J3MgcHJpbnRlZCBzZXJ2ZXItc2lkZS5cclxuXHQuanMgJiBibG9ja3F1b3RlIHsgb3BhY2l0eTogMDsgfVxyXG5cclxuXHQvLyDimqAgQSBgJi0tdGltZWxpbmVgIHZhcmlhbnQgZm9yIFgncyBlbWJlZGRlZC10aW1lbGluZSB3aWRnZXQgbGl2ZWQgaGVyZVxyXG5cdC8vIGZvciBvbmUgZXZlbmluZyAoMjAyNi0wOS0xNSkgYW5kIHdhcyByZW1vdmVkOiB0aGUgd2lkZ2V0IHJlbmRlcnMgbm90aGluZ1xyXG5cdC8vIGZvciBsb2dnZWQtb3V0IHZpZXdlcnMsIGZvciBhbnkgYWNjb3VudC4gU2VlIHRoZSBub3RlIGFib3ZlICNzb2NpYWwgaW5cclxuXHQvLyBmcm9udC1wYWdlLnBocCBiZWZvcmUgdHJ5aW5nIGl0IGFnYWluLlxyXG5cclxuXHQvLyDilIDilIAgV2hhdCBYIGFjdHVhbGx5IHJlbmRlcnMg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXHJcblx0Ly8gIE5PVCBhIGJhcmUgaWZyYW1lLiB3aWRnZXRzLmpzIHJlcGxhY2VzIHRoZSBibG9ja3F1b3RlIHdpdGggYSBXUkFQUEVSIERJVlxyXG5cdC8vICAoLnR3aXR0ZXItdHdlZXQudHdpdHRlci10d2VldC1yZW5kZXJlZCkgY29udGFpbmluZyB0aGUgaWZyYW1lLCBhbmQgdGhlXHJcblx0Ly8gIHdyYXBwZXIgY2FycmllcyBpdHMgb3duIHZlcnRpY2FsIG1hcmdpbi4gWmVyb2luZyB0aGUgbWFyZ2luIG9uIHRoZSBpZnJhbWVcclxuXHQvLyAgbmV2ZXIgdG91Y2hlZCBpdCDigJQgdGhhdCBtYXJnaW4gd2FzIHRoZSBteXN0ZXJ5IHBhZGRpbmcgYWJvdmUgYW5kIGJlbG93XHJcblx0Ly8gIGV2ZXJ5IGNhcmQuXHJcblx0LnR3aXR0ZXItdHdlZXQtcmVuZGVyZWQge1xyXG5cdFx0bWFyZ2luOiAwICFpbXBvcnRhbnQ7XHJcblx0fVxyXG5cclxuXHRpZnJhbWUge1xyXG5cdFx0Ly8gYmxvY2ssIG5vdCB0aGUgZGVmYXVsdCBpbmxpbmUuIEFuIGlubGluZSBpZnJhbWUgc2l0cyBvbiBhIHRleHRcclxuXHRcdC8vIGJhc2VsaW5lLCB3aGljaCBhZGRzIGhhbGYtbGVhZGluZyBhYm92ZSBpdCBhbmQgZGVzY2VuZGVyIHNwYWNlIGJlbG93IOKAlFxyXG5cdFx0Ly8gdGhlIHNlY29uZCBoYWxmIG9mIHRoYXQgc2FtZSBwYWRkaW5nLlxyXG5cdFx0ZGlzcGxheTogYmxvY2s7XHJcblxyXG5cdFx0Ly8gWCBzaGlwcyBpdHMgb3duIGlubGluZSBtYXJnaW4gb24gdGhlIGZyYW1lIHRvby5cclxuXHRcdG1hcmdpbjogMCAhaW1wb3J0YW50O1xyXG5cclxuXHRcdC8vIENsaXBzIHRoZSBpZnJhbWUncyBvd24gV0hJVEUgQ0FOVkFTIG91dCBvZiB0aGUgY29ybmVycy4gWCByb3VuZHMgaXRzXHJcblx0XHQvLyBjYXJkIGluc2lkZSB0aGUgZnJhbWUgd2hpbGUgdGhlIGZyYW1lIGl0c2VsZiBzdGF5cyBzcXVhcmUsIHNvIHdpdGhvdXRcclxuXHRcdC8vIHRoaXMgdGhlIGRvY3VtZW50IGJhY2tncm91bmQgc2hvd3MgYXMgZm91ciB3aGl0ZSBuaWNrcy4gUmVtb3ZpbmcgaXRcclxuXHRcdC8vIHdhcyB0cmllZCBvbiAyMDI2LTA4LTA3IGFuZCB0aGV5IGNhbWUgc3RyYWlnaHQgYmFjayDigJQgWCdzIGRvY3VtZW50XHJcblx0XHQvLyByZWFsbHkgZG9lcyBwYWludCBhbiBvcGFxdWUgYmFja2dyb3VuZCwgc28gdGhpcyBpcyBub3Qgb3B0aW9uYWwuXHJcblx0XHQvL1xyXG5cdFx0Ly8gVGhlIHZhbHVlIG11c3Qgc2l0IGF0IG9yIElOU0lERSBYJ3Mgb3duIGNvcm5lcjsgc2VlIC0teC1yYWRpdXMgYWJvdmUuXHJcblx0XHRib3JkZXItcmFkaXVzOiB2YXIoLS14LXJhZGl1cyk7XHJcblx0fVxyXG5cclxuXHQvLyDilIDilIAgTG9hZGluZyBza2VsZXRvbiDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcclxuXHQvLyAgU2l0cyBPVkVSIHRoZSBzbG90LCBjb3ZlcmluZyBpdCBjb21wbGV0ZWx5LCBhbmQgRElTU09MVkVTIHJhdGhlciB0aGFuXHJcblx0Ly8gIGJlaW5nIHJlbW92ZWQg4oCUIGkteGVtYmVkLmpzIGFkZHMgLmlzLWRvbmUgYW5kIGRyb3BzIHRoZSBub2RlIG9uY2UgdGhlXHJcblx0Ly8gIGZhZGUgZmluaXNoZXMuIEJlY2F1c2UgaXQgaXMgdGhlIHNhbWUgYm94IGFzIHRoZSBjYXJkIHVuZGVybmVhdGgsIGZhZGluZ1xyXG5cdC8vICBpdCBvdXQgY3Jvc3MtZGlzc29sdmVzIHRoZSBza2VsZXRvbiBpbnRvIHRoZSByZW5kZXJlZCB0d2VldCBpbnN0ZWFkIG9mXHJcblx0Ly8gIHN3YXBwaW5nIG9uZSBmb3IgdGhlIG90aGVyLlxyXG5cdC8vXHJcblx0Ly8gIGluc2V0OiAwIGlzIHdoYXQgZ3VhcmFudGVlcyBcInRoZSBzYW1lIGV4YWN0IHdpZHRoIGFzIHRoZSB0d2VldFwiOiBpdCB0YWtlc1xyXG5cdC8vICBpdHMgYm94IGZyb20gLnhlbWJlZCwgd2hpY2ggaXMgYWxzbyB3aGF0IHRoZSBibG9ja3F1b3RlIGFuZCB0aGUgaWZyYW1lXHJcblx0Ly8gIHNpemUgdG8uIFRoZXJlIGlzIG5vIHNlY29uZCB3aWR0aCB0byBrZWVwIGluIHN0ZXAuXHJcblx0Ly9cclxuXHQvLyAgSW5qZWN0ZWQgYnkgaS14ZW1iZWQuanMsIG5ldmVyIGJ5IFBIUDogd2l0aCBKUyBvZmYgbm90aGluZyBjYW4gdGFrZSBpdFxyXG5cdC8vICBkb3duLCBzbyBpdCB3b3VsZCBiZSBhIHBlcm1hbmVudCBncmV5IGJveCBvdmVyIHJlYWRhYmxlIHRleHQuXHJcblx0Jl9fc2sge1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0aW5zZXQ6IDA7XHJcblx0XHR6LWluZGV4OiAxOyAgICAgICAgICAgICAgLy8gYWJvdmUgdGhlIGJsb2NrcXVvdGUgLyBpZnJhbWUgaXQgY292ZXJzXHJcblx0XHQvLyBPbmx5IGV2ZXIgc2hvd24gd2hlbiBKUyBpcyB0aGVyZSB0byB0YWtlIGl0IGRvd24gYWdhaW4g4oCUIHNlZSB0aGVcclxuXHRcdC8vIGJsb2NrcXVvdGUgbm90ZSBhYm92ZS4gSW4gdGhlIG1hcmt1cCBmcm9tIHRoZSBzZXJ2ZXIsIGhpZGRlbiB1bnRpbFxyXG5cdFx0Ly8gdGhlIGBqc2AgY2xhc3Mgc2F5cyBzb21ldGhpbmcgY2FuIHJlbW92ZSBpdC5cclxuXHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0XHRhbGlnbi1jb250ZW50OiBzdGFydDtcclxuXHRcdGdhcDogc3AoMyk7XHJcblx0XHRwYWRkaW5nOiBzcCg1KTtcclxuXHRcdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpbmUpO1xyXG5cdFx0Ly8gTWF0Y2hlcyB0aGUgaWZyYW1lIGNsaXAgcmF0aGVyIHRoYW4gLS1yYWRpdXMsIHNvIHRoZSBjb3JuZXJzIGRvbid0XHJcblx0XHQvLyB2aXNpYmx5IGNoYW5nZSBzaGFwZSBtaWQtZGlzc29sdmUuXHJcblx0XHRib3JkZXItcmFkaXVzOiB2YXIoLS14LXJhZGl1cyk7XHJcblx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1iZyk7XHJcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdFx0b3BhY2l0eTogMTtcclxuXHRcdC8vIFNsb3cgZW5vdWdoIHRvIHJlYWQgYXMgYSBkaXNzb2x2ZS4gVGhlIHR3ZWV0IGlzIGFscmVhZHkgc2l0dGluZ1xyXG5cdFx0Ly8gdW5kZXJuZWF0aCBhdCBmdWxsIG9wYWNpdHksIHNvIHRoaXMgaXMgYSBzdHJhaWdodCBjcm9zcy1mYWRlLlxyXG5cdFx0dHJhbnNpdGlvbjogb3BhY2l0eSAuNXMgZWFzZTtcclxuXHR9XHJcblxyXG5cdC5qcyAmX19zayB7XHJcblx0XHRkaXNwbGF5OiBncmlkO1xyXG5cdH1cclxuXHJcblx0Jl9fc2suaXMtZG9uZSB7XHJcblx0XHRvcGFjaXR5OiAwO1xyXG5cdFx0Ly8gVGhlIGNhcmQgYmVuZWF0aCBpcyBsaXZlIHRoZSBtb21lbnQgdGhlIGZhZGUgc3RhcnRzIOKAlCBub3RoaW5nIGhlcmVcclxuXHRcdC8vIHNob3VsZCBiZSBjYXRjaGluZyB0YXBzIG9uIGl0cyB3YXkgb3V0LlxyXG5cdFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XHJcblx0fVxyXG5cclxuXHQmX19zay1oZWFkIHtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0Z2FwOiBzcCgzKTtcclxuXHRcdG1hcmdpbi1ib3R0b206IHNwKDIpO1xyXG5cdH1cclxuXHJcblx0Ly8gU2hhcmVkIHNoaW1tZXIuIE9uZSBhbmltYXRpb24gb24gb25lIHNlbGVjdG9yIOKAlCBhIGtleWZyYW1lIHBlciBzaGFwZSBpc1xyXG5cdC8vIGhvdyB0aGVzZSBlbmQgdXAgZHJpZnRpbmcgb3V0IG9mIHN5bmMuXHJcblx0Jl9fc2stYXZhdGFyLFxyXG5cdCZfX3NrLW5hbWUsXHJcblx0Jl9fc2stbGluZSxcclxuXHQmX19zay1tZWRpYSB7XHJcblx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1iZy0zKTtcclxuXHRcdGJvcmRlci1yYWRpdXM6IDZweDtcclxuXHRcdC8vIGNvbG9yLW1peCByYXRoZXIgdGhhbiBhIHNlY29uZCB0b2tlbjogdGhlIGhpZ2hsaWdodCBoYXMgdG8gc2l0IGp1c3RcclxuXHRcdC8vIGFib3ZlIHdoYXRldmVyIC0tYmctMyBpcyBpbiB0aGUgYWN0aXZlIHRoZW1lLCBpbiBib3RoIGRpcmVjdGlvbnMuXHJcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoXHJcblx0XHRcdDkwZGVnLFxyXG5cdFx0XHR0cmFuc3BhcmVudCxcclxuXHRcdFx0Y29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWluaykgOCUsIHRyYW5zcGFyZW50KSxcclxuXHRcdFx0dHJhbnNwYXJlbnRcclxuXHRcdCk7XHJcblx0XHRiYWNrZ3JvdW5kLXNpemU6IDIyMCUgMTAwJTtcclxuXHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcblx0XHRhbmltYXRpb246IHNrLXNoaW1tZXIgMS40cyAkZWFzZSBpbmZpbml0ZTtcclxuXHR9XHJcblxyXG5cdCZfX3NrLWF2YXRhciB7IHdpZHRoOiA0MHB4OyBoZWlnaHQ6IDQwcHg7IGJvcmRlci1yYWRpdXM6IDk5OXB4OyBmbGV4OiBub25lOyB9XHJcblx0Jl9fc2stbmFtZSAgIHsgaGVpZ2h0OiAxMnB4OyB3aWR0aDogNDUlOyB9XHJcblx0Jl9fc2stbGluZSAgIHsgaGVpZ2h0OiAxMXB4OyB9XHJcblx0Jl9fc2stbGluZTpudGgtb2YtdHlwZSgyKSB7IHdpZHRoOiA5MiU7IH1cclxuXHQmX19zay1saW5lOm50aC1vZi10eXBlKDMpIHsgd2lkdGg6IDc4JTsgfVxyXG5cdCZfX3NrLW1lZGlhICB7IGhlaWdodDogMTIwcHg7IGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7IG1hcmdpbi10b3A6IHNwKDIpOyB9XHJcblxyXG5cdC8vIFN0YWdnZXJlZCBzbyB0aGUgcm93IHNoaW1tZXJzIGFzIGEgd2F2ZSBpbnN0ZWFkIG9mIHRocmVlIGNhcmRzIHB1bHNpbmcgaW5cclxuXHQvLyBsb2Nrc3RlcCwgd2hpY2ggcmVhZHMgYXMgYSByZW5kZXJpbmcgZ2xpdGNoLlxyXG5cdCY6bnRoLWNoaWxkKDIpICZfX3NrID4gKiB7IGFuaW1hdGlvbi1kZWxheTogLjEyczsgfVxyXG5cdCY6bnRoLWNoaWxkKDMpICZfX3NrID4gKiB7IGFuaW1hdGlvbi1kZWxheTogLjI0czsgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHNrLXNoaW1tZXIge1xyXG5cdGZyb20geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxNjAlIDA7IH1cclxuXHR0byAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTYwJSAwOyB9XHJcbn1cclxuXHJcbi8vIFNrZWxldG9ucyBhcmUgZGVjb3JhdGlvbi4gU29tZW9uZSB3aG8gYXNrZWQgZm9yIGxlc3MgbW90aW9uIGdldHMgYSBmbGF0IGNhcmQuXHJcbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XHJcblx0LnhlbWJlZF9fc2sgKiB7IGFuaW1hdGlvbjogbm9uZTsgfVxyXG59XHJcblxyXG4vLyDilIDilIAgRmFsbGJhY2sgY2FyZCDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcclxuLy8gIFVzZWQgd2hlbiBvRW1iZWQgcmV0dXJuZWQgdGV4dCBidXQgbm8gYmxvY2txdW90ZSwgc28gdGhlIHJhaWwgbmV2ZXIgc2hvd3MgYVxyXG4vLyAgaG9sZS4gVGhpcyB3YXMgdGhlIHByaW1hcnkgdHJlYXRtZW50IGJlZm9yZSBKb2UgY2hvc2UgWCdzIGVtYmVkOyBpdCBpcyBrZXB0XHJcbi8vICBpbnRhY3QgYmVjYXVzZSBzd2l0Y2hpbmcgYmFjayBpcyBhIG9uZS1saW5lIGNoYW5nZSBpbiBmcm9udC1wYWdlLnBocC5cclxuLnR3ZWV0IHtcclxuXHRmbGV4OiBub25lO1xyXG5cdC8vIFdpZGUgZW5vdWdoIGZvciBhIGZldyBsaW5lcyBhdCBhIHJlYWRhYmxlIG1lYXN1cmUsIG5hcnJvdyBlbm91Z2ggdGhhdCB0aGVcclxuXHQvLyBuZXh0IGNhcmQgcGVla3MgaW4gYW5kIHNheXMgXCJ0aGVyZSdzIG1vcmVcIi5cclxuXHR3aWR0aDogY2xhbXAoMjQwcHgsIDMwdncsIDM0MHB4KTtcclxuXHRkaXNwbGF5OiBncmlkO1xyXG5cdGFsaWduLWNvbnRlbnQ6IHN0YXJ0O1xyXG5cdGdhcDogc3AoMyk7XHJcblx0cGFkZGluZzogc3AoNSk7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tbGluZSk7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iZyk7XHJcblx0dHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIHZhcigtLWR1ci1mYXN0KSAkZWFzZSwgdHJhbnNmb3JtIHZhcigtLWR1ci1mYXN0KSAkZWFzZTtcclxuXHJcblx0Jl9fbWFyayB7XHJcblx0XHRjb2xvcjogdmFyKC0taW5rLTMpO1xyXG5cdFx0dHJhbnNpdGlvbjogY29sb3IgdmFyKC0tZHVyLWZhc3QpICRlYXNlO1xyXG5cclxuXHRcdHN2ZyB7IHdpZHRoOiAxNXB4OyBoZWlnaHQ6IDE1cHg7IH1cclxuXHR9XHJcblxyXG5cdCZfX3RleHQge1xyXG5cdFx0Zm9udC1zaXplOiBjbGFtcCguOTJyZW0sIC4zNXZ3ICsgLjg0cmVtLCAxLjAycmVtKTtcclxuXHRcdGxpbmUtaGVpZ2h0OiAxLjQ1O1xyXG5cdFx0Y29sb3I6IHZhcigtLWluayk7XHJcblx0XHQvLyBTaXggbGluZXMgbWF4aW11bS4gUG9zdHMgaGF2ZSBubyBsZW5ndGggZGlzY2lwbGluZSwgYW5kIG9uZSBsb25nIG9uZVxyXG5cdFx0Ly8gd291bGQgb3RoZXJ3aXNlIHNldCB0aGUgaGVpZ2h0IG9mIGV2ZXJ5IGNhcmQgaW4gdGhlIHJvdy5cclxuXHRcdGRpc3BsYXk6IC13ZWJraXQtYm94O1xyXG5cdFx0LXdlYmtpdC1saW5lLWNsYW1wOiA2O1xyXG5cdFx0LXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcclxuXHRcdG92ZXJmbG93OiBoaWRkZW47XHJcblx0fVxyXG5cclxuXHQmX19hdXRob3Ige1xyXG5cdFx0QGluY2x1ZGUgbGFiZWw7XHJcblx0XHRmb250LXNpemU6IC43cmVtO1xyXG5cdFx0Y29sb3I6IHZhcigtLWluay0zKTtcclxuXHR9XHJcblxyXG5cdEBpbmNsdWRlIGNhbi1ob3ZlciB7XHJcblx0XHQmOmhvdmVyIHtcclxuXHRcdFx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1hY2NlbnQpO1xyXG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTNweCk7XHJcblxyXG5cdFx0XHQudHdlZXRfX21hcmsgeyBjb2xvcjogdmFyKC0tYWNjZW50LWluayk7IH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi8vIOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkFxyXG4vLyAgSU5TVEFHUkFNIFdBTEwgIOKAlCAg4o+4IFNIRUxWRUQgMjAyNi0wOC0wN1xyXG4vL1xyXG4vLyAgTm90aGluZyBvbiB0aGUgc2l0ZSBlbWl0cyAud2FsbCBvciAuc3Bvc3QgYW55IG1vcmU7IHRoZSBjbGllbnQgc2NyYXBwZWQgdGhlXHJcbi8vICBJbnN0YWdyYW0gZmVlZCBhbmQgSm9lIGFza2VkIGZvciB0aGUgdHJlYXRtZW50IHRvIGJlIHJldGhvdWdodCByYXRoZXIgdGhhblxyXG4vLyAgYWRqdXN0ZWQuIEtlcHQsIG5vdCBkZWxldGVkLCBiZWNhdXNlIHNpZ19zb2NpYWxfd2FsbCgpIGluIGluYy9jb250ZW50LnBocFxyXG4vLyAgc3RpbGwgcmVuZGVycyBleGFjdGx5IHRoaXMgbWFya3VwIGFuZCByZXN0b3JpbmcgaXQgaXMgdHdvIGxpbmVzIGluXHJcbi8vICBmcm9udC1wYWdlLnBocC4gQ29tcGlsZXMgdW51c2VkIHVudGlsIHRoZW4uXHJcbi8vXHJcbi8vICBUaGUgb3JpZ2luYWwgcmVhc29uaW5nLCBmb3Igd2hvZXZlciByZXZpc2l0cyBpdDogYSBXQUxMLCBkZWxpYmVyYXRlbHkgbm90XHJcbi8vICBhbm90aGVyIHJhaWwg4oCUIGJ5IHRoYXQgcG9pbnQgdGhlIHBhZ2UgaGFzIGFscmVhZHkgdXNlZCBhIGxpc3QgKGVwaXNvZGVzKSwgYVxyXG4vLyAgaG9yaXpvbnRhbCByYWlsIChzaG9ydHMpIGFuZCBhIGxpc3QgYWdhaW4gKGJsb2cpLCBzbyBhIHRoaXJkIHNjcm9sbGluZyByb3dcclxuLy8gIHJlYWQgYXMgdGhlIHNhbWUgaWRlYSBhIHRoaXJkIHRpbWUuIENhcHRpb25zIHNpdCBPVkVSIHRoZSBpbWFnZSBiZWNhdXNlXHJcbi8vICB0aGVzZSBhcmUgc29tZW9uZSBlbHNlJ3MgcG9zdHMgaW4gc29tZW9uZSBlbHNlJ3MgYXNwZWN0IHJhdGlvcywgYW5kIGJveGluZ1xyXG4vLyAgdGhlbSBpbnRvIGEgdW5pZm9ybSBjYXJkIHdpdGggYSB0ZXh0IGJsb2NrIGJlbmVhdGggbWFrZXMgdGhlbSBsb29rIGxpa2UgYmxvZ1xyXG4vLyAgdGVhc2Vycy5cclxuLy8g4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQXHJcblxyXG4ud2FsbCB7XHJcblx0ZGlzcGxheTogZ3JpZDtcclxuXHQvLyBTaXggY29sdW1ucyBzbyB0aWxlcyBjYW4gdGFrZSB0d28gb3IgdGhyZWUgYW5kIHN0aWxsIGxpbmUgdXAuIEEgdGlsZSBpc1xyXG5cdC8vIG5ldmVyIHNpemVkIGluIHRoZSB0ZW1wbGF0ZSDigJQgdGhlIHBhdHRlcm4gbGl2ZXMgaGVyZSwgd2hlcmUgaXQgY2FuIGNoYW5nZVxyXG5cdC8vIHBlciBicmVha3BvaW50IHdpdGhvdXQgdG91Y2hpbmcgUEhQLlxyXG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDYsIDFmcik7XHJcblx0Z2FwOiBjbGFtcCguNXJlbSwgMS4ydncsIDFyZW0pO1xyXG5cclxuXHRAaW5jbHVkZSBhdChtZCkge1xyXG5cdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcclxuXHR9XHJcbn1cclxuXHJcbi8vIOKUgOKUgCBUaWxlIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxyXG4uc3Bvc3Qge1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRkaXNwbGF5OiBibG9jaztcclxuXHRncmlkLWNvbHVtbjogc3BhbiAyO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iZy0zKTtcclxuXHQvLyBSZXZlYWwgc3RhZ2dlciwgc2FtZSAtLWQgY29udmVudGlvbiBhcyAuZXAgYW5kIC5zaG9ydC5cclxuXHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjVzICRlYXNlLCBib3gtc2hhZG93IC41cyAkZWFzZTtcclxuXHJcblx0Ly8gVGhlIHJoeXRobTogZXZlcnkgdGhpcmQgdGlsZSBpcyB3aWRlciwgYW5kIHRoZSBvbmUgYWZ0ZXIgaXQgaXMgdGFsbGVyLlxyXG5cdC8vIFVuZXZlbiBieSBkZXNpZ24g4oCUIGEgd2FsbCBvZiBpZGVudGljYWwgc3F1YXJlcyBpcyBhIGdyaWQsIG5vdCBhIHdhbGwuXHJcblx0JjpudGgtY2hpbGQoM24gKyAxKSB7IGdyaWQtY29sdW1uOiBzcGFuIDM7IH1cclxuXHQmOm50aC1jaGlsZCgzbiArIDIpIHsgZ3JpZC1jb2x1bW46IHNwYW4gMzsgfVxyXG5cclxuXHRAaW5jbHVkZSBhdChtZCkge1xyXG5cdFx0Z3JpZC1jb2x1bW46IHNwYW4gMTtcclxuXHRcdCY6bnRoLWNoaWxkKDNuICsgMSksXHJcblx0XHQmOm50aC1jaGlsZCgzbiArIDIpIHsgZ3JpZC1jb2x1bW46IHNwYW4gMTsgfVxyXG5cdH1cclxuXHJcblx0Jl9fbWVkaWEge1xyXG5cdFx0YXNwZWN0LXJhdGlvOiA0IC8gNTtcclxuXHRcdGJhY2tncm91bmQ6IHZhcigtLWJnLTMpO1xyXG5cclxuXHRcdGltZyB7XHJcblx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRoZWlnaHQ6IDEwMCU7XHJcblx0XHRcdG9iamVjdC1maXQ6IGNvdmVyO1xyXG5cdFx0XHRAaW5jbHVkZSB6b29tYWJsZTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC8vIFdpZGVyIHRpbGVzIGdldCBhIHdpZGVyIGNyb3AsIHNvIGEgMy1jb2x1bW4gdGlsZSBpc24ndCBhIHRhbGwgc2xhYi5cclxuXHQmOm50aC1jaGlsZCgzbiArIDEpICZfX21lZGlhLFxyXG5cdCY6bnRoLWNoaWxkKDNuICsgMikgJl9fbWVkaWEgeyBhc3BlY3QtcmF0aW86IDMgLyAyOyB9XHJcblxyXG5cdEBpbmNsdWRlIGF0KG1kKSB7XHJcblx0XHQmOm50aC1jaGlsZCgzbiArIDEpICZfX21lZGlhLFxyXG5cdFx0JjpudGgtY2hpbGQoM24gKyAyKSAmX19tZWRpYSB7IGFzcGVjdC1yYXRpbzogNCAvIDU7IH1cclxuXHR9XHJcblxyXG5cdC8vIOKUgOKUgCBQbGF0Zm9ybSBtYXJrIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxyXG5cdC8vICBUb3AgcmlnaHQsIG9uIGEgc2NyaW0gcmF0aGVyIHRoYW4gYSBzb2xpZCBjaGlwOiB0aGUgYXJ0d29yayBiZWhpbmQgaXQgaXNcclxuXHQvLyAgdW5wcmVkaWN0YWJsZSwgYW5kIGEgcGxhaW4gd2hpdGUgZ2x5cGggdmFuaXNoZXMgb24gYSBwYWxlIHBob3RvLlxyXG5cdCZfX2JhZGdlIHtcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdHRvcDogc3AoMyk7XHJcblx0XHRyaWdodDogc3AoMyk7XHJcblx0XHRkaXNwbGF5OiBncmlkO1xyXG5cdFx0cGxhY2UtaXRlbXM6IGNlbnRlcjtcclxuXHRcdHdpZHRoOiAzMHB4O1xyXG5cdFx0aGVpZ2h0OiAzMHB4O1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogOTk5cHg7XHJcblx0XHRiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIC40NSk7XHJcblx0XHRiYWNrZHJvcC1maWx0ZXI6IGJsdXIoNnB4KTtcclxuXHRcdGNvbG9yOiAjZmZmO1xyXG5cclxuXHRcdHN2ZyB7IHdpZHRoOiAxNXB4OyBoZWlnaHQ6IDE1cHg7IH1cclxuXHR9XHJcblxyXG5cdC8vIOKUgOKUgCBDYXB0aW9uIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxyXG5cdC8vICBPdmVyIHRoZSBpbWFnZSwgb24gYSBncmFkaWVudCB0aGF0IG9ubHkgZGFya2VucyB0aGUgYm90dG9tIHRoaXJkLiBBIGZsYXRcclxuXHQvLyAgc2NyaW0gYWNyb3NzIHRoZSB3aG9sZSB0aWxlIHdvdWxkIG11dGUgdGhlIGFydHdvcmssIHdoaWNoIGlzIHRoZSBvbmVcclxuXHQvLyAgdGhpbmcgdGhpcyBzZWN0aW9uIGlzIGZvci5cclxuXHQmX19ib2R5IHtcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdGluc2V0OiBhdXRvIDAgMCAwO1xyXG5cdFx0ZGlzcGxheTogZ3JpZDtcclxuXHRcdGdhcDogLjM1ZW07XHJcblx0XHRwYWRkaW5nOiBzcCg2KSBzcCg0KSBzcCg0KTtcclxuXHRcdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0cmFuc3BhcmVudCwgcmdiYSgwLCAwLCAwLCAuODIpKTtcclxuXHRcdGNvbG9yOiAjZmZmO1xyXG5cdH1cclxuXHJcblx0Jl9fY2FwdGlvbiB7XHJcblx0XHRmb250LXNpemU6IGNsYW1wKC44MnJlbSwgLjM1dncgKyAuNzRyZW0sIC45NXJlbSk7XHJcblx0XHRsaW5lLWhlaWdodDogMS4zNTtcclxuXHRcdC8vIFR3byBsaW5lcyBtYXhpbXVtLiBTb2NpYWwgY2FwdGlvbnMgaGF2ZSBubyBsZW5ndGggZGlzY2lwbGluZSBhbmQgYVxyXG5cdFx0Ly8gbG9uZyBvbmUgd291bGQgY292ZXIgdGhlIHdob2xlIHRpbGUuXHJcblx0XHRkaXNwbGF5OiAtd2Via2l0LWJveDtcclxuXHRcdC13ZWJraXQtbGluZS1jbGFtcDogMjtcclxuXHRcdC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XHJcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdH1cclxuXHJcblx0Jl9fZGF0ZSB7XHJcblx0XHRAaW5jbHVkZSBsYWJlbDtcclxuXHRcdGZvbnQtc2l6ZTogLjdyZW07XHJcblx0XHRvcGFjaXR5OiAuNzI7XHJcblx0fVxyXG5cclxuXHQvLyDilIDilIAgSG92ZXIg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXHJcblx0Ly8gIEdhdGVkOiBvbiB0b3VjaCA6aG92ZXIgbGF0Y2hlcyBhZnRlciBhIHRhcCBhbmQgdGhlIHRpbGUgd291bGQgc2l0IGxpZnRlZFxyXG5cdC8vICBhbmQgem9vbWVkIHdpdGggbm90aGluZyB0byBjbGVhciBpdC5cclxuXHRAaW5jbHVkZSBjYW4taG92ZXIge1xyXG5cdFx0Jjpob3ZlciB7XHJcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNHB4KTtcclxuXHRcdFx0Ym94LXNoYWRvdzogdmFyKC0tc2hhZG93LWNhcmQpO1xyXG5cclxuXHRcdFx0LnNwb3N0X19tZWRpYSBpbWcgeyBAaW5jbHVkZSB6b29tZWQoMS4wNik7IH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuIiwiQHVzZSBcInRva2Vuc1wiIGFzICo7XG5cbi8vIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLy8gIENBUkRTIOKAlCB3cml0aW5nLCBjbGlwcywgZ3Vlc3RzXG4vL1xuLy8gIFRoZSBtZWRpYSBibG9jayBjbGlwcyBpdHMgb3duIGltYWdlIGFuZCBzY2FsZXMgaXQgb24gaG92ZXI7IHRoZSBjYXJkIGl0c2VsZlxuLy8gIG5ldmVyIHRyYW5zZm9ybXMsIHNvIHRleHQgc3RheXMgcGluLXNoYXJwICh0cmFuc2Zvcm1pbmcgYSBjYXJkIGJsdXJzIGl0c1xuLy8gIHR5cGUgZHVyaW5nIHRoZSBhbmltYXRpb24gb24gbW9zdCBlbmdpbmVzKS5cbi8vIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG4vLyBhdXRvLUZJVCwgbm90IGF1dG8tZmlsbC4gYXV0by1maWxsIGtlZXBzIGVtcHR5IHRyYWNrcyBhbGl2ZSwgc28gdGhyZWUgY2FyZHNcbi8vIGluIGEgMTU2MHB4IGNvbnRhaW5lciB3ZXJlIGxhaWQgb3V0IGFjcm9zcyBmaXZlIGNvbHVtbnMgYW5kIHJlbmRlcmVkIG5hcnJvd1xuLy8gd2l0aCBkZWFkIHNwYWNlIGJlc2lkZSB0aGVtIOKAlCB0aGUgbWFpbiByZWFzb24gdGhlIGJsb2cgcm93IGxvb2tlZCBzcGFyc2UuXG4vL1xuLy8g4pqgIFRIRSBUUkFDS1MgU1RBWSBgMWZyYC4gQSBmaXhlZCBtYXggKDQyMHB4IHdhcyB0cmllZCwgMjAyNi0wOS0xMykgZG9lcyBzdG9wXG4vLyBhIGxvbmUgY2FyZCBzdHJldGNoaW5nIOKAlCBhbmQgYWxzbyBzdG9wcyBhIHR3by11cCByb3cgZnJvbSByZWFjaGluZyB0aGUgZW5kXG4vLyBvZiB0aGUgY29udGVudCBjb2x1bW4sIGxlYXZpbmcgYSBkZWFkIHN0cmlwIGJlZm9yZSB0aGUgc2lkZWJhci4gV3JvbmcgbGV2ZXIuXG4vLyBUaGUgbG9uZS1jYXJkIGNhc2UgaXMgaGFuZGxlZCBvbiB0aGUgQ0FSRCwgYmVsb3csIG5vdCBvbiB0aGUgdHJhY2tzLlxuLmdyaWQge1xuXHQtLWdyaWQtZ2FwOiBjbGFtcCgxLjI1cmVtLCAyLjV2dywgMi41cmVtKTtcblx0Ly8gQmVsb3cgbWQgdGhlIGNhcmRzIGJlY29tZSByb3dzIChzZWUgLmNhcmQpLCBhbmQgdGhlIGNsYW1wIGJvdHRvbXMgb3V0XG5cdC8vIGF0IDEuMjVyZW0g4oCUIHJvd3MgcmFuIHRvZ2V0aGVyIChcIm1vcmUgc3BhY2UgYmV0d2VlbiB0aGUgZXBpc29kZXNcIixcblx0Ly8gSm9lLCAyMDI2LTA5LTE0KS4gQSByb3cgbmVlZHMgbW9yZSBhaXIgdGhhbiBhIGdyaWQgdGlsZTogaXRzIHRpdGxlXG5cdC8vIHdyYXBzIHRvIGZvdXIgbGluZXMsIHNvIHRoZSBib3VuZGFyeSBiZXR3ZWVuIHR3byBpcyBvbmx5IHRoZSBnYXAuXG5cdC8vIOKApnRoZW4sIG9uY2UgdGhlIGFyY2hpdmUgcm93cyBnb3QgdGhlIGhvbWVwYWdlJ3MgRVAtbGFiZWwgKyBkYXRlXG5cdC8vIHRyZWF0bWVudCwgSm9lIHdhbnRlZCB0aGVtIElERU5USUNBTCB0byB0aGUgaG9tZXBhZ2UgbGlzdDogbm8gZ2FwIGF0XG5cdC8vIGFsbCwgZWFjaCByb3cgY2FycmllcyB0aGUgc2FtZSBwYWRkaW5nLWJsb2NrIGFuZCBoYWlybGluZSAuZXAgZG9lc1xuXHQvLyAoMjAyNi0wOS0xNCwgXCJhcHBseSB0aGUgc2VwYXJhdG9ycyBhbmQgdGhlIHNhbWUgYW1vdW50IG9mIHNwYWNlXCIpLlxuXHQvLyBUaGUgcm93LWxldmVsIHZhbHVlcyBsaXZlIG9uIC5jYXJkIGJlbG93OyB0aGUgZ3JpZCBqdXN0IHN0b3BzIHNwYWNpbmcuXG5cdEBpbmNsdWRlIGF0KG1kKSB7XG5cdFx0LS1ncmlkLWdhcDogMDtcblx0XHRyb3ctZ2FwOiAwO1xuXHRcdGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1saW5lKTsgICAvLyA9IC5lcC1saXN0XG5cdH1cblxuXHRkaXNwbGF5OiBncmlkO1xuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KG1pbigxMDAlLCAzMDBweCksIDFmcikpO1xuXHRnYXA6IHZhcigtLWdyaWQtZ2FwKTtcblxuXHQvLyBBIHRvcGljIG9yIGRhdGUgYXJjaGl2ZSB3aXRoIGV4YWN0bHkgT05FIHJlc3VsdDogYDFmcmAgaGFuZHMgdGhhdCBjYXJkXG5cdC8vIHRoZSB3aG9sZSBjb2x1bW4sIHNvIGl0IHJlbmRlcmVkIGFzIG9uZSBnaWFudCB0aWxlIChKb2UsIDIwMjYtMDktMTM6XG5cdC8vIFwic2hvdWxkIHN0aWxsIGxvb2sgbGlrZSB0aGUgZ3JpZC4uLiBub3QgdGFrZSAxMDAlIG9mIHRoZSBjb250YWluZXJcIikuXG5cdC8vIENhcCBpdCBhdCB3aGF0IGl0IHdvdWxkIG1lYXN1cmUgaW4gYSB0d28tdXAgcm93IOKAlCBoYWxmIHRoZSBjb2x1bW4gbGVzc1xuXHQvLyBoYWxmIGEgZ2FwIOKAlCBzbyBpdCBpcyB0aGUgc2FtZSBzaXplIGFzIGl0cyBuZWlnaGJvdXJzIG9uIHRoZSBuZXh0IHBhZ2UuXG5cdC8vIFRoZSB0cmFjayBpcyBzdGlsbCBmdWxsIHdpZHRoOyB0aGUgY2FyZCBqdXN0IGRvZXNuJ3QgZmlsbCBpdC5cblx0PiA6b25seS1jaGlsZCB7XG5cdFx0bWF4LXdpZHRoOiBjYWxjKDUwJSAtICh2YXIoLS1ncmlkLWdhcCkgLyAyKSk7XG5cblx0XHQvLyBTdGFja2VkIHRvIG9uZSBjb2x1bW4gYW55d2F5IOKAlCB0aGVyZSBpcyBub3RoaW5nIHRvIG1hdGNoLlxuXHRcdEBpbmNsdWRlIGF0KG1kKSB7IG1heC13aWR0aDogbm9uZTsgfVxuXHR9XG59XG5cbi5ncmlkLS13aWRlIHtcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heChtaW4oMTAwJSwgNDIwcHgpLCAxZnIpKTtcbn1cblxuLy8gR3Vlc3RzOiBhdXRvLUZJTEwsIHRoZSBvbmUgcGxhY2UgdGhlIGVtcHR5LXRyYWNrIGJlaGF2aW91ciBpcyB3YW50ZWQuIEFcbi8vIGd1ZXN0IGNhcmQgaXMgYSAxNjhweCBjaXJjbGUgYW5kIGEgbmFtZSwgc28gdHdvIG9mIHRoZW0gb24gYGF1dG8tZml0YFxuLy8gd2VyZSBoYW5kZWQgaGFsZiB0aGUgc2hlbGwgZWFjaCBhbmQgc2F0IDEyMDBweCBhcGFydCAoSm9lLCAyMDI2LTA5LTEzLFxuLy8gXCJ0aGlzIG9uZSB0b28gbG9sXCIpLiBGaXhlZC13aWR0aCB0cmFja3MgdGhhdCBrZWVwIGZpbGxpbmcgdGhlIHJvdywgY2FyZHNcbi8vIHN0YXkgbGVmdCBhbmQgYXQgb25lIHNpemUgaG93ZXZlciBmZXcgdGhlcmUgYXJlLiAyMDBweCBpcyB0aGUgY2lyY2xlIHBsdXNcbi8vIGJyZWF0aGluZyByb29tOyBiZWxvdyBtZCB0aGUgc2hlbGwgaXMgdG9vIG5hcnJvdyBmb3IgdGhhdCB0byBtYXR0ZXIuXG4uZ3JpZC0tZ3Vlc3RzIHtcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maWxsLCBtaW5tYXgobWluKDEwMCUsIDE3MHB4KSwgMWZyKSk7XG5cblx0PiA6b25seS1jaGlsZCB7IG1heC13aWR0aDogbm9uZTsgfSAgIC8vIHRoZSB0cmFja3MgYWxyZWFkeSBzaXplIGl0XG5cblx0Ly8gVGhlIGNpcmNsZSBJUyB0aGUgdHJhY2sgd2lkdGguIFdpdGggYSBmaXhlZCAxNjhweCBjaXJjbGUgY2VudHJlZCBpbiBhXG5cdC8vIDFmciB0cmFjaywgdGhlIGZpcnN0IGFuZCBsYXN0IGNvbHVtbnMgc2F0IGhhbGYgYSB0cmFjaydzIHNsYWNrIGluIGZyb21cblx0Ly8gdGhlIHNoZWxsIGVkZ2VzIChKb2UsIDIwMjYtMDktMTM6IFwiZmx1c2ggd2l0aCB0aGUgZWRnZXNcIikuIFNpemVkIHRvIHRoZVxuXHQvLyB0cmFjaywgdGhlIHJvdyBydW5zIGVkZ2UgdG8gZWRnZSBhbmQgdGhlIGNpcmNsZXMgc2NhbGUgd2l0aCB0aGVcblx0Ly8gY29sdW1uIGNvdW50IGluc3RlYWQgb2YgbGVhdmluZyBzbGFjayBhcm91bmQgdGhlbXNlbHZlcy5cblx0Lmd1ZXN0X19waG90byB7IHdpZHRoOiAxMDAlOyB9XG5cblx0Ly8g4pqgIFRoZSBwaG9uZS1yb3cgcnVsZXMgb24gLmdyaWQgKGdhcCAwLCBoYWlybGluZSB0b3ApIGFyZSBmb3IgQ0FSRCByb3dzLlxuXHQvLyBUaGV5IHRvb2sgdGhpcyBncmlkJ3MgZ2FwIHdpdGggdGhlbSBhbmQgdGhlIHR3byBjaXJjbGVzIHRvdWNoZWQgKEpvZSxcblx0Ly8gMjAyNi0wOS0xNCwgXCJ0aGVzZSBuZWVkIHNvbWUgc3BhY2UgYmV0d2VlbiB0aGVtIGxtYW9cIikuIFJlc3RvcmVkIGhlcmUuXG5cdEBpbmNsdWRlIGF0KG1kKSB7XG5cdFx0LS1ncmlkLWdhcDogY2xhbXAoMS4yNXJlbSwgNXZ3LCAycmVtKTtcblx0XHRib3JkZXItdG9wOiAwO1xuXHR9XG59XG5cbi8vIFBpbm5lZCAzLXVwLCBzbyB0aGUgcm93IGNhbid0IHJlZmxvdyB0byAyIG9yIDQgYXQgb2RkIHdpZHRocy5cbi5ncmlkLS0zIHtcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgbWlubWF4KDAsIDFmcikpO1xuXG5cdEBpbmNsdWRlIGF0KGxnKSB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIG1pbm1heCgwLCAxZnIpKTsgfVxuXHRAaW5jbHVkZSBhdChtZCkgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgwLCAxZnIpOyB9XG59XG5cbi8vIE5PVEU6IGAuZ3JpZC0tcnVsZXNgIGxpdmVkIGhlcmUg4oCUIGEgbW9iaWxlLW9ubHkgd2F5IHRvIG1ha2UgY2FyZCBncmlkcyBsb29rXG4vLyBsaWtlIHRoZSBlcGlzb2RlIGxpc3QuIEl0IHdhcyBkZWxldGVkIG9uY2UgQmxvZyBzd2l0Y2hlZCB0byB0aGUgcmVhbCAuZXBcbi8vIG1hcmt1cCB2aWEgc2lnX3JvdygpLCB3aGljaCBnZXRzIHRoZSBsaXN0IGxheW91dCBhdCBldmVyeSB3aWR0aCBmb3IgZnJlZS5cbi8vIENoYXNpbmcgb25lIGxheW91dCB3aXRoIHR3byBzZXRzIG9mIHJ1bGVzIGlzIHdoYXQgY2F1c2VkIHRoZSBkcmlmdCB0aGVcbi8vIGNvbW1lbnQgYXQgdGhlIHRvcCBvZiB0aGlzIGZpbGUgd2FybnMgYWJvdXQuXG5cbi8vIENhcmQgaW50ZXJuYWxzIGFyZSBkZWxpYmVyYXRlbHkgdHVuZWQgdG8gdGhlIFNBTUUgc2NhbGUgYXMgLmVwIChlcGlzb2RlIHJvd3MpXG4vLyBhbmQgLnNob3J0LCBzbyB0aGUgdGhyZWUgc2VjdGlvbnMgcmVhZCBhcyBvbmUgc3lzdGVtOlxuLy8gICBtZXRhICAgICBAaW5jbHVkZSBsYWJlbCAgIOKAlCBpZGVudGljYWwgdG8gLmVwX19lcCAvIC5zaG9ydF9fbWV0YVxuLy8gICB0aXRsZSAgICBkaXNwbGF5IDkwMCB1cHBlcmNhc2UsIGxlYWRpbmcgMS4wNSwgPSAuZXBfX3RpdGxlIGJlbG93IG1kXG4vLyAgIGV4Y2VycHQgID0gLmVwX19leGNlcnB0LCAyLWxpbmUgY2xhbXBcbi8vIENoYW5nZSBvbmUsIGNoYW5nZSBhbGwgdGhyZWUuXG4uY2FyZCB7XG5cdGRpc3BsYXk6IGdyaWQ7XG5cdC8vIGdhcDowIG9uIHB1cnBvc2UuIEEgc2luZ2xlIGBnYXBgIGZvcmNlcyB0aGUgU0FNRSBzcGFjZSBiZXR3ZWVuIG1lZGlhLT5tZXRhXG5cdC8vIGFuZCBtZXRhLT50aXRsZSwgd2hpY2ggaXMgd2hhdCBtYWRlIHRoZSBkYXRlIGZsb2F0IGJldHdlZW4gdHdvIGVxdWFsIGdhcHNcblx0Ly8gaW5zdGVhZCBvZiBzaXR0aW5nIHRpZ2h0IHVuZGVyIGl0LiBTcGFjaW5nIGlzIHNldCBwZXIgZWxlbWVudCBiZWxvdyBzbyB0aGVcblx0Ly8gbWV0YS90aXRsZSBwYWlyIGNhbiBiZSBhcyB0aWdodCBhcyAuc2hvcnRfX2JvZHkncywgd2hpbGUgdGhlIGFydHdvcmsga2VlcHNcblx0Ly8gcmVhbCBzZXBhcmF0aW9uLlxuXHRnYXA6IDA7XG5cdGFsaWduLWNvbnRlbnQ6IHN0YXJ0O1xuXG5cdCZfX21lZGlhIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0bWFyZ2luLWJvdHRvbTogc3AoNCk7XG5cdFx0Ly8gMTYvOSBhdCBFVkVSWSBzaXplIOKAlCB3YXMgMTYvMTAgb24gZGVza3RvcCB0aWxlcywgd2hpY2ggY3JvcHBlZCBhXG5cdFx0Ly8gWW91VHViZSBmcmFtZSBkaWZmZXJlbnRseSBmcm9tIHRoZSBob21lcGFnZSByb3cncyAxNi85IChKb2UsXG5cdFx0Ly8gMjAyNi0wOS0xNDogXCJ0aGUgdGh1bWIgaW1hZ2UgaXMgYWx3YXlzIHRoZSBzYW1lIGNyb3BcIikuXG5cdFx0YXNwZWN0LXJhdGlvOiAxNiAvIDk7XG5cdFx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdGJhY2tncm91bmQ6IHZhcigtLWJnLTMpO1xuXG5cdFx0aW1nIHtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTsgICAvLyBhYm92ZSB0aGUgLS1hcnQgYmFja2Ryb3AgYmVsb3dcblx0XHRcdHotaW5kZXg6IDE7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdGhlaWdodDogMTAwJTtcblx0XHRcdG9iamVjdC1maXQ6IGNvdmVyO1xuXHRcdFx0QGluY2x1ZGUgem9vbWFibGUoLjZzKTtcblx0XHR9XG5cdH1cblxuXHQvLyBBIFNIT1JUIGluIGEgMTY6OSBjYXJkIChhIGd1ZXN0J3MgQXBwZWFyYW5jZXMsIHNlYXJjaCkgaXMgdmVydGljYWwgYXJ0XG5cdC8vIGluIGEgbGFuZHNjYXBlIGZyYW1lIOKAlCBgY292ZXJgIHNob3dlZCBhIGJhbmQgYWNyb3NzIGhpcyBtb3V0aC4gRG8gd2hhdFxuXHQvLyBZb3VUdWJlIGRvZXMgd2l0aCBhIHBvcnRyYWl0IHVwbG9hZCAoSm9lLCAyMDI2LTA5LTE0KTogdGhlIGFydCBzaHJpbmtzXG5cdC8vIHRvIHRoZSBmcmFtZSdzIEhFSUdIVCAoY29udGFpbiwgY2VudHJlZCkgYW5kIHRoZSBzYW1lIGltYWdlIGZpbGxzIHRoZVxuXHQvLyBmcmFtZSBiZWhpbmQgaXQsIGJsb3duIHVwIGFuZCBkaW1tZWQgfjgwJS4gVGhlIFVSTCBjb21lcyBpbiBhcyAtLWFydFxuXHQvLyBvbiB0aGUgbWVkaWEgYm94IChzaWdfY2FyZCksIHNvIG5vIGV4dHJhIDxpbWc+IGFuZCBubyBleHRyYSByZXF1ZXN0IOKAlFxuXHQvLyBpdCdzIHRoZSBzYW1lIGZpbGUgdGhlIGJyb3dzZXIgYWxyZWFkeSBoYXMuXG5cdCYtLXNob3J0cyAmX19tZWRpYSB7XG5cdFx0YmFja2dyb3VuZDogdmFyKC0tYmctMyk7XG5cdFx0aW1nIHsgb2JqZWN0LWZpdDogY29udGFpbjsgfVxuXHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0aW5zZXQ6IDA7XG5cdFx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1hcnQpIGNlbnRlciAvIGNvdmVyIG5vLXJlcGVhdDtcblx0XHRcdGZpbHRlcjogYnJpZ2h0bmVzcyguMik7XG5cdFx0XHR0cmFuc2Zvcm06IHNjYWxlKDEuMDUpOyAgIC8vIGhpZGVzIHRoZSBzb2Z0IGVkZ2UgYnJpZ2h0bmVzcygpIGxlYXZlcyBhdCB0aGUgZnJhbWVcblx0XHR9XG5cblx0XHQvLyBCb3R0b20gc2NyaW0gc28gb3ZlcmxhaWQgY2hpcHMgc3RheSBsZWdpYmxlIG9uIGFueSBhcnR3b3JrLlxuXHRcdCY6OmFmdGVyIHtcblx0XHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRpbnNldDogYXV0byAwIDAgMDtcblx0XHRcdGhlaWdodDogNDUlO1xuXHRcdFx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRyYW5zcGFyZW50LCByZ2JhKDAsIDAsIDAsIC41NSkpO1xuXHRcdFx0b3BhY2l0eTogMDtcblx0XHRcdHRyYW5zaXRpb246IG9wYWNpdHkgdmFyKC0tZHVyKSAkZWFzZTtcblx0XHR9XG5cdH1cblxuXHQmOmhvdmVyICZfX21lZGlhIGltZyB7IEBpbmNsdWRlIHpvb21lZCgxLjA2KTsgfVxuXHQmOmhvdmVyICZfX21lZGlhOjphZnRlciB7IG9wYWNpdHk6IDE7IH1cblxuXHQvLyBCcmFuZC1ibHVlIHBpbGwg4oCUIHNhbWUgc3R5bGUgYXMgLnNob3J0X19tZXRhJ3MgZHVyYXRpb24gcGlsbCAoc2VlXG5cdC8vIF9zaG9ydHMuc2NzcyksIG9uIEpvZSdzIGFzayAyMDI2LTA5LTEzIHNvIGFuIGVwaXNvZGUgbnVtYmVyIGFuZCBhXG5cdC8vIHNob3J0J3MgcnVubmluZyB0aW1lIHJlYWQgYXMgdGhlIHNhbWUgb2JqZWN0LiAtLWFjY2VudC8jZmZmIHJhdGhlclxuXHQvLyB0aGFuIHRoZSB0cmFuc2x1Y2VudC9ibHVycmVkIGNoaXAgdGhpcyByZXBsYWNlZDogdGhhdCByZWFkIGFzIGFcblx0Ly8gdmFndWUgb3ZlcmxheSBsYWJlbCwgbm90IHRoZSBzYW1lIGtpbmQgb2YgdGhpbmcgYXMgdGhlIHRpbWUgcGlsbC5cblx0Ly8gVHdvIG92ZXJsYXkgcGlsbHMgb24gdGhlIGFydHdvcmssIG9uZSBvYmplY3QgaW4gdHdvIHBsYWNlcyAoSm9lJ3Ncblx0Ly8gZmluYWwgY2FsbCwgMjAyNi0wOS0xMywgYWZ0ZXIgZm91ciBhcnJhbmdlbWVudHMpOiB0aGUgVFlQRSB0b3AtcmlnaHQsXG5cdC8vIHRoZSBlcGlzb2RlIG51bWJlciDigJQgb3IgYSBzaG9ydCdzIHJ1bm5pbmcgdGltZSDigJQgYm90dG9tLWxlZnQuIE9wcG9zaXRlIGNvcm5lcnMsIHNvIG5laXRoZXIgZmlnaHRzXG5cdC8vIHRoZSBhcnR3b3JrJ3Mgb3duIHRpdGxlIHRleHQgKFlvdVR1YmUgZnJhbWVzIHB1dCBpdCB0b3AtbGVmdCkuIFRoZVxuXHQvLyB0eXBlIG9ubHkgZXhpc3RzIG9uIG1peGVkIGdyaWRzIChhIGd1ZXN0J3MgQXBwZWFyYW5jZXMpOyBvbiAvZXBpc29kZXMvXG5cdC8vIHRoZSBudW1iZXIgc2l0cyBhbG9uZSBib3R0b20tbGVmdCBhbmQgbmV2ZXIgbW92ZXMuIEJvdHRvbS1yaWdodCBzdGF5c1xuXHQvLyBjbGVhciBmb3IgLmNhcmRfX3BsYXkuIFNhbWUgZmFjZSwgc2l6ZSBhbmQgZmlsbCwgc28gXCJFUC4gOFwiIGFuZFxuXHQvLyBcIkVwaXNvZGVcIiByZWFkIGFzIG9uZSBmYW1pbHkuIEJyYW5kIGJsdWUsIG5vdCB0aGUgdHJhbnNsdWNlbnQgY2hpcFxuXHQvLyB0aGlzIHJlcGxhY2VkLlxuXHQmX19waWxsLFxuXHQmX19jaGlwIHtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0ei1pbmRleDogMjtcblx0XHRAaW5jbHVkZSBsYWJlbDtcblx0XHRwYWRkaW5nOiAuMTZlbSAuNjJlbTtcblx0XHRib3JkZXItcmFkaXVzOiA5OTlweDtcblx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1hY2NlbnQpO1xuXHRcdGNvbG9yOiAjZmZmO1xuXHR9XG5cblx0Ly8gSW52ZXJ0ZWQg4oCUIHdoaXRlIG9uIGJsdWUgd291bGQgbWFrZSB0aGUgdHlwZSByZWFkIGFzIGEgc2Vjb25kIG51bWJlclxuXHQvLyBjaGlwOyBibHVlIG9uIHdoaXRlIHRlbGxzIHRoZW0gYXBhcnQgYXQgYSBnbGFuY2UgKEpvZSwgMjAyNi0wOS0xMykuXG5cdCZfX3BpbGwge1xuXHRcdC8vIDNweCBDTE9TRVIgdG8gdGhlIGNvcm5lciB0aGFuIHRoZSBjaGlwJ3MgaW5zZXQg4oCUIFwibW92ZSB0aGUgdHlwZVxuXHRcdC8vIHBpbGwgaW4gYSBjb3VwbGUgcGl4ZWxzXCIgKEpvZSwgMjAyNi0wOS0xNCkuIFwiSW5cIiBoZXJlIG1lYW5zIHRvd2FyZFxuXHRcdC8vIHRoZSBlZGdlOiB0aGUgZmlyc3QgcGFzcyB3ZW50IHRoZSBvdGhlciB3YXkgYW5kIGdvdCBhIFwibm90IG91dCBsb2xcIi5cblx0XHQvLyBUb3AtTEVGVC4gV2VudCBsZWZ0IOKGkiByaWdodCDihpIgbGVmdCBpbnNpZGUgdHdlbnR5IG1pbnV0ZXMgb25cblx0XHQvLyAyMDI2LTA5LTE0IChcImJhY2sgdG8gdGhlIGxlZnQgc2lkZSB3aXRoIHRoZSBwaWxsIGxvbCBzb3JyeVwiKTtcblx0XHQvLyBsZWZ0IGlzIHRoZSBmaW5hbCBjYWxsLiBPdmVyIHRoZSBudW1iZXIgY2hpcCBhdCBib3R0b20tbGVmdCwgc29cblx0XHQvLyB0aGUgdHdvIGxhYmVscyBzaGFyZSBvbmUgZWRnZSBhbmQgdGhlIHBsYXkgYnV0dG9uIGtlZXBzIHRoZSByaWdodC5cblx0XHR0b3A6IGNhbGMoI3tzcCgzKX0gLSAzcHgpO1xuXHRcdGxlZnQ6IGNhbGMoI3tzcCgzKX0gLSAzcHgpO1xuXHRcdGJhY2tncm91bmQ6ICNmZmY7XG5cdFx0Y29sb3I6ICMxMTE7ICAgLy8gYmxhY2sgb24gd2hpdGUsIG5vdCBhY2NlbnQg4oCUIEpvZSwgMjAyNi0wOS0xMy4gRml4ZWQsIG5vdCB2YXIoLS1pbmspOiBpdCBzaXRzIG9uIGFydHdvcmssIG5vdCB0aGUgcGFnZS5cblx0fVxuXHQmX19jaGlwIHsgYm90dG9tOiBzcCgzKTsgbGVmdDogc3AoMyk7IH1cblxuXHQvLyBPbiB0aGUgbW9iaWxlIHJvdyB0aGUgYXJ0d29yayBpcyAzOHZ3ICh+MTUwcHgpIGFuZCB0aGUgcGlsbHMga2VwdCB0aGVpclxuXHQvLyBkZXNrdG9wIHNpemUg4oCUIFwiRVAuIDhcIiBjb3ZlcmVkIGEgdGhpcmQgb2YgdGhlIGZyYW1lIChcInRoZSBwaWxscyBuZWVkIHRvXG5cdC8vIGJlIGEgYml0IHNtYWxsZXJcIiwgSm9lLCAyMDI2LTA5LTE0KS4gU3RlcCB0aGUgZmFjZSBkb3duIGFuZCBwdWxsIHRoZVxuXHQvLyBpbnNldHMgaW4gdG8gbWF0Y2g7IHRoZSBsYWJlbCBtaXhpbidzIGNsYW1wIGlzIGZvciBhIGZ1bGwtd2lkdGggdGlsZS5cblx0QGluY2x1ZGUgYXQobWQpIHtcblx0XHQmX19waWxsLCAmX19jaGlwIHsgZm9udC1zaXplOiAuNzJyZW07IHBhZGRpbmc6IC4xOGVtIC41NWVtOyB9XG5cdFx0Jl9fcGlsbCB7IHRvcDogY2FsYygje3NwKDIpfSAtIDNweCk7IGxlZnQ6IGNhbGMoI3tzcCgyKX0gLSAzcHgpOyB9XG5cdFx0Ly8g4puUIFRoZSBudW1iZXIgcGlsbCBTVEFZUyBPTiB0aGUgYXJ0d29yaywgYm90dG9tLWxlZnQsIHNhbWUgYXNcblx0XHQvLyBkZXNrdG9wLiBIYW5naW5nIGl0IG91dHNpZGUgdGhlIHRodW1ibmFpbCB3YXMgdHJpZWQgYm90aCB3YXlzIG9uXG5cdFx0Ly8gMjAyNi0wOS0xNCAoYWJvdmUgdG9wLWxlZnQsIHRoZW4gdG9wLXJpZ2h0KSBhbmQgcmV2ZXJ0ZWQgd2l0aGluXG5cdFx0Ly8gbWludXRlcyAoXCJOVk0gcHV0IHRoZSBwaWxsIGJhY2sgaW5zaWRlXCIpIOKAlCBvZmYgdGhlIGltYWdlIGl0IHJlYWRcblx0XHQvLyBhcyBhIHN0cmF5IGxhYmVsIGJldHdlZW4gcm93cywgbm90IGFzIHRoZSBlcGlzb2RlJ3MgbnVtYmVyLlxuXHRcdCZfX2NoaXAgeyBib3R0b206IHNwKDIpOyBsZWZ0OiBzcCgyKTsgfVxuXHR9XG5cblx0Ly8gUGxheSBhZmZvcmRhbmNlIGZvciB2aWRlby9jbGlwIGNhcmRzLlxuXHQmX19wbGF5IHtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0cmlnaHQ6IHNwKDMpO1xuXHRcdGJvdHRvbTogc3AoMyk7XG5cdFx0ei1pbmRleDogMjtcblx0XHRkaXNwbGF5OiBncmlkO1xuXHRcdHBsYWNlLWl0ZW1zOiBjZW50ZXI7XG5cdFx0d2lkdGg6IDQ2cHg7XG5cdFx0aGVpZ2h0OiA0NnB4O1xuXHRcdGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuXHRcdGJhY2tncm91bmQ6IHZhcigtLWFjY2VudCk7XG5cdFx0Y29sb3I6IHZhcigtLW9uLWFjY2VudCk7XG5cdFx0dHJhbnNmb3JtOiBzY2FsZSguNyk7XG5cdFx0b3BhY2l0eTogMDtcblx0XHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjRzICRlYXNlLW91dCwgb3BhY2l0eSAuM3MgJGVhc2U7XG5cblx0XHRzdmcgeyB3aWR0aDogMTRweDsgaGVpZ2h0OiAxNHB4OyBtYXJnaW4tbGVmdDogMnB4OyB9XG5cdH1cblxuXHQmOmhvdmVyICZfX3BsYXkgeyB0cmFuc2Zvcm06IHNjYWxlKDEpOyBvcGFjaXR5OiAxOyB9XG5cblx0Ly8gPSAuZXBfX2VwIGFuZCAuc2hvcnRfX21ldGEg4oCUIGFsbCB0aHJlZSBzaGFyZSBAaW5jbHVkZSBsYWJlbCwgc28gYSBibG9nXG5cdC8vIGRhdGUsIGFuIGVwaXNvZGUgbnVtYmVyIGFuZCBhIHNob3J0J3MgZHVyYXRpb24gcmVhZCBhcyB0aGUgc2FtZSBvYmplY3QuXG5cdCZfX21ldGEge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRnYXA6IHNwKDMpO1xuXHRcdG1hcmdpbi1ib3R0b206IC4zZW07XG5cdFx0QGluY2x1ZGUgbGFiZWw7XG5cdFx0Y29sb3I6IHZhcigtLWFjY2VudC1pbmspO1xuXG5cdFx0Ly8gVGhlIG51bWJlciBpcyBvbiB0aGUgYXJ0d29yayBjaGlwIGF0IHRoaXMgc2l6ZSDigJQgbmV2ZXIgdHdpY2UuXG5cdFx0LmNhcmRfX2VwIHsgZGlzcGxheTogbm9uZTsgfVxuXHR9XG5cblx0Ly8gRGlzcGxheSBmYWNlLCA5MDAsIHVwcGVyY2FzZSDigJQgc2FtZSBhcyAuc2hvcnRfX3RpdGxlIGFuZCAuZXBfX3RpdGxlLlxuXHQvL1xuXHQvLyBmbHVpZCgxOCwgMjgpIHJhdGhlciB0aGFuIGEgc2VwYXJhdGUgY2xhbXAoKTogLmVwX190aXRsZSB1c2VzIGZsdWlkKDIwLCA0MClcblx0Ly8gYW5kIHRoZXNlIHNpdCBpbiBhIG5hcnJvd2VyIGdyaWQgY29sdW1uLCBzbyB0aGlzIGlzIHRoZSBzYW1lIGN1cnZlIG9uZVxuXHQvLyBzdGVwIGRvd24uIFRoZSBvbGQgY2xhbXAoKSByYW4gfjIwcHggb24gYSBwaG9uZSBhZ2FpbnN0IHRoZSBlcGlzb2RlXG5cdC8vIHRpdGxlJ3MgfjE2cHgsIHdoaWNoIGlzIHdoeSB0aGUgdHdvIHNlY3Rpb25zIGxvb2tlZCB1bnJlbGF0ZWQuXG5cdCZfX3RpdGxlIHtcblx0XHRmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcblx0XHRmb250LXNpemU6IGZsdWlkKDE4LCAyOCk7XG5cdFx0Zm9udC13ZWlnaHQ6IDkwMDtcblx0XHRsaW5lLWhlaWdodDogMS4wNTtcblx0XHRsZXR0ZXItc3BhY2luZzogLS4wMmVtO1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0dHJhbnNpdGlvbjogY29sb3IgdmFyKC0tZHVyLWZhc3QpICRlYXNlO1xuXG5cdFx0Ly8gSWRlbnRpY2FsIHRvIC5lcF9fdGl0bGUgYmVsb3cgbWQuXG5cdFx0QGluY2x1ZGUgYXQobWQpIHtcblx0XHRcdGZvbnQtc2l6ZTogY2xhbXAoMS4wMnJlbSwgMy40dncsIDEuMzVyZW0pO1xuXHRcdFx0bGluZS1oZWlnaHQ6IDEuMDU7XG5cdFx0fVxuXHR9XG5cblx0Jjpob3ZlciAmX190aXRsZSB7IGNvbG9yOiB2YXIoLS1hY2NlbnQtaW5rKTsgfVxuXG5cdC8vIOKUgOKUgCBNb2JpbGU6IGJlY29tZSBhbiBlcGlzb2RlIHJvdyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblx0Ly8gIEJlbG93IG1kIHRoZSBzdGFja2VkIGNhcmQgdHVybnMgaW50byB0aGUgZXhhY3Qgc2FtZSB0d28tY29sdW1uIHJvdyBhc1xuXHQvLyAgLmVwIOKAlCBhcnR3b3JrIGxlZnQgc3Bhbm5pbmcgYWxsIHRocmVlIHRleHQgcm93cywgbWV0YSAvIHRpdGxlIC8gZXhjZXJwdFxuXHQvLyAgc3RhY2tlZCBiZXNpZGUgaXQuIEV2ZXJ5IHZhbHVlIGhlcmUgaXMgbGlmdGVkIGZyb20gX2luZGV4LnNjc3MgcmF0aGVyXG5cdC8vICB0aGFuIHJlLWd1ZXNzZWQ6IDM4dncsIDE2OjksIHNwKDQpIGNvbHVtbiBnYXAsIGNlbnRyZS1hbGlnbmVkIGFydHdvcmsuXG5cdC8vXG5cdC8vICBUaGlzIGFsc28gYXBwbGllcyB0byB0aGUgYXJjaGl2ZS9zZWFyY2ggY2FyZHMgaW4gaW5kZXgucGhwLCB3aGljaCB1c2Vcblx0Ly8gIHRoZSBzYW1lIG1hcmt1cCDigJQgZGVsaWJlcmF0ZWx5LCBzbyBsaXN0aW5ncyBsb29rIHRoZSBzYW1lIGV2ZXJ5d2hlcmUuXG5cdEBpbmNsdWRlIGF0KG1kKSB7XG5cdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIG1pbm1heCgwLCAxZnIpO1xuXHRcdGdyaWQtdGVtcGxhdGUtcm93czogYXV0byBhdXRvIGF1dG87XG5cdFx0Y29sdW1uLWdhcDogc3AoNCk7XG5cdFx0cm93LWdhcDogMDtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdC8vID0gLmVwOiBzYW1lIHZlcnRpY2FsIHJoeXRobSBhbmQgdGhlIHNhbWUgcnVsZSB1bmRlciBlYWNoIHJvdywgc29cblx0XHQvLyAvZXBpc29kZXMvIGFuZCB0aGUgaG9tZXBhZ2UgbGlzdCBhcmUgdGhlIHNhbWUgb2JqZWN0IG9uIGEgcGhvbmUuXG5cdFx0cGFkZGluZy1ibG9jazogY2xhbXAoMS41cmVtLCAyLjZ2dywgMi41cmVtKTtcblx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tbGluZSk7XG5cblx0XHQuY2FyZF9fbWVkaWEge1xuXHRcdFx0Z3JpZC1jb2x1bW46IDE7XG5cdFx0XHRncmlkLXJvdzogMSAvIHNwYW4gMztcblx0XHRcdGFsaWduLXNlbGY6IGNlbnRlcjtcblx0XHRcdHdpZHRoOiAzOHZ3O1xuXHRcdFx0YXNwZWN0LXJhdGlvOiAxNiAvIDk7ICAgLy8gPSAuZXBfX3RodW1iXG5cdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogMTBweDsgICAgLy8gPSAuZXBfX3RodW1iXG5cdFx0fVxuXG5cdFx0Ly8gTW9iaWxlIHJvdyA9IHRpdGxlLCB0aGVuIHRoZSBEQVRFIHdoZXJlIHRoZSBleGNlcnB0IHdhcywgaW4gdGhlXG5cdFx0Ly8gZXhjZXJwdCdzIHZvaWNlIChKb2UsIDIwMjYtMDktMTQ6IFwicmVwbGFjZSB0aGUgc2hvcnQgZGVzY3JpcHRpb25cblx0XHQvLyB3aXRoIHRoZSBwb3N0IGRhdGUgaW4gdGhlIHNhbWUgdGV4dCBzdHlsZSBhcyB0aGUgc2hvcnRcblx0XHQvLyBkZXNjcmlwdGlvblwiKS4gVGhlIGJsdWUgbGFiZWwgZGF0ZSBhYm92ZSB0aGUgdGl0bGUgZ29lcyDigJQgc2FtZVxuXHRcdC8vIGZhY3QgdHdpY2UuIFRoZSBleGNlcnB0IGlzIGhpZGRlbiwgbm90IHJlbW92ZWQ6IGRlc2t0b3AgYW5kIHRoZVxuXHRcdC8vIG1hcmt1cCBrZWVwIGl0LiBTYW1lIERPTSwgcmUtc2xvdHRlZCBieSBncmlkLXJvdy5cblx0XHQvLyBUaGVuIFwicHV0IHRoZSBFUCAjIG9uIHRvcCBsaWtlIHRoZSBob21lIHBhZ2UgZG9lc1wiOiB0aGUgbnVtYmVyXG5cdFx0Ly8gY29tZXMgb3V0IG9mIHRoZSBhcnR3b3JrIGNoaXAgYW5kIHNpdHMgYWJvdmUgdGhlIHRpdGxlIGFzIHRoZVxuXHRcdC8vIHNhbWUgYmx1ZSBsYWJlbCB0aGUgaG9tZXBhZ2UgLmVwX19lcCB1c2VzLiAuY2FyZF9fbWV0YSBiZWNvbWVzXG5cdFx0Ly8gZGlzcGxheTogY29udGVudHMgc28gaXRzIHR3byBzcGFucyBjYW4gdGFrZSB0aGVpciBvd24gZ3JpZCByb3dzLlxuXHRcdC5jYXJkX19jaGlwICAgIHsgZGlzcGxheTogbm9uZTsgfVxuXHRcdC5jYXJkX19tZXRhICAgIHsgZGlzcGxheTogY29udGVudHM7IH1cblx0XHQuY2FyZF9fZXAge1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRncmlkLWNvbHVtbjogMjtcblx0XHRcdGdyaWQtcm93OiAxO1xuXHRcdFx0YWxpZ24tc2VsZjogZW5kO1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogLjNlbTtcblx0XHRcdEBpbmNsdWRlIGxhYmVsO1xuXHRcdFx0Zm9udC1zaXplOiAuODRyZW07ICAgLy8gMXB4IHVuZGVyIHRoZSBjbGFtcCBmbG9vciDigJQgPSAuZXBfX2VwIG9uIHBob25lc1xuXHRcdFx0Y29sb3I6IHZhcigtLWFjY2VudC1pbmspO1xuXHRcdH1cblx0XHQuY2FyZF9fdGl0bGUgICB7IGdyaWQtY29sdW1uOiAyOyBncmlkLXJvdzogMjsgYWxpZ24tc2VsZjogY2VudGVyOyB9XG5cdFx0LmNhcmRfX2RhdGUge1xuXHRcdFx0Z3JpZC1jb2x1bW46IDI7XG5cdFx0XHRncmlkLXJvdzogMztcblx0XHRcdGFsaWduLXNlbGY6IHN0YXJ0O1xuXHRcdFx0Ly8gPSAuY2FyZF9fZXhjZXJwdCBiZWxvdyBtZC4gVGhlIGZhY2UgaXMgbmFtZWQsIG5vdCBpbmhlcml0ZWQg4oCUXG5cdFx0XHQvLyBgaW5oZXJpdGAgcHVsbGVkIHRoZSBkaXNwbGF5IGZhY2UgKE1vZGljYSBCbGFjaykgZG93biBmcm9tXG5cdFx0XHQvLyAuY2FyZF9fbWV0YSdzIGxhYmVsIG1peGluIGFuZCB0aGUgZGF0ZSBjYW1lIG91dCBib2xkLlxuXHRcdFx0bWFyZ2luOiAuNGVtIDAgMDtcblx0XHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWJvZHkpO1xuXHRcdFx0Zm9udC1zaXplOiAuODZyZW07XG5cdFx0XHRmb250LXdlaWdodDogNDAwO1xuXHRcdFx0bGluZS1oZWlnaHQ6IDEuNDU7XG5cdFx0XHRsZXR0ZXItc3BhY2luZzogMDtcblx0XHRcdHRleHQtdHJhbnNmb3JtOiBub25lO1xuXHRcdFx0Y29sb3I6IHZhcigtLWluay0yKTtcblx0XHR9XG5cdFx0LmNhcmRfX2V4Y2VycHQgeyBkaXNwbGF5OiBub25lOyB9XG5cdH1cblxuXHQvLyA9IC5lcF9fZXhjZXJwdCAoc2l6ZSwgbGVhZGluZywgMi1saW5lIGNsYW1wLCBtb2JpbGUgc3RlcC1kb3duKS5cblx0Jl9fZXhjZXJwdCB7XG5cdFx0bWFyZ2luLXRvcDogLjVlbTtcblx0XHRmb250LXNpemU6IC45NXJlbTtcblx0XHRsaW5lLWhlaWdodDogMS41O1xuXHRcdGNvbG9yOiB2YXIoLS1pbmstMik7XG5cdFx0ZGlzcGxheTogLXdlYmtpdC1ib3g7XG5cdFx0LXdlYmtpdC1saW5lLWNsYW1wOiAyO1xuXHRcdC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblxuXHRcdEBpbmNsdWRlIGF0KG1kKSB7XG5cdFx0XHRmb250LXNpemU6IC44NnJlbTtcblx0XHRcdGxpbmUtaGVpZ2h0OiAxLjQ1O1xuXHRcdFx0bWFyZ2luLXRvcDogLjRlbTtcblx0XHR9XG5cdH1cbn1cblxuLy8g4pSA4pSAIEd1ZXN0IGNhcmQg4oCUIGNpcmN1bGFyLCB0aWdodGVyIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLmd1ZXN0IHtcblx0ZGlzcGxheTogZ3JpZDtcblx0anVzdGlmeS1pdGVtczogY2VudGVyO1xuXHRnYXA6IHNwKDMpO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cblx0Jl9fcGhvdG8ge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHR3aWR0aDogY2xhbXAoMTEwcHgsIDEydncsIDE2OHB4KTtcblx0XHRhc3BlY3QtcmF0aW86IDE7XG5cdFx0Ym9yZGVyLXJhZGl1czogOTk5cHg7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1iZy0zKTtcblx0XHQvLyBSaW5nIGFwcGVhcnMgb24gaG92ZXIgaW5zdGVhZCBvZiBzaXR0aW5nIHRoZXJlIHBlcm1hbmVudGx5LlxuXHRcdGJveC1zaGFkb3c6IDAgMCAwIDAgdmFyKC0tYWNjZW50KTtcblx0XHR0cmFuc2l0aW9uOiBib3gtc2hhZG93IC40cyAkZWFzZS1vdXQ7XG5cblx0XHQvLyDimqAgQUJTT0xVVEUsIG5vdCB3aWR0aDoxMDAlLiBJbiAuZ3JpZC0tZ3Vlc3RzIHRoZSBjaXJjbGUgaXMgc2l6ZWQgYnlcblx0XHQvLyBpdHMgdHJhY2ssIGFuZCBhbiBpbi1mbG93IDxpbWc+IGhhbmRzIHRoZSB0cmFjayBpdHMgSU5UUklOU0lDIHdpZHRoXG5cdFx0Ly8gKDUwMHB4LCB0aGUgY3JvcCkgYXMgYSBtaW5pbXVtIOKAlCBhIGAxZnJgIHRyYWNrIGNhbid0IHNocmluayBiZWxvd1xuXHRcdC8vIGl0cyBjb250ZW50J3MgbWluLWNvbnRlbnQsIHNvIHRyYWNrcyBiYWxsb29uZWQgdG8gNTAwcHggYW5kIGFcblx0XHQvLyAxOTAwcHggc2hlbGwgZml0IHR3byBvZiB0aGVtICgyMDI2LTA5LTEzKS4gT3V0IG9mIGZsb3csIHRoZSBpbWFnZVxuXHRcdC8vIGNvbnRyaWJ1dGVzIG5vdGhpbmcgYW5kIHRoZSByYXRpbyBib3ggYWxvbmUgc2V0cyB0aGUgc2l6ZS5cblx0XHRpbWcge1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0aW5zZXQ6IDA7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdGhlaWdodDogMTAwJTtcblx0XHRcdG9iamVjdC1maXQ6IGNvdmVyO1xuXHRcdH1cblx0fVxuXG5cdC8vIOKaoCBSaW5nIG9ubHkgb24gdGhlIExJTksgZm9ybS4gQSBwaG90by1vbmx5IGd1ZXN0IGlzIGEgPGRpdiBjbGFzcz1cImd1ZXN0XG5cdC8vIGd1ZXN0LS1zdGF0aWNcIj4gd2l0aCBubyBocmVmIChKb2UsIDIwMjYtMDktMTM6IFwibm8gaG92ZXIgZWZmZWN0IGxpa2UgdGhlXG5cdC8vIG9uZXMgdGhhdCBkbyBoYXZlIG90aGVyIHN0dWZmIGZpbGxlZCBpblwiKTsgbGlnaHRpbmcgaXQgdXAgcHJvbWlzZXMgYSBwYWdlXG5cdC8vIHRoYXQgaXNuJ3QgdGhlcmUg4oCUIHNhbWUgcnVsZSBhcyAuY2xvdWRfX3Rlcm0tLXN0YXRpYy5cblx0QGluY2x1ZGUgY2FuLWhvdmVyIHtcblx0XHRAYXQtcm9vdCBhI3smfTpob3ZlciAuZ3Vlc3RfX3Bob3RvIHsgYm94LXNoYWRvdzogMCAwIDAgNHB4IHZhcigtLWFjY2VudCk7IH1cblx0XHQvLyBOYW1lIGdvZXMgYmx1ZSB3aXRoIHRoZSByaW5nIOKAlCBKb2UsIDIwMjYtMDktMTMsIFwibm90IGp1c3QgdGhlIGNpcmNsZSBzdHJva2VcIi5cblx0XHRAYXQtcm9vdCBhI3smfTpob3ZlciAuZ3Vlc3RfX25hbWUgIHsgY29sb3I6IHZhcigtLWFjY2VudC1pbmspOyB9XG5cdH1cblxuXHQvLyBEaW1tZWQsIHNvIGEgZmFjZSB3aXRob3V0IGEgcGFnZSByZWFkcyBhcyBcIm5vdCB5ZXRcIiBuZXh0IHRvIHRoZSBvbmVzXG5cdC8vIHlvdSBjYW4gb3BlbiDigJQgSm9lLCAyMDI2LTA5LTEzLiBXaG9sZSBjYXJkLCBub3QganVzdCB0aGUgbmFtZSwgb3IgdGhlXG5cdC8vIHBob3RvIGxvb2tzIGFzIGNsaWNrYWJsZSBhcyBpdHMgbmVpZ2hib3Vycy5cblx0Ji0tc3RhdGljIHtcblx0XHRjdXJzb3I6IGRlZmF1bHQ7XG5cdFx0b3BhY2l0eTogLjQ1O1xuXHRcdC0tcmVzdC1vcGFjaXR5OiAuNDU7ICAgLy8gc2VlIF9tb3Rpb24uc2NzcyDigJQgdGhlIHJldmVhbCB3b3VsZCBvdGhlcndpc2UgcmVzdG9yZSAxXG5cdH1cblxuXHQmX19uYW1lIHtcblx0XHRmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcblx0XHRmb250LXNpemU6IDEuMDVyZW07XG5cdFx0Zm9udC13ZWlnaHQ6IDkwMDtcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdGxldHRlci1zcGFjaW5nOiAtLjAxZW07XG5cdFx0dHJhbnNpdGlvbjogY29sb3IgdmFyKC0tZHVyLWZhc3QpICRlYXNlO1xuXHR9XG5cblx0Jl9fcm9sZSB7XG5cdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ubyk7XG5cdFx0Zm9udC1zaXplOiAuNjZyZW07XG5cdFx0bGV0dGVyLXNwYWNpbmc6IC4xMmVtO1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0Y29sb3I6IHZhcigtLWluay0zKTtcblx0fVxufVxuXG4vLyDilIDilIAgRmVhdHVyZSBibG9jayDigJQgdGhlIFwibGF0ZXN0XCIgY2FsbG91dCDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi5mZWF0dXJlIHtcblx0ZGlzcGxheTogZ3JpZDtcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMCwgMS4xNWZyKSBtaW5tYXgoMCwgLjg1ZnIpO1xuXHRnYXA6IGNsYW1wKDEuNXJlbSwgNHZ3LCA0cmVtKTtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0cGFkZGluZzogY2xhbXAoMS41cmVtLCAzdncsIDNyZW0pO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1saW5lKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWxnKTtcblx0YmFja2dyb3VuZDogdmFyKC0tYmctMik7XG5cblx0QGluY2x1ZGUgYXQobGcpIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7IH1cblxuXHQmX19tZWRpYSB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdGFzcGVjdC1yYXRpbzogMTYgLyA5O1xuXHRcdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1iZy0zKTtcblxuXHRcdGltZyB7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCU7IG9iamVjdC1maXQ6IGNvdmVyOyB9XG5cdH1cblxuXHQmX19ib2R5IHsgZGlzcGxheTogZ3JpZDsgZ2FwOiBzcCg0KTsgYWxpZ24tY29udGVudDogY2VudGVyOyB9XG5cblx0Jl9fdGl0bGUge1xuXHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuXHRcdGZvbnQtc2l6ZTogZmx1aWQoMjgsIDY4KTtcblx0XHRmb250LXdlaWdodDogOTAwO1xuXHRcdGxpbmUtaGVpZ2h0OiAuOTQ7XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRsZXR0ZXItc3BhY2luZzogLS4wM2VtO1xuXHR9XG59XG4iLCJAdXNlIFwidG9rZW5zXCIgYXMgKjtcblxuLy8g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4vLyAgUFJPU0Ug4oCUIGxvbmctZm9ybSBhcnRpY2xlIGJvZHlcbi8vXG4vLyAgU2NvcGVkIHRvIC5wcm9zZSBzbyBlZGl0b3IgY29udGVudCBjYW4gbmV2ZXIgbGVhayB0aGVzZSBydWxlcyBpbnRvIHRoZVxuLy8gIGNvbXBvbmVudCBsYXllci4gU2l6ZWQgaW4gY2gsIG5vdCBweDogbWVhc3VyZSBpcyB3aGF0IG1ha2VzIGJvZHkgY29weVxuLy8gIHJlYWRhYmxlLCBhbmQgaXQgc2hvdWxkIGhvbGQgcmVnYXJkbGVzcyBvZiB0aGUgZm9udCB0aGF0IGVuZHMgdXAgbG9hZGluZy5cbi8vIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG4ucHJvc2Uge1xuXHQvLyBObyBtZWFzdXJlIGNhcC4gSXQgd2FzIDY4Y2ggKHJlYWRhYmlsaXR5KTsgSm9lIHB1bGxlZCBpdCAyMDI2LTA5LTEzIOKAlFxuXHQvLyBcIm1ha2UgaXQgc3BhbiBpdCwgaWRjXCIg4oCUIGFmdGVyIHNlZWluZyBhIGd1ZXN0IGJpbyBzdG9wIHNob3J0IG9mIHRoZVxuXHQvLyBzaWRlYmFyLiBUaGUgY29udGVudCBjb2x1bW4ncyBvd24gd2lkdGggaXMgdGhlIGxpbWl0IG5vdy5cblx0bWF4LXdpZHRoOiBub25lO1xuXHRmb250LXNpemU6IGNsYW1wKDEuMDVyZW0sIC40dncgKyAuOTZyZW0sIDEuMTZyZW0pO1xuXHRsaW5lLWhlaWdodDogMS43O1xuXHRjb2xvcjogdmFyKC0taW5rLTIpO1xuXG5cdD4gKiArICogeyBtYXJnaW4tdG9wOiAxLjM1ZW07IH1cblxuXHRoMiwgaDMsIGg0IHtcblx0XHRjb2xvcjogdmFyKC0taW5rKTtcblx0XHRmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcblx0XHRmb250LXdlaWdodDogOTAwO1xuXHRcdGxpbmUtaGVpZ2h0OiAxLjA1O1xuXHRcdGxldHRlci1zcGFjaW5nOiAtLjAyNWVtO1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0bWFyZ2luLXRvcDogMi4yZW07XG5cdH1cblxuXHRoMiB7IGZvbnQtc2l6ZTogY2xhbXAoMS42cmVtLCAyLjR2dywgMi40cmVtKTsgfVxuXHRoMyB7IGZvbnQtc2l6ZTogY2xhbXAoMS4zcmVtLCAxLjh2dywgMS43cmVtKTsgfVxuXHRoNCB7IGZvbnQtc2l6ZTogMS4xNXJlbTsgfVxuXG5cdHN0cm9uZyB7IGNvbG9yOiB2YXIoLS1pbmspOyBmb250LXdlaWdodDogNzAwOyB9XG5cblx0YSB7XG5cdFx0Y29sb3I6IHZhcigtLWluayk7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cdFx0dGV4dC1kZWNvcmF0aW9uLWNvbG9yOiB2YXIoLS1hY2NlbnQpO1xuXHRcdHRleHQtdW5kZXJsaW5lLW9mZnNldDogLjE4ZW07XG5cdFx0dGV4dC1kZWNvcmF0aW9uLXRoaWNrbmVzczogMnB4O1xuXHRcdHRyYW5zaXRpb246IGNvbG9yIHZhcigtLWR1ci1mYXN0KSAkZWFzZTtcblxuXHRcdCY6aG92ZXIgeyBjb2xvcjogdmFyKC0tYWNjZW50LWluayk7IH1cblx0fVxuXG5cdHVsLCBvbCB7IHBhZGRpbmctbGVmdDogMS40ZW07IH1cblx0bGkgKyBsaSB7IG1hcmdpbi10b3A6IC41ZW07IH1cblx0bGk6Om1hcmtlciB7IGNvbG9yOiB2YXIoLS1hY2NlbnQtaW5rKTsgfVxuXG5cdGJsb2NrcXVvdGUge1xuXHRcdG1hcmdpbi1pbmxpbmU6IDA7XG5cdFx0cGFkZGluZy1sZWZ0OiBzcCg1KTtcblx0XHRib3JkZXItbGVmdDogMnB4IHNvbGlkIHZhcigtLWFjY2VudCk7XG5cdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG5cdFx0Zm9udC1zaXplOiBjbGFtcCgxLjNyZW0sIDJ2dywgMS45cmVtKTtcblx0XHRmb250LXdlaWdodDogOTAwO1xuXHRcdGxpbmUtaGVpZ2h0OiAxLjE1O1xuXHRcdGxldHRlci1zcGFjaW5nOiAtLjAyZW07XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRjb2xvcjogdmFyKC0taW5rKTtcblx0fVxuXG5cdGltZywgZmlndXJlLCB2aWRlbywgaWZyYW1lIHsgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTsgfVxuXG5cdGZpZ2NhcHRpb24ge1xuXHRcdG1hcmdpbi10b3A6IHNwKDIpO1xuXHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm8pO1xuXHRcdGZvbnQtc2l6ZTogLjdyZW07XG5cdFx0bGV0dGVyLXNwYWNpbmc6IC4xZW07XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRjb2xvcjogdmFyKC0taW5rLTMpO1xuXHR9XG5cblx0Y29kZSB7XG5cdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ubyk7XG5cdFx0Zm9udC1zaXplOiAuODhlbTtcblx0XHRwYWRkaW5nOiAuMTVlbSAuNGVtO1xuXHRcdGJvcmRlci1yYWRpdXM6IDRweDtcblx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1iZy0zKTtcblx0XHRjb2xvcjogdmFyKC0taW5rKTtcblx0fVxuXG5cdGhyIHtcblx0XHRib3JkZXI6IDA7XG5cdFx0aGVpZ2h0OiAxcHg7XG5cdFx0YmFja2dyb3VuZDogdmFyKC0tbGluZSk7XG5cdFx0bWFyZ2luLWJsb2NrOiAyLjVlbTtcblx0fVxufVxuXG4vLyDilIDilIAgUGFnaW5hdGlvbiDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi5wYWdpbmF0aW9uIHtcblx0bWFyZ2luLXRvcDogY2xhbXAoMnJlbSwgNHZ3LCA0cmVtKTtcblxuXHQubmF2LWxpbmtzIHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGdhcDogc3AoMik7XG5cdFx0ZmxleC13cmFwOiB3cmFwO1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdH1cblxuXHQucGFnZS1udW1iZXJzIHtcblx0XHRkaXNwbGF5OiBncmlkO1xuXHRcdHBsYWNlLWl0ZW1zOiBjZW50ZXI7XG5cdFx0bWluLXdpZHRoOiA0NnB4O1xuXHRcdGhlaWdodDogNDZweDtcblx0XHRwYWRkaW5nLWlubGluZTogc3AoMyk7XG5cdFx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tbGluZSk7XG5cdFx0Ym9yZGVyLXJhZGl1czogOTk5cHg7XG5cdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ubyk7XG5cdFx0Zm9udC1zaXplOiAuOHJlbTtcblx0XHRjb2xvcjogdmFyKC0taW5rLTIpO1xuXHRcdHRyYW5zaXRpb246IGNvbG9yIHZhcigtLWR1ci1mYXN0KSAkZWFzZSwgYm9yZGVyLWNvbG9yIHZhcigtLWR1ci1mYXN0KSAkZWFzZTtcblxuXHRcdCY6aG92ZXIgeyBjb2xvcjogdmFyKC0taW5rKTsgYm9yZGVyLWNvbG9yOiB2YXIoLS1saW5lLTIpOyB9XG5cblx0XHQmLmN1cnJlbnQge1xuXHRcdFx0YmFja2dyb3VuZDogdmFyKC0tYWNjZW50KTtcblx0XHRcdGJvcmRlci1jb2xvcjogdmFyKC0tYWNjZW50KTtcblx0XHRcdGNvbG9yOiB2YXIoLS1vbi1hY2NlbnQpO1xuXHRcdH1cblx0fVxufVxuIiwiQHVzZSBcInRva2Vuc1wiIGFzICo7XG5cbi8vIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLy8gIFNJREVCQVJcbi8vXG4vLyAgTGF0ZXN0IC8gdG9waWMgY2xvdWQgLyBtb250aCBhcmNoaXZlLCBvbiBhbGwgZm91ciBjb250ZW50IHR5cGVzLiBUaGUgbWFya3VwXG4vLyAgaXMgZ2VuZXJhdGVkIHBlciBwb3N0IHR5cGUgYnkgc2lnX3NpZGViYXIoKSDigJQgc2VlIGluYy9zaWRlYmFyLnBocCDigJQgc28gdGhlcmVcbi8vICBpcyBub3RoaW5nIHR5cGUtc3BlY2lmaWMgaW4gaGVyZS5cbi8vIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG4vLyBUaGUgdHdvLWNvbHVtbiB3cmFwcGVyLiBBcHBsaWVkIHRvIHRoZSAuc2hlbGwgSU5TSURFIGEgc2VjdGlvbiwgbm90IHRvIHRoZVxuLy8gc2VjdGlvbiwgc28gdGhlIGJhbmQgYW5kIGl0cyBwYWRkaW5nIGFyZSB1bmFmZmVjdGVkLlxuLy9cbi8vIOKaoCBBIEZJWEVEIFNFQ09ORCBUUkFDSywgbm90IGEgZnJhY3Rpb24uIEF0IGAxZnIgMWZyYCB0aGUgc2lkZWJhciBncm93cyB3aXRoXG4vLyB0aGUgdmlld3BvcnQgYW5kIGEgMjQtdGVybSBjbG91ZCBnZXRzIGEgbHV4dXJpb3VzIGNvbHVtbiBpdCBkb2VzIG5vdCBlYXJuO1xuLy8gdGhlIGNvbnRlbnQgY29sdW1uIGlzIHRoZSBvbmUgdGhhdCBzaG91bGQgYWJzb3JiIHRoZSBleHRyYSB3aWR0aC5cbi53aXRoLXNpZGUge1xuXHRkaXNwbGF5OiBncmlkO1xuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgwLCAxZnIpIDMyMHB4O1xuXHRnYXA6IGNsYW1wKDJyZW0sIDR2dywgNC41cmVtKTtcblx0YWxpZ24taXRlbXM6IHN0YXJ0O1xuXG5cdC8vIOKaoCBtaW4td2lkdGg6IDAgb24gdGhlIENPTlRFTlQgY29sdW1uIHNwZWNpZmljYWxseS4gR3JpZCBpdGVtcyBkZWZhdWx0IHRvXG5cdC8vIG1pbi13aWR0aDogYXV0bywgc28gYSB3aWRlIGNoaWxkIOKAlCBhbiBlcGlzb2RlIHJvdywgYSBjb2RlIGJsb2NrLCBhIGxvbmdcblx0Ly8gdW5icm9rZW4gdGl0bGUg4oCUIHJlZnVzZXMgdG8gc2hyaW5rIGFuZCBwdXNoZXMgdGhlIHNpZGViYXIgb2ZmLXNjcmVlblxuXHQvLyBpbnN0ZWFkIG9mIHdyYXBwaW5nLiBTYW1lIHRyYXAgYXMgdGhlIG5ld3NsZXR0ZXIgcGFuZWwuXG5cdD4gKiB7IG1pbi13aWR0aDogMDsgfVxuXG5cdC8vIFRoZSBjb250ZW50IGNvbHVtbidzIGV5ZWJyb3cgKC43MnJlbSBtb25vLCBib2R5IGxpbmUtaGVpZ2h0KSBzYXQgfjEwcHhcblx0Ly8gbG93ZXIgdGhhbiB0aGUgc2lkZWJhcidzIFwiTGF0ZXN0IOKAplwiIHRpdGxlIChsYWJlbCwgbGluZS1oZWlnaHQgMSksIHNvXG5cdC8vIHRoZSB0d28gY29sdW1ucyB2aXNpYmx5IHN0YXJ0ZWQgYXQgZGlmZmVyZW50IGhlaWdodHMgKEpvZSwgMjAyNi0wOS0xMykuXG5cdC8vIFRoZSBjb250ZW50IGNvbHVtbiBjb21lcyB1cCB0byBtZWV0IGl0OyBzaWRlIGJ5IHNpZGUgb25seSDigJQgc3RhY2tlZCxcblx0Ly8gdGhlcmUgaXMgbm90aGluZyB0byBhbGlnbiB3aXRoLlxuXHQ+IDpmaXJzdC1jaGlsZCB7IG1hcmdpbi10b3A6IC0uNnJlbTsgfVxuXG5cdEBpbmNsdWRlIGF0KGxnKSB7XG5cdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG5cdFx0Z2FwOiBjbGFtcCgyLjVyZW0sIDZ2dywgNHJlbSk7XG5cblx0XHQ+IDpmaXJzdC1jaGlsZCB7IG1hcmdpbi10b3A6IDA7IH1cblx0fVxufVxuXG4uc2lkZSB7XG5cdC8vIOKblCBOT1QgU1RJQ0tZLiBJdCB3YXMgKGBwb3NpdGlvbjogc3RpY2t5OyB0b3A6IG5hdiArIDEuNXJlbWAsIHN0YXRpYyBiZWxvd1xuXHQvLyBsZykgYW5kIEpvZSBwdWxsZWQgaXQgMjAyNi0wOS0xMzogXCJJIGRvbid0IGxpa2UgdGhlIHJpZ2h0IHNpZGViYXJcblx0Ly8gZm9sbG93aW5nIHRoZSBwYWdlIGFzIHlvdSBzY3JvbGwsIGl0J3MgYW5ub3lpbmcuXCIgSXQgc2Nyb2xscyB3aXRoIHRoZVxuXHQvLyBjb250ZW50IGxpa2UgYW55IG90aGVyIGNvbHVtbi4gRG9uJ3QgYnJpbmcgdGhlIHBpbiBiYWNrLlxuXG5cdCZfX2Jsb2NrIHtcblx0XHQmICsgJiB7IG1hcmdpbi10b3A6IGNsYW1wKDJyZW0sIDMuNXZ3LCAzcmVtKTsgfVxuXHR9XG5cblx0Jl9fdGl0bGUge1xuXHRcdEBpbmNsdWRlIGxhYmVsO1xuXHRcdGNvbG9yOiB2YXIoLS1pbmstMik7XG5cdFx0cGFkZGluZy1ib3R0b206IHNwKDMpO1xuXHRcdG1hcmdpbi1ib3R0b206IHNwKDQpO1xuXHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1saW5lKTtcblx0fVxuXG5cdC8vIOKUgOKUgCBMYXRlc3Qg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cdCZfX2xpc3Qge1xuXHRcdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdFx0bWFyZ2luOiAwO1xuXHRcdHBhZGRpbmc6IDA7XG5cdH1cblxuXHQmX19pdGVtICsgJl9faXRlbSB7IG1hcmdpbi10b3A6IHNwKDQpOyB9XG5cblx0Ly8gR3Vlc3RzOiBhIGZhY2UsIG5vdCBhcnR3b3JrIOKAlCByb3VuZCwgYW5kIDIwJSBzbWFsbGVyIHRoYW4gdGhlIDY0cHhcblx0Ly8gZXBpc29kZS9hcnRpY2xlIHRodW1iIChKb2UsIDIwMjYtMDktMTMpLiBPbmx5IHRoaXMgbGlzdDsgYSBjaXJjdWxhclxuXHQvLyBjcm9wIG9mIGEgMTY6OSBlcGlzb2RlIHN0aWxsIHdvdWxkIGxvc2UgdGhlIHRpdGxlIHRleHQgaW4gdGhlIGFydHdvcmsuXG5cdCZfX2xpc3QtLWd1ZXN0cyB7XG5cdFx0Ly8gVGlnaHRlciBjb2x1bW4gZ2FwIHRoYW4gdGhlIDY0cHggdGh1bWJzIGdldDogYSByb3VuZCA1MXB4IGF2YXRhclxuXHRcdC8vIGhhcyBsZXNzIHZpc3VhbCBtYXNzLCBzbyB0aGUgc3RhbmRhcmQgZ2FwIHJlYWQgYXMgYSBob2xlIGJldHdlZW5cblx0XHQvLyBmYWNlIGFuZCBuYW1lIChKb2UsIDIwMjYtMDktMTMpLlxuXHRcdC5zaWRlX19saW5rIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA1MXB4IG1pbm1heCgwLCAxZnIpOyBnYXA6IHNwKDMpOyB9XG5cdFx0LnNpZGVfX3RodW1iIHsgYm9yZGVyLXJhZGl1czogOTk5cHg7IH1cblx0fVxuXG5cdCZfX2xpbmsge1xuXHRcdGRpc3BsYXk6IGdyaWQ7XG5cdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA2NHB4IG1pbm1heCgwLCAxZnIpO1xuXHRcdGdhcDogc3AoNCk7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRjb2xvcjogaW5oZXJpdDtcblxuXHRcdEBpbmNsdWRlIGNhbi1ob3ZlciB7XG5cdFx0XHQmOmhvdmVyIC5zaWRlX19uYW1lIHsgY29sb3I6IHZhcigtLWFjY2VudC1pbmspOyB9XG5cdFx0XHQmOmhvdmVyIC5zaWRlX190aHVtYiBpbWcgeyBAaW5jbHVkZSB6b29tZWQoMS4wOCk7IH1cblx0XHR9XG5cblx0XHQvLyBBIHBob3RvLW9ubHkgZ3Vlc3Q6IGEgPHNwYW4+IHdpdGggbm8gaHJlZiwgYW5kIG5vbmUgb2YgdGhlIGFib3ZlLlxuXHRcdC8vIEpvZSwgMjAyNi0wOS0xMyDigJQgc2FtZSBydWxlIGFzIC5ndWVzdC0tc3RhdGljIC8gLmNsb3VkX190ZXJtLS1zdGF0aWMuXG5cdFx0Ji0tc3RhdGljIHtcblx0XHRcdGN1cnNvcjogZGVmYXVsdDtcblx0XHRcdG9wYWNpdHk6IC40NTsgICAvLyA9IC5ndWVzdC0tc3RhdGljXG5cdFx0XHRAaW5jbHVkZSBjYW4taG92ZXIge1xuXHRcdFx0XHQmOmhvdmVyIC5zaWRlX19uYW1lIHsgY29sb3I6IGluaGVyaXQ7IH1cblx0XHRcdFx0Jjpob3ZlciAuc2lkZV9fdGh1bWIgaW1nIHsgdHJhbnNmb3JtOiBub25lOyB9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Jl9fdGh1bWIge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdGFzcGVjdC1yYXRpbzogMSAvIDE7XG5cdFx0Ym9yZGVyLXJhZGl1czogOHB4O1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0YmFja2dyb3VuZDogdmFyKC0tYmctMyk7XG5cblx0XHRpbWcge1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0XHRvYmplY3QtZml0OiBjb3Zlcjtcblx0XHRcdEBpbmNsdWRlIHpvb21hYmxlKC41cyk7XG5cdFx0fVxuXHR9XG5cblx0Jl9fYm9keSB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0bWluLXdpZHRoOiAwO1xuXHR9XG5cblx0Ly8gVHdvIGxpbmVzIG1heGltdW0sIHNvIGZpdmUgaXRlbXMgYXJlIGFsd2F5cyB0aGUgc2FtZSBoZWlnaHQgcmVnYXJkbGVzcyBvZlxuXHQvLyBob3cgbG9uZyBhbiBlcGlzb2RlIHRpdGxlIHJ1bnMuXG5cdCZfX25hbWUge1xuXHRcdGRpc3BsYXk6IC13ZWJraXQtYm94O1xuXHRcdC13ZWJraXQtbGluZS1jbGFtcDogMjtcblx0XHQtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0XHRmb250LXNpemU6IC45MnJlbTtcblx0XHRsaW5lLWhlaWdodDogMS4zO1xuXHRcdHRyYW5zaXRpb246IGNvbG9yIHZhcigtLWR1ci1mYXN0KSAkZWFzZTtcblx0fVxuXG5cdCZfX21ldGEge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdG1hcmdpbi10b3A6IC4zZW07XG5cdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ubyk7XG5cdFx0Zm9udC1zaXplOiAuN3JlbTsgICAgICAgICAgLy8gPSAuc2hvcnRfX21ldGEgLyAuY2FyZF9fbWV0YSBmYW1pbHlcblx0XHRsZXR0ZXItc3BhY2luZzogLjEyZW07XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRjb2xvcjogdmFyKC0taW5rLTMpO1xuXHR9XG5cblx0Ly8g4pSA4pSAIEFyY2hpdmUg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cdCZfX3llYXIge1xuXHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1saW5lKTtcblxuXHRcdCY6bGFzdC1vZi10eXBlIHsgYm9yZGVyLWJvdHRvbTogMDsgfVxuXHR9XG5cblx0Ly8gVGhlIGRlZmF1bHQgZGlzY2xvc3VyZSB0cmlhbmdsZSBpcyBkcmF3biBieSB0aGUgVUEgYW5kIGNhbm5vdCBiZSBzdHlsZWRcblx0Ly8gY29uc2lzdGVudGx5LCBzbyBpdCBpcyByZW1vdmVkIGFuZCByZXBsYWNlZCB3aXRoIG91ciBvd24gY2FyZXQuXG5cdCZfX3llYXJuYW1lIHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRcdHBhZGRpbmctYmxvY2s6IHNwKDMpO1xuXHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHRmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vKTtcblx0XHRmb250LXNpemU6IC44MnJlbTtcblx0XHRsZXR0ZXItc3BhY2luZzogLjFlbTtcblx0XHRsaXN0LXN0eWxlOiBub25lOyAgICAgICAgICAgICAgICAgICAgICAgLy8gRmlyZWZveFxuXHRcdCY6Oi13ZWJraXQtZGV0YWlscy1tYXJrZXIgeyBkaXNwbGF5OiBub25lOyB9ICAgLy8gU2FmYXJpIC8gQ2hyb21lXG5cblx0XHQmOjphZnRlciB7XG5cdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0d2lkdGg6IDdweDtcblx0XHRcdGhlaWdodDogN3B4O1xuXHRcdFx0Ym9yZGVyLXJpZ2h0OiAycHggc29saWQgY3VycmVudENvbG9yO1xuXHRcdFx0Ym9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIGN1cnJlbnRDb2xvcjtcblx0XHRcdHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKSB0cmFuc2xhdGUoLTJweCwgLTJweCk7XG5cdFx0XHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gdmFyKC0tZHVyLWZhc3QpICRlYXNlO1xuXHRcdFx0b3BhY2l0eTogLjU1O1xuXHRcdH1cblxuXHRcdC5zaWRlX195ZWFyW29wZW5dICY6OmFmdGVyIHtcblx0XHRcdHRyYW5zZm9ybTogcm90YXRlKDIyNWRlZykgdHJhbnNsYXRlKC0ycHgsIC0ycHgpO1xuXHRcdH1cblxuXHRcdC8vIOKblCBOTyBob3ZlciBjb2xvdXIgY2hhbmdlIGhlcmUg4oCUIEpvZSdzIGNhbGwgMjAyNi0wOS0xMywgXCJzaG91bGRuJ3Rcblx0XHQvLyBsaWdodCB0aGVtIHVwIGJsdWUgdGhhdCBmZWVscyB0b28gbXVjaCBsaWtlIGEgbGlua1wiLiBBIDxzdW1tYXJ5PiBpcyBhXG5cdFx0Ly8gZGlzY2xvc3VyZSB0b2dnbGUsIG5vdCBhIG5hdmlnYXRpb24gdGFyZ2V0LCBzbyBpdCBrZWVwcyB0aGUgY2FyZXQnc1xuXHRcdC8vIG93biBhZmZvcmRhbmNlIChiZWxvdykgYW5kIG5vdGhpbmcgZWxzZSBvbiBob3Zlci5cblx0fVxuXG5cdCZfX21vbnRocyB7XG5cdFx0bGlzdC1zdHlsZTogbm9uZTtcblx0XHRtYXJnaW46IDAgMCBzcCgzKTtcblx0XHRwYWRkaW5nOiAwO1xuXG5cdFx0YSB7XG5cdFx0XHQvLyBJbmxpbmUsIG5vdCBzcGFjZS1iZXR3ZWVuIOKAlCB0aGUgY291bnQgcmVhZHMgYXMgcGFydCBvZiB0aGUgbGFiZWxcblx0XHRcdC8vIChcIkphbnVhcnkgKDEwKVwiKSwgbm90IGEgcmlnaHQtYWxpZ25lZCBmaWd1cmUuIEpvZSdzIGNhbGxcblx0XHRcdC8vIDIwMjYtMDktMTMuXG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdHBhZGRpbmctYmxvY2s6IHNwKDEpOyAgIC8vIHdhcyBzcCgyKSDigJQgXCJjbG9zZXIgdG9nZXRoZXJcIiwgSm9lIDIwMjYtMDktMTNcblx0XHRcdGZvbnQtc2l6ZTogLjg4cmVtO1xuXHRcdFx0Y29sb3I6IHZhcigtLWluay0yKTtcblx0XHRcdHRyYW5zaXRpb246IGNvbG9yIHZhcigtLWR1ci1mYXN0KSAkZWFzZTtcblxuXHRcdFx0QGluY2x1ZGUgY2FuLWhvdmVyIHtcblx0XHRcdFx0Jjpob3ZlciB7IGNvbG9yOiB2YXIoLS1hY2NlbnQtaW5rKTsgfVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdCZfX24ge1xuXHRcdG1hcmdpbi1sZWZ0OiAuMzVlbTtcblx0XHRmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vKTtcblx0XHRmb250LXNpemU6IC43OHJlbTtcblx0XHRjb2xvcjogdmFyKC0taW5rLTMpO1xuXHRcdGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7XG5cdH1cbn1cblxuXG4vLyDilIDilIAgVG9waWMgY2xvdWQg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4vLyAgLS13IGlzIDAuLjEsIHNldCBwZXIgdGVybSBieSB0aGUgdGVtcGxhdGUgZnJvbSB0aGF0IHNldCdzIE9XTiBzcHJlYWQuIFRoZVxuLy8gIHNjYWxlIGxpdmVzIGhlcmUgcmF0aGVyIHRoYW4gaW4gYW4gaW5saW5lIGZvbnQtc2l6ZSBzbyBpdCBjYW4gYmUgcmV0dW5lZFxuLy8gIHdpdGhvdXQgdG91Y2hpbmcgUEhQLlxuLy9cbi8vICDimqAgVGhlIGZsb29yIGlzIGEgcmVhZGFibGUgc2l6ZSwgbm90IHplcm8uIEEgdHJ1ZSBjbG91ZCBzY2FsZXMgdGhlIGxlYXN0LXVzZWRcbi8vICB0ZXJtIGRvd24gdG8gbm90aGluZyBsZWdpYmxlOyB0aGVzZSBhcmUgbmF2aWdhdGlvbiwgYW5kIGEgbGluayBub2JvZHkgY2FuXG4vLyAgcmVhZCBpcyBhIGxpbmsgbm9ib2R5IGNsaWNrcy5cbi5jbG91ZCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtd3JhcDogd3JhcDtcblx0Z2FwOiBzcCgyKTtcblxuXHQmX190ZXJtIHtcblx0XHQtLXc6IDA7XG5cblx0XHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0XHRhbGlnbi1pdGVtczogYmFzZWxpbmU7XG5cdFx0Z2FwOiAuNDVlbTtcblx0XHRwYWRkaW5nOiAuNGVtIC43NWVtO1xuXHRcdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpbmUpO1xuXHRcdGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuXHRcdGZvbnQtc2l6ZTogY2FsYyguNzhyZW0gKyAodmFyKC0tdykgKiAuMzByZW0pKTtcblx0XHRmb250LXdlaWdodDogY2FsYyg1MDAgKyAodmFyKC0tdykgKiAyMDApKTtcblx0XHRsaW5lLWhlaWdodDogMS4xO1xuXHRcdGNvbG9yOiB2YXIoLS1pbmstMik7XG5cdFx0dHJhbnNpdGlvbjogY29sb3IgdmFyKC0tZHVyLWZhc3QpICRlYXNlLFxuXHRcdFx0XHRcdGJvcmRlci1jb2xvciB2YXIoLS1kdXItZmFzdCkgJGVhc2U7XG5cblx0XHQvLyDimqAgSG92ZXIgb25seSBvbiB0aGUgTElOSyBmb3JtLiBUaGUgLS1zdGF0aWMgc3BhbiBiZWxvdyBpcyBub3Rcblx0XHQvLyBjbGlja2FibGUsIHNvIGxpZ2h0aW5nIGl0IHVwIHByb21pc2VkIGEgcGFnZSB0aGF0IGlzbid0IHRoZXJlIChKb2UsXG5cdFx0Ly8gMjAyNi0wOS0xMykuIGBhYCBpbiB0aGUgc2VsZWN0b3IgaXMgd2hhdCBrZWVwcyBpdCBvZmYgdGhlIHNwYW4uXG5cdFx0QGluY2x1ZGUgY2FuLWhvdmVyIHtcblx0XHRcdEBhdC1yb290IGEjeyZ9OmhvdmVyIHtcblx0XHRcdFx0Y29sb3I6IHZhcigtLWFjY2VudC1pbmspO1xuXHRcdFx0XHRib3JkZXItY29sb3I6IHZhcigtLWFjY2VudCk7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Ly8gQSBndWVzdCB3aG9zZSBwYWdlIGlzIHN0aWxsIGEgRFJBRlQg4oCUIHJlbmRlcmVkIGFzIGEgPHNwYW4+IGJ5XG5cdFx0Ly8gc2lnX2d1ZXN0X3RhZygpLCBuZXZlciBhIGxpbmsgKEpvZSwgMjAyNi0wOS0xMykuIFNhbWUgcGlsbCwgZGFzaGVkXG5cdFx0Ly8gc28gaXQgcmVhZHMgYXMgXCJuYW1lZCwgbm90IHlldCBhIHBhZ2VcIiByYXRoZXIgdGhhbiBhcyBhIGJyb2tlbiBsaW5rLlxuXHRcdCYtLXN0YXRpYyB7XG5cdFx0XHRib3JkZXItc3R5bGU6IGRhc2hlZDtcblx0XHRcdGNvbG9yOiB2YXIoLS1pbmstMyk7XG5cdFx0XHRjdXJzb3I6IGRlZmF1bHQ7XG5cdFx0fVxuXHR9XG5cblx0Ly8gVGFnLXR5cGUgbWFyaywgb25seSBvbiB0aGUgcm93cyB1bmRlciBhIHNpbmdsZSBwb3N0IChzaWdfcG9zdF90YWdzKS5cblx0Ly8gZW0tc2l6ZWQgc28gaXQgdHJhY2tzIHRoZSBwaWxsJ3Mgb3duIHRleHQgc2l6ZS5cblx0Jl9faWNvIHtcblx0XHR3aWR0aDogMWVtO1xuXHRcdGhlaWdodDogMWVtO1xuXHRcdGZsZXg6IG5vbmU7XG5cdFx0YWxpZ24tc2VsZjogY2VudGVyO1xuXHRcdG9wYWNpdHk6IC43O1xuXHR9XG5cblx0Ly8gVGhlIGNvdW50IGlzIHN1cHBvcnRpbmcgZGV0YWlsIOKAlCBpdCBtdXN0IG5vdCBzY2FsZSB3aXRoIHRoZSB0ZXJtIG9yIGFcblx0Ly8gaGVhdmlseS11c2VkIHRvcGljIGdldHMgYSBoZWF2eSBudW1iZXIgY29tcGV0aW5nIHdpdGggaXRzIG93biBuYW1lLlxuXHQmX19uIHtcblx0XHRmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vKTtcblx0XHRmb250LXNpemU6IC42OHJlbTtcblx0XHRjb2xvcjogdmFyKC0taW5rLTMpO1xuXHRcdGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7XG5cdH1cbn1cblxuXG4vLyDilIDilIAgVGFnIHJvd3MgdW5kZXIgYSBzaW5nbGUgZXBpc29kZSAvIGFydGljbGUg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4vLyAgXCJXaXRoICBbZ3Vlc3RdIFtndWVzdF1cIiB0aGVuIFwiVG9waWNzICBbdG9waWNdIFt0b3BpY11cIi4gUmVuZGVyZWQgYnlcbi8vICBzaWdfcG9zdF90YWdzKCkg4oCUIGluYy9ndWVzdHMucGhwIOKAlCBhbmQgb25seSB3aGVuIHRoZXJlIGlzIHNvbWV0aGluZyB0byBzaG93LlxuLnRhZ3Mge1xuXHRkaXNwbGF5OiBncmlkO1xuXHRnYXA6IHNwKDQpO1xuXHRtYXJnaW4tdG9wOiBjbGFtcCgycmVtLCA0dncsIDNyZW0pO1xuXHRwYWRkaW5nLXRvcDogc3AoNSk7XG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1saW5lKTtcblxuXHQvLyBMYWJlbCBhbmQgcGlsbHMgb24gT05FIGxpbmUsIHdyYXBwaW5nIGFzIGEgcGFyYWdyYXBoIHdvdWxkIOKAlCBKb2UsXG5cdC8vIDIwMjYtMDktMTMsIFwiaW5saW5lIG5vdCBzdGFja2VkXCIuIGBkaXNwbGF5OiBjb250ZW50c2Agb24gLmNsb3VkIGxldHMgaXRzXG5cdC8vIHBpbGxzIGZsb3cgZGlyZWN0bHkgYWZ0ZXIgdGhlIGxhYmVsIGluc3RlYWQgb2YgYXMgYSBzZXBhcmF0ZSBibG9jay5cblx0Jl9fcm93IHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGZsZXgtd3JhcDogd3JhcDtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdGdhcDogc3AoMik7XG5cblx0XHQuY2xvdWQgeyBkaXNwbGF5OiBjb250ZW50czsgfVxuXG5cdFx0Ly8gT24gYSBwaG9uZSB0aGUgaW5saW5lIGxhYmVsIHB1c2hlcyB0aGUgZmlyc3QgcGlsbCB0byB0aGUgcm93J3MgZW5kXG5cdFx0Ly8gYW5kIHRoZSByZXN0IHdyYXAgdW5kZXIgaXQg4oCUIGEgcmFnZ2VkIHRocmVlLWxpbmUgYmxvY2sgKFwidGFncyBjYW5cblx0XHQvLyBzdGFjayBvbiBtb2JpbGVcIiwgMjAyNi0wOS0xNCkuIExhYmVsIG9uIGl0cyBvd24gbGluZSwgcGlsbHMgYmVsb3cuXG5cdFx0QGluY2x1ZGUgYXQoc20pIHtcblx0XHRcdC50YWdzX19sYWJlbCB7XG5cdFx0XHRcdGZsZXgtYmFzaXM6IDEwMCU7XG5cdFx0XHRcdG1hcmdpbi1yaWdodDogMDtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogc3AoMSk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Jl9fbGFiZWwge1xuXHRcdEBpbmNsdWRlIGxhYmVsO1xuXHRcdGNvbG9yOiB2YXIoLS1pbmstMyk7XG5cdFx0bWFyZ2luLXJpZ2h0OiBzcCgyKTtcblx0fVxufVxuIiwiQHVzZSBcInRva2Vuc1wiIGFzICo7XG5cbi8vIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLy8gIFBST01PIEJBTkRcbi8vXG4vLyAgRnVsbC1ibGVlZCBkYXJrIHN0cmlwZSBjYXJyeWluZyB0aGUgc2hvcC4gSG9tZXBhZ2UgYmV0d2VlbiBTaG9ydHMgYW5kIEJsb2csXG4vLyAgYW5kIGFnYWluIGF0IHRoZSBmb290IG9mIGEgc2luZ2xlIGVwaXNvZGUuIFNlZSBpbmMvcHJvbW8ucGhwIGZvciB3aHkgaXRcbi8vICBkZWxpYmVyYXRlbHkgc2l0cyBvdXRzaWRlIHRoZSB3YXNoL3BsYWluIGFsdGVybmF0aW9uLlxuLy8g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cbi5wcm9tbyB7XG5cdC8vIOKblCBUSEUgREFSSyBQQUxFVFRFIElUU0VMRiBMSVZFUyBJTiBUSEUgU0hBUkVEIGAuaW5zZXRgIENMQVNTLCBub3QgaGVyZSDigJRcblx0Ly8gc2VlIF9iYXNlLnNjc3MgYW5kIHRoZSBgLmluc2V0YCBibG9jayBpbiBfdG9rZW5zLnNjc3MuIFRoaXMgcGFydGlhbCBvbmx5XG5cdC8vIG93bnMgdGhlIHByb21vIGJhbmQncyBvd24gbGF5b3V0LiBNYXJrdXA6IDxzZWN0aW9uIGNsYXNzPVwicHJvbW8gaW5zZXRcIj4uXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0cGFkZGluZy1ibG9jazogY2xhbXAoMy41cmVtLCA3dncsIDdyZW0pO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHQvLyBUaGUgYmFuZCdzIHRvcCBlZGdlIGFscmVhZHkgaGFzIGEgcnVsZSDigJQgdGhlIFNob3J0cyB3YXNoIGFib3ZlIGl0IGRyYXdzXG5cdC8vIGBib3JkZXItYmxvY2tgLiBJdHMgYm90dG9tIGVkZ2UgaGFkIG5vdGhpbmcsIHNvIHByb21vIOKGkiBCbG9nIHdhcyB0aGUgb25lXG5cdC8vIHNlY3Rpb24gYm91bmRhcnkgb24gdGhlIHBhZ2Ugd2l0aG91dCBhIGxpbmUgKFwic3RpbGwgbm8gc2VwYXJhdG9yXCIsXG5cdC8vIEpvZSwgMjAyNi0wOS0xNCkuIEJvdHRvbSBvbmx5OiBhIGJvcmRlci10b3AgaGVyZSB3b3VsZCBkb3VibGUgdGhlXG5cdC8vIHdhc2gncyB0byAycHguXG5cdC8vXG5cdC8vIC0tbGluZS0yLCBub3QgLS1saW5lLiBUaGUgMTAlIGhhaXJsaW5lIElTIGRyYXduIG9uIHB1cmUgYmxhY2sg4oCUIGl0XG5cdC8vIG1lYXN1cmVkIHJnYigyNiwyNiwyNikgaW4gSm9lJ3Mgc2NyZWVuc2hvdCDigJQgYnV0IHRoZSBCbG9nIHNlY3Rpb24gdW5kZXJcblx0Ly8gaXQgaXMgIzEwMTAxNCwgdGVuIGxldmVscyBkYXJrZXIsIHNvIHRoZSBleWUgY2FuJ3QgZmluZCBpdCAoXCJJIGRvbid0XG5cdC8vIHNlZSBpdFwiKS4gVGhlIHdhc2gncyBsaW5lIHJlYWRzIGJlY2F1c2UgaXQgc2l0cyBvbiAjMDgwODBhIGFnYWluc3Rcblx0Ly8gKDMzLDMzLDM1KTogYSAyNS1sZXZlbCBzdGVwLiAxOCUgb24gYmxhY2sgaXMgcmdiKDQ2KSwgYSAzMC1sZXZlbCBzdGVwLlxuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tbGluZS0yKTtcblxuXHQmX19pbm5lciB7XG5cdFx0ZGlzcGxheTogZ3JpZDtcblx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgwLCAxZnIpIG1pbm1heCgwLCAuODJmcik7XG5cdFx0Z2FwOiBjbGFtcCgycmVtLCA1dncsIDVyZW0pO1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cblx0XHQvLyBDb3B5IGZpcnN0IG9uIHRvdWNoLiBUaGUgaW1hZ2UgaXMgdGhlIGhvb2sgb24gZGVza3RvcCB3aGVyZSBib3RoIGFyZVxuXHRcdC8vIHZpc2libGUgYXQgb25jZSwgYnV0IG9uIGEgcGhvbmUgaXQgd291bGQgcHVzaCB0aGUgaGVhZGluZyBhbmQgdGhlIG9uZVxuXHRcdC8vIGJ1dHRvbiBiZWxvdyB0aGUgZm9sZC5cblx0XHRAaW5jbHVkZSBhdChtZCkge1xuXHRcdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMCwgMWZyKTtcblx0XHRcdGdhcDogY2xhbXAoMnJlbSwgNnZ3LCAzcmVtKTtcblx0XHR9XG5cdH1cblxuXHQmX19jb3B5IHtcblx0XHQvLyDimqAgbWluLXdpZHRoOiAwIOKAlCBhIGdyaWQgY2hpbGQgZGVmYXVsdHMgdG8gbWluLXdpZHRoOiBhdXRvLCBzbyBhIGxvbmdcblx0XHQvLyB1bmJyb2tlbiBoZWFkaW5nIHJlZnVzZXMgdG8gc2hyaW5rIGFuZCBzaG92ZXMgdGhlIGltYWdlIG91dCBvZiB0aGVcblx0XHQvLyBiYW5kLiBTYW1lIHRyYXAgYXMgLndpdGgtc2lkZSBhbmQgdGhlIG5ld3NsZXR0ZXIgcGFuZWwuXG5cdFx0bWluLXdpZHRoOiAwO1xuXHR9XG5cblx0Ly8g4pqgIFRoZSBkaXNwbGF5IEZBQ0UgY29tZXMgZnJvbSB0aGUgYC5kaXNwbGF5YCBjbGFzcyBpbiB0aGUgbWFya3VwLCBub3QgZnJvbVxuXHQvLyBhbiBAZXh0ZW5kIGhlcmUuIF9iYXNlLnNjc3Mgb3ducyB0aGF0IHByaW1pdGl2ZSBhbmQgdGhlcmUgaXMgbm8gcGxhY2Vob2xkZXJcblx0Ly8gdG8gZXh0ZW5kIGFjcm9zcyBhIGBAdXNlYCBib3VuZGFyeSDigJQgZHVwbGljYXRpbmcgdGhlIGZhY2Uvd2VpZ2h0L3RyYWNraW5nXG5cdC8vIGludG8gdGhpcyBmaWxlIGlzIGV4YWN0bHkgdGhlIGRyaWZ0IHRoZSB0b3Agb2YgX2NhcmRzLnNjc3Mgd2FybnMgYWJvdXQuXG5cdC8vIFRoaXMgcnVsZSBvbmx5IHNldHMgd2hhdCBpcyBzcGVjaWZpYyB0byB0aGUgYmFuZC5cblx0Jl9fdGl0bGUge1xuXHRcdG1hcmdpbi10b3A6IHNwKDQpO1xuXHRcdGZvbnQtc2l6ZTogY2xhbXAoMi4xcmVtLCA1LjJ2dywgNC4ycmVtKTtcblx0XHRtYXgtd2lkdGg6IDE0Y2g7XG5cdH1cblxuXHQmX190ZXh0IHtcblx0XHRtYXJnaW4tdG9wOiBzcCg1KTtcblx0XHRtYXgtd2lkdGg6IDQ2Y2g7XG5cdFx0Y29sb3I6IHZhcigtLWluay0yKTtcblx0XHRmb250LXNpemU6IGNsYW1wKDFyZW0sIC4zNXZ3ICsgLjk1cmVtLCAxLjE1cmVtKTtcblx0fVxuXG5cdCZfX2N0YSB7XG5cdFx0bWFyZ2luLXRvcDogc3AoNik7XG5cdH1cblxuXHQvLyDilIDilIAgQXJ0d29yayDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblx0Ly9cblx0Ly8g4pqgIFRIRSBQSE9UTyBJUyBUSEUgQ0FSRC4gSXQgZmlsbHMgdGhlIGJveCBlZGdlIHRvIGVkZ2UsIHNvIG5vIHBhbmVsIGNvbG91clxuXHQvLyBpcyBldmVyIHZpc2libGUgYmVoaW5kIGl0IOKAlCB3aGljaCBpcyB0aGUgZW50aXJlIHBvaW50IG9mIGRvaW5nIGl0IHRoaXMgd2F5LlxuXHQvL1xuXHQvLyDim5QgRE8gTk9UIEdPIEJBQ0sgVE8gQSBQQURERUQgUEFORUwgV0lUSCBBIEJBQ0tHUk9VTkQgQ09MT1VSLiBUaGF0IHdhc1xuXHQvLyB0cmllZCBmaXJzdCwgYW5kIGl0IGlzIGEgY29sb3VyLW1hdGNoaW5nIHRyYXA6IHRoZSBzaG9wJ3MgcHJvZHVjdCBzaG90cyBhcmVcblx0Ly8gY3V0IG91dCBvbiBhIG5lYXItd2hpdGUgc3R1ZGlvIGdyb3VuZCB0aGF0IGlzIE5PVCAjZmZmLCBzbyBhbnkgcGFuZWwgY29sb3VyXG5cdC8vIGxlYXZlcyBhIGZhaW50bHkgdmlzaWJsZSByZWN0YW5nbGUgZmxvYXRpbmcgaW5zaWRlIHRoZSBjYXJkIOKAlCB0aGUgc2VhbVxuXHQvLyBiZXR3ZWVuIHBob3RvIGdyb3VuZCBhbmQgcGFuZWwuIFR3byBkaWZmZXJlbnQgdmFsdWVzIHdlcmUgdHJpZWQgYWdhaW5zdCB0aGVcblx0Ly8gbGl2ZSBhcnR3b3JrIGFuZCBib3RoIHNlYW1lZC4gTWF0Y2hpbmcgaXQgZXhhY3RseSB3b3VsZCBhbHNvIG1lYW4gcmUtbWF0Y2hpbmdcblx0Ly8gdGhlIGRheSB0aGUgY2xpZW50IHJlLXBob3RvZ3JhcGhzIGFueXRoaW5nLlxuXHQvL1xuXHQvLyDim5QgQW5kIGRvbid0IHJlYWNoIGZvciBtaXgtYmxlbmQtbW9kZSB0byBrbm9jayB0aGUgd2hpdGUgb3V0IGVpdGhlci5cblx0Ly8gYG11bHRpcGx5YCBkb2VzIGVyYXNlIHRoZSBncm91bmQg4oCUIGFuZCB0YWtlcyB0aGUgYmxhY2sgdC1zaGlydCB3aXRoIGl0LFxuXHQvLyBiZWNhdXNlIHRoZSBnYXJtZW50IGlzIGRhcmtlciB0aGFuIHRoZSBiYW5kLiBgc2NyZWVuYCBrZWVwcyB0aGUgd2hpdGUuXG5cdC8vIE5vIGJsZW5kIG1vZGUgc2VwYXJhdGVzIGEgZGFyayBwcm9kdWN0IGZyb20gYSBsaWdodCBncm91bmQuXG5cdC8vXG5cdC8vIDEvMSBiZWNhdXNlIGV2ZXJ5IHByb2R1Y3QgaW4gdGhlIHNob3AgaXMgc3F1YXJlICh2ZXJpZmllZDogdGhlIHRlZXMgYXJlXG5cdC8vIDI1NjB4MjU2MCksIHNvIGBjb3ZlcmAgY3JvcHMgbm90aGluZyB0b2RheS4gQSBub24tc3F1YXJlIHVwbG9hZCBsYXRlciBnZXRzXG5cdC8vIGNlbnRyZS1jcm9wcGVkLCB3aGljaCBpcyB3aGF0IC5jYXJkX19tZWRpYSBhbHJlYWR5IGRvZXMgZXZlcnl3aGVyZSBlbHNlIG9uXG5cdC8vIHRoZSBzaXRlIOKAlCBwcmVkaWN0YWJsZSByYXRoZXIgdGhhbiBzdXJwcmlzaW5nLlxuXHQmX19tZWRpYSB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdGFzcGVjdC1yYXRpbzogMSAvIDE7XG5cdFx0bWluLXdpZHRoOiAwO1xuXHRcdG1heC13aWR0aDogMzByZW07XG5cdFx0bWFyZ2luLWlubGluZTogYXV0bztcblx0XHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbGcpO1xuXHRcdC8vIE9ubHkgZXZlciBzZWVuIGFzIHRoZSBsYXp5LWxvYWQgcGxhY2Vob2xkZXIg4oCUIHRoZSBpbWFnZSBjb3ZlcnMgaXRcblx0XHQvLyBjb21wbGV0ZWx5IG9uY2UgZGVjb2RlZC4gRGVsaWJlcmF0ZWx5IG5vdCB3aGl0ZSwgc28gYSBzbG93IGNvbm5lY3Rpb25cblx0XHQvLyBzaG93cyBhIHF1aWV0IGJveCByYXRoZXIgdGhhbiBhIHdoaXRlIGZsYXNoIG9uIGEgYmxhY2sgYmFuZC5cblx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1iZy0zKTtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXG5cdFx0Ly8g4puUIE5PIGBvcmRlcmAgUkVPUkRFUklORyBPTkNFIFNUQUNLRUQuIFNvdXJjZSBvcmRlciBhbHJlYWR5IHB1dHMgdGhlXG5cdFx0Ly8gY29weSBmaXJzdCwgd2hpY2ggaXMgd2hhdCB3ZSB3YW50IG9uIGEgcGhvbmUg4oCUIHNlZSB0aGUgbm90ZSBvblxuXHRcdC8vIF9faW5uZXIuIEZsaXBwaW5nIHRoZSBpbWFnZSBhYm92ZSB0aGUgaGVhZGluZyBoZXJlIHdvdWxkIGJ1cnkgdGhlIG9uZVxuXHRcdC8vIGJ1dHRvbiBiZWxvdyB0aGUgZm9sZC5cblx0XHQvL1xuXHRcdC8vIFRoZSBzcXVhcmUgaXMga2VwdCB3aGVuIHN0YWNrZWQ7IGl0IGp1c3QgbmFycm93cywgc28gdGhlIHByb2R1Y3Qgc3RheXNcblx0XHQvLyB0aGUgc2FtZSBzaGFwZSBhdCBldmVyeSB3aWR0aCByYXRoZXIgdGhhbiBiZWNvbWluZyBhIGxldHRlcmJveCBjcm9wIG9mXG5cdFx0Ly8gaXRzZWxmIG9uIGEgcGhvbmUuXG5cdFx0QGluY2x1ZGUgYXQobWQpIHtcblx0XHRcdG1heC13aWR0aDogMjJyZW07XG5cdFx0fVxuXG5cdFx0Ly8gTm8gcHJvZHVjdCBzaG90IG9uIGEgcGhvbmUgYXQgYWxsIChKb2UsIDIwMjYtMDktMTQsIFwicmVtb3ZlIHRoZVxuXHRcdC8vIHRodW1iIG9uIG1vYmlsZSBpdCBsb29rcyB0ZXJyaWJsZVwiKTogc3RhY2tlZCB1bmRlciB0aGUgY29weSBpdCB3YXNcblx0XHQvLyBhIGZ1bGwtd2lkdGggd2hpdGUgc3F1YXJlIG9mIG9uZSB0ZWUsIHRoZSBiaWdnZXN0IHRoaW5nIG9uIHRoZVxuXHRcdC8vIHNjcmVlbiBhbmQgYWZ0ZXIgdGhlIGJ1dHRvbi4gVGhlIGJhbmQgaXMgY29weSArIENUQSB0aGVyZS5cblx0XHRAaW5jbHVkZSBhdChzbSkge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cdH1cblxuXHQmX19pbWcge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGhlaWdodDogMTAwJTtcblx0XHQvLyBgY292ZXJgLCBwYWlyZWQgd2l0aCB0aGUgMS8xIGJveCBhYm92ZSDigJQgc2VlIHRoZSBub3RlIHRoZXJlLiBPbiBhIHNxdWFyZVxuXHRcdC8vIHNvdXJjZSB0aGlzIGlzIGlkZW50aWNhbCB0byBgY29udGFpbmAgd2l0aCB6ZXJvIGNyb3AsIGFuZCBpdCBndWFyYW50ZWVzXG5cdFx0Ly8gdGhlIHBob3RvIHJlYWNoZXMgZXZlcnkgZWRnZSBzbyBubyBwYW5lbCBjb2xvdXIgY2FuIHNob3cgdGhyb3VnaC5cblx0XHRvYmplY3QtZml0OiBjb3Zlcjtcblx0XHRvYmplY3QtcG9zaXRpb246IGNlbnRlcjtcblx0fVxufVxuIiwiQHVzZSBcInRva2Vuc1wiIGFzICo7XG5cbi8vIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLy8gIFNIT1Ag4oCUIFdvb0NvbW1lcmNlJ3MgcHJvZHVjdCBsb29wLCByZXN0eWxlZCB0byB0aGUgY2FyZCBzeXN0ZW0uXG4vL1xuLy8gIFdvbydzIG1hcmt1cCBpcyBrZXB0ICh1bC5wcm9kdWN0cyA+IGxpLnByb2R1Y3QgPiBhID4gaW1nICsgaDIgKyAucHJpY2UpO1xuLy8gIGluYy9zaG9wLnBocCByZW1vdmVzIHRoZSByZXN1bHQgY291bnQgYW5kIHRoZSBsb29wIGJ1dHRvbi4gRXZlcnl0aGluZ1xuLy8gIGJlbG93IGlzIG5lc3RlZCB1bmRlciAud29vY29tbWVyY2Ugc28gaXQgb3V0LXdlaWdocyBXb28ncyBvd24gc3R5bGVzaGVldCxcbi8vICB3aGljaCBpcyBlbnF1ZXVlZCBhZnRlciBvdXJzIOKAlCBzYW1lIGZpZ2h0LCBzYW1lIGFuc3dlciwgYXMgX2Zvcm1zLnNjc3MuXG4vLyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblxuLy8gVGhlIHBpbGwtc2hhcGVkIHNlbGVjdCDigJQgdGhlIHNvcnQgb24gdGhlIHNob3AgcGFnZSwgU2l6ZSBvbiBhIHByb2R1Y3QuXG4vLyBUaGUgVUEgY2FyZXQgaXMgdW5zdHlsYWJsZSBhbmQgc2l0cyBiYWRseSBpbiBhIHBpbGwsIHNvIGl0IGlzIHJlcGxhY2VkLlxuJXBpbGwtc2VsZWN0IHtcblx0YXBwZWFyYW5jZTogbm9uZTtcblx0LXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuXHRwYWRkaW5nOiAuNmVtIDIuNmVtIC42ZW0gMS4xZW07XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpbmUtMik7XG5cdGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iZyk7XG5cdGNvbG9yOiB2YXIoLS1pbmspO1xuXHRmb250LWZhbWlseTogaW5oZXJpdDtcblx0Zm9udC1zaXplOiAuOTJyZW07XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdGxpbmUtaGVpZ2h0OiAxLjI7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Ly8gT3VyIG93biBjYXJldDogdGhlIFVBJ3MgY2Fubm90IGJlIHN0eWxlZCBhbmQgc2l0cyBiYWRseSBpbiBhIHBpbGwuXG5cdGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMjQgMjQnIGZpbGw9J25vbmUnIHN0cm9rZT0nJTIzNzc3JyBzdHJva2Utd2lkdGg9JzIuMicgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJz48cGF0aCBkPSdNNiA5bDYgNiA2LTYnLz48L3N2Zz5cIik7XG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDFlbSBjZW50ZXI7XG5cdGJhY2tncm91bmQtc2l6ZTogMWVtO1xuXHR0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgdmFyKC0tZHVyLWZhc3QpICRlYXNlO1xuXG5cdEBpbmNsdWRlIGNhbi1ob3ZlciB7XG5cdFx0Jjpob3ZlciB7IGJvcmRlci1jb2xvcjogdmFyKC0taW5rLTMpOyB9XG5cdH1cblx0Jjpmb2N1cy12aXNpYmxlIHtcblx0XHRvdXRsaW5lOiAzcHggc29saWQgdmFyKC0tYWNjZW50KTtcblx0XHRvdXRsaW5lLW9mZnNldDogMnB4O1xuXHRcdGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdH1cbn1cblxuLy8gVGhlIHF1YW50aXR5IGZpZWxkIGFzIGEgcGlsbCB3aXRoIGl0cyBvd24gYWx3YXlzLXZpc2libGUgc3RlcHBlciDigJQgdGhlXG4vLyBidXR0b25zIGNvbWUgZnJvbSBzcmMvanMvay1xdHkuanM7IHRoaXMgaGlkZXMgdGhlIG5hdGl2ZSBzcGlubmVyIChob3Zlci1vbmx5LFxuLy8gdW5zdHlsYWJsZSkgYW5kIGxheXMgdGhlIG51bWJlciArIGFycm93cyBvdXQuIFByb2R1Y3QgcGFnZSBhbmQgY2FydC5cbiVxdHktc3RlcHBlciB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ZGlzcGxheTogaW5saW5lLWdyaWQ7XG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIGF1dG87XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGhlaWdodDogNTRweDsgICAgICAgICAgICAgIC8vID0gLmJ0blxuXHRwYWRkaW5nOiAwIHNwKDMpIDAgc3AoNCk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpbmUtMik7XG5cdGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iZyk7XG5cdHRyYW5zaXRpb246IGJvcmRlci1jb2xvciB2YXIoLS1kdXItZmFzdCkgJGVhc2U7XG5cdCY6Zm9jdXMtd2l0aGluIHsgb3V0bGluZTogM3B4IHNvbGlkIHZhcigtLWFjY2VudCk7IG91dGxpbmUtb2Zmc2V0OiAycHg7IH1cblxuXHRpbnB1dC5xdHkge1xuXHRcdC1tb3otYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuXHRcdGFwcGVhcmFuY2U6IHRleHRmaWVsZDtcblx0XHR3aWR0aDogMi42ZW07XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdG1hcmdpbjogMDtcblx0XHRwYWRkaW5nOiAwO1xuXHRcdGJvcmRlcjogMDtcblx0XHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblx0XHRjb2xvcjogdmFyKC0taW5rKTtcblx0XHRmb250OiBpbmhlcml0O1xuXHRcdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdG91dGxpbmU6IG5vbmU7XG5cdFx0Jjo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbiwgJjo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7IC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgbWFyZ2luOiAwOyB9XG5cdH1cblx0LnF0eV9fY3RsIHtcblx0XHRkaXNwbGF5OiBncmlkO1xuXHRcdGdyaWQtdGVtcGxhdGUtcm93czogMWZyIDFmcjtcblx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0cGFkZGluZy1ibG9jazogMTBweDtcblx0fVxuXHQucXR5X191cCwgLnF0eV9fZG93biB7XG5cdFx0ZGlzcGxheTogZ3JpZDtcblx0XHRwbGFjZS1pdGVtczogY2VudGVyO1xuXHRcdHdpZHRoOiAyMnB4O1xuXHRcdHBhZGRpbmc6IDA7XG5cdFx0Ym9yZGVyOiAwO1xuXHRcdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHRcdGNvbG9yOiB2YXIoLS1pbmstMyk7XG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdHRyYW5zaXRpb246IGNvbG9yIHZhcigtLWR1ci1mYXN0KSAkZWFzZTtcblx0XHRzdmcgeyB3aWR0aDogMTJweDsgaGVpZ2h0OiAxMnB4OyB9XG5cdFx0QGluY2x1ZGUgY2FuLWhvdmVyIHsgJjpob3ZlciB7IGNvbG9yOiB2YXIoLS1pbmspOyB9IH1cblx0fVxuXHQucXR5X19kb3duIHN2ZyB7IHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IH1cbn1cblxuLnNlY3Rpb25fX2hlYWQtLXNob3Age1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHQ+IC5zaG9wLXNvcnQgeyBmbGV4OiBub25lOyB9XG59XG5cbi53b29jb21tZXJjZSB7XG5cblx0Ly8g4pSA4pSAIFNvcnQg4oCUIGEgcGlsbC1zaGFwZWQgc2VsZWN0IOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXHQvLyBQcmludGVkIGluc2lkZSAuc2VjdGlvbl9faGVhZCBieSBhcmNoaXZlLXByb2R1Y3QucGhwLCBvbiB0aGUgdGl0bGUnc1xuXHQvLyByb3c6IHRoZSBoZWFkJ3Mgb3duIGZsZXggcHV0cyBpdCBhdCB0aGUgcmlnaHQsIC5zZWN0aW9uX19oZWFkLS1zaG9wXG5cdC8vIGNlbnRyZXMgaXQgb24gdGhlIHRpdGxlIChKb2UsIDIwMjYtMDktMTMpLlxuXHQud29vY29tbWVyY2Utb3JkZXJpbmcge1xuXHRcdGZsb2F0OiBub25lO1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblx0XHRtYXJnaW46IDA7XG5cblx0XHRzZWxlY3Qub3JkZXJieSB7IEBleHRlbmQgJXBpbGwtc2VsZWN0OyB9XG5cdH1cblxuXHQvLyDilIDilIAgR3JpZCDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblx0dWwucHJvZHVjdHMge1xuXHRcdGRpc3BsYXk6IGdyaWQ7XG5cdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heChtaW4oMTAwJSwgMjQwcHgpLCAxZnIpKTtcblx0XHRnYXA6IGNsYW1wKDEuMjVyZW0sIDIuNXZ3LCAyLjVyZW0pO1xuXHRcdG1hcmdpbjogMDtcblx0XHRwYWRkaW5nOiAwO1xuXHRcdGxpc3Qtc3R5bGU6IG5vbmU7XG5cblx0XHQmOjpiZWZvcmUsICY6OmFmdGVyIHsgY29udGVudDogbm9uZTsgfSAgIC8vIFdvbydzIGNsZWFyZml4IGJyZWFrcyBncmlkXG5cblx0XHQvLyDimqAgV29vIHNpemVzIGVhY2ggY2FyZCB3aXRoIGAud29vY29tbWVyY2UgdWwucHJvZHVjdHMuY29sdW1ucy0zXG5cdFx0Ly8gbGkucHJvZHVjdCB7IHdpZHRoOiAzMC43NSUgfWAg4oCUIGZvdXIgY2xhc3Nlcywgd2hpY2ggb3V0LXdlaWdocyBhXG5cdFx0Ly8gcGxhaW4gYGxpLnByb2R1Y3RgIGhlcmUsIHNvIHRoZSBjYXJkIHN0YXllZCAzMCUgd2lkZSBJTlNJREUgaXRzXG5cdFx0Ly8gZ3JpZCB0cmFjayAoSm9lLCAyMDI2LTA5LTEzOiBcInlvdSBicm9rZSBpdFwiKS4gVGhlIGF0dHJpYnV0ZVxuXHRcdC8vIHNlbGVjdG9yIG1hdGNoZXMgZXZlcnkgY29sdW1ucy1OIHZhcmlhbnQgYW5kIHRpZXMgb24gY2xhc3MgY291bnQ7XG5cdFx0Ly8gdGhlIHNvdXJjZSBvcmRlciAob3VycyBsb2FkcyBhZnRlcikgd2lucyB0aGUgdGllLlxuXHRcdCZbY2xhc3MqPVwiY29sdW1ucy1cIl0gbGkucHJvZHVjdCxcblx0XHRsaS5wcm9kdWN0IHtcblx0XHRcdGZsb2F0OiBub25lO1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRwYWRkaW5nOiAwO1xuXG5cdFx0XHRhLndvb2NvbW1lcmNlLUxvb3BQcm9kdWN0LWxpbmsge1xuXHRcdFx0XHRkaXNwbGF5OiBncmlkO1xuXHRcdFx0XHRnYXA6IDA7XG5cdFx0XHRcdGNvbG9yOiBpbmhlcml0O1xuXHRcdFx0fVxuXG5cdFx0XHQvLyA9IC5jYXJkX19tZWRpYVxuXHRcdFx0aW1nIHtcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRhc3BlY3QtcmF0aW86IDE7XG5cdFx0XHRcdG9iamVjdC1maXQ6IGNvdmVyO1xuXHRcdFx0XHRtYXJnaW46IDAgMCBzcCg0KTtcblx0XHRcdFx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcblx0XHRcdFx0YmFja2dyb3VuZDogdmFyKC0tYmctMyk7XG5cdFx0XHRcdEBpbmNsdWRlIHpvb21hYmxlKC42cyk7XG5cdFx0XHR9XG5cdFx0XHRhOmhvdmVyIGltZyB7IEBpbmNsdWRlIHpvb21lZCgxLjA0KTsgfVxuXG5cdFx0XHQvLyA9IC5jYXJkX190aXRsZVxuXHRcdFx0Lndvb2NvbW1lcmNlLWxvb3AtcHJvZHVjdF9fdGl0bGUge1xuXHRcdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0XHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuXHRcdFx0XHRmb250LXNpemU6IGZsdWlkKDE4LCAyNik7XG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiA5MDA7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAxLjA1O1xuXHRcdFx0XHRsZXR0ZXItc3BhY2luZzogLS4wMmVtO1xuXHRcdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdFx0XHRjb2xvcjogdmFyKC0taW5rKTtcblx0XHRcdFx0dHJhbnNpdGlvbjogY29sb3IgdmFyKC0tZHVyLWZhc3QpICRlYXNlO1xuXHRcdFx0fVxuXHRcdFx0YTpob3ZlciAud29vY29tbWVyY2UtbG9vcC1wcm9kdWN0X190aXRsZSB7IGNvbG9yOiB2YXIoLS1hY2NlbnQtaW5rKTsgfVxuXG5cdFx0XHQvLyA9IC5jYXJkX19jaGlwIOKAlCB0aGUgcHJpY2UgaXMgdGhlIGJsdWUgcGlsbCAoSm9lLCAyMDI2LTA5LTEzKS5cblx0XHRcdC5wcmljZSB7XG5cdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdFx0anVzdGlmeS1zZWxmOiBzdGFydDtcblx0XHRcdFx0bWFyZ2luOiBzcCgzKSAwIDA7XG5cdFx0XHRcdEBpbmNsdWRlIGxhYmVsO1xuXHRcdFx0XHRwYWRkaW5nOiAuMTZlbSAuNjJlbTtcblx0XHRcdFx0Ym9yZGVyLXJhZGl1czogOTk5cHg7XG5cdFx0XHRcdGJhY2tncm91bmQ6IHZhcigtLWFjY2VudCk7XG5cdFx0XHRcdGNvbG9yOiAjZmZmO1xuXG5cdFx0XHRcdGlucyB7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXHRcdFx0XHRkZWwgeyBvcGFjaXR5OiAuNjsgbWFyZ2luLXJpZ2h0OiAuNGVtOyB9XG5cdFx0XHRcdC53b29jb21tZXJjZS1QcmljZS1jdXJyZW5jeVN5bWJvbCB7IGZvbnQtd2VpZ2h0OiBpbmhlcml0OyB9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cblxuLy8g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4vLyAgUFJPRFVDVCBQQUdFIOKAlCBzaW5nbGUtcHJvZHVjdC5waHBcbi8vXG4vLyAgR2FsbGVyeSB8IHN1bW1hcnksIHNpZGUgYnkgc2lkZTsgc3RhY2tlZCB1bmRlciBsZy4gVGhlIGdhbGxlcnkgYW5kIHRoZVxuLy8gIGFkZC10by1jYXJ0IGZvcm0gYXJlIFdvbydzIG93biBtYXJrdXAgKHRoZXkgY2FycnkgdGhlIEpTKSwgcmVzdHlsZWQgaGVyZS5cbi8vXG4vLyAg4puUIC5wZHAsIE5PVCAucHJvZHVjdCDigJQgV29vIHB1dHMgY2xhc3M9XCJwcm9kdWN0XCIgb24gZXZlcnkgPGxpPiBpbiB0aGUgc2hvcFxuLy8gIGdyaWQsIHNvIGEgLnByb2R1Y3QgbGF5b3V0IGJsb2NrIGhlcmUgd291bGQgdHVybiBlYWNoIGNhcmQgaW50byB0aGlzXG4vLyAgdHdvLWNvbHVtbiBncmlkLlxuLy8g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4ucGRwIHtcblx0ZGlzcGxheTogZ3JpZDtcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMCwgMS4xZnIpIG1pbm1heCgwLCAxZnIpO1xuXHRnYXA6IGNsYW1wKDJyZW0sIDV2dywgNXJlbSk7XG5cdGFsaWduLWl0ZW1zOiBzdGFydDtcblxuXHRAaW5jbHVkZSBhdChsZykge1xuXHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuXHRcdGdhcDogY2xhbXAoMnJlbSwgNXZ3LCAzcmVtKTtcblx0fVxuXG5cdC8vIOKUgOKUgCBHYWxsZXJ5IOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXHQmX19nYWxsZXJ5IHtcblx0XHQvLyBXb28ncyBmbGV4c2xpZGVyIG1hcmt1cC4gVGhlIG1haW4gaW1hZ2UgZ2V0cyB0aGUgdGhlbWUncyBtZWRpYSBmcmFtZS5cblx0XHQud29vY29tbWVyY2UtcHJvZHVjdC1nYWxsZXJ5IHtcblx0XHRcdHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7ICAgLy8gV29vIGlubGluZXMgYSBjb2x1bW4gd2lkdGggb24gaXRcblx0XHRcdG1hcmdpbjogMDtcblxuXHRcdFx0Lndvb2NvbW1lcmNlLXByb2R1Y3QtZ2FsbGVyeV9fd3JhcHBlciB7IG1hcmdpbjogMDsgfVxuXG5cdFx0XHQud29vY29tbWVyY2UtcHJvZHVjdC1nYWxsZXJ5X19pbWFnZSB7XG5cdFx0XHRcdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1sZyk7XG5cdFx0XHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0XHRcdGJhY2tncm91bmQ6IHZhcigtLXdhc2gpO1xuXHRcdFx0XHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1saW5lKTtcblx0XHRcdFx0aW1nIHsgZGlzcGxheTogYmxvY2s7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IGF1dG87IH1cblx0XHRcdH1cblxuXHRcdFx0Ly8gVGh1bWJzIHJvdyAob25seSB3aGVuIHRoZXJlIGlzIG1vcmUgdGhhbiBvbmUgaW1hZ2UpLlxuXHRcdFx0LmZsZXgtY29udHJvbC10aHVtYnMge1xuXHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0XHRmbGV4LXdyYXA6IHdyYXA7XG5cdFx0XHRcdGdhcDogc3AoMyk7XG5cdFx0XHRcdG1hcmdpbjogc3AoNCkgMCAwO1xuXHRcdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0XHRsaXN0LXN0eWxlOiBub25lO1xuXG5cdFx0XHRcdGxpIHtcblx0XHRcdFx0XHRmbG9hdDogbm9uZTtcblx0XHRcdFx0XHR3aWR0aDogNzJweDtcblx0XHRcdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRcdFx0aW1nIHtcblx0XHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdFx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcblx0XHRcdFx0XHRcdGJvcmRlcjogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXHRcdFx0XHRcdFx0b3BhY2l0eTogLjU1O1xuXHRcdFx0XHRcdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdFx0XHRcdFx0dHJhbnNpdGlvbjogb3BhY2l0eSB2YXIoLS1kdXItZmFzdCkgJGVhc2UsIGJvcmRlci1jb2xvciB2YXIoLS1kdXItZmFzdCkgJGVhc2U7XG5cdFx0XHRcdFx0XHQmLmZsZXgtYWN0aXZlLCAmOmhvdmVyIHsgb3BhY2l0eTogMTsgYm9yZGVyLWNvbG9yOiB2YXIoLS1hY2NlbnQpOyB9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdC8vIE5vIGxpZ2h0Ym94IChzdXBwb3J0IG5vdCBkZWNsYXJlZCDigJQgaW5jL3Nob3AucGhwKSwgc28gdGhlIGltYWdlJ3Ncblx0XHRcdC8vIHdyYXBwaW5nIDxhPiBnb2VzIG5vd2hlcmUgdXNlZnVsOiBuZXV0cmFsaXNlIGl0LiBUaGUg8J+UjSB0cmlnZ2VyIG9ubHlcblx0XHRcdC8vIHJlbmRlcnMgd2l0aCBsaWdodGJveCBzdXBwb3J0LCBidXQgc3RheXMgaGlkZGVuIGluIGNhc2UgYSBwbHVnaW5cblx0XHRcdC8vIHJlLWRlY2xhcmVzIGl0LlxuXHRcdFx0Lndvb2NvbW1lcmNlLXByb2R1Y3QtZ2FsbGVyeV9fdHJpZ2dlciB7IGRpc3BsYXk6IG5vbmU7IH1cblx0XHRcdC53b29jb21tZXJjZS1wcm9kdWN0LWdhbGxlcnlfX2ltYWdlIGEgeyBjdXJzb3I6IGRlZmF1bHQ7IHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cdFx0fVxuXHR9XG5cblx0Ly8g4pSA4pSAIFN1bW1hcnkg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cdCZfX3N1bW1hcnkge1xuXHRcdGRpc3BsYXk6IGdyaWQ7XG5cdFx0Z2FwOiBzcCg1KTtcblx0XHRhbGlnbi1jb250ZW50OiBzdGFydDtcblx0XHQ+ICogeyBtYXJnaW46IDA7IH1cblx0fVxuXG5cdCZfX3RpdGxlIHsgbWFyZ2luLXRvcDogc3AoMSk7IH1cblxuXHQvLyBcIkhvbWUgLyBTaG9wXCIg4oCUIHRoZSBleWVicm93LCB3aXRoIGxpbmtzLiBTZXBhcmF0b3IgbXV0ZWQgc28gdGhlIHR3b1xuXHQvLyBuYW1lcyByZWFkIGFzIHRoZSBjcnVtYiwgbm90IHRoZSBzbGFzaC5cblx0LmNydW1icyB7XG5cdFx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdFx0Z2FwOiAuNmVtO1xuXHRcdGEgeyBjb2xvcjogaW5oZXJpdDsgdHJhbnNpdGlvbjogY29sb3IgdmFyKC0tZHVyLWZhc3QpICRlYXNlOyB9XG5cdFx0QGluY2x1ZGUgY2FuLWhvdmVyIHsgYTpob3ZlciB7IGNvbG9yOiB2YXIoLS1hY2NlbnQtaW5rKTsgfSB9XG5cdFx0Jl9fc2VwIHsgY29sb3I6IHZhcigtLWluay0zKTsgfVxuXHR9XG5cblx0Jl9fYmx1cmIge1xuXHRcdGZvbnQtc2l6ZTogY2xhbXAoMXJlbSwgLjN2dyArIC45NXJlbSwgMS4xMnJlbSk7XG5cdFx0Y29sb3I6IHZhcigtLWluay0yKTtcblx0XHQ+IDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXHR9XG5cblx0Ly8gU2FtZSBwaWxsIGFzIHRoZSBncmlkOyBsYXJnZXIsIGl0IGlzIFRIRSBudW1iZXIgb24gdGhpcyBwYWdlLlxuXHQmX19wcmljZS5wcmljZSB7XG5cdFx0anVzdGlmeS1zZWxmOiBzdGFydDtcblx0XHRAaW5jbHVkZSBsYWJlbDtcblx0XHRmb250LXNpemU6IGZsdWlkKDE2LCAyMik7XG5cdFx0cGFkZGluZzogLjIyZW0gLjdlbTtcblx0XHRib3JkZXItcmFkaXVzOiA5OTlweDtcblx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1hY2NlbnQpO1xuXHRcdGNvbG9yOiAjZmZmO1xuXHRcdGlucyB7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXHRcdGRlbCB7IG9wYWNpdHk6IC42OyBtYXJnaW4tcmlnaHQ6IC40ZW07IH1cblx0fVxuXG5cdC8vIOKUgOKUgCBBZGQtdG8tY2FydCBmb3JtIChXb28gbWFya3VwKSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblx0Zm9ybS5jYXJ0IHtcblx0XHRkaXNwbGF5OiBncmlkO1xuXHRcdGdhcDogc3AoNSk7XG5cdFx0bWFyZ2luOiBzcCgyKSAwIDA7XG5cblx0XHQvLyBWYXJpYXRpb24gcm93czogPHRhYmxlIGNsYXNzPVwidmFyaWF0aW9uc1wiPiDigJQgb25lIHJvdyBwZXIgYXR0cmlidXRlLlxuXHRcdHRhYmxlLnZhcmlhdGlvbnMge1xuXHRcdFx0Ym9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcblx0XHRcdG1hcmdpbjogMDtcblx0XHRcdHRyIHsgZGlzcGxheTogZ3JpZDsgZ2FwOiBzcCgyKTsgfVxuXHRcdFx0dGgsIHRkIHsgZGlzcGxheTogYmxvY2s7IHBhZGRpbmc6IDA7IGJvcmRlcjogMDsgdGV4dC1hbGlnbjogbGVmdDsgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cblx0XHRcdHRoIGxhYmVsIHtcblx0XHRcdFx0QGluY2x1ZGUgbGFiZWw7XG5cdFx0XHRcdGNvbG9yOiB2YXIoLS1pbmstMik7XG5cdFx0XHR9XG5cdFx0XHR0ZCBzZWxlY3QgeyBAZXh0ZW5kICVwaWxsLXNlbGVjdDsgd2lkdGg6IDEwMCU7IH1cblx0XHRcdC5yZXNldF92YXJpYXRpb25zIHtcblx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0XHRtYXJnaW4tdG9wOiBzcCgyKTtcblx0XHRcdFx0Zm9udC1zaXplOiAuOHJlbTtcblx0XHRcdFx0Y29sb3I6IHZhcigtLWluay0zKTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQvLyBcIkNsZWFyXCIgdW5kZXIgdGhlIFNpemUgc2VsZWN0LiBQb2ludGxlc3Mgd2l0aCBubyBcIkNob29zZSBhbiBvcHRpb25cIlxuXHRcdC8vIHJvdyB0byBjbGVhciBiYWNrIHRvIChpbmMvc2hvcC5waHAgc3RyaXBzIGl0KSwgc28gaXQgaXMgaGlkZGVuLlxuXHRcdC5yZXNldF92YXJpYXRpb25zIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cblx0XHQvLyBDaG9zZW4gdmFyaWF0aW9uOiBXb28gc3dhcHMgaW4gaXRzIHByaWNlICsgc3RvY2sgaGVyZS4gVGhlIHN0b2NrIGxpbmVcblx0XHQvLyBpcyB0aGUgUVVBTlRJVFkgbGFiZWwgKGluYy9zaG9wLnBocCksIHNvIGl0IGdldHMgYSBsYWJlbCdzIGdhcCB0byB0aGVcblx0XHQvLyBmaWVsZCByb3cgYmVsb3cgKEpvZSwgMjAyNi0wOS0xMzogXCJzcGFjZSBiZXR3ZWVuIHRoZSBxdWFudGl0eSB0ZXh0XG5cdFx0Ly8gYW5kIHRoZSBmaWVsZHMgYmVsb3dcIikuXG5cdFx0Lndvb2NvbW1lcmNlLXZhcmlhdGlvbiB7XG5cdFx0XHQud29vY29tbWVyY2UtdmFyaWF0aW9uLXByaWNlIHsgZGlzcGxheTogbm9uZTsgfSAgIC8vIHRoZSBwaWxsIGFib3ZlIGFscmVhZHkgc2F5cyBpdFxuXHRcdFx0Lndvb2NvbW1lcmNlLXZhcmlhdGlvbi1hdmFpbGFiaWxpdHkgcCB7XG5cdFx0XHRcdG1hcmdpbjogMCAwIHNwKDIpO1xuXHRcdFx0XHRmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vKTtcblx0XHRcdFx0Zm9udC1zaXplOiAuNzJyZW07XG5cdFx0XHRcdGxldHRlci1zcGFjaW5nOiAuMTJlbTtcblx0XHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRcdFx0Y29sb3I6IHZhcigtLWluay0zKTtcblx0XHRcdFx0Ji5vdXQtb2Ytc3RvY2sgeyBjb2xvcjogI2MwMzkyYjsgfVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC8vIFF1YW50aXR5ICsgYnV0dG9uIG9uIG9uZSByb3cuXG5cdFx0Lndvb2NvbW1lcmNlLXZhcmlhdGlvbi1hZGQtdG8tY2FydCB7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0ZmxleC13cmFwOiB3cmFwO1xuXHRcdFx0Z2FwOiBzcCgzKTtcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0fVxuXG5cdFx0LnF1YW50aXR5IHsgQGV4dGVuZCAlcXR5LXN0ZXBwZXI7IH1cblxuXHRcdC8vIFwiQWRkIFRvIENhcnRcIiDigJQgdGhlIHRoZW1lJ3MgLmJ0biBzaGFwZSwgZmlsbGVkIGFjY2VudC5cblx0XHQuc2luZ2xlX2FkZF90b19jYXJ0X2J1dHRvbiB7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRcdGZsZXg6IDEgMSBhdXRvO1xuXHRcdFx0aGVpZ2h0OiA1NHB4O1xuXHRcdFx0cGFkZGluZy1pbmxpbmU6IHNwKDYpO1xuXHRcdFx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYWNjZW50KTtcblx0XHRcdGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuXHRcdFx0YmFja2dyb3VuZDogdmFyKC0tYWNjZW50KTtcblx0XHRcdGNvbG9yOiAjZmZmO1xuXHRcdFx0Zm9udDogaW5oZXJpdDtcblx0XHRcdGZvbnQtc2l6ZTogLjkycmVtO1xuXHRcdFx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0XHRcdGxldHRlci1zcGFjaW5nOiAuMDFlbTtcblx0XHRcdGxpbmUtaGVpZ2h0OiAxO1xuXHRcdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdFx0dHJhbnNpdGlvbjogYmFja2dyb3VuZCB2YXIoLS1kdXItZmFzdCkgJGVhc2UsIGJvcmRlci1jb2xvciB2YXIoLS1kdXItZmFzdCkgJGVhc2UsIHRyYW5zZm9ybSB2YXIoLS1kdXItZmFzdCkgJGVhc2U7XG5cblx0XHRcdEBpbmNsdWRlIGNhbi1ob3ZlciB7XG5cdFx0XHRcdCY6aG92ZXIgeyBiYWNrZ3JvdW5kOiB2YXIoLS1pbmspOyBib3JkZXItY29sb3I6IHZhcigtLWluayk7IGNvbG9yOiB2YXIoLS1iZyk7IH1cblx0XHRcdH1cblx0XHRcdCY6YWN0aXZlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDFweCk7IH1cblx0XHRcdCYuZGlzYWJsZWQsICY6ZGlzYWJsZWQgeyBvcGFjaXR5OiAuNDsgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuXG5cdFx0XHQvLyBsLWNhcnQuanM6IFwiQWRkaW5n4oCmXCIgd2hpbGUgdGhlIHJlcXVlc3QgaXMgb3V0LCBcIkFkZGVkIOKck1wiIGZvciBhXG5cdFx0XHQvLyBiZWF0IGFmdGVyLiBUaGUgbGFiZWwgdGV4dCBpcyBzd2FwcGVkIGluIEpTOyB0aGVzZSBqdXN0IGNvbG91ciBpdC5cblx0XHRcdCYuaXMtYWRkaW5nIHsgb3BhY2l0eTogLjc7IGN1cnNvcjogcHJvZ3Jlc3M7IH1cblx0XHR9XG5cdFx0Ly8gV29vJ3MgXCJWaWV3IGNhcnRcIiBsaW5rLCBzaG91bGQgYW55IHNjcmlwdCBzdGlsbCBhcHBlbmQgaXQuXG5cdFx0LmFkZGVkX3RvX2NhcnQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblx0XHQuc2luZ2xlX2FkZF90b19jYXJ0X2J1dHRvbiB7XG5cdFx0XHQmLmlzLWFkZGVkICB7IGJhY2tncm91bmQ6IHZhcigtLWluayk7IGJvcmRlci1jb2xvcjogdmFyKC0taW5rKTsgY29sb3I6IHZhcigtLWJnKTsgfVxuXHRcdH1cblx0fVxuXG5cdC8vIOKUgOKUgCBEZXNjcmlwdGlvbiDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblx0Jl9fZGVzYyB7XG5cdFx0bWFyZ2luLXRvcDogY2xhbXAoMi41cmVtLCA1dncsIDRyZW0pO1xuXHRcdG1heC13aWR0aDogNjhjaDtcblx0fVxufVxuXG5cbi8vIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLy8gIE5PVElDRVMg4oCUIFwicmVtb3ZlZC4gVW5kbz9cIiwgZXJyb3JzLCBpbmZvLiBXb28ncyBvd24gbWFya3VwLCBldmVyeXdoZXJlIGl0XG4vLyAgcHJpbnRzIHRoZW0gKHByb2R1Y3QgcGFnZSwgY2FydCwgY2hlY2tvdXQpLlxuLy9cbi8vICBBIHNsaW0gZGFyayBzdHJpcCwgbm90IGEgYm94ZWQgcGFuZWwg4oCUIHRoZSBmaXJzdCBjdXQgKHdhc2ggYm94LCBibHVlIGxlZnRcbi8vICBiYXIpIHJlYWQgYXMgYSBmb3JtIGNvbXBvbmVudCBhbmQgSm9lIGhhdGVkIGl0IChcInRoZXNlIG1lc3NhZ2Ugc3R5bGVzIG9tZ1xuLy8gIHRoZXkncmUgc28gYmFkXCIpLiBUaGUgZW1wdHktY2FydCBsaW5lIGlzIGV4ZW1wdGVkIGJlbG93OiBpdCBpcyBjb3B5LCBub3QgYVxuLy8gIG5vdGljZSwgZXZlbiB0aG91Z2ggV29vIGdpdmVzIGl0IHRoZSBub3RpY2UgY2xhc3MuXG4vLyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi53b29jb21tZXJjZS1ub3RpY2VzLXdyYXBwZXI6ZW1wdHkgeyBkaXNwbGF5OiBub25lOyB9XG5cbi53b29jb21tZXJjZS1tZXNzYWdlLFxuLndvb2NvbW1lcmNlLWluZm8sXG4ud29vY29tbWVyY2UtZXJyb3Ige1xuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0ZmxleC13cmFwOiB3cmFwO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IC4zNWVtIDFlbTtcblx0bWF4LXdpZHRoOiAxMDAlO1xuXHRtYXJnaW46IDAgMCBzcCg1KTtcblx0cGFkZGluZzogLjdlbSAxLjJlbTtcblx0Ym9yZGVyOiAwO1xuXHRib3JkZXItcmFkaXVzOiA5OTlweDtcblx0YmFja2dyb3VuZDogdmFyKC0taW5rKTtcblx0Y29sb3I6IHZhcigtLWJnKTtcblx0Zm9udC1zaXplOiAuODhyZW07XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdGxpbmUtaGVpZ2h0OiAxLjM7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG5cblx0Ly8gV29vJ3Mgc3R5bGVzaGVldCBkcmF3cyBhbiBpY29uIHdpdGggOjpiZWZvcmUgYW5kIHBhZHMgZm9yIGl0LlxuXHQmOjpiZWZvcmUgeyBkaXNwbGF5OiBub25lOyB9XG5cblx0YSB7XG5cdFx0Y29sb3I6IHZhcigtLWFjY2VudCk7XG5cdFx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0QGluY2x1ZGUgY2FuLWhvdmVyIHsgJjpob3ZlciB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9IH1cblx0fVxuXHQvLyBXb28ncyBcIlZpZXcgY2FydFwiIC8gXCJDb250aW51ZSBzaG9wcGluZ1wiIGFuY2hvciBvbiBzdG9jayBub3RpY2VzLCBhbmRcblx0Ly8gYW55IC5idXR0b24gaXQgZHJvcHMgaW46IGEgbGluaywgbm90IGEgc2Vjb25kIGJ1dHRvbiBpbiBhIHN0cmlwLlxuXHQuYnV0dG9uIHsgYWxsOiB1bnNldDsgY29sb3I6IHZhcigtLWFjY2VudCk7IGZvbnQtd2VpZ2h0OiA2MDA7IGN1cnNvcjogcG9pbnRlcjsgfVxufVxuLndvb2NvbW1lcmNlLWVycm9yIHtcblx0YmFja2dyb3VuZDogI2MwMzkyYjtcblx0Y29sb3I6ICNmZmY7XG5cdGEgeyBjb2xvcjogI2ZmZjsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbn1cbi53b29jb21tZXJjZS1lcnJvciBsaSB7IG1hcmdpbjogMDsgfVxuXG4vLyBPbiB0aGUgQ0FSVCBwYWdlIHRoZSBzdHJpcHMgYmVjb21lIHRvYXN0czogZml4ZWQsIHRvcC1jZW50cmUgdW5kZXIgdGhlXG4vLyBoZWFkZXIsIGRyb3AgaW4sXG4vLyBnb25lIGFmdGVyIGEgZmV3IHNlY29uZHMuIElubGluZSBhdCB0aGUgdG9wIG9mIHRoZSB0YWJsZSB0aGV5IHJlYWQgYXMgYVxuLy8gbWlzcG9zaXRpb25lZCBsYWJlbCAoXCJDYXJ0IHVwZGF0ZWRcIiBzaXR0aW5nIG92ZXIgdGhlIFByb2R1Y3QgaGVhZGVyIOKAlCBKb2UsXG4vLyAyMDI2LTA5LTEzKS4gXCJDYXJ0IHVwZGF0ZWQuXCIgaXRzZWxmIGlzIGRyb3BwZWQgaW4gbC1jYXJ0LmpzIOKAlCB0aGUgbnVtYmVyc1xuLy8gYWxyZWFkeSBjaGFuZ2VkOyB0aGUgdG9hc3QgdGhhdCBzdGF5cyBpcyBcInJlbW92ZWQuIFVuZG8/XCIuXG4ud29vY29tbWVyY2UtY2FydCAud29vY29tbWVyY2Utbm90aWNlcy13cmFwcGVyIHtcblx0cG9zaXRpb246IGZpeGVkO1xuXHRsZWZ0OiA1MCU7XG5cdHRvcDogY2FsYyh2YXIoLS1uYXYtaCkgKyAyM3B4KTsgICAvLyA5NXB4IG9uIGRlc2t0b3A6IHRoZSA3MnB4IGhlYWRlciArIDIzIChKb2UsIDIwMjYtMDktMTQ6IFwiZnJvbSB0aGUgdG9wIGluc3RlYWRcIik7IHRyYWNrcyAtLW5hdi1oIHdoZXJlIGl0IGNoYW5nZXMgb24gbW9iaWxlXG5cdHotaW5kZXg6IDYwO1xuXHRkaXNwbGF5OiBncmlkO1xuXHRnYXA6IHNwKDIpO1xuXHRqdXN0aWZ5LWl0ZW1zOiBjZW50ZXI7XG5cdHdpZHRoOiBtYXgtY29udGVudDtcblx0bWF4LXdpZHRoOiBjYWxjKDEwMHZ3IC0gMzJweCk7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cblx0PiAqIHtcblx0XHRtYXJnaW46IDA7XG5cdFx0cG9pbnRlci1ldmVudHM6IGF1dG87XG5cdFx0Ym94LXNoYWRvdzogMCAxMHB4IDMwcHggcmdiYSgwLCAwLCAwLCAuMTgpO1xuXHRcdGFuaW1hdGlvbjogdG9hc3QtaW4gLjNzICRlYXNlLW91dCBib3RoLCB0b2FzdC1vdXQgLjM1cyAkZWFzZSAxMHMgZm9yd2FyZHM7ICAgLy8gMTBzIG9uIHNjcmVlbiAoSm9lLCAyMDI2LTA5LTE0KSDigJQgVW5kbyBuZWVkcyB0aGUgdGltZVxuXHR9XG5cblx0Ly8g4pqgIFdvbydzIGNhcnQuanMgc2hvd19ub3RpY2UoKSBjb2xsZWN0cyBFVkVSWSAud29vY29tbWVyY2UtaW5mbyBpbiB0aGVcblx0Ly8gcmUtcmVuZGVyZWQgaHRtbCDigJQgd2hpY2ggaW5jbHVkZXMgXCJZb3VyIGNhcnQgaXMgZW1wdHkuXCIg4oCUIGFuZCBwcmVwZW5kc1xuXHQvLyB0aGUgbG90IGhlcmUuIFNvIHRoZSBlbXB0eSBsaW5lIHJvZGUgYWxvbmcgaW50byB0aGUgdG9hc3QgKEpvZSxcblx0Ly8gMjAyNi0wOS0xMykuIEl0IHN0YXlzIGluIHRoZSBwYWdlIGJvZHkgd2hlcmUgaXQgd2FzIHJlbmRlcmVkOyB0aGUgY29weVxuXHQvLyB0aGF0IGxhbmRzIGhlcmUgaXMgZHJvcHBlZCAobC1jYXJ0LmpzIHJlbW92ZXMgaXQ7IHRoaXMgaXMgdGhlIGJhY2tzdG9wKS5cblx0PiAuY2FydC1lbXB0eSB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxufVxuQGtleWZyYW1lcyB0b2FzdC1pbiAgeyBmcm9tIHsgb3BhY2l0eTogMDsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMnB4KTsgfSB9ICAgLy8gZHJvcHMgaW4gZnJvbSB0aGUgaGVhZGVyXG5Aa2V5ZnJhbWVzIHRvYXN0LW91dCB7IHRvICAgeyBvcGFjaXR5OiAwOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLThweCk7IHZpc2liaWxpdHk6IGhpZGRlbjsgfSB9XG5cbi8vIEVtcHR5IGNhcnQ6IGEgc2VudGVuY2UsIG5vdCBhIHN0cmlwLlxuLndvb2NvbW1lcmNlLWluZm8uY2FydC1lbXB0eSB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRwYWRkaW5nOiAwO1xuXHRib3JkZXItcmFkaXVzOiAwO1xuXHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblx0Y29sb3I6IHZhcigtLWluay0yKTtcblx0Zm9udC1zaXplOiBjbGFtcCgxLjA1cmVtLCAuNXZ3ICsgLjk1cmVtLCAxLjNyZW0pO1xuXHRmb250LXdlaWdodDogNDAwO1xufVxuXG5cbi8vIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLy8gIENBUlQgKyBDSEVDS09VVCDigJQgV29vJ3Mgc2hvcnRjb2RlcyBpbnNpZGUgcGFnZS5waHAncyAucHJvc2UuIEV2ZXJ5IHJ1bGUgaXNcbi8vICBuZXN0ZWQgdW5kZXIgYC5wcm9zZSAud29vY29tbWVyY2VgIHNvIGl0IG91dC13ZWlnaHMgYm90aCAucHJvc2UncyB0YWJsZSBhbmRcbi8vICBpbnB1dCBzdHlsaW5nIGFuZCBXb28ncyBzdHlsZXNoZWV0ICh3aGljaCBsb2FkcyBiZWZvcmUgb3VycykuXG4vLyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi5wcm9zZSAud29vY29tbWVyY2Uge1xuXG5cdC8vIOKUgOKUgCBTaGFyZWQ6IHRhYmxlcywgZmllbGRzLCBidXR0b25zIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXHQvLyAucHJvc2UgdW5kZXJsaW5lcyBldmVyeSBsaW5rIChhY2NlbnQsIDJweCk7IGEgcHJvZHVjdCBuYW1lIGluIGEgY2FydFxuXHQvLyByb3cgaXMgbm90IGJvZHkgY29weSAoSm9lLCAyMDI2LTA5LTEzOiBcInRoZSB1bmRlcmxpbmUgb24gdGhlIHByb2R1Y3Rcblx0Ly8gbmFtZSA/Pz8/IHd0ZiBpcyB0aGF0XCIpLlxuXHRhIHsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cblx0dGFibGUuc2hvcF90YWJsZSB7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0bWFyZ2luOiAwO1xuXHRcdGJvcmRlcjogMDtcblx0XHRib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuXHRcdGJvcmRlci1yYWRpdXM6IDA7XG5cdFx0Zm9udC1zaXplOiAuOTVyZW07XG5cdFx0dGggeyB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cblx0XHR0aCwgdGQge1xuXHRcdFx0cGFkZGluZzogc3AoNCkgc3AoMyk7XG5cdFx0XHRib3JkZXI6IDA7XG5cdFx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tbGluZSk7XG5cdFx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHRcdFx0dGV4dC1hbGlnbjogbGVmdDtcblx0XHRcdGxpbmUtaGVpZ2h0OiAxLjM1O1xuXHRcdH1cblx0XHR0aGVhZCB0aCB7XG5cdFx0XHRAaW5jbHVkZSBsYWJlbDtcblx0XHRcdGNvbG9yOiB2YXIoLS1pbmstMyk7XG5cdFx0XHRwYWRkaW5nLXRvcDogMDtcblx0XHR9XG5cdFx0dGJvZHkgdHI6bGFzdC1jaGlsZCB0aCxcblx0XHR0Ym9keSB0cjpsYXN0LWNoaWxkIHRkIHsgYm9yZGVyLWJvdHRvbTogMDsgfSAgIC8vIHRoIHRvbywgb3IgdGhlIHRvdGFscyB0YWJsZSBrZWVwcyBhIHN0dWIgb2YgcnVsZSB1bmRlciBUT1RBTFxuXHRcdHRmb290IHRoLCB0Zm9vdCB0ZCB7IGJvcmRlci1ib3R0b206IDA7IH1cblx0XHRhIHsgY29sb3I6IGluaGVyaXQ7IGZvbnQtd2VpZ2h0OiA2MDA7IH1cblx0XHQuYW1vdW50IHsgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtczsgfVxuXHR9XG5cblx0Ly8gVGV4dCBmaWVsZHM6IHRoZSB0aGVtZSdzIG93biAoc2VlIF9mb3Jtcy5zY3NzKSwgcGlsbC1zaGFwZWQuXG5cdC8vIFNhbWUgYm94IGFzIGV2ZXJ5IG90aGVyIHRleHQgZmllbGQgb24gdGhlIHNpdGUgKF9mb3Jtcy5zY3NzLCB0aGVcblx0Ly8gbmV3c2xldHRlciBpbnB1dCk6IDU0cHggdGFsbCwgc3AoNikgc2lkZSBwYWRkaW5nIOKAlCBXb28ncyBvd24gQ1NTXG5cdC8vIHNxdWVlemVzIHRoZSBjb3Vwb24gZmllbGQgdG8gYSBmZXcgcHggKEpvZSwgMjAyNi0wOS0xMzogXCJsZWZ0IHBhZGRpbmdcblx0Ly8gb24gdGhhdCBjb3Vwb24gY29kZSBmaWVsZCBpcyBzb29vbyB0aWdodFwiKS5cblx0aW5wdXQuaW5wdXQtdGV4dCxcblx0dGV4dGFyZWEuaW5wdXQtdGV4dCB7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0aGVpZ2h0OiA1NHB4O1xuXHRcdHBhZGRpbmc6IDAgMS4zcmVtOyAgIC8vIHNwKDUpIGxlc3MgfjNweCDigJQgSm9lJ3MgZXllLCAyMDI2LTA5LTEzXG5cdFx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tbGluZS0yKTtcblx0XHRib3JkZXItcmFkaXVzOiA5OTlweDtcblx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1iZyk7XG5cdFx0Y29sb3I6IHZhcigtLWluayk7XG5cdFx0Zm9udDogaW5oZXJpdDtcblx0XHRsaW5lLWhlaWdodDogMS4zO1xuXHRcdHRyYW5zaXRpb246IGJvcmRlci1jb2xvciB2YXIoLS1kdXItZmFzdCkgJGVhc2U7XG5cdFx0Jjpmb2N1cy12aXNpYmxlIHsgb3V0bGluZTogM3B4IHNvbGlkIHZhcigtLWFjY2VudCk7IG91dGxpbmUtb2Zmc2V0OiAycHg7IH1cblx0XHQmOjpwbGFjZWhvbGRlciB7IGNvbG9yOiB2YXIoLS1pbmstMyk7IH1cblx0fVxuXG5cdC8vIOKUgOKUgCBQaG9uZSBjYXJ0IChXb28ncyBzbWFsbHNjcmVlbiBzaGVldCBraWNrcyBpbiBhdCA3NjhweCkg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cdC8vIFdvbyBzdGFja3MgZWFjaCByb3cgaW50byBsYWJlbGxlZCBjZWxscyB0aGVyZSDigJQgZmluZSDigJQgYnV0IGl0IGFsc29cblx0Ly8gKGEpIGBkaXNwbGF5OiBub25lYHMgdGhlIHRodW1ibmFpbCBjb2x1bW4gb3V0cmlnaHQgKFwid2hlcmUgaXMgdGhlXG5cdC8vIHByb2R1Y3QgdGh1bWJuYWlsXCIsIEpvZSAyMDI2LTA5LTE0KSBhbmQgKGIpIGZsb2F0cyB0aGUgY291cG9uIGZpZWxkIGFuZFxuXHQvLyBidXR0b24gYXQgNDglIGVhY2gsIHdoaWNoIHVuZGVyIG91ciBmaXhlZCAyMjBweCBmaWVsZCArIGZsZXggcm93IHB1dFxuXHQvLyB0aGUgQXBwbHkgYnV0dG9uIG9mZiB0aGUgcmlnaHQgZWRnZS4gQm90aCByZXN0YXRlZCBhdCB0aGUgc2FtZSBkZXB0aCBhc1xuXHQvLyB0aGUgZmllbGQgcnVsZSBhYm92ZSBzbyB0aGV5IG91dC13ZWlnaCBXb28ncyBtZWRpYS1xdWVyeSBjb3BpZXMuXG5cdEBpbmNsdWRlIGF0KG1kKSB7XG5cdFx0dGFibGUuY2FydCB0ZC5wcm9kdWN0LXRodW1ibmFpbCB7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdHBhZGRpbmctcmlnaHQ6IDA7XG5cdFx0XHQmOjpiZWZvcmUgeyBkaXNwbGF5OiBub25lOyB9ICAgLy8gV29vJ3MgZGF0YS10aXRsZSBsYWJlbCDigJQgdGhlIGNlbGwgaGFzIG5vbmUsIGtlZXAgaXQgdGhhdCB3YXlcblx0XHR9XG5cdFx0dGFibGUuY2FydCB0ZC5hY3Rpb25zIC5jb3Vwb24ge1xuXHRcdFx0ZmxleC13cmFwOiB3cmFwO1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0fVxuXHRcdHRhYmxlLmNhcnQgdGQuYWN0aW9ucyAuY291cG9uIC5pbnB1dC10ZXh0IHtcblx0XHRcdGZsZXg6IDEgMSAxNjBweDtcblx0XHRcdHdpZHRoOiBhdXRvO1xuXHRcdFx0bWluLXdpZHRoOiAwO1xuXHRcdH1cblx0XHR0YWJsZS5jYXJ0IHRkLmFjdGlvbnMgLmNvdXBvbiAuYnV0dG9uIHtcblx0XHRcdGZsb2F0OiBub25lO1xuXHRcdFx0ZmxleDogMCAwIGF1dG87XG5cdFx0XHR3aWR0aDogYXV0bztcblx0XHR9XG5cdH1cblx0dGV4dGFyZWEuaW5wdXQtdGV4dCB7IGhlaWdodDogYXV0bzsgcGFkZGluZzogc3AoNCkgMS4zcmVtOyBib3JkZXItcmFkaXVzOiAyN3B4OyBtaW4taGVpZ2h0OiA2ZW07IH0gICAvLyA9IHRleHRhcmVhLm5mLWVsZW1lbnRcblx0LnF1YW50aXR5IHsgQGV4dGVuZCAlcXR5LXN0ZXBwZXI7IGhlaWdodDogNDZweDsgLnF0eV9fY3RsIHsgcGFkZGluZy1ibG9jazogN3B4OyB9IH1cblx0c2VsZWN0IHsgQGV4dGVuZCAlcGlsbC1zZWxlY3Q7IHdpZHRoOiAxMDAlOyB9XG5cdC5zZWxlY3QyLWNvbnRhaW5lciAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSB7XG5cdFx0QGV4dGVuZCAlcGlsbC1zZWxlY3Q7XG5cdFx0aGVpZ2h0OiBhdXRvO1xuXHRcdC5zZWxlY3QyLXNlbGVjdGlvbl9fcmVuZGVyZWQgeyBwYWRkaW5nOiAwOyBsaW5lLWhlaWdodDogaW5oZXJpdDsgY29sb3I6IGluaGVyaXQ7IH1cblx0XHQuc2VsZWN0Mi1zZWxlY3Rpb25fX2Fycm93IHsgZGlzcGxheTogbm9uZTsgfVxuXHR9XG5cblx0Ly8gRXZlcnkgV29vIDxidXR0b24gY2xhc3M9XCJidXR0b25cIj4gLyA8YSBjbGFzcz1cImJ1dHRvblwiPiDigJQgdGhlIC5idG4gc2hhcGUuXG5cdC8vIFByaW1hcnkgb25lcyAoUHJvY2VlZCBUbyBDaGVja291dCwgUGxhY2UgT3JkZXIpIGFyZSBmaWxsZWQgYWNjZW50LlxuXHQuYnV0dG9uLCBidXR0b24uYnV0dG9uLCBhLmJ1dHRvbiB7XG5cdFx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRnYXA6IHNwKDMpO1xuXHRcdGhlaWdodDogNTRweDtcblx0XHRwYWRkaW5nLWlubGluZTogc3AoNik7XG5cdFx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tbGluZS0yKTtcblx0XHRib3JkZXItcmFkaXVzOiA5OTlweDtcblx0XHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblx0XHRjb2xvcjogdmFyKC0taW5rKTtcblx0XHRmb250OiBpbmhlcml0O1xuXHRcdGZvbnQtc2l6ZTogLjkycmVtO1xuXHRcdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdFx0bGV0dGVyLXNwYWNpbmc6IC4wMWVtO1xuXHRcdGxpbmUtaGVpZ2h0OiAxO1xuXHRcdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdHRyYW5zaXRpb246IGJhY2tncm91bmQgdmFyKC0tZHVyLWZhc3QpICRlYXNlLCBjb2xvciB2YXIoLS1kdXItZmFzdCkgJGVhc2UsIGJvcmRlci1jb2xvciB2YXIoLS1kdXItZmFzdCkgJGVhc2U7XG5cdFx0QGluY2x1ZGUgY2FuLWhvdmVyIHtcblx0XHRcdCY6aG92ZXIgeyBiYWNrZ3JvdW5kOiB2YXIoLS1pbmspOyBib3JkZXItY29sb3I6IHZhcigtLWluayk7IGNvbG9yOiB2YXIoLS1iZyk7IH1cblx0XHR9XG5cdFx0JjpkaXNhYmxlZCwgJi5kaXNhYmxlZCB7IG9wYWNpdHk6IC40OyBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG5cdH1cblx0Ly8gQXBwbHkgY291cG9uIGpvaW5lZCB0aGUgbGlzdCAyMDI2LTA5LTE0IChcIkFwcGx5IGNvdXBvbiBzaG91bGQgYWxzbyBiZVxuXHQvLyBibHVlXCIpIOKAlCBvbiBkYXJrIGl0cyBvdXRsaW5lIHBpbGwgcmVhZCBhcyBkaXNhYmxlZCBuZXh0IHRvIHRoZSBmaWVsZC5cblx0LmNoZWNrb3V0LWJ1dHRvbiwgI3BsYWNlX29yZGVyLCAuYnV0dG9uLmFsdCwgLmNvdXBvbiAuYnV0dG9uW25hbWU9XCJhcHBseV9jb3Vwb25cIl0ge1xuXHRcdGJhY2tncm91bmQ6IHZhcigtLWFjY2VudCk7XG5cdFx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1hY2NlbnQpO1xuXHRcdGNvbG9yOiB2YXIoLS1vbi1hY2NlbnQpO1xuXHR9XG5cblx0Ly8gV29vJ3MgZm9ybSByb3dzIChjaGVja291dCwgY291cG9uLCBsb2dpbik6IGxhYmVscyBhbmQgaGFsdmVzLlxuXHQuZm9ybS1yb3cge1xuXHRcdG1hcmdpbjogMCAwIHNwKDQpO1xuXHRcdHBhZGRpbmc6IDA7XG5cdFx0bGFiZWwge1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiBzcCgyKTtcblx0XHRcdEBpbmNsdWRlIGxhYmVsO1xuXHRcdFx0Y29sb3I6IHZhcigtLWluay0yKTtcblx0XHRcdC5yZXF1aXJlZCB7IGNvbG9yOiB2YXIoLS1pbmstMyk7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXHRcdFx0Lm9wdGlvbmFsIHsgZm9udC13ZWlnaHQ6IDQwMDsgdGV4dC10cmFuc2Zvcm06IG5vbmU7IGxldHRlci1zcGFjaW5nOiAwOyBjb2xvcjogdmFyKC0taW5rLTMpOyB9XG5cdFx0fVxuXHRcdCYuZm9ybS1yb3ctZmlyc3QsICYuZm9ybS1yb3ctbGFzdCB7IHdpZHRoOiBjYWxjKDUwJSAtICN7c3AoMil9KTsgfVxuXHRcdCYuZm9ybS1yb3ctZmlyc3QgeyBmbG9hdDogbGVmdDsgfVxuXHRcdCYuZm9ybS1yb3ctbGFzdCAgeyBmbG9hdDogcmlnaHQ7IH1cblx0XHQmLmZvcm0tcm93LXdpZGUgIHsgY2xlYXI6IGJvdGg7IH1cblx0XHQud29vY29tbWVyY2UtaW5wdXQtd3JhcHBlciB7IGRpc3BsYXk6IGJsb2NrOyB9XG5cdFx0QGluY2x1ZGUgYXQoc20pIHtcblx0XHRcdCYuZm9ybS1yb3ctZmlyc3QsICYuZm9ybS1yb3ctbGFzdCB7IGZsb2F0OiBub25lOyB3aWR0aDogMTAwJTsgfVxuXHRcdH1cblx0fVxuXHQvLyBDaGVja2JveCByb3dzIGtlZXAgdGhlaXIgbGFiZWwgaW5saW5lLlxuXHQuZm9ybS1yb3cgLmNoZWNrYm94LFxuXHQud29vY29tbWVyY2UtZm9ybV9fbGFiZWwtZm9yLWNoZWNrYm94IHtcblx0XHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdGdhcDogc3AoMik7XG5cdFx0dGV4dC10cmFuc2Zvcm06IG5vbmU7XG5cdFx0bGV0dGVyLXNwYWNpbmc6IDA7XG5cdFx0Zm9udC1mYW1pbHk6IGluaGVyaXQ7XG5cdFx0Zm9udC1zaXplOiAuOTVyZW07XG5cdFx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0XHRjb2xvcjogdmFyKC0taW5rKTtcblx0XHRpbnB1dCB7IHdpZHRoOiBhdXRvOyBhY2NlbnQtY29sb3I6IHZhcigtLWFjY2VudCk7IH1cblx0fVxuXG5cdC8vIOKUgOKUgCBDYXJ0IOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXHQud29vY29tbWVyY2UtY2FydC1mb3JtIHtcblx0XHRtYXJnaW46IDA7XG5cdFx0dHJhbnNpdGlvbjogb3BhY2l0eSAuMjVzICRlYXNlO1xuXG5cdFx0Ly8g4pqgIEZJWEVEIGxheW91dCwgd2lkdGhzIG9uIHRoZSBoZWFkZXIgY2VsbHMuIEF1dG8gbGF5b3V0IGtlcHRcblx0XHQvLyBoYW5kaW5nIHRoZSB0YWJsZSdzIHNwYXJlIHdpZHRoIHRvIHRoZSDDlyBjb2x1bW4g4oCUIGEgaGFuZCdzIHdpZHRoXG5cdFx0Ly8gYmV0d2VlbiB0aGUgw5cgYW5kIHRoZSB0aHVtYm5haWwgKEpvZSwgMjAyNi0wOS0xMzogXCJ0aGF0IGdpYW50XG5cdFx0Ly8gZ2FwXCIpIOKAlCBhbmQgYSAxJSB0cmljayB0byBzdG9wIGl0IHNxdWFzaGVkIHRoZSB0aHVtYm5haWwgaW5zdGVhZC5cblx0XHQvLyBXaXRoIHRhYmxlLWxheW91dDogZml4ZWQgdGhlIGZpcnN0IHJvdydzIHdpZHRocyBBUkUgdGhlIGNvbHVtbnMgYW5kXG5cdFx0Ly8gdGhlIG9uZSBsZWZ0IGF1dG8gKHRoZSBuYW1lKSB0YWtlcyB3aGF0ZXZlciByZW1haW5zLiBEZXRlcm1pbmlzdGljLlxuXHRcdHRhYmxlLmNhcnQge1xuXHRcdFx0dGFibGUtbGF5b3V0OiBmaXhlZDtcblx0XHRcdHRoLnByb2R1Y3QtcmVtb3ZlICAgIHsgd2lkdGg6IDQ0cHg7IH1cblx0XHRcdHRoLnByb2R1Y3QtdGh1bWJuYWlsIHsgd2lkdGg6IDk2cHg7IH1cblx0XHRcdHRoLnByb2R1Y3QtcHJpY2UgICAgIHsgd2lkdGg6IDk2cHg7IH1cblx0XHRcdHRoLnByb2R1Y3QtcXVhbnRpdHkgIHsgd2lkdGg6IDE1MHB4OyB9XG5cdFx0XHR0aC5wcm9kdWN0LXN1YnRvdGFsICB7IHdpZHRoOiAxMDBweDsgfVxuXHRcdH1cblxuXHRcdHRkLnByb2R1Y3QtcmVtb3ZlLCB0aC5wcm9kdWN0LXJlbW92ZSB7IHBhZGRpbmctbGVmdDogMDsgcGFkZGluZy1yaWdodDogc3AoNCk7IH1cblx0XHRhLnJlbW92ZSB7XG5cdFx0XHRkaXNwbGF5OiBncmlkO1xuXHRcdFx0cGxhY2UtaXRlbXM6IGNlbnRlcjtcblx0XHRcdHdpZHRoOiAyOHB4O1xuXHRcdFx0aGVpZ2h0OiAyOHB4O1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogOTk5cHg7XG5cdFx0XHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1saW5lLTIpO1xuXHRcdFx0Y29sb3I6IHZhcigtLWluay0yKSAhaW1wb3J0YW50OyAgICAgIC8vIFdvbyBpbmxpbmVzIHJlZCBvbiA6aG92ZXJcblx0XHRcdGZvbnQtc2l6ZTogMS4xcmVtO1xuXHRcdFx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0XHRcdGxpbmUtaGVpZ2h0OiAxO1xuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdFx0dHJhbnNpdGlvbjogYmFja2dyb3VuZCB2YXIoLS1kdXItZmFzdCkgJGVhc2UsIGNvbG9yIHZhcigtLWR1ci1mYXN0KSAkZWFzZTtcblx0XHRcdEBpbmNsdWRlIGNhbi1ob3ZlciB7XG5cdFx0XHRcdCY6aG92ZXIgeyBiYWNrZ3JvdW5kOiB2YXIoLS1pbmspICFpbXBvcnRhbnQ7IGNvbG9yOiB2YXIoLS1iZykgIWltcG9ydGFudDsgYm9yZGVyLWNvbG9yOiB2YXIoLS1pbmspOyB9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdHRkLnByb2R1Y3QtdGh1bWJuYWlsLCB0aC5wcm9kdWN0LXRodW1ibmFpbCB7IHBhZGRpbmctcmlnaHQ6IHNwKDQpOyB9XG5cdFx0dGQucHJvZHVjdC10aHVtYm5haWwgaW1nIHtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0d2lkdGg6IDcycHg7XG5cdFx0XHRtYXgtd2lkdGg6IG5vbmU7ICAgLy8gdGhlIGJhc2UgcmVzZXQncyBtYXgtd2lkdGg6MTAwJSBzaHJhbmsgaXQgaW4gYSBuYXJyb3cgY2VsbFxuXHRcdFx0aGVpZ2h0OiA3MnB4O1xuXHRcdFx0b2JqZWN0LWZpdDogY292ZXI7XG5cdFx0XHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xuXHRcdFx0YmFja2dyb3VuZDogdmFyKC0tYmctMyk7XG5cdFx0fVxuXHRcdHRkLnByb2R1Y3QtbmFtZSB7XG5cdFx0XHRmb250LXdlaWdodDogNjAwO1xuXHRcdFx0LnZhcmlhdGlvbiB7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRtYXJnaW46IC4zZW0gMCAwO1xuXHRcdFx0XHRmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vKTtcblx0XHRcdFx0Zm9udC1zaXplOiAuN3JlbTtcblx0XHRcdFx0bGV0dGVyLXNwYWNpbmc6IC4xMmVtO1xuXHRcdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdFx0XHRjb2xvcjogdmFyKC0taW5rLTMpO1xuXHRcdFx0XHRkdCwgZGQsIHAgeyBkaXNwbGF5OiBpbmxpbmU7IG1hcmdpbjogMDsgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXHRcdFx0XHRkdCB7IG1hcmdpbi1yaWdodDogLjNlbTsgfVxuXHRcdFx0fVxuXHRcdH1cblx0XHR0ZC5wcm9kdWN0LXByaWNlLCB0ZC5wcm9kdWN0LXN1YnRvdGFsIHsgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG5cdFx0Ly8gQ291cG9uICsgVXBkYXRlIGNhcnQgcm93LlxuXHRcdHRkLmFjdGlvbnMge1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGZsZXgtd3JhcDogd3JhcDtcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdFx0XHRnYXA6IHNwKDMpO1xuXHRcdFx0cGFkZGluZy1pbmxpbmU6IDA7XG5cdFx0XHRib3JkZXI6IDA7XG5cdFx0XHQuY291cG9uIHtcblx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0Z2FwOiBzcCgyKTtcblx0XHRcdFx0ZmxvYXQ6IG5vbmU7XG5cdFx0XHR9XG5cdFx0XHQvLyBcIlVwZGF0ZSBjYXJ0XCIgaXMgaGlkZGVuOiBxdWFudGl0aWVzIHNhdmUgdGhlbXNlbHZlcyDigJQgbC1jYXJ0LmpzXG5cdFx0XHQvLyBjbGlja3MgdGhpcyBidXR0b24gZm9yIFdvbyBvbiBldmVyeSBjaGFuZ2UgKEpvZSwgMjAyNi0wOS0xMzpcblx0XHRcdC8vIFwic2tpcCB0aGUgVXBkYXRlIGNhcnQgYnV0dG9uIGVudGlyZWx5LCBpdCdzIGp1c3QgYW4gZXh0cmEgc3RlcFwiKS5cblx0XHRcdC8vIEl0IHN0YXlzIGluIHRoZSBET00gYmVjYXVzZSBXb28ncyBjYXJ0LmpzIG5lZWRzIGl0IHRvIGV4aXN0LlxuXHRcdFx0PiAuYnV0dG9uW25hbWU9XCJ1cGRhdGVfY2FydFwiXSB7IGRpc3BsYXk6IG5vbmU7IH1cblx0XHR9XG5cdH1cblxuXHQvLyDim5QgV29vJ3MgYWpheCBcImxvYWRpbmdcIiBzdGF0ZTogYSBqUXVlcnktYmxvY2tVSSB3aGl0ZSBvdmVybGF5IHdpdGggYVxuXHQvLyBzcGlubmluZyA6OmJlZm9yZSBvbiB0aGUgZm9ybSBBTkQgb24gdGhlIHRvdGFscyBib3guIEpvZTogXCJJIGRvbid0IGxpa2Vcblx0Ly8gdGhlIG92ZXJsYXkgYW5kIHRob3NlIHR3byB1Z2x5IGxvYWRpbmcgYW5pbWF0aW9ucy5cIiBUaGUgb3ZlcmxheSBpc1xuXHQvLyBpbmxpbmUtc3R5bGVkLCBzbyBpdCB0YWtlcyAhaW1wb3J0YW50OyB0aGUgYC5wcm9jZXNzaW5nYCBjbGFzcyBXb28gYWRkc1xuXHQvLyB0byB0aGUgYmxvY2tlZCBlbGVtZW50IGlzIHdoYXQgdGhlIHF1aWV0IHN0YXRlIGJlbG93IGhhbmdzIG9uIGluc3RlYWQuXG5cdC5ibG9ja1VJLmJsb2NrT3ZlcmxheSB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXHQucHJvY2Vzc2luZyB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdCY6OmJlZm9yZSB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSAgIC8vIFdvbydzIHNwaW5uZXJcblx0fVxuXHQud29vY29tbWVyY2UtY2FydC1mb3JtLnByb2Nlc3NpbmcsXG5cdC5jYXJ0X3RvdGFscy5wcm9jZXNzaW5nLFxuXHQud29vY29tbWVyY2UtY2hlY2tvdXQtcmV2aWV3LW9yZGVyLnByb2Nlc3NpbmcsXG5cdC53b29jb21tZXJjZS1jaGVja291dC1wYXltZW50LnByb2Nlc3Npbmcge1xuXHRcdG9wYWNpdHk6IC40NTtcblx0XHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0XHR0cmFuc2l0aW9uOiBvcGFjaXR5IC4yNXMgJGVhc2U7XG5cdH1cblxuXHQvLyDimqAgV29vIHN0eWxlcyB0aGUgY291cG9uIGZpZWxkIGF0ICgwLDQsMykg4oCUXG5cdC8vIGAud29vY29tbWVyY2UtY2FydCB0YWJsZS5jYXJ0IHRkLmFjdGlvbnMgLmNvdXBvbiAuaW5wdXQtdGV4dGAg4oCUIHdpdGggaXRzXG5cdC8vIG93biBncmV5IGJvcmRlciwgZmxvYXQgYW5kIDZweCBwYWRkaW5nLCBzbyB0aGUgc2hhcmVkIGlucHV0IHJ1bGUgYWJvdmVcblx0Ly8gbG9zdC4gUmVzdGF0ZWQgYXQgdGhlIHRvcCBsZXZlbCBvZiB0aGlzIGJsb2NrIChOT1QgbmVzdGVkIGluc2lkZVxuXHQvLyAuY291cG9uIOKAlCBhIGZpcnN0IGF0dGVtcHQgd2FzLCBjb21waWxlZCB0byBhIHNlbGVjdG9yIHRoYXQgbmV2ZXJcblx0Ly8gbWF0Y2hlZCwgYW5kIHRoZSBmaWVsZCBrZXB0IFdvbydzIHdoaXRlIG91dGxpbmUgaW4gZGFyayBtb2RlOyBKb2UsXG5cdC8vIDIwMjYtMDktMTQpLiBNYXRjaGVzIGV2ZXJ5IG90aGVyIHBpbGwgaW4gYm90aCB0aGVtZXMuXG5cdHRhYmxlLmNhcnQgdGQuYWN0aW9ucyAuY291cG9uIC5pbnB1dC10ZXh0IHtcblx0XHRmbG9hdDogbm9uZTtcblx0XHR3aWR0aDogMjIwcHg7XG5cdFx0aGVpZ2h0OiA1NHB4O1xuXHRcdG1hcmdpbjogMDtcblx0XHRwYWRkaW5nOiAwIDEuM3JlbTtcblx0XHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1saW5lLTIpO1xuXHRcdGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuXHRcdGJhY2tncm91bmQ6IHZhcigtLWJnKTtcblx0XHRjb2xvcjogdmFyKC0taW5rKTtcblx0XHRmb250OiBpbmhlcml0O1xuXHRcdGZvbnQtc2l6ZTogMXJlbTtcblx0XHRsaW5lLWhlaWdodDogMS4zO1xuXHRcdCY6Zm9jdXMtdmlzaWJsZSB7IG91dGxpbmU6IDNweCBzb2xpZCB2YXIoLS1hY2NlbnQpOyBvdXRsaW5lLW9mZnNldDogMnB4OyB9XG5cdFx0Jjo6cGxhY2Vob2xkZXIgeyBjb2xvcjogdmFyKC0taW5rLTMpOyB9XG5cdH1cblxuXHQuY2FydF90b3RhbHMge1xuXHRcdHRyYW5zaXRpb246IG9wYWNpdHkgLjI1cyAkZWFzZTtcblx0XHRmbG9hdDogbm9uZTtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRtYXgtd2lkdGg6IDQyMHB4O1xuXHRcdG1hcmdpbjogY2xhbXAoMnJlbSwgNHZ3LCAzcmVtKSAwIDAgYXV0bztcblx0XHRwYWRkaW5nOiBzcCg2KTtcblx0XHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1saW5lKTtcblx0XHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbGcpO1xuXHRcdGJhY2tncm91bmQ6IHZhcigtLXdhc2gpO1xuXG5cdFx0aDIge1xuXHRcdFx0bWFyZ2luOiAwIDAgc3AoNCk7XG5cdFx0XHRmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcblx0XHRcdGZvbnQtc2l6ZTogZmx1aWQoMjAsIDI2KTtcblx0XHRcdGZvbnQtd2VpZ2h0OiA5MDA7XG5cdFx0XHRsaW5lLWhlaWdodDogMTtcblx0XHRcdGxldHRlci1zcGFjaW5nOiAtLjAyZW07XG5cdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdH1cblx0XHR0YWJsZS5zaG9wX3RhYmxlIHtcblx0XHRcdHRoIHsgQGluY2x1ZGUgbGFiZWw7IGNvbG9yOiB2YXIoLS1pbmstMyk7IHdpZHRoOiA0NSU7IHBhZGRpbmctbGVmdDogMDsgfVxuXHRcdFx0dGQgeyB0ZXh0LWFsaWduOiByaWdodDsgcGFkZGluZy1yaWdodDogMDsgfVxuXHRcdFx0dHIub3JkZXItdG90YWwgdGQgeyBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTsgZm9udC1zaXplOiAxLjM1cmVtOyBmb250LXdlaWdodDogOTAwOyB9XG5cdFx0fVxuXHRcdC53Yy1wcm9jZWVkLXRvLWNoZWNrb3V0IHtcblx0XHRcdHBhZGRpbmc6IHNwKDUpIDAgMDtcblx0XHRcdC5jaGVja291dC1idXR0b24geyB3aWR0aDogMTAwJTsgbWFyZ2luOiAwOyB9ICAgLy8gV29vIGdpdmVzIGl0IG1hcmdpbi1ib3R0b206IDFlbSDigJQgYSBnYXAgdW5kZXIgdGhlIGJ1dHRvbiBpbnNpZGUgdGhlIGNhcmRcblx0XHR9XG5cdFx0Lndvb2NvbW1lcmNlLXNoaXBwaW5nLWRlc3RpbmF0aW9uLCAud29vY29tbWVyY2Utc2hpcHBpbmctY2FsY3VsYXRvciB7IGZvbnQtc2l6ZTogLjg1cmVtOyBjb2xvcjogdmFyKC0taW5rLTMpOyB9XG5cdH1cblxuXHQvLyBFbXB0eSBjYXJ0IOKAlCB0aGUgc2VudGVuY2UgaXMgc3R5bGVkIHdpdGggdGhlIG5vdGljZXMgYWJvdmUgKFdvbyBnaXZlcyBpdFxuXHQvLyB0aGUgbm90aWNlIGNsYXNzKTsgaGVyZSBvbmx5IHRoZSBzcGFjaW5nIHRvIHRoZSBLZWVwIFNob3BwaW5nIGJ1dHRvbi5cblx0LmNhcnQtZW1wdHkgeyBtYXJnaW46IDAgMCBzcCg1KTsgfVxuXHQucmV0dXJuLXRvLXNob3AgeyBtYXJnaW46IDA7IH1cblxuXHQvLyDilIDilIAgQ2hlY2tvdXQg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cdC53b29jb21tZXJjZS1mb3JtLWNvdXBvbi10b2dnbGUsIC53b29jb21tZXJjZS1mb3JtLWxvZ2luLXRvZ2dsZSB7IG1hcmdpbi1ib3R0b206IHNwKDUpOyB9XG5cdGZvcm0uY2hlY2tvdXRfY291cG9uLCBmb3JtLndvb2NvbW1lcmNlLWZvcm0tbG9naW4ge1xuXHRcdG1hcmdpbjogMCAwIHNwKDYpO1xuXHRcdHBhZGRpbmc6IHNwKDUpO1xuXHRcdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpbmUpO1xuXHRcdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XG5cdFx0LmZvcm0tcm93LWxhc3QgLmJ1dHRvbiB7IGhlaWdodDogNDZweDsgbWFyZ2luLXRvcDogMS41NXJlbTsgfSAgIC8vIGxldmVsIHdpdGggdGhlIGZpZWxkXG5cdH1cblxuXHRmb3JtLmNoZWNrb3V0IHtcblx0XHRkaXNwbGF5OiBncmlkO1xuXHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDAsIDEuMmZyKSBtaW5tYXgoMCwgMWZyKTtcblx0XHRnYXA6IGNsYW1wKDJyZW0sIDV2dywgNHJlbSk7XG5cdFx0YWxpZ24taXRlbXM6IHN0YXJ0O1xuXG5cdFx0QGluY2x1ZGUgYXQobGcpIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7IH1cblxuXHRcdCNjdXN0b21lcl9kZXRhaWxzIHtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0LmNvbC0xLCAuY29sLTIgeyBmbG9hdDogbm9uZTsgd2lkdGg6IDEwMCU7IH1cblx0XHRcdC5jb2wtMiB7IG1hcmdpbi10b3A6IHNwKDYpOyB9XG5cdFx0fVxuXHRcdGgzIHtcblx0XHRcdG1hcmdpbjogMCAwIHNwKDUpO1xuXHRcdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG5cdFx0XHRmb250LXNpemU6IGZsdWlkKDIwLCAyNik7XG5cdFx0XHRmb250LXdlaWdodDogOTAwO1xuXHRcdFx0bGluZS1oZWlnaHQ6IDE7XG5cdFx0XHRsZXR0ZXItc3BhY2luZzogLS4wMmVtO1xuXHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHR9XG5cdFx0I29yZGVyX3Jldmlld19oZWFkaW5nIHsgZ3JpZC1jb2x1bW46IDI7IGdyaWQtcm93OiAxOyBtYXJnaW4tdG9wOiAwOyB9XG5cdFx0I29yZGVyX3JldmlldyB7XG5cdFx0XHRncmlkLWNvbHVtbjogMjtcblx0XHRcdGdyaWQtcm93OiAyO1xuXHRcdFx0cGFkZGluZzogc3AoNik7XG5cdFx0XHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1saW5lKTtcblx0XHRcdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1sZyk7XG5cdFx0XHRiYWNrZ3JvdW5kOiB2YXIoLS13YXNoKTtcblx0XHR9XG5cdFx0QGluY2x1ZGUgYXQobGcpIHtcblx0XHRcdCNvcmRlcl9yZXZpZXdfaGVhZGluZywgI29yZGVyX3JldmlldyB7IGdyaWQtY29sdW1uOiAxOyBncmlkLXJvdzogYXV0bzsgfVxuXHRcdH1cblxuXHRcdC53b29jb21tZXJjZS1jaGVja291dC1yZXZpZXctb3JkZXItdGFibGUge1xuXHRcdFx0dGgsIHRkIHsgcGFkZGluZy1pbmxpbmU6IDA7IH1cblx0XHRcdHRkLnByb2R1Y3QtbmFtZSB7IGZvbnQtd2VpZ2h0OiA2MDA7IC5wcm9kdWN0LXF1YW50aXR5IHsgY29sb3I6IHZhcigtLWluay0zKTsgZm9udC13ZWlnaHQ6IDQwMDsgfSB9XG5cdFx0XHR0ZC5wcm9kdWN0LXRvdGFsLCB0Zm9vdCB0ZCB7IHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cdFx0XHR0Zm9vdCB0aCB7IEBpbmNsdWRlIGxhYmVsOyBjb2xvcjogdmFyKC0taW5rLTMpOyB9XG5cdFx0XHR0ci5vcmRlci10b3RhbCB0ZCB7IGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpOyBmb250LXNpemU6IDEuMzVyZW07IGZvbnQtd2VpZ2h0OiA5MDA7IH1cblx0XHR9XG5cblx0XHQvLyBQYXltZW50IGJveDogV29vJ3MgZ3JleSBwYW5lbCDihpIgdGhlIGNhcmQgaXQgc2l0cyBpbiBhbHJlYWR5IGlzIG9uZS5cblx0XHQjcGF5bWVudCB7XG5cdFx0XHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblx0XHRcdGJvcmRlci1yYWRpdXM6IDA7XG5cdFx0XHRtYXJnaW4tdG9wOiBzcCg1KTtcblx0XHRcdHVsLnBheW1lbnRfbWV0aG9kcyB7XG5cdFx0XHRcdG1hcmdpbjogMCAwIHNwKDUpO1xuXHRcdFx0XHRwYWRkaW5nOiAwIDAgc3AoNSk7XG5cdFx0XHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1saW5lKTtcblx0XHRcdFx0bGlzdC1zdHlsZTogbm9uZTtcblx0XHRcdFx0bGkgeyBtYXJnaW46IDAgMCBzcCgzKTsgbGluZS1oZWlnaHQ6IDEuNDsgZm9udC1zaXplOiAuOTVyZW07IH1cblx0XHRcdFx0bGFiZWwgeyBkaXNwbGF5OiBpbmxpbmU7IGZvbnQtd2VpZ2h0OiA2MDA7IH1cblx0XHRcdFx0aW5wdXRbdHlwZT1cInJhZGlvXCJdIHsgYWNjZW50LWNvbG9yOiB2YXIoLS1hY2NlbnQpOyBtYXJnaW4tcmlnaHQ6IC41ZW07IH1cblx0XHRcdFx0LnBheW1lbnRfYm94IHtcblx0XHRcdFx0XHRtYXJnaW46IHNwKDMpIDAgMDtcblx0XHRcdFx0XHRwYWRkaW5nOiBzcCg0KTtcblx0XHRcdFx0XHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xuXHRcdFx0XHRcdGJhY2tncm91bmQ6IHZhcigtLWJnKTtcblx0XHRcdFx0XHRmb250LXNpemU6IC44OHJlbTtcblx0XHRcdFx0XHRjb2xvcjogdmFyKC0taW5rLTIpO1xuXHRcdFx0XHRcdCY6OmJlZm9yZSB7IGRpc3BsYXk6IG5vbmU7IH1cblx0XHRcdFx0XHRwOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG5cdFx0XHRcdH1cblx0XHRcdFx0aW1nIHsgbWF4LWhlaWdodDogMjRweDsgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuXHRcdFx0fVxuXHRcdFx0LnBsYWNlLW9yZGVyIHsgcGFkZGluZzogMDsgbWFyZ2luOiAwOyB9XG5cdFx0XHQud29vY29tbWVyY2UtdGVybXMtYW5kLWNvbmRpdGlvbnMtd3JhcHBlciB7IG1hcmdpbjogMCAwIHNwKDQpOyBmb250LXNpemU6IC44NXJlbTsgY29sb3I6IHZhcigtLWluay0yKTsgfVxuXHRcdFx0I3BsYWNlX29yZGVyIHsgd2lkdGg6IDEwMCU7IH1cblx0XHRcdC53b29jb21tZXJjZS1wcml2YWN5LXBvbGljeS10ZXh0IHsgZm9udC1zaXplOiAuODVyZW07IGNvbG9yOiB2YXIoLS1pbmstMyk7IH1cblx0XHR9XG5cdH1cblxuXHQvLyBPcmRlciByZWNlaXZlZCAodGhhbmsteW91IHBhZ2UpLlxuXHQud29vY29tbWVyY2Utb3JkZXIge1xuXHRcdC53b29jb21tZXJjZS10aGFua3lvdS1vcmRlci1yZWNlaXZlZCB7XG5cdFx0XHRmb250LXNpemU6IGNsYW1wKDEuMXJlbSwgLjV2dyArIDFyZW0sIDEuMzVyZW0pO1xuXHRcdFx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0XHR9XG5cdFx0dWwud29vY29tbWVyY2Utb3JkZXItb3ZlcnZpZXcge1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGZsZXgtd3JhcDogd3JhcDtcblx0XHRcdGdhcDogc3AoNCkgc3AoNik7XG5cdFx0XHRtYXJnaW46IHNwKDUpIDA7XG5cdFx0XHRwYWRkaW5nOiBzcCg1KTtcblx0XHRcdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpbmUpO1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcblx0XHRcdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdFx0XHRsaSB7XG5cdFx0XHRcdG1hcmdpbjogMDtcblx0XHRcdFx0cGFkZGluZzogMDtcblx0XHRcdFx0Ym9yZGVyOiAwO1xuXHRcdFx0XHRAaW5jbHVkZSBsYWJlbDtcblx0XHRcdFx0Y29sb3I6IHZhcigtLWluay0zKTtcblx0XHRcdFx0c3Ryb25nIHsgZGlzcGxheTogYmxvY2s7IG1hcmdpbi10b3A6IC4zZW07IGZvbnQ6IGluaGVyaXQ7IGZvbnQtc2l6ZTogMXJlbTsgZm9udC13ZWlnaHQ6IDYwMDsgbGV0dGVyLXNwYWNpbmc6IDA7IHRleHQtdHJhbnNmb3JtOiBub25lOyBjb2xvcjogdmFyKC0taW5rKTsgfVxuXHRcdFx0fVxuXHRcdH1cblx0XHRoMiB7XG5cdFx0XHRmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcblx0XHRcdGZvbnQtc2l6ZTogZmx1aWQoMjAsIDI2KTtcblx0XHRcdGZvbnQtd2VpZ2h0OiA5MDA7XG5cdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdFx0bGV0dGVyLXNwYWNpbmc6IC0uMDJlbTtcblx0XHR9XG5cdFx0YWRkcmVzcyB7IGZvbnQtc3R5bGU6IG5vcm1hbDsgbGluZS1oZWlnaHQ6IDEuNTsgfVxuXHR9XG59XG4iLCJAdXNlIFwidG9rZW5zXCIgYXMgKjtcclxuXHJcbi8vIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxyXG4vLyAgTkVXU0xFVFRFUlxyXG4vL1xyXG4vLyAgQW4gaW5zZXQgUEFORUwgcmF0aGVyIHRoYW4gYSBmdWxsLWJsZWVkIGJhbmQg4oCUIHRoYXQgcGFydCBpcyBzdGlsbCB0cnVlIGFuZFxyXG4vLyAgaXMgd2h5IHRoaXMgcGFydGlhbCBleGlzdHMgc2VwYXJhdGVseSBmcm9tIF9wcm9tby5zY3NzLiBUaGUgc2VjdGlvbiBpdCBzaXRzXHJcbi8vICBpbiBpcyBhbHJlYWR5IHdhc2hlZCwgc28gYSBzZWNvbmQgZmxhdCBjb2xvdXIgd291bGQganVzdCBiZSBhIGJpZ2dlclxyXG4vLyAgcmVjdGFuZ2xlOyB0aGUgcGFuZWwgZ2l2ZXMgdGhlIHBhZ2UncyBvbmUgYXNrIGFuIGVkZ2Ugb2YgaXRzIG93bi5cclxuLy9cclxuLy8gIOKblCBEQVJLIE1PRFVMRSBJTiBCT1RIIFRIRU1FUywgc2FtZSBhcyB0aGUgcHJvbW8gYmFuZCDigJQgYnV0IHRoZXJlIGlzXHJcbi8vICBOT1RISU5HIFRIRU1FLVJFTEFURUQgSU4gVEhJUyBGSUxFLCBhbmQgdGhhdCBpcyBkZWxpYmVyYXRlLCBub3QgYW5cclxuLy8gIG92ZXJzaWdodC4gRXZlcnkgY29sb3VyIGJlbG93IGlzIGFscmVhZHkgYSB0aGVtZSBjdXN0b20gcHJvcGVydHlcclxuLy8gICgtLWluayAvIC0taW5rLTIgLyAtLWluay0zIC8gLS1saW5lIC8gLS1saW5lLTIgLyAtLWJnIC8gLS1iZy0yIC8gLS1hY2NlbnTigKYpLFxyXG4vLyAgc28gdGhlIG1hcmt1cCBjYXJyaWVzIGEgcGxhaW4gYGluc2V0YCBjbGFzcyAoc2VlIHRoZSBgLmluc2V0YCBydWxlIGluXHJcbi8vICBfYmFzZS5zY3NzIGFuZCBpdHMgc2VsZWN0b3IgaW4gX3Rva2Vucy5zY3NzKSBhbmQgZXZlcnkgb25lIG9mIHRoZW1cclxuLy8gIHJlLXBvaW50cyBhdCBvbmNlLiBEbyBub3QgYWRkIGEgbGlnaHQvZGFyayBicmFuY2ggaW4gaGVyZSDigJQgaWYgYSBjb2xvdXJcclxuLy8gIGV2ZXIgbG9va3Mgd3JvbmcgaW4gdGhpcyBwYW5lbCwgdGhlIGZpeCBpcyBpbiBfdG9rZW5zLnNjc3MsIG5vdCBoZXJlLlxyXG4vL1xyXG4vLyAgVHdvIGNvbHVtbnMgb24gZGVza3RvcCwgc3RhY2tlZCBvbiBtb2JpbGUuIFRoZSBjb3B5IGxlYWRzLCB0aGUgZm9ybSBmb2xsb3dzXHJcbi8vICDigJQgcmV2ZXJzaW5nIHRoYXQgcHV0cyBhbiBpbnB1dCBpbiBmcm9udCBvZiBzb21lb25lIHdobyBoYXNuJ3QgYmVlbiB0b2xkIHdoYXRcclxuLy8gIHRoZXkncmUgc2lnbmluZyB1cCBmb3IuXHJcbi8vIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxyXG5cclxuLnN1YnNjcmliZSB7XHJcblx0ZGlzcGxheTogZ3JpZDtcclxuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgwLCAxZnIpIG1pbm1heCgwLCAxZnIpO1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0Z2FwOiBjbGFtcCgycmVtLCA1dncsIDVyZW0pO1xyXG5cdHBhZGRpbmc6IGNsYW1wKDJyZW0sIDQuNXZ3LCA0cmVtKTtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1saW5lKTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbGcpO1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJnLTIpO1xyXG5cclxuXHQvLyBTaW5nbGUgY29sdW1uIHdlbGwgYmVmb3JlIHRoZSB0eXBlIGdldHMgY3JhbXBlZC4gVHdvIDFmciBjb2x1bW5zIG1lYW5zIHRoZVxyXG5cdC8vIGZvcm0gaXMgb25seSBldmVyIGhhbGYgdGhlIHBhbmVsLCBhbmQgYSA1NHB4IGlucHV0IGluIGhhbGYgb2YgYSB0YWJsZXQgaXNcclxuXHQvLyB0b28gc2hvcnQgdG8gdHlwZSBhIHJlYWwgYWRkcmVzcyBpbnRvLlxyXG5cdEBpbmNsdWRlIGF0KGxnKSB7XHJcblx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcclxuXHRcdGdhcDogY2xhbXAoMS43NXJlbSwgNHZ3LCAyLjVyZW0pO1xyXG5cdH1cclxuXHJcblx0Ly8g4pqgIEdyaWQgaXRlbXMgZGVmYXVsdCB0byBtaW4td2lkdGg6YXV0bywgTk9UIDAg4oCUIHNvIGEgY2hpbGQgd2hvc2UgY29udGVudFxyXG5cdC8vIGhhcyBhIG1pbmltdW0gc2l6ZSAodGhlIDU0cHggaW5wdXQgcGx1cyBhbiAxMXJlbSBidXR0b24pIHJlZnVzZXMgdG8gc2hyaW5rXHJcblx0Ly8gYW5kIHB1c2hlcyBvdXQgb2YgdGhlIHBhbmVsIGluc3RlYWQgb2Ygd3JhcHBpbmcuIFRoaXMgaXMgdGhlIGRpZmZlcmVuY2VcclxuXHQvLyBiZXR3ZWVuIGEgZm9ybSB0aGF0IGZpdHMgYW5kIG9uZSB0aGF0IHJ1bnMgb2ZmIHRoZSBjYXJkIGVkZ2UuXHJcblx0PiAqIHsgbWluLXdpZHRoOiAwOyB9XHJcblxyXG5cdC8vIOKUgOKUgCBDb3B5IOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxyXG5cdCZfX3RpdGxlIHtcclxuXHRcdG1hcmdpbi10b3A6IHNwKDMpO1xyXG5cdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XHJcblx0XHRmb250LXNpemU6IGZsdWlkKDMwLCA2Mik7XHJcblx0XHRmb250LXdlaWdodDogOTAwO1xyXG5cdFx0bGluZS1oZWlnaHQ6IC45MjtcclxuXHRcdGxldHRlci1zcGFjaW5nOiAtLjAzNWVtO1xyXG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHR9XHJcblxyXG5cdC8vIFRoZSBob2xsb3cgd29yZCDigJQgdGhlIHNhbWUgdHJlYXRtZW50IGFzIHRoZSA0MDQncyBsYXN0IGxpbmUsIGFuZCB0aGVcclxuXHQvLyByZWFzb24gaXQncyBoZXJlIGlzIGNvbnRpbnVpdHk6IGl0J3MgdGhpcyB0aGVtZSdzIG9uZSB0eXBvZ3JhcGhpY1xyXG5cdC8vIHNpZ25hdHVyZSwgc28gdGhlIG5ld3NsZXR0ZXIgcmVhZHMgYXMgcGFydCBvZiB0aGUgc2l0ZSByYXRoZXIgdGhhbiBhXHJcblx0Ly8gYm9sdGVkLW9uIGNhcHR1cmUgYmxvY2suXHJcblx0Ly9cclxuXHQvLyDimqAgLXdlYmtpdC10ZXh0LXN0cm9rZSBPTkxZLCB3aXRoIGBjb2xvcjogdHJhbnNwYXJlbnRgLiBUaGVyZSBpcyBub1xyXG5cdC8vIHVucHJlZml4ZWQgZXF1aXZhbGVudCB0aGF0IHNoaXBzIGFueXdoZXJlIHJlYWwsIGFuZCBgcGFpbnQtb3JkZXJgIC9cclxuXHQvLyBTVkctdGV4dCBhbHRlcm5hdGl2ZXMgYm90aCBicmVhayB0ZXh0IHNlbGVjdGlvbiBhbmQgbGluZSB3cmFwcGluZy5cclxuXHQvL1xyXG5cdC8vIOKaoCBUaGUgc3Ryb2tlIGlzIGRyYXduIENFTlRSRUQgb24gdGhlIGdseXBoIGVkZ2UsIHNvIGhhbGYgb2YgaXQgZWF0cyBpbnRvXHJcblx0Ly8gdGhlIGxldHRlcmZvcm0uIEF0IGRpc3BsYXkgc2l6ZXMgdGhhdCByZWFkcyBhcyBpbnRlbmRlZDsgYmVsb3cgfjI4cHggdGhlXHJcblx0Ly8gY291bnRlcnMgc3RhcnQgZmlsbGluZyBpbiBhbmQgaXQgdHVybnMgdG8gbXVkIOKAlCB3aGljaCBpcyB3aHkgdGhlIHNpemVcclxuXHQvLyBmbG9vciBhYm92ZSBpcyAzMHB4IGFuZCBtdXN0IG5vdCBiZSBsb3dlcmVkIGhlcmUuXHJcblx0Jl9fdGl0bGUtaG9sbG93IHtcclxuXHRcdC8vIE93biBsaW5lLCBhbHdheXM6IFwiTkVWRVIgTUlTUyBBTiAvIEVQSVNPREVcIiBzcGxpdHMgdGhlIGhvbGxvdyBwaHJhc2VcclxuXHRcdC8vIGFjcm9zcyB0aGUgYnJlYWsgb24gcGhvbmVzLCB3aGljaCByZWFkcyBhcyB0d28gZGlmZmVyZW50IGhlYWRpbmdzLlxyXG5cdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRjb2xvcjogdHJhbnNwYXJlbnQ7XHJcblx0XHQtd2Via2l0LXRleHQtc3Ryb2tlOiAycHggdmFyKC0taW5rKTtcclxuXHJcblx0XHRAaW5jbHVkZSBhdChtZCkgeyAtd2Via2l0LXRleHQtc3Ryb2tlLXdpZHRoOiAxLjVweDsgfVxyXG5cdH1cclxuXHJcblx0Jl9fbGVkZSB7XHJcblx0XHRtYXgtd2lkdGg6IDQ2Y2g7XHJcblx0XHRtYXJnaW4tdG9wOiBzcCg0KTtcclxuXHRcdGZvbnQtc2l6ZTogY2xhbXAoLjk4cmVtLCAuMzV2dyArIC45cmVtLCAxLjEycmVtKTtcclxuXHRcdGxpbmUtaGVpZ2h0OiAxLjU1O1xyXG5cdFx0Y29sb3I6IHZhcigtLWluay0yKTtcclxuXHR9XHJcbn1cclxuXHJcblxyXG4vLyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcclxuLy8gIFRoZSBmb3JtXHJcbi8vXHJcbi8vICBgLnNmb3JtMmAgYW5kIG5vdCBgLnNmb3JtYCDigJQgX3NlYXJjaC5zY3NzIGFscmVhZHkgb3ducyBgLnNmb3JtYCBmb3IgdGhlXHJcbi8vICBzZWFyY2ggZmllbGQsIGFuZCB0aGUgdHdvIGFyZSBnZW51aW5lbHkgZGlmZmVyZW50IGNvbXBvbmVudHMgKG9uZSBuYXZpZ2F0ZXMsXHJcbi8vICBvbmUgc3VibWl0cyB0byBhbiBBUEkpLiBSZXVzaW5nIHRoZSBuYW1lIHRvIHNhdmUgZWlnaHQgY2hhcmFjdGVycyB3b3VsZCBoYXZlXHJcbi8vICBtZWFudCBldmVyeSBmdXR1cmUgY2hhbmdlIHRvIGVpdGhlciBvbmUgbGFuZGluZyBpbiBib3RoLlxyXG4vLyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcclxuXHJcbi5zZm9ybTIge1xyXG5cclxuXHQmX19yb3cge1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGdhcDogc3AoMyk7XHJcblxyXG5cdFx0Ly8gU3RhY2sgYXQgdGhlIHBvaW50IHRoZSBidXR0b24gc3RhcnRzIHNxdWVlemluZyB0aGUgaW5wdXQgcmF0aGVyIHRoYW4gYXRcclxuXHRcdC8vIGEgZGV2aWNlIHdpZHRoIOKAlCB0aGUgcGFuZWwgaXMgaGFsZi13aWR0aCBvbiBkZXNrdG9wLCBzbyB0aGlzIGZpcmVzIGxvbmdcclxuXHRcdC8vIGJlZm9yZSBhbnkgcGhvbmUgYnJlYWtwb2ludCB3b3VsZC5cclxuXHRcdEBpbmNsdWRlIGF0KHNtKSB7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cclxuXHR9XHJcblxyXG5cdCZfX2lucHV0IHtcclxuXHRcdGZsZXg6IDEgMSBhdXRvO1xyXG5cdFx0bWluLXdpZHRoOiAwOyAgIC8vIG9yIGEgbG9uZyBwbGFjZWhvbGRlciBibG93cyB0aGUgZmxleCByb3cgb3V0XHJcblx0XHRoZWlnaHQ6IDU0cHg7ICAgLy8gPSAuYnRuLCBzbyB0aGUgdHdvIGxpbmUgdXAgZXhhY3RseVxyXG5cdFx0cGFkZGluZy1pbmxpbmU6IHNwKDUpO1xyXG5cdFx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tbGluZS0yKTtcclxuXHRcdGJvcmRlci1yYWRpdXM6IDk5OXB4O1xyXG5cdFx0YmFja2dyb3VuZDogdmFyKC0tYmcpO1xyXG5cdFx0Y29sb3I6IHZhcigtLWluayk7XHJcblxyXG5cdFx0Ly8g4pqgIDE2cHggTUlOSU1VTSBPTiBUT1VDSCwgTk9OLU5FR09USUFCTEUuIGlPUyBTYWZhcmkgem9vbXMgdGhlIHdob2xlXHJcblx0XHQvLyB2aWV3cG9ydCB3aGVuIGEgZm9jdXNlZCBpbnB1dCdzIHRleHQgaXMgdW5kZXIgMTZweCwgYW5kIGl0IGRvZXMgbm90IHpvb21cclxuXHRcdC8vIGJhY2sgb3V0IG9uIGJsdXIg4oCUIHRoZSB2aXNpdG9yIGlzIGxlZnQgb24gYSBwYWdlIHRoZXkgaGF2ZSB0byBwaW5jaCB0b1xyXG5cdFx0Ly8gZXNjYXBlLiBUaGlzIGlzIHRoZSBvbmx5IHJlYXNvbiB0aGUgdmFsdWUgaXNuJ3Qgc21hbGxlci5cclxuXHRcdGZvbnQtc2l6ZTogMXJlbTtcclxuXHRcdGZvbnQtZmFtaWx5OiBpbmhlcml0O1xyXG5cclxuXHRcdCY6OnBsYWNlaG9sZGVyIHsgY29sb3I6IHZhcigtLWluay0zKTsgfVxyXG5cclxuXHRcdC8vIFRoZSBhY2NlbnQgT1VUTElORSwgbWF0Y2hpbmcgdGhlIGZsb3cgbWFya2VyIGFuZCBldmVyeSBvdGhlciBhY3RpdmVcclxuXHRcdC8vIHN0YXRlIGluIHRoaXMgdGhlbWUg4oCUIG5ldmVyIGEgZmlsbC4gb3V0bGluZSByYXRoZXIgdGhhbiBib3JkZXIgc28gdGhlXHJcblx0XHQvLyBmaWVsZCBkb2Vzbid0IGNoYW5nZSBzaXplIGJ5IDJweCB3aGVuIGl0IHRha2VzIGZvY3VzIGFuZCBzaG92ZSB0aGVcclxuXHRcdC8vIGJ1dHRvbiBzaWRld2F5cy5cclxuXHRcdCY6Zm9jdXMtdmlzaWJsZSB7XHJcblx0XHRcdG91dGxpbmU6IDNweCBzb2xpZCB2YXIoLS1hY2NlbnQpO1xyXG5cdFx0XHRvdXRsaW5lLW9mZnNldDogMnB4O1xyXG5cdFx0XHRib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xyXG5cdFx0fVxyXG5cclxuXHRcdC8vIFNldCBieSB0aGUgSlMgd2hlbiB0aGUgc2VydmVyIHJlamVjdHMgdGhlIGFkZHJlc3MuIENvbG91ciBpcyBub3QgdGhlXHJcblx0XHQvLyBvbmx5IGN1ZSDigJQgdGhlIG1lc3NhZ2UgYmVsb3cgc2F5cyB3aGF0J3Mgd3JvbmcgaW4gd29yZHMuXHJcblx0XHQuc2Zvcm0yLmlzLWludmFsaWQgJiB7XHJcblx0XHRcdGJvcmRlci1jb2xvcjogdmFyKC0tYWNjZW50LWRlZXApO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Jl9fYnRuIHtcclxuXHRcdGZsZXg6IG5vbmU7XHJcblxyXG5cdFx0Ly8gQSBidXR0b24gdGhhdCBjaGFuZ2VzIHdpZHRoIHdoZW4gaXRzIGxhYmVsIHN3YXBzIGZyb20gXCJTdWJzY3JpYmVcIiB0b1xyXG5cdFx0Ly8gXCJTZW5kaW5n4oCmXCIgZHJhZ3MgdGhlIHdob2xlIHJvdyB3aXRoIGl0LiBGbG9vciBpdCBhdCB0aGUgd2lkZXN0IGxhYmVsLlxyXG5cdFx0bWluLXdpZHRoOiAxMXJlbTtcclxuXHJcblx0XHRAaW5jbHVkZSBhdChzbSkgeyB3aWR0aDogMTAwJTsgfVxyXG5cclxuXHRcdCZbZGlzYWJsZWRdIHtcclxuXHRcdFx0b3BhY2l0eTogLjU1O1xyXG5cdFx0XHRwb2ludGVyLWV2ZW50czogbm9uZTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC8vIOKUgOKUgCBSZXNwb25zZSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcclxuXHQvLyAgRW1wdHkgdW50aWwgdGhlcmUncyBzb21ldGhpbmcgdG8gc2F5LCBhbmQgaXQgbXVzdCBub3QgcmVzZXJ2ZSBzcGFjZSB3aGlsZVxyXG5cdC8vICBlbXB0eSDigJQgYSBwZXJtYW5lbnQgZ2FwIHVuZGVyIHRoZSBmaWVsZCByZWFkcyBhcyBhIHJlbmRlcmluZyBidWcuXHJcblx0Ly8g4pqgIEV2ZXJ5IGRlY2xhcmF0aW9uIEJFRk9SRSB0aGUgbmVzdGVkIHJ1bGVzIOKAlCBTYXNzIGlzIGRlcHJlY2F0aW5nXHJcblx0Ly8gZGVjbGFyYXRpb25zIHRoYXQgZm9sbG93IGEgbmVzdGVkIHJ1bGUsIGFuZCB0aGUgZW1pdHRlZCBvcmRlciBjaGFuZ2VzIHdoZW5cclxuXHQvLyBpdCBsYW5kcy4gTm90IHN0eWxpc3RpYy5cclxuXHQmX19tc2cge1xyXG5cdFx0bWFyZ2luLXRvcDogc3AoNCk7XHJcblx0XHRmb250LXNpemU6IC45MnJlbTtcclxuXHRcdGxpbmUtaGVpZ2h0OiAxLjQ1O1xyXG5cclxuXHRcdC8vIE11c3Qgbm90IHJlc2VydmUgc3BhY2Ugd2hpbGUgZW1wdHkg4oCUIGEgcGVybWFuZW50IGdhcCB1bmRlciB0aGUgZmllbGRcclxuXHRcdC8vIHJlYWRzIGFzIGEgcmVuZGVyaW5nIGJ1Zy5cclxuXHRcdCY6ZW1wdHkgeyBkaXNwbGF5OiBub25lOyB9XHJcblxyXG5cdFx0LnNmb3JtMi5pcy1vayAmIHsgY29sb3I6IHZhcigtLWFjY2VudC1pbmspOyB9XHJcblx0XHQuc2Zvcm0yLmlzLWludmFsaWQgJiB7IGNvbG9yOiB2YXIoLS1pbmspOyBmb250LXdlaWdodDogNjAwOyB9XHJcblx0fVxyXG5cclxuXHQmX19maW5lIHtcclxuXHRcdG1hcmdpbi10b3A6IHNwKDQpO1xyXG5cdFx0Zm9udC1zaXplOiAuOHJlbTtcclxuXHRcdGxpbmUtaGVpZ2h0OiAxLjU7XHJcblx0XHRjb2xvcjogdmFyKC0taW5rLTMpO1xyXG5cdH1cclxuXHJcblx0Ly8gT25jZSBzb21lb25lIGlzIHN1YnNjcmliZWQgdGhlIGZpZWxkIGlzIHBvaW50bGVzcyDigJQgYnV0IGl0IGlzIE5PVCByZW1vdmVkXHJcblx0Ly8gZnJvbSB0aGUgRE9NLCBiZWNhdXNlIHRoZSByZXNwb25zZSBtZXNzYWdlIGlzIGluc2lkZSB0aGlzIGZvcm0gYW5kIHJpcHBpbmdcclxuXHQvLyB0aGUgZm9ybSBvdXQgd291bGQgdGFrZSB0aGUgY29uZmlybWF0aW9uIHdpdGggaXQuXHJcblx0Ji5pcy1kb25lICZfX3JvdyB7IGRpc3BsYXk6IG5vbmU7IH1cclxufVxyXG5cclxuXHJcbi8vIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxyXG4vLyAgSG9uZXlwb3RcclxuLy9cclxuLy8gIOKblCBOT1QgZGlzcGxheTpub25lLCBOT1QgdmlzaWJpbGl0eTpoaWRkZW4sIE5PVCBoaWRkZW4uIEEgbWVhbmluZ2Z1bCBzaGFyZSBvZlxyXG4vLyAgc3BhbSBib3RzIHNwZWNpZmljYWxseSBza2lwIGZpZWxkcyBoaWRkZW4gdGhvc2Ugd2F5cywgd2hpY2ggZGVmZWF0cyB0aGUgdHJhcFxyXG4vLyAgZW50aXJlbHkg4oCUIHRoZSB3aG9sZSBwb2ludCBpcyB0aGF0IGEgYm90IGZpbGxzIGl0IGluLlxyXG4vL1xyXG4vLyAgVGFrZW4gb2ZmLXNjcmVlbiBpbnN0ZWFkLiBUaGUgbWFya3VwIGNhcnJpZXMgdGFiaW5kZXg9XCItMVwiIGFuZCBhcmlhLWhpZGRlbixcclxuLy8gIHNvIGtleWJvYXJkIGFuZCBzY3JlZW4tcmVhZGVyIHVzZXJzIGNhbid0IHJlYWNoIGl0IGVpdGhlciB3YXk7IHRoaXMgcnVsZSBvbmx5XHJcbi8vICBoYXMgdG8gaGlkZSBpdCBmcm9tIGV5ZXMuXHJcbi8vIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxyXG5cclxuLnUtdHJhcCB7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdGxlZnQ6IC05OTk5cHg7XHJcblx0d2lkdGg6IDFweDtcclxuXHRoZWlnaHQ6IDFweDtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcbiIsIkB1c2UgXCJ0b2tlbnNcIiBhcyAqO1xuXG4vLyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi8vICBOSU5KQSBGT1JNU1xuLy9cbi8vICBXcml0dGVuIGFnYWluc3QgdGhlIG1hcmt1cCBOaW5qYSBGb3JtcyAzIEFDVFVBTExZIHJlbmRlcnMsIHJlYWQgb3V0IG9mIHRoZVxuLy8gIGxpdmUgRE9NIG9uIDIwMjYtMDktMDUg4oCUIG5vdCBmcm9tIGl0cyBkb2NzLiBORiBidWlsZHMgdGhlIGZvcm0gY2xpZW50LXNpZGVcbi8vICB0aHJvdWdoIEJhY2tib25lIHRlbXBsYXRlcywgc28gdGhlIEhUTUwgaW4gdmlldy1zb3VyY2UgaXMgbm90IHRoZSBIVE1MIHRoYXRcbi8vICBlbmRzIHVwIG9uIHRoZSBwYWdlLCBhbmQgYW55dGhpbmcgd3JpdHRlbiBmcm9tIHRoZSBzaG9ydGNvZGUgYWxvbmUgaXMgYVxuLy8gIGd1ZXNzLiBSZS1yZWFkIHRoZSBET00gYmVmb3JlIGNoYW5naW5nIHNlbGVjdG9ycyBoZXJlLlxuLy9cbi8vICBXaGF0IHRoZSBwbHVnaW4gc2hpcHMgb24gdGhpcyBpbnN0YWxsOiBgZGlzcGxheS1zdHJ1Y3R1cmUuY3NzYCBhbmQgTk9USElOR1xuLy8gIGVsc2Ug4oCUIG5vIHRoZW1lIHN0eWxlc2hlZXQuIE1lYXN1cmVkIGJlZm9yZSB0aGlzIGZpbGUgZXhpc3RlZDogaW5wdXRzIGhhZFxuLy8gIGAycHggaW5zZXRgIGJyb3dzZXItZGVmYXVsdCBib3JkZXJzLCB0aGUgc3VibWl0IHdhcyBhIGdyZXkgT1MgYnV0dG9uLCBhbmRcbi8vICB0aGUgdGV4dGFyZWEgd2FzIGByZXNpemU6IGJvdGhgLiBTbyBldmVyeXRoaW5nIHZpc3VhbCBpcyBvdXJzLlxuLy9cbi8vICDim5QgRVZFUlkgUlVMRSBJUyBORVNURUQgVU5ERVIgLm5mLWZvcm0tY29udCwgQU5EIFRIQVQgSVMgTk9UIENPU01FVElDLlxuLy8gIGRpc3BsYXktc3RydWN0dXJlLmNzcyBpcyBlbnF1ZXVlZCBBRlRFUiB0aGUgdGhlbWUgc3R5bGVzaGVldCwgc28gYXQgRVFVQUxcbi8vICBzcGVjaWZpY2l0eSB0aGUgcGx1Z2luIHdpbnMgb24gc291cmNlIG9yZGVyIGFuZCBvdXIgZGVjbGFyYXRpb24gaXMgc2lsZW50bHlcbi8vICBkaXNjYXJkZWQg4oCUIHBvc2l0aW9uIGluIGNvcmUuc2NzcyBjYW5ub3QgaGVscCwgYmVjYXVzZSB0aGUgZmlnaHQgaXMgYmV0d2VlblxuLy8gIHR3byBkaWZmZXJlbnQgZmlsZXMuIFRoZSBwbHVnaW4gc3R5bGVzIG5lYXJseSBldmVyeXRoaW5nIHRocm91Z2ggYmFyZSBzaW5nbGVcbi8vICBjbGFzcyBzZWxlY3RvcnMgKGAubmYtZmllbGQtY29udGFpbmVyYCwgYC5uaW5qYS1mb3Jtcy1yZXEtc3ltYm9sYCxcbi8vICBgLm5mLWlucHV0LWxpbWl0YCksIHdoaWNoIGlzIGV4YWN0bHkgdGhlIHdlaWdodCBhIG5haXZlIHJ1bGUgaGVyZSB3b3VsZCBoYXZlLlxuLy9cbi8vICBUd28gb2YgdGhlc2Ugd2VyZSBsaXZlIGJ1Z3MgYmVmb3JlIHRoZSB3cmFwcGVyIHdlbnQgb24sIGJvdGggbWVhc3VyZWQ6XG4vLyAgICAubmYtZmllbGQtY29udGFpbmVyICAgbWFyZ2luLWJvdHRvbTogMCAgIOKGkiBldmVyeSBmaWVsZCBqYW1tZWQgdG9nZXRoZXJcbi8vICAgIC5uaW5qYS1mb3Jtcy1yZXEtc3ltYm9sICBjb2xvcjogI2U4MDAwMCAg4oaSIHBsdWdpbiByZWQsIG5vdCBvdXIgcGFsZXR0ZVxuLy9cbi8vICBTbzogbm8gbmV3IHRvcC1sZXZlbCBiYXJlLWNsYXNzIHJ1bGVzIGluIHRoaXMgZmlsZS4gTmVzdCB0aGVtLlxuLy9cbi8vICDim5QgU0NPUEVEIFRPIC5uZi1mb3JtLWNvbnQsIE5PVCBUTyAuZm9ybXdyYXAsIGZvciBhIHNlY29uZCByZWFzb246IGEgZm9ybSBjYW5cbi8vICBiZSBkcm9wcGVkIGludG8gYW55IHBhZ2UncyBjb250ZW50IHdpdGggdGhlIHNob3J0Y29kZSBhbmQgbXVzdCBsb29rIHJpZ2h0XG4vLyAgdGhlcmUgdG9vLiBUeWluZyB0aGlzIHRvIHRoZSBwYWdlIHRlbXBsYXRlcyB3b3VsZCBzdHlsZSB0aHJlZSBwYWdlcyBhbmRcbi8vICBsZWF2ZSB0aGUgZm91cnRoIGxvb2tpbmcgbGlrZSBhIDE5OTggZGVmYXVsdC5cbi8vIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG4vLyBUaGUgcGFnZSB0ZW1wbGF0ZXMnIHdyYXBwZXIuIFNwYWNpbmcgb25seSDigJQgc2VlIGFib3ZlLlxuLmZvcm13cmFwIHtcblx0bWFyZ2luLXRvcDogY2xhbXAoMi41cmVtLCA1dncsIDRyZW0pO1xufVxuXG5cbi5uZi1mb3JtLWNvbnQge1xuXG5cdC8vIOKblCBORiBwcmludHMgdGhlIGZvcm0ncyBhZG1pbiB0aXRsZS4gRXZlcnkgcGFnZSB1c2luZyB0aGlzIGFscmVhZHkgaGFzIGl0c1xuXHQvLyBvd24gaDEgZnJvbSBzaWdfZm9ybV9wYWdlKCksIHNvIGxlYXZpbmcgaXQgcHJpbnRlZCB0aGUgdGl0bGUgdHdpY2UuXG5cdC5uZi1mb3JtLXRpdGxlIHsgZGlzcGxheTogbm9uZTsgfVxuXG5cdC8vIE9ubHkgZXZlciBwb3B1bGF0ZWQgZm9yIGxvZ2dlZC1pbiBhZG1pbnMsIGFuZCBpdCBwcmludHMgcmF3IGRlYnVnIG91dHB1dC5cblx0Lm5mLWRlYnVnLW1zZyB7IGRpc3BsYXk6IG5vbmU7IH1cblxuXHQvLyBcIkZpZWxkcyBtYXJrZWQgd2l0aCBhbiAqIGFyZSByZXF1aXJlZFwiLlxuXHQvL1xuXHQvLyDim5QgYC5uZi1mb3JtLWZpZWxkcy1yZXF1aXJlZGAsIE5PVCBgI25pbmphX2Zvcm1zX3JlcXVpcmVkX2l0ZW1zYC4gVGhhdCBJRFxuXHQvLyBhcHBlYXJzIGFsbCBvdmVyIGRpc3BsYXktc3RydWN0dXJlLmNzcyBhbmQgbG9va3MgbGlrZSB0aGUgb2J2aW91cyBob29rIOKAlFxuXHQvLyBpdCBpcyB3aGF0IHRoaXMgcnVsZSB3YXMgZmlyc3Qgd3JpdHRlbiBhZ2FpbnN0IOKAlCBidXQgTkYzIGRvZXMgbm90IHJlbmRlclxuXHQvLyBpdC4gVGhlIElEIGlzIGxlZ2FjeTsgdGhlIGxpdmUgRE9NIGhhcyBhIHBsYWluIGRpdi5uZi1mb3JtLWZpZWxkcy1yZXF1aXJlZFxuXHQvLyBpbnNpZGUgLm5mLWJlZm9yZS1mb3JtLWNvbnRlbnQuIFJlYWQgdGhlIERPTSwgbm90IHRoZSBwbHVnaW4ncyBzdHlsZXNoZWV0LlxuXHQubmYtZm9ybS1maWVsZHMtcmVxdWlyZWQge1xuXHRcdG1hcmdpbi1ib3R0b206IHNwKDUpO1xuXHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm8pO1xuXHRcdGZvbnQtc2l6ZTogLjcycmVtO1xuXHRcdGxldHRlci1zcGFjaW5nOiAuMTJlbTtcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdGNvbG9yOiB2YXIoLS1pbmstMyk7XG5cdH1cblxuXG5cdC8vIOKUgOKUgCBGaWVsZHMg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cdC8vIOKblCBOTyBgJjpsYXN0LWNoaWxkYCBSRVNFVCBIRVJFLCBob3dldmVyIG5hdHVyYWwgaXQgbG9va3MuIE5GIHdyYXBzIEVWRVJZXG5cdC8vIGZpZWxkIGluIGl0cyBvd24gPG5mLWZpZWxkPiBjdXN0b20gZWxlbWVudDpcblx0Ly9cblx0Ly8gICAgIDxuZi1maWVsZHMtd3JhcD5cblx0Ly8gICAgICAgPG5mLWZpZWxkPjxkaXYgY2xhc3M9XCJuZi1maWVsZC1jb250YWluZXJcIj7igKY8L2Rpdj48L25mLWZpZWxkPlxuXHQvLyAgICAgICA8bmYtZmllbGQ+PGRpdiBjbGFzcz1cIm5mLWZpZWxkLWNvbnRhaW5lclwiPuKApjwvZGl2PjwvbmYtZmllbGQ+XG5cdC8vXG5cdC8vIHNvIGVhY2ggY29udGFpbmVyIGlzIGFuIE9OTFkgY2hpbGQgYW5kIGA6bGFzdC1jaGlsZGAgbWF0Y2hlcyBhbGwgb2YgdGhlbS5cblx0Ly8gQSB0cmFpbGluZy1nYXAgcmVzZXQgdGhlcmVmb3JlIHplcm9lcyB0aGUgc3BhY2luZyBvbiBldmVyeSBmaWVsZCBpbiB0aGVcblx0Ly8gZm9ybS4gVGhhdCBpcyBleGFjdGx5IHdoYXQgaGFwcGVuZWQg4oCUIG1lYXN1cmVkIDBweCBiZXR3ZWVuIGFsbCAxMyBmaWVsZHNcblx0Ly8gb24gQmVjb21lIGEgR3Vlc3QsIDIwMjYtMDktMDUsIGFuZCBpdCByZWFkcyBhcyB0aGUgcGx1Z2luIG92ZXJyaWRpbmcgdXNcblx0Ly8gcmF0aGVyIHRoYW4gYXMgb3VyIG93biBydWxlIGRvaW5nIGl0LlxuXHQvL1xuXHQvLyBObyByZXNldCBpcyBuZWVkZWQgYW55d2F5OiB0aGUgcmVhbCBsYXN0IGZpZWxkIGlzIHRoZSBoaWRkZW4gcmVDQVBUQ0hBXG5cdC8vIGNvbnRhaW5lciwgYW5kIGRpc3BsYXk6bm9uZSBnZW5lcmF0ZXMgbm8gYm94IGFuZCBzbyBubyBtYXJnaW4uXG5cdC5uZi1maWVsZC1jb250YWluZXIge1xuXHRcdG1hcmdpbi1ib3R0b206IHNwKDUpO1xuXHR9XG5cblx0Ly8g4pqgIFZJU1VBTExZIEhJRERFTiwgTkVWRVIgZGlzcGxheTpub25lLiBORiBpcyBjb25maWd1cmVkIGxhYmVsLWhpZGRlbiBvblxuXHQvLyBhbGwgdGhyZWUgZm9ybXMg4oCUIHRoZSBmaWVsZCBuYW1lcyBsaXZlIGluIHRoZSBwbGFjZWhvbGRlcnMgKFwiKk5hbWVcIikuIEFcblx0Ly8gcGxhY2Vob2xkZXIgaXMgbm90IGFuIGFjY2Vzc2libGUgbmFtZTogaXQgZGlzYXBwZWFycyB0aGUgbW9tZW50IGFueXRoaW5nXG5cdC8vIGlzIHR5cGVkLCBhbmQgc2V2ZXJhbCBzY3JlZW4gcmVhZGVycyBkb24ndCBhbm5vdW5jZSBpdCBhdCBhbGwuIFNvIHRoZVxuXHQvLyBsYWJlbCBzdGF5cyBpbiB0aGUgYWNjZXNzaWJpbGl0eSB0cmVlIGFuZCBvbmx5IGxlYXZlcyB0aGUgc2NyZWVuLlxuXHQvL1xuXHQvLyDimqAgVGhlIHBsdWdpbiBzaGlwcyBUSElTIEVYQUNUIFNFTEVDVE9SIOKAlCBgLmxhYmVsLWhpZGRlbiAubmYtZmllbGQtbGFiZWxcblx0Ly8geyB3aWR0aDoxMDAlOyBoZWlnaHQ6MCB9YCDigJQgc28gZXZlbiBuZXN0ZWQsIG91cnMgbmVlZHMgdGhlIGV4dHJhIGNsYXNzIHRvXG5cdC8vIGNsZWFyIGl0LiBJdHMgdmVyc2lvbiBkb2VzIGhpZGUgdGhlIGxhYmVsIChoZWlnaHQ6MCArIG92ZXJmbG93OmhpZGRlbiksXG5cdC8vIHNvIHRoaXMgaXMgaW5zdXJhbmNlIGFnYWluc3QgYSBwbHVnaW4gdXBkYXRlLCBub3QgYSByZXBhaXIuXG5cdC5uZi1maWVsZC1jb250YWluZXIubGFiZWwtaGlkZGVuIC5uZi1maWVsZC1sYWJlbCB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHdpZHRoOiAxcHg7XG5cdFx0aGVpZ2h0OiAxcHg7XG5cdFx0cGFkZGluZzogMDtcblx0XHRtYXJnaW46IC0xcHg7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRjbGlwLXBhdGg6IGluc2V0KDUwJSk7XG5cdFx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0fVxuXG5cdC8vIFNob3duIG9uIGFueSBmb3JtIGNvbmZpZ3VyZWQgbGFiZWwtYWJvdmUgcmF0aGVyIHRoYW4gbGFiZWwtaGlkZGVuLlxuXHQubmYtZmllbGQtbGFiZWwgbGFiZWwge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdG1hcmdpbi1ib3R0b206IHNwKDIpO1xuXHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm8pO1xuXHRcdGZvbnQtc2l6ZTogLjcycmVtO1xuXHRcdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdFx0bGV0dGVyLXNwYWNpbmc6IC4xOGVtO1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0Y29sb3I6IHZhcigtLWluay0yKTtcblx0fVxuXG5cdC8vIFRoZSBhc3RlcmlzayBORiBhcHBlbmRzIHRvIHJlcXVpcmVkIGxhYmVscy4gTXV0ZWQgcmF0aGVyIHRoYW4gdGhlXG5cdC8vIHBsdWdpbidzICNlODAwMDAg4oCUIHRoZSBlcnJvciBtZXNzYWdlIGJlbG93IHNheXMgd2hhdCdzIHdyb25nIGluIHdvcmRzLFxuXHQvLyBhbmQgYSBjb2x1bW4gb2YgcmVkIGFzdGVyaXNrcyBvbiBhIGZvcm0gd2hlcmUgbmVhcmx5IGV2ZXJ5dGhpbmcgaXNcblx0Ly8gcmVxdWlyZWQgaXMgbm9pc2UsIG5vdCBpbmZvcm1hdGlvbi5cblx0Lm5pbmphLWZvcm1zLXJlcS1zeW1ib2wge1xuXHRcdGNvbG9yOiB2YXIoLS1pbmstMyk7XG5cdH1cblxuXG5cdC8vIOKUgOKUgCBJbnB1dHMg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cdC8vIOKaoCA6bm90KFt0eXBlPVwic3VibWl0XCJdKTpub3QoW3R5cGU9XCJidXR0b25cIl0pIOKAlCAubmYtZWxlbWVudCBpcyBvbiB0aGVcblx0Ly8gU1VCTUlUIHRvby4gV2l0aG91dCB0aGUgZXhjbHVzaW9ucyB0aGUgYnV0dG9uIGluaGVyaXRzIGlucHV0IHN0eWxpbmcgYW5kXG5cdC8vIHRoZSBidXR0b24gYmxvY2sgYmVsb3cgaGFzIHRvIHVuZG8gYWxsIG9mIGl0LlxuXHRpbnB1dC5uZi1lbGVtZW50Om5vdChbdHlwZT1cInN1Ym1pdFwiXSk6bm90KFt0eXBlPVwiYnV0dG9uXCJdKSxcblx0dGV4dGFyZWEubmYtZWxlbWVudCxcblx0c2VsZWN0Lm5mLWVsZW1lbnQge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdC8vIFBJTExTLCBsaWtlIHRoZSBidXR0b25zIGFuZCB0aGUgbmV3c2xldHRlciBmaWVsZCDigJQgSm9lLCAyMDI2LTA5LTEzOlxuXHRcdC8vIFwiZG8gdGhlIHBpbGwgc2hhcGUgZm9yIGFsbCBmb3JtIGZpZWxkcywgSSBkb24ndCBsaWtlIHRoZSByb3VuZGVkXG5cdFx0Ly8gcmVjdGFuZ2xlcy5cIiA1NHB4IHRhbGwgKD0gLmJ0bikgd2l0aCB0aGUgbmV3c2xldHRlciBpbnB1dCdzIHNpZGVcblx0XHQvLyBpbnNldDsgYSBwaWxsIG5lZWRzIG1vcmUgdGhhbiBhIHJlY3RhbmdsZSBvciB0aGUgdGV4dCBzaXRzIGluIHRoZVxuXHRcdC8vIGN1cnZlLlxuXHRcdGhlaWdodDogNTRweDtcblx0XHRwYWRkaW5nOiAwIDEuM3JlbTsgICAvLyBzcCg1KSBsZXNzIH4zcHgg4oCUIEpvZSdzIGV5ZSwgMjAyNi0wOS0xM1xuXHRcdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpbmUtMik7XG5cdFx0Ym9yZGVyLXJhZGl1czogOTk5cHg7XG5cdFx0YmFja2dyb3VuZDogdmFyKC0tYmcpO1xuXHRcdGNvbG9yOiB2YXIoLS1pbmspO1xuXHRcdGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuXHRcdGxpbmUtaGVpZ2h0OiAxLjU7XG5cblx0XHQvLyDimqAgMTZweCBNSU5JTVVNIE9OIFRPVUNILCBOT04tTkVHT1RJQUJMRSDigJQgc2FtZSByZWFzb24gYXNcblx0XHQvLyAuc2Zvcm0yX19pbnB1dCBpbiBfbmV3c2xldHRlci5zY3NzLiBpT1MgU2FmYXJpIHpvb21zIHRoZSB2aWV3cG9ydCB3aGVuXG5cdFx0Ly8gYSBmb2N1c2VkIGlucHV0J3MgdGV4dCBpcyB1bmRlciAxNnB4IGFuZCBkb2VzIE5PVCB6b29tIGJhY2sgb3V0IG9uXG5cdFx0Ly8gYmx1ciwgbGVhdmluZyB0aGUgdmlzaXRvciBwaW5jaGluZyB0byBlc2NhcGUgdGhlIHBhZ2UuXG5cdFx0Zm9udC1zaXplOiAxcmVtO1xuXG5cdFx0dHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIHZhcigtLWR1ci1mYXN0KSAkZWFzZTtcblxuXHRcdC8vIEpvZSdzIGNhbGw6IHRoZSBwcm9tcHQgaGFzIHRvIHJlYWQgYXMgYSBwcm9tcHQsIG5vdCBhcyBhIGZpbGxlZCB2YWx1ZS5cblx0XHQmOjpwbGFjZWhvbGRlciB7XG5cdFx0XHRjb2xvcjogdmFyKC0taW5rLTMpO1xuXHRcdFx0b3BhY2l0eTogMTsgICAvLyBGaXJlZm94IGFwcGxpZXMgaXRzIG93biBvcGFjaXR5IG9uIHRvcCBvdGhlcndpc2Vcblx0XHR9XG5cblx0XHQvLyBUaGUgYWNjZW50IE9VVExJTkUsIG1hdGNoaW5nIGV2ZXJ5IG90aGVyIGFjdGl2ZSBzdGF0ZSBpbiB0aGlzIHRoZW1lIOKAlFxuXHRcdC8vIG5ldmVyIGEgZmlsbC4gb3V0bGluZSByYXRoZXIgdGhhbiBhIHRoaWNrZXIgYm9yZGVyIHNvIHRoZSBmaWVsZFxuXHRcdC8vIGRvZXNuJ3QgY2hhbmdlIHNpemUgb24gZm9jdXMgYW5kIHNoaWZ0IGV2ZXJ5dGhpbmcgYmVsb3cgaXQuXG5cdFx0Jjpmb2N1cy12aXNpYmxlIHtcblx0XHRcdG91dGxpbmU6IDNweCBzb2xpZCB2YXIoLS1hY2NlbnQpO1xuXHRcdFx0b3V0bGluZS1vZmZzZXQ6IDJweDtcblx0XHRcdGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdFx0fVxuXG5cdFx0Ly8g4puUIE5GIFBVVFMgTk8gRVJST1IgQ0xBU1MgT04gVEhFIElOUFVULiBJdCBzZXRzIGFyaWEtaW52YWxpZD1cInRydWVcIlxuXHRcdC8vIGFuZCBhZGRzIC5uZi1lcnJvciBvbmx5IHRvIHRoZSBzZXBhcmF0ZSBtZXNzYWdlIHdyYXBwZXIg4oCUIHZlcmlmaWVkIGJ5XG5cdFx0Ly8gdHJpZ2dlcmluZyBibHVyIHZhbGlkYXRpb24gbGl2ZSwgMjAyNi0wOS0wNS4gU3R5bGluZ1xuXHRcdC8vIGAubmYtZWxlbWVudC5uZi1lcnJvcmAgbG9va3MgcmlnaHQgYW5kIHNpbGVudGx5IG5ldmVyIG1hdGNoZXMuXG5cdFx0JlthcmlhLWludmFsaWQ9XCJ0cnVlXCJdIHtcblx0XHRcdGJvcmRlci1jb2xvcjogdmFyKC0tYWNjZW50LWRlZXApO1xuXHRcdH1cblx0fVxuXG5cdHRleHRhcmVhLm5mLWVsZW1lbnQge1xuXHRcdC8vIEEgdGV4dGFyZWEgY2FuJ3QgYmUgYSB0cnVlIHBpbGw7IDI3cHggY29ybmVycyAoaGFsZiB0aGUgaW5wdXQgaGVpZ2h0KVxuXHRcdC8vIGdpdmUgaXQgdGhlIHNhbWUgZW5kLXJhZGl1cyBzbyB0aGUgc3RhY2sgcmVhZHMgYXMgb25lIGZhbWlseS5cblx0XHRoZWlnaHQ6IGF1dG87XG5cdFx0cGFkZGluZzogc3AoNCkgMS4zcmVtO1xuXHRcdGJvcmRlci1yYWRpdXM6IDI3cHg7XG5cblx0XHQvLyBKb2UncyBjYWxsLCBib3RoIGhhbHZlcyBvZiBpdC5cblx0XHQvL1xuXHRcdC8vIOKaoCByZXNpemU6bm9uZSBORUVEUyB0aGUgbWluLWhlaWdodCwgb3IgYSBsb25nIG1lc3NhZ2UgYmVjb21lcyBhXG5cdFx0Ly8gbGV0dGVyYm94IHRoZSB3cml0ZXIgY2Fubm90IHNlZSBvdXQgb2YgYW5kIGNhbiBubyBsb25nZXIgZHJhZyBvcGVuLlxuXHRcdHJlc2l6ZTogbm9uZTtcblx0XHRtaW4taGVpZ2h0OiAxMXJlbTtcblxuXHRcdC8vIE5vIHNjcm9sbGJhci4gU2FmZSBIRVJFIHNwZWNpZmljYWxseSBiZWNhdXNlIGEgdGV4dGFyZWEga2VlcHMgaXRzIG93blxuXHRcdC8vIGNhcmV0IGluIHZpZXcgd2hpbGUgdHlwaW5nLCBzbyB0aGUgY29udGVudCBpcyBuZXZlciB1bnJlYWNoYWJsZSDigJRcblx0XHQvLyBqdXN0IHVuZGVjb3JhdGVkLiBEb24ndCBjb3B5IHRoaXMgb250byBhIHJlYWQtb25seSBzY3JvbGxpbmcgYm94LlxuXHRcdHNjcm9sbGJhci13aWR0aDogbm9uZTtcblx0XHQmOjotd2Via2l0LXNjcm9sbGJhciB7IGRpc3BsYXk6IG5vbmU7IH1cblx0fVxuXG5cdC8vIE5GJ3MgY2hhcmFjdGVyLWNvdW50ZXIgc2xvdC4gSXQgcmVzZXJ2ZXMgYSBsaW5lIHVuZGVyIGV2ZXJ5IGZpZWxkIGV2ZW5cblx0Ly8gd2hlbiBubyBsaW1pdCBpcyBzZXQg4oCUIGFuZCBub25lIG9mIHRoZXNlIHRocmVlIGZvcm1zIHNldHMgb25lLlxuXHQubmYtaW5wdXQtbGltaXQ6ZW1wdHkgeyBkaXNwbGF5OiBub25lOyB9XG5cblxuXHQvLyDilIDilIAgRXJyb3JzIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXHQubmYtZXJyb3Itd3JhcC5uZi1lcnJvciB7XG5cdFx0bWFyZ2luLXRvcDogc3AoMik7XG5cdFx0Zm9udC1zaXplOiAuODhyZW07XG5cdFx0bGluZS1oZWlnaHQ6IDEuNDU7XG5cdFx0Y29sb3I6IHZhcigtLWFjY2VudC1pbmspO1xuXG5cdFx0Ly8gTXVzdCBub3QgcmVzZXJ2ZSBzcGFjZSB3aGlsZSBlbXB0eSDigJQgYSBwZXJtYW5lbnQgZ2FwIHVuZGVyIGV2ZXJ5XG5cdFx0Ly8gZmllbGQgcmVhZHMgYXMgYSByZW5kZXJpbmcgYnVnLiBTYW1lIHJ1bGUgYXMgLnNmb3JtMl9fbXNnLlxuXHRcdCY6ZW1wdHkgeyBkaXNwbGF5OiBub25lOyB9XG5cdH1cblxuXHQvLyBUaGUgd2hvbGUtZm9ybSBtZXNzYWdlIGFmdGVyIGEgc3VibWl0IGF0dGVtcHQuXG5cdC5uZi1yZXNwb25zZS1tc2cge1xuXHRcdGZvbnQtc2l6ZTogMXJlbTtcblx0XHRsaW5lLWhlaWdodDogMS42O1xuXG5cdFx0JjplbXB0eSB7IGRpc3BsYXk6IG5vbmU7IH1cblxuXHRcdCY6bm90KDplbXB0eSkge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogc3AoNSk7XG5cdFx0XHRwYWRkaW5nOiBzcCg0KSBzcCg1KTtcblx0XHRcdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpbmUtMik7XG5cdFx0XHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xuXHRcdFx0YmFja2dyb3VuZDogdmFyKC0tYmctMik7XG5cdFx0fVxuXG5cdFx0cDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXHR9XG5cblxuXHQvLyDilIDilIAgU3VibWl0IOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXHQvLyDim5QgQ0FOTk9UIFJFVVNFIC5idG4sIGFuZCBub3QgZm9yIGEgbmFtaW5nIHJlYXNvbi4gLmJ0bidzIGhvdmVyIGlzIGFcblx0Ly8gd2lwZS1maWxsIGRyYXduIHdpdGggOjpiZWZvcmUg4oCUIGFuZCBhbiA8aW5wdXQ+IGlzIGEgcmVwbGFjZWQgZWxlbWVudCwgc29cblx0Ly8gaXQgaGFzIE5PIHBzZXVkby1lbGVtZW50cy4gQWRkaW5nIHRoZSBjbGFzcyB3b3VsZCBnaXZlIGEgYnV0dG9uIHdpdGggdGhlXG5cdC8vIHJpZ2h0IHNoYXBlIGFuZCBhIGhvdmVyIHRoYXQgZG9lcyBub3RoaW5nIGF0IGFsbC4gVGhlIGZpbGwgaXMgZG9uZSB3aXRoXG5cdC8vIGJhY2tncm91bmQgaGVyZSBpbnN0ZWFkLCByZWFjaGluZyB0aGUgc2FtZSByZXN1bHQgYnkgYW5vdGhlciByb3V0ZS5cblx0aW5wdXQubmYtZWxlbWVudFt0eXBlPVwic3VibWl0XCJdLFxuXHRpbnB1dC5uZi1lbGVtZW50W3R5cGU9XCJidXR0b25cIl0ge1xuXHRcdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0d2lkdGg6IGF1dG87XG5cdFx0aGVpZ2h0OiA1NHB4OyAgICAgICAgICAgICAgLy8gPSAuYnRuXG5cdFx0cGFkZGluZy1pbmxpbmU6IHNwKDYpO1xuXHRcdC8vID0gLmJ0bi0tYWNjZW50LCBub3QgdGhlIGluayBidXR0b246IFwidGhpcyBzaG91bGQgYmUgYmx1ZVwiIChKb2UsXG5cdFx0Ly8gMjAyNi0wOS0xNCwgZGFyayBtb2RlIOKAlCB0aGUgaW5rIGZpbGwgcmVhZCBhcyBhIHdoaXRlIGJsb2IpLiBIb3ZlclxuXHRcdC8vIGdvZXMgdG8gaW5rLCB0aGUgc2FtZSBlbmQgc3RhdGUgLmJ0bi0tYWNjZW50J3Mgd2lwZSByZWFjaGVzLlxuXHRcdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWFjY2VudCk7XG5cdFx0Ym9yZGVyLXJhZGl1czogOTk5cHg7XG5cdFx0YmFja2dyb3VuZDogdmFyKC0tYWNjZW50KTtcblx0XHRjb2xvcjogdmFyKC0tb24tYWNjZW50KTtcblx0XHRmb250LWZhbWlseTogaW5oZXJpdDtcblx0XHRmb250LXNpemU6IC45MnJlbTtcblx0XHRmb250LXdlaWdodDogNjAwO1xuXHRcdGxldHRlci1zcGFjaW5nOiAuMDFlbTtcblx0XHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHQtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG5cdFx0YXBwZWFyYW5jZTogbm9uZTtcblx0XHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIHZhcigtLWR1ci1mYXN0KSAkZWFzZSxcblx0XHRcdFx0XHRjb2xvciB2YXIoLS1kdXItZmFzdCkgJGVhc2UsXG5cdFx0XHRcdFx0dHJhbnNmb3JtIHZhcigtLWR1ci1mYXN0KSAkZWFzZTtcblxuXHRcdEBpbmNsdWRlIGNhbi1ob3ZlciB7XG5cdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0YmFja2dyb3VuZDogdmFyKC0taW5rKTtcblx0XHRcdFx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbmspO1xuXHRcdFx0XHRjb2xvcjogdmFyKC0tYmcpO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCY6YWN0aXZlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDFweCk7IH1cblxuXHRcdCY6Zm9jdXMtdmlzaWJsZSB7XG5cdFx0XHRvdXRsaW5lOiAzcHggc29saWQgdmFyKC0tYWNjZW50KTtcblx0XHRcdG91dGxpbmUtb2Zmc2V0OiAzcHg7XG5cdFx0fVxuXG5cdFx0Ly8gTkYgZGlzYWJsZXMgdGhlIGJ1dHRvbiB3aGlsZSBzdWJtaXR0aW5nLlxuXHRcdCZbZGlzYWJsZWRdIHtcblx0XHRcdG9wYWNpdHk6IC41NTtcblx0XHRcdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHRcdH1cblx0fVxuXG5cdC5zdWJtaXQtY29udGFpbmVyIHtcblx0XHRtYXJnaW4tdG9wOiBzcCg2KTtcblxuXHRcdC8vIOKaoCBGVUxMIFdJRFRIIE9OIFRPVUNILiBBdCA0MTRweCB0aGUgYnV0dG9uIHdhcyBhIDE5M3B4IHRhcmdldFxuXHRcdC8vIGZsb2F0aW5nIGluIGEgY29sdW1uIG9mIGZ1bGwtd2lkdGggZmllbGRzIOKAlCBpdCByZWFkIGFzIGxlc3MgaW1wb3J0YW50XG5cdFx0Ly8gdGhhbiB0aGUgaW5wdXRzIGFib3ZlIGl0LCB3aGljaCBpcyBleGFjdGx5IGJhY2t3YXJkcyBmb3IgdGhlIG9uZVxuXHRcdC8vIGNvbnRyb2wgdGhhdCBtYXR0ZXJzLlxuXHRcdC8vXG5cdFx0Ly8gU2FtZSBzcGVjaWZpY2l0eSBhcyB0aGUgYHdpZHRoOiBhdXRvYCBydWxlIGFib3ZlLCBzbyB0aGlzIHdpbnMgb25cblx0XHQvLyBzb3VyY2Ugb3JkZXIgV0lUSElOIHRoaXMgZmlsZSDigJQgaXQgbXVzdCBzdGF5IGJlbG93IGl0LlxuXHRcdEBpbmNsdWRlIGF0KHNtKSB7XG5cdFx0XHRpbnB1dC5uZi1lbGVtZW50W3R5cGU9XCJzdWJtaXRcIl0geyB3aWR0aDogMTAwJTsgfVxuXHRcdH1cblx0fVxuXG5cdC8vIFRoZSBwcm9jZXNzaW5nIHN0YXRlIE5GIHN3YXBzIGluIGJlc2lkZSB0aGUgYnV0dG9uLlxuXHQubmluamEtZm9ybXMtZmllbGQtcHJvY2Vzc2luZyB7XG5cdFx0Y29sb3I6IHZhcigtLWluay0yKTtcblx0fVxuXG5cblx0Ly8g4pSA4pSAIHJlQ0FQVENIQSB2MyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblx0Ly8gSW52aXNpYmxlIGJ5IGRlc2lnbiDigJQgTkYgZ2l2ZXMgaXQgYC5oaWRkZW4tY29udGFpbmVyYC4gTGlzdGVkIGhlcmUgc28gdGhlXG5cdC8vIG5leHQgcGVyc29uIGRvZXNuJ3QgZmluZCBhbiBlbXB0eSBmaWVsZCBjb250YWluZXIgYW5kIFwidGlkeSBpdCBhd2F5XCI6XG5cdC8vIHJlbW92aW5nIGl0IHJlbW92ZXMgdGhlIHNwYW0gcHJvdGVjdGlvbi5cblx0LnJlY2FwdGNoYV92My1jb250YWluZXIge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cbn1cbiIsIkB1c2UgXCJ0b2tlbnNcIiBhcyAqO1xuXG4vLyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi8vICBET0NLIOKAlCBwZXJzaXN0ZW50IHBsYXllciwgcGlubmVkIHRvIHRoZSBib3R0b21cbi8vXG4vLyAgU2xpZGVzIHVwIG9uY2UgeW91J3ZlIHNjcm9sbGVkIHBhc3QgdGhlIGhlcm8sIHNvIGl0IG5ldmVyIGNvbXBldGVzIHdpdGggdGhlXG4vLyAgaGVhZGxpbmUgb24gbG9hZC4gSXQgaXMgYSByZWFsIDxhdWRpbz4gY29udHJvbGxlciwgbm90IGRlY29yYXRpb246IGlmIGFuXG4vLyAgZXBpc29kZSBoYXMgbm8gYXVkaW8gc291cmNlIHRoZSBkb2NrIHN0YXlzIGhpZGRlbiByYXRoZXIgdGhhbiBseWluZyBhYm91dFxuLy8gIGJlaW5nIHBsYXlhYmxlLlxuLy8g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cbi5kb2NrIHtcblx0cG9zaXRpb246IGZpeGVkO1xuXHRsZWZ0OiAwO1xuXHRyaWdodDogMDtcblx0Ym90dG9tOiAwO1xuXHR6LWluZGV4OiA5MDtcblx0aGVpZ2h0OiB2YXIoLS1kb2NrLWgpO1xuXHRiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tYmctMikgODglLCB0cmFuc3BhcmVudCk7XG5cdGJhY2tkcm9wLWZpbHRlcjogYmx1cigyMHB4KSBzYXR1cmF0ZSgxLjUpO1xuXHQtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjogYmx1cigyMHB4KSBzYXR1cmF0ZSgxLjUpO1xuXHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tbGluZSk7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDElKTtcblx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIC41NXMgJGVhc2Utb3V0O1xuXG5cdCYuaXMtdXAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cblxuXHQmX19pbm5lciB7XG5cdFx0d2lkdGg6IG1pbigxMDAlIC0gdmFyKC0tZ3V0dGVyKSAqIDIsIHZhcigtLW1heHcpKTtcblx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0bWFyZ2luLWlubGluZTogYXV0bztcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0Z2FwOiBjbGFtcCguNzVyZW0sIDJ2dywgMnJlbSk7XG5cdH1cblxuXHQmX19wbGF5IHtcblx0XHRkaXNwbGF5OiBncmlkO1xuXHRcdHBsYWNlLWl0ZW1zOiBjZW50ZXI7XG5cdFx0d2lkdGg6IDQ2cHg7XG5cdFx0aGVpZ2h0OiA0NnB4O1xuXHRcdGZsZXg6IG5vbmU7XG5cdFx0Ym9yZGVyLXJhZGl1czogOTk5cHg7XG5cdFx0YmFja2dyb3VuZDogdmFyKC0tYWNjZW50KTtcblx0XHRjb2xvcjogdmFyKC0tb24tYWNjZW50KTtcblx0XHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gdmFyKC0tZHVyLWZhc3QpICRlYXNlLCBmaWx0ZXIgdmFyKC0tZHVyLWZhc3QpICRlYXNlO1xuXG5cdFx0c3ZnIHsgd2lkdGg6IDE1cHg7IGhlaWdodDogMTVweDsgfVxuXHRcdC5pLXBhdXNlIHsgZGlzcGxheTogbm9uZTsgfVxuXG5cdFx0Jjpob3ZlciB7IGZpbHRlcjogYnJpZ2h0bmVzcygxLjEyKTsgfVxuXHRcdCY6YWN0aXZlIHsgdHJhbnNmb3JtOiBzY2FsZSguOTIpOyB9XG5cdH1cblxuXHQmLmlzLXBsYXlpbmcgJl9fcGxheSB7XG5cdFx0LmktcGxheSAgeyBkaXNwbGF5OiBub25lOyB9XG5cdFx0LmktcGF1c2UgeyBkaXNwbGF5OiBibG9jazsgfVxuXHR9XG5cblx0Jl9fbWV0YSB7XG5cdFx0bWluLXdpZHRoOiAwO1xuXHRcdGRpc3BsYXk6IGdyaWQ7XG5cdFx0Z2FwOiAxcHg7XG5cdH1cblxuXHQmX19sYWJlbCB7XG5cdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ubyk7XG5cdFx0Zm9udC1zaXplOiAuNjJyZW07XG5cdFx0bGV0dGVyLXNwYWNpbmc6IC4xNmVtO1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0Y29sb3I6IHZhcigtLWluay0zKTtcblx0fVxuXG5cdCZfX3RpdGxlIHtcblx0XHRmb250LXNpemU6IC45NXJlbTtcblx0XHRmb250LXdlaWdodDogNjAwO1xuXHRcdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblx0fVxuXG5cdCZfX3dhdmUge1xuXHRcdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXHRcdEBpbmNsdWRlIGF0KG1kKSB7IGRpc3BsYXk6IG5vbmU7IH1cblx0fVxuXG5cdC8vIEJhcnMgb25seSBhbmltYXRlIHdoaWxlIGF1ZGlvIGlzIGFjdHVhbGx5IHBsYXlpbmcuXG5cdCY6bm90KC5pcy1wbGF5aW5nKSAmX193YXZlIHNwYW4geyBhbmltYXRpb24tcGxheS1zdGF0ZTogcGF1c2VkOyBvcGFjaXR5OiAuMzU7IH1cblxuXHQmX190aW1lIHtcblx0XHRmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vKTtcblx0XHRmb250LXNpemU6IC43MnJlbTtcblx0XHRmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zO1xuXHRcdGNvbG9yOiB2YXIoLS1pbmstMik7XG5cdFx0ZmxleDogbm9uZTtcblxuXHRcdEBpbmNsdWRlIGF0KHNtKSB7IGRpc3BsYXk6IG5vbmU7IH1cblx0fVxuXG5cdC8vIFByb2dyZXNzIHNpdHMgb24gdGhlIGRvY2sncyB0b3AgZWRnZSDigJQgYSBzY3J1YmJlciB0aGF0IGRvdWJsZXMgYXMgYSBydWxlLlxuXHQmX19wcm9ncmVzcyB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogLTFweDtcblx0XHRsZWZ0OiAwO1xuXHRcdHJpZ2h0OiAwO1xuXHRcdGhlaWdodDogM3B4O1xuXHRcdGJhY2tncm91bmQ6IHZhcigtLWxpbmUpO1xuXHRcdGN1cnNvcjogcG9pbnRlcjtcblxuXHRcdC8vIEZhdHRlciBoaXQgYXJlYSB0aGFuIGl0IGxvb2tzLCBzbyBpdCdzIGFjdHVhbGx5IGdyYWJiYWJsZS5cblx0XHQmOjpiZWZvcmUge1xuXHRcdFx0Y29udGVudDogXCJcIjtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdGluc2V0OiAtOHB4IDA7XG5cdFx0fVxuXHR9XG5cblx0Jl9fYmFyIHtcblx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0d2lkdGg6IDA7XG5cdFx0YmFja2dyb3VuZDogdmFyKC0tYWNjZW50KTtcblx0XHR0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0O1xuXHR9XG59XG5cbi8vIEtlZXAgdGhlIGxhc3Qgc2VjdGlvbiBjbGVhciBvZiB0aGUgZG9jayBvbmNlIGl0J3MgdXAuXG5ib2R5Lmhhcy1kb2NrIHsgcGFkZGluZy1ib3R0b206IHZhcigtLWRvY2staCk7IH1cbiIsIkB1c2UgXCJ0b2tlbnNcIiBhcyAqO1xyXG5cclxuLy8g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXHJcbi8vICBDT09LSUVTIOKAlCBjb25zZW50IGNhcmQsIGJvdHRvbS1yaWdodFxyXG4vL1xyXG4vLyAgQSBzbWFsbCBjYXJkLCBub3QgYSBmdWxsLXdpZHRoIGJhcjogdGhlIGJhciBwYXR0ZXJuIGNvdmVycyB0aGUgZG9jayBhbmRcclxuLy8gIHJlYWRzIGFzIGEgc2l0ZS13aWRlIGludGVycnVwdGlvbiwgd2hlbiBpdCdzIG9uZSBxdWVzdGlvbiBmb3Igc29tZVxyXG4vLyAgdmlzaXRvcnMgKEVVL1VLL0NIIG9ubHkg4oCUIGluYy9jb29raWVzLnBocCkuIFNhbWUgZ2xhc3MgYXMgLmRvY2sgc28gdGhlIHR3b1xyXG4vLyAgcGlubmVkIHN1cmZhY2VzIGFyZSBvYnZpb3VzbHkgdGhlIHNhbWUgZmFtaWx5LCBhbmQgaXQgc2l0cyBBQk9WRSB0aGUgZG9ja1xyXG4vLyAgKHogOTUgPiA5MCkgYW5kIGNsZWFycyBpdHMgaGVpZ2h0LCBzbyBhIHBsYXlpbmcgZXBpc29kZSBpcyBuZXZlciBjb3ZlcmVkLlxyXG4vL1xyXG4vLyAgRW50ZXIvbGVhdmUgaXMgYSB0cmFuc2Zvcm0rb3BhY2l0eSBwYWlyIGRyaXZlbiBieSAuaXMtaW47IHRoZSBKUyB3YWl0cyBmb3JcclxuLy8gIHRyYW5zaXRpb25lbmQgYmVmb3JlIGhpZGluZywgc28gdGhlIGxlYXZlIG11c3Qga2VlcCBhIHRyYW5zaXRpb24uXHJcbi8vIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxyXG5cclxuLmNvb2tpZXMge1xyXG5cdHBvc2l0aW9uOiBmaXhlZDtcclxuXHQvLyBTYW1lIGluc2V0IG9uIGV2ZXJ5IGVkZ2Ug4oCUIGhhbGYgdGhlIHBhZ2UgZ3V0dGVyLCB0aGUgc21hbGxlciBvZiB0aGUgdHdvIGl0XHJcblx0Ly8gc3RhcnRlZCB3aXRoIChKb2UsIDIwMjYtMDktMTgpLlxyXG5cdC0taW5zZXQ6IGNhbGModmFyKC0tZ3V0dGVyKSAqIC41KTtcclxuXHRsZWZ0OiB2YXIoLS1pbnNldCk7XHJcblx0cmlnaHQ6IHZhcigtLWluc2V0KTtcclxuXHRib3R0b206IGNhbGModmFyKC0taW5zZXQpICsgZW52KHNhZmUtYXJlYS1pbnNldC1ib3R0b20sIDBweCkpO1xyXG5cdHotaW5kZXg6IDk1O1xyXG5cdG9wYWNpdHk6IDA7XHJcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEycHgpOyAgIC8vIHBob25lczogY2FyZCBpcyBmdWxsLXdpZHRoLCBzbyBpdCByaXNlc1xyXG5cdHRyYW5zaXRpb246IG9wYWNpdHkgLjQ1cyAkZWFzZS1vdXQsIHRyYW5zZm9ybSAuNTVzICRlYXNlLW91dDtcclxuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcclxuXHJcblx0Ji5pcy1pbiB7XHJcblx0XHRvcGFjaXR5OiAxO1xyXG5cdFx0dHJhbnNmb3JtOiBub25lO1xyXG5cdFx0cG9pbnRlci1ldmVudHM6IGF1dG87XHJcblx0fVxyXG5cclxuXHQvLyBrZWVwIGNsZWFyIG9mIHRoZSBkb2NrIG9uY2UgaXQncyB1cFxyXG5cdC5kb2NrLmlzLXVwIH4gJiB7IGJvdHRvbTogY2FsYyh2YXIoLS1kb2NrLWgpICsgdmFyKC0taW5zZXQpICsgZW52KHNhZmUtYXJlYS1pbnNldC1ib3R0b20sIDBweCkpOyB9XHJcblxyXG5cdEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xyXG5cdFx0bGVmdDogYXV0bzsgICAvLyBib3R0b20tUklHSFQgb24gZGVza3RvcCAoSm9lLCAyMDI2LTA5LTE4KTsgZnVsbC13aWR0aCBjYXJkIG9uIHBob25lc1xyXG5cdFx0d2lkdGg6IG1pbig0MDBweCwgMTAwJSAtIHZhcigtLWluc2V0KSAqIDIpO1xyXG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGMoMTAwJSArIHZhcigtLWluc2V0KSkpOyAgIC8vIOKApmFuZCBzbGlkZXMgaW4gZnJvbSB0aGUgcmlnaHQgZWRnZVxyXG5cdFx0Ji5pcy1pbiB7IHRyYW5zZm9ybTogbm9uZTsgfVxyXG5cdH1cclxuXHJcblx0Jl9fYm94IHtcclxuXHRcdHBhZGRpbmc6IHNwKDUpIHNwKDYpIHNwKDYpO1xyXG5cdFx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tbGluZSk7XHJcblx0XHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbGcpO1xyXG5cdFx0YmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWJnLTIpIDkyJSwgdHJhbnNwYXJlbnQpO1xyXG5cdFx0YmFja2Ryb3AtZmlsdGVyOiBibHVyKDIwcHgpIHNhdHVyYXRlKDEuNSk7XHJcblx0XHQtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjogYmx1cigyMHB4KSBzYXR1cmF0ZSgxLjUpO1xyXG5cdFx0Ym94LXNoYWRvdzogMCAxOHB4IDUwcHggLTIwcHggcmdiYSgwLCAwLCAwLCAuNTUpO1xyXG5cdH1cclxuXHJcblx0Jl9fdGl0bGUge1xyXG5cdFx0bWFyZ2luOiAwIDAgc3AoMik7XHJcblx0XHRmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcclxuXHRcdGZvbnQtc2l6ZTogZmx1aWQoMjIsIDI4KTtcclxuXHRcdGZvbnQtd2VpZ2h0OiA5MDA7XHJcblx0XHRsaW5lLWhlaWdodDogMTtcclxuXHRcdGxldHRlci1zcGFjaW5nOiAtLjAzZW07XHJcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdH1cclxuXHJcblx0Jl9fY29weSB7XHJcblx0XHRtYXJnaW46IDAgMCBzcCg1KTtcclxuXHRcdGZvbnQtc2l6ZTogLjkzNzVyZW07XHJcblx0XHRsaW5lLWhlaWdodDogMS40NTtcclxuXHRcdGNvbG9yOiB2YXIoLS1pbmstMik7XHJcblxyXG5cdFx0YSB7XHJcblx0XHRcdGNvbG9yOiB2YXIoLS1pbmspO1xyXG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuXHRcdFx0dGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAuMThlbTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdCZfX2FjdGlvbnMge1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGdhcDogc3AoMyk7XHJcblx0fVxyXG5cclxuXHQmX19idG4ge1xyXG5cdFx0ZmxleDogMTtcclxuXHRcdGhlaWdodDogNDZweDtcclxuXHRcdHBhZGRpbmctaW5saW5lOiBzcCg0KTtcclxuXHR9XHJcbn1cclxuIiwiQHVzZSBcInRva2Vuc1wiIGFzICo7XHJcblxyXG4vLyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcclxuLy8gIEZPT1RFUiDigJQgb3ZlcnNpemVkIHdvcmRtYXJrLCB0aGVuIHRoZSBzbWFsbCBwcmludFxyXG4vLyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcclxuXHJcbi5mb290IHtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0cGFkZGluZy10b3A6IGNsYW1wKDNyZW0sIDd2dywgN3JlbSk7XHJcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWxpbmUpO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblxyXG5cdC8vIOKUgOKUgCBTdWJzY3JpYmUgcGFuZWwgKHNpdGUtd2lkZSwgbW92ZWQgZnJvbSBmcm9udC1wYWdlLnBocCAyMDI2LTA5LTEzKSDilIDilIBcclxuXHQvLyAgUmVuZGVyZWQgYCRiYXJlYCDigJQgc2VlIGluYy9uZXdzbGV0dGVyLnBocCDigJQgc28gaXQgaGFzIG5vIDxzZWN0aW9uPiBvZlxyXG5cdC8vICBpdHMgb3duIGFuZCBubyBib3R0b20gcGFkZGluZyB0byBzZXBhcmF0ZSBpdCBmcm9tIC5mb290X190b3AgYmVsb3cuXHJcblx0Ly8gIC5mb290J3Mgb3duIHBhZGRpbmctdG9wIGFscmVhZHkgZ2l2ZXMgaXQgYnJlYXRoaW5nIHJvb20gYWJvdmU7IHRoaXNcclxuXHQvLyAgc3VwcGxpZXMgdGhlIG1hdGNoaW5nIGdhcCB1bmRlcm5lYXRoLCBzYW1lIGNsYW1wIHNvIHRoZSBwYW5lbCByZWFkcyBhc1xyXG5cdC8vICBldmVubHkgc3BhY2VkIHJhdGhlciB0aGFuIGNyb3dkaW5nIHRoZSBjb2x1bW5zIHRoYXQgZm9sbG93IGl0LlxyXG5cdCZfX3N1YnNjcmliZSB7XHJcblx0XHRtYXJnaW4tYm90dG9tOiBjbGFtcCgzcmVtLCA3dncsIDdyZW0pO1xyXG5cdH1cclxuXHJcblx0Jl9fdG9wIHtcclxuXHRcdGRpc3BsYXk6IGdyaWQ7XHJcblxyXG5cdFx0Ly8g4puUIE5PVCBgbWlubWF4KDAsIDFmcikgYXV0b2AuIFRoZSBnYXAgd2FzIG5ldmVyIHRoZSBwcm9ibGVtIOKAlCBpdCB3YXNcclxuXHRcdC8vIHNwKDcpIHRoZW4gYW5kIGl0IGlzIHNwKDcpIG5vdywgdGhlIHNhbWUgYXMgdGhlIGdhcCBiZXR3ZWVuIHRoZSBsaW5rXHJcblx0XHQvLyBjb2x1bW5zLiBUaGUgTEVERSBUUkFDSyB3YXMgdGhlIHByb2JsZW06IDFmciBtYWRlIGl0IHN3YWxsb3cgZXZlcnlcclxuXHRcdC8vIHNwYXJlIHBpeGVsIGluIHRoZSBzaGVsbCB3aGlsZSAuZm9vdF9fcGl0Y2gncyBvd24gbWF4LXdpZHRoIGtlcHQgdGhlXHJcblx0XHQvLyB0ZXh0IGF0IDE2Y2gsIHNvIHRoZSB0cmFjayB3YXMgZW5vcm1vdXMgYW5kIHRoZSB3b3JkcyBzYXQgYWxvbmUgYXQgdGhlXHJcblx0XHQvLyBmYXIgbGVmdCBvZiBpdC4gVmlzdWFsbHkgYSBjaGFzbTsgaW4gdGhlIGxheW91dCwgYSBjb3JyZWN0IGdhcC5cclxuXHRcdC8vXHJcblx0XHQvLyBCb3RoIHRyYWNrcyBhcmUgY29udGVudC1zaXplZCBub3cgYW5kIGp1c3RpZnktY29udGVudCBwYXJrcyB0aGVcclxuXHRcdC8vIGxlZnRvdmVyIHNwYWNlIGF0IHRoZSBFTkQsIHNvIHRoZSBicmFuZCBhbmQgYWxsIGZvdXIgY29sdW1ucyByZWFkIGFzXHJcblx0XHQvLyBvbmUgZXZlbmx5LXNwYWNlZCByb3cuXHJcblx0XHQvL1xyXG5cdFx0Ly8gYGF1dG9gIChub3QgbWF4LWNvbnRlbnQpIG1hdHRlcnM6IGl0IGNhbiBzdGlsbCBzaHJpbmsgYmVsb3cgaXRzIGlkZWFsXHJcblx0XHQvLyB3aWR0aCB3aGVuIHRoZSBzaGVsbCBpcyB0aWdodCwgc28gdGhlIHBpdGNoIHRha2VzIGFub3RoZXIgbGluZSByYXRoZXJcclxuXHRcdC8vIHRoYW4gdGhlIHJvdyBvdmVyZmxvd2luZy5cclxuXHRcdC8vIOKaoCBzcGFjZS1iZXR3ZWVuLCBOT1Qgc3RhcnQg4oCUIGFuZCB0aGlzIGlzIHdoYXQgbWFrZXMgdGhlIGdhcCBiZWhhdmUgdGhlXHJcblx0XHQvLyB3YXkgeW91IGV4cGVjdCB3aGVuIHlvdSB0dW5lIGl0LlxyXG5cdFx0Ly9cclxuXHRcdC8vIFdpdGggYHN0YXJ0YCwgdGhlIGJsb2NrIG9mIGxpbmsgY29sdW1ucyBpcyBhbmNob3JlZCBvbiB0aGUgTEVGVDogaXRzXHJcblx0XHQvLyBsZWZ0IGVkZ2UgaXMgcGlubmVkIGp1c3QgYWZ0ZXIgdGhlIGJyYW5kLCBzbyB3aWRlbmluZyB0aGUgZ2FwcyBjYW5cclxuXHRcdC8vIG9ubHkgZXh0ZW5kIGl0cyByaWdodCBlZGdlLiBUaGUgY29sdW1ucyBtYXJjaCBhd2F5IHRvIHRoZSByaWdodCwgd2hpY2hcclxuXHRcdC8vIGlzIHRoZSBvcHBvc2l0ZSBvZiB3aGF0IHR1bmluZyB0aGVtIGlzIG1lYW50IHRvIGRvLlxyXG5cdFx0Ly9cclxuXHRcdC8vIHNwYWNlLWJldHdlZW4gcGlucyB0aGUgYnJhbmQgbGVmdCBhbmQgdGhlIGNvbHVtbnMgUklHSFQuIFdpZGVuaW5nIHRoZVxyXG5cdFx0Ly8gZ2FwcyBub3cgZ3Jvd3MgdGhlIGJsb2NrIGxlZnR3YXJkLCBiYWNrIHRvd2FyZCB0aGUgYnJhbmQg4oCUIHNvIHRoZVxyXG5cdFx0Ly8gc3BhY2luZyBrbm9iIGFuZCB0aGUgdmlzdWFsIHJlc3VsdCBtb3ZlIGluIHRoZSBzYW1lIGRpcmVjdGlvbi5cclxuXHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byBhdXRvO1xyXG5cdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cdFx0YWxpZ24taXRlbXM6IHN0YXJ0O1xyXG5cclxuXHRcdC8vIOKaoCBSRVFVSVJFRCwgYW5kIGVhc3kgdG8gdGhpbmsgaXNuJ3QuIE9uIGRlc2t0b3Agc3BhY2UtYmV0d2VlbiBzdXBwbGllc1xyXG5cdFx0Ly8gYWxsIHRoZSB2aXNpYmxlIHNlcGFyYXRpb24sIHNvIGRyb3BwaW5nIHRoaXMgbG9va3MgaGFybWxlc3Mg4oCUIGl0IHdhc1xyXG5cdFx0Ly8gZHJvcHBlZCBvbiAyMDI2LTA4LTA4IGFuZCBkZXNrdG9wIHdhcyBmaW5lLiBBdCBtZCB0aGUgZ3JpZCBjb2xsYXBzZXNcclxuXHRcdC8vIHRvIE9ORSBjb2x1bW4sIHNwYWNlLWJldHdlZW4gaGFzIG5vdGhpbmcgbGVmdCB0byBkaXN0cmlidXRlLCBhbmQgdGhlXHJcblx0XHQvLyBicmFuZCBibG9jayBzaXRzIGZsdXNoIG9uIHRvcCBvZiB0aGUgbGlua3Mgd2l0aCB6ZXJvIHNwYWNlLlxyXG5cdFx0Ly9cclxuXHRcdC8vIFdpdGggc3BhY2UtYmV0d2VlbiB0aGlzIGlzIGEgTUlOSU1VTSwgbm90IHRoZSBhY3R1YWwgZ2FwOiBsZWZ0b3ZlclxyXG5cdFx0Ly8gd2lkdGggc3RpbGwgcHVzaGVzIHRoZSBjb2x1bW5zIHRvIHRoZSByaWdodCBlZGdlIG9uIGRlc2t0b3AuXHJcblx0XHRnYXA6IHNwKDcpO1xyXG5cclxuXHRcdEBpbmNsdWRlIGF0KG1kKSB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOyB9XHJcblx0fVxyXG5cclxuXHQvLyDilIDilIAgTGVkZTogY2lyY2xlIG1hcmsgKyBwaXRjaCDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcclxuXHQvLyAgQ2FycmllcyB0aGUgUElUQ0gnUyB0eXBlIHNjYWxlLCBzbyB0aGUgbWFyayBiZWxvdyBjYW4gYmUgc2l6ZWQgaW4gYGVtYFxyXG5cdC8vICBhZ2FpbnN0IHRoZSB2ZXJ5IHRleHQgaXQgc2l0cyBiZXNpZGUuIC5mb290X19waXRjaCBpbmhlcml0cyBpdC5cclxuXHQmX19sZWRlIHtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0Z2FwOiBjbGFtcCguNzVyZW0sIDJ2dywgMS41cmVtKTtcclxuXHRcdGZvbnQtc2l6ZTogZmx1aWQoMjYsIDYyKTtcclxuXHR9XHJcblxyXG5cdC8vIOKaoCBTSVpFRCBJTiBlbSwgTk9UIEJZIGFsaWduLXNlbGY6IHN0cmV0Y2gg4oCUIGFuZCB0aGF0IGlzIGEgcmVhbCBjb25zdHJhaW50LFxyXG5cdC8vIG5vdCBhIHNob3J0Y3V0LiBGbGV4IGNhbm5vdCBkZXJpdmUgYW4gaXRlbSdzIFdJRFRIIGZyb20gYSBoZWlnaHQgdGhhdCBhXHJcblx0Ly8gU0lCTElORyBkZXRlcm1pbmVzOiB0aGUgYWxnb3JpdGhtIHJlc29sdmVzIG1haW4gc2l6ZXMgKHdpZHRoKSBiZWZvcmUgY3Jvc3NcclxuXHQvLyBzaXplcyAoaGVpZ2h0KSwgc28gYXQgdGhlIG1vbWVudCB0aGUgbWFyaydzIHdpZHRoIGlzIGRlY2lkZWQgdGhlIHJvdydzXHJcblx0Ly8gaGVpZ2h0IGRvZXNuJ3QgZXhpc3QgeWV0LiBCb3RoIGF0dGVtcHRzIGF0IGl0IGZhaWxlZCBpbiBleGFjdGx5IHRoZSB3YXkgdGhhdFxyXG5cdC8vIHByZWRpY3RzIOKAlCBhbiBlbXB0eSA8c3Bhbj4gc2hyaW5rLXdyYXBwZWQgdG8gMHB4IHdpZGUgYW5kIHZhbmlzaGVkLCB0aGVuIGFuXHJcblx0Ly8gPGltZz4gZmVsbCBiYWNrIHRvIGl0cyBpbnRyaW5zaWMgNTAwcHggYW5kIHN3YWxsb3dlZCB0aGUgZm9vdGVyLlxyXG5cdC8vXHJcblx0Ly8gMi44NWVtIGlzIHRoZSBwaXRjaCdzIHRocmVlIGxpbmVzIGF0IGl0cyBvd24gLjk1IGxpbmUtaGVpZ2h0LiBCZWNhdXNlIHRoZSBlbVxyXG5cdC8vIHJlc29sdmVzIGFnYWluc3QgLmZvb3RfX2xlZGUncyBmbHVpZCBmb250LXNpemUsIHRoZSBtYXJrIHJlc2NhbGVzIHdpdGggdGhlXHJcblx0Ly8gaGVhZGxpbmUgYXQgZXZlcnkgYnJlYWtwb2ludCDigJQgd2hpY2ggaXMgdGhlIGJlaGF2aW91ciB0aGF0IHdhcyBhY3R1YWxseVxyXG5cdC8vIHdhbnRlZC4gSWYgdGhlIGhlYWRsaW5lIGlzIGV2ZXIgcmV3b3JkZWQgdG8gYSBkaWZmZXJlbnQgbnVtYmVyIG9mIGxpbmVzLFxyXG5cdC8vIHRoaXMgaXMgdGhlIG9uZSBudW1iZXIgdG8gY2hhbmdlLlxyXG5cdCZfX2JhZGdlIHtcclxuXHRcdGZsZXg6IG5vbmU7XHJcblx0XHR3aWR0aDogMi44NWVtO1xyXG5cdFx0aGVpZ2h0OiAyLjg1ZW07XHJcblxyXG5cdFx0Ly8gVGhlIGZpbGUncyBwYXRocyBhcmUgYWxsIGZpbGw9XCJ3aGl0ZVwiLCBzbyBpdCByZWFkcyBvbiB0aGUgZGFyayBmb290ZXIgYW5kXHJcblx0XHQvLyB3b3VsZCB2YW5pc2ggb24gdGhlIGxpZ2h0IG9uZS4gSW52ZXJ0aW5nIGlzIGVub3VnaCBmb3IgYSBzaW5nbGUtY29sb3VyXHJcblx0XHQvLyBtYXJrIGFuZCBhdm9pZHMgc2hpcHBpbmcgYSBzZWNvbmQgYXNzZXQuXHJcblx0XHRbZGF0YS10aGVtZT1cImxpZ2h0XCJdICYgeyBmaWx0ZXI6IGludmVydCgxKTsgfVxyXG5cdH1cclxuXHJcblx0Jl9fcGl0Y2gge1xyXG5cdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XHJcblx0XHRmb250LXNpemU6IGluaGVyaXQ7ICAgICAgLy8gZnJvbSAuZm9vdF9fbGVkZSDigJQgc2VlIHRoZSBub3RlIGFib3ZlXHJcblx0XHRmb250LXdlaWdodDogOTAwO1xyXG5cdFx0bGluZS1oZWlnaHQ6IC45NTtcclxuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0XHRsZXR0ZXItc3BhY2luZzogLS4wM2VtO1xyXG5cdFx0bWF4LXdpZHRoOiAxNmNoO1xyXG5cdFx0Ly8gVGhlIHNpdGUgY29uZmlnIGNhbiBzdXBwbHkgdGhlIHBpdGNoIGFzIGxpbmVzICg8YnI+LWpvaW5lZCkgc28gdGhlIGJyZWFrc1xyXG5cdFx0Ly8gYXJlIHRoZSBjb3B5d3JpdGVyJ3MsIG5vdCB0aGUgd2lkdGgncyDigJQgc2VlIHNpdGVzLyovY29uZmlnLnBocC5cclxuXHR9XHJcblxyXG5cdCZfX2NvbHMge1xyXG5cdFx0ZGlzcGxheTogZ3JpZDtcclxuXHJcblx0XHQvLyDim5QgTk9UIGByZXBlYXQoYXV0by1maXQsIG1pbm1heCgxNDBweCwgYXV0bykpYCwgd2hpY2ggaXMgd2hhdCB0aGlzIHdhc1xyXG5cdFx0Ly8gYW5kIHdoeSBhbGwgZm91ciBncm91cHMgc3RhY2tlZCBpbnRvIG9uZSBjb2x1bW4uXHJcblx0XHQvL1xyXG5cdFx0Ly8gYXV0by1maXQgbmVlZHMgYSBERUZJTklURSBjb250YWluZXIgd2lkdGggdG8gd29yayBvdXQgaG93IG1hbnkgdHJhY2tzXHJcblx0XHQvLyBmaXQuIFRoaXMgZ3JpZCBsaXZlcyBpbiAuZm9vdF9fdG9wJ3MgYGF1dG9gIHRyYWNrLCB3aGljaCBpcyBzaXplZCBieVxyXG5cdFx0Ly8gaXRzIG93biBjb250ZW50IOKAlCBzbyB0aGVyZSBpcyBubyB3aWR0aCB0byBmaXQgYWdhaW5zdCwgdGhlIGdyaWQgZmFsbHNcclxuXHRcdC8vIGJhY2sgdG8gaXRzIG1pbi1jb250ZW50IGNvbnRyaWJ1dGlvbiwgYW5kIHRoYXQgaXMgb25lIGNvbHVtbi4gSXQgaXNcclxuXHRcdC8vIG5vdCBhIGJyZWFrcG9pbnQgcHJvYmxlbTsgaXQgbmV2ZXIgaGFkIG1vcmUgdGhhbiBvbmUgY29sdW1uIGF0IGFueVxyXG5cdFx0Ly8gd2lkdGguXHJcblx0XHQvL1xyXG5cdFx0Ly8gZ3JpZC1hdXRvLWZsb3c6IGNvbHVtbiBhc2tzIHRoZSBxdWVzdGlvbiB0aGUgb3RoZXIgd2F5IHJvdW5kIOKAlCBsYXlcclxuXHRcdC8vIHRoZXNlIG91dCBhcyBjb2x1bW5zLCB0aGVuIGJlIGFzIHdpZGUgYXMgdGhhdCBuZWVkcyDigJQgd2hpY2ggaXMgZXhhY3RseVxyXG5cdFx0Ly8gd2hhdCBhIGNvbnRlbnQtc2l6ZWQgdHJhY2sgY2FuIGFuc3dlci4gSXQgYWxzbyBhZGFwdHMgdG8gaG93ZXZlciBtYW55XHJcblx0XHQvLyAuZm9vdF9fY29sIGJsb2NrcyBleGlzdCwgc28gYWRkaW5nIGEgZmlmdGggZ3JvdXAgbmVlZHMgbm8gY2hhbmdlIGhlcmUuXHJcblx0XHRncmlkLWF1dG8tZmxvdzogY29sdW1uO1xyXG5cdFx0Z3JpZC1hdXRvLWNvbHVtbnM6IG1pbm1heCgwLCBhdXRvKTtcclxuXHJcblx0XHQvLyDimqAgVEhJUyBJUyBUSEUgU1BBQ0lORyBLTk9CLiBCZWNhdXNlIC5mb290X190b3AgaXMgc3BhY2UtYmV0d2VlbiwgdGhlXHJcblx0XHQvLyBjb2x1bW4gYmxvY2sgaXMgcGlubmVkIHRvIHRoZSByaWdodCBlZGdlIOKAlCBzbyByYWlzaW5nIHRoaXMgdmFsdWVcclxuXHRcdC8vIHNwcmVhZHMgdGhlIGNvbHVtbnMgQU5EIHdhbGtzIHRoZSB3aG9sZSBibG9jayBsZWZ0IHRvd2FyZCB0aGUgYnJhbmQuXHJcblx0XHQvLyBMb3dlciBpdCBhbmQgdGhleSBkcmF3IHRvZ2V0aGVyIGFuZCByZXRyZWF0IHJpZ2h0LlxyXG5cdFx0Ly9cclxuXHRcdC8vIEZsdWlkIHJhdGhlciB0aGFuIGZsYXQgc28gdGhlIHJvdyBkb2Vzbid0IGNydXNoIG9uIGEgbGFwdG9wIHdoaWxlXHJcblx0XHQvLyBsb29raW5nIG1lYW4gb24gYSB3aWRlIGRpc3BsYXkuXHJcblx0XHRnYXA6IGNsYW1wKDNyZW0sIDQuNXZ3LCA1cmVtKTtcclxuXHJcblx0XHRAaW5jbHVkZSBhdChtZCkgeyBnYXA6IHNwKDUpOyB9XHJcblxyXG5cdFx0Ly8gRm91ciBhY3Jvc3MgaXMgdG9vIG1hbnkgb24gYSBwaG9uZS4gQmFjayB0byByb3dzLCB0d28gdXAg4oCUIGFuZCB0aGVcclxuXHRcdC8vIGZsb3cgaGFzIHRvIGJlIHJlc2V0IGV4cGxpY2l0bHksIG9yIHRoZSBjb2x1bW5zIHJ1bGUgYWJvdmUgd2lucyBhbmRcclxuXHRcdC8vIGdyaWQtdGVtcGxhdGUtY29sdW1ucyBpcyBpZ25vcmVkLlxyXG5cdFx0QGluY2x1ZGUgYXQoc20pIHtcclxuXHRcdFx0Z3JpZC1hdXRvLWZsb3c6IHJvdztcclxuXHRcdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgbWlubWF4KDAsIDFmcikpO1xyXG5cdFx0XHRnYXA6IHNwKDUpIHNwKDQpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Jl9fY29sIHtcclxuXHRcdGRpc3BsYXk6IGdyaWQ7XHJcblx0XHRnYXA6IHNwKDMpO1xyXG5cdFx0YWxpZ24tY29udGVudDogc3RhcnQ7XHJcblxyXG5cdFx0aDMge1xyXG5cdFx0XHRmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vKTtcclxuXHRcdFx0Zm9udC1zaXplOiAuNjZyZW07XHJcblx0XHRcdGZvbnQtd2VpZ2h0OiA1MDA7XHJcblx0XHRcdGxldHRlci1zcGFjaW5nOiAuMThlbTtcclxuXHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRcdFx0Y29sb3I6IHZhcigtLWluay0zKTtcclxuXHRcdH1cclxuXHJcblx0XHQvLyBnYXAgaW4gYGVtYCwgc28gaXQgdHJhY2tzIHRoZSBsaW5rIHNpemUgcmF0aGVyIHRoYW4gYSBmaXhlZCBzdGVwIOKAlCB0aGVcclxuXHRcdC8vIGxpc3QgYnJlYXRoZXMgaW4gcHJvcG9ydGlvbiB0byBpdHMgb3duIHR5cGUgaW5zdGVhZCBvZiBuZWVkaW5nIGFcclxuXHRcdC8vIHNlY29uZCBudW1iZXIgY2hhbmdlZCB3aGVuZXZlciB0aGUgbGlua3MgcmVzaXplLlxyXG5cdFx0Ly9cclxuXHRcdC8vIERlc2t0b3Agb25seSwgb24gSm9lJ3MgYXNrOiBwaG9uZXMga2VlcCB0aGUgdGlnaHRlciBzcCgyKSwgd2hlcmUgdGhlXHJcblx0XHQvLyBjb2x1bW5zIGFyZSAyeDIgYW5kIHZlcnRpY2FsIHJvb20gaXMgdGhlIHNjYXJjZSB0aGluZy5cclxuXHRcdHVsIHtcclxuXHRcdFx0bGlzdC1zdHlsZTogbm9uZTtcclxuXHRcdFx0ZGlzcGxheTogZ3JpZDtcclxuXHRcdFx0Z2FwOiAuNjVlbTtcclxuXHJcblx0XHRcdEBpbmNsdWRlIGF0KG1kKSB7IGdhcDogc3AoMik7IH1cclxuXHRcdH1cclxuXHJcblx0XHRhIHtcclxuXHRcdFx0Zm9udC1zaXplOiAuOTVyZW07XHJcblx0XHRcdGNvbG9yOiB2YXIoLS1pbmstMik7XHJcblx0XHRcdHRyYW5zaXRpb246IGNvbG9yIHZhcigtLWR1ci1mYXN0KSAkZWFzZTtcclxuXHRcdFx0Jjpob3ZlciB7IGNvbG9yOiB2YXIoLS1hY2NlbnQtaW5rKTsgfVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Ly8g4o+4IC5mb290X19tYXJrIOKAlCB0aGUgZ2lhbnQgb3V0bGluZWQgd29yZG1hcmsg4oCUIHdhcyBSRU1PVkVEIG9uIDIwMjYtMDgtMDcsXHJcblx0Ly8gSm9lJ3MgY2FsbC4gTm90aGluZyByZW5kZXJzIGl0IG5vdzsgaXRzIG1hcmdpbi10b3AgaXMgaW5oZXJpdGVkIGJ5XHJcblx0Ly8gLmZvb3RfX2Jhc2UgYmVsb3cgc28gdGhlIGZvb3RlciBrZWVwcyB0aGUgc2FtZSByaHl0aG0gd2l0aG91dCBpdC5cclxuXHJcblx0Jl9fYmFzZSB7XHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHRcdGdhcDogc3AoNCk7XHJcblx0XHRmbGV4LXdyYXA6IHdyYXA7XHJcblx0XHQvLyBXYXMgdGhlIHdvcmRtYXJrJ3MgbWFyZ2luLXRvcC4gS2VwdCBhdCB0aGUgc2FtZSB2YWx1ZTogZGVsZXRpbmcgdGhlXHJcblx0XHQvLyBtYXJrIG90aGVyd2lzZSBkcm9wcGVkIHRoZSBzbWFsbCBwcmludCBzdHJhaWdodCBvbnRvIHRoZSBsaW5rIGNvbHVtbnMuXHJcblx0XHRtYXJnaW4tdG9wOiBjbGFtcCgycmVtLCA1dncsIDVyZW0pO1xyXG5cdFx0cGFkZGluZy1ibG9jazogc3AoNSk7XHJcblx0XHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tbGluZSk7XHJcblx0XHRmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vKTtcclxuXHRcdGZvbnQtc2l6ZTogLjY4cmVtO1xyXG5cdFx0bGV0dGVyLXNwYWNpbmc6IC4xZW07XHJcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdFx0Y29sb3I6IHZhcigtLWluay0zKTtcclxuXHR9XHJcblxyXG5cdC8vIFRoZSBsZWdhbCBsaW5rcywgYmV0d2VlbiB0aGUgY29weXJpZ2h0IGFuZCB0aGUgc3R1ZGlvIGNyZWRpdC4gSW5oZXJpdCB0aGVcclxuXHQvLyBzbWFsbC1wcmludCBjb2xvdXIgYW5kIG9ubHkgc3RlcCB1cCB0byAtLWluayBvbiBob3ZlcjogdGhyZWUgYWNjZW50IGxpbmtzXHJcblx0Ly8gaW4gYSByb3cgd291bGQgb3V0LXNob3V0IHRoZSBvbmUgY3JlZGl0IHRoYXQgaXMgbWVhbnQgdG8gYmUgYWNjZW50LlxyXG5cdCZfX2xlZ2FsIHtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRmbGV4LXdyYXA6IHdyYXA7XHJcblx0XHRnYXA6IHNwKDMpO1xyXG5cclxuXHRcdGEge1xyXG5cdFx0XHRjb2xvcjogaW5oZXJpdDtcclxuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG5cdFx0XHR0cmFuc2l0aW9uOiBjb2xvciB2YXIoLS1kdXItZmFzdCkgJGVhc2U7XHJcblxyXG5cdFx0XHQmOmhvdmVyLFxyXG5cdFx0XHQmOmZvY3VzLXZpc2libGUgeyBjb2xvcjogdmFyKC0taW5rKTsgfVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Ly8gVGhlIHN0dWRpbyBjcmVkaXQuIEFjY2VudCBzbyBpdCByZWFkcyBhcyBhIGxpbmsgYWdhaW5zdCB0aGUgLS1pbmstMyBzbWFsbFxyXG5cdC8vIHByaW50IGFyb3VuZCBpdCDigJQgYXQgdGhpcyBzaXplIGFuZCBsZXR0ZXItc3BhY2luZywgY29sb3VyIGlzIHRoZSBvbmx5XHJcblx0Ly8gYWZmb3JkYW5jZSB0aGF0IHJlZ2lzdGVyczsgYW4gdW5kZXJsaW5lIG9uIHVwcGVyY2FzZSBtb25vIGF0IC42OHJlbSBpc1xyXG5cdC8vIHZpc3VhbCBub2lzZS5cclxuXHQvL1xyXG5cdC8vIC0tYWNjZW50LWluayByYXRoZXIgdGhhbiAtLWFjY2VudDogdGhpcyBzaXRzIG9uIGEgZmxhdCBmb290ZXIgYmFuZCwgbm90IG9uXHJcblx0Ly8gYXJ0d29yaywgYW5kIGFjY2VudC1pbmsgaXMgdGhlIHRva2VuIHR1bmVkIGZvciBsZWdpYmlsaXR5IG9uIGEgcGxhaW5cclxuXHQvLyBiYWNrZ3JvdW5kIGluIGJvdGggdGhlbWVzLlxyXG5cdCZfX2J5IHtcclxuXHRcdGNvbG9yOiB2YXIoLS1hY2NlbnQtaW5rKTtcclxuXHRcdHRyYW5zaXRpb246IGNvbG9yIHZhcigtLWR1ci1mYXN0KSAkZWFzZTtcclxuXHJcblx0XHRAaW5jbHVkZSBjYW4taG92ZXIge1xyXG5cdFx0XHQmOmhvdmVyIHsgY29sb3I6IHZhcigtLWluayk7IH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi8vIOKUgOKUgCBTb2NpYWwgcm93IOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxyXG4uc29jaWFsIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGdhcDogc3AoMik7XHJcblx0bGlzdC1zdHlsZTogbm9uZTtcclxuXHJcblx0YSB7XHJcblx0XHRkaXNwbGF5OiBncmlkO1xyXG5cdFx0cGxhY2UtaXRlbXM6IGNlbnRlcjtcclxuXHRcdHdpZHRoOiA0MHB4O1xyXG5cdFx0aGVpZ2h0OiA0MHB4O1xyXG5cdFx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tbGluZSk7XHJcblx0XHRib3JkZXItcmFkaXVzOiA5OTlweDtcclxuXHRcdGNvbG9yOiB2YXIoLS1pbmstMik7XHJcblx0XHR0cmFuc2l0aW9uOiBjb2xvciB2YXIoLS1kdXItZmFzdCkgJGVhc2UsIGJvcmRlci1jb2xvciB2YXIoLS1kdXItZmFzdCkgJGVhc2UsXHJcblx0XHRcdFx0XHR0cmFuc2Zvcm0gdmFyKC0tZHVyLWZhc3QpICRlYXNlO1xyXG5cclxuXHRcdHN2ZyB7IHdpZHRoOiAxNXB4OyBoZWlnaHQ6IDE1cHg7IGZpbGw6IGN1cnJlbnRDb2xvcjsgfVxyXG5cclxuXHRcdCY6aG92ZXIge1xyXG5cdFx0XHRjb2xvcjogdmFyKC0tYWNjZW50LWluayk7XHJcblx0XHRcdGJvcmRlci1jb2xvcjogdmFyKC0tYWNjZW50KTtcclxuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0zcHgpO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLy8g4pSA4pSAIE5ld3NsZXR0ZXIg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXHJcbi8vXHJcbi8vIOKblCBSRU1PVkVEIDIwMjYtMDgtMTAuIFRoZXJlIHdhcyBhIGAuc3Vic2NyaWJlYCBibG9jayBoZXJlIOKAlCBhIGZvb3RlciBzaWdudXBcclxuLy8gZm9ybSB0aGF0IGZvb3Rlci5waHAgbmV2ZXIgcmVuZGVyZWQsIGxlZnQgYmVoaW5kIGZyb20gYW4gZWFybGllciBwYXNzLlxyXG4vL1xyXG4vLyBJdCB3YXMgbm90IGhhcm1sZXNzLiBUaGUgcmVhbCBuZXdzbGV0dGVyIHNlY3Rpb24gKF9uZXdzbGV0dGVyLnNjc3MpIHVzZXMgdGhlXHJcbi8vIHNhbWUgY2xhc3MgbmFtZSwgYW5kIGBmb290ZXJgIGlzIEB1c2UnZCBBRlRFUiBgbmV3c2xldHRlcmAgaW4gY29yZS5zY3NzIOKAlCBzb1xyXG4vLyB0aGlzIGRlYWQgcnVsZSdzIGBkaXNwbGF5OiBmbGV4YCBzaWxlbnRseSBiZWF0IHRoZSBsaXZlIHNlY3Rpb24nc1xyXG4vLyBgZGlzcGxheTogZ3JpZGAsIHdoaWNoIG1hZGUgZXZlcnkgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zIGRlY2xhcmF0aW9uIGluZXJ0LFxyXG4vLyBJTkNMVURJTkcgdGhlIG9uZSBpbnNpZGUgdGhlIG1vYmlsZSBtZWRpYSBxdWVyeS4gVGhlIHBhbmVsIHN0YXllZCB0d28gY29sdW1uc1xyXG4vLyBvbiBhIHBob25lIGFuZCB0aGUgZm9ybSBvdmVyZmxvd2VkIHRoZSBjYXJkLiBOb3RoaW5nIGVycm9yZWQ7IHRoZSBtZWRpYSBxdWVyeVxyXG4vLyB3YXMgcmlnaHQgdGhlcmUgaW4gdGhlIGNvbXBpbGVkIENTUywgbWF0Y2hpbmcsIGFuZCBkb2luZyBub3RoaW5nLlxyXG4vL1xyXG4vLyBJZiBhIGZvb3RlciBzaWdudXAgaXMgZXZlciB3YW50ZWQsIGl0IHJlbmRlcnMgc2lnX25ld3NsZXR0ZXJfc2VjdGlvbigpIG9yIGdldHNcclxuLy8gaXRzIG93biBjbGFzcyDigJQgbmV2ZXIgdGhpcyBuYW1lIGFnYWluLlxyXG4iXX0= */
