@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{--display-leading:1}: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:calc(.86 * var(--display-leading));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:calc(1 * var(--display-leading));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:calc(.82 * var(--display-leading));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:calc(1 * var(--display-leading));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:calc(1.05 * var(--display-leading));letter-spacing:-.03em;text-transform:uppercase}@media (max-width:780px){.ep__title{font-size:clamp(1.02rem,3.4vw,1.35rem);line-height:calc(1.05 * var(--display-leading))}}.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:calc(1.05 * var(--display-leading));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:calc(1 * var(--display-leading));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:calc(1 * var(--display-leading));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:calc(1.02 * var(--display-leading));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:calc(1.04 * var(--display-leading));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:calc(.95 * var(--display-leading));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:calc(1 * var(--display-leading));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:calc(1 * var(--display-leading));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:calc(1 * var(--display-leading));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:calc(1 * var(--display-leading));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:calc(1.05 * var(--display-leading));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:calc(1.05 * var(--display-leading))}}.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:calc(1 * var(--display-leading));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:calc(.94 * var(--display-leading));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:calc(1.05 * var(--display-leading));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:calc(1 * var(--display-leading));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:calc(1 * var(--display-leading));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:calc(1 * var(--display-leading));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:calc(1 * var(--display-leading));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:calc(1 * var(--display-leading));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:calc(1 * var(--display-leading));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:calc(1 * var(--display-leading));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:calc(1 * var(--display-leading));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:calc(1 * var(--display-leading));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:calc(1 * var(--display-leading));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:calc(.92 * var(--display-leading));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:calc(.95 * var(--display-leading));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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImhlYWQuc2NzcyIsIl90b2tlbnMuc2NzcyIsImNvcmUuY3NzIiwiX2Jhc2Uuc2NzcyIsIl9tb3Rpb24uc2NzcyIsIl9uYXYuc2NzcyIsIl9oZXJvLnNjc3MiLCJfdGlja2VyLnNjc3MiLCJfaW5kZXguc2NzcyIsIl9zaG9ydHMuc2NzcyIsIl9saWdodGJveC5zY3NzIiwiX3NpbmdsZS5zY3NzIiwiX3NlYXJjaC5zY3NzIiwiX3NvY2lhbC5zY3NzIiwiX2NhcmRzLnNjc3MiLCJfcHJvc2Uuc2NzcyIsIl9zaWRlYmFyLnNjc3MiLCJfcHJvbW8uc2NzcyIsIl9zaG9wLnNjc3MiLCJfbmV3c2xldHRlci5zY3NzIiwiX2Zvcm1zLnNjc3MiLCJfZG9jay5zY3NzIiwiX2Nvb2tpZXMuc2NzcyIsIl9mb290ZXIuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiaUJBRUE7Ozs7Ozs7Ozs7Ozs7QUNtSkEsTUFNQyxrQkFBQSxFQUdELE1DekpBLG1CRDJKQyxLQUFBLFFBQ0EsT0FBQSxRQWFBLFVBQUEsUUFDQSxPQUFBLFFBQ0EsT0FBQSxRQUNBLFdBQUEsUUFFQSxNQUFBLFFBQ0EsUUFBQSxRQUNBLFFBQUEsUUFFQSxPQUFBLHNCQUNBLFNBQUEsc0JBY0EsY0FBQSxpREFFQSxTQUFBLFFBQ0EsYUFBQSxRQUNBLGNBQUEsUUFDQSxXQUFBLFFBQ0EsWUFBQSxRQUVBLFNBQUEsRUFBQSxLQUFBLEtBQUEsc0JBQ0EsY0FBQSxFQUFBLEtBQUEsS0FBQSxzQkFDQSxRQUFBLElBS0EsY0FBQSx5QkFFQSxhQUFBLE1DeExELE9Eb01BLGtCQUVDLEtBQUEsUUFDQSxPQUFBLFFBU0EsVUFBQSxRQUNBLE9BQUEsUUFDQSxPQUFBLFFBQ0EsV0FBQSxRQUVBLE1BQUEsUUFDQSxRQUFBLFFBQ0EsUUFBQSxRQUVBLE9BQUEseUJBQ0EsU0FBQSx5QkFFQSxjQUFBLG9EQUVBLFNBQUEsUUFDQSxhQUFBLFFBQ0EsY0FBQSxRQUNBLFdBQUEsUUFDQSxZQUFBLFFBRUEsU0FBQSxFQUFBLEtB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QUEiLCJmaWxlIjoic3R5bGUuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgXCJ1dGYtOFwiO1xuXG4vKiFcbiAgVGhlbWUgTmFtZTogU0lHTkFMXG4gIFZlcnNpb246IDAuMS4wXG4gIEJ1aWxkOiAyNi45LjIwXG4gIEF1dGhvcjogTWluZGZ1bCBDcmVhdGl2ZVxuICBEZXNjcmlwdGlvbjogRGVzaWduIG9wdGlvbiAyLiBBIGJyb2FkY2FzdC1jb25zb2xlIHBvZGNhc3QgdGhlbWUgYnVpbHQgZnJvbSBhIGJsYW5rIHBhZ2Ug4oCUIG5vIFYxIG9yIFYyIG1hcmt1cCBhbmQgbm8gbGVnYWN5IHN0eWxlc2hlZXQuIERhcmstZmlyc3Qgd2l0aCBhIHJlYWwgbGlnaHQgbW9kZS4gQ29udGVudCBpcyB3aXJlZCB0aHJvdWdoIGEgc2luZ2xlIHNlYW0gaW4gaW5jL2NvbnRlbnQucGhwLlxuICBMaWNlbnNlOiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2MiBvciBsYXRlclxuICBMaWNlbnNlIFVSSTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2dwbC0yLjAuaHRtbFxuICBUZXh0IERvbWFpbjogc2lnbmFsXG4gIE5vdGU6IFRoZSBiYW5nIGluIHRoaXMgY29tbWVudCBpcyBsb2FkLWJlYXJpbmcg4oCUIGNsZWFuQ3NzIHN0cmlwcyBvcmRpbmFyeVxuICAgICAgICBjb21tZW50cywgYW5kIFdvcmRQcmVzcyB3b3VsZCBzdG9wIHJlY29nbmlzaW5nIHRoZSB0aGVtZS5cbiovXG4iLCJAdXNlIFwic2FzczptYXRoXCI7XHJcbkB1c2UgXCJzYXNzOm1hcFwiO1xyXG5cclxuLy8g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXHJcbi8vICBUT0tFTlNcclxuLy9cclxuLy8gIEV2ZXJ5IGNvbG91ciBpcyBhIENTUyBjdXN0b20gcHJvcGVydHkgdW5kZXIgW2RhdGEtdGhlbWVdLCBuZXZlciBhIFNhc3NcclxuLy8gIHZhcmlhYmxlIOKAlCB0aGF0J3Mgd2hhdCBtYWtlcyB0aGUgbGlnaHQvZGFyayB0b2dnbGUgYSBzaW5nbGUgYXR0cmlidXRlIGZsaXBcclxuLy8gIGluc3RlYWQgb2YgdHdvIGNvbXBpbGVkIHN0eWxlc2hlZXRzLiBTYXNzIHZhcmlhYmxlcyBhcmUgcmVzZXJ2ZWQgZm9yIHRoaW5nc1xyXG4vLyAgdGhhdCBnZW51aW5lbHkgY2Fubm90IGNoYW5nZSBhdCBydW50aW1lOiBicmVha3BvaW50cywgZWFzaW5ncywgdGhlIHR5cGVcclxuLy8gIHNjYWxlJ3MgbWF0aHMuXHJcbi8vXHJcbi8vICBEYXJrIGlzIHRoZSBkZXNpZ24ncyBuYXRpdmUgc3RhdGUuIExpZ2h0IGlzIGEgcmVhbCwgZnVsbHktc3BlY2lmaWVkIHRoZW1lXHJcbi8vICBhbmQgbm90IGFuIGFmdGVydGhvdWdodCBpbnZlcnNpb24g4oCUIHRoZSBjbGllbnQgcHJlZmVycyB3aGl0ZSwgc28gaXQgaGFzIHRvXHJcbi8vICBob2xkIHVwIG9uIGl0cyBvd24uXHJcbi8vIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxyXG5cclxuLy8g4pSA4pSAIEJyZWFrcG9pbnRzIChjb21waWxlLXRpbWUpIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxyXG4kYnAteGw6IDE0NDBweDtcclxuJGJwLWxnOiAxMDgwcHg7XHJcbiRicC1tZDogNzgwcHg7XHJcbiRicC1zbTogNTIwcHg7XHJcblxyXG5AbWl4aW4gYXQoJGJwKSB7XHJcblx0QGlmICAgICAgJGJwID09IHhsIHsgQG1lZGlhIChtYXgtd2lkdGg6ICRicC14bCkgeyBAY29udGVudDsgfSB9XHJcblx0QGVsc2UgaWYgJGJwID09IGxnIHsgQG1lZGlhIChtYXgtd2lkdGg6ICRicC1sZykgeyBAY29udGVudDsgfSB9XHJcblx0QGVsc2UgaWYgJGJwID09IG1kIHsgQG1lZGlhIChtYXgtd2lkdGg6ICRicC1tZCkgeyBAY29udGVudDsgfSB9XHJcblx0QGVsc2UgaWYgJGJwID09IHNtIHsgQG1lZGlhIChtYXgtd2lkdGg6ICRicC1zbSkgeyBAY29udGVudDsgfSB9XHJcblx0QGVsc2UgeyBAZXJyb3IgXCJhdCgpOiB1bmtub3duIGJyZWFrcG9pbnQgJyN7JGJwfScuXCI7IH1cclxufVxyXG5cclxuLy8g4pSA4pSAIEVhc2luZyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcclxuJGVhc2U6ICAgICBjdWJpYy1iZXppZXIoLjIyLCAuNjEsIC4zNiwgMSk7XHJcbiRlYXNlLW91dDogY3ViaWMtYmV6aWVyKC4xNiwgMSwgLjMsIDEpO1xyXG4kZWFzZS1pbjogIGN1YmljLWJlemllciguNywgMCwgLjg0LCAwKTtcclxuXHJcbi8vIOKUgOKUgCBGbHVpZCB0eXBlIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxyXG4vLyBjbGFtcCgpIGJldHdlZW4gdHdvIHZpZXdwb3J0IHdpZHRocywgc28gbm90aGluZyBzdGVwcyBhdCBhIGJyZWFrcG9pbnQuXHJcbkBmdW5jdGlvbiBmbHVpZCgkbWluLCAkbWF4LCAkZnJvbTogNDAwLCAkdG86IDE2MDApIHtcclxuXHQkc2xvcGU6IG1hdGguZGl2KCRtYXggLSAkbWluLCAkdG8gLSAkZnJvbSk7XHJcblx0JGludGVyOiAkbWluIC0gJHNsb3BlICogJGZyb207XHJcblx0QHJldHVybiBjbGFtcCgjeyRtaW59cHgsICN7JGludGVyfXB4ICsgI3skc2xvcGUgKiAxMDB9dncsICN7JG1heH1weCk7XHJcbn1cclxuXHJcbi8vIOKUgOKUgCBJbWFnZSB6b29tIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxyXG4vLyAgSG92ZXIgem9vbSBvbiBhcnR3b3JrIHN0dXR0ZXJzIHVubGVzcyB0aGUgaW1hZ2UgaXMgb24gaXRzIG93biBjb21wb3NpdG9yXHJcbi8vICBsYXllci4gU2NhbGluZyBhIDEyODB4NzIwIHNvdXJjZSBpbnNpZGUgYW4gb3ZlcmZsb3c6aGlkZGVuIGJveCBtYWtlcyB0aGVcclxuLy8gIGJyb3dzZXIgUkVQQUlOVCB0aGUgd2hvbGUgYm94IGV2ZXJ5IGZyYW1lOyB0cmFuc2xhdGVaKDApIHByb21vdGVzIGl0IHNvIHRoZVxyXG4vLyAgc2NhbGUgaXMgY29tcG9zaXRlZCBpbnN0ZWFkLCB3aGljaCB0aGUgR1BVIGRvZXMgZm9yIGZyZWUuXHJcbi8vXHJcbi8vICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW4gc3RvcHMgdGhlIHN1Yi1waXhlbCBzaGltbWVyIHRoYXQgcHJvbW90aW9uIGNhblxyXG4vLyAgb3RoZXJ3aXNlIGludHJvZHVjZSBvbiB0aGUgZmlyc3QgZnJhbWUuXHJcbi8vXHJcbi8vICBCb3RoIG1peGlucyBtdXN0IGtlZXAgdHJhbnNsYXRlWigwKSBpbiB0aGUgdHJhbnNmb3JtIOKAlCBkcm9wcGluZyBpdCBmcm9tXHJcbi8vICBlaXRoZXIgZW5kIGtpbGxzIHRoZSBwcm9tb3Rpb24gYW5kIHRoZSBzdHV0dGVyIGNvbWVzIHN0cmFpZ2h0IGJhY2suXHJcbkBtaXhpbiB6b29tYWJsZSgkZHVyOiAuNTVzKSB7XHJcblx0dHJhbnNmb3JtOiBzY2FsZSgxKSB0cmFuc2xhdGVaKDApO1xyXG5cdGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcclxuXHQvLyB3aWxsLWNoYW5nZSBhcyB3ZWxsIGFzIHRyYW5zbGF0ZVooMCkuIFRoZXkgYXJlIE5PVCBpbnRlcmNoYW5nZWFibGU6XHJcblx0Ly8gdHJhbnNsYXRlWigwKSBwcm9tb3RlcyB0aGUgZWxlbWVudCwgYnV0IHRoZSBicm93c2VyIHN0aWxsIHJlLXJhc3RlcmlzZXNcclxuXHQvLyB0aGUgYml0bWFwIHdoZW4gdGhlIHNjYWxlIGNoYW5nZXMsIHdoaWNoIGlzIHRoZSB2aXNpYmxlIFwic3RlcFwiIGZyb20gb25lXHJcblx0Ly8gc2l6ZSB0byB0aGUgbmV4dC4gd2lsbC1jaGFuZ2UgdGVsbHMgaXQgdG8ga2VlcCBhIHNjYWxhYmxlIGxheWVyIHJlYWR5LCBzb1xyXG5cdC8vIHRoZSB3aG9sZSB0d2VlbiBpcyBjb21wb3NpdGVkLiBCb3RoLCBvciBpdCBqdW1wcy5cclxuXHR3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xyXG5cclxuXHQvLyAhaW1wb3J0YW50IGlzIGxvYWQtYmVhcmluZyBoZXJlLCBhbmQgdGhpcyBpcyB0aGUgb25lIHBsYWNlIGl0J3MgZWFybmVkLlxyXG5cdC8vXHJcblx0Ly8gVGhlIGBpbWFnZS1vcHRpbWl6ZXJgIHBsdWdpbiAoTGF6eUxvYWRpbmcvRmFkZUluRWZmZWN0LnBocCkgcHJpbnRzIGFuXHJcblx0Ly8gSU5MSU5FIDxzdHlsZT4gY29udGFpbmluZzpcclxuXHQvLyAgICAgaHRtbC5pbWdvcHQtZmFkZSBpbWdbbG9hZGluZz1cImxhenlcIl0geyB0cmFuc2l0aW9uOiBvcGFjaXR54oCmLCBmaWx0ZXLigKYgfVxyXG5cdC8vIFRoYXQgc2VsZWN0b3IgaXMgKDAsMiwyKSBhbmQgdGhlIDxzdHlsZT4gdGFnIGNvbWVzIGFmdGVyIHRoaXMgc3R5bGVzaGVldCxcclxuXHQvLyBzbyBpdCB3aW5zIG9uIGJvdGggc3BlY2lmaWNpdHkgYW5kIG9yZGVyIGFnYWluc3QgYW55IGNvbXBvbmVudCBzZWxlY3RvclxyXG5cdC8vIGxpa2UgYC5zaG9ydF9fbWVkaWEgaW1nYCAoMCwxLDEpLiBCZWNhdXNlIGB0cmFuc2l0aW9uYCBpcyBhIHNob3J0aGFuZCwgaXRcclxuXHQvLyBSRVBMQUNFUyBvdXJzIG91dHJpZ2h0IOKAlCB0aGUgdHJhbnNmb3JtIHR3ZWVuIGRpc2FwcGVhcnMgZW50aXJlbHkgYW5kIGV2ZXJ5XHJcblx0Ly8gaG92ZXIgem9vbSBzbmFwcyB0byB0aGUgbmV3IHNjYWxlIHdpdGggbm8gYW5pbWF0aW9uLiBUaGF0IHdhcyB0aGUgcmVhbFxyXG5cdC8vIGNhdXNlIG9mIHRoZSBcImJ1bXBpbmdcIiwgbm90IGNvbXBvc2l0aW5nLlxyXG5cdC8vXHJcblx0Ly8gb3BhY2l0eSBhbmQgZmlsdGVyIGFyZSByZXN0YXRlZCBzbyB0aGUgcGx1Z2luJ3Mgb3duIGxhenktbG9hZCBibHVyLXVwXHJcblx0Ly8gc3RpbGwgYW5pbWF0ZXMuIERyb3BwaW5nIHRoZW0gd291bGQgZml4IG91ciB6b29tIGJ5IGJyZWFraW5nIGl0cyBmYWRlLlxyXG5cdHRyYW5zaXRpb246IHRyYW5zZm9ybSAkZHVyICRlYXNlLFxyXG5cdFx0XHRcdG9wYWNpdHkgLjRzICRlYXNlLFxyXG5cdFx0XHRcdGZpbHRlciAuNHMgJGVhc2UgIWltcG9ydGFudDtcclxufVxyXG5cclxuQG1peGluIHpvb21lZCgkc2NhbGU6IDEuMDYpIHtcclxuXHR0cmFuc2Zvcm06IHNjYWxlKCRzY2FsZSkgdHJhbnNsYXRlWigwKTtcclxufVxyXG5cclxuLy8g4pSA4pSAIEhvdmVyIGNhcGFiaWxpdHkg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXHJcbi8vICBXcmFwIGFueSA6aG92ZXIgc3R5bGluZyB0aGF0IG11c3QgTk9UIGFwcGx5IG9uIHRvdWNoLiBUb3VjaCBicm93c2VycyBmaXJlXHJcbi8vICA6aG92ZXIgb24gdGFwIGFuZCBsZWF2ZSBpdCBsYXRjaGVkIHVudGlsIHlvdSB0YXAgZWxzZXdoZXJlLCBzbyBhbiB1bmd1YXJkZWRcclxuLy8gIGhvdmVyIHN0YXRlIGdldHMgc3R1Y2sgb24gd2hhdGV2ZXIgdGhlIHZpc2l0b3IgbGFzdCB0b3VjaGVkLlxyXG4vL1xyXG4vLyAgS2V5ZWQgdG8gcG9pbnRlciBjYXBhYmlsaXR5LCBub3Qgdmlld3BvcnQgd2lkdGg6IGEgbmFycm93IGRlc2t0b3Agd2luZG93XHJcbi8vICBzdGlsbCBnZXRzIGhvdmVyLCBhIGxhcmdlIHRhYmxldCBjb3JyZWN0bHkgZG9lcyBub3QuXHJcbkBtaXhpbiBjYW4taG92ZXIge1xyXG5cdEBtZWRpYSAoaG92ZXI6IGhvdmVyKSBhbmQgKHBvaW50ZXI6IGZpbmUpIHsgQGNvbnRlbnQ7IH1cclxufVxyXG5cclxuLy8g4pSA4pSAIExhYmVsIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxyXG4vLyAgVGhlIHNtYWxsIGlkZW50aWZpZXIgdGhhdCBzaXRzIGFib3ZlIGEgdGl0bGU6IFwiRVAuIDhcIiwgYSBkYXRlLCBhIGR1cmF0aW9uLlxyXG4vLyAgT05FIGRlZmluaXRpb24gc2hhcmVkIGJ5IC5lcF9fZXAsIC5jYXJkX19tZXRhIGFuZCAuc2hvcnRfX21ldGEgc28gdGhlIHRocmVlXHJcbi8vICBwb3N0IHR5cGVzIGNhbid0IGRyaWZ0LiBDb2xvdXIgaXMgbGVmdCB0byB0aGUgY2FsbGVyIOKAlCB0aGUgc2hvcnRzIGxhYmVsIHNpdHNcclxuLy8gIG9uIGEgZGFyayBwaG90byBhbmQgbmVlZHMgYSBkaWZmZXJlbnQgdmFsdWUgZnJvbSB0aGUgb3RoZXIgdHdvLlxyXG4vL1xyXG4vLyAgTm90ZSB0aGlzIGlzIHRoZSBESVNQTEFZIGZhY2UsIG5vdCBtb25vLiBNb25vIHBsdXMgd2lkZSBsZXR0ZXItc3BhY2luZyBtYWRlXHJcbi8vICB0aGUgZ2FwIGFmdGVyIHRoZSBjb21tYSBpbiBcIkpBTiAyLCAyMDI1XCIgcmVhZCBhcyBhIGRvdWJsZSBzcGFjZS5cclxuQG1peGluIGxhYmVsIHtcclxuXHRmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcclxuXHRmb250LXNpemU6IGNsYW1wKC45cmVtLCAxLjF2dywgMS4xNXJlbSk7XHJcblx0Zm9udC13ZWlnaHQ6IDkwMDtcclxuXHRsaW5lLWhlaWdodDogY2FsYygxICogdmFyKC0tZGlzcGxheS1sZWFkaW5nKSk7XHJcblx0bGV0dGVyLXNwYWNpbmc6IC0uMDFlbTtcclxuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7XHJcbn1cclxuXHJcbi8vIOKUgOKUgCBTcGFjZSBzY2FsZSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcclxuJHNwYWNlOiAoXHJcblx0MTogLjI1cmVtLCAgMjogLjVyZW0sICAgMzogLjc1cmVtLCAgNDogMXJlbSxcclxuXHQ1OiAxLjVyZW0sICA2OiAycmVtLCAgICA3OiAzcmVtLCAgICA4OiA0cmVtLFxyXG5cdDk6IDZyZW0sICAgIDEwOiA4cmVtLCAgIDExOiAxMnJlbVxyXG4pO1xyXG5cclxuQGZ1bmN0aW9uIHNwKCRzdGVwKSB7XHJcblx0QGlmIG5vdCBtYXAuaGFzLWtleSgkc3BhY2UsICRzdGVwKSB7IEBlcnJvciBcInNwKCk6IG5vIHN0ZXAgI3skc3RlcH1cIjsgfVxyXG5cdEByZXR1cm4gbWFwLmdldCgkc3BhY2UsICRzdGVwKTtcclxufVxyXG5cclxuLy8g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXHJcbi8vICBUSEVNRVNcclxuLy8g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXHJcblxyXG4vLyDilIDilIAgQnJhbmQg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXHJcbi8vICAjMDE4MUREIGlzIFRIRSBicmFuZCBjb2xvdXIgYW5kIGlzIHVzZWQgdmVyYmF0aW0gZm9yIGV2ZXJ5IGZpbGw6IGJ1dHRvbnMsXHJcbi8vICB0aGUgT04gQUlSIGRvdCwgd2F2ZWZvcm0gYmFycywgdGhlIHBsYXkgY29udHJvbCwgcHJvZ3Jlc3MuXHJcbi8vXHJcbi8vICBJdCBjYW5ub3QgYmUgdXNlZCB2ZXJiYXRpbSBmb3IgZXZlcnkgKnRleHQqIGNvbG91ciwgdGhvdWdoLiBNZWFzdXJlZCBhZ2FpbnN0XHJcbi8vICB0aGUgdHdvIHBhZ2UgYmFja2dyb3VuZHM6XHJcbi8vICAgICAgIzAxODFERCBvbiAjZjRmM2VmIChwYXBlcikgPSAzLjYyOjEgIC0+IGZhaWxzIHNtYWxsIHRleHQgKG5lZWRzIDQuNSlcclxuLy8gICAgICAjMDE4MUREIG9uICMwODA4MGEgKGJsYWNrKSA9IDQuOTA6MSAgLT4gcGFzc2VzXHJcbi8vICBTbyAtLWFjY2VudC1pbmsgY2FycmllcyBhIHBlci10aGVtZSBhZGp1c3RlZCB2ZXJzaW9uIGZvciBhY2NlbnQtQ09MT1VSRURcclxuLy8gIFRFWFQsIGFuZCAtLWFjY2VudC1kZWVwIGlzIGEgZGFya2VuZWQgZmlsbCBmb3IgdGhlIG9uZSBwbGFjZSBzbWFsbCB3aGl0ZVxyXG4vLyAgdGV4dCBzaXRzIG9uIGEgc29saWQgYWNjZW50IGJsb2NrICh0aGUgZXBpc29kZSByb3cgaG92ZXIpLlxyXG4vLyAgU2FtZSBicmFuZCwgbGVnaWJsZSBpbiBib3RoIHRoZW1lcy5cclxuXHJcbi8vIExpZ2h0IGlzIHRoZSBkZWZhdWx0OiB0aGUgY2xpZW50IHByZWZlcnMgd2hpdGUsIHNvIDpyb290IGlzIHRoZSBsaWdodCB0aGVtZVxyXG4vLyBhbmQgZGFyayBpcyB0aGUgb3B0LWluLiBUaGUgaW5saW5lIHNjcmlwdCBpbiBoZWFkZXIucGhwIHN0aWxsIGhvbm91cnMgYVxyXG4vLyBzdG9yZWQgY2hvaWNlIG9yIGFuIE9TIGRhcmsgcHJlZmVyZW5jZSBiZWZvcmUgZmlyc3QgcGFpbnQuXHJcbjpyb290IHtcclxuXHQvLyBNdWx0aXBsaWVyIG9uIGV2ZXJ5IGRpc3BsYXktZmFjZSBsaW5lLWhlaWdodCAoaGVhZGluZ3MsIGhlcm8gd29yZHMsXHJcblx0Ly8gY2FyZCB0aXRsZXMsIGxhYmVscykuIFRoZSB2YWx1ZXMgaW4gdGhlIGNvbXBvbmVudHMgYXJlIHR1bmVkIGZvclxyXG5cdC8vIE1vZGljYS9BcmNoaXZvLCB3aG9zZSBjYXBzIHNpdCBsb3cgaW4gdGhlIGVtIGJveDsgYSBmYWNlIHdpdGggdGFsbGVyXHJcblx0Ly8gY2FwcyAoT3N3YWxkIG9uIFJvdG9MZWdlbmRzKSBuZWVkcyB0aGVtIGFsbCBvcGVuZWQgdXAgYnkgdGhlIHNhbWVcclxuXHQvLyBhbW91bnQsIGFuZCBhIHNraW4gZG9lcyB0aGF0IGhlcmUgcmF0aGVyIHRoYW4gcmUtdHVuaW5nIGVhY2ggb25lLlxyXG5cdC0tZGlzcGxheS1sZWFkaW5nOiAxO1xyXG59XHJcblxyXG46cm9vdCxcclxuW2RhdGEtdGhlbWU9XCJsaWdodFwiXSB7XHJcblx0LS1iZzogICAgICAgICAjZmJmYWY3OyAgLy8gd2FybSBwYXBlciwgbm90ICNmZmYg4oCUIHB1cmUgd2hpdGUgZ2xhcmVzLiBXYXMgI2Y0ZjNlZjsgbGlmdGVkIHRvd2FyZCB3aGl0ZSAyMDI2LTA5LTE0IChcInRvbyBncmV5IGFuZCBkZWZhdWx0eS1kaXNhYmxlZCBsb29raW5nXCIpLCBzYW1lIHdhcm0gaHVlLiBDb29sIHRpbnRzICgjZjVmOWZmIGV0Yy4pIHdlcmUgdHJpZWQgYW5kIHJlamVjdGVkLlxyXG5cdC0tYmctMjogICAgICAgI2ZmZmZmZjtcclxuXHJcblx0Ly8g4pSA4pSAIFNlY3Rpb24gYmFuZGluZyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcclxuXHQvLyAgSU5WRVJURUQgcmVsYXRpdmUgdG8gZGFyayBtb2RlLCBvbiBKb2UncyBjYWxsIDIwMjYtMDgtMDcuIEluIGRhcmssIHRoZVxyXG5cdC8vICBwYWdlIGlzIG5lYXItYmxhY2sgYW5kIGEgd2FzaGVkIGJhbmQgbGlmdHMgc2xpZ2h0bHkgb3V0IG9mIGl0LiBEb2luZyB0aGVcclxuXHQvLyAgc2FtZSBoZXJlIHB1dCB0aGUgd2FybSBwYXBlciB1bmRlcm5lYXRoIGFuZCB3aGl0ZSBvbiB0b3AsIHNvIEVwaXNvZGVzIOKAlFxyXG5cdC8vICB0aGUgZmlyc3QgYW5kIG1vc3QgaW1wb3J0YW50IGJhbmQg4oCUIHJlYWQgYXMgdGhlIGRpbW1lciBvZiB0aGUgdHdvLlxyXG5cdC8vXHJcblx0Ly8gIFNvIHRoZSBwbGFpbiBzZWN0aW9ucyB0YWtlIHdoaXRlIGFuZCB0aGUgd2FzaCB0YWtlcyB0aGUgcGFwZXIuIFRoZSBkYXJrXHJcblx0Ly8gIGJsb2NrIGRvZXMgdGhlIHNhbWUgdGhpbmcgd2l0aCBpdHMgb3duIHR3byBncmV5cyDigJQgaW4gQk9USCB0aGVtZXMgdGhlXHJcblx0Ly8gIHBsYWluIGJhbmQgaXMgdGhlIGJyaWdodGVyIG9uZS4gLS1iZyBpcyB1bnRvdWNoZWQ6IGl0IHN0aWxsIG93bnMgdGhlXHJcblx0Ly8gIGhlcm8sIHRoZSBmb290ZXIgYW5kIGV2ZXJ5IGNhcmQgZmlsbCwgYW5kIHN3YXBwaW5nIElUIHdvdWxkIGhhdmUgZHJhZ2dlZFxyXG5cdC8vICBhbGwgb2YgdGhvc2Ugd2l0aCBpdC5cclxuXHQtLXNlY3Rpb246ICAgICNmZmZmZmY7XHJcblx0LS13YXNoOiAgICAgICAjZmJmYWY3OyAgIC8vID0gLS1iZywgZGVsaWJlcmF0ZWx5XHJcblx0LS1iZy0zOiAgICAgICAjZTllOGUyO1xyXG5cdC0tYmctaW5zZXQ6ICAgIzBiMGIwZDsgIC8vIGludmVydGVkIHBhbmVscyBzdGF5IGRhcmsgaW4gbGlnaHQgbW9kZVxyXG5cclxuXHQtLWluazogICAgICAgICMwYjBiMGQ7XHJcblx0LS1pbmstMjogICAgICAjNWM1YzY2O1xyXG5cdC0taW5rLTM6ICAgICAgIzhiOGI5NTtcclxuXHJcblx0LS1saW5lOiAgICAgICByZ2JhKDExLCAxMSwgMTMsIC4xMik7XHJcblx0LS1saW5lLTI6ICAgICByZ2JhKDExLCAxMSwgMTMsIC4yMik7XHJcblx0Ly8gLS1saW5lLTIgbWFkZSBPUEFRVUUsIGZvciBjb250cm9scyBzaXR0aW5nIG9uIGFydHdvcmsg4oCUIHRoZSB0cmFuc2x1Y2VudFxyXG5cdC8vIG9yaWdpbmFsIGxldHMgdGhlIGltYWdlIHJlYWQgdGhyb3VnaCBhbmQgdGhlIGVkZ2Ugc2hpZnRzIGNvbG91ciBhbG9uZyBpdHNcclxuXHQvLyBvd24gbGVuZ3RoLiBTZWUgdGhlIG5vdGUgb24gLmhlcm9fX2N0YS5cclxuXHQvL1xyXG5cdC8vIE5PVCBhIHN0cmFpZ2h0IGZsYXR0ZW4gaW4gbGlnaHQgbW9kZS4gQSB0cnVlIG9uZSBpcyAtLWxpbmUtMidzIG93biAyMiVcclxuXHQvLyBvdmVyIC0tYmcgKH4jY2FjOWM2KSwgd2hpY2ggaXMgYWxyZWFkeSBhIHNoYWRlIGRhcmtlciB0aGFuIHRoZSBzYW1lIGJvcmRlclxyXG5cdC8vIGNvbXBvc2l0ZWQgb3ZlciBhIHdoaXRlIHNlY3Rpb24gKH4jZDVkNWQ2KSDigJQgc28gbWF0Y2hpbmcgXCJWaWV3IGFsbFwiIHdvdWxkXHJcblx0Ly8gaGF2ZSBtZWFudCBnb2luZyBMSUdIVEVSLCBub3QgZGFya2VyLiBKb2Ugd2FudGVkIGl0IGRhcmtlciB0aGFuIGJvdGgsIHNvXHJcblx0Ly8gdGhpcyBpcyBtaXhlZCBhdCAzNSUgaW5zdGVhZDogdGhlIGhlcm8gcGhvdG8gYmVoaW5kIGl0IGxpZnRzIHRoZSBwZXJjZWl2ZWRcclxuXHQvLyBlZGdlLCBhbmQgYSB0cnVlIGZsYXR0ZW4gcmVhZCB0b28gZmFpbnQgYWdhaW5zdCBpdC5cclxuXHQvL1xyXG5cdC8vIDM1JSBpcyB0aGUga25vYi4gRGFyayBtb2RlIGlzIGEgc3RyYWlnaHQgZmxhdHRlbiBhbmQgbG9va2VkIHJpZ2h0IGZpcnN0XHJcblx0Ly8gdGltZSwgc28gb25seSB0aGlzIG9uZSBpcyB0dW5lZC5cclxuXHQtLWxpbmUtMi1mbGF0OiAje2NvbG9yLW1peChpbiBzcmdiLCByZ2IoMTEsIDExLCAxMykgMzUlLCAjZmJmYWY3KX07XHJcblxyXG5cdC0tYWNjZW50OiAgICAgIzAxODFkZDsgIC8vIGJyYW5kLCBleGFjdFxyXG5cdC0tYWNjZW50LWluazogIzAxNjZiMDsgIC8vIDUuMzoxIG9uIHBhcGVyXHJcblx0LS1hY2NlbnQtZGVlcDojMDE2OWI2O1xyXG5cdC0tYWNjZW50LTI6ICAgI2Q4ZWNmYjtcclxuXHQtLW9uLWFjY2VudDogICNmZmZmZmY7XHJcblxyXG5cdC0tc2hhZG93OiAgICAgMCAyNHB4IDYwcHggcmdiYSgxMSwgMTEsIDEzLCAuMTQpO1xyXG5cdC0tc2hhZG93LWNhcmQ6MCAxNnB4IDMycHggcmdiYSgxMSwgMTEsIDEzLCAuMTgpO1xyXG5cdC0tZ3JhaW46ICAgICAgLjAyO1xyXG5cclxuXHQvLyBXYXNoIG92ZXIgdGhlIGhlcm8gcGhvdG8gYmVoaW5kIHRoZSB0b3BpYyB0aWNrZXIuIFdoaXRlIGhlcmUgaXMgYSBsaWZ0LFxyXG5cdC8vIGJlY2F1c2UgLS1iZyBpcyB3YXJtIHBhcGVyIHJhdGhlciB0aGFuICNmZmYuIE9ubHkgNSUg4oCUIHRoZSBibHVyIG9uIHRoZVxyXG5cdC8vIHN0cmlwIGRvZXMgdGhlIHNlcGFyYXRpbmcgbm93LCBhbmQgdGhlIGZpbGwgaXMganVzdCBhIHRpbnQgb24gdG9wIG9mIGl0LlxyXG5cdC0tdGlja2VyLWZpbGw6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjA1KTtcclxuXHJcblx0Y29sb3Itc2NoZW1lOiBsaWdodDtcclxufVxyXG5cclxuLy8g4pqgIGAuaW5zZXRgIElTIElOIFRISVMgU0VMRUNUT1IgTElTVCBPTiBQVVJQT1NFLiBBbnkgZWxlbWVudCBjYXJyeWluZyB0aGF0XHJcbi8vIGNsYXNzIOKAlCBhbmQgZXZlcnl0aGluZyBpbnNpZGUgaXQg4oCUIGdldHMgdGhlIEVOVElSRSBkYXJrIHBhbGV0dGUsIGluIGJvdGhcclxuLy8gdGhlbWVzLiBUaGF0IGlzIGhvdyB0aGUgcHJvbW8gYmFuZCBhbmQgdGhlIG5ld3NsZXR0ZXIgc3RheSBkYXJrIG9uIGEgbGlnaHRcclxuLy8gcGFnZTogbm90IGJ5IG92ZXJyaWRpbmcgZWFjaCBuZXN0ZWQgY29tcG9uZW50J3MgY29sb3VycywgYW5kIG5vdCBieSBrZWVwaW5nIGFcclxuLy8gc2Vjb25kIGNvcHkgb2YgdGhlc2UgdmFsdWVzIHNvbWV3aGVyZSBlbHNlIHRvIGRyaWZ0IG91dCBvZiBzdGVwLiBPbmUgYmxvY2ssXHJcbi8vIG9uZSBwbGFjZSB0byB0dW5lLiBUaGUgc3VyZmFjZSBpdHNlbGYgaXMgcGFpbnRlZCBpbiBfYmFzZS5zY3NzIChgLmluc2V0YCkuXHJcbi8vXHJcbi8vIEN1c3RvbSBwcm9wZXJ0aWVzIGluaGVyaXQsIHNvIHRoaXMgbmVlZHMgbm8gc3BlY2lmaWNpdHkgZ2FtZXM6IHRoZSBjbGFzc1xyXG4vLyBkZWNsYXJlcyB0aGVtIG9uIGEgY2xvc2VyIGVsZW1lbnQgdGhhbiA8aHRtbD4gZG9lcywgYW5kIHRoZSBjbG9zZXIgd2lucy5cclxuW2RhdGEtdGhlbWU9XCJkYXJrXCJdLFxyXG4uaW5zZXQge1xyXG5cdC0tYmc6ICAgICAgICAgIzA4MDgwYTtcclxuXHQtLWJnLTI6ICAgICAgICMxMDEwMTQ7XHJcblxyXG5cdC8vIEludmVydGVkIHRvIG1hdGNoIGxpZ2h0IG1vZGUg4oCUIEpvZSdzIGNhbGwsIDIwMjYtMDgtMDcuIFRoZSBwbGFpbiBzZWN0aW9uc1xyXG5cdC8vIExJRlQgb3V0IG9mIHRoZSBwYWdlIGFuZCB0aGUgd2FzaGVkIG9uZXMgc2l0IGJhY2sgZG93biBvbiBpdCwgc28gRXBpc29kZXNcclxuXHQvLyBpcyB0aGUgYnJpZ2h0ZXIgYmFuZCBpbiBib3RoIHRoZW1lcyByYXRoZXIgdGhhbiBvbmx5IG9uZS5cclxuXHQvL1xyXG5cdC8vIFRoaXMgaXMgdGhlIHJldmVyc2Ugb2YgdGhlIG9yaWdpbmFsIHJoeXRobSwgd2hlcmUgcGxhaW4gc2VjdGlvbnMgd2VyZVxyXG5cdC8vIHNpbXBseSB0aGUgcGFnZSBzaG93aW5nIHRocm91Z2guIC0tYmcgaXMgdW50b3VjaGVkIGVpdGhlciB3YXk6IGl0IHN0aWxsXHJcblx0Ly8gb3ducyB0aGUgaGVybywgdGhlIGZvb3RlciBhbmQgZXZlcnkgY2FyZCBmaWxsLlxyXG5cdC0tc2VjdGlvbjogICAgIzEwMTAxNDtcclxuXHQtLXdhc2g6ICAgICAgICMwODA4MGE7XHJcblx0LS1iZy0zOiAgICAgICAjMTkxOTIwO1xyXG5cdC0tYmctaW5zZXQ6ICAgIzAwMDAwMDtcclxuXHJcblx0LS1pbms6ICAgICAgICAjZjRmNGYyO1xyXG5cdC0taW5rLTI6ICAgICAgIzliOWJhNjtcclxuXHQtLWluay0zOiAgICAgICM2YTZhNzY7XHJcblxyXG5cdC0tbGluZTogICAgICAgcmdiYSgyNTUsIDI1NSwgMjU1LCAuMTApO1xyXG5cdC0tbGluZS0yOiAgICAgcmdiYSgyNTUsIDI1NSwgMjU1LCAuMTgpO1xyXG5cdC8vIFNlZSB0aGUgbGlnaHQgYmxvY2sgZm9yIHdoYXQgdGhpcyBpcyBhbmQgd2h5LlxyXG5cdC0tbGluZS0yLWZsYXQ6ICN7Y29sb3ItbWl4KGluIHNyZ2IsIHJnYigyNTUsIDI1NSwgMjU1KSAxOCUsICMwODA4MGEpfTtcclxuXHJcblx0LS1hY2NlbnQ6ICAgICAjMDE4MWRkOyAgLy8gYnJhbmQsIGV4YWN0IOKAlCBpZGVudGljYWwgaW4gYm90aCB0aGVtZXNcclxuXHQtLWFjY2VudC1pbms6ICMyYTliZWE7ICAvLyBsaWZ0ZWQgZm9yIDYuNjoxIG9uIG5lYXItYmxhY2tcclxuXHQtLWFjY2VudC1kZWVwOiMwMTY5YjY7XHJcblx0LS1hY2NlbnQtMjogICAjMGIyYzQ1O1xyXG5cdC0tb24tYWNjZW50OiAgI2ZmZmZmZjtcclxuXHJcblx0LS1zaGFkb3c6ICAgICAwIDMwcHggODBweCByZ2JhKDAsIDAsIDAsIC41NSk7XHJcblx0LS1zaGFkb3ctY2FyZDowIDE2cHggMzJweCByZ2JhKDAsIDAsIDAsIC41KTtcclxuXHQtLWdyYWluOiAgICAgIC4wMzU7XHJcblxyXG5cdC8vIFdISVRFLCBub3QgLS1iZy0yLiBUaGlzIGlzIHRoZSBvbmUgdGhhdCB3YXMgd3Jvbmc6IC0tYmctMiBpcyAjMTAxMDE0IGluXHJcblx0Ly8gZGFyayBtb2RlLCBzbyBhIHdhc2ggb2YgaXQgb3ZlciBhIG5lYXItYmxhY2sgaGVybyB3YXMgbmVhci1ibGFjayBvdmVyXHJcblx0Ly8gbmVhci1ibGFjayDigJQgYXJpdGhtZXRpY2FsbHkgcHJlc2VudCwgdmlzdWFsbHkgbm90aGluZy5cclxuXHQvLyBTYW1lIGRlY2xhcmVkIHZhbHVlIGFzIGxpZ2h0IG1vZGU7IGtlcHQgaW4gYm90aCBibG9ja3Mgc28gZWl0aGVyIGNhbiBiZVxyXG5cdC8vIHR1bmVkIHdpdGhvdXQgdG91Y2hpbmcgdGhlIG90aGVyLlxyXG5cdC0tdGlja2VyLWZpbGw6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjA1KTtcclxuXHJcblx0Y29sb3Itc2NoZW1lOiBkYXJrO1xyXG59XHJcblxyXG4vLyDilIDilIAgTm9uLWNvbG91ciB0b2tlbnMg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXHJcbjpyb290IHtcclxuXHQtLWZvbnQtZGlzcGxheTogXCJNb2RpY2EgQmxhY2tcIiwgXCJBcmNoaXZvXCIsIHN5c3RlbS11aSwgc2Fucy1zZXJpZjtcclxuXHQtLWZvbnQtYm9keTogICAgXCJJbnN0cnVtZW50IFNhbnNcIiwgc3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBzYW5zLXNlcmlmO1xyXG5cdC0tZm9udC1tb25vOiAgICB1aS1tb25vc3BhY2UsIFwiU0YgTW9ub1wiLCBcIkNhc2NhZGlhIE1vbm9cIiwgbW9ub3NwYWNlO1xyXG5cclxuXHQtLW5hdi1oOiAgIDcycHg7XHJcblx0LS1kb2NrLWg6ICA3NnB4O1xyXG5cclxuXHQvLyBUaGUgdGlja2VyIGlzIGFuIEVYUExJQ0lUIGhlaWdodCwgbm90IG9uZSB0aGF0IGZhbGxzIG91dCBvZiBpdHMgcGFkZGluZ1xyXG5cdC8vIGFuZCBsaW5lIGJveC4gVGhlIGhlcm8gaGFzIHRvIG92ZXJoYW5nIHRoZSBmb2xkIGJ5IHByZWNpc2VseSB0aGlzIG11Y2hcclxuXHQvLyAoc2VlIF9oZXJvLnNjc3MpLCBhbmQgQ1NTIGNhbid0IG1lYXN1cmUgYSBzaWJsaW5nIOKAlCBzbyB0aGUgbnVtYmVyIGhhcyB0b1xyXG5cdC8vIGJlIGRlY2xhcmVkIG9uY2UsIHVwIGhlcmUsIGFuZCByZWFkIGJ5IGJvdGguXHJcblx0Ly9cclxuXHQvLyDimqAgREVTS1RPUCBPTkxZLiBNb2JpbGUgaXMgcmVzdG9yZWQgdG8gdGhlIG9yaWdpbmFsIGJlbG93IOKAlCBzZWUgdGhlIGF0KG1kKVxyXG5cdC8vIGJsb2NrIGFmdGVyIHRoaXMgcnVsZS5cclxuXHQvL1xyXG5cdC8vIE9yaWdpbmFsbHkgY2xhbXAoNThweCwgNS42dncsIDg2cHgpLCB3aGljaCB0cmFja2VkIHdoYXQgdGhlIG9sZCBwYWRkaW5nICtcclxuXHQvLyBsaW5lIGJveCBwcm9kdWNlZC4gVGFrZW4gZG93biAxNSUgb24gMjAyNi0wOC0wOCDigJQgdGhlIHRvcGljIHR5cGUgaGFkXHJcblx0Ly8gc2hydW5rIHR3aWNlIGJ5IHRoZW4gKC0yNSUsIHRoZW4gLTEwJSkgYW5kIHRoZSBzdHJpcCBrZXB0IGl0cyBmdWxsIGhlaWdodFxyXG5cdC8vIHRocm91Z2ggYm90aCwgc28gdGhlIGJhbmQgd2FzIGNhcnJ5aW5nIGZhciBtb3JlIGFpciB0aGFuIGl0IHdhcyBkcmF3biBmb3IuXHJcblx0Ly9cclxuXHQvLyBOT1Qgc2NhbGVkIGJ5IHRoZSBzYW1lIGFtb3VudCBhcyB0aGUgdHlwZTogdGhlIHN0cmlwIGlzIG1lYW50IHRvIGhhdmVcclxuXHQvLyBicmVhdGhpbmcgcm9vbSwgaXQgaXMgYSBiYW5kIHJhdGhlciB0aGFuIGEgbGluZSBvZiB0ZXh0LiAxNSUgY2xvc2VzIHRoZVxyXG5cdC8vIGdhcCB0aGF0IG9wZW5lZCB1cCB3aXRob3V0IHR1cm5pbmcgaXQgaW50byBhIHRpZ2h0IHJ1bGUuXHJcblx0Ly9cclxuXHQvLyDimqAgVEhFIEhFUk8gUkVBRFMgVEhJUy4gSXRzIG92ZXJoYW5nIHBhc3QgdGhlIGZvbGQsIGl0cyBib3R0b20gcGFkZGluZyBhbmRcclxuXHQvLyB0aGUgc2Nyb2xsIGN1ZSdzIG9mZnNldCBhcmUgYWxsIGNhbGMoKSdkIGZyb20gdGhpcyB0b2tlbiwgc28gdGhleSBmb2xsb3dcclxuXHQvLyBhdXRvbWF0aWNhbGx5IOKAlCBidXQgaXQgZG9lcyBtZWFuIHRoaXMgbnVtYmVyIG1vdmVzIHRoZSBmb2xkLiBDaGVjayB0aGVcclxuXHQvLyBoZXJvIGFmdGVyIGNoYW5naW5nIGl0LCBub3QganVzdCB0aGUgc3RyaXAuXHJcblx0Ly8gQSBmdXJ0aGVyIC0xMCUgb24gMjAyNi0wOC0wOCwgdGhpcyB0aW1lIE1BVENISU5HIHRoZSB0eXBlJ3MgLTEwJSBleGFjdGx5LlxyXG5cdC8vIFRoZSBwcmV2aW91cyBwYXNzIHNocmFuayB0eXBlIGFuZCBiYW5kIGJ5IGRpZmZlcmVudCBhbW91bnRzICgtMTAlIHR5cGUsXHJcblx0Ly8gLTE1JSBiYW5kKSBhbmQgdGhlIHJhdGlvIGRyaWZ0ZWQ7IHNjYWxpbmcgYm90aCBieSB0aGUgc2FtZSBmYWN0b3Iga2VlcHNcclxuXHQvLyB0aGUgYmFuZCdzIHByb3BvcnRpb25zIGZpeGVkIHdoaWxlIGl0IGdldHMgc21hbGxlci5cclxuXHQtLXRpY2tlci1oOiBjbGFtcCg0NC4xcHgsIDQuMjg0dncsIDY1LjdweCk7XHJcblx0LS1yYWRpdXM6ICAxNHB4O1xyXG5cdC0tcmFkaXVzLWxnOiAyNHB4O1xyXG5cclxuXHQtLWd1dHRlcjogY2xhbXAoMS4yNXJlbSwgNHZ3LCA0LjVyZW0pO1xyXG5cdC0tbWF4dzogICAxNTYwcHg7XHJcblxyXG5cdC0tZHVyOiAgICAuNDVzO1xyXG5cdC0tZHVyLWZhc3Q6IC4ycztcclxufVxyXG5cclxuLy8g4pqgIE1PQklMRSBLRUVQUyBUSEUgT1JJR0lOQUwgVElDS0VSIEhFSUdIVC4gVGhlIDE1JSByZWR1Y3Rpb24gYWJvdmUgd2FzIG1hZGVcclxuLy8gbG9va2luZyBhdCBhIGRlc2t0b3Agc2NyZWVuIGFuZCBpcyB3YW50ZWQgdGhlcmUgb25seSDigJQgSm9lLCAyMDI2LTA4LTA4LlxyXG4vL1xyXG4vLyBUaGlzIHJlc3RvcmVzIHRoZSBleGFjdCBwcmUtY2hhbmdlIGNsYW1wIHJhdGhlciB0aGFuIHBpY2tpbmcgYSBuZXcgbnVtYmVyLCBzb1xyXG4vLyBwaG9uZXMgYXJlIGJ5dGUtZm9yLWJ5dGUgd2hhdCB0aGV5IHdlcmUuIEJlbG93IG1kIHRoZSB2dyB0ZXJtIG5ldmVyIHdpbnNcclxuLy8gYW55d2F5ICg1LjZ2dyBpcyA0My43cHggYXQgNzgwcHgpLCBzbyBpbiBwcmFjdGljZSB0aGlzIGlzIHRoZSA1OHB4IGZsb29yIOKAlFxyXG4vLyBidXQgdGhlIHdob2xlIGNsYW1wIGlzIHdyaXR0ZW4gb3V0IHNvIHRoZSB0d28gc3RhdGVzIHN0YXkgY29tcGFyYWJsZSBhbmQgdGhlXHJcbi8vIG9yaWdpbmFsIGlzIHJlY292ZXJhYmxlIGZyb20gdGhpcyBmaWxlIGFsb25lLlxyXG4vL1xyXG4vLyBUaGUgdHlwZSBoYXMgdGhlIG1hdGNoaW5nIG1vYmlsZSByZXZlcnQgaW4gX3RpY2tlci5zY3NzOyB0aGUgdHdvIHdlcmUgY2hhbmdlZFxyXG4vLyB0b2dldGhlciBhbmQgaGF2ZSB0byBiZSByZXZlcnRlZCB0b2dldGhlciwgb3IgdGhlIGJhbmQncyBwcm9wb3J0aW9ucyBvbmx5XHJcbi8vIGhhbGYgcmV0dXJuLlxyXG5AaW5jbHVkZSBhdChtZCkge1xyXG5cdDpyb290IHsgLS10aWNrZXItaDogY2xhbXAoNThweCwgNS42dncsIDg2cHgpOyB9XHJcbn1cclxuIiwiOnJvb3Qge1xuICAtLWRpc3BsYXktbGVhZGluZzogMTtcbn1cblxuOnJvb3QsXG5bZGF0YS10aGVtZT1saWdodF0ge1xuICAtLWJnOiAjZmJmYWY3O1xuICAtLWJnLTI6ICNmZmZmZmY7XG4gIC0tc2VjdGlvbjogI2ZmZmZmZjtcbiAgLS13YXNoOiAjZmJmYWY3O1xuICAtLWJnLTM6ICNlOWU4ZTI7XG4gIC0tYmctaW5zZXQ6ICMwYjBiMGQ7XG4gIC0taW5rOiAjMGIwYjBkO1xuICAtLWluay0yOiAjNWM1YzY2O1xuICAtLWluay0zOiAjOGI4Yjk1O1xuICAtLWxpbmU6IHJnYmEoMTEsIDExLCAxMywgLjEyKTtcbiAgLS1saW5lLTI6IHJnYmEoMTEsIDExLCAxMywgLjIyKTtcbiAgLS1saW5lLTItZmxhdDogY29sb3ItbWl4KGluIHNyZ2IsIHJnYigxMSwgMTEsIDEzKSAzNSUsICNmYmZhZjcpO1xuICAtLWFjY2VudDogIzAxODFkZDtcbiAgLS1hY2NlbnQtaW5rOiAjMDE2NmIwO1xuICAtLWFjY2VudC1kZWVwOiMwMTY5YjY7XG4gIC0tYWNjZW50LTI6ICNkOGVjZmI7XG4gIC0tb24tYWNjZW50OiAjZmZmZmZmO1xuICAtLXNoYWRvdzogMCAyNHB4IDYwcHggcmdiYSgxMSwgMTEsIDEzLCAuMTQpO1xuICAtLXNoYWRvdy1jYXJkOjAgMTZweCAzMnB4IHJnYmEoMTEsIDExLCAxMywgLjE4KTtcbiAgLS1ncmFpbjogLjAyO1xuICAtLXRpY2tlci1maWxsOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC4wNSk7XG4gIGNvbG9yLXNjaGVtZTogbGlnaHQ7XG59XG5cbltkYXRhLXRoZW1lPWRhcmtdLFxuLmluc2V0IHtcbiAgLS1iZzogIzA4MDgwYTtcbiAgLS1iZy0yOiAjMTAxMDE0O1xuICAtLXNlY3Rpb246ICMxMDEwMTQ7XG4gIC0td2FzaDogIzA4MDgwYTtcbiAgLS1iZy0zOiAjMTkxOTIwO1xuICAtLWJnLWluc2V0OiAjMDAwMDAwO1xuICAtLWluazogI2Y0ZjRmMjtcbiAgLS1pbmstMjogIzliOWJhNjtcbiAgLS1pbmstMzogIzZhNmE3NjtcbiAgLS1saW5lOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC4xMCk7XG4gIC0tbGluZS0yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC4xOCk7XG4gIC0tbGluZS0yLWZsYXQ6IGNvbG9yLW1peChpbiBzcmdiLCByZ2IoMjU1LCAyNTUsIDI1NSkgMTglLCAjMDgwODBhKTtcbiAgLS1hY2NlbnQ6ICMwMTgxZGQ7XG4gIC0tYWNjZW50LWluazogIzJhOWJlYTtcbiAgLS1hY2NlbnQtZGVlcDojMDE2OWI2O1xuICAtLWFjY2VudC0yOiAjMGIyYzQ1O1xuICAtLW9uLWFjY2VudDogI2ZmZmZmZjtcbiAgLS1zaGFkb3c6IDAgMzBweCA4MHB4IHJnYmEoMCwgMCwgMCwgLjU1KTtcbiAgLS1zaGFkb3ctY2FyZDowIDE2cHggMzJweCByZ2JhKDAsIDAsIDAsIC41KTtcbiAgLS1ncmFpbjogLjAzNTtcbiAgLS10aWNrZXItZmlsbDogcmdiYSgyNTUsIDI1NSwgMjU1LCAuMDUpO1xuICBjb2xvci1zY2hlbWU6IGRhcms7XG59XG5cbjpyb290IHtcbiAgLS1mb250LWRpc3BsYXk6IFwiTW9kaWNhIEJsYWNrXCIsIFwiQXJjaGl2b1wiLCBzeXN0ZW0tdWksIHNhbnMtc2VyaWY7XG4gIC0tZm9udC1ib2R5OiBcIkluc3RydW1lbnQgU2Fuc1wiLCBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIHNhbnMtc2VyaWY7XG4gIC0tZm9udC1tb25vOiB1aS1tb25vc3BhY2UsIFwiU0YgTW9ub1wiLCBcIkNhc2NhZGlhIE1vbm9cIiwgbW9ub3NwYWNlO1xuICAtLW5hdi1oOiA3MnB4O1xuICAtLWRvY2staDogNzZweDtcbiAgLS10aWNrZXItaDogY2xhbXAoNDQuMXB4LCA0LjI4NHZ3LCA2NS43cHgpO1xuICAtLXJhZGl1czogMTRweDtcbiAgLS1yYWRpdXMtbGc6IDI0cHg7XG4gIC0tZ3V0dGVyOiBjbGFtcCgxLjI1cmVtLCA0dncsIDQuNXJlbSk7XG4gIC0tbWF4dzogMTU2MHB4O1xuICAtLWR1cjogLjQ1cztcbiAgLS1kdXItZmFzdDogLjJzO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzgwcHgpIHtcbiAgOnJvb3Qge1xuICAgIC0tdGlja2VyLWg6IGNsYW1wKDU4cHgsIDUuNnZ3LCA4NnB4KTtcbiAgfVxufVxuKiwgKjo6YmVmb3JlLCAqOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbioge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbmh0bWwge1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIHNjcm9sbC1iZWhhdmlvcjogYXV0bztcbn1cbmh0bWwuaXMtc21vb3RoIHtcbiAgc2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGg7XG59XG5odG1sIHtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG4gIG92ZXJmbG93LXg6IGNsaXA7XG59XG5cbmJvZHkge1xuICBtaW4taGVpZ2h0OiAxMDBzdmg7XG4gIGJhY2tncm91bmQ6IHZhcigtLWJnKTtcbiAgY29sb3I6IHZhcigtLWluayk7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWJvZHkpO1xuICBmb250LXNpemU6IGNsYW1wKDFyZW0sIDAuM3Z3ICsgMC45M3JlbSwgMS4wNjI1cmVtKTtcbiAgbGluZS1oZWlnaHQ6IDEuNTU7XG4gIGZvbnQtc3ludGhlc2lzLXdlaWdodDogbm9uZTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tZHVyKSBjdWJpYy1iZXppZXIoMC4yMiwgMC42MSwgMC4zNiwgMSksIGNvbG9yIHZhcigtLWR1cikgY3ViaWMtYmV6aWVyKDAuMjIsIDAuNjEsIDAuMzYsIDEpO1xufVxuXG5ib2R5OjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgaW5zZXQ6IDA7XG4gIHotaW5kZXg6IDk5OTk7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBvcGFjaXR5OiB2YXIoLS1ncmFpbik7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjAwJyBoZWlnaHQ9JzIwMCclM0UlM0NmaWx0ZXIgaWQ9J24nJTNFJTNDZmVUdXJidWxlbmNlIHR5cGU9J2ZyYWN0YWxOb2lzZScgYmFzZUZyZXF1ZW5jeT0nLjgnIG51bU9jdGF2ZXM9JzMnLyUzRSUzQy9maWx0ZXIlM0UlM0NyZWN0IHdpZHRoPScyMDAnIGhlaWdodD0nMjAwJyBmaWx0ZXI9J3VybCglMjNuKScvJTNFJTNDL3N2ZyUzRVwiKTtcbn1cblxuaW1nLCBzdmcsIHZpZGVvLCBjYW52YXMge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbmEge1xuICBjb2xvcjogaW5oZXJpdDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG5idXR0b24sIGlucHV0LCBzZWxlY3QsIHRleHRhcmVhIHtcbiAgZm9udDogaW5oZXJpdDtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG5cbmJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG46OnNlbGVjdGlvbiB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFjY2VudCk7XG4gIGNvbG9yOiB2YXIoLS1vbi1hY2NlbnQpO1xufVxuXG46Zm9jdXMtdmlzaWJsZSB7XG4gIG91dGxpbmU6IDJweCBzb2xpZCB2YXIoLS1hY2NlbnQpO1xuICBvdXRsaW5lLW9mZnNldDogM3B4O1xuICBib3JkZXItcmFkaXVzOiAycHg7XG59XG5cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gIGh0bWwge1xuICAgIHNjcm9sbC1iZWhhdmlvcjogYXV0bztcbiAgfVxuICAqLCAqOjpiZWZvcmUsICo6OmFmdGVyIHtcbiAgICBhbmltYXRpb24tZHVyYXRpb246IDAuMDFtcyAhaW1wb3J0YW50O1xuICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDEgIWltcG9ydGFudDtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjAxbXMgIWltcG9ydGFudDtcbiAgfVxufVxuLnNoZWxsIHtcbiAgd2lkdGg6IG1pbigxMDAlIC0gdmFyKC0tZ3V0dGVyKSAqIDIsIHZhcigtLW1heHcpKTtcbiAgbWFyZ2luLWlubGluZTogYXV0bztcbn1cblxuLnNoZWxsLS1uYXJyb3cge1xuICBtYXgtd2lkdGg6IDkwMHB4O1xufVxuXG4uc2tpcC1saW5rIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAtOTk5OXB4O1xuICB0b3A6IDA7XG4gIHotaW5kZXg6IDEwMDAwO1xuICBwYWRkaW5nOiAwLjc1cmVtIDEuNXJlbTtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWNjZW50KTtcbiAgY29sb3I6IHZhcigtLW9uLWFjY2VudCk7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG4uc2tpcC1saW5rOmZvY3VzIHtcbiAgbGVmdDogMXJlbTtcbiAgdG9wOiAxcmVtO1xufVxuXG4uc3Itb25seSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogLTFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcC1wYXRoOiBpbnNldCg1MCUpO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uZGlzcGxheSwgLnNlY3Rpb25fX3RpdGxlIHtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIGxpbmUtaGVpZ2h0OiBjYWxjKDAuODYgKiB2YXIoLS1kaXNwbGF5LWxlYWRpbmcpKTtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAzNWVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4uZXllYnJvdyB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDAuNmVtO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vKTtcbiAgZm9udC1zaXplOiAwLjcycmVtO1xuICBmb250LXdlaWdodDogNTAwO1xuICBsZXR0ZXItc3BhY2luZzogMC4xOGVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBjb2xvcjogdmFyKC0taW5rLTIpO1xufVxuXG4ubGVkZSB7XG4gIGZvbnQtc2l6ZTogY2xhbXAoMS4wNXJlbSwgMC41dncgKyAwLjk1cmVtLCAxLjNyZW0pO1xuICBjb2xvcjogdmFyKC0taW5rLTIpO1xuICBtYXgtd2lkdGg6IDU0Y2g7XG59XG5cbi5idG4ge1xuICAtLWJ0bi1iZzogdHJhbnNwYXJlbnQ7XG4gIC0tYnRuLWluazogdmFyKC0taW5rKTtcbiAgLS1idG4tbGluZTogdmFyKC0tbGluZS0yKTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGdhcDogMC43NXJlbTtcbiAgaGVpZ2h0OiA1NHB4O1xuICBwYWRkaW5nLWlubGluZTogMnJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYnRuLWxpbmUpO1xuICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgYmFja2dyb3VuZDogdmFyKC0tYnRuLWJnKTtcbiAgY29sb3I6IHZhcigtLWJ0bi1pbmspO1xuICBmb250LXNpemU6IDAuOTJyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxldHRlci1zcGFjaW5nOiAwLjAxZW07XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGlzb2xhdGlvbjogaXNvbGF0ZTtcbiAgdHJhbnNpdGlvbjogY29sb3IgdmFyKC0tZHVyLWZhc3QpIGN1YmljLWJlemllcigwLjIyLCAwLjYxLCAwLjM2LCAxKSwgYm9yZGVyLWNvbG9yIHZhcigtLWR1ci1mYXN0KSBjdWJpYy1iZXppZXIoMC4yMiwgMC42MSwgMC4zNiwgMSksIHRyYW5zZm9ybSB2YXIoLS1kdXItZmFzdCkgY3ViaWMtYmV6aWVyKDAuMjIsIDAuNjEsIDAuMzYsIDEpO1xufVxuLmJ0biBzdmcge1xuICB3aWR0aDogMTRweDtcbiAgaGVpZ2h0OiAxNHB4O1xuICBmbGV4OiBub25lO1xufVxuLmJ0bjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBpbnNldDogMDtcbiAgei1pbmRleDogLTE7XG4gIGJhY2tncm91bmQ6IHZhcigtLWluayk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDElKTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMzhzIGN1YmljLWJlemllcigwLjE2LCAxLCAwLjMsIDEpO1xufVxuLmJ0bjpob3ZlciB7XG4gIGNvbG9yOiB2YXIoLS1iZyk7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0taW5rKTtcbn1cbi5idG46aG92ZXI6OmJlZm9yZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbn1cbi5idG46YWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjk3KTtcbn1cbi5idG4tLWFjY2VudCB7XG4gIC0tYnRuLWJnOiB2YXIoLS1hY2NlbnQpO1xuICAtLWJ0bi1pbms6IHZhcigtLW9uLWFjY2VudCk7XG4gIC0tYnRuLWxpbmU6IHZhcigtLWFjY2VudCk7XG59XG4uYnRuLS1hY2NlbnQ6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWluayk7XG59XG4uYnRuLS1hY2NlbnQ6aG92ZXIge1xuICBjb2xvcjogdmFyKC0tYmcpO1xuICBib3JkZXItY29sb3I6IHZhcigtLWluayk7XG59XG4uYnRuLS1naG9zdCB7XG4gIC0tYnRuLWxpbmU6IHRyYW5zcGFyZW50O1xufVxuLmJ0bl9faWNvIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcbiAgd2lkdGg6IDI2cHg7XG4gIGhlaWdodDogMjZweDtcbiAgZmxleDogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgY3VycmVudENvbG9yO1xuICBib3JkZXItcmFkaXVzOiA5OTlweDtcbn1cbi5idG5fX2ljbyBzdmcge1xuICB3aWR0aDogMTNweDtcbiAgaGVpZ2h0OiAxM3B4O1xuICBtYXJnaW4tbGVmdDogMXB4O1xufVxuLmJ0bl9faWNvLS1iYXJlIHtcbiAgYm9yZGVyOiAwO1xuICBtYXJnaW4tcmlnaHQ6IGNhbGMoMC43NXJlbSAqIC0wLjc1KTtcbn1cbi5idG5fX2ljby0tYmFyZSBzdmcge1xuICB3aWR0aDogMjJweDtcbiAgaGVpZ2h0OiAyMnB4O1xuICBtYXJnaW4tbGVmdDogMDtcbn1cblxuLnNlY3Rpb24ge1xuICAtLXNlY3Rpb24tcGFkOiBjbGFtcCg0cmVtLCA5dncsIDlyZW0pO1xuICBwYWRkaW5nLWJsb2NrOiB2YXIoLS1zZWN0aW9uLXBhZCk7XG4gIGJhY2tncm91bmQ6IHZhcigtLXNlY3Rpb24pO1xuICBzY3JvbGwtbWFyZ2luLXRvcDogdmFyKC0tbmF2LWgpO1xufVxuXG4jbWFpbiA+IC5zZWN0aW9uOmZpcnN0LWNoaWxkIHtcbiAgcGFkZGluZy10b3A6IGNhbGModmFyKC0tbmF2LWgpICsgY2xhbXAoMS41cmVtLCA0dncsIDNyZW0pKTtcbn1cblxuLnNlY3Rpb24tLXdhc2gge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS13YXNoKTtcbiAgYm9yZGVyLWJsb2NrOiAxcHggc29saWQgdmFyKC0tbGluZSk7XG59XG5cbi5pbnNldCB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWJnLWluc2V0KTtcbiAgY29sb3I6IHZhcigtLWluayk7XG59XG5cbi5zZWN0aW9uX19oZWFkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG4uc2VjdGlvbl9faGVhZCA+IC5leWVicm93Omxhc3QtY2hpbGQge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cbi5zZWN0aW9uX19oZWFkIHtcbiAgZ2FwOiAycmVtO1xuICBtYXJnaW4tYm90dG9tOiBjbGFtcCgycmVtLCA0dncsIDRyZW0pO1xufVxuLnNlY3Rpb25fX2hlYWQgPiA6Zmlyc3QtY2hpbGQge1xuICBtaW4td2lkdGg6IDA7XG59XG4uc2VjdGlvbl9faGVhZCA+IC5idG4sIC5zZWN0aW9uX19oZWFkID4gLnJhaWwtbmF2LCAuc2VjdGlvbl9faGVhZCA+IC5zZWN0aW9uX19hY3Rpb25zIHtcbiAgZmxleDogbm9uZTtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA3ODBweCkge1xuICAuc2VjdGlvbl9faGVhZCB7XG4gICAgZ2FwOiAxcmVtO1xuICB9XG4gIC5zZWN0aW9uX19oZWFkID4gLmJ0bixcbiAgLnNlY3Rpb25fX2hlYWQgPiAuc2VjdGlvbl9fYWN0aW9ucyAuYnRuIHtcbiAgICBoZWlnaHQ6IDQ0cHg7XG4gICAgcGFkZGluZy1pbmxpbmU6IDFyZW07XG4gICAgZm9udC1zaXplOiAwLjg1cmVtO1xuICB9XG59XG5cbi5zZWN0aW9uX19hY3Rpb25zIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAwLjc1cmVtO1xufVxuXG4uc2VjdGlvbl9fdGl0bGUge1xuICBmb250LXNpemU6IGNsYW1wKDM4cHgsIDIwcHggKyA0LjV2dywgOTJweCk7XG4gIG1hcmdpbi10b3A6IDFyZW07XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3ODBweCkge1xuICBpbnB1dCxcbiAgc2VsZWN0LFxuICB0ZXh0YXJlYSB7XG4gICAgZm9udC1zaXplOiBtYXgoMTZweCwgMWVtKTtcbiAgfVxufVxuLnJ1bGUge1xuICBoZWlnaHQ6IDFweDtcbiAgYmFja2dyb3VuZDogdmFyKC0tbGluZSk7XG4gIHRyYW5zZm9ybTogc2NhbGVYKDApO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0O1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMS4xcyBjdWJpYy1iZXppZXIoMC4xNiwgMSwgMC4zLCAxKTtcbn1cbi5pcy1pbiAucnVsZSB7XG4gIHRyYW5zZm9ybTogc2NhbGVYKDEpO1xufVxuXG4ucGxvZ28ge1xuICAtLXBsb2dvLWg6IGNsYW1wKDE1cHgsIDEuNXZ3LCAyMXB4KTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogY2FsYyh2YXIoLS1wbG9nby1oKSAqIHZhcigtLXNjYWxlLCAxKSk7XG4gIGFzcGVjdC1yYXRpbzogdmFyKC0tYXIsIDMvMSk7XG4gIGJhY2tncm91bmQ6IGN1cnJlbnRDb2xvcjtcbiAgY29sb3I6IHZhcigtLWluayk7XG4gIG9wYWNpdHk6IDAuNjg7XG4gIC13ZWJraXQtbWFzazogdmFyKC0tc3JjKSBjZW50ZXIvY29udGFpbiBuby1yZXBlYXQ7XG4gIG1hc2s6IHZhcigtLXNyYykgY2VudGVyL2NvbnRhaW4gbm8tcmVwZWF0O1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IHZhcigtLWR1ci1mYXN0KSBjdWJpYy1iZXppZXIoMC4yMiwgMC42MSwgMC4zNiwgMSksIGNvbG9yIHZhcigtLWR1ci1mYXN0KSBjdWJpYy1iZXppZXIoMC4yMiwgMC42MSwgMC4zNiwgMSk7XG59XG5AbWVkaWEgKG1heC13aWR0aDogNzgwcHgpIHtcbiAgLnBsb2dvIHtcbiAgICAtLXBsb2dvLWg6IGNsYW1wKDEycHgsIDQuM3Z3LCAxOHB4KTtcbiAgfVxufVxuXG4uanMgW2RhdGEtcmV2ZWFsXSB7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyNnB4KTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjhzIGN1YmljLWJlemllcigwLjE2LCAxLCAwLjMsIDEpLCB0cmFuc2Zvcm0gMC44cyBjdWJpYy1iZXppZXIoMC4xNiwgMSwgMC4zLCAxKTtcbiAgdHJhbnNpdGlvbi1kZWxheTogY2FsYyh2YXIoLS1kLCAwKSAqIDAuMDhzKTtcbn1cblxuLmpzIFtkYXRhLXJldmVhbF0uaXMtaW4ge1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2Zvcm06IG5vbmU7XG59XG5cbi5qcyBbZGF0YS1yZXZlYWwtc3RhZ2dlcl0gPiAqIHtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDMwcHgpO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuN3MgY3ViaWMtYmV6aWVyKDAuMTYsIDEsIDAuMywgMSksIHRyYW5zZm9ybSAwLjdzIGN1YmljLWJlemllcigwLjE2LCAxLCAwLjMsIDEpO1xuICB0cmFuc2l0aW9uLWRlbGF5OiBjYWxjKHZhcigtLWksIDApICogMC4wN3MpO1xufVxuXG4uanMgW2RhdGEtcmV2ZWFsLXN0YWdnZXJdLmlzLWluID4gKiB7XG4gIG9wYWNpdHk6IHZhcigtLXJlc3Qtb3BhY2l0eSwgMSk7XG4gIHRyYW5zZm9ybTogbm9uZTtcbn1cblxuLnByb2dyZXNzIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBoZWlnaHQ6IDJweDtcbiAgei1pbmRleDogMTAxO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0O1xuICB0cmFuc2Zvcm06IHNjYWxlWCgwKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWNjZW50KTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbkBzdXBwb3J0cyAoYW5pbWF0aW9uLXRpbWVsaW5lOiBzY3JvbGwoKSkge1xuICAucHJvZ3Jlc3Mge1xuICAgIGFuaW1hdGlvbjogcHJvZ3Jlc3MgbGluZWFyO1xuICAgIGFuaW1hdGlvbi10aW1lbGluZTogc2Nyb2xsKHJvb3QgYmxvY2spO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHByb2dyZXNzIHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVgoMCk7XG4gIH1cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogc2NhbGVYKDEpO1xuICB9XG59XG4uc3dhcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWdyaWQ7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGxpbmUtaGVpZ2h0OiAxLjE7XG59XG4uc3dhcCA+IHNwYW4ge1xuICBncmlkLWFyZWE6IDEvMTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNDJzIGN1YmljLWJlemllcigwLjE2LCAxLCAwLjMsIDEpO1xufVxuLnN3YXAgPiBzcGFuOmxhc3QtY2hpbGQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTA1JSk7XG59XG4uc3dhcDpob3ZlciA+IHNwYW46Zmlyc3QtY2hpbGQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwNSUpO1xufVxuLnN3YXA6aG92ZXIgPiBzcGFuOmxhc3QtY2hpbGQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG59XG5cbi5uYXYge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogdmFyKC0tbmF2LWgpO1xuICB6LWluZGV4OiAxMDA7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tZHVyKSBjdWJpYy1iZXppZXIoMC4yMiwgMC42MSwgMC4zNiwgMSksIGJvcmRlci1jb2xvciB2YXIoLS1kdXIpIGN1YmljLWJlemllcigwLjIyLCAwLjYxLCAwLjM2LCAxKTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xufVxuLm5hdi5pcy1zdHVjayB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC45NSk7XG4gIGJhY2tkcm9wLWZpbHRlcjogYmx1cigxOHB4KSBzYXR1cmF0ZSgxLjQpO1xuICAtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjogYmx1cigxOHB4KSBzYXR1cmF0ZSgxLjQpO1xuICBib3JkZXItYm90dG9tLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTIpO1xufVxuLm5hdi5pcy1zdHVjayAubmF2X19tYXJrIHtcbiAgY29sb3I6ICNmZmY7XG59XG4ubmF2LmlzLXN0dWNrIC5uYXZfX2xpbmsge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcyKTtcbn1cbi5uYXYuaXMtc3R1Y2sgLm5hdl9fbGluazpob3Zlcixcbi5uYXYuaXMtc3R1Y2sgLm5hdl9fbGlua1thcmlhLWN1cnJlbnRdIHtcbiAgY29sb3I6ICNmZmY7XG59XG4ubmF2LmlzLXN0dWNrIC50b2dnbGUsXG4ubmF2LmlzLXN0dWNrIC5jYXJ0cGlsbCxcbi5uYXYuaXMtc3R1Y2sgLmJ1cmdlcixcbi5uYXYuaXMtc3R1Y2sgLm5zZWFyY2gge1xuICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yMik7XG4gIGNvbG9yOiAjZmZmO1xufVxuLm5hdi5pcy1zdHVjayAuY2FydHBpbGxfX24ge1xuICBib3gtc2hhZG93OiAwIDAgMCAycHggIzAwMDtcbn1cbi5uYXYuaXMtc3R1Y2sgLm5zZWFyY2g6aG92ZXIsXG4ubmF2LmlzLXN0dWNrIC5uc2VhcmNoOmZvY3VzLXdpdGhpbiB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYWNjZW50KTtcbn1cbi5uYXYuaXMtc3R1Y2sgLm5zZWFyY2g6aG92ZXIgLm5zZWFyY2hfX2J0bixcbi5uYXYuaXMtc3R1Y2sgLm5zZWFyY2g6Zm9jdXMtd2l0aGluIC5uc2VhcmNoX19idG4ge1xuICBjb2xvcjogdmFyKC0tYWNjZW50LWluayk7XG59XG5AbWVkaWEgKGhvdmVyOiBob3ZlcikgYW5kIChwb2ludGVyOiBmaW5lKSB7XG4gIC5uYXYuaXMtc3R1Y2sgLnRvZ2dsZTpob3ZlcixcbiAgLm5hdi5pcy1zdHVjayAuY2FydHBpbGw6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYWNjZW50KTtcbiAgICBjb2xvcjogdmFyKC0tYWNjZW50LWluayk7XG4gIH1cbn1cbi5uYXYuaXMtc3R1Y2sgLmJ1cmdlciBzcGFuLFxuLm5hdi5pcy1zdHVjayAuYnVyZ2VyIHNwYW46OmJlZm9yZSxcbi5uYXYuaXMtc3R1Y2sgLmJ1cmdlciBzcGFuOjphZnRlciB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG59XG4ubmF2LmlzLXN0dWNrIC5uc2VhcmNoIGlucHV0IHtcbiAgY29sb3I6ICNmZmY7XG59XG4ubmF2LmlzLXN0dWNrIC5uc2VhcmNoX19idG4ge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcyKTtcbn1cbi5uYXYuaXMtc3R1Y2sgLm5zZWFyY2guaXMtb3BlbiB7XG4gIGJhY2tncm91bmQ6ICMwMDA7XG59XG4ubmF2LmlzLXN0dWNrIC5uc2VhcmNoIGlucHV0OjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNDUpO1xufVxuLm5hdl9faW5uZXIge1xuICB3aWR0aDogbWluKDEwMCUgLSB2YXIoLS1ndXR0ZXIpICogMiwgdmFyKC0tbWF4dykpO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogY2xhbXAoMXJlbSwgM3Z3LCAzcmVtKTtcbn1cbi5uYXZfX21hcmsge1xuICBmbGV4OiBub25lO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAwLjc1cmVtO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbiAgZm9udC1zaXplOiAxLjA1cmVtO1xuICBmb250LXdlaWdodDogOTAwO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbi5uYXZfX21hcmsgaW1nIHtcbiAgaGVpZ2h0OiAzMHB4O1xuICB3aWR0aDogYXV0bztcbn1cbi5uYXZfX25hbWUge1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbiAgZm9udC1zaXplOiBjbGFtcCgxcmVtLCAyLjJ2dywgMS4zNXJlbSk7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjb2xvcjogaW5oZXJpdDtcbn1cbi5uYXZfX2xvZ28ge1xuICAtLWxvZ28taDogY2xhbXAoMTkuMzZweCwgMi40MnZ3LCAyNi42MnB4KTtcbiAgLS1sb2dvLXJhdGlvOiAxMTg4LjU3IC8gMTA3LjY5O1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiBjYWxjKHZhcigtLWxvZ28taCkgKyAxcHgpO1xuICB3aWR0aDogY2FsYyh2YXIoLS1sb2dvLWgpICogKHZhcigtLWxvZ28tcmF0aW8pKSArIDFweCk7XG4gIGJhY2tncm91bmQ6IGN1cnJlbnRDb2xvcjtcbiAgLXdlYmtpdC1tYXNrOiB2YXIoLS1zcmMpIGNlbnRlci9hdXRvIHZhcigtLWxvZ28taCkgbm8tcmVwZWF0O1xuICBtYXNrOiB2YXIoLS1zcmMpIGNlbnRlci9hdXRvIHZhcigtLWxvZ28taCkgbm8tcmVwZWF0O1xufVxuLm5hdl9fbWVudSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogY2xhbXAoMC43NXJlbSwgMS44dncsIDJyZW0pO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW4taW5saW5lOiBhdXRvO1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDEwODBweCkge1xuICAubmF2X19tZW51IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4ubmF2X19saW5rIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAwLjVyZW0gMDtcbiAgZm9udC1zaXplOiAwLjg1cmVtO1xuICBmb250LXdlaWdodDogNTAwO1xuICBsZXR0ZXItc3BhY2luZzogMC4wMmVtO1xuICBjb2xvcjogdmFyKC0taW5rLTIpO1xuICB0cmFuc2l0aW9uOiBjb2xvciB2YXIoLS1kdXItZmFzdCkgY3ViaWMtYmV6aWVyKDAuMjIsIDAuNjEsIDAuMzYsIDEpO1xufVxuLm5hdl9fbGluazo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGhlaWdodDogMXB4O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hY2NlbnQpO1xuICB0cmFuc2Zvcm06IHNjYWxlWCgwKTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgY3ViaWMtYmV6aWVyKDAuMTYsIDEsIDAuMywgMSk7XG59XG4ubmF2X19saW5rOmhvdmVyLCAubmF2X19saW5rW2FyaWEtY3VycmVudF0ge1xuICBjb2xvcjogdmFyKC0taW5rKTtcbn1cbi5uYXZfX2xpbms6aG92ZXI6OmFmdGVyLCAubmF2X19saW5rW2FyaWEtY3VycmVudF06OmFmdGVyIHtcbiAgdHJhbnNmb3JtOiBzY2FsZVgoMSk7XG59XG4ubmF2X190b29scyB7XG4gIGZsZXg6IG5vbmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMC43NXJlbTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG59XG5cbi5jYXJ0cGlsbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDQycHg7XG4gIGhlaWdodDogNDJweDtcbiAgZmxleDogbm9uZTtcbiAgZGlzcGxheTogZ3JpZDtcbiAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbGluZSk7XG4gIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICBjb2xvcjogdmFyKC0taW5rKTtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciB2YXIoLS1kdXItZmFzdCkgY3ViaWMtYmV6aWVyKDAuMjIsIDAuNjEsIDAuMzYsIDEpLCBjb2xvciB2YXIoLS1kdXItZmFzdCkgY3ViaWMtYmV6aWVyKDAuMjIsIDAuNjEsIDAuMzYsIDEpLCB3aWR0aCAwLjM1cyBjdWJpYy1iZXppZXIoMC4xNiwgMSwgMC4zLCAxKSwgbWFyZ2luIDAuMzVzIGN1YmljLWJlemllcigwLjE2LCAxLCAwLjMsIDEpLCBvcGFjaXR5IDAuM3MgY3ViaWMtYmV6aWVyKDAuMjIsIDAuNjEsIDAuMzYsIDEpO1xufVxuLmNhcnRwaWxsLmlzLWVtcHR5IHtcbiAgd2lkdGg6IDA7XG4gIG1hcmdpbi1sZWZ0OiAtMC43NXJlbTtcbiAgb3BhY2l0eTogMDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4uY2FydHBpbGwgc3ZnIHtcbiAgd2lkdGg6IDE4cHg7XG4gIGhlaWdodDogMThweDtcbn1cbi5jYXJ0cGlsbF9fbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtNXB4O1xuICByaWdodDogLTVweDtcbiAgbWluLXdpZHRoOiAxOXB4O1xuICBoZWlnaHQ6IDE5cHg7XG4gIHBhZGRpbmctaW5saW5lOiA1cHg7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hY2NlbnQpO1xuICBjb2xvcjogdmFyKC0tb24tYWNjZW50KTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ubyk7XG4gIGZvbnQtc2l6ZTogMC42NnJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDJweCB2YXIoLS1iZyk7XG59XG4uY2FydHBpbGxfX3Yge1xuICBncmlkLWFyZWE6IDEvMTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG59XG4uY2FydHBpbGxfX3YuaXMtb3V0LXVwIHtcbiAgYW5pbWF0aW9uOiBjYXJ0cGlsbC1vdXQtdXAgMC4zMnMgY3ViaWMtYmV6aWVyKDAuMTYsIDEsIDAuMywgMSkgZm9yd2FyZHM7XG59XG4uY2FydHBpbGxfX3YuaXMtaW4tdXAge1xuICBhbmltYXRpb246IGNhcnRwaWxsLWluLXVwIDAuMzJzIGN1YmljLWJlemllcigwLjE2LCAxLCAwLjMsIDEpO1xufVxuLmNhcnRwaWxsX192LmlzLW91dC1kb3duIHtcbiAgYW5pbWF0aW9uOiBjYXJ0cGlsbC1vdXQtZG93biAwLjMycyBjdWJpYy1iZXppZXIoMC4xNiwgMSwgMC4zLCAxKSBmb3J3YXJkcztcbn1cbi5jYXJ0cGlsbF9fdi5pcy1pbi1kb3duIHtcbiAgYW5pbWF0aW9uOiBjYXJ0cGlsbC1pbi1kb3duIDAuMzJzIGN1YmljLWJlemllcigwLjE2LCAxLCAwLjMsIDEpO1xufVxuQG1lZGlhIChob3ZlcjogaG92ZXIpIGFuZCAocG9pbnRlcjogZmluZSkge1xuICAuY2FydHBpbGw6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYWNjZW50KTtcbiAgICBjb2xvcjogdmFyKC0tYWNjZW50LWluayk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBjYXJ0cGlsbC1vdXQtdXAge1xuICB0byB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMTAlKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGNhcnRwaWxsLWluLXVwIHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDExMCUpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbkBrZXlmcmFtZXMgY2FydHBpbGwtb3V0LWRvd24ge1xuICB0byB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDExMCUpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbkBrZXlmcmFtZXMgY2FydHBpbGwtaW4tZG93biB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTEwJSk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuLnRvZ2dsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDQycHg7XG4gIGhlaWdodDogNDJweDtcbiAgZGlzcGxheTogZ3JpZDtcbiAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbGluZSk7XG4gIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICBjb2xvcjogdmFyKC0taW5rKTtcbiAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIHZhcigtLWR1ci1mYXN0KSBjdWJpYy1iZXppZXIoMC4yMiwgMC42MSwgMC4zNiwgMSksIHRyYW5zZm9ybSB2YXIoLS1kdXItZmFzdCkgY3ViaWMtYmV6aWVyKDAuMjIsIDAuNjEsIDAuMzYsIDEpO1xufVxuQG1lZGlhIChob3ZlcjogaG92ZXIpIGFuZCAocG9pbnRlcjogZmluZSkge1xuICAudG9nZ2xlOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWFjY2VudCk7XG4gICAgY29sb3I6IHZhcigtLWFjY2VudC1pbmspO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDE4ZGVnKTtcbiAgfVxufVxuLnRvZ2dsZSBzdmcge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxN3B4O1xuICBoZWlnaHQ6IDE3cHg7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgdmFyKC0tZHVyLWZhc3QpIGN1YmljLWJlemllcigwLjIyLCAwLjYxLCAwLjM2LCAxKSwgdHJhbnNmb3JtIDAuNHMgY3ViaWMtYmV6aWVyKDAuMTYsIDEsIDAuMywgMSk7XG59XG4udG9nZ2xlIC5pLXN1biB7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zZm9ybTogcm90YXRlKDApIHNjYWxlKDEpO1xufVxuLnRvZ2dsZSAuaS1tb29uIHtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKSBzY2FsZSgwLjQpO1xufVxuW2RhdGEtdGhlbWU9bGlnaHRdIC50b2dnbGUgLmktc3VuIHtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpIHNjYWxlKDAuNCk7XG59XG5bZGF0YS10aGVtZT1saWdodF0gLnRvZ2dsZSAuaS1tb29uIHtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMCkgc2NhbGUoMSk7XG59XG5cbi5uc2VhcmNoLXNsb3Qge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiA0MnB4O1xuICBoZWlnaHQ6IDQycHg7XG4gIGZsZXg6IG5vbmU7XG59XG5AbWVkaWEgKG1heC13aWR0aDogMTA4MHB4KSB7XG4gIC5uc2VhcmNoLXNsb3Qge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLm5zZWFyY2gge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHdpZHRoOiA0MnB4O1xuICBoZWlnaHQ6IDQycHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpbmUpO1xuICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IHdpZHRoIDAuNDVzIGN1YmljLWJlemllcigwLjE2LCAxLCAwLjMsIDEpLCBib3JkZXItY29sb3IgdmFyKC0tZHVyLWZhc3QpIGN1YmljLWJlemllcigwLjIyLCAwLjYxLCAwLjM2LCAxKSwgYmFja2dyb3VuZC1jb2xvciB2YXIoLS1kdXItZmFzdCkgY3ViaWMtYmV6aWVyKDAuMjIsIDAuNjEsIDAuMzYsIDEpO1xufVxuLm5zZWFyY2g6aG92ZXIsIC5uc2VhcmNoOmZvY3VzLXdpdGhpbiB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYWNjZW50KTtcbn1cbi5uc2VhcmNoLmlzLW9wZW4ge1xuICB3aWR0aDogY2xhbXAoMjAwcHgsIDIxdncsIDI5MHB4KTtcbiAgYmFja2dyb3VuZDogdmFyKC0tYmcpO1xufVxuLm5zZWFyY2ggaW5wdXQge1xuICBmbGV4OiAxO1xuICBtaW4td2lkdGg6IDA7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgY29sb3I6IHZhcigtLWluayk7XG4gIGZvbnQtc2l6ZTogMC44OHJlbTtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjI1cyBjdWJpYy1iZXppZXIoMC4yMiwgMC42MSwgMC4zNiwgMSksIHBhZGRpbmcgMC40NXMgY3ViaWMtYmV6aWVyKDAuMTYsIDEsIDAuMywgMSk7XG59XG4ubnNlYXJjaCBpbnB1dDo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogdmFyKC0taW5rLTMpO1xufVxuLm5zZWFyY2ggaW5wdXQ6Zm9jdXMtdmlzaWJsZSB7XG4gIG91dGxpbmU6IG5vbmU7XG59XG4ubnNlYXJjaC5pcy1vcGVuIGlucHV0IHtcbiAgb3BhY2l0eTogMTtcbiAgcGFkZGluZy1sZWZ0OiAxcmVtO1xufVxuLm5zZWFyY2hfX2J0biB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIGZsZXg6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGNvbG9yOiB2YXIoLS1pbmstMik7XG4gIHRyYW5zaXRpb246IGNvbG9yIHZhcigtLWR1ci1mYXN0KSBjdWJpYy1iZXppZXIoMC4yMiwgMC42MSwgMC4zNiwgMSk7XG59XG4ubnNlYXJjaF9fYnRuIHN2ZyB7XG4gIHdpZHRoOiAxOS4ycHg7XG4gIGhlaWdodDogMTkuMnB4O1xufVxuLm5zZWFyY2g6aG92ZXIgLm5zZWFyY2hfX2J0biwgLm5zZWFyY2g6Zm9jdXMtd2l0aGluIC5uc2VhcmNoX19idG4ge1xuICBjb2xvcjogdmFyKC0tYWNjZW50LWluayk7XG59XG5cbmlucHV0W3R5cGU9c2VhcmNoXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgd2lkdGg6IDIwLjRweDtcbiAgaGVpZ2h0OiAyMC40cHg7XG4gIGJhY2tncm91bmQ6IGN1cnJlbnRDb2xvcjtcbiAgY29sb3I6IHZhcigtLWluay0zKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBtYXJnaW4tcmlnaHQ6IC0wLjZyZW07XG4gIC13ZWJraXQtbWFzazogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCclM0UlM0NwYXRoIGQ9J001IDVsMTQgMTRNMTkgNUw1IDE5JyBmaWxsPSdub25lJyBzdHJva2U9JyUyMzAwMCcgc3Ryb2tlLXdpZHRoPScyJyBzdHJva2UtbGluZWNhcD0ncm91bmQnLyUzRSUzQy9zdmclM0VcIikgY2VudGVyL2NvbnRhaW4gbm8tcmVwZWF0O1xuICBtYXNrOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDI0IDI0JyUzRSUzQ3BhdGggZD0nTTUgNWwxNCAxNE0xOSA1TDUgMTknIGZpbGw9J25vbmUnIHN0cm9rZT0nJTIzMDAwJyBzdHJva2Utd2lkdGg9JzInIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcvJTNFJTNDL3N2ZyUzRVwiKSBjZW50ZXIvY29udGFpbiBuby1yZXBlYXQ7XG4gIHRyYW5zaXRpb246IGNvbG9yIHZhcigtLWR1ci1mYXN0KSBjdWJpYy1iZXppZXIoMC4yMiwgMC42MSwgMC4zNiwgMSk7XG59XG5AbWVkaWEgKGhvdmVyOiBob3ZlcikgYW5kIChwb2ludGVyOiBmaW5lKSB7XG4gIGlucHV0W3R5cGU9c2VhcmNoXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbjpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLWluayk7XG4gIH1cbn1cblxuLmRzZWFyY2gge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBoZWlnaHQ6IDU0cHg7XG4gIG1hcmdpbi1ib3R0b206IDJyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpbmUpO1xuICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciB2YXIoLS1kdXItZmFzdCkgY3ViaWMtYmV6aWVyKDAuMjIsIDAuNjEsIDAuMzYsIDEpO1xufVxuLmRzZWFyY2g6aG92ZXIsIC5kc2VhcmNoOmZvY3VzLXdpdGhpbiB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYWNjZW50KTtcbn1cbi5kc2VhcmNoIGlucHV0IHtcbiAgZmxleDogMTtcbiAgbWluLXdpZHRoOiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBhZGRpbmctaW5saW5lOiAxLjVyZW07XG4gIGJvcmRlcjogMDtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgY29sb3I6IHZhcigtLWluayk7XG59XG4uZHNlYXJjaCBpbnB1dDo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogdmFyKC0taW5rLTMpO1xufVxuLmRzZWFyY2ggaW5wdXQ6Zm9jdXMtdmlzaWJsZSB7XG4gIG91dGxpbmU6IG5vbmU7XG59XG4uZHNlYXJjaCBidXR0b24ge1xuICBkaXNwbGF5OiBncmlkO1xuICBwbGFjZS1pdGVtczogY2VudGVyO1xuICB3aWR0aDogNTJweDtcbiAgaGVpZ2h0OiA1MnB4O1xuICBmbGV4OiBub25lO1xuICBtYXJnaW4tcmlnaHQ6IDFweDtcbiAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGNvbG9yOiB2YXIoLS1pbmstMik7XG4gIHRyYW5zaXRpb246IGNvbG9yIHZhcigtLWR1ci1mYXN0KSBjdWJpYy1iZXppZXIoMC4yMiwgMC42MSwgMC4zNiwgMSk7XG59XG4uZHNlYXJjaCBidXR0b24gc3ZnIHtcbiAgd2lkdGg6IDIwLjRweDtcbiAgaGVpZ2h0OiAyMC40cHg7XG59XG4uZHNlYXJjaDpob3ZlciBidXR0b24sIC5kc2VhcmNoOmZvY3VzLXdpdGhpbiBidXR0b24ge1xuICBjb2xvcjogdmFyKC0tYWNjZW50LWluayk7XG59XG5cbi5idXJnZXIge1xuICBkaXNwbGF5OiBub25lO1xuICB3aWR0aDogNDJweDtcbiAgaGVpZ2h0OiA0MnB4O1xuICBwbGFjZS1pdGVtczogY2VudGVyO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1saW5lKTtcbiAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG59XG5AbWVkaWEgKG1heC13aWR0aDogMTA4MHB4KSB7XG4gIC5idXJnZXIge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gIH1cbn1cbi5idXJnZXIgc3BhbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxNnB4O1xuICBoZWlnaHQ6IDEuNXB4O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1pbmspO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBjdWJpYy1iZXppZXIoMC4yMiwgMC42MSwgMC4zNiwgMSksIG9wYWNpdHkgMC4ycyBjdWJpYy1iZXppZXIoMC4yMiwgMC42MSwgMC4zNiwgMSk7XG59XG4uYnVyZ2VyIHNwYW46OmJlZm9yZSwgLmJ1cmdlciBzcGFuOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDE2cHg7XG4gIGhlaWdodDogMS41cHg7XG4gIGJhY2tncm91bmQ6IHZhcigtLWluayk7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGN1YmljLWJlemllcigwLjE2LCAxLCAwLjMsIDEpLCB0b3AgMC4zcyBjdWJpYy1iZXppZXIoMC4yMiwgMC42MSwgMC4zNiwgMSksIGJvdHRvbSAwLjNzIGN1YmljLWJlemllcigwLjIyLCAwLjYxLCAwLjM2LCAxKTtcbn1cbi5idXJnZXIgc3Bhbjo6YmVmb3JlIHtcbiAgdG9wOiAtNXB4O1xufVxuLmJ1cmdlciBzcGFuOjphZnRlciB7XG4gIGJvdHRvbTogLTVweDtcbn1cbi5idXJnZXJbYXJpYS1leHBhbmRlZD10cnVlXSBzcGFuOjpiZWZvcmUge1xuICB0b3A6IDA7XG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbn1cbi5idXJnZXJbYXJpYS1leHBhbmRlZD10cnVlXSBzcGFuOjphZnRlciB7XG4gIGJvdHRvbTogMDtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbn1cblxuQG1lZGlhIChob3ZlcjogaG92ZXIpIGFuZCAocG9pbnRlcjogZmluZSkge1xuICAubmF2IC5idXJnZXI6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYWNjZW50KTtcbiAgfVxuICAubmF2IC5idXJnZXI6aG92ZXIgc3Bhbjo6YmVmb3JlLFxuICAubmF2IC5idXJnZXI6aG92ZXIgc3Bhbjo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWFjY2VudC1pbmspO1xuICB9XG4gIC5uYXYgLmJ1cmdlcjpob3Zlcjpub3QoW2FyaWEtZXhwYW5kZWQ9dHJ1ZV0pIHNwYW4ge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWFjY2VudC1pbmspO1xuICB9XG59XG4ubmF2IC5idXJnZXJbYXJpYS1leHBhbmRlZD10cnVlXSB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYWNjZW50KTtcbn1cbi5uYXYgLmJ1cmdlclthcmlhLWV4cGFuZGVkPXRydWVdIHNwYW4ge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cbi5uYXYgLmJ1cmdlclthcmlhLWV4cGFuZGVkPXRydWVdIHNwYW46OmJlZm9yZSxcbi5uYXYgLmJ1cmdlclthcmlhLWV4cGFuZGVkPXRydWVdIHNwYW46OmFmdGVyIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWNjZW50LWluayk7XG59XG5cbi5kcmF3ZXIge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGluc2V0OiAwO1xuICB6LWluZGV4OiA5OTtcbiAgZGlzcGxheTogZ3JpZDtcbiAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nOiB2YXIoLS1uYXYtaCkgdmFyKC0tZ3V0dGVyKSA0cmVtO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1iZyk7XG4gIGNsaXAtcGF0aDogaW5zZXQoMCAwIDEwMCUgMCk7XG4gIHRyYW5zaXRpb246IGNsaXAtcGF0aCAwLjZzIGN1YmljLWJlemllcigwLjE2LCAxLCAwLjMsIDEpO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5kcmF3ZXIuaXMtb3BlbiB7XG4gIGNsaXAtcGF0aDogaW5zZXQoMCAwIDAgMCk7XG4gIHBvaW50ZXItZXZlbnRzOiBhbGw7XG59XG4uZHJhd2VyIHVsIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cbi5kcmF3ZXIgbGkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tbGluZSk7XG59XG4uZHJhd2VyIGxpOmxhc3QtY2hpbGQge1xuICBib3JkZXItYm90dG9tOiAwO1xufVxuLmRyYXdlciBhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDFyZW0gMDtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGZvbnQtc2l6ZTogY2xhbXAoMzBweCwgMTkuMzMzMzMzMzMzM3B4ICsgMi42NjY2NjY2NjY3dncsIDYycHgpO1xuICBmb250LXdlaWdodDogOTAwO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAzZW07XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMTAlKTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNnMgY3ViaWMtYmV6aWVyKDAuMTYsIDEsIDAuMywgMSkgY2FsYyh2YXIoLS1pLCAwKSAqIDAuMDVzKSwgY29sb3IgdmFyKC0tZHVyLWZhc3QpIGN1YmljLWJlemllcigwLjIyLCAwLjYxLCAwLjM2LCAxKTtcbn1cbi5kcmF3ZXIgYTpob3ZlciwgLmRyYXdlciBhW2FyaWEtY3VycmVudF0ge1xuICBjb2xvcjogdmFyKC0tYWNjZW50LWluayk7XG59XG4uZHJhd2VyLmlzLW9wZW4gYSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbn1cblxuLmhhcHQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGdhcDogMXJlbTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi10b3A6IDEuNXJlbTtcbiAgcGFkZGluZy10b3A6IDFyZW07XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1saW5lKTtcbiAgY29sb3I6IHZhcigtLWluayk7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuICBmb250LXNpemU6IGNsYW1wKDAuOXJlbSwgMS4xdncsIDEuMTVyZW0pO1xuICBmb250LXdlaWdodDogOTAwO1xuICBsaW5lLWhlaWdodDogY2FsYygxICogdmFyKC0tZGlzcGxheS1sZWFkaW5nKSk7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zO1xufVxuLmhhcHRfX3RyYWNrIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbGV4OiBub25lO1xuICB3aWR0aDogNDZweDtcbiAgaGVpZ2h0OiAyNnB4O1xuICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgYmFja2dyb3VuZDogdmFyKC0tbGluZS0yKTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCB2YXIoLS1kdXItZmFzdCkgY3ViaWMtYmV6aWVyKDAuMjIsIDAuNjEsIDAuMzYsIDEpO1xufVxuLmhhcHRfX3RodW1iIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDNweDtcbiAgbGVmdDogM3B4O1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAyMHB4O1xuICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgYmFja2dyb3VuZDogdmFyKC0tYmcpO1xuICB0cmFuc2l0aW9uOiB0cmFuc2xhdGUgdmFyKC0tZHVyLWZhc3QpIGN1YmljLWJlemllcigwLjIyLCAwLjYxLCAwLjM2LCAxKTtcbn1cbi5oYXB0W2FyaWEtY2hlY2tlZD10cnVlXSAuaGFwdF9fdHJhY2sge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hY2NlbnQpO1xufVxuLmhhcHRbYXJpYS1jaGVja2VkPXRydWVdIC5oYXB0X190aHVtYiB7XG4gIHRyYW5zbGF0ZTogMjBweCAwO1xufVxuXG4uZHJhd2VyIC5oYXB0IHtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjRzIGN1YmljLWJlemllcigwLjIyLCAwLjYxLCAwLjM2LCAxKSAwLjM1cztcbn1cblxuLmRyYXdlci5pcy1vcGVuIC5oYXB0IHtcbiAgb3BhY2l0eTogMTtcbn1cblxuLmhlcm8ge1xuICAtLXBob3RvLXc6IG1pbihjbGFtcCgzNzJweCwgNDguOHZ3LCA4MDRweCksIDgwLjRzdmgpO1xufVxuLmhlcm8tLTQwNCwgLmhlcm8tLW5vLXRpY2tlciB7XG4gIC0tdGlja2VyLWg6IDBweDtcbn1cbi5oZXJvIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtaW4taGVpZ2h0OiBjYWxjKDEwMHN2aCArIHZhcigtLXRpY2tlci1oKSk7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtcm93czogMWZyIGF1dG87XG4gIHBhZGRpbmctdG9wOiBjYWxjKHZhcigtLW5hdi1oKSArIGNsYW1wKDAuNXJlbSwgMnZ3LCAxLjVyZW0pKTtcbiAgcGFkZGluZy1ib3R0b206IGNhbGMoY2xhbXAoNHJlbSwgN3ZoLCA2cmVtKSArIHZhcigtLXRpY2tlci1oKSk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIC0tYmxvb206IDM0JTtcbn1cbi5oZXJvOjpiZWZvcmUge1xuICBkaXNwbGF5OiBub25lO1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTIwJTtcbiAgbGVmdDogNTAlO1xuICB3aWR0aDogbWluKDEyMHZ3LCAxNDAwcHgpO1xuICBhc3BlY3QtcmF0aW86IDE7XG4gIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUsIGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1hY2NlbnQpIHZhcigtLWJsb29tKSwgdHJhbnNwYXJlbnQpIDAlLCB0cmFuc3BhcmVudCA2MiUpO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgdHJhbnNsYXRlOiAtNTAlIDA7XG4gIGFuaW1hdGlvbjogYmxvb20tZHJpZnQgNTNzIGVhc2UtaW4tb3V0IGluZmluaXRlLCBibG9vbS1wdWxzZSAzN3MgZWFzZS1pbi1vdXQgaW5maW5pdGUgYWx0ZXJuYXRlO1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDc4MHB4KSB7XG4gIC5oZXJvIHtcbiAgICAtLWJsb29tOiA0OCU7XG4gIH1cbn1cbi5oZXJvX19pbm5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjtcbiAgd2lkdGg6IG1pbigxMDAlIC0gdmFyKC0tZ3V0dGVyKSAqIDIsIHZhcigtLW1heHcpKTtcbiAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgZGlzcGxheTogY29udGVudHM7XG59XG4uaGVyb19fcGhvdG8ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIHotaW5kZXg6IDI7XG4gIHdpZHRoOiB2YXIoLS1waG90by13KTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuLmhlcm9fX3Bob3RvIHBpY3R1cmUge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3ODFweCkge1xuICAuaGVyb19fcGhvdG86OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBoZWlnaHQ6IHZhcigtLXRpY2tlci1oKTtcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgfVxufVxuLmhlcm9fX3Bob3RvIGltZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDc4MHB4KSB7XG4gIC5oZXJvX19waG90byB7XG4gICAgd2lkdGg6IDEzOC4zMnZ3O1xuICAgIHJpZ2h0OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1MCUpO1xuICAgIG9wYWNpdHk6IDAuMjI7XG4gIH1cbn1cbi5oZXJvX190aXRsZSB7XG4gIGdyaWQtcm93OiAxO1xuICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gIHdpZHRoOiBtaW4oMTAwJSAtIHZhcigtLWd1dHRlcikgKiAyLCB2YXIoLS1tYXh3KSk7XG4gIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIGZvbnQtc2l6ZTogbWluKDEyLjV2dywgMThzdmgsIDE5MHB4KTtcbiAgbGluZS1oZWlnaHQ6IGNhbGMoMC44MiAqIHZhcigtLWRpc3BsYXktbGVhZGluZykpO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDQ1ZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzgxcHgpIHtcbiAgLmhlcm9fX3RpdGxlIHtcbiAgICBmb250LXNpemU6IG1pbigoMTAwdncgLSB2YXIoLS1waG90by13KSAtIHZhcigtLWd1dHRlcikgLSAxLjVyZW0pIC8gNS42LCAxOXN2aCwgMTkwcHgpO1xuICB9XG59XG4uaGVyb19fd29yZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nLWJvdHRvbTogMC4xNGVtO1xuICBtYXJnaW4tYm90dG9tOiAtMC4xNGVtO1xufVxuLmhlcm9fX3dvcmQgPiBzcGFuIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMjAlKTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDFzIGN1YmljLWJlemllcigwLjE2LCAxLCAwLjMsIDEpIGNhbGModmFyKC0taSwgMCkgKiAwLjA5cyk7XG59XG4uaXMtcmVhZHkgLmhlcm9fX3dvcmQgPiBzcGFuIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xufVxuLmhlcm9fX3dvcmQtLWhvbGxvdyA+IHNwYW4ge1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC13ZWJraXQtdGV4dC1zdHJva2U6IGNsYW1wKDFweCwgMC4xMnZ3LCAzcHgpIHZhcigtLWluayk7XG59XG4uaGVyb19fd29yZC0tYWNjZW50ID4gc3BhbiB7XG4gIGNvbG9yOiB2YXIoLS1hY2NlbnQtaW5rKTtcbn1cbi5oZXJvX19mb290IHtcbiAgZ3JpZC1yb3c6IDI7XG4gIHdpZHRoOiBtaW4oMTAwJSAtIHZhcigtLWd1dHRlcikgKiAyLCB2YXIoLS1tYXh3KSk7XG4gIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjtcbiAgZGlzcGxheTogZ3JpZDtcbiAganVzdGlmeS1pdGVtczogc3RhcnQ7XG4gIGdhcDogY2xhbXAoMS4yNXJlbSwgMi41dmgsIDEuNzVyZW0pO1xuICBwYWRkaW5nLXRvcDogY2xhbXAoMXJlbSwgM3ZoLCAycmVtKTtcbn1cbi5oZXJvX19sb2dvcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBnYXA6IGNhbGMoY2xhbXAoMS4yNXJlbSwgMi40dncsIDIuNzVyZW0pIC0gMnB4KTtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luLWJvdHRvbTogY2xhbXAoMC4yNXJlbSwgMXZoLCAwLjc1cmVtKTtcbn1cbi5oZXJvX19sb2dvcyA+IGxpIHtcbiAgbWluLXdpZHRoOiAwO1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDc4MHB4KSB7XG4gIC5oZXJvX19sb2dvcyB7XG4gICAgZ2FwOiBjbGFtcCgwLjVyZW0sIDIuOHZ3LCAxLjI1cmVtKTtcbiAgfVxufVxuLmhlcm9fX2JsdXJiIHtcbiAgZm9udC1zaXplOiBjbGFtcCgxcmVtLCAwLjQ1dncgKyAwLjlyZW0sIDEuMnJlbSk7XG4gIGNvbG9yOiB2YXIoLS1pbmstMik7XG4gIG1heC13aWR0aDogNDZjaDtcbn1cbi5oZXJvX19jdGEge1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDAuNzVyZW07XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cbi5oZXJvX19jdGEgLmJ0bjpub3QoLmJ0bi0tYWNjZW50KSB7XG4gIC0tYnRuLWxpbmU6IHZhcigtLWxpbmUtMi1mbGF0KTtcbn1cbi5oZXJvID4gLnRpY2tlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgei1pbmRleDogMTtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA3ODBweCkge1xuICAuaGVybyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGdhcDogMS41cmVtO1xuICB9XG4gIC5oZXJvIC5oZXJvX190aXRsZSxcbiAgLmhlcm8gLmhlcm9fX2Zvb3Qge1xuICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBibG9vbS1kcmlmdCB7XG4gIDAlIHtcbiAgICB0cmFuc2xhdGU6IC01MCUgMDtcbiAgfVxuICAyMyUge1xuICAgIHRyYW5zbGF0ZTogLTQwJSA1JTtcbiAgfVxuICA0MSUge1xuICAgIHRyYW5zbGF0ZTogLTU5JSA5JTtcbiAgfVxuICA2NCUge1xuICAgIHRyYW5zbGF0ZTogLTQ0JSAtNCU7XG4gIH1cbiAgODMlIHtcbiAgICB0cmFuc2xhdGU6IC01NyUgMyU7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNsYXRlOiAtNTAlIDA7XG4gIH1cbn1cbkBrZXlmcmFtZXMgYmxvb20tcHVsc2Uge1xuICBmcm9tIHtcbiAgICBzY2FsZTogMTtcbiAgICBvcGFjaXR5OiAwLjYyO1xuICB9XG4gIHRvIHtcbiAgICBzY2FsZTogMS4yODtcbiAgICBvcGFjaXR5OiAwLjk7XG4gIH1cbn1cbi53YXZlIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAzcHg7XG4gIGhlaWdodDogMzRweDtcbn1cbi53YXZlIHNwYW4ge1xuICB3aWR0aDogM3B4O1xuICBoZWlnaHQ6IDMwJTtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hY2NlbnQpO1xuICBvcGFjaXR5OiAwLjg1O1xuICBhbmltYXRpb246IHdhdmUgMS4xcyBjdWJpYy1iZXppZXIoMC4yMiwgMC42MSwgMC4zNiwgMSkgaW5maW5pdGUgYWx0ZXJuYXRlO1xuICBhbmltYXRpb24tZGVsYXk6IGNhbGModmFyKC0taSkgKiAtMC4wOXMpO1xufVxuLndhdmUtLW11dGVkIHNwYW4ge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1pbmstMyk7XG59XG5cbkBrZXlmcmFtZXMgd2F2ZSB7XG4gIGZyb20ge1xuICAgIGhlaWdodDogMTQlO1xuICB9XG4gIHRvIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbn1cbi5jdWUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDUwJTtcbiAgYm90dG9tOiBjYWxjKDFyZW0gKyB2YXIoLS10aWNrZXItaCkpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIHotaW5kZXg6IDI7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGp1c3RpZnktaXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAwLjVyZW07XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm8pO1xuICBmb250LXNpemU6IDAuNjJyZW07XG4gIGxldHRlci1zcGFjaW5nOiAwLjJlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6IHZhcigtLWluay0zKTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzIGN1YmljLWJlemllcigwLjIyLCAwLjYxLCAwLjM2LCAxKSwgdmlzaWJpbGl0eSAwLjVzLCBjb2xvciB2YXIoLS1kdXItZmFzdCkgY3ViaWMtYmV6aWVyKDAuMjIsIDAuNjEsIDAuMzYsIDEpO1xuICBwYWRkaW5nLWlubGluZTogMXJlbTtcbn1cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSBhbmQgKHBvaW50ZXI6IGZpbmUpIHtcbiAgLmN1ZTpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLWluayk7XG4gIH1cbn1cbi5jdWUuaXMtc3BlbnQge1xuICBvcGFjaXR5OiAwO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG4uY3VlOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogNDJweDtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHZhcigtLWluay0zKSwgdHJhbnNwYXJlbnQpO1xuICBhbmltYXRpb246IGRyb3AgMi4ycyBjdWJpYy1iZXppZXIoMC4yMiwgMC42MSwgMC4zNiwgMSkgaW5maW5pdGU7XG59XG5AbWVkaWEgKG1heC13aWR0aDogNzgwcHgpIHtcbiAgLmN1ZSB7XG4gICAgZm9udC1zaXplOiAwLjU4cmVtO1xuICAgIGdhcDogMC4yNXJlbTtcbiAgfVxuICAuY3VlOjphZnRlciB7XG4gICAgaGVpZ2h0OiAyNnB4O1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZHJvcCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWSgwKTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3A7XG4gIH1cbiAgNDUlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWSgxKTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3A7XG4gIH1cbiAgNTUlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWSgxKTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b207XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVkoMCk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tO1xuICB9XG59XG4udGlja2VyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBoZWlnaHQ6IHZhcigtLXRpY2tlci1oKTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWxpbmUpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS10aWNrZXItZmlsbCk7XG4gIGJhY2tkcm9wLWZpbHRlcjogYmx1cigxNHB4KTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi50aWNrZXJfX3ZpZXdwb3J0IHtcbiAgZmxleDogMTtcbiAgbWluLXdpZHRoOiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBtYXNrLWltYWdlOiBub25lO1xuICAtd2Via2l0LW1hc2staW1hZ2U6IG5vbmU7XG59XG4udGlja2VyX190cmFjayB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiBtYXgtY29udGVudDtcbiAgZmxleDogbm9uZTtcbiAgYW5pbWF0aW9uOiBtYXJxdWVlIDQycyBsaW5lYXIgaW5maW5pdGU7XG59XG4udGlja2VyOmhvdmVyIC50aWNrZXJfX3RyYWNrIHtcbiAgYW5pbWF0aW9uLXBsYXktc3RhdGU6IHBhdXNlZDtcbn1cbi50aWNrZXJfX3NldCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXg6IG5vbmU7XG59XG4udGlja2VyX19pdGVtIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMnJlbTtcbiAgcGFkZGluZy1pbmxpbmU6IDAgMnJlbTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGZvbnQtc2l6ZTogY2xhbXAoMC41OTJyZW0sIDEuNDU4dncgLSAxLjIxNXB4LCAxLjJyZW0pO1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDc4MHB4KSB7XG4gIC50aWNrZXJfX2l0ZW0ge1xuICAgIGZvbnQtc2l6ZTogY2xhbXAoMC45NzVyZW0sIDIuNHZ3IC0gMnB4LCAxLjk3NXJlbSk7XG4gIH1cbn1cbi50aWNrZXJfX2l0ZW0ge1xuICBmb250LXdlaWdodDogOTAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgLXdlYmtpdC10ZXh0LXN0cm9rZTogMDtcbiAgdHJhbnNpdGlvbjogY29sb3IgdmFyKC0tZHVyLWZhc3QpIGN1YmljLWJlemllcigwLjIyLCAwLjYxLCAwLjM2LCAxKTtcbiAgY29sb3I6IHZhcigtLWluayk7XG59XG4udGlja2VyX19pdGVtOmhvdmVyIHtcbiAgY29sb3I6IHZhcigtLWFjY2VudCk7XG59XG4udGlja2VyX19pdGVtOm50aC1jaGlsZChldmVuKSB7XG4gIGNvbG9yOiB2YXIoLS1hY2NlbnQpO1xufVxuLnRpY2tlcl9faXRlbTpudGgtY2hpbGQoZXZlbik6aG92ZXIge1xuICBjb2xvcjogdmFyKC0taW5rKTtcbn1cbi50aWNrZXJfX2l0ZW0gLnRpY2tlcl9fc2VwIHtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmbGV4OiBub25lO1xuICBmb250LXdlaWdodDogNDAwO1xuICBjb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWluaykgMjUlLCB0cmFuc3BhcmVudCk7XG4gIC13ZWJraXQtdGV4dC1zdHJva2U6IDA7XG59XG4udGlja2VyLS1yZXZlcnNlIC50aWNrZXJfX3RyYWNrIHtcbiAgYW5pbWF0aW9uLWRpcmVjdGlvbjogcmV2ZXJzZTtcbn1cblxuQGtleWZyYW1lcyBtYXJxdWVlIHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB9XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIH1cbn1cbi5pbmRleCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWxpbmUpO1xuICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC44cyBsaW5lYXIgMC4xcztcbn1cbi5pbmRleDpoYXMoPiAuZXA6Zmlyc3Qtb2YtdHlwZS5pcy1vbikge1xuICBib3JkZXItdG9wLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5pbmRleCB7XG4gIC0tZXAtdzogY2xhbXAoMjMycHgsIDIzLjR2dywgMzIwcHgpO1xufVxuXG4uZXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byBtaW5tYXgoMCwgMWZyKSBhdXRvIGF1dG87XG4gIGdyaWQtdGVtcGxhdGUtcm93czogYXV0byBhdXRvIGF1dG87XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGNvbHVtbi1nYXA6IGNsYW1wKDEuMjVyZW0sIDIuNnZ3LCAyLjVyZW0pO1xuICByb3ctZ2FwOiAwO1xuICBwYWRkaW5nLWJsb2NrOiBjbGFtcCgxLjVyZW0sIDIuNnZ3LCAyLjVyZW0pO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tbGluZSk7XG4gIGlzb2xhdGlvbjogaXNvbGF0ZTtcbiAgei1pbmRleDogMTtcbiAgdHJhbnNpdGlvbjogY29sb3IgdmFyKC0tZHVyLWZhc3QpIGN1YmljLWJlemllcigwLjIyLCAwLjYxLCAwLjM2LCAxKSwgYm9yZGVyLWNvbG9yIDAuOHMgbGluZWFyIDAuMXM7XG59XG5AbWVkaWEgKG1heC13aWR0aDogNzgwcHgpIHtcbiAgLmVwIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gbWlubWF4KDAsIDFmcik7XG4gICAgY29sdW1uLWdhcDogMXJlbTtcbiAgfVxufVxuLmVwOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGluc2V0OiAwIGNhbGModmFyKC0tZ3V0dGVyKSAqIC0wLjUpO1xuICB6LWluZGV4OiAtMTtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWNjZW50LWRlZXApO1xuICB0cmFuc2Zvcm06IHNjYWxlWSgwKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC40cyBjdWJpYy1iZXppZXIoMC4xNiwgMSwgMC4zLCAxKTtcbn1cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSBhbmQgKHBvaW50ZXI6IGZpbmUpIHtcbiAgLmVwOmhvdmVyIHtcbiAgICBjb2xvcjogdmFyKC0tb24tYWNjZW50KTtcbiAgfVxuICAuZXA6aG92ZXI6OmJlZm9yZSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVkoMSk7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA3ODBweCkge1xuICAuZXA6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgfVxufVxuLmVwLmlzLW9uIC5lcF9fdGh1bWIge1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuOTQpO1xufVxuLmVwLmlzLW9uIC5lcF9fZ28ge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xufVxuLmVwLmlzLW9uLCAuZXA6aGFzKCsgLmVwLmlzLW9uKSB7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLmVwX19ubyB7XG4gIGdyaWQtY29sdW1uOiAxO1xuICBncmlkLXJvdzogMS9zcGFuIDM7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm8pO1xuICBmb250LXNpemU6IDAuNzhyZW07XG4gIGNvbG9yOiB2YXIoLS1pbmstMyk7XG4gIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7XG4gIHRyYW5zaXRpb246IGNvbG9yIHZhcigtLWR1ci1mYXN0KSBjdWJpYy1iZXppZXIoMC4yMiwgMC42MSwgMC4zNiwgMSk7XG59XG5AbWVkaWEgKGhvdmVyOiBob3ZlcikgYW5kIChwb2ludGVyOiBmaW5lKSB7XG4gIC5lcDpob3ZlciAuZXBfX25vIHtcbiAgICBjb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW9uLWFjY2VudCkgODIlLCB0cmFuc3BhcmVudCk7XG4gIH1cbn1cbi5lcF9fdGh1bWIge1xuICBncmlkLWNvbHVtbjogMTtcbiAgZ3JpZC1yb3c6IDEvc3BhbiAzO1xuICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gIHdpZHRoOiB2YXIoLS1lcC13KTtcbiAgYXNwZWN0LXJhdGlvOiAxNi85O1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy0zKTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNDJzIGN1YmljLWJlemllcigwLjE2LCAxLCAwLjMsIDEpO1xufVxuLmVwX190aHVtYiBpbWcge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKSB0cmFuc2xhdGVaKDApO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjZzIGN1YmljLWJlemllcigwLjIyLCAwLjYxLCAwLjM2LCAxKSwgb3BhY2l0eSAwLjRzIGN1YmljLWJlemllcigwLjIyLCAwLjYxLCAwLjM2LCAxKSwgZmlsdGVyIDAuNHMgY3ViaWMtYmV6aWVyKDAuMjIsIDAuNjEsIDAuMzYsIDEpICFpbXBvcnRhbnQ7XG59XG5AbWVkaWEgKGhvdmVyOiBob3ZlcikgYW5kIChwb2ludGVyOiBmaW5lKSB7XG4gIC5lcDpob3ZlciAuZXBfX3RodW1iIGltZyB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA2KSB0cmFuc2xhdGVaKDApO1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogNzgwcHgpIHtcbiAgLmVwX190aHVtYiB7XG4gICAgd2lkdGg6IG1pbih2YXIoLS1lcC13KSwgNDB2dyk7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA1MjBweCkge1xuICAuZXBfX3RodW1iIHtcbiAgICB3aWR0aDogMzh2dztcbiAgfVxufVxuLmVwX19lcCB7XG4gIGdyaWQtY29sdW1uOiAyO1xuICBncmlkLXJvdzogMTtcbiAgYWxpZ24tc2VsZjogZW5kO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbiAgZm9udC1zaXplOiBjbGFtcCgwLjlyZW0sIDEuMXZ3LCAxLjE1cmVtKTtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgbGluZS1oZWlnaHQ6IGNhbGMoMSAqIHZhcigtLWRpc3BsYXktbGVhZGluZykpO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcbiAgY29sb3I6IHZhcigtLWFjY2VudC1pbmspO1xuICBtYXJnaW4tYm90dG9tOiAwLjNlbTtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA3ODBweCkge1xuICAuZXBfX2VwIHtcbiAgICBmb250LXNpemU6IDAuODRyZW07XG4gIH1cbn1cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSBhbmQgKHBvaW50ZXI6IGZpbmUpIHtcbiAgLmVwOmhvdmVyIC5lcF9fZXAge1xuICAgIGNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tb24tYWNjZW50KSA4OCUsIHRyYW5zcGFyZW50KTtcbiAgfVxufVxuLmVwX190aXRsZSB7XG4gIGdyaWQtY29sdW1uOiAyO1xuICBncmlkLXJvdzogMjtcbiAgYWxpZ24tc2VsZjogc3RhcnQ7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuICBmb250LXNpemU6IGNsYW1wKDIwcHgsIDEzLjMzMzMzMzMzMzNweCArIDEuNjY2NjY2NjY2N3Z3LCA0MHB4KTtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgbGluZS1oZWlnaHQ6IGNhbGMoMS4wNSAqIHZhcigtLWRpc3BsYXktbGVhZGluZykpO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDNlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA3ODBweCkge1xuICAuZXBfX3RpdGxlIHtcbiAgICBmb250LXNpemU6IGNsYW1wKDEuMDJyZW0sIDMuNHZ3LCAxLjM1cmVtKTtcbiAgICBsaW5lLWhlaWdodDogY2FsYygxLjA1ICogdmFyKC0tZGlzcGxheS1sZWFkaW5nKSk7XG4gIH1cbn1cbi5lcF9fZXhjZXJwdCB7XG4gIGdyaWQtY29sdW1uOiAyO1xuICBncmlkLXJvdzogMztcbiAgYWxpZ24tc2VsZjogc3RhcnQ7XG4gIG1heC13aWR0aDogNjhjaDtcbiAgbWFyZ2luLXRvcDogMC41ZW07XG4gIGZvbnQtc2l6ZTogMC45NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgY29sb3I6IHZhcigtLWluay0yKTtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIC13ZWJraXQtbGluZS1jbGFtcDogMjtcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSBhbmQgKHBvaW50ZXI6IGZpbmUpIHtcbiAgLmVwOmhvdmVyIC5lcF9fZXhjZXJwdCB7XG4gICAgY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1vbi1hY2NlbnQpIDgyJSwgdHJhbnNwYXJlbnQpO1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogNzgwcHgpIHtcbiAgLmVwX19leGNlcnB0IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4uZXBfX2VwLCAuZXBfX3RpdGxlLCAuZXBfX2V4Y2VycHQge1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC40cyBjdWJpYy1iZXppZXIoMC4xNiwgMSwgMC4zLCAxKSwgY29sb3IgdmFyKC0tZHVyLWZhc3QpIGN1YmljLWJlemllcigwLjIyLCAwLjYxLCAwLjM2LCAxKTtcbn1cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSBhbmQgKHBvaW50ZXI6IGZpbmUpIHtcbiAgLmVwOmhvdmVyIC5lcF9fZXAsIC5lcDpob3ZlciAuZXBfX3RpdGxlLCAuZXA6aG92ZXIgLmVwX19leGNlcnB0IHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2xhbXAoMC41cmVtLCAxLjV2dywgMS41cmVtKSk7XG4gIH1cbn1cbi5lcF9fbWV0YSB7XG4gIGdyaWQtY29sdW1uOiAzO1xuICBncmlkLXJvdzogMS9zcGFuIDM7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm8pO1xuICBmb250LXNpemU6IDAuNzhyZW07XG4gIGxldHRlci1zcGFjaW5nOiAwLjEyZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGNvbG9yOiB2YXIoLS1pbmstMyk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHRyYW5zaXRpb246IGNvbG9yIHZhcigtLWR1ci1mYXN0KSBjdWJpYy1iZXppZXIoMC4yMiwgMC42MSwgMC4zNiwgMSk7XG59XG5AbWVkaWEgKGhvdmVyOiBob3ZlcikgYW5kIChwb2ludGVyOiBmaW5lKSB7XG4gIC5lcDpob3ZlciAuZXBfX21ldGEge1xuICAgIGNvbG9yOiB2YXIoLS1vbi1hY2NlbnQpO1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogNzgwcHgpIHtcbiAgLmVwX19tZXRhIHtcbiAgICBncmlkLWNvbHVtbjogMjtcbiAgICBncmlkLXJvdzogMztcbiAgICBhbGlnbi1zZWxmOiBzdGFydDtcbiAgICBtYXJnaW4tdG9wOiAwLjRlbTtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1ib2R5KTtcbiAgICBmb250LXNpemU6IDAuODZyZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogMDtcbiAgICBsaW5lLWhlaWdodDogMS40NTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgIGNvbG9yOiB2YXIoLS1pbmstMik7XG4gIH1cbn1cbi5lcF9fZ28ge1xuICBncmlkLWNvbHVtbjogNDtcbiAgZ3JpZC1yb3c6IDEvc3BhbiAzO1xuICBkaXNwbGF5OiBncmlkO1xuICBwbGFjZS1pdGVtczogY2VudGVyO1xuICB3aWR0aDogNDRweDtcbiAgaGVpZ2h0OiA0NHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1saW5lLTIpO1xuICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS1kdXItZmFzdCkgY3ViaWMtYmV6aWVyKDAuMjIsIDAuNjEsIDAuMzYsIDEpLCBib3JkZXItY29sb3IgdmFyKC0tZHVyLWZhc3QpIGN1YmljLWJlemllcigwLjIyLCAwLjYxLCAwLjM2LCAxKSwgdHJhbnNmb3JtIDAuNHMgY3ViaWMtYmV6aWVyKDAuMTYsIDEsIDAuMywgMSk7XG59XG4uZXBfX2dvIHN2ZyB7XG4gIHdpZHRoOiAxNXB4O1xuICBoZWlnaHQ6IDE1cHg7XG59XG5AbWVkaWEgKGhvdmVyOiBob3ZlcikgYW5kIChwb2ludGVyOiBmaW5lKSB7XG4gIC5lcDpob3ZlciAuZXBfX2dvIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1vbi1hY2NlbnQpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tb24tYWNjZW50KTtcbiAgICBjb2xvcjogdmFyKC0tYWNjZW50LWluayk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDc4MHB4KSB7XG4gIC5lcF9fZ28ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLmZsb3ctbWFya2VyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IGNhbGModmFyKC0tZ3V0dGVyKSAqIC0wLjM1KTtcbiAgcmlnaHQ6IGNhbGModmFyKC0tZ3V0dGVyKSAqIC0wLjM1KTtcbiAgei1pbmRleDogMDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgaGVpZ2h0OiB2YXIoLS1tay1oLCAwcHgpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkodmFyKC0tbWsteSwgMHB4KSk7XG4gIGJvcmRlcjogM3B4IHNvbGlkIHZhcigtLWFjY2VudCk7XG4gIGJvcmRlci1yYWRpdXM6IDE0cHg7XG4gIG9wYWNpdHk6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC40MnMgY3ViaWMtYmV6aWVyKDAuMTYsIDEsIDAuMywgMSksIGhlaWdodCAwLjQycyBjdWJpYy1iZXppZXIoMC4xNiwgMSwgMC4zLCAxKSwgb3BhY2l0eSAwLjNzIGN1YmljLWJlemllcigwLjIyLCAwLjYxLCAwLjM2LCAxKTtcbn1cbi5pbmRleC5pcy1mbG93aW5nIC5mbG93LW1hcmtlciB7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5zaG9ydHMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uc2hvcnRzX19yYWlsIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiBjbGFtcCgwLjc1cmVtLCAxLjR2dywgMS4yNXJlbSk7XG4gIG92ZXJmbG93LXg6IGF1dG87XG4gIG92ZXJzY3JvbGwtYmVoYXZpb3IteDogY29udGFpbjtcbiAgc2Nyb2xsLXNuYXAtdHlwZTogeCBtYW5kYXRvcnk7XG4gIHNjcm9sbC1iZWhhdmlvcjogc21vb3RoO1xuICBwYWRkaW5nLXRvcDogMjhweDtcbiAgcGFkZGluZy1ib3R0b206IDU2cHg7XG4gIG1hcmdpbi10b3A6IC0yOHB4O1xuICBtYXJnaW4tYm90dG9tOiAtNTZweDtcbiAgcGFkZGluZy1sZWZ0OiBtYXgodmFyKC0tZ3V0dGVyKSwgKDEwMHZ3IC0gdmFyKC0tbWF4dykpIC8gMik7XG4gIHNjcm9sbC1wYWRkaW5nLWxlZnQ6IG1heCh2YXIoLS1ndXR0ZXIpLCAoMTAwdncgLSB2YXIoLS1tYXh3KSkgLyAyKTtcbiAgcGFkZGluZy1yaWdodDogdmFyKC0tZ3V0dGVyKTtcbiAgc2Nyb2xsYmFyLXdpZHRoOiBub25lO1xuICAtbXMtb3ZlcmZsb3ctc3R5bGU6IG5vbmU7XG59XG4uc2hvcnRzX19yYWlsOjotd2Via2l0LXNjcm9sbGJhciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4uc2hvcnRzX19yYWlsLmlzLWRyYWdnaW5nIHtcbiAgc2Nyb2xsLWJlaGF2aW9yOiBhdXRvO1xuICBzY3JvbGwtc25hcC10eXBlOiBub25lO1xuICBjdXJzb3I6IGdyYWJiaW5nO1xufVxuLnNob3J0c19fcmFpbC5pcy1kcmFnZ2luZyAuc2hvcnQge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLnNob3J0cy1ncmlkIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maWxsLCBtaW5tYXgobWluKDEwMCUsIDIwMHB4KSwgMWZyKSk7XG4gIGdhcDogY2xhbXAoMXJlbSwgMnZ3LCAycmVtKTtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA1MjBweCkge1xuICAuc2hvcnRzLWdyaWQge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIG1pbm1heCgwLCAxZnIpKTtcbiAgICBnYXA6IDAuNzVyZW07XG4gIH1cbn1cbi5zaG9ydHMtZ3JpZCAuc2hvcnQge1xuICB3aWR0aDogYXV0bztcbiAgc2Nyb2xsLXNuYXAtYWxpZ246IG5vbmU7XG59XG5cbi5zaG9ydCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxleDogbm9uZTtcbiAgd2lkdGg6IGNsYW1wKDE4MHB4LCAxOXZ3LCAyNjBweCk7XG4gIHNjcm9sbC1zbmFwLWFsaWduOiBzdGFydDtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA3ODBweCkge1xuICAuc2hvcnQge1xuICAgIHdpZHRoOiA1NnZ3O1xuICB9XG59XG4uc2hvcnQge1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy0zKTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNDVzIGN1YmljLWJlemllcigwLjE2LCAxLCAwLjMsIDEpLCBib3gtc2hhZG93IDAuNDVzIGN1YmljLWJlemllcigwLjE2LCAxLCAwLjMsIDEpO1xufVxuLnNob3J0X19tZWRpYSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYXNwZWN0LXJhdGlvOiAyLzM7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4uc2hvcnRfX21lZGlhIGltZyB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpIHRyYW5zbGF0ZVooMCk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNnMgY3ViaWMtYmV6aWVyKDAuMjIsIDAuNjEsIDAuMzYsIDEpLCBvcGFjaXR5IDAuNHMgY3ViaWMtYmV6aWVyKDAuMjIsIDAuNjEsIDAuMzYsIDEpLCBmaWx0ZXIgMC40cyBjdWJpYy1iZXppZXIoMC4yMiwgMC42MSwgMC4zNiwgMSkgIWltcG9ydGFudDtcbn1cbi5zaG9ydF9fbWVkaWE6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBpbnNldDogNDAlIDAgMCAwO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodHJhbnNwYXJlbnQsIHJnYmEoMCwgMCwgMCwgMC43OCkpO1xufVxuQG1lZGlhIChob3ZlcjogaG92ZXIpIGFuZCAocG9pbnRlcjogZmluZSkge1xuICAuc2hvcnQ6aG92ZXIge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNnB4KTtcbiAgICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctY2FyZCk7XG4gIH1cbiAgLnNob3J0OmhvdmVyIC5zaG9ydF9fbWVkaWEgaW1nIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDcpIHRyYW5zbGF0ZVooMCk7XG4gIH1cbiAgLnNob3J0OmhvdmVyIC5zaG9ydF9fcGxheSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgc2NhbGUoMSk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDc4MHB4KSB7XG4gIC5zaG9ydCB7XG4gICAgc2Nyb2xsLXNuYXAtc3RvcDogYWx3YXlzO1xuICB9XG4gIC5zaG9ydDo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGluc2V0OiAwO1xuICAgIHotaW5kZXg6IDM7XG4gICAgYm9yZGVyOiAzcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogaW5oZXJpdDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgdmFyKC0tZHVyLWZhc3QpIGN1YmljLWJlemllcigwLjIyLCAwLjYxLCAwLjM2LCAxKTtcbiAgfVxuICAuc2hvcnQuaXMtYWN0aXZlOjphZnRlciB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1hY2NlbnQpO1xuICB9XG59XG4uc2hvcnRfX3BsYXkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDUwJTtcbiAgdG9wOiA1MCU7XG4gIHotaW5kZXg6IDI7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XG4gIHdpZHRoOiA1NHB4O1xuICBoZWlnaHQ6IDU0cHg7XG4gIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hY2NlbnQpO1xuICBjb2xvcjogdmFyKC0tb24tYWNjZW50KTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgc2NhbGUoMC42KTtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNHMgY3ViaWMtYmV6aWVyKDAuMTYsIDEsIDAuMywgMSksIG9wYWNpdHkgMC4zcyBjdWJpYy1iZXppZXIoMC4yMiwgMC42MSwgMC4zNiwgMSk7XG59XG4uc2hvcnRfX3BsYXkgc3ZnIHtcbiAgd2lkdGg6IDE2cHg7XG4gIGhlaWdodDogMTZweDtcbiAgbWFyZ2luLWxlZnQ6IDJweDtcbn1cbi5zaG9ydF9fYm9keSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaW5zZXQ6IGF1dG8gMCAwIDA7XG4gIHotaW5kZXg6IDI7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdhcDogMnB4O1xufVxuLnNob3J0X190aXRsZSB7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuICBmb250LXNpemU6IDAuOTVyZW07XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIGxpbmUtaGVpZ2h0OiBjYWxjKDEuMDUgKiB2YXIoLS1kaXNwbGF5LWxlYWRpbmcpKTtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxNWVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBjb2xvcjogI2ZmZjtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIC13ZWJraXQtbGluZS1jbGFtcDogMjtcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5zaG9ydF9fbWV0YSB7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuICBmb250LXNpemU6IGNsYW1wKDAuOXJlbSwgMS4xdncsIDEuMTVyZW0pO1xuICBmb250LXdlaWdodDogOTAwO1xuICBsaW5lLWhlaWdodDogY2FsYygxICogdmFyKC0tZGlzcGxheS1sZWFkaW5nKSk7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zO1xuICBqdXN0aWZ5LXNlbGY6IHN0YXJ0O1xuICBwYWRkaW5nOiAwLjE2ZW0gMC42MmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjNlbTtcbiAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFjY2VudCk7XG4gIGNvbG9yOiAjZmZmO1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDc4MHB4KSB7XG4gIC5zaG9ydF9fbWV0YSB7XG4gICAgcGFkZGluZy1pbmxpbmU6IGNhbGMoMC42MmVtIC0gMnB4KTtcbiAgfVxufVxuXG4ucmFpbC1uYXYge1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDAuNXJlbTtcbn1cbkBtZWRpYSAoaG92ZXI6IG5vbmUpIHtcbiAgLnJhaWwtbmF2IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4ucmFpbC1uYXYgYnV0dG9uIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcbiAgd2lkdGg6IDQ2cHg7XG4gIGhlaWdodDogNDZweDtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbGluZSk7XG4gIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICBjb2xvcjogdmFyKC0taW5rKTtcbiAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIHZhcigtLWR1ci1mYXN0KSBjdWJpYy1iZXppZXIoMC4yMiwgMC42MSwgMC4zNiwgMSksIGNvbG9yIHZhcigtLWR1ci1mYXN0KSBjdWJpYy1iZXppZXIoMC4yMiwgMC42MSwgMC4zNiwgMSksIG9wYWNpdHkgdmFyKC0tZHVyLWZhc3QpIGN1YmljLWJlemllcigwLjIyLCAwLjYxLCAwLjM2LCAxKTtcbn1cbi5yYWlsLW5hdiBidXR0b24gc3ZnIHtcbiAgd2lkdGg6IDE1cHg7XG4gIGhlaWdodDogMTVweDtcbn1cbi5yYWlsLW5hdiBidXR0b246aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICBib3JkZXItY29sb3I6IHZhcigtLWFjY2VudCk7XG4gIGNvbG9yOiB2YXIoLS1hY2NlbnQtaW5rKTtcbn1cbi5yYWlsLW5hdiBidXR0b246ZGlzYWJsZWQge1xuICBvcGFjaXR5OiAwLjM7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cbi5yYWlsLW5hdl9fcHJldiBzdmcge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xufVxuXG4ubGlnaHRib3gge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGluc2V0OiAwO1xuICB6LWluZGV4OiAyMDA7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6IGNsYW1wKDFyZW0sIDR2dywgM3JlbSk7XG4gIG92ZXJzY3JvbGwtYmVoYXZpb3I6IGNvbnRhaW47XG4gIG9wYWNpdHk6IDA7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBjdWJpYy1iZXppZXIoMC4yMiwgMC42MSwgMC4zNiwgMSksIHZpc2liaWxpdHkgMC4zcztcbn1cbi5saWdodGJveC5pcy1vcGVuIHtcbiAgb3BhY2l0eTogMTtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XG59XG4ubGlnaHRib3hfX3NjcmltIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBpbnNldDogMDtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjkyKTtcbn1cbi5saWdodGJveF9faW5uZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7XG4gIHdpZHRoOiBtaW4oMTAwJSwgMTEwMHB4KTtcbiAgZGlzcGxheTogZ3JpZDtcbiAganVzdGlmeS1pdGVtczogY2VudGVyO1xufVxuLmxpZ2h0Ym94X19zdGFnZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZ3JpZDtcbiAganVzdGlmeS1pdGVtczogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbn1cbi5saWdodGJveF9fbWVkaWEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IG1pbig3OHN2aCwgMTU2LjQ0NDQ0NDQ0NDR2dyk7XG4gIGFzcGVjdC1yYXRpbzogOS8xNjtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBiYWNrZ3JvdW5kOiAjMDAwO1xuICBib3gtc2hhZG93OiAwIDQwcHggMTAwcHggcmdiYSgwLCAwLCAwLCAwLjYpO1xufVxuQG1lZGlhIChtYXgtYXNwZWN0LXJhdGlvOiAxLzEpIGFuZCAobWluLXdpZHRoOiA3ODFweCkge1xuICAubGlnaHRib3hfX21lZGlhIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgd2lkdGg6IG1pbigxMDAlLCAzNC44NzVzdmgpO1xuICB9XG59XG4ubGlnaHRib3hfX2ZyYW1lLCAubGlnaHRib3hfX3Bvc3RlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBib3JkZXI6IDA7XG59XG4ubGlnaHRib3hfX3Bvc3RlciB7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xufVxuLmxpZ2h0Ym94X19idG4ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDI7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XG4gIHdpZHRoOiA1MnB4O1xuICBoZWlnaHQ6IDUycHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSk7XG4gIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNCk7XG4gIGJhY2tkcm9wLWZpbHRlcjogYmx1cig4cHgpO1xuICBjb2xvcjogI2ZmZjtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS1kdXItZmFzdCkgY3ViaWMtYmV6aWVyKDAuMjIsIDAuNjEsIDAuMzYsIDEpLCBib3JkZXItY29sb3IgdmFyKC0tZHVyLWZhc3QpIGN1YmljLWJlemllcigwLjIyLCAwLjYxLCAwLjM2LCAxKSwgb3BhY2l0eSB2YXIoLS1kdXItZmFzdCkgY3ViaWMtYmV6aWVyKDAuMjIsIDAuNjEsIDAuMzYsIDEpO1xufVxuLmxpZ2h0Ym94X19idG4gc3ZnIHtcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMjBweDtcbn1cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSBhbmQgKHBvaW50ZXI6IGZpbmUpIHtcbiAgLmxpZ2h0Ym94X19idG46aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWFjY2VudCk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1hY2NlbnQpO1xuICB9XG59XG4ubGlnaHRib3hfX2J0bjphY3RpdmU6bm90KDpkaXNhYmxlZCkge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hY2NlbnQpO1xuICBib3JkZXItY29sb3I6IHZhcigtLWFjY2VudCk7XG59XG4ubGlnaHRib3hfX2J0bjpkaXNhYmxlZCB7XG4gIG9wYWNpdHk6IDAuMjU7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cbi5saWdodGJveF9fYnRuLS1wcmV2OmRpc2FibGVkLCAubGlnaHRib3hfX2J0bi0tbmV4dDpkaXNhYmxlZCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4ubGlnaHRib3hfX2J0bi0tY2xvc2Uge1xuICB0b3A6IGNsYW1wKDFyZW0sIDN2dywgMnJlbSk7XG4gIHJpZ2h0OiBjbGFtcCgxcmVtLCAzdncsIDJyZW0pO1xufVxuLmxpZ2h0Ym94X19idG4tLWNsb3NlOmZvY3VzLXZpc2libGUge1xuICBvdXRsaW5lOiBub25lO1xufVxuQG1lZGlhIChob3Zlcjogbm9uZSkge1xuICAubGlnaHRib3hfX2J0bjpmb2N1cy12aXNpYmxlIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICB9XG59XG4ubGlnaHRib3hfX2J0bi0tcHJldiB7XG4gIGxlZnQ6IGNsYW1wKDAuNXJlbSwgMnZ3LCAycmVtKTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zbGF0ZTogMCAtNTAlO1xufVxuLmxpZ2h0Ym94X19idG4tLW5leHQge1xuICByaWdodDogY2xhbXAoMC41cmVtLCAydncsIDJyZW0pO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNsYXRlOiAwIC01MCU7XG59XG5AbWVkaWEgKG1heC13aWR0aDogNzgwcHgpIHtcbiAgLmxpZ2h0Ym94X19idG4tLXByZXYsIC5saWdodGJveF9fYnRuLS1uZXh0IHtcbiAgICAtLWhhbGY6IGNsYW1wKDM4cHgsIDQuNHZ3LCA1MHB4KTtcbiAgICB3aWR0aDogdmFyKC0taGFsZik7XG4gICAgaGVpZ2h0OiBjYWxjKHZhcigtLWhhbGYpICogMik7XG4gIH1cbiAgLmxpZ2h0Ym94X19idG4tLXByZXYgc3ZnLCAubGlnaHRib3hfX2J0bi0tbmV4dCBzdmcge1xuICAgIHdpZHRoOiAyMXB4O1xuICAgIGhlaWdodDogMjFweDtcbiAgfVxuICAubGlnaHRib3hfX2J0bi0tcHJldiB7XG4gICAgbGVmdDogMDtcbiAgICBib3JkZXItbGVmdDogMDtcbiAgICBib3JkZXItcmFkaXVzOiAwIHZhcigtLWhhbGYpIHZhcigtLWhhbGYpIDA7XG4gICAgcGFkZGluZy1yaWdodDogOHB4O1xuICB9XG4gIC5saWdodGJveF9fYnRuLS1uZXh0IHtcbiAgICByaWdodDogMDtcbiAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0taGFsZikgMCAwIHZhcigtLWhhbGYpO1xuICAgIHBhZGRpbmctbGVmdDogOHB4O1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogNzgwcHgpIHtcbiAgLmxpZ2h0Ym94IHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG4gIC5saWdodGJveCAubGlnaHRib3hfX2lubmVyLFxuICAubGlnaHRib3ggLmxpZ2h0Ym94X19zdGFnZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLmxpZ2h0Ym94IC5saWdodGJveF9fbWVkaWEge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwc3ZoO1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICBhc3BlY3QtcmF0aW86IGF1dG87XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG4gIC5saWdodGJveCAubGlnaHRib3hfX2J0bi0tY2xvc2Uge1xuICAgIHRvcDogbWF4KDFyZW0sIGVudihzYWZlLWFyZWEtaW5zZXQtdG9wKSk7XG4gICAgcmlnaHQ6IG1heCgxcmVtLCBlbnYoc2FmZS1hcmVhLWluc2V0LXJpZ2h0KSk7XG4gIH1cbn1cblxuYm9keS5pcy1sb2NrZWQtZml4ZWQge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgb3ZlcnNjcm9sbC1iZWhhdmlvcjogbm9uZTtcbn1cblxuLmVwLXNpbmdsZV9faGVhZCB7XG4gIG1hcmdpbi1ib3R0b206IGNsYW1wKDEuMjVyZW0sIDIuNXZ3LCAycmVtKTtcbn1cbi5lcC1zaW5nbGVfX2hlYWQgLmV5ZWJyb3ctLXBvc3Qge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGZvbnQtc2l6ZTogY2xhbXAoMC45cmVtLCAxLjF2dywgMS4xNXJlbSk7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIGxpbmUtaGVpZ2h0OiBjYWxjKDEgKiB2YXIoLS1kaXNwbGF5LWxlYWRpbmcpKTtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7XG4gIGZvbnQtc2l6ZTogY2xhbXAoMXJlbSwgMS4zdncsIDEuM3JlbSk7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtO1xuICBjb2xvcjogdmFyKC0tYWNjZW50LWluayk7XG59XG4uZXAtc2luZ2xlX19oZWFkLmFydGljbGVfX2hlYWQge1xuICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG59XG4uZXAtc2luZ2xlX19kYXRlIHtcbiAgbWFyZ2luOiAwLjc1cmVtIDAgMDtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtYm9keSk7XG4gIGZvbnQtc2l6ZTogMS4wNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6IHZhcigtLWluay0yKTtcbn1cbi5lcC1zaW5nbGVfX3RpdGxlIHtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGZvbnQtc2l6ZTogY2xhbXAoMzBweCwgMTkuMzMzMzMzMzMzM3B4ICsgMi42NjY2NjY2NjY3dncsIDYycHgpO1xuICBmb250LXdlaWdodDogOTAwO1xuICBsaW5lLWhlaWdodDogY2FsYygxLjAyICogdmFyKC0tZGlzcGxheS1sZWFkaW5nKSk7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4wM2VtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBtYXJnaW4tdG9wOiAwLjc1cmVtO1xuICBvdmVyZmxvdy13cmFwOiBhbnl3aGVyZTtcbn1cbi5lcC1zaW5nbGVfX3BsYXllciwgLmVwLXNpbmdsZV9fYXJ0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBhc3BlY3QtcmF0aW86IDE2Lzk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1sZyk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJhY2tncm91bmQ6IHZhcigtLXdhc2gpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1saW5lKTtcbiAgbWFyZ2luLWJvdHRvbTogY2xhbXAoMS41cmVtLCAzdncsIDIuNXJlbSk7XG59XG4uZXAtc2luZ2xlX19wbGF5ZXIgaWZyYW1lLFxuLmVwLXNpbmdsZV9fcGxheWVyIGltZywgLmVwLXNpbmdsZV9fYXJ0IGlmcmFtZSxcbi5lcC1zaW5nbGVfX2FydCBpbWcge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGluc2V0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBib3JkZXI6IDA7XG59XG4uZXAtc2luZ2xlX19wbGF5ZXIgaW1nLCAuZXAtc2luZ2xlX19hcnQgaW1nIHtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG59XG4uZXAtc2luZ2xlX19hdWRpbyB7XG4gIG1hcmdpbi1ib3R0b206IGNsYW1wKDEuNXJlbSwgM3Z3LCAyLjVyZW0pO1xufVxuLmVwLXNpbmdsZV9fYXVkaW8gaWZyYW1lIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4taGVpZ2h0OiAxNTBweDtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xufVxuLmVwLXNpbmdsZV9fYmFjayB7XG4gIG1hcmdpbi10b3A6IGNsYW1wKDJyZW0sIDV2dywgNHJlbSk7XG59XG5cbi5zaW5nbGUtbWVkaWEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGFzcGVjdC1yYXRpbzogMTYvOTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWxnKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYmFja2dyb3VuZDogdmFyKC0td2FzaCk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpbmUpO1xuICBtYXJnaW4tYmxvY2s6IGNsYW1wKDEuNXJlbSwgM3Z3LCAyLjVyZW0pO1xufVxuLnNpbmdsZS1tZWRpYSBpZnJhbWUsXG4uc2luZ2xlLW1lZGlhIGltZyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaW5zZXQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJvcmRlcjogMDtcbn1cbi5zaW5nbGUtbWVkaWEgaW1nIHtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG59XG4uc2luZ2xlLW1lZGlhLS1wb3J0cmFpdCB7XG4gIGFzcGVjdC1yYXRpbzogOS8xNjtcbiAgbWF4LXdpZHRoOiBtaW4oMTAwJSwgMzgwcHgpO1xuICBtYXJnaW4taW5saW5lOiBhdXRvO1xufVxuXG4uYXJ0aWNsZV9fbWVkaWEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGFzcGVjdC1yYXRpbzogMTYvOTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWxnKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYmFja2dyb3VuZDogdmFyKC0td2FzaCk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpbmUpO1xuICBtYXJnaW4tYm90dG9tOiAwLjc1cmVtO1xufVxuLmFydGljbGVfX21lZGlhIGltZyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaW5zZXQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xufVxuLmFydGljbGVfX2NyZWRpdCB7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm8pO1xuICBmb250LXNpemU6IDAuNjZyZW07XG4gIGxldHRlci1zcGFjaW5nOiAwLjEyZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGNvbG9yOiB2YXIoLS1pbmstMyk7XG4gIG1hcmdpbi1ib3R0b206IGNsYW1wKDEuNXJlbSwgM3Z3LCAyLjVyZW0pO1xufVxuLmFydGljbGVfX3RpdGxlIHtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGZvbnQtc2l6ZTogY2xhbXAoMjhweCwgMTkuMzMzMzMzMzMzM3B4ICsgMi4xNjY2NjY2NjY3dncsIDU0cHgpO1xuICBmb250LXdlaWdodDogOTAwO1xuICBsaW5lLWhlaWdodDogY2FsYygxLjA0ICogdmFyKC0tZGlzcGxheS1sZWFkaW5nKSk7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtO1xuICBtYXJnaW4tdG9wOiAwLjc1cmVtO1xuICBvdmVyZmxvdy13cmFwOiBhbnl3aGVyZTtcbn1cbi5hcnRpY2xlX19ieSB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byAxZnI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMC43NXJlbTtcbiAgbWFyZ2luLWJsb2NrOiBjbGFtcCgxLjVyZW0sIDN2dywgMi41cmVtKTtcbiAgcGFkZGluZy1ib3R0b206IGNsYW1wKDEuNXJlbSwgM3Z3LCAyLjVyZW0pO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tbGluZSk7XG59XG4uYXJ0aWNsZV9fYXZhdGFyIHtcbiAgd2lkdGg6IDQ2cHg7XG4gIGhlaWdodDogNDZweDtcbiAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1saW5lLTIpO1xufVxuLmFydGljbGVfX2F1dGhvciB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdhcDogMnB4O1xuICBtaW4td2lkdGg6IDA7XG59XG4uYXJ0aWNsZV9fbmFtZSB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMC45NXJlbTtcbiAgY29sb3I6IHZhcigtLWluayk7XG59XG4uYXJ0aWNsZV9faGFuZGxlIHtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ubyk7XG4gIGZvbnQtc2l6ZTogMC43cmVtO1xuICBsZXR0ZXItc3BhY2luZzogMC4wOGVtO1xuICBjb2xvcjogdmFyKC0taW5rLTMpO1xuICB0cmFuc2l0aW9uOiBjb2xvciB2YXIoLS1kdXItZmFzdCkgY3ViaWMtYmV6aWVyKDAuMjIsIDAuNjEsIDAuMzYsIDEpO1xufVxuQG1lZGlhIChob3ZlcjogaG92ZXIpIGFuZCAocG9pbnRlcjogZmluZSkge1xuICAuYXJ0aWNsZV9faGFuZGxlOmhvdmVyIHtcbiAgICBjb2xvcjogdmFyKC0tYWNjZW50LWluayk7XG4gIH1cbn1cbi5hcnRpY2xlX19iYWNrIHtcbiAgbWFyZ2luLXRvcDogY2xhbXAoMnJlbSwgNXZ3LCA0cmVtKTtcbn1cblxuLnBuYXYge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XG4gIGdhcDogMC43NXJlbTtcbiAgbWFyZ2luLXRvcDogY2xhbXAoMnJlbSwgNHZ3LCAzcmVtKTtcbiAgcGFkZGluZy10b3A6IGNsYW1wKDJyZW0sIDR2dywgM3JlbSk7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1saW5lKTtcbn1cbi50YWdzICsgLnBuYXYge1xuICBtYXJnaW4tdG9wOiAxLjVyZW07XG59XG4ucG5hdl9fc2xvdCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byBtaW5tYXgoMCwgMWZyKTtcbiAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvIGF1dG87XG4gIGNvbHVtbi1nYXA6IDFyZW07XG4gIHJvdy1nYXA6IDAuMjVyZW07XG4gIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbGluZSk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XG4gIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciB2YXIoLS1kdXItZmFzdCkgY3ViaWMtYmV6aWVyKDAuMjIsIDAuNjEsIDAuMzYsIDEpLCB0cmFuc2Zvcm0gdmFyKC0tZHVyLWZhc3QpIGN1YmljLWJlemllcigwLjIyLCAwLjYxLCAwLjM2LCAxKTtcbn1cbi5wbmF2X19zbG90Om5vdChbaHJlZl0pIHtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4ucG5hdl9fc2xvdC0tbmV4dCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgwLCAxZnIpIGF1dG87XG59XG4ucG5hdl9fc2xvdC0tbmV4dCAucG5hdl9fdGh1bWIge1xuICBncmlkLWNvbHVtbjogMjtcbn1cbi5wbmF2X19zbG90LS1uZXh0IC5wbmF2X19kaXIsIC5wbmF2X19zbG90LS1uZXh0IC5wbmF2X190aXRsZSB7XG4gIGdyaWQtY29sdW1uOiAxO1xufVxuQG1lZGlhIChob3ZlcjogaG92ZXIpIGFuZCAocG9pbnRlcjogZmluZSkge1xuICAucG5hdl9fc2xvdFtocmVmXTpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1hY2NlbnQpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtM3B4KTtcbiAgfVxufVxuLnBuYXZfX3RodW1iIHtcbiAgZ3JpZC1yb3c6IDEvc3BhbiAyO1xuICB3aWR0aDogMTEycHg7XG4gIGFzcGVjdC1yYXRpbzogMTYvOTtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy0zKTtcbn1cbi5wbmF2X190aHVtYiBpbWcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG59XG5AbWVkaWEgKG1heC13aWR0aDogNTIwcHgpIHtcbiAgLnBuYXZfX3RodW1iIHtcbiAgICB3aWR0aDogODhweDtcbiAgfVxufVxuLnBuYXZfX2RpciB7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm8pO1xuICBmb250LXNpemU6IDAuNjZyZW07XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxldHRlci1zcGFjaW5nOiAwLjE4ZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGNvbG9yOiB2YXIoLS1pbmstMyk7XG59XG4ucG5hdl9fdGl0bGUge1xuICBmb250LXNpemU6IDAuOTVyZW07XG4gIGNvbG9yOiB2YXIoLS1pbmspO1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgLXdlYmtpdC1saW5lLWNsYW1wOiAyO1xuICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDUyMHB4KSB7XG4gIC5wbmF2IHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgfVxuICAucG5hdl9fc2xvdC0tbmV4dCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gbWlubWF4KDAsIDFmcik7XG4gIH1cbiAgLnBuYXZfX3Nsb3QtLW5leHQgLnBuYXZfX3RodW1iIHtcbiAgICBncmlkLWNvbHVtbjogMTtcbiAgfVxuICAucG5hdl9fc2xvdC0tbmV4dCAucG5hdl9fZGlyLCAucG5hdl9fc2xvdC0tbmV4dCAucG5hdl9fdGl0bGUge1xuICAgIGdyaWQtY29sdW1uOiAyO1xuICB9XG4gIC5wbmF2X19zbG90Om5vdChbaHJlZl0pIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5hcHBlYXJhbmNlcyB7XG4gIG1hcmdpbi10b3A6IGNsYW1wKDIuNXJlbSwgNXZ3LCA0LjVyZW0pO1xuICBwYWRkaW5nLXRvcDogY2xhbXAoMnJlbSwgNHZ3LCAzcmVtKTtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWxpbmUpO1xufVxuLmFwcGVhcmFuY2VzIC5zZWN0aW9uX19oZWFkIHtcbiAgbWFyZ2luLWJvdHRvbTogY2xhbXAoMS4yNXJlbSwgMi41dncsIDJyZW0pO1xufVxuXG4uc2VjdGlvbl9fdGl0bGUtLXNtIHtcbiAgZm9udC1zaXplOiBjbGFtcCgyNnB4LCAxOC42NjY2NjY2NjY3cHggKyAxLjgzMzMzMzMzMzN2dywgNDhweCk7XG59XG5cbi5ndWVzdC1oZXJvIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIG1pbm1heCgwLCAxZnIpO1xuICBnYXA6IGNsYW1wKDEuMjVyZW0sIDN2dywgMi41cmVtKTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWFyZ2luLWJvdHRvbTogY2xhbXAoMS41cmVtLCAzdncsIDIuNXJlbSk7XG59XG5AbWVkaWEgKG1heC13aWR0aDogNTIwcHgpIHtcbiAgLmd1ZXN0LWhlcm8ge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgIGp1c3RpZnktaXRlbXM6IHN0YXJ0O1xuICB9XG59XG4uZ3Vlc3QtaGVyb19fcGhvdG8ge1xuICB3aWR0aDogY2xhbXAoMTIwcHgsIDE0dncsIDE2MHB4KTtcbiAgYXNwZWN0LXJhdGlvOiAxO1xuICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYmFja2dyb3VuZDogdmFyKC0tYmctMyk7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDRweCB2YXIoLS1hY2NlbnQpO1xufVxuLmd1ZXN0LWhlcm9fX3Bob3RvIGltZyB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xufVxuLmd1ZXN0LWhlcm9fX2JvZHkge1xuICBkaXNwbGF5OiBncmlkO1xuICBnYXA6IDAuNXJlbTtcbiAgbWluLXdpZHRoOiAwO1xufVxuLmd1ZXN0LWhlcm9fX25hbWUge1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgZm9udC1zaXplOiBjbGFtcCgzMnB4LCAyMS4zMzMzMzMzMzMzcHggKyAyLjY2NjY2NjY2Njd2dywgNjRweCk7XG4gIGxpbmUtaGVpZ2h0OiBjYWxjKDAuOTUgKiB2YXIoLS1kaXNwbGF5LWxlYWRpbmcpKTtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAzNWVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBtYXJnaW46IDA7XG59XG4uZ3Vlc3QtaGVyb19fcm9sZSB7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAxLjA1cmVtO1xuICBjb2xvcjogdmFyKC0taW5rLTIpO1xufVxuLmd1ZXN0LWhlcm9fX2xpbmtzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBnYXA6IDAuNXJlbTtcbiAgbWFyZ2luOiAwLjVyZW0gMCAwO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4uZ2xpbmsge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAwLjQ1ZW07XG4gIHBhZGRpbmc6IDAuNDVlbSAwLjg1ZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpbmUpO1xuICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgZm9udC1zaXplOiAwLjgycmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICBsaW5lLWhlaWdodDogMS4xO1xuICBjb2xvcjogdmFyKC0taW5rLTIpO1xuICB0cmFuc2l0aW9uOiBjb2xvciB2YXIoLS1kdXItZmFzdCkgY3ViaWMtYmV6aWVyKDAuMjIsIDAuNjEsIDAuMzYsIDEpLCBib3JkZXItY29sb3IgdmFyKC0tZHVyLWZhc3QpIGN1YmljLWJlemllcigwLjIyLCAwLjYxLCAwLjM2LCAxKTtcbn1cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSBhbmQgKHBvaW50ZXI6IGZpbmUpIHtcbiAgLmdsaW5rOmhvdmVyIHtcbiAgICBjb2xvcjogdmFyKC0tYWNjZW50LWluayk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1hY2NlbnQpO1xuICB9XG59XG4uZ2xpbmtfX2ljbyB7XG4gIHdpZHRoOiAxLjA1ZW07XG4gIGhlaWdodDogMS4wNWVtO1xuICBmbGV4OiBub25lO1xufVxuXG4uc2lnbmF0dXJlIHtcbiAgbWFyZ2luLXRvcDogY2xhbXAoMS41cmVtLCAzdncsIDIuNXJlbSk7XG59XG4uc2lnbmF0dXJlX19zaWdub2ZmIHtcbiAgbWFyZ2luOiAwIDAgMC4xZW07XG4gIGZvbnQtc2l6ZTogY2xhbXAoMS4wNXJlbSwgMC40dncgKyAwLjk2cmVtLCAxLjE2cmVtKTtcbiAgY29sb3I6IHZhcigtLWluay0yKTtcbn1cbi5zaWduYXR1cmVfX25hbWUge1xuICBtYXJnaW46IDA7XG4gIGZvbnQtZmFtaWx5OiBcIldpbmRTb25nXCIsIFwiQnJ1c2ggU2NyaXB0IE1UXCIsIFwiU2Vnb2UgU2NyaXB0XCIsIGN1cnNpdmU7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtc2l6ZTogY2xhbXAoMi40cmVtLCA0LjR2dywgMy41cmVtKTtcbiAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDFlbTtcbiAgY29sb3I6IHZhcigtLWluayk7XG4gIHRyYW5zZm9ybTogcm90YXRlKC0xLjVkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGNlbnRlcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAwLjFlbSAwLjE1ZW0gMC4xNWVtIDA7XG59XG5cbi5zZWFyY2hiYXIge1xuICBtYXJnaW4tYm90dG9tOiBjbGFtcCgycmVtLCA0dncsIDMuNXJlbSk7XG59XG5cbi5zZm9ybSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogMC41cmVtO1xuICBtYXgtd2lkdGg6IDU2MHB4O1xufVxuLnNmb3JtIGlucHV0W3R5cGU9c2VhcmNoXSB7XG4gIGZsZXg6IDE7XG4gIG1pbi13aWR0aDogMDtcbiAgaGVpZ2h0OiA1MnB4O1xuICBwYWRkaW5nLWlubGluZTogMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbGluZS0yKTtcbiAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogdmFyKC0taW5rKTtcbiAgZm9udC1zaXplOiBtYXgoMTZweCwgMXJlbSk7XG59XG4uc2Zvcm0gaW5wdXRbdHlwZT1zZWFyY2hdOjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiB2YXIoLS1pbmstMyk7XG59XG4uc2Zvcm0gaW5wdXRbdHlwZT1zZWFyY2hdOmZvY3VzLXZpc2libGUge1xuICBib3JkZXItY29sb3I6IHZhcigtLWFjY2VudCk7XG4gIG91dGxpbmU6IG5vbmU7XG59XG4uc2Zvcm0gLmJ0biB7XG4gIGZsZXg6IG5vbmU7XG59XG5AbWVkaWEgKG1heC13aWR0aDogNTIwcHgpIHtcbiAgLnNmb3JtIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgfVxuICAuc2Zvcm0gLmJ0biB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLm5vcmVzdWx0cyB7XG4gIG1heC13aWR0aDogNjBjaDtcbn1cbi5ub3Jlc3VsdHMgLmxlZGUge1xuICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG59XG5cbi5ub3Jlc3VsdHNfX2FjdGlvbnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGdhcDogMC43NXJlbTtcbiAgbWFyZ2luLXRvcDogY2xhbXAoMS41cmVtLCAzdncsIDIuNXJlbSk7XG59XG5cbi5zbGluayB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XG4gIHdpZHRoOiA1NHB4O1xuICBoZWlnaHQ6IDU0cHg7XG4gIGZsZXg6IG5vbmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpbmUtMik7XG4gIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICBjb2xvcjogdmFyKC0taW5rKTtcbiAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIHZhcigtLWR1ci1mYXN0KSBjdWJpYy1iZXppZXIoMC4yMiwgMC42MSwgMC4zNiwgMSksIGNvbG9yIHZhcigtLWR1ci1mYXN0KSBjdWJpYy1iZXppZXIoMC4yMiwgMC42MSwgMC4zNiwgMSk7XG59XG4uc2xpbmsgc3ZnIHtcbiAgd2lkdGg6IDIxcHg7XG4gIGhlaWdodDogMjFweDtcbn1cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSBhbmQgKHBvaW50ZXI6IGZpbmUpIHtcbiAgLnNsaW5rOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWFjY2VudCk7XG4gICAgY29sb3I6IHZhcigtLWFjY2VudC1pbmspO1xuICB9XG59XG4uc2xpbms6YWN0aXZlIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1hY2NlbnQpO1xuICBjb2xvcjogdmFyKC0tYWNjZW50LWluayk7XG59XG5AbWVkaWEgKG1heC13aWR0aDogNzgwcHgpIHtcbiAgLnNsaW5rIHtcbiAgICB3aWR0aDogNDRweDtcbiAgICBoZWlnaHQ6IDQ0cHg7XG4gIH1cbiAgLnNsaW5rIHN2ZyB7XG4gICAgd2lkdGg6IDE4cHg7XG4gICAgaGVpZ2h0OiAxOHB4O1xuICB9XG59XG5cbi50d2VldHNfX3JhaWwge1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IGNsYW1wKDAuNzVyZW0sIDEuNHZ3LCAxLjI1cmVtKTtcbiAgb3ZlcmZsb3cteDogYXV0bztcbiAgc2Nyb2xsLXNuYXAtdHlwZTogeCBtYW5kYXRvcnk7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBtYXJnaW4taW5saW5lOiBjYWxjKHZhcigtLWd1dHRlcikgKiAtMSk7XG4gIHBhZGRpbmctaW5saW5lOiB2YXIoLS1ndXR0ZXIpO1xuICBzY3JvbGwtcGFkZGluZy1pbmxpbmU6IHZhcigtLWd1dHRlcik7XG4gIHBhZGRpbmctYmxvY2s6IDAuNXJlbTtcbiAgc2Nyb2xsYmFyLXdpZHRoOiBub25lO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG59XG4udHdlZXRzX19yYWlsOjotd2Via2l0LXNjcm9sbGJhciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4udHdlZXRzX19yYWlsID4gKiB7XG4gIHNjcm9sbC1zbmFwLWFsaWduOiBzdGFydDtcbn1cblxuLnhlbWJlZCB7XG4gIC0teC1yYWRpdXM6IDEycHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxleDogbm9uZTtcbiAgd2lkdGg6IGNsYW1wKDI4MHB4LCAzMnZ3LCAzODBweCk7XG4gIGlzb2xhdGlvbjogaXNvbGF0ZTtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA3ODBweCkge1xuICAueGVtYmVkIHtcbiAgICB3aWR0aDogNzV2dztcbiAgICBzY3JvbGwtc25hcC1zdG9wOiBhbHdheXM7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA3ODBweCkge1xuICAueGVtYmVkOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGluc2V0OiAwO1xuICAgIHotaW5kZXg6IDI7XG4gICAgYm9yZGVyOiAzcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0teC1yYWRpdXMpO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciB2YXIoLS1kdXItZmFzdCkgY3ViaWMtYmV6aWVyKDAuMjIsIDAuNjEsIDAuMzYsIDEpO1xuICB9XG4gIC54ZW1iZWQuaXMtYWN0aXZlOjpiZWZvcmUge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYWNjZW50KTtcbiAgfVxufVxuLnhlbWJlZCBibG9ja3F1b3RlIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAxLjVyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpbmUpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1iZyk7XG4gIGZvbnQtc2l6ZTogY2xhbXAoMC45MnJlbSwgMC4zNXZ3ICsgMC44NHJlbSwgMS4wMnJlbSk7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ1O1xuICBjb2xvcjogdmFyKC0taW5rKTtcbn1cbi54ZW1iZWQgYmxvY2txdW90ZSBwIHtcbiAgbWFyZ2luOiAwIDAgMC43NXJlbTtcbn1cbi54ZW1iZWQgYmxvY2txdW90ZSBhIHtcbiAgY29sb3I6IHZhcigtLWFjY2VudC1pbmspO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4uanMgLnhlbWJlZCBibG9ja3F1b3RlIHtcbiAgb3BhY2l0eTogMDtcbn1cbi54ZW1iZWQgLnR3aXR0ZXItdHdlZXQtcmVuZGVyZWQge1xuICBtYXJnaW46IDAgIWltcG9ydGFudDtcbn1cbi54ZW1iZWQgaWZyYW1lIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS14LXJhZGl1cyk7XG59XG4ueGVtYmVkX19zayB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaW5zZXQ6IDA7XG4gIHotaW5kZXg6IDE7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGFsaWduLWNvbnRlbnQ6IHN0YXJ0O1xuICBnYXA6IDAuNzVyZW07XG4gIHBhZGRpbmc6IDEuNXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbGluZSk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXgtcmFkaXVzKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tYmcpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXMgZWFzZTtcbn1cbi5qcyAueGVtYmVkX19zayB7XG4gIGRpc3BsYXk6IGdyaWQ7XG59XG4ueGVtYmVkX19zay5pcy1kb25lIHtcbiAgb3BhY2l0eTogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4ueGVtYmVkX19zay1oZWFkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAwLjc1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG59XG4ueGVtYmVkX19zay1hdmF0YXIsIC54ZW1iZWRfX3NrLW5hbWUsIC54ZW1iZWRfX3NrLWxpbmUsIC54ZW1iZWRfX3NrLW1lZGlhIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYmctMyk7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDkwZGVnLCB0cmFuc3BhcmVudCwgY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWluaykgOCUsIHRyYW5zcGFyZW50KSwgdHJhbnNwYXJlbnQpO1xuICBiYWNrZ3JvdW5kLXNpemU6IDIyMCUgMTAwJTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYW5pbWF0aW9uOiBzay1zaGltbWVyIDEuNHMgY3ViaWMtYmV6aWVyKDAuMjIsIDAuNjEsIDAuMzYsIDEpIGluZmluaXRlO1xufVxuLnhlbWJlZF9fc2stYXZhdGFyIHtcbiAgd2lkdGg6IDQwcHg7XG4gIGhlaWdodDogNDBweDtcbiAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gIGZsZXg6IG5vbmU7XG59XG4ueGVtYmVkX19zay1uYW1lIHtcbiAgaGVpZ2h0OiAxMnB4O1xuICB3aWR0aDogNDUlO1xufVxuLnhlbWJlZF9fc2stbGluZSB7XG4gIGhlaWdodDogMTFweDtcbn1cbi54ZW1iZWRfX3NrLWxpbmU6bnRoLW9mLXR5cGUoMikge1xuICB3aWR0aDogOTIlO1xufVxuLnhlbWJlZF9fc2stbGluZTpudGgtb2YtdHlwZSgzKSB7XG4gIHdpZHRoOiA3OCU7XG59XG4ueGVtYmVkX19zay1tZWRpYSB7XG4gIGhlaWdodDogMTIwcHg7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XG4gIG1hcmdpbi10b3A6IDAuNXJlbTtcbn1cbi54ZW1iZWQ6bnRoLWNoaWxkKDIpIC54ZW1iZWRfX3NrID4gKiB7XG4gIGFuaW1hdGlvbi1kZWxheTogMC4xMnM7XG59XG4ueGVtYmVkOm50aC1jaGlsZCgzKSAueGVtYmVkX19zayA+ICoge1xuICBhbmltYXRpb24tZGVsYXk6IDAuMjRzO1xufVxuXG5Aa2V5ZnJhbWVzIHNrLXNoaW1tZXIge1xuICBmcm9tIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxNjAlIDA7XG4gIH1cbiAgdG8ge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC02MCUgMDtcbiAgfVxufVxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgLnhlbWJlZF9fc2sgKiB7XG4gICAgYW5pbWF0aW9uOiBub25lO1xuICB9XG59XG4udHdlZXQge1xuICBmbGV4OiBub25lO1xuICB3aWR0aDogY2xhbXAoMjQwcHgsIDMwdncsIDM0MHB4KTtcbiAgZGlzcGxheTogZ3JpZDtcbiAgYWxpZ24tY29udGVudDogc3RhcnQ7XG4gIGdhcDogMC43NXJlbTtcbiAgcGFkZGluZzogMS41cmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1saW5lKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tYmcpO1xuICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgdmFyKC0tZHVyLWZhc3QpIGN1YmljLWJlemllcigwLjIyLCAwLjYxLCAwLjM2LCAxKSwgdHJhbnNmb3JtIHZhcigtLWR1ci1mYXN0KSBjdWJpYy1iZXppZXIoMC4yMiwgMC42MSwgMC4zNiwgMSk7XG59XG4udHdlZXRfX21hcmsge1xuICBjb2xvcjogdmFyKC0taW5rLTMpO1xuICB0cmFuc2l0aW9uOiBjb2xvciB2YXIoLS1kdXItZmFzdCkgY3ViaWMtYmV6aWVyKDAuMjIsIDAuNjEsIDAuMzYsIDEpO1xufVxuLnR3ZWV0X19tYXJrIHN2ZyB7XG4gIHdpZHRoOiAxNXB4O1xuICBoZWlnaHQ6IDE1cHg7XG59XG4udHdlZXRfX3RleHQge1xuICBmb250LXNpemU6IGNsYW1wKDAuOTJyZW0sIDAuMzV2dyArIDAuODRyZW0sIDEuMDJyZW0pO1xuICBsaW5lLWhlaWdodDogMS40NTtcbiAgY29sb3I6IHZhcigtLWluayk7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAtd2Via2l0LWxpbmUtY2xhbXA6IDY7XG4gIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4udHdlZXRfX2F1dGhvciB7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuICBmb250LXNpemU6IGNsYW1wKDAuOXJlbSwgMS4xdncsIDEuMTVyZW0pO1xuICBmb250LXdlaWdodDogOTAwO1xuICBsaW5lLWhlaWdodDogY2FsYygxICogdmFyKC0tZGlzcGxheS1sZWFkaW5nKSk7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zO1xuICBmb250LXNpemU6IDAuN3JlbTtcbiAgY29sb3I6IHZhcigtLWluay0zKTtcbn1cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSBhbmQgKHBvaW50ZXI6IGZpbmUpIHtcbiAgLnR3ZWV0OmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWFjY2VudCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0zcHgpO1xuICB9XG4gIC50d2VldDpob3ZlciAudHdlZXRfX21hcmsge1xuICAgIGNvbG9yOiB2YXIoLS1hY2NlbnQtaW5rKTtcbiAgfVxufVxuXG4ud2FsbCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDYsIDFmcik7XG4gIGdhcDogY2xhbXAoMC41cmVtLCAxLjJ2dywgMXJlbSk7XG59XG5AbWVkaWEgKG1heC13aWR0aDogNzgwcHgpIHtcbiAgLndhbGwge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gIH1cbn1cblxuLnNwb3N0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZ3JpZC1jb2x1bW46IHNwYW4gMjtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYmFja2dyb3VuZDogdmFyKC0tYmctMyk7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzIGN1YmljLWJlemllcigwLjIyLCAwLjYxLCAwLjM2LCAxKSwgYm94LXNoYWRvdyAwLjVzIGN1YmljLWJlemllcigwLjIyLCAwLjYxLCAwLjM2LCAxKTtcbn1cbi5zcG9zdDpudGgtY2hpbGQoM24rMSkge1xuICBncmlkLWNvbHVtbjogc3BhbiAzO1xufVxuLnNwb3N0Om50aC1jaGlsZCgzbisyKSB7XG4gIGdyaWQtY29sdW1uOiBzcGFuIDM7XG59XG5AbWVkaWEgKG1heC13aWR0aDogNzgwcHgpIHtcbiAgLnNwb3N0IHtcbiAgICBncmlkLWNvbHVtbjogc3BhbiAxO1xuICB9XG4gIC5zcG9zdDpudGgtY2hpbGQoM24rMSksIC5zcG9zdDpudGgtY2hpbGQoM24rMikge1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDE7XG4gIH1cbn1cbi5zcG9zdF9fbWVkaWEge1xuICBhc3BlY3QtcmF0aW86IDQvNTtcbiAgYmFja2dyb3VuZDogdmFyKC0tYmctMyk7XG59XG4uc3Bvc3RfX21lZGlhIGltZyB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpIHRyYW5zbGF0ZVooMCk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNTVzIGN1YmljLWJlemllcigwLjIyLCAwLjYxLCAwLjM2LCAxKSwgb3BhY2l0eSAwLjRzIGN1YmljLWJlemllcigwLjIyLCAwLjYxLCAwLjM2LCAxKSwgZmlsdGVyIDAuNHMgY3ViaWMtYmV6aWVyKDAuMjIsIDAuNjEsIDAuMzYsIDEpICFpbXBvcnRhbnQ7XG59XG4uc3Bvc3Q6bnRoLWNoaWxkKDNuKzEpIC5zcG9zdF9fbWVkaWEsIC5zcG9zdDpudGgtY2hpbGQoM24rMikgLnNwb3N0X19tZWRpYSB7XG4gIGFzcGVjdC1yYXRpbzogMy8yO1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDc4MHB4KSB7XG4gIC5zcG9zdDpudGgtY2hpbGQoM24rMSkgLnNwb3N0X19tZWRpYSwgLnNwb3N0Om50aC1jaGlsZCgzbisyKSAuc3Bvc3RfX21lZGlhIHtcbiAgICBhc3BlY3QtcmF0aW86IDQvNTtcbiAgfVxufVxuLnNwb3N0X19iYWRnZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwLjc1cmVtO1xuICByaWdodDogMC43NXJlbTtcbiAgZGlzcGxheTogZ3JpZDtcbiAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcbiAgd2lkdGg6IDMwcHg7XG4gIGhlaWdodDogMzBweDtcbiAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC40NSk7XG4gIGJhY2tkcm9wLWZpbHRlcjogYmx1cig2cHgpO1xuICBjb2xvcjogI2ZmZjtcbn1cbi5zcG9zdF9fYmFkZ2Ugc3ZnIHtcbiAgd2lkdGg6IDE1cHg7XG4gIGhlaWdodDogMTVweDtcbn1cbi5zcG9zdF9fYm9keSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaW5zZXQ6IGF1dG8gMCAwIDA7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdhcDogMC4zNWVtO1xuICBwYWRkaW5nOiAycmVtIDFyZW0gMXJlbTtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRyYW5zcGFyZW50LCByZ2JhKDAsIDAsIDAsIDAuODIpKTtcbiAgY29sb3I6ICNmZmY7XG59XG4uc3Bvc3RfX2NhcHRpb24ge1xuICBmb250LXNpemU6IGNsYW1wKDAuODJyZW0sIDAuMzV2dyArIDAuNzRyZW0sIDAuOTVyZW0pO1xuICBsaW5lLWhlaWdodDogMS4zNTtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIC13ZWJraXQtbGluZS1jbGFtcDogMjtcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5zcG9zdF9fZGF0ZSB7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuICBmb250LXNpemU6IGNsYW1wKDAuOXJlbSwgMS4xdncsIDEuMTVyZW0pO1xuICBmb250LXdlaWdodDogOTAwO1xuICBsaW5lLWhlaWdodDogY2FsYygxICogdmFyKC0tZGlzcGxheS1sZWFkaW5nKSk7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zO1xuICBmb250LXNpemU6IDAuN3JlbTtcbiAgb3BhY2l0eTogMC43Mjtcbn1cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSBhbmQgKHBvaW50ZXI6IGZpbmUpIHtcbiAgLnNwb3N0OmhvdmVyIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTRweCk7XG4gICAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LWNhcmQpO1xuICB9XG4gIC5zcG9zdDpob3ZlciAuc3Bvc3RfX21lZGlhIGltZyB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA2KSB0cmFuc2xhdGVaKDApO1xuICB9XG59XG5cbi5ncmlkIHtcbiAgLS1ncmlkLWdhcDogY2xhbXAoMS4yNXJlbSwgMi41dncsIDIuNXJlbSk7XG59XG5AbWVkaWEgKG1heC13aWR0aDogNzgwcHgpIHtcbiAgLmdyaWQge1xuICAgIC0tZ3JpZC1nYXA6IDA7XG4gICAgcm93LWdhcDogMDtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tbGluZSk7XG4gIH1cbn1cbi5ncmlkIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heChtaW4oMTAwJSwgMzAwcHgpLCAxZnIpKTtcbiAgZ2FwOiB2YXIoLS1ncmlkLWdhcCk7XG59XG4uZ3JpZCA+IDpvbmx5LWNoaWxkIHtcbiAgbWF4LXdpZHRoOiBjYWxjKDUwJSAtIHZhcigtLWdyaWQtZ2FwKSAvIDIpO1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDc4MHB4KSB7XG4gIC5ncmlkID4gOm9ubHktY2hpbGQge1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgfVxufVxuXG4uZ3JpZC0td2lkZSB7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgobWluKDEwMCUsIDQyMHB4KSwgMWZyKSk7XG59XG5cbi5ncmlkLS1ndWVzdHMge1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heChtaW4oMTAwJSwgMTcwcHgpLCAxZnIpKTtcbn1cbi5ncmlkLS1ndWVzdHMgPiA6b25seS1jaGlsZCB7XG4gIG1heC13aWR0aDogbm9uZTtcbn1cbi5ncmlkLS1ndWVzdHMgLmd1ZXN0X19waG90byB7XG4gIHdpZHRoOiAxMDAlO1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDc4MHB4KSB7XG4gIC5ncmlkLS1ndWVzdHMge1xuICAgIC0tZ3JpZC1nYXA6IGNsYW1wKDEuMjVyZW0sIDV2dywgMnJlbSk7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgfVxufVxuXG4uZ3JpZC0tMyB7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIG1pbm1heCgwLCAxZnIpKTtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiAxMDgwcHgpIHtcbiAgLmdyaWQtLTMge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIG1pbm1heCgwLCAxZnIpKTtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDc4MHB4KSB7XG4gIC5ncmlkLS0zIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgwLCAxZnIpO1xuICB9XG59XG5cbi5jYXJkIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ2FwOiAwO1xuICBhbGlnbi1jb250ZW50OiBzdGFydDtcbn1cbi5jYXJkX19tZWRpYSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgYXNwZWN0LXJhdGlvOiAxNi85O1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy0zKTtcbn1cbi5jYXJkX19tZWRpYSBpbWcge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpIHRyYW5zbGF0ZVooMCk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNnMgY3ViaWMtYmV6aWVyKDAuMjIsIDAuNjEsIDAuMzYsIDEpLCBvcGFjaXR5IDAuNHMgY3ViaWMtYmV6aWVyKDAuMjIsIDAuNjEsIDAuMzYsIDEpLCBmaWx0ZXIgMC40cyBjdWJpYy1iZXppZXIoMC4yMiwgMC42MSwgMC4zNiwgMSkgIWltcG9ydGFudDtcbn1cbi5jYXJkLS1zaG9ydHMgLmNhcmRfX21lZGlhIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYmctMyk7XG59XG4uY2FyZC0tc2hvcnRzIC5jYXJkX19tZWRpYSBpbWcge1xuICBvYmplY3QtZml0OiBjb250YWluO1xufVxuLmNhcmQtLXNob3J0cyAuY2FyZF9fbWVkaWE6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaW5zZXQ6IDA7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFydCkgY2VudGVyL2NvdmVyIG5vLXJlcGVhdDtcbiAgZmlsdGVyOiBicmlnaHRuZXNzKDAuMik7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7XG59XG4uY2FyZC0tc2hvcnRzIC5jYXJkX19tZWRpYTo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGluc2V0OiBhdXRvIDAgMCAwO1xuICBoZWlnaHQ6IDQ1JTtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRyYW5zcGFyZW50LCByZ2JhKDAsIDAsIDAsIDAuNTUpKTtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSB2YXIoLS1kdXIpIGN1YmljLWJlemllcigwLjIyLCAwLjYxLCAwLjM2LCAxKTtcbn1cbi5jYXJkOmhvdmVyIC5jYXJkX19tZWRpYSBpbWcge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMDYpIHRyYW5zbGF0ZVooMCk7XG59XG4uY2FyZDpob3ZlciAuY2FyZF9fbWVkaWE6OmFmdGVyIHtcbiAgb3BhY2l0eTogMTtcbn1cbi5jYXJkX19waWxsLCAuY2FyZF9fY2hpcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMjtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGZvbnQtc2l6ZTogY2xhbXAoMC45cmVtLCAxLjF2dywgMS4xNXJlbSk7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIGxpbmUtaGVpZ2h0OiBjYWxjKDEgKiB2YXIoLS1kaXNwbGF5LWxlYWRpbmcpKTtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7XG4gIHBhZGRpbmc6IDAuMTZlbSAwLjYyZW07XG4gIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hY2NlbnQpO1xuICBjb2xvcjogI2ZmZjtcbn1cbi5jYXJkX19waWxsIHtcbiAgdG9wOiBjYWxjKDAuNzVyZW0gLSAzcHgpO1xuICBsZWZ0OiBjYWxjKDAuNzVyZW0gLSAzcHgpO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBjb2xvcjogIzExMTtcbn1cbi5jYXJkX19jaGlwIHtcbiAgYm90dG9tOiAwLjc1cmVtO1xuICBsZWZ0OiAwLjc1cmVtO1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDc4MHB4KSB7XG4gIC5jYXJkX19waWxsLCAuY2FyZF9fY2hpcCB7XG4gICAgZm9udC1zaXplOiAwLjcycmVtO1xuICAgIHBhZGRpbmc6IDAuMThlbSAwLjU1ZW07XG4gIH1cbiAgLmNhcmRfX3BpbGwge1xuICAgIHRvcDogY2FsYygwLjVyZW0gLSAzcHgpO1xuICAgIGxlZnQ6IGNhbGMoMC41cmVtIC0gM3B4KTtcbiAgfVxuICAuY2FyZF9fY2hpcCB7XG4gICAgYm90dG9tOiAwLjVyZW07XG4gICAgbGVmdDogMC41cmVtO1xuICB9XG59XG4uY2FyZF9fcGxheSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDAuNzVyZW07XG4gIGJvdHRvbTogMC43NXJlbTtcbiAgei1pbmRleDogMjtcbiAgZGlzcGxheTogZ3JpZDtcbiAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcbiAgd2lkdGg6IDQ2cHg7XG4gIGhlaWdodDogNDZweDtcbiAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFjY2VudCk7XG4gIGNvbG9yOiB2YXIoLS1vbi1hY2NlbnQpO1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuNyk7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjRzIGN1YmljLWJlemllcigwLjE2LCAxLCAwLjMsIDEpLCBvcGFjaXR5IDAuM3MgY3ViaWMtYmV6aWVyKDAuMjIsIDAuNjEsIDAuMzYsIDEpO1xufVxuLmNhcmRfX3BsYXkgc3ZnIHtcbiAgd2lkdGg6IDE0cHg7XG4gIGhlaWdodDogMTRweDtcbiAgbWFyZ2luLWxlZnQ6IDJweDtcbn1cbi5jYXJkOmhvdmVyIC5jYXJkX19wbGF5IHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgb3BhY2l0eTogMTtcbn1cbi5jYXJkX19tZXRhIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAwLjc1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjNlbTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGZvbnQtc2l6ZTogY2xhbXAoMC45cmVtLCAxLjF2dywgMS4xNXJlbSk7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIGxpbmUtaGVpZ2h0OiBjYWxjKDEgKiB2YXIoLS1kaXNwbGF5LWxlYWRpbmcpKTtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7XG4gIGNvbG9yOiB2YXIoLS1hY2NlbnQtaW5rKTtcbn1cbi5jYXJkX19tZXRhIC5jYXJkX19lcCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4uY2FyZF9fdGl0bGUge1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbiAgZm9udC1zaXplOiBjbGFtcCgxOHB4LCAxNC42NjY2NjY2NjY3cHggKyAwLjgzMzMzMzMzMzN2dywgMjhweCk7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIGxpbmUtaGVpZ2h0OiBjYWxjKDEuMDUgKiB2YXIoLS1kaXNwbGF5LWxlYWRpbmcpKTtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHRyYW5zaXRpb246IGNvbG9yIHZhcigtLWR1ci1mYXN0KSBjdWJpYy1iZXppZXIoMC4yMiwgMC42MSwgMC4zNiwgMSk7XG59XG5AbWVkaWEgKG1heC13aWR0aDogNzgwcHgpIHtcbiAgLmNhcmRfX3RpdGxlIHtcbiAgICBmb250LXNpemU6IGNsYW1wKDEuMDJyZW0sIDMuNHZ3LCAxLjM1cmVtKTtcbiAgICBsaW5lLWhlaWdodDogY2FsYygxLjA1ICogdmFyKC0tZGlzcGxheS1sZWFkaW5nKSk7XG4gIH1cbn1cbi5jYXJkOmhvdmVyIC5jYXJkX190aXRsZSB7XG4gIGNvbG9yOiB2YXIoLS1hY2NlbnQtaW5rKTtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA3ODBweCkge1xuICAuY2FyZCB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIG1pbm1heCgwLCAxZnIpO1xuICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0byBhdXRvIGF1dG87XG4gICAgY29sdW1uLWdhcDogMXJlbTtcbiAgICByb3ctZ2FwOiAwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZy1ibG9jazogY2xhbXAoMS41cmVtLCAyLjZ2dywgMi41cmVtKTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tbGluZSk7XG4gIH1cbiAgLmNhcmQgLmNhcmRfX21lZGlhIHtcbiAgICBncmlkLWNvbHVtbjogMTtcbiAgICBncmlkLXJvdzogMS9zcGFuIDM7XG4gICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgIHdpZHRoOiAzOHZ3O1xuICAgIGFzcGVjdC1yYXRpbzogMTYvOTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIH1cbiAgLmNhcmQgLmNhcmRfX2NoaXAge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLmNhcmQgLmNhcmRfX21ldGEge1xuICAgIGRpc3BsYXk6IGNvbnRlbnRzO1xuICB9XG4gIC5jYXJkIC5jYXJkX19lcCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgZ3JpZC1yb3c6IDE7XG4gICAgYWxpZ24tc2VsZjogZW5kO1xuICAgIG1hcmdpbi1ib3R0b206IDAuM2VtO1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuICAgIGZvbnQtc2l6ZTogY2xhbXAoMC45cmVtLCAxLjF2dywgMS4xNXJlbSk7XG4gICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICBsaW5lLWhlaWdodDogY2FsYygxICogdmFyKC0tZGlzcGxheS1sZWFkaW5nKSk7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zO1xuICAgIGZvbnQtc2l6ZTogMC44NHJlbTtcbiAgICBjb2xvcjogdmFyKC0tYWNjZW50LWluayk7XG4gIH1cbiAgLmNhcmQgLmNhcmRfX3RpdGxlIHtcbiAgICBncmlkLWNvbHVtbjogMjtcbiAgICBncmlkLXJvdzogMjtcbiAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gIH1cbiAgLmNhcmQgLmNhcmRfX2RhdGUge1xuICAgIGdyaWQtY29sdW1uOiAyO1xuICAgIGdyaWQtcm93OiAzO1xuICAgIGFsaWduLXNlbGY6IHN0YXJ0O1xuICAgIG1hcmdpbjogMC40ZW0gMCAwO1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWJvZHkpO1xuICAgIGZvbnQtc2l6ZTogMC44NnJlbTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ1O1xuICAgIGxldHRlci1zcGFjaW5nOiAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIGNvbG9yOiB2YXIoLS1pbmstMik7XG4gIH1cbiAgLmNhcmQgLmNhcmRfX2V4Y2VycHQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbi5jYXJkX19leGNlcnB0IHtcbiAgbWFyZ2luLXRvcDogMC41ZW07XG4gIGZvbnQtc2l6ZTogMC45NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgY29sb3I6IHZhcigtLWluay0yKTtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIC13ZWJraXQtbGluZS1jbGFtcDogMjtcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA3ODBweCkge1xuICAuY2FyZF9fZXhjZXJwdCB7XG4gICAgZm9udC1zaXplOiAwLjg2cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ1O1xuICAgIG1hcmdpbi10b3A6IDAuNGVtO1xuICB9XG59XG5cbi5ndWVzdCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGp1c3RpZnktaXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAwLjc1cmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4uZ3Vlc3RfX3Bob3RvIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogY2xhbXAoMTEwcHgsIDEydncsIDE2OHB4KTtcbiAgYXNwZWN0LXJhdGlvOiAxO1xuICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYmFja2dyb3VuZDogdmFyKC0tYmctMyk7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAgdmFyKC0tYWNjZW50KTtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjRzIGN1YmljLWJlemllcigwLjE2LCAxLCAwLjMsIDEpO1xufVxuLmd1ZXN0X19waG90byBpbWcge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGluc2V0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvYmplY3QtZml0OiBjb3Zlcjtcbn1cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSBhbmQgKHBvaW50ZXI6IGZpbmUpIHtcbiAgYS5ndWVzdDpob3ZlciAuZ3Vlc3RfX3Bob3RvIHtcbiAgICBib3gtc2hhZG93OiAwIDAgMCA0cHggdmFyKC0tYWNjZW50KTtcbiAgfVxuICBhLmd1ZXN0OmhvdmVyIC5ndWVzdF9fbmFtZSB7XG4gICAgY29sb3I6IHZhcigtLWFjY2VudC1pbmspO1xuICB9XG59XG4uZ3Vlc3QtLXN0YXRpYyB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgb3BhY2l0eTogMC40NTtcbiAgLS1yZXN0LW9wYWNpdHk6IC40NTtcbn1cbi5ndWVzdF9fbmFtZSB7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuICBmb250LXNpemU6IDEuMDVyZW07XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtO1xuICB0cmFuc2l0aW9uOiBjb2xvciB2YXIoLS1kdXItZmFzdCkgY3ViaWMtYmV6aWVyKDAuMjIsIDAuNjEsIDAuMzYsIDEpO1xufVxuLmd1ZXN0X19yb2xlIHtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ubyk7XG4gIGZvbnQtc2l6ZTogMC42NnJlbTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMTJlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6IHZhcigtLWluay0zKTtcbn1cblxuLmZlYXR1cmUge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgwLCAxLjE1ZnIpIG1pbm1heCgwLCAwLjg1ZnIpO1xuICBnYXA6IGNsYW1wKDEuNXJlbSwgNHZ3LCA0cmVtKTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogY2xhbXAoMS41cmVtLCAzdncsIDNyZW0pO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1saW5lKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWxnKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tYmctMik7XG59XG5AbWVkaWEgKG1heC13aWR0aDogMTA4MHB4KSB7XG4gIC5mZWF0dXJlIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgfVxufVxuLmZlYXR1cmVfX21lZGlhIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBhc3BlY3QtcmF0aW86IDE2Lzk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJhY2tncm91bmQ6IHZhcigtLWJnLTMpO1xufVxuLmZlYXR1cmVfX21lZGlhIGltZyB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xufVxuLmZlYXR1cmVfX2JvZHkge1xuICBkaXNwbGF5OiBncmlkO1xuICBnYXA6IDFyZW07XG4gIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbn1cbi5mZWF0dXJlX190aXRsZSB7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuICBmb250LXNpemU6IGNsYW1wKDI4cHgsIDE0LjY2NjY2NjY2NjdweCArIDMuMzMzMzMzMzMzM3Z3LCA2OHB4KTtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgbGluZS1oZWlnaHQ6IGNhbGMoMC45NCAqIHZhcigtLWRpc3BsYXktbGVhZGluZykpO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDNlbTtcbn1cblxuLnByb3NlIHtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBmb250LXNpemU6IGNsYW1wKDEuMDVyZW0sIDAuNHZ3ICsgMC45NnJlbSwgMS4xNnJlbSk7XG4gIGxpbmUtaGVpZ2h0OiAxLjc7XG4gIGNvbG9yOiB2YXIoLS1pbmstMik7XG59XG4ucHJvc2UgPiAqICsgKiB7XG4gIG1hcmdpbi10b3A6IDEuMzVlbTtcbn1cbi5wcm9zZSBoMiwgLnByb3NlIGgzLCAucHJvc2UgaDQge1xuICBjb2xvcjogdmFyKC0taW5rKTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIGxpbmUtaGVpZ2h0OiBjYWxjKDEuMDUgKiB2YXIoLS1kaXNwbGF5LWxlYWRpbmcpKTtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyNWVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBtYXJnaW4tdG9wOiAyLjJlbTtcbn1cbi5wcm9zZSBoMiB7XG4gIGZvbnQtc2l6ZTogY2xhbXAoMS42cmVtLCAyLjR2dywgMi40cmVtKTtcbn1cbi5wcm9zZSBoMyB7XG4gIGZvbnQtc2l6ZTogY2xhbXAoMS4zcmVtLCAxLjh2dywgMS43cmVtKTtcbn1cbi5wcm9zZSBoNCB7XG4gIGZvbnQtc2l6ZTogMS4xNXJlbTtcbn1cbi5wcm9zZSBzdHJvbmcge1xuICBjb2xvcjogdmFyKC0taW5rKTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cbi5wcm9zZSBhIHtcbiAgY29sb3I6IHZhcigtLWluayk7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB0ZXh0LWRlY29yYXRpb24tY29sb3I6IHZhcigtLWFjY2VudCk7XG4gIHRleHQtdW5kZXJsaW5lLW9mZnNldDogMC4xOGVtO1xuICB0ZXh0LWRlY29yYXRpb24tdGhpY2tuZXNzOiAycHg7XG4gIHRyYW5zaXRpb246IGNvbG9yIHZhcigtLWR1ci1mYXN0KSBjdWJpYy1iZXppZXIoMC4yMiwgMC42MSwgMC4zNiwgMSk7XG59XG4ucHJvc2UgYTpob3ZlciB7XG4gIGNvbG9yOiB2YXIoLS1hY2NlbnQtaW5rKTtcbn1cbi5wcm9zZSB1bCwgLnByb3NlIG9sIHtcbiAgcGFkZGluZy1sZWZ0OiAxLjRlbTtcbn1cbi5wcm9zZSBsaSArIGxpIHtcbiAgbWFyZ2luLXRvcDogMC41ZW07XG59XG4ucHJvc2UgbGk6Om1hcmtlciB7XG4gIGNvbG9yOiB2YXIoLS1hY2NlbnQtaW5rKTtcbn1cbi5wcm9zZSBibG9ja3F1b3RlIHtcbiAgbWFyZ2luLWlubGluZTogMDtcbiAgcGFkZGluZy1sZWZ0OiAxLjVyZW07XG4gIGJvcmRlci1sZWZ0OiAycHggc29saWQgdmFyKC0tYWNjZW50KTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGZvbnQtc2l6ZTogY2xhbXAoMS4zcmVtLCAydncsIDEuOXJlbSk7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6IHZhcigtLWluayk7XG59XG4ucHJvc2UgaW1nLCAucHJvc2UgZmlndXJlLCAucHJvc2UgdmlkZW8sIC5wcm9zZSBpZnJhbWUge1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xufVxuLnByb3NlIGZpZ2NhcHRpb24ge1xuICBtYXJnaW4tdG9wOiAwLjVyZW07XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm8pO1xuICBmb250LXNpemU6IDAuN3JlbTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMWVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBjb2xvcjogdmFyKC0taW5rLTMpO1xufVxuLnByb3NlIGNvZGUge1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vKTtcbiAgZm9udC1zaXplOiAwLjg4ZW07XG4gIHBhZGRpbmc6IDAuMTVlbSAwLjRlbTtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy0zKTtcbiAgY29sb3I6IHZhcigtLWluayk7XG59XG4ucHJvc2UgaHIge1xuICBib3JkZXI6IDA7XG4gIGhlaWdodDogMXB4O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1saW5lKTtcbiAgbWFyZ2luLWJsb2NrOiAyLjVlbTtcbn1cblxuLnBhZ2luYXRpb24ge1xuICBtYXJnaW4tdG9wOiBjbGFtcCgycmVtLCA0dncsIDRyZW0pO1xufVxuLnBhZ2luYXRpb24gLm5hdi1saW5rcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogMC41cmVtO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG4ucGFnaW5hdGlvbiAucGFnZS1udW1iZXJzIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcbiAgbWluLXdpZHRoOiA0NnB4O1xuICBoZWlnaHQ6IDQ2cHg7XG4gIHBhZGRpbmctaW5saW5lOiAwLjc1cmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1saW5lKTtcbiAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm8pO1xuICBmb250LXNpemU6IDAuOHJlbTtcbiAgY29sb3I6IHZhcigtLWluay0yKTtcbiAgdHJhbnNpdGlvbjogY29sb3IgdmFyKC0tZHVyLWZhc3QpIGN1YmljLWJlemllcigwLjIyLCAwLjYxLCAwLjM2LCAxKSwgYm9yZGVyLWNvbG9yIHZhcigtLWR1ci1mYXN0KSBjdWJpYy1iZXppZXIoMC4yMiwgMC42MSwgMC4zNiwgMSk7XG59XG4ucGFnaW5hdGlvbiAucGFnZS1udW1iZXJzOmhvdmVyIHtcbiAgY29sb3I6IHZhcigtLWluayk7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tbGluZS0yKTtcbn1cbi5wYWdpbmF0aW9uIC5wYWdlLW51bWJlcnMuY3VycmVudCB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFjY2VudCk7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYWNjZW50KTtcbiAgY29sb3I6IHZhcigtLW9uLWFjY2VudCk7XG59XG5cbi53aXRoLXNpZGUge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgwLCAxZnIpIDMyMHB4O1xuICBnYXA6IGNsYW1wKDJyZW0sIDR2dywgNC41cmVtKTtcbiAgYWxpZ24taXRlbXM6IHN0YXJ0O1xufVxuLndpdGgtc2lkZSA+ICoge1xuICBtaW4td2lkdGg6IDA7XG59XG4ud2l0aC1zaWRlID4gOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogLTAuNnJlbTtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiAxMDgwcHgpIHtcbiAgLndpdGgtc2lkZSB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgZ2FwOiBjbGFtcCgyLjVyZW0sIDZ2dywgNHJlbSk7XG4gIH1cbiAgLndpdGgtc2lkZSA+IDpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxufVxuXG4uc2lkZV9fYmxvY2sgKyAuc2lkZV9fYmxvY2sge1xuICBtYXJnaW4tdG9wOiBjbGFtcCgycmVtLCAzLjV2dywgM3JlbSk7XG59XG4uc2lkZV9fdGl0bGUge1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbiAgZm9udC1zaXplOiBjbGFtcCgwLjlyZW0sIDEuMXZ3LCAxLjE1cmVtKTtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgbGluZS1oZWlnaHQ6IGNhbGMoMSAqIHZhcigtLWRpc3BsYXktbGVhZGluZykpO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcbiAgY29sb3I6IHZhcigtLWluay0yKTtcbiAgcGFkZGluZy1ib3R0b206IDAuNzVyZW07XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1saW5lKTtcbn1cbi5zaWRlX19saXN0IHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuLnNpZGVfX2l0ZW0gKyAuc2lkZV9faXRlbSB7XG4gIG1hcmdpbi10b3A6IDFyZW07XG59XG4uc2lkZV9fbGlzdC0tZ3Vlc3RzIC5zaWRlX19saW5rIHtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA1MXB4IG1pbm1heCgwLCAxZnIpO1xuICBnYXA6IDAuNzVyZW07XG59XG4uc2lkZV9fbGlzdC0tZ3Vlc3RzIC5zaWRlX190aHVtYiB7XG4gIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xufVxuLnNpZGVfX2xpbmsge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDY0cHggbWlubWF4KDAsIDFmcik7XG4gIGdhcDogMXJlbTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG5AbWVkaWEgKGhvdmVyOiBob3ZlcikgYW5kIChwb2ludGVyOiBmaW5lKSB7XG4gIC5zaWRlX19saW5rOmhvdmVyIC5zaWRlX19uYW1lIHtcbiAgICBjb2xvcjogdmFyKC0tYWNjZW50LWluayk7XG4gIH1cbiAgLnNpZGVfX2xpbms6aG92ZXIgLnNpZGVfX3RodW1iIGltZyB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA4KSB0cmFuc2xhdGVaKDApO1xuICB9XG59XG4uc2lkZV9fbGluay0tc3RhdGljIHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBvcGFjaXR5OiAwLjQ1O1xufVxuQG1lZGlhIChob3ZlcjogaG92ZXIpIGFuZCAocG9pbnRlcjogZmluZSkge1xuICAuc2lkZV9fbGluay0tc3RhdGljOmhvdmVyIC5zaWRlX19uYW1lIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgfVxuICAuc2lkZV9fbGluay0tc3RhdGljOmhvdmVyIC5zaWRlX190aHVtYiBpbWcge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuLnNpZGVfX3RodW1iIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGFzcGVjdC1yYXRpbzogMS8xO1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJhY2tncm91bmQ6IHZhcigtLWJnLTMpO1xufVxuLnNpZGVfX3RodW1iIGltZyB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpIHRyYW5zbGF0ZVooMCk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMgY3ViaWMtYmV6aWVyKDAuMjIsIDAuNjEsIDAuMzYsIDEpLCBvcGFjaXR5IDAuNHMgY3ViaWMtYmV6aWVyKDAuMjIsIDAuNjEsIDAuMzYsIDEpLCBmaWx0ZXIgMC40cyBjdWJpYy1iZXppZXIoMC4yMiwgMC42MSwgMC4zNiwgMSkgIWltcG9ydGFudDtcbn1cbi5zaWRlX19ib2R5IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1pbi13aWR0aDogMDtcbn1cbi5zaWRlX19uYW1lIHtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIC13ZWJraXQtbGluZS1jbGFtcDogMjtcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1zaXplOiAwLjkycmVtO1xuICBsaW5lLWhlaWdodDogMS4zO1xuICB0cmFuc2l0aW9uOiBjb2xvciB2YXIoLS1kdXItZmFzdCkgY3ViaWMtYmV6aWVyKDAuMjIsIDAuNjEsIDAuMzYsIDEpO1xufVxuLnNpZGVfX21ldGEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXRvcDogMC4zZW07XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm8pO1xuICBmb250LXNpemU6IDAuN3JlbTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMTJlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6IHZhcigtLWluay0zKTtcbn1cbi5zaWRlX195ZWFyIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWxpbmUpO1xufVxuLnNpZGVfX3llYXI6bGFzdC1vZi10eXBlIHtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbn1cbi5zaWRlX195ZWFybmFtZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZy1ibG9jazogMC43NXJlbTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vKTtcbiAgZm9udC1zaXplOiAwLjgycmVtO1xuICBsZXR0ZXItc3BhY2luZzogMC4xZW07XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG4uc2lkZV9feWVhcm5hbWU6Oi13ZWJraXQtZGV0YWlscy1tYXJrZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuLnNpZGVfX3llYXJuYW1lOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHdpZHRoOiA3cHg7XG4gIGhlaWdodDogN3B4O1xuICBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCBjdXJyZW50Q29sb3I7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCBjdXJyZW50Q29sb3I7XG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKSB0cmFuc2xhdGUoLTJweCwgLTJweCk7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSB2YXIoLS1kdXItZmFzdCkgY3ViaWMtYmV6aWVyKDAuMjIsIDAuNjEsIDAuMzYsIDEpO1xuICBvcGFjaXR5OiAwLjU1O1xufVxuLnNpZGVfX3llYXJbb3Blbl0gLnNpZGVfX3llYXJuYW1lOjphZnRlciB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDIyNWRlZykgdHJhbnNsYXRlKC0ycHgsIC0ycHgpO1xufVxuLnNpZGVfX21vbnRocyB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMCAwIDAuNzVyZW07XG4gIHBhZGRpbmc6IDA7XG59XG4uc2lkZV9fbW9udGhzIGEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZy1ibG9jazogMC4yNXJlbTtcbiAgZm9udC1zaXplOiAwLjg4cmVtO1xuICBjb2xvcjogdmFyKC0taW5rLTIpO1xuICB0cmFuc2l0aW9uOiBjb2xvciB2YXIoLS1kdXItZmFzdCkgY3ViaWMtYmV6aWVyKDAuMjIsIDAuNjEsIDAuMzYsIDEpO1xufVxuQG1lZGlhIChob3ZlcjogaG92ZXIpIGFuZCAocG9pbnRlcjogZmluZSkge1xuICAuc2lkZV9fbW9udGhzIGE6aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS1hY2NlbnQtaW5rKTtcbiAgfVxufVxuLnNpZGVfX24ge1xuICBtYXJnaW4tbGVmdDogMC4zNWVtO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vKTtcbiAgZm9udC1zaXplOiAwLjc4cmVtO1xuICBjb2xvcjogdmFyKC0taW5rLTMpO1xuICBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zO1xufVxuXG4uY2xvdWQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGdhcDogMC41cmVtO1xufVxuLmNsb3VkX190ZXJtIHtcbiAgLS13OiAwO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICBnYXA6IDAuNDVlbTtcbiAgcGFkZGluZzogMC40ZW0gMC43NWVtO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1saW5lKTtcbiAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gIGZvbnQtc2l6ZTogY2FsYygwLjc4cmVtICsgdmFyKC0tdykgKiAwLjNyZW0pO1xuICBmb250LXdlaWdodDogY2FsYyg1MDAgKyB2YXIoLS13KSAqIDIwMCk7XG4gIGxpbmUtaGVpZ2h0OiAxLjE7XG4gIGNvbG9yOiB2YXIoLS1pbmstMik7XG4gIHRyYW5zaXRpb246IGNvbG9yIHZhcigtLWR1ci1mYXN0KSBjdWJpYy1iZXppZXIoMC4yMiwgMC42MSwgMC4zNiwgMSksIGJvcmRlci1jb2xvciB2YXIoLS1kdXItZmFzdCkgY3ViaWMtYmV6aWVyKDAuMjIsIDAuNjEsIDAuMzYsIDEpO1xufVxuQG1lZGlhIChob3ZlcjogaG92ZXIpIGFuZCAocG9pbnRlcjogZmluZSkge1xuICBhLmNsb3VkX190ZXJtOmhvdmVyIHtcbiAgICBjb2xvcjogdmFyKC0tYWNjZW50LWluayk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1hY2NlbnQpO1xuICB9XG59XG4uY2xvdWRfX3Rlcm0tLXN0YXRpYyB7XG4gIGJvcmRlci1zdHlsZTogZGFzaGVkO1xuICBjb2xvcjogdmFyKC0taW5rLTMpO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG4uY2xvdWRfX2ljbyB7XG4gIHdpZHRoOiAxZW07XG4gIGhlaWdodDogMWVtO1xuICBmbGV4OiBub25lO1xuICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gIG9wYWNpdHk6IDAuNztcbn1cbi5jbG91ZF9fbiB7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm8pO1xuICBmb250LXNpemU6IDAuNjhyZW07XG4gIGNvbG9yOiB2YXIoLS1pbmstMyk7XG4gIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7XG59XG5cbi50YWdzIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ2FwOiAxcmVtO1xuICBtYXJnaW4tdG9wOiBjbGFtcCgycmVtLCA0dncsIDNyZW0pO1xuICBwYWRkaW5nLXRvcDogMS41cmVtO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tbGluZSk7XG59XG4udGFnc19fcm93IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDAuNXJlbTtcbn1cbi50YWdzX19yb3cgLmNsb3VkIHtcbiAgZGlzcGxheTogY29udGVudHM7XG59XG5AbWVkaWEgKG1heC13aWR0aDogNTIwcHgpIHtcbiAgLnRhZ3NfX3JvdyAudGFnc19fbGFiZWwge1xuICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDAuMjVyZW07XG4gIH1cbn1cbi50YWdzX19sYWJlbCB7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuICBmb250LXNpemU6IGNsYW1wKDAuOXJlbSwgMS4xdncsIDEuMTVyZW0pO1xuICBmb250LXdlaWdodDogOTAwO1xuICBsaW5lLWhlaWdodDogY2FsYygxICogdmFyKC0tZGlzcGxheS1sZWFkaW5nKSk7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zO1xuICBjb2xvcjogdmFyKC0taW5rLTMpO1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbn1cblxuLnByb21vIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLWJsb2NrOiBjbGFtcCgzLjVyZW0sIDd2dywgN3JlbSk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1saW5lLTIpO1xufVxuLnByb21vX19pbm5lciB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDAsIDFmcikgbWlubWF4KDAsIDAuODJmcik7XG4gIGdhcDogY2xhbXAoMnJlbSwgNXZ3LCA1cmVtKTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA3ODBweCkge1xuICAucHJvbW9fX2lubmVyIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgwLCAxZnIpO1xuICAgIGdhcDogY2xhbXAoMnJlbSwgNnZ3LCAzcmVtKTtcbiAgfVxufVxuLnByb21vX19jb3B5IHtcbiAgbWluLXdpZHRoOiAwO1xufVxuLnByb21vX190aXRsZSB7XG4gIG1hcmdpbi10b3A6IDFyZW07XG4gIGZvbnQtc2l6ZTogY2xhbXAoMi4xcmVtLCA1LjJ2dywgNC4ycmVtKTtcbiAgbWF4LXdpZHRoOiAxNGNoO1xufVxuLnByb21vX190ZXh0IHtcbiAgbWFyZ2luLXRvcDogMS41cmVtO1xuICBtYXgtd2lkdGg6IDQ2Y2g7XG4gIGNvbG9yOiB2YXIoLS1pbmstMik7XG4gIGZvbnQtc2l6ZTogY2xhbXAoMXJlbSwgMC4zNXZ3ICsgMC45NXJlbSwgMS4xNXJlbSk7XG59XG4ucHJvbW9fX2N0YSB7XG4gIG1hcmdpbi10b3A6IDJyZW07XG59XG4ucHJvbW9fX21lZGlhIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBhc3BlY3QtcmF0aW86IDEvMTtcbiAgbWluLXdpZHRoOiAwO1xuICBtYXgtd2lkdGg6IDMwcmVtO1xuICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbGcpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy0zKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA3ODBweCkge1xuICAucHJvbW9fX21lZGlhIHtcbiAgICBtYXgtd2lkdGg6IDIycmVtO1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogNTIwcHgpIHtcbiAgLnByb21vX19tZWRpYSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuLnByb21vX19pbWcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG4gIG9iamVjdC1wb3NpdGlvbjogY2VudGVyO1xufVxuXG4ucHJvc2UgLndvb2NvbW1lcmNlIC5zZWxlY3QyLWNvbnRhaW5lciAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSwgLnByb3NlIC53b29jb21tZXJjZSBzZWxlY3QsIC5wZHAgZm9ybS5jYXJ0IHRhYmxlLnZhcmlhdGlvbnMgdGQgc2VsZWN0LCAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLW9yZGVyaW5nIHNlbGVjdC5vcmRlcmJ5IHtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBwYWRkaW5nOiAwLjZlbSAyLjZlbSAwLjZlbSAxLjFlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbGluZS0yKTtcbiAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gIGJhY2tncm91bmQ6IHZhcigtLWJnKTtcbiAgY29sb3I6IHZhcigtLWluayk7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IDAuOTJyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPSclMjM3NzcnIHN0cm9rZS13aWR0aD0nMi4yJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnPjxwYXRoIGQ9J002IDlsNiA2IDYtNicvPjwvc3ZnPlwiKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMWVtIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiAxZW07XG4gIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciB2YXIoLS1kdXItZmFzdCkgY3ViaWMtYmV6aWVyKDAuMjIsIDAuNjEsIDAuMzYsIDEpO1xufVxuQG1lZGlhIChob3ZlcjogaG92ZXIpIGFuZCAocG9pbnRlcjogZmluZSkge1xuICAucHJvc2UgLndvb2NvbW1lcmNlIC5zZWxlY3QyLWNvbnRhaW5lciAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZTpob3ZlciwgLnByb3NlIC53b29jb21tZXJjZSBzZWxlY3Q6aG92ZXIsIC5wZHAgZm9ybS5jYXJ0IHRhYmxlLnZhcmlhdGlvbnMgdGQgc2VsZWN0OmhvdmVyLCAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLW9yZGVyaW5nIHNlbGVjdC5vcmRlcmJ5OmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWluay0zKTtcbiAgfVxufVxuLnByb3NlIC53b29jb21tZXJjZSAuc2VsZWN0Mi1jb250YWluZXIgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGU6Zm9jdXMtdmlzaWJsZSwgLnByb3NlIC53b29jb21tZXJjZSBzZWxlY3Q6Zm9jdXMtdmlzaWJsZSwgLnBkcCBmb3JtLmNhcnQgdGFibGUudmFyaWF0aW9ucyB0ZCBzZWxlY3Q6Zm9jdXMtdmlzaWJsZSwgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1vcmRlcmluZyBzZWxlY3Qub3JkZXJieTpmb2N1cy12aXNpYmxlIHtcbiAgb3V0bGluZTogM3B4IHNvbGlkIHZhcigtLWFjY2VudCk7XG4gIG91dGxpbmUtb2Zmc2V0OiAycHg7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5wcm9zZSAud29vY29tbWVyY2UgLnF1YW50aXR5LCAucGRwIGZvcm0uY2FydCAucXVhbnRpdHkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciBhdXRvO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBoZWlnaHQ6IDU0cHg7XG4gIHBhZGRpbmc6IDAgMC43NXJlbSAwIDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpbmUtMik7XG4gIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1iZyk7XG4gIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciB2YXIoLS1kdXItZmFzdCkgY3ViaWMtYmV6aWVyKDAuMjIsIDAuNjEsIDAuMzYsIDEpO1xufVxuLnByb3NlIC53b29jb21tZXJjZSAucXVhbnRpdHk6Zm9jdXMtd2l0aGluLCAucGRwIGZvcm0uY2FydCAucXVhbnRpdHk6Zm9jdXMtd2l0aGluIHtcbiAgb3V0bGluZTogM3B4IHNvbGlkIHZhcigtLWFjY2VudCk7XG4gIG91dGxpbmUtb2Zmc2V0OiAycHg7XG59XG4ucHJvc2UgLndvb2NvbW1lcmNlIC5xdWFudGl0eSBpbnB1dC5xdHksIC5wZHAgZm9ybS5jYXJ0IC5xdWFudGl0eSBpbnB1dC5xdHkge1xuICAtbW96LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICB3aWR0aDogMi42ZW07XG4gIGhlaWdodDogMTAwJTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogdmFyKC0taW5rKTtcbiAgZm9udDogaW5oZXJpdDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBvdXRsaW5lOiBub25lO1xufVxuLnByb3NlIC53b29jb21tZXJjZSAucXVhbnRpdHkgaW5wdXQucXR5Ojotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLCAucGRwIGZvcm0uY2FydCAucXVhbnRpdHkgaW5wdXQucXR5Ojotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLCAucHJvc2UgLndvb2NvbW1lcmNlIC5xdWFudGl0eSBpbnB1dC5xdHk6Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24sIC5wZHAgZm9ybS5jYXJ0IC5xdWFudGl0eSBpbnB1dC5xdHk6Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIG1hcmdpbjogMDtcbn1cbi5wcm9zZSAud29vY29tbWVyY2UgLnF1YW50aXR5IC5xdHlfX2N0bCwgLnBkcCBmb3JtLmNhcnQgLnF1YW50aXR5IC5xdHlfX2N0bCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtcm93czogMWZyIDFmcjtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwYWRkaW5nLWJsb2NrOiAxMHB4O1xufVxuLnByb3NlIC53b29jb21tZXJjZSAucXVhbnRpdHkgLnF0eV9fdXAsIC5wZHAgZm9ybS5jYXJ0IC5xdWFudGl0eSAucXR5X191cCwgLnByb3NlIC53b29jb21tZXJjZSAucXVhbnRpdHkgLnF0eV9fZG93biwgLnBkcCBmb3JtLmNhcnQgLnF1YW50aXR5IC5xdHlfX2Rvd24ge1xuICBkaXNwbGF5OiBncmlkO1xuICBwbGFjZS1pdGVtczogY2VudGVyO1xuICB3aWR0aDogMjJweDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6IHZhcigtLWluay0zKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBjb2xvciB2YXIoLS1kdXItZmFzdCkgY3ViaWMtYmV6aWVyKDAuMjIsIDAuNjEsIDAuMzYsIDEpO1xufVxuLnByb3NlIC53b29jb21tZXJjZSAucXVhbnRpdHkgLnF0eV9fdXAgc3ZnLCAucGRwIGZvcm0uY2FydCAucXVhbnRpdHkgLnF0eV9fdXAgc3ZnLCAucHJvc2UgLndvb2NvbW1lcmNlIC5xdWFudGl0eSAucXR5X19kb3duIHN2ZywgLnBkcCBmb3JtLmNhcnQgLnF1YW50aXR5IC5xdHlfX2Rvd24gc3ZnIHtcbiAgd2lkdGg6IDEycHg7XG4gIGhlaWdodDogMTJweDtcbn1cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSBhbmQgKHBvaW50ZXI6IGZpbmUpIHtcbiAgLnByb3NlIC53b29jb21tZXJjZSAucXVhbnRpdHkgLnF0eV9fdXA6aG92ZXIsIC5wZHAgZm9ybS5jYXJ0IC5xdWFudGl0eSAucXR5X191cDpob3ZlciwgLnByb3NlIC53b29jb21tZXJjZSAucXVhbnRpdHkgLnF0eV9fZG93bjpob3ZlciwgLnBkcCBmb3JtLmNhcnQgLnF1YW50aXR5IC5xdHlfX2Rvd246aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS1pbmspO1xuICB9XG59XG4ucHJvc2UgLndvb2NvbW1lcmNlIC5xdWFudGl0eSAucXR5X19kb3duIHN2ZywgLnBkcCBmb3JtLmNhcnQgLnF1YW50aXR5IC5xdHlfX2Rvd24gc3ZnIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbn1cblxuLnNlY3Rpb25fX2hlYWQtLXNob3Age1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuLnNlY3Rpb25fX2hlYWQtLXNob3AgPiAuc2hvcC1zb3J0IHtcbiAgZmxleDogbm9uZTtcbn1cblxuLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1vcmRlcmluZyB7XG4gIGZsb2F0OiBub25lO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICBtYXJnaW46IDA7XG59XG4ud29vY29tbWVyY2UgdWwucHJvZHVjdHMge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KG1pbigxMDAlLCAyNDBweCksIDFmcikpO1xuICBnYXA6IGNsYW1wKDEuMjVyZW0sIDIuNXZ3LCAyLjVyZW0pO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG4ud29vY29tbWVyY2UgdWwucHJvZHVjdHM6OmJlZm9yZSwgLndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzOjphZnRlciB7XG4gIGNvbnRlbnQ6IG5vbmU7XG59XG4ud29vY29tbWVyY2UgdWwucHJvZHVjdHNbY2xhc3MqPWNvbHVtbnMtXSBsaS5wcm9kdWN0LFxuLndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzIGxpLnByb2R1Y3Qge1xuICBmbG9hdDogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbn1cbi53b29jb21tZXJjZSB1bC5wcm9kdWN0c1tjbGFzcyo9Y29sdW1ucy1dIGxpLnByb2R1Y3QgYS53b29jb21tZXJjZS1Mb29wUHJvZHVjdC1saW5rLFxuLndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzIGxpLnByb2R1Y3QgYS53b29jb21tZXJjZS1Mb29wUHJvZHVjdC1saW5rIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ2FwOiAwO1xuICBjb2xvcjogaW5oZXJpdDtcbn1cbi53b29jb21tZXJjZSB1bC5wcm9kdWN0c1tjbGFzcyo9Y29sdW1ucy1dIGxpLnByb2R1Y3QgaW1nLFxuLndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzIGxpLnByb2R1Y3QgaW1nIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBhc3BlY3QtcmF0aW86IDE7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xuICBtYXJnaW46IDAgMCAxcmVtO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy0zKTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKSB0cmFuc2xhdGVaKDApO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjZzIGN1YmljLWJlemllcigwLjIyLCAwLjYxLCAwLjM2LCAxKSwgb3BhY2l0eSAwLjRzIGN1YmljLWJlemllcigwLjIyLCAwLjYxLCAwLjM2LCAxKSwgZmlsdGVyIDAuNHMgY3ViaWMtYmV6aWVyKDAuMjIsIDAuNjEsIDAuMzYsIDEpICFpbXBvcnRhbnQ7XG59XG4ud29vY29tbWVyY2UgdWwucHJvZHVjdHNbY2xhc3MqPWNvbHVtbnMtXSBsaS5wcm9kdWN0IGE6aG92ZXIgaW1nLFxuLndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzIGxpLnByb2R1Y3QgYTpob3ZlciBpbWcge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMDQpIHRyYW5zbGF0ZVooMCk7XG59XG4ud29vY29tbWVyY2UgdWwucHJvZHVjdHNbY2xhc3MqPWNvbHVtbnMtXSBsaS5wcm9kdWN0IC53b29jb21tZXJjZS1sb29wLXByb2R1Y3RfX3RpdGxlLFxuLndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzIGxpLnByb2R1Y3QgLndvb2NvbW1lcmNlLWxvb3AtcHJvZHVjdF9fdGl0bGUge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuICBmb250LXNpemU6IGNsYW1wKDE4cHgsIDE1LjMzMzMzMzMzMzNweCArIDAuNjY2NjY2NjY2N3Z3LCAyNnB4KTtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMDU7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBjb2xvcjogdmFyKC0taW5rKTtcbiAgdHJhbnNpdGlvbjogY29sb3IgdmFyKC0tZHVyLWZhc3QpIGN1YmljLWJlemllcigwLjIyLCAwLjYxLCAwLjM2LCAxKTtcbn1cbi53b29jb21tZXJjZSB1bC5wcm9kdWN0c1tjbGFzcyo9Y29sdW1ucy1dIGxpLnByb2R1Y3QgYTpob3ZlciAud29vY29tbWVyY2UtbG9vcC1wcm9kdWN0X190aXRsZSxcbi53b29jb21tZXJjZSB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0IGE6aG92ZXIgLndvb2NvbW1lcmNlLWxvb3AtcHJvZHVjdF9fdGl0bGUge1xuICBjb2xvcjogdmFyKC0tYWNjZW50LWluayk7XG59XG4ud29vY29tbWVyY2UgdWwucHJvZHVjdHNbY2xhc3MqPWNvbHVtbnMtXSBsaS5wcm9kdWN0IC5wcmljZSxcbi53b29jb21tZXJjZSB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0IC5wcmljZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAganVzdGlmeS1zZWxmOiBzdGFydDtcbiAgbWFyZ2luOiAwLjc1cmVtIDAgMDtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGZvbnQtc2l6ZTogY2xhbXAoMC45cmVtLCAxLjF2dywgMS4xNXJlbSk7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIGxpbmUtaGVpZ2h0OiBjYWxjKDEgKiB2YXIoLS1kaXNwbGF5LWxlYWRpbmcpKTtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7XG4gIHBhZGRpbmc6IDAuMTZlbSAwLjYyZW07XG4gIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hY2NlbnQpO1xuICBjb2xvcjogI2ZmZjtcbn1cbi53b29jb21tZXJjZSB1bC5wcm9kdWN0c1tjbGFzcyo9Y29sdW1ucy1dIGxpLnByb2R1Y3QgLnByaWNlIGlucyxcbi53b29jb21tZXJjZSB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0IC5wcmljZSBpbnMge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4ud29vY29tbWVyY2UgdWwucHJvZHVjdHNbY2xhc3MqPWNvbHVtbnMtXSBsaS5wcm9kdWN0IC5wcmljZSBkZWwsXG4ud29vY29tbWVyY2UgdWwucHJvZHVjdHMgbGkucHJvZHVjdCAucHJpY2UgZGVsIHtcbiAgb3BhY2l0eTogMC42O1xuICBtYXJnaW4tcmlnaHQ6IDAuNGVtO1xufVxuLndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzW2NsYXNzKj1jb2x1bW5zLV0gbGkucHJvZHVjdCAucHJpY2UgLndvb2NvbW1lcmNlLVByaWNlLWN1cnJlbmN5U3ltYm9sLFxuLndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzIGxpLnByb2R1Y3QgLnByaWNlIC53b29jb21tZXJjZS1QcmljZS1jdXJyZW5jeVN5bWJvbCB7XG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xufVxuXG4ucGRwIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMCwgMS4xZnIpIG1pbm1heCgwLCAxZnIpO1xuICBnYXA6IGNsYW1wKDJyZW0sIDV2dywgNXJlbSk7XG4gIGFsaWduLWl0ZW1zOiBzdGFydDtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiAxMDgwcHgpIHtcbiAgLnBkcCB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgZ2FwOiBjbGFtcCgycmVtLCA1dncsIDNyZW0pO1xuICB9XG59XG4ucGRwX19nYWxsZXJ5IC53b29jb21tZXJjZS1wcm9kdWN0LWdhbGxlcnkge1xuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICBtYXJnaW46IDA7XG59XG4ucGRwX19nYWxsZXJ5IC53b29jb21tZXJjZS1wcm9kdWN0LWdhbGxlcnkgLndvb2NvbW1lcmNlLXByb2R1Y3QtZ2FsbGVyeV9fd3JhcHBlciB7XG4gIG1hcmdpbjogMDtcbn1cbi5wZHBfX2dhbGxlcnkgLndvb2NvbW1lcmNlLXByb2R1Y3QtZ2FsbGVyeSAud29vY29tbWVyY2UtcHJvZHVjdC1nYWxsZXJ5X19pbWFnZSB7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1sZyk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJhY2tncm91bmQ6IHZhcigtLXdhc2gpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1saW5lKTtcbn1cbi5wZHBfX2dhbGxlcnkgLndvb2NvbW1lcmNlLXByb2R1Y3QtZ2FsbGVyeSAud29vY29tbWVyY2UtcHJvZHVjdC1nYWxsZXJ5X19pbWFnZSBpbWcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbn1cbi5wZHBfX2dhbGxlcnkgLndvb2NvbW1lcmNlLXByb2R1Y3QtZ2FsbGVyeSAuZmxleC1jb250cm9sLXRodW1icyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZ2FwOiAwLjc1cmVtO1xuICBtYXJnaW46IDFyZW0gMCAwO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuLnBkcF9fZ2FsbGVyeSAud29vY29tbWVyY2UtcHJvZHVjdC1nYWxsZXJ5IC5mbGV4LWNvbnRyb2wtdGh1bWJzIGxpIHtcbiAgZmxvYXQ6IG5vbmU7XG4gIHdpZHRoOiA3MnB4O1xuICBtYXJnaW46IDA7XG59XG4ucGRwX19nYWxsZXJ5IC53b29jb21tZXJjZS1wcm9kdWN0LWdhbGxlcnkgLmZsZXgtY29udHJvbC10aHVtYnMgbGkgaW1nIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XG4gIGJvcmRlcjogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBvcGFjaXR5OiAwLjU1O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgdmFyKC0tZHVyLWZhc3QpIGN1YmljLWJlemllcigwLjIyLCAwLjYxLCAwLjM2LCAxKSwgYm9yZGVyLWNvbG9yIHZhcigtLWR1ci1mYXN0KSBjdWJpYy1iZXppZXIoMC4yMiwgMC42MSwgMC4zNiwgMSk7XG59XG4ucGRwX19nYWxsZXJ5IC53b29jb21tZXJjZS1wcm9kdWN0LWdhbGxlcnkgLmZsZXgtY29udHJvbC10aHVtYnMgbGkgaW1nLmZsZXgtYWN0aXZlLCAucGRwX19nYWxsZXJ5IC53b29jb21tZXJjZS1wcm9kdWN0LWdhbGxlcnkgLmZsZXgtY29udHJvbC10aHVtYnMgbGkgaW1nOmhvdmVyIHtcbiAgb3BhY2l0eTogMTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1hY2NlbnQpO1xufVxuLnBkcF9fZ2FsbGVyeSAud29vY29tbWVyY2UtcHJvZHVjdC1nYWxsZXJ5IC53b29jb21tZXJjZS1wcm9kdWN0LWdhbGxlcnlfX3RyaWdnZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuLnBkcF9fZ2FsbGVyeSAud29vY29tbWVyY2UtcHJvZHVjdC1nYWxsZXJ5IC53b29jb21tZXJjZS1wcm9kdWN0LWdhbGxlcnlfX2ltYWdlIGEge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLnBkcF9fc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdhcDogMS41cmVtO1xuICBhbGlnbi1jb250ZW50OiBzdGFydDtcbn1cbi5wZHBfX3N1bW1hcnkgPiAqIHtcbiAgbWFyZ2luOiAwO1xufVxuLnBkcF9fdGl0bGUge1xuICBtYXJnaW4tdG9wOiAwLjI1cmVtO1xufVxuLnBkcCAuY3J1bWJzIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGdhcDogMC42ZW07XG59XG4ucGRwIC5jcnVtYnMgYSB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB0cmFuc2l0aW9uOiBjb2xvciB2YXIoLS1kdXItZmFzdCkgY3ViaWMtYmV6aWVyKDAuMjIsIDAuNjEsIDAuMzYsIDEpO1xufVxuQG1lZGlhIChob3ZlcjogaG92ZXIpIGFuZCAocG9pbnRlcjogZmluZSkge1xuICAucGRwIC5jcnVtYnMgYTpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLWFjY2VudC1pbmspO1xuICB9XG59XG4ucGRwIC5jcnVtYnNfX3NlcCB7XG4gIGNvbG9yOiB2YXIoLS1pbmstMyk7XG59XG4ucGRwX19ibHVyYiB7XG4gIGZvbnQtc2l6ZTogY2xhbXAoMXJlbSwgMC4zdncgKyAwLjk1cmVtLCAxLjEycmVtKTtcbiAgY29sb3I6IHZhcigtLWluay0yKTtcbn1cbi5wZHBfX2JsdXJiID4gOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLnBkcF9fcHJpY2UucHJpY2Uge1xuICBqdXN0aWZ5LXNlbGY6IHN0YXJ0O1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbiAgZm9udC1zaXplOiBjbGFtcCgwLjlyZW0sIDEuMXZ3LCAxLjE1cmVtKTtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgbGluZS1oZWlnaHQ6IGNhbGMoMSAqIHZhcigtLWRpc3BsYXktbGVhZGluZykpO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcbiAgZm9udC1zaXplOiBjbGFtcCgxNnB4LCAxNHB4ICsgMC41dncsIDIycHgpO1xuICBwYWRkaW5nOiAwLjIyZW0gMC43ZW07XG4gIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hY2NlbnQpO1xuICBjb2xvcjogI2ZmZjtcbn1cbi5wZHBfX3ByaWNlLnByaWNlIGlucyB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbi5wZHBfX3ByaWNlLnByaWNlIGRlbCB7XG4gIG9wYWNpdHk6IDAuNjtcbiAgbWFyZ2luLXJpZ2h0OiAwLjRlbTtcbn1cbi5wZHAgZm9ybS5jYXJ0IHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ2FwOiAxLjVyZW07XG4gIG1hcmdpbjogMC41cmVtIDAgMDtcbn1cbi5wZHAgZm9ybS5jYXJ0IHRhYmxlLnZhcmlhdGlvbnMge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBtYXJnaW46IDA7XG59XG4ucGRwIGZvcm0uY2FydCB0YWJsZS52YXJpYXRpb25zIHRyIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ2FwOiAwLjVyZW07XG59XG4ucGRwIGZvcm0uY2FydCB0YWJsZS52YXJpYXRpb25zIHRoLCAucGRwIGZvcm0uY2FydCB0YWJsZS52YXJpYXRpb25zIHRkIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG4ucGRwIGZvcm0uY2FydCB0YWJsZS52YXJpYXRpb25zIHRoIGxhYmVsIHtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGZvbnQtc2l6ZTogY2xhbXAoMC45cmVtLCAxLjF2dywgMS4xNXJlbSk7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIGxpbmUtaGVpZ2h0OiBjYWxjKDEgKiB2YXIoLS1kaXNwbGF5LWxlYWRpbmcpKTtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7XG4gIGNvbG9yOiB2YXIoLS1pbmstMik7XG59XG4ucGRwIGZvcm0uY2FydCB0YWJsZS52YXJpYXRpb25zIHRkIHNlbGVjdCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuLnBkcCBmb3JtLmNhcnQgdGFibGUudmFyaWF0aW9ucyAucmVzZXRfdmFyaWF0aW9ucyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLXRvcDogMC41cmVtO1xuICBmb250LXNpemU6IDAuOHJlbTtcbiAgY29sb3I6IHZhcigtLWluay0zKTtcbn1cbi5wZHAgZm9ybS5jYXJ0IC5yZXNldF92YXJpYXRpb25zIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuLnBkcCBmb3JtLmNhcnQgLndvb2NvbW1lcmNlLXZhcmlhdGlvbiAud29vY29tbWVyY2UtdmFyaWF0aW9uLXByaWNlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5wZHAgZm9ybS5jYXJ0IC53b29jb21tZXJjZS12YXJpYXRpb24gLndvb2NvbW1lcmNlLXZhcmlhdGlvbi1hdmFpbGFiaWxpdHkgcCB7XG4gIG1hcmdpbjogMCAwIDAuNXJlbTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ubyk7XG4gIGZvbnQtc2l6ZTogMC43MnJlbTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMTJlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6IHZhcigtLWluay0zKTtcbn1cbi5wZHAgZm9ybS5jYXJ0IC53b29jb21tZXJjZS12YXJpYXRpb24gLndvb2NvbW1lcmNlLXZhcmlhdGlvbi1hdmFpbGFiaWxpdHkgcC5vdXQtb2Ytc3RvY2sge1xuICBjb2xvcjogI2MwMzkyYjtcbn1cbi5wZHAgZm9ybS5jYXJ0IC53b29jb21tZXJjZS12YXJpYXRpb24tYWRkLXRvLWNhcnQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGdhcDogMC43NXJlbTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbi5wZHAgZm9ybS5jYXJ0IC5zaW5nbGVfYWRkX3RvX2NhcnRfYnV0dG9uIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBmbGV4OiAxIDEgYXV0bztcbiAgaGVpZ2h0OiA1NHB4O1xuICBwYWRkaW5nLWlubGluZTogMnJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYWNjZW50KTtcbiAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFjY2VudCk7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250OiBpbmhlcml0O1xuICBmb250LXNpemU6IDAuOTJyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxldHRlci1zcGFjaW5nOiAwLjAxZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgdmFyKC0tZHVyLWZhc3QpIGN1YmljLWJlemllcigwLjIyLCAwLjYxLCAwLjM2LCAxKSwgYm9yZGVyLWNvbG9yIHZhcigtLWR1ci1mYXN0KSBjdWJpYy1iZXppZXIoMC4yMiwgMC42MSwgMC4zNiwgMSksIHRyYW5zZm9ybSB2YXIoLS1kdXItZmFzdCkgY3ViaWMtYmV6aWVyKDAuMjIsIDAuNjEsIDAuMzYsIDEpO1xufVxuQG1lZGlhIChob3ZlcjogaG92ZXIpIGFuZCAocG9pbnRlcjogZmluZSkge1xuICAucGRwIGZvcm0uY2FydCAuc2luZ2xlX2FkZF90b19jYXJ0X2J1dHRvbjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0taW5rKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWluayk7XG4gICAgY29sb3I6IHZhcigtLWJnKTtcbiAgfVxufVxuLnBkcCBmb3JtLmNhcnQgLnNpbmdsZV9hZGRfdG9fY2FydF9idXR0b246YWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDFweCk7XG59XG4ucGRwIGZvcm0uY2FydCAuc2luZ2xlX2FkZF90b19jYXJ0X2J1dHRvbi5kaXNhYmxlZCwgLnBkcCBmb3JtLmNhcnQgLnNpbmdsZV9hZGRfdG9fY2FydF9idXR0b246ZGlzYWJsZWQge1xuICBvcGFjaXR5OiAwLjQ7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG4ucGRwIGZvcm0uY2FydCAuc2luZ2xlX2FkZF90b19jYXJ0X2J1dHRvbi5pcy1hZGRpbmcge1xuICBvcGFjaXR5OiAwLjc7XG4gIGN1cnNvcjogcHJvZ3Jlc3M7XG59XG4ucGRwIGZvcm0uY2FydCAuYWRkZWRfdG9fY2FydCB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cbi5wZHAgZm9ybS5jYXJ0IC5zaW5nbGVfYWRkX3RvX2NhcnRfYnV0dG9uLmlzLWFkZGVkIHtcbiAgYmFja2dyb3VuZDogdmFyKC0taW5rKTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pbmspO1xuICBjb2xvcjogdmFyKC0tYmcpO1xufVxuLnBkcF9fZGVzYyB7XG4gIG1hcmdpbi10b3A6IGNsYW1wKDIuNXJlbSwgNXZ3LCA0cmVtKTtcbiAgbWF4LXdpZHRoOiA2OGNoO1xufVxuXG4ud29vY29tbWVyY2Utbm90aWNlcy13cmFwcGVyOmVtcHR5IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLndvb2NvbW1lcmNlLW1lc3NhZ2UsXG4ud29vY29tbWVyY2UtaW5mbyxcbi53b29jb21tZXJjZS1lcnJvciB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMC4zNWVtIDFlbTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDAgMCAxLjVyZW07XG4gIHBhZGRpbmc6IDAuN2VtIDEuMmVtO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1pbmspO1xuICBjb2xvcjogdmFyKC0tYmcpO1xuICBmb250LXNpemU6IDAuODhyZW07XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG4ud29vY29tbWVyY2UtbWVzc2FnZTo6YmVmb3JlLFxuLndvb2NvbW1lcmNlLWluZm86OmJlZm9yZSxcbi53b29jb21tZXJjZS1lcnJvcjo6YmVmb3JlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi53b29jb21tZXJjZS1tZXNzYWdlIGEsXG4ud29vY29tbWVyY2UtaW5mbyBhLFxuLndvb2NvbW1lcmNlLWVycm9yIGEge1xuICBjb2xvcjogdmFyKC0tYWNjZW50KTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuQG1lZGlhIChob3ZlcjogaG92ZXIpIGFuZCAocG9pbnRlcjogZmluZSkge1xuICAud29vY29tbWVyY2UtbWVzc2FnZSBhOmhvdmVyLFxuICAud29vY29tbWVyY2UtaW5mbyBhOmhvdmVyLFxuICAud29vY29tbWVyY2UtZXJyb3IgYTpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIH1cbn1cbi53b29jb21tZXJjZS1tZXNzYWdlIC5idXR0b24sXG4ud29vY29tbWVyY2UtaW5mbyAuYnV0dG9uLFxuLndvb2NvbW1lcmNlLWVycm9yIC5idXR0b24ge1xuICBhbGw6IHVuc2V0O1xuICBjb2xvcjogdmFyKC0tYWNjZW50KTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4ud29vY29tbWVyY2UtZXJyb3Ige1xuICBiYWNrZ3JvdW5kOiAjYzAzOTJiO1xuICBjb2xvcjogI2ZmZjtcbn1cbi53b29jb21tZXJjZS1lcnJvciBhIHtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4ud29vY29tbWVyY2UtZXJyb3IgbGkge1xuICBtYXJnaW46IDA7XG59XG5cbi53b29jb21tZXJjZS1jYXJ0IC53b29jb21tZXJjZS1ub3RpY2VzLXdyYXBwZXIge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGxlZnQ6IDUwJTtcbiAgdG9wOiBjYWxjKHZhcigtLW5hdi1oKSArIDIzcHgpO1xuICB6LWluZGV4OiA2MDtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ2FwOiAwLjVyZW07XG4gIGp1c3RpZnktaXRlbXM6IGNlbnRlcjtcbiAgd2lkdGg6IG1heC1jb250ZW50O1xuICBtYXgtd2lkdGg6IGNhbGMoMTAwdncgLSAzMnB4KTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi53b29jb21tZXJjZS1jYXJ0IC53b29jb21tZXJjZS1ub3RpY2VzLXdyYXBwZXIgPiAqIHtcbiAgbWFyZ2luOiAwO1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgYm94LXNoYWRvdzogMCAxMHB4IDMwcHggcmdiYSgwLCAwLCAwLCAwLjE4KTtcbiAgYW5pbWF0aW9uOiB0b2FzdC1pbiAwLjNzIGN1YmljLWJlemllcigwLjE2LCAxLCAwLjMsIDEpIGJvdGgsIHRvYXN0LW91dCAwLjM1cyBjdWJpYy1iZXppZXIoMC4yMiwgMC42MSwgMC4zNiwgMSkgMTBzIGZvcndhcmRzO1xufVxuLndvb2NvbW1lcmNlLWNhcnQgLndvb2NvbW1lcmNlLW5vdGljZXMtd3JhcHBlciA+IC5jYXJ0LWVtcHR5IHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5Aa2V5ZnJhbWVzIHRvYXN0LWluIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEycHgpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHRvYXN0LW91dCB7XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtOHB4KTtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cbn1cbi53b29jb21tZXJjZS1pbmZvLmNhcnQtZW1wdHkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiB2YXIoLS1pbmstMik7XG4gIGZvbnQtc2l6ZTogY2xhbXAoMS4wNXJlbSwgMC41dncgKyAwLjk1cmVtLCAxLjNyZW0pO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4ucHJvc2UgLndvb2NvbW1lcmNlIGEge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4ucHJvc2UgLndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGUge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGZvbnQtc2l6ZTogMC45NXJlbTtcbn1cbi5wcm9zZSAud29vY29tbWVyY2UgdGFibGUuc2hvcF90YWJsZSB0aCB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4ucHJvc2UgLndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGUgdGgsIC5wcm9zZSAud29vY29tbWVyY2UgdGFibGUuc2hvcF90YWJsZSB0ZCB7XG4gIHBhZGRpbmc6IDFyZW0gMC43NXJlbTtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tbGluZSk7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjM1O1xufVxuLnByb3NlIC53b29jb21tZXJjZSB0YWJsZS5zaG9wX3RhYmxlIHRoZWFkIHRoIHtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGZvbnQtc2l6ZTogY2xhbXAoMC45cmVtLCAxLjF2dywgMS4xNXJlbSk7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIGxpbmUtaGVpZ2h0OiBjYWxjKDEgKiB2YXIoLS1kaXNwbGF5LWxlYWRpbmcpKTtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7XG4gIGNvbG9yOiB2YXIoLS1pbmstMyk7XG4gIHBhZGRpbmctdG9wOiAwO1xufVxuLnByb3NlIC53b29jb21tZXJjZSB0YWJsZS5zaG9wX3RhYmxlIHRib2R5IHRyOmxhc3QtY2hpbGQgdGgsXG4ucHJvc2UgLndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGUgdGJvZHkgdHI6bGFzdC1jaGlsZCB0ZCB7XG4gIGJvcmRlci1ib3R0b206IDA7XG59XG4ucHJvc2UgLndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGUgdGZvb3QgdGgsIC5wcm9zZSAud29vY29tbWVyY2UgdGFibGUuc2hvcF90YWJsZSB0Zm9vdCB0ZCB7XG4gIGJvcmRlci1ib3R0b206IDA7XG59XG4ucHJvc2UgLndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGUgYSB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBmb250LXdlaWdodDogNjAwO1xufVxuLnByb3NlIC53b29jb21tZXJjZSB0YWJsZS5zaG9wX3RhYmxlIC5hbW91bnQge1xuICBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zO1xufVxuLnByb3NlIC53b29jb21tZXJjZSBpbnB1dC5pbnB1dC10ZXh0LFxuLnByb3NlIC53b29jb21tZXJjZSB0ZXh0YXJlYS5pbnB1dC10ZXh0IHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNTRweDtcbiAgcGFkZGluZzogMCAxLjNyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpbmUtMik7XG4gIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1iZyk7XG4gIGNvbG9yOiB2YXIoLS1pbmspO1xuICBmb250OiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogMS4zO1xuICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgdmFyKC0tZHVyLWZhc3QpIGN1YmljLWJlemllcigwLjIyLCAwLjYxLCAwLjM2LCAxKTtcbn1cbi5wcm9zZSAud29vY29tbWVyY2UgaW5wdXQuaW5wdXQtdGV4dDpmb2N1cy12aXNpYmxlLFxuLnByb3NlIC53b29jb21tZXJjZSB0ZXh0YXJlYS5pbnB1dC10ZXh0OmZvY3VzLXZpc2libGUge1xuICBvdXRsaW5lOiAzcHggc29saWQgdmFyKC0tYWNjZW50KTtcbiAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbn1cbi5wcm9zZSAud29vY29tbWVyY2UgaW5wdXQuaW5wdXQtdGV4dDo6cGxhY2Vob2xkZXIsXG4ucHJvc2UgLndvb2NvbW1lcmNlIHRleHRhcmVhLmlucHV0LXRleHQ6OnBsYWNlaG9sZGVyIHtcbiAgY29sb3I6IHZhcigtLWluay0zKTtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA3ODBweCkge1xuICAucHJvc2UgLndvb2NvbW1lcmNlIHRhYmxlLmNhcnQgdGQucHJvZHVjdC10aHVtYm5haWwge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cbiAgLnByb3NlIC53b29jb21tZXJjZSB0YWJsZS5jYXJ0IHRkLnByb2R1Y3QtdGh1bWJuYWlsOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLnByb3NlIC53b29jb21tZXJjZSB0YWJsZS5jYXJ0IHRkLmFjdGlvbnMgLmNvdXBvbiB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC5wcm9zZSAud29vY29tbWVyY2UgdGFibGUuY2FydCB0ZC5hY3Rpb25zIC5jb3Vwb24gLmlucHV0LXRleHQge1xuICAgIGZsZXg6IDEgMSAxNjBweDtcbiAgICB3aWR0aDogYXV0bztcbiAgICBtaW4td2lkdGg6IDA7XG4gIH1cbiAgLnByb3NlIC53b29jb21tZXJjZSB0YWJsZS5jYXJ0IHRkLmFjdGlvbnMgLmNvdXBvbiAuYnV0dG9uIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogYXV0bztcbiAgfVxufVxuLnByb3NlIC53b29jb21tZXJjZSB0ZXh0YXJlYS5pbnB1dC10ZXh0IHtcbiAgaGVpZ2h0OiBhdXRvO1xuICBwYWRkaW5nOiAxcmVtIDEuM3JlbTtcbiAgYm9yZGVyLXJhZGl1czogMjdweDtcbiAgbWluLWhlaWdodDogNmVtO1xufVxuLnByb3NlIC53b29jb21tZXJjZSAucXVhbnRpdHkge1xuICBoZWlnaHQ6IDQ2cHg7XG59XG4ucHJvc2UgLndvb2NvbW1lcmNlIC5xdWFudGl0eSAucXR5X19jdGwge1xuICBwYWRkaW5nLWJsb2NrOiA3cHg7XG59XG4ucHJvc2UgLndvb2NvbW1lcmNlIHNlbGVjdCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuLnByb3NlIC53b29jb21tZXJjZSAuc2VsZWN0Mi1jb250YWluZXIgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUge1xuICBoZWlnaHQ6IGF1dG87XG59XG4ucHJvc2UgLndvb2NvbW1lcmNlIC5zZWxlY3QyLWNvbnRhaW5lciAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX3JlbmRlcmVkIHtcbiAgcGFkZGluZzogMDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIGNvbG9yOiBpbmhlcml0O1xufVxuLnByb3NlIC53b29jb21tZXJjZSAuc2VsZWN0Mi1jb250YWluZXIgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUgLnNlbGVjdDItc2VsZWN0aW9uX19hcnJvdyB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4ucHJvc2UgLndvb2NvbW1lcmNlIC5idXR0b24sIC5wcm9zZSAud29vY29tbWVyY2UgYnV0dG9uLmJ1dHRvbiwgLnByb3NlIC53b29jb21tZXJjZSBhLmJ1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZ2FwOiAwLjc1cmVtO1xuICBoZWlnaHQ6IDU0cHg7XG4gIHBhZGRpbmctaW5saW5lOiAycmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1saW5lLTIpO1xuICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiB2YXIoLS1pbmspO1xuICBmb250OiBpbmhlcml0O1xuICBmb250LXNpemU6IDAuOTJyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxldHRlci1zcGFjaW5nOiAwLjAxZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgdmFyKC0tZHVyLWZhc3QpIGN1YmljLWJlemllcigwLjIyLCAwLjYxLCAwLjM2LCAxKSwgY29sb3IgdmFyKC0tZHVyLWZhc3QpIGN1YmljLWJlemllcigwLjIyLCAwLjYxLCAwLjM2LCAxKSwgYm9yZGVyLWNvbG9yIHZhcigtLWR1ci1mYXN0KSBjdWJpYy1iZXppZXIoMC4yMiwgMC42MSwgMC4zNiwgMSk7XG59XG5AbWVkaWEgKGhvdmVyOiBob3ZlcikgYW5kIChwb2ludGVyOiBmaW5lKSB7XG4gIC5wcm9zZSAud29vY29tbWVyY2UgLmJ1dHRvbjpob3ZlciwgLnByb3NlIC53b29jb21tZXJjZSBidXR0b24uYnV0dG9uOmhvdmVyLCAucHJvc2UgLndvb2NvbW1lcmNlIGEuYnV0dG9uOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1pbmspO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0taW5rKTtcbiAgICBjb2xvcjogdmFyKC0tYmcpO1xuICB9XG59XG4ucHJvc2UgLndvb2NvbW1lcmNlIC5idXR0b246ZGlzYWJsZWQsIC5wcm9zZSAud29vY29tbWVyY2UgLmJ1dHRvbi5kaXNhYmxlZCwgLnByb3NlIC53b29jb21tZXJjZSBidXR0b24uYnV0dG9uOmRpc2FibGVkLCAucHJvc2UgLndvb2NvbW1lcmNlIGJ1dHRvbi5idXR0b24uZGlzYWJsZWQsIC5wcm9zZSAud29vY29tbWVyY2UgYS5idXR0b246ZGlzYWJsZWQsIC5wcm9zZSAud29vY29tbWVyY2UgYS5idXR0b24uZGlzYWJsZWQge1xuICBvcGFjaXR5OiAwLjQ7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG4ucHJvc2UgLndvb2NvbW1lcmNlIC5jaGVja291dC1idXR0b24sIC5wcm9zZSAud29vY29tbWVyY2UgI3BsYWNlX29yZGVyLCAucHJvc2UgLndvb2NvbW1lcmNlIC5idXR0b24uYWx0LCAucHJvc2UgLndvb2NvbW1lcmNlIC5jb3Vwb24gLmJ1dHRvbltuYW1lPWFwcGx5X2NvdXBvbl0ge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hY2NlbnQpO1xuICBib3JkZXItY29sb3I6IHZhcigtLWFjY2VudCk7XG4gIGNvbG9yOiB2YXIoLS1vbi1hY2NlbnQpO1xufVxuLnByb3NlIC53b29jb21tZXJjZSAuZm9ybS1yb3cge1xuICBtYXJnaW46IDAgMCAxcmVtO1xuICBwYWRkaW5nOiAwO1xufVxuLnByb3NlIC53b29jb21tZXJjZSAuZm9ybS1yb3cgbGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbiAgZm9udC1zaXplOiBjbGFtcCgwLjlyZW0sIDEuMXZ3LCAxLjE1cmVtKTtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgbGluZS1oZWlnaHQ6IGNhbGMoMSAqIHZhcigtLWRpc3BsYXktbGVhZGluZykpO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcbiAgY29sb3I6IHZhcigtLWluay0yKTtcbn1cbi5wcm9zZSAud29vY29tbWVyY2UgLmZvcm0tcm93IGxhYmVsIC5yZXF1aXJlZCB7XG4gIGNvbG9yOiB2YXIoLS1pbmstMyk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbi5wcm9zZSAud29vY29tbWVyY2UgLmZvcm0tcm93IGxhYmVsIC5vcHRpb25hbCB7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBsZXR0ZXItc3BhY2luZzogMDtcbiAgY29sb3I6IHZhcigtLWluay0zKTtcbn1cbi5wcm9zZSAud29vY29tbWVyY2UgLmZvcm0tcm93LmZvcm0tcm93LWZpcnN0LCAucHJvc2UgLndvb2NvbW1lcmNlIC5mb3JtLXJvdy5mb3JtLXJvdy1sYXN0IHtcbiAgd2lkdGg6IGNhbGMoNTAlIC0gMC41cmVtKTtcbn1cbi5wcm9zZSAud29vY29tbWVyY2UgLmZvcm0tcm93LmZvcm0tcm93LWZpcnN0IHtcbiAgZmxvYXQ6IGxlZnQ7XG59XG4ucHJvc2UgLndvb2NvbW1lcmNlIC5mb3JtLXJvdy5mb3JtLXJvdy1sYXN0IHtcbiAgZmxvYXQ6IHJpZ2h0O1xufVxuLnByb3NlIC53b29jb21tZXJjZSAuZm9ybS1yb3cuZm9ybS1yb3ctd2lkZSB7XG4gIGNsZWFyOiBib3RoO1xufVxuLnByb3NlIC53b29jb21tZXJjZSAuZm9ybS1yb3cgLndvb2NvbW1lcmNlLWlucHV0LXdyYXBwZXIge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA1MjBweCkge1xuICAucHJvc2UgLndvb2NvbW1lcmNlIC5mb3JtLXJvdy5mb3JtLXJvdy1maXJzdCwgLnByb3NlIC53b29jb21tZXJjZSAuZm9ybS1yb3cuZm9ybS1yb3ctbGFzdCB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbi5wcm9zZSAud29vY29tbWVyY2UgLmZvcm0tcm93IC5jaGVja2JveCxcbi5wcm9zZSAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLWZvcm1fX2xhYmVsLWZvci1jaGVja2JveCB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDAuNXJlbTtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGxldHRlci1zcGFjaW5nOiAwO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAwLjk1cmVtO1xuICBmb250LXdlaWdodDogNTAwO1xuICBjb2xvcjogdmFyKC0taW5rKTtcbn1cbi5wcm9zZSAud29vY29tbWVyY2UgLmZvcm0tcm93IC5jaGVja2JveCBpbnB1dCxcbi5wcm9zZSAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLWZvcm1fX2xhYmVsLWZvci1jaGVja2JveCBpbnB1dCB7XG4gIHdpZHRoOiBhdXRvO1xuICBhY2NlbnQtY29sb3I6IHZhcigtLWFjY2VudCk7XG59XG4ucHJvc2UgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1jYXJ0LWZvcm0ge1xuICBtYXJnaW46IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4yNXMgY3ViaWMtYmV6aWVyKDAuMjIsIDAuNjEsIDAuMzYsIDEpO1xufVxuLnByb3NlIC53b29jb21tZXJjZSAud29vY29tbWVyY2UtY2FydC1mb3JtIHRhYmxlLmNhcnQge1xuICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xufVxuLnByb3NlIC53b29jb21tZXJjZSAud29vY29tbWVyY2UtY2FydC1mb3JtIHRhYmxlLmNhcnQgdGgucHJvZHVjdC1yZW1vdmUge1xuICB3aWR0aDogNDRweDtcbn1cbi5wcm9zZSAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLWNhcnQtZm9ybSB0YWJsZS5jYXJ0IHRoLnByb2R1Y3QtdGh1bWJuYWlsIHtcbiAgd2lkdGg6IDk2cHg7XG59XG4ucHJvc2UgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1jYXJ0LWZvcm0gdGFibGUuY2FydCB0aC5wcm9kdWN0LXByaWNlIHtcbiAgd2lkdGg6IDk2cHg7XG59XG4ucHJvc2UgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1jYXJ0LWZvcm0gdGFibGUuY2FydCB0aC5wcm9kdWN0LXF1YW50aXR5IHtcbiAgd2lkdGg6IDE1MHB4O1xufVxuLnByb3NlIC53b29jb21tZXJjZSAud29vY29tbWVyY2UtY2FydC1mb3JtIHRhYmxlLmNhcnQgdGgucHJvZHVjdC1zdWJ0b3RhbCB7XG4gIHdpZHRoOiAxMDBweDtcbn1cbi5wcm9zZSAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLWNhcnQtZm9ybSB0ZC5wcm9kdWN0LXJlbW92ZSwgLnByb3NlIC53b29jb21tZXJjZSAud29vY29tbWVyY2UtY2FydC1mb3JtIHRoLnByb2R1Y3QtcmVtb3ZlIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xufVxuLnByb3NlIC53b29jb21tZXJjZSAud29vY29tbWVyY2UtY2FydC1mb3JtIGEucmVtb3ZlIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcbiAgd2lkdGg6IDI4cHg7XG4gIGhlaWdodDogMjhweDtcbiAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpbmUtMik7XG4gIGNvbG9yOiB2YXIoLS1pbmstMikgIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiAxLjFyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgdmFyKC0tZHVyLWZhc3QpIGN1YmljLWJlemllcigwLjIyLCAwLjYxLCAwLjM2LCAxKSwgY29sb3IgdmFyKC0tZHVyLWZhc3QpIGN1YmljLWJlemllcigwLjIyLCAwLjYxLCAwLjM2LCAxKTtcbn1cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSBhbmQgKHBvaW50ZXI6IGZpbmUpIHtcbiAgLnByb3NlIC53b29jb21tZXJjZSAud29vY29tbWVyY2UtY2FydC1mb3JtIGEucmVtb3ZlOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1pbmspICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6IHZhcigtLWJnKSAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0taW5rKTtcbiAgfVxufVxuLnByb3NlIC53b29jb21tZXJjZSAud29vY29tbWVyY2UtY2FydC1mb3JtIHRkLnByb2R1Y3QtdGh1bWJuYWlsLCAucHJvc2UgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1jYXJ0LWZvcm0gdGgucHJvZHVjdC10aHVtYm5haWwge1xuICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xufVxuLnByb3NlIC53b29jb21tZXJjZSAud29vY29tbWVyY2UtY2FydC1mb3JtIHRkLnByb2R1Y3QtdGh1bWJuYWlsIGltZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogNzJweDtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBoZWlnaHQ6IDcycHg7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy0zKTtcbn1cbi5wcm9zZSAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLWNhcnQtZm9ybSB0ZC5wcm9kdWN0LW5hbWUge1xuICBmb250LXdlaWdodDogNjAwO1xufVxuLnByb3NlIC53b29jb21tZXJjZSAud29vY29tbWVyY2UtY2FydC1mb3JtIHRkLnByb2R1Y3QtbmFtZSAudmFyaWF0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMC4zZW0gMCAwO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vKTtcbiAgZm9udC1zaXplOiAwLjdyZW07XG4gIGxldHRlci1zcGFjaW5nOiAwLjEyZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGNvbG9yOiB2YXIoLS1pbmstMyk7XG59XG4ucHJvc2UgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1jYXJ0LWZvcm0gdGQucHJvZHVjdC1uYW1lIC52YXJpYXRpb24gZHQsIC5wcm9zZSAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLWNhcnQtZm9ybSB0ZC5wcm9kdWN0LW5hbWUgLnZhcmlhdGlvbiBkZCwgLnByb3NlIC53b29jb21tZXJjZSAud29vY29tbWVyY2UtY2FydC1mb3JtIHRkLnByb2R1Y3QtbmFtZSAudmFyaWF0aW9uIHAge1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIG1hcmdpbjogMDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbi5wcm9zZSAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLWNhcnQtZm9ybSB0ZC5wcm9kdWN0LW5hbWUgLnZhcmlhdGlvbiBkdCB7XG4gIG1hcmdpbi1yaWdodDogMC4zZW07XG59XG4ucHJvc2UgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1jYXJ0LWZvcm0gdGQucHJvZHVjdC1wcmljZSwgLnByb3NlIC53b29jb21tZXJjZSAud29vY29tbWVyY2UtY2FydC1mb3JtIHRkLnByb2R1Y3Qtc3VidG90YWwge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuLnByb3NlIC53b29jb21tZXJjZSAud29vY29tbWVyY2UtY2FydC1mb3JtIHRkLmFjdGlvbnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgZ2FwOiAwLjc1cmVtO1xuICBwYWRkaW5nLWlubGluZTogMDtcbiAgYm9yZGVyOiAwO1xufVxuLnByb3NlIC53b29jb21tZXJjZSAud29vY29tbWVyY2UtY2FydC1mb3JtIHRkLmFjdGlvbnMgLmNvdXBvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogMC41cmVtO1xuICBmbG9hdDogbm9uZTtcbn1cbi5wcm9zZSAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLWNhcnQtZm9ybSB0ZC5hY3Rpb25zID4gLmJ1dHRvbltuYW1lPXVwZGF0ZV9jYXJ0XSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4ucHJvc2UgLndvb2NvbW1lcmNlIC5ibG9ja1VJLmJsb2NrT3ZlcmxheSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cbi5wcm9zZSAud29vY29tbWVyY2UgLnByb2Nlc3Npbmcge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4ucHJvc2UgLndvb2NvbW1lcmNlIC5wcm9jZXNzaW5nOjpiZWZvcmUge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG4ucHJvc2UgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1jYXJ0LWZvcm0ucHJvY2Vzc2luZyxcbi5wcm9zZSAud29vY29tbWVyY2UgLmNhcnRfdG90YWxzLnByb2Nlc3NpbmcsXG4ucHJvc2UgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1jaGVja291dC1yZXZpZXctb3JkZXIucHJvY2Vzc2luZyxcbi5wcm9zZSAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQucHJvY2Vzc2luZyB7XG4gIG9wYWNpdHk6IDAuNDU7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMjVzIGN1YmljLWJlemllcigwLjIyLCAwLjYxLCAwLjM2LCAxKTtcbn1cbi5wcm9zZSAud29vY29tbWVyY2UgdGFibGUuY2FydCB0ZC5hY3Rpb25zIC5jb3Vwb24gLmlucHV0LXRleHQge1xuICBmbG9hdDogbm9uZTtcbiAgd2lkdGg6IDIyMHB4O1xuICBoZWlnaHQ6IDU0cHg7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMCAxLjNyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpbmUtMik7XG4gIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1iZyk7XG4gIGNvbG9yOiB2YXIoLS1pbmspO1xuICBmb250OiBpbmhlcml0O1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG59XG4ucHJvc2UgLndvb2NvbW1lcmNlIHRhYmxlLmNhcnQgdGQuYWN0aW9ucyAuY291cG9uIC5pbnB1dC10ZXh0OmZvY3VzLXZpc2libGUge1xuICBvdXRsaW5lOiAzcHggc29saWQgdmFyKC0tYWNjZW50KTtcbiAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbn1cbi5wcm9zZSAud29vY29tbWVyY2UgdGFibGUuY2FydCB0ZC5hY3Rpb25zIC5jb3Vwb24gLmlucHV0LXRleHQ6OnBsYWNlaG9sZGVyIHtcbiAgY29sb3I6IHZhcigtLWluay0zKTtcbn1cbi5wcm9zZSAud29vY29tbWVyY2UgLmNhcnRfdG90YWxzIHtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjI1cyBjdWJpYy1iZXppZXIoMC4yMiwgMC42MSwgMC4zNiwgMSk7XG4gIGZsb2F0OiBub25lO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiA0MjBweDtcbiAgbWFyZ2luOiBjbGFtcCgycmVtLCA0dncsIDNyZW0pIDAgMCBhdXRvO1xuICBwYWRkaW5nOiAycmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1saW5lKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWxnKTtcbiAgYmFja2dyb3VuZDogdmFyKC0td2FzaCk7XG59XG4ucHJvc2UgLndvb2NvbW1lcmNlIC5jYXJ0X3RvdGFscyBoMiB7XG4gIG1hcmdpbjogMCAwIDFyZW07XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuICBmb250LXNpemU6IGNsYW1wKDIwcHgsIDE4cHggKyAwLjV2dywgMjZweCk7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbi5wcm9zZSAud29vY29tbWVyY2UgLmNhcnRfdG90YWxzIHRhYmxlLnNob3BfdGFibGUgdGgge1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbiAgZm9udC1zaXplOiBjbGFtcCgwLjlyZW0sIDEuMXZ3LCAxLjE1cmVtKTtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgbGluZS1oZWlnaHQ6IGNhbGMoMSAqIHZhcigtLWRpc3BsYXktbGVhZGluZykpO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcbiAgY29sb3I6IHZhcigtLWluay0zKTtcbiAgd2lkdGg6IDQ1JTtcbiAgcGFkZGluZy1sZWZ0OiAwO1xufVxuLnByb3NlIC53b29jb21tZXJjZSAuY2FydF90b3RhbHMgdGFibGUuc2hvcF90YWJsZSB0ZCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xufVxuLnByb3NlIC53b29jb21tZXJjZSAuY2FydF90b3RhbHMgdGFibGUuc2hvcF90YWJsZSB0ci5vcmRlci10b3RhbCB0ZCB7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuICBmb250LXNpemU6IDEuMzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG59XG4ucHJvc2UgLndvb2NvbW1lcmNlIC5jYXJ0X3RvdGFscyAud2MtcHJvY2VlZC10by1jaGVja291dCB7XG4gIHBhZGRpbmc6IDEuNXJlbSAwIDA7XG59XG4ucHJvc2UgLndvb2NvbW1lcmNlIC5jYXJ0X3RvdGFscyAud2MtcHJvY2VlZC10by1jaGVja291dCAuY2hlY2tvdXQtYnV0dG9uIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMDtcbn1cbi5wcm9zZSAud29vY29tbWVyY2UgLmNhcnRfdG90YWxzIC53b29jb21tZXJjZS1zaGlwcGluZy1kZXN0aW5hdGlvbiwgLnByb3NlIC53b29jb21tZXJjZSAuY2FydF90b3RhbHMgLndvb2NvbW1lcmNlLXNoaXBwaW5nLWNhbGN1bGF0b3Ige1xuICBmb250LXNpemU6IDAuODVyZW07XG4gIGNvbG9yOiB2YXIoLS1pbmstMyk7XG59XG4ucHJvc2UgLndvb2NvbW1lcmNlIC5jYXJ0LWVtcHR5IHtcbiAgbWFyZ2luOiAwIDAgMS41cmVtO1xufVxuLnByb3NlIC53b29jb21tZXJjZSAucmV0dXJuLXRvLXNob3Age1xuICBtYXJnaW46IDA7XG59XG4ucHJvc2UgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1mb3JtLWNvdXBvbi10b2dnbGUsIC5wcm9zZSAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLWZvcm0tbG9naW4tdG9nZ2xlIHtcbiAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xufVxuLnByb3NlIC53b29jb21tZXJjZSBmb3JtLmNoZWNrb3V0X2NvdXBvbiwgLnByb3NlIC53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWZvcm0tbG9naW4ge1xuICBtYXJnaW46IDAgMCAycmVtO1xuICBwYWRkaW5nOiAxLjVyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpbmUpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xufVxuLnByb3NlIC53b29jb21tZXJjZSBmb3JtLmNoZWNrb3V0X2NvdXBvbiAuZm9ybS1yb3ctbGFzdCAuYnV0dG9uLCAucHJvc2UgLndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtZm9ybS1sb2dpbiAuZm9ybS1yb3ctbGFzdCAuYnV0dG9uIHtcbiAgaGVpZ2h0OiA0NnB4O1xuICBtYXJnaW4tdG9wOiAxLjU1cmVtO1xufVxuLnByb3NlIC53b29jb21tZXJjZSBmb3JtLmNoZWNrb3V0IHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMCwgMS4yZnIpIG1pbm1heCgwLCAxZnIpO1xuICBnYXA6IGNsYW1wKDJyZW0sIDV2dywgNHJlbSk7XG4gIGFsaWduLWl0ZW1zOiBzdGFydDtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiAxMDgwcHgpIHtcbiAgLnByb3NlIC53b29jb21tZXJjZSBmb3JtLmNoZWNrb3V0IHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgfVxufVxuLnByb3NlIC53b29jb21tZXJjZSBmb3JtLmNoZWNrb3V0ICNjdXN0b21lcl9kZXRhaWxzIHtcbiAgd2lkdGg6IDEwMCU7XG59XG4ucHJvc2UgLndvb2NvbW1lcmNlIGZvcm0uY2hlY2tvdXQgI2N1c3RvbWVyX2RldGFpbHMgLmNvbC0xLCAucHJvc2UgLndvb2NvbW1lcmNlIGZvcm0uY2hlY2tvdXQgI2N1c3RvbWVyX2RldGFpbHMgLmNvbC0yIHtcbiAgZmxvYXQ6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xufVxuLnByb3NlIC53b29jb21tZXJjZSBmb3JtLmNoZWNrb3V0ICNjdXN0b21lcl9kZXRhaWxzIC5jb2wtMiB7XG4gIG1hcmdpbi10b3A6IDJyZW07XG59XG4ucHJvc2UgLndvb2NvbW1lcmNlIGZvcm0uY2hlY2tvdXQgaDMge1xuICBtYXJnaW46IDAgMCAxLjVyZW07XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuICBmb250LXNpemU6IGNsYW1wKDIwcHgsIDE4cHggKyAwLjV2dywgMjZweCk7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbi5wcm9zZSAud29vY29tbWVyY2UgZm9ybS5jaGVja291dCAjb3JkZXJfcmV2aWV3X2hlYWRpbmcge1xuICBncmlkLWNvbHVtbjogMjtcbiAgZ3JpZC1yb3c6IDE7XG4gIG1hcmdpbi10b3A6IDA7XG59XG4ucHJvc2UgLndvb2NvbW1lcmNlIGZvcm0uY2hlY2tvdXQgI29yZGVyX3JldmlldyB7XG4gIGdyaWQtY29sdW1uOiAyO1xuICBncmlkLXJvdzogMjtcbiAgcGFkZGluZzogMnJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbGluZSk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1sZyk7XG4gIGJhY2tncm91bmQ6IHZhcigtLXdhc2gpO1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDEwODBweCkge1xuICAucHJvc2UgLndvb2NvbW1lcmNlIGZvcm0uY2hlY2tvdXQgI29yZGVyX3Jldmlld19oZWFkaW5nLCAucHJvc2UgLndvb2NvbW1lcmNlIGZvcm0uY2hlY2tvdXQgI29yZGVyX3JldmlldyB7XG4gICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgZ3JpZC1yb3c6IGF1dG87XG4gIH1cbn1cbi5wcm9zZSAud29vY29tbWVyY2UgZm9ybS5jaGVja291dCAud29vY29tbWVyY2UtY2hlY2tvdXQtcmV2aWV3LW9yZGVyLXRhYmxlIHRoLCAucHJvc2UgLndvb2NvbW1lcmNlIGZvcm0uY2hlY2tvdXQgLndvb2NvbW1lcmNlLWNoZWNrb3V0LXJldmlldy1vcmRlci10YWJsZSB0ZCB7XG4gIHBhZGRpbmctaW5saW5lOiAwO1xufVxuLnByb3NlIC53b29jb21tZXJjZSBmb3JtLmNoZWNrb3V0IC53b29jb21tZXJjZS1jaGVja291dC1yZXZpZXctb3JkZXItdGFibGUgdGQucHJvZHVjdC1uYW1lIHtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cbi5wcm9zZSAud29vY29tbWVyY2UgZm9ybS5jaGVja291dCAud29vY29tbWVyY2UtY2hlY2tvdXQtcmV2aWV3LW9yZGVyLXRhYmxlIHRkLnByb2R1Y3QtbmFtZSAucHJvZHVjdC1xdWFudGl0eSB7XG4gIGNvbG9yOiB2YXIoLS1pbmstMyk7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4ucHJvc2UgLndvb2NvbW1lcmNlIGZvcm0uY2hlY2tvdXQgLndvb2NvbW1lcmNlLWNoZWNrb3V0LXJldmlldy1vcmRlci10YWJsZSB0ZC5wcm9kdWN0LXRvdGFsLCAucHJvc2UgLndvb2NvbW1lcmNlIGZvcm0uY2hlY2tvdXQgLndvb2NvbW1lcmNlLWNoZWNrb3V0LXJldmlldy1vcmRlci10YWJsZSB0Zm9vdCB0ZCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuLnByb3NlIC53b29jb21tZXJjZSBmb3JtLmNoZWNrb3V0IC53b29jb21tZXJjZS1jaGVja291dC1yZXZpZXctb3JkZXItdGFibGUgdGZvb3QgdGgge1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbiAgZm9udC1zaXplOiBjbGFtcCgwLjlyZW0sIDEuMXZ3LCAxLjE1cmVtKTtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgbGluZS1oZWlnaHQ6IGNhbGMoMSAqIHZhcigtLWRpc3BsYXktbGVhZGluZykpO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcbiAgY29sb3I6IHZhcigtLWluay0zKTtcbn1cbi5wcm9zZSAud29vY29tbWVyY2UgZm9ybS5jaGVja291dCAud29vY29tbWVyY2UtY2hlY2tvdXQtcmV2aWV3LW9yZGVyLXRhYmxlIHRyLm9yZGVyLXRvdGFsIHRkIHtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGZvbnQtc2l6ZTogMS4zNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbn1cbi5wcm9zZSAud29vY29tbWVyY2UgZm9ybS5jaGVja291dCAjcGF5bWVudCB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBtYXJnaW4tdG9wOiAxLjVyZW07XG59XG4ucHJvc2UgLndvb2NvbW1lcmNlIGZvcm0uY2hlY2tvdXQgI3BheW1lbnQgdWwucGF5bWVudF9tZXRob2RzIHtcbiAgbWFyZ2luOiAwIDAgMS41cmVtO1xuICBwYWRkaW5nOiAwIDAgMS41cmVtO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tbGluZSk7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG4ucHJvc2UgLndvb2NvbW1lcmNlIGZvcm0uY2hlY2tvdXQgI3BheW1lbnQgdWwucGF5bWVudF9tZXRob2RzIGxpIHtcbiAgbWFyZ2luOiAwIDAgMC43NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgZm9udC1zaXplOiAwLjk1cmVtO1xufVxuLnByb3NlIC53b29jb21tZXJjZSBmb3JtLmNoZWNrb3V0ICNwYXltZW50IHVsLnBheW1lbnRfbWV0aG9kcyBsYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cbi5wcm9zZSAud29vY29tbWVyY2UgZm9ybS5jaGVja291dCAjcGF5bWVudCB1bC5wYXltZW50X21ldGhvZHMgaW5wdXRbdHlwZT1yYWRpb10ge1xuICBhY2NlbnQtY29sb3I6IHZhcigtLWFjY2VudCk7XG4gIG1hcmdpbi1yaWdodDogMC41ZW07XG59XG4ucHJvc2UgLndvb2NvbW1lcmNlIGZvcm0uY2hlY2tvdXQgI3BheW1lbnQgdWwucGF5bWVudF9tZXRob2RzIC5wYXltZW50X2JveCB7XG4gIG1hcmdpbjogMC43NXJlbSAwIDA7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWJnKTtcbiAgZm9udC1zaXplOiAwLjg4cmVtO1xuICBjb2xvcjogdmFyKC0taW5rLTIpO1xufVxuLnByb3NlIC53b29jb21tZXJjZSBmb3JtLmNoZWNrb3V0ICNwYXltZW50IHVsLnBheW1lbnRfbWV0aG9kcyAucGF5bWVudF9ib3g6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4ucHJvc2UgLndvb2NvbW1lcmNlIGZvcm0uY2hlY2tvdXQgI3BheW1lbnQgdWwucGF5bWVudF9tZXRob2RzIC5wYXltZW50X2JveCBwOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLnByb3NlIC53b29jb21tZXJjZSBmb3JtLmNoZWNrb3V0ICNwYXltZW50IHVsLnBheW1lbnRfbWV0aG9kcyBpbWcge1xuICBtYXgtaGVpZ2h0OiAyNHB4O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuLnByb3NlIC53b29jb21tZXJjZSBmb3JtLmNoZWNrb3V0ICNwYXltZW50IC5wbGFjZS1vcmRlciB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbn1cbi5wcm9zZSAud29vY29tbWVyY2UgZm9ybS5jaGVja291dCAjcGF5bWVudCAud29vY29tbWVyY2UtdGVybXMtYW5kLWNvbmRpdGlvbnMtd3JhcHBlciB7XG4gIG1hcmdpbjogMCAwIDFyZW07XG4gIGZvbnQtc2l6ZTogMC44NXJlbTtcbiAgY29sb3I6IHZhcigtLWluay0yKTtcbn1cbi5wcm9zZSAud29vY29tbWVyY2UgZm9ybS5jaGVja291dCAjcGF5bWVudCAjcGxhY2Vfb3JkZXIge1xuICB3aWR0aDogMTAwJTtcbn1cbi5wcm9zZSAud29vY29tbWVyY2UgZm9ybS5jaGVja291dCAjcGF5bWVudCAud29vY29tbWVyY2UtcHJpdmFjeS1wb2xpY3ktdGV4dCB7XG4gIGZvbnQtc2l6ZTogMC44NXJlbTtcbiAgY29sb3I6IHZhcigtLWluay0zKTtcbn1cbi5wcm9zZSAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLW9yZGVyIC53b29jb21tZXJjZS10aGFua3lvdS1vcmRlci1yZWNlaXZlZCB7XG4gIGZvbnQtc2l6ZTogY2xhbXAoMS4xcmVtLCAwLjV2dyArIDFyZW0sIDEuMzVyZW0pO1xuICBmb250LXdlaWdodDogNjAwO1xufVxuLnByb3NlIC53b29jb21tZXJjZSAud29vY29tbWVyY2Utb3JkZXIgdWwud29vY29tbWVyY2Utb3JkZXItb3ZlcnZpZXcge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGdhcDogMXJlbSAycmVtO1xuICBtYXJnaW46IDEuNXJlbSAwO1xuICBwYWRkaW5nOiAxLjVyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpbmUpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuLnByb3NlIC53b29jb21tZXJjZSAud29vY29tbWVyY2Utb3JkZXIgdWwud29vY29tbWVyY2Utb3JkZXItb3ZlcnZpZXcgbGkge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGZvbnQtc2l6ZTogY2xhbXAoMC45cmVtLCAxLjF2dywgMS4xNXJlbSk7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIGxpbmUtaGVpZ2h0OiBjYWxjKDEgKiB2YXIoLS1kaXNwbGF5LWxlYWRpbmcpKTtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7XG4gIGNvbG9yOiB2YXIoLS1pbmstMyk7XG59XG4ucHJvc2UgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1vcmRlciB1bC53b29jb21tZXJjZS1vcmRlci1vdmVydmlldyBsaSBzdHJvbmcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXRvcDogMC4zZW07XG4gIGZvbnQ6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBjb2xvcjogdmFyKC0taW5rKTtcbn1cbi5wcm9zZSAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLW9yZGVyIGgyIHtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGZvbnQtc2l6ZTogY2xhbXAoMjBweCwgMThweCArIDAuNXZ3LCAyNnB4KTtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07XG59XG4ucHJvc2UgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1vcmRlciBhZGRyZXNzIHtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS41O1xufVxuXG4uc3Vic2NyaWJlIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMCwgMWZyKSBtaW5tYXgoMCwgMWZyKTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiBjbGFtcCgycmVtLCA1dncsIDVyZW0pO1xuICBwYWRkaW5nOiBjbGFtcCgycmVtLCA0LjV2dywgNHJlbSk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpbmUpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbGcpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy0yKTtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiAxMDgwcHgpIHtcbiAgLnN1YnNjcmliZSB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgZ2FwOiBjbGFtcCgxLjc1cmVtLCA0dncsIDIuNXJlbSk7XG4gIH1cbn1cbi5zdWJzY3JpYmUgPiAqIHtcbiAgbWluLXdpZHRoOiAwO1xufVxuLnN1YnNjcmliZV9fdGl0bGUge1xuICBtYXJnaW4tdG9wOiAwLjc1cmVtO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbiAgZm9udC1zaXplOiBjbGFtcCgzMHB4LCAxOS4zMzMzMzMzMzMzcHggKyAyLjY2NjY2NjY2Njd2dywgNjJweCk7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIGxpbmUtaGVpZ2h0OiBjYWxjKDAuOTIgKiB2YXIoLS1kaXNwbGF5LWxlYWRpbmcpKTtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAzNWVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuLnN1YnNjcmliZV9fdGl0bGUtaG9sbG93IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLXdlYmtpdC10ZXh0LXN0cm9rZTogMnB4IHZhcigtLWluayk7XG59XG5AbWVkaWEgKG1heC13aWR0aDogNzgwcHgpIHtcbiAgLnN1YnNjcmliZV9fdGl0bGUtaG9sbG93IHtcbiAgICAtd2Via2l0LXRleHQtc3Ryb2tlLXdpZHRoOiAxLjVweDtcbiAgfVxufVxuLnN1YnNjcmliZV9fbGVkZSB7XG4gIG1heC13aWR0aDogNDZjaDtcbiAgbWFyZ2luLXRvcDogMXJlbTtcbiAgZm9udC1zaXplOiBjbGFtcCgwLjk4cmVtLCAwLjM1dncgKyAwLjlyZW0sIDEuMTJyZW0pO1xuICBsaW5lLWhlaWdodDogMS41NTtcbiAgY29sb3I6IHZhcigtLWluay0yKTtcbn1cblxuLnNmb3JtMl9fcm93IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiAwLjc1cmVtO1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDUyMHB4KSB7XG4gIC5zZm9ybTJfX3JvdyB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxufVxuLnNmb3JtMl9faW5wdXQge1xuICBmbGV4OiAxIDEgYXV0bztcbiAgbWluLXdpZHRoOiAwO1xuICBoZWlnaHQ6IDU0cHg7XG4gIHBhZGRpbmctaW5saW5lOiAxLjVyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpbmUtMik7XG4gIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1iZyk7XG4gIGNvbG9yOiB2YXIoLS1pbmspO1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xufVxuLnNmb3JtMl9faW5wdXQ6OnBsYWNlaG9sZGVyIHtcbiAgY29sb3I6IHZhcigtLWluay0zKTtcbn1cbi5zZm9ybTJfX2lucHV0OmZvY3VzLXZpc2libGUge1xuICBvdXRsaW5lOiAzcHggc29saWQgdmFyKC0tYWNjZW50KTtcbiAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5zZm9ybTIuaXMtaW52YWxpZCAuc2Zvcm0yX19pbnB1dCB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYWNjZW50LWRlZXApO1xufVxuLnNmb3JtMl9fYnRuIHtcbiAgZmxleDogbm9uZTtcbiAgbWluLXdpZHRoOiAxMXJlbTtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA1MjBweCkge1xuICAuc2Zvcm0yX19idG4ge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG4uc2Zvcm0yX19idG5bZGlzYWJsZWRdIHtcbiAgb3BhY2l0eTogMC41NTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4uc2Zvcm0yX19tc2cge1xuICBtYXJnaW4tdG9wOiAxcmVtO1xuICBmb250LXNpemU6IDAuOTJyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ1O1xufVxuLnNmb3JtMl9fbXNnOmVtcHR5IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5zZm9ybTIuaXMtb2sgLnNmb3JtMl9fbXNnIHtcbiAgY29sb3I6IHZhcigtLWFjY2VudC1pbmspO1xufVxuLnNmb3JtMi5pcy1pbnZhbGlkIC5zZm9ybTJfX21zZyB7XG4gIGNvbG9yOiB2YXIoLS1pbmspO1xuICBmb250LXdlaWdodDogNjAwO1xufVxuLnNmb3JtMl9fZmluZSB7XG4gIG1hcmdpbi10b3A6IDFyZW07XG4gIGZvbnQtc2l6ZTogMC44cmVtO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogdmFyKC0taW5rLTMpO1xufVxuLnNmb3JtMi5pcy1kb25lIC5zZm9ybTJfX3JvdyB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi51LXRyYXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IC05OTk5cHg7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uZm9ybXdyYXAge1xuICBtYXJnaW4tdG9wOiBjbGFtcCgyLjVyZW0sIDV2dywgNHJlbSk7XG59XG5cbi5uZi1mb3JtLWNvbnQgLm5mLWZvcm0tdGl0bGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuLm5mLWZvcm0tY29udCAubmYtZGVidWctbXNnIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5uZi1mb3JtLWNvbnQgLm5mLWZvcm0tZmllbGRzLXJlcXVpcmVkIHtcbiAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vKTtcbiAgZm9udC1zaXplOiAwLjcycmVtO1xuICBsZXR0ZXItc3BhY2luZzogMC4xMmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBjb2xvcjogdmFyKC0taW5rLTMpO1xufVxuLm5mLWZvcm0tY29udCAubmYtZmllbGQtY29udGFpbmVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xufVxuLm5mLWZvcm0tY29udCAubmYtZmllbGQtY29udGFpbmVyLmxhYmVsLWhpZGRlbiAubmYtZmllbGQtbGFiZWwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IC0xcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXAtcGF0aDogaW5zZXQoNTAlKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbi5uZi1mb3JtLWNvbnQgLm5mLWZpZWxkLWxhYmVsIGxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ubyk7XG4gIGZvbnQtc2l6ZTogMC43MnJlbTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMThlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6IHZhcigtLWluay0yKTtcbn1cbi5uZi1mb3JtLWNvbnQgLm5pbmphLWZvcm1zLXJlcS1zeW1ib2wge1xuICBjb2xvcjogdmFyKC0taW5rLTMpO1xufVxuLm5mLWZvcm0tY29udCBpbnB1dC5uZi1lbGVtZW50Om5vdChbdHlwZT1zdWJtaXRdKTpub3QoW3R5cGU9YnV0dG9uXSksXG4ubmYtZm9ybS1jb250IHRleHRhcmVhLm5mLWVsZW1lbnQsXG4ubmYtZm9ybS1jb250IHNlbGVjdC5uZi1lbGVtZW50IHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNTRweDtcbiAgcGFkZGluZzogMCAxLjNyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpbmUtMik7XG4gIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1iZyk7XG4gIGNvbG9yOiB2YXIoLS1pbmspO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgZm9udC1zaXplOiAxcmVtO1xuICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgdmFyKC0tZHVyLWZhc3QpIGN1YmljLWJlemllcigwLjIyLCAwLjYxLCAwLjM2LCAxKTtcbn1cbi5uZi1mb3JtLWNvbnQgaW5wdXQubmYtZWxlbWVudDpub3QoW3R5cGU9c3VibWl0XSk6bm90KFt0eXBlPWJ1dHRvbl0pOjpwbGFjZWhvbGRlcixcbi5uZi1mb3JtLWNvbnQgdGV4dGFyZWEubmYtZWxlbWVudDo6cGxhY2Vob2xkZXIsXG4ubmYtZm9ybS1jb250IHNlbGVjdC5uZi1lbGVtZW50OjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiB2YXIoLS1pbmstMyk7XG4gIG9wYWNpdHk6IDE7XG59XG4ubmYtZm9ybS1jb250IGlucHV0Lm5mLWVsZW1lbnQ6bm90KFt0eXBlPXN1Ym1pdF0pOm5vdChbdHlwZT1idXR0b25dKTpmb2N1cy12aXNpYmxlLFxuLm5mLWZvcm0tY29udCB0ZXh0YXJlYS5uZi1lbGVtZW50OmZvY3VzLXZpc2libGUsXG4ubmYtZm9ybS1jb250IHNlbGVjdC5uZi1lbGVtZW50OmZvY3VzLXZpc2libGUge1xuICBvdXRsaW5lOiAzcHggc29saWQgdmFyKC0tYWNjZW50KTtcbiAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5uZi1mb3JtLWNvbnQgaW5wdXQubmYtZWxlbWVudDpub3QoW3R5cGU9c3VibWl0XSk6bm90KFt0eXBlPWJ1dHRvbl0pW2FyaWEtaW52YWxpZD10cnVlXSxcbi5uZi1mb3JtLWNvbnQgdGV4dGFyZWEubmYtZWxlbWVudFthcmlhLWludmFsaWQ9dHJ1ZV0sXG4ubmYtZm9ybS1jb250IHNlbGVjdC5uZi1lbGVtZW50W2FyaWEtaW52YWxpZD10cnVlXSB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYWNjZW50LWRlZXApO1xufVxuLm5mLWZvcm0tY29udCB0ZXh0YXJlYS5uZi1lbGVtZW50IHtcbiAgaGVpZ2h0OiBhdXRvO1xuICBwYWRkaW5nOiAxcmVtIDEuM3JlbTtcbiAgYm9yZGVyLXJhZGl1czogMjdweDtcbiAgcmVzaXplOiBub25lO1xuICBtaW4taGVpZ2h0OiAxMXJlbTtcbiAgc2Nyb2xsYmFyLXdpZHRoOiBub25lO1xufVxuLm5mLWZvcm0tY29udCB0ZXh0YXJlYS5uZi1lbGVtZW50Ojotd2Via2l0LXNjcm9sbGJhciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4ubmYtZm9ybS1jb250IC5uZi1pbnB1dC1saW1pdDplbXB0eSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4ubmYtZm9ybS1jb250IC5uZi1lcnJvci13cmFwLm5mLWVycm9yIHtcbiAgbWFyZ2luLXRvcDogMC41cmVtO1xuICBmb250LXNpemU6IDAuODhyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ1O1xuICBjb2xvcjogdmFyKC0tYWNjZW50LWluayk7XG59XG4ubmYtZm9ybS1jb250IC5uZi1lcnJvci13cmFwLm5mLWVycm9yOmVtcHR5IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5uZi1mb3JtLWNvbnQgLm5mLXJlc3BvbnNlLW1zZyB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbn1cbi5uZi1mb3JtLWNvbnQgLm5mLXJlc3BvbnNlLW1zZzplbXB0eSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4ubmYtZm9ybS1jb250IC5uZi1yZXNwb25zZS1tc2c6bm90KDplbXB0eSkge1xuICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gIHBhZGRpbmc6IDFyZW0gMS41cmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1saW5lLTIpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy0yKTtcbn1cbi5uZi1mb3JtLWNvbnQgLm5mLXJlc3BvbnNlLW1zZyBwOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLm5mLWZvcm0tY29udCBpbnB1dC5uZi1lbGVtZW50W3R5cGU9c3VibWl0XSxcbi5uZi1mb3JtLWNvbnQgaW5wdXQubmYtZWxlbWVudFt0eXBlPWJ1dHRvbl0ge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IDU0cHg7XG4gIHBhZGRpbmctaW5saW5lOiAycmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1hY2NlbnQpO1xuICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWNjZW50KTtcbiAgY29sb3I6IHZhcigtLW9uLWFjY2VudCk7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IDAuOTJyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxldHRlci1zcGFjaW5nOiAwLjAxZW07XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIHZhcigtLWR1ci1mYXN0KSBjdWJpYy1iZXppZXIoMC4yMiwgMC42MSwgMC4zNiwgMSksIGNvbG9yIHZhcigtLWR1ci1mYXN0KSBjdWJpYy1iZXppZXIoMC4yMiwgMC42MSwgMC4zNiwgMSksIHRyYW5zZm9ybSB2YXIoLS1kdXItZmFzdCkgY3ViaWMtYmV6aWVyKDAuMjIsIDAuNjEsIDAuMzYsIDEpO1xufVxuQG1lZGlhIChob3ZlcjogaG92ZXIpIGFuZCAocG9pbnRlcjogZmluZSkge1xuICAubmYtZm9ybS1jb250IGlucHV0Lm5mLWVsZW1lbnRbdHlwZT1zdWJtaXRdOmhvdmVyLFxuICAubmYtZm9ybS1jb250IGlucHV0Lm5mLWVsZW1lbnRbdHlwZT1idXR0b25dOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1pbmspO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0taW5rKTtcbiAgICBjb2xvcjogdmFyKC0tYmcpO1xuICB9XG59XG4ubmYtZm9ybS1jb250IGlucHV0Lm5mLWVsZW1lbnRbdHlwZT1zdWJtaXRdOmFjdGl2ZSxcbi5uZi1mb3JtLWNvbnQgaW5wdXQubmYtZWxlbWVudFt0eXBlPWJ1dHRvbl06YWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDFweCk7XG59XG4ubmYtZm9ybS1jb250IGlucHV0Lm5mLWVsZW1lbnRbdHlwZT1zdWJtaXRdOmZvY3VzLXZpc2libGUsXG4ubmYtZm9ybS1jb250IGlucHV0Lm5mLWVsZW1lbnRbdHlwZT1idXR0b25dOmZvY3VzLXZpc2libGUge1xuICBvdXRsaW5lOiAzcHggc29saWQgdmFyKC0tYWNjZW50KTtcbiAgb3V0bGluZS1vZmZzZXQ6IDNweDtcbn1cbi5uZi1mb3JtLWNvbnQgaW5wdXQubmYtZWxlbWVudFt0eXBlPXN1Ym1pdF1bZGlzYWJsZWRdLFxuLm5mLWZvcm0tY29udCBpbnB1dC5uZi1lbGVtZW50W3R5cGU9YnV0dG9uXVtkaXNhYmxlZF0ge1xuICBvcGFjaXR5OiAwLjU1O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5uZi1mb3JtLWNvbnQgLnN1Ym1pdC1jb250YWluZXIge1xuICBtYXJnaW4tdG9wOiAycmVtO1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDUyMHB4KSB7XG4gIC5uZi1mb3JtLWNvbnQgLnN1Ym1pdC1jb250YWluZXIgaW5wdXQubmYtZWxlbWVudFt0eXBlPXN1Ym1pdF0ge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG4ubmYtZm9ybS1jb250IC5uaW5qYS1mb3Jtcy1maWVsZC1wcm9jZXNzaW5nIHtcbiAgY29sb3I6IHZhcigtLWluay0yKTtcbn1cbi5uZi1mb3JtLWNvbnQgLnJlY2FwdGNoYV92My1jb250YWluZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uZG9jayB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgei1pbmRleDogOTA7XG4gIGhlaWdodDogdmFyKC0tZG9jay1oKTtcbiAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWJnLTIpIDg4JSwgdHJhbnNwYXJlbnQpO1xuICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMjBweCkgc2F0dXJhdGUoMS41KTtcbiAgLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6IGJsdXIoMjBweCkgc2F0dXJhdGUoMS41KTtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWxpbmUpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAxJSk7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjU1cyBjdWJpYy1iZXppZXIoMC4xNiwgMSwgMC4zLCAxKTtcbn1cbi5kb2NrLmlzLXVwIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xufVxuLmRvY2tfX2lubmVyIHtcbiAgd2lkdGg6IG1pbigxMDAlIC0gdmFyKC0tZ3V0dGVyKSAqIDIsIHZhcigtLW1heHcpKTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IGNsYW1wKDAuNzVyZW0sIDJ2dywgMnJlbSk7XG59XG4uZG9ja19fcGxheSB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XG4gIHdpZHRoOiA0NnB4O1xuICBoZWlnaHQ6IDQ2cHg7XG4gIGZsZXg6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hY2NlbnQpO1xuICBjb2xvcjogdmFyKC0tb24tYWNjZW50KTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIHZhcigtLWR1ci1mYXN0KSBjdWJpYy1iZXppZXIoMC4yMiwgMC42MSwgMC4zNiwgMSksIGZpbHRlciB2YXIoLS1kdXItZmFzdCkgY3ViaWMtYmV6aWVyKDAuMjIsIDAuNjEsIDAuMzYsIDEpO1xufVxuLmRvY2tfX3BsYXkgc3ZnIHtcbiAgd2lkdGg6IDE1cHg7XG4gIGhlaWdodDogMTVweDtcbn1cbi5kb2NrX19wbGF5IC5pLXBhdXNlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5kb2NrX19wbGF5OmhvdmVyIHtcbiAgZmlsdGVyOiBicmlnaHRuZXNzKDEuMTIpO1xufVxuLmRvY2tfX3BsYXk6YWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjkyKTtcbn1cbi5kb2NrLmlzLXBsYXlpbmcgLmRvY2tfX3BsYXkgLmktcGxheSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4uZG9jay5pcy1wbGF5aW5nIC5kb2NrX19wbGF5IC5pLXBhdXNlIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4uZG9ja19fbWV0YSB7XG4gIG1pbi13aWR0aDogMDtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ2FwOiAxcHg7XG59XG4uZG9ja19fbGFiZWwge1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vKTtcbiAgZm9udC1zaXplOiAwLjYycmVtO1xuICBsZXR0ZXItc3BhY2luZzogMC4xNmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBjb2xvcjogdmFyKC0taW5rLTMpO1xufVxuLmRvY2tfX3RpdGxlIHtcbiAgZm9udC1zaXplOiAwLjk1cmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cbi5kb2NrX193YXZlIHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG59XG5AbWVkaWEgKG1heC13aWR0aDogNzgwcHgpIHtcbiAgLmRvY2tfX3dhdmUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbi5kb2NrOm5vdCguaXMtcGxheWluZykgLmRvY2tfX3dhdmUgc3BhbiB7XG4gIGFuaW1hdGlvbi1wbGF5LXN0YXRlOiBwYXVzZWQ7XG4gIG9wYWNpdHk6IDAuMzU7XG59XG4uZG9ja19fdGltZSB7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm8pO1xuICBmb250LXNpemU6IDAuNzJyZW07XG4gIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7XG4gIGNvbG9yOiB2YXIoLS1pbmstMik7XG4gIGZsZXg6IG5vbmU7XG59XG5AbWVkaWEgKG1heC13aWR0aDogNTIwcHgpIHtcbiAgLmRvY2tfX3RpbWUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbi5kb2NrX19wcm9ncmVzcyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtMXB4O1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgaGVpZ2h0OiAzcHg7XG4gIGJhY2tncm91bmQ6IHZhcigtLWxpbmUpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4uZG9ja19fcHJvZ3Jlc3M6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaW5zZXQ6IC04cHggMDtcbn1cbi5kb2NrX19iYXIge1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAwO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hY2NlbnQpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0O1xufVxuXG5ib2R5Lmhhcy1kb2NrIHtcbiAgcGFkZGluZy1ib3R0b206IHZhcigtLWRvY2staCk7XG59XG5cbi5jb29raWVzIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICAtLWluc2V0OiBjYWxjKHZhcigtLWd1dHRlcikgKiAuNSk7XG4gIGxlZnQ6IHZhcigtLWluc2V0KTtcbiAgcmlnaHQ6IHZhcigtLWluc2V0KTtcbiAgYm90dG9tOiBjYWxjKHZhcigtLWluc2V0KSArIGVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tLCAwcHgpKTtcbiAgei1pbmRleDogOTU7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMnB4KTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjQ1cyBjdWJpYy1iZXppZXIoMC4xNiwgMSwgMC4zLCAxKSwgdHJhbnNmb3JtIDAuNTVzIGN1YmljLWJlemllcigwLjE2LCAxLCAwLjMsIDEpO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5jb29raWVzLmlzLWluIHtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNmb3JtOiBub25lO1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbn1cbi5kb2NrLmlzLXVwIH4gLmNvb2tpZXMge1xuICBib3R0b206IGNhbGModmFyKC0tZG9jay1oKSArIHZhcigtLWluc2V0KSArIGVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tLCAwcHgpKTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAuY29va2llcyB7XG4gICAgbGVmdDogYXV0bztcbiAgICB3aWR0aDogbWluKDQwMHB4LCAxMDAlIC0gdmFyKC0taW5zZXQpICogMik7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGMoMTAwJSArIHZhcigtLWluc2V0KSkpO1xuICB9XG4gIC5jb29raWVzLmlzLWluIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cbi5jb29raWVzX19ib3gge1xuICBwYWRkaW5nOiAxLjVyZW0gMnJlbSAycmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1saW5lKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWxnKTtcbiAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWJnLTIpIDkyJSwgdHJhbnNwYXJlbnQpO1xuICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMjBweCkgc2F0dXJhdGUoMS41KTtcbiAgLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6IGJsdXIoMjBweCkgc2F0dXJhdGUoMS41KTtcbiAgYm94LXNoYWRvdzogMCAxOHB4IDUwcHggLTIwcHggcmdiYSgwLCAwLCAwLCAwLjU1KTtcbn1cbi5jb29raWVzX190aXRsZSB7XG4gIG1hcmdpbjogMCAwIDAuNXJlbTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGZvbnQtc2l6ZTogY2xhbXAoMjJweCwgMjBweCArIDAuNXZ3LCAyOHB4KTtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4wM2VtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuLmNvb2tpZXNfX2NvcHkge1xuICBtYXJnaW46IDAgMCAxLjVyZW07XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICBsaW5lLWhlaWdodDogMS40NTtcbiAgY29sb3I6IHZhcigtLWluay0yKTtcbn1cbi5jb29raWVzX19jb3B5IGEge1xuICBjb2xvcjogdmFyKC0taW5rKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIHRleHQtdW5kZXJsaW5lLW9mZnNldDogMC4xOGVtO1xufVxuLmNvb2tpZXNfX2FjdGlvbnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDAuNzVyZW07XG59XG4uY29va2llc19fYnRuIHtcbiAgZmxleDogMTtcbiAgaGVpZ2h0OiA0NnB4O1xuICBwYWRkaW5nLWlubGluZTogMXJlbTtcbn1cblxuLmZvb3Qge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctdG9wOiBjbGFtcCgzcmVtLCA3dncsIDdyZW0pO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tbGluZSk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4uZm9vdF9fc3Vic2NyaWJlIHtcbiAgbWFyZ2luLWJvdHRvbTogY2xhbXAoM3JlbSwgN3Z3LCA3cmVtKTtcbn1cbi5mb290X190b3Age1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gYXV0bztcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogc3RhcnQ7XG4gIGdhcDogM3JlbTtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA3ODBweCkge1xuICAuZm9vdF9fdG9wIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgfVxufVxuLmZvb3RfX2xlZGUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IGNsYW1wKDAuNzVyZW0sIDJ2dywgMS41cmVtKTtcbiAgZm9udC1zaXplOiBjbGFtcCgyNnB4LCAxNHB4ICsgM3Z3LCA2MnB4KTtcbn1cbi5mb290X19iYWRnZSB7XG4gIGZsZXg6IG5vbmU7XG4gIHdpZHRoOiAyLjg1ZW07XG4gIGhlaWdodDogMi44NWVtO1xufVxuW2RhdGEtdGhlbWU9bGlnaHRdIC5mb290X19iYWRnZSB7XG4gIGZpbHRlcjogaW52ZXJ0KDEpO1xufVxuLmZvb3RfX3BpdGNoIHtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgbGluZS1oZWlnaHQ6IGNhbGMoMC45NSAqIHZhcigtLWRpc3BsYXktbGVhZGluZykpO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDNlbTtcbiAgbWF4LXdpZHRoOiAxNmNoO1xufVxuLmZvb3RfX2NvbHMge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLWF1dG8tZmxvdzogY29sdW1uO1xuICBncmlkLWF1dG8tY29sdW1uczogbWlubWF4KDAsIGF1dG8pO1xuICBnYXA6IGNsYW1wKDNyZW0sIDQuNXZ3LCA1cmVtKTtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA3ODBweCkge1xuICAuZm9vdF9fY29scyB7XG4gICAgZ2FwOiAxLjVyZW07XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA1MjBweCkge1xuICAuZm9vdF9fY29scyB7XG4gICAgZ3JpZC1hdXRvLWZsb3c6IHJvdztcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCBtaW5tYXgoMCwgMWZyKSk7XG4gICAgZ2FwOiAxLjVyZW0gMXJlbTtcbiAgfVxufVxuLmZvb3RfX2NvbCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdhcDogMC43NXJlbTtcbiAgYWxpZ24tY29udGVudDogc3RhcnQ7XG59XG4uZm9vdF9fY29sIGgzIHtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ubyk7XG4gIGZvbnQtc2l6ZTogMC42NnJlbTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMThlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6IHZhcigtLWluay0zKTtcbn1cbi5mb290X19jb2wgdWwge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBkaXNwbGF5OiBncmlkO1xuICBnYXA6IDAuNjVlbTtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA3ODBweCkge1xuICAuZm9vdF9fY29sIHVsIHtcbiAgICBnYXA6IDAuNXJlbTtcbiAgfVxufVxuLmZvb3RfX2NvbCBhIHtcbiAgZm9udC1zaXplOiAwLjk1cmVtO1xuICBjb2xvcjogdmFyKC0taW5rLTIpO1xuICB0cmFuc2l0aW9uOiBjb2xvciB2YXIoLS1kdXItZmFzdCkgY3ViaWMtYmV6aWVyKDAuMjIsIDAuNjEsIDAuMzYsIDEpO1xufVxuLmZvb3RfX2NvbCBhOmhvdmVyIHtcbiAgY29sb3I6IHZhcigtLWFjY2VudC1pbmspO1xufVxuLmZvb3RfX2Jhc2Uge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGdhcDogMXJlbTtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW4tdG9wOiBjbGFtcCgycmVtLCA1dncsIDVyZW0pO1xuICBwYWRkaW5nLWJsb2NrOiAxLjVyZW07XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1saW5lKTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ubyk7XG4gIGZvbnQtc2l6ZTogMC42OHJlbTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMWVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBjb2xvcjogdmFyKC0taW5rLTMpO1xufVxuLmZvb3RfX2xlZ2FsIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBnYXA6IDAuNzVyZW07XG59XG4uZm9vdF9fbGVnYWwgYSB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRyYW5zaXRpb246IGNvbG9yIHZhcigtLWR1ci1mYXN0KSBjdWJpYy1iZXppZXIoMC4yMiwgMC42MSwgMC4zNiwgMSk7XG59XG4uZm9vdF9fbGVnYWwgYTpob3ZlciwgLmZvb3RfX2xlZ2FsIGE6Zm9jdXMtdmlzaWJsZSB7XG4gIGNvbG9yOiB2YXIoLS1pbmspO1xufVxuLmZvb3RfX2J5IHtcbiAgY29sb3I6IHZhcigtLWFjY2VudC1pbmspO1xuICB0cmFuc2l0aW9uOiBjb2xvciB2YXIoLS1kdXItZmFzdCkgY3ViaWMtYmV6aWVyKDAuMjIsIDAuNjEsIDAuMzYsIDEpO1xufVxuQG1lZGlhIChob3ZlcjogaG92ZXIpIGFuZCAocG9pbnRlcjogZmluZSkge1xuICAuZm9vdF9fYnk6aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS1pbmspO1xuICB9XG59XG5cbi5zb2NpYWwge1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDAuNXJlbTtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cbi5zb2NpYWwgYSB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpbmUpO1xuICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgY29sb3I6IHZhcigtLWluay0yKTtcbiAgdHJhbnNpdGlvbjogY29sb3IgdmFyKC0tZHVyLWZhc3QpIGN1YmljLWJlemllcigwLjIyLCAwLjYxLCAwLjM2LCAxKSwgYm9yZGVyLWNvbG9yIHZhcigtLWR1ci1mYXN0KSBjdWJpYy1iZXppZXIoMC4yMiwgMC42MSwgMC4zNiwgMSksIHRyYW5zZm9ybSB2YXIoLS1kdXItZmFzdCkgY3ViaWMtYmV6aWVyKDAuMjIsIDAuNjEsIDAuMzYsIDEpO1xufVxuLnNvY2lhbCBhIHN2ZyB7XG4gIHdpZHRoOiAxNXB4O1xuICBoZWlnaHQ6IDE1cHg7XG4gIGZpbGw6IGN1cnJlbnRDb2xvcjtcbn1cbi5zb2NpYWwgYTpob3ZlciB7XG4gIGNvbG9yOiB2YXIoLS1hY2NlbnQtaW5rKTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1hY2NlbnQpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTNweCk7XG59IiwiQHVzZSBcInRva2Vuc1wiIGFzICo7XHJcblxyXG4vLyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcclxuLy8gIEJBU0Ug4oCUIHJlc2V0LCBkb2N1bWVudCwgdHlwZSBwcmltaXRpdmVzLCBzaGFyZWQgYXRvbXNcclxuLy8g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXHJcblxyXG4qLCAqOjpiZWZvcmUsICo6OmFmdGVyIHsgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxyXG5cclxuKiB7IG1hcmdpbjogMDsgcGFkZGluZzogMDsgfVxyXG5cclxuaHRtbCB7XHJcblx0LXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xyXG5cclxuXHQvLyDim5QgTk9UIGBzbW9vdGhgIEhFUkUuIFRoaXMgdXNlZCB0byBiZSBgc2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGhgIG91dHJpZ2h0LFxyXG5cdC8vIGFuZCBpdCBtYWRlIHRoZSBicm93c2VyIEFOSU1BVEUgaXRzIG93biBzY3JvbGwgcmVzdG9yYXRpb246IHJlbG9hZCBmcm9tXHJcblx0Ly8gaGFsZndheSBkb3duIHRoZSBwYWdlIGFuZCB5b3Ugd2F0Y2hlZCBpdCByYWNlIGJhY2sgdG8gd2hlcmUgeW91IHdlcmUsXHJcblx0Ly8gZXZlcnkgdGltZS4gVGhlIHNhbWUgaGF6YXJkIGFscmVhZHkgYml0IHRoZSBsaWdodGJveCBvbiBjbG9zZSDigJQgc2VlXHJcblx0Ly8gYS1sb2NrLmpzLCB3aGljaCBzdXBwcmVzc2VzIHRoaXMgZm9yIG9uZSBmcmFtZSBmb3IgZXhhY3RseSB0aGF0IHJlYXNvbi5cclxuXHQvL1xyXG5cdC8vIFNtb290aCBpcyBzd2l0Y2hlZCBvbiBieSBhLXNjcm9sbC5qcyBvbmNlIHRoZSByZXN0b3JlIGhhcyBoYXBwZW5lZCwgc29cclxuXHQvLyBhbmNob3IgbGlua3Mgc3RpbGwgYW5pbWF0ZSBhbmQgdGhlIHJlc3RvcmF0aW9uIHN0YXlzIGluc3RhbnQuIFRoYXQgbWVhbnNcclxuXHQvLyBzbW9vdGggc2Nyb2xsaW5nIHJlcXVpcmVzIEpTIG5vdywgd2hpY2ggaXMgdGhlIGNvcnJlY3QgdHJhZGU6IHdpdGhvdXQgSlNcclxuXHQvLyB5b3UgZ2V0IGluc3RhbnQganVtcHMsIHdoaWNoIGlzIHRoZSBicm93c2VyIGRlZmF1bHQgYW5kIG9mZmVuZHMgbm9ib2R5LlxyXG5cdHNjcm9sbC1iZWhhdmlvcjogYXV0bztcclxuXHJcblx0Ji5pcy1zbW9vdGggeyBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDsgfVxyXG5cdC8vIEtpbGxzIHRoZSBwbGF0Zm9ybSB0YXAgZmxhc2guIENocm9tZSBvbiBBbmRyb2lkIHBhaW50cyBhIHRyYW5zbHVjZW50IGJveFxyXG5cdC8vIG92ZXIgd2hhdGV2ZXIgeW91IHRvdWNoIOKAlCB0aGUgd2hvbGUgZWxlbWVudCwgc28gYW4gZXBpc29kZSByb3cgbGl0IHVwIGFzIGFcclxuXHQvLyBwYWxlIGJsdWUgc2xhYiDigJQgYW5kIGhvbGRzIGl0IGZvciB0aGUgZHVyYXRpb24gb2YgYSBsb25nIHByZXNzLiBJdCBpcyB0aGVcclxuXHQvLyBicm93c2VyJ3MgY29sb3VyLCBub3QgdGhlIHRoZW1lJ3MsIHNvIGl0IGlnbm9yZXMgbGlnaHQvZGFyayBlbnRpcmVseS5cclxuXHQvL1xyXG5cdC8vIFNhZmUgdG8gcmVtb3ZlIGJlY2F1c2UgdGhlIHRoZW1lIGFscmVhZHkgcHJvdmlkZXMgaXRzIG93biBwcmVzcyBmZWVkYmFjazpcclxuXHQvLyA6YWN0aXZlIHN0YXRlcyBvbiBldmVyeSBidXR0b24gYW5kIHRoZSAuZmxvdy1tYXJrZXIgb3V0bGluZSBvbiByb3dzLiBUaGlzXHJcblx0Ly8gb25seSB0YWtlcyBhd2F5IHRoZSBvbmUgd2UgZG9uJ3QgY29udHJvbC5cclxuXHQtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG5cclxuXHQvLyDilIDilIAgS2lsbHMgRE9VQkxFLVRBUCBaT09NLCBhbmQgbm90aGluZyBlbHNlIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxyXG5cdC8vICBgbWFuaXB1bGF0aW9uYCBrZWVwcyBwYW5uaW5nIGFuZCBwaW5jaCB3b3JraW5nIGFuZCBkcm9wcyBvbmx5IHRoZVxyXG5cdC8vICBkb3VibGUtdGFwLXRvLXpvb20gZ2VzdHVyZSDigJQgd2hpY2ggb24gYSBzaXRlIHdpdGggbm8gem9vbWFibGUgY29udGVudCBpc1xyXG5cdC8vICBwdXJlIGFjY2lkZW50LCB1c3VhbGx5IGZpcmVkIHdoaWxlIHRyeWluZyB0byB0YXAgc29tZXRoaW5nIHR3aWNlLlxyXG5cdC8vXHJcblx0Ly8gIEl0IGFsc28gcmVtb3ZlcyB0aGUgfjMwMG1zIGNsaWNrIGRlbGF5IGJyb3dzZXJzIGhvbGQgd2FpdGluZyB0byBzZWUgaWYgYVxyXG5cdC8vICBzZWNvbmQgdGFwIGlzIGNvbWluZywgc28gZXZlcnkgdGFwIG9uIHRoZSBzaXRlIGFuc3dlcnMgZmFzdGVyLiBUaGF0IGlzXHJcblx0Ly8gIHdvcnRoIGhhdmluZyBvbiBpdHMgb3duLlxyXG5cdC8vXHJcblx0Ly8gIOKaoCBEZWxpYmVyYXRlbHkgTk9UIGB0b3VjaC1hY3Rpb246IG5vbmVgLCB3aGljaCB3b3VsZCBraWxsIHNjcm9sbGluZ1xyXG5cdC8vICBvdXRyaWdodC5cclxuXHR0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcclxuXHJcblx0Ly8gVGhlIGhlcm8ncyBvZmYtY2FudmFzIHR5cGUgYW5kIHRoZSBtYXJxdWVlIGJvdGggb3ZlcmZsb3c7IGNsaXAgY29udGFpbnNcclxuXHQvLyB0aGVtIHdpdGhvdXQgY3JlYXRpbmcgYSBzY3JvbGwgY29udGFpbmVyIChoaWRkZW4gd291bGQgYnJlYWsgc3RpY2t5KS5cclxuXHRvdmVyZmxvdy14OiBjbGlwO1xyXG59XHJcblxyXG5ib2R5IHtcclxuXHRtaW4taGVpZ2h0OiAxMDBzdmg7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmcpO1xyXG5cdGNvbG9yOiB2YXIoLS1pbmspO1xyXG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWJvZHkpO1xyXG5cdGZvbnQtc2l6ZTogY2xhbXAoMXJlbSwgLjN2dyArIC45M3JlbSwgMS4wNjI1cmVtKTtcclxuXHRsaW5lLWhlaWdodDogMS41NTtcclxuXHRmb250LXN5bnRoZXNpcy13ZWlnaHQ6IG5vbmU7XHJcblx0LXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XHJcblx0dGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcclxuXHQvLyBUaGVtZSBmbGlwIHNob3VsZCBmZWVsIGRlbGliZXJhdGUsIG5vdCBqYXJyaW5nLlxyXG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tZHVyKSAkZWFzZSwgY29sb3IgdmFyKC0tZHVyKSAkZWFzZTtcclxufVxyXG5cclxuLy8gRmlsbSBncmFpbiBvdmVyIHRoZSB3aG9sZSBwYWdlLiBQdXJlIENTUyDigJQgYW4gU1ZHIHR1cmJ1bGVuY2UgZGF0YSBVUkksIHNvIG5vXHJcbi8vIGltYWdlIHJlcXVlc3QgYW5kIGl0IHNjYWxlcyB0byBhbnkgdmlld3BvcnQuXHJcbmJvZHk6OmFmdGVyIHtcclxuXHRjb250ZW50OiBcIlwiO1xyXG5cdHBvc2l0aW9uOiBmaXhlZDtcclxuXHRpbnNldDogMDtcclxuXHR6LWluZGV4OiA5OTk5O1xyXG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG5cdG9wYWNpdHk6IHZhcigtLWdyYWluKTtcclxuXHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzIwMCcgaGVpZ2h0PScyMDAnJTNFJTNDZmlsdGVyIGlkPSduJyUzRSUzQ2ZlVHVyYnVsZW5jZSB0eXBlPSdmcmFjdGFsTm9pc2UnIGJhc2VGcmVxdWVuY3k9Jy44JyBudW1PY3RhdmVzPSczJy8lM0UlM0MvZmlsdGVyJTNFJTNDcmVjdCB3aWR0aD0nMjAwJyBoZWlnaHQ9JzIwMCcgZmlsdGVyPSd1cmwoJTIzbiknLyUzRSUzQy9zdmclM0VcIik7XHJcbn1cclxuXHJcbmltZywgc3ZnLCB2aWRlbywgY2FudmFzIHsgZGlzcGxheTogYmxvY2s7IG1heC13aWR0aDogMTAwJTsgaGVpZ2h0OiBhdXRvOyB9XHJcblxyXG5hIHsgY29sb3I6IGluaGVyaXQ7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxyXG5cclxuYnV0dG9uLCBpbnB1dCwgc2VsZWN0LCB0ZXh0YXJlYSB7IGZvbnQ6IGluaGVyaXQ7IGNvbG9yOiBpbmhlcml0OyB9XHJcbmJ1dHRvbiB7IGJhY2tncm91bmQ6IG5vbmU7IGJvcmRlcjogMDsgY3Vyc29yOiBwb2ludGVyOyB9XHJcblxyXG46OnNlbGVjdGlvbiB7IGJhY2tncm91bmQ6IHZhcigtLWFjY2VudCk7IGNvbG9yOiB2YXIoLS1vbi1hY2NlbnQpOyB9XHJcblxyXG46Zm9jdXMtdmlzaWJsZSB7XHJcblx0b3V0bGluZTogMnB4IHNvbGlkIHZhcigtLWFjY2VudCk7XHJcblx0b3V0bGluZS1vZmZzZXQ6IDNweDtcclxuXHRib3JkZXItcmFkaXVzOiAycHg7XHJcbn1cclxuXHJcbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XHJcblx0aHRtbCB7IHNjcm9sbC1iZWhhdmlvcjogYXV0bzsgfVxyXG5cdCosICo6OmJlZm9yZSwgKjo6YWZ0ZXIge1xyXG5cdFx0YW5pbWF0aW9uLWR1cmF0aW9uOiAuMDFtcyAhaW1wb3J0YW50O1xyXG5cdFx0YW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMSAhaW1wb3J0YW50O1xyXG5cdFx0dHJhbnNpdGlvbi1kdXJhdGlvbjogLjAxbXMgIWltcG9ydGFudDtcclxuXHR9XHJcbn1cclxuXHJcbi8vIOKUgOKUgCBMYXlvdXQgYXRvbXMg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXHJcbi5zaGVsbCB7XHJcblx0d2lkdGg6IG1pbigxMDAlIC0gdmFyKC0tZ3V0dGVyKSAqIDIsIHZhcigtLW1heHcpKTtcclxuXHRtYXJnaW4taW5saW5lOiBhdXRvO1xyXG59XHJcblxyXG4uc2hlbGwtLW5hcnJvdyB7IG1heC13aWR0aDogOTAwcHg7IH1cclxuXHJcbi5za2lwLWxpbmsge1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRsZWZ0OiAtOTk5OXB4O1xyXG5cdHRvcDogMDtcclxuXHR6LWluZGV4OiAxMDAwMDtcclxuXHRwYWRkaW5nOiBzcCgzKSBzcCg1KTtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1hY2NlbnQpO1xyXG5cdGNvbG9yOiB2YXIoLS1vbi1hY2NlbnQpO1xyXG5cdGZvbnQtd2VpZ2h0OiA3MDA7XHJcblxyXG5cdCY6Zm9jdXMgeyBsZWZ0OiBzcCg0KTsgdG9wOiBzcCg0KTsgfVxyXG59XHJcblxyXG4uc3Itb25seSB7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHdpZHRoOiAxcHg7IGhlaWdodDogMXB4O1xyXG5cdHBhZGRpbmc6IDA7IG1hcmdpbjogLTFweDtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdGNsaXAtcGF0aDogaW5zZXQoNTAlKTtcclxuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG59XHJcblxyXG4vLyDilIDilIAgVHlwZSBwcmltaXRpdmVzIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxyXG4uZGlzcGxheSB7XHJcblx0Ly8g4puUIE5PIHRleHQtd3JhcDogYmFsYW5jZSDigJQgaGVyZSBvciBvbiBhbnkgaGVhZGluZy4gSXQgd2FzIG9uIG5pbmVcclxuXHQvLyBzZWxlY3RvcnM7IEpvZSBwdWxsZWQgaXQgc2l0ZS13aWRlIDIwMjYtMDktMTMgKFwiSSBkb24ndCBsaWtlIHRoZSB0ZXh0XHJcblx0Ly8gd3JhcCBiYWxhbmNlXCIpLiBIZWFkaW5ncyB3cmFwIHRoZSB3YXkgdGhlIGJyb3dzZXIgd3JhcHMgdGhlbS5cclxuXHRmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcclxuXHRmb250LXdlaWdodDogOTAwO1xyXG5cdGxpbmUtaGVpZ2h0OiBjYWxjKC44NiAqIHZhcigtLWRpc3BsYXktbGVhZGluZykpO1xyXG5cdGxldHRlci1zcGFjaW5nOiAtLjAzNWVtO1xyXG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbn1cclxuXHJcbi5leWVicm93IHtcclxuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGdhcDogLjZlbTtcclxuXHRmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vKTtcclxuXHRmb250LXNpemU6IC43MnJlbTtcclxuXHRmb250LXdlaWdodDogNTAwO1xyXG5cdGxldHRlci1zcGFjaW5nOiAuMThlbTtcclxuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdGNvbG9yOiB2YXIoLS1pbmstMik7XHJcbn1cclxuXHJcbi5sZWRlIHtcclxuXHRmb250LXNpemU6IGNsYW1wKDEuMDVyZW0sIC41dncgKyAuOTVyZW0sIDEuM3JlbSk7XHJcblx0Y29sb3I6IHZhcigtLWluay0yKTtcclxuXHRtYXgtd2lkdGg6IDU0Y2g7XHJcbn1cclxuXHJcbi8vIOKUgOKUgCBCdXR0b25zIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxyXG4uYnRuIHtcclxuXHQtLWJ0bi1iZzogdHJhbnNwYXJlbnQ7XHJcblx0LS1idG4taW5rOiB2YXIoLS1pbmspO1xyXG5cdC0tYnRuLWxpbmU6IHZhcigtLWxpbmUtMik7XHJcblxyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdGdhcDogc3AoMyk7XHJcblx0aGVpZ2h0OiA1NHB4O1xyXG5cdHBhZGRpbmctaW5saW5lOiBzcCg2KTtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1idG4tbGluZSk7XHJcblx0Ym9yZGVyLXJhZGl1czogOTk5cHg7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYnRuLWJnKTtcclxuXHRjb2xvcjogdmFyKC0tYnRuLWluayk7XHJcblx0Zm9udC1zaXplOiAuOTJyZW07XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRsZXR0ZXItc3BhY2luZzogLjAxZW07XHJcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdGlzb2xhdGlvbjogaXNvbGF0ZTtcclxuXHR0cmFuc2l0aW9uOiBjb2xvciB2YXIoLS1kdXItZmFzdCkgJGVhc2UsIGJvcmRlci1jb2xvciB2YXIoLS1kdXItZmFzdCkgJGVhc2UsXHJcblx0XHRcdFx0dHJhbnNmb3JtIHZhcigtLWR1ci1mYXN0KSAkZWFzZTtcclxuXHJcblx0Ly8gc2lnX2ljb24oKSBlbWl0cyA8c3ZnIHZpZXdCb3g9XCIwIDAgMjQgMjRcIj4gd2l0aCBOTyB3aWR0aC9oZWlnaHQgYXR0cnMsXHJcblx0Ly8gYW5kIHRoZSBiYXNlIHJlc2V0IHNldHMgYHN2ZyB7IGhlaWdodDogYXV0byB9YCDigJQgc28gd2l0aG91dCBhbiBleHBsaWNpdFxyXG5cdC8vIHNpemUgdGhlIGljb24gY29sbGFwc2VkIHRvIG5vdGhpbmcgd2hpbGUgdGhlIGZsZXggYGdhcGAgc3RpbGwgcmVzZXJ2ZWRcclxuXHQvLyBzcGFjZSBmb3IgaXQuIFRoYXQgd2FzIHRoZSBteXN0ZXJ5IGxlZnQgcGFkZGluZyBvbiBcIlBsYXkgbGF0ZXN0XCIuXHJcblx0Ly8gRXZlcnkgb3RoZXIgaWNvbiBzaXRlIGluIHRoZSB0aGVtZSBzaXplcyBpdHMgc3ZnOyB0aGlzIG9uZSB3YXMgbWlzc2VkLlxyXG5cdHN2ZyB7XHJcblx0XHR3aWR0aDogMTRweDtcclxuXHRcdGhlaWdodDogMTRweDtcclxuXHRcdGZsZXg6IG5vbmU7XHJcblx0fVxyXG5cclxuXHQvLyBXaXBlLWZpbGwgb24gaG92ZXIsIGZyb20gdGhlIGJvdHRvbSB1cC5cclxuXHQmOjpiZWZvcmUge1xyXG5cdFx0Y29udGVudDogXCJcIjtcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdGluc2V0OiAwO1xyXG5cdFx0ei1pbmRleDogLTE7XHJcblx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1pbmspO1xyXG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMSUpO1xyXG5cdFx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIC4zOHMgJGVhc2Utb3V0O1xyXG5cdH1cclxuXHJcblx0Jjpob3ZlciB7XHJcblx0XHRjb2xvcjogdmFyKC0tYmcpO1xyXG5cdFx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbmspO1xyXG5cclxuXHRcdCY6OmJlZm9yZSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxyXG5cdH1cclxuXHJcblx0JjphY3RpdmUgeyB0cmFuc2Zvcm06IHNjYWxlKC45Nyk7IH1cclxuXHJcblx0Ji0tYWNjZW50IHtcclxuXHRcdC0tYnRuLWJnOiB2YXIoLS1hY2NlbnQpO1xyXG5cdFx0LS1idG4taW5rOiB2YXIoLS1vbi1hY2NlbnQpO1xyXG5cdFx0LS1idG4tbGluZTogdmFyKC0tYWNjZW50KTtcclxuXHJcblx0XHQmOjpiZWZvcmUgeyBiYWNrZ3JvdW5kOiB2YXIoLS1pbmspOyB9XHJcblx0XHQmOmhvdmVyIHsgY29sb3I6IHZhcigtLWJnKTsgYm9yZGVyLWNvbG9yOiB2YXIoLS1pbmspOyB9XHJcblx0fVxyXG5cclxuXHQmLS1naG9zdCB7IC0tYnRuLWxpbmU6IHRyYW5zcGFyZW50OyB9XHJcblxyXG5cdC8vIOKUgOKUgCBSaW5nZWQgaWNvbiDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcclxuXHQvLyAgT3B0LWluIHdyYXBwZXI6IG9ubHkgYnV0dG9ucyB0aGF0IGFzayBmb3IgaXQgZ2V0IHRoZSBjaXJjbGUsIHNvIGEgcGxhaW5cclxuXHQvLyAgPHN2Zz4gaW4gYSAuYnRuIHN0aWxsIGJlaGF2ZXMgYXMgYmVmb3JlLlxyXG5cdC8vXHJcblx0Ly8gIEJvdGggdGhlIHJpbmcgYW5kIHRoZSBnbHlwaCBhcmUgY3VycmVudENvbG9yLCBzbyB0aGUgd2hvbGUgdGhpbmcgaW52ZXJ0c1xyXG5cdC8vICB3aXRoIHRoZSBidXR0b24gb24gaG92ZXIgZm9yIGZyZWUg4oCUIG5vIHNlcGFyYXRlIGhvdmVyIHJ1bGUuXHJcblx0Jl9faWNvIHtcclxuXHRcdGRpc3BsYXk6IGdyaWQ7XHJcblx0XHRwbGFjZS1pdGVtczogY2VudGVyO1xyXG5cdFx0d2lkdGg6IDI2cHg7XHJcblx0XHRoZWlnaHQ6IDI2cHg7XHJcblx0XHRmbGV4OiBub25lO1xyXG5cdFx0Ym9yZGVyOiAxcHggc29saWQgY3VycmVudENvbG9yO1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogOTk5cHg7XHJcblxyXG5cdFx0Ly8gU21hbGxlciB0aGFuIHRoZSBiYXJlIC5idG4gc3ZnIGFib3ZlIOKAlCB0aGUgcmluZyBpcyBub3cgZG9pbmcgdGhlIHdvcmtcclxuXHRcdC8vIG9mIHJlYWRpbmcgYXMgYW4gaWNvbiwgc28gYSAxNHB4IGdseXBoIGluc2lkZSBpdCBsb29rcyBjcm93ZGVkLlxyXG5cdFx0Ly8gU2FtZSBzcGVjaWZpY2l0eSBhcyBgLmJ0biBzdmdgICgwLDEsMSkgYW5kIGRlY2xhcmVkIGFmdGVyIGl0LCBzbyB0aGlzXHJcblx0XHQvLyB3aW5zIG9uIG9yZGVyLiBLZWVwIGl0IGJlbG93IHRoYXQgcnVsZS5cclxuXHRcdC8vIEhhbGYgdGhlIHJpbmcncyAyNnB4IGRpYW1ldGVyIOKAlCB0aGUgZ2x5cGggYW5kIGl0cyBzdXJyb3VuZCByZWFkIGFzIGFcclxuXHRcdC8vIGRlbGliZXJhdGUgcGFpciBhdCB0aGF0IHByb3BvcnRpb24gcmF0aGVyIHRoYW4gYSBkb3QgaW4gYSBob29wLlxyXG5cdFx0c3ZnIHtcclxuXHRcdFx0d2lkdGg6IDEzcHg7XHJcblx0XHRcdGhlaWdodDogMTNweDtcclxuXHRcdFx0Ly8gQSByaWdodC1wb2ludGluZyB0cmlhbmdsZSBjZW50cmVkIGJ5IGdlb21ldHJ5IHJlYWRzIGxlZnQtb2YtY2VudHJlLFxyXG5cdFx0XHQvLyBiZWNhdXNlIGl0cyB2aXN1YWwgbWFzcyBzaXRzIGJlaGluZCB0aGUgcG9pbnQuIE51ZGdlZCBvdmVyIGJ5XHJcblx0XHRcdC8vIHJvdWdobHkgYSB0ZW50aCBvZiBpdHMgd2lkdGggdG8gc2l0IHdoZXJlIHRoZSBleWUgZXhwZWN0cy5cclxuXHRcdFx0bWFyZ2luLWxlZnQ6IDFweDtcclxuXHRcdH1cclxuXHJcblx0XHQvLyBCYXJlIHZhcmlhbnQg4oCUIG5vIHJpbmcsIHRoZSBnbHlwaCBmaWxscyB0aGUgcmluZydzIDI2cHggZm9vdHByaW50XHJcblx0XHQvLyBpbnN0ZWFkLiBGb3IgaWNvbnMgdGhhdCBhcmUgYSBwaWN0dXJlIGluIHRoZWlyIG93biByaWdodCAodGhlIDQwNCdzXHJcblx0XHQvLyBob3VzZSk7IHRoZSByaW5nIGV4aXN0cyB0byBtYWtlIGEgdHJpYW5nbGUgcmVhZCBhcyBcInBsYXlcIiwgYW5kIGEgaG91c2VcclxuXHRcdC8vIGluc2lkZSBhIGhvb3AgaXMgYSBob3VzZSBpbiBhIGhvb3AgKEpvZSwgMjAyNi0wOS0xNykuXHJcblx0XHQmLS1iYXJlIHtcclxuXHRcdFx0Ym9yZGVyOiAwO1xyXG5cdFx0XHQvLyBBIHF1YXJ0ZXIgb2YgdGhlIGJ1dHRvbidzIGdhcCDigJQgYSBiaWdnZXIgZ2x5cGggd2l0aCBubyByaW5nIGFyb3VuZFxyXG5cdFx0XHQvLyBpdCBhbHJlYWR5IGNhcnJpZXMgaXRzIG93biBhaXIgKEpvZSwgMjAyNi0wOS0xNzogXCJzcGxpdCBpbiBoYWxmXCIsXHJcblx0XHRcdC8vIHRoZW4gXCJhbm90aGVyIGhhbGZcIikuXHJcblx0XHRcdG1hcmdpbi1yaWdodDogY2FsYygje3NwKDMpfSAqIC0uNzUpO1xyXG5cdFx0XHRzdmcgeyB3aWR0aDogMjJweDsgaGVpZ2h0OiAyMnB4OyBtYXJnaW4tbGVmdDogMDsgfVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLy8g4pSA4pSAIFNlY3Rpb24gc2NhZmZvbGRpbmcg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXHJcbi5zZWN0aW9uIHtcclxuXHQvLyBIZWxkIGluIGEgY3VzdG9tIHByb3BlcnR5IHNvIHRoZSBmaXJzdC1jaGlsZCBydWxlIGJlbG93IGNhbiBhZGQgdGhlIG5hdlxyXG5cdC8vIGhlaWdodCB0byBpdCBXSVRIT1VUIHJlc3RhdGluZyB0aGUgY2xhbXAuIFR3byBjb3BpZXMgb2YgdGhpcyBleHByZXNzaW9uXHJcblx0Ly8gd291bGQgZHJpZnQgdGhlIG1vbWVudCBlaXRoZXIgaXMgdHVuZWQuXHJcblx0LS1zZWN0aW9uLXBhZDogI3tjbGFtcCg0cmVtLCA5dncsIDlyZW0pfTtcclxuXHJcblx0cGFkZGluZy1ibG9jazogdmFyKC0tc2VjdGlvbi1wYWQpO1xyXG5cdC8vIHRyYW5zcGFyZW50IGluIGRhcmssIHdoaXRlIGluIGxpZ2h0IOKAlCBzZWUgdGhlIC0tc2VjdGlvbiBub3RlIGluIF90b2tlbnMuXHJcblx0YmFja2dyb3VuZDogdmFyKC0tc2VjdGlvbik7XHJcblxyXG5cdC8vIEFueSBwcm9ncmFtbWF0aWMgc2Nyb2xsIHRvIGEgc2VjdGlvbiDigJQgdGhlIGN1ZSBidXR0b24sIGFuY2hvciBsaW5rcyDigJRcclxuXHQvLyBzdG9wcyB3aXRoIHRoZSBzZWN0aW9uJ3MgdG9wIGp1c3QgY2xlYXIgb2YgdGhlIEZJWEVEIG5hdiBpbnN0ZWFkIG9mXHJcblx0Ly8gdW5kZXJuZWF0aCBpdC4gSm9lJ3MgcmVhZCBvbiB0aGUgY3VlIGxhbmRpbmcgZmx1c2g6IFwid2VudCB0b28gZmFyIGRvd25cIi5cclxuXHQvL1xyXG5cdC8vIHNjcm9sbC1tYXJnaW4sIG5vdCBhbiBvZmZzZXQgaW4gdGhlIEpTOiB0aGUgY29ycmVjdGlvbiBiZWxvbmdzIHRvIHRoZVxyXG5cdC8vIHRhcmdldCwgc28gZXZlcnkgZnV0dXJlIHNjcm9sbEludG9WaWV3IGFuZCAjYW5jaG9yIGluaGVyaXRzIGl0IHdpdGhvdXRcclxuXHQvLyBlYWNoIGNhbGxlciBrbm93aW5nIHRoZSBuYXYgZXhpc3RzLlxyXG5cdHNjcm9sbC1tYXJnaW4tdG9wOiB2YXIoLS1uYXYtaCk7XHJcbn1cclxuXHJcbi8vIOKaoCBUSEUgTkFWIElTIGBwb3NpdGlvbjogZml4ZWRgLCBTTyBJVCBUQUtFUyBOTyBTUEFDRSBJTiBUSEUgRkxPVy4gVGhlIGZyb250XHJcbi8vIHBhZ2UgbmV2ZXIgc2hvd2VkIHRoaXMgYmVjYXVzZSAuaGVybyBpcyBmdWxsLWhlaWdodCBhbmQgcGxhY2VzIGl0cyBvd25cclxuLy8gY29udGVudDsgZXZlcnkgSU5URVJJT1IgdGVtcGxhdGUgb3BlbnMgd2l0aCBhIC5zZWN0aW9uIGluc3RlYWQsIHdob3NlIHRvcFxyXG4vLyBwYWRkaW5nIGlzIGFsbCB0aGF0IHN0YW5kcyBiZXR3ZWVuIHRoZSBwYWdlIHRpdGxlIGFuZCBhIG5hdiBmbG9hdGluZyBvbiB0b3BcclxuLy8gb2YgaXQuXHJcbi8vXHJcbi8vIFRoZSBwYWRkaW5nIGlzIE5PVCBlbm91Z2ggb24gaXRzIG93bi4gLS1uYXYtaCBpcyA3MnB4IGFuZCB0aGUgY2xhbXAgYm90dG9tc1xyXG4vLyBvdXQgYXQgNjRweCwgc28gYmVsb3cgfjgwMHB4IHdpZGUgdGhlIGhlYWRpbmcgcmVuZGVyZWQgVU5ERVIgdGhlIGJhcjsgYWJvdmVcclxuLy8gaXQsIHRoZSBsZWZ0b3ZlciBnYXAgd2FzIHdoYXRldmVyIDl2dyBleGNlZWRlZCA3MnB4IGJ5LCB3aGljaCByZWFkIGFzIGNyYW1wZWRcclxuLy8gcmF0aGVyIHRoYW4gYnJva2VuLiBCb3RoIGZhaWx1cmUgbW9kZXMgd2VyZSBpbnZpc2libGUgZm9yIGFzIGxvbmcgYXMgdGhlIGRlbW9cclxuLy8gbG9jayBrZXB0IGV2ZXJ5b25lIG9mZiBpbnRlcmlvciBwYWdlcy5cclxuLy9cclxuLy8gU2NvcGVkIHRvICNtYWluJ3MgZmlyc3Qgc2VjdGlvbiBzbyBpdCBjYW4ndCBkb3VibGUgdXAgb24gdGhlIGhvbWVwYWdlIOKAlCAuaGVyb1xyXG4vLyBpc24ndCBhIC5zZWN0aW9uIGFuZCBuZXZlciBtYXRjaGVzLlxyXG4vL1xyXG4vLyDimqAgTk9UIC0tc2VjdGlvbi1wYWQuIFN0YWNraW5nIHRoZSBmdWxsIHNlY3Rpb24gcmh5dGhtICh1cCB0byA5cmVtKSBvbiB0b3Agb2ZcclxuLy8gLS1uYXYtaCBsZWZ0IH4yMDBweCBvZiBkZWFkIGFpciBhYm92ZSBldmVyeSBhcmNoaXZlIGhlYWRpbmcg4oCUIEpvZSdzIGNhbGxcclxuLy8gMjAyNi0wOS0xMywgXCJjbG9zZSB0aGlzIGdhcCwgaXQncyB0b28gbXVjaCwgb24gZXZlcnkgYXJjaGl2ZSBwYWdlXCIuIFRoaXMgaXNcclxuLy8gYSBzbWFsbGVyIHRvcC1vbmx5IGNsYW1wLCBqdXN0IGVub3VnaCB0byBjbGVhciB0aGUgZml4ZWQgbmF2IHdpdGggYnJlYXRoaW5nXHJcbi8vIHJvb20sIGluZGVwZW5kZW50IG9mIHRoZSAodW5yZWxhdGVkKSBzcGFjZSAuc2VjdGlvbiB3YW50cyBiZXR3ZWVuIHNlY3Rpb25zLlxyXG4jbWFpbiA+IC5zZWN0aW9uOmZpcnN0LWNoaWxkIHtcclxuXHRwYWRkaW5nLXRvcDogY2FsYyh2YXIoLS1uYXYtaCkgKyBjbGFtcCgxLjVyZW0sIDR2dywgM3JlbSkpO1xyXG59XHJcblxyXG4vLyBBbHRlcm5hdGluZyBiYW5kLiBUaGUgaG9tZXBhZ2UgdXNlZCB0byBnZXQgdGhpcyByaHl0aG0gZm9yIGZyZWUgZnJvbSB0aGVcclxuLy8gXCJMaXN0ZW4gYW55d2hlcmVcIiBzdHJpcCwgd2hpY2ggY2FycmllZCBpdHMgb3duIC0tYmctMjsgcHVsbGluZyB0aGF0IHNlY3Rpb25cclxuLy8gbGVmdCBldmVyeXRoaW5nIGJlbG93IHRoZSBlcGlzb2RlIGxpc3Qgb24gb25lIGZsYXQgY29sb3VyLlxyXG4vL1xyXG4vLyBBcHBsaWVkIGV4cGxpY2l0bHkgcGVyIHNlY3Rpb24gcmF0aGVyIHRoYW4gd2l0aCA6bnRoLW9mLXR5cGUsIGJlY2F1c2VcclxuLy8gc2VjdGlvbnMgcmVuZGVyIGNvbmRpdGlvbmFsbHkg4oCUIGFuIGVtcHR5IEd1ZXN0cyBvciBCbG9nIHNldCB3b3VsZCBzaWxlbnRseVxyXG4vLyBzaGlmdCB0aGUgd2hvbGUgYWx0ZXJuYXRpb24gYnkgb25lLlxyXG4uc2VjdGlvbi0td2FzaCB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0td2FzaCk7XHJcblx0Ym9yZGVyLWJsb2NrOiAxcHggc29saWQgdmFyKC0tbGluZSk7XHJcbn1cclxuXHJcbi8vIOKUgOKUgCBJbnNldCAoZGFyayBtb2R1bGUpIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxyXG4vLyAgQSBiYW5kIHRoYXQgaXMgZGFyayBJTiBCT1RIIFRIRU1FUyDigJQgYSBkZWxpYmVyYXRlIGludGVycnVwdGlvbiByYXRoZXIgdGhhblxyXG4vLyAgYW5vdGhlciB3YXNoIHN0ZXAgaW4gdGhlIGFsdGVybmF0aW9uLiBGaXJzdCBidWlsdCBmb3IgdGhlIHByb21vIGJhbmQsXHJcbi8vICByZXVzZWQgYnkgdGhlIG5ld3NsZXR0ZXIgcGFuZWwuXHJcbi8vXHJcbi8vICDim5QgQUxMIHRoZSByZWNvbG91cmluZyBoYXBwZW5zIGluIHRva2Vucywgbm90IGhlcmUuIGAuaW5zZXRgIGlzIG9uZSBvZiB0aGVcclxuLy8gIHNlbGVjdG9ycyBbZGF0YS10aGVtZT1cImRhcmtcIl0gaXMgZGVmaW5lZCBvbiAoc2VlIF90b2tlbnMuc2Nzcykg4oCUIGFkZGluZyB0aGVcclxuLy8gIGNsYXNzIHJlLXBvaW50cyBldmVyeSAtLWluayAvIC0tbGluZSAvIC0tYmcgY3VzdG9tIHByb3BlcnR5IHRvIHRoZWlyIGRhcmtcclxuLy8gIHZhbHVlcyBvbiB0aGlzIGVsZW1lbnQgYW5kIGV2ZXJ5dGhpbmcgaW5zaWRlIGl0LCBzbyAuZXllYnJvdywgLmJ0biwgLnByb3NlLFxyXG4vLyAgd2hhdGV2ZXIgZ2V0cyBuZXN0ZWQgaW4gaGVyZSBhbGwgcmVjb2xvdXIgd2l0aCBaRVJPIGNvbXBvbmVudC1zcGVjaWZpY1xyXG4vLyAgcnVsZXMuIFRoYXQgaXMgYWxzbyB3aHkgdGhlcmUgaXMgb25seSBvbmUgcGxhY2UgdG8gdHVuZSB0aGlzIHBhbGV0dGU6IGFcclxuLy8gIHNlY29uZCBoYW5kLXdyaXR0ZW4gY29weSAodGhpcyB1c2VkIHRvIGxpdmUgaW5saW5lIGluIF9wcm9tby5zY3NzKSBpc1xyXG4vLyAgZXhhY3RseSB0aGUga2luZCBvZiB0aGluZyB0aGF0IGRyaWZ0cyB0aGUgZGF5IG9ubHkgb25lIGNvcHkgZ2V0cyBlZGl0ZWQuXHJcbi8vXHJcbi8vICBUaGlzIHJ1bGUgcGFpbnRzIHRoZSBTVVJGQUNFIG9ubHkg4oCUIGJhY2tncm91bmQgYW5kIGRlZmF1bHQgdGV4dCBjb2xvdXIuXHJcbi8vICBDb21wb25lbnQtc3BlY2lmaWMgbGF5b3V0IChwYWRkaW5nLCBncmlkLCB0aGUgcHJvZHVjdCBjYXJkKSBzdGF5cyBpbiB0aGVcclxuLy8gIHBhcnRpYWwgdGhhdCBvd25zIHRoYXQgY29tcG9uZW50LlxyXG4uaW5zZXQge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJnLWluc2V0KTtcclxuXHRjb2xvcjogdmFyKC0taW5rKTtcclxufVxyXG5cclxuLy8gSGVhZGluZyBsZWZ0LCBhY3Rpb24gcmlnaHQg4oCUIGFuZCBpdCBTVEFZUyB0aGF0IHdheSBvbiBtb2JpbGUuIFRoaXMgdXNlZCB0b1xyXG4vLyBzd2l0Y2ggdG8gZmxleC1kaXJlY3Rpb246IGNvbHVtbiBhdCBtZCwgd2hpY2ggZHJvcHBlZCB0aGUgXCJWaWV3IGFsbFwiIGJ1dHRvblxyXG4vLyB1bmRlcm5lYXRoIHRoZSBoZWFkaW5nIGFuZCBsZWZ0LWFsaWduZWQgaXQuXHJcbi5zZWN0aW9uX19oZWFkIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblxyXG5cdC8vIEEgY291bnQgb24gdGhlIHJpZ2h0IChcIjMgYXBwZWFyYW5jZXNcIiwgXCIxNiBhcnRpY2xlc1wiKSB3cmFwcyBuZXh0IHRvIGFcclxuXHQvLyBsb25nIHRpdGxlIG9uIGEgcGhvbmUg4oCUIHRoZSBcIjNcIiB3YXMgbGVmdCBvbiBpdHMgb3duIGxpbmUsIHJhZ2dlZC1sZWZ0XHJcblx0Ly8gKEpvZSwgMjAyNi0wOS0xNDogXCJ0aGUgMyBzaG91bGQgYmUgdG8gdGhlIHJpZ2h0XCIpLiBSaWdodC1hbGlnbiBpdCBzb1xyXG5cdC8vIGhvd2V2ZXIgaXQgYnJlYWtzLCBpdCBoYW5ncyBvZmYgdGhlIGVkZ2UgaXQgYmVsb25ncyB0by5cclxuXHQ+IC5leWVicm93Omxhc3QtY2hpbGQgeyB0ZXh0LWFsaWduOiByaWdodDsgfVxyXG5cdGdhcDogc3AoNik7XHJcblx0bWFyZ2luLWJvdHRvbTogY2xhbXAoMnJlbSwgNHZ3LCA0cmVtKTtcclxuXHJcblx0Ly8gVGhlIGhlYWRpbmcgYmxvY2sgbXVzdCBiZSBhbGxvd2VkIHRvIHNocmluayBhbmQgd3JhcDsgdGhlIGFjdGlvbiBtdXN0IG5vdC5cclxuXHQvLyBXaXRob3V0IG1pbi13aWR0aDowIGEgbG9uZyB0aXRsZSByZWZ1c2VzIHRvIHdyYXAgYW5kIHB1c2hlcyB0aGUgYnV0dG9uXHJcblx0Ly8gb2ZmIHRoZSBlZGdlIGluc3RlYWQuXHJcblx0PiA6Zmlyc3QtY2hpbGQgeyBtaW4td2lkdGg6IDA7IH1cclxuXHQ+IC5idG4sID4gLnJhaWwtbmF2LCA+IC5zZWN0aW9uX19hY3Rpb25zIHsgZmxleDogbm9uZTsgfVxyXG5cclxuXHRAaW5jbHVkZSBhdChtZCkge1xyXG5cdFx0Z2FwOiBzcCg0KTtcclxuXHJcblx0XHQvLyBUcmltbWVkIHNvIGhlYWRpbmcgKyBidXR0b24gc3RpbGwgZml0IHNpZGUgYnkgc2lkZSBvbiBhIH4zNjBweCBzY3JlZW4uXHJcblx0XHQvLyBCb3RoIHNlbGVjdG9ycyBhcmUgbmVlZGVkOiBtb3N0IHNlY3Rpb25zIHB1dCB0aGUgLmJ0biBkaXJlY3RseSBpbiB0aGVcclxuXHRcdC8vIGhlYWQsIGJ1dCBTaG9ydHMgbmVzdHMgaXQgaW5zaWRlIC5zZWN0aW9uX19hY3Rpb25zIG5leHQgdG8gdGhlIHJhaWxcclxuXHRcdC8vIGFycm93cywgYW5kIGEgY2hpbGQgY29tYmluYXRvciBhbG9uZSB3b3VsZCBza2lwIGl0IOKAlCBsZWF2aW5nIG9uZVxyXG5cdFx0Ly8gc2VjdGlvbiB3aXRoIGEgZnVsbC1zaXplIGJ1dHRvbiB3aGlsZSB0aGUgcmVzdCBzaHJhbmsuXHJcblx0XHQ+IC5idG4sXHJcblx0XHQ+IC5zZWN0aW9uX19hY3Rpb25zIC5idG4ge1xyXG5cdFx0XHRoZWlnaHQ6IDQ0cHg7XHJcblx0XHRcdHBhZGRpbmctaW5saW5lOiBzcCg0KTtcclxuXHRcdFx0Zm9udC1zaXplOiAuODVyZW07XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4vLyBSYWlsIGFycm93cyArIGEgVmlldyBhbGwsIGtlcHQgdG9nZXRoZXIgb24gdGhlIHJpZ2h0IG9mIGEgc2VjdGlvbiBoZWFkLlxyXG4vLyBTaG9ydHMgKGFycm93cyArIFZpZXcgYWxsKSBhbmQgU29jaWFsIChhcnJvd3MgKyB0d28gZm9sbG93IG1hcmtzKSBib3RoIHVzZSBpdC5cclxuLnNlY3Rpb25fX2FjdGlvbnMge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRnYXA6IHNwKDMpO1xyXG59XHJcblxyXG4uc2VjdGlvbl9fdGl0bGUge1xyXG5cdEBleHRlbmQgLmRpc3BsYXk7XHJcblx0Zm9udC1zaXplOiBmbHVpZCgzOCwgOTIpO1xyXG5cdG1hcmdpbi10b3A6IHNwKDQpO1xyXG59XHJcblxyXG4vLyDilIDilIAg4puUIDE2cHggRkxPT1IgT04gRVZFUlkgRklFTEQsIE9OIFRPVUNIIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxyXG4vLyAgVEhJUyBJUyBUSEUgWk9PTSBQRU9QTEUgQUNUVUFMTFkgQ09NUExBSU4gQUJPVVQuIGlPUyBTYWZhcmkgem9vbXMgdGhlIHdob2xlXHJcbi8vICBwYWdlIGluIHdoZW4geW91IGZvY3VzIGFuIGlucHV0IHdob3NlIGNvbXB1dGVkIGZvbnQtc2l6ZSBpcyBCRUxPVyAxNnB4IOKAlCBhbmRcclxuLy8gIGl0IGRvZXMgbm90IHpvb20gYmFjayBvdXQgYWZ0ZXJ3YXJkcywgc28gdGhlIHNpdGUgaXMgbGVmdCBtYWduaWZpZWQgdW50aWwgdGhlXHJcbi8vICB2aXNpdG9yIHBpbmNoZXMgaXQgYmFjayB0aGVtc2VsdmVzLiBUaGUgbmF2IHNlYXJjaCBmaWVsZCB3YXMgLjg4cmVtICgxNC4wOHB4KVxyXG4vLyAgYW5kIGRpZCBleGFjdGx5IHRoaXMuXHJcbi8vXHJcbi8vICBObyBgdXNlci1zY2FsYWJsZT1ub2AgY2FuIHByZXZlbnQgaXQ6IFNhZmFyaSBpZ25vcmVzIHRoYXQgZW50aXJlbHkuIDE2cHggaXNcclxuLy8gIHRoZSBvbmx5IGZpeC5cclxuLy9cclxuLy8gIG1heCgpIHJhdGhlciB0aGFuIGEgZmxhdCAxNnB4IHNvIGEgZmllbGQgdGhhdCBpcyBhbHJlYWR5IExBUkdFUiBrZWVwcyBpdHNcclxuLy8gIHNpemUg4oCUIHRoaXMgcmFpc2VzIHRoZSBmbG9vciB3aXRob3V0IGZsYXR0ZW5pbmcgdGhlIHR5cGUgc2NhbGUuXHJcbkBpbmNsdWRlIGF0KG1kKSB7XHJcblx0aW5wdXQsXHJcblx0c2VsZWN0LFxyXG5cdHRleHRhcmVhIHtcclxuXHRcdGZvbnQtc2l6ZTogbWF4KDE2cHgsIDFlbSk7XHJcblx0fVxyXG59XHJcblxyXG4vLyBBIGhhaXJsaW5lIHRoYXQgZHJhd3MgaXRzZWxmIGluIHdoZW4gdGhlIHNlY3Rpb24gc2Nyb2xscyBpbnRvIHZpZXcuXHJcbi5ydWxlIHtcclxuXHRoZWlnaHQ6IDFweDtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1saW5lKTtcclxuXHR0cmFuc2Zvcm06IHNjYWxlWCgwKTtcclxuXHR0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0O1xyXG5cdHRyYW5zaXRpb246IHRyYW5zZm9ybSAxLjFzICRlYXNlLW91dDtcclxuXHJcblx0LmlzLWluICYgeyB0cmFuc2Zvcm06IHNjYWxlWCgxKTsgfVxyXG59XHJcblxyXG5cclxuLy8g4pSA4pSAIFBsYXRmb3JtIHdvcmRtYXJrIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxyXG4vLyAgRHJhd24gYXMgYSBDU1MgTUFTSywgbm90IGFuIDxpbWc+LiBtYXNrLWltYWdlIHRha2VzIHRoZSBzaGFwZSBmcm9tIHRoZSBTVkdcclxuLy8gIGFuZCBgYmFja2dyb3VuZDogY3VycmVudENvbG9yYCBwYWludHMgaXQg4oCUIHNvIHRoZSBsb2dvIGluaGVyaXRzIHRoZSB0aGVtZSdzXHJcbi8vICB0ZXh0IGNvbG91ciBhbmQgZmxpcHMgYmxhY2vihpR3aGl0ZSB3aXRoIGxpZ2h0L2Rhcmsgb24gaXRzIG93bi4gQW4gPGltZz5cclxuLy8gIGNvdWxkIG5vdCBkbyB0aGF0LCBhbmQgaW5saW5pbmcgZm91ciB2ZW5kb3IgU1ZHcyB3b3VsZCBwdXQgfjE2S0Igb2YgbWFya3VwXHJcbi8vICBvbiBldmVyeSBwYWdlLlxyXG4vL1xyXG4vLyAgLS1zcmMgYW5kIC0tYXIgYXJlIHNldCBwZXIgbG9nbyBpbiB0aGUgdGVtcGxhdGU7IC0tYXIgY29tZXMgZnJvbSBlYWNoIGZpbGUnc1xyXG4vLyAgb3duIHZpZXdCb3gsIHNvIGhlaWdodCBpcyB0aGUgb25seSB0aGluZyBDU1Mgc2V0cyBhbmQgbm90aGluZyBkaXN0b3J0cy5cclxuLnBsb2dvIHtcclxuXHQvLyBPbmUgc2hhcmVkIGJveCBoZWlnaHQgZm9yIHRoZSBzZXQuIC0tc2NhbGUgaXMgYW4gb3B0aW9uYWwgcGVyLWxvZ28gYnVtcCxcclxuXHQvLyBzZXQgaW5saW5lIGJ5IHNpZ19wbGF0Zm9ybV9sb2dvcygpIGFuZCBvbmx5IG9uIHRoZSBsb2dvcyBKb2UgaGFzIGFza2VkIHRvXHJcblx0Ly8gYWRqdXN0IOKAlCBzZWUgdGhlIG5vdGUgdGhlcmUuIE1vc3QgY2Fycnkgbm8gb3ZlcnJpZGUgYW5kIGxhbmQgb24gdGhlIDEuXHJcblx0LS1wbG9nby1oOiBjbGFtcCgxNXB4LCAxLjV2dywgMjFweCk7XHJcblxyXG5cdGRpc3BsYXk6IGJsb2NrO1xyXG5cdGhlaWdodDogY2FsYyh2YXIoLS1wbG9nby1oKSAqIHZhcigtLXNjYWxlLCAxKSk7XHJcblx0YXNwZWN0LXJhdGlvOiB2YXIoLS1hciwgMyAvIDEpO1xyXG5cdGJhY2tncm91bmQ6IGN1cnJlbnRDb2xvcjtcclxuXHRjb2xvcjogdmFyKC0taW5rKTtcclxuXHRvcGFjaXR5OiAuNjg7XHJcblxyXG5cdC13ZWJraXQtbWFzazogdmFyKC0tc3JjKSBjZW50ZXIgLyBjb250YWluIG5vLXJlcGVhdDtcclxuXHRtYXNrOiB2YXIoLS1zcmMpIGNlbnRlciAvIGNvbnRhaW4gbm8tcmVwZWF0O1xyXG5cclxuXHQvLyDim5QgTk8gSE9WRVIuIFRoZXNlIGFyZSA8c3BhbiByb2xlPVwiaW1nXCI+IG5vdywgbm90IGxpbmtzIOKAlCBzZWUgdGhlIG5vdGUgaW5cclxuXHQvLyBzaWdfcGxhdGZvcm1fbG9nb3MoKS4gQSBob3ZlciB0aW50IG9uIHNvbWV0aGluZyB0aGF0IGNhbm5vdCBiZSBjbGlja2VkIGlzXHJcblx0Ly8gYSBsaWUgYWJvdXQgd2hhdCBpdCBkb2VzLCBzbyB0aGUgd2hvbGUgc3RhdGUgd2VudCB3aXRoIHRoZSBhbmNob3IuXHJcblx0dHJhbnNpdGlvbjogb3BhY2l0eSB2YXIoLS1kdXItZmFzdCkgJGVhc2UsIGNvbG9yIHZhcigtLWR1ci1mYXN0KSAkZWFzZTtcclxuXHJcblx0Ly8g4pqgIE1VU1QgU1RBWSBWSUVXUE9SVC1TQ0FMRUQuIFRoaXMgd2FzIGEgZmxhdCAxN3B4LCB3aGljaCBvdmVyZmxvd2VkIHRoZVxyXG5cdC8vIGhlcm8gcm93IG9uIGEgMzkwcHggcGhvbmUgYW5kIHdyYXBwZWQgUnVtYmxlIG9udG8gYSBzZWNvbmQgbGluZSDigJQgc2VlIHRoZVxyXG5cdC8vIGFyaXRobWV0aWMgaW4gLmhlcm9fX2xvZ29zLiBUaGUgcm93J3Mgd2lkdGggaXMgYSBmaXhlZCBtdWx0aXBsZSBvZiB0aGlzXHJcblx0Ly8gdmFsdWUsIHNvIGEgY29uc3RhbnQgaGVpZ2h0IGNhbm5vdCBmaXQgZXZlcnkgcGhvbmUuXHJcblx0Ly9cclxuXHQvLyBUaGUgdXBwZXIgYm91bmQgaXMgdGhlIG9sZCAxN3B4IHJvdW5kZWQgdXA6IG9uIGEgMzkwcHggc2NyZWVuIHRoaXNcclxuXHQvLyByZXNvbHZlcyB0byB+MTYuOHB4LCBzbyB0aGUgbG9vayBiYXJlbHkgbW92ZXMgb24gdGhlIGhhbmRzZXRzIGl0IGFscmVhZHlcclxuXHQvLyBzdWl0ZWQsIGFuZCBvbmx5IGdlbnVpbmVseSBuYXJyb3cgc2NyZWVucyBnZXQgc21hbGxlciBtYXJrcy5cclxuXHQvL1xyXG5cdC8vIOKblCBEb24ndCBcInRpZHlcIiB0aGlzIGJhY2sgdG8gYSBmaXhlZCB2YWx1ZS4gVGhlIHJvdyB3aWxsIGZpdCBvbiB3aGF0ZXZlclxyXG5cdC8vIHlvdSB0ZXN0ZWQgYW5kIHdyYXAgb24gc29tZXRoaW5nIG5hcnJvd2VyLlxyXG5cdEBpbmNsdWRlIGF0KG1kKSB7IC0tcGxvZ28taDogY2xhbXAoMTJweCwgNC4zdncsIDE4cHgpOyB9XHJcbn1cclxuIiwiQHVzZSBcInRva2Vuc1wiIGFzICo7XG5cbi8vIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLy8gIE1PVElPTiDigJQgc2Nyb2xsIHJldmVhbHMgYW5kIHByb2dyZXNzXG4vL1xuLy8gIFJldmVhbHMgYXJlIG9wdC1pbiB2aWEgW2RhdGEtcmV2ZWFsXS4gVGhlIGluaXRpYWwgc3RhdGUgbGl2ZXMgYmVoaW5kXG4vLyAgYC5qc2AgKHNldCBieSB0aGUgaW5saW5lIGhlYWQgc2NyaXB0KSBzbyB0aGF0IHdpdGggSlMgZGlzYWJsZWQgbm90aGluZyBpc1xuLy8gIGV2ZXIgc3R1Y2sgYXQgb3BhY2l0eSAwIOKAlCB0aGUgcGFnZSBqdXN0IHJlbmRlcnMsIHN0YXRpY2FsbHksIGluIGZ1bGwuXG4vLyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblxuLmpzIFtkYXRhLXJldmVhbF0ge1xuXHRvcGFjaXR5OiAwO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjZweCk7XG5cdHRyYW5zaXRpb246IG9wYWNpdHkgLjhzICRlYXNlLW91dCwgdHJhbnNmb3JtIC44cyAkZWFzZS1vdXQ7XG5cdHRyYW5zaXRpb24tZGVsYXk6IGNhbGModmFyKC0tZCwgMCkgKiAuMDhzKTtcbn1cblxuLmpzIFtkYXRhLXJldmVhbF0uaXMtaW4ge1xuXHRvcGFjaXR5OiAxO1xuXHR0cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8vIENoaWxkcmVuIHN0YWdnZXIgdGhlbXNlbHZlcyBvZmYgdGhlaXIgaW5kZXguXG4uanMgW2RhdGEtcmV2ZWFsLXN0YWdnZXJdID4gKiB7XG5cdG9wYWNpdHk6IDA7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgzMHB4KTtcblx0dHJhbnNpdGlvbjogb3BhY2l0eSAuN3MgJGVhc2Utb3V0LCB0cmFuc2Zvcm0gLjdzICRlYXNlLW91dDtcblx0dHJhbnNpdGlvbi1kZWxheTogY2FsYyh2YXIoLS1pLCAwKSAqIC4wN3MpO1xufVxuXG4uanMgW2RhdGEtcmV2ZWFsLXN0YWdnZXJdLmlzLWluID4gKiB7XG5cdG9wYWNpdHk6IHZhcigtLXJlc3Qtb3BhY2l0eSwgMSk7XG5cdHRyYW5zZm9ybTogbm9uZTtcbn1cbi8vIOKaoCBUaGUgcmV2ZWFsIE9XTlMgb3BhY2l0eSBvbiBzdGFnZ2VyZWQgY2hpbGRyZW4g4oCUIGBvcGFjaXR5OiAxYCBoZXJlIGJlYXRcbi8vIC5ndWVzdC0tc3RhdGljJ3MgLjQ1IChzcGVjaWZpY2l0eSAwLDIsMCB2cyAwLDEsMCksIHNvIGEgZGltbWVkIGd1ZXN0XG4vLyByZXZlYWxlZCB0byBmdWxsIHN0cmVuZ3RoIChKb2UsIDIwMjYtMDktMTM6IFwic2hlJ3MgdW5kaW1tZWQgYWdhaW5cIikuXG4vLyBBbnl0aGluZyB0aGF0IHdhbnRzIHRvIHJlc3QgZGltbWVkIHNldHMgLS1yZXN0LW9wYWNpdHkgaW5zdGVhZCBvZlxuLy8gb3BhY2l0eSwgYW5kIHRoZSByZXZlYWwgYW5pbWF0ZXMgVE8gdGhhdCB2YWx1ZS5cblxuLy8g4pSA4pSAIFNjcm9sbCBwcm9ncmVzcyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi8vIFVzZXMgYSBzY3JvbGwtZHJpdmVuIGFuaW1hdGlvbiB3aGVyZSBzdXBwb3J0ZWQsIHNvIGl0IGNvc3RzIHplcm8gSlMgYW5kIHJ1bnNcbi8vIG9mZiB0aGUgbWFpbiB0aHJlYWQuIEJyb3dzZXJzIHdpdGhvdXQgaXQgc2ltcGx5IG5ldmVyIHNob3cgdGhlIGJhci5cbi5wcm9ncmVzcyB7XG5cdHBvc2l0aW9uOiBmaXhlZDtcblx0dG9wOiAwO1xuXHRsZWZ0OiAwO1xuXHRyaWdodDogMDtcblx0aGVpZ2h0OiAycHg7XG5cdHotaW5kZXg6IDEwMTtcblx0dHJhbnNmb3JtLW9yaWdpbjogbGVmdDtcblx0dHJhbnNmb3JtOiBzY2FsZVgoMCk7XG5cdGJhY2tncm91bmQ6IHZhcigtLWFjY2VudCk7XG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG5Ac3VwcG9ydHMgKGFuaW1hdGlvbi10aW1lbGluZTogc2Nyb2xsKCkpIHtcblx0LnByb2dyZXNzIHtcblx0XHRhbmltYXRpb246IHByb2dyZXNzIGxpbmVhcjtcblx0XHRhbmltYXRpb24tdGltZWxpbmU6IHNjcm9sbChyb290IGJsb2NrKTtcblx0fVxufVxuXG5Aa2V5ZnJhbWVzIHByb2dyZXNzIHtcblx0ZnJvbSB7IHRyYW5zZm9ybTogc2NhbGVYKDApOyB9XG5cdHRvICAgeyB0cmFuc2Zvcm06IHNjYWxlWCgxKTsgfVxufVxuXG4vLyDilIDilIAgTWFycXVlZS1vbi1ob3ZlciBsaW5rIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLy8gQSBsaW5rIHdob3NlIGxhYmVsIHN3YXBzIGZvciBhIGR1cGxpY2F0ZSBzbGlkaW5nIHVwIGZyb20gYmVsb3cuXG4uc3dhcCB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ZGlzcGxheTogaW5saW5lLWdyaWQ7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdGxpbmUtaGVpZ2h0OiAxLjE7XG5cblx0PiBzcGFuIHtcblx0XHRncmlkLWFyZWE6IDEgLyAxO1xuXHRcdHRyYW5zaXRpb246IHRyYW5zZm9ybSAuNDJzICRlYXNlLW91dDtcblx0fVxuXG5cdD4gc3BhbjpsYXN0LWNoaWxkIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwNSUpOyB9XG5cblx0Jjpob3ZlciA+IHNwYW46Zmlyc3QtY2hpbGQgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwNSUpOyB9XG5cdCY6aG92ZXIgPiBzcGFuOmxhc3QtY2hpbGQgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG59XG4iLCJAdXNlIFwidG9rZW5zXCIgYXMgKjtcclxuXHJcbi8vIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxyXG4vLyAgTkFWIOKAlCBmbG9hdHMgb3ZlciB0aGUgaGVybywgZ2FpbnMgYSBiYWNrZHJvcCBvbmNlIHlvdSBzY3JvbGwgcGFzdCBpdFxyXG4vLyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcclxuXHJcbi5uYXYge1xyXG5cdHBvc2l0aW9uOiBmaXhlZDtcclxuXHR0b3A6IDA7XHJcblx0bGVmdDogMDtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRoZWlnaHQ6IHZhcigtLW5hdi1oKTtcclxuXHR6LWluZGV4OiAxMDA7XHJcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS1kdXIpICRlYXNlLCBib3JkZXItY29sb3IgdmFyKC0tZHVyKSAkZWFzZTtcclxuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XHJcblxyXG5cdC8vIC5pcy1zdHVjayBpcyBzZXQgdGhlIGluc3RhbnQgdGhlIHBhZ2UgbGVhdmVzIHRoZSB2ZXJ5IHRvcCDigJQgYSAxcHhcclxuXHQvLyBzZW50aW5lbCBhdCB0aGUgdG9wIG9mIDxib2R5PiBkcml2ZXMgaXQsIHNvIHRoZSBiYXIgc29saWRpZmllcyBvbiB0aGVcclxuXHQvLyBmaXJzdCBzY3JvbGwgcmF0aGVyIHRoYW4gd2FpdGluZyBmb3IgdGhlIGhlcm8gdG8gY2xlYXIuXHJcblx0Ly9cclxuXHQvLyBGcm9zdGVkLCBidXQgREFSSyDigJQgdGhlIHNhbWUgdHJlYXRtZW50IHRoZSBsaWdodCBiYXIgaGFkLCBpbnZlcnRlZC5cclxuXHQvLyA5NSUgcmF0aGVyIHRoYW4gc29saWQgc28gdGhlIHBhZ2Ugc3RpbGwgbW92ZXMgZmFpbnRseSB1bmRlcm5lYXRoOyB0aGVcclxuXHQvLyBibHVyIGlzIHdoYXQgc3RvcHMgdGhlIGdpYW50IGhlYWRsaW5lIHJlYWRpbmcgdGhyb3VnaCBpdCwgd2hpY2ggaXMgd2hhdFxyXG5cdC8vIHdlbnQgd3Jvbmcgd2hlbiB0aGlzIHdhcyBhIHRyYW5zbHVjZW50IGxpZ2h0IGJhci5cclxuXHQmLmlzLXN0dWNrIHtcclxuXHRcdGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgLjk1KTtcclxuXHRcdGJhY2tkcm9wLWZpbHRlcjogYmx1cigxOHB4KSBzYXR1cmF0ZSgxLjQpO1xyXG5cdFx0LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6IGJsdXIoMThweCkgc2F0dXJhdGUoMS40KTtcclxuXHRcdGJvcmRlci1ib3R0b20tY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjEyKTtcclxuXHJcblx0XHQvLyBUaGUgYmFyIGlzIG5vdyBkYXJrIHJlZ2FyZGxlc3Mgb2YgdGhlbWUsIHNvIGl0cyBjb250ZW50cyBoYXZlIHRvIGJlXHJcblx0XHQvLyBsaWdodCByZWdhcmRsZXNzIG9mIHRoZW1lIHRvbyDigJQgbm9uZSBvZiB0aGVzZSBjYW4gaW5oZXJpdCAtLWluay5cclxuXHRcdC5uYXZfX21hcmsgICAgICAgIHsgY29sb3I6ICNmZmY7IH1cclxuXHRcdC5uYXZfX2xpbmsgICAgICAgIHsgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjcyKTsgfVxyXG5cdFx0Lm5hdl9fbGluazpob3ZlcixcclxuXHRcdC5uYXZfX2xpbmtbYXJpYS1jdXJyZW50XSB7IGNvbG9yOiAjZmZmOyB9XHJcblxyXG5cdFx0LnRvZ2dsZSxcclxuXHRcdC5jYXJ0cGlsbCxcclxuXHRcdC5idXJnZXIsXHJcblx0XHQubnNlYXJjaCB7XHJcblx0XHRcdGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAuMjIpO1xyXG5cdFx0XHRjb2xvcjogI2ZmZjtcclxuXHRcdH1cclxuXHRcdC5jYXJ0cGlsbF9fbiB7IGJveC1zaGFkb3c6IDAgMCAwIDJweCAjMDAwOyB9XHJcblxyXG5cdFx0Ly8gQm9yZGVyIEFORCBpY29uLCBzYW1lIGFzIHRoZSBsaWdodCBzdGF0ZS5cclxuXHRcdC5uc2VhcmNoOmhvdmVyLFxyXG5cdFx0Lm5zZWFyY2g6Zm9jdXMtd2l0aGluIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1hY2NlbnQpOyB9XHJcblxyXG5cdFx0Lm5zZWFyY2g6aG92ZXIgLm5zZWFyY2hfX2J0bixcclxuXHRcdC5uc2VhcmNoOmZvY3VzLXdpdGhpbiAubnNlYXJjaF9fYnRuIHsgY29sb3I6IHZhcigtLWFjY2VudC1pbmspOyB9XHJcblxyXG5cdFx0Ly8g4pqgIFRoZSB0b2dnbGUncyBob3ZlciBpcyBHQVRFRCBIRVJFIFRPTywgbm90IGp1c3Qgb24gdGhlIGJhc2UgLnRvZ2dsZVxyXG5cdFx0Ly8gcnVsZS4gVGhhdCBvbmUgaXMgYmVoaW5kIGNhbi1ob3ZlciwgYnV0IHRoZXNlIC5pcy1zdHVjayBvdmVycmlkZXMgd2VyZVxyXG5cdFx0Ly8gbm90IOKAlCBzbyB0aGUgZ2F0aW5nIHNpbGVudGx5IHN0b3BwZWQgYXBwbHlpbmcgdGhlIG1vbWVudCB0aGUgcGFnZSB3YXNcclxuXHRcdC8vIHNjcm9sbGVkLCBhbmQgb24gdG91Y2ggdGhlIGJ1dHRvbiBsYXRjaGVkIGJsdWUgYW5kIG5ldmVyIGNsZWFyZWQuXHJcblx0XHQvLyBBIGdhdGVkIHN0YXRlIG5lZWRzIGdhdGluZyBpbiBFVkVSWSBwbGFjZSBpdCBpcyByZWRlY2xhcmVkLlxyXG5cdFx0QGluY2x1ZGUgY2FuLWhvdmVyIHtcclxuXHRcdFx0LnRvZ2dsZTpob3ZlcixcclxuXHRcdFx0LmNhcnRwaWxsOmhvdmVyIHtcclxuXHRcdFx0XHRib3JkZXItY29sb3I6IHZhcigtLWFjY2VudCk7XHJcblx0XHRcdFx0Y29sb3I6IHZhcigtLWFjY2VudC1pbmspO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0LmJ1cmdlciBzcGFuLFxyXG5cdFx0LmJ1cmdlciBzcGFuOjpiZWZvcmUsXHJcblx0XHQuYnVyZ2VyIHNwYW46OmFmdGVyIHsgYmFja2dyb3VuZDogI2ZmZjsgfVxyXG5cclxuXHRcdC5uc2VhcmNoIGlucHV0ICAgICAgIHsgY29sb3I6ICNmZmY7IH1cclxuXHRcdC5uc2VhcmNoX19idG4gICAgICAgIHsgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjcyKTsgfVxyXG5cdFx0Lm5zZWFyY2guaXMtb3BlbiAgICAgeyBiYWNrZ3JvdW5kOiAjMDAwOyB9XHJcblx0XHQubnNlYXJjaCBpbnB1dDo6cGxhY2Vob2xkZXIgeyBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAuNDUpOyB9XHJcblx0fVxyXG5cclxuXHQmX19pbm5lciB7XHJcblx0XHR3aWR0aDogbWluKDEwMCUgLSB2YXIoLS1ndXR0ZXIpICogMiwgdmFyKC0tbWF4dykpO1xyXG5cdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdFx0bWFyZ2luLWlubGluZTogYXV0bztcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0Z2FwOiBjbGFtcCgxcmVtLCAzdncsIDNyZW0pO1xyXG5cdH1cclxuXHJcblx0Jl9fbWFyayB7XHJcblx0XHRmbGV4OiBub25lO1xyXG5cdFx0ZGlzcGxheTogaW5saW5lLWZsZXg7XHJcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0Z2FwOiBzcCgzKTtcclxuXHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xyXG5cdFx0Zm9udC1zaXplOiAxLjA1cmVtO1xyXG5cdFx0Zm9udC13ZWlnaHQ6IDkwMDtcclxuXHRcdGxldHRlci1zcGFjaW5nOiAtLjAyZW07XHJcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cclxuXHRcdGltZyB7IGhlaWdodDogMzBweDsgd2lkdGg6IGF1dG87IH1cclxuXHR9XHJcblxyXG5cdC8vIOKUgOKUgCBXb3JkbWFyayDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcclxuXHQvLyAgVGhlIHN1cHBsaWVkIFNWRywgTUFTS0VEIHJhdGhlciB0aGFuIHBsYWNlZCBhcyBhbiBpbWFnZS4gSXRzIG9ubHkgZmlsbCBpc1xyXG5cdC8vICBhIGhhcmRjb2RlZCAjZmZmIChJbGx1c3RyYXRvciBleHBvcnQpLCBzbyBhcyBhbiA8aW1nPiBpdCB3b3VsZCBiZVxyXG5cdC8vICBpbnZpc2libGUgYWdhaW5zdCB0aGUgbGlnaHQgdGhlbWUuIEFzIGEgbWFzayB0aGUgc2hhcGUgdGFrZXNcclxuXHQvLyAgY3VycmVudENvbG9yLCB3aGljaCAubmF2X19tYXJrIGFscmVhZHkgbWFuYWdlcyBjb3JyZWN0bHk6IC0taW5rIG5vcm1hbGx5LFxyXG5cdC8vICAjZmZmIG9uY2UgLmlzLXN0dWNrIHR1cm5zIHRoZSBiYXIgZGFyayByZWdhcmRsZXNzIG9mIHRoZW1lLlxyXG5cdC8vXHJcblx0Ly8gIGFzcGVjdC1yYXRpbyBjb21lcyBzdHJhaWdodCBvZmYgdGhlIGZpbGUncyB2aWV3Qm94ICgxMTg4LjU3IMOXIDEwNy42OSksIHNvXHJcblx0Ly8gIGhlaWdodCBpcyB0aGUgb25seSBrbm9iIGFuZCB0aGUgd29yZG1hcmsgY2FuIG5ldmVyIHN0cmV0Y2guIFNpemVkIHRvIGxhbmRcclxuXHQvLyAgb24gcm91Z2hseSB0aGUgc2FtZSB3aWR0aCB0aGUgdGV4dCB3b3JkbWFyayBoYWQsIHNvIHRoZSBiYXIncyBiYWxhbmNlIGlzXHJcblx0Ly8gIHVuY2hhbmdlZC5cclxuXHQvL1xyXG5cdC8vICAtLXNyYyBpcyBzZXQgaW5saW5lIGluIGhlYWRlci5waHAg4oCUIHRoZSB0aGVtZSdzIGFzc2V0IFVSTCBpc24ndCBrbm93YWJsZVxyXG5cdC8vICBmcm9tIGEgc3R5bGVzaGVldC5cclxuXHQvLyBBIHNob3cgd2l0aCBubyBpbWcvbG9nby5zdmcgaW4gaXRzIHNpdGVzLyBmb2xkZXIgZ2V0cyBpdHMgbmFtZSBhcyB0ZXh0IOKAlFxyXG5cdC8vIHRoZSBkaXNwbGF5IGZhY2UsIHNpemVkIHRvIHNpdCB3aGVyZSB0aGUgd29yZG1hcmsgd291bGQuIEluaGVyaXRzIHRoZVxyXG5cdC8vIGJhcidzIGNvbG91ciB0aGUgc2FtZSB3YXkgdGhlIG1hc2sgZG9lcy5cclxuXHQmX19uYW1lIHtcclxuXHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xyXG5cdFx0Zm9udC1zaXplOiBjbGFtcCgxcmVtLCAyLjJ2dywgMS4zNXJlbSk7XHJcblx0XHRsZXR0ZXItc3BhY2luZzogLS4wMWVtO1xyXG5cdFx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuXHRcdGNvbG9yOiBpbmhlcml0O1xyXG5cdH1cclxuXHJcblx0Jl9fbG9nbyB7XHJcblx0XHQvLyArMjElIG9uIHRoZSBvcmlnaW5hbCBjbGFtcCgxNnB4LCAydncsIDIycHgpIOKAlCB0d28gMTAlIHBhc3NlcyBvbiBKb2Unc1xyXG5cdFx0Ly8gZXllLCAyMDI2LTA4LTA3LiBFdmVyeSB0ZXJtIGlzIHNjYWxlZCwgbm90IGp1c3QgdGhlIGNlaWxpbmcsIHNvIGl0XHJcblx0XHQvLyBncm93cyBieSB0aGUgc2FtZSBwcm9wb3J0aW9uIGF0IGV2ZXJ5IHdpZHRoIHJhdGhlciB0aGFuIG9ubHkgb25cclxuXHRcdC8vIGRlc2t0b3AuXHJcblx0XHQvL1xyXG5cdFx0Ly8g4pqgIFRISVMgSVMgVEhFIE1BUksnUyBTSVpFLCBOT1QgVEhFIEJPWCdTLiBTZWUgYmVsb3cuXHJcblx0XHQtLWxvZ28taDogY2xhbXAoMTkuMzZweCwgMi40MnZ3LCAyNi42MnB4KTtcclxuXHRcdC8vIFRoZSB3b3JkbWFyaydzIHZpZXdCb3ggYXMgdyAvIGguIFRKQ1MncyBmaWxlIGlzIHRoZSBkZWZhdWx0OyBhIHNob3dcclxuXHRcdC8vIHdob3NlIGxvZ28uc3ZnIGhhcyBhIGRpZmZlcmVudCByYXRpbyBzZXRzIHRoaXMgaW4gaXRzIHNraW4uY3NzIHNvIHRoZVxyXG5cdFx0Ly8gYm94IGZpdHMgdGhlIG1hcmsgKFJvdG9MZWdlbmRzOiAxMDAwIC8gOTguNikuXHJcblx0XHQtLWxvZ28tcmF0aW86IDExODguNTcgLyAxMDcuNjk7XHJcblxyXG5cdFx0ZGlzcGxheTogYmxvY2s7XHJcblxyXG5cdFx0Ly8g4pSA4pSAIFdoeSB0aGUgYm94IGlzIDFweCBiaWdnZXIgdGhhbiB0aGUgbWFyayDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcclxuXHRcdC8vICBUaGlzIHdhcyBgYXNwZWN0LXJhdGlvOiAxMTg4LjU3IC8gMTA3LjY5YCArIGBtYXNrLXNpemU6IGNvbnRhaW5gLFxyXG5cdFx0Ly8gIHdoaWNoIHNvdW5kcyBhaXJ0aWdodCDigJQgdGhlIGJveCByYXRpbyBtYXRjaGVzIHRoZSB2aWV3Qm94IGV4YWN0bHksIHNvXHJcblx0XHQvLyAgYGNvbnRhaW5gIGZpdHMgdGhlIGFydHdvcmsgY29ybmVyIHRvIGNvcm5lci5cclxuXHRcdC8vXHJcblx0XHQvLyAgRVhBQ1RMWSBpcyB0aGUgcHJvYmxlbS4gSXQgbGVhdmVzIHplcm8gdG9sZXJhbmNlLCBhbmQgdGhlIGhlaWdodCBpc1xyXG5cdFx0Ly8gIGZyYWN0aW9uYWw6IDE5LjM2cHggb24gYSAzeCBzY3JlZW4gaXMgNTguMDggZGV2aWNlIHBpeGVscywgd2hpY2hcclxuXHRcdC8vICBjYW5ub3QgZXhpc3QuIEl0IHJvdW5kcyBkb3duLCBhbmQgdGhlIHJvdyB0aGF0IGdldHMgZHJvcHBlZCBpcyB0aGVcclxuXHRcdC8vICBib3R0b20gb2YgdGhlIGdseXBoLiBSZXBvcnRlZCBvbiBhIHRlc3QgaVBob25lIDIwMjYtMDgtMDggYXMgXCJjdXQgb2ZmXHJcblx0XHQvLyAgYnkgaGFsZiBhIHBpeGVsIG9uIHRoZSBib3R0b21cIiDigJQgdGhhdCBpcyBwcmVjaXNlbHkgd2hhdCBpdCB3YXMuXHJcblx0XHQvL1xyXG5cdFx0Ly8gIFNvOiBzaXplIHRoZSBNQVJLIGV4cGxpY2l0bHkgYW5kIG1ha2UgdGhlIEJPWCBhIHBpeGVsIGxhcmdlciBpbiBlYWNoXHJcblx0XHQvLyAgZGlyZWN0aW9uLiBDZW50cmVkLCB0aGF0IGlzIGhhbGYgYSBwaXhlbCBvZiBzbGFjayBvbiBldmVyeSBlZGdlLCBhbmRcclxuXHRcdC8vICByb3VuZGluZyBub3cgZWF0cyB0aGUgc2xhY2sgaW5zdGVhZCBvZiB0aGUgYXJ0d29yay4gVGhlIHJlbmRlcmVkXHJcblx0XHQvLyAgbG9nbyBpcyB0aGUgc2FtZSBzaXplIGl0IGFsd2F5cyB3YXM7IG9ubHkgaXRzIGJveCBjaGFuZ2VkLlxyXG5cdFx0Ly9cclxuXHRcdC8vICDim5QgRG9uJ3QgcmVzdG9yZSBgY29udGFpbmAgaGVyZSwgYW5kIGRvbid0IFwic2ltcGxpZnlcIiB0aGUgYm94IGJhY2sgdG9cclxuXHRcdC8vICB0aGUgZXhhY3QgcmF0aW8uIEl0IGxvb2tzIGNvcnJlY3Qgb24gYSAyeCBkaXNwbGF5IGFuZCBjbGlwcyBvbiBhIDN4LlxyXG5cdFx0aGVpZ2h0OiBjYWxjKHZhcigtLWxvZ28taCkgKyAxcHgpO1xyXG5cdFx0d2lkdGg6ICBjYWxjKHZhcigtLWxvZ28taCkgKiAodmFyKC0tbG9nby1yYXRpbykpICsgMXB4KTtcclxuXHRcdGJhY2tncm91bmQ6IGN1cnJlbnRDb2xvcjtcclxuXHJcblx0XHQvLyBgYXV0byA8aGVpZ2h0PmAga2VlcHMgdGhlIHZpZXdCb3ggcmF0aW8sIHNvIHRoZSB3b3JkbWFyayBzdGlsbCBjYW5ub3RcclxuXHRcdC8vIHN0cmV0Y2gg4oCUIHRoYXQgZ3VhcmFudGVlIG1vdmVkIGhlcmUgZnJvbSBhc3BlY3QtcmF0aW8uXHJcblx0XHQtd2Via2l0LW1hc2s6IHZhcigtLXNyYykgY2VudGVyIC8gYXV0byB2YXIoLS1sb2dvLWgpIG5vLXJlcGVhdDtcclxuXHRcdG1hc2s6IHZhcigtLXNyYykgY2VudGVyIC8gYXV0byB2YXIoLS1sb2dvLWgpIG5vLXJlcGVhdDtcclxuXHR9XHJcblxyXG5cdCZfX21lbnUge1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHRnYXA6IGNsYW1wKC43NXJlbSwgMS44dncsIDJyZW0pO1xyXG5cdFx0bGlzdC1zdHlsZTogbm9uZTtcclxuXHRcdG1hcmdpbi1pbmxpbmU6IGF1dG87XHJcblxyXG5cdFx0QGluY2x1ZGUgYXQobGcpIHsgZGlzcGxheTogbm9uZTsgfVxyXG5cdH1cclxuXHJcblx0Jl9fbGluayB7XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRwYWRkaW5nOiBzcCgyKSAwO1xyXG5cdFx0Zm9udC1zaXplOiAuODVyZW07XHJcblx0XHRmb250LXdlaWdodDogNTAwO1xyXG5cdFx0bGV0dGVyLXNwYWNpbmc6IC4wMmVtO1xyXG5cdFx0Y29sb3I6IHZhcigtLWluay0yKTtcclxuXHRcdHRyYW5zaXRpb246IGNvbG9yIHZhcigtLWR1ci1mYXN0KSAkZWFzZTtcclxuXHJcblx0XHQvLyBVbmRlcmxpbmUgZ3Jvd3MgZnJvbSB0aGUgY2VudHJlLlxyXG5cdFx0Jjo6YWZ0ZXIge1xyXG5cdFx0XHRjb250ZW50OiBcIlwiO1xyXG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdGxlZnQ6IDA7IHJpZ2h0OiAwOyBib3R0b206IDA7XHJcblx0XHRcdGhlaWdodDogMXB4O1xyXG5cdFx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1hY2NlbnQpO1xyXG5cdFx0XHR0cmFuc2Zvcm06IHNjYWxlWCgwKTtcclxuXHRcdFx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIC4zcyAkZWFzZS1vdXQ7XHJcblx0XHR9XHJcblxyXG5cdFx0Ly8gSG92ZXIgYW5kIGN1cnJlbnQgYXJlIE9ORSBsb29rIOKAlCB0aGUgdW5kZXJsaW5lIGRyYXduLCB0aGUgaW5rIGZ1bGwuXHJcblx0XHQvLyBhcmlhLWN1cnJlbnQgY29tZXMgZnJvbSBzaWdfbmF2X2N1cnJlbnQoKSAoZnVuY3Rpb25zLnBocCk6IHRoZVxyXG5cdFx0Ly8gYXJjaGl2ZSBpdHNlbGYsIGFuZCBldmVyeXRoaW5nIGluc2lkZSBpdHMgc2VjdGlvbi5cclxuXHRcdCY6aG92ZXIsXHJcblx0XHQmW2FyaWEtY3VycmVudF0ge1xyXG5cdFx0XHRjb2xvcjogdmFyKC0taW5rKTtcclxuXHRcdFx0Jjo6YWZ0ZXIgeyB0cmFuc2Zvcm06IHNjYWxlWCgxKTsgfVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Jl9fdG9vbHMge1xyXG5cdFx0ZmxleDogbm9uZTtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0Z2FwOiBzcCgzKTtcclxuXHRcdG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG5cdH1cclxufVxyXG5cclxuLy8g4pSA4pSAIENhcnQg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXHJcbi8vIFNhbWUgNDJweCBjaXJjbGUgYXMgLnRvZ2dsZS4gYC5pcy1lbXB0eWAgKHNlcnZlci1zZXQgYnkgc2lnX2NhcnRfcGlsbCxcclxuLy8gdG9nZ2xlZCBieSBsLWNhcnQuanMpIGNvbGxhcHNlcyBpdCDigJQgd2lkdGgsIGdhcCBhbmQgb3BhY2l0eSBhbGwgdHJhbnNpdGlvbixcclxuLy8gc28gdGhlIGZpcnN0IGFkZCBmYWRlcyBpdCBpbiBhbmQgdGhlIGxhc3QgcmVtb3ZhbCBmYWRlcyBpdCBvdXQgaW5zdGVhZCBvZlxyXG4vLyB0aGUgYmFyIHNuYXBwaW5nIChKb2UsIDIwMjYtMDktMTMpLlxyXG4uY2FydHBpbGwge1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHR3aWR0aDogNDJweDtcclxuXHRoZWlnaHQ6IDQycHg7XHJcblx0ZmxleDogbm9uZTtcclxuXHRkaXNwbGF5OiBncmlkO1xyXG5cdHBsYWNlLWl0ZW1zOiBjZW50ZXI7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tbGluZSk7XHJcblx0Ym9yZGVyLXJhZGl1czogOTk5cHg7XHJcblx0Y29sb3I6IHZhcigtLWluayk7XHJcblx0b3ZlcmZsb3c6IHZpc2libGU7XHJcblx0dHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIHZhcigtLWR1ci1mYXN0KSAkZWFzZSwgY29sb3IgdmFyKC0tZHVyLWZhc3QpICRlYXNlLFxyXG5cdFx0XHRcdHdpZHRoIC4zNXMgJGVhc2Utb3V0LCBtYXJnaW4gLjM1cyAkZWFzZS1vdXQsIG9wYWNpdHkgLjNzICRlYXNlO1xyXG5cclxuXHQmLmlzLWVtcHR5IHtcclxuXHRcdHdpZHRoOiAwO1xyXG5cdFx0bWFyZ2luLWxlZnQ6IC0je3NwKDMpfTsgICAvLyBzd2FsbG93IHRoZSB0b29scyBnYXAgdG9vXHJcblx0XHRvcGFjaXR5OiAwO1xyXG5cdFx0Ym9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuXHRcdHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHR9XHJcblxyXG5cdHN2ZyB7IHdpZHRoOiAxOHB4OyBoZWlnaHQ6IDE4cHg7IH1cclxuXHJcblx0Ly8gVGhlIGNvdW50OiBhIGJsdWUgZG90LCB0b3AtcmlnaHQsIGp1c3Qgb3V0c2lkZSB0aGUgY2lyY2xlLiBDbGlwcyBpdHNcclxuXHQvLyBvd24gY29udGVudHMgc28gdGhlIHJvbGxpbmcgZGlnaXQgZW50ZXJzL2xlYXZlcyBmcm9tIGluc2lkZSB0aGUgZG90LlxyXG5cdCZfX24ge1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0dG9wOiAtNXB4O1xyXG5cdFx0cmlnaHQ6IC01cHg7XHJcblx0XHRtaW4td2lkdGg6IDE5cHg7XHJcblx0XHRoZWlnaHQ6IDE5cHg7XHJcblx0XHRwYWRkaW5nLWlubGluZTogNXB4O1xyXG5cdFx0ZGlzcGxheTogZ3JpZDtcclxuXHRcdHBsYWNlLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogOTk5cHg7XHJcblx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1hY2NlbnQpO1xyXG5cdFx0Y29sb3I6IHZhcigtLW9uLWFjY2VudCk7XHJcblx0XHRmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vKTtcclxuXHRcdGZvbnQtc2l6ZTogLjY2cmVtO1xyXG5cdFx0Zm9udC13ZWlnaHQ6IDcwMDtcclxuXHRcdGxpbmUtaGVpZ2h0OiAxO1xyXG5cdFx0Zm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcclxuXHRcdGJveC1zaGFkb3c6IDAgMCAwIDJweCB2YXIoLS1iZyk7XHJcblx0fVxyXG5cclxuXHQvLyBSb2xvZGV4LiBCb3RoIHRoZSBsZWF2aW5nIGFuZCB0aGUgYXJyaXZpbmcgZGlnaXQgc2l0IGluIHRoZSBzYW1lIGdyaWRcclxuXHQvLyBjZWxsOyB0aGUgbGVhdmluZyBvbmUgc2xpZGVzIG91dCBvbmUgd2F5LCB0aGUgYXJyaXZpbmcgb25lIHNsaWRlcyBpblxyXG5cdC8vIGZyb20gdGhlIG90aGVyLiBEaXJlY3Rpb24gY2xhc3NlcyBjb21lIGZyb20gbC1jYXJ0LmpzIOKAlCB1cCBmb3IgYW5cclxuXHQvLyBpbmNyZWFzZSwgZG93biBmb3IgYSBkZWNyZWFzZS5cclxuXHQmX192IHtcclxuXHRcdGdyaWQtYXJlYTogMSAvIDE7XHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm0sIG9wYWNpdHk7XHJcblx0fVxyXG5cdCZfX3YuaXMtb3V0LXVwICAgeyBhbmltYXRpb246IGNhcnRwaWxsLW91dC11cCAgIC4zMnMgJGVhc2Utb3V0IGZvcndhcmRzOyB9XHJcblx0Jl9fdi5pcy1pbi11cCAgICB7IGFuaW1hdGlvbjogY2FydHBpbGwtaW4tdXAgICAgLjMycyAkZWFzZS1vdXQ7IH1cclxuXHQmX192LmlzLW91dC1kb3duIHsgYW5pbWF0aW9uOiBjYXJ0cGlsbC1vdXQtZG93biAuMzJzICRlYXNlLW91dCBmb3J3YXJkczsgfVxyXG5cdCZfX3YuaXMtaW4tZG93biAgeyBhbmltYXRpb246IGNhcnRwaWxsLWluLWRvd24gIC4zMnMgJGVhc2Utb3V0OyB9XHJcblxyXG5cdEBpbmNsdWRlIGNhbi1ob3ZlciB7XHJcblx0XHQmOmhvdmVyIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1hY2NlbnQpOyBjb2xvcjogdmFyKC0tYWNjZW50LWluayk7IH1cclxuXHR9XHJcbn1cclxuQGtleWZyYW1lcyBjYXJ0cGlsbC1vdXQtdXAgICB7IHRvICAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTExMCUpOyBvcGFjaXR5OiAwOyB9IH1cclxuQGtleWZyYW1lcyBjYXJ0cGlsbC1pbi11cCAgICB7IGZyb20geyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTEwJSk7ICBvcGFjaXR5OiAwOyB9IH1cclxuQGtleWZyYW1lcyBjYXJ0cGlsbC1vdXQtZG93biB7IHRvICAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTEwJSk7ICBvcGFjaXR5OiAwOyB9IH1cclxuQGtleWZyYW1lcyBjYXJ0cGlsbC1pbi1kb3duICB7IGZyb20geyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTExMCUpOyBvcGFjaXR5OiAwOyB9IH1cclxuXHJcbi8vIOKUgOKUgCBUaGVtZSB0b2dnbGUg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXHJcbi8vIE9uZSBidXR0b24sIHR3byBpY29ucywgY3Jvc3MtZmFkZWQgYW5kIHJvdGF0ZWQuIE5vIGxheW91dCBzaGlmdCBvbiBmbGlwLlxyXG4udG9nZ2xlIHtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0d2lkdGg6IDQycHg7XHJcblx0aGVpZ2h0OiA0MnB4O1xyXG5cdGRpc3BsYXk6IGdyaWQ7XHJcblx0cGxhY2UtaXRlbXM6IGNlbnRlcjtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1saW5lKTtcclxuXHRib3JkZXItcmFkaXVzOiA5OTlweDtcclxuXHRjb2xvcjogdmFyKC0taW5rKTtcclxuXHR0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgdmFyKC0tZHVyLWZhc3QpICRlYXNlLCB0cmFuc2Zvcm0gdmFyKC0tZHVyLWZhc3QpICRlYXNlO1xyXG5cclxuXHQvLyBTYW1lIGhvdmVyIGxhbmd1YWdlIGFzIC5yYWlsLW5hdiBidXR0b24gYW5kIC5uc2VhcmNoOiBicmFuZCBvdXRsaW5lXHJcblx0Ly8gQU5EIGJyYW5kIGljb24uIEl0IHByZXZpb3VzbHkgb25seSBtb3ZlZCB0aGUgYm9yZGVyLCBzbyB0aGUgaWNvblxyXG5cdC8vIHN0YXllZCBncmV5IGFuZCB0aGUgY29udHJvbCBsb29rZWQgaGFsZi1saXQuXHJcblx0Ly9cclxuXHQvLyBHYXRlZDogdGhpcyBjb250cm9sIGlzIHZpc2libGUgYXQgZXZlcnkgd2lkdGgsIGFuZCBvbiBhIHRvdWNoc2NyZWVuXHJcblx0Ly8gOmhvdmVyIExBVENIRVMgYWZ0ZXIgYSB0YXAg4oCUIGl0IHdvdWxkIHNpdCB0aGVyZSBibHVlIGFuZCByb3RhdGVkIDE4ZGVnXHJcblx0Ly8gd2l0aCBub3RoaW5nIHRvIGNsZWFyIGl0LCB3aGljaCBpcyB0aGUgc3R1Y2sgc3RhdGUgSm9lIGhpdCBvbiB0aGVcclxuXHQvLyBsaWdodGJveCBhcnJvd3MuXHJcblx0QGluY2x1ZGUgY2FuLWhvdmVyIHtcclxuXHRcdCY6aG92ZXIge1xyXG5cdFx0XHRib3JkZXItY29sb3I6IHZhcigtLWFjY2VudCk7XHJcblx0XHRcdGNvbG9yOiB2YXIoLS1hY2NlbnQtaW5rKTtcclxuXHRcdFx0dHJhbnNmb3JtOiByb3RhdGUoMThkZWcpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0c3ZnIHtcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdHdpZHRoOiAxN3B4O1xyXG5cdFx0aGVpZ2h0OiAxN3B4O1xyXG5cdFx0dHJhbnNpdGlvbjogb3BhY2l0eSB2YXIoLS1kdXItZmFzdCkgJGVhc2UsIHRyYW5zZm9ybSAuNHMgJGVhc2Utb3V0O1xyXG5cdH1cclxuXHJcblx0Ly8gRGFyayB0aGVtZSBzaG93cyB0aGUgc3VuICh0aGUgdGhpbmcgeW91J2Qgc3dpdGNoIFRPKS5cclxuXHQuaS1zdW4gIHsgb3BhY2l0eTogMTsgdHJhbnNmb3JtOiByb3RhdGUoMCkgc2NhbGUoMSk7IH1cclxuXHQuaS1tb29uIHsgb3BhY2l0eTogMDsgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKSBzY2FsZSguNCk7IH1cclxuXHJcblx0W2RhdGEtdGhlbWU9XCJsaWdodFwiXSAmIHtcclxuXHRcdC5pLXN1biAgeyBvcGFjaXR5OiAwOyB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZykgc2NhbGUoLjQpOyB9XHJcblx0XHQuaS1tb29uIHsgb3BhY2l0eTogMTsgdHJhbnNmb3JtOiByb3RhdGUoMCkgc2NhbGUoMSk7IH1cclxuXHR9XHJcbn1cclxuXHJcbi8vIOKUgOKUgCBTZWFyY2gg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXHJcbi8vICBPTkUgb3V0bGluZWQgcGlsbCB0aGF0IHdpZGVucyDigJQgbm90IGEgYm94IHRoYXQgYXBwZWFycyBuZXh0IHRvIGEgYnV0dG9uLlxyXG4vL1xyXG4vLyAgQ2xvc2VkLCBpdCBpcyBkaW1lbnNpb25hbGx5IGlkZW50aWNhbCB0byAudG9nZ2xlICg0MnB4IGNpcmNsZSwgMXB4IC0tbGluZVxyXG4vLyAgYm9yZGVyLCB0cmFuc3BhcmVudCBmaWxsKSBzbyB0aGUgdHdvIHNpdCBhcyBhIG1hdGNoZWQgcGFpciBiZXNpZGUgdGhlIE9OIEFJUlxyXG4vLyAgcGlsbC4gT3BlbmluZyBhbmltYXRlcyB0aGUgcGlsbCdzIG93biB3aWR0aDsgdGhlIGlucHV0IGluc2lkZSBpcyBmbGV4OjEgYW5kXHJcbi8vICBzaW1wbHkgZ2V0cyByb29tLCB3aGljaCBpcyB3aHkgdGhlcmUgaXMgbm8gc2Vjb25kIGJvcmRlciBhbnl3aGVyZS5cclxuLy9cclxuLy8gIFRoZSBpbnB1dCBtdXN0IG5ldmVyIGJlIGRpc3BsYXk6bm9uZSDigJQgdGhlIGZvcm0gaGFzIHRvIHN0YXkgc3VibWl0dGFibGUgYW5kXHJcbi8vICB0aGUgZmllbGQgZm9jdXNhYmxlLiBJdCBjb2xsYXBzZXMgdG8gemVybyB3aWR0aCBpbnN0ZWFkIChKUyBtaXJyb3JzIHRoYXRcclxuLy8gIHdpdGggdGFiaW5kZXggc28gaXQgaXNuJ3QgYSB0YWIgc3RvcCB3aGlsZSBpbnZpc2libGUpLlxyXG4vLyBUaGUgc2xvdCBob2xkcyBhIHBlcm1hbmVudCA0MnB4IGluIHRoZSBmbGV4IHJvdy4gVGhlIHBpbGwgaW5zaWRlIGlzXHJcbi8vIGFic29sdXRlbHkgcG9zaXRpb25lZCBhbmQgYW5jaG9yZWQgcmlnaHQsIHNvIG9wZW5pbmcgaXQgZ3Jvd3MgTEVGVFdBUkQgb3ZlclxyXG4vLyBlbXB0eSBzcGFjZSBhbmQgdGhlIG5hdiBsaW5rcyBuZXZlciBtb3ZlLlxyXG4ubnNlYXJjaC1zbG90IHtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0d2lkdGg6IDQycHg7XHJcblx0aGVpZ2h0OiA0MnB4O1xyXG5cdGZsZXg6IG5vbmU7XHJcblxyXG5cdEBpbmNsdWRlIGF0KGxnKSB7IGRpc3BsYXk6IG5vbmU7IH0gIC8vIHRoZSBkcmF3ZXIgY2FycmllcyBpdHMgb3duIGZpZWxkXHJcbn1cclxuXHJcbi5uc2VhcmNoIHtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0dG9wOiAwO1xyXG5cdHJpZ2h0OiAwO1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHR3aWR0aDogNDJweDsgICAgICAgICAgICAgIC8vIGNsb3NlZDogYSBjaXJjbGUsIHNhbWUgYXMgLnRvZ2dsZVxyXG5cdGhlaWdodDogNDJweDtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1saW5lKTtcclxuXHRib3JkZXItcmFkaXVzOiA5OTlweDtcclxuXHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdHRyYW5zaXRpb246IHdpZHRoIC40NXMgJGVhc2Utb3V0LCBib3JkZXItY29sb3IgdmFyKC0tZHVyLWZhc3QpICRlYXNlLFxyXG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3IgdmFyKC0tZHVyLWZhc3QpICRlYXNlO1xyXG5cclxuXHQvLyBCcmFuZCBvdXRsaW5lIG9uIGhvdmVyIOKAlCBtYXRjaGVzIGhvdyBldmVyeSBvdGhlciBvdXRsaW5lZCBjb250cm9sIGhlcmVcclxuXHQvLyByZWFjdHMsIGFuZCBpcyB0aGUgb25seSBjb2xvdXIgdGhlIGNvbnRyb2wgZXZlciB0YWtlcy5cclxuXHQmOmhvdmVyLFxyXG5cdCY6Zm9jdXMtd2l0aGluIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1hY2NlbnQpOyB9XHJcblxyXG5cdCYuaXMtb3BlbiB7XHJcblx0XHR3aWR0aDogY2xhbXAoMjAwcHgsIDIxdncsIDI5MHB4KTtcclxuXHRcdC8vIE9wYXF1ZSBvbmNlIG9wZW46IHRoZSBwaWxsIG5vdyBzaXRzIE9WRVIgdGhlIG5hdiByb3csIGFuZCBhdCBuYXJyb3dcclxuXHRcdC8vIGRlc2t0b3Agd2lkdGhzIGl0cyBsZWZ0IGVkZ2UgY2FuIHJlYWNoIHRoZSBsYXN0IG1lbnUgaXRlbS5cclxuXHRcdGJhY2tncm91bmQ6IHZhcigtLWJnKTtcclxuXHR9XHJcblxyXG5cdGlucHV0IHtcclxuXHRcdGZsZXg6IDE7XHJcblx0XHRtaW4td2lkdGg6IDA7XHJcblx0XHR3aWR0aDogMDtcclxuXHRcdGhlaWdodDogMTAwJTtcclxuXHRcdC8vIFplcm8gcGFkZGluZyB3aGlsZSBjbG9zZWQuIFBhZGRpbmcgZG9lcyBOT1Qgc2hyaW5rIHVuZGVyIGZsZXgsIHNvIGFcclxuXHRcdC8vIHBlcm1hbmVudCBwYWRkaW5nLWxlZnQga2VwdCBhIDE2cHggc2xpdmVyIG9mIGlucHV0IGluIHRoZSBjb2xsYXBzZWRcclxuXHRcdC8vIHBpbGwgYW5kIHNob3ZlZCB0aGUgbWFnbmlmaWVyIG9mZiBjZW50cmUuXHJcblx0XHRwYWRkaW5nOiAwO1xyXG5cdFx0Ym9yZGVyOiAwO1xyXG5cdFx0YmFja2dyb3VuZDogbm9uZTtcclxuXHRcdGNvbG9yOiB2YXIoLS1pbmspO1xyXG5cdFx0Zm9udC1zaXplOiAuODhyZW07XHJcblx0XHRvcGFjaXR5OiAwO1xyXG5cdFx0dHJhbnNpdGlvbjogb3BhY2l0eSAuMjVzICRlYXNlLCBwYWRkaW5nIC40NXMgJGVhc2Utb3V0O1xyXG5cclxuXHRcdCY6OnBsYWNlaG9sZGVyIHsgY29sb3I6IHZhcigtLWluay0zKTsgfVxyXG5cclxuXHRcdC8vIFRoZSBwaWxsIGFscmVhZHkgc2hvd3MgZm9jdXMgdmlhIDpmb2N1cy13aXRoaW4g4oCUIGEgc2Vjb25kIHJpbmdcclxuXHRcdC8vIGluc2lkZSBpdCB3b3VsZCBqdXN0IGJlIG5vaXNlLlxyXG5cdFx0Jjpmb2N1cy12aXNpYmxlIHsgb3V0bGluZTogbm9uZTsgfVxyXG5cdH1cclxuXHJcblx0Ji5pcy1vcGVuIGlucHV0IHtcclxuXHRcdG9wYWNpdHk6IDE7XHJcblx0XHRwYWRkaW5nLWxlZnQ6IHNwKDQpO1xyXG5cdH1cclxuXHJcblx0Jl9fYnRuIHtcclxuXHRcdGRpc3BsYXk6IGdyaWQ7XHJcblx0XHRwbGFjZS1pdGVtczogY2VudGVyO1xyXG5cdFx0d2lkdGg6IDQwcHg7XHJcblx0XHRoZWlnaHQ6IDQwcHg7XHJcblx0XHRmbGV4OiBub25lO1xyXG5cdFx0Ym9yZGVyOiAwO1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogOTk5cHg7XHJcblx0XHRiYWNrZ3JvdW5kOiBub25lO1xyXG5cdFx0Y29sb3I6IHZhcigtLWluay0yKTtcclxuXHRcdHRyYW5zaXRpb246IGNvbG9yIHZhcigtLWR1ci1mYXN0KSAkZWFzZTtcclxuXHJcblx0XHQvLyArMjAlIG9uIEpvZSdzIGV5ZSwgMjAyNi0wOC0wNyAod2FzIDE2cHgpLiBUaGUgYnV0dG9uIGJveCBpcyB1bmNoYW5nZWQg4oCUXHJcblx0XHQvLyBvbmx5IHRoZSBnbHlwaCBpbnNpZGUgaXQgZ3Jldy5cclxuXHRcdHN2ZyB7IHdpZHRoOiAxOS4ycHg7IGhlaWdodDogMTkuMnB4OyB9XHJcblx0fVxyXG5cclxuXHQmOmhvdmVyICZfX2J0bixcclxuXHQmOmZvY3VzLXdpdGhpbiAmX19idG4geyBjb2xvcjogdmFyKC0tYWNjZW50LWluayk7IH1cclxufVxyXG5cclxuLy8gRHJhd2VyIHNlYXJjaCDigJQgc2FtZSBvdXRsaW5lZCBsYW5ndWFnZSwgc2l6ZWQgZm9yIHRvdWNoLiBObyBzbGlkZS1vdXRcclxuLy8gdGhlYXRyZSBhdCB0aGlzIHdpZHRoOiB0aGUgZmllbGQgaXMgdGhlIHBvaW50LCBzbyBpdCdzIGp1c3QgdGhlcmUuXHJcbi8vIOKUgOKUgCBUaGUgY2xlYXIgKMOXKSBidXR0b24gaW5zaWRlIGEgc2VhcmNoIGZpZWxkIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxyXG4vLyAg4pqgIFRISVMgR0xZUEggSVMgVEhFIEJST1dTRVInUywgTk9UIE9VUlMuIGBpbnB1dFt0eXBlPVwic2VhcmNoXCJdYCByZW5kZXJzIGFcclxuLy8gIG5hdGl2ZSBjbGVhciBidXR0b24sIGFuZCBpdCBpZ25vcmVzIGV2ZXJ5IGljb24gc2l6ZSBpbiB0aGlzIHRoZW1lIOKAlCB3aGljaCBpc1xyXG4vLyAgd2h5IGl0IHNhdCBub3RpY2VhYmx5IHNtYWxsZXIgdGhhbiB0aGUgbWFnbmlmaWVyIGJlc2lkZSBpdC4gSXQgaXMgYSBzaGFkb3dcclxuLy8gIHBzZXVkby1lbGVtZW50LCBzbyBpdCBjYW4gb25seSBiZSByZWFjaGVkIHRocm91Z2ggOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtXHJcbi8vICBidXR0b24gKEJsaW5rIGFuZCBXZWJLaXQ7IEZpcmVmb3ggZHJhd3Mgbm8gY2xlYXIgYnV0dG9uIGF0IGFsbCkuXHJcbi8vXHJcbi8vICBgYXBwZWFyYW5jZTogbm9uZWAgcmVtb3ZlcyB0aGUgcGxhdGZvcm0gZ2x5cGggZW50aXJlbHksIGFuZCB0aGUgbWFzayBiZWxvd1xyXG4vLyAgcmVkcmF3cyBpdCBhcyBvdXJzIOKAlCB3aGljaCBhbHNvIG1lYW5zIGl0IHRha2VzIGN1cnJlbnRDb2xvciBhbmQgdGhlbWVzXHJcbi8vICBjb3JyZWN0bHksIHdoZXJlIHRoZSBuYXRpdmUgb25lIGlzIGEgZml4ZWQgZ3JleS5cclxuLy9cclxuLy8gIFNpemVkIHRvIDIwLjRweCB0byBtYXRjaCBgLmRzZWFyY2ggYnV0dG9uIHN2Z2AgZXhhY3RseS4g4puUIElmIHRoYXQgY2hhbmdlcyxcclxuLy8gIGNoYW5nZSB0aGlzIHdpdGggaXQg4oCUIHRoZXkgc2l0IHNpZGUgYnkgc2lkZSBhbmQgYW55IG1pc21hdGNoIGlzIG9idmlvdXMuXHJcbi8vXHJcbi8vICBTYW1lIFggcGF0aCBhcyB0aGUgbGlnaHRib3ggY2xvc2UgYnV0dG9uLCBzbyBldmVyeSBkaXNtaXNzIGluIHRoZSBVSSBpcyB0aGVcclxuLy8gIHNhbWUgbWFyay5cclxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbiB7XHJcblx0LXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xyXG5cdGFwcGVhcmFuY2U6IG5vbmU7XHJcblx0d2lkdGg6IDIwLjRweDtcclxuXHRoZWlnaHQ6IDIwLjRweDtcclxuXHRiYWNrZ3JvdW5kOiBjdXJyZW50Q29sb3I7XHJcblx0Y29sb3I6IHZhcigtLWluay0zKTtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblxyXG5cdC8vIE51ZGdlZCB0b3dhcmQgdGhlIG1hZ25pZmllciDigJQgSm9lLCAyMDI2LTA4LTA4LiBUaGUgbmF0aXZlIGJ1dHRvbiBzaXRzIGF0XHJcblx0Ly8gdGhlIGVuZCBvZiB0aGUgaW5wdXQncyBDT05URU5UIGJveCwgc28gaXQgaW5oZXJpdHMgdGhlIGZpZWxkJ3MgZnVsbFxyXG5cdC8vIHBhZGRpbmctaW5saW5lIGFuZCBsYW5kcyBmdXJ0aGVyIGZyb20gdGhlIHN1Ym1pdCBpY29uIHRoYW4gaXQgbG9va3MgbGlrZVxyXG5cdC8vIGl0IHNob3VsZC4gQSBuZWdhdGl2ZSBtYXJnaW4gbW92ZXMgb25seSB0aGUgZ2x5cGg7IGNoYW5naW5nIHRoZSBpbnB1dCdzXHJcblx0Ly8gcGFkZGluZyB3b3VsZCBkcmFnIHRoZSB0eXBlZCB0ZXh0IHdpdGggaXQuXHJcblx0Ly9cclxuXHQvLyDimqAgVEhJUyBJUyBUSEUgT05FIEtOT0IuIFJhaXNlIHRoZSBuZWdhdGl2ZSB2YWx1ZSB0byBtb3ZlIGl0IGZ1cnRoZXJcclxuXHQvLyByaWdodCwgdG93YXJkIHRoZSBtYWduaWZpZXIuIFBhc3QgYWJvdXQgLTEuMjVyZW0gaXQgc3RhcnRzIGNyb3dkaW5nIHRoZVxyXG5cdC8vIHN1Ym1pdCBidXR0b24sIHdoaWNoIGlzIGEgNTJweCB0YXAgdGFyZ2V0IGFuZCBtdXN0IG5vdCBiZSBlbmNyb2FjaGVkIG9uLlxyXG5cdG1hcmdpbi1yaWdodDogLS42cmVtO1xyXG5cdC13ZWJraXQtbWFzazogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCclM0UlM0NwYXRoIGQ9J001IDVsMTQgMTRNMTkgNUw1IDE5JyBmaWxsPSdub25lJyBzdHJva2U9JyUyMzAwMCcgc3Ryb2tlLXdpZHRoPScyJyBzdHJva2UtbGluZWNhcD0ncm91bmQnLyUzRSUzQy9zdmclM0VcIikgY2VudGVyIC8gY29udGFpbiBuby1yZXBlYXQ7XHJcblx0bWFzazogICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDI0IDI0JyUzRSUzQ3BhdGggZD0nTTUgNWwxNCAxNE0xOSA1TDUgMTknIGZpbGw9J25vbmUnIHN0cm9rZT0nJTIzMDAwJyBzdHJva2Utd2lkdGg9JzInIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcvJTNFJTNDL3N2ZyUzRVwiKSBjZW50ZXIgLyBjb250YWluIG5vLXJlcGVhdDtcclxuXHR0cmFuc2l0aW9uOiBjb2xvciB2YXIoLS1kdXItZmFzdCkgJGVhc2U7XHJcblxyXG5cdEBpbmNsdWRlIGNhbi1ob3ZlciB7XHJcblx0XHQmOmhvdmVyIHsgY29sb3I6IHZhcigtLWluayk7IH1cclxuXHR9XHJcbn1cclxuXHJcbi5kc2VhcmNoIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0aGVpZ2h0OiA1NHB4O1xyXG5cdC8vIFNpdHMgYWJvdmUgdGhlIGxpbmsgbGlzdCBub3csIHNvIHRoZSBnYXAgZ29lcyB1bmRlcm5lYXRoIGl0LlxyXG5cdG1hcmdpbi1ib3R0b206IHNwKDYpO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpbmUpO1xyXG5cdGJvcmRlci1yYWRpdXM6IDk5OXB4O1xyXG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblx0dHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIHZhcigtLWR1ci1mYXN0KSAkZWFzZTtcclxuXHJcblx0Jjpob3ZlcixcclxuXHQmOmZvY3VzLXdpdGhpbiB7IGJvcmRlci1jb2xvcjogdmFyKC0tYWNjZW50KTsgfVxyXG5cclxuXHRpbnB1dCB7XHJcblx0XHRmbGV4OiAxO1xyXG5cdFx0bWluLXdpZHRoOiAwO1xyXG5cdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdFx0cGFkZGluZy1pbmxpbmU6IHNwKDUpO1xyXG5cdFx0Ym9yZGVyOiAwO1xyXG5cdFx0YmFja2dyb3VuZDogbm9uZTtcclxuXHRcdGNvbG9yOiB2YXIoLS1pbmspO1xyXG5cclxuXHRcdCY6OnBsYWNlaG9sZGVyIHsgY29sb3I6IHZhcigtLWluay0zKTsgfVxyXG5cdFx0Jjpmb2N1cy12aXNpYmxlIHsgb3V0bGluZTogbm9uZTsgfVxyXG5cdH1cclxuXHJcblx0YnV0dG9uIHtcclxuXHRcdGRpc3BsYXk6IGdyaWQ7XHJcblx0XHRwbGFjZS1pdGVtczogY2VudGVyO1xyXG5cdFx0d2lkdGg6IDUycHg7XHJcblx0XHRoZWlnaHQ6IDUycHg7XHJcblx0XHRmbGV4OiBub25lO1xyXG5cdFx0bWFyZ2luLXJpZ2h0OiAxcHg7XHJcblx0XHRib3JkZXItcmFkaXVzOiA5OTlweDtcclxuXHRcdGJhY2tncm91bmQ6IG5vbmU7XHJcblx0XHRjb2xvcjogdmFyKC0taW5rLTIpO1xyXG5cdFx0dHJhbnNpdGlvbjogY29sb3IgdmFyKC0tZHVyLWZhc3QpICRlYXNlO1xyXG5cclxuXHRcdC8vICsyMCUsIG1hdGNoaW5nIC5uc2VhcmNoX19idG4gKHdhcyAxN3B4KS5cclxuXHRcdHN2ZyB7IHdpZHRoOiAyMC40cHg7IGhlaWdodDogMjAuNHB4OyB9XHJcblx0fVxyXG5cclxuXHQmOmhvdmVyIGJ1dHRvbixcclxuXHQmOmZvY3VzLXdpdGhpbiBidXR0b24geyBjb2xvcjogdmFyKC0tYWNjZW50LWluayk7IH1cclxufVxyXG5cclxuLy8g4pSA4pSAIE1vYmlsZSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcclxuLmJ1cmdlciB7XHJcblx0ZGlzcGxheTogbm9uZTtcclxuXHR3aWR0aDogNDJweDtcclxuXHRoZWlnaHQ6IDQycHg7XHJcblx0cGxhY2UtaXRlbXM6IGNlbnRlcjtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1saW5lKTtcclxuXHRib3JkZXItcmFkaXVzOiA5OTlweDtcclxuXHJcblx0QGluY2x1ZGUgYXQobGcpIHsgZGlzcGxheTogZ3JpZDsgfVxyXG5cclxuXHRzcGFuIHtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0d2lkdGg6IDE2cHg7XHJcblx0XHRoZWlnaHQ6IDEuNXB4O1xyXG5cdFx0YmFja2dyb3VuZDogdmFyKC0taW5rKTtcclxuXHRcdHRyYW5zaXRpb246IHRyYW5zZm9ybSAuM3MgJGVhc2UsIG9wYWNpdHkgLjJzICRlYXNlO1xyXG5cclxuXHRcdCY6OmJlZm9yZSwgJjo6YWZ0ZXIge1xyXG5cdFx0XHRjb250ZW50OiBcIlwiO1xyXG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdGxlZnQ6IDA7XHJcblx0XHRcdHdpZHRoOiAxNnB4O1xyXG5cdFx0XHRoZWlnaHQ6IDEuNXB4O1xyXG5cdFx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1pbmspO1xyXG5cdFx0XHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjNzICRlYXNlLW91dCwgdG9wIC4zcyAkZWFzZSwgYm90dG9tIC4zcyAkZWFzZTtcclxuXHRcdH1cclxuXHRcdCY6OmJlZm9yZSB7IHRvcDogLTVweDsgfVxyXG5cdFx0Jjo6YWZ0ZXIgIHsgYm90dG9tOiAtNXB4OyB9XHJcblx0fVxyXG5cclxuXHQvLyBHRU9NRVRSWSBPTkxZLiBUaGUgbWlkZGxlIGJhcidzIGNvbG91ciBpcyBOT1Qgc2V0IGhlcmUg4oCUIHNlZSB0aGUgLm5hdlxyXG5cdC8vIGJsb2NrIGF0IHRoZSBib3R0b20gb2YgdGhpcyBmaWxlIGZvciB3aHkgaXQgY2FuJ3QgYmUuXHJcblx0JlthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSBzcGFuIHtcclxuXHRcdCY6OmJlZm9yZSB7IHRvcDogMDsgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpOyB9XHJcblx0XHQmOjphZnRlciAgeyBib3R0b206IDA7IHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7IH1cclxuXHR9XHJcblxyXG5cdC8vIEhvdmVyIGFuZCBvcGVuIHN0YXRlcyBsaXZlIGluIHRoZSAubmF2IGJsb2NrIGF0IHRoZSBib3R0b20gb2YgdGhpcyBmaWxlLFxyXG5cdC8vIG5vdCBoZXJlLiBCb3RoIGhhdmUgdG8gb3V0LXdlaWdoIGAubmF2LmlzLXN0dWNrYCwgd2hpY2ggYSBiYXJlIGAuYnVyZ2VyYFxyXG5cdC8vIHJ1bGUgY2Fubm90IGRvLlxyXG59XHJcblxyXG4vLyDilIDilIAgQnVyZ2VyLCBvcGVuIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxyXG4vLyAgTGl0LCBhbmQgdGhlIG1pZGRsZSBiYXIgaGlkZGVuLiBEZWxpYmVyYXRlbHkgTk9UIGluc2lkZSBjYW4taG92ZXI6IHRoaXMgaXNcclxuLy8gIHRoZSBzdGF0ZSB0aGF0IHNheXMgXCJ0aGUgZHJhd2VyIGlzIHdoYXQgeW91J3JlIGxvb2tpbmcgYXRcIiwgYW5kIG9uIGEgcGhvbmUg4oCUXHJcbi8vICB3aGVyZSB0aGUgZHJhd2VyIG1hdHRlcnMgbW9zdCDigJQgdGhlcmUgaXMgbm8gaG92ZXIgdG8gY2FycnkgaXQuXHJcbi8vXHJcbi8vICDimqAgVEhFIGAubmF2YCBQUkVGSVggQU5EIFRIRSBgc3BhbmAgUlVMRSBBUkUgQk9USCBMT0FELUJFQVJJTkcuIEV2ZXJ5XHJcbi8vICBkZWNsYXJhdGlvbiBoZXJlIGV4aXN0cyB0byBvdXQtd2VpZ2ggYSBgLm5hdi5pcy1zdHVja2AgcnVsZSBuZWFyIHRoZSB0b3Agb2ZcclxuLy8gIHRoaXMgZmlsZSwgd2hpY2ggcmVwYWludHMgdGhlIHdob2xlIGNvbnRyb2wgd2hpdGUgb25jZSB0aGUgaGVhZGVyIHN0aWNrczpcclxuLy9cclxuLy8gICAgLm5hdi5pcy1zdHVjayAuYnVyZ2VyIHNwYW4gIHsgYmFja2dyb3VuZDogI2ZmZiB9ICAgKDAsMywxKVxyXG4vLyAgICAubmF2LmlzLXN0dWNrIC5idXJnZXIgICAgICAgeyBib3JkZXItY29sb3I6IOKApiB9ICAgICgwLDMsMClcclxuLy9cclxuLy8gIEEgYmFyZSBgLmJ1cmdlclthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSBzcGFuYCBpcyBvbmx5ICgwLDIsMSkgYW5kIExPU0VTLCBzbyB0aGVcclxuLy8gIG1pZGRsZSBiYXIgcGFpbnRlZCB3aGl0ZSBpbnN0ZWFkIG9mIHZhbmlzaGluZyBhbmQgdGhlIFggY2FtZSBvdXQgd2l0aCBhIGJhclxyXG4vLyAgc3RydWNrIHRocm91Z2ggaXQg4oCUIEpvZSdzIFwic29tZXRpbWVzIHRoZSBoYW1idXJnZXIgZ2V0cyBtZXNzZWQgdXBcIi4gT25seVxyXG4vLyAgc29tZXRpbWVzIGJlY2F1c2UgaXQgbmVlZHMgdGhlIHBhZ2Ugc2Nyb2xsZWQgZmFyIGVub3VnaCBmb3IgLmlzLXN0dWNrLlxyXG4vL1xyXG4vLyAgV2l0aCBgLm5hdmAgaW4gZnJvbnQgdGhlc2UgYXJlICgwLDMsMSkgYW5kICgwLDMsMCk6IGxldmVsIHBlZ2dpbmcsIGRlY2lkZWQgYnlcclxuLy8gIHNvdXJjZSBvcmRlciwgd2hpY2ggaXMgd2h5IHRoaXMgYmxvY2sgbXVzdCBzdGF5IGF0IHRoZSBCT1RUT00gb2YgdGhlIGZpbGUuXHJcbi5uYXYgLmJ1cmdlciB7XHJcblxyXG5cdC8vIFNhbWUgbGFuZ3VhZ2UgYXMgLnRvZ2dsZSBiZXNpZGUgaXQ6IGJyYW5kIG91dGxpbmUgQU5EIGJyYW5kIGluaywgc28gdGhlXHJcblx0Ly8gd2hvbGUgY29udHJvbCBsaWdodHMgcmF0aGVyIHRoYW4ganVzdCBpdHMgcmluZy4gVGhlIDpub3QoKSBrZWVwcyB0aGVcclxuXHQvLyBtaWRkbGUgYmFyIGhpZGRlbiB3aGlsZSB0aGUgYnVyZ2VyIGlzIGFuIFgg4oCUIHdpdGhvdXQgaXQsIGhvdmVyaW5nIHRoZSBvcGVuXHJcblx0Ly8gc3RhdGUgbGlnaHRzIGEgdGhpcmQgc3Ryb2tlIHN0cmFpZ2h0IHRocm91Z2ggdGhlIGNyb3NzLlxyXG5cdEBpbmNsdWRlIGNhbi1ob3ZlciB7XHJcblx0XHQmOmhvdmVyIHtcclxuXHRcdFx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1hY2NlbnQpO1xyXG5cclxuXHRcdFx0c3Bhbjo6YmVmb3JlLFxyXG5cdFx0XHRzcGFuOjphZnRlciB7IGJhY2tncm91bmQ6IHZhcigtLWFjY2VudC1pbmspOyB9XHJcblx0XHR9XHJcblxyXG5cdFx0Jjpob3Zlcjpub3QoW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdKSBzcGFuIHsgYmFja2dyb3VuZDogdmFyKC0tYWNjZW50LWluayk7IH1cclxuXHR9XHJcblxyXG5cdCZbYXJpYS1leHBhbmRlZD1cInRydWVcIl0ge1xyXG5cdFx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1hY2NlbnQpO1xyXG5cclxuXHRcdC8vIFRoZSBtaWRkbGUgYmFyIElTIHRoZSB0aGluZyB0aGF0IGhhcyB0byBkaXNhcHBlYXIg4oCUIHRoZSB0d28gcHNldWRvLVxyXG5cdFx0Ly8gZWxlbWVudHMgcm90YXRlIGludG8gdGhlIGNyb3NzIGFuZCB0aGlzIG9uZSBzdHJpa2VzIHRocm91Z2ggaXQuXHJcblx0XHRzcGFuIHsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cclxuXHJcblx0XHRzcGFuOjpiZWZvcmUsXHJcblx0XHRzcGFuOjphZnRlciB7IGJhY2tncm91bmQ6IHZhcigtLWFjY2VudC1pbmspOyB9XHJcblx0fVxyXG59XHJcblxyXG4uZHJhd2VyIHtcclxuXHRwb3NpdGlvbjogZml4ZWQ7XHJcblx0aW5zZXQ6IDA7XHJcblx0ei1pbmRleDogOTk7XHJcblx0ZGlzcGxheTogZ3JpZDtcclxuXHRhbGlnbi1jb250ZW50OiBjZW50ZXI7XHJcblx0cGFkZGluZzogdmFyKC0tbmF2LWgpIHZhcigtLWd1dHRlcikgc3AoOCk7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmcpO1xyXG5cdC8vIGNsaXAtcGF0aCB3aXBlIHJhdGhlciB0aGFuIGEgc2xpZGUg4oCUIHJlYWRzIGFzIGEgc2NlbmUgY2hhbmdlLCBub3QgYSBwYW5lbC5cclxuXHRjbGlwLXBhdGg6IGluc2V0KDAgMCAxMDAlIDApO1xyXG5cdHRyYW5zaXRpb246IGNsaXAtcGF0aCAuNnMgJGVhc2Utb3V0O1xyXG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG5cclxuXHQmLmlzLW9wZW4geyBjbGlwLXBhdGg6IGluc2V0KDAgMCAwIDApOyBwb2ludGVyLWV2ZW50czogYWxsOyB9XHJcblxyXG5cdHVsIHsgbGlzdC1zdHlsZTogbm9uZTsgfVxyXG5cclxuXHRsaSB7XHJcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWxpbmUpO1xyXG5cclxuXHRcdC8vIFRoZSBydWxlcyBkaXZpZGUgdGhlIGxpbmtzIGZyb20gZWFjaCBvdGhlcjsgdGhlIG9uZSB1bmRlciB0aGUgbGFzdFxyXG5cdFx0Ly8gaXRlbSBkaXZpZGVzIGl0IGZyb20gbm90aGluZy5cclxuXHRcdCY6bGFzdC1jaGlsZCB7IGJvcmRlci1ib3R0b206IDA7IH1cclxuXHR9XHJcblxyXG5cdGEge1xyXG5cdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRwYWRkaW5nOiBzcCg0KSAwO1xyXG5cdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XHJcblx0XHRmb250LXNpemU6IGZsdWlkKDMwLCA2Mik7XHJcblx0XHRmb250LXdlaWdodDogOTAwO1xyXG5cdFx0bGluZS1oZWlnaHQ6IDE7XHJcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdFx0bGV0dGVyLXNwYWNpbmc6IC0uMDNlbTtcclxuXHRcdC8vIFN0YWdnZXJlZCByaXNlIOKAlCAtLWkgaXMgc2V0IHBlciBpdGVtIGluIHRoZSB0ZW1wbGF0ZS5cclxuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMTAlKTtcclxuXHRcdHRyYW5zaXRpb246IHRyYW5zZm9ybSAuNnMgJGVhc2Utb3V0IGNhbGModmFyKC0taSwgMCkgKiAuMDVzKSwgY29sb3IgdmFyKC0tZHVyLWZhc3QpICRlYXNlO1xyXG5cclxuXHRcdCY6aG92ZXIsXHJcblx0XHQmW2FyaWEtY3VycmVudF0geyBjb2xvcjogdmFyKC0tYWNjZW50LWluayk7IH1cclxuXHR9XHJcblxyXG5cdCYuaXMtb3BlbiBhIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XHJcbn1cclxuXHJcbi8vIOKUgOKUgCBIYXB0aWNzIHN3aXRjaCDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcclxuLy8gIEZvb3Qgb2YgdGhlIGRyYXdlci4gRGVsaWJlcmF0ZWx5IHF1aWV0OiBpdCdzIGEgcHJlZmVyZW5jZSwgbm90IGFcclxuLy8gIGRlc3RpbmF0aW9uLCBzbyBpdCB0YWtlcyB0aGUgc21hbGwgbGFiZWwgdHlwZSByYXRoZXIgdGhhbiBjb21wZXRpbmcgd2l0aCB0aGVcclxuLy8gIGZsdWlkKDMwLCA2MikgbGlua3MgZGlyZWN0bHkgYWJvdmUgaXQuXHJcbi5oYXB0IHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cdGdhcDogc3AoNCk7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0bWFyZ2luLXRvcDogc3AoNSk7XHJcblx0cGFkZGluZy10b3A6IHNwKDQpO1xyXG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1saW5lKTtcclxuXHRjb2xvcjogdmFyKC0taW5rKTtcclxuXHJcblx0QGluY2x1ZGUgbGFiZWw7XHJcblxyXG5cdCZfX3RyYWNrIHtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdGZsZXg6IG5vbmU7XHJcblx0XHR3aWR0aDogNDZweDtcclxuXHRcdGhlaWdodDogMjZweDtcclxuXHRcdGJvcmRlci1yYWRpdXM6IDk5OXB4O1xyXG5cdFx0YmFja2dyb3VuZDogdmFyKC0tbGluZS0yKTtcclxuXHRcdHRyYW5zaXRpb246IGJhY2tncm91bmQgdmFyKC0tZHVyLWZhc3QpICRlYXNlO1xyXG5cdH1cclxuXHJcblx0Ly8gT2Zmc2V0cyBhcmUgaGFuZC1maXR0ZWQgdG8gdGhlIHRyYWNrOiAyNiDiiJIgKDMgw5cgMikgPSAyMHB4IHRhbGwsIGFuZCB0aGVcclxuXHQvLyB0cmF2ZWwgYmVsb3cgaXMgdGhlIHNhbWUgMjBweCwgd2hpY2ggbGFuZHMgaXQgM3B4IG9mZiB0aGUgZmFyIGVuZCBleGFjdGx5XHJcblx0Ly8gYXMgaXQgc3RhcnRzIDNweCBvZmYgdGhlIG5lYXIgb25lLiBDaGFuZ2UgdGhlIHRyYWNrIGFuZCBhbGwgZm91ciBtb3ZlLlxyXG5cdCZfX3RodW1iIHtcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdHRvcDogM3B4O1xyXG5cdFx0bGVmdDogM3B4O1xyXG5cdFx0d2lkdGg6IDIwcHg7XHJcblx0XHRoZWlnaHQ6IDIwcHg7XHJcblx0XHRib3JkZXItcmFkaXVzOiA5OTlweDtcclxuXHRcdGJhY2tncm91bmQ6IHZhcigtLWJnKTtcclxuXHRcdHRyYW5zaXRpb246IHRyYW5zbGF0ZSB2YXIoLS1kdXItZmFzdCkgJGVhc2U7XHJcblx0fVxyXG5cclxuXHQmW2FyaWEtY2hlY2tlZD1cInRydWVcIl0ge1xyXG5cdFx0LmhhcHRfX3RyYWNrIHsgYmFja2dyb3VuZDogdmFyKC0tYWNjZW50KTsgfVxyXG5cdFx0LmhhcHRfX3RodW1iIHsgdHJhbnNsYXRlOiAyMHB4IDA7IH1cclxuXHR9XHJcbn1cclxuXHJcbi8vIEZBREVTIHJhdGhlciB0aGFuIHJpc2luZy4gVGhlIGxpbmtzIGdldCB0aGVpciBzdGFnZ2VyZWQgcmlzZSBmcm9tIGEgdHJhbnNsYXRlXHJcbi8vIG1hc2tlZCBieSBgLmRyYXdlciBsaSB7IG92ZXJmbG93OiBoaWRkZW4gfWA7IHRoaXMgc2l0cyBvdXRzaWRlIHRoYXQgbGlzdCwgc29cclxuLy8gdGhlIHNhbWUgdHJlYXRtZW50IHdvdWxkIHNsaWRlIGFuIHVubWFza2VkIHJvdyB1cCB0aGUgb3BlbiBkcmF3ZXIgaW4gZnVsbFxyXG4vLyB2aWV3LiBPcGFjaXR5IG5lZWRzIG5vIG1hc2suIFNjb3BlZCB0byAuZHJhd2VyIHNvIGEgLmhhcHQgcGxhY2VkIGFueXdoZXJlXHJcbi8vIGVsc2UgaXNuJ3QgaW52aXNpYmxlIGJ5IGRlZmF1bHQuXHJcbi5kcmF3ZXIgLmhhcHQge1xyXG5cdG9wYWNpdHk6IDA7XHJcblx0dHJhbnNpdGlvbjogb3BhY2l0eSAuNHMgJGVhc2UgLjM1cztcclxufVxyXG5cclxuLmRyYXdlci5pcy1vcGVuIC5oYXB0IHsgb3BhY2l0eTogMTsgfVxyXG5cclxuLy8g4pqgIGBib2R5LmlzLWxvY2tlZCB7IG92ZXJmbG93OiBoaWRkZW4gfWAgV0FTIEhFUkUgYW5kIHdhcyByZW1vdmVkIDIwMjYtMDgtMDguXHJcbi8vICBJdCB3YXMgdGhlIGRyYXdlcidzIHNjcm9sbCBsb2NrIGFuZCBpdCBkaWQgbm90IHdvcmsgb24gaU9TLCB3aGljaCBpZ25vcmVzXHJcbi8vICBvdmVyZmxvdzpoaWRkZW4gb24gYm9keSDigJQgdGhlIHBhZ2Ugc2Nyb2xsZWQgaGFwcGlseSBiZWhpbmQgdGhlIG9wZW4gbWVudS5cclxuLy8gIFRoZSBkcmF3ZXIgbm93IHNoYXJlcyB0aGUgbGlnaHRib3gncyBmaXhlZC1ib2R5IGxvY2s6IGBib2R5LmlzLWxvY2tlZC1maXhlZGBcclxuLy8gIGluIF9saWdodGJveC5zY3NzLCBkcml2ZW4gYnkgYS1sb2NrLmpzLiBOb3RoaW5nIHNldHMgLmlzLWxvY2tlZCBhbnkgbW9yZSwgc29cclxuLy8gIHJlLWFkZGluZyB0aGlzIHJ1bGUgd291bGQgc3R5bGUgYSBjbGFzcyB0aGF0IG5ldmVyIGFwcGVhcnMuXHJcbiIsIkB1c2UgXCJ0b2tlbnNcIiBhcyAqO1xyXG5cclxuLy8g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXHJcbi8vICBIRVJPIOKAlCBmdWxsLXZpZXdwb3J0IHRyYW5zbWlzc2lvbiBwYW5lbFxyXG4vL1xyXG4vLyAgVGhlIGhlYWRsaW5lIGlzIHRoZSB3aG9sZSBkZXNpZ24uIEVhY2ggd29yZCBzaXRzIGluIGFuIG92ZXJmbG93OmhpZGRlbiBtYXNrXHJcbi8vICBhbmQgcmlzZXMgb24gbG9hZCwgc28gdGhlIHBhZ2UgYXNzZW1ibGVzIGl0c2VsZiByYXRoZXIgdGhhbiBqdXN0IGFwcGVhcmluZy5cclxuLy8gIE9uZSB3b3JkIGlzIGtub2NrZWQgb3V0IHRvIGFuIG91dGxpbmUgc28gdGhlIHRpdGxlIGhhcyBhIGZvY2FsIHBvaW50IHdpdGhvdXRcclxuLy8gIG5lZWRpbmcgYW4gaW1hZ2UuXHJcbi8vIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxyXG5cclxuLmhlcm8ge1xyXG5cdC8vIFNoYXJlZCBieSB0aGUgYmFja2Ryb3AgcGhvdG8gQU5EIGJ5IHRoZSBoZWFkbGluZSdzIHNpemUgY2FsYyBiZWxvdywgc29cclxuXHQvLyB0aGUgdHdvIGNhbiBuZXZlciBkaXNhZ3JlZSBhYm91dCBob3cgbXVjaCByb29tIGlzIGxlZnQgZm9yIHRoZSB0eXBlLlxyXG5cdC8vIEhlaWdodCBpcyB3aGF0IG1hdHRlcnMgaGVyZSwgbm90IHdpZHRoOiB0aGUgY3V0LW91dCBpcyAwLjc4IHJhdGlvLCBzbyBhXHJcblx0Ly8gNzU5cHggd2lkdGggbWFkZSBoaW0gOTczcHggVEFMTCDigJQgdGFsbGVyIHRoYW4gdGhlIGhlcm8gaXRzZWxmLiBIZW5jZSB0aGVcclxuXHQvLyBsb29taW5nLCBhbmQgdGhlIGNsaXBwZWQgaGVhZC4gfjI2JSBkb3duIHB1dHMgaGltIGF0IH43MThweCB0YWxsLCB3aGljaFxyXG5cdC8vIHNpdHMgaW5zaWRlIHRoZSBoZXJvIHdpdGggcm9vbSBhYm92ZS5cclxuXHQvL1xyXG5cdC8vIFNocmlua2luZyBoaW0gYWxzbyBnaXZlcyB0aGUgaGVhZGxpbmUgYmFjayByZWFsIGVzdGF0ZSwgd2hpY2ggaXMgd2hlcmVcclxuXHQvLyBpdHMgc2l6ZSBpbmNyZWFzZSBjb21lcyBmcm9tIOKAlCBzZWUgJl9fdGl0bGUuXHJcblx0Ly8gKzIwJSBvbiAyMDI2LTA4LTA4IOKAlCB3YXMgY2xhbXAoMjYwcHgsIDM0dncsIDU2MHB4KS4gSGUgd2FzIGJvdHRvbS1hbmNob3JlZFxyXG5cdC8vIGFuZCBvbmx5IH42MjhweCB0YWxsIGluIGEgfjk2OHB4IGhlcm8sIHdoaWNoIGxlZnQgYSB0aGlyZCBvZiB0aGUgZnJhbWVcclxuXHQvLyBlbXB0eSBhYm92ZSBoaW0gYW5kIHJlYWQgYXMgdGhlIGZpZ3VyZSBzaW5raW5nIGludG8gdGhlIGNvcm5lci4gQmVjYXVzZVxyXG5cdC8vIHRoZSBwaG90byBpcyBhbmNob3JlZCB0byB0aGUgYm90dG9tLCBXSURUSCBpcyB3aGF0IGxpZnRzIGhpbTogbW9yZSB3aWR0aFxyXG5cdC8vIGlzIG1vcmUgaGVpZ2h0LCBhbmQgdGhlIGV4dHJhIGhlaWdodCBjYW4gb25seSBnbyB1cHdhcmQuXHJcblx0Ly9cclxuXHQvLyDim5QgVEhFIG1pbigpIElTIEEgR1VBUkQsIE5PVCBBIFRJRFktVVAg4oCUIGRvbid0IHJlbW92ZSBpdC5cclxuXHQvL1xyXG5cdC8vIFRoZSBjb21tZW50IGFib3ZlIHJlY29yZHMgd2h5IHRoaXMgd2FzIGN1dCBpbiB0aGUgZmlyc3QgcGxhY2U6IGF0IDc1OXB4XHJcblx0Ly8gd2lkZSB0aGUgMC43OCBjdXQtb3V0IG1hZGUgaGltIDk3M3B4IFRBTEwsIHRhbGxlciB0aGFuIHRoZSBoZXJvIGl0c2VsZixcclxuXHQvLyBzbyBoZSBsb29tZWQgYW5kIGhpcyBoZWFkIHdhcyBjbGlwcGVkLiBUaGF0IGZhaWx1cmUgaXMgZHJpdmVuIGJ5IFZJRVdQT1JUXHJcblx0Ly8gSEVJR0hULCBhbmQgYSB3aWR0aCBjbGFtcCBjYW5ub3Qgc2VlIHZpZXdwb3J0IGhlaWdodCDigJQgb24gYSB3aWRlLCBzaG9ydFxyXG5cdC8vIGxhcHRvcCAoMTQ0MHg3MjAgaXMgb3JkaW5hcnkpIHRoZSB2dyB0ZXJtIGFsb25lIHdvdWxkIHdhbGsgc3RyYWlnaHQgYmFja1xyXG5cdC8vIGludG8gaXQuXHJcblx0Ly9cclxuXHQvLyBTbyB0aGUgd2lkdGggaXMgYWxzbyBjYXBwZWQgaW4gc3ZoLiBUaGUgZmlndXJlIGlzIGJ1ZGdldGVkIGF0IH44N3N2aFxyXG5cdC8vIHRhbGwg4oCUIGVub3VnaCB0byBmaWxsIHRoZSBmcmFtZSB3aXRoIHRoZSB0b3Agc3RpbGwgaW5zaWRlIGl0LlxyXG5cdC8vXHJcblx0Ly8g4pqgIEVWRVJZIE5VTUJFUiBIRVJFIElTIFRIRSBDVVQtT1VUJ1MgQVNQRUNUIFJBVElPIElOIERJU0dVSVNFLiBUaGVcclxuXHQvLyAyMDI2LTA4LTA2IHBob3RvIHdhcyAwLjc4IChoID0gdyB4IDEuMjgyKTogNjhzdmggd2lkZSA9IDg3c3ZoIHRhbGwuIFRoZVxyXG5cdC8vIDIwMjYtMDktMTQgcGhvdG8gaXMgc3F1YXJlciwgMC44ODkgKGggPSB3IHggMS4xMjUpLCBhbmQgYXQgdGhlIFNBTUVcclxuXHQvLyB3aWR0aCBjYW1lIG91dCAxMiUgc2hvcnRlciDigJQgaGVhZCBkcm9wcGVkIHRvIHRoZSBmb2xkIGxpbmUgYW5kIHRoZVxyXG5cdC8vIHNoaXJ0IHdhcyBjdXQgb2ZmIChcInlvdSBnb3R0YSBtYWtlIGl0IHRhbGxlclwiKS4gU28gdGhlIHdob2xlIGNsYW1wIHdhc1xyXG5cdC8vIHNjYWxlZCBieSAxLjI4Mi8xLjEyNSA9IDEuMTQ6IDc3c3ZoIHggMS4xMjUgPSB0aGUgc2FtZSA4N3N2aCBmaWd1cmUuXHJcblx0Ly8gVGhlbiBhIGZ1cnRoZXIgeDEuMDcgb24gcmV2aWV3IChcImJyaW5nIGhpbSB1cCBhIGJpdCBtb3JlXCIpIOKAlCA4MnN2aCB3aWRlXHJcblx0Ly8gaXMgfjkyc3ZoIG9mIGZpZ3VyZSwgdGhlIGhlYWQgbm93IHdlbGwgYWJvdmUgdGhlIGZvbGQgbGluZS4gRmluYWxcclxuXHQvLyB0cmltIG9mIDIlIChcInNjYWxlIHRoZSBwaG90byBkb3duIDIlIGFuZCB3ZSdyZSBkb25lIHdpdGggaGltXCIpLlxyXG5cdC8vIElmIHRoZSBwaG90byBjaGFuZ2VzIGFnYWluLCByZS1kZXJpdmUgZnJvbSBpdHMgcmF0aW87IGRvbid0IGV5ZWJhbGwuXHJcblx0LS1waG90by13OiBtaW4oY2xhbXAoMzcycHgsIDQ4Ljh2dywgODA0cHgpLCA4MC40c3ZoKTtcclxuXHJcblx0Ly8g4pSA4pSAIDQwNCAoNDA0LnBocCkg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXHJcblx0Ly8gVGhlIGVycm9yIHBhZ2UgaXMgdGhlIGhlcm8sIG1pbnVzIHRoZSB0aWNrZXIgYW5kIHRoZSBzY3JvbGwgY3VlLiBFdmVyeVxyXG5cdC8vIGJpdCBvZiBvdmVyaGFuZyBtYXRoIOKAlCB0aGUgbWluLWhlaWdodCwgdGhlIGJvdHRvbSBwYWRkaW5nLCB0aGUgY3VlJ3NcclxuXHQvLyBvZmZzZXQg4oCUIGlzIGRlcml2ZWQgZnJvbSAtLXRpY2tlci1oLCBzbyB6ZXJvaW5nIHRoZSB0b2tlbiBoZXJlIGlzIHRoZVxyXG5cdC8vIHdob2xlIGNoYW5nZTogYSBwbGFpbiAxMDBzdmggcGFuZWwsIHBob3RvIGFuY2hvcmVkIHRvIGl0cyByZWFsIGJvdHRvbS5cclxuXHQvLyDim5QgRG9uJ3QgcmVzdHlsZSB0aGUgNDA0IHNlcGFyYXRlbHkgYWdhaW4gKGEgLmU0MDQgYmxvY2sgZXhpc3RlZCB1bnRpbFxyXG5cdC8vIDIwMjYtMDktMTcpOyBpdCBzaG91bGQgdHJhY2sgdGhlIGhvbWVwYWdlIGF1dG9tYXRpY2FsbHkuXHJcblx0Ji0tNDA0LFxyXG5cdCYtLW5vLXRpY2tlciB7IC0tdGlja2VyLWg6IDBweDsgfSAgIC8vIC0tbm8tdGlja2VyOiBob21lcGFnZSB3aXRoIDwgU0lHX1RJQ0tFUl9NSU4gdG9waWNzXHJcblxyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHQvLyBPdmVyaGFuZ3MgdGhlIGZvbGQgYnkgRVhBQ1RMWSB0aGUgdGlja2VyJ3MgaGVpZ2h0LCBhbmQgdGhlIHRpY2tlciBvY2N1cGllc1xyXG5cdC8vIHRoYXQgb3ZlcmhhbmcuIFNvIHRoZSBmaXJzdCBzY3JlZW4gaXMgdGhlIGhlcm8gYXMgaXQgYWx3YXlzIHdhcywgYW5kIHRoZVxyXG5cdC8vIHZlcnkgZmlyc3Qgc2Nyb2xsIGJyaW5ncyB0aGUgdGlja2VyIHVwIGludG8gdmlldyBhbG9uZyB3aXRoIHRoZSBib3R0b20gb2ZcclxuXHQvLyB0aGUgcGhvdG8g4oCUIHRoZSB0aWNrZXIgaXMgdGhlIHJld2FyZCBmb3Igc2Nyb2xsaW5nLCBub3QgYSBzZXBhcmF0ZSBiYW5kXHJcblx0Ly8gdGhhdCBoYXBwZW5zIHRvIGJlIG5leHQuXHJcblx0Ly9cclxuXHQvLyBCb3RoIGhhbHZlcyBvZiB0aGF0IGNvbWUgZnJvbSB0aGUgc2FtZSAtLXRpY2tlci1oIHRva2VuOiBhZGQgaXQgdG8gdGhlXHJcblx0Ly8gaGVpZ2h0LCBhZGQgaXQgdG8gdGhlIGJvdHRvbSBwYWRkaW5nLiBUaGUgcGFkZGluZyBpcyB3aGF0IGtlZXBzIHRoZVxyXG5cdC8vIENPTlRFTlQgYm94IGF0IGEgcGxhaW4gMTAwc3ZoLCBzbyBub3RoaW5nIGFib3ZlIHRoZSBmb2xkIG1vdmVzLlxyXG5cdC8vIOKblCBET04nVCBBREQgQU4gaU9TIEZPTEQgT0ZGU0VUIEhFUkUuIFRyaWVkIGFuZCByZXZlcnRlZCwgMjAyNi0wOC0wOC5cclxuXHQvL1xyXG5cdC8vICBUaGUgb2JzZXJ2YXRpb24gd2FzIHJlYWw6IG9uIGlPUyB0aGUgdGlja2VyIGlzIHZpc2libGUgYXQgcmVzdCwgYmVjYXVzZVxyXG5cdC8vICBTYWZhcmkncyBib3R0b20gYmFyIGlzIGEgZmxvYXRpbmcgUElMTCB3aXRoIHRyYW5zcGFyZW50IGdhcHMgcmF0aGVyIHRoYW5cclxuXHQvLyAgYW4gb3BhcXVlIHN0cmlwLCBzbyBjb250ZW50IGdlbnVpbmVseSBiZWxvdyB0aGUgZm9sZCBzdGlsbCBzaG93cyBUSFJPVUdIXHJcblx0Ly8gIGl0LiAxMDBzdmggaXMgbm90IHdyb25nIOKAlCB0aGUgZm9sZCBpcyB3aGVyZSBpdCBzYXlzIGl0IGlzLlxyXG5cdC8vXHJcblx0Ly8gIFRoZSBmaXggcHVzaGVkIHRoZSB0aWNrZXIgZG93biBieSB0aGUgdG9vbGJhciBiYW5kLCBnYXRlZCBiZWhpbmRcclxuXHQvLyAgYEBzdXBwb3J0cyAoLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lKWAuIEl0IHdvcmtlZCwgYW5kIGl0IHdhcyBzdGlsbFxyXG5cdC8vICB3cm9uZzogdGhhdCB0ZXN0IGNhdGNoZXMgQUxMIGlPUyBicm93c2VycywgYmVjYXVzZSBBcHBsZSByZXF1aXJlcyBldmVyeVxyXG5cdC8vICBvbmUgb2YgdGhlbSB0byB1c2UgV2ViS2l0LiBUaGVyZSBpcyBubyBDU1MgdGhhdCBkaXN0aW5ndWlzaGVzIFNhZmFyaSBvblxyXG5cdC8vICBpT1MgZnJvbSBDaHJvbWUgb24gaU9TIOKAlCB0aGV5IGFyZSB0aGUgc2FtZSBlbmdpbmUgcmVwb3J0aW5nIHRoZSBzYW1lXHJcblx0Ly8gIGNhcGFiaWxpdGllcy4gSm9lJ3MgY2FsbCB3YXMgdGhhdCBhIGZpeCBsZWFraW5nIGludG8gQ2hyb21lIG9uIGlPUyBpc1xyXG5cdC8vICB3b3JzZSB0aGFuIHRoZSBjb3NtZXRpYyBpc3N1ZSBpdCBzb2x2ZXMuXHJcblx0Ly9cclxuXHQvLyAgVUEgc25pZmZpbmcgaW4gSlMgY291bGQgdGVsbCB0aGVtIGFwYXJ0IChDcmlPUyAvIEZ4aU9TIGluIHRoZSBzdHJpbmcpLFxyXG5cdC8vICBidXQgdGhhdCBpcyBhIGZyYWdpbGUsIG1haW50ZW5hbmNlLWJlYXJpbmcgaGFjayBmb3IgYSBwZWVrLXRocm91Z2gsIGFuZFxyXG5cdC8vICB3YXMgZXhwbGljaXRseSBkZWNsaW5lZC5cclxuXHRtaW4taGVpZ2h0OiBjYWxjKDEwMHN2aCArIHZhcigtLXRpY2tlci1oKSk7XHJcblx0ZGlzcGxheTogZ3JpZDtcclxuXHQvLyBUd28gcm93cyBub3cg4oCUIHRoZSBPTiBBSVIgc3RhdHVzIHJvdyBpcyBnb25lLCBzbyBldmVyeXRoaW5nIHNpdHMgaGlnaGVyLlxyXG5cdGdyaWQtdGVtcGxhdGUtcm93czogMWZyIGF1dG87XHJcblx0cGFkZGluZy10b3A6IGNhbGModmFyKC0tbmF2LWgpICsgY2xhbXAoLjVyZW0sIDJ2dywgMS41cmVtKSk7XHJcblx0Ly8gUm9vbSBmb3IgdGhlIGFic29sdXRlbHktcG9zaXRpb25lZCBzY3JvbGwgY3VlLCBwbHVzIHRoZSB0aWNrZXIgc3RyaXAuXHJcblx0cGFkZGluZy1ib3R0b206IGNhbGMoY2xhbXAoNHJlbSwgN3ZoLCA2cmVtKSArIHZhcigtLXRpY2tlci1oKSk7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHJcblx0Ly8gU2xvdyByYWRpYWwgYmxvb20gYmVoaW5kIHRoZSB0eXBlIOKAlCBnaXZlcyB0aGUgYmxhY2sgc29tZSBkZXB0aC5cclxuXHQvL1xyXG5cdC8vIFN0cmVuZ3RoIGlzIGEgdmFyaWFibGUgc28gaXQgY2FuIGJlIHJhaXNlZCB3aGVyZSB0aGUgYmxvb20gaXMgZmlnaHRpbmdcclxuXHQvLyBzb21ldGhpbmcuIEl0IHdhcyBhIGZsYXQgMjIlLCB3aGljaCByZWFkIGFzIGEgc3RhdGljIHNtdWRnZSBvbiBhIHBob25lOlxyXG5cdC8vIHRoZSBibG9vbSBpcyB6LWluZGV4IDAsIEJFSElORCB0aGUgcGhvdG8gYXQgei1pbmRleCAxLCBhbmQgb24gbW9iaWxlIHRoYXRcclxuXHQvLyBwaG90byBpcyAxMTF2dyB3aWRlIGFuZCBjb3ZlcnMgbW9zdCBvZiB0aGUgc2NyZWVuLiBNb3Rpb24gYWxvbmUgd291bGRuJ3RcclxuXHQvLyBoYXZlIGZpeGVkIHRoYXQg4oCUIGl0IHdhcyB0b28gZmFpbnQgdG8gc2VlIG1vdmluZy5cclxuXHQtLWJsb29tOiAzNCU7XHJcblxyXG5cdCY6OmJlZm9yZSB7XHJcblx0XHQvLyDij7ggSElEREVOIDIwMjYtMDgtMDcg4oCUIEpvZSBpc24ndCBzb2xkIG9uIGl0LiBFdmVyeXRoaW5nIGJlbG93IGlzIGludGFjdFxyXG5cdFx0Ly8gYW5kIGNvcnJlY3Q7IGRlbGV0ZSB0aGlzIG9uZSBsaW5lIHRvIGJyaW5nIGl0IGJhY2suXHJcblx0XHQvL1xyXG5cdFx0Ly8gZGlzcGxheTpub25lIHJhdGhlciB0aGFuIGEgdHJhbnNwYXJlbnQgZmlsbCBvbiBwdXJwb3NlOiBpdCBzdG9wcyB0aGVcclxuXHRcdC8vIGVsZW1lbnQgcmVuZGVyaW5nIGF0IGFsbCwgc28gdGhlIHR3byBhbmltYXRpb25zIGJlbG93IHN0b3AgY29zdGluZ1xyXG5cdFx0Ly8gY29tcG9zaXRvciB3b3JrIGZvciBzb21ldGhpbmcgbm9ib2R5IGNhbiBzZWUuXHJcblx0XHRkaXNwbGF5OiBub25lO1xyXG5cclxuXHRcdGNvbnRlbnQ6IFwiXCI7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHR0b3A6IC0yMCU7XHJcblx0XHRsZWZ0OiA1MCU7XHJcblx0XHR3aWR0aDogbWluKDEyMHZ3LCAxNDAwcHgpO1xyXG5cdFx0YXNwZWN0LXJhdGlvOiAxO1xyXG5cdFx0YmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSxcclxuXHRcdFx0Y29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWFjY2VudCkgdmFyKC0tYmxvb20pLCB0cmFuc3BhcmVudCkgMCUsXHJcblx0XHRcdHRyYW5zcGFyZW50IDYyJSk7XHJcblx0XHRwb2ludGVyLWV2ZW50czogbm9uZTtcclxuXHJcblx0XHQvLyBJbmRpdmlkdWFsIGB0cmFuc2xhdGVgIC8gYHNjYWxlYCwgTk9UIHRoZSB0cmFuc2Zvcm0gc2hvcnRoYW5kLlxyXG5cdFx0Ly8gVGhlIGVsZW1lbnQgaXMgY2VudHJlZCB3aXRoIC01MCUgb24geCwgc28gc2hvcnRoYW5kIGtleWZyYW1lcyB3b3VsZFxyXG5cdFx0Ly8gaGF2ZSB0byByZXN0YXRlIHRoYXQgb24gZXZlcnkgc2luZ2xlIGZyYW1lIOKAlCBtaXNzIGl0IG9uY2UgYW5kIHRoZVxyXG5cdFx0Ly8gYmxvYiBzbmFwcyB0byB0aGUgbGVmdCBlZGdlLiBTZXBhcmF0ZSBwcm9wZXJ0aWVzIGNvbXBvc2UgaW5zdGVhZCwgc29cclxuXHRcdC8vIHRoZSBjZW50cmluZyBsaXZlcyBoZXJlIGFuZCB0aGUgYW5pbWF0aW9uIG9ubHkgc2F5cyBob3cgZmFyIGl0IHN0cmF5cy5cclxuXHRcdHRyYW5zbGF0ZTogLTUwJSAwO1xyXG5cclxuXHRcdC8vIFR3byBhbmltYXRpb25zIG9uIHB1cnBvc2UsIHdpdGggZHVyYXRpb25zIHRoYXQgZG9uJ3QgZGl2aWRlIGludG8gZWFjaFxyXG5cdFx0Ly8gb3RoZXIuIFRoZSBkcmlmdCBhbmQgdGhlIHB1bHNlIGZhbGwgb3V0IG9mIHBoYXNlIGFuZCBiYWNrIG92ZXIgYWJvdXRcclxuXHRcdC8vIHR3ZW50eSBtaW51dGVzLCBzbyB0aGUgbW90aW9uIG5ldmVyIHJlYWRzIGFzIGEgbG9vcC4gT25lIGNvbWJpbmVkXHJcblx0XHQvLyBhbmltYXRpb24gd291bGQgcmVwZWF0IHZpc2libHkgZXZlcnkgY3ljbGUuXHJcblx0XHQvL1xyXG5cdFx0Ly8gQm90aCBhcmUgdHJhbnNmb3JtLWZhbWlseSwgc28gdGhpcyBzdGF5cyBvbiB0aGUgY29tcG9zaXRvci4gQW5pbWF0aW5nXHJcblx0XHQvLyB0b3AvbGVmdCB3b3VsZCByZWxheW91dCBldmVyeSBmcmFtZSDigJQgdGhlIHdvcnN0IHRoaW5nIHRvIGhhbmQgdGhlXHJcblx0XHQvLyBtYWluIHRocmVhZCBpcyBhIGZ1bGwtdmlld3BvcnQgYmx1cnJlZCBncmFkaWVudC5cclxuXHRcdGFuaW1hdGlvbjogYmxvb20tZHJpZnQgNTNzIGVhc2UtaW4tb3V0IGluZmluaXRlLFxyXG5cdFx0XHRcdCAgIGJsb29tLXB1bHNlIDM3cyBlYXNlLWluLW91dCBpbmZpbml0ZSBhbHRlcm5hdGU7XHJcblx0fVxyXG5cclxuXHQvLyBNb2JpbGU6IHJhaXNlIGl0IGZ1cnRoZXIgc3RpbGwuIEV2ZW4gYXQgMzQlIGl0J3MgY29tcGV0aW5nIHdpdGggdGhlIHBob3RvXHJcblx0Ly8gb24gdG9wIG9mIGl0LCBhbmQgdGhpcyBpcyB3aGVyZSBKb2Ugc2FpZCBoZSBjb3VsZCBiYXJlbHkgc2VlIGl0LlxyXG5cdEBpbmNsdWRlIGF0KG1kKSB7XHJcblx0XHQtLWJsb29tOiA0OCU7XHJcblx0fVxyXG5cclxuXHQmX19pbm5lciB7XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHR6LWluZGV4OiAyO1xyXG5cdFx0d2lkdGg6IG1pbigxMDAlIC0gdmFyKC0tZ3V0dGVyKSAqIDIsIHZhcigtLW1heHcpKTtcclxuXHRcdG1hcmdpbi1pbmxpbmU6IGF1dG87XHJcblx0XHRkaXNwbGF5OiBjb250ZW50cztcclxuXHR9XHJcblxyXG5cdC8vIOKUgOKUgCBCYWNrZHJvcCBwaG90byDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcclxuXHQvLyAgQW5jaG9yZWQgdG8gdGhlIGJvdHRvbS1yaWdodCBjb3JuZXIgYW5kIHNpdHRpbmcgQkVISU5EIGV2ZXJ5dGhpbmc6IHRoZVxyXG5cdC8vICBoZXJvJ3Mgb3duIGNvbnRlbnQgaXMgei1pbmRleCAyLCB0aGUgYmxvb20gZ3JhZGllbnQgaXMgMCwgdGhpcyBpcyAxIOKAlCBzb1xyXG5cdC8vICB0aGUgcGhvdG8gcmVhZHMgYWJvdmUgdGhlIGdsb3cgYnV0IHVuZGVyIHRoZSBoZWFkbGluZSBhbmQgdGhlIENUQXMuXHJcblx0Ly9cclxuXHQvLyAgcG9pbnRlci1ldmVudHM6IG5vbmUgbWF0dGVycyDigJQgd2l0aG91dCBpdCB0aGUgaW1hZ2Ugd291bGQgc3dhbGxvdyBjbGlja3NcclxuXHQvLyAgb24gdGhlIFwiQWxsIGVwaXNvZGVzXCIgYnV0dG9uLCB3aGljaCBvdmVybGFwcyBpdCBhdCBzb21lIHdpZHRocy5cclxuXHQvL1xyXG5cdC8vICBUaGUgaGVybyBhbHJlYWR5IGhhcyBvdmVyZmxvdzpoaWRkZW4sIHNvIHRoZSBibGVlZCBvZmYgdGhlIHJpZ2h0IGFuZFxyXG5cdC8vICBib3R0b20gZWRnZXMgaXMgY2xpcHBlZCByYXRoZXIgdGhhbiBjcmVhdGluZyBhIHNjcm9sbGJhci5cclxuXHQmX19waG90byB7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRyaWdodDogMDtcclxuXHRcdC8vIFRoZSBib3R0b20gb2YgdGhlIEhFUk8sIHdoaWNoIG5vdyBpbmNsdWRlcyB0aGUgb3Zlcmhhbmcg4oCUIHNvIHRoZSBwaG90b1xyXG5cdFx0Ly8gcnVucyBvbiBiZWhpbmQgdGhlIHRpY2tlciBpbnN0ZWFkIG9mIHN0b3BwaW5nIGF0IGl0cyB0b3AgZWRnZS5cclxuXHRcdC8vXHJcblx0XHQvLyBJdCB3YXMgYnJpZWZseSBhbmNob3JlZCB0byB0aGUgZm9sZCAoYm90dG9tOiB2YXIoLS10aWNrZXItaCkpIHRvIGtlZXBcclxuXHRcdC8vIGFydHdvcmsgb3V0IGZyb20gdW5kZXIgYSB0aGVuLXRyYW5zcGFyZW50IHRpY2tlci4gVGhhdCBsZWZ0IHRoZSBwaG90b1xyXG5cdFx0Ly8gdGVybWluYXRpbmcgaW4gYSBoYXJkIGhvcml6b250YWwgY3V0IHJpZ2h0IHdoZXJlIHRoZSB0aWNrZXIgYmVnYW4sXHJcblx0XHQvLyB3aGljaCBpcyB3aGF0IEpvZSBzcG90dGVkLiBUaGUgdGlja2VyIGhhcyBpdHMgZmlsbCBiYWNrLCBzbyBpdCBoaWRlc1xyXG5cdFx0Ly8gdGhlIHBob3RvJ3MgYm90dG9tIGVkZ2UgYW5kIHRoZXJlJ3Mgbm8gc2VhbSB0byBzZWUuXHJcblx0XHQvL1xyXG5cdFx0Ly8gMjAyNi0wOS0xNDogbm93IHotaW5kZXggMiwgQUJPVkUgdGhlIHRpY2tlciAoMSkg4oCUIHRoZSB0b3BpY3MgcnVuXHJcblx0XHQvLyBiZWhpbmQgaGltLiBMZXZlbCB3aXRoIHRoZSBjb3B5LCBidXQgdGhlIHBob3RvIGNvbWVzIGZpcnN0IGluIHRoZVxyXG5cdFx0Ly8gRE9NIHNvIHRoZSBoZWFkbGluZSBzdGlsbCBwYWludHMgb24gdG9wIHdoZXJlIHRoZSB0d28gYm94ZXMgbWVldC5cclxuXHRcdGJvdHRvbTogMDtcclxuXHRcdHotaW5kZXg6IDI7XHJcblx0XHQvLyArMTUlIG92ZXIgdGhlIG9yaWdpbmFsIGNsYW1wKDMwMHB4LCA0MHZ3LCA2NjBweCkuXHJcblx0XHR3aWR0aDogdmFyKC0tcGhvdG8tdyk7XHJcblx0XHRwb2ludGVyLWV2ZW50czogbm9uZTtcclxuXHRcdHVzZXItc2VsZWN0OiBub25lO1xyXG5cdFx0Ly8gRnVsbCBzdHJlbmd0aCBvbiBkZXNrdG9wLiBUaGUgY2xpZW50IGFza2VkIGZvciB0aGUgcGhvbmUncyAuMjIgb25cclxuXHRcdC8vIDIwMjYtMDktMTUsIHNhdyBpdCwgYW5kIHB1bGxlZCBpdCB3aXRoaW4gdGhlIGhvdXIgKFwidGhlIGNsaWVudFxyXG5cdFx0Ly8gZG9lc24ndCBsaWtlIGl0IGxvbFwiKS4gVGhlIGZpZ3VyZSBpcyBhIFNVQkpFQ1QgaGVyZSwgbm90IHRoZVxyXG5cdFx0Ly8gYmFja2Ryb3AgaXQgaXMgb24gYSBwaG9uZSDigJQgZGltbWVkLCBpdCByZWFkcyBhcyBhIHdhdGVybWFyay5cclxuXHJcblx0XHRwaWN0dXJlIHsgZGlzcGxheTogYmxvY2s7IH1cclxuXHJcblx0XHQvLyBEZXNrdG9wOiB0aGUgdG9waWMgbGlua3MgYXJlIE5PVCBjbGlja2FibGUgdGhyb3VnaCBoaW0gKEpvZSxcclxuXHRcdC8vIDIwMjYtMDktMTcg4oCUIFwiaGUgaGFzIG5vIHBvaW50ZXIgZXZlbnRzIGJ1dCBrZWVwIHRoZW1cIikuIFRoZSBwaG90b1xyXG5cdFx0Ly8gc3RheXMgcG9pbnRlci1ldmVudHM6bm9uZSBhcyBhIHdob2xlIGJlY2F1c2UgaXQgb3ZlcmxhcHMgdGhlIENUQXMgYXRcclxuXHRcdC8vIHNvbWUgd2lkdGhzOyBvbmx5IGEgc3RyaXAgdGhlIHRpY2tlcidzIGhlaWdodCBhbG9uZyBpdHMgYm90dG9tIGVkZ2VcclxuXHRcdC8vIGNhdGNoZXMgdGhlIHBvaW50ZXIsIHNvIHRoZSBsaW5rcyBoZSBjb3ZlcnMgYXJlIGRlYWQgYW5kIHRoZSBvbmVzXHJcblx0XHQvLyBlaXRoZXIgc2lkZSBvZiBoaW0gc3RpbGwgd29yay4gUGhvbmUga2VlcHMgY2xpY2stdGhyb3VnaDogdGhlcmUgaGVcclxuXHRcdC8vIGlzIGEgYmFja2Ryb3Agb3ZlciBtb3N0IG9mIHRoZSBzdHJpcC5cclxuXHRcdEBtZWRpYSAobWluLXdpZHRoOiAjeyRicC1tZCArIDF9KSB7XHJcblx0XHRcdCY6OmFmdGVyIHtcclxuXHRcdFx0XHRjb250ZW50OiAnJztcclxuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdFx0bGVmdDogMDtcclxuXHRcdFx0XHRyaWdodDogMDtcclxuXHRcdFx0XHRib3R0b206IDA7XHJcblx0XHRcdFx0aGVpZ2h0OiB2YXIoLS10aWNrZXItaCk7XHJcblx0XHRcdFx0cG9pbnRlci1ldmVudHM6IGF1dG87XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHRpbWcge1xyXG5cdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdGhlaWdodDogYXV0bztcclxuXHRcdH1cclxuXHJcblx0XHQvLyBPbiBtb2JpbGUgaXQgYmVjb21lcyBhIGxhcmdlIGJhY2tkcm9wIGJpc2VjdGVkIGJ5IHRoZSByaWdodCBlZGdlOlxyXG5cdFx0Ly8gcm91Z2hseSBoYWxmIHRoZSBmaWd1cmUgdmlzaWJsZSwgdGhlIG90aGVyIGhhbGYgcnVubmluZyBvZmYtc2NyZWVuLlxyXG5cdFx0Ly9cclxuXHRcdC8vIHRyYW5zbGF0ZVgoNTAlKSBpcyB3aGF0IGRvZXMgaXQg4oCUIGEgcGVyY2VudGFnZSBUUkFOU0xBVEUgcmVzb2x2ZXNcclxuXHRcdC8vIGFnYWluc3QgdGhlIGVsZW1lbnQncyBvd24gd2lkdGgsIHVubGlrZSBgcmlnaHQ6IC01MCVgLCB3aGljaCB3b3VsZFxyXG5cdFx0Ly8gcmVzb2x2ZSBhZ2FpbnN0IHRoZSBoZXJvJ3Mgd2lkdGggYW5kIGxhbmQgbm93aGVyZSBuZWFyIGhhbGYuXHJcblx0XHQvLyBTbzogMTExdncgd2lkZSwgc2hpZnRlZCByaWdodCBieSB+NTV2dywgbGVhdmluZyB+NTV2dyBvbiBzY3JlZW4uIFRoZVxyXG5cdFx0Ly8gaGVybydzIG92ZXJmbG93OmhpZGRlbiBjbGlwcyB0aGUgcmVzdCwgc28gbm9uZSBvZiB0aGlzIGNyZWF0ZXMgYVxyXG5cdFx0Ly8gaG9yaXpvbnRhbCBzY3JvbGxiYXIuXHJcblx0XHQvL1xyXG5cdFx0Ly8gV2lkdGggaXMgdGhlIGtub2IsIGJ1dCBIRUlHSFQgaXMgd2hhdCdzIGJlaW5nIHR1bmVkOiBib3R0b20tYW5jaG9yZWQsXHJcblx0XHQvLyB0aGUgdG9wIGVkZ2UgaXMgc2V0IGJ5IGhlaWdodCA9IHdpZHRoIHggMS4yODIgKDAuNzggcmF0aW8pLiAxMTF2d1xyXG5cdFx0Ly8gcHV0cyBoaW0gfjE0MnZ3IHRhbGwsIHNvIGhpcyBoZWFkIGxhbmRzIGFib3V0IGEgZmlmdGggb2YgdGhlIHdheSBkb3duXHJcblx0XHQvLyB0aGUgdmlld3BvcnQuXHJcblx0XHQvL1xyXG5cdFx0Ly8gVHVuZWQgb24gSm9lJ3MgZXllIGFjcm9zcyBmb3VyIHBhc3NlczogMTExdncg4oaSIDEzMHZ3IChoZSBtYXJrZWQgaG93IGZhclxyXG5cdFx0Ly8gdXAgaGUgd2FudGVkIHRoZSBmaWd1cmUgdG8gcmVhY2gpIOKGkiAxNDUuNnZ3IOKGkiAxMzguMzJ2dywgYmFja2luZyBvZmYgNSUuXHJcblx0XHQvLyBUaGUgcGhvdG8gaXMgYm90dG9tLWFuY2hvcmVkIGFuZCBpdHMgaGVpZ2h0IGlzIHdpZHRoIHggMS4yODIsIHNvIHRoaXNcclxuXHRcdC8vIG51bWJlciBhbG9uZSBzZXRzIHdoZXJlIHRoZSB0b3AgZWRnZSBsYW5kczogMTM4LjMydncgcHV0cyBoaW0gfjE3N3Z3XHJcblx0XHQvLyB0YWxsLlxyXG5cdFx0Ly9cclxuXHRcdC8vIOKaoCBDRUlMSU5HIElTIH4xNDh2dy4gVGhhdCB3YXMgdHJpZWQgb24gdGhpcyBzYW1lIGltYWdlIGFuZCBoZSBzd2FsbG93ZWRcclxuXHRcdC8vIHRoZSBlbnRpcmUgc2NyZWVuLCBzbyB0aGVyZSBpcyByb3VnaGx5IDEwdncgb2YgaGVhZHJvb20gYWJvdmUgdGhlXHJcblx0XHQvLyBjdXJyZW50IHZhbHVlIGFuZCBub25lIGFib3ZlIDE0OC4gR29pbmcgYmV5b25kIGl0IG5lZWRzIHRoZVxyXG5cdFx0Ly8gY29tcG9zaXRpb24gcmV0aGlua2luZyDigJQgYSB0aWdodGVyIGNyb3AsIG9yIGRyb3BwaW5nIHRoZVxyXG5cdFx0Ly8gYm90dG9tLWFuY2hvcmluZyDigJQgbm90IGEgYmlnZ2VyIG51bWJlci5cclxuXHRcdEBpbmNsdWRlIGF0KG1kKSB7XHJcblx0XHRcdHdpZHRoOiAxMzguMzJ2dztcclxuXHRcdFx0cmlnaHQ6IDA7XHJcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1MCUpO1xyXG5cdFx0XHRvcGFjaXR5OiAuMjI7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQvLyDilIDilIAgSGVhZGxpbmUg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXHJcblx0Ly9cclxuXHQvLyAgU0laSU5HIElTIENPTlNUUkFJTkVEIFRIUkVFIFdBWVMsIGFuZCBpdCBoYXMgdG8gYmU6XHJcblx0Ly9cclxuXHQvLyAgIDEyLjV2dyAg4oCUIHRoZSBsb25nZXN0IHdvcmQgaGFzIHRvIEZJVCBUSEUgQ09OVEFJTkVSLiBcIkVWRVJZVEhJTkdcIiBpcyAxMFxyXG5cdC8vICAgICAgICAgICAgIGNoYXJhY3RlcnM7IGluIGEgOTAwLXdlaWdodCBncm90ZXNxdWUgYXQgLS4wNDVlbSB0cmFja2luZyBlYWNoXHJcblx0Ly8gICAgICAgICAgICAgdXBwZXJjYXNlIGdseXBoIGFkdmFuY2VzIHJvdWdobHkgLjYyZW0sIHNvIHRoZSB3b3JkIGlzIH42LjJlbVxyXG5cdC8vICAgICAgICAgICAgIHdpZGUuIFRoZSBjb250YWluZXIgaXMgYWJvdXQgOTJ2dywgc28gOTIvNi4yIOKJiCAxNC44dncgaXMgdGhlXHJcblx0Ly8gICAgICAgICAgICAgYWJzb2x1dGUgY2VpbGluZyDigJQgMTIuNXZ3IGxlYXZlcyByZWFsIG1hcmdpbiBmb3IgYSBmb250IHdob3NlXHJcblx0Ly8gICAgICAgICAgICAgbWV0cmljcyBkaWZmZXIgZnJvbSB0aGF0IGVzdGltYXRlLiBUaGUgcHJldmlvdXMgZmx1aWQoNTYsMjYwKVxyXG5cdC8vICAgICAgICAgICAgIGlnbm9yZWQgd29yZCBsZW5ndGggZW50aXJlbHksIHdoaWNoIGlzIHdoeSB0aGUgRyByYW4gb2ZmIHRoZVxyXG5cdC8vICAgICAgICAgICAgIHJpZ2h0IGVkZ2UuXHJcblx0Ly9cclxuXHQvLyAgIDE4c3ZoICAg4oCUIHRocmVlIGxpbmVzIGF0IC44MiBsZWFkaW5nIG11c3QgbGVhdmUgcm9vbSBmb3IgdGhlIGJsdXJiLCB0aGVcclxuXHQvLyAgICAgICAgICAgICBDVEFzIGFuZCB0aGUgc2Nyb2xsIGN1ZSBXSVRIT1VUIHB1c2hpbmcgdGhlbSB1bmRlciB0aGUgZm9sZC5cclxuXHQvLyAgICAgICAgICAgICAzIMOXIC44MiDDlyAxOHN2aCDiiYggNDRzdmggZm9yIHRoZSB0aXRsZSwgbGVhdmluZyB+NTZzdmggZm9yXHJcblx0Ly8gICAgICAgICAgICAgZXZlcnl0aGluZyBlbHNlLiBUaGlzIGlzIHdoYXQgcHJvdGVjdHMgc2hvcnQvbGFuZHNjYXBlXHJcblx0Ly8gICAgICAgICAgICAgdmlld3BvcnRzLCB3aGVyZSBhIHZ3LW9ubHkgc2l6ZSB3b3VsZCBiZSBlbm9ybW91cy5cclxuXHQvL1xyXG5cdC8vICAgMTkwcHggICDigJQgYSBmbGF0IGNhcCBzbyBpdCBzdG9wcyBncm93aW5nIG9uIHVsdHJhd2lkZSBkaXNwbGF5cy5cclxuXHQvL1xyXG5cdC8vICBDaGFuZ2UgdGhlIGNvcHkgYW5kIHlvdSBtdXN0IHJlLWNoZWNrIHRoZSBmaXJzdCBudW1iZXIuXHJcblx0Jl9fdGl0bGUge1xyXG5cdFx0Z3JpZC1yb3c6IDE7XHJcblx0XHRhbGlnbi1zZWxmOiBjZW50ZXI7XHJcblx0XHR3aWR0aDogbWluKDEwMCUgLSB2YXIoLS1ndXR0ZXIpICogMiwgdmFyKC0tbWF4dykpO1xyXG5cdFx0bWFyZ2luLWlubGluZTogYXV0bztcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdHotaW5kZXg6IDI7XHJcblxyXG5cdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XHJcblx0XHRmb250LXdlaWdodDogOTAwO1xyXG5cdFx0Zm9udC1zaXplOiBtaW4oMTIuNXZ3LCAxOHN2aCwgMTkwcHgpO1xyXG5cdFx0bGluZS1oZWlnaHQ6IGNhbGMoLjgyICogdmFyKC0tZGlzcGxheS1sZWFkaW5nKSk7XHJcblx0XHRsZXR0ZXItc3BhY2luZzogLS4wNDVlbTtcclxuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblxyXG5cdFx0Ly8g4pSA4pSAIEFib3ZlIG1vYmlsZToga2VlcCBjbGVhciBvZiB0aGUgYmFja2Ryb3AgcGhvdG8g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXHJcblx0XHQvLyAgVGhlIDEyLjV2dyBhYm92ZSBpcyBkZXJpdmVkIGZyb20gdGhlIENPTlRBSU5FUiB3aWR0aCwgd2hpY2ggYXNzdW1lc1xyXG5cdFx0Ly8gIHRoZSBoZWFkbGluZSBvd25zIHRoZSBmdWxsIHJvdy4gRnJvbSBtZCB1cCBpdCBkb2Vzbid0IOKAlCB0aGUgcGhvdG9cclxuXHRcdC8vICBvY2N1cGllcyB0aGUgcmlnaHQgc2lkZSwgYW5kIFwiRVZFUllUSElOR1wiIHJhbiBzdHJhaWdodCBpbnRvIGhpbS5cclxuXHRcdC8vXHJcblx0XHQvLyAgRGVyaXZhdGlvbjogdGhlIHBob3RvIGlzIDQ2dncgYW5jaG9yZWQgcmlnaHQsIHNvIGl0cyBsZWZ0IGVkZ2Ugc2l0c1xyXG5cdFx0Ly8gIGF0IH41NHZ3IHdoZXJldmVyIHRoYXQgY2xhbXAgaXMgYWN0aXZlIChpdCBvbmx5IGdldHMgZnVydGhlciByaWdodFxyXG5cdFx0Ly8gIG9uY2UgdGhlIDc1OXB4IGNhcCBraWNrcyBpbikuIFRoZSB0aXRsZSBzdGFydHMgYXQgdGhlIGd1dHRlciwgfjR2dy5cclxuXHRcdC8vICBUaGF0IGxlYXZlcyB+NTB2dy4gXCJFVkVSWVRISU5HXCIgaXMgfjYuMmVtIHdpZGUgYXQgdGhpcyB3ZWlnaHQgYW5kXHJcblx0XHQvLyAgdHJhY2tpbmcsIHNvIDUwIC8gNi4yIOKJiCA4dncgaXMgdGhlIGhhcmQgY2VpbGluZzsgNy44dncga2VlcHMgYVxyXG5cdFx0Ly8gIG1hcmdpbiBmb3IgYSBmb250IHdob3NlIG1ldHJpY3MgZGlmZmVyIGZyb20gdGhhdCBlc3RpbWF0ZS5cclxuXHRcdC8vXHJcblx0XHQvLyAgTW9iaWxlIGtlZXBzIHRoZSBsYXJnZXIgc2l6ZSBvbiBwdXJwb3NlIOKAlCB0aGVyZSB0aGUgcGhvdG8gaXMgYSAyMiVcclxuXHRcdC8vICBiYWNrZHJvcCB0aGUgY29weSBpcyBNRUFOVCB0byBzaXQgb3Zlci5cclxuXHRcdEBtZWRpYSAobWluLXdpZHRoOiAjeyRicC1tZCArIDF9KSB7XHJcblx0XHRcdC8vIERlcml2ZWQsIG5vdCBndWVzc2VkOiB0YWtlIHRoZSB2aWV3cG9ydCwgc3VidHJhY3QgdGhlIHBob3RvLCB0aGVcclxuXHRcdFx0Ly8gbGVmdCBndXR0ZXIgYW5kIGEgYnJlYXRoaW5nIGdhcCDigJQgdGhhdCdzIHRoZSByb29tIHRoZSBoZWFkbGluZVxyXG5cdFx0XHQvLyBhY3R1YWxseSBoYXMuIFwiRVZFUllUSElOR1wiIGlzIH42LjJlbSB3aWRlIGF0IHRoaXMgd2VpZ2h0IGFuZFxyXG5cdFx0XHQvLyB0cmFja2luZywgc28gZGl2aWRpbmcgYnkgNi4yIGdpdmVzIHRoZSBsYXJnZXN0IHNpemUgdGhhdCBzdGlsbFxyXG5cdFx0XHQvLyBjbGVhcnMgaGltLCBhdCBldmVyeSB3aWR0aCBhdXRvbWF0aWNhbGx5LlxyXG5cdFx0XHQvL1xyXG5cdFx0XHQvLyAxNzJweCBjYXAgaXMgdGhlIG1pZHBvaW50IG9mIHRoZSBvcmlnaW5hbCAxOTBweCBhbmQgdGhlIDE1NXB4IGl0XHJcblx0XHRcdC8vIHdhcyBjdXQgdG8uIE9uIHdpZGUgc2NyZWVucywgd2hlcmUgdGhlIHBob3RvIGhpdHMgaXRzIDc1OXB4IGNhcFxyXG5cdFx0XHQvLyBhbmQgc3RvcHMgZ3Jvd2luZywgdGhhdCBtaWRwb2ludCBpcyB3aGF0IHlvdSBnZXQuXHJcblx0XHRcdC8vIDIwMjYtMDktMTQ6IGRpdmlzb3IgNi4yIOKGkiA1LjYgYW5kIGNhcHMgbGlmdGVkICgxN3N2aC8xNzJweCDihpJcclxuXHRcdFx0Ly8gMTlzdmgvMTkwcHgpIHdpdGggdGhlIHdpZGVyIHBob3RvIOKAlCBcIm1ha2UgdGhlIEgxIGEgYml0IGJpZ2dlclwiLlxyXG5cdFx0XHQvLyA1LjYgbGV0cyBcIkVWRVJZVEhJTkdcIiByZWFjaCB+MTAlIGludG8gdGhlIHBob3RvJ3MgYm94LCB3aGljaCBpc1xyXG5cdFx0XHQvLyB0cmFuc3BhcmVudCB0aGVyZTogdGhlIGN1dC1vdXQncyBsZWZ0IHRoaXJkIGF0IHRpdGxlIGhlaWdodCBpc1xyXG5cdFx0XHQvLyBlbXB0eSBhaXIgYmVzaWRlIGhpcyBmYWNlLiBUaGUgbWljIGFuZCBzaG91bGRlciBhcmUgbG93ZXIuXHJcblx0XHRcdGZvbnQtc2l6ZTogbWluKFxyXG5cdFx0XHRcdGNhbGMoKDEwMHZ3IC0gdmFyKC0tcGhvdG8tdykgLSB2YXIoLS1ndXR0ZXIpIC0gMS41cmVtKSAvIDUuNiksXHJcblx0XHRcdFx0MTlzdmgsXHJcblx0XHRcdFx0MTkwcHhcclxuXHRcdFx0KTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC8vIE1hc2sgKyByaXNlLiBUaGUgd29yZCBpdHNlbGYgaXMgdGhlIGlubmVyIHNwYW4uXHJcblx0Ly9cclxuXHQvLyBsaW5lLWhlaWdodCAuODIgbWFrZXMgdGhlIGxpbmUgYm94IFNIT1JURVIgdGhhbiB0aGUgZ2x5cGhzLCBzbyByb3VuZFxyXG5cdC8vIGxldHRlcnMgdGhhdCBvdmVyc2hvb3QgdGhlIGJhc2VsaW5lIChHLCBPLCBTKSBhbmQgYW55IGRlc2NlbmRlciBnZXRcclxuXHQvLyBzbGljZWQgb2ZmIGJ5IG92ZXJmbG93OmhpZGRlbi4gUGFkZGluZyBnaXZlcyB0aGUgbWFzayByb29tIHRvIHNob3cgdGhlXHJcblx0Ly8gZnVsbCBnbHlwaDsgdGhlIG5lZ2F0aXZlIG1hcmdpbiB0YWtlcyB0aGUgc2FtZSBzcGFjZSBiYWNrIG91dCBvZiB0aGVcclxuXHQvLyBsYXlvdXQsIHNvIHRoZSBsaW5lcyBzdGF5IHRpZ2h0bHkgc3RhY2tlZCBhbmQgbm90aGluZyBtb3Zlcy5cclxuXHQvL1xyXG5cdC8vIEJvdGggdmFsdWVzIG11c3Qgc3RheSBlcXVhbCBhbmQgaW4gZW0sIHNvIHRoZXkgdHJhY2sgdGhlIGZvbnQgc2l6ZS5cclxuXHQmX193b3JkIHtcclxuXHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHRcdHBhZGRpbmctYm90dG9tOiAuMTRlbTtcclxuXHRcdG1hcmdpbi1ib3R0b206IC0uMTRlbTtcclxuXHJcblx0XHQ+IHNwYW4ge1xyXG5cdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0Ly8gVHJhbnNsYXRlIHBhc3QgdGhlIHBhZGRpbmcgdG9vLCBvciB0aGUgZ2x5cGggcGVla3Mgb3V0IGJlZm9yZSBpdFxyXG5cdFx0XHQvLyBhbmltYXRlcyBpbi5cclxuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEyMCUpO1xyXG5cdFx0XHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMXMgJGVhc2Utb3V0IGNhbGModmFyKC0taSwgMCkgKiAuMDlzKTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC5pcy1yZWFkeSAmX193b3JkID4gc3BhbiB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxyXG5cclxuXHQvLyBUaGUga25vY2tlZC1vdXQgd29yZC4gLXdlYmtpdC10ZXh0LXN0cm9rZSBoYXMgdGhlIHdpZGVzdCBzdXBwb3J0IG9mIHRoZVxyXG5cdC8vIG91dGxpbmUgb3B0aW9ucyBhbmQgZGVncmFkZXMgdG8gc29saWQgaW5rIGlmIHVuc3VwcG9ydGVkLlxyXG5cdCZfX3dvcmQtLWhvbGxvdyA+IHNwYW4ge1xyXG5cdFx0Y29sb3I6IHRyYW5zcGFyZW50O1xyXG5cdFx0LXdlYmtpdC10ZXh0LXN0cm9rZTogY2xhbXAoMXB4LCAuMTJ2dywgM3B4KSB2YXIoLS1pbmspO1xyXG5cdH1cclxuXHJcblx0Jl9fd29yZC0tYWNjZW50ID4gc3BhbiB7IGNvbG9yOiB2YXIoLS1hY2NlbnQtaW5rKTsgfVxyXG5cclxuXHQvLyDilIDilIAgRm9vdCDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcclxuXHQmX19mb290IHtcclxuXHRcdGdyaWQtcm93OiAyO1xyXG5cdFx0d2lkdGg6IG1pbigxMDAlIC0gdmFyKC0tZ3V0dGVyKSAqIDIsIHZhcigtLW1heHcpKTtcclxuXHRcdG1hcmdpbi1pbmxpbmU6IGF1dG87XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHR6LWluZGV4OiAyO1xyXG5cdFx0ZGlzcGxheTogZ3JpZDtcclxuXHRcdC8vIFNpbmdsZSBjb2x1bW46IGJsdXJiLCB0aGVuIHRoZSBidXR0b25zIGJlbmVhdGggaXQsIGJvdGggaGFyZCBsZWZ0LlxyXG5cdFx0Ly8gUHJldmlvdXNseSB0aGlzIHdhcyBgbWlubWF4KDAsMWZyKSBhdXRvYCwgd2hpY2ggcHVzaGVkIHRoZSBDVEFzIHRvIHRoZVxyXG5cdFx0Ly8gZmFyIHJpZ2h0IG9mIHRoZSBoZXJvLCBhd2F5IGZyb20gdGhlIGNvcHkgdGhleSBiZWxvbmcgdG8uXHJcblx0XHRqdXN0aWZ5LWl0ZW1zOiBzdGFydDtcclxuXHRcdGdhcDogY2xhbXAoMS4yNXJlbSwgMi41dmgsIDEuNzVyZW0pO1xyXG5cdFx0cGFkZGluZy10b3A6IGNsYW1wKDFyZW0sIDN2aCwgMnJlbSk7XHJcblx0fVxyXG5cclxuXHQvLyDilIDilIAgUGxhdGZvcm0gd29yZG1hcmtzIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxyXG5cdC8vICBTaXRzIGluIHRoZSBnYXAgYmV0d2VlbiB0aGUgaGVhZGxpbmUgYW5kIHRoZSBibHVyYi5cclxuXHQmX19sb2dvcyB7XHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHJcblx0XHQvLyDim5QgTkVWRVIgV1JBUCDigJQgSm9lLCAyMDI2LTA4LTA4LiBSdW1ibGUgd2FzIGRyb3BwaW5nIHRvIGEgc2Vjb25kIHJvdyBvblxyXG5cdFx0Ly8gYSBwaG9uZS4gVGhlc2UgZm91ciByZWFkIGFzIG9uZSBzZXQ7IGEgc2luZ2xlIGxvZ28gb3JwaGFuZWQgdW5kZXJuZWF0aFxyXG5cdFx0Ly8gcmVhZHMgYXMgYSBtaXN0YWtlLCBub3QgYSBzZWNvbmQgbGluZS5cclxuXHRcdGZsZXgtd3JhcDogbm93cmFwO1xyXG5cclxuXHRcdC8vIC0ycHggb2ZmIHRoZSB3aG9sZSBjdXJ2ZSByYXRoZXIgdGhhbiBhIG5ldyBzZXQgb2YgY2xhbXAgdmFsdWVzLCBzbyB0aGVcclxuXHRcdC8vIGZsdWlkIGJlaGF2aW91ciBpcyB1bnRvdWNoZWQgYW5kIHRoZSBhZGp1c3RtZW50IHN0YXlzIGxlZ2libGUgYXNcclxuXHRcdC8vIFwidGhlIG9sZCBnYXAsIG1pbnVzIDJcIi5cclxuXHRcdGdhcDogY2FsYyhjbGFtcCgxLjI1cmVtLCAyLjR2dywgMi43NXJlbSkgLSAycHgpO1xyXG5cdFx0bGlzdC1zdHlsZTogbm9uZTtcclxuXHRcdG1hcmdpbi1ib3R0b206IGNsYW1wKC4yNXJlbSwgMXZoLCAuNzVyZW0pO1xyXG5cclxuXHRcdC8vIOKUgOKUgCBXaHkgaXQgbm93IGZpdHMsIGFuZCB3aGF0IGhhcHBlbnMgaWYgaXQgc3RvcHMg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXHJcblx0XHQvLyAgRWFjaCBtYXJrJ3Mgd2lkdGggaXMgaGVpZ2h0IHggaXRzIG93biByYXRpbywgc28gdGhlIHJvdydzIG5hdHVyYWxcclxuXHRcdC8vICB3aWR0aCBpcyAtLXBsb2dvLWggeCB0aGUgU1VNIG9mIHRoZSBmb3VyIHJhdGlvcywgcGx1cyB0aHJlZSBnYXBzOlxyXG5cdFx0Ly9cclxuXHRcdC8vICAgIEFwcGxlIDY3LzEyID0gNS41OCB8IFNwb3RpZnkgNTU5LzE2OCB4IDEuMSA9IDMuNjZcclxuXHRcdC8vICAgIFlvdVR1YmUgNTEyLzExNC4zID0gNC40OCB8IFJ1bWJsZSAxNDAvMzUgeCAxLjEgPSA0LjQwXHJcblx0XHQvLyAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIDE4LjEyXHJcblx0XHQvL1xyXG5cdFx0Ly8gIEF0IHRoZSBvbGQgZmxhdCAxN3B4IHRoYXQgaXMgfjMwOHB4IG9mIGxvZ28gcGx1cyB+NTRweCBvZiBnYXAgPSAzNjJweCxcclxuXHRcdC8vICBhZ2FpbnN0IH4zNThweCBvZiB1c2FibGUgd2lkdGggb24gYSAzOTBweCBwaG9uZS4gRm91ciBwaXhlbHMgb3ZlciwgYW5kXHJcblx0XHQvLyAgdGhlIHJvdyB3cmFwcGVkLiBCb3RoIHRoZSBoZWlnaHQgYW5kIHRoZSBnYXAgYXJlIG5vdyB2aWV3cG9ydC1zY2FsZWRcclxuXHRcdC8vICBiZWxvdyBtZCBzbyB0aGUgc3VtIHN0YXlzIHVuZGVyIHRoZSBsaW5lIOKAlCBzZWUgLnBsb2dvIGluIF9iYXNlLnNjc3MuXHJcblx0XHQvL1xyXG5cdFx0Ly8gIOKaoCBUSEFUIDE4LjEyIElTIEEgQ09OU1RBTlQgREVSSVZFRCBGUk9NIFRIRVNFIEZPVVIgTE9HT1MuIEFkZCBhIGZpZnRoXHJcblx0XHQvLyAgdG8gc2lnX3BsYXRmb3JtcygpIGFuZCB0aGUgYXJpdGhtZXRpYyBjaGFuZ2VzOyByZS1jaGVjayBpdCByYXRoZXIgdGhhblxyXG5cdFx0Ly8gIGFzc3VtaW5nIG5vd3JhcCB3aWxsIGNvcGUuXHJcblx0XHQ+IGxpIHsgbWluLXdpZHRoOiAwOyB9XHJcblxyXG5cdFx0Ly8gVGlnaHRlciBnYXBzIG9uIHBob25lcywgd2hlcmUgdGhlIGZpeGVkIDEuMjVyZW0gZmxvb3Igd2FzIGVhdGluZyBhXHJcblx0XHQvLyBxdWFydGVyIG9mIHRoZSBhdmFpbGFibGUgd2lkdGggb24gaXRzIG93bi5cclxuXHRcdEBpbmNsdWRlIGF0KG1kKSB7XHJcblx0XHRcdGdhcDogY2xhbXAoLjVyZW0sIDIuOHZ3LCAxLjI1cmVtKTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdCZfX2JsdXJiIHtcclxuXHRcdGZvbnQtc2l6ZTogY2xhbXAoMXJlbSwgLjQ1dncgKyAuOXJlbSwgMS4ycmVtKTtcclxuXHRcdGNvbG9yOiB2YXIoLS1pbmstMik7XHJcblx0XHRtYXgtd2lkdGg6IDQ2Y2g7XHJcblx0fVxyXG5cclxuXHQmX19jdGEge1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGdhcDogc3AoMyk7XHJcblx0XHRmbGV4LXdyYXA6IHdyYXA7XHJcblxyXG5cdFx0Ly8g4pSA4pSAIE9wYXF1ZSBib3JkZXIsIG9ubHkgaGVyZSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcclxuXHRcdC8vICAuYnRuJ3MgYm9yZGVyIGlzIC0tbGluZS0yLCB3aGljaCBpcyB0cmFuc2x1Y2VudCDigJQgZmluZSBldmVyeXdoZXJlIGl0XHJcblx0XHQvLyAgc2l0cyBvbiBhIGZsYXQgc2VjdGlvbiwgYmVjYXVzZSBpdCBjb21wb3NpdGVzIHRvIGEgY29uc2lzdGVudCBjb2xvdXIuXHJcblx0XHQvLyAgSW4gdGhlIGhlcm8gaXQgc2l0cyBvdmVyIHRoZSBwaG90bywgc28gdGhlIGFydHdvcmsgcmVhZHMgVEhST1VHSCB0aGVcclxuXHRcdC8vICBlZGdlIGFuZCB0aGUgYm9yZGVyIHNoaWZ0cyBjb2xvdXIgYWxvbmcgaXRzIG93biBsZW5ndGguXHJcblx0XHQvL1xyXG5cdFx0Ly8gIC0tbGluZS0yLWZsYXQgaXMgdGhhdCBzYW1lIGJvcmRlciBwcmUtY29tcG9zaXRlZCBhZ2FpbnN0IC0tYmc6IHRoZVxyXG5cdFx0Ly8gIGlkZW50aWNhbCBjb2xvdXIgaXQgcmVzb2x2ZXMgdG8gb24gYSBwbGFpbiBiYWNrZ3JvdW5kLCBidXQgb3BhcXVlLCBzb1xyXG5cdFx0Ly8gIGl0IHN0YXlzIHB1dCBvdmVyIGFueXRoaW5nLiBCb3RoIHRoZW1lcyBjYXJyeSBvbmUuXHJcblx0XHQvL1xyXG5cdFx0Ly8gIDpub3QoLmJ0bi0tYWNjZW50KSBpcyByZXF1aXJlZC4gLmJ0bi0tYWNjZW50IHNldHMgaXRzIG93biAtLWJ0bi1saW5lXHJcblx0XHQvLyAgYXQgb25lIGNsYXNzIG9mIHNwZWNpZmljaXR5OyB0aGlzIHJ1bGUgaXMgdHdvLCBzbyB3aXRob3V0IHRoZSBndWFyZCBpdFxyXG5cdFx0Ly8gIHdvdWxkIG92ZXJ3cml0ZSB0aGUgYnJhbmQgYm9yZGVyIG9uIFwiUGxheSBsYXRlc3RcIi5cclxuXHRcdC5idG46bm90KC5idG4tLWFjY2VudCkgeyAtLWJ0bi1saW5lOiB2YXIoLS1saW5lLTItZmxhdCk7IH1cclxuXHR9XHJcblxyXG5cdC8vIOKUgOKUgCBUaWNrZXIg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXHJcblx0Ly8gIFRoZSBjb21wb25lbnQgaXRzZWxmIHN0YXlzIGxheW91dC1uZXV0cmFsIChzZWUgX3RpY2tlci5zY3NzKTsgdGhpcyBpcyB0aGVcclxuXHQvLyAgb25seSBwbGFjZSB0aGF0IGRlY2lkZXMgd2hlcmUgaXQgc2l0cy4gQWJzb2x1dGUgcmF0aGVyIHRoYW4gYSB0aGlyZCBncmlkXHJcblx0Ly8gIHJvdyBiZWNhdXNlIHRoZSBoZXJvIHN3aXRjaGVzIGZyb20gZ3JpZCB0byBmbGV4IGF0IG1kIOKAlCBhbiBhYnNvbHV0ZSBjaGlsZFxyXG5cdC8vICBpcyBwb3NpdGlvbmVkIGlkZW50aWNhbGx5IHVuZGVyIGJvdGgsIHNvIHRoaXMgbmVlZHMgbm8gbW9iaWxlIHZhcmlhbnQuXHJcblx0Ly9cclxuXHQvLyAgei1pbmRleCAxOiBCRUxPVyB0aGUgcGhvdG8uIEl0IHJhbiBvdmVyIGhpbSB1bnRpbCAyMDI2LTA5LTE0IChcIndoYXQgaWZcclxuXHQvLyAgdGhlIHRvcGljcyBmZWVkIGNhbWUgZnJvbSBiZWhpbmQgSm9lIGluc3RlYWQgb2Ygb3ZlciBoaW0hXCIpIOKAlCBub3cgdGhlXHJcblx0Ly8gIHN0cmlwIHNsaWRlcyBpbiBiZWhpbmQgaGlzIHNob3VsZGVyIGFuZCB0aGUgbWljLCBhbmQgaGUgc3RhbmRzIGluXHJcblx0Ly8gIGZyb250IG9mIGl0LiBUaGUgcGhvdG8ncyBmbGF0IGJvdHRvbSBlZGdlIGxhbmRzIGV4YWN0bHkgb24gdGhlIGhlcm8nc1xyXG5cdC8vICBib3R0b20gKD0gdGhlIHRpY2tlcidzIGJvdHRvbSA9IHRoZSBuZXh0IHNlY3Rpb24ncyB0b3ApLCBzbyB0aGVyZSdzXHJcblx0Ly8gIHN0aWxsIG5vIGN1dCB0byBzZWUuIE9uIGEgcGhvbmUgdG9waWMgbGlua3Mgc3RheSBjbGlja2FibGUgdGhyb3VnaCBoaW1cclxuXHQvLyAgKHRoZSBwaG90byBpcyBwb2ludGVyLWV2ZW50czogbm9uZSk7IG9uIGRlc2t0b3AgYSBzdHJpcCBvbiB0aGUgcGhvdG9cclxuXHQvLyAgYmxvY2tzIHRoZW0g4oCUIHNlZSAmX19waG90bzo6YWZ0ZXIuXHJcblx0PiAudGlja2VyIHtcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdGxlZnQ6IDA7XHJcblx0XHRyaWdodDogMDtcclxuXHRcdGJvdHRvbTogMDtcclxuXHRcdHotaW5kZXg6IDE7XHJcblx0fVxyXG5cclxuXHQvLyDilIDilIAgTW9iaWxlOiBvbmUgY2VudHJlZCBibG9jayDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcclxuXHQvLyAgT24gZGVza3RvcCB0aGUgZ3JpZCBkZWxpYmVyYXRlbHkgcHVzaGVzIHRoZSBoZWFkbGluZSB0byB0aGUgbWlkZGxlIGFuZFxyXG5cdC8vICB0aGUgYmx1cmIvQ1RBcyB0byB0aGUgYm90dG9tIGVkZ2UuIE9uIGEgdGFsbCBuYXJyb3cgc2NyZWVuIHRoYXQgcmVhZHMgYXNcclxuXHQvLyAgdHdvIGRpc2Nvbm5lY3RlZCBncm91cHMgd2l0aCBhIGhvbGUgYmV0d2VlbiB0aGVtLCBzbyBoZXJlIHRoZSBoZWFkbGluZSxcclxuXHQvLyAgYmx1cmIgYW5kIGJ1dHRvbnMgYmVjb21lIGEgc2luZ2xlIHN0YWNrIGNlbnRyZWQgYXMgb25lIHVuaXQuXHJcblx0Ly9cclxuXHQvLyAgU3dpdGNoaW5nIHRvIGZsZXggbWVhbnMgZ3JpZC1yb3cvYWxpZ24tc2VsZiBubyBsb25nZXIgYXBwbHkg4oCUIGFuZFxyXG5cdC8vICBhbGlnbi1zZWxmIHdvdWxkIG5vdyBjb250cm9sIHRoZSBIT1JJWk9OVEFMIGF4aXMsIHNvIHRoZSBjaGlsZHJlbiBoYXZlXHJcblx0Ly8gIHRvIGJlIHJlc2V0IHRvIHN0cmV0Y2ggb3IgdGhlIGhlYWRsaW5lIHdvdWxkIHNocmluay13cmFwIGFuZCBjZW50cmVcclxuXHQvLyAgaXRzZWxmIHNpZGV3YXlzLlxyXG5cdEBpbmNsdWRlIGF0KG1kKSB7XHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdFx0Z2FwOiBzcCg1KTtcclxuXHJcblx0XHQuaGVyb19fdGl0bGUsXHJcblx0XHQuaGVyb19fZm9vdCB7XHJcblx0XHRcdGFsaWduLXNlbGY6IHN0cmV0Y2g7XHJcblx0XHRcdHBhZGRpbmctdG9wOiAwO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLy8gV2FuZGVyLiBQZXJjZW50YWdlcyByZXNvbHZlIGFnYWluc3QgdGhlIGVsZW1lbnQncyBPV04gc2l6ZSAobGlrZSB0cmFuc2Zvcm1cclxuLy8gdHJhbnNsYXRlKSwgYW5kIGl0J3MgbWluKDEyMHZ3LCAxNDAwcHgpIGFjcm9zcyDigJQgc28gdGhlc2Ugc21hbGwgbnVtYmVycyBhcmVcclxuLy8gYSBsb25nLCBsYXp5IG1vdmVtZW50LCBub3QgYSB0d2l0Y2guIHggc3RheXMgYXJvdW5kIC01MCUgKGl0cyBjZW50cmVkXHJcbi8vIHBvc2l0aW9uKSBhbmQgc3RyYXlzIGFib3V0IGEgdGVudGggb2YgaXRzIHdpZHRoIGVpdGhlciB3YXkuXHJcbi8vXHJcbi8vIEZpdmUgdW5ldmVuIHN0b3BzIHJhdGhlciB0aGFuIGEgdGhlcmUtYW5kLWJhY2ssIHNvIG5vIHR3byBwYXNzZXMgdHJhY2UgdGhlXHJcbi8vIHNhbWUgcGF0aC4gTm90IGBhbHRlcm5hdGVgIOKAlCBpdCBydW5zIGZvcndhcmQgYW5kIHRoZSBsYXN0IHN0b3AgcmV0dXJucyB0byB0aGVcclxuLy8gZmlyc3QsIHdoaWNoIGtlZXBzIHRoZSBsb29wIHNlYW1sZXNzIHdpdGhvdXQgbWlycm9yaW5nIHRoZSByb3V0ZS5cclxuQGtleWZyYW1lcyBibG9vbS1kcmlmdCB7XHJcblx0MCUgICB7IHRyYW5zbGF0ZTogLTUwJSAwOyB9XHJcblx0MjMlICB7IHRyYW5zbGF0ZTogLTQwJSA1JTsgfVxyXG5cdDQxJSAgeyB0cmFuc2xhdGU6IC01OSUgOSU7IH1cclxuXHQ2NCUgIHsgdHJhbnNsYXRlOiAtNDQlIC00JTsgfVxyXG5cdDgzJSAgeyB0cmFuc2xhdGU6IC01NyUgMyU7IH1cclxuXHQxMDAlIHsgdHJhbnNsYXRlOiAtNTAlIDA7IH1cclxufVxyXG5cclxuLy8gQnJlYXRoaW5nLCBzZXBhcmF0ZSBmcm9tIHRoZSB3YW5kZXIgc28gdGhlIHR3byBjYW4gZHJpZnQgb3V0IG9mIHBoYXNlLlxyXG5Aa2V5ZnJhbWVzIGJsb29tLXB1bHNlIHtcclxuXHRmcm9tIHsgc2NhbGU6IDE7ICAgIG9wYWNpdHk6IC42MjsgfVxyXG5cdHRvICAgeyBzY2FsZTogMS4yODsgb3BhY2l0eTogLjk7IH1cclxufVxyXG5cclxuLy8gVGhlIE9OIEFJUiBiYWRnZSBsaXZlZCBoZXJlIGFuZCB3YXMgcmVtb3ZlZCDigJQgaXQgcHVzaGVkIHRoZSBoZXJvIGNvbnRlbnRcclxuLy8gYmVsb3cgdGhlIGZvbGQgZm9yIG5vIHJlYWwgcGF5b2ZmLiBUaGUgZG9jayBzdGlsbCBjYXJyaWVzIHRoZSBsaXZlIHNpZ25hbC5cclxuXHJcbi8vIOKUgOKUgCBMaXZlIHdhdmVmb3JtIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxyXG4vLyBQdXJlIENTUy4gRWFjaCBiYXIgZ2V0cyAtLWkgZnJvbSB0aGUgdGVtcGxhdGUgYW5kIGRlcml2ZXMgaXRzIG93biBkZWxheSwgc29cclxuLy8gdGhlIHdhdmUgdHJhdmVscyBpbnN0ZWFkIG9mIHB1bHNpbmcgaW4gdW5pc29uLlxyXG4ud2F2ZSB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGdhcDogM3B4O1xyXG5cdGhlaWdodDogMzRweDtcclxuXHJcblx0c3BhbiB7XHJcblx0XHR3aWR0aDogM3B4O1xyXG5cdFx0aGVpZ2h0OiAzMCU7XHJcblx0XHRib3JkZXItcmFkaXVzOiAycHg7XHJcblx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1hY2NlbnQpO1xyXG5cdFx0b3BhY2l0eTogLjg1O1xyXG5cdFx0YW5pbWF0aW9uOiB3YXZlIDEuMXMgJGVhc2UgaW5maW5pdGUgYWx0ZXJuYXRlO1xyXG5cdFx0YW5pbWF0aW9uLWRlbGF5OiBjYWxjKHZhcigtLWkpICogLS4wOXMpO1xyXG5cdH1cclxuXHJcblx0Ji0tbXV0ZWQgc3BhbiB7IGJhY2tncm91bmQ6IHZhcigtLWluay0zKTsgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHdhdmUge1xyXG5cdGZyb20geyBoZWlnaHQ6IDE0JTsgfVxyXG5cdHRvICAgeyBoZWlnaHQ6IDEwMCU7IH1cclxufVxyXG5cclxuLy8g4pSA4pSAIFNjcm9sbCBjdWUg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXHJcbi5jdWUge1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRsZWZ0OiA1MCU7XHJcblx0Ly8gTWVhc3VyZWQgZnJvbSB0aGUgRk9MRCwgbm90IHRoZSBib3R0b20gb2YgdGhlIGhlcm8g4oCUIG90aGVyd2lzZSB0aGUgdGlja2VyXHJcblx0Ly8gd291bGQgc2l0IG9uIHRvcCBvZiBpdC5cclxuXHRib3R0b206IGNhbGMoI3tzcCg0KX0gKyB2YXIoLS10aWNrZXItaCkpO1xyXG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuXHR6LWluZGV4OiAyO1xyXG5cdGRpc3BsYXk6IGdyaWQ7XHJcblx0anVzdGlmeS1pdGVtczogY2VudGVyO1xyXG5cdGdhcDogc3AoMik7XHJcblx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ubyk7XHJcblx0Zm9udC1zaXplOiAuNjJyZW07XHJcblx0bGV0dGVyLXNwYWNpbmc6IC4yZW07XHJcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRjb2xvcjogdmFyKC0taW5rLTMpO1xyXG5cdHRyYW5zaXRpb246IG9wYWNpdHkgLjVzICRlYXNlLCB2aXNpYmlsaXR5IC41cywgY29sb3IgdmFyKC0tZHVyLWZhc3QpICRlYXNlO1xyXG5cclxuXHQvLyBJdCdzIGEgPGJ1dHRvbj4gYXMgb2YgMjAyNi0wOC0wOCDigJQgdGFwcGluZyBpdCBzY3JvbGxzIHBhc3QgdGhlIGhlcm8sIGFuZFxyXG5cdC8vIG9uIHBob25lcyB0aGF0IHRhcCBhcm1zIHRoZSBzY3JvbGwtZHJpdmVuIGhhcHRpY3MgKHNlZSBjLWN1ZS5qcykuIFRoZVxyXG5cdC8vIGdsb2JhbCBidXR0b24gcmVzZXQgYWxyZWFkeSBzdHJpcHMgdGhlIFVBIGNocm9tZTsgdGhpcyBwYWRkaW5nIHdpZGVucyB0aGVcclxuXHQvLyB0YXAgdGFyZ2V0LCBzaW5jZSB0aGUgd29yZCBhbG9uZSBpcyBhIG5hcnJvdyB0aGluZyB0byBoaXQuIEhvcml6b250YWxcclxuXHQvLyBvbmx5OiB0aGUgc3RlbSBiZWxvdyBhbHJlYWR5IGdpdmVzIGl0IGNvbWZvcnRhYmxlIGhlaWdodC5cclxuXHRwYWRkaW5nLWlubGluZTogc3AoNCk7XHJcblxyXG5cdEBpbmNsdWRlIGNhbi1ob3ZlciB7XHJcblx0XHQmOmhvdmVyIHsgY29sb3I6IHZhcigtLWluayk7IH1cclxuXHR9XHJcblxyXG5cdC8vIFNldCBieSBjLWN1ZS5qcyBvbmNlIHRoZSB0aWNrZXIgaXMgZnVsbHkgaW4gdmlldyDigJQgdGhlIGN1ZSBoYXMgYmVlblxyXG5cdC8vIGFuc3dlcmVkLCBzbyBpdCBzdGVwcyBhc2lkZS5cclxuXHQvL1xyXG5cdC8vIHZpc2liaWxpdHkgcmlkZXMgYWxvbmcgd2l0aCBvcGFjaXR5IHNvIHRoZSBmYWRlZCBjdWUgYWxzbyBzdG9wcyB0YWtpbmdcclxuXHQvLyBwb2ludGVyIGFuZCBzY3JlZW4tcmVhZGVyIGF0dGVudGlvbjsgYm90aCBhcmUgdHJhbnNpdGlvbmVkIHNvIGl0IGZhZGVzXHJcblx0Ly8gcmF0aGVyIHRoYW4gYmxpbmtpbmcgb3V0LiBUaGUgc3RlbSBhbmltYXRpb24gaXMgbGVmdCBydW5uaW5nIOKAlCBpdCdzXHJcblx0Ly8gaW52aXNpYmxlIGF0IG9wYWNpdHkgMCBhbmQgc3RvcHBpbmcgaXQgd291bGQgbWVhbiBpdCByZXN0YXJ0cyBtaWQtY3ljbGVcclxuXHQvLyBvbiB0aGUgd2F5IGJhY2sgdXAuXHJcblx0Ji5pcy1zcGVudCB7XHJcblx0XHRvcGFjaXR5OiAwO1xyXG5cdFx0dmlzaWJpbGl0eTogaGlkZGVuO1xyXG5cdH1cclxuXHJcblx0Jjo6YWZ0ZXIge1xyXG5cdFx0Y29udGVudDogXCJcIjtcclxuXHRcdHdpZHRoOiAxcHg7XHJcblx0XHRoZWlnaHQ6IDQycHg7XHJcblx0XHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodmFyKC0taW5rLTMpLCB0cmFuc3BhcmVudCk7XHJcblx0XHRhbmltYXRpb246IGRyb3AgMi4ycyAkZWFzZSBpbmZpbml0ZTtcclxuXHR9XHJcblxyXG5cdC8vIFNob3duIG9uIG1vYmlsZSBub3csIHdoZXJlIGl0IHVzZWQgdG8gYmUgZGlzcGxheTpub25lLiBUaGUgaGVybyBpcyBhXHJcblx0Ly8gY2VudHJlZCBzdGFjayBhdCB0aGlzIHNpemUgYW5kIGl0cyBib3R0b20gcGFkZGluZyBpcyB0aGUgb25seSBjbGVhcmFuY2UsXHJcblx0Ly8gc28gdGhlIHN0ZW0gaXMgc2hvcnRlbmVkIHRvIGtlZXAgdGhlIGN1ZSBvZmYgdGhlIENUQXMgb24gYSBzaG9ydCBwaG9uZS5cclxuXHRAaW5jbHVkZSBhdChtZCkge1xyXG5cdFx0Zm9udC1zaXplOiAuNThyZW07XHJcblx0XHRnYXA6IHNwKDEpO1xyXG5cclxuXHRcdCY6OmFmdGVyIHsgaGVpZ2h0OiAyNnB4OyB9XHJcblx0fVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGRyb3Age1xyXG5cdDAlICAgeyB0cmFuc2Zvcm06IHNjYWxlWSgwKTsgdHJhbnNmb3JtLW9yaWdpbjogdG9wOyB9XHJcblx0NDUlICB7IHRyYW5zZm9ybTogc2NhbGVZKDEpOyB0cmFuc2Zvcm0tb3JpZ2luOiB0b3A7IH1cclxuXHQ1NSUgIHsgdHJhbnNmb3JtOiBzY2FsZVkoMSk7IHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbTsgfVxyXG5cdDEwMCUgeyB0cmFuc2Zvcm06IHNjYWxlWSgwKTsgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tOyB9XHJcbn1cclxuIiwiQHVzZSBcInRva2Vuc1wiIGFzICo7XG5cbi8vIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLy8gIFRJQ0tFUiDigJQgaW5maW5pdGUgbWFycXVlZSBvZiB0b3BpY3Ncbi8vXG4vLyAgVGhlIHRyYWNrIGhvbGRzIHRoZSBsaXN0IFRXSUNFIGFuZCB0cmFuc2xhdGVzIC01MCUsIHNvIHRoZSBsb29wIGlzIHNlYW1sZXNzXG4vLyAgd2l0aCBubyBKUyBhbmQgbm8gY2xvbmUtY291bnRpbmcuIER1cGxpY2F0ZSBjb3BpZXMgYXJlIGFyaWEtaGlkZGVuIHNvIHNjcmVlblxuLy8gIHJlYWRlcnMgaGVhciB0aGUgbGlzdCBvbmNlLlxuLy8g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cbi50aWNrZXIge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdC8vIEZpeGVkIGhlaWdodCByYXRoZXIgdGhhbiBwYWRkaW5nICsgbGluZSBib3gsIGJlY2F1c2UgdGhlIGhlcm8ncyBvdmVyaGFuZ1xuXHQvLyBpcyBjYWxjdWxhdGVkIGZyb20gaXQg4oCUIHNlZSAtLXRpY2tlci1oIGluIF90b2tlbnMuc2Nzcy4gQ2VudHJpbmcgdGhlIHRyYWNrXG5cdC8vIGtlZXBzIHRoZSB0b3BpY3Mgb3B0aWNhbGx5IHdoZXJlIHRoZSBvbGQgc3ltbWV0cmljIHBhZGRpbmcgcHV0IHRoZW0uXG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGhlaWdodDogdmFyKC0tdGlja2VyLWgpO1xuXHQvLyBCb3R0b20gcnVsZSBvbmx5IOKAlCBhIHRvcCBib3JkZXIgd291bGQgZHJhdyBhIHNlY29uZCBsaW5lIGFjcm9zcyB0aGUgbWlkZGxlXG5cdC8vIG9mIHRoZSBoZXJvIGFydHdvcmsuXG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1saW5lKTtcblx0Ly8gQSAxNSUgd2FzaCByYXRoZXIgdGhhbiBhIHNvbGlkIGJhbmQuIEVub3VnaCB0byBsaWZ0IHRoZSB0b3BpY3Mgb2ZmIHRoZVxuXHQvLyBhcnR3b3JrIGFuZCBtYXJrIHRoZSBzdHJpcCBhcyBpdHMgb3duIHRoaW5nLCB3aGlsZSB0aGUgaGVybyBwaG90byByZWFkc1xuXHQvLyBzdHJhaWdodCB0aHJvdWdoIGl0IOKAlCB3aGljaCBpcyB0aGUgcG9pbnQsIHNpbmNlIHRoZSBwaG90byBub3cgcnVucyB0aGVcblx0Ly8gZnVsbCBoZWlnaHQgb2YgdGhpcyBzdHJpcCBhbmQgZW5kcyBvbiB0aGUgYm9yZGVyIGJlbG93IChzZWUgJl9fcGhvdG8gaW5cblx0Ly8gX2hlcm8uc2NzcykuIEEgc29saWQgZmlsbCB3b3VsZCBoYXZlIGhpZGRlbiB0aGF0IGVudGlyZWx5LlxuXHQvL1xuXHQvLyBQZXItdGhlbWUsIGFuZCBpdCBoYXMgdG8gYmU6IHRoZSBwcmV2aW91cyB2ZXJzaW9uIHdhc2hlZCB3aXRoIC0tYmctMixcblx0Ly8gd2hpY2ggaXMgd2hpdGUgaW4gbGlnaHQgbW9kZSBidXQgbmVhci1ibGFjayBpbiBkYXJrLCBzbyB0aGUgc2FtZSBydWxlXG5cdC8vIGxpZnRlZCBvbmUgdGhlbWUgYW5kIGRpZCBub3RoaW5nIGF0IGFsbCBpbiB0aGUgb3RoZXIuXG5cdGJhY2tncm91bmQ6IHZhcigtLXRpY2tlci1maWxsKTtcblx0Ly8gRnJvc3RlZCBnbGFzcyBvdmVyIHRoZSBoZXJvIHBob3RvLiBXaXRoIHRoZSBmaWxsIGRvd24gYXQgNSUgdGhlIGJsdXIgaXNcblx0Ly8gd2hhdCBhY3R1YWxseSBzZXBhcmF0ZXMgdGhlIHN0cmlwIGZyb20gdGhlIGFydHdvcmsgYmVoaW5kIGl0IOKAlCB0aGUgdGludFxuXHQvLyBhbG9uZSBpcyBmYXIgdG9vIGZhaW50IHRvIGRvIGl0LlxuXHQvL1xuXHQvLyBObyAtd2Via2l0LSBwcmVmaXgsIGFuZCB0aGF0J3MgY29ycmVjdCDigJQgZG9uJ3QgXCJmaXhcIiBpdC4gU2FmYXJpIG5lZWRlZCBvbmVcblx0Ly8gdW50aWwgMTgsIGJ1dCB0aGlzIHByb2plY3QncyBicm93c2Vyc2xpc3QgZmxvb3IgaXMgaU9TIFNhZmFyaSAxOC41LCBzb1xuXHQvLyBhdXRvcHJlZml4ZXIgc3RyaXBzIGEgaGFuZC13cml0dGVuIHByZWZpeCBiYWNrIG91dC4gQWRkaW5nIG9uZSBpcyBjaHVyblxuXHQvLyB0aGF0IHNpbGVudGx5IGRpc2FwcGVhcnMgYXQgYnVpbGQgdGltZS5cblx0YmFja2Ryb3AtZmlsdGVyOiBibHVyKDE0cHgpO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXG5cdC8vIOKUgOKUgCBWaWV3cG9ydCDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblx0Ly8gIEV4aXN0cyBPTkxZIHRvIGNhcnJ5IHRoZSBlZGdlLWZhZGUgbWFzay4gVGhhdCBtYXNrIHVzZWQgdG8gc2l0IG9uIC50aWNrZXJcblx0Ly8gIGl0c2VsZiwgd2hpY2ggd2FzIGZpbmUgd2hlbiB0aGUgc3RyaXAgd2FzIGludmlzaWJsZSwgYnV0IGEgbWFzayBhcHBsaWVzXG5cdC8vICB0byB0aGUgZWxlbWVudCBhbmQgZXZlcnl0aGluZyBpbiBpdCDigJQgc28gd2l0aCBhIGZpbGwsIGEgYmx1ciBhbmQgYSBib3JkZXJcblx0Ly8gIGl0IHRvb2sgdGhlIHdob2xlIGdsYXNzIHBhbmVsIGRvd24gd2l0aCBpdCBhbmQgdGhlIHN0cmlwIGFwcGVhcmVkIHRvXG5cdC8vICBkaXNzb2x2ZSBhdCBib3RoIGVuZHMuIE1hc2tpbmcgYW4gaW5uZXIgYm94IGZhZGVzIHRoZSBtb3ZpbmcgVE9QSUNTIHdoaWxlXG5cdC8vICB0aGUgcGFuZWwsIGl0cyBibHVyIGFuZCBpdHMgYm90dG9tIHJ1bGUgcnVuIGVkZ2UgdG8gZWRnZS5cblx0Ly9cblx0Ly8gIEl0IGNhbid0IGdvIG9uIF9fdHJhY2sgZWl0aGVyOiB0aGUgdHJhY2sgdHJhbnNsYXRlcywgc28gdGhlIGZhZGUgd291bGRcblx0Ly8gIHRyYXZlbCB3aXRoIHRoZSBjb250ZW50IGluc3RlYWQgb2Ygc3RheWluZyBhdCB0aGUgdmlld3BvcnQgZWRnZXMuXG5cdC8vXG5cdC8vICBTZWNvbmQgcmVhc29uIHRvIHNwbGl0IHRoZW06IGJhY2tkcm9wLWZpbHRlciBhbmQgbWFzay1pbWFnZSBvbiB0aGUgc2FtZVxuXHQvLyAgZWxlbWVudCBoYXZlIGEgaGlzdG9yeSBvZiBjb21wb3NpdGluZyBidWdzIGluIFNhZmFyaS4gU2VwYXJhdGluZyB0aGVtXG5cdC8vICBzaWRlc3RlcHMgdGhhdCBlbnRpcmVseS5cblx0Jl9fdmlld3BvcnQge1xuXHRcdGZsZXg6IDE7XG5cdFx0bWluLXdpZHRoOiAwO1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdC8vIE5PIGVkZ2UgZmFkZXMuIExlZnQgd2VudCAyMDI2LTA5LTE0IChcImRvZXNuJ3QgbmVlZCB0aGF0IGZhZGUgb3V0IGF0XG5cdFx0Ly8gdGhlIGxlZnRcIiksIHJpZ2h0IHdlbnQgMjAyNi0wOS0xNSAoXCJyZW1vdmUgdGhlIGZhZGVvdXQgb24gdGhlIHJpZ2h0XG5cdFx0Ly8gc2lkZSB0b29cIikg4oCUIHRvcGljcyBydW4gZWRnZSB0byBlZGdlIGF0IGZ1bGwgaW5rLCBhbmQgb24gdGhlXG5cdFx0Ly8gaG9tZXBhZ2UgdGhlIGhlcm8gcGhvdG8gc3RhbmRpbmcgaW4gZnJvbnQgaXMgd2hhdCBoaWRlcyB0aGVtLiBUaGVcblx0XHQvLyB3cmFwcGVyIHN0YXlzOiBpdCdzIHN0aWxsIHRoZSBvdmVyZmxvdyBjbGlwLCBhbmQgdGhlIG1hc2sgaGlzdG9yeVxuXHRcdC8vIGFib3ZlIGlzIHdoeSBpdCBleGlzdHMgYXMgYSBzZXBhcmF0ZSBib3ggYXQgYWxsLlxuXHRcdG1hc2staW1hZ2U6IG5vbmU7XG5cdFx0LXdlYmtpdC1tYXNrLWltYWdlOiBub25lO1xuXHR9XG5cblx0Jl9fdHJhY2sge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0d2lkdGg6IG1heC1jb250ZW50O1xuXHRcdC8vIFRoZSB0aWNrZXIgaXMgYSBmbGV4IHJvdyBub3csIHNvIHRoZSB0cmFjayBpcyBhIGZsZXggSVRFTSDigJQgd2l0aG91dFxuXHRcdC8vIHRoaXMgaXQgd291bGQgc2hyaW5rIHRvIHRoZSBjb250YWluZXIgYW5kIHRoZSBtYXJxdWVlJ3MgLTUwJSB3b3VsZFxuXHRcdC8vIHRyYXZlbCB0aGUgd3JvbmcgZGlzdGFuY2UsIHRlYXJpbmcgdGhlIGxvb3AuXG5cdFx0ZmxleDogbm9uZTtcblx0XHRhbmltYXRpb246IG1hcnF1ZWUgNDJzIGxpbmVhciBpbmZpbml0ZTtcblx0fVxuXG5cdC8vIFBhdXNpbmcgb24gaG92ZXIgbWFrZXMgaXQgZmVlbCBsaWtlIGFuIG9iamVjdCByYXRoZXIgdGhhbiBhIGJhY2tncm91bmQuXG5cdCY6aG92ZXIgJl9fdHJhY2sgeyBhbmltYXRpb24tcGxheS1zdGF0ZTogcGF1c2VkOyB9XG5cblx0Jl9fc2V0IHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0ZmxleDogbm9uZTtcblx0fVxuXG5cdCZfX2l0ZW0ge1xuXHRcdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0Ly8gVGhlIGRvdCBzaXRzIEJFVFdFRU4gdHdvIHRvcGljcywgc28gYm90aCBzaWRlcyBtdXN0IG1hdGNoOlxuXHRcdC8vICAgcHJldiB0ZXh0IC0+IGRvdCAgPSBnYXBcblx0XHQvLyAgIGRvdCAtPiBuZXh0IHRleHQgID0gdGhpcyBpdGVtJ3MgcGFkZGluZy1yaWdodCArIG5leHQncyBwYWRkaW5nLWxlZnRcblx0XHQvLyBXaXRoIGBnYXA6IHNwKDUpYCBhbmQgYHBhZGRpbmctaW5saW5lOiBzcCg1KWAgdGhvc2Ugd2VyZSAxLjVyZW0gYW5kXG5cdFx0Ly8gM3JlbSDigJQgdGhlIGRvdCBodWdnZWQgdGhlIHRleHQgb24gaXRzIGxlZnQuIERyb3BwaW5nIHRoZSBsZWZ0IHBhZGRpbmdcblx0XHQvLyBtYWtlcyBib3RoIHNpZGVzIGV4YWN0bHkgc3AoNikuXG5cdFx0Z2FwOiBzcCg2KTtcblx0XHRwYWRkaW5nLWlubGluZTogMCBzcCg2KTtcblx0XHRmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcblx0XHQvLyDilIDilIAgU2l6ZSBoaXN0b3J5LCBiZWNhdXNlIHRoaXMgaGFzIG1vdmVkIHR3aWNlIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXHRcdC8vICBjbGFtcCgxLjFyZW0sIDIuNHZ3LCAyLjFyZW0pICAgICAgICAgICAgICBvcmlnaW5hbFxuXHRcdC8vICBjbGFtcCguOTc1cmVtLCAyLjR2dyAtIDJweCwgMS45NzVyZW0pICAgICAtMnB4LCAyMDI2LTA4LTA4XG5cdFx0Ly8gIGNsYW1wKC43MzFyZW0sIDEuOHZ3IC0gMS41cHgsIDEuNDgxcmVtKSAgIC0yNSUsIDIwMjYtMDgtMDhcblx0XHQvLyAgY2xhbXAoLjY1OHJlbSwgMS42MnZ3IC0gMS4zNXB4LCAxLjMzM3JlbSkgLTEwJSBhZ2Fpbiwgc2FtZSBkYXkg4oaQIG5vd1xuXHRcdC8vXG5cdFx0Ly8gQUxMIFRIUkVFIHRlcm1zIGFyZSBzY2FsZWQgYnkgLjc1LCBpbmNsdWRpbmcgdGhlIHZ3LiBDdXR0aW5nIG9ubHkgdGhlXG5cdFx0Ly8gbWluIGFuZCBtYXggd291bGQgbGVhdmUgdGhlIGZsdWlkIG1pZGRsZSBhdCBpdHMgb2xkIHNpemUsIHdoaWNoXG5cdFx0Ly8gcmVzaGFwZXMgdGhlIGN1cnZlIHJhdGhlciB0aGFuIGxvd2VyaW5nIGl0IOKAlCB0aGUgcm93IHdvdWxkIHN0aWxsIGhpdFxuXHRcdC8vIHRoZSBvbGQgc2l6ZSBhdCBtaWQtcmFuZ2Ugd2lkdGhzIGFuZCBzaHJpbmsgb25seSBhdCB0aGUgZXh0cmVtZXMuXG5cdFx0Ly8gVGhlIC0xLjVweCBpcyB0aGUgcHJldmlvdXMgLTJweCBzY2FsZWQgYnkgdGhlIHNhbWUgLjc1LCBzbyB0aGUgZWFybGllclxuXHRcdC8vIGNvcnJlY3Rpb24gc3RheXMgcHJvcG9ydGlvbmFsbHkgaW50YWN0IGluc3RlYWQgb2YgYmVpbmcgc3dhbXBlZC5cblx0XHQvL1xuXHRcdC8vIFRoZSBzZXBhcmF0b3JzIGNhcnJ5IG5vIHNpemUgb2YgdGhlaXIgb3duIGFuZCBpbmhlcml0IHRoaXMsIHNvIHRoZVxuXHRcdC8vIHRvcGljcyBhbmQgdGhlIG1hcmtzIGJldHdlZW4gdGhlbSBtb3ZlIHRvZ2V0aGVyLlxuXHRcdC8vXG5cdFx0Ly8g4pqgIC0tdGlja2VyLWggaXMgSU5ERVBFTkRFTlQgb2YgdGhpcyBhbmQgZG9lcyBOT1QgZm9sbG93LiBJdCB3YXMgdGFrZW5cblx0XHQvLyBkb3duIDE1JSBpbiBfdG9rZW5zLnNjc3MgdG8gY2F0Y2ggdXAgd2l0aCB0aGVzZSB0d28gcmVkdWN0aW9ucyDigJQgaWZcblx0XHQvLyB0aGUgdHlwZSBtb3ZlcyBhZ2FpbiwgY2hlY2sgdGhlIGJhbmQncyBhaXIgYWdhaW4uIFRoZXkgYXJlIHR3byBrbm9icyxcblx0XHQvLyBub3Qgb25lLlxuXHRcdC8vICBjbGFtcCguNTkycmVtLCAxLjQ1OHZ3IC0gMS4yMTVweCwgMS4ycmVtKSAtMTAlIGFnYWluIOKGkCBub3csIGFuZFxuXHRcdC8vICAtLXRpY2tlci1oIHRvb2sgdGhlIFNBTUUgMTAlIHRoaXMgdGltZSBzbyB0aGUgYmFuZCdzIHByb3BvcnRpb25zIGhvbGRcblx0XHQvLyAgaW5zdGVhZCBvZiB0aGUgYWlyIGdyb3dpbmcgYWdhaW4uXG5cdFx0Zm9udC1zaXplOiBjbGFtcCguNTkycmVtLCAxLjQ1OHZ3IC0gMS4yMTVweCwgMS4ycmVtKTtcblxuXHRcdC8vIOKaoCBERVNLVE9QIE9OTFkg4oCUIG1vYmlsZSBrZWVwcyB0aGUgc2l6ZSBpdCBoYWQgYmVmb3JlIHRvZGF5J3MgdHdvXG5cdFx0Ly8gcmVkdWN0aW9ucy4gQm90aCB3ZXJlIGp1ZGdlZCBvbiBhIGRlc2t0b3Agc2NyZWVuOyB0aGUgcGhvbmUgd2FzIG5ldmVyXG5cdFx0Ly8gdGhlIHRoaW5nIGJlaW5nIGxvb2tlZCBhdCwgYW5kIGF0IDM5MHB4IHRoZSAtMjUlIGFuZCAtMTAlIGhhZCBzdGFja2VkXG5cdFx0Ly8gaW50byAxMC41cHggdHlwZSwgd2hpY2ggaXMgc21hbGwgZm9yIGEgcm93IG9mIGxpbmtzIHlvdSBhcmUgbWVhbnQgdG9cblx0XHQvLyBiZSBhYmxlIHRvIHRhcC5cblx0XHQvL1xuXHRcdC8vIFRoZSB3aG9sZSBvcmlnaW5hbCBjbGFtcCBpcyByZXN0b3JlZCByYXRoZXIgdGhhbiBhIGZsYXQgcHggdmFsdWUsIHNvXG5cdFx0Ly8gdGhlIGZsdWlkIGJlaGF2aW91ciBiZWxvdyBtZCBpcyBpZGVudGljYWwgdG8gd2hhdCBpdCB3YXMgYW5kIHRoZSB0d29cblx0XHQvLyBzdGF0ZXMgY2FuIGJlIGNvbXBhcmVkIGxpbmUgZm9yIGxpbmUuXG5cdFx0Ly9cblx0XHQvLyBQYWlycyB3aXRoIHRoZSAtLXRpY2tlci1oIHJldmVydCBpbiBfdG9rZW5zLnNjc3MuIFJldmVydCBvbmUgd2l0aG91dFxuXHRcdC8vIHRoZSBvdGhlciBhbmQgdGhlIGJhbmQncyBwcm9wb3J0aW9ucyBvbmx5IGhhbGYgcmV0dXJuLlxuXHRcdEBpbmNsdWRlIGF0KG1kKSB7XG5cdFx0XHRmb250LXNpemU6IGNsYW1wKC45NzVyZW0sIDIuNHZ3IC0gMnB4LCAxLjk3NXJlbSk7XG5cdFx0fVxuXHRcdGZvbnQtd2VpZ2h0OiA5MDA7XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRsZXR0ZXItc3BhY2luZzogLS4wMmVtO1xuXHRcdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdFx0Ly8g4pSA4pSAIEFsdGVybmF0aW5nIHdoaXRlIC8gYmx1ZSwgd2l0aCByZXZlcnNlZCBob3ZlcnMg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cdFx0Ly8gIEpvZSwgMjAyNi0wOC0wOC4gVGhlIGFsdGVybmF0aW9uIGlzIGEgUkVUVVJOIHRvIGhvdyB0aGlzIHJvdyB1c2VkIHRvXG5cdFx0Ly8gIHdvcmsg4oCUIGl0IHdhcyBzb2xpZCB2cyBob2xsb3csIHRoZW4gYnJpZWZseSBhbGwtb3V0bGluZWQsIHRoZW4gYWxsXG5cdFx0Ly8gIGFjY2VudCwgYW5kIGlzIG5vdyB3aGl0ZSB2cyBhY2NlbnQuIERvbid0IFwic2ltcGxpZnlcIiBpdCBiYWNrIHRvIG9uZVxuXHRcdC8vICBjb2xvdXI7IHRoZSB0d28tdG9uZSByb3cgaXMgdGhlIGludGVudC5cblx0XHQvL1xuXHRcdC8vICDimqAgVEhJUyBPTkxZIFRJTEVTIElGIFRIRSBUT1BJQyBDT1VOVCBJUyBFVkVOLiBUaGUgbWFycXVlZSByZW5kZXJzXG5cdFx0Ly8gIHRoZSBsaXN0IHR3aWNlLCBhbmQgZWFjaCBjb3B5IGlzIGl0cyBvd24gLnRpY2tlcl9fc2V0LCBzbyBudGgtY2hpbGRcblx0XHQvLyAgcmVzdGFydHMgaW5zaWRlIGVhY2ggb25lLiBXaXRoIGFuIGV2ZW4gY291bnQgdGhlIHNlY29uZCBzZXQgb3BlbnMgb25cblx0XHQvLyAgdGhlIG9wcG9zaXRlIGNvbG91ciB0byB0aGUgb25lIHRoZSBmaXJzdCBzZXQgY2xvc2VkIG9uIGFuZCB0aGVcblx0XHQvLyAgcGF0dGVybiBydW5zIHVuYnJva2VuOyB3aXRoIGFuIG9kZCBjb3VudCB0d28gc2FtZS1jb2xvdXJlZCB0b3BpY3Ncblx0XHQvLyAgbWVldCBhdCB0aGUgc2VhbS4gVGhlcmUgd2VyZSA4IHRvcGljcyB3aGVuIHRoaXMgd2FzIHdyaXR0ZW4uXG5cdFx0Ly9cblx0XHQvLyAgSXQgaXMgbm90IGZpeGFibGUgYnkgZmxpcHBpbmcgdGhlIHNlY29uZCBzZXQ6IHRoZSBsb29wIHJlc2V0cyBieVxuXHRcdC8vICB0cmFuc2xhdGluZyBleGFjdGx5IG9uZSBzZXQgd2lkdGgsIHNvIHRoZSB0d28gY29waWVzIE1VU1QgbG9va1xuXHRcdC8vICBpZGVudGljYWwgb3IgdGhlIHdyYXAgcG9wcy4gQSBnZW51aW5lbHkgb2RkLWNvdW50LXByb29mIHZlcnNpb25cblx0XHQvLyAgbmVlZHMgZm91ciBjb3BpZXMgcGx1cyBjb2xvdXJzIGFzc2lnbmVkIGJ5IGFic29sdXRlIGluZGV4LlxuXHRcdC8vXG5cdFx0Ly8gIFRoZSBzdHJva2UgaXMgemVyb2VkIHJhdGhlciB0aGFuIGRlbGV0ZWQgYmVjYXVzZSAtd2Via2l0LXRleHQtc3Ryb2tlXG5cdFx0Ly8gIGlzIGluaGVyaXRlZCDigJQgbGVhdmluZyBpdCBzZXQgd291bGQgaGF2ZSB0aGUgc2VwYXJhdG9ycyBhbmQgYW55dGhpbmdcblx0XHQvLyAgbmVzdGVkIHBpY2sgaXQgdXAsIGFuZCBgMGAgaXMgdGhlIG9ubHkgd2F5IHRvIHNheSBcIm5vIHN0cm9rZSBoZXJlXCIuXG5cdFx0LXdlYmtpdC10ZXh0LXN0cm9rZTogMDtcblx0XHR0cmFuc2l0aW9uOiBjb2xvciB2YXIoLS1kdXItZmFzdCkgJGVhc2U7XG5cblx0XHQvLyDimqAgVEhFTUUtQVdBUkUsIGFuZCBpdCB3YXMgTk9UIGFsd2F5cy4gVGhpcyB3YXMgYSByYXcgI2ZmZiBvbiB0aGVcblx0XHQvLyByZWFzb25pbmcgdGhhdCB0aGUgaGVybyBwaG90byBiZWhpbmQgaXQgaXMgdGhlIHNhbWUgaW1hZ2UgaW4gYm90aFxuXHRcdC8vIHRoZW1lcywgc28gdGhlIHJvdyBzaG91bGQga2V5IHRvIHRoZSBhcnR3b3JrIHJhdGhlciB0aGFuIHRoZSBwYWxldHRlLlxuXHRcdC8vIEpvZSBvdmVycnVsZWQgdGhhdCBvbiAyMDI2LTA4LTA4OiBpbiBsaWdodCBtb2RlIHRoZSB3aGl0ZSBoYXMgdG8gZ29cblx0XHQvLyBibGFjay4gRG9uJ3QgcmVpbnN0YXRlIHRoZSBoYXJkY29kZSDigJQgdGhlIG9sZCBhcmd1bWVudCBpcyByZWNvcmRlZFxuXHRcdC8vIGhlcmUgcHJlY2lzZWx5IHNvIGl0IGlzbid0IHJlZGlzY292ZXJlZCBhbmQgYWN0ZWQgb24uXG5cdFx0Ly9cblx0XHQvLyAtLWluayBpcyB0aGUgdG9rZW4gdGhhdCBhbHJlYWR5IG1lYW5zIGV4YWN0bHkgdGhpczogI2Y0ZjRmMiBpbiBkYXJrLFxuXHRcdC8vICMwYjBiMGQgaW4gbGlnaHQuIFVzaW5nIGl0IGJlYXRzIGEgW2RhdGEtdGhlbWU9XCJsaWdodFwiXSBvdmVycmlkZVxuXHRcdC8vIGJlY2F1c2UgaXQncyBvbmUgZGVjbGFyYXRpb24gdGhhdCBjYW4ndCBmYWxsIG91dCBvZiBzdGVwLCBhbmQgdGhlXG5cdFx0Ly8gZGlmZmVyZW5jZSBmcm9tIHB1cmUgI2ZmZiAvICMwMDAgaXMgaW1wZXJjZXB0aWJsZSBvdmVyIGEgcGhvdG8uXG5cdFx0Y29sb3I6IHZhcigtLWluayk7XG5cdFx0Jjpob3ZlciB7IGNvbG9yOiB2YXIoLS1hY2NlbnQpOyB9XG5cblx0XHQvLyDimqAgU1BFQ0lGSUNJVFksIGFuZCBpdCBpcyBsb2FkLWJlYXJpbmcuIGAmOm50aC1jaGlsZChldmVuKWAgaXMgKDAsMiwwKVxuXHRcdC8vIOKAlCBpZGVudGljYWwgdG8gYCY6aG92ZXJgIGFib3ZlIOKAlCBzbyBpdCBvbmx5IHdpbnMgYnkgY29taW5nIGxhdGVyIGluXG5cdFx0Ly8gdGhlIGZpbGUuIFRoZSByZXZlcnNlZCBob3ZlciB0aGVuIG5lZWRzICgwLDMsMCkgdG8gYmVhdCBpdCwgd2hpY2ggaXNcblx0XHQvLyBleGFjdGx5IHdoYXQgbmVzdGluZyA6aG92ZXIgaW5zaWRlIGdpdmVzLiBSZW9yZGVyIHRoZXNlIGFuZCBldmVuXG5cdFx0Ly8gaXRlbXMgc3RvcCByZWFjdGluZyB0byBob3ZlciBlbnRpcmVseS5cblx0XHQmOm50aC1jaGlsZChldmVuKSB7XG5cdFx0XHRjb2xvcjogdmFyKC0tYWNjZW50KTtcblx0XHRcdC8vIC0taW5rIGZvciB0aGUgc2FtZSByZWFzb24gYXMgdGhlIGJhc2UgY29sb3VyOiB0aGUgcmV2ZXJzZWQgaG92ZXJcblx0XHRcdC8vIGxhbmRzIG9uIHdoYXRldmVyIFwidGhlIG5vbi1ibHVlIG9uZVwiIGlzIGluIHRoaXMgdGhlbWUuXG5cdFx0XHQmOmhvdmVyIHsgY29sb3I6IHZhcigtLWluayk7IH1cblx0XHR9XG5cblx0XHQvLyBhbGlnbi1pdGVtczogY2VudGVyIGNlbnRyZXMgdGhlIGRvdCBvbiB0aGUgTElORSBCT1guIFVwcGVyY2FzZSBjYXBzXG5cdFx0Ly8gZG9uJ3QgZmlsbCB0aGVpciBsaW5lIGJveCDigJQgdGhleSBzaXQgcm91Z2hseSAuMDg1ZW0gYWJvdmUgaXRzIGNlbnRyZVxuXHRcdC8vIChoYWxmLWxlYWRpbmcgaXMgc3ltbWV0cmljLCBzbyB0aGUgb2Zmc2V0IGhvbGRzIGF0IGFueSBsaW5lLWhlaWdodCkuXG5cdFx0Ly8gQ2VudHJpbmcgb24gdGhlIGJveCB0aGVyZWZvcmUgcmVhZHMgdmlzaWJseSBsb3cgYWdhaW5zdCB0aGUgY2Fwcy5cblx0XHQvLyBwb3NpdGlvbjpyZWxhdGl2ZSArIHRvcCBudWRnZXMgaXQgb3B0aWNhbGx5IHdpdGhvdXQgdG91Y2hpbmcgbGF5b3V0LlxuXHRcdC8vIFRoZSBiYWNrc2xhc2ggaXMgYSByZWFsIGVsZW1lbnQgaW4gdGhlIG1hcmt1cCAoLnRpY2tlcl9fc2VwKSwgbm90IGEgQ1NTXG5cdFx0Ly8gYGNvbnRlbnRgIGVzY2FwZSDigJQgc2VlIHRoZSBub3RlIGluIGZyb250LXBhZ2UucGhwLiBJdCBpcyB0ZXh0LCBzbyBpdFxuXHRcdC8vIHNpdHMgb24gdGhlIGJhc2VsaW5lIHdpdGggdGhlIHRvcGljcyBhbmQgbmVlZHMgbm9uZSBvZiB0aGUgb3B0aWNhbFxuXHRcdC8vIG51ZGdpbmcgdGhlIG9sZCBnZW9tZXRyaWMgZG90IHJlcXVpcmVkLlxuXHRcdC50aWNrZXJfX3NlcCB7XG5cdFx0XHRmb250LXN0eWxlOiBub3JtYWw7XG5cdFx0XHRmbGV4OiBub25lO1xuXG5cdFx0XHQvLyBMaWdodCwgbm90IGJvbGQg4oCUIEpvZSwgMjAyNi0wOC0wOC4gVGhlIHNlcGFyYXRvciBpcyBwdW5jdHVhdGlvblxuXHRcdFx0Ly8gYmV0d2VlbiB0b3BpY3MsIG5vdCBhIHBlZXIgb2YgdGhlbSwgc28gaXQgZHJvcHMgb3V0IG9mIHRoZSA5MDBcblx0XHRcdC8vIHRoZSByb3cgY2Fycmllcy4gNDAwIGFnYWluc3QgdGhlIHRvcGljcycgOTAwIGlzIHdoYXQgbWFrZXMgaXRcblx0XHRcdC8vIHJlYWQgYXMgYSBtYXJrIHJhdGhlciB0aGFuIGEgY2hhcmFjdGVyIGluIHRoZSBsaXN0LlxuXHRcdFx0Zm9udC13ZWlnaHQ6IDQwMDtcblxuXHRcdFx0Ly8gSW5rIGF0IDI1JSDigJQgSm9lLCAyMDI2LTA4LTA4LiBPcGFxdWUgd2hpdGUgZmlyc3QsIHRoZW4gMjUlIHdoaXRlLFxuXHRcdFx0Ly8gdGhlbiB0aGVtZS1hd2FyZSBpbiB0aGUgc2FtZSBzZXNzaW9uLiBJdCdzIHB1bmN0dWF0aW9uLCBhbmQgYXRcblx0XHRcdC8vIGZ1bGwgc3RyZW5ndGggaXQgY29tcGV0ZWQgd2l0aCB0aGUgdG9waWNzIGluc3RlYWQgb2Ygc3BhY2luZ1xuXHRcdFx0Ly8gdGhlbS5cblx0XHRcdC8vXG5cdFx0XHQvLyBjb2xvci1taXggYWdhaW5zdCBgdHJhbnNwYXJlbnRgIGlzIGhvdyB5b3UgZ2V0IGFuIGFscGhhIG9mIGFcblx0XHRcdC8vIGN1c3RvbSBwcm9wZXJ0eTogLS1pbmsgaXMgYSBmbGF0IGhleCwgc28gcmdiYSgpIGNhbid0IHRha2UgaXRcblx0XHRcdC8vIGFwYXJ0LiBTYW1lIG1lY2hhbmlzbSBhcyAtLWxpbmUtMi1mbGF0IGluIF90b2tlbnMuc2Nzcy5cblx0XHRcdC8vXG5cdFx0XHQvLyDimqAgQmVpbmcgdHJhbnNsdWNlbnQgaXQgcGlja3MgdXAgd2hhdGV2ZXIgdGhlIHBob3RvIGlzIGRvaW5nXG5cdFx0XHQvLyBiZWhpbmQgaXQsIHNvIGl0cyBhcHBhcmVudCBjb2xvdXIgdmFyaWVzIGFsb25nIHRoZSByb3cuIFRoYXQgaXNcblx0XHRcdC8vIGFjY2VwdGVkLCBub3Qgb3Zlcmxvb2tlZCDigJQgaWYgaXQgZXZlciByZWFkcyBkaXJ0eSByYXRoZXIgdGhhblxuXHRcdFx0Ly8gc29mdCwgdGhlIGZpeCBpcyBtb3JlIGFscGhhLCBub3QgYSBkaWZmZXJlbnQgaHVlLlxuXHRcdFx0Ly9cblx0XHRcdC8vIFBpbm5lZCByYXRoZXIgdGhhbiBpbmhlcml0ZWQsIHdoaWNoIGFsc28ga2VlcHMgdGhlIHNlcGFyYXRvcnMgb3V0XG5cdFx0XHQvLyBvZiB0aGUgdG9waWNzJyBob3ZlciBzaGlmdCDigJQgb25seSB0aGUgb25lIHlvdSdyZSBwb2ludGluZyBhdFxuXHRcdFx0Ly8gY2hhbmdlcy4gVGhlIHN0cm9rZSByZXNldCBpcyB2ZXN0aWdpYWwgc2luY2UgdGhlIG91dGxpbmUgd2VudC5cblx0XHRcdGNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0taW5rKSAyNSUsIHRyYW5zcGFyZW50KTtcblx0XHRcdC13ZWJraXQtdGV4dC1zdHJva2U6IDA7XG5cdFx0fVxuXG5cdH1cblxuXHQvLyBIb3ZlcnMgYXJlIGRlY2xhcmVkIHdpdGggdGhlIGFsdGVybmF0aW9uIGFib3ZlLCBub3QgZG93biBoZXJlIOKAlCBlYWNoIGl0ZW1cblx0Ly8gaG92ZXJzIHRvIHRoZSBPVEhFUiBjb2xvdXIsIHNvIHRoZSByb3cgYWx3YXlzIGhhcyBib3RoIGluIHBsYXkgaW5zdGVhZCBvZlxuXHQvLyBjb2xsYXBzaW5nIHRvIG9uZSBvbiBob3Zlci5cblx0Ly9cblx0Ly8gTm90IGdhdGVkIGJlaGluZCBjYW4taG92ZXIsIHBlciBKb2U6IG9ubHkgdGhlIGNvbnRyb2xzIGhlIG5hbWVkIGdldCB0aGF0XG5cdC8vIHRyZWF0bWVudC4gSXQgY2FuIGxhdGNoIGFmdGVyIGEgdGFwIG9uIHRvdWNoLCB3aGljaCBpcyBhY2NlcHRhYmxlIG9uIGFcblx0Ly8gZGVjb3JhdGl2ZSBtYXJxdWVlLlxuXG5cdCYtLXJldmVyc2UgJl9fdHJhY2sgeyBhbmltYXRpb24tZGlyZWN0aW9uOiByZXZlcnNlOyB9XG59XG5cbkBrZXlmcmFtZXMgbWFycXVlZSB7XG5cdGZyb20geyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cblx0dG8gICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgfVxufVxuIiwiQHVzZSBcInRva2Vuc1wiIGFzICo7XHJcblxyXG4vLyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcclxuLy8gIEVQSVNPREUgSU5ERVhcclxuLy9cclxuLy8gIEEgbGlzdCwgbm90IGEgY2FyZCBncmlkIOKAlCByb3dzIHJlYWQgZmFzdGVyIGFuZCBob2xkIG1vcmUgZXBpc29kZXMgYWJvdmUgdGhlXHJcbi8vICBmb2xkLlxyXG4vL1xyXG4vLyAgRWFjaCByb3cgaXMgYSBncmlkOiBhcnR3b3JrIG9uIHRoZSBsZWZ0IHNwYW5uaW5nIGFsbCB0aHJlZSB0ZXh0IHJvd3MsIHRoZW5cclxuLy8gIFwiRVAuIG5cIiAvIHRpdGxlIC8gZGVzY3JpcHRpb24gc3RhY2tlZCBiZXNpZGUgaXQuXHJcbi8vXHJcbi8vICBUaGUgYXJ0d29yayBpcyBzaXplZCBieSBXSURUSCAoLS1lcC13KSB3aXRoIGl0cyBoZWlnaHQgZGVyaXZlZCB2aWFcclxuLy8gIGFzcGVjdC1yYXRpby4gSXQgaXMgZGVsaWJlcmF0ZWx5IG5vdCBzdHJldGNoZWQgdG8gdGhlIHJvdyDigJQgc2VlIHRoZSBub3RlIG9uXHJcbi8vICAmX190aHVtYiDigJQgYmVjYXVzZSBhIHN0cmV0Y2hlZCBib3ggc2lsZW50bHkgY2hhbmdlcyB0aGUgcGljdHVyZSdzIGNyb3BcclxuLy8gIHdoZW5ldmVyIHRoZSBjb3B5IGJlc2lkZSBpdCBnZXRzIHRhbGxlci5cclxuLy9cclxuLy8gIFRoZSBjdXJzb3ItdHJhY2tpbmcgcHJldmlldyB0aGF0IHVzZWQgdG8gbGl2ZSBoZXJlIGlzIGdvbmUsIGFsb25nIHdpdGhcclxuLy8gIHNyYy9qcy9jLXByZXZpZXcuanMg4oCUIGV2ZXJ5IHJvdyBzaG93cyBpdHMgb3duIGFydHdvcmsgbm93LCBzbyB0aGVyZSBpc1xyXG4vLyAgbm90aGluZyBsZWZ0IHRvIHByZXZpZXcuXHJcbi8vIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxyXG5cclxuLmluZGV4IHtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7ICAgLy8gcG9zaXRpb25pbmcgY29udGV4dCBmb3IgLmZsb3ctbWFya2VyXHJcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWxpbmUpO1xyXG5cdC8vIFNhbWUgY3VydmUsIGR1cmF0aW9uIEFORCBkZWxheSBhcyAuZXAncyBydWxlIGJlbG93IOKAlCB0aGVzZSB0d28gZmFkZXMgYXJlXHJcblx0Ly8gdGhlIHNhbWUgZXZlbnQgYW5kIG11c3Qgbm90IGRyaWZ0IGFwYXJ0LlxyXG5cdHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAuOHMgbGluZWFyIC4xcztcclxuXHJcblx0Ly8gVGhlIGxpc3QncyBvd24gdG9wIHJ1bGUgSVMgdGhlIG1hcmtlcidzIHRvcCBlZGdlIHdoZW4gdGhlIGZpcnN0IHJvdyBpc1xyXG5cdC8vIGFjdGl2ZSwgc28gaXQgZmFkZXMgd2l0aCB0aGUgcmVzdCDigJQgc2VlIHRoZSBub3RlIG9uIC5lcC5pcy1vbiBiZWxvdy5cclxuXHQvL1xyXG5cdC8vIDpmaXJzdC1vZi10eXBlLCBOT1QgOmZpcnN0LWNoaWxkIOKAlCBnLWZsb3cuanMgaW5zZXJ0cyB0aGUgbWFya2VyIHdpdGhcclxuXHQvLyBpbnNlcnRCZWZvcmUobGlzdC5maXJzdENoaWxkKSwgc28gdGhlIGZpcnN0IGNoaWxkIGlzIGEgPHNwYW4+IGFuZCBubyAuZXBcclxuXHQvLyBpcyBldmVyIDpmaXJzdC1jaGlsZC4gVGhlIHJvd3MgYXJlIDxhPiwgdGhlIG1hcmtlciBpcyBhIDxzcGFuPiwgd2hpY2ggaXNcclxuXHQvLyB3aGF0IG1ha2VzIDpmaXJzdC1vZi10eXBlIHRoZSByaWdodCBxdWVzdGlvbiBoZXJlLlxyXG5cdCY6aGFzKD4gLmVwOmZpcnN0LW9mLXR5cGUuaXMtb24pIHsgYm9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cclxuXHQvLyBBcnR3b3JrIFdJRFRILiBIZWlnaHQgaXMgZGVyaXZlZCBmcm9tIGl0IGJ5IGFzcGVjdC1yYXRpbywgc28gdGhpcyBpcyB0aGVcclxuXHQvLyBvbmx5IHNpemUga25vYiBhbmQgdGhlIHJhdGlvIGNhbiBuZXZlciBkcmlmdC4gKzIwJSBhZ2Fpbi5cclxuXHQtLWVwLXc6IGNsYW1wKDIzMnB4LCAyMy40dncsIDMyMHB4KTtcclxufVxyXG5cclxuLmVwIHtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0ZGlzcGxheTogZ3JpZDtcclxuXHQvLyB0aHVtYiB8IEVQICsgdGl0bGUgKyBkZXNjcmlwdGlvbiB8IGRhdGUgfCBhcnJvd1xyXG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byBtaW5tYXgoMCwgMWZyKSBhdXRvIGF1dG87XHJcblx0Z3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvIGF1dG8gYXV0bztcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGNvbHVtbi1nYXA6IGNsYW1wKDEuMjVyZW0sIDIuNnZ3LCAyLjVyZW0pO1xyXG5cdHJvdy1nYXA6IDA7XHJcblx0cGFkZGluZy1ibG9jazogY2xhbXAoMS41cmVtLCAyLjZ2dywgMi41cmVtKTtcclxuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tbGluZSk7XHJcblx0aXNvbGF0aW9uOiBpc29sYXRlO1xyXG5cdHotaW5kZXg6IDE7ICAgLy8gYWJvdmUgLmZsb3ctbWFya2VyXHJcblx0Ly8g4pSA4pSAIFRoZSBzZXBhcmF0b3IgZmFkZSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcclxuXHQvLyAgTE9ORyBhbmQgTElORUFSLCBhbmQgYm90aCBwYXJ0cyBhcmUgZGVsaWJlcmF0ZS5cclxuXHQvL1xyXG5cdC8vICBMb25nICguOHMpIGJlY2F1c2UgdGhlIG1hcmtlciBvbmx5IHRyYXZlbHMgZm9yIC40MnM6IHRoZSBmYWRlIGhhcyB0b1xyXG5cdC8vICBvdXRsYXN0IHRoZSBzbGlkZSBzbyB0aGUgcnVsZSBpcyBzdGlsbCB2aXNpYmx5IGdvaW5nIGFzIHRoZSBvdXRsaW5lXHJcblx0Ly8gIGFycml2ZXMsIHJhdGhlciB0aGFuIGJlaW5nIGZpbmlzaGVkIGJlZm9yZSBpdCBsYW5kcy4gVHdvIHNob3J0ZXJcclxuXHQvLyAgdmVyc2lvbnMgKC40MnMgdGhlbiAuM3MpIGJvdGggcmVhZCBhcyBpbnN0YW50IG9uIEpvZSdzIHBob25lLlxyXG5cdC8vXHJcblx0Ly8gIExpbmVhciBiZWNhdXNlIHRoZXJlIGlzIGFsbW9zdCBub3RoaW5nIGhlcmUgdG8gZmFkZS4gVGhlIHJ1bGUgaXMgMXB4IG9mXHJcblx0Ly8gIC0tbGluZSwgd2hpY2ggaXMgMTAlIGFscGhhIOKAlCB0aGUgZW50aXJlIHJhbmdlIGlzIGEgY291cGxlIG9mIGRvemVuXHJcblx0Ly8gIHBlcmNlcHRpYmxlIHN0ZXBzLCBzbyBhbnkgZWFzZWQgY3VydmUgc3BlbmRzIG1vc3Qgb2YgaXRzIHRpbWUgaW4gYSBwYXJ0XHJcblx0Ly8gIG9mIHRoYXQgcmFuZ2UgdGhlIGV5ZSBjYW4ndCBzZXBhcmF0ZSBhbmQgdGhlIGNoYW5nZSBsb29rcyBsaWtlIGEgc25hcC5cclxuXHQvLyAgQW4gZXZlbiByYW1wIGlzIHRoZSBvbmx5IHdheSBhIGZhZGUgdGhpcyBmYWludCByZWFkcyBhcyBhIGZhZGUgYXQgYWxsLlxyXG5cdC8vICBUaGlzIGlzIGFsc28gd2h5IGl0IGlzIE5PVCBvbiAkZWFzZS1vdXQgbGlrZSB0aGUgbWFya2VyOiB0aGF0IGN1cnZlIGlzXHJcblx0Ly8gIGN1YmljLWJlemllciguMTYsIDEsIC4zLCAxKSBhbmQgZG9lcyBtb3N0IG9mIGl0cyB3b3JrIGltbWVkaWF0ZWx5LlxyXG5cdC8vXHJcblx0Ly8gIFRoZSAuMXMgZGVsYXkgaXMgc3ltbWV0cmljLCBzbyB0aGUgZXhpdCBpcyByaWdodCB0b286IGFzIHRoZSBtYXJrZXJcclxuXHQvLyAgbGVhdmVzLCB0aGUgcnVsZSBzdGF5cyBkb3duIHdoaWxlIHRoZSBvdXRsaW5lIGlzIHN0aWxsIG92ZXJsYXBwaW5nIGl0XHJcblx0Ly8gIGFuZCBvbmx5IGNvbWVzIGJhY2sgb25jZSBpdCBoYXMgbW92ZWQgY2xlYXIuXHJcblx0dHJhbnNpdGlvbjogY29sb3IgdmFyKC0tZHVyLWZhc3QpICRlYXNlLFxyXG5cdFx0XHRcdGJvcmRlci1jb2xvciAuOHMgbGluZWFyIC4xcztcclxuXHJcblx0QGluY2x1ZGUgYXQobWQpIHtcclxuXHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byBtaW5tYXgoMCwgMWZyKTtcclxuXHRcdGNvbHVtbi1nYXA6IHNwKDQpO1xyXG5cdH1cclxuXHJcblx0Ly8gQWNjZW50IHN3ZWVwIGJlaGluZCB0aGUgcm93LlxyXG5cdC8vXHJcblx0Ly8gLS1hY2NlbnQtZGVlcCByYXRoZXIgdGhhbiAtLWFjY2VudDogdGhpcyBpcyB0aGUgb25lIHBsYWNlIHNtYWxsIHdoaXRlIHRleHRcclxuXHQvLyBzaXRzIG9uIGEgc29saWQgYnJhbmQgYmxvY2ssIGFuZCAjMDE4MUREL3doaXRlIGlzIDQuMDY6MSDigJQgdW5kZXIgdGhlIDQuNVxyXG5cdC8vIHNtYWxsIHRleHQgbmVlZHMuIFRoZSBkZWVwZXIgc2hhZGUgcmVhZHMgYXMgdGhlIHNhbWUgYmx1ZSBhbmQgY2xlYXJzIDU6MS5cclxuXHQmOjpiZWZvcmUge1xyXG5cdFx0Y29udGVudDogXCJcIjtcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdGluc2V0OiAwIGNhbGModmFyKC0tZ3V0dGVyKSAqIC0uNSk7XHJcblx0XHR6LWluZGV4OiAtMTtcclxuXHRcdGJhY2tncm91bmQ6IHZhcigtLWFjY2VudC1kZWVwKTtcclxuXHRcdHRyYW5zZm9ybTogc2NhbGVZKDApO1xyXG5cdFx0dHJhbnNmb3JtLW9yaWdpbjogYm90dG9tO1xyXG5cdFx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIC40cyAkZWFzZS1vdXQ7XHJcblx0fVxyXG5cclxuXHQvLyBERVNLVE9QIE9OTFkuIFRoZSBzY3JvbGwtYWN0aXZhdGVkIHZlcnNpb24gKG1hZ25pZmljLXN0eWxlLCB2aWFcclxuXHQvLyBzcmMvanMvZy1pbnZpZXcuanMpIGhhcyBiZWVuIHJlbW92ZWQgYWxvbmcgd2l0aCB0aGUgc2NyaXB0IOKAlCBvbiB0b3VjaCB0aGVcclxuXHQvLyByb3dzIG5vdyBzdGF5IGluIHRoZWlyIHJlc3Rpbmcgc3RhdGUsIHdpdGggbm8gc3dlZXAgYXQgYWxsLlxyXG5cdEBpbmNsdWRlIGNhbi1ob3ZlciB7XHJcblx0XHQmOmhvdmVyIHtcclxuXHRcdFx0Y29sb3I6IHZhcigtLW9uLWFjY2VudCk7XHJcblx0XHRcdCY6OmJlZm9yZSB7IHRyYW5zZm9ybTogc2NhbGVZKDEpOyB9XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQvLyBObyB0cmFpbGluZyBydWxlIHVuZGVyIHRoZSBmaW5hbCByb3cg4oCUIGl0IGRpdmlkZXMgbm90aGluZy5cclxuXHQmOmxhc3QtY2hpbGQge1xyXG5cdFx0QGluY2x1ZGUgYXQobWQpIHsgYm9yZGVyLWJvdHRvbTogMDsgfVxyXG5cdH1cclxuXHJcblx0Ly8g4pSA4pSAIFNjcm9sbCBmbG93OiB0aGUgYWN0aXZlIHJvdyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcclxuXHQvLyAgYC5pcy1vbmAgaXMgc2V0IGJ5IHNyYy9qcy9nLWZsb3cuanMgb24gdGhlIHJvdyBuZWFyZXN0IHRoZSBjZW50cmUgb2YgdGhlXHJcblx0Ly8gIHZpZXdwb3J0ICh0b3VjaCBvbmx5IOKAlCBkZXNrdG9wIHVzZXMgOmhvdmVyKS4gVGhlIG1hcmtlciBpdHNlbGYgaXMgYVxyXG5cdC8vICBzaW5nbGUgc2hhcmVkIGVsZW1lbnQsIC5mbG93LW1hcmtlciwgdGhhdCBzbGlkZXMgYmV0d2VlbiByb3dzLlxyXG5cdC8vXHJcblx0Ly8gIOKaoCBOTyBDT0xPVVIgQ0hBTkdFUyBIRVJFLiBUaGUgbWFya2VyIHdhcyBhIHNvbGlkIGJsdWUgYmxvY2sgYW5kIHRoaXNcclxuXHQvLyAgYmxvY2sgaW52ZXJ0ZWQgZXZlcnkgcGllY2Ugb2YgY29weSBvbnRvIGl0IOKAlCB0aXRsZSwgbGFiZWwsIGV4Y2VycHQsIGRhdGVcclxuXHQvLyAgYW5kIHRoZSBhcnJvdyBjaGlwLiBUaGUgbWFya2VyIGlzIG5vdyBhIDNweCBvdXRsaW5lIChKb2UsIDIwMjYtMDgtMDcpLCBzb1xyXG5cdC8vICB0aGUgcm93IGtlZXBzIGl0cyBub3JtYWwgYmFja2dyb3VuZCBhbmQgaW52ZXJ0ZWQgY29weSB3b3VsZCBiZSB3aGl0ZSB0ZXh0XHJcblx0Ly8gIG9uIHRoZSBwYWdlJ3Mgb3duIGRhcmsgc3VyZmFjZTogaW52aXNpYmxlIGluIGxpZ2h0IG1vZGUsIGFuZCB3cm9uZyBpblxyXG5cdC8vICBib3RoLiBPbmx5IHRoZSBtb3Rpb24gY3VlcyBzdXJ2aXZlLlxyXG5cdCYuaXMtb24ge1xyXG5cdFx0Ly8gVGhlIHdob2xlIFRIVU1CTkFJTCBzaHJpbmtzIOKAlCB0aGUgY29udGFpbmVyLCBub3QgdGhlIGltYWdlIGluc2lkZSBpdC5cclxuXHRcdC8vIFR3byBkZWxpYmVyYXRlIGRpZmZlcmVuY2VzIGZyb20gdGhlIGRlc2t0b3AgaG92ZXIgYmVsb3c6XHJcblx0XHQvL1xyXG5cdFx0Ly8gICDigKIgQ29udGFpbmVyLCBub3QgaW1nLiBTY2FsaW5nIHRoZSBpbWcgaW5zaWRlIGEgZml4ZWQgb3ZlcmZsb3c6aGlkZGVuXHJcblx0XHQvLyAgICAgYm94IG9ubHkgcmUtY3JvcHMgdGhlIHBpY3R1cmU7IG5vdGhpbmcgbW92ZXMgYXQgdGhlIGNhcmQncyBlZGdlcyxcclxuXHRcdC8vICAgICBzbyBpdCByZWFkcyBhcyB0aGUgYXJ0d29yayB0d2l0Y2hpbmcgcmF0aGVyIHRoYW4gdGhlIHJvd1xyXG5cdFx0Ly8gICAgIHJlc3BvbmRpbmcuXHJcblx0XHQvLyAgIOKAoiBEb3duLCBub3QgdXAuIFRoZSByb3cgaXMgYWxyZWFkeSBjYWxsZWQgb3V0IGJ5IHRoZSBvdXRsaW5lIGFyb3VuZFxyXG5cdFx0Ly8gICAgIGl0OyBwdXNoaW5nIHRoZSB0aHVtYiBvdXQgYXMgd2VsbCBmb3VnaHQgdGhhdCByaW5nLiBFYXNpbmcgaXQgYmFja1xyXG5cdFx0Ly8gICAgIGxldHMgdGhlIG91dGxpbmUgZG8gdGhlIHdvcmsgYW5kIHJlYWRzIGFzIHRoZSByb3cgc2V0dGxpbmcuXHJcblx0XHQuZXBfX3RodW1iIHsgdHJhbnNmb3JtOiBzY2FsZSguOTQpOyB9XHJcblxyXG5cdFx0Ly8gVGhlIGFycm93IHR1cm5zIHRvIHBvaW50IGludG8gdGhlIHJvdy4gVHJhbnNmb3JtIG9ubHkg4oCUIGl0cyBmaWxsZWRcclxuXHRcdC8vIHN0YXRlIGJlbG9uZ2VkIHRvIHRoZSBzb2xpZCBtYXJrZXIuXHJcblx0XHQuZXBfX2dvIHsgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTsgfVxyXG5cdH1cclxuXHJcblx0Ly8g4pSA4pSAIFNlcGFyYXRvciBsaW5lcyB0aGUgbWFya2VyIHRvdWNoZXMg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXHJcblx0Ly8gIFRoZSAxcHggcnVsZXMgYW5kIHRoZSBvdXRsaW5lIGxhbmQgb24gZXhhY3RseSB0aGUgc2FtZSBlZGdlcywgc28gdGhlXHJcblx0Ly8gIGFjdGl2ZSByb3cgcmVhZCBhcyBkb3VibGUtcnVsZWQuIEJvdGggbGluZXMgdGhlIG1hcmtlciBtZWV0cyBmYWRlIG91dDpcclxuXHQvLyAgdGhlIGFjdGl2ZSByb3cncyBvd24gYm90dG9tIGJvcmRlciwgYW5kIHRoZSBib3R0b20gYm9yZGVyIG9mIHRoZSByb3dcclxuXHQvLyAgQUJPVkUgaXQsIHdoaWNoIGlzIHRoZSBtYXJrZXIncyB0b3AgZWRnZS5cclxuXHQvL1xyXG5cdC8vICA6aGFzKCkgcmF0aGVyIHRoYW4gYSBzZWNvbmQgY2xhc3MgZnJvbSBnLWZsb3cuanMg4oCUIFwidGhlIHJvdyBiZWZvcmUgdGhlXHJcblx0Ly8gIGFjdGl2ZSBvbmVcIiBpcyBhIHJlbGF0aW9uc2hpcCBDU1Mgc3RhdGVzIGRpcmVjdGx5LCBhbmQgdGhlIGJyb3dzZXJzbGlzdFxyXG5cdC8vICBmbG9vciBoZXJlIGlzIGlPUyBTYWZhcmkgMTguNSwgbG9uZyBwYXN0IDpoYXMoKSBzdXBwb3J0LlxyXG5cdC8vXHJcblx0Ly8gIGJvcmRlci1jb2xvciwgbm90IGJvcmRlci13aWR0aDogdGhlIHJvdyBtdXN0IG5vdCBjaGFuZ2UgaGVpZ2h0IGFzIHRoZVxyXG5cdC8vICBtYXJrZXIgYXJyaXZlcywgb3IgZXZlcnkgcm93IGJlbG93IGl0IHdvdWxkIHNoaWZ0IGJ5IGEgcGl4ZWwuXHJcblx0Ly9cclxuXHQvLyAgVGltaW5nIGlzIHNldCBvbiAuZXAgYWJvdmUg4oCUIC44cyBsaW5lYXIgYWZ0ZXIgYSAuMXMgZGVsYXksIGRlbGliZXJhdGVseVxyXG5cdC8vICBvdXRsYXN0aW5nIHRoZSBtYXJrZXIncyAuNDJzIHRyYXZlbC4gU2VlIHRoZSBub3RlIHRoZXJlLlxyXG5cdCYuaXMtb24sXHJcblx0JjpoYXMoKyAuZXAuaXMtb24pIHtcclxuXHRcdGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xyXG5cdH1cclxuXHJcblx0Ly8gS2VwdCBmb3IgdGhlIGNvbW1lbnRlZC1vdXQgcnVubmluZyBudW1iZXIgaW4gZnJvbnQtcGFnZS5waHAuXHJcblx0Jl9fbm8ge1xyXG5cdFx0Z3JpZC1jb2x1bW46IDE7XHJcblx0XHRncmlkLXJvdzogMSAvIHNwYW4gMztcclxuXHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm8pO1xyXG5cdFx0Zm9udC1zaXplOiAuNzhyZW07XHJcblx0XHRjb2xvcjogdmFyKC0taW5rLTMpO1xyXG5cdFx0Zm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcclxuXHRcdHRyYW5zaXRpb246IGNvbG9yIHZhcigtLWR1ci1mYXN0KSAkZWFzZTtcclxuXHJcblx0XHRAaW5jbHVkZSBjYW4taG92ZXIge1xyXG5cdFx0XHQuZXA6aG92ZXIgJiB7IGNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tb24tYWNjZW50KSA4MiUsIHRyYW5zcGFyZW50KTsgfVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Ly8gQXJ0d29yay5cclxuXHQvL1xyXG5cdC8vIGFzcGVjdC1yYXRpbzogMTYvOSBhbmQgYWxpZ24tc2VsZjogQ0VOVEVSIOKAlCBuZXZlciBgc3RyZXRjaGAuIFN0cmV0Y2hpbmdcclxuXHQvLyBtYWRlIHRoZSBib3ggdGFrZSB0aGUgUk9XJ3MgaGVpZ2h0LCB3aGljaCBncm93cyB3aXRoIHRoZSBkZXNjcmlwdGlvbiBhbmRcclxuXHQvLyB0aGUgcGFkZGluZywgc28gdGhlIGZyYW1lIGRyaWZ0ZWQgd2VsbCBvZmYgMTY6OSBhbmQgb2JqZWN0LWZpdDogY292ZXJcclxuXHQvLyBzaWxlbnRseSBjcm9wcGVkIHRoZSBwaWN0dXJlLiBXaWR0aCBpbiwgaGVpZ2h0IGRlcml2ZWQsIHJhdGlvIGxvY2tlZC5cclxuXHQvL1xyXG5cdC8vIDE2OjkgbWF0Y2hlcyB0aGUgc291cmNlIGV4YWN0bHk6IGVwaXNvZGUgYXJ0d29yayBpcyBZb3VUdWJlXHJcblx0Ly8gYG1heHJlc2RlZmF1bHRgICgxMjgweDcyMCksIHNvIGBjb3ZlcmAgaXMgYSAxOjEgbWFwcGluZyBhbmQgY3JvcHMgbm90aGluZy5cclxuXHQvLyBXb3J0aCBrbm93aW5nIGlmIHRoZSBxdWFsaXR5IGZpZWxkIGlzIGV2ZXIgY2hhbmdlZCDigJQgYGhxZGVmYXVsdGAgaXMgNDozXHJcblx0Ly8gd2l0aCBsZXR0ZXJib3hpbmcgYmFrZWQgaW4sIGFuZCBjb3ZlciB3b3VsZCB0aGVuIHRyaW0gdGhlIGJsYWNrIGJhcnNcclxuXHQvLyAod2hpY2ggaXMgZmluZSwgYnV0IGl0IGlzIGEgY3JvcCkuXHJcblx0Jl9fdGh1bWIge1xyXG5cdFx0Z3JpZC1jb2x1bW46IDE7XHJcblx0XHRncmlkLXJvdzogMSAvIHNwYW4gMztcclxuXHRcdGFsaWduLXNlbGY6IGNlbnRlcjtcclxuXHRcdHdpZHRoOiB2YXIoLS1lcC13KTtcclxuXHRcdGFzcGVjdC1yYXRpbzogMTYgLyA5O1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogMTBweDtcclxuXHRcdG92ZXJmbG93OiBoaWRkZW47XHJcblx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1iZy0zKTtcclxuXHRcdC8vIE1hdGNoZXMgLmZsb3ctbWFya2VyJ3MgdHJhdmVsLCBzbyB0aGUgdGh1bWIgc2V0dGxlcyBhcyB0aGUgb3V0bGluZVxyXG5cdFx0Ly8gYXJyaXZlcyByYXRoZXIgdGhhbiBmaW5pc2hpbmcgZWFybHkgYW5kIGxvb2tpbmcgbGlrZSBhIHNlcGFyYXRlIGV2ZW50LlxyXG5cdFx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIC40MnMgJGVhc2Utb3V0O1xyXG5cclxuXHRcdGltZyB7XHJcblx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRoZWlnaHQ6IDEwMCU7XHJcblx0XHRcdG9iamVjdC1maXQ6IGNvdmVyO1xyXG5cdFx0XHRAaW5jbHVkZSB6b29tYWJsZSguNnMpO1xyXG5cdFx0fVxyXG5cclxuXHRcdEBpbmNsdWRlIGNhbi1ob3ZlciB7XHJcblx0XHRcdC5lcDpob3ZlciAmIGltZyB7IEBpbmNsdWRlIHpvb21lZCgxLjA2KTsgfVxyXG5cdFx0fVxyXG5cclxuXHRcdC8vIE1vYmlsZTogbmFycm93ZXIsIHNvIHRoZSBjb3B5IGJlc2lkZSBpdCBnZXRzIHVzYWJsZSB3aWR0aC4gU3RheXNcclxuXHRcdC8vIGNlbnRyZS1hbGlnbmVkICh0aGUgYmFzZSBhbGlnbi1zZWxmKSwgbWF0Y2hpbmcgZGVza3RvcCDigJQgbm8gb3ZlcnJpZGUuXHJcblx0XHRAaW5jbHVkZSBhdChtZCkgeyB3aWR0aDogbWluKHZhcigtLWVwLXcpLCA0MHZ3KTsgfVxyXG5cdFx0QGluY2x1ZGUgYXQoc20pIHsgd2lkdGg6IDM4dnc7IH1cclxuXHR9XHJcblxyXG5cdC8vIFwiRVAuIDlcIiDigJQgYm9sZCBleWVicm93IGFib3ZlIHRoZSB0aXRsZS5cclxuXHQmX19lcCB7XHJcblx0XHRncmlkLWNvbHVtbjogMjtcclxuXHRcdGdyaWQtcm93OiAxO1xyXG5cdFx0YWxpZ24tc2VsZjogZW5kO1xyXG5cdFx0QGluY2x1ZGUgbGFiZWw7XHJcblx0XHRjb2xvcjogdmFyKC0tYWNjZW50LWluayk7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAuM2VtO1xyXG5cclxuXHRcdC8vIDFweCB1bmRlciB0aGUgbGFiZWwgY2xhbXAncyAuOXJlbSBmbG9vciBvbiBwaG9uZXMgKEpvZSwgMjAyNi0wOS0xNDpcclxuXHRcdC8vIFwiRVAuIFggLyAzIG1pbiByZWFkIC8gWDpYWCBjb3VsZCBhbGwgYmUgMXB4IHNtYWxsZXJcIikuID0gLmNhcmRfX2VwLlxyXG5cdFx0QGluY2x1ZGUgYXQobWQpIHsgZm9udC1zaXplOiAuODRyZW07IH1cclxuXHJcblx0XHRAaW5jbHVkZSBjYW4taG92ZXIge1xyXG5cdFx0XHQuZXA6aG92ZXIgJiB7IGNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tb24tYWNjZW50KSA4OCUsIHRyYW5zcGFyZW50KTsgfVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Ly8gRGlzcGxheSBmYWNlLCBhIHN0ZXAgZG93biBmcm9tIGJlZm9yZSB0byBsZWF2ZSByb29tIGZvciB0aGUgZGVzY3JpcHRpb24uXHJcblx0Jl9fdGl0bGUge1xyXG5cdFx0Z3JpZC1jb2x1bW46IDI7XHJcblx0XHRncmlkLXJvdzogMjtcclxuXHRcdGFsaWduLXNlbGY6IHN0YXJ0O1xyXG5cdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XHJcblx0XHRmb250LXNpemU6IGZsdWlkKDIwLCA0MCk7XHJcblx0XHRmb250LXdlaWdodDogOTAwO1xyXG5cdFx0bGluZS1oZWlnaHQ6IGNhbGMoMS4wNSAqIHZhcigtLWRpc3BsYXktbGVhZGluZykpOyAgIC8vIHNoYXJlZCB0aXRsZSBsZWFkaW5nIOKAlCBzZWUgX3Nob3J0cy9fY2FyZHNcclxuXHRcdGxldHRlci1zcGFjaW5nOiAtLjAzZW07XHJcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cclxuXHRcdC8vIE1vYmlsZTogc21hbGxlciwgYnV0IE5FVkVSIHRydW5jYXRlZCDigJQgZXBpc29kZSB0aXRsZXMgc2hvdyBpbiBmdWxsXHJcblx0XHQvLyBob3dldmVyIG1hbnkgbGluZXMgdGhleSB0YWtlLiBSb3dzIHdpbGwgdmFyeSBpbiBoZWlnaHQgYXMgYSByZXN1bHQ7XHJcblx0XHQvLyB0aGF0J3MgdGhlIGFjY2VwdGVkIHRyYWRlIGZvciBub3QgaGlkaW5nIGhhbGYgYSB0aXRsZS4gVGhlXHJcblx0XHQvLyBkZXNjcmlwdGlvbiBiZWxvdyBpcyB3aGF0IHN0YXlzIGNsYW1wZWQuXHJcblx0XHRAaW5jbHVkZSBhdChtZCkge1xyXG5cdFx0XHRmb250LXNpemU6IGNsYW1wKDEuMDJyZW0sIDMuNHZ3LCAxLjM1cmVtKTtcclxuXHRcdFx0bGluZS1oZWlnaHQ6IGNhbGMoMS4wNSAqIHZhcigtLWRpc3BsYXktbGVhZGluZykpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Ly8gRXBpc29kZSBkZXNjcmlwdGlvbi4gQ2xhbXBlZCB0byB0d28gbGluZXMgc28gZXZlcnkgcm93IHN0YXlzIHRoZSBzYW1lXHJcblx0Ly8gaGVpZ2h0IHJlZ2FyZGxlc3Mgb2YgaG93IG11Y2ggY29weSBhIGdpdmVuIGVwaXNvZGUgY2Fycmllcy5cclxuXHQmX19leGNlcnB0IHtcclxuXHRcdGdyaWQtY29sdW1uOiAyO1xyXG5cdFx0Z3JpZC1yb3c6IDM7XHJcblx0XHRhbGlnbi1zZWxmOiBzdGFydDtcclxuXHRcdG1heC13aWR0aDogNjhjaDtcclxuXHRcdG1hcmdpbi10b3A6IC41ZW07XHJcblx0XHRmb250LXNpemU6IC45NXJlbTtcclxuXHRcdGxpbmUtaGVpZ2h0OiAxLjU7XHJcblx0XHRjb2xvcjogdmFyKC0taW5rLTIpO1xyXG5cdFx0ZGlzcGxheTogLXdlYmtpdC1ib3g7XHJcblx0XHQtd2Via2l0LWxpbmUtY2xhbXA6IDI7XHJcblx0XHQtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xyXG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHJcblx0XHRAaW5jbHVkZSBjYW4taG92ZXIge1xyXG5cdFx0XHQuZXA6aG92ZXIgJiB7IGNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tb24tYWNjZW50KSA4MiUsIHRyYW5zcGFyZW50KTsgfVxyXG5cdFx0fVxyXG5cclxuXHRcdEBpbmNsdWRlIGF0KG1kKSB7IGRpc3BsYXk6IG5vbmU7IH0gICAvLyB0aGUgZGF0ZSBzaXRzIGhlcmUgaW5zdGVhZCDigJQgc2VlICZfX21ldGFcclxuXHR9XHJcblxyXG5cdC8vIE51ZGdlIHRoZSB3aG9sZSB0ZXh0IGJsb2NrIG9uIGhvdmVyIHJhdGhlciB0aGFuIG9uZSBsaW5lIG9mIGl0LCBzbyB0aGVcclxuXHQvLyBudW1iZXIsIG5hbWUgYW5kIGRlc2NyaXB0aW9uIHN0YXkgbG9ja2VkIHRvZ2V0aGVyLlxyXG5cdC8vXHJcblx0Ly8gR2F0ZWQgb24gYSBSRUFMIHBvaW50ZXIuIFRvdWNoIGJyb3dzZXJzIGZpcmUgOmhvdmVyIG9uIHRhcCBhbmQgbGVhdmUgaXRcclxuXHQvLyBzdHVjayB1bnRpbCB5b3UgdGFwIGVsc2V3aGVyZSwgc28gb24gYSBwaG9uZSB0aGUgY29weSBqdXN0IHNhdCB0aGVyZVxyXG5cdC8vIGluZGVudGVkIHdpdGggbm8gd2F5IHRvIHVuZG8gaXQuIEtleWVkIHRvIHBvaW50ZXIgY2FwYWJpbGl0eSByYXRoZXIgdGhhblxyXG5cdC8vIGEgd2lkdGggYnJlYWtwb2ludCDigJQgYSBuYXJyb3cgZGVza3RvcCB3aW5kb3cgc3RpbGwgZ2V0cyB0aGUgZWZmZWN0LCBhXHJcblx0Ly8gbGFyZ2UgdGFibGV0IGNvcnJlY3RseSBkb2Vzbid0LlxyXG5cdCZfX2VwLFxyXG5cdCZfX3RpdGxlLFxyXG5cdCZfX2V4Y2VycHQge1xyXG5cdFx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIC40cyAkZWFzZS1vdXQsIGNvbG9yIHZhcigtLWR1ci1mYXN0KSAkZWFzZTtcclxuXHJcblx0XHRAaW5jbHVkZSBjYW4taG92ZXIge1xyXG5cdFx0XHQuZXA6aG92ZXIgJiB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWChjbGFtcCguNXJlbSwgMS41dncsIDEuNXJlbSkpOyB9XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQmX19tZXRhIHtcclxuXHRcdGdyaWQtY29sdW1uOiAzO1xyXG5cdFx0Z3JpZC1yb3c6IDEgLyBzcGFuIDM7XHJcblx0XHRmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vKTtcclxuXHRcdGZvbnQtc2l6ZTogLjc4cmVtOyAgICAgIC8vID0gLnNob3J0X19tZXRhIC8gLmNhcmRfX21ldGFcclxuXHRcdGxldHRlci1zcGFjaW5nOiAuMTJlbTsgIC8vID0gLnNob3J0X19tZXRhIC8gLmNhcmRfX21ldGFcclxuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0XHRjb2xvcjogdmFyKC0taW5rLTMpO1xyXG5cdFx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuXHRcdHRyYW5zaXRpb246IGNvbG9yIHZhcigtLWR1ci1mYXN0KSAkZWFzZTtcclxuXHJcblx0XHRAaW5jbHVkZSBjYW4taG92ZXIge1xyXG5cdFx0XHQuZXA6aG92ZXIgJiB7IGNvbG9yOiB2YXIoLS1vbi1hY2NlbnQpOyB9XHJcblx0XHR9XHJcblxyXG5cdFx0Ly8gT24gdGhlIHBob25lIHJvdyB0aGUgZGF0ZSB0YWtlcyB0aGUgRVhDRVJQVCdzIHNsb3QgYW5kIHZvaWNlIOKAlCBncmV5XHJcblx0XHQvLyBzZW50ZW5jZSB0ZXh0IHVuZGVyIHRoZSB0aXRsZSDigJQgYW5kIHRoZSBleGNlcnB0IGl0c2VsZiBpcyBkcm9wcGVkXHJcblx0XHQvLyAoSm9lLCAyMDI2LTA5LTE0OiBcInJlcGxhY2UgdGhlIHNob3J0IGRlc2NyaXB0aW9uIHdpdGggdGhlIHBvc3RcclxuXHRcdC8vIGRhdGUgaW4gdGhlIHNhbWUgdGV4dCBzdHlsZVwiKS4gU2FtZSBET00sIHJlLXNsb3R0ZWQgYnkgZ3JpZC1yb3cuXHJcblx0XHRAaW5jbHVkZSBhdChtZCkge1xyXG5cdFx0XHRncmlkLWNvbHVtbjogMjtcclxuXHRcdFx0Z3JpZC1yb3c6IDM7XHJcblx0XHRcdGFsaWduLXNlbGY6IHN0YXJ0O1xyXG5cdFx0XHRtYXJnaW4tdG9wOiAuNGVtO1xyXG5cdFx0XHRmb250LWZhbWlseTogdmFyKC0tZm9udC1ib2R5KTtcclxuXHRcdFx0Zm9udC1zaXplOiAuODZyZW07XHJcblx0XHRcdGZvbnQtd2VpZ2h0OiA0MDA7XHJcblx0XHRcdGxldHRlci1zcGFjaW5nOiAwO1xyXG5cdFx0XHRsaW5lLWhlaWdodDogMS40NTtcclxuXHRcdFx0dGV4dC10cmFuc2Zvcm06IG5vbmU7XHJcblx0XHRcdHdoaXRlLXNwYWNlOiBub3JtYWw7XHJcblx0XHRcdGNvbG9yOiB2YXIoLS1pbmstMik7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQmX19nbyB7XHJcblx0XHRncmlkLWNvbHVtbjogNDtcclxuXHRcdGdyaWQtcm93OiAxIC8gc3BhbiAzO1xyXG5cdFx0ZGlzcGxheTogZ3JpZDtcclxuXHRcdHBsYWNlLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHR3aWR0aDogNDRweDtcclxuXHRcdGhlaWdodDogNDRweDtcclxuXHRcdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpbmUtMik7XHJcblx0XHRib3JkZXItcmFkaXVzOiA5OTlweDtcclxuXHRcdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tZHVyLWZhc3QpICRlYXNlLFxyXG5cdFx0XHRcdFx0Ym9yZGVyLWNvbG9yIHZhcigtLWR1ci1mYXN0KSAkZWFzZSxcclxuXHRcdFx0XHRcdHRyYW5zZm9ybSAuNHMgJGVhc2Utb3V0O1xyXG5cclxuXHRcdHN2ZyB7IHdpZHRoOiAxNXB4OyBoZWlnaHQ6IDE1cHg7IH1cclxuXHJcblx0XHRAaW5jbHVkZSBjYW4taG92ZXIge1xyXG5cdFx0XHQuZXA6aG92ZXIgJiB7XHJcblx0XHRcdFx0YmFja2dyb3VuZDogdmFyKC0tb24tYWNjZW50KTtcclxuXHRcdFx0XHRib3JkZXItY29sb3I6IHZhcigtLW9uLWFjY2VudCk7XHJcblx0XHRcdFx0Y29sb3I6IHZhcigtLWFjY2VudC1pbmspO1xyXG5cdFx0XHRcdHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHRAaW5jbHVkZSBhdChtZCkgeyBkaXNwbGF5OiBub25lOyB9XHJcblx0fVxyXG59XHJcblxyXG5cclxuLy8g4pSA4pSAIEZsb3cgbWFya2VyIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxyXG4vLyAgT05FIGVsZW1lbnQgcGVyIGxpc3QuIEpTIGluamVjdHMgaXQgYW5kIGRyaXZlcyAtLW1rLXkgLyAtLW1rLWg7IENTUyBhbmltYXRlc1xyXG4vLyAgYmV0d2VlbiB2YWx1ZXMsIHdoaWNoIGlzIHdoYXQgbWFrZXMgaXQgYXBwZWFyIHRvIHNsaWRlIGZyb20gcm93IHRvIHJvdyBpblxyXG4vLyAgd2hpY2hldmVyIGRpcmVjdGlvbiB5b3UncmUgc2Nyb2xsaW5nLlxyXG4vL1xyXG4vLyAgSW5qZWN0ZWQgcmF0aGVyIHRoYW4gcmVuZGVyZWQgYnkgdGhlIHRlbXBsYXRlLCBzbyBpdCBvbmx5IGV4aXN0cyBvbiBkZXZpY2VzXHJcbi8vICB0aGF0IGFjdHVhbGx5IHVzZSBpdC5cclxuLy9cclxuLy8gIEJsZWVkcyBzbGlnaHRseSBwYXN0IHRoZSBjb250YWluZXIgb24gYm90aCBzaWRlcyDigJQgdGhlIHNhbWUgb3ZlcmhhbmcgdGhlXHJcbi8vICBkZXNrdG9wIGhvdmVyIGZpbGwgdXNlcyDigJQgc28gdGhlIG91dGxpbmUgcmVhZHMgYXMgd2lkZXIgdGhhbiB0aGUgdGV4dCBjb2x1bW4uXHJcbi8vXHJcbi8vICBBIDNweCBPVVRMSU5FLCBub3QgYSBmaWxsIOKAlCBKb2UncyBjYWxsLCAyMDI2LTA4LTA3LiBUaGUgc29saWQgYmxvY2sgd2FzXHJcbi8vICBsZWdpYmxlIGJ1dCBpdCB0b29rIG92ZXIgdGhlIHJvdywgYW5kIGl0IGZvcmNlZCBldmVyeSBwaWVjZSBvZiBjb3B5IGluc2lkZSB0b1xyXG4vLyAgaW52ZXJ0IG9udG8gaXQuIEFuIG91dGxpbmUgbWFya3MgdGhlIHJvdyB3aXRob3V0IHJlc3R5bGluZyBpdCwgd2hpY2ggaXMgd2h5XHJcbi8vICAuZXAuaXMtb24gYmVsb3cgbm93IG9ubHkgY2FycmllcyB0aGUgbW90aW9uIGN1ZXMuXHJcbi8vXHJcbi8vICBib3JkZXItYm94IHNpemluZyBpcyBpbXBsaWNpdCBoZXJlOiB0aGUgaGVpZ2h0IGNvbWVzIGZyb20gLS1tay1oLCB3aGljaCBKU1xyXG4vLyAgbWVhc3VyZXMgb2ZmIHRoZSByb3cncyBvZmZzZXRIZWlnaHQsIHNvIHRoZSBib3JkZXIgaGFzIHRvIHNpdCBJTlNJREUgdGhhdFxyXG4vLyAgbnVtYmVyIG9yIHRoZSBvdXRsaW5lIHdvdWxkIHN0YW5kIDZweCB0YWxsZXIgdGhhbiB0aGUgcm93IGl0IG1hcmtzLlxyXG4uZmxvdy1tYXJrZXIge1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR0b3A6IDA7XHJcblx0bGVmdDogY2FsYyh2YXIoLS1ndXR0ZXIpICogLS4zNSk7XHJcblx0cmlnaHQ6IGNhbGModmFyKC0tZ3V0dGVyKSAqIC0uMzUpO1xyXG5cdHotaW5kZXg6IDA7XHJcblx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcclxuXHRoZWlnaHQ6IHZhcigtLW1rLWgsIDBweCk7XHJcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKHZhcigtLW1rLXksIDBweCkpO1xyXG5cdGJvcmRlcjogM3B4IHNvbGlkIHZhcigtLWFjY2VudCk7XHJcblx0Ym9yZGVyLXJhZGl1czogMTRweDtcclxuXHRvcGFjaXR5OiAwO1xyXG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG5cdHRyYW5zaXRpb246IHRyYW5zZm9ybSAuNDJzICRlYXNlLW91dCxcclxuXHRcdFx0XHRoZWlnaHQgLjQycyAkZWFzZS1vdXQsXHJcblx0XHRcdFx0b3BhY2l0eSAuM3MgJGVhc2U7XHJcblxyXG5cdC5pbmRleC5pcy1mbG93aW5nICYgeyBvcGFjaXR5OiAxOyB9XHJcbn1cclxuIiwiQHVzZSBcInRva2Vuc1wiIGFzICo7XHJcblxyXG4vLyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcclxuLy8gIFNIT1JUUyDigJQgMjozIHZlcnRpY2FsIGNsaXBzLCBob3Jpem9udGFsIHJhaWxcclxuLy9cclxuLy8gIEJ1aWx0IG9uIG5hdGl2ZSBDU1Mgc2Nyb2xsLXNuYXAgcmF0aGVyIHRoYW4gYSBjYXJvdXNlbCBsaWJyYXJ5OiBpdCBnZXRzXHJcbi8vICByZWFsIG1vbWVudHVtIG9uIHRyYWNrcGFkcyBhbmQgdG91Y2ggZm9yIGZyZWUsIHN0YXlzIGtleWJvYXJkLSBhbmRcclxuLy8gIHNjcmVlbi1yZWFkZXItbmF2aWdhYmxlIChpdCdzIGp1c3QgYSBzY3JvbGxpbmcgbGlzdCksIGFuZCBzdXJ2aXZlcyB3aXRoIEpTXHJcbi8vICBvZmYuIFRoZSBKUyBvbmx5IEFERFMgZHJhZy10by1zY3JvbGwgYW5kIHRoZSBhcnJvdyBidXR0b25zLlxyXG4vL1xyXG4vLyAgVGhlIHJhaWwgYmxlZWRzIHRvIHRoZSByaWdodCB2aWV3cG9ydCBlZGdlIG9uIHB1cnBvc2Ug4oCUIGEgaGFyZCBzdG9wIGF0IHRoZVxyXG4vLyAgY29udGFpbmVyIGVkZ2UgbWFrZXMgYSBjYXJvdXNlbCBsb29rIGZpbmlzaGVkIHdoZW4gaXQgaXNuJ3QsIGFuZCB0aGVcclxuLy8gIGhhbGYtdmlzaWJsZSBuZXh0IGNhcmQgaXMgdGhlIGFmZm9yZGFuY2UgdGhhdCBzYXlzIFwia2VlcCBnb2luZ1wiLlxyXG4vLyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcclxuXHJcbi5zaG9ydHMge1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcblx0Jl9fcmFpbCB7XHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0Z2FwOiBjbGFtcCguNzVyZW0sIDEuNHZ3LCAxLjI1cmVtKTtcclxuXHRcdG92ZXJmbG93LXg6IGF1dG87XHJcblx0XHRvdmVyc2Nyb2xsLWJlaGF2aW9yLXg6IGNvbnRhaW47XHJcblx0XHRzY3JvbGwtc25hcC10eXBlOiB4IG1hbmRhdG9yeTtcclxuXHRcdHNjcm9sbC1iZWhhdmlvcjogc21vb3RoO1xyXG5cdFx0Ly8gb3ZlcmZsb3cteDogYXV0byBtYWtlcyB0aGlzIGEgU0NST0xMIENPTlRBSU5FUiwgYW5kIGEgc2Nyb2xsIGNvbnRhaW5lclxyXG5cdFx0Ly8gY2xpcHMgYm90aCBheGVzIOKAlCBvdmVyZmxvdy15IGNvbXB1dGVzIHRvIGF1dG8gdG9vLCBpdCBjYW5ub3Qgc3RheVxyXG5cdFx0Ly8gdmlzaWJsZS4gU28gYSBjYXJkJ3MgaG92ZXIgc2hhZG93IHdhcyBiZWluZyBzbGljZWQgb2ZmIHRvcCBhbmQgYm90dG9tLlxyXG5cdFx0Ly9cclxuXHRcdC8vIEZpeDogcGFkIGVub3VnaCBmb3IgdGhlIHNoYWRvdyB0byByZW5kZXIgSU5TSURFIHRoZSBjb250YWluZXIsIHRoZW5cclxuXHRcdC8vIHB1bGwgdGhlIHNhbWUgYW1vdW50IGJhY2sgd2l0aCBuZWdhdGl2ZSBtYXJnaW4gc28gc2VjdGlvbiBzcGFjaW5nIGlzXHJcblx0XHQvLyB1bmNoYW5nZWQuIFZhbHVlcyB0cmFjayAtLXNoYWRvdy1jYXJkICgxNnB4IG9mZnNldCArIDMycHggYmx1cikgcGx1c1xyXG5cdFx0Ly8gdGhlIDZweCBob3ZlciBsaWZ0OiB+MjJweCBuZWVkZWQgYWJvdmUsIH40MnB4IGJlbG93LlxyXG5cdFx0Ly9cclxuXHRcdC8vIFRvcCBibGVlZCBpcyBrZXB0IHNtYWxsIG9uIHB1cnBvc2UuIFRoZSByYWlsIHBhaW50cyBhZnRlciB0aGUgc2VjdGlvblxyXG5cdFx0Ly8gaGVhZCwgc28gYSB0YWxsIG5lZ2F0aXZlIG1hcmdpbi10b3Agd291bGQgcHV0IGl0cyBoaXQgYXJlYSBvdmVyIHRoZVxyXG5cdFx0Ly8gaGVhZGluZyBhbmQgaXRzIGJ1dHRvbnMgYW5kIHN3YWxsb3cgdGhvc2UgY2xpY2tzLlxyXG5cdFx0cGFkZGluZy10b3A6IDI4cHg7XHJcblx0XHRwYWRkaW5nLWJvdHRvbTogNTZweDtcclxuXHRcdG1hcmdpbi10b3A6IC0yOHB4O1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogLTU2cHg7XHJcblx0XHQvLyDilIDilIAgVGhlIGd1dHRlciBsaXZlcyBJTlNJREUgdGhlIHNjcm9sbCBjb250YWluZXIg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXHJcblx0XHQvLyAgSXQgdXNlZCB0byBzaXQgb24gLnNob3J0cywgb3V0c2lkZSB0aGlzIGVsZW1lbnQsIHdoaWNoIG1hZGUgaXQgYVxyXG5cdFx0Ly8gIHN0cmlwIHRoZSBjYXJkcyBjb3VsZCBuZXZlciBzbGlkZSB1bmRlciDigJQgdGhlIHJvdyBzdGF5ZWQgaW5zZXQgZXZlblxyXG5cdFx0Ly8gIHNjcm9sbGVkLiBKb2Ugd2FudHMgdGhlbSBydW5uaW5nIHRvIHRoZSBzY3JlZW4gZWRnZSwgc28gaXQgbW92ZWQgaW5cclxuXHRcdC8vICBoZXJlOiB0aGUgc2Nyb2xscG9ydCBub3cgc3BhbnMgdGhlIHZpZXdwb3J0IGFuZCB0aGlzIHBhZGRpbmcgb25seVxyXG5cdFx0Ly8gIHNldHMgd2hlcmUgdGhlIHJvdyBzdGFydHMuXHJcblx0XHQvL1xyXG5cdFx0Ly8gIFRoZSBtYXgoKSBrZWVwcyB0aGUgc3RhcnQgYWxpZ25lZCB3aXRoIC5zaGVsbCBvbiB3aWRlIHNjcmVlbnMsIHdoaWNoXHJcblx0XHQvLyAgaXMgd2hhdCB0aGUgb2xkIC5zaG9ydHMgcnVsZSB3YXMgZG9pbmcuIHNjcm9sbC1wYWRkaW5nIG1pcnJvcnMgaXQgc29cclxuXHRcdC8vICBzbmFwcGluZyBsYW5kcyBvbiB0aGUgZ3V0dGVyIGluc3RlYWQgb2YgdGhlIGJsZWVkLlxyXG5cdFx0cGFkZGluZy1sZWZ0OiBtYXgodmFyKC0tZ3V0dGVyKSwgY2FsYygoMTAwdncgLSB2YXIoLS1tYXh3KSkgLyAyKSk7XHJcblx0XHRzY3JvbGwtcGFkZGluZy1sZWZ0OiBtYXgodmFyKC0tZ3V0dGVyKSwgY2FsYygoMTAwdncgLSB2YXIoLS1tYXh3KSkgLyAyKSk7XHJcblx0XHRwYWRkaW5nLXJpZ2h0OiB2YXIoLS1ndXR0ZXIpO1xyXG5cclxuXHRcdC8vIFRoZSBicm93c2VyIHNjcm9sbGJhciB3b3VsZCBzaXQgdW5kZXIgdGhlIGNhcmRzIGFuZCBmaWdodCB0aGUgZGVzaWduO1xyXG5cdFx0Ly8gdGhlIGFycm93cyBhbmQgZHJhZyBhcmUgdGhlIGNvbnRyb2xzLlxyXG5cdFx0c2Nyb2xsYmFyLXdpZHRoOiBub25lO1xyXG5cdFx0LW1zLW92ZXJmbG93LXN0eWxlOiBub25lO1xyXG5cdFx0Jjo6LXdlYmtpdC1zY3JvbGxiYXIgeyBkaXNwbGF5OiBub25lOyB9XHJcblxyXG5cdFx0Ly8gU2V0IGJ5IEpTIHdoaWxlIGRyYWdnaW5nIHNvIHRoZSBwb2ludGVyIHJlYWRzIGFzIGEgZ3JhYiwgYW5kIHNvIHRoZVxyXG5cdFx0Ly8gc21vb3RoLXNjcm9sbCBlYXNpbmcgZG9lc24ndCBmaWdodCB0aGUgZHJhZy5cclxuXHRcdCYuaXMtZHJhZ2dpbmcge1xyXG5cdFx0XHRzY3JvbGwtYmVoYXZpb3I6IGF1dG87XHJcblx0XHRcdHNjcm9sbC1zbmFwLXR5cGU6IG5vbmU7XHJcblx0XHRcdGN1cnNvcjogZ3JhYmJpbmc7XHJcblxyXG5cdFx0XHQuc2hvcnQgeyBwb2ludGVyLWV2ZW50czogbm9uZTsgfSAgLy8gZG9uJ3QgZmlyZSBsaW5rcyBvbiBhIGRyYWdcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi8vIOKUgOKUgCBTaG9ydHMgYXMgYSBHUklEICh0aGUgYXJjaGl2ZSkg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXHJcbi8vICBUaGUgaG9tZXBhZ2Ugc2hvd3Mgc2hvcnRzIGluIGEgaG9yaXpvbnRhbCByYWlsOyBhcmNoaXZlLXNob3J0cy5waHAgc2hvd3MgdGhlXHJcbi8vICBzYW1lIGNhcmRzIGluIGEgZ3JpZC4gT25seSB0aGUgY29udGFpbmVyIGRpZmZlcnMg4oCUIHRoZSBjYXJkLCBpdHMgcmF0aW8sIGl0c1xyXG4vLyAgaG92ZXIgYW5kIGl0cyBkYXRhLSogYXR0cmlidXRlcyBhcmUgaWRlbnRpY2FsLCB3aGljaCBpcyB3aGF0IGxldHMgdGhlIHNhbWVcclxuLy8gIGxpZ2h0Ym94IGRyaXZlIGJvdGguXHJcbi8vXHJcbi8vICDimqAgVEhFIFdJRFRIIE9WRVJSSURFIElTIFJFUVVJUkVELiAuc2hvcnQgY2FycmllcyBhbiBleHBsaWNpdCB3aWR0aCAoYW5kIGFcclxuLy8gIDU2dncgb25lIGF0IG1kKSBiZWNhdXNlIGEgcmFpbCBpdGVtIGhhcyB0byBzaXplIGl0c2VsZiDigJQgbm90aGluZyBlbHNlIGNhbi5cclxuLy8gIERyb3BwZWQgaW50byBhIGdyaWQgdGhhdCB3aWR0aCBmaWdodHMgdGhlIHRyYWNrOiBldmVyeSBjYXJkIHJlbmRlcnMgYXQgdGhlXHJcbi8vICByYWlsJ3Mgc2l6ZSBhbmQgdGhlIGNvbHVtbnMgZWl0aGVyIG92ZXJmbG93IG9yIGxlYXZlIGdhcHMuIGB3aWR0aDogYXV0b2BcclxuLy8gIGhhbmRzIHNpemluZyBiYWNrIHRvIHRoZSBncmlkLCBhbmQgYmVjYXVzZSAuc2hvcnRfX21lZGlhIGRlcml2ZXMgaXRzIGhlaWdodFxyXG4vLyAgZnJvbSB0aGUgY2FyZCdzIHdpZHRoIHZpYSBhc3BlY3QtcmF0aW8sIHRoZSBjYXJkcyBzdGF5IHBob25lLXNoYXBlZC5cclxuLy9cclxuLy8gIOKblCBEbyBOT1QgYWRkIGRhdGEtcmFpbCB0byB0aGlzIGNvbnRhaW5lciDigJQgc2VlIHRoZSBub3RlIGluIGFyY2hpdmUtc2hvcnRzLnBocC5cclxuLnNob3J0cy1ncmlkIHtcclxuXHRkaXNwbGF5OiBncmlkO1xyXG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KG1pbigxMDAlLCAyMDBweCksIDFmcikpO1xyXG5cdGdhcDogY2xhbXAoMXJlbSwgMnZ3LCAycmVtKTtcclxuXHJcblx0Ly8gQSBwaG9uZSBpcyBuYXJyb3dlciB0aGFuIHR3byAyMDBweCB0cmFja3MsIHNvIGF1dG8tZmlsbCBnYXZlIE9ORSBjb2x1bW5cclxuXHQvLyDigJQgYSAyOjMgY2FyZCB0aGUgZnVsbCB3aWR0aCBvZiB0aGUgc2NyZWVuLCB0YWxsZXIgdGhhbiB0aGUgdmlld3BvcnRcclxuXHQvLyAoXCJ3YXkgdG9vIGJpZyBmb3IgbW9iaWxlLCBtYXliZSAyIHRvIGEgcm93P1wiLCBKb2UsIDIwMjYtMDktMTQpLiBUd29cclxuXHQvLyBmaXhlZCB0cmFja3MgYmVsb3cgc207IHRoZSBtaW5tYXggZmxvb3IgaXMgYSBkZXNrdG9wIGNvbmNlcm4uXHJcblx0QGluY2x1ZGUgYXQoc20pIHtcclxuXHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIG1pbm1heCgwLCAxZnIpKTtcclxuXHRcdGdhcDogc3AoMyk7XHJcblx0fVxyXG5cclxuXHQvLyBhdXRvLUZJTEwsIG5vdCBhdXRvLWZpdDogd2l0aCB0d28gb3IgdGhyZWUgc2hvcnRzIHB1Ymxpc2hlZCwgYXV0by1maXRcclxuXHQvLyBjb2xsYXBzZXMgdGhlIGVtcHR5IHRyYWNrcyBhbmQgc3RyZXRjaGVzIHRob3NlIGZldyBjYXJkcyB0byBoYWxmIHRoZVxyXG5cdC8vIHNjcmVlbiBlYWNoLiBUaGVzZSBhcmUgcGhvbmUtc2hhcGVkIGNsaXBzIOKAlCBibG93biB1cCB0aGF0IGZhciB0aGV5IGxvb2tcclxuXHQvLyBsaWtlIGEgbGF5b3V0IGJ1ZyByYXRoZXIgdGhhbiBhIGRlbGliZXJhdGUgc2l6ZS5cclxuXHQuc2hvcnQge1xyXG5cdFx0d2lkdGg6IGF1dG87XHJcblx0XHRzY3JvbGwtc25hcC1hbGlnbjogbm9uZTtcclxuXHR9XHJcbn1cclxuXHJcbi5zaG9ydCB7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdGZsZXg6IG5vbmU7XHJcblx0d2lkdGg6IGNsYW1wKDE4MHB4LCAxOXZ3LCAyNjBweCk7XHJcblx0c2Nyb2xsLXNuYXAtYWxpZ246IHN0YXJ0O1xyXG5cclxuXHQvLyBCaWdnZXIgb24gbW9iaWxlLCBvbiBKb2UncyBhc2sgZm9yIHRhbGxlciBjYXJkcy4gV0lEVEggaXMgdGhlIG9ubHkgbGV2ZXI6XHJcblx0Ly8gLnNob3J0X19tZWRpYSBpcyBsb2NrZWQgdG8gMi8zIGFuZCBkZXJpdmVzIGl0cyBoZWlnaHQgZnJvbSB0aGlzLCBzbyB0aGVcclxuXHQvLyBjYXJkIGdyb3dzIGluIGJvdGggZGlyZWN0aW9ucyBvciBuZWl0aGVyLlxyXG5cdC8vXHJcblx0Ly8gVGhlIGNvc3QsIGFuZCBpdCBpcyB1bmF2b2lkYWJsZTogYXQgMTgwcHggdHdvIGNhcmRzIGFuZCBhIHBlZWsgZml0dGVkIGFcclxuXHQvLyB+NDExcHggc2NyZWVuLiBBdCA1NnZ3IG9uZSBmdWxsIGNhcmQgYW5kIGEgZ29vZCBoYWxmIG9mIHRoZSBuZXh0IGRvLiBBXHJcblx0Ly8gcmFpbCBzdGlsbCByZWFkcyBhcyBhIHJhaWwgYXQgMS41IGNhcmRzIOKAlCBpdCBkb2VzIG5vdCBhdCAxLlxyXG5cdEBpbmNsdWRlIGF0KG1kKSB7IHdpZHRoOiA1NnZ3OyB9XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJnLTMpO1xyXG5cdHRyYW5zaXRpb246IHRyYW5zZm9ybSAuNDVzICRlYXNlLW91dCwgYm94LXNoYWRvdyAuNDVzICRlYXNlLW91dDtcclxuXHJcblx0Ly8gVGhlIGZvcm1hdCBJUyB0aGUgZGVzaWduIGhlcmUg4oCUIHZlcnRpY2FsLCBwaG9uZS1zaGFwZWQuXHJcblx0Ly9cclxuXHQvLyAyIC8gMyBBVCBFVkVSWSBTSVpFLiBIZWlnaHQgaXMgZGVyaXZlZCBmcm9tIHRoZSBjYXJkJ3Mgd2lkdGgsIHNvIHRoZSBvbmx5XHJcblx0Ly8gd2F5IHRvIG1ha2UgYSBjYXJkIHRhbGxlciBpcyB0byBtYWtlIGl0IHdpZGVyIOKAlCBzZWUgdGhlIHdpZHRoIG92ZXJyaWRlIG9uXHJcblx0Ly8gLnNob3J0LiBEbyBub3QgcmVhY2ggZm9yIGEgdGFsbGVyIHJhdGlvIGhlcmU6IGl0IHJlLWNyb3BzIHRoZSBhcnR3b3JrXHJcblx0Ly8gcmF0aGVyIHRoYW4gZ3Jvd2luZyB0aGUgY2FyZCwgd2hpY2ggaXMgYSBkaWZmZXJlbnQgY2hhbmdlIHdlYXJpbmcgdGhlIHNhbWVcclxuXHQvLyBjbG90aGVzLlxyXG5cdCZfX21lZGlhIHtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdGFzcGVjdC1yYXRpbzogMiAvIDM7XHJcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cclxuXHRcdGltZyB7XHJcblx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRoZWlnaHQ6IDEwMCU7XHJcblx0XHRcdG9iamVjdC1maXQ6IGNvdmVyO1xyXG5cdFx0XHRAaW5jbHVkZSB6b29tYWJsZSguNnMpO1xyXG5cdFx0fVxyXG5cclxuXHRcdC8vIExlZ2liaWxpdHkgc2NyaW0gZm9yIHRoZSBjYXB0aW9uLlxyXG5cdFx0Jjo6YWZ0ZXIge1xyXG5cdFx0XHRjb250ZW50OiBcIlwiO1xyXG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdGluc2V0OiA0MCUgMCAwIDA7XHJcblx0XHRcdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0cmFuc3BhcmVudCwgcmdiYSgwLCAwLCAwLCAuNzgpKTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC8vIEdBVEVELiBPbiBhIHRvdWNoc2NyZWVuIDpob3ZlciBsYXRjaGVzIGFmdGVyIGEgdGFwIGFuZCBuZXZlciBjbGVhcnMg4oCUXHJcblx0Ly8gdGhlcmUgaXMgbm8gcG9pbnRlciB0byBsZWF2ZSB0aGUgZWxlbWVudCDigJQgc28gdGhlIGNhcmQgeW91IGxhc3QgdGFwcGVkIHNhdFxyXG5cdC8vIGxpZnRlZCwgem9vbWVkIGFuZCB3ZWFyaW5nIGEgcGxheSBidXR0b24gdW50aWwgeW91IHRhcHBlZCBzb21ldGhpbmcgZWxzZS5cclxuXHQvLyBPbiBtb2JpbGUgdGhlIGFjdGl2ZSBjYXJkIGlzIG1hcmtlZCBieSB0aGUgcmluZyBiZWxvdyBpbnN0ZWFkLlxyXG5cdEBpbmNsdWRlIGNhbi1ob3ZlciB7XHJcblx0XHQmOmhvdmVyIHtcclxuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC02cHgpO1xyXG5cdFx0XHRib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctY2FyZCk7XHJcblxyXG5cdFx0XHQuc2hvcnRfX21lZGlhIGltZyB7IEBpbmNsdWRlIHpvb21lZCgxLjA3KTsgfVxyXG5cdFx0XHQuc2hvcnRfX3BsYXkgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSBzY2FsZSgxKTsgb3BhY2l0eTogMTsgfVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Ly8g4pSA4pSAIEFjdGl2ZSBjYXJkIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxyXG5cdC8vICBNT0JJTEUgT05MWSDigJQgZGVza3RvcCBzaG93cyB0aGUgd2hvbGUgcm93IGF0IG9uY2UsIHdoZXJlIG1hcmtpbmcgb25lIGNhcmRcclxuXHQvLyAgc2F5cyBub3RoaW5nLiBPbiBhIHBob25lIHR3byBhbmQgYSBiaXQgY2FyZHMgYXJlIHZpc2libGUgYW5kIHRoZSByYWlsXHJcblx0Ly8gIHNuYXBzIG9uZSBhdCBhIHRpbWUsIHNvIHRoZSBsZWZ0bW9zdCBjYXJkIGlzIGdlbnVpbmVseSBcInRoZSBvbmUgeW91J3JlXHJcblx0Ly8gIG9uXCIuIGYtcmFpbC5qcyBzZXRzIC5pcy1hY3RpdmU7IHNlZSBbZGF0YS1yYWlsLW1hcmtdLlxyXG5cdC8vXHJcblx0Ly8gIERyYXduIGFzIGFuIGFic29sdXRlbHktcG9zaXRpb25lZCByaW5nLCBOT1QgYSByZWFsIGJvcmRlci4gQSBib3JkZXIgb25cclxuXHQvLyAgLnNob3J0IHdvdWxkIGJlIHBhcnQgb2YgaXRzIGJveDogM3B4IGVhY2ggc2lkZSB3b3VsZCBlaXRoZXIgc2hyaW5rIHRoZVxyXG5cdC8vICBhcnR3b3JrIG9yIHdpZGVuIHRoZSBjYXJkLCBhbmQgd2lkZW5pbmcgaXQgY2hhbmdlcyB0aGUgc25hcCBnZW9tZXRyeSBzb1xyXG5cdC8vICB0aGUgcm93IHNoaWZ0cyBldmVyeSB0aW1lIHRoZSBhY3RpdmUgY2FyZCBtb3Zlcy5cclxuXHQvL1xyXG5cdC8vICBzY3JvbGwtc25hcC1zdG9wOiBhbHdheXMgaXMgdGhlIG90aGVyIGhhbGYgb2YgXCJvbmUgYXQgYSB0aW1lXCIuIFNuYXBcclxuXHQvLyAgcG9pbnRzIGFsb25lIGRvbid0IHN0b3AgYSBmYXN0IGZsaWNrIOKAlCB0aGUgYnJvd3NlciBpcyBmcmVlIHRvIGZseSBwYXN0XHJcblx0Ly8gIHNldmVyYWwgYW5kIGxhbmQgb24gYSBkaXN0YW50IG9uZS4gYGFsd2F5c2AgZm9yY2VzIGl0IHRvIHN0b3AgYXQgZWFjaC5cclxuXHRAaW5jbHVkZSBhdChtZCkge1xyXG5cdFx0c2Nyb2xsLXNuYXAtc3RvcDogYWx3YXlzO1xyXG5cclxuXHRcdCY6OmFmdGVyIHtcclxuXHRcdFx0Y29udGVudDogXCJcIjtcclxuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRpbnNldDogMDtcclxuXHRcdFx0ei1pbmRleDogMzsgICAgICAgICAgICAgIC8vIG92ZXIgLnNob3J0X19ib2R5IGFuZCAuc2hvcnRfX3BsYXkgKDIpXHJcblx0XHRcdGJvcmRlcjogM3B4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG5cdFx0XHRib3JkZXItcmFkaXVzOiBpbmhlcml0O1xyXG5cdFx0XHRwb2ludGVyLWV2ZW50czogbm9uZTsgICAgLy8gbmV2ZXIgZWF0cyBhIHRhcCBtZWFudCBmb3IgdGhlIGNhcmRcclxuXHRcdFx0dHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIHZhcigtLWR1ci1mYXN0KSAkZWFzZTtcclxuXHRcdH1cclxuXHJcblx0XHQmLmlzLWFjdGl2ZTo6YWZ0ZXIgeyBib3JkZXItY29sb3I6IHZhcigtLWFjY2VudCk7IH1cclxuXHR9XHJcblxyXG5cdC8vIENlbnRyZSBwbGF5IGJ1dHRvbiwgcmV2ZWFsZWQgb24gaG92ZXIuXHJcblx0Jl9fcGxheSB7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRsZWZ0OiA1MCU7XHJcblx0XHR0b3A6IDUwJTtcclxuXHRcdHotaW5kZXg6IDI7XHJcblx0XHRkaXNwbGF5OiBncmlkO1xyXG5cdFx0cGxhY2UtaXRlbXM6IGNlbnRlcjtcclxuXHRcdHdpZHRoOiA1NHB4O1xyXG5cdFx0aGVpZ2h0OiA1NHB4O1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogOTk5cHg7XHJcblx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1hY2NlbnQpO1xyXG5cdFx0Y29sb3I6IHZhcigtLW9uLWFjY2VudCk7XHJcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSBzY2FsZSguNik7XHJcblx0XHRvcGFjaXR5OiAwO1xyXG5cdFx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIC40cyAkZWFzZS1vdXQsIG9wYWNpdHkgLjNzICRlYXNlO1xyXG5cclxuXHRcdHN2ZyB7IHdpZHRoOiAxNnB4OyBoZWlnaHQ6IDE2cHg7IG1hcmdpbi1sZWZ0OiAycHg7IH1cclxuXHR9XHJcblxyXG5cdCZfX2JvZHkge1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0aW5zZXQ6IGF1dG8gMCAwIDA7XHJcblx0XHR6LWluZGV4OiAyO1xyXG5cdFx0cGFkZGluZzogc3AoNCk7XHJcblx0XHRkaXNwbGF5OiBncmlkO1xyXG5cdFx0Z2FwOiAycHg7XHJcblx0fVxyXG5cclxuXHQmX190aXRsZSB7XHJcblx0XHRmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcclxuXHRcdGZvbnQtc2l6ZTogLjk1cmVtO1xyXG5cdFx0Zm9udC13ZWlnaHQ6IDkwMDtcclxuXHRcdGxpbmUtaGVpZ2h0OiBjYWxjKDEuMDUgKiB2YXIoLS1kaXNwbGF5LWxlYWRpbmcpKTtcclxuXHRcdGxldHRlci1zcGFjaW5nOiAtLjAxNWVtO1xyXG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRcdGNvbG9yOiAjZmZmO1xyXG5cdFx0Ly8gVHdvIGxpbmVzIG1heCDigJQgYSB0aGlyZCB3b3VsZCBjb3ZlciB0aGUgaW1hZ2UgZW50aXJlbHkuXHJcblx0XHRkaXNwbGF5OiAtd2Via2l0LWJveDtcclxuXHRcdC13ZWJraXQtbGluZS1jbGFtcDogMjtcclxuXHRcdC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XHJcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdH1cclxuXHJcblx0Ly8gPSAuZXBfX2VwIC8gLmNhcmRfX21ldGEsIGJ1dCAtLWFjY2VudCByYXRoZXIgdGhhbiAtLWFjY2VudC1pbms6IHRoaXMgbGFiZWxcclxuXHQvLyBzaXRzIG9uIGEgZGFyayBwaG90byBpbiBCT1RIIHRoZW1lcywgYW5kIC0tYWNjZW50LWluayBpcyBkZWxpYmVyYXRlbHlcclxuXHQvLyBkYXJrZW5lZCBmb3IgbGlnaHQgYmFja2dyb3VuZHMsIHNvIGl0IHdvdWxkIG5lYXJseSB2YW5pc2ggaGVyZS5cclxuXHQvLyBCcmFuZC1ibHVlIHBpbGwuIGp1c3RpZnktc2VsZjogc3RhcnQgaXMgcmVxdWlyZWQg4oCUIC5zaG9ydF9fYm9keSBpcyBhXHJcblx0Ly8gZ3JpZCwgc28gd2l0aG91dCBpdCB0aGUgcGlsbCB3b3VsZCBzdHJldGNoIHRoZSBmdWxsIGNhcmQgd2lkdGguXHJcblx0Jl9fbWV0YSB7XHJcblx0XHRAaW5jbHVkZSBsYWJlbDtcclxuXHRcdGp1c3RpZnktc2VsZjogc3RhcnQ7XHJcblx0XHRwYWRkaW5nOiAuMTZlbSAuNjJlbTtcclxuXHRcdC8vIC5zaG9ydF9fYm9keSdzIGdyaWQgZ2FwIGlzIG9ubHkgMnB4LCB3aGljaCBpcyByaWdodCBmb3IgYSBwbGFpblxyXG5cdFx0Ly8gbGFiZWwgYnV0IHRvbyB0aWdodCB1bmRlciBhIGZpbGxlZCBwaWxsLlxyXG5cdFx0bWFyZ2luLWJvdHRvbTogLjNlbTtcclxuXHRcdGJvcmRlci1yYWRpdXM6IDk5OXB4O1xyXG5cdFx0YmFja2dyb3VuZDogdmFyKC0tYWNjZW50KTtcclxuXHRcdGNvbG9yOiAjZmZmO1xyXG5cclxuXHRcdC8vIOKblCBTVEFZUyBBIEZJTExFRCBQSUxMLiBJdCB3YXMgYnJpZWZseSBhIHBsYWluIGJsdWUgdGV4dCBsYWJlbCBvblxyXG5cdFx0Ly8gMjAyNi0wOS0xNCAoYSBtaXNyZWFkIG9mIFwicHV0IHRoZSB0aW1lIG92ZXIgdGhlIHNob3J0cyB0aXRsZVwiIOKAlFxyXG5cdFx0Ly8gSm9lIG1lYW50IHRoZSBzaG9ydHMgQ0FSRCBpbiBhIG1peGVkIGdyaWQsIG5vdCB0aGlzIHJhaWwpIGFuZCB3YXNcclxuXHRcdC8vIHJldmVydGVkIHRoZSBzYW1lIGhvdXI6IFwicmV2ZXJ0IGFueXRoaW5nIHlvdSBkaWQgdG8gdGhlIHNob3J0c1xyXG5cdFx0Ly8gcmFpbFwiLiBUaGUgcmFpbCdzIHBpbGwgYW5kIHRoZSBlcGlzb2RlIGNoaXAgYXJlIG9uZSBvYmplY3QuXHJcblxyXG5cdFx0Ly8gMnB4IHRpZ2h0ZXIgZWFjaCBzaWRlIG9uIHBob25lcy4gVGhlIGxhYmVsIGNsYW1wIGJvdHRvbXMgb3V0IGF0IC45cmVtXHJcblx0XHQvLyB0aGVyZSwgc28gLjYyZW0gcmVzb2x2ZXMgdG8gfjlweCBvZiBwYWRkaW5nIGFnYWluc3QgYSB+MTRweCBnbHlwaCDigJRcclxuXHRcdC8vIGVub3VnaCB0byBtYWtlIHRoZSBwaWxsIHJlYWQgd2lkZSBhbmQgbG9vc2UgbmV4dCB0byB0aGUgdGl0bGUuXHJcblx0XHQvL1xyXG5cdFx0Ly8gY2FsYygpIG9mZiB0aGUgc2FtZSAuNjJlbSByYXRoZXIgdGhhbiBhIGZsYXQgcHggdmFsdWUsIHNvIGlmIHRoZSBsYWJlbFxyXG5cdFx0Ly8gc2l6ZSBldmVyIGNoYW5nZXMgdGhpcyBzdGF5cyBcInRoZSBkZXNrdG9wIHBhZGRpbmcsIG1pbnVzIDJweFwiIGluc3RlYWRcclxuXHRcdC8vIG9mIHNpbGVudGx5IGJlY29taW5nIGEgZGlmZmVyZW50IHByb3BvcnRpb24uXHJcblx0XHRAaW5jbHVkZSBhdChtZCkgeyBwYWRkaW5nLWlubGluZTogY2FsYyguNjJlbSAtIDJweCk7IH1cclxuXHR9XHJcbn1cclxuXHJcbi8vIOKUgOKUgCBBcnJvd3Mg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXHJcbi8vIFNIQVJFRCDigJQgdGhlIFNvY2lhbCBzZWN0aW9uJ3MgWCByYWlsIHVzZXMgdGhpcyB0b28uIExpdmVzIGhlcmUgYmVjYXVzZSB0aGlzXHJcbi8vIGlzIHdoZXJlIHRoZSByYWlsIHBhdHRlcm4gc3RhcnRlZDsgaWYgYSB0aGlyZCByYWlsIGFwcGVhcnMsIG1vdmUgaXQgb3V0LlxyXG4ucmFpbC1uYXYge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0Z2FwOiBzcCgyKTtcclxuXHJcblx0Ly8gVG91Y2ggYWxyZWFkeSBoYXMgYSBiZXR0ZXIgZ2VzdHVyZSB0aGFuIGEgYnV0dG9uLlxyXG5cdEBtZWRpYSAoaG92ZXI6IG5vbmUpIHsgZGlzcGxheTogbm9uZTsgfVxyXG5cclxuXHRidXR0b24ge1xyXG5cdFx0ZGlzcGxheTogZ3JpZDtcclxuXHRcdHBsYWNlLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHR3aWR0aDogNDZweDtcclxuXHRcdGhlaWdodDogNDZweDtcclxuXHRcdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpbmUpO1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogOTk5cHg7XHJcblx0XHRjb2xvcjogdmFyKC0taW5rKTtcclxuXHRcdHRyYW5zaXRpb246IGJvcmRlci1jb2xvciB2YXIoLS1kdXItZmFzdCkgJGVhc2UsIGNvbG9yIHZhcigtLWR1ci1mYXN0KSAkZWFzZSxcclxuXHRcdFx0XHRcdG9wYWNpdHkgdmFyKC0tZHVyLWZhc3QpICRlYXNlO1xyXG5cclxuXHRcdHN2ZyB7IHdpZHRoOiAxNXB4OyBoZWlnaHQ6IDE1cHg7IH1cclxuXHJcblx0XHQmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1hY2NlbnQpOyBjb2xvcjogdmFyKC0tYWNjZW50LWluayk7IH1cclxuXHJcblx0XHQvLyBEaXNhYmxlZCBhdCB0aGUgZW5kcyByYXRoZXIgdGhhbiBoaWRkZW4g4oCUIGEgY29udHJvbCB0aGF0IHZhbmlzaGVzIGlzXHJcblx0XHQvLyBtb3JlIGRpc29yaWVudGluZyB0aGFuIG9uZSB0aGF0IGRpbXMuXHJcblx0XHQmOmRpc2FibGVkIHsgb3BhY2l0eTogLjM7IGN1cnNvcjogZGVmYXVsdDsgfVxyXG5cdH1cclxuXHJcblx0Jl9fcHJldiBzdmcgeyB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB9XHJcbn1cclxuIiwiQHVzZSBcInRva2Vuc1wiIGFzICo7XG5cbi8vIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLy8gIExJR0hUQk9YIOKAlCBmdWxsLXNjcmVlbiBzaG9ydHMgdmlld2VyXG4vL1xuLy8gIEJ1aWx0IGJ5IGgtbGlnaHRib3guanMgb24gZmlyc3Qgb3Blbiwgc28gbm9uZSBvZiB0aGlzIG1hcmt1cCBleGlzdHMgZm9yIGFcbi8vICB2aXNpdG9yIHdobyBuZXZlciBvcGVucyBhIGNsaXAuXG4vL1xuLy8gIOKaoCBERUxJQkVSQVRFTFkgRE9FUyBOT1QgVVNFIFRIRSBGVUxMU0NSRUVOIEFQSS4gU2VlIHRoZSBub3RlIGluXG4vLyAgaC1saWdodGJveC5qcyDigJQgdGhlIGJyb3dzZXIncyBcIlRvIGV4aXQgZnVsbCBzY3JlZW4sIGRyYWcgZnJvbSB0aGUgdG9w4oCmXCJcbi8vICB0b2FzdCBpcyB1bmF2b2lkYWJsZSB3aGlsZSB0aGF0IEFQSSBpcyBpbiBwbGF5LCBhbmQgaXQgY2Fubm90IGJlIHN0eWxlZCBvclxuLy8gIHN1cHByZXNzZWQuIFRoaXMgZmlsbHMgdGhlIHZpZXdwb3J0IHdpdGggcGxhaW4gQ1NTIGluc3RlYWQ6IHNhbWUgcmVzdWx0LCBub1xuLy8gIGJyb3dzZXIgZnVybml0dXJlLCBhbmQgaXQgYmVoYXZlcyBpZGVudGljYWxseSBvbiBpT1Mgd2hlcmUgdGhlIEFQSSBkb2Vzbid0XG4vLyAgd29yayBvbiBhbiBpZnJhbWUgYXQgYWxsLlxuLy9cbi8vICBBbHdheXMgZGFyayBpbiBib3RoIHRoZW1lcy4gQSB2aWRlbyBzaXRzIGJldHRlciBpbiBhIGRhcmsgcm9vbSwgYW5kIGEgd2hpdGVcbi8vICBvdmVybGF5IGFyb3VuZCBhIDk6MTYgY2xpcCBpcyBhIHdhbGwgb2YgZ2xhcmUgZWl0aGVyIHNpZGUgb2YgaXQuXG4vLyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblxuLmxpZ2h0Ym94IHtcblx0cG9zaXRpb246IGZpeGVkO1xuXHRpbnNldDogMDtcblx0ei1pbmRleDogMjAwOyAgICAgICAgICAvLyBhYm92ZSB0aGUgbmF2ICgxMDApIGFuZCB0aGUgZHJhd2VyICg5OSlcblx0ZGlzcGxheTogZ3JpZDtcblx0cGxhY2UtaXRlbXM6IGNlbnRlcjtcblx0cGFkZGluZzogY2xhbXAoMXJlbSwgNHZ3LCAzcmVtKTtcblx0Ly8gU3RvcHMgYSBmbGljayB0aGF0IHN0YXJ0cyBvbiBhIGdlc3R1cmUgc3RyaXAgZnJvbSBjaGFpbmluZyB0aHJvdWdoIHRvIHRoZVxuXHQvLyBkb2N1bWVudCB1bmRlcm5lYXRoIG9uY2UgdGhlIG92ZXJsYXkgaXRzZWxmIGhhcyBub3doZXJlIHRvIHNjcm9sbC5cblx0b3ZlcnNjcm9sbC1iZWhhdmlvcjogY29udGFpbjtcblxuXHQvLyBIaWRkZW4gd2l0aG91dCBkaXNwbGF5Om5vbmUsIHNvIHRoZSBmYWRlIGhhcyBzb21ldGhpbmcgdG8gYW5pbWF0ZSBhbmRcblx0Ly8gdGhlIGZvY3VzIHRyYXAgY2FuIHN0aWxsIG1lYXN1cmUgaXRzIGJ1dHRvbnMuXG5cdG9wYWNpdHk6IDA7XG5cdHZpc2liaWxpdHk6IGhpZGRlbjtcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdHRyYW5zaXRpb246IG9wYWNpdHkgLjNzICRlYXNlLCB2aXNpYmlsaXR5IC4zcztcblxuXHQmLmlzLW9wZW4ge1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0dmlzaWJpbGl0eTogdmlzaWJsZTtcblx0XHRwb2ludGVyLWV2ZW50czogYXV0bztcblx0fVxuXG5cdCZfX3NjcmltIHtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0aW5zZXQ6IDA7XG5cdFx0YmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAuOTIpO1xuXHR9XG5cblx0Jl9faW5uZXIge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHR6LWluZGV4OiAxO1xuXHRcdHdpZHRoOiBtaW4oMTAwJSwgMTEwMHB4KTtcblx0XHRkaXNwbGF5OiBncmlkO1xuXHRcdGp1c3RpZnktaXRlbXM6IGNlbnRlcjtcblx0fVxuXG5cdCZfX3N0YWdlIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7ICAgLy8gYW5jaG9ycyB0aGUgZ2VzdHVyZSBzdHJpcHMgYmVsb3dcblx0XHRkaXNwbGF5OiBncmlkO1xuXHRcdGp1c3RpZnktaXRlbXM6IGNlbnRlcjtcblx0XHR3aWR0aDogMTAwJTtcblx0fVxuXG5cblx0Ly8g4pSA4pSAIE1lZGlhIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXHQvLyAgRGVza3RvcDogYSB3aW5kb3dlZCA5OjE2IGJveCwgc2l6ZWQgYnkgSEVJR0hUIGZpcnN0LiBTaG9ydHMgYXJlIHZlcnRpY2FsLFxuXHQvLyAgc28gYSB3aWR0aC1kcml2ZW4gYm94IG1ha2VzIGEgcG9ydHJhaXQgY2xpcCB0YWxsZXIgdGhhbiB0aGUgdmlld3BvcnQuXG5cdCZfX21lZGlhIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0d2lkdGg6IGF1dG87XG5cdFx0aGVpZ2h0OiBtaW4oNzhzdmgsIDg4dncgKiAxNiAvIDkpO1xuXHRcdGFzcGVjdC1yYXRpbzogOSAvIDE2O1xuXHRcdG1heC13aWR0aDogMTAwJTtcblx0XHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0YmFja2dyb3VuZDogIzAwMDtcblx0XHRib3gtc2hhZG93OiAwIDQwcHggMTAwcHggcmdiYSgwLCAwLCAwLCAuNik7XG5cblx0XHQvLyBTaG9ydC9sYW5kc2NhcGUgd2luZG93czogYSA5OjE2IGJveCBoYXMgbm93aGVyZSB0byBnbyB2ZXJ0aWNhbGx5LCBzb1xuXHRcdC8vIGxldCB3aWR0aCBkcml2ZSBpdCBhbmQgYWNjZXB0IGEgc21hbGxlciBjbGlwLlxuXHRcdEBtZWRpYSAobWF4LWFzcGVjdC1yYXRpbzogMS8xKSBhbmQgKG1pbi13aWR0aDogI3skYnAtbWQgKyAxfSkge1xuXHRcdFx0aGVpZ2h0OiBhdXRvO1xuXHRcdFx0d2lkdGg6IG1pbigxMDAlLCA2MnN2aCAqIDkgLyAxNik7XG5cdFx0fVxuXHR9XG5cblx0Jl9fZnJhbWUsXG5cdCZfX3Bvc3RlciB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdGJvcmRlcjogMDtcblx0fVxuXG5cdCZfX3Bvc3RlciB7IG9iamVjdC1maXQ6IGNvdmVyOyB9XG5cblxuXHQvLyDilIDilIAgQ29udHJvbHMg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cdCZfX2J0biB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHotaW5kZXg6IDI7XG5cdFx0ZGlzcGxheTogZ3JpZDtcblx0XHRwbGFjZS1pdGVtczogY2VudGVyO1xuXHRcdHdpZHRoOiA1MnB4O1xuXHRcdGhlaWdodDogNTJweDtcblx0XHRib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIC4yNSk7XG5cdFx0Ym9yZGVyLXJhZGl1czogOTk5cHg7XG5cdFx0YmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAuNCk7XG5cdFx0YmFja2Ryb3AtZmlsdGVyOiBibHVyKDhweCk7XG5cdFx0Y29sb3I6ICNmZmY7XG5cdFx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS1kdXItZmFzdCkgJGVhc2UsXG5cdFx0XHRcdFx0Ym9yZGVyLWNvbG9yIHZhcigtLWR1ci1mYXN0KSAkZWFzZSxcblx0XHRcdFx0XHRvcGFjaXR5IHZhcigtLWR1ci1mYXN0KSAkZWFzZTtcblxuXHRcdHN2ZyB7IHdpZHRoOiAyMHB4OyBoZWlnaHQ6IDIwcHg7IH1cblxuXHRcdC8vIEdhdGVkIGJlaGluZCBjYW4taG92ZXIuIE9uIGEgdG91Y2hzY3JlZW4gOmhvdmVyIExBVENIRVMgYWZ0ZXIgYSB0YXBcblx0XHQvLyBhbmQgbmV2ZXIgY2xlYXJzLCBzbyB0aGUgYXJyb3cgeW91IGxhc3QgcHJlc3NlZCBzaXRzIHRoZXJlIGxpdCB1cCBpblxuXHRcdC8vIGJyYW5kIGJsdWUgYXMgaWYgaXQgd2VyZSBzdGlsbCBhY3RpdmUg4oCUIHdoaWNoIGlzIGV4YWN0bHkgd2hhdCBKb2Ugd2FzXG5cdFx0Ly8gbG9va2luZyBhdC4gVGhlcmUgaXMgbm8gcG9pbnRlciB0byBsZWF2ZSB0aGUgZWxlbWVudCwgc28gbm90aGluZyBldmVyXG5cdFx0Ly8gcmVtb3ZlcyB0aGUgc3RhdGUuXG5cdFx0QGluY2x1ZGUgY2FuLWhvdmVyIHtcblx0XHRcdCY6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1hY2NlbnQpO1xuXHRcdFx0XHRib3JkZXItY29sb3I6IHZhcigtLWFjY2VudCk7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Ly8gUHJlc3MgZmVlZGJhY2sgZm9yIHRvdWNoLCByZXBsYWNpbmcgd2hhdCA6aG92ZXIgdXNlZCB0byBwcm92aWRlLlxuXHRcdC8vIDphY3RpdmUgY2FuJ3QgZ2V0IHN0dWNrIOKAlCB0aGUgYnJvd3NlciBkcm9wcyBpdCBvbiByZWxlYXNlLlxuXHRcdCY6YWN0aXZlOm5vdCg6ZGlzYWJsZWQpIHtcblx0XHRcdGJhY2tncm91bmQ6IHZhcigtLWFjY2VudCk7XG5cdFx0XHRib3JkZXItY29sb3I6IHZhcigtLWFjY2VudCk7XG5cdFx0fVxuXG5cdFx0JjpkaXNhYmxlZCB7XG5cdFx0XHRvcGFjaXR5OiAuMjU7XG5cdFx0XHRjdXJzb3I6IGRlZmF1bHQ7XG5cdFx0fVxuXG5cdFx0Ly8g4pqgIFJFVkVSU0VEIG9uIEpvZSdzIGFzaywgMjAyNi0wOC0wOC4gVGhpcyBibG9jayB1c2VkIHRvIHJlYWRcblx0XHQvLyBcImRpc2FibGVkIHJhdGhlciB0aGFuIGhpZGRlbjogdGhlIGNvbnRyb2wgc3RheWluZyBwdXQgdGVsbHMgeW91XG5cdFx0Ly8geW91J3ZlIHJlYWNoZWQgdGhlIGVuZCwgd2hlcmUgYSB2YW5pc2hpbmcgYnV0dG9uIGp1c3QgbG9va3MgbGlrZSBhXG5cdFx0Ly8gZ2xpdGNoLlwiIEhlIHdhbnRzIHRoZW0gZ29uZSwgc28gdGhlIGVuZHMgYXJlIHNpZ25hbGxlZCBieSBhYnNlbmNlXG5cdFx0Ly8gbm93LiBSZWNvcmRlZCBiZWNhdXNlIHRoZSBvbGQgcmVhc29uaW5nIGlzIHNvdW5kIGFuZCB3b3VsZCBvdGhlcndpc2Vcblx0XHQvLyBnZXQgcmUtYXJndWVkIGZyb20gc2NyYXRjaC5cblx0XHQvL1xuXHRcdC8vIFNjb3BlZCB0byB0aGUgYXJyb3dzLCBOT1QgdG8gLmxpZ2h0Ym94X19idG4gZ2VuZXJhbGx5IOKAlCBjbG9zZSBpc1xuXHRcdC8vIG5ldmVyIGRpc2FibGVkIHRvZGF5LCBidXQgYSBibGFua2V0IHJ1bGUgd291bGQgaGlkZSBpdCB0aGUgZGF5XG5cdFx0Ly8gc29tZXRoaW5nIGRpc2FibGVzIGl0LCBhbmQgYSBtb2RhbCB3aXRoIG5vIHdheSBvdXQgaXMgdGhlIG9uZSBidWdcblx0XHQvLyB0aGlzIG11c3QgbmV2ZXIgY2F1c2UuXG5cdFx0Ly9cblx0XHQvLyBEcml2ZW4gYnkgdGhlIGBkaXNhYmxlZGAgYXR0cmlidXRlIHJhdGhlciB0aGFuIGEgY2xhc3MsIGRlbGliZXJhdGVseTpcblx0XHQvLyB0aGUgZm9jdXMgdHJhcCBpbiBoLWxpZ2h0Ym94LmpzIHNlbGVjdHMgYGJ1dHRvbjpub3QoW2Rpc2FibGVkXSlgLCBzb1xuXHRcdC8vIG9uZSBhdHRyaWJ1dGUga2VlcHMgdGhlIGFycm93IG91dCBvZiB0aGUgdGFiIGN5Y2xlIEFORCBvZmYgdGhlXG5cdFx0Ly8gc2NyZWVuLiBBIGNsYXNzIHdvdWxkIG5lZWQgYm90aCBrZXB0IGluIHN0ZXAgYnkgaGFuZC5cblx0XHQmLS1wcmV2OmRpc2FibGVkLFxuXHRcdCYtLW5leHQ6ZGlzYWJsZWQgeyBkaXNwbGF5OiBub25lOyB9XG5cblx0XHQvLyBYLCB0b3AgcmlnaHQsIGF0IGV2ZXJ5IHNpemUuIFRoZSBtb2JpbGUgYmxvY2sgZnVydGhlciBkb3duIG9ubHlcblx0XHQvLyBhZGp1c3RzIHRoZSBvZmZzZXRzIGZvciB0aGUgbm90Y2guXG5cdFx0Ji0tY2xvc2Uge1xuXHRcdFx0dG9wOiBjbGFtcCgxcmVtLCAzdncsIDJyZW0pO1xuXHRcdFx0cmlnaHQ6IGNsYW1wKDFyZW0sIDN2dywgMnJlbSk7XG5cdFx0XHQvLyBObyBmb2N1cyByaW5nIG9uIHRoZSBYLCBldmVyIChKb2UsIDIwMjYtMDktMTgpLiBvcGVuKCkgZm9jdXNlc1xuXHRcdFx0Ly8gaXQgcHJvZ3JhbW1hdGljYWxseSwgYW5kIHdpdGhvdXQgYSBwb2ludGVyIGV2ZW50IGZpcnN0IOKAlCB0aGVcblx0XHRcdC8vIGVtYWlsIGRlZXAgbGluaywgYSB0YXAgb24gYSBwaG9uZSDigJQgdGhlIGJyb3dzZXIgdHJlYXRzIHRoYXQgYXNcblx0XHRcdC8vIGtleWJvYXJkIGZvY3VzIGFuZCBkcmF3cyB0aGUgcmluZyBvbiBhIGJ1dHRvbiBub2JvZHkga2V5ZWQgdG8uXG5cdFx0XHQvLyBUaGUgcmluZyBiZWxvbmdzIG9uIHRoZSBBUlJPV1Mgd2hpbGUga2V5aW5nIHRocm91Z2ggdGhlXG5cdFx0XHQvLyBnYWxsZXJ5IChvbktleSBtb3ZlcyBmb2N1cyB0aGVyZSksIGFuZCBvbmx5IHRoZXJlLlxuXHRcdFx0Jjpmb2N1cy12aXNpYmxlIHsgb3V0bGluZTogbm9uZTsgfVxuXHRcdH1cblxuXHRcdC8vIOKApmFuZCBuZXZlciBvbiBhIHRvdWNoIHNjcmVlbiwgd2hlcmUgdGhlIHJpbmcgY2FuIG9ubHkgZXZlciBiZSB0aGVcblx0XHQvLyBwcm9ncmFtbWF0aWMtZm9jdXMgYXJ0ZWZhY3QgYWJvdmUsIG5vdCBhIGtleWJvYXJkIHVzZXIncyBjdWUuXG5cdFx0QG1lZGlhIChob3Zlcjogbm9uZSkge1xuXHRcdFx0Jjpmb2N1cy12aXNpYmxlIHsgb3V0bGluZTogbm9uZTsgfVxuXHRcdH1cblxuXHRcdC8vIOKUgOKUgCBEZXNrdG9wOiBmdWxsIGNpcmNsZXMsIGZsb2F0ZWQgb2ZmIHRoZSBlZGdlIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXHRcdC8vICBVbnRvdWNoZWQg4oCUIHRoaXMgaXMgdGhlIG9yaWdpbmFsIHRyZWF0bWVudCBhbmQgSm9lIHdhbnRzIGl0IGtlcHRcblx0XHQvLyAgZXhhY3RseSBhcyBpdCB3YXMuIFRoZSBoYWxmLWRpc2MgYmVsb3cgaXMgYSBNT0JJTEUtT05MWSBvdmVycmlkZS5cblx0XHQmLS1wcmV2IHsgbGVmdDogIGNsYW1wKC41cmVtLCAydncsIDJyZW0pOyB0b3A6IDUwJTsgdHJhbnNsYXRlOiAwIC01MCU7IH1cblx0XHQmLS1uZXh0IHsgcmlnaHQ6IGNsYW1wKC41cmVtLCAydncsIDJyZW0pOyB0b3A6IDUwJTsgdHJhbnNsYXRlOiAwIC01MCU7IH1cblxuXHRcdC8vIOKUgOKUgCBNb2JpbGU6IGhhbGYtZGlzY3MsIGZsdXNoIHRvIHRoZSBzY3JlZW4gZWRnZXMg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cdFx0Ly8gIEEgdHJ1ZSBzZW1pY2lyY2xlOiBoZWlnaHQgaXMgZXhhY3RseSB0d2ljZSB0aGUgd2lkdGggYW5kIHRoZSB3aG9sZVxuXHRcdC8vICByYWRpdXMgc2l0cyBvbiB0aGUgaW53YXJkLWZhY2luZyBjb3JuZXJzLCBzbyB0aGUgZmxhdCBzaWRlIGlzIGFnYWluc3Rcblx0XHQvLyAgdGhlIGVkZ2Ugb2YgdGhlIHNjcmVlbiBhbmQgdGhlIGN1cnZlIGJ1bGdlcyBvdmVyIHRoZSBjbGlwLlxuXHRcdC8vXG5cdFx0Ly8gIFRoZXkgc2hvdyBvbiB0b3VjaCBub3cuIFRoZXkgdXNlZCB0byBoaWRlIHRoZW1zZWx2ZXMgdGhlcmUgaW4gZmF2b3VyXG5cdFx0Ly8gIG9mIHN3aXBpbmcsIGJ1dCBzd2lwZSBjYW5ub3Qgd29yayBvdmVyIGEgY3Jvc3Mtb3JpZ2luIHBsYXllciDigJQgc2VlXG5cdFx0Ly8gIHRoZSBub3RlIGluIGgtbGlnaHRib3guanMg4oCUIHNvIHRoZXNlIGFyZSB0aGUgb25seSB3YXkgdGhyb3VnaCB0aGVcblx0XHQvLyAgY29sbGVjdGlvbiBvbiBhIHBob25lLlxuXHRcdEBpbmNsdWRlIGF0KG1kKSB7XG5cdFx0XHQmLS1wcmV2LFxuXHRcdFx0Ji0tbmV4dCB7XG5cdFx0XHRcdC0taGFsZjogY2xhbXAoMzhweCwgNC40dncsIDUwcHgpO1xuXG5cdFx0XHRcdHdpZHRoOiB2YXIoLS1oYWxmKTtcblx0XHRcdFx0aGVpZ2h0OiBjYWxjKHZhcigtLWhhbGYpICogMik7XG5cblx0XHRcdFx0Ly8gQSB0b3VjaCBsYXJnZXIgdGhhbiB0aGUgMjBweCBlbHNld2hlcmU6IGluIGEgaGFsZi1kaXNjIHRoZVxuXHRcdFx0XHQvLyBnbHlwaCBzaXRzIG9mZi1jZW50cmUgYWdhaW5zdCBhIGJpZyBjdXJ2ZSBhbmQgbmVlZHMgdGhlIGV4dHJhXG5cdFx0XHRcdC8vIHdlaWdodCB0byBob2xkIGl0cyBvd24uXG5cdFx0XHRcdHN2ZyB7IHdpZHRoOiAyMXB4OyBoZWlnaHQ6IDIxcHg7IH1cblx0XHRcdH1cblxuXHRcdFx0Ly8gUGFkZGluZyBwdXNoZXMgdGhlIGNlbnRyZWQgZ2x5cGggdG93YXJkIHRoZSBmbGF0IHNpZGUsIGkuZS4gdG93YXJkXG5cdFx0XHQvLyB0aGUgc2NyZWVuIGVkZ2UsIHNvIGl0IHJlYWRzIGFzIHNpdHRpbmcgSU4gdGhlIGRpc2MgcmF0aGVyIHRoYW5cblx0XHRcdC8vIGZsb2F0aW5nIGluIGl0cyBib3VuZGluZyBib3guIFdhcyAycHgsIHdoaWNoIGJhcmVseSByZWdpc3RlcmVkLlxuXHRcdFx0Ji0tcHJldiB7XG5cdFx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRcdGJvcmRlci1sZWZ0OiAwOyAgICAgICAgICAgICAgIC8vIG5vIGhhaXJsaW5lIGFnYWluc3QgdGhlIHNjcmVlbiBlZGdlXG5cdFx0XHRcdGJvcmRlci1yYWRpdXM6IDAgdmFyKC0taGFsZikgdmFyKC0taGFsZikgMDtcblx0XHRcdFx0cGFkZGluZy1yaWdodDogOHB4O1xuXHRcdFx0fVxuXG5cdFx0XHQmLS1uZXh0IHtcblx0XHRcdFx0cmlnaHQ6IDA7XG5cdFx0XHRcdGJvcmRlci1yaWdodDogMDtcblx0XHRcdFx0Ym9yZGVyLXJhZGl1czogdmFyKC0taGFsZikgMCAwIHZhcigtLWhhbGYpO1xuXHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDhweDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQvLyDilIDilIAgTW9iaWxlOiBlZGdlIHRvIGVkZ2Ug4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cdC8vICBUSEUgV0hPTEUgU0NSRUVOLCBpbW1lZGlhdGVseSwgd2l0aCBubyBmdWxsc2NyZWVuIHJlcXVlc3QgYW5kIHRoZXJlZm9yZVxuXHQvLyAgbm8gYnJvd3NlciB0b2FzdC4gVGhlIGJveCBkcm9wcyBpdHMgYXNwZWN0LXJhdGlvIGFuZCB0YWtlcyB0aGUgdmlld3BvcnQ7XG5cdC8vICBZb3VUdWJlJ3MgcGxheWVyIGxldHRlcmJveGVzIHRoZSA5OjE2IGNsaXAgaW5zaWRlIGl0IGV4YWN0bHkgdGhlIHdheSB0aGVcblx0Ly8gIFlvdVR1YmUgYXBwIGRvZXMsIHNvIHRoZSBjaHJvbWUgZmlsbHMgdGhlIHNjcmVlbiBhbmQgdGhlIHZpZGVvIGlzIGFzIGJpZ1xuXHQvLyAgYXMgaXQgY2FuIGJlLiBQcmV2aW91c2x5IHRoZSBtZWRpYSBrZXB0IGl0cyB3aW5kb3dlZCA5OjE2IHNpemUgZXZlbiBpblxuXHQvLyAgZnVsbHNjcmVlbiwgd2hpY2ggaXMgd2h5IHRoZSBjbGlwIHNhdCBpbiB0aGUgbWlkZGxlIG9mIGEgYmxhY2sgZmllbGQgYW5kXG5cdC8vICBuZWVkZWQgYSBzZWNvbmQgdGFwIG9uIHRoZSBwbGF5ZXIncyBvd24gZnVsbHNjcmVlbiBpY29uLlxuXHQvL1xuXHQvLyAgMTAwc3ZoLCBub3QgMTAwdmg6IHdpdGggYSBkeW5hbWljIGJyb3dzZXIgdG9vbGJhciwgMTAwdmggb3ZlcmZsb3dzIGFuZFxuXHQvLyAgcHVzaGVzIHRoZSBjbG9zZSBidXR0b24gb2ZmIHRoZSB0b3Agb2YgdGhlIHNjcmVlbi5cblx0QGluY2x1ZGUgYXQobWQpIHtcblx0XHRwYWRkaW5nOiAwO1xuXG5cdFx0LmxpZ2h0Ym94X19pbm5lcixcblx0XHQubGlnaHRib3hfX3N0YWdlIHsgd2lkdGg6IDEwMCU7IH1cblxuXHRcdC5saWdodGJveF9fbWVkaWEge1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRoZWlnaHQ6IDEwMHN2aDtcblx0XHRcdG1heC13aWR0aDogbm9uZTtcblx0XHRcdGFzcGVjdC1yYXRpbzogYXV0bztcblx0XHRcdGJvcmRlci1yYWRpdXM6IDA7XG5cdFx0XHRib3gtc2hhZG93OiBub25lO1xuXHRcdH1cblxuXHRcdC8vIFgsIHRvcCByaWdodCDigJQgdGhlIHNhbWUgdHJlYXRtZW50IGFzIGRlc2t0b3AsIG9uIGV2ZXJ5IHNpemUuXG5cdFx0Ly9cblx0XHQvLyBJdCBzcGVudCBhIHdoaWxlIGFzIGEgYmFjayBhcnJvdyBpbiB0aGUgdG9wIExFRlQsIGJlY2F1c2UgdGhlIHRvcFxuXHRcdC8vIHJpZ2h0IG9uIGEgcGhvbmUgaXMgd2hlcmUgWW91VHViZSBzdGFja2VkIG11dGUsIENDIGFuZCBzaGFyZSBhbmQgYVxuXHRcdC8vIGJ1dHRvbiB0aGVyZSBjb3ZlcmVkIHRoZW0uIFRoZSBwbGF5ZXIgaXMgaGVhZGxlc3Mgbm93IChzZWUgLnBsYXllclxuXHRcdC8vIGJlbG93KTogdGhlcmUgaXMgbm8gWW91VHViZSBjaHJvbWUgYW55d2hlcmUsIHNvIHRoYXQgY29ybmVyIGlzIGVtcHR5XG5cdFx0Ly8gYW5kIHRoZSBjb250cm9sIGNhbiBnbyBiYWNrIHdoZXJlIGl0IGJlbG9uZ3MuXG5cdFx0Ly9cblx0XHQvLyBPbmx5IHRoZSBvZmZzZXRzIGNoYW5nZSBoZXJlIOKAlCB0aGUgaW5zZXRzIGNsZWFyIHRoZSBub3RjaCBhbmQgdGhlXG5cdFx0Ly8gcm91bmRlZCBjb3JuZXIsIHdoaWNoIHRoZSBkZXNrdG9wIGNsYW1wKCkgZG9lc24ndCBhY2NvdW50IGZvci5cblx0XHQubGlnaHRib3hfX2J0bi0tY2xvc2Uge1xuXHRcdFx0dG9wOiAgIG1heCgxcmVtLCBlbnYoc2FmZS1hcmVhLWluc2V0LXRvcCkpO1xuXHRcdFx0cmlnaHQ6IG1heCgxcmVtLCBlbnYoc2FmZS1hcmVhLWluc2V0LXJpZ2h0KSk7XG5cdFx0fVxuXHR9XG59XG5cbi8vIOKUgOKUgCBTY3JvbGwgbG9jayDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi8vICDimqAgU0hBUkVELCBkZXNwaXRlIGxpdmluZyBpbiB0aGUgbGlnaHRib3ggcGFydGlhbC4gU2V0IGJ5IGEtbG9jay5qcyBvbiBiZWhhbGZcbi8vICBvZiBCT1RIIHRoZSBsaWdodGJveCBhbmQgdGhlIG1vYmlsZSBkcmF3ZXIgYXMgb2YgMjAyNi0wOC0wOCDigJQgaXQgc3RheXMgaGVyZVxuLy8gIG9ubHkgYmVjYXVzZSB0aGlzIGlzIHdoZXJlIGl0IHdhcyB3cml0dGVuOyB0cmVhdCBpdCBhcyBnbG9iYWwuIEl0IGtlcHQgaXRzXG4vLyAgbmFtZSAoYGlzLWxvY2tlZC1maXhlZGApIHRocm91Z2ggdGhhdCBjaGFuZ2Ugc28gbm90aGluZyBoYWQgdG8gYmUgcmVuYW1lZFxuLy8gIGFjcm9zcyB0aHJlZSBmaWxlcy5cbi8vXG4vLyAgYS1sb2NrLmpzIGFsc28gc3RvcmVzIGFuZCByZXN0b3JlcyB0aGUgc2Nyb2xsIG9mZnNldCDigJQgYSBmaXhlZCBib2R5IGxvc2VzXG4vLyAgaXQsIHNvIHdpdGhvdXQgdGhhdCB0aGUgcGFnZSB3b3VsZCBzbmFwIHRvIHRoZSB0b3Agb24gb3BlbiBhbmQgc3RheSB0aGVyZSBvblxuLy8gIGNsb3NlLlxuLy9cbi8vICBwb3NpdGlvbjpmaXhlZCByYXRoZXIgdGhhbiBwbGFpbiBvdmVyZmxvdzpoaWRkZW4gYmVjYXVzZSBpT1MgU2FmYXJpIGlnbm9yZXNcbi8vICBvdmVyZmxvdzpoaWRkZW4gb24gYm9keSBhbmQgaGFwcGlseSBzY3JvbGxzIHRoZSBwYWdlIGJlaGluZCB0aGUgb3ZlcmxheS5cbi8vICBUaGF0IGlzIGV4YWN0bHkgd2h5IHRoZSBkcmF3ZXIncyBvbGQgYC5pcy1sb2NrZWRgIHJ1bGUgd2FzIGRlbGV0ZWQgZnJvbVxuLy8gIF9uYXYuc2NzcyByYXRoZXIgdGhhbiBrZXB0IGFsb25nc2lkZSB0aGlzIG9uZS5cbmJvZHkuaXMtbG9ja2VkLWZpeGVkIHtcblx0cG9zaXRpb246IGZpeGVkO1xuXHRsZWZ0OiAwO1xuXHRyaWdodDogMDtcblx0d2lkdGg6IDEwMCU7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdG92ZXJzY3JvbGwtYmVoYXZpb3I6IG5vbmU7XG59XG4iLCJAdXNlIFwidG9rZW5zXCIgYXMgKjtcclxuXHJcbi8vIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxyXG4vLyAgSU5URVJJT1IgU0lOR0xFIFRFTVBMQVRFUyDigJQgZXBpc29kZSwgYmxvZyBhcnRpY2xlLCBhbmQgdGhlIHByZXYvbmV4dCB0aGV5IHNoYXJlXHJcbi8vXHJcbi8vICBFdmVyeSBvbmUgZm9sbG93cyB0aGUgc2FtZSBzaGFwZTogc2hlbGwtLW5hcnJvdywgYSBoZWFkIGJsb2NrLCBvbmUgcGllY2Ugb2ZcclxuLy8gIG1lZGlhLCB0aGUgY29weSwgdGhlbiB0aGUgd2F5IG91dC4gS2VwdCBpbiBPTkUgcGFydGlhbCBiZWNhdXNlIHRoZSB0aHJlZVxyXG4vLyAgYmxvY2tzIGJlbG93IHJlZmVyZW5jZSBlYWNoIG90aGVyJ3Mgc3BhY2luZzsgc3BsaXR0aW5nIHRoZW0gcGVyIHRlbXBsYXRlIGlzXHJcbi8vICB3aGF0IGxldCB0aGUgaG9tZXBhZ2Ugc2VjdGlvbnMgZHJpZnQgYXBhcnQgYmVmb3JlLlxyXG4vL1xyXG4vLyAg4pqgIFRoZWlyIHRvcCBvZmZzZXQgY29tZXMgZnJvbSBgI21haW4gPiAuc2VjdGlvbjpmaXJzdC1jaGlsZGAgaW4gX2Jhc2Uuc2NzcyxcclxuLy8gIE5PVCBmcm9tIGFueXRoaW5nIGhlcmUuIFRoZSBuYXYgaXMgcG9zaXRpb246Zml4ZWQgYW5kIHRha2VzIG5vIHNwYWNlIGluIHRoZVxyXG4vLyAgZmxvdzsgdGhhdCBydWxlIGlzIHRoZSBvbmx5IHRoaW5nIHN0YW5kaW5nIGJldHdlZW4gdGhlc2UgdGl0bGVzIGFuZCB0aGUgYmFyLlxyXG4vLyAgRG9uJ3QgYWRkIGEgc2Vjb25kIG9mZnNldCBoZXJlIOKAlCBpdCB3b3VsZCBkb3VibGUgdXAuXHJcbi8vIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxyXG5cclxuLmVwLXNpbmdsZSB7XHJcblxyXG5cdCZfX2hlYWQge1xyXG5cdFx0Ly8gV2FzIGNsYW1wKDJyZW0sIDR2dywgMy41cmVtKTsgSm9lLCAyMDI2LTA5LTE1OiBcImNsb3NlIHRoZSBnYXBcclxuXHRcdC8vIGJldHdlZW4gdGhlIHRpdGxlIGFuZCB0aGUgdmlkZW9cIi4gVGhlIGRhdGUgdW5kZXIgdGhlIHRpdGxlIG5vd1xyXG5cdFx0Ly8gY2FycmllcyBpdHMgb3duIHNwKDMpIGFib3ZlLCBzbyB0aGUgaGVhZCBuZWVkcyBsZXNzIGJlbG93LlxyXG5cdFx0bWFyZ2luLWJvdHRvbTogY2xhbXAoMS4yNXJlbSwgMi41dncsIDJyZW0pO1xyXG5cclxuXHRcdC8vIFRoZSBwb3N0IGV5ZWJyb3cgaXMgdGhlIGxpc3Rpbmcgcm93cycgYmx1ZSBsYWJlbCDigJQgXCJFUC4gOFwiLCBcIjMgbWluXHJcblx0XHQvLyByZWFkXCIsIFwiMToyN1wiIOKAlCBub3QgdGhlIG1vbm8gc3BhY2VkIC5leWVicm93IHRoZSBzZWN0aW9uIGhlYWRzIHVzZVxyXG5cdFx0Ly8gKEpvZSwgMjAyNi0wOS0xNTogXCJzYW1lIGJvbGQgYmx1ZSBmb250L3N0eWxpbmcgYXMgdGhlIGFyY2hpdmVcclxuXHRcdC8vIGdyaWRzL2xpc3RzXCIpLiBNb2RpZmllciwgbm90IGEgZ2xvYmFsIGNoYW5nZTogXCJUSEUgU0hPV1wiIC8gXCJRVUlDS1xyXG5cdFx0Ly8gVEFLRVNcIiBzZWN0aW9uIGV5ZWJyb3dzIHN0YXkgbW9uby5cclxuXHRcdC5leWVicm93LS1wb3N0IHtcclxuXHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdEBpbmNsdWRlIGxhYmVsO1xyXG5cdFx0XHRmb250LXNpemU6IGNsYW1wKDFyZW0sIDEuM3Z3LCAxLjNyZW0pOyAgIC8vIGEgc3RlcCB1cCBmcm9tIHRoZSBsaXN0IOKAlCB0aGlzIGlzIGFuIGgxJ3MgbGFiZWxcclxuXHRcdFx0bGV0dGVyLXNwYWNpbmc6IC0uMDFlbTtcclxuXHRcdFx0Y29sb3I6IHZhcigtLWFjY2VudC1pbmspO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Ly8gc2luZ2xlLWJsb2cucGhwIHJldXNlcyB0aGUgaGVhZCBhcyAuZXAtc2luZ2xlX19oZWFkLmFydGljbGVfX2hlYWQg4oCUXHJcblx0Ly8gdGhlIGJ5bGluZSBibG9jayBmb2xsb3dzIGl0LCBzbyB0aGUgaGVhZCdzIG93biBib3R0b20gbWFyZ2luIGlzIGN1dFxyXG5cdC8vIGJhY2sgdG8ga2VlcCB0aGUgZGF0ZSBhbmQgdGhlIGF1dGhvciBmcm9tIGRyaWZ0aW5nIGFwYXJ0LlxyXG5cdCZfX2hlYWQuYXJ0aWNsZV9faGVhZCB7IG1hcmdpbi1ib3R0b206IHNwKDUpOyB9XHJcblxyXG5cdC8vIERhdGUgVU5ERVIgdGhlIHRpdGxlLCBpbiB0aGUgbGlzdGluZyByb3dzJyBwaG9uZS1kYXRlIHZvaWNlIOKAlCBncmV5IGJvZHlcclxuXHQvLyB0ZXh0IChKb2UsIDIwMjYtMDktMTU6IFwibW92ZSB0aGUgZGF0ZSBiZWxvdyB0aGUgdGl0bGUsIGJvdGggRXBpc29kZXNcclxuXHQvLyBhbmQgQmxvZ1wiKS4gSXQgdXNlZCB0byBsZWFkIHRoZSBleWVicm93IChcIkVQLiA4IC8gSkFOIDMwLCAyMDI1XCIpLlxyXG5cdCZfX2RhdGUge1xyXG5cdFx0bWFyZ2luOiBzcCgzKSAwIDA7XHJcblx0XHRmb250LWZhbWlseTogdmFyKC0tZm9udC1ib2R5KTtcclxuXHRcdGZvbnQtc2l6ZTogMS4wNXJlbTtcclxuXHRcdGZvbnQtd2VpZ2h0OiA0MDA7XHJcblx0XHRjb2xvcjogdmFyKC0taW5rLTIpO1xyXG5cdH1cclxuXHJcblx0Jl9fdGl0bGUge1xyXG5cdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XHJcblx0XHQvLyBTbWFsbGVyIHRoYW4gLnNlY3Rpb25fX3RpdGxlJ3MgY2VpbGluZyBvbiBwdXJwb3NlOiBhbiBlcGlzb2RlIHRpdGxlIGlzXHJcblx0XHQvLyBhIHNlbnRlbmNlLCBub3QgYSBvbmUtd29yZCBzZWN0aW9uIGxhYmVsLCBhbmQgdGhlIHNhbWUgdXBwZXIgYm91bmRcclxuXHRcdC8vIHByb2R1Y2VkIGZvdXItbGluZSBoZWFkaW5ncyBvbiBhIGxhcHRvcC5cclxuXHRcdGZvbnQtc2l6ZTogZmx1aWQoMzAsIDYyKTtcclxuXHRcdGZvbnQtd2VpZ2h0OiA5MDA7XHJcblx0XHRsaW5lLWhlaWdodDogY2FsYygxLjAyICogdmFyKC0tZGlzcGxheS1sZWFkaW5nKSk7XHJcblx0XHRsZXR0ZXItc3BhY2luZzogLS4wM2VtO1xyXG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRcdG1hcmdpbi10b3A6IHNwKDMpO1xyXG5cdFx0Ly8gTG9uZyB1bmJyb2tlbiB3b3JkcyBpbiBhIHBhc3RlZCBZb3VUdWJlIHRpdGxlIHdvdWxkIG90aGVyd2lzZSBwdXNoIHRoZVxyXG5cdFx0Ly8gc2hlbGwgd2lkZXIgdGhhbiB0aGUgdmlld3BvcnQuXHJcblx0XHRvdmVyZmxvdy13cmFwOiBhbnl3aGVyZTtcclxuXHR9XHJcblxyXG5cdC8vIOKUgOKUgCBWaWRlbyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcclxuXHQvLyBhc3BlY3QtcmF0aW8gb24gdGhlIFdSQVBQRVIgd2l0aCB0aGUgaWZyYW1lIGFic29sdXRlbHkgZmlsbGluZyBpdCwgcmF0aGVyXHJcblx0Ly8gdGhhbiBhc3BlY3QtcmF0aW8gb24gdGhlIGlmcmFtZSBpdHNlbGYuIFNvbWUgZW1iZWQgcHJvdmlkZXJzIHdyaXRlIGlubGluZVxyXG5cdC8vIHdpZHRoL2hlaWdodCBhdHRyaWJ1dGVzIG9udG8gdGhlIGVsZW1lbnQgYWZ0ZXIgbG9hZCwgd2hpY2ggd2lucyBvdmVyIGFcclxuXHQvLyBiYXJlIGBhc3BlY3QtcmF0aW9gIG9uIHRoYXQgc2FtZSBlbGVtZW50IGFuZCBjb2xsYXBzZXMgdGhlIGZyYW1lLiBUaGVcclxuXHQvLyB3cmFwcGVyIG93bnMgdGhlIGJveDsgdGhlIGlmcmFtZSBvbmx5IGhhcyB0byBmaWxsIGl0LlxyXG5cdCZfX3BsYXllcixcclxuXHQmX19hcnQge1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0YXNwZWN0LXJhdGlvOiAxNiAvIDk7XHJcblx0XHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbGcpO1xyXG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHRcdGJhY2tncm91bmQ6IHZhcigtLXdhc2gpO1xyXG5cdFx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tbGluZSk7XHJcblx0XHRtYXJnaW4tYm90dG9tOiBjbGFtcCgxLjVyZW0sIDN2dywgMi41cmVtKTtcclxuXHJcblx0XHRpZnJhbWUsXHJcblx0XHRpbWcge1xyXG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdGluc2V0OiAwO1xyXG5cdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdFx0XHRib3JkZXI6IDA7XHJcblx0XHR9XHJcblxyXG5cdFx0aW1nIHsgb2JqZWN0LWZpdDogY292ZXI7IH1cclxuXHR9XHJcblxyXG5cdC8vIOKUgOKUgCBQb2RjYXN0IHBsYXllciDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcclxuXHQvLyDimqAgTk8gYXNwZWN0LXJhdGlvIGFuZCBOTyBmaXhlZCBoZWlnaHQuIFRoaXMgaXMgYSBUSElSRC1QQVJUWSBpZnJhbWUgcGFzdGVkXHJcblx0Ly8gYnkgdGhlIGNsaWVudCwgYW5kIGl0IGFycml2ZXMgY2FycnlpbmcgaXRzIG93biBpbmxpbmUgaGVpZ2h0ICgxNTBweCBvbiB0aGVcclxuXHQvLyBvbmVzIG9uIHRoaXMgc2l0ZSkuIEZvcmNpbmcgYSByYXRpbyBoZXJlIGZvdWdodCB0aGF0IGlubGluZSBzdHlsZSBhbmRcclxuXHQvLyBjbGlwcGVkIHRoZSBwbGF5IGJ1dHRvbjsgbGV0dGluZyB0aGUgZW1iZWQgc2l6ZSBpdHNlbGYgaXMgY29ycmVjdCwgYW5kIHRoZVxyXG5cdC8vIG1pbi1oZWlnaHQgb25seSBndWFyZHMgYWdhaW5zdCBhIHBhc3RlIHRoYXQgc3BlY2lmaWVzIG5vbmUgYXQgYWxsLlxyXG5cdCZfX2F1ZGlvIHtcclxuXHRcdG1hcmdpbi1ib3R0b206IGNsYW1wKDEuNXJlbSwgM3Z3LCAyLjVyZW0pO1xyXG5cclxuXHRcdGlmcmFtZSB7XHJcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0bWluLWhlaWdodDogMTUwcHg7XHJcblx0XHRcdGJvcmRlcjogMDtcclxuXHRcdFx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdCZfX2JhY2sge1xyXG5cdFx0bWFyZ2luLXRvcDogY2xhbXAoMnJlbSwgNXZ3LCA0cmVtKTtcclxuXHR9XHJcbn1cclxuXHJcblxyXG4vLyDilIDilIAgR2VuZXJpYyBzaW5nbGUgbWVkaWEg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXHJcbi8vICBVc2VkIGJ5IHNpbmdsZS5waHAsIHRoZSBGQUxMQkFDSyB0ZW1wbGF0ZSAoZ3Vlc3RzLCBzaG9ydHMsIGFueXRoaW5nIGFkZGVkXHJcbi8vICBsYXRlcikuIFNhbWUgd3JhcHBlci1vd25zLXRoZS1ib3ggYXBwcm9hY2ggYXMgLmVwLXNpbmdsZV9fcGxheWVyOiB0aGUgcmF0aW9cclxuLy8gIGxpdmVzIG9uIHRoZSBjb250YWluZXIgYW5kIHRoZSBpZnJhbWUvaW1nIGp1c3QgZmlsbHMgaXQsIGJlY2F1c2Ugc29tZSBlbWJlZFxyXG4vLyAgcHJvdmlkZXJzIHdyaXRlIGlubGluZSB3aWR0aC9oZWlnaHQgb250byB0aGUgZWxlbWVudCBhZnRlciBsb2FkIGFuZCB0aGF0XHJcbi8vICBiZWF0cyBhIGJhcmUgYXNwZWN0LXJhdGlvIG9uIHRoZSBzYW1lIGVsZW1lbnQuXHJcbi5zaW5nbGUtbWVkaWEge1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRhc3BlY3QtcmF0aW86IDE2IC8gOTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbGcpO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblx0YmFja2dyb3VuZDogdmFyKC0td2FzaCk7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tbGluZSk7XHJcblx0bWFyZ2luLWJsb2NrOiBjbGFtcCgxLjVyZW0sIDN2dywgMi41cmVtKTtcclxuXHJcblx0aWZyYW1lLFxyXG5cdGltZyB7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRpbnNldDogMDtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdFx0Ym9yZGVyOiAwO1xyXG5cdH1cclxuXHJcblx0aW1nIHsgb2JqZWN0LWZpdDogY292ZXI7IH1cclxuXHJcblx0Ly8gU2hvcnRzIGFyZSBwaG9uZS1zaGFwZWQuIOKaoCBUaGUgbWF4LXdpZHRoIGlzIHdoYXQgc3RvcHMgYSA5LzE2IGZyYW1lIGZyb21cclxuXHQvLyBydW5uaW5nIHRhbGxlciB0aGFuIHRoZSBzY3JlZW4gb24gZGVza3RvcCDigJQgd2l0aCBvbmx5IGEgcmF0aW8gc2V0LCBhXHJcblx0Ly8gOTAwcHgtd2lkZSBzaGVsbCB3b3VsZCBtYWtlIGEgMTYwMHB4LXRhbGwgdmlkZW8uIENhcHBpbmcgdGhlIFdJRFRIIGlzIHRoZVxyXG5cdC8vIG9ubHkgbGV2ZXIsIGJlY2F1c2UgdGhlIGhlaWdodCBpcyBkZXJpdmVkIGZyb20gaXQuXHJcblx0Ji0tcG9ydHJhaXQge1xyXG5cdFx0YXNwZWN0LXJhdGlvOiA5IC8gMTY7XHJcblx0XHRtYXgtd2lkdGg6IG1pbigxMDAlLCAzODBweCk7XHJcblx0XHRtYXJnaW4taW5saW5lOiBhdXRvO1xyXG5cdH1cclxuXHJcbn1cclxuXHJcblxyXG4vLyDilIDilIAgQmxvZyBhcnRpY2xlIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxyXG4vLyAgRGVsaWJlcmF0ZWx5IE5PVCByZXVzaW5nIC5lcC1zaW5nbGUuIFRoZXkgbG9vayBzaW1pbGFyIHRvZGF5LCBidXQgYW4gZXBpc29kZVxyXG4vLyAgaXMgYnVpbHQgYXJvdW5kIGEgcGxheWVyIGFuZCBhbiBhcnRpY2xlIGFyb3VuZCBhIGJ5bGluZSwgYW5kIHRoZSB0d28gd2lsbFxyXG4vLyAgZGl2ZXJnZSDigJQgc2hhcmluZyB0aGUgYmxvY2sgbm93IHdvdWxkIG1lYW4gdW5waWNraW5nIGl0IGxhdGVyLiBXaGF0IElTIHNoYXJlZFxyXG4vLyAgaXMgLnBuYXYgYmVsb3csIGJlY2F1c2UgcHJldi9uZXh0IGlzIHRoZSBzYW1lIGNvbXBvbmVudCBpbiBib3RoLlxyXG4uYXJ0aWNsZSB7XHJcblxyXG5cdCZfX21lZGlhIHtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdGFzcGVjdC1yYXRpbzogMTYgLyA5O1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWxnKTtcclxuXHRcdG92ZXJmbG93OiBoaWRkZW47XHJcblx0XHRiYWNrZ3JvdW5kOiB2YXIoLS13YXNoKTtcclxuXHRcdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpbmUpO1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogc3AoMyk7XHJcblxyXG5cdFx0aW1nIHtcclxuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRpbnNldDogMDtcclxuXHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdGhlaWdodDogMTAwJTtcclxuXHRcdFx0b2JqZWN0LWZpdDogY292ZXI7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQvLyBDcmVkaXQgYW5kIGNhcHRpb24gc2l0IFVOREVSIHRoZSBpbWFnZSwgbm90IG92ZXIgaXQuIE92ZXJsYWlkLCB0aGV5IGxhbmRlZFxyXG5cdC8vIG9uIHdoYXRldmVyIHRoZSBwaG90byBoYXBwZW5lZCB0byBjb250YWluIGFuZCB3ZXJlIHVucmVhZGFibGUgb24gYWJvdXQgaGFsZlxyXG5cdC8vIHRoZSBsaWJyYXJ5LlxyXG5cdCZfX2NyZWRpdCB7XHJcblx0XHRmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vKTtcclxuXHRcdGZvbnQtc2l6ZTogLjY2cmVtO1xyXG5cdFx0bGV0dGVyLXNwYWNpbmc6IC4xMmVtO1xyXG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRcdGNvbG9yOiB2YXIoLS1pbmstMyk7XHJcblx0XHRtYXJnaW4tYm90dG9tOiBjbGFtcCgxLjVyZW0sIDN2dywgMi41cmVtKTtcclxuXHR9XHJcblxyXG5cdCZfX3RpdGxlIHtcclxuXHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xyXG5cdFx0Zm9udC1zaXplOiBmbHVpZCgyOCwgNTQpO1xyXG5cdFx0Zm9udC13ZWlnaHQ6IDkwMDtcclxuXHRcdGxpbmUtaGVpZ2h0OiBjYWxjKDEuMDQgKiB2YXIoLS1kaXNwbGF5LWxlYWRpbmcpKTtcclxuXHRcdGxldHRlci1zcGFjaW5nOiAtLjAyZW07XHJcblx0XHRtYXJnaW4tdG9wOiBzcCgzKTtcclxuXHRcdG92ZXJmbG93LXdyYXA6IGFueXdoZXJlO1xyXG5cdH1cclxuXHJcblx0Ly8g4pSA4pSAIEJ5bGluZSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcclxuXHQvLyBHcmlkIHJhdGhlciB0aGFuIGZsZXggc28gdGhlIHBob3RvIGNhbiBzcGFuIGJvdGggdGV4dCByb3dzIGFuZCBzdGF5XHJcblx0Ly8gdmVydGljYWxseSBjZW50cmVkIGFnYWluc3QgdGhlbSB3aXRob3V0IGEgbWFnaWMgbGluZS1oZWlnaHQuXHJcblx0Jl9fYnkge1xyXG5cdFx0ZGlzcGxheTogZ3JpZDtcclxuXHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byAxZnI7XHJcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0Z2FwOiBzcCgzKTtcclxuXHRcdG1hcmdpbi1ibG9jazogY2xhbXAoMS41cmVtLCAzdncsIDIuNXJlbSk7XHJcblx0XHRwYWRkaW5nLWJvdHRvbTogY2xhbXAoMS41cmVtLCAzdncsIDIuNXJlbSk7XHJcblx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tbGluZSk7XHJcblx0fVxyXG5cclxuXHQmX19hdmF0YXIge1xyXG5cdFx0d2lkdGg6IDQ2cHg7XHJcblx0XHRoZWlnaHQ6IDQ2cHg7XHJcblx0XHRib3JkZXItcmFkaXVzOiA5OTlweDtcclxuXHRcdG9iamVjdC1maXQ6IGNvdmVyO1xyXG5cdFx0Ly8gVGhlIHBob3RvcyBhcmUgdXNlciB1cGxvYWRzIG9mIHdpbGRseSBtaXhlZCBxdWFsaXR5OyBhIHJpbmcga2VlcHMgYVxyXG5cdFx0Ly8gcGFsZSBvbmUgZnJvbSBkaXNzb2x2aW5nIGludG8gdGhlIHBhZ2UuXHJcblx0XHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1saW5lLTIpO1xyXG5cdH1cclxuXHJcblx0Jl9fYXV0aG9yIHtcclxuXHRcdGRpc3BsYXk6IGdyaWQ7XHJcblx0XHRnYXA6IDJweDtcclxuXHRcdC8vIG1pbi13aWR0aDowIHNvIGEgbG9uZyBoYW5kbGUgdHJ1bmNhdGVzIGluc3RlYWQgb2Ygd2lkZW5pbmcgdGhlIGdyaWQuXHJcblx0XHRtaW4td2lkdGg6IDA7XHJcblx0fVxyXG5cclxuXHQmX19uYW1lIHtcclxuXHRcdGZvbnQtd2VpZ2h0OiA3MDA7XHJcblx0XHRmb250LXNpemU6IC45NXJlbTtcclxuXHRcdGNvbG9yOiB2YXIoLS1pbmspO1xyXG5cdH1cclxuXHJcblx0Jl9faGFuZGxlIHtcclxuXHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm8pO1xyXG5cdFx0Zm9udC1zaXplOiAuN3JlbTtcclxuXHRcdGxldHRlci1zcGFjaW5nOiAuMDhlbTtcclxuXHRcdGNvbG9yOiB2YXIoLS1pbmstMyk7XHJcblx0XHR0cmFuc2l0aW9uOiBjb2xvciB2YXIoLS1kdXItZmFzdCkgJGVhc2U7XHJcblxyXG5cdFx0QGluY2x1ZGUgY2FuLWhvdmVyIHtcclxuXHRcdFx0Jjpob3ZlciB7IGNvbG9yOiB2YXIoLS1hY2NlbnQtaW5rKTsgfVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Jl9fYmFjayB7XHJcblx0XHRtYXJnaW4tdG9wOiBjbGFtcCgycmVtLCA1dncsIDRyZW0pO1xyXG5cdH1cclxufVxyXG5cclxuXHJcbi8vIOKUgOKUgCBQcmV2aW91cyAvIG5leHQg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXHJcbi8vICBTSEFSRUQgYnkgc2luZ2xlLXBvc3QucGhwIGFuZCBzaW5nbGUtYmxvZy5waHAg4oCUIGhlbmNlIC5wbmF2IGFuZCBub3QgLmVwLW5hdixcclxuLy8gIHdoaWNoIGlzIHdoYXQgaXQgd2FzIGNhbGxlZCB3aGlsZSBvbmx5IGVwaXNvZGVzIHVzZWQgaXQuXHJcbi8vXHJcbi8vICBUd28gc2xvdHMsIEFMV0FZUyBib3RoIHJlbmRlcmVkIOKAlCB0aGUgdGVtcGxhdGUgZW1pdHMgYW4gZW1wdHkgPHNwYW4+IGZvciBhXHJcbi8vICBtaXNzaW5nIG5laWdoYm91ci4gV2l0aCBhIHNpbmdsZSBsaW5rIGFuZCBubyBwbGFjZWhvbGRlciwgYHNwYWNlLWJldHdlZW5gXHJcbi8vICB3b3VsZCBwYXJrIHRoZSBvbmx5IGxpbmsgb24gdGhlIGxlZnQgd2hldGhlciBpdCB3YXMgdGhlIHByZXZpb3VzIG9yIHRoZSBuZXh0XHJcbi8vICBvbmUsIHdoaWNoIHJlYWRzIGFzIHRoZSB3cm9uZyBkaXJlY3Rpb24gYXQgdGhlIGVuZHMgb2YgdGhlIGFyY2hpdmUuXHJcbi5wbmF2IHtcclxuXHRkaXNwbGF5OiBncmlkO1xyXG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcclxuXHRnYXA6IHNwKDMpO1xyXG5cdC8vIEVxdWFsIGFpciBlaXRoZXIgc2lkZSBvZiB0aGUgcnVsZSAoSm9lLCAyMDI2LTA5LTE1OiBcInRoZSBnYXAgdW5kZXJcclxuXHQvLyB0aGUgYm9keSB0ZXh0IHNob3VsZCBtYXRjaCB0aGUgZ2FwIGZyb20gdGhlIHNlcGFyYXRvciB0byB0aGVcclxuXHQvLyBwcmV2L25leHRcIikuIG1hcmdpbi10b3Agd2FzIGNsYW1wKDIuNXJlbSwgNXZ3LCA0cmVtKSDigJQgYSBzdGVwIG1vcmVcclxuXHQvLyBhYm92ZSB0aGFuIGJlbG93LCB3aGljaCByZWFkIGFzIHRoZSBydWxlIHNpdHRpbmcgbG93LlxyXG5cdG1hcmdpbi10b3A6IGNsYW1wKDJyZW0sIDR2dywgM3JlbSk7XHJcblx0cGFkZGluZy10b3A6IGNsYW1wKDJyZW0sIDR2dywgM3JlbSk7XHJcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWxpbmUpO1xyXG5cclxuXHQvLyBBZnRlciB0aGUgdGFncyBibG9jayB0aGUgc3BhY2UgYmVsb3cgdGhlIHBpbGxzIG11c3QgZXF1YWwgdGhlIHNwYWNlXHJcblx0Ly8gYWJvdmUgdGhlbSDigJQgc3AoNSksIHRoZSB0YWdzJyBvd24gcGFkZGluZy10b3Ag4oCUIG9yIHRoZSBwaWxscyBzaXQgaGlnaFxyXG5cdC8vIGluIHRoZWlyIGJhbmQgKEpvZSwgMjAyNi0wOS0xNTogXCJjbG9zZSB0aGUgYm90dG9tIGdhcCBvbiB0aGUgSW4gVGhpc1xyXG5cdC8vIEVwaXNvZGUsIGl0IGxvb2tzIHVuZXZlblwiKS4gVGhlIGNsYW1wIGFib3ZlIGlzIGZvciB3aGVuIC5wbmF2IGZvbGxvd3NcclxuXHQvLyBwcm9zZSBkaXJlY3RseS5cclxuXHQudGFncyArICYgeyBtYXJnaW4tdG9wOiBzcCg1KTsgfVxyXG5cclxuXHQmX19zbG90IHtcclxuXHRcdGRpc3BsYXk6IGdyaWQ7XHJcblx0XHQvLyBUaHVtYiBpbiBpdHMgb3duIGNvbHVtbiwgdGhlIHR3byB0ZXh0IGxpbmVzIHN0YWNrZWQgYmVzaWRlIGl0O1xyXG5cdFx0Ly8gUHJldmlvdXMgcHV0cyBpdCBsZWZ0LCBOZXh0IHB1dHMgaXQgcmlnaHQgKHNlZSAmX190aHVtYikuXHJcblx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gbWlubWF4KDAsIDFmcik7XHJcblx0XHRncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG8gYXV0bztcclxuXHRcdGNvbHVtbi1nYXA6IHNwKDQpO1xyXG5cdFx0cm93LWdhcDogc3AoMSk7XHJcblx0XHRhbGlnbi1jb250ZW50OiBjZW50ZXI7XHJcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0cGFkZGluZzogc3AoNCk7XHJcblx0XHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1saW5lKTtcclxuXHRcdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XHJcblx0XHR0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgdmFyKC0tZHVyLWZhc3QpICRlYXNlLCB0cmFuc2Zvcm0gdmFyKC0tZHVyLWZhc3QpICRlYXNlO1xyXG5cclxuXHRcdC8vIFRoZSBlbXB0eSBwbGFjZWhvbGRlciBtdXN0IG5vdCBsb29rIGxpa2UgYSBjYXJkLlxyXG5cdFx0Jjpub3QoW2hyZWZdKSB7XHJcblx0XHRcdGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcblx0XHRcdHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG5cdFx0fVxyXG5cclxuXHRcdCYtLW5leHQge1xyXG5cdFx0XHR0ZXh0LWFsaWduOiByaWdodDtcclxuXHRcdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMCwgMWZyKSBhdXRvO1xyXG5cdFx0XHQucG5hdl9fdGh1bWIgeyBncmlkLWNvbHVtbjogMjsgfVxyXG5cdFx0XHQucG5hdl9fZGlyLCAucG5hdl9fdGl0bGUgeyBncmlkLWNvbHVtbjogMTsgfVxyXG5cdFx0fVxyXG5cclxuXHRcdEBpbmNsdWRlIGNhbi1ob3ZlciB7XHJcblx0XHRcdCZbaHJlZl06aG92ZXIge1xyXG5cdFx0XHRcdGJvcmRlci1jb2xvcjogdmFyKC0tYWNjZW50KTtcclxuXHRcdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTNweCk7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC8vIFRoZSBwb3N0J3MgYXJ0d29yayDigJQgc2FtZSBjcm9wIGFzIGV2ZXJ5IGxpc3RpbmcgdGh1bWIgKDE2LzksIGNvdmVyKS5cclxuXHQvLyBBIHJvdy1zcGFuIHNvIHRoZSBkaXIgKyB0aXRsZSBzdGFjayBjZW50cmUgYWdhaW5zdCBpdC5cclxuXHQmX190aHVtYiB7XHJcblx0XHRncmlkLXJvdzogMSAvIHNwYW4gMjtcclxuXHRcdHdpZHRoOiAxMTJweDtcclxuXHRcdGFzcGVjdC1yYXRpbzogMTYgLyA5O1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogOHB4O1xyXG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHRcdGJhY2tncm91bmQ6IHZhcigtLWJnLTMpO1xyXG5cdFx0aW1nIHsgZGlzcGxheTogYmxvY2s7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCU7IG9iamVjdC1maXQ6IGNvdmVyOyB9XHJcblxyXG5cdFx0QGluY2x1ZGUgYXQoc20pIHsgd2lkdGg6IDg4cHg7IH1cclxuXHR9XHJcblxyXG5cdCZfX2RpciB7XHJcblx0XHRmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vKTtcclxuXHRcdGZvbnQtc2l6ZTogLjY2cmVtO1xyXG5cdFx0Zm9udC13ZWlnaHQ6IDUwMDtcclxuXHRcdGxldHRlci1zcGFjaW5nOiAuMThlbTtcclxuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0XHRjb2xvcjogdmFyKC0taW5rLTMpO1xyXG5cdH1cclxuXHJcblx0Jl9fdGl0bGUge1xyXG5cdFx0Zm9udC1zaXplOiAuOTVyZW07XHJcblx0XHRjb2xvcjogdmFyKC0taW5rKTtcclxuXHRcdC8vIFR3byBsaW5lcyBtYXhpbXVtLiBFcGlzb2RlIHRpdGxlcyBoZXJlIHJ1biBsb25nIGVub3VnaCB0aGF0IGFuXHJcblx0XHQvLyB1bmNsYW1wZWQgb25lIG1ha2VzIHRoZSB0d28gY2FyZHMgd2lsZGx5IGRpZmZlcmVudCBoZWlnaHRzLlxyXG5cdFx0ZGlzcGxheTogLXdlYmtpdC1ib3g7XHJcblx0XHQtd2Via2l0LWxpbmUtY2xhbXA6IDI7XHJcblx0XHQtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xyXG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHR9XHJcblxyXG5cdC8vIE9uZSBjb2x1bW4gb24gYSBwaG9uZTogc2lkZS1ieS1zaWRlIGxlYXZlcyB+MTggY2hhcmFjdGVycyBwZXIgY2FyZCwgd2hpY2hcclxuXHQvLyBjbGFtcHMgZXZlcnkgdGl0bGUgdG8gYW4gdW5yZWFkYWJsZSBzdHViLlxyXG5cdEBpbmNsdWRlIGF0KHNtKSB7XHJcblx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcclxuXHJcblx0XHQmX19zbG90LS1uZXh0IHtcclxuXHRcdFx0dGV4dC1hbGlnbjogbGVmdDtcclxuXHRcdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIG1pbm1heCgwLCAxZnIpO1xyXG5cdFx0XHQucG5hdl9fdGh1bWIgeyBncmlkLWNvbHVtbjogMTsgfVxyXG5cdFx0XHQucG5hdl9fZGlyLCAucG5hdl9fdGl0bGUgeyBncmlkLWNvbHVtbjogMjsgfVxyXG5cdFx0fVxyXG5cdFx0Ly8gV2l0aCBvbmUgY29sdW1uIHRoZSBlbXB0eSBwbGFjZWhvbGRlciB3b3VsZCBvY2N1cHkgYSB3aG9sZSByb3cgb2ZcclxuXHRcdC8vIGJsYW5rIHNwYWNlLCBzbyBpdCBnb2VzIGVudGlyZWx5LlxyXG5cdFx0Jl9fc2xvdDpub3QoW2hyZWZdKSB7IGRpc3BsYXk6IG5vbmU7IH1cclxuXHR9XHJcbn1cclxuXHJcblxyXG4vLyDilIDilIAgQXBwZWFyYW5jZXMg4oCUIG9uIGEgZ3Vlc3QncyBwYWdlIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxyXG4vLyAgXCJFdmVyeSBlcGlzb2RlLCBhcnRpY2xlIGFuZCBzaG9ydCB0aGlzIGd1ZXN0IGlzIHRhZ2dlZCBpblwiIOKAlCBzaW5nbGUucGhwLFxyXG4vLyAgZGF0YSBmcm9tIHNpZ19ndWVzdF9hcHBlYXJhbmNlcygpLiBTYW1lIC5jYXJkIGdyaWQgYXMgdGhlIGFyY2hpdmVzIChpbmRleC5waHApLCBzbyBub3RoaW5nXHJcbi8vICByb3ctbGV2ZWwgbGl2ZXMgaGVyZTsgdGhpcyBpcyBvbmx5IHRoZSBibG9jaydzIHNwYWNpbmcgYW5kIGEgaGVhZGluZyBvbmVcclxuLy8gIHN0ZXAgZG93biBmcm9tIHRoZSBzZWN0aW9uIHNjYWxlLCBiZWNhdXNlIGl0IHNpdHMgVU5ERVIgYSBwYWdlIGgxIGFuZCB0aGVcclxuLy8gIGZ1bGwgZmx1aWQoMzgsIDkyKSB3b3VsZCBvdXQtc2hvdXQgdGhlIGd1ZXN0J3Mgb3duIG5hbWUuXHJcbi5hcHBlYXJhbmNlcyB7XHJcblx0bWFyZ2luLXRvcDogY2xhbXAoMi41cmVtLCA1dncsIDQuNXJlbSk7XHJcblx0cGFkZGluZy10b3A6IGNsYW1wKDJyZW0sIDR2dywgM3JlbSk7XHJcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWxpbmUpO1xyXG5cclxuXHQuc2VjdGlvbl9faGVhZCB7IG1hcmdpbi1ib3R0b206IGNsYW1wKDEuMjVyZW0sIDIuNXZ3LCAycmVtKTsgfVxyXG59XHJcblxyXG4uc2VjdGlvbl9fdGl0bGUtLXNtIHtcclxuXHRmb250LXNpemU6IGZsdWlkKDI2LCA0OCk7XHJcbn1cclxuXHJcblxyXG4vLyDilIDilIAgR3Vlc3QgcHJvZmlsZSBoZWFkZXIg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXHJcbi8vICBzaW5nbGUucGhwLCBndWVzdHMgb25seS4gUG9ydHJhaXQgYmVzaWRlIHRoZSBuYW1lLCBub3QgYWJvdmUgaXQg4oCUIGEgZ3Vlc3RcclxuLy8gIHBhZ2UgaXMgYSBwcm9maWxlIGNhcmQgdGhhdCBoYXBwZW5zIHRvIGhhdmUgYSBiaW8gdW5kZXIgaXQsIGFuZCBhIDUwMHB4XHJcbi8vICBzcXVhcmUgYXMgYSBoZXJvIHJlYWQgYXMgYSBtdWdzaG90IChKb2UsIDIwMjYtMDktMTMpLiBUaGUgY2lyY2xlIGlzIHRoZVxyXG4vLyAgc2FtZSB0cmVhdG1lbnQgYXMgLmd1ZXN0X19waG90byBvbiB0aGUgYXJjaGl2ZSwgb25lIHN0ZXAgbGFyZ2VyLCBzbyB0aGVcclxuLy8gIGNhcmQgYW5kIHRoZSBwYWdlIGFyZSByZWNvZ25pc2FibHkgdGhlIHNhbWUgcGVyc29uLlxyXG4uZ3Vlc3QtaGVybyB7XHJcblx0ZGlzcGxheTogZ3JpZDtcclxuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gbWlubWF4KDAsIDFmcik7XHJcblx0Z2FwOiBjbGFtcCgxLjI1cmVtLCAzdncsIDIuNXJlbSk7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRtYXJnaW4tYm90dG9tOiBjbGFtcCgxLjVyZW0sIDN2dywgMi41cmVtKTtcclxuXHJcblx0QGluY2x1ZGUgYXQoc20pIHtcclxuXHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xyXG5cdFx0anVzdGlmeS1pdGVtczogc3RhcnQ7XHJcblx0fVxyXG5cclxuXHQmX19waG90byB7XHJcblx0XHR3aWR0aDogY2xhbXAoMTIwcHgsIDE0dncsIDE2MHB4KTtcclxuXHRcdGFzcGVjdC1yYXRpbzogMTtcclxuXHRcdGJvcmRlci1yYWRpdXM6IDk5OXB4O1xyXG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHRcdGJhY2tncm91bmQ6IHZhcigtLWJnLTMpO1xyXG5cdFx0Ym94LXNoYWRvdzogMCAwIDAgNHB4IHZhcigtLWFjY2VudCk7XHJcblxyXG5cdFx0aW1nIHsgd2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTsgb2JqZWN0LWZpdDogY292ZXI7IH1cclxuXHR9XHJcblxyXG5cdCZfX2JvZHkge1xyXG5cdFx0ZGlzcGxheTogZ3JpZDtcclxuXHRcdGdhcDogc3AoMik7XHJcblx0XHRtaW4td2lkdGg6IDA7XHJcblx0fVxyXG5cclxuXHQvLyBPbmUgc3RlcCBiZWxvdyAuZXAtc2luZ2xlX190aXRsZTogdGhlIG5hbWUgaXMgYSBoZWFkaW5nLCBub3QgYSBoZWFkbGluZS5cclxuXHQvLyDimqAgLmRpc3BsYXkncyBwcm9wZXJ0aWVzIGlubGluZSwgbm90IEBleHRlbmQg4oCUIC5kaXNwbGF5IGxpdmVzIGluXHJcblx0Ly8gX2Jhc2Uuc2NzcywgYW5kIHdpdGggYEB1c2VgIGEgcGFydGlhbCBjYW4ndCBleHRlbmQgYSBzZWxlY3RvciBmcm9tXHJcblx0Ly8gYW5vdGhlciBtb2R1bGUgKHRoZSBidWlsZCBmYWlsczogXCJ0YXJnZXQgc2VsZWN0b3Igd2FzIG5vdCBmb3VuZFwiKS5cclxuXHQmX19uYW1lIHtcclxuXHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xyXG5cdFx0Zm9udC13ZWlnaHQ6IDkwMDtcclxuXHRcdGZvbnQtc2l6ZTogZmx1aWQoMzIsIDY0KTtcclxuXHRcdGxpbmUtaGVpZ2h0OiBjYWxjKC45NSAqIHZhcigtLWRpc3BsYXktbGVhZGluZykpO1xyXG5cdFx0bGV0dGVyLXNwYWNpbmc6IC0uMDM1ZW07XHJcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdFx0bWFyZ2luOiAwO1xyXG5cdH1cclxuXHJcblx0Jl9fcm9sZSB7XHJcblx0XHRtYXJnaW46IDA7XHJcblx0XHRmb250LXNpemU6IDEuMDVyZW07XHJcblx0XHRjb2xvcjogdmFyKC0taW5rLTIpO1xyXG5cdH1cclxuXHJcblx0Jl9fbGlua3Mge1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGZsZXgtd3JhcDogd3JhcDtcclxuXHRcdGdhcDogc3AoMik7XHJcblx0XHRtYXJnaW46IHNwKDIpIDAgMDtcclxuXHRcdHBhZGRpbmc6IDA7XHJcblx0XHRsaXN0LXN0eWxlOiBub25lO1xyXG5cdH1cclxufVxyXG5cclxuLy8gQSBndWVzdCBsaW5rOiBpY29uICsgcGxhdGZvcm0gbmFtZSBpbiB0aGUgc2FtZSBwaWxsIGFzIC5jbG91ZF9fdGVybSwgc29cclxuLy8gdGhlIHBhZ2UncyB0YWcgcm93IGFuZCBpdHMgbGluayByb3cgcmVhZCBhcyBvbmUgZmFtaWx5LlxyXG4uZ2xpbmsge1xyXG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0Z2FwOiAuNDVlbTtcclxuXHRwYWRkaW5nOiAuNDVlbSAuODVlbTtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1saW5lKTtcclxuXHRib3JkZXItcmFkaXVzOiA5OTlweDtcclxuXHRmb250LXNpemU6IC44MnJlbTtcclxuXHRmb250LXdlaWdodDogNjAwO1xyXG5cdGxpbmUtaGVpZ2h0OiAxLjE7XHJcblx0Y29sb3I6IHZhcigtLWluay0yKTtcclxuXHR0cmFuc2l0aW9uOiBjb2xvciB2YXIoLS1kdXItZmFzdCkgJGVhc2UsIGJvcmRlci1jb2xvciB2YXIoLS1kdXItZmFzdCkgJGVhc2U7XHJcblxyXG5cdEBpbmNsdWRlIGNhbi1ob3ZlciB7XHJcblx0XHQmOmhvdmVyIHsgY29sb3I6IHZhcigtLWFjY2VudC1pbmspOyBib3JkZXItY29sb3I6IHZhcigtLWFjY2VudCk7IH1cclxuXHR9XHJcblxyXG5cdCZfX2ljbyB7XHJcblx0XHR3aWR0aDogMS4wNWVtO1xyXG5cdFx0aGVpZ2h0OiAxLjA1ZW07XHJcblx0XHRmbGV4OiBub25lO1xyXG5cdH1cclxufVxyXG5cclxuXHJcbi8vIOKUgOKUgCBTaWduYXR1cmUgKEFib3V0IHBhZ2UpIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxyXG4vLyAgQSBzaWduLW9mZiBsaW5lIGluIHRoZSBib2R5IGZhY2UsIHRoZW4gdGhlIG5hbWUgaW4gV2luZFNvbmcg4oCUIEpvZSdzIHBpY2tcclxuLy8gICgyMDI2LTA5LTEzKSwgYSBHb29nbGUgZmFjZSBkZXNwaXRlIHRoZSBkYWZvbnQgb3JpZ2luYWwgb2YgdGhlIHNhbWUgbmFtZS5cclxuLy8gIENhdmVhdCwgTXIgRGFmb2UgYW5kIEFsbGlzb24gY2FtZSBiZWZvcmUgaXQuIExvYWRlZCBvbmx5IG9uIHRoaXMgcGFnZS5cclxuLy8gIFRpbHRlZCBhIGhhaXIgYW5kIGlua2VkIGluIHRoZSBhY2NlbnQgc28gaXQgcmVhZHMgYXMgYSBzaWduYXR1cmUuXHJcbi5zaWduYXR1cmUge1xyXG5cdG1hcmdpbi10b3A6IGNsYW1wKDEuNXJlbSwgM3Z3LCAyLjVyZW0pO1xyXG5cclxuXHQmX19zaWdub2ZmIHtcclxuXHRcdG1hcmdpbjogMCAwIC4xZW07XHJcblx0XHRmb250LXNpemU6IGNsYW1wKDEuMDVyZW0sIC40dncgKyAuOTZyZW0sIDEuMTZyZW0pOyAgIC8vID0gLnByb3NlXHJcblx0XHRjb2xvcjogdmFyKC0taW5rLTIpO1xyXG5cdH1cclxuXHJcblx0Jl9fbmFtZSB7XHJcblx0XHRtYXJnaW46IDA7XHJcblx0XHRmb250LWZhbWlseTogXCJXaW5kU29uZ1wiLCBcIkJydXNoIFNjcmlwdCBNVFwiLCBcIlNlZ29lIFNjcmlwdFwiLCBjdXJzaXZlO1xyXG5cdFx0Zm9udC13ZWlnaHQ6IDUwMDtcclxuXHRcdGZvbnQtc2l6ZTogY2xhbXAoMi40cmVtLCA0LjR2dywgMy41cmVtKTsgICAvLyAyMCUgdW5kZXIgdGhlIGZpcnN0IGN1dCAoSm9lLCAyMDI2LTA5LTEzKVxyXG5cdFx0bGluZS1oZWlnaHQ6IDEuMTtcclxuXHRcdGxldHRlci1zcGFjaW5nOiAuMDFlbTtcclxuXHRcdGNvbG9yOiB2YXIoLS1pbmspOyAgIC8vIGluaywgbm90IGFjY2VudCDigJQgXCJub3QgYmx1ZVwiOyBhIHNpZ25hdHVyZSBpcyB3cml0dGVuLCBub3QgbGlua2VkXHJcblx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgtMS41ZGVnKTsgICAvLyB3YXMgLTM7IFwic2xpZ2h0bHkgbGVzcyBhbmdsZWRcIiAoSm9lLCAyMDI2LTA5LTEzKVxyXG5cdFx0dHJhbnNmb3JtLW9yaWdpbjogbGVmdCBjZW50ZXI7XHJcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRwYWRkaW5nOiAuMWVtIC4xNWVtIC4xNWVtIDA7XHJcblx0fVxyXG59XHJcbiIsIkB1c2UgXCJ0b2tlbnNcIiBhcyAqO1xyXG5cclxuLy8g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXHJcbi8vICBTRUFSQ0ggRk9STSwgUkVTVUxUUyBBTkQgNDA0XHJcbi8vXHJcbi8vICDimqAgU2hhcmVkIGJ5IHNlYXJjaC5waHAgQU5EIDQwNC5waHAg4oCUIHRoZSB0d28gcGFnZXMgYXJlIHRoZSBzYW1lIHByb2JsZW1cclxuLy8gIChcInlvdSBkaWRuJ3QgZmluZCB3aGF0IHlvdSB3YW50ZWRcIikgd2VhcmluZyBkaWZmZXJlbnQgaGF0cywgc28gdGhleSB1c2UgdGhlXHJcbi8vICBzYW1lIGZvcm0gYW5kIHRoZSBzYW1lIGFjdGlvbiByb3cgcmF0aGVyIHRoYW4gZWFjaCBncm93aW5nIHRoZWlyIG93bi5cclxuLy9cclxuLy8gIOKblCBOT1QgcmVsYXRlZCB0byAubnNlYXJjaCBpbiBfbmF2LnNjc3MuIFRoYXQgaXMgYSBwaWxsIHRoYXQgZXhwYW5kcyBvdXQgb2YgYVxyXG4vLyAgNDJweCBzbG90IGFuZCBjYXJyaWVzIGl0cyBvd24gYW5pbWF0aW9uOyB0aGlzIGlzIGEgcGxhaW4gZmllbGQgb24gYSBwYWdlIHRoYXRcclxuLy8gIGlzIGFib3V0IHNlYXJjaGluZy4gS2VlcGluZyB0aGVtIHNlcGFyYXRlIGlzIGRlbGliZXJhdGUg4oCUIG1lcmdpbmcgdGhlbSB3b3VsZFxyXG4vLyAgbWVhbiBldmVyeSB0d2VhayB0byB0aGUgbmF2J3MgZXhwYW5kL2NvbGxhcHNlIGhhZCB0byBiZSByZS12ZXJpZmllZCBoZXJlLlxyXG4vLyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcclxuXHJcbi5zZWFyY2hiYXIge1xyXG5cdG1hcmdpbi1ib3R0b206IGNsYW1wKDJyZW0sIDR2dywgMy41cmVtKTtcclxufVxyXG5cclxuLnNmb3JtIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGdhcDogc3AoMik7XHJcblx0Ly8gV2lkZSBlbm91Z2ggZm9yIGEgcmVhbCBzZW50ZW5jZSwgc2hvcnQgZW5vdWdoIG5vdCB0byBsb29rIGxpa2UgYSBwYWdlIG9mXHJcblx0Ly8gaW5wdXQgb24gYSBkZXNrdG9wLiBNYXRjaGVzIC5zdWJzY3JpYmUncyBpbnRlbnQsIG5vdCBpdHMgZXhhY3Qgd2lkdGgg4oCUXHJcblx0Ly8gdGhpcyBvbmUgY2FycmllcyBhIGxvbmdlciBwbGFjZWhvbGRlci5cclxuXHRtYXgtd2lkdGg6IDU2MHB4O1xyXG5cclxuXHRpbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcclxuXHRcdGZsZXg6IDE7XHJcblx0XHQvLyDimqAgbWluLXdpZHRoOjAgSVMgTE9BRC1CRUFSSU5HLiBBIGZsZXggaXRlbSdzIGRlZmF1bHQgbWluLXdpZHRoIGlzXHJcblx0XHQvLyBhdXRvLCBhbmQgYW4gPGlucHV0PidzIGludHJpbnNpYyB3aWR0aCBjb21lcyBmcm9tIGl0cyBgc2l6ZWBcclxuXHRcdC8vIGF0dHJpYnV0ZSAofjIwIGNoYXJzKSwgTk9UIGl0cyBjb250ZW50IOKAlCBzbyB3aXRob3V0IHRoaXMgdGhlIGZpZWxkXHJcblx0XHQvLyByZWZ1c2VzIHRvIHNocmluayBhbmQgcHVzaGVzIHRoZSBidXR0b24gb2ZmIGEgbmFycm93IHNjcmVlbi5cclxuXHRcdG1pbi13aWR0aDogMDtcclxuXHRcdGhlaWdodDogNTJweDtcclxuXHRcdHBhZGRpbmctaW5saW5lOiBzcCg0KTtcclxuXHRcdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpbmUtMik7XHJcblx0XHRib3JkZXItcmFkaXVzOiA5OTlweDtcclxuXHRcdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG5cdFx0Y29sb3I6IHZhcigtLWluayk7XHJcblxyXG5cdFx0Ly8g4pqgIDE2cHggTUlOSU1VTSBPTiBUT1VDSCwgYW5kIHRoaXMgaXMgbm90IGEgc3R5bGUgY2hvaWNlLiBpT1MgU2FmYXJpXHJcblx0XHQvLyB6b29tcyB0aGUgdmlld3BvcnQgd2hlbiBmb2N1c2luZyBhbnkgZmllbGQgdW5kZXIgMTZweCwgYW5kIGl0IGRvZXMgbm90XHJcblx0XHQvLyB6b29tIGJhY2sgb3V0IOKAlCB0aGUgdmlzaXRvciBpcyBsZWZ0IG9uIGEgbWFnbmlmaWVkLCBzaWRld2F5cy1zY3JvbGxpbmdcclxuXHRcdC8vIHBhZ2UuIFNhbWUgcnVsZSBhcyB0aGUgZHJhd2VyJ3MgZmllbGQuXHJcblx0XHRmb250LXNpemU6IG1heCgxNnB4LCAxcmVtKTtcclxuXHJcblx0XHQmOjpwbGFjZWhvbGRlciB7IGNvbG9yOiB2YXIoLS1pbmstMyk7IH1cclxuXHRcdCY6Zm9jdXMtdmlzaWJsZSB7IGJvcmRlci1jb2xvcjogdmFyKC0tYWNjZW50KTsgb3V0bGluZTogbm9uZTsgfVxyXG5cdH1cclxuXHJcblx0LmJ0biB7IGZsZXg6IG5vbmU7IH1cclxuXHJcblx0Ly8gVGhlIGJ1dHRvbidzIGxhYmVsIGlzIHJlZHVuZGFudCBvbmNlIHRoZSBmaWVsZCBmaWxscyB0aGUgcm93LCBhbmQgYXQgdGhpc1xyXG5cdC8vIHdpZHRoIHRoZSB0d28gdG9nZXRoZXIgd3JhcCBhd2t3YXJkbHkuIFN0YWNrIGluc3RlYWQgb2Ygc2hyaW5raW5nLlxyXG5cdEBpbmNsdWRlIGF0KHNtKSB7XHJcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdFx0bWF4LXdpZHRoOiBub25lO1xyXG5cclxuXHRcdC5idG4geyB3aWR0aDogMTAwJTsgfVxyXG5cdH1cclxufVxyXG5cclxuLy8g4pSA4pSAIDQwNCDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcclxuLy8gIEdvbmUgKDIwMjYtMDktMTcpLiBUaGUgNDA0IElTIHRoZSBoZXJvIG5vdyDigJQgLmhlcm8uaGVyby0tNDA0IGluIF9oZXJvLnNjc3MuXHJcbi8vICBBIHN0YW5kYWxvbmUgLmU0MDQgdHJlYXRtZW50IGxpdmVkIGhlcmUgYmVmb3JlOyBKb2Ugd2FudGVkIHRoZSByZWFsIGhlcm9cclxuLy8gIChcImp1c3QgdXNlIHRoZSBoZXJvIG9ubHkgd2l0aCBzb21lIG1lc3NhZ2luZyB3aGVyZSB0aGUgQ1RBcyBhcmVcIikuXHJcblxyXG4vLyDilIDilIAgTm8gcmVzdWx0cyAvIDQwNCBhY3Rpb25zIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxyXG4ubm9yZXN1bHRzIHtcclxuXHRtYXgtd2lkdGg6IDYwY2g7XHJcblxyXG5cdC5sZWRlIHsgbWFyZ2luLWJvdHRvbTogc3AoNSk7IH1cclxufVxyXG5cclxuLm5vcmVzdWx0c19fYWN0aW9ucyB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LXdyYXA6IHdyYXA7XHJcblx0Z2FwOiBzcCgzKTtcclxuXHRtYXJnaW4tdG9wOiBjbGFtcCgxLjVyZW0sIDN2dywgMi41cmVtKTtcclxufVxyXG4iLCJAdXNlIFwidG9rZW5zXCIgYXMgKjtcclxuXHJcbi8vIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxyXG4vLyAgU09DSUFMXHJcbi8vXHJcbi8vICBPbmUgcmFpbCBvZiBYIHBvc3RzLCBwbHVzIHRoZSB0d28gZm9sbG93IGJ1dHRvbnMgaW4gdGhlIHNlY3Rpb24gaGVhZC5cclxuLy9cclxuLy8gIEFuIEluc3RhZ3JhbSB3YWxsIHVzZWQgdG8gc2l0IHVuZGVyIHRoZSByYWlsOyBpdCB3YXMgc2NyYXBwZWQgb24gMjAyNi0wOC0wN1xyXG4vLyAgYW5kIGl0cyBzdHlsZXMgYXJlIHNoZWx2ZWQgYXQgdGhlIGJvdHRvbSBvZiB0aGlzIGZpbGUgcmF0aGVyIHRoYW4gZGVsZXRlZC5cclxuLy8g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXHJcblxyXG4vLyDilIDilIAgQWNjb3VudCBsaW5rcyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcclxuLy8gIFRoZSB0d28gcGxhdGZvcm0gYnV0dG9ucyBpbiB0aGUgc2VjdGlvbiBoZWFkLiBTYW1lIGNpcmN1bGFyIGxhbmd1YWdlIGFzXHJcbi8vICAucmFpbC1uYXYncyBhcnJvd3MsIHNvIHRoZSByaWdodC1oYW5kIHNpZGUgb2YgZXZlcnkgc2VjdGlvbiBoZWFkIHJlYWRzIHRoZVxyXG4vLyAgc2FtZSB3YXkgd2hldGhlciBpdCBob2xkcyBhIGJ1dHRvbiwgYXJyb3dzLCBvciB0aGVzZS5cclxuLnNsaW5rIHtcclxuXHRkaXNwbGF5OiBncmlkO1xyXG5cdHBsYWNlLWl0ZW1zOiBjZW50ZXI7XHJcblx0Ly8gTUFUQ0hFRCBUTyAuYnRuLCBub3QgdG8gLnJhaWwtbmF2J3MgYXJyb3dzIOKAlCBKb2UncyBjYWxsLCAyMDI2LTA4LTA3LiBJdFxyXG5cdC8vIHNpdHMgaW4gYSBzZWN0aW9uIGhlYWQgYWxvbmdzaWRlIHRoZSBcIlZpZXcgYWxsXCIgcGlsbHMgZWxzZXdoZXJlIG9uIHRoZVxyXG5cdC8vIHBhZ2UsIGFuZCBhIGNpcmNsZSBhIGZldyBwaXhlbHMgc2hvcnRlciB0aGFuIHRob3NlIHJlYWQgYXMgYSBtaXN0YWtlLlxyXG5cdC8vIEJvdGggdmFsdWVzIHRyYWNrIC5idG46IDU0cHgsIGRyb3BwaW5nIHRvIDQ0cHggYXQgbWQgd2hlcmUgX2Jhc2Uuc2Nzc1xyXG5cdC8vIHRyaW1zIHRoZSBidXR0b24gZm9yIG5hcnJvdyBzY3JlZW5zLiBJZiAuYnRuJ3MgaGVpZ2h0IGNoYW5nZXMsIGNoYW5nZVxyXG5cdC8vIHRoZXNlIHdpdGggaXQuXHJcblx0d2lkdGg6IDU0cHg7XHJcblx0aGVpZ2h0OiA1NHB4O1xyXG5cdGZsZXg6IG5vbmU7XHJcblx0Ly8gLS1saW5lLTIsIHRoZSBzYW1lIGJvcmRlciAuYnRuIHVzZXMg4oCUIE5PVCAtLWxpbmUuIEl0IHNpdHMgaW4gYSBzZWN0aW9uIGhlYWRcclxuXHQvLyBiZXNpZGUgdGhlIFwiVmlldyBhbGxcIiBwaWxscyBhbmQgaGFzIHRvIHJlYWQgYXMgdGhlIHNhbWUgY29udHJvbC5cclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1saW5lLTIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IDk5OXB4O1xyXG5cdGNvbG9yOiB2YXIoLS1pbmspO1xyXG5cdHRyYW5zaXRpb246IGJvcmRlci1jb2xvciB2YXIoLS1kdXItZmFzdCkgJGVhc2UsIGNvbG9yIHZhcigtLWR1ci1mYXN0KSAkZWFzZTtcclxuXHJcblx0Ly8gU2NhbGVkIHdpdGggdGhlIGNpcmNsZSBhYm92ZSwgc28gdGhlIGdseXBoIGtlZXBzIHRoZSBzYW1lIHByb3BvcnRpb25cclxuXHQvLyBpbnNpZGUgaXQgcmF0aGVyIHRoYW4gc2l0dGluZyBsb3N0IGluIGEgYmlnZ2VyIHJpbmcuXHJcblx0c3ZnIHsgd2lkdGg6IDIxcHg7IGhlaWdodDogMjFweDsgfVxyXG5cclxuXHQvLyBHYXRlZCDigJQgb24gdG91Y2ggOmhvdmVyIGxhdGNoZXMgYWZ0ZXIgYSB0YXAgYW5kIHRoZSBidXR0b24gc3RheXMgbGl0LlxyXG5cdEBpbmNsdWRlIGNhbi1ob3ZlciB7XHJcblx0XHQmOmhvdmVyIHtcclxuXHRcdFx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1hY2NlbnQpO1xyXG5cdFx0XHRjb2xvcjogdmFyKC0tYWNjZW50LWluayk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQmOmFjdGl2ZSB7XHJcblx0XHRib3JkZXItY29sb3I6IHZhcigtLWFjY2VudCk7XHJcblx0XHRjb2xvcjogdmFyKC0tYWNjZW50LWluayk7XHJcblx0fVxyXG5cclxuXHQvLyBNYXRjaGVzIHRoZSB0cmltbWVkIC5idG4gc2l6ZSB0aGUgc2VjdGlvbiBoZWFkIHVzZXMgYXQgdGhpcyB3aWR0aC5cclxuXHRAaW5jbHVkZSBhdChtZCkge1xyXG5cdFx0d2lkdGg6IDQ0cHg7XHJcblx0XHRoZWlnaHQ6IDQ0cHg7XHJcblxyXG5cdFx0c3ZnIHsgd2lkdGg6IDE4cHg7IGhlaWdodDogMThweDsgfVxyXG5cdH1cclxufVxyXG5cclxuLy8g4pSA4pSAIFggcmFpbCDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcclxuLy8gIEEgcm93IG9mIFRFWFQgY2FyZHMsIG5vdCBwaWN0dXJlcy4gVGhpcyBpcyB0aGUgc3BsaXQgdGhhdCBtYWtlcyB0aGUgc2VjdGlvblxyXG4vLyAgd29yazogYSB3YWxsIG9mIGltYWdlcyBmb3JjZWQgZXZlcnkgWCBwb3N0IHRvIGNhcnJ5IGFydHdvcmssIGFuZCBtb3N0IHBvc3RzXHJcbi8vICBvbiBYIGFyZSB3b3Jkcy4gVHdvIHBsYXRmb3JtcywgdHdvIHNoYXBlcy5cclxuLy9cclxuLy8gIFJldXNlcyB0aGUgW2RhdGEtcmFpbF0gbWVjaGFuaWNzIGZyb20gdGhlIHNob3J0cyByYWlsIOKAlCBzY3JvbGwtc25hcCwgZHJhZyxcclxuLy8gIGtleWJvYXJkIOKAlCBzbyB0aGVyZSBpcyBubyBzZWNvbmQgaW1wbGVtZW50YXRpb24gb2YgdGhlIHNhbWUgYmVoYXZpb3VyLlxyXG4udHdlZXRzIHtcclxuXHQmX19yYWlsIHtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRnYXA6IGNsYW1wKC43NXJlbSwgMS40dncsIDEuMjVyZW0pO1xyXG5cdFx0b3ZlcmZsb3cteDogYXV0bztcclxuXHRcdC8vIFNhbWUgcmFpbCBiZWhhdmlvdXIgYXMgLnNob3J0c19fcmFpbCwgb24gSm9lJ3MgY2FsbCDigJQgbWFuZGF0b3J5IHNuYXAsXHJcblx0XHQvLyBhbmQgLnhlbWJlZCBjYXJyaWVzIHNjcm9sbC1zbmFwLXN0b3A6IGFsd2F5cyBzbyBhIGZsaWNrIG1vdmVzIGV4YWN0bHlcclxuXHRcdC8vIG9uZSBjYXJkLlxyXG5cdFx0Ly9cclxuXHRcdC8vIOKaoCBNYW5kYXRvcnkgd2FzIGJhY2tlZCBvdXQgb2Ygb25jZSwgYmVjYXVzZSB0aGUgcmFpbCBrZXB0IHRocm93aW5nXHJcblx0XHQvLyBpdHNlbGYgYmFjayB0byB0aGUgZmlyc3QgY2FyZDogYSBtYW5kYXRvcnkgY29udGFpbmVyIG11c3QgYWx3YXlzIGJlXHJcblx0XHQvLyBzbmFwcGVkLCBzbyBldmVyeSB0aW1lIGFuIFggaWZyYW1lIGZpbmlzaGVkIG1lYXN1cmluZyBhbmQgUkVTSVpFRCwgdGhlXHJcblx0XHQvLyBicm93c2VyIHJlLXNuYXBwZWQuIEl0IGlzIHNhZmUgbm93IGZvciBvbmUgc3BlY2lmaWMgcmVhc29uIOKAlCB0aGUgc2xvdFxyXG5cdFx0Ly8gaXMgYSBmaXhlZCB3aWR0aCAoNzV2dyAvIGEgY2xhbXApIGFuZCB0aGUgc2tlbGV0b24gb3ZlcmxheXMgaXQsIHNvIGFcclxuXHRcdC8vIHNsb3QncyBXSURUSCBuZXZlciBjaGFuZ2VzIGJldHdlZW4gZmlyc3QgcGFpbnQgYW5kIHRoZSByZW5kZXJlZCB0d2VldC5cclxuXHRcdC8vIE9ubHkgaXRzIGhlaWdodCBkb2VzLCB3aGljaCBkb2Vzbid0IG1vdmUgYSBob3Jpem9udGFsIHNuYXAgcG9pbnQuXHJcblx0XHQvLyBJZiBjYXJkcyBldmVyIHN0YXJ0IGp1bXBpbmcgbGVmdCBhZ2FpbiwgdGhhdCBpbnZhcmlhbnQgaXMgd2hhdCBicm9rZS5cclxuXHRcdHNjcm9sbC1zbmFwLXR5cGU6IHggbWFuZGF0b3J5O1xyXG5cclxuXHRcdC8vIEVhY2ggc2xvdCBpcyBpdHMgb3duIGhlaWdodCwgbm90IHRoZSB0YWxsZXN0IG9uZSBpbiB0aGUgcm93LiBGbGV4XHJcblx0XHQvLyBkZWZhdWx0cyB0byBgc3RyZXRjaGAsIHdoaWNoIG1hZGUgZXZlcnkgLnhlbWJlZCBhcyB0YWxsIGFzIHRoZSBsb25nZXN0XHJcblx0XHQvLyB0d2VldCDigJQgYW5kIHNpbmNlIHRoZSBhY3RpdmUgcmluZyBpcyBpbnNldDowIG9uIHRoZSBzbG90LCB0aGUgcmluZyByYW5cclxuXHRcdC8vIHdlbGwgcGFzdCB0aGUgYm90dG9tIG9mIHRoZSBjYXJkIGl0IHdhcyBtYXJraW5nLlxyXG5cdFx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcblxyXG5cdFx0Ly8g4pSA4pSAIFRoZSBndXR0ZXIgbGl2ZXMgSU5TSURFIHRoaXMgc2Nyb2xsIGNvbnRhaW5lciDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcclxuXHRcdC8vICBEZWxpYmVyYXRlLCBhbmQgaXQgaXMgd2hhdCBsZXRzIGNhcmRzIHJ1biB0byB0aGUgc2NyZWVuIGVkZ2U6IHRoZVxyXG5cdFx0Ly8gIHNjcm9sbHBvcnQgc3BhbnMgdGhlIGZ1bGwgdmlld3BvcnQsIHNvIHRoZSBwYWRkaW5nIG9ubHkgc2V0cyB3aGVyZVxyXG5cdFx0Ly8gIHRoZSByb3cgU1RBUlRTIOKAlCBzY3JvbGxlZCwgY2FyZHMgcGFzcyB1bmRlciBpdCBhbmQgcmVhY2ggeD0wLlxyXG5cdFx0Ly8gIFB1dHRpbmcgaXQgb24gdGhlIHdyYXBwZXIgaW5zdGVhZCBtYWtlcyBpdCBhIHN0cmlwIG5vdGhpbmcgY2FuIGNyb3NzLFxyXG5cdFx0Ly8gIHdoaWNoIEpvZSBleHBsaWNpdGx5IGRvZXMgbm90IHdhbnQuXHJcblx0XHQvL1xyXG5cdFx0Ly8gIHNjcm9sbC1wYWRkaW5nIGlzIFJFUVVJUkVEIGFsb25nc2lkZSBpdDogc25hcHBpbmcgYWxpZ25zIGEgY2FyZCdzXHJcblx0XHQvLyAgc3RhcnQgZWRnZSB0byB0aGUgU0NST0xMUE9SVCdzIGVkZ2UsIHdoaWNoIGlnbm9yZXMgcGFkZGluZy1pbmxpbmUsIHNvXHJcblx0XHQvLyAgd2l0aG91dCBpdCBldmVyeSBzbmFwIHlhbmtzIHRoZSBjYXJkIG9mZiB0aGUgZ3V0dGVyIGFuZCBvbnRvIHRoZVxyXG5cdFx0Ly8gIGJsZWVkLiBJdCBoYXMgdG8gdHJhY2sgcGFkZGluZy1pbmxpbmUgZXhhY3RseS5cclxuXHRcdG1hcmdpbi1pbmxpbmU6IGNhbGModmFyKC0tZ3V0dGVyKSAqIC0xKTtcclxuXHRcdHBhZGRpbmctaW5saW5lOiB2YXIoLS1ndXR0ZXIpO1xyXG5cdFx0c2Nyb2xsLXBhZGRpbmctaW5saW5lOiB2YXIoLS1ndXR0ZXIpO1xyXG5cdFx0cGFkZGluZy1ibG9jazogc3AoMik7XHJcblx0XHRzY3JvbGxiYXItd2lkdGg6IG5vbmU7XHJcblx0XHQtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XHJcblxyXG5cdFx0Jjo6LXdlYmtpdC1zY3JvbGxiYXIgeyBkaXNwbGF5OiBub25lOyB9XHJcblxyXG5cdFx0PiAqIHsgc2Nyb2xsLXNuYXAtYWxpZ246IHN0YXJ0OyB9XHJcblx0fVxyXG59XHJcblxyXG4vLyDilIDilIAgWCdzIG93biBlbWJlZCDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcclxuLy8gIEEgZml4ZWQtd2lkdGggc2xvdCBpbiB0aGUgcmFpbC4gWCdzIHdpZGdldCBzaXplcyBpdHNlbGYgdG8gaXRzIGNvbnRhaW5lciB1cFxyXG4vLyAgdG8gNTUwcHgsIHNvIHRoZSBzbG90IGRlY2lkZXMgdGhlIHdpZHRoIGFuZCB0aGUgaWZyYW1lIGZvbGxvd3MuXHJcbi8vXHJcbi8vICBIZWlnaHQgaXMgZGVsaWJlcmF0ZWx5IE5PVCBjb25zdHJhaW5lZDogdGhlIGVtYmVkIGlzIGEgY3Jvc3Mtb3JpZ2luIGlmcmFtZVxyXG4vLyAgdGhhdCBtZWFzdXJlcyBpdHMgb3duIGNvbnRlbnQsIGFuZCBmb3JjaW5nIGEgaGVpZ2h0IG9uIGl0IGVpdGhlciBjbGlwcyB0aGVcclxuLy8gIHBvc3Qgb3IgbGVhdmVzIGRlYWQgc3BhY2UgdW5kZXIgaXQuXHJcbi54ZW1iZWQge1xyXG5cdC8vIFgncyBvd24gY2FyZCByYWRpdXMuIE9ORSB2YXJpYWJsZSBiZWNhdXNlIEZPVVIgdGhpbmdzIGhhdmUgdG8gYWdyZWUgb24gaXQg4oCUXHJcblx0Ly8gdGhlIGlmcmFtZSBjbGlwLCB0aGUgc2tlbGV0b24gdGhhdCBkaXNzb2x2ZXMgaW50byBpdCwgdGhlIGFjdGl2ZSByaW5nIGRyYXduXHJcblx0Ly8gYXJvdW5kIGl0LCBhbmQgWCdzIGNhcmQgaXRzZWxmLiBBbnkgdHdvIGRpc2FncmVlaW5nIHNob3dzIHVwIGFzIGEgY29ybmVyXHJcblx0Ly8gY2hhbmdpbmcgc2hhcGUgbWlkLWZhZGUsIG9yIGFzIHdoaXRlIGluIHRoZSBjb3JuZXJzLlxyXG5cdC8vXHJcblx0Ly8gMTJweCwgTUVBU1VSRUQgcmF0aGVyIHRoYW4gZ3Vlc3NlZDogc2NhbGVkIG9mZiB0aGUgM3B4IGFjdGl2ZSByaW5nIGluIGFcclxuXHQvLyB6b29tZWQgc2NyZWVuc2hvdCBvZiB0aGUgcmVuZGVyZWQgY2FyZCwgWCdzIGNvcm5lciBjb21lcyBvdXQgYXQgfjExcHguIDE1cHhcclxuXHQvLyBhbmQgMTZweCB3ZXJlIGJvdGggdG9vIExPT1NFIOKAlCBhIGNsaXAgd2lkZXIgdGhhbiB0aGVpciBjb3JuZXIgbGVhdmVzIHRoZVxyXG5cdC8vIGlmcmFtZSdzIG93biBjYW52YXMgdmlzaWJsZSBpbiB0aGUgZ2FwIGJldHdlZW4gdGhlIHR3byBjdXJ2ZXMsIHdoaWNoIGlzIHRoZVxyXG5cdC8vIHdoaXRlIG5pY2tzLiBFcnJpbmcgdGlnaHQgaXMgdGhlIHNhZmUgZGlyZWN0aW9uOiBhIGhhaXIgb2YgdGhlaXIgYm9yZGVyIGlzXHJcblx0Ly8gaW52aXNpYmxlLCB3aGl0ZSB0cmlhbmdsZXMgYXJlIG5vdC5cclxuXHQtLXgtcmFkaXVzOiAxMnB4O1xyXG5cclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0ZmxleDogbm9uZTtcclxuXHR3aWR0aDogY2xhbXAoMjgwcHgsIDMydncsIDM4MHB4KTtcclxuXHQvLyBJdHMgb3duIHN0YWNraW5nIGNvbnRleHQsIHNvIHRoZSBpZnJhbWUgY2FuJ3QgcGFpbnQgb3ZlciB0aGUgcmFpbCdzXHJcblx0Ly8gbmVpZ2hib3VycyB3aGlsZSBpdCBzZXR0bGVzIG9uIGEgaGVpZ2h0LlxyXG5cdGlzb2xhdGlvbjogaXNvbGF0ZTtcclxuXHJcblx0Ly8gVGhyZWUgcXVhcnRlcnMgb2YgdGhlIHNjcmVlbiBvbiBtb2JpbGUsIHNvIHRoZSBuZXh0IGNhcmQgYWx3YXlzIHBlZWtzIGluXHJcblx0Ly8gYW5kIHRoZSByb3cgcmVhZHMgYXMgYSByb3cgcmF0aGVyIHRoYW4gYSBzaW5nbGUgc3RhY2tlZCBjYXJkLiBUaGUgc2tlbGV0b25cclxuXHQvLyBpcyBhYnNvbHV0ZWx5IHBvc2l0aW9uZWQgYWdhaW5zdCB0aGlzIGJveCwgc28gdGhpcyBvbmUgbnVtYmVyIHNpemVzIHRoZVxyXG5cdC8vIHNrZWxldG9uLCB0aGUgYmxvY2txdW90ZSBhbmQgdGhlIHJlbmRlcmVkIGlmcmFtZSBhbGlrZSDigJQgdGhleSBjYW5ub3RcclxuXHQvLyBkaXNhZ3JlZSBhYm91dCB3aWR0aCwgd2hpY2ggaXMgd2hhdCBsZXRzIHRoZSBmYWRlIGxhbmQgZXhhY3RseSBvbiB0aGUgY2FyZC5cclxuXHQvL1xyXG5cdC8vIHNjcm9sbC1zbmFwLXN0b3AgbWF0Y2hlcyB0aGUgc2hvcnRzIHJhaWw6IHNuYXAgcG9pbnRzIGFsb25lIGRvbid0IHN0b3AgYVxyXG5cdC8vIGZhc3QgZmxpY2ssIHRoZSBicm93c2VyIGlzIGZyZWUgdG8gZmx5IHBhc3Qgc2V2ZXJhbC4gYGFsd2F5c2AgZm9yY2VzIGl0IHRvXHJcblx0Ly8gc3RvcCBhdCBlYWNoIG9uZS5cclxuXHRAaW5jbHVkZSBhdChtZCkge1xyXG5cdFx0d2lkdGg6IDc1dnc7XHJcblx0XHRzY3JvbGwtc25hcC1zdG9wOiBhbHdheXM7XHJcblx0fVxyXG5cclxuXHQvLyDilIDilIAgQWN0aXZlIGNhcmQg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXHJcblx0Ly8gIE1PQklMRSBPTkxZLCBzYW1lIHRyZWF0bWVudCBhbmQgc2FtZSByZWFzb25pbmcgYXMgLnNob3J0LmlzLWFjdGl2ZTogb24gYVxyXG5cdC8vICBwaG9uZSB0aGUgcmFpbCBzbmFwcyBvbmUgY2FyZCBhdCBhIHRpbWUsIHNvIHRoZSBsZWZ0bW9zdCBjYXJkIGlzIHRoZSBvbmVcclxuXHQvLyAgeW91J3JlIG9uLiBmLXJhaWwuanMgc2V0cyB0aGUgY2xhc3M7IHNlZSBbZGF0YS1yYWlsLW1hcmtdLlxyXG5cdC8vXHJcblx0Ly8gIC0teC1yYWRpdXMsIG5vdCAtLXJhZGl1cyDigJQgdGhlIHNhbWUgbnVtYmVyIHRoZSBpZnJhbWUgaXMgY2xpcHBlZCB0bywgc29cclxuXHQvLyAgdGhlIHJpbmcgc2l0cyBvbiB0aGUgY2FyZCdzIGVkZ2UgaW5zdGVhZCBvZiBjdXR0aW5nIGluc2lkZSBpdCBvclxyXG5cdC8vICBmbG9hdGluZyBvdXRzaWRlIGl0LlxyXG5cdEBpbmNsdWRlIGF0KG1kKSB7XHJcblx0XHQmOjpiZWZvcmUge1xyXG5cdFx0XHRjb250ZW50OiBcIlwiO1xyXG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdGluc2V0OiAwO1xyXG5cdFx0XHR6LWluZGV4OiAyOyAgICAgICAgICAgICAgLy8gb3ZlciB0aGUgaWZyYW1lIEFORCB0aGUgc2tlbGV0b25cclxuXHRcdFx0Ym9yZGVyOiAzcHggc29saWQgdHJhbnNwYXJlbnQ7XHJcblx0XHRcdGJvcmRlci1yYWRpdXM6IHZhcigtLXgtcmFkaXVzKTtcclxuXHRcdFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XHJcblx0XHRcdHRyYW5zaXRpb246IGJvcmRlci1jb2xvciB2YXIoLS1kdXItZmFzdCkgJGVhc2U7XHJcblx0XHR9XHJcblxyXG5cdFx0Ji5pcy1hY3RpdmU6OmJlZm9yZSB7IGJvcmRlci1jb2xvcjogdmFyKC0tYWNjZW50KTsgfVxyXG5cdH1cclxuXHJcblx0Ly8gQmVmb3JlIHdpZGdldHMuanMgcnVucyDigJQgYW5kIHBlcm1hbmVudGx5LCBpZiBpdCdzIGJsb2NrZWQg4oCUIHRoZSBzbG90IGhvbGRzXHJcblx0Ly8gWCdzIHBsYWluIGJsb2NrcXVvdGUuIExlZnQgdW5zdHlsZWQgaXQgcmVuZGVycyBhcyBhIG5ha2VkIHF1b3RlIHdpdGggYVxyXG5cdC8vIGJyb3dzZXIgZGVmYXVsdCBtYXJnaW4sIHdoaWNoIGxvb2tzIGxpa2UgYSBidWcuIFRoaXMgbWFrZXMgdGhhdCBzdGF0ZSBhXHJcblx0Ly8gZGVsaWJlcmF0ZSBjYXJkLlxyXG5cdC8vXHJcblx0Ly8gV2hpbGUgdGhlIHNrZWxldG9uIGlzIHVwIHRoaXMgaXMgc3RpbGwgTEFJRCBPVVQsIGp1c3QgaW52aXNpYmxlOiBpdCBnaXZlc1xyXG5cdC8vIHRoZSBzbG90IGl0cyBoZWlnaHQsIGFuZCBYIG1lYXN1cmVzIHRoZSBjb250YWluZXIgdG8gc2l6ZSB0aGUgaWZyYW1lLlxyXG5cdC8vIGRpc3BsYXk6bm9uZSBoZXJlIHdvdWxkIGNvbGxhcHNlIGJvdGguXHJcblx0YmxvY2txdW90ZSB7XHJcblx0XHRtYXJnaW46IDA7XHJcblx0XHRwYWRkaW5nOiBzcCg1KTtcclxuXHRcdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpbmUpO1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcclxuXHRcdGJhY2tncm91bmQ6IHZhcigtLWJnKTtcclxuXHRcdGZvbnQtc2l6ZTogY2xhbXAoLjkycmVtLCAuMzV2dyArIC44NHJlbSwgMS4wMnJlbSk7XHJcblx0XHRsaW5lLWhlaWdodDogMS40NTtcclxuXHRcdGNvbG9yOiB2YXIoLS1pbmspO1xyXG5cclxuXHRcdHAgeyBtYXJnaW46IDAgMCBzcCgzKTsgfVxyXG5cclxuXHRcdGEge1xyXG5cdFx0XHRjb2xvcjogdmFyKC0tYWNjZW50LWluayk7XHJcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC8vIOKUgOKUgCBXaGljaCBsYXllciBzaG93cyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcclxuXHQvLyAgVGhlIGJsb2NrcXVvdGUgaXMgTkVWRVIgc2VlbiB3aGVuIEpTIGlzIG9uLiBJdCBpcyBYJ3Mgb3duIG1hcmt1cCBhbmQgSm9lXHJcblx0Ly8gIGRvZXNuJ3Qgd2FudCBpdCBvbiBzY3JlZW4gYXQgYWxsIOKAlCBpdCBzdGF5cyBpbiB0aGUgRE9NIHB1cmVseSBiZWNhdXNlXHJcblx0Ly8gIHdpZGdldHMuanMgaGFzIHRvIGZpbmQgaXQgdGhlcmUsIGxhaWQgb3V0IChub3QgZGlzcGxheTpub25lKSBzbyBYIGNhblxyXG5cdC8vICBtZWFzdXJlIHRoZSBzbG90LiBUaGVyZSBpcyBkZWxpYmVyYXRlbHkgTk8gZmFsbGJhY2s6IGlmIHRoZSBlbWJlZCBuZXZlclxyXG5cdC8vICBhcnJpdmVzIHRoZSBza2VsZXRvbiBzaW1wbHkgc3RheXMgdXAuIFNlZSB0aGUgbm90ZSBpbiBpLXhlbWJlZC5qcy5cclxuXHQvL1xyXG5cdC8vICBLZXllZCBvbiBgLmpzYCwgd2hpY2ggaGVhZGVyLnBocCBwdXRzIG9uIDxodG1sPiBpbiBhIGJsb2NraW5nIGlubGluZVxyXG5cdC8vICBzY3JpcHQgYmVmb3JlIGFueXRoaW5nIHBhaW50cy4gV0lUSE9VVCBKUyBub25lIG9mIHRoaXMgYXBwbGllczogdGhlXHJcblx0Ly8gIHNrZWxldG9uIHN0YXlzIGRpc3BsYXk6bm9uZSBhbmQgdGhlIGJsb2NrcXVvdGUgaXMgc2ltcGx5IHRoZSBjYXJkLCB3aGljaFxyXG5cdC8vICBpcyB0aGUgd2hvbGUgcmVhc29uIGl0J3MgcHJpbnRlZCBzZXJ2ZXItc2lkZS5cclxuXHQuanMgJiBibG9ja3F1b3RlIHsgb3BhY2l0eTogMDsgfVxyXG5cclxuXHQvLyDimqAgQSBgJi0tdGltZWxpbmVgIHZhcmlhbnQgZm9yIFgncyBlbWJlZGRlZC10aW1lbGluZSB3aWRnZXQgbGl2ZWQgaGVyZVxyXG5cdC8vIGZvciBvbmUgZXZlbmluZyAoMjAyNi0wOS0xNSkgYW5kIHdhcyByZW1vdmVkOiB0aGUgd2lkZ2V0IHJlbmRlcnMgbm90aGluZ1xyXG5cdC8vIGZvciBsb2dnZWQtb3V0IHZpZXdlcnMsIGZvciBhbnkgYWNjb3VudC4gU2VlIHRoZSBub3RlIGFib3ZlICNzb2NpYWwgaW5cclxuXHQvLyBmcm9udC1wYWdlLnBocCBiZWZvcmUgdHJ5aW5nIGl0IGFnYWluLlxyXG5cclxuXHQvLyDilIDilIAgV2hhdCBYIGFjdHVhbGx5IHJlbmRlcnMg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXHJcblx0Ly8gIE5PVCBhIGJhcmUgaWZyYW1lLiB3aWRnZXRzLmpzIHJlcGxhY2VzIHRoZSBibG9ja3F1b3RlIHdpdGggYSBXUkFQUEVSIERJVlxyXG5cdC8vICAoLnR3aXR0ZXItdHdlZXQudHdpdHRlci10d2VldC1yZW5kZXJlZCkgY29udGFpbmluZyB0aGUgaWZyYW1lLCBhbmQgdGhlXHJcblx0Ly8gIHdyYXBwZXIgY2FycmllcyBpdHMgb3duIHZlcnRpY2FsIG1hcmdpbi4gWmVyb2luZyB0aGUgbWFyZ2luIG9uIHRoZSBpZnJhbWVcclxuXHQvLyAgbmV2ZXIgdG91Y2hlZCBpdCDigJQgdGhhdCBtYXJnaW4gd2FzIHRoZSBteXN0ZXJ5IHBhZGRpbmcgYWJvdmUgYW5kIGJlbG93XHJcblx0Ly8gIGV2ZXJ5IGNhcmQuXHJcblx0LnR3aXR0ZXItdHdlZXQtcmVuZGVyZWQge1xyXG5cdFx0bWFyZ2luOiAwICFpbXBvcnRhbnQ7XHJcblx0fVxyXG5cclxuXHRpZnJhbWUge1xyXG5cdFx0Ly8gYmxvY2ssIG5vdCB0aGUgZGVmYXVsdCBpbmxpbmUuIEFuIGlubGluZSBpZnJhbWUgc2l0cyBvbiBhIHRleHRcclxuXHRcdC8vIGJhc2VsaW5lLCB3aGljaCBhZGRzIGhhbGYtbGVhZGluZyBhYm92ZSBpdCBhbmQgZGVzY2VuZGVyIHNwYWNlIGJlbG93IOKAlFxyXG5cdFx0Ly8gdGhlIHNlY29uZCBoYWxmIG9mIHRoYXQgc2FtZSBwYWRkaW5nLlxyXG5cdFx0ZGlzcGxheTogYmxvY2s7XHJcblxyXG5cdFx0Ly8gWCBzaGlwcyBpdHMgb3duIGlubGluZSBtYXJnaW4gb24gdGhlIGZyYW1lIHRvby5cclxuXHRcdG1hcmdpbjogMCAhaW1wb3J0YW50O1xyXG5cclxuXHRcdC8vIENsaXBzIHRoZSBpZnJhbWUncyBvd24gV0hJVEUgQ0FOVkFTIG91dCBvZiB0aGUgY29ybmVycy4gWCByb3VuZHMgaXRzXHJcblx0XHQvLyBjYXJkIGluc2lkZSB0aGUgZnJhbWUgd2hpbGUgdGhlIGZyYW1lIGl0c2VsZiBzdGF5cyBzcXVhcmUsIHNvIHdpdGhvdXRcclxuXHRcdC8vIHRoaXMgdGhlIGRvY3VtZW50IGJhY2tncm91bmQgc2hvd3MgYXMgZm91ciB3aGl0ZSBuaWNrcy4gUmVtb3ZpbmcgaXRcclxuXHRcdC8vIHdhcyB0cmllZCBvbiAyMDI2LTA4LTA3IGFuZCB0aGV5IGNhbWUgc3RyYWlnaHQgYmFjayDigJQgWCdzIGRvY3VtZW50XHJcblx0XHQvLyByZWFsbHkgZG9lcyBwYWludCBhbiBvcGFxdWUgYmFja2dyb3VuZCwgc28gdGhpcyBpcyBub3Qgb3B0aW9uYWwuXHJcblx0XHQvL1xyXG5cdFx0Ly8gVGhlIHZhbHVlIG11c3Qgc2l0IGF0IG9yIElOU0lERSBYJ3Mgb3duIGNvcm5lcjsgc2VlIC0teC1yYWRpdXMgYWJvdmUuXHJcblx0XHRib3JkZXItcmFkaXVzOiB2YXIoLS14LXJhZGl1cyk7XHJcblx0fVxyXG5cclxuXHQvLyDilIDilIAgTG9hZGluZyBza2VsZXRvbiDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcclxuXHQvLyAgU2l0cyBPVkVSIHRoZSBzbG90LCBjb3ZlcmluZyBpdCBjb21wbGV0ZWx5LCBhbmQgRElTU09MVkVTIHJhdGhlciB0aGFuXHJcblx0Ly8gIGJlaW5nIHJlbW92ZWQg4oCUIGkteGVtYmVkLmpzIGFkZHMgLmlzLWRvbmUgYW5kIGRyb3BzIHRoZSBub2RlIG9uY2UgdGhlXHJcblx0Ly8gIGZhZGUgZmluaXNoZXMuIEJlY2F1c2UgaXQgaXMgdGhlIHNhbWUgYm94IGFzIHRoZSBjYXJkIHVuZGVybmVhdGgsIGZhZGluZ1xyXG5cdC8vICBpdCBvdXQgY3Jvc3MtZGlzc29sdmVzIHRoZSBza2VsZXRvbiBpbnRvIHRoZSByZW5kZXJlZCB0d2VldCBpbnN0ZWFkIG9mXHJcblx0Ly8gIHN3YXBwaW5nIG9uZSBmb3IgdGhlIG90aGVyLlxyXG5cdC8vXHJcblx0Ly8gIGluc2V0OiAwIGlzIHdoYXQgZ3VhcmFudGVlcyBcInRoZSBzYW1lIGV4YWN0IHdpZHRoIGFzIHRoZSB0d2VldFwiOiBpdCB0YWtlc1xyXG5cdC8vICBpdHMgYm94IGZyb20gLnhlbWJlZCwgd2hpY2ggaXMgYWxzbyB3aGF0IHRoZSBibG9ja3F1b3RlIGFuZCB0aGUgaWZyYW1lXHJcblx0Ly8gIHNpemUgdG8uIFRoZXJlIGlzIG5vIHNlY29uZCB3aWR0aCB0byBrZWVwIGluIHN0ZXAuXHJcblx0Ly9cclxuXHQvLyAgSW5qZWN0ZWQgYnkgaS14ZW1iZWQuanMsIG5ldmVyIGJ5IFBIUDogd2l0aCBKUyBvZmYgbm90aGluZyBjYW4gdGFrZSBpdFxyXG5cdC8vICBkb3duLCBzbyBpdCB3b3VsZCBiZSBhIHBlcm1hbmVudCBncmV5IGJveCBvdmVyIHJlYWRhYmxlIHRleHQuXHJcblx0Jl9fc2sge1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0aW5zZXQ6IDA7XHJcblx0XHR6LWluZGV4OiAxOyAgICAgICAgICAgICAgLy8gYWJvdmUgdGhlIGJsb2NrcXVvdGUgLyBpZnJhbWUgaXQgY292ZXJzXHJcblx0XHQvLyBPbmx5IGV2ZXIgc2hvd24gd2hlbiBKUyBpcyB0aGVyZSB0byB0YWtlIGl0IGRvd24gYWdhaW4g4oCUIHNlZSB0aGVcclxuXHRcdC8vIGJsb2NrcXVvdGUgbm90ZSBhYm92ZS4gSW4gdGhlIG1hcmt1cCBmcm9tIHRoZSBzZXJ2ZXIsIGhpZGRlbiB1bnRpbFxyXG5cdFx0Ly8gdGhlIGBqc2AgY2xhc3Mgc2F5cyBzb21ldGhpbmcgY2FuIHJlbW92ZSBpdC5cclxuXHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0XHRhbGlnbi1jb250ZW50OiBzdGFydDtcclxuXHRcdGdhcDogc3AoMyk7XHJcblx0XHRwYWRkaW5nOiBzcCg1KTtcclxuXHRcdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpbmUpO1xyXG5cdFx0Ly8gTWF0Y2hlcyB0aGUgaWZyYW1lIGNsaXAgcmF0aGVyIHRoYW4gLS1yYWRpdXMsIHNvIHRoZSBjb3JuZXJzIGRvbid0XHJcblx0XHQvLyB2aXNpYmx5IGNoYW5nZSBzaGFwZSBtaWQtZGlzc29sdmUuXHJcblx0XHRib3JkZXItcmFkaXVzOiB2YXIoLS14LXJhZGl1cyk7XHJcblx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1iZyk7XHJcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdFx0b3BhY2l0eTogMTtcclxuXHRcdC8vIFNsb3cgZW5vdWdoIHRvIHJlYWQgYXMgYSBkaXNzb2x2ZS4gVGhlIHR3ZWV0IGlzIGFscmVhZHkgc2l0dGluZ1xyXG5cdFx0Ly8gdW5kZXJuZWF0aCBhdCBmdWxsIG9wYWNpdHksIHNvIHRoaXMgaXMgYSBzdHJhaWdodCBjcm9zcy1mYWRlLlxyXG5cdFx0dHJhbnNpdGlvbjogb3BhY2l0eSAuNXMgZWFzZTtcclxuXHR9XHJcblxyXG5cdC5qcyAmX19zayB7XHJcblx0XHRkaXNwbGF5OiBncmlkO1xyXG5cdH1cclxuXHJcblx0Jl9fc2suaXMtZG9uZSB7XHJcblx0XHRvcGFjaXR5OiAwO1xyXG5cdFx0Ly8gVGhlIGNhcmQgYmVuZWF0aCBpcyBsaXZlIHRoZSBtb21lbnQgdGhlIGZhZGUgc3RhcnRzIOKAlCBub3RoaW5nIGhlcmVcclxuXHRcdC8vIHNob3VsZCBiZSBjYXRjaGluZyB0YXBzIG9uIGl0cyB3YXkgb3V0LlxyXG5cdFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XHJcblx0fVxyXG5cclxuXHQmX19zay1oZWFkIHtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0Z2FwOiBzcCgzKTtcclxuXHRcdG1hcmdpbi1ib3R0b206IHNwKDIpO1xyXG5cdH1cclxuXHJcblx0Ly8gU2hhcmVkIHNoaW1tZXIuIE9uZSBhbmltYXRpb24gb24gb25lIHNlbGVjdG9yIOKAlCBhIGtleWZyYW1lIHBlciBzaGFwZSBpc1xyXG5cdC8vIGhvdyB0aGVzZSBlbmQgdXAgZHJpZnRpbmcgb3V0IG9mIHN5bmMuXHJcblx0Jl9fc2stYXZhdGFyLFxyXG5cdCZfX3NrLW5hbWUsXHJcblx0Jl9fc2stbGluZSxcclxuXHQmX19zay1tZWRpYSB7XHJcblx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1iZy0zKTtcclxuXHRcdGJvcmRlci1yYWRpdXM6IDZweDtcclxuXHRcdC8vIGNvbG9yLW1peCByYXRoZXIgdGhhbiBhIHNlY29uZCB0b2tlbjogdGhlIGhpZ2hsaWdodCBoYXMgdG8gc2l0IGp1c3RcclxuXHRcdC8vIGFib3ZlIHdoYXRldmVyIC0tYmctMyBpcyBpbiB0aGUgYWN0aXZlIHRoZW1lLCBpbiBib3RoIGRpcmVjdGlvbnMuXHJcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoXHJcblx0XHRcdDkwZGVnLFxyXG5cdFx0XHR0cmFuc3BhcmVudCxcclxuXHRcdFx0Y29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWluaykgOCUsIHRyYW5zcGFyZW50KSxcclxuXHRcdFx0dHJhbnNwYXJlbnRcclxuXHRcdCk7XHJcblx0XHRiYWNrZ3JvdW5kLXNpemU6IDIyMCUgMTAwJTtcclxuXHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcblx0XHRhbmltYXRpb246IHNrLXNoaW1tZXIgMS40cyAkZWFzZSBpbmZpbml0ZTtcclxuXHR9XHJcblxyXG5cdCZfX3NrLWF2YXRhciB7IHdpZHRoOiA0MHB4OyBoZWlnaHQ6IDQwcHg7IGJvcmRlci1yYWRpdXM6IDk5OXB4OyBmbGV4OiBub25lOyB9XHJcblx0Jl9fc2stbmFtZSAgIHsgaGVpZ2h0OiAxMnB4OyB3aWR0aDogNDUlOyB9XHJcblx0Jl9fc2stbGluZSAgIHsgaGVpZ2h0OiAxMXB4OyB9XHJcblx0Jl9fc2stbGluZTpudGgtb2YtdHlwZSgyKSB7IHdpZHRoOiA5MiU7IH1cclxuXHQmX19zay1saW5lOm50aC1vZi10eXBlKDMpIHsgd2lkdGg6IDc4JTsgfVxyXG5cdCZfX3NrLW1lZGlhICB7IGhlaWdodDogMTIwcHg7IGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7IG1hcmdpbi10b3A6IHNwKDIpOyB9XHJcblxyXG5cdC8vIFN0YWdnZXJlZCBzbyB0aGUgcm93IHNoaW1tZXJzIGFzIGEgd2F2ZSBpbnN0ZWFkIG9mIHRocmVlIGNhcmRzIHB1bHNpbmcgaW5cclxuXHQvLyBsb2Nrc3RlcCwgd2hpY2ggcmVhZHMgYXMgYSByZW5kZXJpbmcgZ2xpdGNoLlxyXG5cdCY6bnRoLWNoaWxkKDIpICZfX3NrID4gKiB7IGFuaW1hdGlvbi1kZWxheTogLjEyczsgfVxyXG5cdCY6bnRoLWNoaWxkKDMpICZfX3NrID4gKiB7IGFuaW1hdGlvbi1kZWxheTogLjI0czsgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHNrLXNoaW1tZXIge1xyXG5cdGZyb20geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxNjAlIDA7IH1cclxuXHR0byAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTYwJSAwOyB9XHJcbn1cclxuXHJcbi8vIFNrZWxldG9ucyBhcmUgZGVjb3JhdGlvbi4gU29tZW9uZSB3aG8gYXNrZWQgZm9yIGxlc3MgbW90aW9uIGdldHMgYSBmbGF0IGNhcmQuXHJcbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XHJcblx0LnhlbWJlZF9fc2sgKiB7IGFuaW1hdGlvbjogbm9uZTsgfVxyXG59XHJcblxyXG4vLyDilIDilIAgRmFsbGJhY2sgY2FyZCDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcclxuLy8gIFVzZWQgd2hlbiBvRW1iZWQgcmV0dXJuZWQgdGV4dCBidXQgbm8gYmxvY2txdW90ZSwgc28gdGhlIHJhaWwgbmV2ZXIgc2hvd3MgYVxyXG4vLyAgaG9sZS4gVGhpcyB3YXMgdGhlIHByaW1hcnkgdHJlYXRtZW50IGJlZm9yZSBKb2UgY2hvc2UgWCdzIGVtYmVkOyBpdCBpcyBrZXB0XHJcbi8vICBpbnRhY3QgYmVjYXVzZSBzd2l0Y2hpbmcgYmFjayBpcyBhIG9uZS1saW5lIGNoYW5nZSBpbiBmcm9udC1wYWdlLnBocC5cclxuLnR3ZWV0IHtcclxuXHRmbGV4OiBub25lO1xyXG5cdC8vIFdpZGUgZW5vdWdoIGZvciBhIGZldyBsaW5lcyBhdCBhIHJlYWRhYmxlIG1lYXN1cmUsIG5hcnJvdyBlbm91Z2ggdGhhdCB0aGVcclxuXHQvLyBuZXh0IGNhcmQgcGVla3MgaW4gYW5kIHNheXMgXCJ0aGVyZSdzIG1vcmVcIi5cclxuXHR3aWR0aDogY2xhbXAoMjQwcHgsIDMwdncsIDM0MHB4KTtcclxuXHRkaXNwbGF5OiBncmlkO1xyXG5cdGFsaWduLWNvbnRlbnQ6IHN0YXJ0O1xyXG5cdGdhcDogc3AoMyk7XHJcblx0cGFkZGluZzogc3AoNSk7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tbGluZSk7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iZyk7XHJcblx0dHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIHZhcigtLWR1ci1mYXN0KSAkZWFzZSwgdHJhbnNmb3JtIHZhcigtLWR1ci1mYXN0KSAkZWFzZTtcclxuXHJcblx0Jl9fbWFyayB7XHJcblx0XHRjb2xvcjogdmFyKC0taW5rLTMpO1xyXG5cdFx0dHJhbnNpdGlvbjogY29sb3IgdmFyKC0tZHVyLWZhc3QpICRlYXNlO1xyXG5cclxuXHRcdHN2ZyB7IHdpZHRoOiAxNXB4OyBoZWlnaHQ6IDE1cHg7IH1cclxuXHR9XHJcblxyXG5cdCZfX3RleHQge1xyXG5cdFx0Zm9udC1zaXplOiBjbGFtcCguOTJyZW0sIC4zNXZ3ICsgLjg0cmVtLCAxLjAycmVtKTtcclxuXHRcdGxpbmUtaGVpZ2h0OiAxLjQ1O1xyXG5cdFx0Y29sb3I6IHZhcigtLWluayk7XHJcblx0XHQvLyBTaXggbGluZXMgbWF4aW11bS4gUG9zdHMgaGF2ZSBubyBsZW5ndGggZGlzY2lwbGluZSwgYW5kIG9uZSBsb25nIG9uZVxyXG5cdFx0Ly8gd291bGQgb3RoZXJ3aXNlIHNldCB0aGUgaGVpZ2h0IG9mIGV2ZXJ5IGNhcmQgaW4gdGhlIHJvdy5cclxuXHRcdGRpc3BsYXk6IC13ZWJraXQtYm94O1xyXG5cdFx0LXdlYmtpdC1saW5lLWNsYW1wOiA2O1xyXG5cdFx0LXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcclxuXHRcdG92ZXJmbG93OiBoaWRkZW47XHJcblx0fVxyXG5cclxuXHQmX19hdXRob3Ige1xyXG5cdFx0QGluY2x1ZGUgbGFiZWw7XHJcblx0XHRmb250LXNpemU6IC43cmVtO1xyXG5cdFx0Y29sb3I6IHZhcigtLWluay0zKTtcclxuXHR9XHJcblxyXG5cdEBpbmNsdWRlIGNhbi1ob3ZlciB7XHJcblx0XHQmOmhvdmVyIHtcclxuXHRcdFx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1hY2NlbnQpO1xyXG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTNweCk7XHJcblxyXG5cdFx0XHQudHdlZXRfX21hcmsgeyBjb2xvcjogdmFyKC0tYWNjZW50LWluayk7IH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi8vIOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkFxyXG4vLyAgSU5TVEFHUkFNIFdBTEwgIOKAlCAg4o+4IFNIRUxWRUQgMjAyNi0wOC0wN1xyXG4vL1xyXG4vLyAgTm90aGluZyBvbiB0aGUgc2l0ZSBlbWl0cyAud2FsbCBvciAuc3Bvc3QgYW55IG1vcmU7IHRoZSBjbGllbnQgc2NyYXBwZWQgdGhlXHJcbi8vICBJbnN0YWdyYW0gZmVlZCBhbmQgSm9lIGFza2VkIGZvciB0aGUgdHJlYXRtZW50IHRvIGJlIHJldGhvdWdodCByYXRoZXIgdGhhblxyXG4vLyAgYWRqdXN0ZWQuIEtlcHQsIG5vdCBkZWxldGVkLCBiZWNhdXNlIHNpZ19zb2NpYWxfd2FsbCgpIGluIGluYy9jb250ZW50LnBocFxyXG4vLyAgc3RpbGwgcmVuZGVycyBleGFjdGx5IHRoaXMgbWFya3VwIGFuZCByZXN0b3JpbmcgaXQgaXMgdHdvIGxpbmVzIGluXHJcbi8vICBmcm9udC1wYWdlLnBocC4gQ29tcGlsZXMgdW51c2VkIHVudGlsIHRoZW4uXHJcbi8vXHJcbi8vICBUaGUgb3JpZ2luYWwgcmVhc29uaW5nLCBmb3Igd2hvZXZlciByZXZpc2l0cyBpdDogYSBXQUxMLCBkZWxpYmVyYXRlbHkgbm90XHJcbi8vICBhbm90aGVyIHJhaWwg4oCUIGJ5IHRoYXQgcG9pbnQgdGhlIHBhZ2UgaGFzIGFscmVhZHkgdXNlZCBhIGxpc3QgKGVwaXNvZGVzKSwgYVxyXG4vLyAgaG9yaXpvbnRhbCByYWlsIChzaG9ydHMpIGFuZCBhIGxpc3QgYWdhaW4gKGJsb2cpLCBzbyBhIHRoaXJkIHNjcm9sbGluZyByb3dcclxuLy8gIHJlYWQgYXMgdGhlIHNhbWUgaWRlYSBhIHRoaXJkIHRpbWUuIENhcHRpb25zIHNpdCBPVkVSIHRoZSBpbWFnZSBiZWNhdXNlXHJcbi8vICB0aGVzZSBhcmUgc29tZW9uZSBlbHNlJ3MgcG9zdHMgaW4gc29tZW9uZSBlbHNlJ3MgYXNwZWN0IHJhdGlvcywgYW5kIGJveGluZ1xyXG4vLyAgdGhlbSBpbnRvIGEgdW5pZm9ybSBjYXJkIHdpdGggYSB0ZXh0IGJsb2NrIGJlbmVhdGggbWFrZXMgdGhlbSBsb29rIGxpa2UgYmxvZ1xyXG4vLyAgdGVhc2Vycy5cclxuLy8g4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQXHJcblxyXG4ud2FsbCB7XHJcblx0ZGlzcGxheTogZ3JpZDtcclxuXHQvLyBTaXggY29sdW1ucyBzbyB0aWxlcyBjYW4gdGFrZSB0d28gb3IgdGhyZWUgYW5kIHN0aWxsIGxpbmUgdXAuIEEgdGlsZSBpc1xyXG5cdC8vIG5ldmVyIHNpemVkIGluIHRoZSB0ZW1wbGF0ZSDigJQgdGhlIHBhdHRlcm4gbGl2ZXMgaGVyZSwgd2hlcmUgaXQgY2FuIGNoYW5nZVxyXG5cdC8vIHBlciBicmVha3BvaW50IHdpdGhvdXQgdG91Y2hpbmcgUEhQLlxyXG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDYsIDFmcik7XHJcblx0Z2FwOiBjbGFtcCguNXJlbSwgMS4ydncsIDFyZW0pO1xyXG5cclxuXHRAaW5jbHVkZSBhdChtZCkge1xyXG5cdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcclxuXHR9XHJcbn1cclxuXHJcbi8vIOKUgOKUgCBUaWxlIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxyXG4uc3Bvc3Qge1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRkaXNwbGF5OiBibG9jaztcclxuXHRncmlkLWNvbHVtbjogc3BhbiAyO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iZy0zKTtcclxuXHQvLyBSZXZlYWwgc3RhZ2dlciwgc2FtZSAtLWQgY29udmVudGlvbiBhcyAuZXAgYW5kIC5zaG9ydC5cclxuXHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjVzICRlYXNlLCBib3gtc2hhZG93IC41cyAkZWFzZTtcclxuXHJcblx0Ly8gVGhlIHJoeXRobTogZXZlcnkgdGhpcmQgdGlsZSBpcyB3aWRlciwgYW5kIHRoZSBvbmUgYWZ0ZXIgaXQgaXMgdGFsbGVyLlxyXG5cdC8vIFVuZXZlbiBieSBkZXNpZ24g4oCUIGEgd2FsbCBvZiBpZGVudGljYWwgc3F1YXJlcyBpcyBhIGdyaWQsIG5vdCBhIHdhbGwuXHJcblx0JjpudGgtY2hpbGQoM24gKyAxKSB7IGdyaWQtY29sdW1uOiBzcGFuIDM7IH1cclxuXHQmOm50aC1jaGlsZCgzbiArIDIpIHsgZ3JpZC1jb2x1bW46IHNwYW4gMzsgfVxyXG5cclxuXHRAaW5jbHVkZSBhdChtZCkge1xyXG5cdFx0Z3JpZC1jb2x1bW46IHNwYW4gMTtcclxuXHRcdCY6bnRoLWNoaWxkKDNuICsgMSksXHJcblx0XHQmOm50aC1jaGlsZCgzbiArIDIpIHsgZ3JpZC1jb2x1bW46IHNwYW4gMTsgfVxyXG5cdH1cclxuXHJcblx0Jl9fbWVkaWEge1xyXG5cdFx0YXNwZWN0LXJhdGlvOiA0IC8gNTtcclxuXHRcdGJhY2tncm91bmQ6IHZhcigtLWJnLTMpO1xyXG5cclxuXHRcdGltZyB7XHJcblx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRoZWlnaHQ6IDEwMCU7XHJcblx0XHRcdG9iamVjdC1maXQ6IGNvdmVyO1xyXG5cdFx0XHRAaW5jbHVkZSB6b29tYWJsZTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC8vIFdpZGVyIHRpbGVzIGdldCBhIHdpZGVyIGNyb3AsIHNvIGEgMy1jb2x1bW4gdGlsZSBpc24ndCBhIHRhbGwgc2xhYi5cclxuXHQmOm50aC1jaGlsZCgzbiArIDEpICZfX21lZGlhLFxyXG5cdCY6bnRoLWNoaWxkKDNuICsgMikgJl9fbWVkaWEgeyBhc3BlY3QtcmF0aW86IDMgLyAyOyB9XHJcblxyXG5cdEBpbmNsdWRlIGF0KG1kKSB7XHJcblx0XHQmOm50aC1jaGlsZCgzbiArIDEpICZfX21lZGlhLFxyXG5cdFx0JjpudGgtY2hpbGQoM24gKyAyKSAmX19tZWRpYSB7IGFzcGVjdC1yYXRpbzogNCAvIDU7IH1cclxuXHR9XHJcblxyXG5cdC8vIOKUgOKUgCBQbGF0Zm9ybSBtYXJrIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxyXG5cdC8vICBUb3AgcmlnaHQsIG9uIGEgc2NyaW0gcmF0aGVyIHRoYW4gYSBzb2xpZCBjaGlwOiB0aGUgYXJ0d29yayBiZWhpbmQgaXQgaXNcclxuXHQvLyAgdW5wcmVkaWN0YWJsZSwgYW5kIGEgcGxhaW4gd2hpdGUgZ2x5cGggdmFuaXNoZXMgb24gYSBwYWxlIHBob3RvLlxyXG5cdCZfX2JhZGdlIHtcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdHRvcDogc3AoMyk7XHJcblx0XHRyaWdodDogc3AoMyk7XHJcblx0XHRkaXNwbGF5OiBncmlkO1xyXG5cdFx0cGxhY2UtaXRlbXM6IGNlbnRlcjtcclxuXHRcdHdpZHRoOiAzMHB4O1xyXG5cdFx0aGVpZ2h0OiAzMHB4O1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogOTk5cHg7XHJcblx0XHRiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIC40NSk7XHJcblx0XHRiYWNrZHJvcC1maWx0ZXI6IGJsdXIoNnB4KTtcclxuXHRcdGNvbG9yOiAjZmZmO1xyXG5cclxuXHRcdHN2ZyB7IHdpZHRoOiAxNXB4OyBoZWlnaHQ6IDE1cHg7IH1cclxuXHR9XHJcblxyXG5cdC8vIOKUgOKUgCBDYXB0aW9uIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxyXG5cdC8vICBPdmVyIHRoZSBpbWFnZSwgb24gYSBncmFkaWVudCB0aGF0IG9ubHkgZGFya2VucyB0aGUgYm90dG9tIHRoaXJkLiBBIGZsYXRcclxuXHQvLyAgc2NyaW0gYWNyb3NzIHRoZSB3aG9sZSB0aWxlIHdvdWxkIG11dGUgdGhlIGFydHdvcmssIHdoaWNoIGlzIHRoZSBvbmVcclxuXHQvLyAgdGhpbmcgdGhpcyBzZWN0aW9uIGlzIGZvci5cclxuXHQmX19ib2R5IHtcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdGluc2V0OiBhdXRvIDAgMCAwO1xyXG5cdFx0ZGlzcGxheTogZ3JpZDtcclxuXHRcdGdhcDogLjM1ZW07XHJcblx0XHRwYWRkaW5nOiBzcCg2KSBzcCg0KSBzcCg0KTtcclxuXHRcdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0cmFuc3BhcmVudCwgcmdiYSgwLCAwLCAwLCAuODIpKTtcclxuXHRcdGNvbG9yOiAjZmZmO1xyXG5cdH1cclxuXHJcblx0Jl9fY2FwdGlvbiB7XHJcblx0XHRmb250LXNpemU6IGNsYW1wKC44MnJlbSwgLjM1dncgKyAuNzRyZW0sIC45NXJlbSk7XHJcblx0XHRsaW5lLWhlaWdodDogMS4zNTtcclxuXHRcdC8vIFR3byBsaW5lcyBtYXhpbXVtLiBTb2NpYWwgY2FwdGlvbnMgaGF2ZSBubyBsZW5ndGggZGlzY2lwbGluZSBhbmQgYVxyXG5cdFx0Ly8gbG9uZyBvbmUgd291bGQgY292ZXIgdGhlIHdob2xlIHRpbGUuXHJcblx0XHRkaXNwbGF5OiAtd2Via2l0LWJveDtcclxuXHRcdC13ZWJraXQtbGluZS1jbGFtcDogMjtcclxuXHRcdC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XHJcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdH1cclxuXHJcblx0Jl9fZGF0ZSB7XHJcblx0XHRAaW5jbHVkZSBsYWJlbDtcclxuXHRcdGZvbnQtc2l6ZTogLjdyZW07XHJcblx0XHRvcGFjaXR5OiAuNzI7XHJcblx0fVxyXG5cclxuXHQvLyDilIDilIAgSG92ZXIg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXHJcblx0Ly8gIEdhdGVkOiBvbiB0b3VjaCA6aG92ZXIgbGF0Y2hlcyBhZnRlciBhIHRhcCBhbmQgdGhlIHRpbGUgd291bGQgc2l0IGxpZnRlZFxyXG5cdC8vICBhbmQgem9vbWVkIHdpdGggbm90aGluZyB0byBjbGVhciBpdC5cclxuXHRAaW5jbHVkZSBjYW4taG92ZXIge1xyXG5cdFx0Jjpob3ZlciB7XHJcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNHB4KTtcclxuXHRcdFx0Ym94LXNoYWRvdzogdmFyKC0tc2hhZG93LWNhcmQpO1xyXG5cclxuXHRcdFx0LnNwb3N0X19tZWRpYSBpbWcgeyBAaW5jbHVkZSB6b29tZWQoMS4wNik7IH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuIiwiQHVzZSBcInRva2Vuc1wiIGFzICo7XHJcblxyXG4vLyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcclxuLy8gIENBUkRTIOKAlCB3cml0aW5nLCBjbGlwcywgZ3Vlc3RzXHJcbi8vXHJcbi8vICBUaGUgbWVkaWEgYmxvY2sgY2xpcHMgaXRzIG93biBpbWFnZSBhbmQgc2NhbGVzIGl0IG9uIGhvdmVyOyB0aGUgY2FyZCBpdHNlbGZcclxuLy8gIG5ldmVyIHRyYW5zZm9ybXMsIHNvIHRleHQgc3RheXMgcGluLXNoYXJwICh0cmFuc2Zvcm1pbmcgYSBjYXJkIGJsdXJzIGl0c1xyXG4vLyAgdHlwZSBkdXJpbmcgdGhlIGFuaW1hdGlvbiBvbiBtb3N0IGVuZ2luZXMpLlxyXG4vLyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcclxuXHJcbi8vIGF1dG8tRklULCBub3QgYXV0by1maWxsLiBhdXRvLWZpbGwga2VlcHMgZW1wdHkgdHJhY2tzIGFsaXZlLCBzbyB0aHJlZSBjYXJkc1xyXG4vLyBpbiBhIDE1NjBweCBjb250YWluZXIgd2VyZSBsYWlkIG91dCBhY3Jvc3MgZml2ZSBjb2x1bW5zIGFuZCByZW5kZXJlZCBuYXJyb3dcclxuLy8gd2l0aCBkZWFkIHNwYWNlIGJlc2lkZSB0aGVtIOKAlCB0aGUgbWFpbiByZWFzb24gdGhlIGJsb2cgcm93IGxvb2tlZCBzcGFyc2UuXHJcbi8vXHJcbi8vIOKaoCBUSEUgVFJBQ0tTIFNUQVkgYDFmcmAuIEEgZml4ZWQgbWF4ICg0MjBweCB3YXMgdHJpZWQsIDIwMjYtMDktMTMpIGRvZXMgc3RvcFxyXG4vLyBhIGxvbmUgY2FyZCBzdHJldGNoaW5nIOKAlCBhbmQgYWxzbyBzdG9wcyBhIHR3by11cCByb3cgZnJvbSByZWFjaGluZyB0aGUgZW5kXHJcbi8vIG9mIHRoZSBjb250ZW50IGNvbHVtbiwgbGVhdmluZyBhIGRlYWQgc3RyaXAgYmVmb3JlIHRoZSBzaWRlYmFyLiBXcm9uZyBsZXZlci5cclxuLy8gVGhlIGxvbmUtY2FyZCBjYXNlIGlzIGhhbmRsZWQgb24gdGhlIENBUkQsIGJlbG93LCBub3Qgb24gdGhlIHRyYWNrcy5cclxuLmdyaWQge1xyXG5cdC0tZ3JpZC1nYXA6IGNsYW1wKDEuMjVyZW0sIDIuNXZ3LCAyLjVyZW0pO1xyXG5cdC8vIEJlbG93IG1kIHRoZSBjYXJkcyBiZWNvbWUgcm93cyAoc2VlIC5jYXJkKSwgYW5kIHRoZSBjbGFtcCBib3R0b21zIG91dFxyXG5cdC8vIGF0IDEuMjVyZW0g4oCUIHJvd3MgcmFuIHRvZ2V0aGVyIChcIm1vcmUgc3BhY2UgYmV0d2VlbiB0aGUgZXBpc29kZXNcIixcclxuXHQvLyBKb2UsIDIwMjYtMDktMTQpLiBBIHJvdyBuZWVkcyBtb3JlIGFpciB0aGFuIGEgZ3JpZCB0aWxlOiBpdHMgdGl0bGVcclxuXHQvLyB3cmFwcyB0byBmb3VyIGxpbmVzLCBzbyB0aGUgYm91bmRhcnkgYmV0d2VlbiB0d28gaXMgb25seSB0aGUgZ2FwLlxyXG5cdC8vIOKApnRoZW4sIG9uY2UgdGhlIGFyY2hpdmUgcm93cyBnb3QgdGhlIGhvbWVwYWdlJ3MgRVAtbGFiZWwgKyBkYXRlXHJcblx0Ly8gdHJlYXRtZW50LCBKb2Ugd2FudGVkIHRoZW0gSURFTlRJQ0FMIHRvIHRoZSBob21lcGFnZSBsaXN0OiBubyBnYXAgYXRcclxuXHQvLyBhbGwsIGVhY2ggcm93IGNhcnJpZXMgdGhlIHNhbWUgcGFkZGluZy1ibG9jayBhbmQgaGFpcmxpbmUgLmVwIGRvZXNcclxuXHQvLyAoMjAyNi0wOS0xNCwgXCJhcHBseSB0aGUgc2VwYXJhdG9ycyBhbmQgdGhlIHNhbWUgYW1vdW50IG9mIHNwYWNlXCIpLlxyXG5cdC8vIFRoZSByb3ctbGV2ZWwgdmFsdWVzIGxpdmUgb24gLmNhcmQgYmVsb3c7IHRoZSBncmlkIGp1c3Qgc3RvcHMgc3BhY2luZy5cclxuXHRAaW5jbHVkZSBhdChtZCkge1xyXG5cdFx0LS1ncmlkLWdhcDogMDtcclxuXHRcdHJvdy1nYXA6IDA7XHJcblx0XHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tbGluZSk7ICAgLy8gPSAuZXAtbGlzdFxyXG5cdH1cclxuXHJcblx0ZGlzcGxheTogZ3JpZDtcclxuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KG1pbigxMDAlLCAzMDBweCksIDFmcikpO1xyXG5cdGdhcDogdmFyKC0tZ3JpZC1nYXApO1xyXG5cclxuXHQvLyBBIHRvcGljIG9yIGRhdGUgYXJjaGl2ZSB3aXRoIGV4YWN0bHkgT05FIHJlc3VsdDogYDFmcmAgaGFuZHMgdGhhdCBjYXJkXHJcblx0Ly8gdGhlIHdob2xlIGNvbHVtbiwgc28gaXQgcmVuZGVyZWQgYXMgb25lIGdpYW50IHRpbGUgKEpvZSwgMjAyNi0wOS0xMzpcclxuXHQvLyBcInNob3VsZCBzdGlsbCBsb29rIGxpa2UgdGhlIGdyaWQuLi4gbm90IHRha2UgMTAwJSBvZiB0aGUgY29udGFpbmVyXCIpLlxyXG5cdC8vIENhcCBpdCBhdCB3aGF0IGl0IHdvdWxkIG1lYXN1cmUgaW4gYSB0d28tdXAgcm93IOKAlCBoYWxmIHRoZSBjb2x1bW4gbGVzc1xyXG5cdC8vIGhhbGYgYSBnYXAg4oCUIHNvIGl0IGlzIHRoZSBzYW1lIHNpemUgYXMgaXRzIG5laWdoYm91cnMgb24gdGhlIG5leHQgcGFnZS5cclxuXHQvLyBUaGUgdHJhY2sgaXMgc3RpbGwgZnVsbCB3aWR0aDsgdGhlIGNhcmQganVzdCBkb2Vzbid0IGZpbGwgaXQuXHJcblx0PiA6b25seS1jaGlsZCB7XHJcblx0XHRtYXgtd2lkdGg6IGNhbGMoNTAlIC0gKHZhcigtLWdyaWQtZ2FwKSAvIDIpKTtcclxuXHJcblx0XHQvLyBTdGFja2VkIHRvIG9uZSBjb2x1bW4gYW55d2F5IOKAlCB0aGVyZSBpcyBub3RoaW5nIHRvIG1hdGNoLlxyXG5cdFx0QGluY2x1ZGUgYXQobWQpIHsgbWF4LXdpZHRoOiBub25lOyB9XHJcblx0fVxyXG59XHJcblxyXG4uZ3JpZC0td2lkZSB7XHJcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heChtaW4oMTAwJSwgNDIwcHgpLCAxZnIpKTtcclxufVxyXG5cclxuLy8gR3Vlc3RzOiBhdXRvLUZJTEwsIHRoZSBvbmUgcGxhY2UgdGhlIGVtcHR5LXRyYWNrIGJlaGF2aW91ciBpcyB3YW50ZWQuIEFcclxuLy8gZ3Vlc3QgY2FyZCBpcyBhIDE2OHB4IGNpcmNsZSBhbmQgYSBuYW1lLCBzbyB0d28gb2YgdGhlbSBvbiBgYXV0by1maXRgXHJcbi8vIHdlcmUgaGFuZGVkIGhhbGYgdGhlIHNoZWxsIGVhY2ggYW5kIHNhdCAxMjAwcHggYXBhcnQgKEpvZSwgMjAyNi0wOS0xMyxcclxuLy8gXCJ0aGlzIG9uZSB0b28gbG9sXCIpLiBGaXhlZC13aWR0aCB0cmFja3MgdGhhdCBrZWVwIGZpbGxpbmcgdGhlIHJvdywgY2FyZHNcclxuLy8gc3RheSBsZWZ0IGFuZCBhdCBvbmUgc2l6ZSBob3dldmVyIGZldyB0aGVyZSBhcmUuIDIwMHB4IGlzIHRoZSBjaXJjbGUgcGx1c1xyXG4vLyBicmVhdGhpbmcgcm9vbTsgYmVsb3cgbWQgdGhlIHNoZWxsIGlzIHRvbyBuYXJyb3cgZm9yIHRoYXQgdG8gbWF0dGVyLlxyXG4uZ3JpZC0tZ3Vlc3RzIHtcclxuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heChtaW4oMTAwJSwgMTcwcHgpLCAxZnIpKTtcclxuXHJcblx0PiA6b25seS1jaGlsZCB7IG1heC13aWR0aDogbm9uZTsgfSAgIC8vIHRoZSB0cmFja3MgYWxyZWFkeSBzaXplIGl0XHJcblxyXG5cdC8vIFRoZSBjaXJjbGUgSVMgdGhlIHRyYWNrIHdpZHRoLiBXaXRoIGEgZml4ZWQgMTY4cHggY2lyY2xlIGNlbnRyZWQgaW4gYVxyXG5cdC8vIDFmciB0cmFjaywgdGhlIGZpcnN0IGFuZCBsYXN0IGNvbHVtbnMgc2F0IGhhbGYgYSB0cmFjaydzIHNsYWNrIGluIGZyb21cclxuXHQvLyB0aGUgc2hlbGwgZWRnZXMgKEpvZSwgMjAyNi0wOS0xMzogXCJmbHVzaCB3aXRoIHRoZSBlZGdlc1wiKS4gU2l6ZWQgdG8gdGhlXHJcblx0Ly8gdHJhY2ssIHRoZSByb3cgcnVucyBlZGdlIHRvIGVkZ2UgYW5kIHRoZSBjaXJjbGVzIHNjYWxlIHdpdGggdGhlXHJcblx0Ly8gY29sdW1uIGNvdW50IGluc3RlYWQgb2YgbGVhdmluZyBzbGFjayBhcm91bmQgdGhlbXNlbHZlcy5cclxuXHQuZ3Vlc3RfX3Bob3RvIHsgd2lkdGg6IDEwMCU7IH1cclxuXHJcblx0Ly8g4pqgIFRoZSBwaG9uZS1yb3cgcnVsZXMgb24gLmdyaWQgKGdhcCAwLCBoYWlybGluZSB0b3ApIGFyZSBmb3IgQ0FSRCByb3dzLlxyXG5cdC8vIFRoZXkgdG9vayB0aGlzIGdyaWQncyBnYXAgd2l0aCB0aGVtIGFuZCB0aGUgdHdvIGNpcmNsZXMgdG91Y2hlZCAoSm9lLFxyXG5cdC8vIDIwMjYtMDktMTQsIFwidGhlc2UgbmVlZCBzb21lIHNwYWNlIGJldHdlZW4gdGhlbSBsbWFvXCIpLiBSZXN0b3JlZCBoZXJlLlxyXG5cdEBpbmNsdWRlIGF0KG1kKSB7XHJcblx0XHQtLWdyaWQtZ2FwOiBjbGFtcCgxLjI1cmVtLCA1dncsIDJyZW0pO1xyXG5cdFx0Ym9yZGVyLXRvcDogMDtcclxuXHR9XHJcbn1cclxuXHJcbi8vIFBpbm5lZCAzLXVwLCBzbyB0aGUgcm93IGNhbid0IHJlZmxvdyB0byAyIG9yIDQgYXQgb2RkIHdpZHRocy5cclxuLmdyaWQtLTMge1xyXG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIG1pbm1heCgwLCAxZnIpKTtcclxuXHJcblx0QGluY2x1ZGUgYXQobGcpIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgbWlubWF4KDAsIDFmcikpOyB9XHJcblx0QGluY2x1ZGUgYXQobWQpIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMCwgMWZyKTsgfVxyXG59XHJcblxyXG4vLyBOT1RFOiBgLmdyaWQtLXJ1bGVzYCBsaXZlZCBoZXJlIOKAlCBhIG1vYmlsZS1vbmx5IHdheSB0byBtYWtlIGNhcmQgZ3JpZHMgbG9va1xyXG4vLyBsaWtlIHRoZSBlcGlzb2RlIGxpc3QuIEl0IHdhcyBkZWxldGVkIG9uY2UgQmxvZyBzd2l0Y2hlZCB0byB0aGUgcmVhbCAuZXBcclxuLy8gbWFya3VwIHZpYSBzaWdfcm93KCksIHdoaWNoIGdldHMgdGhlIGxpc3QgbGF5b3V0IGF0IGV2ZXJ5IHdpZHRoIGZvciBmcmVlLlxyXG4vLyBDaGFzaW5nIG9uZSBsYXlvdXQgd2l0aCB0d28gc2V0cyBvZiBydWxlcyBpcyB3aGF0IGNhdXNlZCB0aGUgZHJpZnQgdGhlXHJcbi8vIGNvbW1lbnQgYXQgdGhlIHRvcCBvZiB0aGlzIGZpbGUgd2FybnMgYWJvdXQuXHJcblxyXG4vLyBDYXJkIGludGVybmFscyBhcmUgZGVsaWJlcmF0ZWx5IHR1bmVkIHRvIHRoZSBTQU1FIHNjYWxlIGFzIC5lcCAoZXBpc29kZSByb3dzKVxyXG4vLyBhbmQgLnNob3J0LCBzbyB0aGUgdGhyZWUgc2VjdGlvbnMgcmVhZCBhcyBvbmUgc3lzdGVtOlxyXG4vLyAgIG1ldGEgICAgIEBpbmNsdWRlIGxhYmVsICAg4oCUIGlkZW50aWNhbCB0byAuZXBfX2VwIC8gLnNob3J0X19tZXRhXHJcbi8vICAgdGl0bGUgICAgZGlzcGxheSA5MDAgdXBwZXJjYXNlLCBsZWFkaW5nIDEuMDUsID0gLmVwX190aXRsZSBiZWxvdyBtZFxyXG4vLyAgIGV4Y2VycHQgID0gLmVwX19leGNlcnB0LCAyLWxpbmUgY2xhbXBcclxuLy8gQ2hhbmdlIG9uZSwgY2hhbmdlIGFsbCB0aHJlZS5cclxuLmNhcmQge1xyXG5cdGRpc3BsYXk6IGdyaWQ7XHJcblx0Ly8gZ2FwOjAgb24gcHVycG9zZS4gQSBzaW5nbGUgYGdhcGAgZm9yY2VzIHRoZSBTQU1FIHNwYWNlIGJldHdlZW4gbWVkaWEtPm1ldGFcclxuXHQvLyBhbmQgbWV0YS0+dGl0bGUsIHdoaWNoIGlzIHdoYXQgbWFkZSB0aGUgZGF0ZSBmbG9hdCBiZXR3ZWVuIHR3byBlcXVhbCBnYXBzXHJcblx0Ly8gaW5zdGVhZCBvZiBzaXR0aW5nIHRpZ2h0IHVuZGVyIGl0LiBTcGFjaW5nIGlzIHNldCBwZXIgZWxlbWVudCBiZWxvdyBzbyB0aGVcclxuXHQvLyBtZXRhL3RpdGxlIHBhaXIgY2FuIGJlIGFzIHRpZ2h0IGFzIC5zaG9ydF9fYm9keSdzLCB3aGlsZSB0aGUgYXJ0d29yayBrZWVwc1xyXG5cdC8vIHJlYWwgc2VwYXJhdGlvbi5cclxuXHRnYXA6IDA7XHJcblx0YWxpZ24tY29udGVudDogc3RhcnQ7XHJcblxyXG5cdCZfX21lZGlhIHtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdG1hcmdpbi1ib3R0b206IHNwKDQpO1xyXG5cdFx0Ly8gMTYvOSBhdCBFVkVSWSBzaXplIOKAlCB3YXMgMTYvMTAgb24gZGVza3RvcCB0aWxlcywgd2hpY2ggY3JvcHBlZCBhXHJcblx0XHQvLyBZb3VUdWJlIGZyYW1lIGRpZmZlcmVudGx5IGZyb20gdGhlIGhvbWVwYWdlIHJvdydzIDE2LzkgKEpvZSxcclxuXHRcdC8vIDIwMjYtMDktMTQ6IFwidGhlIHRodW1iIGltYWdlIGlzIGFsd2F5cyB0aGUgc2FtZSBjcm9wXCIpLlxyXG5cdFx0YXNwZWN0LXJhdGlvOiAxNiAvIDk7XHJcblx0XHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xyXG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHRcdGJhY2tncm91bmQ6IHZhcigtLWJnLTMpO1xyXG5cclxuXHRcdGltZyB7XHJcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTsgICAvLyBhYm92ZSB0aGUgLS1hcnQgYmFja2Ryb3AgYmVsb3dcclxuXHRcdFx0ei1pbmRleDogMTtcclxuXHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdGhlaWdodDogMTAwJTtcclxuXHRcdFx0b2JqZWN0LWZpdDogY292ZXI7XHJcblx0XHRcdEBpbmNsdWRlIHpvb21hYmxlKC42cyk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQvLyBBIFNIT1JUIGluIGEgMTY6OSBjYXJkIChhIGd1ZXN0J3MgQXBwZWFyYW5jZXMsIHNlYXJjaCkgaXMgdmVydGljYWwgYXJ0XHJcblx0Ly8gaW4gYSBsYW5kc2NhcGUgZnJhbWUg4oCUIGBjb3ZlcmAgc2hvd2VkIGEgYmFuZCBhY3Jvc3MgaGlzIG1vdXRoLiBEbyB3aGF0XHJcblx0Ly8gWW91VHViZSBkb2VzIHdpdGggYSBwb3J0cmFpdCB1cGxvYWQgKEpvZSwgMjAyNi0wOS0xNCk6IHRoZSBhcnQgc2hyaW5rc1xyXG5cdC8vIHRvIHRoZSBmcmFtZSdzIEhFSUdIVCAoY29udGFpbiwgY2VudHJlZCkgYW5kIHRoZSBzYW1lIGltYWdlIGZpbGxzIHRoZVxyXG5cdC8vIGZyYW1lIGJlaGluZCBpdCwgYmxvd24gdXAgYW5kIGRpbW1lZCB+ODAlLiBUaGUgVVJMIGNvbWVzIGluIGFzIC0tYXJ0XHJcblx0Ly8gb24gdGhlIG1lZGlhIGJveCAoc2lnX2NhcmQpLCBzbyBubyBleHRyYSA8aW1nPiBhbmQgbm8gZXh0cmEgcmVxdWVzdCDigJRcclxuXHQvLyBpdCdzIHRoZSBzYW1lIGZpbGUgdGhlIGJyb3dzZXIgYWxyZWFkeSBoYXMuXHJcblx0Ji0tc2hvcnRzICZfX21lZGlhIHtcclxuXHRcdGJhY2tncm91bmQ6IHZhcigtLWJnLTMpO1xyXG5cdFx0aW1nIHsgb2JqZWN0LWZpdDogY29udGFpbjsgfVxyXG5cdFx0Jjo6YmVmb3JlIHtcclxuXHRcdFx0Y29udGVudDogXCJcIjtcclxuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRpbnNldDogMDtcclxuXHRcdFx0YmFja2dyb3VuZDogdmFyKC0tYXJ0KSBjZW50ZXIgLyBjb3ZlciBuby1yZXBlYXQ7XHJcblx0XHRcdGZpbHRlcjogYnJpZ2h0bmVzcyguMik7XHJcblx0XHRcdHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7ICAgLy8gaGlkZXMgdGhlIHNvZnQgZWRnZSBicmlnaHRuZXNzKCkgbGVhdmVzIGF0IHRoZSBmcmFtZVxyXG5cdFx0fVxyXG5cclxuXHRcdC8vIEJvdHRvbSBzY3JpbSBzbyBvdmVybGFpZCBjaGlwcyBzdGF5IGxlZ2libGUgb24gYW55IGFydHdvcmsuXHJcblx0XHQmOjphZnRlciB7XHJcblx0XHRcdGNvbnRlbnQ6IFwiXCI7XHJcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0aW5zZXQ6IGF1dG8gMCAwIDA7XHJcblx0XHRcdGhlaWdodDogNDUlO1xyXG5cdFx0XHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodHJhbnNwYXJlbnQsIHJnYmEoMCwgMCwgMCwgLjU1KSk7XHJcblx0XHRcdG9wYWNpdHk6IDA7XHJcblx0XHRcdHRyYW5zaXRpb246IG9wYWNpdHkgdmFyKC0tZHVyKSAkZWFzZTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdCY6aG92ZXIgJl9fbWVkaWEgaW1nIHsgQGluY2x1ZGUgem9vbWVkKDEuMDYpOyB9XHJcblx0Jjpob3ZlciAmX19tZWRpYTo6YWZ0ZXIgeyBvcGFjaXR5OiAxOyB9XHJcblxyXG5cdC8vIEJyYW5kLWJsdWUgcGlsbCDigJQgc2FtZSBzdHlsZSBhcyAuc2hvcnRfX21ldGEncyBkdXJhdGlvbiBwaWxsIChzZWVcclxuXHQvLyBfc2hvcnRzLnNjc3MpLCBvbiBKb2UncyBhc2sgMjAyNi0wOS0xMyBzbyBhbiBlcGlzb2RlIG51bWJlciBhbmQgYVxyXG5cdC8vIHNob3J0J3MgcnVubmluZyB0aW1lIHJlYWQgYXMgdGhlIHNhbWUgb2JqZWN0LiAtLWFjY2VudC8jZmZmIHJhdGhlclxyXG5cdC8vIHRoYW4gdGhlIHRyYW5zbHVjZW50L2JsdXJyZWQgY2hpcCB0aGlzIHJlcGxhY2VkOiB0aGF0IHJlYWQgYXMgYVxyXG5cdC8vIHZhZ3VlIG92ZXJsYXkgbGFiZWwsIG5vdCB0aGUgc2FtZSBraW5kIG9mIHRoaW5nIGFzIHRoZSB0aW1lIHBpbGwuXHJcblx0Ly8gVHdvIG92ZXJsYXkgcGlsbHMgb24gdGhlIGFydHdvcmssIG9uZSBvYmplY3QgaW4gdHdvIHBsYWNlcyAoSm9lJ3NcclxuXHQvLyBmaW5hbCBjYWxsLCAyMDI2LTA5LTEzLCBhZnRlciBmb3VyIGFycmFuZ2VtZW50cyk6IHRoZSBUWVBFIHRvcC1yaWdodCxcclxuXHQvLyB0aGUgZXBpc29kZSBudW1iZXIg4oCUIG9yIGEgc2hvcnQncyBydW5uaW5nIHRpbWUg4oCUIGJvdHRvbS1sZWZ0LiBPcHBvc2l0ZSBjb3JuZXJzLCBzbyBuZWl0aGVyIGZpZ2h0c1xyXG5cdC8vIHRoZSBhcnR3b3JrJ3Mgb3duIHRpdGxlIHRleHQgKFlvdVR1YmUgZnJhbWVzIHB1dCBpdCB0b3AtbGVmdCkuIFRoZVxyXG5cdC8vIHR5cGUgb25seSBleGlzdHMgb24gbWl4ZWQgZ3JpZHMgKGEgZ3Vlc3QncyBBcHBlYXJhbmNlcyk7IG9uIC9lcGlzb2Rlcy9cclxuXHQvLyB0aGUgbnVtYmVyIHNpdHMgYWxvbmUgYm90dG9tLWxlZnQgYW5kIG5ldmVyIG1vdmVzLiBCb3R0b20tcmlnaHQgc3RheXNcclxuXHQvLyBjbGVhciBmb3IgLmNhcmRfX3BsYXkuIFNhbWUgZmFjZSwgc2l6ZSBhbmQgZmlsbCwgc28gXCJFUC4gOFwiIGFuZFxyXG5cdC8vIFwiRXBpc29kZVwiIHJlYWQgYXMgb25lIGZhbWlseS4gQnJhbmQgYmx1ZSwgbm90IHRoZSB0cmFuc2x1Y2VudCBjaGlwXHJcblx0Ly8gdGhpcyByZXBsYWNlZC5cclxuXHQmX19waWxsLFxyXG5cdCZfX2NoaXAge1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0ei1pbmRleDogMjtcclxuXHRcdEBpbmNsdWRlIGxhYmVsO1xyXG5cdFx0cGFkZGluZzogLjE2ZW0gLjYyZW07XHJcblx0XHRib3JkZXItcmFkaXVzOiA5OTlweDtcclxuXHRcdGJhY2tncm91bmQ6IHZhcigtLWFjY2VudCk7XHJcblx0XHRjb2xvcjogI2ZmZjtcclxuXHR9XHJcblxyXG5cdC8vIEludmVydGVkIOKAlCB3aGl0ZSBvbiBibHVlIHdvdWxkIG1ha2UgdGhlIHR5cGUgcmVhZCBhcyBhIHNlY29uZCBudW1iZXJcclxuXHQvLyBjaGlwOyBibHVlIG9uIHdoaXRlIHRlbGxzIHRoZW0gYXBhcnQgYXQgYSBnbGFuY2UgKEpvZSwgMjAyNi0wOS0xMykuXHJcblx0Jl9fcGlsbCB7XHJcblx0XHQvLyAzcHggQ0xPU0VSIHRvIHRoZSBjb3JuZXIgdGhhbiB0aGUgY2hpcCdzIGluc2V0IOKAlCBcIm1vdmUgdGhlIHR5cGVcclxuXHRcdC8vIHBpbGwgaW4gYSBjb3VwbGUgcGl4ZWxzXCIgKEpvZSwgMjAyNi0wOS0xNCkuIFwiSW5cIiBoZXJlIG1lYW5zIHRvd2FyZFxyXG5cdFx0Ly8gdGhlIGVkZ2U6IHRoZSBmaXJzdCBwYXNzIHdlbnQgdGhlIG90aGVyIHdheSBhbmQgZ290IGEgXCJub3Qgb3V0IGxvbFwiLlxyXG5cdFx0Ly8gVG9wLUxFRlQuIFdlbnQgbGVmdCDihpIgcmlnaHQg4oaSIGxlZnQgaW5zaWRlIHR3ZW50eSBtaW51dGVzIG9uXHJcblx0XHQvLyAyMDI2LTA5LTE0IChcImJhY2sgdG8gdGhlIGxlZnQgc2lkZSB3aXRoIHRoZSBwaWxsIGxvbCBzb3JyeVwiKTtcclxuXHRcdC8vIGxlZnQgaXMgdGhlIGZpbmFsIGNhbGwuIE92ZXIgdGhlIG51bWJlciBjaGlwIGF0IGJvdHRvbS1sZWZ0LCBzb1xyXG5cdFx0Ly8gdGhlIHR3byBsYWJlbHMgc2hhcmUgb25lIGVkZ2UgYW5kIHRoZSBwbGF5IGJ1dHRvbiBrZWVwcyB0aGUgcmlnaHQuXHJcblx0XHR0b3A6IGNhbGMoI3tzcCgzKX0gLSAzcHgpO1xyXG5cdFx0bGVmdDogY2FsYygje3NwKDMpfSAtIDNweCk7XHJcblx0XHRiYWNrZ3JvdW5kOiAjZmZmO1xyXG5cdFx0Y29sb3I6ICMxMTE7ICAgLy8gYmxhY2sgb24gd2hpdGUsIG5vdCBhY2NlbnQg4oCUIEpvZSwgMjAyNi0wOS0xMy4gRml4ZWQsIG5vdCB2YXIoLS1pbmspOiBpdCBzaXRzIG9uIGFydHdvcmssIG5vdCB0aGUgcGFnZS5cclxuXHR9XHJcblx0Jl9fY2hpcCB7IGJvdHRvbTogc3AoMyk7IGxlZnQ6IHNwKDMpOyB9XHJcblxyXG5cdC8vIE9uIHRoZSBtb2JpbGUgcm93IHRoZSBhcnR3b3JrIGlzIDM4dncgKH4xNTBweCkgYW5kIHRoZSBwaWxscyBrZXB0IHRoZWlyXHJcblx0Ly8gZGVza3RvcCBzaXplIOKAlCBcIkVQLiA4XCIgY292ZXJlZCBhIHRoaXJkIG9mIHRoZSBmcmFtZSAoXCJ0aGUgcGlsbHMgbmVlZCB0b1xyXG5cdC8vIGJlIGEgYml0IHNtYWxsZXJcIiwgSm9lLCAyMDI2LTA5LTE0KS4gU3RlcCB0aGUgZmFjZSBkb3duIGFuZCBwdWxsIHRoZVxyXG5cdC8vIGluc2V0cyBpbiB0byBtYXRjaDsgdGhlIGxhYmVsIG1peGluJ3MgY2xhbXAgaXMgZm9yIGEgZnVsbC13aWR0aCB0aWxlLlxyXG5cdEBpbmNsdWRlIGF0KG1kKSB7XHJcblx0XHQmX19waWxsLCAmX19jaGlwIHsgZm9udC1zaXplOiAuNzJyZW07IHBhZGRpbmc6IC4xOGVtIC41NWVtOyB9XHJcblx0XHQmX19waWxsIHsgdG9wOiBjYWxjKCN7c3AoMil9IC0gM3B4KTsgbGVmdDogY2FsYygje3NwKDIpfSAtIDNweCk7IH1cclxuXHRcdC8vIOKblCBUaGUgbnVtYmVyIHBpbGwgU1RBWVMgT04gdGhlIGFydHdvcmssIGJvdHRvbS1sZWZ0LCBzYW1lIGFzXHJcblx0XHQvLyBkZXNrdG9wLiBIYW5naW5nIGl0IG91dHNpZGUgdGhlIHRodW1ibmFpbCB3YXMgdHJpZWQgYm90aCB3YXlzIG9uXHJcblx0XHQvLyAyMDI2LTA5LTE0IChhYm92ZSB0b3AtbGVmdCwgdGhlbiB0b3AtcmlnaHQpIGFuZCByZXZlcnRlZCB3aXRoaW5cclxuXHRcdC8vIG1pbnV0ZXMgKFwiTlZNIHB1dCB0aGUgcGlsbCBiYWNrIGluc2lkZVwiKSDigJQgb2ZmIHRoZSBpbWFnZSBpdCByZWFkXHJcblx0XHQvLyBhcyBhIHN0cmF5IGxhYmVsIGJldHdlZW4gcm93cywgbm90IGFzIHRoZSBlcGlzb2RlJ3MgbnVtYmVyLlxyXG5cdFx0Jl9fY2hpcCB7IGJvdHRvbTogc3AoMik7IGxlZnQ6IHNwKDIpOyB9XHJcblx0fVxyXG5cclxuXHQvLyBQbGF5IGFmZm9yZGFuY2UgZm9yIHZpZGVvL2NsaXAgY2FyZHMuXHJcblx0Jl9fcGxheSB7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRyaWdodDogc3AoMyk7XHJcblx0XHRib3R0b206IHNwKDMpO1xyXG5cdFx0ei1pbmRleDogMjtcclxuXHRcdGRpc3BsYXk6IGdyaWQ7XHJcblx0XHRwbGFjZS1pdGVtczogY2VudGVyO1xyXG5cdFx0d2lkdGg6IDQ2cHg7XHJcblx0XHRoZWlnaHQ6IDQ2cHg7XHJcblx0XHRib3JkZXItcmFkaXVzOiA5OTlweDtcclxuXHRcdGJhY2tncm91bmQ6IHZhcigtLWFjY2VudCk7XHJcblx0XHRjb2xvcjogdmFyKC0tb24tYWNjZW50KTtcclxuXHRcdHRyYW5zZm9ybTogc2NhbGUoLjcpO1xyXG5cdFx0b3BhY2l0eTogMDtcclxuXHRcdHRyYW5zaXRpb246IHRyYW5zZm9ybSAuNHMgJGVhc2Utb3V0LCBvcGFjaXR5IC4zcyAkZWFzZTtcclxuXHJcblx0XHRzdmcgeyB3aWR0aDogMTRweDsgaGVpZ2h0OiAxNHB4OyBtYXJnaW4tbGVmdDogMnB4OyB9XHJcblx0fVxyXG5cclxuXHQmOmhvdmVyICZfX3BsYXkgeyB0cmFuc2Zvcm06IHNjYWxlKDEpOyBvcGFjaXR5OiAxOyB9XHJcblxyXG5cdC8vID0gLmVwX19lcCBhbmQgLnNob3J0X19tZXRhIOKAlCBhbGwgdGhyZWUgc2hhcmUgQGluY2x1ZGUgbGFiZWwsIHNvIGEgYmxvZ1xyXG5cdC8vIGRhdGUsIGFuIGVwaXNvZGUgbnVtYmVyIGFuZCBhIHNob3J0J3MgZHVyYXRpb24gcmVhZCBhcyB0aGUgc2FtZSBvYmplY3QuXHJcblx0Jl9fbWV0YSB7XHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRcdGdhcDogc3AoMyk7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAuM2VtO1xyXG5cdFx0QGluY2x1ZGUgbGFiZWw7XHJcblx0XHRjb2xvcjogdmFyKC0tYWNjZW50LWluayk7XHJcblxyXG5cdFx0Ly8gVGhlIG51bWJlciBpcyBvbiB0aGUgYXJ0d29yayBjaGlwIGF0IHRoaXMgc2l6ZSDigJQgbmV2ZXIgdHdpY2UuXHJcblx0XHQuY2FyZF9fZXAgeyBkaXNwbGF5OiBub25lOyB9XHJcblx0fVxyXG5cclxuXHQvLyBEaXNwbGF5IGZhY2UsIDkwMCwgdXBwZXJjYXNlIOKAlCBzYW1lIGFzIC5zaG9ydF9fdGl0bGUgYW5kIC5lcF9fdGl0bGUuXHJcblx0Ly9cclxuXHQvLyBmbHVpZCgxOCwgMjgpIHJhdGhlciB0aGFuIGEgc2VwYXJhdGUgY2xhbXAoKTogLmVwX190aXRsZSB1c2VzIGZsdWlkKDIwLCA0MClcclxuXHQvLyBhbmQgdGhlc2Ugc2l0IGluIGEgbmFycm93ZXIgZ3JpZCBjb2x1bW4sIHNvIHRoaXMgaXMgdGhlIHNhbWUgY3VydmUgb25lXHJcblx0Ly8gc3RlcCBkb3duLiBUaGUgb2xkIGNsYW1wKCkgcmFuIH4yMHB4IG9uIGEgcGhvbmUgYWdhaW5zdCB0aGUgZXBpc29kZVxyXG5cdC8vIHRpdGxlJ3MgfjE2cHgsIHdoaWNoIGlzIHdoeSB0aGUgdHdvIHNlY3Rpb25zIGxvb2tlZCB1bnJlbGF0ZWQuXHJcblx0Jl9fdGl0bGUge1xyXG5cdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XHJcblx0XHRmb250LXNpemU6IGZsdWlkKDE4LCAyOCk7XHJcblx0XHRmb250LXdlaWdodDogOTAwO1xyXG5cdFx0bGluZS1oZWlnaHQ6IGNhbGMoMS4wNSAqIHZhcigtLWRpc3BsYXktbGVhZGluZykpO1xyXG5cdFx0bGV0dGVyLXNwYWNpbmc6IC0uMDJlbTtcclxuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0XHR0cmFuc2l0aW9uOiBjb2xvciB2YXIoLS1kdXItZmFzdCkgJGVhc2U7XHJcblxyXG5cdFx0Ly8gSWRlbnRpY2FsIHRvIC5lcF9fdGl0bGUgYmVsb3cgbWQuXHJcblx0XHRAaW5jbHVkZSBhdChtZCkge1xyXG5cdFx0XHRmb250LXNpemU6IGNsYW1wKDEuMDJyZW0sIDMuNHZ3LCAxLjM1cmVtKTtcclxuXHRcdFx0bGluZS1oZWlnaHQ6IGNhbGMoMS4wNSAqIHZhcigtLWRpc3BsYXktbGVhZGluZykpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Jjpob3ZlciAmX190aXRsZSB7IGNvbG9yOiB2YXIoLS1hY2NlbnQtaW5rKTsgfVxyXG5cclxuXHQvLyDilIDilIAgTW9iaWxlOiBiZWNvbWUgYW4gZXBpc29kZSByb3cg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXHJcblx0Ly8gIEJlbG93IG1kIHRoZSBzdGFja2VkIGNhcmQgdHVybnMgaW50byB0aGUgZXhhY3Qgc2FtZSB0d28tY29sdW1uIHJvdyBhc1xyXG5cdC8vICAuZXAg4oCUIGFydHdvcmsgbGVmdCBzcGFubmluZyBhbGwgdGhyZWUgdGV4dCByb3dzLCBtZXRhIC8gdGl0bGUgLyBleGNlcnB0XHJcblx0Ly8gIHN0YWNrZWQgYmVzaWRlIGl0LiBFdmVyeSB2YWx1ZSBoZXJlIGlzIGxpZnRlZCBmcm9tIF9pbmRleC5zY3NzIHJhdGhlclxyXG5cdC8vICB0aGFuIHJlLWd1ZXNzZWQ6IDM4dncsIDE2OjksIHNwKDQpIGNvbHVtbiBnYXAsIGNlbnRyZS1hbGlnbmVkIGFydHdvcmsuXHJcblx0Ly9cclxuXHQvLyAgVGhpcyBhbHNvIGFwcGxpZXMgdG8gdGhlIGFyY2hpdmUvc2VhcmNoIGNhcmRzIGluIGluZGV4LnBocCwgd2hpY2ggdXNlXHJcblx0Ly8gIHRoZSBzYW1lIG1hcmt1cCDigJQgZGVsaWJlcmF0ZWx5LCBzbyBsaXN0aW5ncyBsb29rIHRoZSBzYW1lIGV2ZXJ5d2hlcmUuXHJcblx0QGluY2x1ZGUgYXQobWQpIHtcclxuXHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byBtaW5tYXgoMCwgMWZyKTtcclxuXHRcdGdyaWQtdGVtcGxhdGUtcm93czogYXV0byBhdXRvIGF1dG87XHJcblx0XHRjb2x1bW4tZ2FwOiBzcCg0KTtcclxuXHRcdHJvdy1nYXA6IDA7XHJcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0Ly8gPSAuZXA6IHNhbWUgdmVydGljYWwgcmh5dGhtIGFuZCB0aGUgc2FtZSBydWxlIHVuZGVyIGVhY2ggcm93LCBzb1xyXG5cdFx0Ly8gL2VwaXNvZGVzLyBhbmQgdGhlIGhvbWVwYWdlIGxpc3QgYXJlIHRoZSBzYW1lIG9iamVjdCBvbiBhIHBob25lLlxyXG5cdFx0cGFkZGluZy1ibG9jazogY2xhbXAoMS41cmVtLCAyLjZ2dywgMi41cmVtKTtcclxuXHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1saW5lKTtcclxuXHJcblx0XHQuY2FyZF9fbWVkaWEge1xyXG5cdFx0XHRncmlkLWNvbHVtbjogMTtcclxuXHRcdFx0Z3JpZC1yb3c6IDEgLyBzcGFuIDM7XHJcblx0XHRcdGFsaWduLXNlbGY6IGNlbnRlcjtcclxuXHRcdFx0d2lkdGg6IDM4dnc7XHJcblx0XHRcdGFzcGVjdC1yYXRpbzogMTYgLyA5OyAgIC8vID0gLmVwX190aHVtYlxyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xyXG5cdFx0XHRib3JkZXItcmFkaXVzOiAxMHB4OyAgICAvLyA9IC5lcF9fdGh1bWJcclxuXHRcdH1cclxuXHJcblx0XHQvLyBNb2JpbGUgcm93ID0gdGl0bGUsIHRoZW4gdGhlIERBVEUgd2hlcmUgdGhlIGV4Y2VycHQgd2FzLCBpbiB0aGVcclxuXHRcdC8vIGV4Y2VycHQncyB2b2ljZSAoSm9lLCAyMDI2LTA5LTE0OiBcInJlcGxhY2UgdGhlIHNob3J0IGRlc2NyaXB0aW9uXHJcblx0XHQvLyB3aXRoIHRoZSBwb3N0IGRhdGUgaW4gdGhlIHNhbWUgdGV4dCBzdHlsZSBhcyB0aGUgc2hvcnRcclxuXHRcdC8vIGRlc2NyaXB0aW9uXCIpLiBUaGUgYmx1ZSBsYWJlbCBkYXRlIGFib3ZlIHRoZSB0aXRsZSBnb2VzIOKAlCBzYW1lXHJcblx0XHQvLyBmYWN0IHR3aWNlLiBUaGUgZXhjZXJwdCBpcyBoaWRkZW4sIG5vdCByZW1vdmVkOiBkZXNrdG9wIGFuZCB0aGVcclxuXHRcdC8vIG1hcmt1cCBrZWVwIGl0LiBTYW1lIERPTSwgcmUtc2xvdHRlZCBieSBncmlkLXJvdy5cclxuXHRcdC8vIFRoZW4gXCJwdXQgdGhlIEVQICMgb24gdG9wIGxpa2UgdGhlIGhvbWUgcGFnZSBkb2VzXCI6IHRoZSBudW1iZXJcclxuXHRcdC8vIGNvbWVzIG91dCBvZiB0aGUgYXJ0d29yayBjaGlwIGFuZCBzaXRzIGFib3ZlIHRoZSB0aXRsZSBhcyB0aGVcclxuXHRcdC8vIHNhbWUgYmx1ZSBsYWJlbCB0aGUgaG9tZXBhZ2UgLmVwX19lcCB1c2VzLiAuY2FyZF9fbWV0YSBiZWNvbWVzXHJcblx0XHQvLyBkaXNwbGF5OiBjb250ZW50cyBzbyBpdHMgdHdvIHNwYW5zIGNhbiB0YWtlIHRoZWlyIG93biBncmlkIHJvd3MuXHJcblx0XHQuY2FyZF9fY2hpcCAgICB7IGRpc3BsYXk6IG5vbmU7IH1cclxuXHRcdC5jYXJkX19tZXRhICAgIHsgZGlzcGxheTogY29udGVudHM7IH1cclxuXHRcdC5jYXJkX19lcCB7XHJcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRncmlkLWNvbHVtbjogMjtcclxuXHRcdFx0Z3JpZC1yb3c6IDE7XHJcblx0XHRcdGFsaWduLXNlbGY6IGVuZDtcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogLjNlbTtcclxuXHRcdFx0QGluY2x1ZGUgbGFiZWw7XHJcblx0XHRcdGZvbnQtc2l6ZTogLjg0cmVtOyAgIC8vIDFweCB1bmRlciB0aGUgY2xhbXAgZmxvb3Ig4oCUID0gLmVwX19lcCBvbiBwaG9uZXNcclxuXHRcdFx0Y29sb3I6IHZhcigtLWFjY2VudC1pbmspO1xyXG5cdFx0fVxyXG5cdFx0LmNhcmRfX3RpdGxlICAgeyBncmlkLWNvbHVtbjogMjsgZ3JpZC1yb3c6IDI7IGFsaWduLXNlbGY6IGNlbnRlcjsgfVxyXG5cdFx0LmNhcmRfX2RhdGUge1xyXG5cdFx0XHRncmlkLWNvbHVtbjogMjtcclxuXHRcdFx0Z3JpZC1yb3c6IDM7XHJcblx0XHRcdGFsaWduLXNlbGY6IHN0YXJ0O1xyXG5cdFx0XHQvLyA9IC5jYXJkX19leGNlcnB0IGJlbG93IG1kLiBUaGUgZmFjZSBpcyBuYW1lZCwgbm90IGluaGVyaXRlZCDigJRcclxuXHRcdFx0Ly8gYGluaGVyaXRgIHB1bGxlZCB0aGUgZGlzcGxheSBmYWNlIChNb2RpY2EgQmxhY2spIGRvd24gZnJvbVxyXG5cdFx0XHQvLyAuY2FyZF9fbWV0YSdzIGxhYmVsIG1peGluIGFuZCB0aGUgZGF0ZSBjYW1lIG91dCBib2xkLlxyXG5cdFx0XHRtYXJnaW46IC40ZW0gMCAwO1xyXG5cdFx0XHRmb250LWZhbWlseTogdmFyKC0tZm9udC1ib2R5KTtcclxuXHRcdFx0Zm9udC1zaXplOiAuODZyZW07XHJcblx0XHRcdGZvbnQtd2VpZ2h0OiA0MDA7XHJcblx0XHRcdGxpbmUtaGVpZ2h0OiAxLjQ1O1xyXG5cdFx0XHRsZXR0ZXItc3BhY2luZzogMDtcclxuXHRcdFx0dGV4dC10cmFuc2Zvcm06IG5vbmU7XHJcblx0XHRcdGNvbG9yOiB2YXIoLS1pbmstMik7XHJcblx0XHR9XHJcblx0XHQuY2FyZF9fZXhjZXJwdCB7IGRpc3BsYXk6IG5vbmU7IH1cclxuXHR9XHJcblxyXG5cdC8vID0gLmVwX19leGNlcnB0IChzaXplLCBsZWFkaW5nLCAyLWxpbmUgY2xhbXAsIG1vYmlsZSBzdGVwLWRvd24pLlxyXG5cdCZfX2V4Y2VycHQge1xyXG5cdFx0bWFyZ2luLXRvcDogLjVlbTtcclxuXHRcdGZvbnQtc2l6ZTogLjk1cmVtO1xyXG5cdFx0bGluZS1oZWlnaHQ6IDEuNTtcclxuXHRcdGNvbG9yOiB2YXIoLS1pbmstMik7XHJcblx0XHRkaXNwbGF5OiAtd2Via2l0LWJveDtcclxuXHRcdC13ZWJraXQtbGluZS1jbGFtcDogMjtcclxuXHRcdC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XHJcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cclxuXHRcdEBpbmNsdWRlIGF0KG1kKSB7XHJcblx0XHRcdGZvbnQtc2l6ZTogLjg2cmVtO1xyXG5cdFx0XHRsaW5lLWhlaWdodDogMS40NTtcclxuXHRcdFx0bWFyZ2luLXRvcDogLjRlbTtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi8vIOKUgOKUgCBHdWVzdCBjYXJkIOKAlCBjaXJjdWxhciwgdGlnaHRlciDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcclxuLmd1ZXN0IHtcclxuXHRkaXNwbGF5OiBncmlkO1xyXG5cdGp1c3RpZnktaXRlbXM6IGNlbnRlcjtcclxuXHRnYXA6IHNwKDMpO1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHJcblx0Jl9fcGhvdG8ge1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0d2lkdGg6IGNsYW1wKDExMHB4LCAxMnZ3LCAxNjhweCk7XHJcblx0XHRhc3BlY3QtcmF0aW86IDE7XHJcblx0XHRib3JkZXItcmFkaXVzOiA5OTlweDtcclxuXHRcdG92ZXJmbG93OiBoaWRkZW47XHJcblx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1iZy0zKTtcclxuXHRcdC8vIFJpbmcgYXBwZWFycyBvbiBob3ZlciBpbnN0ZWFkIG9mIHNpdHRpbmcgdGhlcmUgcGVybWFuZW50bHkuXHJcblx0XHRib3gtc2hhZG93OiAwIDAgMCAwIHZhcigtLWFjY2VudCk7XHJcblx0XHR0cmFuc2l0aW9uOiBib3gtc2hhZG93IC40cyAkZWFzZS1vdXQ7XHJcblxyXG5cdFx0Ly8g4pqgIEFCU09MVVRFLCBub3Qgd2lkdGg6MTAwJS4gSW4gLmdyaWQtLWd1ZXN0cyB0aGUgY2lyY2xlIGlzIHNpemVkIGJ5XHJcblx0XHQvLyBpdHMgdHJhY2ssIGFuZCBhbiBpbi1mbG93IDxpbWc+IGhhbmRzIHRoZSB0cmFjayBpdHMgSU5UUklOU0lDIHdpZHRoXHJcblx0XHQvLyAoNTAwcHgsIHRoZSBjcm9wKSBhcyBhIG1pbmltdW0g4oCUIGEgYDFmcmAgdHJhY2sgY2FuJ3Qgc2hyaW5rIGJlbG93XHJcblx0XHQvLyBpdHMgY29udGVudCdzIG1pbi1jb250ZW50LCBzbyB0cmFja3MgYmFsbG9vbmVkIHRvIDUwMHB4IGFuZCBhXHJcblx0XHQvLyAxOTAwcHggc2hlbGwgZml0IHR3byBvZiB0aGVtICgyMDI2LTA5LTEzKS4gT3V0IG9mIGZsb3csIHRoZSBpbWFnZVxyXG5cdFx0Ly8gY29udHJpYnV0ZXMgbm90aGluZyBhbmQgdGhlIHJhdGlvIGJveCBhbG9uZSBzZXRzIHRoZSBzaXplLlxyXG5cdFx0aW1nIHtcclxuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRpbnNldDogMDtcclxuXHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdGhlaWdodDogMTAwJTtcclxuXHRcdFx0b2JqZWN0LWZpdDogY292ZXI7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQvLyDimqAgUmluZyBvbmx5IG9uIHRoZSBMSU5LIGZvcm0uIEEgcGhvdG8tb25seSBndWVzdCBpcyBhIDxkaXYgY2xhc3M9XCJndWVzdFxyXG5cdC8vIGd1ZXN0LS1zdGF0aWNcIj4gd2l0aCBubyBocmVmIChKb2UsIDIwMjYtMDktMTM6IFwibm8gaG92ZXIgZWZmZWN0IGxpa2UgdGhlXHJcblx0Ly8gb25lcyB0aGF0IGRvIGhhdmUgb3RoZXIgc3R1ZmYgZmlsbGVkIGluXCIpOyBsaWdodGluZyBpdCB1cCBwcm9taXNlcyBhIHBhZ2VcclxuXHQvLyB0aGF0IGlzbid0IHRoZXJlIOKAlCBzYW1lIHJ1bGUgYXMgLmNsb3VkX190ZXJtLS1zdGF0aWMuXHJcblx0QGluY2x1ZGUgY2FuLWhvdmVyIHtcclxuXHRcdEBhdC1yb290IGEjeyZ9OmhvdmVyIC5ndWVzdF9fcGhvdG8geyBib3gtc2hhZG93OiAwIDAgMCA0cHggdmFyKC0tYWNjZW50KTsgfVxyXG5cdFx0Ly8gTmFtZSBnb2VzIGJsdWUgd2l0aCB0aGUgcmluZyDigJQgSm9lLCAyMDI2LTA5LTEzLCBcIm5vdCBqdXN0IHRoZSBjaXJjbGUgc3Ryb2tlXCIuXHJcblx0XHRAYXQtcm9vdCBhI3smfTpob3ZlciAuZ3Vlc3RfX25hbWUgIHsgY29sb3I6IHZhcigtLWFjY2VudC1pbmspOyB9XHJcblx0fVxyXG5cclxuXHQvLyBEaW1tZWQsIHNvIGEgZmFjZSB3aXRob3V0IGEgcGFnZSByZWFkcyBhcyBcIm5vdCB5ZXRcIiBuZXh0IHRvIHRoZSBvbmVzXHJcblx0Ly8geW91IGNhbiBvcGVuIOKAlCBKb2UsIDIwMjYtMDktMTMuIFdob2xlIGNhcmQsIG5vdCBqdXN0IHRoZSBuYW1lLCBvciB0aGVcclxuXHQvLyBwaG90byBsb29rcyBhcyBjbGlja2FibGUgYXMgaXRzIG5laWdoYm91cnMuXHJcblx0Ji0tc3RhdGljIHtcclxuXHRcdGN1cnNvcjogZGVmYXVsdDtcclxuXHRcdG9wYWNpdHk6IC40NTtcclxuXHRcdC0tcmVzdC1vcGFjaXR5OiAuNDU7ICAgLy8gc2VlIF9tb3Rpb24uc2NzcyDigJQgdGhlIHJldmVhbCB3b3VsZCBvdGhlcndpc2UgcmVzdG9yZSAxXHJcblx0fVxyXG5cclxuXHQmX19uYW1lIHtcclxuXHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xyXG5cdFx0Zm9udC1zaXplOiAxLjA1cmVtO1xyXG5cdFx0Zm9udC13ZWlnaHQ6IDkwMDtcclxuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0XHRsZXR0ZXItc3BhY2luZzogLS4wMWVtO1xyXG5cdFx0dHJhbnNpdGlvbjogY29sb3IgdmFyKC0tZHVyLWZhc3QpICRlYXNlO1xyXG5cdH1cclxuXHJcblx0Jl9fcm9sZSB7XHJcblx0XHRmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vKTtcclxuXHRcdGZvbnQtc2l6ZTogLjY2cmVtO1xyXG5cdFx0bGV0dGVyLXNwYWNpbmc6IC4xMmVtO1xyXG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRcdGNvbG9yOiB2YXIoLS1pbmstMyk7XHJcblx0fVxyXG59XHJcblxyXG4vLyDilIDilIAgRmVhdHVyZSBibG9jayDigJQgdGhlIFwibGF0ZXN0XCIgY2FsbG91dCDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcclxuLmZlYXR1cmUge1xyXG5cdGRpc3BsYXk6IGdyaWQ7XHJcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMCwgMS4xNWZyKSBtaW5tYXgoMCwgLjg1ZnIpO1xyXG5cdGdhcDogY2xhbXAoMS41cmVtLCA0dncsIDRyZW0pO1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0cGFkZGluZzogY2xhbXAoMS41cmVtLCAzdncsIDNyZW0pO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpbmUpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1sZyk7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmctMik7XHJcblxyXG5cdEBpbmNsdWRlIGF0KGxnKSB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOyB9XHJcblxyXG5cdCZfX21lZGlhIHtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdGFzcGVjdC1yYXRpbzogMTYgLyA5O1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcclxuXHRcdG92ZXJmbG93OiBoaWRkZW47XHJcblx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1iZy0zKTtcclxuXHJcblx0XHRpbWcgeyB3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlOyBvYmplY3QtZml0OiBjb3ZlcjsgfVxyXG5cdH1cclxuXHJcblx0Jl9fYm9keSB7IGRpc3BsYXk6IGdyaWQ7IGdhcDogc3AoNCk7IGFsaWduLWNvbnRlbnQ6IGNlbnRlcjsgfVxyXG5cclxuXHQmX190aXRsZSB7XHJcblx0XHRmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcclxuXHRcdGZvbnQtc2l6ZTogZmx1aWQoMjgsIDY4KTtcclxuXHRcdGZvbnQtd2VpZ2h0OiA5MDA7XHJcblx0XHRsaW5lLWhlaWdodDogY2FsYyguOTQgKiB2YXIoLS1kaXNwbGF5LWxlYWRpbmcpKTtcclxuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0XHRsZXR0ZXItc3BhY2luZzogLS4wM2VtO1xyXG5cdH1cclxufVxyXG4iLCJAdXNlIFwidG9rZW5zXCIgYXMgKjtcclxuXHJcbi8vIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxyXG4vLyAgUFJPU0Ug4oCUIGxvbmctZm9ybSBhcnRpY2xlIGJvZHlcclxuLy9cclxuLy8gIFNjb3BlZCB0byAucHJvc2Ugc28gZWRpdG9yIGNvbnRlbnQgY2FuIG5ldmVyIGxlYWsgdGhlc2UgcnVsZXMgaW50byB0aGVcclxuLy8gIGNvbXBvbmVudCBsYXllci4gU2l6ZWQgaW4gY2gsIG5vdCBweDogbWVhc3VyZSBpcyB3aGF0IG1ha2VzIGJvZHkgY29weVxyXG4vLyAgcmVhZGFibGUsIGFuZCBpdCBzaG91bGQgaG9sZCByZWdhcmRsZXNzIG9mIHRoZSBmb250IHRoYXQgZW5kcyB1cCBsb2FkaW5nLlxyXG4vLyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcclxuXHJcbi5wcm9zZSB7XHJcblx0Ly8gTm8gbWVhc3VyZSBjYXAuIEl0IHdhcyA2OGNoIChyZWFkYWJpbGl0eSk7IEpvZSBwdWxsZWQgaXQgMjAyNi0wOS0xMyDigJRcclxuXHQvLyBcIm1ha2UgaXQgc3BhbiBpdCwgaWRjXCIg4oCUIGFmdGVyIHNlZWluZyBhIGd1ZXN0IGJpbyBzdG9wIHNob3J0IG9mIHRoZVxyXG5cdC8vIHNpZGViYXIuIFRoZSBjb250ZW50IGNvbHVtbidzIG93biB3aWR0aCBpcyB0aGUgbGltaXQgbm93LlxyXG5cdG1heC13aWR0aDogbm9uZTtcclxuXHRmb250LXNpemU6IGNsYW1wKDEuMDVyZW0sIC40dncgKyAuOTZyZW0sIDEuMTZyZW0pO1xyXG5cdGxpbmUtaGVpZ2h0OiAxLjc7XHJcblx0Y29sb3I6IHZhcigtLWluay0yKTtcclxuXHJcblx0PiAqICsgKiB7IG1hcmdpbi10b3A6IDEuMzVlbTsgfVxyXG5cclxuXHRoMiwgaDMsIGg0IHtcclxuXHRcdGNvbG9yOiB2YXIoLS1pbmspO1xyXG5cdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XHJcblx0XHRmb250LXdlaWdodDogOTAwO1xyXG5cdFx0bGluZS1oZWlnaHQ6IGNhbGMoMS4wNSAqIHZhcigtLWRpc3BsYXktbGVhZGluZykpO1xyXG5cdFx0bGV0dGVyLXNwYWNpbmc6IC0uMDI1ZW07XHJcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdFx0bWFyZ2luLXRvcDogMi4yZW07XHJcblx0fVxyXG5cclxuXHRoMiB7IGZvbnQtc2l6ZTogY2xhbXAoMS42cmVtLCAyLjR2dywgMi40cmVtKTsgfVxyXG5cdGgzIHsgZm9udC1zaXplOiBjbGFtcCgxLjNyZW0sIDEuOHZ3LCAxLjdyZW0pOyB9XHJcblx0aDQgeyBmb250LXNpemU6IDEuMTVyZW07IH1cclxuXHJcblx0c3Ryb25nIHsgY29sb3I6IHZhcigtLWluayk7IGZvbnQtd2VpZ2h0OiA3MDA7IH1cclxuXHJcblx0YSB7XHJcblx0XHRjb2xvcjogdmFyKC0taW5rKTtcclxuXHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG5cdFx0dGV4dC1kZWNvcmF0aW9uLWNvbG9yOiB2YXIoLS1hY2NlbnQpO1xyXG5cdFx0dGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAuMThlbTtcclxuXHRcdHRleHQtZGVjb3JhdGlvbi10aGlja25lc3M6IDJweDtcclxuXHRcdHRyYW5zaXRpb246IGNvbG9yIHZhcigtLWR1ci1mYXN0KSAkZWFzZTtcclxuXHJcblx0XHQmOmhvdmVyIHsgY29sb3I6IHZhcigtLWFjY2VudC1pbmspOyB9XHJcblx0fVxyXG5cclxuXHR1bCwgb2wgeyBwYWRkaW5nLWxlZnQ6IDEuNGVtOyB9XHJcblx0bGkgKyBsaSB7IG1hcmdpbi10b3A6IC41ZW07IH1cclxuXHRsaTo6bWFya2VyIHsgY29sb3I6IHZhcigtLWFjY2VudC1pbmspOyB9XHJcblxyXG5cdGJsb2NrcXVvdGUge1xyXG5cdFx0bWFyZ2luLWlubGluZTogMDtcclxuXHRcdHBhZGRpbmctbGVmdDogc3AoNSk7XHJcblx0XHRib3JkZXItbGVmdDogMnB4IHNvbGlkIHZhcigtLWFjY2VudCk7XHJcblx0XHRmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcclxuXHRcdGZvbnQtc2l6ZTogY2xhbXAoMS4zcmVtLCAydncsIDEuOXJlbSk7XHJcblx0XHRmb250LXdlaWdodDogOTAwO1xyXG5cdFx0bGluZS1oZWlnaHQ6IDEuMTU7XHJcblx0XHRsZXR0ZXItc3BhY2luZzogLS4wMmVtO1xyXG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRcdGNvbG9yOiB2YXIoLS1pbmspO1xyXG5cdH1cclxuXHJcblx0aW1nLCBmaWd1cmUsIHZpZGVvLCBpZnJhbWUgeyBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpOyB9XHJcblxyXG5cdGZpZ2NhcHRpb24ge1xyXG5cdFx0bWFyZ2luLXRvcDogc3AoMik7XHJcblx0XHRmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vKTtcclxuXHRcdGZvbnQtc2l6ZTogLjdyZW07XHJcblx0XHRsZXR0ZXItc3BhY2luZzogLjFlbTtcclxuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0XHRjb2xvcjogdmFyKC0taW5rLTMpO1xyXG5cdH1cclxuXHJcblx0Y29kZSB7XHJcblx0XHRmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vKTtcclxuXHRcdGZvbnQtc2l6ZTogLjg4ZW07XHJcblx0XHRwYWRkaW5nOiAuMTVlbSAuNGVtO1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogNHB4O1xyXG5cdFx0YmFja2dyb3VuZDogdmFyKC0tYmctMyk7XHJcblx0XHRjb2xvcjogdmFyKC0taW5rKTtcclxuXHR9XHJcblxyXG5cdGhyIHtcclxuXHRcdGJvcmRlcjogMDtcclxuXHRcdGhlaWdodDogMXB4O1xyXG5cdFx0YmFja2dyb3VuZDogdmFyKC0tbGluZSk7XHJcblx0XHRtYXJnaW4tYmxvY2s6IDIuNWVtO1xyXG5cdH1cclxufVxyXG5cclxuLy8g4pSA4pSAIFBhZ2luYXRpb24g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXHJcbi5wYWdpbmF0aW9uIHtcclxuXHRtYXJnaW4tdG9wOiBjbGFtcCgycmVtLCA0dncsIDRyZW0pO1xyXG5cclxuXHQubmF2LWxpbmtzIHtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRnYXA6IHNwKDIpO1xyXG5cdFx0ZmxleC13cmFwOiB3cmFwO1xyXG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHR9XHJcblxyXG5cdC5wYWdlLW51bWJlcnMge1xyXG5cdFx0ZGlzcGxheTogZ3JpZDtcclxuXHRcdHBsYWNlLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHRtaW4td2lkdGg6IDQ2cHg7XHJcblx0XHRoZWlnaHQ6IDQ2cHg7XHJcblx0XHRwYWRkaW5nLWlubGluZTogc3AoMyk7XHJcblx0XHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1saW5lKTtcclxuXHRcdGJvcmRlci1yYWRpdXM6IDk5OXB4O1xyXG5cdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ubyk7XHJcblx0XHRmb250LXNpemU6IC44cmVtO1xyXG5cdFx0Y29sb3I6IHZhcigtLWluay0yKTtcclxuXHRcdHRyYW5zaXRpb246IGNvbG9yIHZhcigtLWR1ci1mYXN0KSAkZWFzZSwgYm9yZGVyLWNvbG9yIHZhcigtLWR1ci1mYXN0KSAkZWFzZTtcclxuXHJcblx0XHQmOmhvdmVyIHsgY29sb3I6IHZhcigtLWluayk7IGJvcmRlci1jb2xvcjogdmFyKC0tbGluZS0yKTsgfVxyXG5cclxuXHRcdCYuY3VycmVudCB7XHJcblx0XHRcdGJhY2tncm91bmQ6IHZhcigtLWFjY2VudCk7XHJcblx0XHRcdGJvcmRlci1jb2xvcjogdmFyKC0tYWNjZW50KTtcclxuXHRcdFx0Y29sb3I6IHZhcigtLW9uLWFjY2VudCk7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcbiIsIkB1c2UgXCJ0b2tlbnNcIiBhcyAqO1xuXG4vLyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi8vICBTSURFQkFSXG4vL1xuLy8gIExhdGVzdCAvIHRvcGljIGNsb3VkIC8gbW9udGggYXJjaGl2ZSwgb24gYWxsIGZvdXIgY29udGVudCB0eXBlcy4gVGhlIG1hcmt1cFxuLy8gIGlzIGdlbmVyYXRlZCBwZXIgcG9zdCB0eXBlIGJ5IHNpZ19zaWRlYmFyKCkg4oCUIHNlZSBpbmMvc2lkZWJhci5waHAg4oCUIHNvIHRoZXJlXG4vLyAgaXMgbm90aGluZyB0eXBlLXNwZWNpZmljIGluIGhlcmUuXG4vLyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblxuLy8gVGhlIHR3by1jb2x1bW4gd3JhcHBlci4gQXBwbGllZCB0byB0aGUgLnNoZWxsIElOU0lERSBhIHNlY3Rpb24sIG5vdCB0byB0aGVcbi8vIHNlY3Rpb24sIHNvIHRoZSBiYW5kIGFuZCBpdHMgcGFkZGluZyBhcmUgdW5hZmZlY3RlZC5cbi8vXG4vLyDimqAgQSBGSVhFRCBTRUNPTkQgVFJBQ0ssIG5vdCBhIGZyYWN0aW9uLiBBdCBgMWZyIDFmcmAgdGhlIHNpZGViYXIgZ3Jvd3Mgd2l0aFxuLy8gdGhlIHZpZXdwb3J0IGFuZCBhIDI0LXRlcm0gY2xvdWQgZ2V0cyBhIGx1eHVyaW91cyBjb2x1bW4gaXQgZG9lcyBub3QgZWFybjtcbi8vIHRoZSBjb250ZW50IGNvbHVtbiBpcyB0aGUgb25lIHRoYXQgc2hvdWxkIGFic29yYiB0aGUgZXh0cmEgd2lkdGguXG4ud2l0aC1zaWRlIHtcblx0ZGlzcGxheTogZ3JpZDtcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMCwgMWZyKSAzMjBweDtcblx0Z2FwOiBjbGFtcCgycmVtLCA0dncsIDQuNXJlbSk7XG5cdGFsaWduLWl0ZW1zOiBzdGFydDtcblxuXHQvLyDimqAgbWluLXdpZHRoOiAwIG9uIHRoZSBDT05URU5UIGNvbHVtbiBzcGVjaWZpY2FsbHkuIEdyaWQgaXRlbXMgZGVmYXVsdCB0b1xuXHQvLyBtaW4td2lkdGg6IGF1dG8sIHNvIGEgd2lkZSBjaGlsZCDigJQgYW4gZXBpc29kZSByb3csIGEgY29kZSBibG9jaywgYSBsb25nXG5cdC8vIHVuYnJva2VuIHRpdGxlIOKAlCByZWZ1c2VzIHRvIHNocmluayBhbmQgcHVzaGVzIHRoZSBzaWRlYmFyIG9mZi1zY3JlZW5cblx0Ly8gaW5zdGVhZCBvZiB3cmFwcGluZy4gU2FtZSB0cmFwIGFzIHRoZSBuZXdzbGV0dGVyIHBhbmVsLlxuXHQ+ICogeyBtaW4td2lkdGg6IDA7IH1cblxuXHQvLyBUaGUgY29udGVudCBjb2x1bW4ncyBleWVicm93ICguNzJyZW0gbW9ubywgYm9keSBsaW5lLWhlaWdodCkgc2F0IH4xMHB4XG5cdC8vIGxvd2VyIHRoYW4gdGhlIHNpZGViYXIncyBcIkxhdGVzdCDigKZcIiB0aXRsZSAobGFiZWwsIGxpbmUtaGVpZ2h0IDEpLCBzb1xuXHQvLyB0aGUgdHdvIGNvbHVtbnMgdmlzaWJseSBzdGFydGVkIGF0IGRpZmZlcmVudCBoZWlnaHRzIChKb2UsIDIwMjYtMDktMTMpLlxuXHQvLyBUaGUgY29udGVudCBjb2x1bW4gY29tZXMgdXAgdG8gbWVldCBpdDsgc2lkZSBieSBzaWRlIG9ubHkg4oCUIHN0YWNrZWQsXG5cdC8vIHRoZXJlIGlzIG5vdGhpbmcgdG8gYWxpZ24gd2l0aC5cblx0PiA6Zmlyc3QtY2hpbGQgeyBtYXJnaW4tdG9wOiAtLjZyZW07IH1cblxuXHRAaW5jbHVkZSBhdChsZykge1xuXHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuXHRcdGdhcDogY2xhbXAoMi41cmVtLCA2dncsIDRyZW0pO1xuXG5cdFx0PiA6Zmlyc3QtY2hpbGQgeyBtYXJnaW4tdG9wOiAwOyB9XG5cdH1cbn1cblxuLnNpZGUge1xuXHQvLyDim5QgTk9UIFNUSUNLWS4gSXQgd2FzIChgcG9zaXRpb246IHN0aWNreTsgdG9wOiBuYXYgKyAxLjVyZW1gLCBzdGF0aWMgYmVsb3dcblx0Ly8gbGcpIGFuZCBKb2UgcHVsbGVkIGl0IDIwMjYtMDktMTM6IFwiSSBkb24ndCBsaWtlIHRoZSByaWdodCBzaWRlYmFyXG5cdC8vIGZvbGxvd2luZyB0aGUgcGFnZSBhcyB5b3Ugc2Nyb2xsLCBpdCdzIGFubm95aW5nLlwiIEl0IHNjcm9sbHMgd2l0aCB0aGVcblx0Ly8gY29udGVudCBsaWtlIGFueSBvdGhlciBjb2x1bW4uIERvbid0IGJyaW5nIHRoZSBwaW4gYmFjay5cblxuXHQmX19ibG9jayB7XG5cdFx0JiArICYgeyBtYXJnaW4tdG9wOiBjbGFtcCgycmVtLCAzLjV2dywgM3JlbSk7IH1cblx0fVxuXG5cdCZfX3RpdGxlIHtcblx0XHRAaW5jbHVkZSBsYWJlbDtcblx0XHRjb2xvcjogdmFyKC0taW5rLTIpO1xuXHRcdHBhZGRpbmctYm90dG9tOiBzcCgzKTtcblx0XHRtYXJnaW4tYm90dG9tOiBzcCg0KTtcblx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tbGluZSk7XG5cdH1cblxuXHQvLyDilIDilIAgTGF0ZXN0IOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXHQmX19saXN0IHtcblx0XHRsaXN0LXN0eWxlOiBub25lO1xuXHRcdG1hcmdpbjogMDtcblx0XHRwYWRkaW5nOiAwO1xuXHR9XG5cblx0Jl9faXRlbSArICZfX2l0ZW0geyBtYXJnaW4tdG9wOiBzcCg0KTsgfVxuXG5cdC8vIEd1ZXN0czogYSBmYWNlLCBub3QgYXJ0d29yayDigJQgcm91bmQsIGFuZCAyMCUgc21hbGxlciB0aGFuIHRoZSA2NHB4XG5cdC8vIGVwaXNvZGUvYXJ0aWNsZSB0aHVtYiAoSm9lLCAyMDI2LTA5LTEzKS4gT25seSB0aGlzIGxpc3Q7IGEgY2lyY3VsYXJcblx0Ly8gY3JvcCBvZiBhIDE2OjkgZXBpc29kZSBzdGlsbCB3b3VsZCBsb3NlIHRoZSB0aXRsZSB0ZXh0IGluIHRoZSBhcnR3b3JrLlxuXHQmX19saXN0LS1ndWVzdHMge1xuXHRcdC8vIFRpZ2h0ZXIgY29sdW1uIGdhcCB0aGFuIHRoZSA2NHB4IHRodW1icyBnZXQ6IGEgcm91bmQgNTFweCBhdmF0YXJcblx0XHQvLyBoYXMgbGVzcyB2aXN1YWwgbWFzcywgc28gdGhlIHN0YW5kYXJkIGdhcCByZWFkIGFzIGEgaG9sZSBiZXR3ZWVuXG5cdFx0Ly8gZmFjZSBhbmQgbmFtZSAoSm9lLCAyMDI2LTA5LTEzKS5cblx0XHQuc2lkZV9fbGluayB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogNTFweCBtaW5tYXgoMCwgMWZyKTsgZ2FwOiBzcCgzKTsgfVxuXHRcdC5zaWRlX190aHVtYiB7IGJvcmRlci1yYWRpdXM6IDk5OXB4OyB9XG5cdH1cblxuXHQmX19saW5rIHtcblx0XHRkaXNwbGF5OiBncmlkO1xuXHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogNjRweCBtaW5tYXgoMCwgMWZyKTtcblx0XHRnYXA6IHNwKDQpO1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0Y29sb3I6IGluaGVyaXQ7XG5cblx0XHRAaW5jbHVkZSBjYW4taG92ZXIge1xuXHRcdFx0Jjpob3ZlciAuc2lkZV9fbmFtZSB7IGNvbG9yOiB2YXIoLS1hY2NlbnQtaW5rKTsgfVxuXHRcdFx0Jjpob3ZlciAuc2lkZV9fdGh1bWIgaW1nIHsgQGluY2x1ZGUgem9vbWVkKDEuMDgpOyB9XG5cdFx0fVxuXG5cdFx0Ly8gQSBwaG90by1vbmx5IGd1ZXN0OiBhIDxzcGFuPiB3aXRoIG5vIGhyZWYsIGFuZCBub25lIG9mIHRoZSBhYm92ZS5cblx0XHQvLyBKb2UsIDIwMjYtMDktMTMg4oCUIHNhbWUgcnVsZSBhcyAuZ3Vlc3QtLXN0YXRpYyAvIC5jbG91ZF9fdGVybS0tc3RhdGljLlxuXHRcdCYtLXN0YXRpYyB7XG5cdFx0XHRjdXJzb3I6IGRlZmF1bHQ7XG5cdFx0XHRvcGFjaXR5OiAuNDU7ICAgLy8gPSAuZ3Vlc3QtLXN0YXRpY1xuXHRcdFx0QGluY2x1ZGUgY2FuLWhvdmVyIHtcblx0XHRcdFx0Jjpob3ZlciAuc2lkZV9fbmFtZSB7IGNvbG9yOiBpbmhlcml0OyB9XG5cdFx0XHRcdCY6aG92ZXIgLnNpZGVfX3RodW1iIGltZyB7IHRyYW5zZm9ybTogbm9uZTsgfVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdCZfX3RodW1iIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRhc3BlY3QtcmF0aW86IDEgLyAxO1xuXHRcdGJvcmRlci1yYWRpdXM6IDhweDtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdGJhY2tncm91bmQ6IHZhcigtLWJnLTMpO1xuXG5cdFx0aW1nIHtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0b2JqZWN0LWZpdDogY292ZXI7XG5cdFx0XHRAaW5jbHVkZSB6b29tYWJsZSguNXMpO1xuXHRcdH1cblx0fVxuXG5cdCZfX2JvZHkge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdG1pbi13aWR0aDogMDtcblx0fVxuXG5cdC8vIFR3byBsaW5lcyBtYXhpbXVtLCBzbyBmaXZlIGl0ZW1zIGFyZSBhbHdheXMgdGhlIHNhbWUgaGVpZ2h0IHJlZ2FyZGxlc3Mgb2Zcblx0Ly8gaG93IGxvbmcgYW4gZXBpc29kZSB0aXRsZSBydW5zLlxuXHQmX19uYW1lIHtcblx0XHRkaXNwbGF5OiAtd2Via2l0LWJveDtcblx0XHQtd2Via2l0LWxpbmUtY2xhbXA6IDI7XG5cdFx0LXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdFx0Zm9udC1zaXplOiAuOTJyZW07XG5cdFx0bGluZS1oZWlnaHQ6IDEuMztcblx0XHR0cmFuc2l0aW9uOiBjb2xvciB2YXIoLS1kdXItZmFzdCkgJGVhc2U7XG5cdH1cblxuXHQmX19tZXRhIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRtYXJnaW4tdG9wOiAuM2VtO1xuXHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm8pO1xuXHRcdGZvbnQtc2l6ZTogLjdyZW07ICAgICAgICAgIC8vID0gLnNob3J0X19tZXRhIC8gLmNhcmRfX21ldGEgZmFtaWx5XG5cdFx0bGV0dGVyLXNwYWNpbmc6IC4xMmVtO1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0Y29sb3I6IHZhcigtLWluay0zKTtcblx0fVxuXG5cdC8vIOKUgOKUgCBBcmNoaXZlIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXHQmX195ZWFyIHtcblx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tbGluZSk7XG5cblx0XHQmOmxhc3Qtb2YtdHlwZSB7IGJvcmRlci1ib3R0b206IDA7IH1cblx0fVxuXG5cdC8vIFRoZSBkZWZhdWx0IGRpc2Nsb3N1cmUgdHJpYW5nbGUgaXMgZHJhd24gYnkgdGhlIFVBIGFuZCBjYW5ub3QgYmUgc3R5bGVkXG5cdC8vIGNvbnNpc3RlbnRseSwgc28gaXQgaXMgcmVtb3ZlZCBhbmQgcmVwbGFjZWQgd2l0aCBvdXIgb3duIGNhcmV0LlxuXHQmX195ZWFybmFtZSB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0XHRwYWRkaW5nLWJsb2NrOiBzcCgzKTtcblx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ubyk7XG5cdFx0Zm9udC1zaXplOiAuODJyZW07XG5cdFx0bGV0dGVyLXNwYWNpbmc6IC4xZW07XG5cdFx0bGlzdC1zdHlsZTogbm9uZTsgICAgICAgICAgICAgICAgICAgICAgIC8vIEZpcmVmb3hcblx0XHQmOjotd2Via2l0LWRldGFpbHMtbWFya2VyIHsgZGlzcGxheTogbm9uZTsgfSAgIC8vIFNhZmFyaSAvIENocm9tZVxuXG5cdFx0Jjo6YWZ0ZXIge1xuXHRcdFx0Y29udGVudDogXCJcIjtcblx0XHRcdHdpZHRoOiA3cHg7XG5cdFx0XHRoZWlnaHQ6IDdweDtcblx0XHRcdGJvcmRlci1yaWdodDogMnB4IHNvbGlkIGN1cnJlbnRDb2xvcjtcblx0XHRcdGJvcmRlci1ib3R0b206IDJweCBzb2xpZCBjdXJyZW50Q29sb3I7XG5cdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZykgdHJhbnNsYXRlKC0ycHgsIC0ycHgpO1xuXHRcdFx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIHZhcigtLWR1ci1mYXN0KSAkZWFzZTtcblx0XHRcdG9wYWNpdHk6IC41NTtcblx0XHR9XG5cblx0XHQuc2lkZV9feWVhcltvcGVuXSAmOjphZnRlciB7XG5cdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgyMjVkZWcpIHRyYW5zbGF0ZSgtMnB4LCAtMnB4KTtcblx0XHR9XG5cblx0XHQvLyDim5QgTk8gaG92ZXIgY29sb3VyIGNoYW5nZSBoZXJlIOKAlCBKb2UncyBjYWxsIDIwMjYtMDktMTMsIFwic2hvdWxkbid0XG5cdFx0Ly8gbGlnaHQgdGhlbSB1cCBibHVlIHRoYXQgZmVlbHMgdG9vIG11Y2ggbGlrZSBhIGxpbmtcIi4gQSA8c3VtbWFyeT4gaXMgYVxuXHRcdC8vIGRpc2Nsb3N1cmUgdG9nZ2xlLCBub3QgYSBuYXZpZ2F0aW9uIHRhcmdldCwgc28gaXQga2VlcHMgdGhlIGNhcmV0J3Ncblx0XHQvLyBvd24gYWZmb3JkYW5jZSAoYmVsb3cpIGFuZCBub3RoaW5nIGVsc2Ugb24gaG92ZXIuXG5cdH1cblxuXHQmX19tb250aHMge1xuXHRcdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdFx0bWFyZ2luOiAwIDAgc3AoMyk7XG5cdFx0cGFkZGluZzogMDtcblxuXHRcdGEge1xuXHRcdFx0Ly8gSW5saW5lLCBub3Qgc3BhY2UtYmV0d2VlbiDigJQgdGhlIGNvdW50IHJlYWRzIGFzIHBhcnQgb2YgdGhlIGxhYmVsXG5cdFx0XHQvLyAoXCJKYW51YXJ5ICgxMClcIiksIG5vdCBhIHJpZ2h0LWFsaWduZWQgZmlndXJlLiBKb2UncyBjYWxsXG5cdFx0XHQvLyAyMDI2LTA5LTEzLlxuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRwYWRkaW5nLWJsb2NrOiBzcCgxKTsgICAvLyB3YXMgc3AoMikg4oCUIFwiY2xvc2VyIHRvZ2V0aGVyXCIsIEpvZSAyMDI2LTA5LTEzXG5cdFx0XHRmb250LXNpemU6IC44OHJlbTtcblx0XHRcdGNvbG9yOiB2YXIoLS1pbmstMik7XG5cdFx0XHR0cmFuc2l0aW9uOiBjb2xvciB2YXIoLS1kdXItZmFzdCkgJGVhc2U7XG5cblx0XHRcdEBpbmNsdWRlIGNhbi1ob3ZlciB7XG5cdFx0XHRcdCY6aG92ZXIgeyBjb2xvcjogdmFyKC0tYWNjZW50LWluayk7IH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQmX19uIHtcblx0XHRtYXJnaW4tbGVmdDogLjM1ZW07XG5cdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ubyk7XG5cdFx0Zm9udC1zaXplOiAuNzhyZW07XG5cdFx0Y29sb3I6IHZhcigtLWluay0zKTtcblx0XHRmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zO1xuXHR9XG59XG5cblxuLy8g4pSA4pSAIFRvcGljIGNsb3VkIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLy8gIC0tdyBpcyAwLi4xLCBzZXQgcGVyIHRlcm0gYnkgdGhlIHRlbXBsYXRlIGZyb20gdGhhdCBzZXQncyBPV04gc3ByZWFkLiBUaGVcbi8vICBzY2FsZSBsaXZlcyBoZXJlIHJhdGhlciB0aGFuIGluIGFuIGlubGluZSBmb250LXNpemUgc28gaXQgY2FuIGJlIHJldHVuZWRcbi8vICB3aXRob3V0IHRvdWNoaW5nIFBIUC5cbi8vXG4vLyAg4pqgIFRoZSBmbG9vciBpcyBhIHJlYWRhYmxlIHNpemUsIG5vdCB6ZXJvLiBBIHRydWUgY2xvdWQgc2NhbGVzIHRoZSBsZWFzdC11c2VkXG4vLyAgdGVybSBkb3duIHRvIG5vdGhpbmcgbGVnaWJsZTsgdGhlc2UgYXJlIG5hdmlnYXRpb24sIGFuZCBhIGxpbmsgbm9ib2R5IGNhblxuLy8gIHJlYWQgaXMgYSBsaW5rIG5vYm9keSBjbGlja3MuXG4uY2xvdWQge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LXdyYXA6IHdyYXA7XG5cdGdhcDogc3AoMik7XG5cblx0Jl9fdGVybSB7XG5cdFx0LS13OiAwO1xuXG5cdFx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdFx0YWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuXHRcdGdhcDogLjQ1ZW07XG5cdFx0cGFkZGluZzogLjRlbSAuNzVlbTtcblx0XHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1saW5lKTtcblx0XHRib3JkZXItcmFkaXVzOiA5OTlweDtcblx0XHRmb250LXNpemU6IGNhbGMoLjc4cmVtICsgKHZhcigtLXcpICogLjMwcmVtKSk7XG5cdFx0Zm9udC13ZWlnaHQ6IGNhbGMoNTAwICsgKHZhcigtLXcpICogMjAwKSk7XG5cdFx0bGluZS1oZWlnaHQ6IDEuMTtcblx0XHRjb2xvcjogdmFyKC0taW5rLTIpO1xuXHRcdHRyYW5zaXRpb246IGNvbG9yIHZhcigtLWR1ci1mYXN0KSAkZWFzZSxcblx0XHRcdFx0XHRib3JkZXItY29sb3IgdmFyKC0tZHVyLWZhc3QpICRlYXNlO1xuXG5cdFx0Ly8g4pqgIEhvdmVyIG9ubHkgb24gdGhlIExJTksgZm9ybS4gVGhlIC0tc3RhdGljIHNwYW4gYmVsb3cgaXMgbm90XG5cdFx0Ly8gY2xpY2thYmxlLCBzbyBsaWdodGluZyBpdCB1cCBwcm9taXNlZCBhIHBhZ2UgdGhhdCBpc24ndCB0aGVyZSAoSm9lLFxuXHRcdC8vIDIwMjYtMDktMTMpLiBgYWAgaW4gdGhlIHNlbGVjdG9yIGlzIHdoYXQga2VlcHMgaXQgb2ZmIHRoZSBzcGFuLlxuXHRcdEBpbmNsdWRlIGNhbi1ob3ZlciB7XG5cdFx0XHRAYXQtcm9vdCBhI3smfTpob3ZlciB7XG5cdFx0XHRcdGNvbG9yOiB2YXIoLS1hY2NlbnQtaW5rKTtcblx0XHRcdFx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1hY2NlbnQpO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC8vIEEgZ3Vlc3Qgd2hvc2UgcGFnZSBpcyBzdGlsbCBhIERSQUZUIOKAlCByZW5kZXJlZCBhcyBhIDxzcGFuPiBieVxuXHRcdC8vIHNpZ19ndWVzdF90YWcoKSwgbmV2ZXIgYSBsaW5rIChKb2UsIDIwMjYtMDktMTMpLiBTYW1lIHBpbGwsIGRhc2hlZFxuXHRcdC8vIHNvIGl0IHJlYWRzIGFzIFwibmFtZWQsIG5vdCB5ZXQgYSBwYWdlXCIgcmF0aGVyIHRoYW4gYXMgYSBicm9rZW4gbGluay5cblx0XHQmLS1zdGF0aWMge1xuXHRcdFx0Ym9yZGVyLXN0eWxlOiBkYXNoZWQ7XG5cdFx0XHRjb2xvcjogdmFyKC0taW5rLTMpO1xuXHRcdFx0Y3Vyc29yOiBkZWZhdWx0O1xuXHRcdH1cblx0fVxuXG5cdC8vIFRhZy10eXBlIG1hcmssIG9ubHkgb24gdGhlIHJvd3MgdW5kZXIgYSBzaW5nbGUgcG9zdCAoc2lnX3Bvc3RfdGFncykuXG5cdC8vIGVtLXNpemVkIHNvIGl0IHRyYWNrcyB0aGUgcGlsbCdzIG93biB0ZXh0IHNpemUuXG5cdCZfX2ljbyB7XG5cdFx0d2lkdGg6IDFlbTtcblx0XHRoZWlnaHQ6IDFlbTtcblx0XHRmbGV4OiBub25lO1xuXHRcdGFsaWduLXNlbGY6IGNlbnRlcjtcblx0XHRvcGFjaXR5OiAuNztcblx0fVxuXG5cdC8vIFRoZSBjb3VudCBpcyBzdXBwb3J0aW5nIGRldGFpbCDigJQgaXQgbXVzdCBub3Qgc2NhbGUgd2l0aCB0aGUgdGVybSBvciBhXG5cdC8vIGhlYXZpbHktdXNlZCB0b3BpYyBnZXRzIGEgaGVhdnkgbnVtYmVyIGNvbXBldGluZyB3aXRoIGl0cyBvd24gbmFtZS5cblx0Jl9fbiB7XG5cdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ubyk7XG5cdFx0Zm9udC1zaXplOiAuNjhyZW07XG5cdFx0Y29sb3I6IHZhcigtLWluay0zKTtcblx0XHRmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zO1xuXHR9XG59XG5cblxuLy8g4pSA4pSAIFRhZyByb3dzIHVuZGVyIGEgc2luZ2xlIGVwaXNvZGUgLyBhcnRpY2xlIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLy8gIFwiV2l0aCAgW2d1ZXN0XSBbZ3Vlc3RdXCIgdGhlbiBcIlRvcGljcyAgW3RvcGljXSBbdG9waWNdXCIuIFJlbmRlcmVkIGJ5XG4vLyAgc2lnX3Bvc3RfdGFncygpIOKAlCBpbmMvZ3Vlc3RzLnBocCDigJQgYW5kIG9ubHkgd2hlbiB0aGVyZSBpcyBzb21ldGhpbmcgdG8gc2hvdy5cbi50YWdzIHtcblx0ZGlzcGxheTogZ3JpZDtcblx0Z2FwOiBzcCg0KTtcblx0bWFyZ2luLXRvcDogY2xhbXAoMnJlbSwgNHZ3LCAzcmVtKTtcblx0cGFkZGluZy10b3A6IHNwKDUpO1xuXHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tbGluZSk7XG5cblx0Ly8gTGFiZWwgYW5kIHBpbGxzIG9uIE9ORSBsaW5lLCB3cmFwcGluZyBhcyBhIHBhcmFncmFwaCB3b3VsZCDigJQgSm9lLFxuXHQvLyAyMDI2LTA5LTEzLCBcImlubGluZSBub3Qgc3RhY2tlZFwiLiBgZGlzcGxheTogY29udGVudHNgIG9uIC5jbG91ZCBsZXRzIGl0c1xuXHQvLyBwaWxscyBmbG93IGRpcmVjdGx5IGFmdGVyIHRoZSBsYWJlbCBpbnN0ZWFkIG9mIGFzIGEgc2VwYXJhdGUgYmxvY2suXG5cdCZfX3JvdyB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRmbGV4LXdyYXA6IHdyYXA7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRnYXA6IHNwKDIpO1xuXG5cdFx0LmNsb3VkIHsgZGlzcGxheTogY29udGVudHM7IH1cblxuXHRcdC8vIE9uIGEgcGhvbmUgdGhlIGlubGluZSBsYWJlbCBwdXNoZXMgdGhlIGZpcnN0IHBpbGwgdG8gdGhlIHJvdydzIGVuZFxuXHRcdC8vIGFuZCB0aGUgcmVzdCB3cmFwIHVuZGVyIGl0IOKAlCBhIHJhZ2dlZCB0aHJlZS1saW5lIGJsb2NrIChcInRhZ3MgY2FuXG5cdFx0Ly8gc3RhY2sgb24gbW9iaWxlXCIsIDIwMjYtMDktMTQpLiBMYWJlbCBvbiBpdHMgb3duIGxpbmUsIHBpbGxzIGJlbG93LlxuXHRcdEBpbmNsdWRlIGF0KHNtKSB7XG5cdFx0XHQudGFnc19fbGFiZWwge1xuXHRcdFx0XHRmbGV4LWJhc2lzOiAxMDAlO1xuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDA7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IHNwKDEpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdCZfX2xhYmVsIHtcblx0XHRAaW5jbHVkZSBsYWJlbDtcblx0XHRjb2xvcjogdmFyKC0taW5rLTMpO1xuXHRcdG1hcmdpbi1yaWdodDogc3AoMik7XG5cdH1cbn1cbiIsIkB1c2UgXCJ0b2tlbnNcIiBhcyAqO1xuXG4vLyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi8vICBQUk9NTyBCQU5EXG4vL1xuLy8gIEZ1bGwtYmxlZWQgZGFyayBzdHJpcGUgY2FycnlpbmcgdGhlIHNob3AuIEhvbWVwYWdlIGJldHdlZW4gU2hvcnRzIGFuZCBCbG9nLFxuLy8gIGFuZCBhZ2FpbiBhdCB0aGUgZm9vdCBvZiBhIHNpbmdsZSBlcGlzb2RlLiBTZWUgaW5jL3Byb21vLnBocCBmb3Igd2h5IGl0XG4vLyAgZGVsaWJlcmF0ZWx5IHNpdHMgb3V0c2lkZSB0aGUgd2FzaC9wbGFpbiBhbHRlcm5hdGlvbi5cbi8vIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG4ucHJvbW8ge1xuXHQvLyDim5QgVEhFIERBUksgUEFMRVRURSBJVFNFTEYgTElWRVMgSU4gVEhFIFNIQVJFRCBgLmluc2V0YCBDTEFTUywgbm90IGhlcmUg4oCUXG5cdC8vIHNlZSBfYmFzZS5zY3NzIGFuZCB0aGUgYC5pbnNldGAgYmxvY2sgaW4gX3Rva2Vucy5zY3NzLiBUaGlzIHBhcnRpYWwgb25seVxuXHQvLyBvd25zIHRoZSBwcm9tbyBiYW5kJ3Mgb3duIGxheW91dC4gTWFya3VwOiA8c2VjdGlvbiBjbGFzcz1cInByb21vIGluc2V0XCI+LlxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHBhZGRpbmctYmxvY2s6IGNsYW1wKDMuNXJlbSwgN3Z3LCA3cmVtKTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0Ly8gVGhlIGJhbmQncyB0b3AgZWRnZSBhbHJlYWR5IGhhcyBhIHJ1bGUg4oCUIHRoZSBTaG9ydHMgd2FzaCBhYm92ZSBpdCBkcmF3c1xuXHQvLyBgYm9yZGVyLWJsb2NrYC4gSXRzIGJvdHRvbSBlZGdlIGhhZCBub3RoaW5nLCBzbyBwcm9tbyDihpIgQmxvZyB3YXMgdGhlIG9uZVxuXHQvLyBzZWN0aW9uIGJvdW5kYXJ5IG9uIHRoZSBwYWdlIHdpdGhvdXQgYSBsaW5lIChcInN0aWxsIG5vIHNlcGFyYXRvclwiLFxuXHQvLyBKb2UsIDIwMjYtMDktMTQpLiBCb3R0b20gb25seTogYSBib3JkZXItdG9wIGhlcmUgd291bGQgZG91YmxlIHRoZVxuXHQvLyB3YXNoJ3MgdG8gMnB4LlxuXHQvL1xuXHQvLyAtLWxpbmUtMiwgbm90IC0tbGluZS4gVGhlIDEwJSBoYWlybGluZSBJUyBkcmF3biBvbiBwdXJlIGJsYWNrIOKAlCBpdFxuXHQvLyBtZWFzdXJlZCByZ2IoMjYsMjYsMjYpIGluIEpvZSdzIHNjcmVlbnNob3Qg4oCUIGJ1dCB0aGUgQmxvZyBzZWN0aW9uIHVuZGVyXG5cdC8vIGl0IGlzICMxMDEwMTQsIHRlbiBsZXZlbHMgZGFya2VyLCBzbyB0aGUgZXllIGNhbid0IGZpbmQgaXQgKFwiSSBkb24ndFxuXHQvLyBzZWUgaXRcIikuIFRoZSB3YXNoJ3MgbGluZSByZWFkcyBiZWNhdXNlIGl0IHNpdHMgb24gIzA4MDgwYSBhZ2FpbnN0XG5cdC8vICgzMywzMywzNSk6IGEgMjUtbGV2ZWwgc3RlcC4gMTglIG9uIGJsYWNrIGlzIHJnYig0NiksIGEgMzAtbGV2ZWwgc3RlcC5cblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWxpbmUtMik7XG5cblx0Jl9faW5uZXIge1xuXHRcdGRpc3BsYXk6IGdyaWQ7XG5cdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMCwgMWZyKSBtaW5tYXgoMCwgLjgyZnIpO1xuXHRcdGdhcDogY2xhbXAoMnJlbSwgNXZ3LCA1cmVtKTtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXG5cdFx0Ly8gQ29weSBmaXJzdCBvbiB0b3VjaC4gVGhlIGltYWdlIGlzIHRoZSBob29rIG9uIGRlc2t0b3Agd2hlcmUgYm90aCBhcmVcblx0XHQvLyB2aXNpYmxlIGF0IG9uY2UsIGJ1dCBvbiBhIHBob25lIGl0IHdvdWxkIHB1c2ggdGhlIGhlYWRpbmcgYW5kIHRoZSBvbmVcblx0XHQvLyBidXR0b24gYmVsb3cgdGhlIGZvbGQuXG5cdFx0QGluY2x1ZGUgYXQobWQpIHtcblx0XHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDAsIDFmcik7XG5cdFx0XHRnYXA6IGNsYW1wKDJyZW0sIDZ2dywgM3JlbSk7XG5cdFx0fVxuXHR9XG5cblx0Jl9fY29weSB7XG5cdFx0Ly8g4pqgIG1pbi13aWR0aDogMCDigJQgYSBncmlkIGNoaWxkIGRlZmF1bHRzIHRvIG1pbi13aWR0aDogYXV0bywgc28gYSBsb25nXG5cdFx0Ly8gdW5icm9rZW4gaGVhZGluZyByZWZ1c2VzIHRvIHNocmluayBhbmQgc2hvdmVzIHRoZSBpbWFnZSBvdXQgb2YgdGhlXG5cdFx0Ly8gYmFuZC4gU2FtZSB0cmFwIGFzIC53aXRoLXNpZGUgYW5kIHRoZSBuZXdzbGV0dGVyIHBhbmVsLlxuXHRcdG1pbi13aWR0aDogMDtcblx0fVxuXG5cdC8vIOKaoCBUaGUgZGlzcGxheSBGQUNFIGNvbWVzIGZyb20gdGhlIGAuZGlzcGxheWAgY2xhc3MgaW4gdGhlIG1hcmt1cCwgbm90IGZyb21cblx0Ly8gYW4gQGV4dGVuZCBoZXJlLiBfYmFzZS5zY3NzIG93bnMgdGhhdCBwcmltaXRpdmUgYW5kIHRoZXJlIGlzIG5vIHBsYWNlaG9sZGVyXG5cdC8vIHRvIGV4dGVuZCBhY3Jvc3MgYSBgQHVzZWAgYm91bmRhcnkg4oCUIGR1cGxpY2F0aW5nIHRoZSBmYWNlL3dlaWdodC90cmFja2luZ1xuXHQvLyBpbnRvIHRoaXMgZmlsZSBpcyBleGFjdGx5IHRoZSBkcmlmdCB0aGUgdG9wIG9mIF9jYXJkcy5zY3NzIHdhcm5zIGFib3V0LlxuXHQvLyBUaGlzIHJ1bGUgb25seSBzZXRzIHdoYXQgaXMgc3BlY2lmaWMgdG8gdGhlIGJhbmQuXG5cdCZfX3RpdGxlIHtcblx0XHRtYXJnaW4tdG9wOiBzcCg0KTtcblx0XHRmb250LXNpemU6IGNsYW1wKDIuMXJlbSwgNS4ydncsIDQuMnJlbSk7XG5cdFx0bWF4LXdpZHRoOiAxNGNoO1xuXHR9XG5cblx0Jl9fdGV4dCB7XG5cdFx0bWFyZ2luLXRvcDogc3AoNSk7XG5cdFx0bWF4LXdpZHRoOiA0NmNoO1xuXHRcdGNvbG9yOiB2YXIoLS1pbmstMik7XG5cdFx0Zm9udC1zaXplOiBjbGFtcCgxcmVtLCAuMzV2dyArIC45NXJlbSwgMS4xNXJlbSk7XG5cdH1cblxuXHQmX19jdGEge1xuXHRcdG1hcmdpbi10b3A6IHNwKDYpO1xuXHR9XG5cblx0Ly8g4pSA4pSAIEFydHdvcmsg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cdC8vXG5cdC8vIOKaoCBUSEUgUEhPVE8gSVMgVEhFIENBUkQuIEl0IGZpbGxzIHRoZSBib3ggZWRnZSB0byBlZGdlLCBzbyBubyBwYW5lbCBjb2xvdXJcblx0Ly8gaXMgZXZlciB2aXNpYmxlIGJlaGluZCBpdCDigJQgd2hpY2ggaXMgdGhlIGVudGlyZSBwb2ludCBvZiBkb2luZyBpdCB0aGlzIHdheS5cblx0Ly9cblx0Ly8g4puUIERPIE5PVCBHTyBCQUNLIFRPIEEgUEFEREVEIFBBTkVMIFdJVEggQSBCQUNLR1JPVU5EIENPTE9VUi4gVGhhdCB3YXNcblx0Ly8gdHJpZWQgZmlyc3QsIGFuZCBpdCBpcyBhIGNvbG91ci1tYXRjaGluZyB0cmFwOiB0aGUgc2hvcCdzIHByb2R1Y3Qgc2hvdHMgYXJlXG5cdC8vIGN1dCBvdXQgb24gYSBuZWFyLXdoaXRlIHN0dWRpbyBncm91bmQgdGhhdCBpcyBOT1QgI2ZmZiwgc28gYW55IHBhbmVsIGNvbG91clxuXHQvLyBsZWF2ZXMgYSBmYWludGx5IHZpc2libGUgcmVjdGFuZ2xlIGZsb2F0aW5nIGluc2lkZSB0aGUgY2FyZCDigJQgdGhlIHNlYW1cblx0Ly8gYmV0d2VlbiBwaG90byBncm91bmQgYW5kIHBhbmVsLiBUd28gZGlmZmVyZW50IHZhbHVlcyB3ZXJlIHRyaWVkIGFnYWluc3QgdGhlXG5cdC8vIGxpdmUgYXJ0d29yayBhbmQgYm90aCBzZWFtZWQuIE1hdGNoaW5nIGl0IGV4YWN0bHkgd291bGQgYWxzbyBtZWFuIHJlLW1hdGNoaW5nXG5cdC8vIHRoZSBkYXkgdGhlIGNsaWVudCByZS1waG90b2dyYXBocyBhbnl0aGluZy5cblx0Ly9cblx0Ly8g4puUIEFuZCBkb24ndCByZWFjaCBmb3IgbWl4LWJsZW5kLW1vZGUgdG8ga25vY2sgdGhlIHdoaXRlIG91dCBlaXRoZXIuXG5cdC8vIGBtdWx0aXBseWAgZG9lcyBlcmFzZSB0aGUgZ3JvdW5kIOKAlCBhbmQgdGFrZXMgdGhlIGJsYWNrIHQtc2hpcnQgd2l0aCBpdCxcblx0Ly8gYmVjYXVzZSB0aGUgZ2FybWVudCBpcyBkYXJrZXIgdGhhbiB0aGUgYmFuZC4gYHNjcmVlbmAga2VlcHMgdGhlIHdoaXRlLlxuXHQvLyBObyBibGVuZCBtb2RlIHNlcGFyYXRlcyBhIGRhcmsgcHJvZHVjdCBmcm9tIGEgbGlnaHQgZ3JvdW5kLlxuXHQvL1xuXHQvLyAxLzEgYmVjYXVzZSBldmVyeSBwcm9kdWN0IGluIHRoZSBzaG9wIGlzIHNxdWFyZSAodmVyaWZpZWQ6IHRoZSB0ZWVzIGFyZVxuXHQvLyAyNTYweDI1NjApLCBzbyBgY292ZXJgIGNyb3BzIG5vdGhpbmcgdG9kYXkuIEEgbm9uLXNxdWFyZSB1cGxvYWQgbGF0ZXIgZ2V0c1xuXHQvLyBjZW50cmUtY3JvcHBlZCwgd2hpY2ggaXMgd2hhdCAuY2FyZF9fbWVkaWEgYWxyZWFkeSBkb2VzIGV2ZXJ5d2hlcmUgZWxzZSBvblxuXHQvLyB0aGUgc2l0ZSDigJQgcHJlZGljdGFibGUgcmF0aGVyIHRoYW4gc3VycHJpc2luZy5cblx0Jl9fbWVkaWEge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRhc3BlY3QtcmF0aW86IDEgLyAxO1xuXHRcdG1pbi13aWR0aDogMDtcblx0XHRtYXgtd2lkdGg6IDMwcmVtO1xuXHRcdG1hcmdpbi1pbmxpbmU6IGF1dG87XG5cdFx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWxnKTtcblx0XHQvLyBPbmx5IGV2ZXIgc2VlbiBhcyB0aGUgbGF6eS1sb2FkIHBsYWNlaG9sZGVyIOKAlCB0aGUgaW1hZ2UgY292ZXJzIGl0XG5cdFx0Ly8gY29tcGxldGVseSBvbmNlIGRlY29kZWQuIERlbGliZXJhdGVseSBub3Qgd2hpdGUsIHNvIGEgc2xvdyBjb25uZWN0aW9uXG5cdFx0Ly8gc2hvd3MgYSBxdWlldCBib3ggcmF0aGVyIHRoYW4gYSB3aGl0ZSBmbGFzaCBvbiBhIGJsYWNrIGJhbmQuXG5cdFx0YmFja2dyb3VuZDogdmFyKC0tYmctMyk7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblxuXHRcdC8vIOKblCBOTyBgb3JkZXJgIFJFT1JERVJJTkcgT05DRSBTVEFDS0VELiBTb3VyY2Ugb3JkZXIgYWxyZWFkeSBwdXRzIHRoZVxuXHRcdC8vIGNvcHkgZmlyc3QsIHdoaWNoIGlzIHdoYXQgd2Ugd2FudCBvbiBhIHBob25lIOKAlCBzZWUgdGhlIG5vdGUgb25cblx0XHQvLyBfX2lubmVyLiBGbGlwcGluZyB0aGUgaW1hZ2UgYWJvdmUgdGhlIGhlYWRpbmcgaGVyZSB3b3VsZCBidXJ5IHRoZSBvbmVcblx0XHQvLyBidXR0b24gYmVsb3cgdGhlIGZvbGQuXG5cdFx0Ly9cblx0XHQvLyBUaGUgc3F1YXJlIGlzIGtlcHQgd2hlbiBzdGFja2VkOyBpdCBqdXN0IG5hcnJvd3MsIHNvIHRoZSBwcm9kdWN0IHN0YXlzXG5cdFx0Ly8gdGhlIHNhbWUgc2hhcGUgYXQgZXZlcnkgd2lkdGggcmF0aGVyIHRoYW4gYmVjb21pbmcgYSBsZXR0ZXJib3ggY3JvcCBvZlxuXHRcdC8vIGl0c2VsZiBvbiBhIHBob25lLlxuXHRcdEBpbmNsdWRlIGF0KG1kKSB7XG5cdFx0XHRtYXgtd2lkdGg6IDIycmVtO1xuXHRcdH1cblxuXHRcdC8vIE5vIHByb2R1Y3Qgc2hvdCBvbiBhIHBob25lIGF0IGFsbCAoSm9lLCAyMDI2LTA5LTE0LCBcInJlbW92ZSB0aGVcblx0XHQvLyB0aHVtYiBvbiBtb2JpbGUgaXQgbG9va3MgdGVycmlibGVcIik6IHN0YWNrZWQgdW5kZXIgdGhlIGNvcHkgaXQgd2FzXG5cdFx0Ly8gYSBmdWxsLXdpZHRoIHdoaXRlIHNxdWFyZSBvZiBvbmUgdGVlLCB0aGUgYmlnZ2VzdCB0aGluZyBvbiB0aGVcblx0XHQvLyBzY3JlZW4gYW5kIGFmdGVyIHRoZSBidXR0b24uIFRoZSBiYW5kIGlzIGNvcHkgKyBDVEEgdGhlcmUuXG5cdFx0QGluY2x1ZGUgYXQoc20pIHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXHR9XG5cblx0Jl9faW1nIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHR3aWR0aDogMTAwJTtcblx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0Ly8gYGNvdmVyYCwgcGFpcmVkIHdpdGggdGhlIDEvMSBib3ggYWJvdmUg4oCUIHNlZSB0aGUgbm90ZSB0aGVyZS4gT24gYSBzcXVhcmVcblx0XHQvLyBzb3VyY2UgdGhpcyBpcyBpZGVudGljYWwgdG8gYGNvbnRhaW5gIHdpdGggemVybyBjcm9wLCBhbmQgaXQgZ3VhcmFudGVlc1xuXHRcdC8vIHRoZSBwaG90byByZWFjaGVzIGV2ZXJ5IGVkZ2Ugc28gbm8gcGFuZWwgY29sb3VyIGNhbiBzaG93IHRocm91Z2guXG5cdFx0b2JqZWN0LWZpdDogY292ZXI7XG5cdFx0b2JqZWN0LXBvc2l0aW9uOiBjZW50ZXI7XG5cdH1cbn1cbiIsIkB1c2UgXCJ0b2tlbnNcIiBhcyAqO1xuXG4vLyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi8vICBTSE9QIOKAlCBXb29Db21tZXJjZSdzIHByb2R1Y3QgbG9vcCwgcmVzdHlsZWQgdG8gdGhlIGNhcmQgc3lzdGVtLlxuLy9cbi8vICBXb28ncyBtYXJrdXAgaXMga2VwdCAodWwucHJvZHVjdHMgPiBsaS5wcm9kdWN0ID4gYSA+IGltZyArIGgyICsgLnByaWNlKTtcbi8vICBpbmMvc2hvcC5waHAgcmVtb3ZlcyB0aGUgcmVzdWx0IGNvdW50IGFuZCB0aGUgbG9vcCBidXR0b24uIEV2ZXJ5dGhpbmdcbi8vICBiZWxvdyBpcyBuZXN0ZWQgdW5kZXIgLndvb2NvbW1lcmNlIHNvIGl0IG91dC13ZWlnaHMgV29vJ3Mgb3duIHN0eWxlc2hlZXQsXG4vLyAgd2hpY2ggaXMgZW5xdWV1ZWQgYWZ0ZXIgb3VycyDigJQgc2FtZSBmaWdodCwgc2FtZSBhbnN3ZXIsIGFzIF9mb3Jtcy5zY3NzLlxuLy8g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cbi8vIFRoZSBwaWxsLXNoYXBlZCBzZWxlY3Qg4oCUIHRoZSBzb3J0IG9uIHRoZSBzaG9wIHBhZ2UsIFNpemUgb24gYSBwcm9kdWN0LlxuLy8gVGhlIFVBIGNhcmV0IGlzIHVuc3R5bGFibGUgYW5kIHNpdHMgYmFkbHkgaW4gYSBwaWxsLCBzbyBpdCBpcyByZXBsYWNlZC5cbiVwaWxsLXNlbGVjdCB7XG5cdGFwcGVhcmFuY2U6IG5vbmU7XG5cdC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcblx0cGFkZGluZzogLjZlbSAyLjZlbSAuNmVtIDEuMWVtO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1saW5lLTIpO1xuXHRib3JkZXItcmFkaXVzOiA5OTlweDtcblx0YmFja2dyb3VuZDogdmFyKC0tYmcpO1xuXHRjb2xvcjogdmFyKC0taW5rKTtcblx0Zm9udC1mYW1pbHk6IGluaGVyaXQ7XG5cdGZvbnQtc2l6ZTogLjkycmVtO1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRsaW5lLWhlaWdodDogMS4yO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdC8vIE91ciBvd24gY2FyZXQ6IHRoZSBVQSdzIGNhbm5vdCBiZSBzdHlsZWQgYW5kIHNpdHMgYmFkbHkgaW4gYSBwaWxsLlxuXHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDI0IDI0JyBmaWxsPSdub25lJyBzdHJva2U9JyUyMzc3Nycgc3Ryb2tlLXdpZHRoPScyLjInIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCc+PHBhdGggZD0nTTYgOWw2IDYgNi02Jy8+PC9zdmc+XCIpO1xuXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAxZW0gY2VudGVyO1xuXHRiYWNrZ3JvdW5kLXNpemU6IDFlbTtcblx0dHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIHZhcigtLWR1ci1mYXN0KSAkZWFzZTtcblxuXHRAaW5jbHVkZSBjYW4taG92ZXIge1xuXHRcdCY6aG92ZXIgeyBib3JkZXItY29sb3I6IHZhcigtLWluay0zKTsgfVxuXHR9XG5cdCY6Zm9jdXMtdmlzaWJsZSB7XG5cdFx0b3V0bGluZTogM3B4IHNvbGlkIHZhcigtLWFjY2VudCk7XG5cdFx0b3V0bGluZS1vZmZzZXQ6IDJweDtcblx0XHRib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuXHR9XG59XG5cbi8vIFRoZSBxdWFudGl0eSBmaWVsZCBhcyBhIHBpbGwgd2l0aCBpdHMgb3duIGFsd2F5cy12aXNpYmxlIHN0ZXBwZXIg4oCUIHRoZVxuLy8gYnV0dG9ucyBjb21lIGZyb20gc3JjL2pzL2stcXR5LmpzOyB0aGlzIGhpZGVzIHRoZSBuYXRpdmUgc3Bpbm5lciAoaG92ZXItb25seSxcbi8vIHVuc3R5bGFibGUpIGFuZCBsYXlzIHRoZSBudW1iZXIgKyBhcnJvd3Mgb3V0LiBQcm9kdWN0IHBhZ2UgYW5kIGNhcnQuXG4lcXR5LXN0ZXBwZXIge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGRpc3BsYXk6IGlubGluZS1ncmlkO1xuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciBhdXRvO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRoZWlnaHQ6IDU0cHg7ICAgICAgICAgICAgICAvLyA9IC5idG5cblx0cGFkZGluZzogMCBzcCgzKSAwIHNwKDQpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1saW5lLTIpO1xuXHRib3JkZXItcmFkaXVzOiA5OTlweDtcblx0YmFja2dyb3VuZDogdmFyKC0tYmcpO1xuXHR0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgdmFyKC0tZHVyLWZhc3QpICRlYXNlO1xuXHQmOmZvY3VzLXdpdGhpbiB7IG91dGxpbmU6IDNweCBzb2xpZCB2YXIoLS1hY2NlbnQpOyBvdXRsaW5lLW9mZnNldDogMnB4OyB9XG5cblx0aW5wdXQucXR5IHtcblx0XHQtbW96LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcblx0XHRhcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG5cdFx0d2lkdGg6IDIuNmVtO1xuXHRcdGhlaWdodDogMTAwJTtcblx0XHRtYXJnaW46IDA7XG5cdFx0cGFkZGluZzogMDtcblx0XHRib3JkZXI6IDA7XG5cdFx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cdFx0Y29sb3I6IHZhcigtLWluayk7XG5cdFx0Zm9udDogaW5oZXJpdDtcblx0XHRmb250LXdlaWdodDogNjAwO1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRvdXRsaW5lOiBub25lO1xuXHRcdCY6Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sICY6Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24geyAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IG1hcmdpbjogMDsgfVxuXHR9XG5cdC5xdHlfX2N0bCB7XG5cdFx0ZGlzcGxheTogZ3JpZDtcblx0XHRncmlkLXRlbXBsYXRlLXJvd3M6IDFmciAxZnI7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdHBhZGRpbmctYmxvY2s6IDEwcHg7XG5cdH1cblx0LnF0eV9fdXAsIC5xdHlfX2Rvd24ge1xuXHRcdGRpc3BsYXk6IGdyaWQ7XG5cdFx0cGxhY2UtaXRlbXM6IGNlbnRlcjtcblx0XHR3aWR0aDogMjJweDtcblx0XHRwYWRkaW5nOiAwO1xuXHRcdGJvcmRlcjogMDtcblx0XHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblx0XHRjb2xvcjogdmFyKC0taW5rLTMpO1xuXHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHR0cmFuc2l0aW9uOiBjb2xvciB2YXIoLS1kdXItZmFzdCkgJGVhc2U7XG5cdFx0c3ZnIHsgd2lkdGg6IDEycHg7IGhlaWdodDogMTJweDsgfVxuXHRcdEBpbmNsdWRlIGNhbi1ob3ZlciB7ICY6aG92ZXIgeyBjb2xvcjogdmFyKC0taW5rKTsgfSB9XG5cdH1cblx0LnF0eV9fZG93biBzdmcgeyB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB9XG59XG5cbi5zZWN0aW9uX19oZWFkLS1zaG9wIHtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0PiAuc2hvcC1zb3J0IHsgZmxleDogbm9uZTsgfVxufVxuXG4ud29vY29tbWVyY2Uge1xuXG5cdC8vIOKUgOKUgCBTb3J0IOKAlCBhIHBpbGwtc2hhcGVkIHNlbGVjdCDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblx0Ly8gUHJpbnRlZCBpbnNpZGUgLnNlY3Rpb25fX2hlYWQgYnkgYXJjaGl2ZS1wcm9kdWN0LnBocCwgb24gdGhlIHRpdGxlJ3Ncblx0Ly8gcm93OiB0aGUgaGVhZCdzIG93biBmbGV4IHB1dHMgaXQgYXQgdGhlIHJpZ2h0LCAuc2VjdGlvbl9faGVhZC0tc2hvcFxuXHQvLyBjZW50cmVzIGl0IG9uIHRoZSB0aXRsZSAoSm9lLCAyMDI2LTA5LTEzKS5cblx0Lndvb2NvbW1lcmNlLW9yZGVyaW5nIHtcblx0XHRmbG9hdDogbm9uZTtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cdFx0bWFyZ2luOiAwO1xuXG5cdFx0c2VsZWN0Lm9yZGVyYnkgeyBAZXh0ZW5kICVwaWxsLXNlbGVjdDsgfVxuXHR9XG5cblx0Ly8g4pSA4pSAIEdyaWQg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cdHVsLnByb2R1Y3RzIHtcblx0XHRkaXNwbGF5OiBncmlkO1xuXHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgobWluKDEwMCUsIDI0MHB4KSwgMWZyKSk7XG5cdFx0Z2FwOiBjbGFtcCgxLjI1cmVtLCAyLjV2dywgMi41cmVtKTtcblx0XHRtYXJnaW46IDA7XG5cdFx0cGFkZGluZzogMDtcblx0XHRsaXN0LXN0eWxlOiBub25lO1xuXG5cdFx0Jjo6YmVmb3JlLCAmOjphZnRlciB7IGNvbnRlbnQ6IG5vbmU7IH0gICAvLyBXb28ncyBjbGVhcmZpeCBicmVha3MgZ3JpZFxuXG5cdFx0Ly8g4pqgIFdvbyBzaXplcyBlYWNoIGNhcmQgd2l0aCBgLndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzLmNvbHVtbnMtM1xuXHRcdC8vIGxpLnByb2R1Y3QgeyB3aWR0aDogMzAuNzUlIH1gIOKAlCBmb3VyIGNsYXNzZXMsIHdoaWNoIG91dC13ZWlnaHMgYVxuXHRcdC8vIHBsYWluIGBsaS5wcm9kdWN0YCBoZXJlLCBzbyB0aGUgY2FyZCBzdGF5ZWQgMzAlIHdpZGUgSU5TSURFIGl0c1xuXHRcdC8vIGdyaWQgdHJhY2sgKEpvZSwgMjAyNi0wOS0xMzogXCJ5b3UgYnJva2UgaXRcIikuIFRoZSBhdHRyaWJ1dGVcblx0XHQvLyBzZWxlY3RvciBtYXRjaGVzIGV2ZXJ5IGNvbHVtbnMtTiB2YXJpYW50IGFuZCB0aWVzIG9uIGNsYXNzIGNvdW50O1xuXHRcdC8vIHRoZSBzb3VyY2Ugb3JkZXIgKG91cnMgbG9hZHMgYWZ0ZXIpIHdpbnMgdGhlIHRpZS5cblx0XHQmW2NsYXNzKj1cImNvbHVtbnMtXCJdIGxpLnByb2R1Y3QsXG5cdFx0bGkucHJvZHVjdCB7XG5cdFx0XHRmbG9hdDogbm9uZTtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0cGFkZGluZzogMDtcblxuXHRcdFx0YS53b29jb21tZXJjZS1Mb29wUHJvZHVjdC1saW5rIHtcblx0XHRcdFx0ZGlzcGxheTogZ3JpZDtcblx0XHRcdFx0Z2FwOiAwO1xuXHRcdFx0XHRjb2xvcjogaW5oZXJpdDtcblx0XHRcdH1cblxuXHRcdFx0Ly8gPSAuY2FyZF9fbWVkaWFcblx0XHRcdGltZyB7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0YXNwZWN0LXJhdGlvOiAxO1xuXHRcdFx0XHRvYmplY3QtZml0OiBjb3Zlcjtcblx0XHRcdFx0bWFyZ2luOiAwIDAgc3AoNCk7XG5cdFx0XHRcdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XG5cdFx0XHRcdGJhY2tncm91bmQ6IHZhcigtLWJnLTMpO1xuXHRcdFx0XHRAaW5jbHVkZSB6b29tYWJsZSguNnMpO1xuXHRcdFx0fVxuXHRcdFx0YTpob3ZlciBpbWcgeyBAaW5jbHVkZSB6b29tZWQoMS4wNCk7IH1cblxuXHRcdFx0Ly8gPSAuY2FyZF9fdGl0bGVcblx0XHRcdC53b29jb21tZXJjZS1sb29wLXByb2R1Y3RfX3RpdGxlIHtcblx0XHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0XHRmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcblx0XHRcdFx0Zm9udC1zaXplOiBmbHVpZCgxOCwgMjYpO1xuXHRcdFx0XHRmb250LXdlaWdodDogOTAwO1xuXHRcdFx0XHRsaW5lLWhlaWdodDogMS4wNTtcblx0XHRcdFx0bGV0dGVyLXNwYWNpbmc6IC0uMDJlbTtcblx0XHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRcdFx0Y29sb3I6IHZhcigtLWluayk7XG5cdFx0XHRcdHRyYW5zaXRpb246IGNvbG9yIHZhcigtLWR1ci1mYXN0KSAkZWFzZTtcblx0XHRcdH1cblx0XHRcdGE6aG92ZXIgLndvb2NvbW1lcmNlLWxvb3AtcHJvZHVjdF9fdGl0bGUgeyBjb2xvcjogdmFyKC0tYWNjZW50LWluayk7IH1cblxuXHRcdFx0Ly8gPSAuY2FyZF9fY2hpcCDigJQgdGhlIHByaWNlIGlzIHRoZSBibHVlIHBpbGwgKEpvZSwgMjAyNi0wOS0xMykuXG5cdFx0XHQucHJpY2Uge1xuXHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRcdGp1c3RpZnktc2VsZjogc3RhcnQ7XG5cdFx0XHRcdG1hcmdpbjogc3AoMykgMCAwO1xuXHRcdFx0XHRAaW5jbHVkZSBsYWJlbDtcblx0XHRcdFx0cGFkZGluZzogLjE2ZW0gLjYyZW07XG5cdFx0XHRcdGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1hY2NlbnQpO1xuXHRcdFx0XHRjb2xvcjogI2ZmZjtcblxuXHRcdFx0XHRpbnMgeyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblx0XHRcdFx0ZGVsIHsgb3BhY2l0eTogLjY7IG1hcmdpbi1yaWdodDogLjRlbTsgfVxuXHRcdFx0XHQud29vY29tbWVyY2UtUHJpY2UtY3VycmVuY3lTeW1ib2wgeyBmb250LXdlaWdodDogaW5oZXJpdDsgfVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG5cbi8vIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLy8gIFBST0RVQ1QgUEFHRSDigJQgc2luZ2xlLXByb2R1Y3QucGhwXG4vL1xuLy8gIEdhbGxlcnkgfCBzdW1tYXJ5LCBzaWRlIGJ5IHNpZGU7IHN0YWNrZWQgdW5kZXIgbGcuIFRoZSBnYWxsZXJ5IGFuZCB0aGVcbi8vICBhZGQtdG8tY2FydCBmb3JtIGFyZSBXb28ncyBvd24gbWFya3VwICh0aGV5IGNhcnJ5IHRoZSBKUyksIHJlc3R5bGVkIGhlcmUuXG4vL1xuLy8gIOKblCAucGRwLCBOT1QgLnByb2R1Y3Qg4oCUIFdvbyBwdXRzIGNsYXNzPVwicHJvZHVjdFwiIG9uIGV2ZXJ5IDxsaT4gaW4gdGhlIHNob3Bcbi8vICBncmlkLCBzbyBhIC5wcm9kdWN0IGxheW91dCBibG9jayBoZXJlIHdvdWxkIHR1cm4gZWFjaCBjYXJkIGludG8gdGhpc1xuLy8gIHR3by1jb2x1bW4gZ3JpZC5cbi8vIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLnBkcCB7XG5cdGRpc3BsYXk6IGdyaWQ7XG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDAsIDEuMWZyKSBtaW5tYXgoMCwgMWZyKTtcblx0Z2FwOiBjbGFtcCgycmVtLCA1dncsIDVyZW0pO1xuXHRhbGlnbi1pdGVtczogc3RhcnQ7XG5cblx0QGluY2x1ZGUgYXQobGcpIHtcblx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcblx0XHRnYXA6IGNsYW1wKDJyZW0sIDV2dywgM3JlbSk7XG5cdH1cblxuXHQvLyDilIDilIAgR2FsbGVyeSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblx0Jl9fZ2FsbGVyeSB7XG5cdFx0Ly8gV29vJ3MgZmxleHNsaWRlciBtYXJrdXAuIFRoZSBtYWluIGltYWdlIGdldHMgdGhlIHRoZW1lJ3MgbWVkaWEgZnJhbWUuXG5cdFx0Lndvb2NvbW1lcmNlLXByb2R1Y3QtZ2FsbGVyeSB7XG5cdFx0XHR3aWR0aDogMTAwJSAhaW1wb3J0YW50OyAgIC8vIFdvbyBpbmxpbmVzIGEgY29sdW1uIHdpZHRoIG9uIGl0XG5cdFx0XHRtYXJnaW46IDA7XG5cblx0XHRcdC53b29jb21tZXJjZS1wcm9kdWN0LWdhbGxlcnlfX3dyYXBwZXIgeyBtYXJnaW46IDA7IH1cblxuXHRcdFx0Lndvb2NvbW1lcmNlLXByb2R1Y3QtZ2FsbGVyeV9faW1hZ2Uge1xuXHRcdFx0XHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbGcpO1xuXHRcdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiB2YXIoLS13YXNoKTtcblx0XHRcdFx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tbGluZSk7XG5cdFx0XHRcdGltZyB7IGRpc3BsYXk6IGJsb2NrOyB3aWR0aDogMTAwJTsgaGVpZ2h0OiBhdXRvOyB9XG5cdFx0XHR9XG5cblx0XHRcdC8vIFRodW1icyByb3cgKG9ubHkgd2hlbiB0aGVyZSBpcyBtb3JlIHRoYW4gb25lIGltYWdlKS5cblx0XHRcdC5mbGV4LWNvbnRyb2wtdGh1bWJzIHtcblx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0ZmxleC13cmFwOiB3cmFwO1xuXHRcdFx0XHRnYXA6IHNwKDMpO1xuXHRcdFx0XHRtYXJnaW46IHNwKDQpIDAgMDtcblx0XHRcdFx0cGFkZGluZzogMDtcblx0XHRcdFx0bGlzdC1zdHlsZTogbm9uZTtcblxuXHRcdFx0XHRsaSB7XG5cdFx0XHRcdFx0ZmxvYXQ6IG5vbmU7XG5cdFx0XHRcdFx0d2lkdGg6IDcycHg7XG5cdFx0XHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0XHRcdGltZyB7XG5cdFx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHRcdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XG5cdFx0XHRcdFx0XHRib3JkZXI6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcblx0XHRcdFx0XHRcdG9wYWNpdHk6IC41NTtcblx0XHRcdFx0XHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHRcdFx0XHRcdHRyYW5zaXRpb246IG9wYWNpdHkgdmFyKC0tZHVyLWZhc3QpICRlYXNlLCBib3JkZXItY29sb3IgdmFyKC0tZHVyLWZhc3QpICRlYXNlO1xuXHRcdFx0XHRcdFx0Ji5mbGV4LWFjdGl2ZSwgJjpob3ZlciB7IG9wYWNpdHk6IDE7IGJvcmRlci1jb2xvcjogdmFyKC0tYWNjZW50KTsgfVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQvLyBObyBsaWdodGJveCAoc3VwcG9ydCBub3QgZGVjbGFyZWQg4oCUIGluYy9zaG9wLnBocCksIHNvIHRoZSBpbWFnZSdzXG5cdFx0XHQvLyB3cmFwcGluZyA8YT4gZ29lcyBub3doZXJlIHVzZWZ1bDogbmV1dHJhbGlzZSBpdC4gVGhlIPCflI0gdHJpZ2dlciBvbmx5XG5cdFx0XHQvLyByZW5kZXJzIHdpdGggbGlnaHRib3ggc3VwcG9ydCwgYnV0IHN0YXlzIGhpZGRlbiBpbiBjYXNlIGEgcGx1Z2luXG5cdFx0XHQvLyByZS1kZWNsYXJlcyBpdC5cblx0XHRcdC53b29jb21tZXJjZS1wcm9kdWN0LWdhbGxlcnlfX3RyaWdnZXIgeyBkaXNwbGF5OiBub25lOyB9XG5cdFx0XHQud29vY29tbWVyY2UtcHJvZHVjdC1nYWxsZXJ5X19pbWFnZSBhIHsgY3Vyc29yOiBkZWZhdWx0OyBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXHRcdH1cblx0fVxuXG5cdC8vIOKUgOKUgCBTdW1tYXJ5IOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXHQmX19zdW1tYXJ5IHtcblx0XHRkaXNwbGF5OiBncmlkO1xuXHRcdGdhcDogc3AoNSk7XG5cdFx0YWxpZ24tY29udGVudDogc3RhcnQ7XG5cdFx0PiAqIHsgbWFyZ2luOiAwOyB9XG5cdH1cblxuXHQmX190aXRsZSB7IG1hcmdpbi10b3A6IHNwKDEpOyB9XG5cblx0Ly8gXCJIb21lIC8gU2hvcFwiIOKAlCB0aGUgZXllYnJvdywgd2l0aCBsaW5rcy4gU2VwYXJhdG9yIG11dGVkIHNvIHRoZSB0d29cblx0Ly8gbmFtZXMgcmVhZCBhcyB0aGUgY3J1bWIsIG5vdCB0aGUgc2xhc2guXG5cdC5jcnVtYnMge1xuXHRcdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRcdGdhcDogLjZlbTtcblx0XHRhIHsgY29sb3I6IGluaGVyaXQ7IHRyYW5zaXRpb246IGNvbG9yIHZhcigtLWR1ci1mYXN0KSAkZWFzZTsgfVxuXHRcdEBpbmNsdWRlIGNhbi1ob3ZlciB7IGE6aG92ZXIgeyBjb2xvcjogdmFyKC0tYWNjZW50LWluayk7IH0gfVxuXHRcdCZfX3NlcCB7IGNvbG9yOiB2YXIoLS1pbmstMyk7IH1cblx0fVxuXG5cdCZfX2JsdXJiIHtcblx0XHRmb250LXNpemU6IGNsYW1wKDFyZW0sIC4zdncgKyAuOTVyZW0sIDEuMTJyZW0pO1xuXHRcdGNvbG9yOiB2YXIoLS1pbmstMik7XG5cdFx0PiA6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cblx0fVxuXG5cdC8vIFNhbWUgcGlsbCBhcyB0aGUgZ3JpZDsgbGFyZ2VyLCBpdCBpcyBUSEUgbnVtYmVyIG9uIHRoaXMgcGFnZS5cblx0Jl9fcHJpY2UucHJpY2Uge1xuXHRcdGp1c3RpZnktc2VsZjogc3RhcnQ7XG5cdFx0QGluY2x1ZGUgbGFiZWw7XG5cdFx0Zm9udC1zaXplOiBmbHVpZCgxNiwgMjIpO1xuXHRcdHBhZGRpbmc6IC4yMmVtIC43ZW07XG5cdFx0Ym9yZGVyLXJhZGl1czogOTk5cHg7XG5cdFx0YmFja2dyb3VuZDogdmFyKC0tYWNjZW50KTtcblx0XHRjb2xvcjogI2ZmZjtcblx0XHRpbnMgeyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblx0XHRkZWwgeyBvcGFjaXR5OiAuNjsgbWFyZ2luLXJpZ2h0OiAuNGVtOyB9XG5cdH1cblxuXHQvLyDilIDilIAgQWRkLXRvLWNhcnQgZm9ybSAoV29vIG1hcmt1cCkg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cdGZvcm0uY2FydCB7XG5cdFx0ZGlzcGxheTogZ3JpZDtcblx0XHRnYXA6IHNwKDUpO1xuXHRcdG1hcmdpbjogc3AoMikgMCAwO1xuXG5cdFx0Ly8gVmFyaWF0aW9uIHJvd3M6IDx0YWJsZSBjbGFzcz1cInZhcmlhdGlvbnNcIj4g4oCUIG9uZSByb3cgcGVyIGF0dHJpYnV0ZS5cblx0XHR0YWJsZS52YXJpYXRpb25zIHtcblx0XHRcdGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG5cdFx0XHRtYXJnaW46IDA7XG5cdFx0XHR0ciB7IGRpc3BsYXk6IGdyaWQ7IGdhcDogc3AoMik7IH1cblx0XHRcdHRoLCB0ZCB7IGRpc3BsYXk6IGJsb2NrOyBwYWRkaW5nOiAwOyBib3JkZXI6IDA7IHRleHQtYWxpZ246IGxlZnQ7IGxpbmUtaGVpZ2h0OiBpbmhlcml0OyB9XG5cdFx0XHR0aCBsYWJlbCB7XG5cdFx0XHRcdEBpbmNsdWRlIGxhYmVsO1xuXHRcdFx0XHRjb2xvcjogdmFyKC0taW5rLTIpO1xuXHRcdFx0fVxuXHRcdFx0dGQgc2VsZWN0IHsgQGV4dGVuZCAlcGlsbC1zZWxlY3Q7IHdpZHRoOiAxMDAlOyB9XG5cdFx0XHQucmVzZXRfdmFyaWF0aW9ucyB7XG5cdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdFx0bWFyZ2luLXRvcDogc3AoMik7XG5cdFx0XHRcdGZvbnQtc2l6ZTogLjhyZW07XG5cdFx0XHRcdGNvbG9yOiB2YXIoLS1pbmstMyk7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Ly8gXCJDbGVhclwiIHVuZGVyIHRoZSBTaXplIHNlbGVjdC4gUG9pbnRsZXNzIHdpdGggbm8gXCJDaG9vc2UgYW4gb3B0aW9uXCJcblx0XHQvLyByb3cgdG8gY2xlYXIgYmFjayB0byAoaW5jL3Nob3AucGhwIHN0cmlwcyBpdCksIHNvIGl0IGlzIGhpZGRlbi5cblx0XHQucmVzZXRfdmFyaWF0aW9ucyB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG5cdFx0Ly8gQ2hvc2VuIHZhcmlhdGlvbjogV29vIHN3YXBzIGluIGl0cyBwcmljZSArIHN0b2NrIGhlcmUuIFRoZSBzdG9jayBsaW5lXG5cdFx0Ly8gaXMgdGhlIFFVQU5USVRZIGxhYmVsIChpbmMvc2hvcC5waHApLCBzbyBpdCBnZXRzIGEgbGFiZWwncyBnYXAgdG8gdGhlXG5cdFx0Ly8gZmllbGQgcm93IGJlbG93IChKb2UsIDIwMjYtMDktMTM6IFwic3BhY2UgYmV0d2VlbiB0aGUgcXVhbnRpdHkgdGV4dFxuXHRcdC8vIGFuZCB0aGUgZmllbGRzIGJlbG93XCIpLlxuXHRcdC53b29jb21tZXJjZS12YXJpYXRpb24ge1xuXHRcdFx0Lndvb2NvbW1lcmNlLXZhcmlhdGlvbi1wcmljZSB7IGRpc3BsYXk6IG5vbmU7IH0gICAvLyB0aGUgcGlsbCBhYm92ZSBhbHJlYWR5IHNheXMgaXRcblx0XHRcdC53b29jb21tZXJjZS12YXJpYXRpb24tYXZhaWxhYmlsaXR5IHAge1xuXHRcdFx0XHRtYXJnaW46IDAgMCBzcCgyKTtcblx0XHRcdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ubyk7XG5cdFx0XHRcdGZvbnQtc2l6ZTogLjcycmVtO1xuXHRcdFx0XHRsZXR0ZXItc3BhY2luZzogLjEyZW07XG5cdFx0XHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0XHRcdGNvbG9yOiB2YXIoLS1pbmstMyk7XG5cdFx0XHRcdCYub3V0LW9mLXN0b2NrIHsgY29sb3I6ICNjMDM5MmI7IH1cblx0XHRcdH1cblx0XHR9XG5cblx0XHQvLyBRdWFudGl0eSArIGJ1dHRvbiBvbiBvbmUgcm93LlxuXHRcdC53b29jb21tZXJjZS12YXJpYXRpb24tYWRkLXRvLWNhcnQge1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGZsZXgtd3JhcDogd3JhcDtcblx0XHRcdGdhcDogc3AoMyk7XG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdH1cblxuXHRcdC5xdWFudGl0eSB7IEBleHRlbmQgJXF0eS1zdGVwcGVyOyB9XG5cblx0XHQvLyBcIkFkZCBUbyBDYXJ0XCIg4oCUIHRoZSB0aGVtZSdzIC5idG4gc2hhcGUsIGZpbGxlZCBhY2NlbnQuXG5cdFx0LnNpbmdsZV9hZGRfdG9fY2FydF9idXR0b24ge1xuXHRcdFx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0XHRmbGV4OiAxIDEgYXV0bztcblx0XHRcdGhlaWdodDogNTRweDtcblx0XHRcdHBhZGRpbmctaW5saW5lOiBzcCg2KTtcblx0XHRcdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWFjY2VudCk7XG5cdFx0XHRib3JkZXItcmFkaXVzOiA5OTlweDtcblx0XHRcdGJhY2tncm91bmQ6IHZhcigtLWFjY2VudCk7XG5cdFx0XHRjb2xvcjogI2ZmZjtcblx0XHRcdGZvbnQ6IGluaGVyaXQ7XG5cdFx0XHRmb250LXNpemU6IC45MnJlbTtcblx0XHRcdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdFx0XHRsZXR0ZXItc3BhY2luZzogLjAxZW07XG5cdFx0XHRsaW5lLWhlaWdodDogMTtcblx0XHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHRcdHRyYW5zaXRpb246IGJhY2tncm91bmQgdmFyKC0tZHVyLWZhc3QpICRlYXNlLCBib3JkZXItY29sb3IgdmFyKC0tZHVyLWZhc3QpICRlYXNlLCB0cmFuc2Zvcm0gdmFyKC0tZHVyLWZhc3QpICRlYXNlO1xuXG5cdFx0XHRAaW5jbHVkZSBjYW4taG92ZXIge1xuXHRcdFx0XHQmOmhvdmVyIHsgYmFja2dyb3VuZDogdmFyKC0taW5rKTsgYm9yZGVyLWNvbG9yOiB2YXIoLS1pbmspOyBjb2xvcjogdmFyKC0tYmcpOyB9XG5cdFx0XHR9XG5cdFx0XHQmOmFjdGl2ZSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxcHgpOyB9XG5cdFx0XHQmLmRpc2FibGVkLCAmOmRpc2FibGVkIHsgb3BhY2l0eTogLjQ7IGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cblxuXHRcdFx0Ly8gbC1jYXJ0LmpzOiBcIkFkZGluZ+KAplwiIHdoaWxlIHRoZSByZXF1ZXN0IGlzIG91dCwgXCJBZGRlZCDinJNcIiBmb3IgYVxuXHRcdFx0Ly8gYmVhdCBhZnRlci4gVGhlIGxhYmVsIHRleHQgaXMgc3dhcHBlZCBpbiBKUzsgdGhlc2UganVzdCBjb2xvdXIgaXQuXG5cdFx0XHQmLmlzLWFkZGluZyB7IG9wYWNpdHk6IC43OyBjdXJzb3I6IHByb2dyZXNzOyB9XG5cdFx0fVxuXHRcdC8vIFdvbydzIFwiVmlldyBjYXJ0XCIgbGluaywgc2hvdWxkIGFueSBzY3JpcHQgc3RpbGwgYXBwZW5kIGl0LlxuXHRcdC5hZGRlZF90b19jYXJ0IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cdFx0LnNpbmdsZV9hZGRfdG9fY2FydF9idXR0b24ge1xuXHRcdFx0Ji5pcy1hZGRlZCAgeyBiYWNrZ3JvdW5kOiB2YXIoLS1pbmspOyBib3JkZXItY29sb3I6IHZhcigtLWluayk7IGNvbG9yOiB2YXIoLS1iZyk7IH1cblx0XHR9XG5cdH1cblxuXHQvLyDilIDilIAgRGVzY3JpcHRpb24g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cdCZfX2Rlc2Mge1xuXHRcdG1hcmdpbi10b3A6IGNsYW1wKDIuNXJlbSwgNXZ3LCA0cmVtKTtcblx0XHRtYXgtd2lkdGg6IDY4Y2g7XG5cdH1cbn1cblxuXG4vLyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi8vICBOT1RJQ0VTIOKAlCBcInJlbW92ZWQuIFVuZG8/XCIsIGVycm9ycywgaW5mby4gV29vJ3Mgb3duIG1hcmt1cCwgZXZlcnl3aGVyZSBpdFxuLy8gIHByaW50cyB0aGVtIChwcm9kdWN0IHBhZ2UsIGNhcnQsIGNoZWNrb3V0KS5cbi8vXG4vLyAgQSBzbGltIGRhcmsgc3RyaXAsIG5vdCBhIGJveGVkIHBhbmVsIOKAlCB0aGUgZmlyc3QgY3V0ICh3YXNoIGJveCwgYmx1ZSBsZWZ0XG4vLyAgYmFyKSByZWFkIGFzIGEgZm9ybSBjb21wb25lbnQgYW5kIEpvZSBoYXRlZCBpdCAoXCJ0aGVzZSBtZXNzYWdlIHN0eWxlcyBvbWdcbi8vICB0aGV5J3JlIHNvIGJhZFwiKS4gVGhlIGVtcHR5LWNhcnQgbGluZSBpcyBleGVtcHRlZCBiZWxvdzogaXQgaXMgY29weSwgbm90IGFcbi8vICBub3RpY2UsIGV2ZW4gdGhvdWdoIFdvbyBnaXZlcyBpdCB0aGUgbm90aWNlIGNsYXNzLlxuLy8g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4ud29vY29tbWVyY2Utbm90aWNlcy13cmFwcGVyOmVtcHR5IHsgZGlzcGxheTogbm9uZTsgfVxuXG4ud29vY29tbWVyY2UtbWVzc2FnZSxcbi53b29jb21tZXJjZS1pbmZvLFxuLndvb2NvbW1lcmNlLWVycm9yIHtcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdGZsZXgtd3JhcDogd3JhcDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiAuMzVlbSAxZW07XG5cdG1heC13aWR0aDogMTAwJTtcblx0bWFyZ2luOiAwIDAgc3AoNSk7XG5cdHBhZGRpbmc6IC43ZW0gMS4yZW07XG5cdGJvcmRlcjogMDtcblx0Ym9yZGVyLXJhZGl1czogOTk5cHg7XG5cdGJhY2tncm91bmQ6IHZhcigtLWluayk7XG5cdGNvbG9yOiB2YXIoLS1iZyk7XG5cdGZvbnQtc2l6ZTogLjg4cmVtO1xuXHRmb250LXdlaWdodDogNTAwO1xuXHRsaW5lLWhlaWdodDogMS4zO1xuXHRsaXN0LXN0eWxlOiBub25lO1xuXG5cdC8vIFdvbydzIHN0eWxlc2hlZXQgZHJhd3MgYW4gaWNvbiB3aXRoIDo6YmVmb3JlIGFuZCBwYWRzIGZvciBpdC5cblx0Jjo6YmVmb3JlIHsgZGlzcGxheTogbm9uZTsgfVxuXG5cdGEge1xuXHRcdGNvbG9yOiB2YXIoLS1hY2NlbnQpO1xuXHRcdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdEBpbmNsdWRlIGNhbi1ob3ZlciB7ICY6aG92ZXIgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfSB9XG5cdH1cblx0Ly8gV29vJ3MgXCJWaWV3IGNhcnRcIiAvIFwiQ29udGludWUgc2hvcHBpbmdcIiBhbmNob3Igb24gc3RvY2sgbm90aWNlcywgYW5kXG5cdC8vIGFueSAuYnV0dG9uIGl0IGRyb3BzIGluOiBhIGxpbmssIG5vdCBhIHNlY29uZCBidXR0b24gaW4gYSBzdHJpcC5cblx0LmJ1dHRvbiB7IGFsbDogdW5zZXQ7IGNvbG9yOiB2YXIoLS1hY2NlbnQpOyBmb250LXdlaWdodDogNjAwOyBjdXJzb3I6IHBvaW50ZXI7IH1cbn1cbi53b29jb21tZXJjZS1lcnJvciB7XG5cdGJhY2tncm91bmQ6ICNjMDM5MmI7XG5cdGNvbG9yOiAjZmZmO1xuXHRhIHsgY29sb3I6ICNmZmY7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG59XG4ud29vY29tbWVyY2UtZXJyb3IgbGkgeyBtYXJnaW46IDA7IH1cblxuLy8gT24gdGhlIENBUlQgcGFnZSB0aGUgc3RyaXBzIGJlY29tZSB0b2FzdHM6IGZpeGVkLCB0b3AtY2VudHJlIHVuZGVyIHRoZVxuLy8gaGVhZGVyLCBkcm9wIGluLFxuLy8gZ29uZSBhZnRlciBhIGZldyBzZWNvbmRzLiBJbmxpbmUgYXQgdGhlIHRvcCBvZiB0aGUgdGFibGUgdGhleSByZWFkIGFzIGFcbi8vIG1pc3Bvc2l0aW9uZWQgbGFiZWwgKFwiQ2FydCB1cGRhdGVkXCIgc2l0dGluZyBvdmVyIHRoZSBQcm9kdWN0IGhlYWRlciDigJQgSm9lLFxuLy8gMjAyNi0wOS0xMykuIFwiQ2FydCB1cGRhdGVkLlwiIGl0c2VsZiBpcyBkcm9wcGVkIGluIGwtY2FydC5qcyDigJQgdGhlIG51bWJlcnNcbi8vIGFscmVhZHkgY2hhbmdlZDsgdGhlIHRvYXN0IHRoYXQgc3RheXMgaXMgXCJyZW1vdmVkLiBVbmRvP1wiLlxuLndvb2NvbW1lcmNlLWNhcnQgLndvb2NvbW1lcmNlLW5vdGljZXMtd3JhcHBlciB7XG5cdHBvc2l0aW9uOiBmaXhlZDtcblx0bGVmdDogNTAlO1xuXHR0b3A6IGNhbGModmFyKC0tbmF2LWgpICsgMjNweCk7ICAgLy8gOTVweCBvbiBkZXNrdG9wOiB0aGUgNzJweCBoZWFkZXIgKyAyMyAoSm9lLCAyMDI2LTA5LTE0OiBcImZyb20gdGhlIHRvcCBpbnN0ZWFkXCIpOyB0cmFja3MgLS1uYXYtaCB3aGVyZSBpdCBjaGFuZ2VzIG9uIG1vYmlsZVxuXHR6LWluZGV4OiA2MDtcblx0ZGlzcGxheTogZ3JpZDtcblx0Z2FwOiBzcCgyKTtcblx0anVzdGlmeS1pdGVtczogY2VudGVyO1xuXHR3aWR0aDogbWF4LWNvbnRlbnQ7XG5cdG1heC13aWR0aDogY2FsYygxMDB2dyAtIDMycHgpO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG5cdD4gKiB7XG5cdFx0bWFyZ2luOiAwO1xuXHRcdHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuXHRcdGJveC1zaGFkb3c6IDAgMTBweCAzMHB4IHJnYmEoMCwgMCwgMCwgLjE4KTtcblx0XHRhbmltYXRpb246IHRvYXN0LWluIC4zcyAkZWFzZS1vdXQgYm90aCwgdG9hc3Qtb3V0IC4zNXMgJGVhc2UgMTBzIGZvcndhcmRzOyAgIC8vIDEwcyBvbiBzY3JlZW4gKEpvZSwgMjAyNi0wOS0xNCkg4oCUIFVuZG8gbmVlZHMgdGhlIHRpbWVcblx0fVxuXG5cdC8vIOKaoCBXb28ncyBjYXJ0LmpzIHNob3dfbm90aWNlKCkgY29sbGVjdHMgRVZFUlkgLndvb2NvbW1lcmNlLWluZm8gaW4gdGhlXG5cdC8vIHJlLXJlbmRlcmVkIGh0bWwg4oCUIHdoaWNoIGluY2x1ZGVzIFwiWW91ciBjYXJ0IGlzIGVtcHR5LlwiIOKAlCBhbmQgcHJlcGVuZHNcblx0Ly8gdGhlIGxvdCBoZXJlLiBTbyB0aGUgZW1wdHkgbGluZSByb2RlIGFsb25nIGludG8gdGhlIHRvYXN0IChKb2UsXG5cdC8vIDIwMjYtMDktMTMpLiBJdCBzdGF5cyBpbiB0aGUgcGFnZSBib2R5IHdoZXJlIGl0IHdhcyByZW5kZXJlZDsgdGhlIGNvcHlcblx0Ly8gdGhhdCBsYW5kcyBoZXJlIGlzIGRyb3BwZWQgKGwtY2FydC5qcyByZW1vdmVzIGl0OyB0aGlzIGlzIHRoZSBiYWNrc3RvcCkuXG5cdD4gLmNhcnQtZW1wdHkgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbn1cbkBrZXlmcmFtZXMgdG9hc3QtaW4gIHsgZnJvbSB7IG9wYWNpdHk6IDA7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTJweCk7IH0gfSAgIC8vIGRyb3BzIGluIGZyb20gdGhlIGhlYWRlclxuQGtleWZyYW1lcyB0b2FzdC1vdXQgeyB0byAgIHsgb3BhY2l0eTogMDsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC04cHgpOyB2aXNpYmlsaXR5OiBoaWRkZW47IH0gfVxuXG4vLyBFbXB0eSBjYXJ0OiBhIHNlbnRlbmNlLCBub3QgYSBzdHJpcC5cbi53b29jb21tZXJjZS1pbmZvLmNhcnQtZW1wdHkge1xuXHRkaXNwbGF5OiBibG9jaztcblx0cGFkZGluZzogMDtcblx0Ym9yZGVyLXJhZGl1czogMDtcblx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cdGNvbG9yOiB2YXIoLS1pbmstMik7XG5cdGZvbnQtc2l6ZTogY2xhbXAoMS4wNXJlbSwgLjV2dyArIC45NXJlbSwgMS4zcmVtKTtcblx0Zm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuXG4vLyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi8vICBDQVJUICsgQ0hFQ0tPVVQg4oCUIFdvbydzIHNob3J0Y29kZXMgaW5zaWRlIHBhZ2UucGhwJ3MgLnByb3NlLiBFdmVyeSBydWxlIGlzXG4vLyAgbmVzdGVkIHVuZGVyIGAucHJvc2UgLndvb2NvbW1lcmNlYCBzbyBpdCBvdXQtd2VpZ2hzIGJvdGggLnByb3NlJ3MgdGFibGUgYW5kXG4vLyAgaW5wdXQgc3R5bGluZyBhbmQgV29vJ3Mgc3R5bGVzaGVldCAod2hpY2ggbG9hZHMgYmVmb3JlIG91cnMpLlxuLy8g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4ucHJvc2UgLndvb2NvbW1lcmNlIHtcblxuXHQvLyDilIDilIAgU2hhcmVkOiB0YWJsZXMsIGZpZWxkcywgYnV0dG9ucyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblx0Ly8gLnByb3NlIHVuZGVybGluZXMgZXZlcnkgbGluayAoYWNjZW50LCAycHgpOyBhIHByb2R1Y3QgbmFtZSBpbiBhIGNhcnRcblx0Ly8gcm93IGlzIG5vdCBib2R5IGNvcHkgKEpvZSwgMjAyNi0wOS0xMzogXCJ0aGUgdW5kZXJsaW5lIG9uIHRoZSBwcm9kdWN0XG5cdC8vIG5hbWUgPz8/PyB3dGYgaXMgdGhhdFwiKS5cblx0YSB7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG5cdHRhYmxlLnNob3BfdGFibGUge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdG1hcmdpbjogMDtcblx0XHRib3JkZXI6IDA7XG5cdFx0Ym9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcblx0XHRib3JkZXItcmFkaXVzOiAwO1xuXHRcdGZvbnQtc2l6ZTogLjk1cmVtO1xuXHRcdHRoIHsgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG5cdFx0dGgsIHRkIHtcblx0XHRcdHBhZGRpbmc6IHNwKDQpIHNwKDMpO1xuXHRcdFx0Ym9yZGVyOiAwO1xuXHRcdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWxpbmUpO1xuXHRcdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0XHRcdHRleHQtYWxpZ246IGxlZnQ7XG5cdFx0XHRsaW5lLWhlaWdodDogMS4zNTtcblx0XHR9XG5cdFx0dGhlYWQgdGgge1xuXHRcdFx0QGluY2x1ZGUgbGFiZWw7XG5cdFx0XHRjb2xvcjogdmFyKC0taW5rLTMpO1xuXHRcdFx0cGFkZGluZy10b3A6IDA7XG5cdFx0fVxuXHRcdHRib2R5IHRyOmxhc3QtY2hpbGQgdGgsXG5cdFx0dGJvZHkgdHI6bGFzdC1jaGlsZCB0ZCB7IGJvcmRlci1ib3R0b206IDA7IH0gICAvLyB0aCB0b28sIG9yIHRoZSB0b3RhbHMgdGFibGUga2VlcHMgYSBzdHViIG9mIHJ1bGUgdW5kZXIgVE9UQUxcblx0XHR0Zm9vdCB0aCwgdGZvb3QgdGQgeyBib3JkZXItYm90dG9tOiAwOyB9XG5cdFx0YSB7IGNvbG9yOiBpbmhlcml0OyBmb250LXdlaWdodDogNjAwOyB9XG5cdFx0LmFtb3VudCB7IGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7IH1cblx0fVxuXG5cdC8vIFRleHQgZmllbGRzOiB0aGUgdGhlbWUncyBvd24gKHNlZSBfZm9ybXMuc2NzcyksIHBpbGwtc2hhcGVkLlxuXHQvLyBTYW1lIGJveCBhcyBldmVyeSBvdGhlciB0ZXh0IGZpZWxkIG9uIHRoZSBzaXRlIChfZm9ybXMuc2NzcywgdGhlXG5cdC8vIG5ld3NsZXR0ZXIgaW5wdXQpOiA1NHB4IHRhbGwsIHNwKDYpIHNpZGUgcGFkZGluZyDigJQgV29vJ3Mgb3duIENTU1xuXHQvLyBzcXVlZXplcyB0aGUgY291cG9uIGZpZWxkIHRvIGEgZmV3IHB4IChKb2UsIDIwMjYtMDktMTM6IFwibGVmdCBwYWRkaW5nXG5cdC8vIG9uIHRoYXQgY291cG9uIGNvZGUgZmllbGQgaXMgc29vb28gdGlnaHRcIikuXG5cdGlucHV0LmlucHV0LXRleHQsXG5cdHRleHRhcmVhLmlucHV0LXRleHQge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGhlaWdodDogNTRweDtcblx0XHRwYWRkaW5nOiAwIDEuM3JlbTsgICAvLyBzcCg1KSBsZXNzIH4zcHgg4oCUIEpvZSdzIGV5ZSwgMjAyNi0wOS0xM1xuXHRcdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpbmUtMik7XG5cdFx0Ym9yZGVyLXJhZGl1czogOTk5cHg7XG5cdFx0YmFja2dyb3VuZDogdmFyKC0tYmcpO1xuXHRcdGNvbG9yOiB2YXIoLS1pbmspO1xuXHRcdGZvbnQ6IGluaGVyaXQ7XG5cdFx0bGluZS1oZWlnaHQ6IDEuMztcblx0XHR0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgdmFyKC0tZHVyLWZhc3QpICRlYXNlO1xuXHRcdCY6Zm9jdXMtdmlzaWJsZSB7IG91dGxpbmU6IDNweCBzb2xpZCB2YXIoLS1hY2NlbnQpOyBvdXRsaW5lLW9mZnNldDogMnB4OyB9XG5cdFx0Jjo6cGxhY2Vob2xkZXIgeyBjb2xvcjogdmFyKC0taW5rLTMpOyB9XG5cdH1cblxuXHQvLyDilIDilIAgUGhvbmUgY2FydCAoV29vJ3Mgc21hbGxzY3JlZW4gc2hlZXQga2lja3MgaW4gYXQgNzY4cHgpIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXHQvLyBXb28gc3RhY2tzIGVhY2ggcm93IGludG8gbGFiZWxsZWQgY2VsbHMgdGhlcmUg4oCUIGZpbmUg4oCUIGJ1dCBpdCBhbHNvXG5cdC8vIChhKSBgZGlzcGxheTogbm9uZWBzIHRoZSB0aHVtYm5haWwgY29sdW1uIG91dHJpZ2h0IChcIndoZXJlIGlzIHRoZVxuXHQvLyBwcm9kdWN0IHRodW1ibmFpbFwiLCBKb2UgMjAyNi0wOS0xNCkgYW5kIChiKSBmbG9hdHMgdGhlIGNvdXBvbiBmaWVsZCBhbmRcblx0Ly8gYnV0dG9uIGF0IDQ4JSBlYWNoLCB3aGljaCB1bmRlciBvdXIgZml4ZWQgMjIwcHggZmllbGQgKyBmbGV4IHJvdyBwdXRcblx0Ly8gdGhlIEFwcGx5IGJ1dHRvbiBvZmYgdGhlIHJpZ2h0IGVkZ2UuIEJvdGggcmVzdGF0ZWQgYXQgdGhlIHNhbWUgZGVwdGggYXNcblx0Ly8gdGhlIGZpZWxkIHJ1bGUgYWJvdmUgc28gdGhleSBvdXQtd2VpZ2ggV29vJ3MgbWVkaWEtcXVlcnkgY29waWVzLlxuXHRAaW5jbHVkZSBhdChtZCkge1xuXHRcdHRhYmxlLmNhcnQgdGQucHJvZHVjdC10aHVtYm5haWwge1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiAwO1xuXHRcdFx0Jjo6YmVmb3JlIHsgZGlzcGxheTogbm9uZTsgfSAgIC8vIFdvbydzIGRhdGEtdGl0bGUgbGFiZWwg4oCUIHRoZSBjZWxsIGhhcyBub25lLCBrZWVwIGl0IHRoYXQgd2F5XG5cdFx0fVxuXHRcdHRhYmxlLmNhcnQgdGQuYWN0aW9ucyAuY291cG9uIHtcblx0XHRcdGZsZXgtd3JhcDogd3JhcDtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdH1cblx0XHR0YWJsZS5jYXJ0IHRkLmFjdGlvbnMgLmNvdXBvbiAuaW5wdXQtdGV4dCB7XG5cdFx0XHRmbGV4OiAxIDEgMTYwcHg7XG5cdFx0XHR3aWR0aDogYXV0bztcblx0XHRcdG1pbi13aWR0aDogMDtcblx0XHR9XG5cdFx0dGFibGUuY2FydCB0ZC5hY3Rpb25zIC5jb3Vwb24gLmJ1dHRvbiB7XG5cdFx0XHRmbG9hdDogbm9uZTtcblx0XHRcdGZsZXg6IDAgMCBhdXRvO1xuXHRcdFx0d2lkdGg6IGF1dG87XG5cdFx0fVxuXHR9XG5cdHRleHRhcmVhLmlucHV0LXRleHQgeyBoZWlnaHQ6IGF1dG87IHBhZGRpbmc6IHNwKDQpIDEuM3JlbTsgYm9yZGVyLXJhZGl1czogMjdweDsgbWluLWhlaWdodDogNmVtOyB9ICAgLy8gPSB0ZXh0YXJlYS5uZi1lbGVtZW50XG5cdC5xdWFudGl0eSB7IEBleHRlbmQgJXF0eS1zdGVwcGVyOyBoZWlnaHQ6IDQ2cHg7IC5xdHlfX2N0bCB7IHBhZGRpbmctYmxvY2s6IDdweDsgfSB9XG5cdHNlbGVjdCB7IEBleHRlbmQgJXBpbGwtc2VsZWN0OyB3aWR0aDogMTAwJTsgfVxuXHQuc2VsZWN0Mi1jb250YWluZXIgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUge1xuXHRcdEBleHRlbmQgJXBpbGwtc2VsZWN0O1xuXHRcdGhlaWdodDogYXV0bztcblx0XHQuc2VsZWN0Mi1zZWxlY3Rpb25fX3JlbmRlcmVkIHsgcGFkZGluZzogMDsgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IGNvbG9yOiBpbmhlcml0OyB9XG5cdFx0LnNlbGVjdDItc2VsZWN0aW9uX19hcnJvdyB7IGRpc3BsYXk6IG5vbmU7IH1cblx0fVxuXG5cdC8vIEV2ZXJ5IFdvbyA8YnV0dG9uIGNsYXNzPVwiYnV0dG9uXCI+IC8gPGEgY2xhc3M9XCJidXR0b25cIj4g4oCUIHRoZSAuYnRuIHNoYXBlLlxuXHQvLyBQcmltYXJ5IG9uZXMgKFByb2NlZWQgVG8gQ2hlY2tvdXQsIFBsYWNlIE9yZGVyKSBhcmUgZmlsbGVkIGFjY2VudC5cblx0LmJ1dHRvbiwgYnV0dG9uLmJ1dHRvbiwgYS5idXR0b24ge1xuXHRcdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0Z2FwOiBzcCgzKTtcblx0XHRoZWlnaHQ6IDU0cHg7XG5cdFx0cGFkZGluZy1pbmxpbmU6IHNwKDYpO1xuXHRcdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpbmUtMik7XG5cdFx0Ym9yZGVyLXJhZGl1czogOTk5cHg7XG5cdFx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cdFx0Y29sb3I6IHZhcigtLWluayk7XG5cdFx0Zm9udDogaW5oZXJpdDtcblx0XHRmb250LXNpemU6IC45MnJlbTtcblx0XHRmb250LXdlaWdodDogNjAwO1xuXHRcdGxldHRlci1zcGFjaW5nOiAuMDFlbTtcblx0XHRsaW5lLWhlaWdodDogMTtcblx0XHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIHZhcigtLWR1ci1mYXN0KSAkZWFzZSwgY29sb3IgdmFyKC0tZHVyLWZhc3QpICRlYXNlLCBib3JkZXItY29sb3IgdmFyKC0tZHVyLWZhc3QpICRlYXNlO1xuXHRcdEBpbmNsdWRlIGNhbi1ob3ZlciB7XG5cdFx0XHQmOmhvdmVyIHsgYmFja2dyb3VuZDogdmFyKC0taW5rKTsgYm9yZGVyLWNvbG9yOiB2YXIoLS1pbmspOyBjb2xvcjogdmFyKC0tYmcpOyB9XG5cdFx0fVxuXHRcdCY6ZGlzYWJsZWQsICYuZGlzYWJsZWQgeyBvcGFjaXR5OiAuNDsgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuXHR9XG5cdC8vIEFwcGx5IGNvdXBvbiBqb2luZWQgdGhlIGxpc3QgMjAyNi0wOS0xNCAoXCJBcHBseSBjb3Vwb24gc2hvdWxkIGFsc28gYmVcblx0Ly8gYmx1ZVwiKSDigJQgb24gZGFyayBpdHMgb3V0bGluZSBwaWxsIHJlYWQgYXMgZGlzYWJsZWQgbmV4dCB0byB0aGUgZmllbGQuXG5cdC5jaGVja291dC1idXR0b24sICNwbGFjZV9vcmRlciwgLmJ1dHRvbi5hbHQsIC5jb3Vwb24gLmJ1dHRvbltuYW1lPVwiYXBwbHlfY291cG9uXCJdIHtcblx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1hY2NlbnQpO1xuXHRcdGJvcmRlci1jb2xvcjogdmFyKC0tYWNjZW50KTtcblx0XHRjb2xvcjogdmFyKC0tb24tYWNjZW50KTtcblx0fVxuXG5cdC8vIFdvbydzIGZvcm0gcm93cyAoY2hlY2tvdXQsIGNvdXBvbiwgbG9naW4pOiBsYWJlbHMgYW5kIGhhbHZlcy5cblx0LmZvcm0tcm93IHtcblx0XHRtYXJnaW46IDAgMCBzcCg0KTtcblx0XHRwYWRkaW5nOiAwO1xuXHRcdGxhYmVsIHtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogc3AoMik7XG5cdFx0XHRAaW5jbHVkZSBsYWJlbDtcblx0XHRcdGNvbG9yOiB2YXIoLS1pbmstMik7XG5cdFx0XHQucmVxdWlyZWQgeyBjb2xvcjogdmFyKC0taW5rLTMpOyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblx0XHRcdC5vcHRpb25hbCB7IGZvbnQtd2VpZ2h0OiA0MDA7IHRleHQtdHJhbnNmb3JtOiBub25lOyBsZXR0ZXItc3BhY2luZzogMDsgY29sb3I6IHZhcigtLWluay0zKTsgfVxuXHRcdH1cblx0XHQmLmZvcm0tcm93LWZpcnN0LCAmLmZvcm0tcm93LWxhc3QgeyB3aWR0aDogY2FsYyg1MCUgLSAje3NwKDIpfSk7IH1cblx0XHQmLmZvcm0tcm93LWZpcnN0IHsgZmxvYXQ6IGxlZnQ7IH1cblx0XHQmLmZvcm0tcm93LWxhc3QgIHsgZmxvYXQ6IHJpZ2h0OyB9XG5cdFx0Ji5mb3JtLXJvdy13aWRlICB7IGNsZWFyOiBib3RoOyB9XG5cdFx0Lndvb2NvbW1lcmNlLWlucHV0LXdyYXBwZXIgeyBkaXNwbGF5OiBibG9jazsgfVxuXHRcdEBpbmNsdWRlIGF0KHNtKSB7XG5cdFx0XHQmLmZvcm0tcm93LWZpcnN0LCAmLmZvcm0tcm93LWxhc3QgeyBmbG9hdDogbm9uZTsgd2lkdGg6IDEwMCU7IH1cblx0XHR9XG5cdH1cblx0Ly8gQ2hlY2tib3ggcm93cyBrZWVwIHRoZWlyIGxhYmVsIGlubGluZS5cblx0LmZvcm0tcm93IC5jaGVja2JveCxcblx0Lndvb2NvbW1lcmNlLWZvcm1fX2xhYmVsLWZvci1jaGVja2JveCB7XG5cdFx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRnYXA6IHNwKDIpO1xuXHRcdHRleHQtdHJhbnNmb3JtOiBub25lO1xuXHRcdGxldHRlci1zcGFjaW5nOiAwO1xuXHRcdGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuXHRcdGZvbnQtc2l6ZTogLjk1cmVtO1xuXHRcdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdFx0Y29sb3I6IHZhcigtLWluayk7XG5cdFx0aW5wdXQgeyB3aWR0aDogYXV0bzsgYWNjZW50LWNvbG9yOiB2YXIoLS1hY2NlbnQpOyB9XG5cdH1cblxuXHQvLyDilIDilIAgQ2FydCDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblx0Lndvb2NvbW1lcmNlLWNhcnQtZm9ybSB7XG5cdFx0bWFyZ2luOiAwO1xuXHRcdHRyYW5zaXRpb246IG9wYWNpdHkgLjI1cyAkZWFzZTtcblxuXHRcdC8vIOKaoCBGSVhFRCBsYXlvdXQsIHdpZHRocyBvbiB0aGUgaGVhZGVyIGNlbGxzLiBBdXRvIGxheW91dCBrZXB0XG5cdFx0Ly8gaGFuZGluZyB0aGUgdGFibGUncyBzcGFyZSB3aWR0aCB0byB0aGUgw5cgY29sdW1uIOKAlCBhIGhhbmQncyB3aWR0aFxuXHRcdC8vIGJldHdlZW4gdGhlIMOXIGFuZCB0aGUgdGh1bWJuYWlsIChKb2UsIDIwMjYtMDktMTM6IFwidGhhdCBnaWFudFxuXHRcdC8vIGdhcFwiKSDigJQgYW5kIGEgMSUgdHJpY2sgdG8gc3RvcCBpdCBzcXVhc2hlZCB0aGUgdGh1bWJuYWlsIGluc3RlYWQuXG5cdFx0Ly8gV2l0aCB0YWJsZS1sYXlvdXQ6IGZpeGVkIHRoZSBmaXJzdCByb3cncyB3aWR0aHMgQVJFIHRoZSBjb2x1bW5zIGFuZFxuXHRcdC8vIHRoZSBvbmUgbGVmdCBhdXRvICh0aGUgbmFtZSkgdGFrZXMgd2hhdGV2ZXIgcmVtYWlucy4gRGV0ZXJtaW5pc3RpYy5cblx0XHR0YWJsZS5jYXJ0IHtcblx0XHRcdHRhYmxlLWxheW91dDogZml4ZWQ7XG5cdFx0XHR0aC5wcm9kdWN0LXJlbW92ZSAgICB7IHdpZHRoOiA0NHB4OyB9XG5cdFx0XHR0aC5wcm9kdWN0LXRodW1ibmFpbCB7IHdpZHRoOiA5NnB4OyB9XG5cdFx0XHR0aC5wcm9kdWN0LXByaWNlICAgICB7IHdpZHRoOiA5NnB4OyB9XG5cdFx0XHR0aC5wcm9kdWN0LXF1YW50aXR5ICB7IHdpZHRoOiAxNTBweDsgfVxuXHRcdFx0dGgucHJvZHVjdC1zdWJ0b3RhbCAgeyB3aWR0aDogMTAwcHg7IH1cblx0XHR9XG5cblx0XHR0ZC5wcm9kdWN0LXJlbW92ZSwgdGgucHJvZHVjdC1yZW1vdmUgeyBwYWRkaW5nLWxlZnQ6IDA7IHBhZGRpbmctcmlnaHQ6IHNwKDQpOyB9XG5cdFx0YS5yZW1vdmUge1xuXHRcdFx0ZGlzcGxheTogZ3JpZDtcblx0XHRcdHBsYWNlLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHR3aWR0aDogMjhweDtcblx0XHRcdGhlaWdodDogMjhweDtcblx0XHRcdGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuXHRcdFx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tbGluZS0yKTtcblx0XHRcdGNvbG9yOiB2YXIoLS1pbmstMikgIWltcG9ydGFudDsgICAgICAvLyBXb28gaW5saW5lcyByZWQgb24gOmhvdmVyXG5cdFx0XHRmb250LXNpemU6IDEuMXJlbTtcblx0XHRcdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdFx0XHRsaW5lLWhlaWdodDogMTtcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRcdHRyYW5zaXRpb246IGJhY2tncm91bmQgdmFyKC0tZHVyLWZhc3QpICRlYXNlLCBjb2xvciB2YXIoLS1kdXItZmFzdCkgJGVhc2U7XG5cdFx0XHRAaW5jbHVkZSBjYW4taG92ZXIge1xuXHRcdFx0XHQmOmhvdmVyIHsgYmFja2dyb3VuZDogdmFyKC0taW5rKSAhaW1wb3J0YW50OyBjb2xvcjogdmFyKC0tYmcpICFpbXBvcnRhbnQ7IGJvcmRlci1jb2xvcjogdmFyKC0taW5rKTsgfVxuXHRcdFx0fVxuXHRcdH1cblx0XHR0ZC5wcm9kdWN0LXRodW1ibmFpbCwgdGgucHJvZHVjdC10aHVtYm5haWwgeyBwYWRkaW5nLXJpZ2h0OiBzcCg0KTsgfVxuXHRcdHRkLnByb2R1Y3QtdGh1bWJuYWlsIGltZyB7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdHdpZHRoOiA3MnB4O1xuXHRcdFx0bWF4LXdpZHRoOiBub25lOyAgIC8vIHRoZSBiYXNlIHJlc2V0J3MgbWF4LXdpZHRoOjEwMCUgc2hyYW5rIGl0IGluIGEgbmFycm93IGNlbGxcblx0XHRcdGhlaWdodDogNzJweDtcblx0XHRcdG9iamVjdC1maXQ6IGNvdmVyO1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcblx0XHRcdGJhY2tncm91bmQ6IHZhcigtLWJnLTMpO1xuXHRcdH1cblx0XHR0ZC5wcm9kdWN0LW5hbWUge1xuXHRcdFx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0XHRcdC52YXJpYXRpb24ge1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0bWFyZ2luOiAuM2VtIDAgMDtcblx0XHRcdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ubyk7XG5cdFx0XHRcdGZvbnQtc2l6ZTogLjdyZW07XG5cdFx0XHRcdGxldHRlci1zcGFjaW5nOiAuMTJlbTtcblx0XHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRcdFx0Y29sb3I6IHZhcigtLWluay0zKTtcblx0XHRcdFx0ZHQsIGRkLCBwIHsgZGlzcGxheTogaW5saW5lOyBtYXJnaW46IDA7IGZvbnQtd2VpZ2h0OiA0MDA7IH1cblx0XHRcdFx0ZHQgeyBtYXJnaW4tcmlnaHQ6IC4zZW07IH1cblx0XHRcdH1cblx0XHR9XG5cdFx0dGQucHJvZHVjdC1wcmljZSwgdGQucHJvZHVjdC1zdWJ0b3RhbCB7IHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuXHRcdC8vIENvdXBvbiArIFVwZGF0ZSBjYXJ0IHJvdy5cblx0XHR0ZC5hY3Rpb25zIHtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRmbGV4LXdyYXA6IHdyYXA7XG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRcdFx0Z2FwOiBzcCgzKTtcblx0XHRcdHBhZGRpbmctaW5saW5lOiAwO1xuXHRcdFx0Ym9yZGVyOiAwO1xuXHRcdFx0LmNvdXBvbiB7XG5cdFx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRcdGdhcDogc3AoMik7XG5cdFx0XHRcdGZsb2F0OiBub25lO1xuXHRcdFx0fVxuXHRcdFx0Ly8gXCJVcGRhdGUgY2FydFwiIGlzIGhpZGRlbjogcXVhbnRpdGllcyBzYXZlIHRoZW1zZWx2ZXMg4oCUIGwtY2FydC5qc1xuXHRcdFx0Ly8gY2xpY2tzIHRoaXMgYnV0dG9uIGZvciBXb28gb24gZXZlcnkgY2hhbmdlIChKb2UsIDIwMjYtMDktMTM6XG5cdFx0XHQvLyBcInNraXAgdGhlIFVwZGF0ZSBjYXJ0IGJ1dHRvbiBlbnRpcmVseSwgaXQncyBqdXN0IGFuIGV4dHJhIHN0ZXBcIikuXG5cdFx0XHQvLyBJdCBzdGF5cyBpbiB0aGUgRE9NIGJlY2F1c2UgV29vJ3MgY2FydC5qcyBuZWVkcyBpdCB0byBleGlzdC5cblx0XHRcdD4gLmJ1dHRvbltuYW1lPVwidXBkYXRlX2NhcnRcIl0geyBkaXNwbGF5OiBub25lOyB9XG5cdFx0fVxuXHR9XG5cblx0Ly8g4puUIFdvbydzIGFqYXggXCJsb2FkaW5nXCIgc3RhdGU6IGEgalF1ZXJ5LWJsb2NrVUkgd2hpdGUgb3ZlcmxheSB3aXRoIGFcblx0Ly8gc3Bpbm5pbmcgOjpiZWZvcmUgb24gdGhlIGZvcm0gQU5EIG9uIHRoZSB0b3RhbHMgYm94LiBKb2U6IFwiSSBkb24ndCBsaWtlXG5cdC8vIHRoZSBvdmVybGF5IGFuZCB0aG9zZSB0d28gdWdseSBsb2FkaW5nIGFuaW1hdGlvbnMuXCIgVGhlIG92ZXJsYXkgaXNcblx0Ly8gaW5saW5lLXN0eWxlZCwgc28gaXQgdGFrZXMgIWltcG9ydGFudDsgdGhlIGAucHJvY2Vzc2luZ2AgY2xhc3MgV29vIGFkZHNcblx0Ly8gdG8gdGhlIGJsb2NrZWQgZWxlbWVudCBpcyB3aGF0IHRoZSBxdWlldCBzdGF0ZSBiZWxvdyBoYW5ncyBvbiBpbnN0ZWFkLlxuXHQuYmxvY2tVSS5ibG9ja092ZXJsYXkgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblx0LnByb2Nlc3Npbmcge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHQmOjpiZWZvcmUgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gICAvLyBXb28ncyBzcGlubmVyXG5cdH1cblx0Lndvb2NvbW1lcmNlLWNhcnQtZm9ybS5wcm9jZXNzaW5nLFxuXHQuY2FydF90b3RhbHMucHJvY2Vzc2luZyxcblx0Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXJldmlldy1vcmRlci5wcm9jZXNzaW5nLFxuXHQud29vY29tbWVyY2UtY2hlY2tvdXQtcGF5bWVudC5wcm9jZXNzaW5nIHtcblx0XHRvcGFjaXR5OiAuNDU7XG5cdFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdFx0dHJhbnNpdGlvbjogb3BhY2l0eSAuMjVzICRlYXNlO1xuXHR9XG5cblx0Ly8g4pqgIFdvbyBzdHlsZXMgdGhlIGNvdXBvbiBmaWVsZCBhdCAoMCw0LDMpIOKAlFxuXHQvLyBgLndvb2NvbW1lcmNlLWNhcnQgdGFibGUuY2FydCB0ZC5hY3Rpb25zIC5jb3Vwb24gLmlucHV0LXRleHRgIOKAlCB3aXRoIGl0c1xuXHQvLyBvd24gZ3JleSBib3JkZXIsIGZsb2F0IGFuZCA2cHggcGFkZGluZywgc28gdGhlIHNoYXJlZCBpbnB1dCBydWxlIGFib3ZlXG5cdC8vIGxvc3QuIFJlc3RhdGVkIGF0IHRoZSB0b3AgbGV2ZWwgb2YgdGhpcyBibG9jayAoTk9UIG5lc3RlZCBpbnNpZGVcblx0Ly8gLmNvdXBvbiDigJQgYSBmaXJzdCBhdHRlbXB0IHdhcywgY29tcGlsZWQgdG8gYSBzZWxlY3RvciB0aGF0IG5ldmVyXG5cdC8vIG1hdGNoZWQsIGFuZCB0aGUgZmllbGQga2VwdCBXb28ncyB3aGl0ZSBvdXRsaW5lIGluIGRhcmsgbW9kZTsgSm9lLFxuXHQvLyAyMDI2LTA5LTE0KS4gTWF0Y2hlcyBldmVyeSBvdGhlciBwaWxsIGluIGJvdGggdGhlbWVzLlxuXHR0YWJsZS5jYXJ0IHRkLmFjdGlvbnMgLmNvdXBvbiAuaW5wdXQtdGV4dCB7XG5cdFx0ZmxvYXQ6IG5vbmU7XG5cdFx0d2lkdGg6IDIyMHB4O1xuXHRcdGhlaWdodDogNTRweDtcblx0XHRtYXJnaW46IDA7XG5cdFx0cGFkZGluZzogMCAxLjNyZW07XG5cdFx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tbGluZS0yKTtcblx0XHRib3JkZXItcmFkaXVzOiA5OTlweDtcblx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1iZyk7XG5cdFx0Y29sb3I6IHZhcigtLWluayk7XG5cdFx0Zm9udDogaW5oZXJpdDtcblx0XHRmb250LXNpemU6IDFyZW07XG5cdFx0bGluZS1oZWlnaHQ6IDEuMztcblx0XHQmOmZvY3VzLXZpc2libGUgeyBvdXRsaW5lOiAzcHggc29saWQgdmFyKC0tYWNjZW50KTsgb3V0bGluZS1vZmZzZXQ6IDJweDsgfVxuXHRcdCY6OnBsYWNlaG9sZGVyIHsgY29sb3I6IHZhcigtLWluay0zKTsgfVxuXHR9XG5cblx0LmNhcnRfdG90YWxzIHtcblx0XHR0cmFuc2l0aW9uOiBvcGFjaXR5IC4yNXMgJGVhc2U7XG5cdFx0ZmxvYXQ6IG5vbmU7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0bWF4LXdpZHRoOiA0MjBweDtcblx0XHRtYXJnaW46IGNsYW1wKDJyZW0sIDR2dywgM3JlbSkgMCAwIGF1dG87XG5cdFx0cGFkZGluZzogc3AoNik7XG5cdFx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tbGluZSk7XG5cdFx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWxnKTtcblx0XHRiYWNrZ3JvdW5kOiB2YXIoLS13YXNoKTtcblxuXHRcdGgyIHtcblx0XHRcdG1hcmdpbjogMCAwIHNwKDQpO1xuXHRcdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG5cdFx0XHRmb250LXNpemU6IGZsdWlkKDIwLCAyNik7XG5cdFx0XHRmb250LXdlaWdodDogOTAwO1xuXHRcdFx0bGluZS1oZWlnaHQ6IDE7XG5cdFx0XHRsZXR0ZXItc3BhY2luZzogLS4wMmVtO1xuXHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHR9XG5cdFx0dGFibGUuc2hvcF90YWJsZSB7XG5cdFx0XHR0aCB7IEBpbmNsdWRlIGxhYmVsOyBjb2xvcjogdmFyKC0taW5rLTMpOyB3aWR0aDogNDUlOyBwYWRkaW5nLWxlZnQ6IDA7IH1cblx0XHRcdHRkIHsgdGV4dC1hbGlnbjogcmlnaHQ7IHBhZGRpbmctcmlnaHQ6IDA7IH1cblx0XHRcdHRyLm9yZGVyLXRvdGFsIHRkIHsgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7IGZvbnQtc2l6ZTogMS4zNXJlbTsgZm9udC13ZWlnaHQ6IDkwMDsgfVxuXHRcdH1cblx0XHQud2MtcHJvY2VlZC10by1jaGVja291dCB7XG5cdFx0XHRwYWRkaW5nOiBzcCg1KSAwIDA7XG5cdFx0XHQuY2hlY2tvdXQtYnV0dG9uIHsgd2lkdGg6IDEwMCU7IG1hcmdpbjogMDsgfSAgIC8vIFdvbyBnaXZlcyBpdCBtYXJnaW4tYm90dG9tOiAxZW0g4oCUIGEgZ2FwIHVuZGVyIHRoZSBidXR0b24gaW5zaWRlIHRoZSBjYXJkXG5cdFx0fVxuXHRcdC53b29jb21tZXJjZS1zaGlwcGluZy1kZXN0aW5hdGlvbiwgLndvb2NvbW1lcmNlLXNoaXBwaW5nLWNhbGN1bGF0b3IgeyBmb250LXNpemU6IC44NXJlbTsgY29sb3I6IHZhcigtLWluay0zKTsgfVxuXHR9XG5cblx0Ly8gRW1wdHkgY2FydCDigJQgdGhlIHNlbnRlbmNlIGlzIHN0eWxlZCB3aXRoIHRoZSBub3RpY2VzIGFib3ZlIChXb28gZ2l2ZXMgaXRcblx0Ly8gdGhlIG5vdGljZSBjbGFzcyk7IGhlcmUgb25seSB0aGUgc3BhY2luZyB0byB0aGUgS2VlcCBTaG9wcGluZyBidXR0b24uXG5cdC5jYXJ0LWVtcHR5IHsgbWFyZ2luOiAwIDAgc3AoNSk7IH1cblx0LnJldHVybi10by1zaG9wIHsgbWFyZ2luOiAwOyB9XG5cblx0Ly8g4pSA4pSAIENoZWNrb3V0IOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXHQud29vY29tbWVyY2UtZm9ybS1jb3Vwb24tdG9nZ2xlLCAud29vY29tbWVyY2UtZm9ybS1sb2dpbi10b2dnbGUgeyBtYXJnaW4tYm90dG9tOiBzcCg1KTsgfVxuXHRmb3JtLmNoZWNrb3V0X2NvdXBvbiwgZm9ybS53b29jb21tZXJjZS1mb3JtLWxvZ2luIHtcblx0XHRtYXJnaW46IDAgMCBzcCg2KTtcblx0XHRwYWRkaW5nOiBzcCg1KTtcblx0XHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1saW5lKTtcblx0XHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xuXHRcdC5mb3JtLXJvdy1sYXN0IC5idXR0b24geyBoZWlnaHQ6IDQ2cHg7IG1hcmdpbi10b3A6IDEuNTVyZW07IH0gICAvLyBsZXZlbCB3aXRoIHRoZSBmaWVsZFxuXHR9XG5cblx0Zm9ybS5jaGVja291dCB7XG5cdFx0ZGlzcGxheTogZ3JpZDtcblx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgwLCAxLjJmcikgbWlubWF4KDAsIDFmcik7XG5cdFx0Z2FwOiBjbGFtcCgycmVtLCA1dncsIDRyZW0pO1xuXHRcdGFsaWduLWl0ZW1zOiBzdGFydDtcblxuXHRcdEBpbmNsdWRlIGF0KGxnKSB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOyB9XG5cblx0XHQjY3VzdG9tZXJfZGV0YWlscyB7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdC5jb2wtMSwgLmNvbC0yIHsgZmxvYXQ6IG5vbmU7IHdpZHRoOiAxMDAlOyB9XG5cdFx0XHQuY29sLTIgeyBtYXJnaW4tdG9wOiBzcCg2KTsgfVxuXHRcdH1cblx0XHRoMyB7XG5cdFx0XHRtYXJnaW46IDAgMCBzcCg1KTtcblx0XHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuXHRcdFx0Zm9udC1zaXplOiBmbHVpZCgyMCwgMjYpO1xuXHRcdFx0Zm9udC13ZWlnaHQ6IDkwMDtcblx0XHRcdGxpbmUtaGVpZ2h0OiAxO1xuXHRcdFx0bGV0dGVyLXNwYWNpbmc6IC0uMDJlbTtcblx0XHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0fVxuXHRcdCNvcmRlcl9yZXZpZXdfaGVhZGluZyB7IGdyaWQtY29sdW1uOiAyOyBncmlkLXJvdzogMTsgbWFyZ2luLXRvcDogMDsgfVxuXHRcdCNvcmRlcl9yZXZpZXcge1xuXHRcdFx0Z3JpZC1jb2x1bW46IDI7XG5cdFx0XHRncmlkLXJvdzogMjtcblx0XHRcdHBhZGRpbmc6IHNwKDYpO1xuXHRcdFx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tbGluZSk7XG5cdFx0XHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbGcpO1xuXHRcdFx0YmFja2dyb3VuZDogdmFyKC0td2FzaCk7XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGF0KGxnKSB7XG5cdFx0XHQjb3JkZXJfcmV2aWV3X2hlYWRpbmcsICNvcmRlcl9yZXZpZXcgeyBncmlkLWNvbHVtbjogMTsgZ3JpZC1yb3c6IGF1dG87IH1cblx0XHR9XG5cblx0XHQud29vY29tbWVyY2UtY2hlY2tvdXQtcmV2aWV3LW9yZGVyLXRhYmxlIHtcblx0XHRcdHRoLCB0ZCB7IHBhZGRpbmctaW5saW5lOiAwOyB9XG5cdFx0XHR0ZC5wcm9kdWN0LW5hbWUgeyBmb250LXdlaWdodDogNjAwOyAucHJvZHVjdC1xdWFudGl0eSB7IGNvbG9yOiB2YXIoLS1pbmstMyk7IGZvbnQtd2VpZ2h0OiA0MDA7IH0gfVxuXHRcdFx0dGQucHJvZHVjdC10b3RhbCwgdGZvb3QgdGQgeyB0ZXh0LWFsaWduOiByaWdodDsgfVxuXHRcdFx0dGZvb3QgdGggeyBAaW5jbHVkZSBsYWJlbDsgY29sb3I6IHZhcigtLWluay0zKTsgfVxuXHRcdFx0dHIub3JkZXItdG90YWwgdGQgeyBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTsgZm9udC1zaXplOiAxLjM1cmVtOyBmb250LXdlaWdodDogOTAwOyB9XG5cdFx0fVxuXG5cdFx0Ly8gUGF5bWVudCBib3g6IFdvbydzIGdyZXkgcGFuZWwg4oaSIHRoZSBjYXJkIGl0IHNpdHMgaW4gYWxyZWFkeSBpcyBvbmUuXG5cdFx0I3BheW1lbnQge1xuXHRcdFx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cdFx0XHRib3JkZXItcmFkaXVzOiAwO1xuXHRcdFx0bWFyZ2luLXRvcDogc3AoNSk7XG5cdFx0XHR1bC5wYXltZW50X21ldGhvZHMge1xuXHRcdFx0XHRtYXJnaW46IDAgMCBzcCg1KTtcblx0XHRcdFx0cGFkZGluZzogMCAwIHNwKDUpO1xuXHRcdFx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tbGluZSk7XG5cdFx0XHRcdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdFx0XHRcdGxpIHsgbWFyZ2luOiAwIDAgc3AoMyk7IGxpbmUtaGVpZ2h0OiAxLjQ7IGZvbnQtc2l6ZTogLjk1cmVtOyB9XG5cdFx0XHRcdGxhYmVsIHsgZGlzcGxheTogaW5saW5lOyBmb250LXdlaWdodDogNjAwOyB9XG5cdFx0XHRcdGlucHV0W3R5cGU9XCJyYWRpb1wiXSB7IGFjY2VudC1jb2xvcjogdmFyKC0tYWNjZW50KTsgbWFyZ2luLXJpZ2h0OiAuNWVtOyB9XG5cdFx0XHRcdC5wYXltZW50X2JveCB7XG5cdFx0XHRcdFx0bWFyZ2luOiBzcCgzKSAwIDA7XG5cdFx0XHRcdFx0cGFkZGluZzogc3AoNCk7XG5cdFx0XHRcdFx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1iZyk7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiAuODhyZW07XG5cdFx0XHRcdFx0Y29sb3I6IHZhcigtLWluay0yKTtcblx0XHRcdFx0XHQmOjpiZWZvcmUgeyBkaXNwbGF5OiBub25lOyB9XG5cdFx0XHRcdFx0cDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXHRcdFx0XHR9XG5cdFx0XHRcdGltZyB7IG1heC1oZWlnaHQ6IDI0cHg7IHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cblx0XHRcdH1cblx0XHRcdC5wbGFjZS1vcmRlciB7IHBhZGRpbmc6IDA7IG1hcmdpbjogMDsgfVxuXHRcdFx0Lndvb2NvbW1lcmNlLXRlcm1zLWFuZC1jb25kaXRpb25zLXdyYXBwZXIgeyBtYXJnaW46IDAgMCBzcCg0KTsgZm9udC1zaXplOiAuODVyZW07IGNvbG9yOiB2YXIoLS1pbmstMik7IH1cblx0XHRcdCNwbGFjZV9vcmRlciB7IHdpZHRoOiAxMDAlOyB9XG5cdFx0XHQud29vY29tbWVyY2UtcHJpdmFjeS1wb2xpY3ktdGV4dCB7IGZvbnQtc2l6ZTogLjg1cmVtOyBjb2xvcjogdmFyKC0taW5rLTMpOyB9XG5cdFx0fVxuXHR9XG5cblx0Ly8gT3JkZXIgcmVjZWl2ZWQgKHRoYW5rLXlvdSBwYWdlKS5cblx0Lndvb2NvbW1lcmNlLW9yZGVyIHtcblx0XHQud29vY29tbWVyY2UtdGhhbmt5b3Utb3JkZXItcmVjZWl2ZWQge1xuXHRcdFx0Zm9udC1zaXplOiBjbGFtcCgxLjFyZW0sIC41dncgKyAxcmVtLCAxLjM1cmVtKTtcblx0XHRcdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdFx0fVxuXHRcdHVsLndvb2NvbW1lcmNlLW9yZGVyLW92ZXJ2aWV3IHtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRmbGV4LXdyYXA6IHdyYXA7XG5cdFx0XHRnYXA6IHNwKDQpIHNwKDYpO1xuXHRcdFx0bWFyZ2luOiBzcCg1KSAwO1xuXHRcdFx0cGFkZGluZzogc3AoNSk7XG5cdFx0XHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1saW5lKTtcblx0XHRcdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XG5cdFx0XHRsaXN0LXN0eWxlOiBub25lO1xuXHRcdFx0bGkge1xuXHRcdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0XHRcdGJvcmRlcjogMDtcblx0XHRcdFx0QGluY2x1ZGUgbGFiZWw7XG5cdFx0XHRcdGNvbG9yOiB2YXIoLS1pbmstMyk7XG5cdFx0XHRcdHN0cm9uZyB7IGRpc3BsYXk6IGJsb2NrOyBtYXJnaW4tdG9wOiAuM2VtOyBmb250OiBpbmhlcml0OyBmb250LXNpemU6IDFyZW07IGZvbnQtd2VpZ2h0OiA2MDA7IGxldHRlci1zcGFjaW5nOiAwOyB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgY29sb3I6IHZhcigtLWluayk7IH1cblx0XHRcdH1cblx0XHR9XG5cdFx0aDIge1xuXHRcdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG5cdFx0XHRmb250LXNpemU6IGZsdWlkKDIwLCAyNik7XG5cdFx0XHRmb250LXdlaWdodDogOTAwO1xuXHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRcdGxldHRlci1zcGFjaW5nOiAtLjAyZW07XG5cdFx0fVxuXHRcdGFkZHJlc3MgeyBmb250LXN0eWxlOiBub3JtYWw7IGxpbmUtaGVpZ2h0OiAxLjU7IH1cblx0fVxufVxuIiwiQHVzZSBcInRva2Vuc1wiIGFzICo7XHJcblxyXG4vLyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcclxuLy8gIE5FV1NMRVRURVJcclxuLy9cclxuLy8gIEFuIGluc2V0IFBBTkVMIHJhdGhlciB0aGFuIGEgZnVsbC1ibGVlZCBiYW5kIOKAlCB0aGF0IHBhcnQgaXMgc3RpbGwgdHJ1ZSBhbmRcclxuLy8gIGlzIHdoeSB0aGlzIHBhcnRpYWwgZXhpc3RzIHNlcGFyYXRlbHkgZnJvbSBfcHJvbW8uc2Nzcy4gVGhlIHNlY3Rpb24gaXQgc2l0c1xyXG4vLyAgaW4gaXMgYWxyZWFkeSB3YXNoZWQsIHNvIGEgc2Vjb25kIGZsYXQgY29sb3VyIHdvdWxkIGp1c3QgYmUgYSBiaWdnZXJcclxuLy8gIHJlY3RhbmdsZTsgdGhlIHBhbmVsIGdpdmVzIHRoZSBwYWdlJ3Mgb25lIGFzayBhbiBlZGdlIG9mIGl0cyBvd24uXHJcbi8vXHJcbi8vICDim5QgREFSSyBNT0RVTEUgSU4gQk9USCBUSEVNRVMsIHNhbWUgYXMgdGhlIHByb21vIGJhbmQg4oCUIGJ1dCB0aGVyZSBpc1xyXG4vLyAgTk9USElORyBUSEVNRS1SRUxBVEVEIElOIFRISVMgRklMRSwgYW5kIHRoYXQgaXMgZGVsaWJlcmF0ZSwgbm90IGFuXHJcbi8vICBvdmVyc2lnaHQuIEV2ZXJ5IGNvbG91ciBiZWxvdyBpcyBhbHJlYWR5IGEgdGhlbWUgY3VzdG9tIHByb3BlcnR5XHJcbi8vICAoLS1pbmsgLyAtLWluay0yIC8gLS1pbmstMyAvIC0tbGluZSAvIC0tbGluZS0yIC8gLS1iZyAvIC0tYmctMiAvIC0tYWNjZW504oCmKSxcclxuLy8gIHNvIHRoZSBtYXJrdXAgY2FycmllcyBhIHBsYWluIGBpbnNldGAgY2xhc3MgKHNlZSB0aGUgYC5pbnNldGAgcnVsZSBpblxyXG4vLyAgX2Jhc2Uuc2NzcyBhbmQgaXRzIHNlbGVjdG9yIGluIF90b2tlbnMuc2NzcykgYW5kIGV2ZXJ5IG9uZSBvZiB0aGVtXHJcbi8vICByZS1wb2ludHMgYXQgb25jZS4gRG8gbm90IGFkZCBhIGxpZ2h0L2RhcmsgYnJhbmNoIGluIGhlcmUg4oCUIGlmIGEgY29sb3VyXHJcbi8vICBldmVyIGxvb2tzIHdyb25nIGluIHRoaXMgcGFuZWwsIHRoZSBmaXggaXMgaW4gX3Rva2Vucy5zY3NzLCBub3QgaGVyZS5cclxuLy9cclxuLy8gIFR3byBjb2x1bW5zIG9uIGRlc2t0b3AsIHN0YWNrZWQgb24gbW9iaWxlLiBUaGUgY29weSBsZWFkcywgdGhlIGZvcm0gZm9sbG93c1xyXG4vLyAg4oCUIHJldmVyc2luZyB0aGF0IHB1dHMgYW4gaW5wdXQgaW4gZnJvbnQgb2Ygc29tZW9uZSB3aG8gaGFzbid0IGJlZW4gdG9sZCB3aGF0XHJcbi8vICB0aGV5J3JlIHNpZ25pbmcgdXAgZm9yLlxyXG4vLyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcclxuXHJcbi5zdWJzY3JpYmUge1xyXG5cdGRpc3BsYXk6IGdyaWQ7XHJcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMCwgMWZyKSBtaW5tYXgoMCwgMWZyKTtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGdhcDogY2xhbXAoMnJlbSwgNXZ3LCA1cmVtKTtcclxuXHRwYWRkaW5nOiBjbGFtcCgycmVtLCA0LjV2dywgNHJlbSk7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tbGluZSk7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWxnKTtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iZy0yKTtcclxuXHJcblx0Ly8gU2luZ2xlIGNvbHVtbiB3ZWxsIGJlZm9yZSB0aGUgdHlwZSBnZXRzIGNyYW1wZWQuIFR3byAxZnIgY29sdW1ucyBtZWFucyB0aGVcclxuXHQvLyBmb3JtIGlzIG9ubHkgZXZlciBoYWxmIHRoZSBwYW5lbCwgYW5kIGEgNTRweCBpbnB1dCBpbiBoYWxmIG9mIGEgdGFibGV0IGlzXHJcblx0Ly8gdG9vIHNob3J0IHRvIHR5cGUgYSByZWFsIGFkZHJlc3MgaW50by5cclxuXHRAaW5jbHVkZSBhdChsZykge1xyXG5cdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XHJcblx0XHRnYXA6IGNsYW1wKDEuNzVyZW0sIDR2dywgMi41cmVtKTtcclxuXHR9XHJcblxyXG5cdC8vIOKaoCBHcmlkIGl0ZW1zIGRlZmF1bHQgdG8gbWluLXdpZHRoOmF1dG8sIE5PVCAwIOKAlCBzbyBhIGNoaWxkIHdob3NlIGNvbnRlbnRcclxuXHQvLyBoYXMgYSBtaW5pbXVtIHNpemUgKHRoZSA1NHB4IGlucHV0IHBsdXMgYW4gMTFyZW0gYnV0dG9uKSByZWZ1c2VzIHRvIHNocmlua1xyXG5cdC8vIGFuZCBwdXNoZXMgb3V0IG9mIHRoZSBwYW5lbCBpbnN0ZWFkIG9mIHdyYXBwaW5nLiBUaGlzIGlzIHRoZSBkaWZmZXJlbmNlXHJcblx0Ly8gYmV0d2VlbiBhIGZvcm0gdGhhdCBmaXRzIGFuZCBvbmUgdGhhdCBydW5zIG9mZiB0aGUgY2FyZCBlZGdlLlxyXG5cdD4gKiB7IG1pbi13aWR0aDogMDsgfVxyXG5cclxuXHQvLyDilIDilIAgQ29weSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcclxuXHQmX190aXRsZSB7XHJcblx0XHRtYXJnaW4tdG9wOiBzcCgzKTtcclxuXHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xyXG5cdFx0Zm9udC1zaXplOiBmbHVpZCgzMCwgNjIpO1xyXG5cdFx0Zm9udC13ZWlnaHQ6IDkwMDtcclxuXHRcdGxpbmUtaGVpZ2h0OiBjYWxjKC45MiAqIHZhcigtLWRpc3BsYXktbGVhZGluZykpO1xyXG5cdFx0bGV0dGVyLXNwYWNpbmc6IC0uMDM1ZW07XHJcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdH1cclxuXHJcblx0Ly8gVGhlIGhvbGxvdyB3b3JkIOKAlCB0aGUgc2FtZSB0cmVhdG1lbnQgYXMgdGhlIDQwNCdzIGxhc3QgbGluZSwgYW5kIHRoZVxyXG5cdC8vIHJlYXNvbiBpdCdzIGhlcmUgaXMgY29udGludWl0eTogaXQncyB0aGlzIHRoZW1lJ3Mgb25lIHR5cG9ncmFwaGljXHJcblx0Ly8gc2lnbmF0dXJlLCBzbyB0aGUgbmV3c2xldHRlciByZWFkcyBhcyBwYXJ0IG9mIHRoZSBzaXRlIHJhdGhlciB0aGFuIGFcclxuXHQvLyBib2x0ZWQtb24gY2FwdHVyZSBibG9jay5cclxuXHQvL1xyXG5cdC8vIOKaoCAtd2Via2l0LXRleHQtc3Ryb2tlIE9OTFksIHdpdGggYGNvbG9yOiB0cmFuc3BhcmVudGAuIFRoZXJlIGlzIG5vXHJcblx0Ly8gdW5wcmVmaXhlZCBlcXVpdmFsZW50IHRoYXQgc2hpcHMgYW55d2hlcmUgcmVhbCwgYW5kIGBwYWludC1vcmRlcmAgL1xyXG5cdC8vIFNWRy10ZXh0IGFsdGVybmF0aXZlcyBib3RoIGJyZWFrIHRleHQgc2VsZWN0aW9uIGFuZCBsaW5lIHdyYXBwaW5nLlxyXG5cdC8vXHJcblx0Ly8g4pqgIFRoZSBzdHJva2UgaXMgZHJhd24gQ0VOVFJFRCBvbiB0aGUgZ2x5cGggZWRnZSwgc28gaGFsZiBvZiBpdCBlYXRzIGludG9cclxuXHQvLyB0aGUgbGV0dGVyZm9ybS4gQXQgZGlzcGxheSBzaXplcyB0aGF0IHJlYWRzIGFzIGludGVuZGVkOyBiZWxvdyB+MjhweCB0aGVcclxuXHQvLyBjb3VudGVycyBzdGFydCBmaWxsaW5nIGluIGFuZCBpdCB0dXJucyB0byBtdWQg4oCUIHdoaWNoIGlzIHdoeSB0aGUgc2l6ZVxyXG5cdC8vIGZsb29yIGFib3ZlIGlzIDMwcHggYW5kIG11c3Qgbm90IGJlIGxvd2VyZWQgaGVyZS5cclxuXHQmX190aXRsZS1ob2xsb3cge1xyXG5cdFx0Ly8gT3duIGxpbmUsIGFsd2F5czogXCJORVZFUiBNSVNTIEFOIC8gRVBJU09ERVwiIHNwbGl0cyB0aGUgaG9sbG93IHBocmFzZVxyXG5cdFx0Ly8gYWNyb3NzIHRoZSBicmVhayBvbiBwaG9uZXMsIHdoaWNoIHJlYWRzIGFzIHR3byBkaWZmZXJlbnQgaGVhZGluZ3MuXHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdGNvbG9yOiB0cmFuc3BhcmVudDtcclxuXHRcdC13ZWJraXQtdGV4dC1zdHJva2U6IDJweCB2YXIoLS1pbmspO1xyXG5cclxuXHRcdEBpbmNsdWRlIGF0KG1kKSB7IC13ZWJraXQtdGV4dC1zdHJva2Utd2lkdGg6IDEuNXB4OyB9XHJcblx0fVxyXG5cclxuXHQmX19sZWRlIHtcclxuXHRcdG1heC13aWR0aDogNDZjaDtcclxuXHRcdG1hcmdpbi10b3A6IHNwKDQpO1xyXG5cdFx0Zm9udC1zaXplOiBjbGFtcCguOThyZW0sIC4zNXZ3ICsgLjlyZW0sIDEuMTJyZW0pO1xyXG5cdFx0bGluZS1oZWlnaHQ6IDEuNTU7XHJcblx0XHRjb2xvcjogdmFyKC0taW5rLTIpO1xyXG5cdH1cclxufVxyXG5cclxuXHJcbi8vIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxyXG4vLyAgVGhlIGZvcm1cclxuLy9cclxuLy8gIGAuc2Zvcm0yYCBhbmQgbm90IGAuc2Zvcm1gIOKAlCBfc2VhcmNoLnNjc3MgYWxyZWFkeSBvd25zIGAuc2Zvcm1gIGZvciB0aGVcclxuLy8gIHNlYXJjaCBmaWVsZCwgYW5kIHRoZSB0d28gYXJlIGdlbnVpbmVseSBkaWZmZXJlbnQgY29tcG9uZW50cyAob25lIG5hdmlnYXRlcyxcclxuLy8gIG9uZSBzdWJtaXRzIHRvIGFuIEFQSSkuIFJldXNpbmcgdGhlIG5hbWUgdG8gc2F2ZSBlaWdodCBjaGFyYWN0ZXJzIHdvdWxkIGhhdmVcclxuLy8gIG1lYW50IGV2ZXJ5IGZ1dHVyZSBjaGFuZ2UgdG8gZWl0aGVyIG9uZSBsYW5kaW5nIGluIGJvdGguXHJcbi8vIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxyXG5cclxuLnNmb3JtMiB7XHJcblxyXG5cdCZfX3JvdyB7XHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0Z2FwOiBzcCgzKTtcclxuXHJcblx0XHQvLyBTdGFjayBhdCB0aGUgcG9pbnQgdGhlIGJ1dHRvbiBzdGFydHMgc3F1ZWV6aW5nIHRoZSBpbnB1dCByYXRoZXIgdGhhbiBhdFxyXG5cdFx0Ly8gYSBkZXZpY2Ugd2lkdGgg4oCUIHRoZSBwYW5lbCBpcyBoYWxmLXdpZHRoIG9uIGRlc2t0b3AsIHNvIHRoaXMgZmlyZXMgbG9uZ1xyXG5cdFx0Ly8gYmVmb3JlIGFueSBwaG9uZSBicmVha3BvaW50IHdvdWxkLlxyXG5cdFx0QGluY2x1ZGUgYXQoc20pIHsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxyXG5cdH1cclxuXHJcblx0Jl9faW5wdXQge1xyXG5cdFx0ZmxleDogMSAxIGF1dG87XHJcblx0XHRtaW4td2lkdGg6IDA7ICAgLy8gb3IgYSBsb25nIHBsYWNlaG9sZGVyIGJsb3dzIHRoZSBmbGV4IHJvdyBvdXRcclxuXHRcdGhlaWdodDogNTRweDsgICAvLyA9IC5idG4sIHNvIHRoZSB0d28gbGluZSB1cCBleGFjdGx5XHJcblx0XHRwYWRkaW5nLWlubGluZTogc3AoNSk7XHJcblx0XHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1saW5lLTIpO1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogOTk5cHg7XHJcblx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1iZyk7XHJcblx0XHRjb2xvcjogdmFyKC0taW5rKTtcclxuXHJcblx0XHQvLyDimqAgMTZweCBNSU5JTVVNIE9OIFRPVUNILCBOT04tTkVHT1RJQUJMRS4gaU9TIFNhZmFyaSB6b29tcyB0aGUgd2hvbGVcclxuXHRcdC8vIHZpZXdwb3J0IHdoZW4gYSBmb2N1c2VkIGlucHV0J3MgdGV4dCBpcyB1bmRlciAxNnB4LCBhbmQgaXQgZG9lcyBub3Qgem9vbVxyXG5cdFx0Ly8gYmFjayBvdXQgb24gYmx1ciDigJQgdGhlIHZpc2l0b3IgaXMgbGVmdCBvbiBhIHBhZ2UgdGhleSBoYXZlIHRvIHBpbmNoIHRvXHJcblx0XHQvLyBlc2NhcGUuIFRoaXMgaXMgdGhlIG9ubHkgcmVhc29uIHRoZSB2YWx1ZSBpc24ndCBzbWFsbGVyLlxyXG5cdFx0Zm9udC1zaXplOiAxcmVtO1xyXG5cdFx0Zm9udC1mYW1pbHk6IGluaGVyaXQ7XHJcblxyXG5cdFx0Jjo6cGxhY2Vob2xkZXIgeyBjb2xvcjogdmFyKC0taW5rLTMpOyB9XHJcblxyXG5cdFx0Ly8gVGhlIGFjY2VudCBPVVRMSU5FLCBtYXRjaGluZyB0aGUgZmxvdyBtYXJrZXIgYW5kIGV2ZXJ5IG90aGVyIGFjdGl2ZVxyXG5cdFx0Ly8gc3RhdGUgaW4gdGhpcyB0aGVtZSDigJQgbmV2ZXIgYSBmaWxsLiBvdXRsaW5lIHJhdGhlciB0aGFuIGJvcmRlciBzbyB0aGVcclxuXHRcdC8vIGZpZWxkIGRvZXNuJ3QgY2hhbmdlIHNpemUgYnkgMnB4IHdoZW4gaXQgdGFrZXMgZm9jdXMgYW5kIHNob3ZlIHRoZVxyXG5cdFx0Ly8gYnV0dG9uIHNpZGV3YXlzLlxyXG5cdFx0Jjpmb2N1cy12aXNpYmxlIHtcclxuXHRcdFx0b3V0bGluZTogM3B4IHNvbGlkIHZhcigtLWFjY2VudCk7XHJcblx0XHRcdG91dGxpbmUtb2Zmc2V0OiAycHg7XHJcblx0XHRcdGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcblx0XHR9XHJcblxyXG5cdFx0Ly8gU2V0IGJ5IHRoZSBKUyB3aGVuIHRoZSBzZXJ2ZXIgcmVqZWN0cyB0aGUgYWRkcmVzcy4gQ29sb3VyIGlzIG5vdCB0aGVcclxuXHRcdC8vIG9ubHkgY3VlIOKAlCB0aGUgbWVzc2FnZSBiZWxvdyBzYXlzIHdoYXQncyB3cm9uZyBpbiB3b3Jkcy5cclxuXHRcdC5zZm9ybTIuaXMtaW52YWxpZCAmIHtcclxuXHRcdFx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1hY2NlbnQtZGVlcCk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQmX19idG4ge1xyXG5cdFx0ZmxleDogbm9uZTtcclxuXHJcblx0XHQvLyBBIGJ1dHRvbiB0aGF0IGNoYW5nZXMgd2lkdGggd2hlbiBpdHMgbGFiZWwgc3dhcHMgZnJvbSBcIlN1YnNjcmliZVwiIHRvXHJcblx0XHQvLyBcIlNlbmRpbmfigKZcIiBkcmFncyB0aGUgd2hvbGUgcm93IHdpdGggaXQuIEZsb29yIGl0IGF0IHRoZSB3aWRlc3QgbGFiZWwuXHJcblx0XHRtaW4td2lkdGg6IDExcmVtO1xyXG5cclxuXHRcdEBpbmNsdWRlIGF0KHNtKSB7IHdpZHRoOiAxMDAlOyB9XHJcblxyXG5cdFx0JltkaXNhYmxlZF0ge1xyXG5cdFx0XHRvcGFjaXR5OiAuNTU7XHJcblx0XHRcdHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Ly8g4pSA4pSAIFJlc3BvbnNlIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxyXG5cdC8vICBFbXB0eSB1bnRpbCB0aGVyZSdzIHNvbWV0aGluZyB0byBzYXksIGFuZCBpdCBtdXN0IG5vdCByZXNlcnZlIHNwYWNlIHdoaWxlXHJcblx0Ly8gIGVtcHR5IOKAlCBhIHBlcm1hbmVudCBnYXAgdW5kZXIgdGhlIGZpZWxkIHJlYWRzIGFzIGEgcmVuZGVyaW5nIGJ1Zy5cclxuXHQvLyDimqAgRXZlcnkgZGVjbGFyYXRpb24gQkVGT1JFIHRoZSBuZXN0ZWQgcnVsZXMg4oCUIFNhc3MgaXMgZGVwcmVjYXRpbmdcclxuXHQvLyBkZWNsYXJhdGlvbnMgdGhhdCBmb2xsb3cgYSBuZXN0ZWQgcnVsZSwgYW5kIHRoZSBlbWl0dGVkIG9yZGVyIGNoYW5nZXMgd2hlblxyXG5cdC8vIGl0IGxhbmRzLiBOb3Qgc3R5bGlzdGljLlxyXG5cdCZfX21zZyB7XHJcblx0XHRtYXJnaW4tdG9wOiBzcCg0KTtcclxuXHRcdGZvbnQtc2l6ZTogLjkycmVtO1xyXG5cdFx0bGluZS1oZWlnaHQ6IDEuNDU7XHJcblxyXG5cdFx0Ly8gTXVzdCBub3QgcmVzZXJ2ZSBzcGFjZSB3aGlsZSBlbXB0eSDigJQgYSBwZXJtYW5lbnQgZ2FwIHVuZGVyIHRoZSBmaWVsZFxyXG5cdFx0Ly8gcmVhZHMgYXMgYSByZW5kZXJpbmcgYnVnLlxyXG5cdFx0JjplbXB0eSB7IGRpc3BsYXk6IG5vbmU7IH1cclxuXHJcblx0XHQuc2Zvcm0yLmlzLW9rICYgeyBjb2xvcjogdmFyKC0tYWNjZW50LWluayk7IH1cclxuXHRcdC5zZm9ybTIuaXMtaW52YWxpZCAmIHsgY29sb3I6IHZhcigtLWluayk7IGZvbnQtd2VpZ2h0OiA2MDA7IH1cclxuXHR9XHJcblxyXG5cdCZfX2ZpbmUge1xyXG5cdFx0bWFyZ2luLXRvcDogc3AoNCk7XHJcblx0XHRmb250LXNpemU6IC44cmVtO1xyXG5cdFx0bGluZS1oZWlnaHQ6IDEuNTtcclxuXHRcdGNvbG9yOiB2YXIoLS1pbmstMyk7XHJcblx0fVxyXG5cclxuXHQvLyBPbmNlIHNvbWVvbmUgaXMgc3Vic2NyaWJlZCB0aGUgZmllbGQgaXMgcG9pbnRsZXNzIOKAlCBidXQgaXQgaXMgTk9UIHJlbW92ZWRcclxuXHQvLyBmcm9tIHRoZSBET00sIGJlY2F1c2UgdGhlIHJlc3BvbnNlIG1lc3NhZ2UgaXMgaW5zaWRlIHRoaXMgZm9ybSBhbmQgcmlwcGluZ1xyXG5cdC8vIHRoZSBmb3JtIG91dCB3b3VsZCB0YWtlIHRoZSBjb25maXJtYXRpb24gd2l0aCBpdC5cclxuXHQmLmlzLWRvbmUgJl9fcm93IHsgZGlzcGxheTogbm9uZTsgfVxyXG59XHJcblxyXG5cclxuLy8g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXHJcbi8vICBIb25leXBvdFxyXG4vL1xyXG4vLyAg4puUIE5PVCBkaXNwbGF5Om5vbmUsIE5PVCB2aXNpYmlsaXR5OmhpZGRlbiwgTk9UIGhpZGRlbi4gQSBtZWFuaW5nZnVsIHNoYXJlIG9mXHJcbi8vICBzcGFtIGJvdHMgc3BlY2lmaWNhbGx5IHNraXAgZmllbGRzIGhpZGRlbiB0aG9zZSB3YXlzLCB3aGljaCBkZWZlYXRzIHRoZSB0cmFwXHJcbi8vICBlbnRpcmVseSDigJQgdGhlIHdob2xlIHBvaW50IGlzIHRoYXQgYSBib3QgZmlsbHMgaXQgaW4uXHJcbi8vXHJcbi8vICBUYWtlbiBvZmYtc2NyZWVuIGluc3RlYWQuIFRoZSBtYXJrdXAgY2FycmllcyB0YWJpbmRleD1cIi0xXCIgYW5kIGFyaWEtaGlkZGVuLFxyXG4vLyAgc28ga2V5Ym9hcmQgYW5kIHNjcmVlbi1yZWFkZXIgdXNlcnMgY2FuJ3QgcmVhY2ggaXQgZWl0aGVyIHdheTsgdGhpcyBydWxlIG9ubHlcclxuLy8gIGhhcyB0byBoaWRlIGl0IGZyb20gZXllcy5cclxuLy8g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXHJcblxyXG4udS10cmFwIHtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0bGVmdDogLTk5OTlweDtcclxuXHR3aWR0aDogMXB4O1xyXG5cdGhlaWdodDogMXB4O1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuIiwiQHVzZSBcInRva2Vuc1wiIGFzICo7XG5cbi8vIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLy8gIE5JTkpBIEZPUk1TXG4vL1xuLy8gIFdyaXR0ZW4gYWdhaW5zdCB0aGUgbWFya3VwIE5pbmphIEZvcm1zIDMgQUNUVUFMTFkgcmVuZGVycywgcmVhZCBvdXQgb2YgdGhlXG4vLyAgbGl2ZSBET00gb24gMjAyNi0wOS0wNSDigJQgbm90IGZyb20gaXRzIGRvY3MuIE5GIGJ1aWxkcyB0aGUgZm9ybSBjbGllbnQtc2lkZVxuLy8gIHRocm91Z2ggQmFja2JvbmUgdGVtcGxhdGVzLCBzbyB0aGUgSFRNTCBpbiB2aWV3LXNvdXJjZSBpcyBub3QgdGhlIEhUTUwgdGhhdFxuLy8gIGVuZHMgdXAgb24gdGhlIHBhZ2UsIGFuZCBhbnl0aGluZyB3cml0dGVuIGZyb20gdGhlIHNob3J0Y29kZSBhbG9uZSBpcyBhXG4vLyAgZ3Vlc3MuIFJlLXJlYWQgdGhlIERPTSBiZWZvcmUgY2hhbmdpbmcgc2VsZWN0b3JzIGhlcmUuXG4vL1xuLy8gIFdoYXQgdGhlIHBsdWdpbiBzaGlwcyBvbiB0aGlzIGluc3RhbGw6IGBkaXNwbGF5LXN0cnVjdHVyZS5jc3NgIGFuZCBOT1RISU5HXG4vLyAgZWxzZSDigJQgbm8gdGhlbWUgc3R5bGVzaGVldC4gTWVhc3VyZWQgYmVmb3JlIHRoaXMgZmlsZSBleGlzdGVkOiBpbnB1dHMgaGFkXG4vLyAgYDJweCBpbnNldGAgYnJvd3Nlci1kZWZhdWx0IGJvcmRlcnMsIHRoZSBzdWJtaXQgd2FzIGEgZ3JleSBPUyBidXR0b24sIGFuZFxuLy8gIHRoZSB0ZXh0YXJlYSB3YXMgYHJlc2l6ZTogYm90aGAuIFNvIGV2ZXJ5dGhpbmcgdmlzdWFsIGlzIG91cnMuXG4vL1xuLy8gIOKblCBFVkVSWSBSVUxFIElTIE5FU1RFRCBVTkRFUiAubmYtZm9ybS1jb250LCBBTkQgVEhBVCBJUyBOT1QgQ09TTUVUSUMuXG4vLyAgZGlzcGxheS1zdHJ1Y3R1cmUuY3NzIGlzIGVucXVldWVkIEFGVEVSIHRoZSB0aGVtZSBzdHlsZXNoZWV0LCBzbyBhdCBFUVVBTFxuLy8gIHNwZWNpZmljaXR5IHRoZSBwbHVnaW4gd2lucyBvbiBzb3VyY2Ugb3JkZXIgYW5kIG91ciBkZWNsYXJhdGlvbiBpcyBzaWxlbnRseVxuLy8gIGRpc2NhcmRlZCDigJQgcG9zaXRpb24gaW4gY29yZS5zY3NzIGNhbm5vdCBoZWxwLCBiZWNhdXNlIHRoZSBmaWdodCBpcyBiZXR3ZWVuXG4vLyAgdHdvIGRpZmZlcmVudCBmaWxlcy4gVGhlIHBsdWdpbiBzdHlsZXMgbmVhcmx5IGV2ZXJ5dGhpbmcgdGhyb3VnaCBiYXJlIHNpbmdsZVxuLy8gIGNsYXNzIHNlbGVjdG9ycyAoYC5uZi1maWVsZC1jb250YWluZXJgLCBgLm5pbmphLWZvcm1zLXJlcS1zeW1ib2xgLFxuLy8gIGAubmYtaW5wdXQtbGltaXRgKSwgd2hpY2ggaXMgZXhhY3RseSB0aGUgd2VpZ2h0IGEgbmFpdmUgcnVsZSBoZXJlIHdvdWxkIGhhdmUuXG4vL1xuLy8gIFR3byBvZiB0aGVzZSB3ZXJlIGxpdmUgYnVncyBiZWZvcmUgdGhlIHdyYXBwZXIgd2VudCBvbiwgYm90aCBtZWFzdXJlZDpcbi8vICAgIC5uZi1maWVsZC1jb250YWluZXIgICBtYXJnaW4tYm90dG9tOiAwICAg4oaSIGV2ZXJ5IGZpZWxkIGphbW1lZCB0b2dldGhlclxuLy8gICAgLm5pbmphLWZvcm1zLXJlcS1zeW1ib2wgIGNvbG9yOiAjZTgwMDAwICDihpIgcGx1Z2luIHJlZCwgbm90IG91ciBwYWxldHRlXG4vL1xuLy8gIFNvOiBubyBuZXcgdG9wLWxldmVsIGJhcmUtY2xhc3MgcnVsZXMgaW4gdGhpcyBmaWxlLiBOZXN0IHRoZW0uXG4vL1xuLy8gIOKblCBTQ09QRUQgVE8gLm5mLWZvcm0tY29udCwgTk9UIFRPIC5mb3Jtd3JhcCwgZm9yIGEgc2Vjb25kIHJlYXNvbjogYSBmb3JtIGNhblxuLy8gIGJlIGRyb3BwZWQgaW50byBhbnkgcGFnZSdzIGNvbnRlbnQgd2l0aCB0aGUgc2hvcnRjb2RlIGFuZCBtdXN0IGxvb2sgcmlnaHRcbi8vICB0aGVyZSB0b28uIFR5aW5nIHRoaXMgdG8gdGhlIHBhZ2UgdGVtcGxhdGVzIHdvdWxkIHN0eWxlIHRocmVlIHBhZ2VzIGFuZFxuLy8gIGxlYXZlIHRoZSBmb3VydGggbG9va2luZyBsaWtlIGEgMTk5OCBkZWZhdWx0LlxuLy8g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cbi8vIFRoZSBwYWdlIHRlbXBsYXRlcycgd3JhcHBlci4gU3BhY2luZyBvbmx5IOKAlCBzZWUgYWJvdmUuXG4uZm9ybXdyYXAge1xuXHRtYXJnaW4tdG9wOiBjbGFtcCgyLjVyZW0sIDV2dywgNHJlbSk7XG59XG5cblxuLm5mLWZvcm0tY29udCB7XG5cblx0Ly8g4puUIE5GIHByaW50cyB0aGUgZm9ybSdzIGFkbWluIHRpdGxlLiBFdmVyeSBwYWdlIHVzaW5nIHRoaXMgYWxyZWFkeSBoYXMgaXRzXG5cdC8vIG93biBoMSBmcm9tIHNpZ19mb3JtX3BhZ2UoKSwgc28gbGVhdmluZyBpdCBwcmludGVkIHRoZSB0aXRsZSB0d2ljZS5cblx0Lm5mLWZvcm0tdGl0bGUgeyBkaXNwbGF5OiBub25lOyB9XG5cblx0Ly8gT25seSBldmVyIHBvcHVsYXRlZCBmb3IgbG9nZ2VkLWluIGFkbWlucywgYW5kIGl0IHByaW50cyByYXcgZGVidWcgb3V0cHV0LlxuXHQubmYtZGVidWctbXNnIHsgZGlzcGxheTogbm9uZTsgfVxuXG5cdC8vIFwiRmllbGRzIG1hcmtlZCB3aXRoIGFuICogYXJlIHJlcXVpcmVkXCIuXG5cdC8vXG5cdC8vIOKblCBgLm5mLWZvcm0tZmllbGRzLXJlcXVpcmVkYCwgTk9UIGAjbmluamFfZm9ybXNfcmVxdWlyZWRfaXRlbXNgLiBUaGF0IElEXG5cdC8vIGFwcGVhcnMgYWxsIG92ZXIgZGlzcGxheS1zdHJ1Y3R1cmUuY3NzIGFuZCBsb29rcyBsaWtlIHRoZSBvYnZpb3VzIGhvb2sg4oCUXG5cdC8vIGl0IGlzIHdoYXQgdGhpcyBydWxlIHdhcyBmaXJzdCB3cml0dGVuIGFnYWluc3Qg4oCUIGJ1dCBORjMgZG9lcyBub3QgcmVuZGVyXG5cdC8vIGl0LiBUaGUgSUQgaXMgbGVnYWN5OyB0aGUgbGl2ZSBET00gaGFzIGEgcGxhaW4gZGl2Lm5mLWZvcm0tZmllbGRzLXJlcXVpcmVkXG5cdC8vIGluc2lkZSAubmYtYmVmb3JlLWZvcm0tY29udGVudC4gUmVhZCB0aGUgRE9NLCBub3QgdGhlIHBsdWdpbidzIHN0eWxlc2hlZXQuXG5cdC5uZi1mb3JtLWZpZWxkcy1yZXF1aXJlZCB7XG5cdFx0bWFyZ2luLWJvdHRvbTogc3AoNSk7XG5cdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ubyk7XG5cdFx0Zm9udC1zaXplOiAuNzJyZW07XG5cdFx0bGV0dGVyLXNwYWNpbmc6IC4xMmVtO1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0Y29sb3I6IHZhcigtLWluay0zKTtcblx0fVxuXG5cblx0Ly8g4pSA4pSAIEZpZWxkcyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblx0Ly8g4puUIE5PIGAmOmxhc3QtY2hpbGRgIFJFU0VUIEhFUkUsIGhvd2V2ZXIgbmF0dXJhbCBpdCBsb29rcy4gTkYgd3JhcHMgRVZFUllcblx0Ly8gZmllbGQgaW4gaXRzIG93biA8bmYtZmllbGQ+IGN1c3RvbSBlbGVtZW50OlxuXHQvL1xuXHQvLyAgICAgPG5mLWZpZWxkcy13cmFwPlxuXHQvLyAgICAgICA8bmYtZmllbGQ+PGRpdiBjbGFzcz1cIm5mLWZpZWxkLWNvbnRhaW5lclwiPuKApjwvZGl2PjwvbmYtZmllbGQ+XG5cdC8vICAgICAgIDxuZi1maWVsZD48ZGl2IGNsYXNzPVwibmYtZmllbGQtY29udGFpbmVyXCI+4oCmPC9kaXY+PC9uZi1maWVsZD5cblx0Ly9cblx0Ly8gc28gZWFjaCBjb250YWluZXIgaXMgYW4gT05MWSBjaGlsZCBhbmQgYDpsYXN0LWNoaWxkYCBtYXRjaGVzIGFsbCBvZiB0aGVtLlxuXHQvLyBBIHRyYWlsaW5nLWdhcCByZXNldCB0aGVyZWZvcmUgemVyb2VzIHRoZSBzcGFjaW5nIG9uIGV2ZXJ5IGZpZWxkIGluIHRoZVxuXHQvLyBmb3JtLiBUaGF0IGlzIGV4YWN0bHkgd2hhdCBoYXBwZW5lZCDigJQgbWVhc3VyZWQgMHB4IGJldHdlZW4gYWxsIDEzIGZpZWxkc1xuXHQvLyBvbiBCZWNvbWUgYSBHdWVzdCwgMjAyNi0wOS0wNSwgYW5kIGl0IHJlYWRzIGFzIHRoZSBwbHVnaW4gb3ZlcnJpZGluZyB1c1xuXHQvLyByYXRoZXIgdGhhbiBhcyBvdXIgb3duIHJ1bGUgZG9pbmcgaXQuXG5cdC8vXG5cdC8vIE5vIHJlc2V0IGlzIG5lZWRlZCBhbnl3YXk6IHRoZSByZWFsIGxhc3QgZmllbGQgaXMgdGhlIGhpZGRlbiByZUNBUFRDSEFcblx0Ly8gY29udGFpbmVyLCBhbmQgZGlzcGxheTpub25lIGdlbmVyYXRlcyBubyBib3ggYW5kIHNvIG5vIG1hcmdpbi5cblx0Lm5mLWZpZWxkLWNvbnRhaW5lciB7XG5cdFx0bWFyZ2luLWJvdHRvbTogc3AoNSk7XG5cdH1cblxuXHQvLyDimqAgVklTVUFMTFkgSElEREVOLCBORVZFUiBkaXNwbGF5Om5vbmUuIE5GIGlzIGNvbmZpZ3VyZWQgbGFiZWwtaGlkZGVuIG9uXG5cdC8vIGFsbCB0aHJlZSBmb3JtcyDigJQgdGhlIGZpZWxkIG5hbWVzIGxpdmUgaW4gdGhlIHBsYWNlaG9sZGVycyAoXCIqTmFtZVwiKS4gQVxuXHQvLyBwbGFjZWhvbGRlciBpcyBub3QgYW4gYWNjZXNzaWJsZSBuYW1lOiBpdCBkaXNhcHBlYXJzIHRoZSBtb21lbnQgYW55dGhpbmdcblx0Ly8gaXMgdHlwZWQsIGFuZCBzZXZlcmFsIHNjcmVlbiByZWFkZXJzIGRvbid0IGFubm91bmNlIGl0IGF0IGFsbC4gU28gdGhlXG5cdC8vIGxhYmVsIHN0YXlzIGluIHRoZSBhY2Nlc3NpYmlsaXR5IHRyZWUgYW5kIG9ubHkgbGVhdmVzIHRoZSBzY3JlZW4uXG5cdC8vXG5cdC8vIOKaoCBUaGUgcGx1Z2luIHNoaXBzIFRISVMgRVhBQ1QgU0VMRUNUT1Ig4oCUIGAubGFiZWwtaGlkZGVuIC5uZi1maWVsZC1sYWJlbFxuXHQvLyB7IHdpZHRoOjEwMCU7IGhlaWdodDowIH1gIOKAlCBzbyBldmVuIG5lc3RlZCwgb3VycyBuZWVkcyB0aGUgZXh0cmEgY2xhc3MgdG9cblx0Ly8gY2xlYXIgaXQuIEl0cyB2ZXJzaW9uIGRvZXMgaGlkZSB0aGUgbGFiZWwgKGhlaWdodDowICsgb3ZlcmZsb3c6aGlkZGVuKSxcblx0Ly8gc28gdGhpcyBpcyBpbnN1cmFuY2UgYWdhaW5zdCBhIHBsdWdpbiB1cGRhdGUsIG5vdCBhIHJlcGFpci5cblx0Lm5mLWZpZWxkLWNvbnRhaW5lci5sYWJlbC1oaWRkZW4gLm5mLWZpZWxkLWxhYmVsIHtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0d2lkdGg6IDFweDtcblx0XHRoZWlnaHQ6IDFweDtcblx0XHRwYWRkaW5nOiAwO1xuXHRcdG1hcmdpbjogLTFweDtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdGNsaXAtcGF0aDogaW5zZXQoNTAlKTtcblx0XHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHR9XG5cblx0Ly8gU2hvd24gb24gYW55IGZvcm0gY29uZmlndXJlZCBsYWJlbC1hYm92ZSByYXRoZXIgdGhhbiBsYWJlbC1oaWRkZW4uXG5cdC5uZi1maWVsZC1sYWJlbCBsYWJlbCB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0bWFyZ2luLWJvdHRvbTogc3AoMik7XG5cdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ubyk7XG5cdFx0Zm9udC1zaXplOiAuNzJyZW07XG5cdFx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0XHRsZXR0ZXItc3BhY2luZzogLjE4ZW07XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRjb2xvcjogdmFyKC0taW5rLTIpO1xuXHR9XG5cblx0Ly8gVGhlIGFzdGVyaXNrIE5GIGFwcGVuZHMgdG8gcmVxdWlyZWQgbGFiZWxzLiBNdXRlZCByYXRoZXIgdGhhbiB0aGVcblx0Ly8gcGx1Z2luJ3MgI2U4MDAwMCDigJQgdGhlIGVycm9yIG1lc3NhZ2UgYmVsb3cgc2F5cyB3aGF0J3Mgd3JvbmcgaW4gd29yZHMsXG5cdC8vIGFuZCBhIGNvbHVtbiBvZiByZWQgYXN0ZXJpc2tzIG9uIGEgZm9ybSB3aGVyZSBuZWFybHkgZXZlcnl0aGluZyBpc1xuXHQvLyByZXF1aXJlZCBpcyBub2lzZSwgbm90IGluZm9ybWF0aW9uLlxuXHQubmluamEtZm9ybXMtcmVxLXN5bWJvbCB7XG5cdFx0Y29sb3I6IHZhcigtLWluay0zKTtcblx0fVxuXG5cblx0Ly8g4pSA4pSAIElucHV0cyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblx0Ly8g4pqgIDpub3QoW3R5cGU9XCJzdWJtaXRcIl0pOm5vdChbdHlwZT1cImJ1dHRvblwiXSkg4oCUIC5uZi1lbGVtZW50IGlzIG9uIHRoZVxuXHQvLyBTVUJNSVQgdG9vLiBXaXRob3V0IHRoZSBleGNsdXNpb25zIHRoZSBidXR0b24gaW5oZXJpdHMgaW5wdXQgc3R5bGluZyBhbmRcblx0Ly8gdGhlIGJ1dHRvbiBibG9jayBiZWxvdyBoYXMgdG8gdW5kbyBhbGwgb2YgaXQuXG5cdGlucHV0Lm5mLWVsZW1lbnQ6bm90KFt0eXBlPVwic3VibWl0XCJdKTpub3QoW3R5cGU9XCJidXR0b25cIl0pLFxuXHR0ZXh0YXJlYS5uZi1lbGVtZW50LFxuXHRzZWxlY3QubmYtZWxlbWVudCB7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0Ly8gUElMTFMsIGxpa2UgdGhlIGJ1dHRvbnMgYW5kIHRoZSBuZXdzbGV0dGVyIGZpZWxkIOKAlCBKb2UsIDIwMjYtMDktMTM6XG5cdFx0Ly8gXCJkbyB0aGUgcGlsbCBzaGFwZSBmb3IgYWxsIGZvcm0gZmllbGRzLCBJIGRvbid0IGxpa2UgdGhlIHJvdW5kZWRcblx0XHQvLyByZWN0YW5nbGVzLlwiIDU0cHggdGFsbCAoPSAuYnRuKSB3aXRoIHRoZSBuZXdzbGV0dGVyIGlucHV0J3Mgc2lkZVxuXHRcdC8vIGluc2V0OyBhIHBpbGwgbmVlZHMgbW9yZSB0aGFuIGEgcmVjdGFuZ2xlIG9yIHRoZSB0ZXh0IHNpdHMgaW4gdGhlXG5cdFx0Ly8gY3VydmUuXG5cdFx0aGVpZ2h0OiA1NHB4O1xuXHRcdHBhZGRpbmc6IDAgMS4zcmVtOyAgIC8vIHNwKDUpIGxlc3MgfjNweCDigJQgSm9lJ3MgZXllLCAyMDI2LTA5LTEzXG5cdFx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tbGluZS0yKTtcblx0XHRib3JkZXItcmFkaXVzOiA5OTlweDtcblx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1iZyk7XG5cdFx0Y29sb3I6IHZhcigtLWluayk7XG5cdFx0Zm9udC1mYW1pbHk6IGluaGVyaXQ7XG5cdFx0bGluZS1oZWlnaHQ6IDEuNTtcblxuXHRcdC8vIOKaoCAxNnB4IE1JTklNVU0gT04gVE9VQ0gsIE5PTi1ORUdPVElBQkxFIOKAlCBzYW1lIHJlYXNvbiBhc1xuXHRcdC8vIC5zZm9ybTJfX2lucHV0IGluIF9uZXdzbGV0dGVyLnNjc3MuIGlPUyBTYWZhcmkgem9vbXMgdGhlIHZpZXdwb3J0IHdoZW5cblx0XHQvLyBhIGZvY3VzZWQgaW5wdXQncyB0ZXh0IGlzIHVuZGVyIDE2cHggYW5kIGRvZXMgTk9UIHpvb20gYmFjayBvdXQgb25cblx0XHQvLyBibHVyLCBsZWF2aW5nIHRoZSB2aXNpdG9yIHBpbmNoaW5nIHRvIGVzY2FwZSB0aGUgcGFnZS5cblx0XHRmb250LXNpemU6IDFyZW07XG5cblx0XHR0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgdmFyKC0tZHVyLWZhc3QpICRlYXNlO1xuXG5cdFx0Ly8gSm9lJ3MgY2FsbDogdGhlIHByb21wdCBoYXMgdG8gcmVhZCBhcyBhIHByb21wdCwgbm90IGFzIGEgZmlsbGVkIHZhbHVlLlxuXHRcdCY6OnBsYWNlaG9sZGVyIHtcblx0XHRcdGNvbG9yOiB2YXIoLS1pbmstMyk7XG5cdFx0XHRvcGFjaXR5OiAxOyAgIC8vIEZpcmVmb3ggYXBwbGllcyBpdHMgb3duIG9wYWNpdHkgb24gdG9wIG90aGVyd2lzZVxuXHRcdH1cblxuXHRcdC8vIFRoZSBhY2NlbnQgT1VUTElORSwgbWF0Y2hpbmcgZXZlcnkgb3RoZXIgYWN0aXZlIHN0YXRlIGluIHRoaXMgdGhlbWUg4oCUXG5cdFx0Ly8gbmV2ZXIgYSBmaWxsLiBvdXRsaW5lIHJhdGhlciB0aGFuIGEgdGhpY2tlciBib3JkZXIgc28gdGhlIGZpZWxkXG5cdFx0Ly8gZG9lc24ndCBjaGFuZ2Ugc2l6ZSBvbiBmb2N1cyBhbmQgc2hpZnQgZXZlcnl0aGluZyBiZWxvdyBpdC5cblx0XHQmOmZvY3VzLXZpc2libGUge1xuXHRcdFx0b3V0bGluZTogM3B4IHNvbGlkIHZhcigtLWFjY2VudCk7XG5cdFx0XHRvdXRsaW5lLW9mZnNldDogMnB4O1xuXHRcdFx0Ym9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHR9XG5cblx0XHQvLyDim5QgTkYgUFVUUyBOTyBFUlJPUiBDTEFTUyBPTiBUSEUgSU5QVVQuIEl0IHNldHMgYXJpYS1pbnZhbGlkPVwidHJ1ZVwiXG5cdFx0Ly8gYW5kIGFkZHMgLm5mLWVycm9yIG9ubHkgdG8gdGhlIHNlcGFyYXRlIG1lc3NhZ2Ugd3JhcHBlciDigJQgdmVyaWZpZWQgYnlcblx0XHQvLyB0cmlnZ2VyaW5nIGJsdXIgdmFsaWRhdGlvbiBsaXZlLCAyMDI2LTA5LTA1LiBTdHlsaW5nXG5cdFx0Ly8gYC5uZi1lbGVtZW50Lm5mLWVycm9yYCBsb29rcyByaWdodCBhbmQgc2lsZW50bHkgbmV2ZXIgbWF0Y2hlcy5cblx0XHQmW2FyaWEtaW52YWxpZD1cInRydWVcIl0ge1xuXHRcdFx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1hY2NlbnQtZGVlcCk7XG5cdFx0fVxuXHR9XG5cblx0dGV4dGFyZWEubmYtZWxlbWVudCB7XG5cdFx0Ly8gQSB0ZXh0YXJlYSBjYW4ndCBiZSBhIHRydWUgcGlsbDsgMjdweCBjb3JuZXJzIChoYWxmIHRoZSBpbnB1dCBoZWlnaHQpXG5cdFx0Ly8gZ2l2ZSBpdCB0aGUgc2FtZSBlbmQtcmFkaXVzIHNvIHRoZSBzdGFjayByZWFkcyBhcyBvbmUgZmFtaWx5LlxuXHRcdGhlaWdodDogYXV0bztcblx0XHRwYWRkaW5nOiBzcCg0KSAxLjNyZW07XG5cdFx0Ym9yZGVyLXJhZGl1czogMjdweDtcblxuXHRcdC8vIEpvZSdzIGNhbGwsIGJvdGggaGFsdmVzIG9mIGl0LlxuXHRcdC8vXG5cdFx0Ly8g4pqgIHJlc2l6ZTpub25lIE5FRURTIHRoZSBtaW4taGVpZ2h0LCBvciBhIGxvbmcgbWVzc2FnZSBiZWNvbWVzIGFcblx0XHQvLyBsZXR0ZXJib3ggdGhlIHdyaXRlciBjYW5ub3Qgc2VlIG91dCBvZiBhbmQgY2FuIG5vIGxvbmdlciBkcmFnIG9wZW4uXG5cdFx0cmVzaXplOiBub25lO1xuXHRcdG1pbi1oZWlnaHQ6IDExcmVtO1xuXG5cdFx0Ly8gTm8gc2Nyb2xsYmFyLiBTYWZlIEhFUkUgc3BlY2lmaWNhbGx5IGJlY2F1c2UgYSB0ZXh0YXJlYSBrZWVwcyBpdHMgb3duXG5cdFx0Ly8gY2FyZXQgaW4gdmlldyB3aGlsZSB0eXBpbmcsIHNvIHRoZSBjb250ZW50IGlzIG5ldmVyIHVucmVhY2hhYmxlIOKAlFxuXHRcdC8vIGp1c3QgdW5kZWNvcmF0ZWQuIERvbid0IGNvcHkgdGhpcyBvbnRvIGEgcmVhZC1vbmx5IHNjcm9sbGluZyBib3guXG5cdFx0c2Nyb2xsYmFyLXdpZHRoOiBub25lO1xuXHRcdCY6Oi13ZWJraXQtc2Nyb2xsYmFyIHsgZGlzcGxheTogbm9uZTsgfVxuXHR9XG5cblx0Ly8gTkYncyBjaGFyYWN0ZXItY291bnRlciBzbG90LiBJdCByZXNlcnZlcyBhIGxpbmUgdW5kZXIgZXZlcnkgZmllbGQgZXZlblxuXHQvLyB3aGVuIG5vIGxpbWl0IGlzIHNldCDigJQgYW5kIG5vbmUgb2YgdGhlc2UgdGhyZWUgZm9ybXMgc2V0cyBvbmUuXG5cdC5uZi1pbnB1dC1saW1pdDplbXB0eSB7IGRpc3BsYXk6IG5vbmU7IH1cblxuXG5cdC8vIOKUgOKUgCBFcnJvcnMg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cdC5uZi1lcnJvci13cmFwLm5mLWVycm9yIHtcblx0XHRtYXJnaW4tdG9wOiBzcCgyKTtcblx0XHRmb250LXNpemU6IC44OHJlbTtcblx0XHRsaW5lLWhlaWdodDogMS40NTtcblx0XHRjb2xvcjogdmFyKC0tYWNjZW50LWluayk7XG5cblx0XHQvLyBNdXN0IG5vdCByZXNlcnZlIHNwYWNlIHdoaWxlIGVtcHR5IOKAlCBhIHBlcm1hbmVudCBnYXAgdW5kZXIgZXZlcnlcblx0XHQvLyBmaWVsZCByZWFkcyBhcyBhIHJlbmRlcmluZyBidWcuIFNhbWUgcnVsZSBhcyAuc2Zvcm0yX19tc2cuXG5cdFx0JjplbXB0eSB7IGRpc3BsYXk6IG5vbmU7IH1cblx0fVxuXG5cdC8vIFRoZSB3aG9sZS1mb3JtIG1lc3NhZ2UgYWZ0ZXIgYSBzdWJtaXQgYXR0ZW1wdC5cblx0Lm5mLXJlc3BvbnNlLW1zZyB7XG5cdFx0Zm9udC1zaXplOiAxcmVtO1xuXHRcdGxpbmUtaGVpZ2h0OiAxLjY7XG5cblx0XHQmOmVtcHR5IHsgZGlzcGxheTogbm9uZTsgfVxuXG5cdFx0Jjpub3QoOmVtcHR5KSB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiBzcCg1KTtcblx0XHRcdHBhZGRpbmc6IHNwKDQpIHNwKDUpO1xuXHRcdFx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tbGluZS0yKTtcblx0XHRcdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XG5cdFx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1iZy0yKTtcblx0XHR9XG5cblx0XHRwOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG5cdH1cblxuXG5cdC8vIOKUgOKUgCBTdWJtaXQg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cdC8vIOKblCBDQU5OT1QgUkVVU0UgLmJ0biwgYW5kIG5vdCBmb3IgYSBuYW1pbmcgcmVhc29uLiAuYnRuJ3MgaG92ZXIgaXMgYVxuXHQvLyB3aXBlLWZpbGwgZHJhd24gd2l0aCA6OmJlZm9yZSDigJQgYW5kIGFuIDxpbnB1dD4gaXMgYSByZXBsYWNlZCBlbGVtZW50LCBzb1xuXHQvLyBpdCBoYXMgTk8gcHNldWRvLWVsZW1lbnRzLiBBZGRpbmcgdGhlIGNsYXNzIHdvdWxkIGdpdmUgYSBidXR0b24gd2l0aCB0aGVcblx0Ly8gcmlnaHQgc2hhcGUgYW5kIGEgaG92ZXIgdGhhdCBkb2VzIG5vdGhpbmcgYXQgYWxsLiBUaGUgZmlsbCBpcyBkb25lIHdpdGhcblx0Ly8gYmFja2dyb3VuZCBoZXJlIGluc3RlYWQsIHJlYWNoaW5nIHRoZSBzYW1lIHJlc3VsdCBieSBhbm90aGVyIHJvdXRlLlxuXHRpbnB1dC5uZi1lbGVtZW50W3R5cGU9XCJzdWJtaXRcIl0sXG5cdGlucHV0Lm5mLWVsZW1lbnRbdHlwZT1cImJ1dHRvblwiXSB7XG5cdFx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHR3aWR0aDogYXV0bztcblx0XHRoZWlnaHQ6IDU0cHg7ICAgICAgICAgICAgICAvLyA9IC5idG5cblx0XHRwYWRkaW5nLWlubGluZTogc3AoNik7XG5cdFx0Ly8gPSAuYnRuLS1hY2NlbnQsIG5vdCB0aGUgaW5rIGJ1dHRvbjogXCJ0aGlzIHNob3VsZCBiZSBibHVlXCIgKEpvZSxcblx0XHQvLyAyMDI2LTA5LTE0LCBkYXJrIG1vZGUg4oCUIHRoZSBpbmsgZmlsbCByZWFkIGFzIGEgd2hpdGUgYmxvYikuIEhvdmVyXG5cdFx0Ly8gZ29lcyB0byBpbmssIHRoZSBzYW1lIGVuZCBzdGF0ZSAuYnRuLS1hY2NlbnQncyB3aXBlIHJlYWNoZXMuXG5cdFx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYWNjZW50KTtcblx0XHRib3JkZXItcmFkaXVzOiA5OTlweDtcblx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1hY2NlbnQpO1xuXHRcdGNvbG9yOiB2YXIoLS1vbi1hY2NlbnQpO1xuXHRcdGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuXHRcdGZvbnQtc2l6ZTogLjkycmVtO1xuXHRcdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdFx0bGV0dGVyLXNwYWNpbmc6IC4wMWVtO1xuXHRcdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcblx0XHRhcHBlYXJhbmNlOiBub25lO1xuXHRcdHRyYW5zaXRpb246IGJhY2tncm91bmQgdmFyKC0tZHVyLWZhc3QpICRlYXNlLFxuXHRcdFx0XHRcdGNvbG9yIHZhcigtLWR1ci1mYXN0KSAkZWFzZSxcblx0XHRcdFx0XHR0cmFuc2Zvcm0gdmFyKC0tZHVyLWZhc3QpICRlYXNlO1xuXG5cdFx0QGluY2x1ZGUgY2FuLWhvdmVyIHtcblx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1pbmspO1xuXHRcdFx0XHRib3JkZXItY29sb3I6IHZhcigtLWluayk7XG5cdFx0XHRcdGNvbG9yOiB2YXIoLS1iZyk7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0JjphY3RpdmUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMXB4KTsgfVxuXG5cdFx0Jjpmb2N1cy12aXNpYmxlIHtcblx0XHRcdG91dGxpbmU6IDNweCBzb2xpZCB2YXIoLS1hY2NlbnQpO1xuXHRcdFx0b3V0bGluZS1vZmZzZXQ6IDNweDtcblx0XHR9XG5cblx0XHQvLyBORiBkaXNhYmxlcyB0aGUgYnV0dG9uIHdoaWxlIHN1Ym1pdHRpbmcuXG5cdFx0JltkaXNhYmxlZF0ge1xuXHRcdFx0b3BhY2l0eTogLjU1O1xuXHRcdFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdFx0fVxuXHR9XG5cblx0LnN1Ym1pdC1jb250YWluZXIge1xuXHRcdG1hcmdpbi10b3A6IHNwKDYpO1xuXG5cdFx0Ly8g4pqgIEZVTEwgV0lEVEggT04gVE9VQ0guIEF0IDQxNHB4IHRoZSBidXR0b24gd2FzIGEgMTkzcHggdGFyZ2V0XG5cdFx0Ly8gZmxvYXRpbmcgaW4gYSBjb2x1bW4gb2YgZnVsbC13aWR0aCBmaWVsZHMg4oCUIGl0IHJlYWQgYXMgbGVzcyBpbXBvcnRhbnRcblx0XHQvLyB0aGFuIHRoZSBpbnB1dHMgYWJvdmUgaXQsIHdoaWNoIGlzIGV4YWN0bHkgYmFja3dhcmRzIGZvciB0aGUgb25lXG5cdFx0Ly8gY29udHJvbCB0aGF0IG1hdHRlcnMuXG5cdFx0Ly9cblx0XHQvLyBTYW1lIHNwZWNpZmljaXR5IGFzIHRoZSBgd2lkdGg6IGF1dG9gIHJ1bGUgYWJvdmUsIHNvIHRoaXMgd2lucyBvblxuXHRcdC8vIHNvdXJjZSBvcmRlciBXSVRISU4gdGhpcyBmaWxlIOKAlCBpdCBtdXN0IHN0YXkgYmVsb3cgaXQuXG5cdFx0QGluY2x1ZGUgYXQoc20pIHtcblx0XHRcdGlucHV0Lm5mLWVsZW1lbnRbdHlwZT1cInN1Ym1pdFwiXSB7IHdpZHRoOiAxMDAlOyB9XG5cdFx0fVxuXHR9XG5cblx0Ly8gVGhlIHByb2Nlc3Npbmcgc3RhdGUgTkYgc3dhcHMgaW4gYmVzaWRlIHRoZSBidXR0b24uXG5cdC5uaW5qYS1mb3Jtcy1maWVsZC1wcm9jZXNzaW5nIHtcblx0XHRjb2xvcjogdmFyKC0taW5rLTIpO1xuXHR9XG5cblxuXHQvLyDilIDilIAgcmVDQVBUQ0hBIHYzIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXHQvLyBJbnZpc2libGUgYnkgZGVzaWduIOKAlCBORiBnaXZlcyBpdCBgLmhpZGRlbi1jb250YWluZXJgLiBMaXN0ZWQgaGVyZSBzbyB0aGVcblx0Ly8gbmV4dCBwZXJzb24gZG9lc24ndCBmaW5kIGFuIGVtcHR5IGZpZWxkIGNvbnRhaW5lciBhbmQgXCJ0aWR5IGl0IGF3YXlcIjpcblx0Ly8gcmVtb3ZpbmcgaXQgcmVtb3ZlcyB0aGUgc3BhbSBwcm90ZWN0aW9uLlxuXHQucmVjYXB0Y2hhX3YzLWNvbnRhaW5lciB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxufVxuIiwiQHVzZSBcInRva2Vuc1wiIGFzICo7XG5cbi8vIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLy8gIERPQ0sg4oCUIHBlcnNpc3RlbnQgcGxheWVyLCBwaW5uZWQgdG8gdGhlIGJvdHRvbVxuLy9cbi8vICBTbGlkZXMgdXAgb25jZSB5b3UndmUgc2Nyb2xsZWQgcGFzdCB0aGUgaGVybywgc28gaXQgbmV2ZXIgY29tcGV0ZXMgd2l0aCB0aGVcbi8vICBoZWFkbGluZSBvbiBsb2FkLiBJdCBpcyBhIHJlYWwgPGF1ZGlvPiBjb250cm9sbGVyLCBub3QgZGVjb3JhdGlvbjogaWYgYW5cbi8vICBlcGlzb2RlIGhhcyBubyBhdWRpbyBzb3VyY2UgdGhlIGRvY2sgc3RheXMgaGlkZGVuIHJhdGhlciB0aGFuIGx5aW5nIGFib3V0XG4vLyAgYmVpbmcgcGxheWFibGUuXG4vLyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblxuLmRvY2sge1xuXHRwb3NpdGlvbjogZml4ZWQ7XG5cdGxlZnQ6IDA7XG5cdHJpZ2h0OiAwO1xuXHRib3R0b206IDA7XG5cdHotaW5kZXg6IDkwO1xuXHRoZWlnaHQ6IHZhcigtLWRvY2staCk7XG5cdGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1iZy0yKSA4OCUsIHRyYW5zcGFyZW50KTtcblx0YmFja2Ryb3AtZmlsdGVyOiBibHVyKDIwcHgpIHNhdHVyYXRlKDEuNSk7XG5cdC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiBibHVyKDIwcHgpIHNhdHVyYXRlKDEuNSk7XG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1saW5lKTtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMSUpO1xuXHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjU1cyAkZWFzZS1vdXQ7XG5cblx0Ji5pcy11cCB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuXG5cdCZfX2lubmVyIHtcblx0XHR3aWR0aDogbWluKDEwMCUgLSB2YXIoLS1ndXR0ZXIpICogMiwgdmFyKC0tbWF4dykpO1xuXHRcdGhlaWdodDogMTAwJTtcblx0XHRtYXJnaW4taW5saW5lOiBhdXRvO1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRnYXA6IGNsYW1wKC43NXJlbSwgMnZ3LCAycmVtKTtcblx0fVxuXG5cdCZfX3BsYXkge1xuXHRcdGRpc3BsYXk6IGdyaWQ7XG5cdFx0cGxhY2UtaXRlbXM6IGNlbnRlcjtcblx0XHR3aWR0aDogNDZweDtcblx0XHRoZWlnaHQ6IDQ2cHg7XG5cdFx0ZmxleDogbm9uZTtcblx0XHRib3JkZXItcmFkaXVzOiA5OTlweDtcblx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1hY2NlbnQpO1xuXHRcdGNvbG9yOiB2YXIoLS1vbi1hY2NlbnQpO1xuXHRcdHRyYW5zaXRpb246IHRyYW5zZm9ybSB2YXIoLS1kdXItZmFzdCkgJGVhc2UsIGZpbHRlciB2YXIoLS1kdXItZmFzdCkgJGVhc2U7XG5cblx0XHRzdmcgeyB3aWR0aDogMTVweDsgaGVpZ2h0OiAxNXB4OyB9XG5cdFx0LmktcGF1c2UgeyBkaXNwbGF5OiBub25lOyB9XG5cblx0XHQmOmhvdmVyIHsgZmlsdGVyOiBicmlnaHRuZXNzKDEuMTIpOyB9XG5cdFx0JjphY3RpdmUgeyB0cmFuc2Zvcm06IHNjYWxlKC45Mik7IH1cblx0fVxuXG5cdCYuaXMtcGxheWluZyAmX19wbGF5IHtcblx0XHQuaS1wbGF5ICB7IGRpc3BsYXk6IG5vbmU7IH1cblx0XHQuaS1wYXVzZSB7IGRpc3BsYXk6IGJsb2NrOyB9XG5cdH1cblxuXHQmX19tZXRhIHtcblx0XHRtaW4td2lkdGg6IDA7XG5cdFx0ZGlzcGxheTogZ3JpZDtcblx0XHRnYXA6IDFweDtcblx0fVxuXG5cdCZfX2xhYmVsIHtcblx0XHRmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vKTtcblx0XHRmb250LXNpemU6IC42MnJlbTtcblx0XHRsZXR0ZXItc3BhY2luZzogLjE2ZW07XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRjb2xvcjogdmFyKC0taW5rLTMpO1xuXHR9XG5cblx0Jl9fdGl0bGUge1xuXHRcdGZvbnQtc2l6ZTogLjk1cmVtO1xuXHRcdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdFx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXHR9XG5cblx0Jl9fd2F2ZSB7XG5cdFx0bWFyZ2luLWxlZnQ6IGF1dG87XG5cdFx0QGluY2x1ZGUgYXQobWQpIHsgZGlzcGxheTogbm9uZTsgfVxuXHR9XG5cblx0Ly8gQmFycyBvbmx5IGFuaW1hdGUgd2hpbGUgYXVkaW8gaXMgYWN0dWFsbHkgcGxheWluZy5cblx0Jjpub3QoLmlzLXBsYXlpbmcpICZfX3dhdmUgc3BhbiB7IGFuaW1hdGlvbi1wbGF5LXN0YXRlOiBwYXVzZWQ7IG9wYWNpdHk6IC4zNTsgfVxuXG5cdCZfX3RpbWUge1xuXHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm8pO1xuXHRcdGZvbnQtc2l6ZTogLjcycmVtO1xuXHRcdGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7XG5cdFx0Y29sb3I6IHZhcigtLWluay0yKTtcblx0XHRmbGV4OiBub25lO1xuXG5cdFx0QGluY2x1ZGUgYXQoc20pIHsgZGlzcGxheTogbm9uZTsgfVxuXHR9XG5cblx0Ly8gUHJvZ3Jlc3Mgc2l0cyBvbiB0aGUgZG9jaydzIHRvcCBlZGdlIOKAlCBhIHNjcnViYmVyIHRoYXQgZG91YmxlcyBhcyBhIHJ1bGUuXG5cdCZfX3Byb2dyZXNzIHtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiAtMXB4O1xuXHRcdGxlZnQ6IDA7XG5cdFx0cmlnaHQ6IDA7XG5cdFx0aGVpZ2h0OiAzcHg7XG5cdFx0YmFja2dyb3VuZDogdmFyKC0tbGluZSk7XG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xuXG5cdFx0Ly8gRmF0dGVyIGhpdCBhcmVhIHRoYW4gaXQgbG9va3MsIHNvIGl0J3MgYWN0dWFsbHkgZ3JhYmJhYmxlLlxuXHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0aW5zZXQ6IC04cHggMDtcblx0XHR9XG5cdH1cblxuXHQmX19iYXIge1xuXHRcdGhlaWdodDogMTAwJTtcblx0XHR3aWR0aDogMDtcblx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1hY2NlbnQpO1xuXHRcdHRyYW5zZm9ybS1vcmlnaW46IGxlZnQ7XG5cdH1cbn1cblxuLy8gS2VlcCB0aGUgbGFzdCBzZWN0aW9uIGNsZWFyIG9mIHRoZSBkb2NrIG9uY2UgaXQncyB1cC5cbmJvZHkuaGFzLWRvY2sgeyBwYWRkaW5nLWJvdHRvbTogdmFyKC0tZG9jay1oKTsgfVxuIiwiQHVzZSBcInRva2Vuc1wiIGFzICo7XHJcblxyXG4vLyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcclxuLy8gIENPT0tJRVMg4oCUIGNvbnNlbnQgY2FyZCwgYm90dG9tLXJpZ2h0XHJcbi8vXHJcbi8vICBBIHNtYWxsIGNhcmQsIG5vdCBhIGZ1bGwtd2lkdGggYmFyOiB0aGUgYmFyIHBhdHRlcm4gY292ZXJzIHRoZSBkb2NrIGFuZFxyXG4vLyAgcmVhZHMgYXMgYSBzaXRlLXdpZGUgaW50ZXJydXB0aW9uLCB3aGVuIGl0J3Mgb25lIHF1ZXN0aW9uIGZvciBzb21lXHJcbi8vICB2aXNpdG9ycyAoRVUvVUsvQ0ggb25seSDigJQgaW5jL2Nvb2tpZXMucGhwKS4gU2FtZSBnbGFzcyBhcyAuZG9jayBzbyB0aGUgdHdvXHJcbi8vICBwaW5uZWQgc3VyZmFjZXMgYXJlIG9idmlvdXNseSB0aGUgc2FtZSBmYW1pbHksIGFuZCBpdCBzaXRzIEFCT1ZFIHRoZSBkb2NrXHJcbi8vICAoeiA5NSA+IDkwKSBhbmQgY2xlYXJzIGl0cyBoZWlnaHQsIHNvIGEgcGxheWluZyBlcGlzb2RlIGlzIG5ldmVyIGNvdmVyZWQuXHJcbi8vXHJcbi8vICBFbnRlci9sZWF2ZSBpcyBhIHRyYW5zZm9ybStvcGFjaXR5IHBhaXIgZHJpdmVuIGJ5IC5pcy1pbjsgdGhlIEpTIHdhaXRzIGZvclxyXG4vLyAgdHJhbnNpdGlvbmVuZCBiZWZvcmUgaGlkaW5nLCBzbyB0aGUgbGVhdmUgbXVzdCBrZWVwIGEgdHJhbnNpdGlvbi5cclxuLy8g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXHJcblxyXG4uY29va2llcyB7XHJcblx0cG9zaXRpb246IGZpeGVkO1xyXG5cdC8vIFNhbWUgaW5zZXQgb24gZXZlcnkgZWRnZSDigJQgaGFsZiB0aGUgcGFnZSBndXR0ZXIsIHRoZSBzbWFsbGVyIG9mIHRoZSB0d28gaXRcclxuXHQvLyBzdGFydGVkIHdpdGggKEpvZSwgMjAyNi0wOS0xOCkuXHJcblx0LS1pbnNldDogY2FsYyh2YXIoLS1ndXR0ZXIpICogLjUpO1xyXG5cdGxlZnQ6IHZhcigtLWluc2V0KTtcclxuXHRyaWdodDogdmFyKC0taW5zZXQpO1xyXG5cdGJvdHRvbTogY2FsYyh2YXIoLS1pbnNldCkgKyBlbnYoc2FmZS1hcmVhLWluc2V0LWJvdHRvbSwgMHB4KSk7XHJcblx0ei1pbmRleDogOTU7XHJcblx0b3BhY2l0eTogMDtcclxuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTJweCk7ICAgLy8gcGhvbmVzOiBjYXJkIGlzIGZ1bGwtd2lkdGgsIHNvIGl0IHJpc2VzXHJcblx0dHJhbnNpdGlvbjogb3BhY2l0eSAuNDVzICRlYXNlLW91dCwgdHJhbnNmb3JtIC41NXMgJGVhc2Utb3V0O1xyXG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG5cclxuXHQmLmlzLWluIHtcclxuXHRcdG9wYWNpdHk6IDE7XHJcblx0XHR0cmFuc2Zvcm06IG5vbmU7XHJcblx0XHRwb2ludGVyLWV2ZW50czogYXV0bztcclxuXHR9XHJcblxyXG5cdC8vIGtlZXAgY2xlYXIgb2YgdGhlIGRvY2sgb25jZSBpdCdzIHVwXHJcblx0LmRvY2suaXMtdXAgfiAmIHsgYm90dG9tOiBjYWxjKHZhcigtLWRvY2staCkgKyB2YXIoLS1pbnNldCkgKyBlbnYoc2FmZS1hcmVhLWluc2V0LWJvdHRvbSwgMHB4KSk7IH1cclxuXHJcblx0QG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XHJcblx0XHRsZWZ0OiBhdXRvOyAgIC8vIGJvdHRvbS1SSUdIVCBvbiBkZXNrdG9wIChKb2UsIDIwMjYtMDktMTgpOyBmdWxsLXdpZHRoIGNhcmQgb24gcGhvbmVzXHJcblx0XHR3aWR0aDogbWluKDQwMHB4LCAxMDAlIC0gdmFyKC0taW5zZXQpICogMik7XHJcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FsYygxMDAlICsgdmFyKC0taW5zZXQpKSk7ICAgLy8g4oCmYW5kIHNsaWRlcyBpbiBmcm9tIHRoZSByaWdodCBlZGdlXHJcblx0XHQmLmlzLWluIHsgdHJhbnNmb3JtOiBub25lOyB9XHJcblx0fVxyXG5cclxuXHQmX19ib3gge1xyXG5cdFx0cGFkZGluZzogc3AoNSkgc3AoNikgc3AoNik7XHJcblx0XHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1saW5lKTtcclxuXHRcdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1sZyk7XHJcblx0XHRiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tYmctMikgOTIlLCB0cmFuc3BhcmVudCk7XHJcblx0XHRiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMjBweCkgc2F0dXJhdGUoMS41KTtcclxuXHRcdC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiBibHVyKDIwcHgpIHNhdHVyYXRlKDEuNSk7XHJcblx0XHRib3gtc2hhZG93OiAwIDE4cHggNTBweCAtMjBweCByZ2JhKDAsIDAsIDAsIC41NSk7XHJcblx0fVxyXG5cclxuXHQmX190aXRsZSB7XHJcblx0XHRtYXJnaW46IDAgMCBzcCgyKTtcclxuXHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xyXG5cdFx0Zm9udC1zaXplOiBmbHVpZCgyMiwgMjgpO1xyXG5cdFx0Zm9udC13ZWlnaHQ6IDkwMDtcclxuXHRcdGxpbmUtaGVpZ2h0OiAxO1xyXG5cdFx0bGV0dGVyLXNwYWNpbmc6IC0uMDNlbTtcclxuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0fVxyXG5cclxuXHQmX19jb3B5IHtcclxuXHRcdG1hcmdpbjogMCAwIHNwKDUpO1xyXG5cdFx0Zm9udC1zaXplOiAuOTM3NXJlbTtcclxuXHRcdGxpbmUtaGVpZ2h0OiAxLjQ1O1xyXG5cdFx0Y29sb3I6IHZhcigtLWluay0yKTtcclxuXHJcblx0XHRhIHtcclxuXHRcdFx0Y29sb3I6IHZhcigtLWluayk7XHJcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG5cdFx0XHR0ZXh0LXVuZGVybGluZS1vZmZzZXQ6IC4xOGVtO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Jl9fYWN0aW9ucyB7XHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0Z2FwOiBzcCgzKTtcclxuXHR9XHJcblxyXG5cdCZfX2J0biB7XHJcblx0XHRmbGV4OiAxO1xyXG5cdFx0aGVpZ2h0OiA0NnB4O1xyXG5cdFx0cGFkZGluZy1pbmxpbmU6IHNwKDQpO1xyXG5cdH1cclxufVxyXG4iLCJAdXNlIFwidG9rZW5zXCIgYXMgKjtcclxuXHJcbi8vIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxyXG4vLyAgRk9PVEVSIOKAlCBvdmVyc2l6ZWQgd29yZG1hcmssIHRoZW4gdGhlIHNtYWxsIHByaW50XHJcbi8vIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxyXG5cclxuLmZvb3Qge1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRwYWRkaW5nLXRvcDogY2xhbXAoM3JlbSwgN3Z3LCA3cmVtKTtcclxuXHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tbGluZSk7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHJcblx0Ly8g4pSA4pSAIFN1YnNjcmliZSBwYW5lbCAoc2l0ZS13aWRlLCBtb3ZlZCBmcm9tIGZyb250LXBhZ2UucGhwIDIwMjYtMDktMTMpIOKUgOKUgFxyXG5cdC8vICBSZW5kZXJlZCBgJGJhcmVgIOKAlCBzZWUgaW5jL25ld3NsZXR0ZXIucGhwIOKAlCBzbyBpdCBoYXMgbm8gPHNlY3Rpb24+IG9mXHJcblx0Ly8gIGl0cyBvd24gYW5kIG5vIGJvdHRvbSBwYWRkaW5nIHRvIHNlcGFyYXRlIGl0IGZyb20gLmZvb3RfX3RvcCBiZWxvdy5cclxuXHQvLyAgLmZvb3QncyBvd24gcGFkZGluZy10b3AgYWxyZWFkeSBnaXZlcyBpdCBicmVhdGhpbmcgcm9vbSBhYm92ZTsgdGhpc1xyXG5cdC8vICBzdXBwbGllcyB0aGUgbWF0Y2hpbmcgZ2FwIHVuZGVybmVhdGgsIHNhbWUgY2xhbXAgc28gdGhlIHBhbmVsIHJlYWRzIGFzXHJcblx0Ly8gIGV2ZW5seSBzcGFjZWQgcmF0aGVyIHRoYW4gY3Jvd2RpbmcgdGhlIGNvbHVtbnMgdGhhdCBmb2xsb3cgaXQuXHJcblx0Jl9fc3Vic2NyaWJlIHtcclxuXHRcdG1hcmdpbi1ib3R0b206IGNsYW1wKDNyZW0sIDd2dywgN3JlbSk7XHJcblx0fVxyXG5cclxuXHQmX190b3Age1xyXG5cdFx0ZGlzcGxheTogZ3JpZDtcclxuXHJcblx0XHQvLyDim5QgTk9UIGBtaW5tYXgoMCwgMWZyKSBhdXRvYC4gVGhlIGdhcCB3YXMgbmV2ZXIgdGhlIHByb2JsZW0g4oCUIGl0IHdhc1xyXG5cdFx0Ly8gc3AoNykgdGhlbiBhbmQgaXQgaXMgc3AoNykgbm93LCB0aGUgc2FtZSBhcyB0aGUgZ2FwIGJldHdlZW4gdGhlIGxpbmtcclxuXHRcdC8vIGNvbHVtbnMuIFRoZSBMRURFIFRSQUNLIHdhcyB0aGUgcHJvYmxlbTogMWZyIG1hZGUgaXQgc3dhbGxvdyBldmVyeVxyXG5cdFx0Ly8gc3BhcmUgcGl4ZWwgaW4gdGhlIHNoZWxsIHdoaWxlIC5mb290X19waXRjaCdzIG93biBtYXgtd2lkdGgga2VwdCB0aGVcclxuXHRcdC8vIHRleHQgYXQgMTZjaCwgc28gdGhlIHRyYWNrIHdhcyBlbm9ybW91cyBhbmQgdGhlIHdvcmRzIHNhdCBhbG9uZSBhdCB0aGVcclxuXHRcdC8vIGZhciBsZWZ0IG9mIGl0LiBWaXN1YWxseSBhIGNoYXNtOyBpbiB0aGUgbGF5b3V0LCBhIGNvcnJlY3QgZ2FwLlxyXG5cdFx0Ly9cclxuXHRcdC8vIEJvdGggdHJhY2tzIGFyZSBjb250ZW50LXNpemVkIG5vdyBhbmQganVzdGlmeS1jb250ZW50IHBhcmtzIHRoZVxyXG5cdFx0Ly8gbGVmdG92ZXIgc3BhY2UgYXQgdGhlIEVORCwgc28gdGhlIGJyYW5kIGFuZCBhbGwgZm91ciBjb2x1bW5zIHJlYWQgYXNcclxuXHRcdC8vIG9uZSBldmVubHktc3BhY2VkIHJvdy5cclxuXHRcdC8vXHJcblx0XHQvLyBgYXV0b2AgKG5vdCBtYXgtY29udGVudCkgbWF0dGVyczogaXQgY2FuIHN0aWxsIHNocmluayBiZWxvdyBpdHMgaWRlYWxcclxuXHRcdC8vIHdpZHRoIHdoZW4gdGhlIHNoZWxsIGlzIHRpZ2h0LCBzbyB0aGUgcGl0Y2ggdGFrZXMgYW5vdGhlciBsaW5lIHJhdGhlclxyXG5cdFx0Ly8gdGhhbiB0aGUgcm93IG92ZXJmbG93aW5nLlxyXG5cdFx0Ly8g4pqgIHNwYWNlLWJldHdlZW4sIE5PVCBzdGFydCDigJQgYW5kIHRoaXMgaXMgd2hhdCBtYWtlcyB0aGUgZ2FwIGJlaGF2ZSB0aGVcclxuXHRcdC8vIHdheSB5b3UgZXhwZWN0IHdoZW4geW91IHR1bmUgaXQuXHJcblx0XHQvL1xyXG5cdFx0Ly8gV2l0aCBgc3RhcnRgLCB0aGUgYmxvY2sgb2YgbGluayBjb2x1bW5zIGlzIGFuY2hvcmVkIG9uIHRoZSBMRUZUOiBpdHNcclxuXHRcdC8vIGxlZnQgZWRnZSBpcyBwaW5uZWQganVzdCBhZnRlciB0aGUgYnJhbmQsIHNvIHdpZGVuaW5nIHRoZSBnYXBzIGNhblxyXG5cdFx0Ly8gb25seSBleHRlbmQgaXRzIHJpZ2h0IGVkZ2UuIFRoZSBjb2x1bW5zIG1hcmNoIGF3YXkgdG8gdGhlIHJpZ2h0LCB3aGljaFxyXG5cdFx0Ly8gaXMgdGhlIG9wcG9zaXRlIG9mIHdoYXQgdHVuaW5nIHRoZW0gaXMgbWVhbnQgdG8gZG8uXHJcblx0XHQvL1xyXG5cdFx0Ly8gc3BhY2UtYmV0d2VlbiBwaW5zIHRoZSBicmFuZCBsZWZ0IGFuZCB0aGUgY29sdW1ucyBSSUdIVC4gV2lkZW5pbmcgdGhlXHJcblx0XHQvLyBnYXBzIG5vdyBncm93cyB0aGUgYmxvY2sgbGVmdHdhcmQsIGJhY2sgdG93YXJkIHRoZSBicmFuZCDigJQgc28gdGhlXHJcblx0XHQvLyBzcGFjaW5nIGtub2IgYW5kIHRoZSB2aXN1YWwgcmVzdWx0IG1vdmUgaW4gdGhlIHNhbWUgZGlyZWN0aW9uLlxyXG5cdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIGF1dG87XHJcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblx0XHRhbGlnbi1pdGVtczogc3RhcnQ7XHJcblxyXG5cdFx0Ly8g4pqgIFJFUVVJUkVELCBhbmQgZWFzeSB0byB0aGluayBpc24ndC4gT24gZGVza3RvcCBzcGFjZS1iZXR3ZWVuIHN1cHBsaWVzXHJcblx0XHQvLyBhbGwgdGhlIHZpc2libGUgc2VwYXJhdGlvbiwgc28gZHJvcHBpbmcgdGhpcyBsb29rcyBoYXJtbGVzcyDigJQgaXQgd2FzXHJcblx0XHQvLyBkcm9wcGVkIG9uIDIwMjYtMDgtMDggYW5kIGRlc2t0b3Agd2FzIGZpbmUuIEF0IG1kIHRoZSBncmlkIGNvbGxhcHNlc1xyXG5cdFx0Ly8gdG8gT05FIGNvbHVtbiwgc3BhY2UtYmV0d2VlbiBoYXMgbm90aGluZyBsZWZ0IHRvIGRpc3RyaWJ1dGUsIGFuZCB0aGVcclxuXHRcdC8vIGJyYW5kIGJsb2NrIHNpdHMgZmx1c2ggb24gdG9wIG9mIHRoZSBsaW5rcyB3aXRoIHplcm8gc3BhY2UuXHJcblx0XHQvL1xyXG5cdFx0Ly8gV2l0aCBzcGFjZS1iZXR3ZWVuIHRoaXMgaXMgYSBNSU5JTVVNLCBub3QgdGhlIGFjdHVhbCBnYXA6IGxlZnRvdmVyXHJcblx0XHQvLyB3aWR0aCBzdGlsbCBwdXNoZXMgdGhlIGNvbHVtbnMgdG8gdGhlIHJpZ2h0IGVkZ2Ugb24gZGVza3RvcC5cclxuXHRcdGdhcDogc3AoNyk7XHJcblxyXG5cdFx0QGluY2x1ZGUgYXQobWQpIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7IH1cclxuXHR9XHJcblxyXG5cdC8vIOKUgOKUgCBMZWRlOiBjaXJjbGUgbWFyayArIHBpdGNoIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxyXG5cdC8vICBDYXJyaWVzIHRoZSBQSVRDSCdTIHR5cGUgc2NhbGUsIHNvIHRoZSBtYXJrIGJlbG93IGNhbiBiZSBzaXplZCBpbiBgZW1gXHJcblx0Ly8gIGFnYWluc3QgdGhlIHZlcnkgdGV4dCBpdCBzaXRzIGJlc2lkZS4gLmZvb3RfX3BpdGNoIGluaGVyaXRzIGl0LlxyXG5cdCZfX2xlZGUge1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHRnYXA6IGNsYW1wKC43NXJlbSwgMnZ3LCAxLjVyZW0pO1xyXG5cdFx0Zm9udC1zaXplOiBmbHVpZCgyNiwgNjIpO1xyXG5cdH1cclxuXHJcblx0Ly8g4pqgIFNJWkVEIElOIGVtLCBOT1QgQlkgYWxpZ24tc2VsZjogc3RyZXRjaCDigJQgYW5kIHRoYXQgaXMgYSByZWFsIGNvbnN0cmFpbnQsXHJcblx0Ly8gbm90IGEgc2hvcnRjdXQuIEZsZXggY2Fubm90IGRlcml2ZSBhbiBpdGVtJ3MgV0lEVEggZnJvbSBhIGhlaWdodCB0aGF0IGFcclxuXHQvLyBTSUJMSU5HIGRldGVybWluZXM6IHRoZSBhbGdvcml0aG0gcmVzb2x2ZXMgbWFpbiBzaXplcyAod2lkdGgpIGJlZm9yZSBjcm9zc1xyXG5cdC8vIHNpemVzIChoZWlnaHQpLCBzbyBhdCB0aGUgbW9tZW50IHRoZSBtYXJrJ3Mgd2lkdGggaXMgZGVjaWRlZCB0aGUgcm93J3NcclxuXHQvLyBoZWlnaHQgZG9lc24ndCBleGlzdCB5ZXQuIEJvdGggYXR0ZW1wdHMgYXQgaXQgZmFpbGVkIGluIGV4YWN0bHkgdGhlIHdheSB0aGF0XHJcblx0Ly8gcHJlZGljdHMg4oCUIGFuIGVtcHR5IDxzcGFuPiBzaHJpbmstd3JhcHBlZCB0byAwcHggd2lkZSBhbmQgdmFuaXNoZWQsIHRoZW4gYW5cclxuXHQvLyA8aW1nPiBmZWxsIGJhY2sgdG8gaXRzIGludHJpbnNpYyA1MDBweCBhbmQgc3dhbGxvd2VkIHRoZSBmb290ZXIuXHJcblx0Ly9cclxuXHQvLyAyLjg1ZW0gaXMgdGhlIHBpdGNoJ3MgdGhyZWUgbGluZXMgYXQgaXRzIG93biAuOTUgbGluZS1oZWlnaHQuIEJlY2F1c2UgdGhlIGVtXHJcblx0Ly8gcmVzb2x2ZXMgYWdhaW5zdCAuZm9vdF9fbGVkZSdzIGZsdWlkIGZvbnQtc2l6ZSwgdGhlIG1hcmsgcmVzY2FsZXMgd2l0aCB0aGVcclxuXHQvLyBoZWFkbGluZSBhdCBldmVyeSBicmVha3BvaW50IOKAlCB3aGljaCBpcyB0aGUgYmVoYXZpb3VyIHRoYXQgd2FzIGFjdHVhbGx5XHJcblx0Ly8gd2FudGVkLiBJZiB0aGUgaGVhZGxpbmUgaXMgZXZlciByZXdvcmRlZCB0byBhIGRpZmZlcmVudCBudW1iZXIgb2YgbGluZXMsXHJcblx0Ly8gdGhpcyBpcyB0aGUgb25lIG51bWJlciB0byBjaGFuZ2UuXHJcblx0Jl9fYmFkZ2Uge1xyXG5cdFx0ZmxleDogbm9uZTtcclxuXHRcdHdpZHRoOiAyLjg1ZW07XHJcblx0XHRoZWlnaHQ6IDIuODVlbTtcclxuXHJcblx0XHQvLyBUaGUgZmlsZSdzIHBhdGhzIGFyZSBhbGwgZmlsbD1cIndoaXRlXCIsIHNvIGl0IHJlYWRzIG9uIHRoZSBkYXJrIGZvb3RlciBhbmRcclxuXHRcdC8vIHdvdWxkIHZhbmlzaCBvbiB0aGUgbGlnaHQgb25lLiBJbnZlcnRpbmcgaXMgZW5vdWdoIGZvciBhIHNpbmdsZS1jb2xvdXJcclxuXHRcdC8vIG1hcmsgYW5kIGF2b2lkcyBzaGlwcGluZyBhIHNlY29uZCBhc3NldC5cclxuXHRcdFtkYXRhLXRoZW1lPVwibGlnaHRcIl0gJiB7IGZpbHRlcjogaW52ZXJ0KDEpOyB9XHJcblx0fVxyXG5cclxuXHQmX19waXRjaCB7XHJcblx0XHRmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcclxuXHRcdGZvbnQtc2l6ZTogaW5oZXJpdDsgICAgICAvLyBmcm9tIC5mb290X19sZWRlIOKAlCBzZWUgdGhlIG5vdGUgYWJvdmVcclxuXHRcdGZvbnQtd2VpZ2h0OiA5MDA7XHJcblx0XHRsaW5lLWhlaWdodDogY2FsYyguOTUgKiB2YXIoLS1kaXNwbGF5LWxlYWRpbmcpKTtcclxuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0XHRsZXR0ZXItc3BhY2luZzogLS4wM2VtO1xyXG5cdFx0bWF4LXdpZHRoOiAxNmNoO1xyXG5cdFx0Ly8gVGhlIHNpdGUgY29uZmlnIGNhbiBzdXBwbHkgdGhlIHBpdGNoIGFzIGxpbmVzICg8YnI+LWpvaW5lZCkgc28gdGhlIGJyZWFrc1xyXG5cdFx0Ly8gYXJlIHRoZSBjb3B5d3JpdGVyJ3MsIG5vdCB0aGUgd2lkdGgncyDigJQgc2VlIHNpdGVzLyovY29uZmlnLnBocC5cclxuXHR9XHJcblxyXG5cdCZfX2NvbHMge1xyXG5cdFx0ZGlzcGxheTogZ3JpZDtcclxuXHJcblx0XHQvLyDim5QgTk9UIGByZXBlYXQoYXV0by1maXQsIG1pbm1heCgxNDBweCwgYXV0bykpYCwgd2hpY2ggaXMgd2hhdCB0aGlzIHdhc1xyXG5cdFx0Ly8gYW5kIHdoeSBhbGwgZm91ciBncm91cHMgc3RhY2tlZCBpbnRvIG9uZSBjb2x1bW4uXHJcblx0XHQvL1xyXG5cdFx0Ly8gYXV0by1maXQgbmVlZHMgYSBERUZJTklURSBjb250YWluZXIgd2lkdGggdG8gd29yayBvdXQgaG93IG1hbnkgdHJhY2tzXHJcblx0XHQvLyBmaXQuIFRoaXMgZ3JpZCBsaXZlcyBpbiAuZm9vdF9fdG9wJ3MgYGF1dG9gIHRyYWNrLCB3aGljaCBpcyBzaXplZCBieVxyXG5cdFx0Ly8gaXRzIG93biBjb250ZW50IOKAlCBzbyB0aGVyZSBpcyBubyB3aWR0aCB0byBmaXQgYWdhaW5zdCwgdGhlIGdyaWQgZmFsbHNcclxuXHRcdC8vIGJhY2sgdG8gaXRzIG1pbi1jb250ZW50IGNvbnRyaWJ1dGlvbiwgYW5kIHRoYXQgaXMgb25lIGNvbHVtbi4gSXQgaXNcclxuXHRcdC8vIG5vdCBhIGJyZWFrcG9pbnQgcHJvYmxlbTsgaXQgbmV2ZXIgaGFkIG1vcmUgdGhhbiBvbmUgY29sdW1uIGF0IGFueVxyXG5cdFx0Ly8gd2lkdGguXHJcblx0XHQvL1xyXG5cdFx0Ly8gZ3JpZC1hdXRvLWZsb3c6IGNvbHVtbiBhc2tzIHRoZSBxdWVzdGlvbiB0aGUgb3RoZXIgd2F5IHJvdW5kIOKAlCBsYXlcclxuXHRcdC8vIHRoZXNlIG91dCBhcyBjb2x1bW5zLCB0aGVuIGJlIGFzIHdpZGUgYXMgdGhhdCBuZWVkcyDigJQgd2hpY2ggaXMgZXhhY3RseVxyXG5cdFx0Ly8gd2hhdCBhIGNvbnRlbnQtc2l6ZWQgdHJhY2sgY2FuIGFuc3dlci4gSXQgYWxzbyBhZGFwdHMgdG8gaG93ZXZlciBtYW55XHJcblx0XHQvLyAuZm9vdF9fY29sIGJsb2NrcyBleGlzdCwgc28gYWRkaW5nIGEgZmlmdGggZ3JvdXAgbmVlZHMgbm8gY2hhbmdlIGhlcmUuXHJcblx0XHRncmlkLWF1dG8tZmxvdzogY29sdW1uO1xyXG5cdFx0Z3JpZC1hdXRvLWNvbHVtbnM6IG1pbm1heCgwLCBhdXRvKTtcclxuXHJcblx0XHQvLyDimqAgVEhJUyBJUyBUSEUgU1BBQ0lORyBLTk9CLiBCZWNhdXNlIC5mb290X190b3AgaXMgc3BhY2UtYmV0d2VlbiwgdGhlXHJcblx0XHQvLyBjb2x1bW4gYmxvY2sgaXMgcGlubmVkIHRvIHRoZSByaWdodCBlZGdlIOKAlCBzbyByYWlzaW5nIHRoaXMgdmFsdWVcclxuXHRcdC8vIHNwcmVhZHMgdGhlIGNvbHVtbnMgQU5EIHdhbGtzIHRoZSB3aG9sZSBibG9jayBsZWZ0IHRvd2FyZCB0aGUgYnJhbmQuXHJcblx0XHQvLyBMb3dlciBpdCBhbmQgdGhleSBkcmF3IHRvZ2V0aGVyIGFuZCByZXRyZWF0IHJpZ2h0LlxyXG5cdFx0Ly9cclxuXHRcdC8vIEZsdWlkIHJhdGhlciB0aGFuIGZsYXQgc28gdGhlIHJvdyBkb2Vzbid0IGNydXNoIG9uIGEgbGFwdG9wIHdoaWxlXHJcblx0XHQvLyBsb29raW5nIG1lYW4gb24gYSB3aWRlIGRpc3BsYXkuXHJcblx0XHRnYXA6IGNsYW1wKDNyZW0sIDQuNXZ3LCA1cmVtKTtcclxuXHJcblx0XHRAaW5jbHVkZSBhdChtZCkgeyBnYXA6IHNwKDUpOyB9XHJcblxyXG5cdFx0Ly8gRm91ciBhY3Jvc3MgaXMgdG9vIG1hbnkgb24gYSBwaG9uZS4gQmFjayB0byByb3dzLCB0d28gdXAg4oCUIGFuZCB0aGVcclxuXHRcdC8vIGZsb3cgaGFzIHRvIGJlIHJlc2V0IGV4cGxpY2l0bHksIG9yIHRoZSBjb2x1bW5zIHJ1bGUgYWJvdmUgd2lucyBhbmRcclxuXHRcdC8vIGdyaWQtdGVtcGxhdGUtY29sdW1ucyBpcyBpZ25vcmVkLlxyXG5cdFx0QGluY2x1ZGUgYXQoc20pIHtcclxuXHRcdFx0Z3JpZC1hdXRvLWZsb3c6IHJvdztcclxuXHRcdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgbWlubWF4KDAsIDFmcikpO1xyXG5cdFx0XHRnYXA6IHNwKDUpIHNwKDQpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Jl9fY29sIHtcclxuXHRcdGRpc3BsYXk6IGdyaWQ7XHJcblx0XHRnYXA6IHNwKDMpO1xyXG5cdFx0YWxpZ24tY29udGVudDogc3RhcnQ7XHJcblxyXG5cdFx0aDMge1xyXG5cdFx0XHRmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vKTtcclxuXHRcdFx0Zm9udC1zaXplOiAuNjZyZW07XHJcblx0XHRcdGZvbnQtd2VpZ2h0OiA1MDA7XHJcblx0XHRcdGxldHRlci1zcGFjaW5nOiAuMThlbTtcclxuXHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRcdFx0Y29sb3I6IHZhcigtLWluay0zKTtcclxuXHRcdH1cclxuXHJcblx0XHQvLyBnYXAgaW4gYGVtYCwgc28gaXQgdHJhY2tzIHRoZSBsaW5rIHNpemUgcmF0aGVyIHRoYW4gYSBmaXhlZCBzdGVwIOKAlCB0aGVcclxuXHRcdC8vIGxpc3QgYnJlYXRoZXMgaW4gcHJvcG9ydGlvbiB0byBpdHMgb3duIHR5cGUgaW5zdGVhZCBvZiBuZWVkaW5nIGFcclxuXHRcdC8vIHNlY29uZCBudW1iZXIgY2hhbmdlZCB3aGVuZXZlciB0aGUgbGlua3MgcmVzaXplLlxyXG5cdFx0Ly9cclxuXHRcdC8vIERlc2t0b3Agb25seSwgb24gSm9lJ3MgYXNrOiBwaG9uZXMga2VlcCB0aGUgdGlnaHRlciBzcCgyKSwgd2hlcmUgdGhlXHJcblx0XHQvLyBjb2x1bW5zIGFyZSAyeDIgYW5kIHZlcnRpY2FsIHJvb20gaXMgdGhlIHNjYXJjZSB0aGluZy5cclxuXHRcdHVsIHtcclxuXHRcdFx0bGlzdC1zdHlsZTogbm9uZTtcclxuXHRcdFx0ZGlzcGxheTogZ3JpZDtcclxuXHRcdFx0Z2FwOiAuNjVlbTtcclxuXHJcblx0XHRcdEBpbmNsdWRlIGF0KG1kKSB7IGdhcDogc3AoMik7IH1cclxuXHRcdH1cclxuXHJcblx0XHRhIHtcclxuXHRcdFx0Zm9udC1zaXplOiAuOTVyZW07XHJcblx0XHRcdGNvbG9yOiB2YXIoLS1pbmstMik7XHJcblx0XHRcdHRyYW5zaXRpb246IGNvbG9yIHZhcigtLWR1ci1mYXN0KSAkZWFzZTtcclxuXHRcdFx0Jjpob3ZlciB7IGNvbG9yOiB2YXIoLS1hY2NlbnQtaW5rKTsgfVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Ly8g4o+4IC5mb290X19tYXJrIOKAlCB0aGUgZ2lhbnQgb3V0bGluZWQgd29yZG1hcmsg4oCUIHdhcyBSRU1PVkVEIG9uIDIwMjYtMDgtMDcsXHJcblx0Ly8gSm9lJ3MgY2FsbC4gTm90aGluZyByZW5kZXJzIGl0IG5vdzsgaXRzIG1hcmdpbi10b3AgaXMgaW5oZXJpdGVkIGJ5XHJcblx0Ly8gLmZvb3RfX2Jhc2UgYmVsb3cgc28gdGhlIGZvb3RlciBrZWVwcyB0aGUgc2FtZSByaHl0aG0gd2l0aG91dCBpdC5cclxuXHJcblx0Jl9fYmFzZSB7XHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHRcdGdhcDogc3AoNCk7XHJcblx0XHRmbGV4LXdyYXA6IHdyYXA7XHJcblx0XHQvLyBXYXMgdGhlIHdvcmRtYXJrJ3MgbWFyZ2luLXRvcC4gS2VwdCBhdCB0aGUgc2FtZSB2YWx1ZTogZGVsZXRpbmcgdGhlXHJcblx0XHQvLyBtYXJrIG90aGVyd2lzZSBkcm9wcGVkIHRoZSBzbWFsbCBwcmludCBzdHJhaWdodCBvbnRvIHRoZSBsaW5rIGNvbHVtbnMuXHJcblx0XHRtYXJnaW4tdG9wOiBjbGFtcCgycmVtLCA1dncsIDVyZW0pO1xyXG5cdFx0cGFkZGluZy1ibG9jazogc3AoNSk7XHJcblx0XHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tbGluZSk7XHJcblx0XHRmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vKTtcclxuXHRcdGZvbnQtc2l6ZTogLjY4cmVtO1xyXG5cdFx0bGV0dGVyLXNwYWNpbmc6IC4xZW07XHJcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdFx0Y29sb3I6IHZhcigtLWluay0zKTtcclxuXHR9XHJcblxyXG5cdC8vIFRoZSBsZWdhbCBsaW5rcywgYmV0d2VlbiB0aGUgY29weXJpZ2h0IGFuZCB0aGUgc3R1ZGlvIGNyZWRpdC4gSW5oZXJpdCB0aGVcclxuXHQvLyBzbWFsbC1wcmludCBjb2xvdXIgYW5kIG9ubHkgc3RlcCB1cCB0byAtLWluayBvbiBob3ZlcjogdGhyZWUgYWNjZW50IGxpbmtzXHJcblx0Ly8gaW4gYSByb3cgd291bGQgb3V0LXNob3V0IHRoZSBvbmUgY3JlZGl0IHRoYXQgaXMgbWVhbnQgdG8gYmUgYWNjZW50LlxyXG5cdCZfX2xlZ2FsIHtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRmbGV4LXdyYXA6IHdyYXA7XHJcblx0XHRnYXA6IHNwKDMpO1xyXG5cclxuXHRcdGEge1xyXG5cdFx0XHRjb2xvcjogaW5oZXJpdDtcclxuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG5cdFx0XHR0cmFuc2l0aW9uOiBjb2xvciB2YXIoLS1kdXItZmFzdCkgJGVhc2U7XHJcblxyXG5cdFx0XHQmOmhvdmVyLFxyXG5cdFx0XHQmOmZvY3VzLXZpc2libGUgeyBjb2xvcjogdmFyKC0taW5rKTsgfVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Ly8gVGhlIHN0dWRpbyBjcmVkaXQuIEFjY2VudCBzbyBpdCByZWFkcyBhcyBhIGxpbmsgYWdhaW5zdCB0aGUgLS1pbmstMyBzbWFsbFxyXG5cdC8vIHByaW50IGFyb3VuZCBpdCDigJQgYXQgdGhpcyBzaXplIGFuZCBsZXR0ZXItc3BhY2luZywgY29sb3VyIGlzIHRoZSBvbmx5XHJcblx0Ly8gYWZmb3JkYW5jZSB0aGF0IHJlZ2lzdGVyczsgYW4gdW5kZXJsaW5lIG9uIHVwcGVyY2FzZSBtb25vIGF0IC42OHJlbSBpc1xyXG5cdC8vIHZpc3VhbCBub2lzZS5cclxuXHQvL1xyXG5cdC8vIC0tYWNjZW50LWluayByYXRoZXIgdGhhbiAtLWFjY2VudDogdGhpcyBzaXRzIG9uIGEgZmxhdCBmb290ZXIgYmFuZCwgbm90IG9uXHJcblx0Ly8gYXJ0d29yaywgYW5kIGFjY2VudC1pbmsgaXMgdGhlIHRva2VuIHR1bmVkIGZvciBsZWdpYmlsaXR5IG9uIGEgcGxhaW5cclxuXHQvLyBiYWNrZ3JvdW5kIGluIGJvdGggdGhlbWVzLlxyXG5cdCZfX2J5IHtcclxuXHRcdGNvbG9yOiB2YXIoLS1hY2NlbnQtaW5rKTtcclxuXHRcdHRyYW5zaXRpb246IGNvbG9yIHZhcigtLWR1ci1mYXN0KSAkZWFzZTtcclxuXHJcblx0XHRAaW5jbHVkZSBjYW4taG92ZXIge1xyXG5cdFx0XHQmOmhvdmVyIHsgY29sb3I6IHZhcigtLWluayk7IH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi8vIOKUgOKUgCBTb2NpYWwgcm93IOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxyXG4uc29jaWFsIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGdhcDogc3AoMik7XHJcblx0bGlzdC1zdHlsZTogbm9uZTtcclxuXHJcblx0YSB7XHJcblx0XHRkaXNwbGF5OiBncmlkO1xyXG5cdFx0cGxhY2UtaXRlbXM6IGNlbnRlcjtcclxuXHRcdHdpZHRoOiA0MHB4O1xyXG5cdFx0aGVpZ2h0OiA0MHB4O1xyXG5cdFx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tbGluZSk7XHJcblx0XHRib3JkZXItcmFkaXVzOiA5OTlweDtcclxuXHRcdGNvbG9yOiB2YXIoLS1pbmstMik7XHJcblx0XHR0cmFuc2l0aW9uOiBjb2xvciB2YXIoLS1kdXItZmFzdCkgJGVhc2UsIGJvcmRlci1jb2xvciB2YXIoLS1kdXItZmFzdCkgJGVhc2UsXHJcblx0XHRcdFx0XHR0cmFuc2Zvcm0gdmFyKC0tZHVyLWZhc3QpICRlYXNlO1xyXG5cclxuXHRcdHN2ZyB7IHdpZHRoOiAxNXB4OyBoZWlnaHQ6IDE1cHg7IGZpbGw6IGN1cnJlbnRDb2xvcjsgfVxyXG5cclxuXHRcdCY6aG92ZXIge1xyXG5cdFx0XHRjb2xvcjogdmFyKC0tYWNjZW50LWluayk7XHJcblx0XHRcdGJvcmRlci1jb2xvcjogdmFyKC0tYWNjZW50KTtcclxuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0zcHgpO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLy8g4pSA4pSAIE5ld3NsZXR0ZXIg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXHJcbi8vXHJcbi8vIOKblCBSRU1PVkVEIDIwMjYtMDgtMTAuIFRoZXJlIHdhcyBhIGAuc3Vic2NyaWJlYCBibG9jayBoZXJlIOKAlCBhIGZvb3RlciBzaWdudXBcclxuLy8gZm9ybSB0aGF0IGZvb3Rlci5waHAgbmV2ZXIgcmVuZGVyZWQsIGxlZnQgYmVoaW5kIGZyb20gYW4gZWFybGllciBwYXNzLlxyXG4vL1xyXG4vLyBJdCB3YXMgbm90IGhhcm1sZXNzLiBUaGUgcmVhbCBuZXdzbGV0dGVyIHNlY3Rpb24gKF9uZXdzbGV0dGVyLnNjc3MpIHVzZXMgdGhlXHJcbi8vIHNhbWUgY2xhc3MgbmFtZSwgYW5kIGBmb290ZXJgIGlzIEB1c2UnZCBBRlRFUiBgbmV3c2xldHRlcmAgaW4gY29yZS5zY3NzIOKAlCBzb1xyXG4vLyB0aGlzIGRlYWQgcnVsZSdzIGBkaXNwbGF5OiBmbGV4YCBzaWxlbnRseSBiZWF0IHRoZSBsaXZlIHNlY3Rpb24nc1xyXG4vLyBgZGlzcGxheTogZ3JpZGAsIHdoaWNoIG1hZGUgZXZlcnkgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zIGRlY2xhcmF0aW9uIGluZXJ0LFxyXG4vLyBJTkNMVURJTkcgdGhlIG9uZSBpbnNpZGUgdGhlIG1vYmlsZSBtZWRpYSBxdWVyeS4gVGhlIHBhbmVsIHN0YXllZCB0d28gY29sdW1uc1xyXG4vLyBvbiBhIHBob25lIGFuZCB0aGUgZm9ybSBvdmVyZmxvd2VkIHRoZSBjYXJkLiBOb3RoaW5nIGVycm9yZWQ7IHRoZSBtZWRpYSBxdWVyeVxyXG4vLyB3YXMgcmlnaHQgdGhlcmUgaW4gdGhlIGNvbXBpbGVkIENTUywgbWF0Y2hpbmcsIGFuZCBkb2luZyBub3RoaW5nLlxyXG4vL1xyXG4vLyBJZiBhIGZvb3RlciBzaWdudXAgaXMgZXZlciB3YW50ZWQsIGl0IHJlbmRlcnMgc2lnX25ld3NsZXR0ZXJfc2VjdGlvbigpIG9yIGdldHNcclxuLy8gaXRzIG93biBjbGFzcyDigJQgbmV2ZXIgdGhpcyBuYW1lIGFnYWluLlxyXG4iXX0= */
