/*!
 * Bootstrap v4.5.0 (https://getbootstrap.com/)
 * Copyright 2011-2020 The Bootstrap Authors
 * Copyright 2011-2020 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 */
/*!
 *  Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome
 *  License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
 */
:root{--mainColor: hsl(190, 74%, 30%);--mainColor_h: 190;--mainColor_s: 74%;--mainColor_l: 30%;--secondaryColor: hsl(0, 0%, 98%);--secondaryColor_h: 0;--secondaryColor_s: 0%;--secondaryColor_l: 98%;--titleColor: hsl(0, 75%, 45%);--titleColor_h: 0;--titleColor_s: 75%;--titleColor_l: 45%;--textColor: hsl(345, 6%, 13%);--textColor_h: 345;--textColor_s: 6%;--textColor_l: 13%;--CTA: hsl(35, 94%, 55%);--CTA_h: 35;--CTA_s: 94%;--CTA_l: 55%;--mainFont: "Figtree", sans-serif;--secondaryFont: "Comic Neue", cursive;--h1-fs: 24px;--h2-fs: 32px;--h3-fs: 20px;--intro-fs: 20px;--table-font-size: 9px}@media (max-width:374px){:root{--table-font-size: 7px}}@media (min-width:768px) and (max-width:1024px){:root{--h1-fs: 26px;--h2-fs: 32px;--h3-fs: 20px;--table-font-size: 11px}}@media (min-width:1025px){:root{--h1-fs: 28px;--h2-fs: 26px;--h3-fs: 20px;--table-font-size: 11px}}:root{--container-max-width: calc(800px + 32px);--elements-flow: 10px;--default-radius: 16px}@media (max-width:374px){:root{--elements-flow: 8px}}@media (min-width:768px) and (max-width:1024px){:root{--elements-flow: 16px}}@media (min-width:1025px){:root{--elements-flow: 16px}}@media (max-width:767px){.nextStep{box-shadow:0 2px 4px rgba(0,0,0,.16)}}@media (min-width:768px) and (max-width:1024px){.nextStep{box-shadow:0 3px 6px rgba(0,0,0,.16)}}@media (min-width:1025px){.nextStep{box-shadow:0 3px 6px rgba(0,0,0,.16)}}a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,center,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,ins,kbd,label,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video{margin:0;padding:0;border:0;font:inherit;vertical-align:baseline}img{padding:0}img,sup{margin:0;font:inherit}fieldset,figure,form,legend{font:inherit;vertical-align:baseline}figure,form,sup{padding:0;border:0}legend{margin:0}:focus{outline:0}.vsl--brightcove #vslVideoThumb.vjs-controls-disabled .vjs-big-play-button,article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{min-height:100dvh;scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-family:var(--mainFont);font-size:16px;line-height:1.2;text-align:center;color:var(--textColor);display:flex;flex-direction:column}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:none}table{border-collapse:collapse;border-spacing:0}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration,input[type=search]::-webkit-search-results-button,input[type=search]::-webkit-search-results-decoration{-webkit-appearance:none;-moz-appearance:none}input[type=search]{-moz-appearance:none}audio,canvas,video{display:inline-block;*display:inline;*zoom:1;max-width:100%}audio:not([controls]){display:none;height:0}.vsl--brightcove .video--fullScreenInline .vjs-control-bar,[hidden]{display:none}html{font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}a:focus{outline:thin dotted}a:active,a:hover{outline:0}img{border:0;-ms-interpolation-mode:bicubic;vertical-align:middle}fieldset,legend{border:0;padding:0}fieldset,figure,form{margin:0}legend{white-space:normal;*margin-left:-7px}button,input,select{vertical-align:baseline}button,input,select,textarea{font-size:100%;margin:0;*vertical-align:middle}button,input{line-height:normal}button,select{text-transform:none}button{-webkit-appearance:button;*overflow:visible}html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer;*overflow:visible}button[disabled],html input[disabled]{cursor:default}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0;*height:13px;*width:13px}input[type=search]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0;margin:0}textarea{overflow:auto;vertical-align:top}html,input,select,textarea{color:#222}::-moz-selection{background:#b3d4fc;text-shadow:none}::selection{background:#b3d4fc;text-shadow:none}textarea{resize:vertical}.chromeframe{margin:.2em 0;background:#ccc;color:#000;padding:.2em 0}html{box-sizing:border-box}*,::after,::before{box-sizing:inherit}a,button{color:inherit;cursor:pointer}button{padding:0;background-color:transparent;border-width:0}.hidden,.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden!important}h1{font-size:var(--h1-fs);font-weight:700;color:var(--titleColor)}h1,h2,h3{line-height:1.2}h2{color:#fff;font-size:var(--h2-fs);font-weight:400}h2 small{display:block;margin-top:.25em;font-size:.8em;font-weight:300;color:hsl(calc(var(--textColor_h) - var(--textColor_h)),calc(var(--textColor_s) - var(--textColor_s)),calc(var(--textColor_l) + 42%))}h3,h4{margin-bottom:var(--elements-flow)}h3{font-size:var(--h3-fs);font-weight:700}h4{margin-top:calc(var(--elements-flow)*2)}p:not(:last-child){margin-bottom:var(--elements-flow)}b,strong{font-weight:600}em{font-style:italic}ol{padding-left:calc(var(--elements-flow)*2)}ol li+li{margin-top:calc(var(--elements-flow)/2)}br,ol{margin-bottom:var(--elements-flow)}a,a:active,a:hover{text-decoration:underline}@media (max-width:991px){a,a:active,a:hover{color:var(--textColor)}}sup{position:relative;top:-.5em;font-size:75%;line-height:0;vertical-align:baseline}@media (hover:hover) and (pointer:fine){[role=button]{cursor:pointer}}.btn{display:flex;justify-content:center;align-items:center;flex-basis:auto;margin:0 auto}.btn [disabled],.btn.disabled{pointer-events:none}.nextStep{align-self:center;width:100%;max-width:var(--max-cta-width);margin:0 auto;font-size:26px;font-weight:700;line-height:2.5;text-align:center;border:0;border-radius:50px;-webkit-animation:fadein 2s;animation:fadein 2s}.nextStep,.nextStep:hover{text-decoration:none;color:var(--textColor)}.nextStep.hidden{display:none;pointer-events:none}.nextStep--gradient{background-image:linear-gradient(to top,var(--CTA),hsl(var(--CTA_h),var(--CTA_s),calc(var(--CTA_l) + 20%)));border:1px solid #000}.nextStep--solid{background-color:var(--CTA)}.nextStep--white{color:#fff}.nextStep--black{color:#000}.icon{display:inline-block;width:1em;height:1em;margin:0;text-align:center;vertical-align:middle;font-size:1em;fill:inherit;color:inherit;box-sizing:content-box;pointer-events:none}@media (min-width:768px){body{background-color:var(--secondaryColor)}}main{display:flex;flex-direction:column}.icon,main>section{overflow:hidden}[class^=container]{width:100%;max-width:var(--container-max-width);margin-right:auto;margin-left:auto;padding-right:16px;padding-left:16px}.vsl--brightcove .video{overflow:hidden;position:relative;display:block;text-align:center}body.video--fullscreen .vsl--brightcove .video{display:flex;flex-direction:column;justify-content:center;max-width:100%;width:100%;max-height:100dvh;margin-top:0;background-color:#000;border-radius:0}.vsl--brightcove .video__placeholder{width:100%;opacity:0}.vsl--brightcove .video--fullScreenInline .vjs-controls-disabled .vjs-big-play-button{display:block;visibility:visible}@media (max-width:767px) and (orientation:portrait){.vsl--brightcove .video--fullScreenInline .bc-player-default_default.vjs-fluid.vjs-16-9:not(.vjs-audio-only-mode){padding-top:100%}}.vsl--brightcove .video .video-js{overflow:hidden;border-radius:var(--default-radius)}body.video--fullscreen .vsl--brightcove .video .video-js{border-radius:0}body.video--fullscreen .vsl--brightcove .video .video-js .vjs-tech{top:50%;max-height:100dvh;transform:translateY(-50%)}.vsl--brightcove .video .video-js .vjs-big-play-button{background-color:transparent;border:0}.vsl--brightcove .video .video-js.video-js--default{position:absolute;top:0;left:0;overflow:hidden}.vsl--brightcove .video .vjs-poster,.vsl--brightcove .video--square .vjs-poster{background-size:cover}.vsl--brightcove .video--square{max-width:480px;height:auto;margin-right:auto;margin-left:auto}.vsl--brightcove .video--square #vslVideo{padding-top:100%}.vsl--brightcove .video--fullscreen .vjs-control-bar,body.video--fullscreen .header{display:none}.vsl--brightcove .video--fullscreen .vjs-big-play-centered:not(.vjs-fullscreen){cursor:pointer}.vsl--brightcove .video.vsl--brightcove .video--bigPlayWithText{position:relative;text-align:center;box-shadow:0 0 80px 80px red}.vsl--brightcove .video.vsl--brightcove .video--bigPlayWithText__placeholder{width:100%;opacity:0}.vsl--brightcove .video.vsl--brightcove .video--bigPlayWithText .video-js .vjs-big-play-button{height:var(--size);width:var(--size);color:#000;font-size:13.3em;background-color:transparent;background-color:rgba(0,0,0,.56);border:0;border-radius:50%;top:50%;left:50%;margin-top:calc(var(--size)*-.5);margin-left:calc(var(--size)*-.5);transform:scale(1);animation:pulsing 1s infinite}@media (max-width:767px){.vsl--brightcove .video.vsl--brightcove .video--bigPlayWithText .video-js .vjs-big-play-button{--size: 130px;--sizeInner: 100px}}@media (min-width:768px) and (max-width:849px){.vsl--brightcove .video.vsl--brightcove .video--bigPlayWithText .video-js .vjs-big-play-button{--size: 250px;--sizeInner: 200px}}@media (min-width:850px){.vsl--brightcove .video.vsl--brightcove .video--bigPlayWithText .video-js .vjs-big-play-button{--size: 380px;--sizeInner: 300px}}.vsl--brightcove .video.vsl--brightcove .video--bigPlayWithText .video-js .vjs-big-play-button::before{content:"";position:absolute;height:var(--sizeInner);width:var(--sizeInner);display:block;border-radius:50%;background-color:#fff;top:calc((var(--sizeInner) - var(--size))/2*-1);left:calc((var(--sizeInner) - var(--size))/2*-1)}@media (max-width:849px){.vsl--brightcove .video.vsl--brightcove .video--bigPlayWithText .video-js .vjs-big-play-button::before{left:50%;top:50%;transform:translate(-50%,-50%)}}.vsl--brightcove .video.vsl--brightcove .video--bigPlayWithText .video-js .vjs-big-play-button::after{content:"CLICK HERE TO PLAY VIDEO";width:var(--width);height:60px;font-size:24px;line-height:1.2;position:absolute;display:block;top:70px;left:calc(50% - (var(--width)/2));color:#201f1f;text-shadow:0 3px 6px #00000080;font-weight:700}@media (max-width:767px){.vsl--brightcove .video.vsl--brightcove .video--bigPlayWithText .video-js .vjs-big-play-button::after{--width: 76px;font-size:10px;top:29px}}@media (min-width:768px) and (max-width:849px){.vsl--brightcove .video.vsl--brightcove .video--bigPlayWithText .video-js .vjs-big-play-button::after{--width: 115px;font-size:15px;top:41px}}@media (min-width:850px){.vsl--brightcove .video.vsl--brightcove .video--bigPlayWithText .video-js .vjs-big-play-button::after{--width: 185px}}.vsl--brightcove .video.vsl--brightcove .video--bigPlayWithText .video-js .vjs-big-play-button .vjs-icon-placeholder::after{content:"";position:absolute;width:var(--size);height:var(--size);display:block;transform:scaleX(-1) rotate(45deg);background:url(https://dtjlhiahlv53j.cloudfront.net/assets/nucific/biox4-vsl-page/d/arrow-right.svg) center/contain no-repeat}@media (max-width:767px){.vsl--brightcove .video.vsl--brightcove .video--bigPlayWithText .video-js .vjs-big-play-button .vjs-icon-placeholder::after{--size: 20px;top:55px;right:18px}}@media (min-width:768px) and (max-width:849px){.vsl--brightcove .video.vsl--brightcove .video--bigPlayWithText .video-js .vjs-big-play-button .vjs-icon-placeholder::after{--size: 36px;top:80px;right:45px}}@media (min-width:850px){.vsl--brightcove .video.vsl--brightcove .video--bigPlayWithText .video-js .vjs-big-play-button .vjs-icon-placeholder::after{--size: 70px;top:125px;right:60px}}.vsl--brightcove .video.vsl--brightcove .video--bigPlayWithText .video-js .vjs-big-play-button .vjs-icon-placeholder::before{display:block;content:""!important;background-color:#000;width:calc(var(--size)*2.3);height:calc(var(--size)*2.3)}@media (max-width:767px){.vsl--brightcove .video.vsl--brightcove .video--bigPlayWithText .video-js .vjs-big-play-button .vjs-icon-placeholder::before{--size: 39px;top:10px;left:54%;transform:translateX(-50%) scale(.4)}}@media (min-width:768px) and (max-width:849px){.vsl--brightcove .video.vsl--brightcove .video--bigPlayWithText .video-js .vjs-big-play-button .vjs-icon-placeholder::before{--size: 39px;top:50px;left:55%;transform:translate(-50%,-50%) scale(1)}}@media (min-width:850px){.vsl--brightcove .video.vsl--brightcove .video--bigPlayWithText .video-js .vjs-big-play-button .vjs-icon-placeholder::before{--size: 40px;top:10px;left:55%;transform:translateX(-50%) scale(1.2)}}.vsl--brightcove .video.vsl--brightcove .video--bigPlayWithText .video-js .vjs-big-play-button .vjs-icon-placeholder::before{color:#000;position:relative;font-size:200px}.vsl--vidalytics .video{overflow:hidden;position:relative;display:inline-block;width:100%;max-width:var(--maxVideo-w);text-align:center;border-radius:calc(var(--default-radius)*2)}body.video--fullscreen .vsl--vidalytics .video{max-width:100%;width:100%;max-height:100dvh;background-color:#000;border-radius:0}body.video--fullscreen .vsl--vidalytics .Tech__wrapper{max-height:100dvh}.vsl--vidalytics .Thumbnail__image--stretched{background-size:cover}.pp__header h1,.tc__header h1{color:var(--textColor)}.pp__header h1 small,.tc__header h1 small{display:block;margin-top:var(--elements-flow);font-size:80%;font-weight:700}.pp__header h1 b,.tc__header h1 b{font-weight:700}:root{--footer-logo-width: 98px;--footer-logo-height: .62222em;--footer-statement-font-size: 12px;--footer-legal-font-size: 14px;--footer-address-font-size: 14px}@media (max-width:374px){:root{--footer-legal-font-size: 12px;--footer-address-font-size: 12px}}@media (min-width:768px){:root{--footer-statement-font-size: 14px;--footer-legal-font-size: 16px;--footer-address-font-size: 16px}}.footer{position:relative;z-index:1;display:flex;padding-block:calc(var(--elements-flow)*4);color:#000;background-color:#fff}.footer [class^=container]{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:calc(var(--elements-flow)*2)}.footer__logo{display:flex;align-items:center;width:var(--footer-logo-width)}.footer--svg .footer__logo{font-size:var(--footer-logo-width)}.footer--img .footer__logo{width:55%}.footer__logo .icon{height:var(--footer-logo-height)}.footer__logo img,.header__logo img{width:100%}.footer__statement{font-size:var(--footer-statement-font-size);line-height:1.6}.footer__legal{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:var(--elements-flow);font-size:var(--footer-legal-font-size)}.footer__address{font-size:var(--footer-address-font-size);line-height:1.6}:root{--header-logo-width: 98px;--header-logo-height: .62222em}@media (min-width:768px){:root{--header-logo-width: 135px}}.header{display:flex;padding-block:15px;color:#fff;background-color:#fff}.header [class^=container]{display:flex;align-items:center;justify-content:center}.header__logo{display:flex;align-items:center;width:var(--header-logo-width)}.header--svg .header__logo{font-size:var(--header-logo-width)}.header--img .header__logo{width:55%}.header__logo .icon{height:var(--header-logo-height)}.pp{background-color:var(--secondaryColor)}.pp__header{display:flex;padding-block:15px;color:#fff;background-color:#fff;text-align:center}.pp__contentList{padding-block:calc(var(--elements-flow)*2);text-align:left;line-height:1.4}.pp__item:not(:last-child),.tc__item:not(:last-child){margin-bottom:calc(var(--elements-flow)*3)}.pp table{border-collapse:collapse;width:100%;margin-bottom:calc(var(--elements-flow)*2);font-size:var(--table-font-size);border:1px solid #000}.pp table td,.pp table tr{border:1px solid #000;vertical-align:middle}.pp table td{padding:.5em}.seenOn{padding-block:calc(var(--elements-flow)*4);background-color:var(--mainColor)}.seenOn__title{position:relative;margin-bottom:calc(var(--elements-flow)*2);z-index:1}.seenOn__title span{background-color:var(--mainColor);padding-inline:calc(var(--elements-flow)*2)}.seenOn__title:before{content:"";position:absolute;top:50%;left:50%;display:block;width:100%;height:2px;background-color:#fff;opacity:.5;transform:translate(-50%,-50%);z-index:-1}@media (min-width:768px){.seenOn__title:before{width:90%}}.seenOn__list{display:flex;justify-content:space-between;align-items:center;gap:calc(var(--elements-flow)/2)}@media (max-width:767px){.seenOn__list{flex-wrap:wrap;gap:calc(var(--elements-flow)*2)}.seenOn__item{flex:0 1 calc(50% - calc(var(--elements-flow)*2));width:calc(50% - calc(var(--elements-flow)*2))}}.seenOn__item img{max-width:100%;height:auto}.tc{background-color:var(--secondaryColor)}.tc__header{display:flex;padding-block:15px;color:#fff;background-color:#fff;text-align:center}.tc__contentList{padding-block:calc(var(--elements-flow)*2);text-align:left;line-height:1.4}:root{--vsl-radius: calc(var(--default-radius) * 2);--soundBanner-fs: 16px;--max-cta-width: 340px}@media (min-width:768px){:root{--soundBanner-fs: 20px}}.vsl{position:relative;padding-block:calc(var(--elements-flow)*2) calc(var(--elements-flow)*4);background-color:var(--secondaryColor)}body.video--fullscreen .vsl{padding-top:0}body.video--fullscreen .vsl [class^=container]{max-width:100%;padding-inline:0}.vsl__title{margin-bottom:calc(var(--elements-flow)*2)}.vsl__title--dynamic-title{display:flex;flex-direction:column}.vsl__title--dynamic-title b{display:block;margin-top:.5em;font-weight:300;color:var(--titleColor)}body.video--fullscreen .vsl__subtitle,body.video--fullscreen .vsl__title{display:none}.vsl__subtitle{margin-bottom:.83333em;text-align:center}.vsl .fadeIn,.vsl .fadeOut{animation-name:appear;animation-duration:.5s}.vsl .fadeOut{animation-name:disappear}.vsl .soundBanner{display:flex;justify-content:center;align-items:center;gap:var(--elements-flow);padding:calc(var(--elements-flow)*2) var(--elements-flow)}@media (min-width:768px){.vsl .soundBanner{gap:calc(var(--elements-flow)/1.5)}}.vsl .soundBanner__content{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:calc(var(--elements-flow)/2);margin:0}@media (min-width:768px){.vsl .soundBanner__content{flex-direction:row;gap:calc(var(--elements-flow)/4)}}.vsl .soundBanner__content,.vsl .soundBanner__content b{font-size:var(--soundBanner-fs);font-weight:700;line-height:1.2;color:#000;letter-spacing:normal}.vsl .soundBanner__content b{color:var(--titleColor)}.vsl .icon.icon--speaker{font-size:1.875em;color:var(--titleColor)}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFic3RyYWN0cy9za2lucy9fY29sb3JzLnNjc3MiLCJhYnN0cmFjdHMvc2tpbnMvX3R5cG9ncmFwaHkuc2NzcyIsImFic3RyYWN0cy9mdW5jdGlvbnMvX2luY2x1ZGUtbWVkaWEuc2NzcyIsImFic3RyYWN0cy92YXJpYWJsZXMvX3NwYWNpbmcuc2NzcyIsImFic3RyYWN0cy9wbGFjZWhvbGRlcnMvX3NoYWRvd3Muc2NzcyIsImJhc2UvX3Jlc2V0LnNjc3MiLCIuLi9jb21wb25lbnRzL19icmlnaHRjb3ZlL2luZGV4LnNjc3MiLCJiYXNlL19yZXNldC1leHRlbmRlZC5zY3NzIiwiYmFzZS9fdHlwb2dyYXBoeS5zY3NzIiwibGF5b3V0L19sYXlvdXQuc2NzcyIsImJhc2UvX2hlbHBlci1jbGFzc2VzLnNjc3MiLCJjb21wb25lbnRzL19idXR0b25zLnNjc3MiLCJjb21wb25lbnRzL19pY29ucy5zY3NzIiwiLi4vY29tcG9uZW50cy9oZWFkZXIvaW5kZXguc2NzcyIsIi4uL2NvbXBvbmVudHMvX3ZpZGFseXRpY3MvaW5kZXguc2NzcyIsIi4uL2NvbXBvbmVudHMvcHJpdmFjeS1wb2xpY3kvaW5kZXguc2NzcyIsIi4uL2NvbXBvbmVudHMvY29udGFjdC11cy9pbmRleC5zY3NzIiwiLi4vY29tcG9uZW50cy9mb290ZXIvX3ZhcmlhYmxlcy5zY3NzIiwiLi4vY29tcG9uZW50cy9mb290ZXIvaW5kZXguc2NzcyIsIi4uL2NvbXBvbmVudHMvaGVhZGVyL192YXJpYWJsZXMuc2NzcyIsIi4uL2NvbXBvbmVudHMvdGVybXMtYW5kLWNvbmRpdGlvbnMvaW5kZXguc2NzcyIsIi4uL2NvbXBvbmVudHMvc2Vlbk9uL2luZGV4LnNjc3MiLCIuLi9jb21wb25lbnRzL3ZzbFNlY3Rpb24vX3ZhcmlhYmxlcy5zY3NzIiwiLi4vY29tcG9uZW50cy92c2xTZWN0aW9uL2luZGV4LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUNBLEssQ0FDSSwrQixDQUNBLGtCLENBQ0Esa0IsQ0FDQSxrQixDQUVBLGlDLENBQ0EscUIsQ0FDQSxzQixDQUNBLHVCLENBRUEsOEIsQ0FDQSxpQixDQUNBLG1CLENBQ0EsbUIsQ0FFQSw4QixDQUNBLGtCLENBQ0EsaUIsQ0FDQSxrQixDQUVBLHdCLENBQ0EsVyxDQUNBLFksQ0FDQSxZLENDeEJBLGlDLENBQ0Esc0MsQ0FHQSxhLENBQ0EsYSxDQUNBLGEsQ0FDQSxnQixDQUNBLHNCLENDb2pCQSx5QkQ3akJKLEssQ0FZUSx3QixBQ2lqQkosZ0REN2pCSixLLENBZ0JRLGEsQ0FDQSxhLENBQ0EsYSxDQUNBLHlCLEFDMGlCSiwwQkQ3akJKLEssQ0F1QlEsYSxDQUNBLGEsQ0FDQSxhLENBQ0EseUJFekJSLEssQ0FFSSx5QyxDQUNBLHFCLENBQ0Esc0IsQ0R3akJBLHlCQzVqQkosSyxDQU9RLHNCLEFEcWpCSixnREM1akJKLEssQ0FXUSx1QixBRGlqQkosMEJDNWpCSixLLENBZVEsdUIsQUQ2aUJKLHlCRW5oQkosUyxDQUVRLHNDLEFGaWhCSixnREVuaEJKLFMsQ0FNUSxzQyxBRjZnQkosMEJFbmhCSixTLENBVVEsc0NDL0NSLEMsQ0FBQSxJLENBQUEsTyxDQUFBLE8sQ0FBQSxNLENBQUEsTyxDQUFBLEssQ0FBQSxLLENBQUEsQyxDQUFBLEcsQ0FBQSxVLENBQUEsSSxDQUFBLE0sQ0FBQSxPLENBQUEsTSxDQUFBLEksQ0FBQSxJLENBQUEsRSxDQUFBLEcsQ0FBQSxPLENBQUEsRyxDQUFBLEcsQ0FBQSxFLENBQUEsRSxDQUFBLEUsQ0FBQSxLLENBQUEsVSxDQUFBLE0sQ0FBQSxFLENBQUEsRSxDQUFBLEUsQ0FBQSxFLENBQUEsRSxDQUFBLEUsQ0FBQSxNLENBQUEsTSxDQUFBLEksQ0FBQSxDLENBQUEsTSxDQUFBLEcsQ0FBQSxHLENBQUEsSyxDQUFBLEUsQ0FBQSxJLENBQUEsSSxDQUFBLEcsQ0FBQSxNLENBQUEsRSxDQUFBLE0sQ0FBQSxDLENBQUEsRyxDQUFBLEMsQ0FBQSxJLENBQUEsQyxDQUFBLEksQ0FBQSxPLENBQUEsSyxDQUFBLEksQ0FBQSxNLENBQUEsTSxDQUFBLEcsQ0FBQSxPLENBQUEsSyxDQUFBLEssQ0FBQSxFLENBQUEsSyxDQUFBLEUsQ0FBQSxLLENBQUEsSSxDQUFBLEUsQ0FBQSxFLENBQUEsQyxDQUFBLEUsQ0FBQSxHLENBQUEsSyxDQWFFLFEsQ0FDRCxTLENBQ0EsUSxDQUVBLFksQ0FDQSx1QixDQWxCRCxHLENBY0MsUyxDQWRELEcsQ0FBQSxHLENBYUUsUSxDQUlELFksQ0FqQkQsUSxDQUFBLE0sQ0FBQSxJLENBQUEsTSxDQWlCQyxZLENBQ0EsdUIsQ0FsQkQsTSxDQUFBLEksQ0FBQSxHLENBY0MsUyxDQUNBLFEsQ0FmRCxNLENBYUUsUSxDQVNGLE0sQ0FDSSxTLENDa1BBLDBFLENEOU9KLE8sQ0FBQSxLLENBQUEsTyxDQUFBLFUsQ0FBQSxNLENBQUEsTSxDQUFBLE0sQ0FBQSxNLENBQUEsSSxDQUFBLEcsQ0FBQSxPLENBRUMsYSxDQUdELEksQ0V2QkksaUIsQ0FDQSxzQixDQUF5QixrQyxDQUFxQyxpQyxDQUU5RCxpQyxDQ2ZBLDJCLENBQ0EsYyxDQUNBLGUsQ0FDQSxpQixDQUNBLHNCLENDTEEsWSxDQUNBLHFCLENKdUNKLEUsQ0FBQSxFLENBQ0MsZSxDQUdELFUsQ0FBQSxDLENBQ0MsVyxDQUdELGdCLENBQUEsaUIsQ0FBQSxPLENBQUEsUSxDQUdDLFksQ0FHRCxLLENBNFFJLHdCLENBQ0EsZ0IsQ0F4UUosZ0QsQ0FBQSw2QyxDQUFBLGlELENBQUEscUQsQ0FJSSx1QixDQUNBLG9CLENBR0osa0IsQ0FFSSxvQixDQWdCSixLLENBQUEsTSxDQUFBLEssQ0FHSSxvQixDQUNBLGUsQ0FDQSxPLENBQ0EsYyxDQVFKLFVBQUEsVyxDQUNJLFksQ0FDQSxRLENDckVRLDBELENENkVaLFEsQ0FDSSxZLENBVUosSSxDQUNJLGMsQ0FDQSw2QixDQUNBLHlCLENBT0osTyxDQUNJLG1CLENBT0osUSxDQUFBLE8sQ0FFSSxTLENBUUosRyxDQUNJLFEsQ0FDQSw4QixDQW9NQSxxQixDQTdLSixRLENBWUEsTSxDQUNJLFEsQ0FDQSxTLENBZEosUSxDQWhCQSxNLENBUUEsSSxDQTBMSSxRLENBdEtKLE0sQ0FHSSxrQixDQUNBLGlCLENBVUosTSxDQUFBLEssQ0FBQSxNLENBTUksdUIsQ0FOSixNLENBQUEsSyxDQUFBLE0sQ0FBQSxRLENBSUksYyxDQUNBLFEsQ0FFQSxzQixDQVFKLE0sQ0FBQSxLLENBRUksa0IsQ0FVSixNLENBQUEsTSxDQUVJLG1CLENBYUosTSxDQUlJLHlCLENBRUEsaUIsQ0FOSix1QixDQUFBLGlCLENBQUEsa0IsQ0FJSSx5QixDQUNBLGMsQ0FDQSxpQixDQU9KLGdCLENBQUEsb0IsQ0FFSSxjLENBVUosb0IsQ0FBQSxpQixDQUVJLHFCLENBQ0EsUyxDQUNBLFksQ0FDQSxXLENBU0osa0IsQ0FDSSw0QixDQUNBLDJCLENBQ0EsOEIsQ0FDQSxzQixDQVFKLGdELENBQUEsNkMsQ0FFSSx1QixDQU9KLHdCLENBQUEsdUIsQ0FFSSxRLENBQ0EsUyxDRW5Sc0IsUSxDRjJSMUIsUSxDQUNJLGEsQ0FDQSxrQixDQVlKLEksQ0FBQSxLLENBQUEsTSxDQWRBLFEsQ0FtQkksVSxDQUlKLGdCLENBQ0ksa0IsQ0FDQSxnQixDQUdKLFcsQ0FDSSxrQixDQUNBLGdCLENBYUosUSxDQUNJLGUsQ0FHSixZLENBQ0ksYSxDQUNBLGUsQ0FDQSxVLENBQ0EsYyxDRXpXSixJLENBQ0kscUIsQ0FJSixDLENBQUEsTyxDQUFBLFEsQ0FFVyxrQixDQVdYLEMsQ0FFQSxNLENBRjJCLGEsQ0FBZ0IsYyxDQUUzQyxNLENBQ0ksUyxDQUNBLDRCLENBQStDLGMsQ0d6Qm5ELE8sQ0FBQSxLLENBQ0ksc0IsQ0FHSixLLENBQ0ksdUIsQ0FHSixVLENBQ0ksMkIsQ0ZBSixFLENBQ0ksc0IsQ0FDQSxlLENBQ0EsdUIsQ0FISixFLENBT0EsRSxDQWVBLEUsQ0FJSSxlLENBbkJKLEUsQ0FJSSxVLENBSEEsc0IsQ0FDQSxlLENBSUEsUSxDQUNJLGEsQ0FDQSxnQixDQUNBLGMsQ0FDQSxlLENBQ0EscUksQ0FJUixFLENBT0EsRSxDQUVJLGtDLENBVEosRSxDQUVJLHNCLENBQ0EsZSxDQUlKLEUsQ0FDSSx1QyxDQUlKLE1BQUEsWSxDQUNJLGtDLENBR0osQyxDQUFBLE0sQ0FDSSxlLENBR0osRSxDQUNJLGlCLENBR0osRSxDQUVJLHlDLENBRUEsUSxDQUNJLHVDLENBSVIsRSxDQVRBLEUsQ0FVSSxrQyxDQUlBLEMsQ0FBQSxRLENBQUEsTyxDQUdJLHlCLENOcWZKLHlCTXhmQSxDLENBQUEsUSxDQUFBLE8sQ0FNUSx3QkFLWixHLENBQ0ksaUIsQ0FDQSxTLENBQ0EsYSxDQUNBLGEsQ0FDQSx1QixDTndlQSx3Q1M1akJKLGEsQ0FFUSxnQkFJUixJLENBQ0ksWSxDQUFlLHNCLENBQXlCLGtCLENBQXFCLGUsQ0FBa0IsYSxDQUUvRSxlLENBQUEsYSxDQUNJLG1CLENBTVIsUyxDQUVJLGlCLENBQ0EsVSxDQUNBLDhCLENBQ0EsYSxDQUNBLGMsQ0FDQSxlLENBQ0EsZSxDQUNBLGlCLENBQ0EsUSxDQUNBLGtCLENBQ0EsMkIsQ0FDQSxtQixDQWJKLFMsQ0FlSSxlLENBRUksb0IsQ0FDQSxzQixDQUdKLGdCLENBQ0ksWSxDQUNBLG1CLENBR0osbUIsQ0FDSSwyRyxDQUNBLHFCLENBR0osZ0IsQ0FDSSwyQixDQUdKLGdCLENBQ0ksVSxDQUdKLGdCLENBQ0ksVSxDQ3hEUixLLENBQ3NCLG9CLENBQXVCLFMsQ0FBWSxVLENBQWEsUSxDQUNsRSxpQixDQUFvQixxQixDQUF3QixhLENBQzVDLFksQ0FDQSxhLENBQ0Esc0IsQ0FBeUIsbUIsQ1Z1akJ6Qix5Qk83akJKLEksQ0FLUSx3Q0FJUixJLENBQ0ksWSxDQUNBLHFCLENHVkosSyxDSGFBLFksQ0FDSSxlLENBR0osa0IsQ0FDSSxVLENBQ0Esb0MsQ0FDQSxpQixDQUNBLGdCLENBQ0Esa0IsQ0FDQSxpQixDSHJCQSx1QixDQUNJLGUsQ0FDQSxpQixDQUNBLGEsQ0FDQSxpQixDQUVBLDhDLENBQ0ksWSxDQUNBLHFCLENBQ0Esc0IsQ0FFQSxjLENBQ0EsVSxDQUNBLGlCLENBQ0EsWSxDQUNBLHFCLENBQ0EsZSxDQUdKLG9DLENBQ0ksVSxDQUNBLFMsQ0FJQSxxRixDQUNJLGEsQ0FDQSxrQixDSitoQlosb0RJdmhCWSw0RkFBQSxxQixDQUNJLGtCQUtaLGlDLENBQ0ksZSxDQUNBLG1DLENBRUEsd0QsQ0FDSSxlLENBSUEsa0UsQ0FDSSxPLENBQ0EsaUIsQ0FDQSwwQixDQUlSLHNELENBQ0ksNEIsQ0FDQSxRLENBR0osbUQsQ0FDSSxpQixDQUNBLEssQ0FDQSxNLENBQ0EsZSxDQUlSLG1DLENBY0ksMkMsQ0FiQSxxQixDQUdKLCtCLENBQ0ksZSxDQUNBLFcsQ0FDQSxpQixDQUNBLGdCLENBRUEseUMsQ0FDSSxnQixDQVNKLG9ELENPekRSLDhCLENQMERZLFksQ0FHSiwrREFBQSxnQixDQUNJLGMsQ0FJUiwrRCxDQUNJLGlCLENBQ0EsaUIsQ0FDQSw0QixDQUVBLDRFLENBQ0ksVSxDQUNBLFMsQ0FJQSw4RixDQUNJLGtCLENBQ0EsaUIsQ0FDQSxVLENBQ0EsZ0IsQ0FDQSw0QixDQUVBLGdDLENBQ0EsUSxDQUNBLGlCLENBQ0EsTyxDQUNBLFEsQ0FDQSxnQyxDQUNBLGlDLENBQ0Esa0IsQ0FDQSw2QixDSjZiaEIseUJJNWNZLDhGLENBa0JRLGEsQ0FDQSxvQixBSnlicEIsK0NJNWNZLDhGLENBdUJRLGEsQ0FDQSxvQixBSm9icEIseUJJNWNZLDhGLENBNEJRLGEsQ0FDQSxvQkFHSixzRyxDQUNJLFUsQ0FDQSxpQixDQUNBLHVCLENBQ0Esc0IsQ0FDQSxhLENBQ0EsaUIsQ0FDQSxxQixDQUNBLCtDLENBQ0EsZ0QsQ0ptYXBCLHlCSTVhZ0Isc0csQ0FZUSxRLENBQ0EsTyxDQUNBLGdDQUlSLHFHLENBQ0ksa0MsQ0FFQSxrQixDQUNBLFcsQ0FDQSxjLENBQ0EsZSxDQUNBLGlCLENBQ0EsYSxDQUNBLFEsQ0FDQSxpQyxDQUNBLGEsQ0FDQSwrQixDQUNBLGUsQ0o2WXBCLHlCSTFaZ0IscUcsQ0FnQlEsYSxDQUNBLGMsQ0FDQSxVLEFKd1l4QiwrQ0kxWmdCLHFHLENBc0JRLGMsQ0FDQSxjLENBQ0EsVSxBSmtZeEIseUJJMVpnQixxRyxDQTRCUSxnQkFLSiwySCxDQUNJLFUsQ0FDQSxpQixDQUNBLGlCLENBQ0Esa0IsQ0FDQSxhLENBR0Esa0MsQ0FDQSw2SCxDSmdYeEIseUJJelhvQiwySCxDQVlRLFksQ0FDQSxRLENBQ0EsWSxBSjJXNUIsK0NJelhvQiwySCxDQWtCUSxZLENBQ0EsUSxDQUNBLFksQUpxVzVCLHlCSXpYb0IsMkgsQ0F3QlEsWSxDQUNBLFMsQ0FDQSxZQUlSLDRILENBQ0ksYSxDQUNBLG9CLENBQ0EscUIsQ0FHQSwyQixDQUNBLDRCLENKb1Z4Qix5QkkzVm9CLDRILENBVVEsWSxDQUNBLFEsQ0FDQSxRLENBQ0Esc0MsQUo4VTVCLCtDSTNWb0IsNEgsQ0FpQlEsWSxDQUNBLFEsQ0FDQSxRLENBQ0EseUMsQUp1VTVCLHlCSTNWb0IsNEgsQ0F3QlEsWSxDQUNBLFEsQ0FDQSxRLENBQ0EsdUNBTVIsNEgsQ0FDSSxVLENBQ0EsaUIsQ0FDQSxlLENRblF4Qix1QixDQUNJLGUsQ0FDQSxpQixDQUNBLG9CLENBQ0EsVSxDQUNBLDJCLENBQ0EsaUIsQ0FDQSwyQyxDQUVBLDhDLENBQ0ksYyxDQUNBLFUsQ0FDQSxpQixDQUNBLHFCLENBQ0EsZSxDQUtKLHNELENBQ0ksaUIsQ0FJUiw2QyxDQUNJLHFCLENDbEJBLGMsQ0NBQSxjLENBQ0ksc0IsQ0RJQSxvQixDQ0FBLG9CLENBQ0ksYSxDQUNBLCtCLENBQ0EsYSxDQUNBLGUsQ0RHSixnQixDQ0FBLGdCLENBQ0ksZSxDQ3ZCaEIsSyxDQUNJLHlCLENBQ0EsOEIsQ0FDQSxrQyxDQUNBLDhCLENBQ0EsZ0MsQ2Z3akJBLHlCZTdqQkosSyxDQVFRLDhCLENBQ0Esa0MsQWZvakJKLHlCZTdqQkosSyxDQWFRLGtDLENBQ0EsOEIsQ0FDQSxrQ0NiUixPLENBQ0ksaUIsQ0FDQSxTLENBQ0EsWSxDQUNBLDBDLENBQ0EsVSxDQUNBLHFCLENBRUEsMEIsQ0FDSSxZLENBQ0Esa0IsQ0FDQSxzQixDQUNBLHFCLENBQ0EsZ0MsQ0FHSixhLENBQ0ksWSxDQUNBLGtCLENBQ0EsOEIsQ0FFQSwwQixDQUNJLGtDLENBR0osMEIsQ0FDSSxTLENBR0osbUIsQ0FDSSxnQyxDQUdKLGlCLENMSkEsaUIsQ0tLSSxVLENBSVIsa0IsQ0FDSSwyQyxDQUNBLGUsQ0FHSixjLENBQ0ksWSxDQUNBLGMsQ0FDQSxrQixDQUNBLHNCLENBQ0Esd0IsQ0FDQSx1QyxDQUdKLGdCLENBQ0kseUMsQ0FDQSxlLENDeERSLEssQ0FDSSx5QixDQUNBLDhCLENqQjJqQkEseUJpQjdqQkosSyxDQUtRLDRCTkhSLE8sQ0FDSSxZLENBQ0Esa0IsQ0FDQSxVLENBQ0EscUIsQ0FFQSwwQixDQUNJLFksQ0FDQSxrQixDQUNBLHNCLENBR0osYSxDQUNJLFksQ0FDQSxrQixDQUNBLDhCLENBRUEsMEIsQ0FDSSxrQyxDQUdKLDBCLENBQ0ksUyxDQUdKLG1CLENBQ0ksZ0MsQ0U1QlosRyxDQUNJLHNDLENBRUEsVyxDQUNJLFksQ0FDQSxrQixDQUNBLFUsQ0FDQSxxQixDQUNBLGlCLENBb0JKLGdCLENBQ0ksMEMsQ0FDQSxlLENBQ0EsZSxDQUdKLGNBQUEsWSxDS0FBLGNBQUEsWSxDTENJLDBDLENBR0osUyxDQUNJLHdCLENBQ0EsVSxDQUNBLDBDLENBQ0EsZ0MsQ0FDQSxxQixDQUVBLFksQ0FBQSxZLENBQ0kscUIsQ0FDQSxxQixDQUdKLFksQ0FDSSxZLENNbkRaLE8sQ0FDSSwwQyxDQUNBLGlDLENBRUEsYyxDQUNJLGlCLENBQ0EsMEMsQ0FDQSxTLENBRUEsbUIsQ0FDSSxpQyxDQUNBLDJDLENBR0oscUIsQ0FDSSxVLENBQ0EsaUIsQ0FDQSxPLENBQ0EsUSxDQUNBLGEsQ0FDQSxVLENBQ0EsVSxDQUNBLHFCLENBQ0EsVSxDQUNBLDhCLENBQ0EsVSxDbkJvaUJSLHlCbUIvaUJJLHFCLENBY1EsV0FLWixhLENBQ0ksWSxDQUNBLDZCLENBQ0Esa0IsQ0FDQSxnQyxDbkJ3aEJKLHlCbUI1aEJBLGEsQ0FPUSxjLENBQ0EsZ0MsQ0FJUixhLENBRVEsaUQsQ0FDQSxnREFHSixpQixDQUNJLGMsQ0FDQSxXLENEckRaLEcsQ0FDSSxzQyxDQUVBLFcsQ0FDSSxZLENBQ0Esa0IsQ0FDQSxVLENBQ0EscUIsQ0FDQSxpQixDQW9CSixnQixDQUNJLDBDLENBQ0EsZSxDQUNBLGUsQ0UvQlIsSyxDQUNJLDZDLENBRUEsc0IsQ0FFQSxzQixDcEJ3akJBLHlCb0I3akJKLEssQ0FRUSx3QkNOUixJLENBQ0ksaUIsQ0FDQSx1RSxDQUNBLHNDLENBRUEsMkIsQ0FDSSxhLENBSUEsOEMsQ0FDSSxjLENBQ0EsZ0IsQ0FJUixXLENBQ0ksMEMsQ0FFQSwwQixDQUNJLFksQ0FDQSxxQixDQUVBLDRCLENBQ0ksYSxDQUNBLGUsQ0FDQSxlLENBQ0EsdUIsQ0FhUixxQyxDQVRBLGtDLENBQ0ksWSxDQUlSLGMsQ0FDSSxzQixDQUNBLGlCLENBT0osWSxDQUtBLGEsQ0FKSSxxQixDQUNBLHNCLENBR0osYSxDQUNJLHdCLENBSUosaUIsQ0FDSSxZLENBQ0Esc0IsQ0FDQSxrQixDQUNBLHdCLENBQ0EseUQsQ3JCK2ZKLHlCcUJwZ0JBLGlCLENBUVEsb0NBSVIsMEIsQ0FDSSxZLENBQ0EscUIsQ0FDQSxzQixDQUNBLHNCLENBQ0EsZ0MsQ0FDQSxRLENyQmtmSix5QnFCeGZBLDBCLENBU1Esa0IsQ0FDQSxrQ0FJUiwwQixDQUFBLDRCLENBRUksK0IsQ0FDQSxlLENBQ0EsZSxDQUNBLFUsQ0FDQSxxQixDQUdKLDRCLENBQ0ksdUIsQ0FHSix3QixDQUNJLGlCLENBQ0EsdUIiLCJmaWxlIjoic3R5bGUuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLy8tIHYwMlxuOnJvb3Qge1xuICAgIC0tbWFpbkNvbG9yOiAgICAgICAgaHNsKDE5MCwgNzQlLCAzMCUpO1xuICAgIC0tbWFpbkNvbG9yX2g6ICAgICAgMTkwO1xuICAgIC0tbWFpbkNvbG9yX3M6ICAgICAgNzQlO1xuICAgIC0tbWFpbkNvbG9yX2w6ICAgICAgMzAlO1xuICAgIFxuICAgIC0tc2Vjb25kYXJ5Q29sb3I6ICBoc2woMCwgMCUsIDk4JSk7XG4gICAgLS1zZWNvbmRhcnlDb2xvcl9oOiAgMDtcbiAgICAtLXNlY29uZGFyeUNvbG9yX3M6ICAwJTtcbiAgICAtLXNlY29uZGFyeUNvbG9yX2w6ICA5OCU7XG5cbiAgICAtLXRpdGxlQ29sb3I6ICAgICAgaHNsKDAsIDc1JSwgNDUlKTtcbiAgICAtLXRpdGxlQ29sb3JfaDogICAgICAwO1xuICAgIC0tdGl0bGVDb2xvcl9zOiAgICAgIDc1JTtcbiAgICAtLXRpdGxlQ29sb3JfbDogICAgICA0NSU7XG5cbiAgICAtLXRleHRDb2xvcjogICAgICAgICAgaHNsKDM0NSwgNiUsIDEzJSk7XG4gICAgLS10ZXh0Q29sb3JfaDogICAgICAgICAgMzQ1O1xuICAgIC0tdGV4dENvbG9yX3M6ICAgICAgICAgIDYlO1xuICAgIC0tdGV4dENvbG9yX2w6ICAgICAgICAgIDEzJTtcbiAgICBcbiAgICAtLUNUQTogICAgICAgICAgICAgICAgaHNsKDM1LCA5NCUsIDU1JSk7XG4gICAgLS1DVEFfaDogICAgICAgICAgICAgICAgMzU7XG4gICAgLS1DVEFfczogICAgICAgICAgICAgICAgOTQlO1xuICAgIC0tQ1RBX2w6ICAgICAgICAgICAgICAgIDU1JTtcbn1cblxuJHdoaXRlOiAgICAgICAgICAgICAgICAgICAgICNmZmY7XG4kZ3Jhbml0ZS1ncmV5OiAgICAgICAgICAgICAgIzYyNWU1ZDtcbiRjbGF5LWJyb3duOiAgICAgICAgICAgICAgICAjYmE3YzNiO1xuJHdhcm0tZ3JleTogICAgICAgICAgICAgICAgICM3MDcwNzA7XG5cbi8vLSBhcHBseSBjb2xvcnNcbiRtYWluQ29sb3I6ICAgICAgICAgICAgICAgICAgICAgdmFyKC0tbWFpbkNvbG9yKTsgLy9oc2woMTkwLCA3NCUsIDMwJSlcbiRtYWluQ29sb3JMaWdodDogICAgICAgICAgICAgICAgaHNsKCBjYWxjKCB2YXIoLS1tYWluQ29sb3JfaCkgKyAxICksIGNhbGMoIHZhcigtLW1haW5Db2xvcl9zKSAtIDQzJSApLCBjYWxjKCB2YXIoLS1tYWluQ29sb3JfbCkgKyA2MyUgKSApO1xuJG1haW5Db2xvck9wYWNpdHk6ICAgICAgICAgICAgICBoc2xhKHZhcigtLW1haW5Db2xvcl9oKSwgdmFyKC0tbWFpbkNvbG9yX3MpLCB2YXIoLS1tYWluQ29sb3JfbCksIC4zICk7XG4kbWFpbkNvbG9yTGlnaHRPcGFjaXR5OiAgICAgICAgIGhzbGEoY2FsYyggdmFyKC0tbWFpbkNvbG9yX2gpICsgMSApLCBjYWxjKCB2YXIoLS1tYWluQ29sb3JfcykgLSA0MyUgKSwgY2FsYyggdmFyKC0tbWFpbkNvbG9yX2wpICsgNjMlICksIC44ICk7XG5cbiRzZWNvbmRhcnlDb2xvcjogICAgICAgICAgICAgICAgdmFyKC0tc2Vjb25kYXJ5Q29sb3IpO1xuJHNlY29uZGFyeUNvbG9yT3BhY2l0eTogICAgICAgICBoc2xhKHZhcigtLXNlY29uZGFyeUNvbG9yX2gpLCB2YXIoLS1zZWNvbmRhcnlDb2xvcl9zKSwgdmFyKC0tc2Vjb25kYXJ5Q29sb3JfbCksIC45NSApO1xuXG4kdGl0bGVDb2xvcjogICAgICAgICAgICAgICAgICAgIHZhcigtLXRpdGxlQ29sb3IpO1xuJHRleHRDb2xvcjogICAgICAgICAgICAgICAgICAgICB2YXIoLS10ZXh0Q29sb3IpO1xuJHRleHRDb2xvckxpZ2h0OiAgICAgICAgICAgICAgICBoc2woIGNhbGMoIHZhcigtLXRleHRDb2xvcl9oKSAtIHZhcigtLXRleHRDb2xvcl9oKSApLCBjYWxjKCB2YXIoLS10ZXh0Q29sb3JfcykgLSB2YXIoLS10ZXh0Q29sb3JfcykgKSwgY2FsYyggdmFyKC0tdGV4dENvbG9yX2wpICsgNDIlICkgKTtcblxuJGhpZ2hsaWdodEJnQ29sb3I6ICAgICAgICAgICAgICBoc2woIGNhbGMoIHZhcigtLXRlcnRpYXJ5Q29sb3JfaCkgKyAxICksIHZhcigtLXRlcnRpYXJ5Q29sb3JfcykgLCBjYWxjKCB2YXIoLS10ZXJ0aWFyeUNvbG9yX2wpICsgMjMlICkgKTtcblxuJGJ1dHRvbkNvbG9yU3RhcnQ6ICAgICAgICAgICAgICB2YXIoLS1DVEEpO1xuJGJ1dHRvbkNvbG9yRW5kOiAgICAgICAgICAgICAgICBoc2wodmFyKC0tQ1RBX2gpLCB2YXIoLS1DVEFfcyksIGNhbGMoIHZhcigtLUNUQV9sKSArIDIwJSApICk7IC8vLSBoc2woMTIwLCAxMDAlLCA0MCUpXG4kYnV0dG9uR3JhZGllbnQ6ICAgICAgICAgICAgICAgIGxpbmVhci1ncmFkaWVudCh0byB0b3AsICRidXR0b25Db2xvclN0YXJ0LCAkYnV0dG9uQ29sb3JFbmQpO1xuJGJ1dHRvbkNvbG9yOiAgICAgICAgICAgICAgICAgICB2YXIoLS1DVEEpO1xuXG4kaGVhZGVyQ29sb3I6ICAgICAgICAgICAgICAgICAgICR0aXRsZUNvbG9yO1xuJGJnQ29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGU7XG4kYmdDb2xvck9wYWNpdHk6ICAgICAgICAgICAgICAgICByZ2JhKCR3aGl0ZSwgLjkpO1xuXG4kbWFpblNoYWRvdzogICAgICAgICAgICAgICAgICAgIDAgNXB4IDVweCAwICNjYWM5Yzk7XG4kYnV0dG9uVGV4dFNoYWRvdzogICAgICAgICAgICAgICRjbGF5LWJyb3duO1xuJGJ1dHRvblRleHRTaGFkb3dEaXNhYmxlZDogICAgICAkd2FybS1ncmV5O1xuXG4kYm94U2hhZG93OiAgICAgICAgICByZ2JhKGJsYWNrLCAuMTYpOyIsIjpyb290IHtcclxuICAgIC0tbWFpbkZvbnQ6IFwiRmlndHJlZVwiLCBzYW5zLXNlcmlmO1xyXG4gICAgLS1zZWNvbmRhcnlGb250OiAnQ29taWMgTmV1ZScsIGN1cnNpdmU7XHJcblxyXG4gICAgLy8tIFR5cG9ncmFwaHlcclxuICAgIC0taDEtZnM6IDI0cHg7XHJcbiAgICAtLWgyLWZzOiAzMnB4O1xyXG4gICAgLS1oMy1mczogMjBweDtcclxuICAgIC0taW50cm8tZnM6IDIwcHg7XHJcbiAgICAtLXRhYmxlLWZvbnQtc2l6ZTogOXB4O1xyXG4gICAgXHJcbiAgICBAaW5jbHVkZSBtZWRpYShcIjxtb2JpbGVcIikge1xyXG4gICAgICAgIC0tdGFibGUtZm9udC1zaXplOiA3cHg7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiLCBcIjxkZXNrdG9wXCIpIHtcclxuICAgICAgICAtLWgxLWZzOiAyNnB4O1xyXG4gICAgICAgIC0taDItZnM6IDMycHg7XHJcbiAgICAgICAgLS1oMy1mczogMjBweDtcclxuICAgICAgICAtLXRhYmxlLWZvbnQtc2l6ZTogMTFweDtcclxuICAgIH1cclxuICAgIFxyXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PWRlc2t0b3BcIikge1xyXG4gICAgICAgIC0taDEtZnM6IDI4cHg7XHJcbiAgICAgICAgLS1oMi1mczogMjZweDtcclxuICAgICAgICAtLWgzLWZzOiAyMHB4OyAgXHJcbiAgICAgICAgLS10YWJsZS1mb250LXNpemU6IDExcHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbiRtYWluRm9udDogdmFyKC0tbWFpbkZvbnQpO1xyXG4kc2Vjb25kYXJ5Rm9udDogdmFyKC0tc2Vjb25kYXJ5Rm9udCk7IiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xyXG5cclxuLy8gICAgIF8gICAgICAgICAgICBfICAgICAgICAgICBfICAgICAgICAgICAgICAgICAgICAgICAgICAgXyBfXHJcbi8vICAgIChfKSAgICAgICAgICB8IHwgICAgICAgICB8IHwgICAgICAgICAgICAgICAgICAgICAgICAgfCAoXylcclxuLy8gICAgIF8gXyBfXyAgIF9fX3wgfF8gICBfICBfX3wgfCBfX18gICBfIF9fIF9fXyAgIF9fXyAgX198IHxfICBfXyBfXHJcbi8vICAgIHwgfCAnXyBcXCAvIF9ffCB8IHwgfCB8LyBfYCB8LyBfIFxcIHwgJ18gYCBfIFxcIC8gXyBcXC8gX2AgfCB8LyBfYCB8XHJcbi8vICAgIHwgfCB8IHwgfCAoX198IHwgfF98IHwgKF98IHwgIF9fLyB8IHwgfCB8IHwgfCAgX18vIChffCB8IHwgKF98IHxcclxuLy8gICAgfF98X3wgfF98XFxfX198X3xcXF9fLF98XFxfXyxffFxcX19ffCB8X3wgfF98IHxffFxcX19ffFxcX18sX3xffFxcX18sX3xcclxuLy9cclxuLy8gICAgICBTaW1wbGUsIGVsZWdhbnQgYW5kIG1haW50YWluYWJsZSBtZWRpYSBxdWVyaWVzIGluIFNhc3NcclxuLy8gICAgICAgICAgICAgICAgICAgICAgICB2MS40LjlcclxuLy9cclxuLy8gICAgICAgIGh0dHBzOi8vZWR1YXJkb2JvdWNhcy5naXRodWIuaW8vaW5jbHVkZS1tZWRpYVxyXG4vL1xyXG4vLyAgICAgICAgIEF1dGhvcnM6IEVkdWFyZG8gQm91Y2FzIChAZWR1YXJkb2JvdWNhcylcclxuLy8gICAgICAgICAgICAgICAgICBIdWdvIEdpcmF1ZGVsIChAaHVnb2dpcmF1ZGVsKVxyXG4vL1xyXG4vLyAgICAgIFRoaXMgcHJvamVjdCBpcyBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIE1JVCBsaWNlbnNlXHJcbi8vLy9cclxuLy8vIGluY2x1ZGUtbWVkaWEgbGlicmFyeSBwdWJsaWMgY29uZmlndXJhdGlvblxyXG4vLy8gQGF1dGhvciBFZHVhcmRvIEJvdWNhc1xyXG4vLy8gQGFjY2VzcyBwdWJsaWNcclxuLy8vL1xyXG5cclxuXHJcbi8vL1xyXG4vLy8gQ3JlYXRlcyBhIGxpc3Qgb2YgZ2xvYmFsIGJyZWFrcG9pbnRzXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIENyZWF0ZXMgYSBzaW5nbGUgYnJlYWtwb2ludCB3aXRoIHRoZSBsYWJlbCBgbW9iaWxlYFxyXG4vLy8gICRicmVha3BvaW50czogKCdtb2JpbGUnOiAzMjBweCk7XHJcbi8vL1xyXG4kYnJlYWtwb2ludHM6IChcclxuICAnbW9iaWxlJzogMzc1cHgsXHJcbiAgLy8gJ3RhYmxldCc6IDc2OHB4LFxyXG4gIC8vICdkZXNrdG9wJzogMTAyNHB4XHJcbiAgJ21vYmlsZS1taWQnOiA1MjBweCxcclxuICAnbW9iaWxlLW1heCc6IDU3NXB4LFxyXG4gICd0YWJsZXQnOiA3NjhweCxcclxuICAndGFibGV0LW1pZCc6IDg1MHB4LFxyXG4gICdib290LWRlc2t0b3AnOiA5OTJweCxcclxuICAnZGVza3RvcCc6IDEwMjVweCxcclxuICAnZGVza3RvcC1taWQnOiAxMjAwcHgsXHJcbiAgJ2Rlc2t0b3AtbWF4JzogMTkyMHB4XHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLy0gbW9iaWxlIG9ubHlcclxuLy8vLy0gKCc8dGFibGV0JykgLSBtYXgtd2lkdGg6IDc2N3B4XHJcbi8vLSB0YWJsZXQgb25seVxyXG4vLy8vLSAoJz49dGFibGV0JywgJzxkZXNrdG9wJykgLSBtaW4td2lkdGg6IDc2OHB4OyBtYXgtd2lkdGg6IDEwMjRweFxyXG4vLy0gZGVza3RvcCBvbmx5XHJcbi8vLy8tICgnPj1kZXNrdG9wJykgLSBtaW4td2lkdGg6IDEwMjVweFxyXG5cclxuLy8vXHJcbi8vLyBDcmVhdGVzIGEgbGlzdCBvZiBzdGF0aWMgZXhwcmVzc2lvbnMgb3IgbWVkaWEgdHlwZXNcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3JlYXRlcyBhIHNpbmdsZSBtZWRpYSB0eXBlIChzY3JlZW4pXHJcbi8vLyAgJG1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbic6ICdzY3JlZW4nKTtcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3JlYXRlcyBhIHN0YXRpYyBleHByZXNzaW9uIHdpdGggbG9naWNhbCBkaXNqdW5jdGlvbiAoT1Igb3BlcmF0b3IpXHJcbi8vLyAgJG1lZGlhLWV4cHJlc3Npb25zOiAoXHJcbi8vLyAgICAncmV0aW5hMngnOiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSdcclxuLy8vICApO1xyXG4vLy9cclxuJG1lZGlhLWV4cHJlc3Npb25zOiAoXHJcbiAgJ3NjcmVlbic6ICdzY3JlZW4nLFxyXG4gICdwcmludCc6ICdwcmludCcsXHJcbiAgJ2hhbmRoZWxkJzogJ2hhbmRoZWxkJyxcclxuICAnbGFuZHNjYXBlJzogJyhvcmllbnRhdGlvbjogbGFuZHNjYXBlKScsXHJcbiAgJ3BvcnRyYWl0JzogJyhvcmllbnRhdGlvbjogcG9ydHJhaXQpJyxcclxuICAnaG92ZXInOiAnKGhvdmVyOiBob3ZlciknLFxyXG4gICdmaW5lJzogJyhwb2ludGVyOiBmaW5lKScsXHJcbiAgJ3JldGluYTJ4JzogJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSksIChtaW4tcmVzb2x1dGlvbjogMmRwcHgpJyxcclxuICAncmV0aW5hM3gnOiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMyksIChtaW4tcmVzb2x1dGlvbjogMzUwZHBpKSwgKG1pbi1yZXNvbHV0aW9uOiAzZHBweCknXHJcbikgIWRlZmF1bHQ7XHJcblxyXG5cclxuLy8vXHJcbi8vLyBEZWZpbmVzIGEgbnVtYmVyIHRvIGJlIGFkZGVkIG9yIHN1YnRyYWN0ZWQgZnJvbSBlYWNoIHVuaXQgd2hlbiBkZWNsYXJpbmcgYnJlYWtwb2ludHMgd2l0aCBleGNsdXNpdmUgaW50ZXJ2YWxzXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEludGVydmFsIGZvciBwaXhlbHMgaXMgZGVmaW5lZCBhcyBgMWAgYnkgZGVmYXVsdFxyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+MTI4cHgnKSB7fVxyXG4vLy9cclxuLy8vICAvKiBHZW5lcmF0ZXM6ICovXHJcbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDEyOXB4KSB7fVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBJbnRlcnZhbCBmb3IgZW1zIGlzIGRlZmluZWQgYXMgYDAuMDFgIGJ5IGRlZmF1bHRcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjIwZW0nKSB7fVxyXG4vLy9cclxuLy8vICAvKiBHZW5lcmF0ZXM6ICovXHJcbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDIwLjAxZW0pIHt9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEludGVydmFsIGZvciByZW1zIGlzIGRlZmluZWQgYXMgYDAuMWAgYnkgZGVmYXVsdCwgdG8gYmUgdXNlZCB3aXRoIGBmb250LXNpemU6IDYyLjUlO2BcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjIuMHJlbScpIHt9XHJcbi8vL1xyXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cclxuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogMi4xcmVtKSB7fVxyXG4vLy9cclxuJHVuaXQtaW50ZXJ2YWxzOiAoXHJcbiAgJ3B4JzogMSxcclxuICAnZW0nOiAwLjAxLFxyXG4gICdyZW0nOiAwLjEsXHJcbiAgJyc6IDBcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vL1xyXG4vLy8gRGVmaW5lcyB3aGV0aGVyIHN1cHBvcnQgZm9yIG1lZGlhIHF1ZXJpZXMgaXMgYXZhaWxhYmxlLCB1c2VmdWwgZm9yIGNyZWF0aW5nIHNlcGFyYXRlIHN0eWxlc2hlZXRzXHJcbi8vLyBmb3IgYnJvd3NlcnMgdGhhdCBkb24ndCBzdXBwb3J0IG1lZGlhIHF1ZXJpZXMuXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIERpc2FibGVzIHN1cHBvcnQgZm9yIG1lZGlhIHF1ZXJpZXNcclxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xyXG4vLy8gICAgLmZvbyB7XHJcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XHJcbi8vLyAgICB9XHJcbi8vLyAgfVxyXG4vLy9cclxuLy8vICAvKiBHZW5lcmF0ZXM6ICovXHJcbi8vLyAgLmZvbyB7XHJcbi8vLyAgICBjb2xvcjogdG9tYXRvO1xyXG4vLy8gIH1cclxuLy8vXHJcbiRpbS1tZWRpYS1zdXBwb3J0OiB0cnVlICFkZWZhdWx0O1xyXG5cclxuLy8vXHJcbi8vLyBTZWxlY3RzIHdoaWNoIGJyZWFrcG9pbnQgdG8gZW11bGF0ZSB3aGVuIHN1cHBvcnQgZm9yIG1lZGlhIHF1ZXJpZXMgaXMgZGlzYWJsZWQuIE1lZGlhIHF1ZXJpZXMgdGhhdCBzdGFydCBhdCBvclxyXG4vLy8gaW50ZXJjZXB0IHRoZSBicmVha3BvaW50IHdpbGwgYmUgZGlzcGxheWVkLCBhbnkgb3RoZXJzIHdpbGwgYmUgaWdub3JlZC5cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIHNob3cgYmVjYXVzZSBpdCBpbnRlcmNlcHRzIHRoZSBzdGF0aWMgYnJlYWtwb2ludFxyXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcclxuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnO1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcclxuLy8vICAgIC5mb28ge1xyXG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xyXG4vLy8gICAgfVxyXG4vLy8gIH1cclxuLy8vXHJcbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xyXG4vLy8gIC5mb28ge1xyXG4vLy8gICAgY29sb3I6IHRvbWF0bztcclxuLy8vICB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBOT1Qgc2hvdyBiZWNhdXNlIGl0IGRvZXMgbm90IGludGVyY2VwdCB0aGUgZGVza3RvcCBicmVha3BvaW50XHJcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xyXG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAndGFibGV0JztcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4vLy8gICAgLmZvbyB7XHJcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XHJcbi8vLyAgICB9XHJcbi8vLyAgfVxyXG4vLy9cclxuLy8vICAvKiBObyBvdXRwdXQgKi9cclxuLy8vXHJcbiRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCcgIWRlZmF1bHQ7XHJcblxyXG4vLy9cclxuLy8vIFNlbGVjdHMgd2hpY2ggbWVkaWEgZXhwcmVzc2lvbnMgYXJlIGFsbG93ZWQgaW4gYW4gZXhwcmVzc2lvbiBmb3IgaXQgdG8gYmUgdXNlZCB3aGVuIG1lZGlhIHF1ZXJpZXNcclxuLy8vIGFyZSBub3Qgc3VwcG9ydGVkLlxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgc2hvdyBiZWNhdXNlIGl0IGludGVyY2VwdHMgdGhlIHN0YXRpYyBicmVha3BvaW50IGFuZCBjb250YWlucyBvbmx5IGFjY2VwdGVkIG1lZGlhIGV4cHJlc3Npb25zXHJcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xyXG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCc7XHJcbi8vLyAgJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbicpO1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcsICdzY3JlZW4nKSB7XHJcbi8vLyAgICAuZm9vIHtcclxuLy8vICAgICAgY29sb3I6IHRvbWF0bztcclxuLy8vICAgIH1cclxuLy8vICB9XHJcbi8vL1xyXG4vLy8gICAvKiBHZW5lcmF0ZXM6ICovXHJcbi8vLyAgIC5mb28ge1xyXG4vLy8gICAgIGNvbG9yOiB0b21hdG87XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIE5PVCBzaG93IGJlY2F1c2UgaXQgaW50ZXJjZXB0cyB0aGUgc3RhdGljIGJyZWFrcG9pbnQgYnV0IGNvbnRhaW5zIGEgbWVkaWEgZXhwcmVzc2lvbiB0aGF0IGlzIG5vdCBhY2NlcHRlZFxyXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcclxuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnO1xyXG4vLy8gICRpbS1uby1tZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nKTtcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAncmV0aW5hMngnKSB7XHJcbi8vLyAgICAuZm9vIHtcclxuLy8vICAgICAgY29sb3I6IHRvbWF0bztcclxuLy8vICAgIH1cclxuLy8vICB9XHJcbi8vL1xyXG4vLy8gIC8qIE5vIG91dHB1dCAqL1xyXG4vLy9cclxuJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbicsICdwb3J0cmFpdCcsICdsYW5kc2NhcGUnKSAhZGVmYXVsdDtcclxuXHJcbi8vLy9cclxuLy8vIENyb3NzLWVuZ2luZSBsb2dnaW5nIGVuZ2luZVxyXG4vLy8gQGF1dGhvciBIdWdvIEdpcmF1ZGVsXHJcbi8vLyBAYWNjZXNzIHByaXZhdGVcclxuLy8vL1xyXG5cclxuXHJcbi8vL1xyXG4vLy8gTG9nIGEgbWVzc2FnZSBlaXRoZXIgd2l0aCBgQGVycm9yYCBpZiBzdXBwb3J0ZWRcclxuLy8vIGVsc2Ugd2l0aCBgQHdhcm5gLCB1c2luZyBgZmVhdHVyZS1leGlzdHMoJ2F0LWVycm9yJylgXHJcbi8vLyB0byBkZXRlY3Qgc3VwcG9ydC5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJG1lc3NhZ2UgLSBNZXNzYWdlIHRvIGxvZ1xyXG4vLy9cclxuQGZ1bmN0aW9uIGltLWxvZygkbWVzc2FnZSkge1xyXG4gIEBpZiBmZWF0dXJlLWV4aXN0cygnYXQtZXJyb3InKSB7XHJcbiAgICBAZXJyb3IgJG1lc3NhZ2U7XHJcbiAgfSBAZWxzZSB7XHJcbiAgICBAd2FybiAkbWVzc2FnZTtcclxuICAgICRfOiBub29wKCk7XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuICRtZXNzYWdlO1xyXG59XHJcblxyXG5cclxuLy8vXHJcbi8vLyBXcmFwcGVyIG1peGluIGZvciB0aGUgbG9nIGZ1bmN0aW9uIHNvIGl0IGNhbiBiZSB1c2VkIHdpdGggYSBtb3JlIGZyaWVuZGx5XHJcbi8vLyBBUEkgdGhhbiBgQGlmIGltLWxvZygnLi4nKSB7fWAgb3IgYCRfOiBpbS1sb2coJy4uJylgLiBCYXNpY2FsbHksIHVzZSB0aGUgZnVuY3Rpb25cclxuLy8vIHdpdGhpbiBmdW5jdGlvbnMgYmVjYXVzZSBpdCBpcyBub3QgcG9zc2libGUgdG8gaW5jbHVkZSBhIG1peGluIGluIGEgZnVuY3Rpb25cclxuLy8vIGFuZCB1c2UgdGhlIG1peGluIGV2ZXJ5d2hlcmUgZWxzZSBiZWNhdXNlIGl0J3MgbXVjaCBtb3JlIGVsZWdhbnQuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRtZXNzYWdlIC0gTWVzc2FnZSB0byBsb2dcclxuLy8vXHJcbkBtaXhpbiBsb2coJG1lc3NhZ2UpIHtcclxuICBAaWYgaW0tbG9nKCRtZXNzYWdlKSB7fVxyXG59XHJcblxyXG5cclxuLy8vXHJcbi8vLyBGdW5jdGlvbiB3aXRoIG5vIGBAcmV0dXJuYCBjYWxsZWQgbmV4dCB0byBgQHdhcm5gIGluIFNhc3MgMy4zXHJcbi8vLyB0byB0cmlnZ2VyIGEgY29tcGlsaW5nIGVycm9yIGFuZCBzdG9wIHRoZSBwcm9jZXNzLlxyXG4vLy9cclxuQGZ1bmN0aW9uIG5vb3AoKSB7fVxyXG5cclxuLy8vXHJcbi8vLyBEZXRlcm1pbmVzIHdoZXRoZXIgYSBsaXN0IG9mIGNvbmRpdGlvbnMgaXMgaW50ZXJjZXB0ZWQgYnkgdGhlIHN0YXRpYyBicmVha3BvaW50LlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7QXJnbGlzdH0gICAkY29uZGl0aW9ucyAgLSBNZWRpYSBxdWVyeSBjb25kaXRpb25zXHJcbi8vL1xyXG4vLy8gQHJldHVybiB7Qm9vbGVhbn0gLSBSZXR1cm5zIHRydWUgaWYgdGhlIGNvbmRpdGlvbnMgYXJlIGludGVyY2VwdGVkIGJ5IHRoZSBzdGF0aWMgYnJlYWtwb2ludFxyXG4vLy9cclxuQGZ1bmN0aW9uIGltLWludGVyY2VwdHMtc3RhdGljLWJyZWFrcG9pbnQoJGNvbmRpdGlvbnMuLi4pIHtcclxuICAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRpbS1uby1tZWRpYS1icmVha3BvaW50KTtcclxuXHJcbiAgQGlmIG5vdCAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZSB7XHJcbiAgICBAaWYgaW0tbG9nKCdgI3skaW0tbm8tbWVkaWEtYnJlYWtwb2ludH1gIGlzIG5vdCBhIHZhbGlkIGJyZWFrcG9pbnQuJykge31cclxuICB9XHJcblxyXG4gIEBlYWNoICRjb25kaXRpb24gaW4gJGNvbmRpdGlvbnMge1xyXG4gICAgQGlmIG5vdCBtYXAtaGFzLWtleSgkbWVkaWEtZXhwcmVzc2lvbnMsICRjb25kaXRpb24pIHtcclxuICAgICAgJG9wZXJhdG9yOiBnZXQtZXhwcmVzc2lvbi1vcGVyYXRvcigkY29uZGl0aW9uKTtcclxuICAgICAgJHByZWZpeDogZ2V0LWV4cHJlc3Npb24tcHJlZml4KCRvcGVyYXRvcik7XHJcbiAgICAgICR2YWx1ZTogZ2V0LWV4cHJlc3Npb24tdmFsdWUoJGNvbmRpdGlvbiwgJG9wZXJhdG9yKTtcclxuXHJcbiAgICAgIEBpZiAoJHByZWZpeCA9PSAnbWF4JyBhbmQgJHZhbHVlIDw9ICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlKSBvclxyXG4gICAgICAgICAgKCRwcmVmaXggPT0gJ21pbicgYW5kICR2YWx1ZSA+ICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlKSB7XHJcbiAgICAgICAgQHJldHVybiBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgfSBAZWxzZSBpZiBub3QgaW5kZXgoJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zLCAkY29uZGl0aW9uKSB7XHJcbiAgICAgIEByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuIHRydWU7XHJcbn1cclxuXHJcbi8vLy9cclxuLy8vIFBhcnNpbmcgZW5naW5lXHJcbi8vLyBAYXV0aG9yIEh1Z28gR2lyYXVkZWxcclxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxyXG4vLy8vXHJcblxyXG5cclxuLy8vXHJcbi8vLyBHZXQgb3BlcmF0b3Igb2YgYW4gZXhwcmVzc2lvblxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gZXh0cmFjdCBvcGVyYXRvciBmcm9tXHJcbi8vL1xyXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIEFueSBvZiBgPj1gLCBgPmAsIGA8PWAsIGA8YCwgYOKJpWAsIGDiiaRgXHJcbi8vL1xyXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tb3BlcmF0b3IoJGV4cHJlc3Npb24pIHtcclxuICBAZWFjaCAkb3BlcmF0b3IgaW4gKCc+PScsICc+JywgJzw9JywgJzwnLCAn4omlJywgJ+KJpCcpIHtcclxuICAgIEBpZiBzdHItaW5kZXgoJGV4cHJlc3Npb24sICRvcGVyYXRvcikge1xyXG4gICAgICBAcmV0dXJuICRvcGVyYXRvcjtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIEl0IGlzIG5vdCBwb3NzaWJsZSB0byBpbmNsdWRlIGEgbWl4aW4gaW5zaWRlIGEgZnVuY3Rpb24sIHNvIHdlIGhhdmUgdG9cclxuICAvLyByZWx5IG9uIHRoZSBgaW0tbG9nKC4uKWAgZnVuY3Rpb24gcmF0aGVyIHRoYW4gdGhlIGBsb2coLi4pYCBtaXhpbi4gQmVjYXVzZVxyXG4gIC8vIGZ1bmN0aW9ucyBjYW5ub3QgYmUgY2FsbGVkIGFueXdoZXJlIGluIFNhc3MsIHdlIG5lZWQgdG8gaGFjayB0aGUgY2FsbCBpblxyXG4gIC8vIGEgZHVtbXkgdmFyaWFibGUsIHN1Y2ggYXMgYCRfYC4gSWYgYW55Ym9keSBldmVyIHJhaXNlIGEgc2NvcGluZyBpc3N1ZSB3aXRoXHJcbiAgLy8gU2FzcyAzLjMsIGNoYW5nZSB0aGlzIGxpbmUgaW4gYEBpZiBpbS1sb2coLi4pIHt9YCBpbnN0ZWFkLlxyXG4gICRfOiBpbS1sb2coJ05vIG9wZXJhdG9yIGZvdW5kIGluIGAjeyRleHByZXNzaW9ufWAuJyk7XHJcbn1cclxuXHJcblxyXG4vLy9cclxuLy8vIEdldCBkaW1lbnNpb24gb2YgYW4gZXhwcmVzc2lvbiwgYmFzZWQgb24gYSBmb3VuZCBvcGVyYXRvclxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gZXh0cmFjdCBkaW1lbnNpb24gZnJvbVxyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvcGVyYXRvciAtIE9wZXJhdG9yIGZyb20gYCRleHByZXNzaW9uYFxyXG4vLy9cclxuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBgd2lkdGhgIG9yIGBoZWlnaHRgIChvciBwb3RlbnRpYWxseSBhbnl0aGluZyBlbHNlKVxyXG4vLy9cclxuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLWRpbWVuc2lvbigkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKSB7XHJcbiAgJG9wZXJhdG9yLWluZGV4OiBzdHItaW5kZXgoJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XHJcbiAgJHBhcnNlZC1kaW1lbnNpb246IHN0ci1zbGljZSgkZXhwcmVzc2lvbiwgMCwgJG9wZXJhdG9yLWluZGV4IC0gMSk7XHJcbiAgJGRpbWVuc2lvbjogJ3dpZHRoJztcclxuXHJcbiAgQGlmIHN0ci1sZW5ndGgoJHBhcnNlZC1kaW1lbnNpb24pID4gMCB7XHJcbiAgICAkZGltZW5zaW9uOiAkcGFyc2VkLWRpbWVuc2lvbjtcclxuICB9XHJcblxyXG4gIEByZXR1cm4gJGRpbWVuc2lvbjtcclxufVxyXG5cclxuXHJcbi8vL1xyXG4vLy8gR2V0IGRpbWVuc2lvbiBwcmVmaXggYmFzZWQgb24gYW4gb3BlcmF0b3JcclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJG9wZXJhdG9yIC0gT3BlcmF0b3JcclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gYG1pbmAgb3IgYG1heGBcclxuLy8vXHJcbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi1wcmVmaXgoJG9wZXJhdG9yKSB7XHJcbiAgQHJldHVybiBpZihpbmRleCgoJzwnLCAnPD0nLCAn4omkJyksICRvcGVyYXRvciksICdtYXgnLCAnbWluJyk7XHJcbn1cclxuXHJcblxyXG4vLy9cclxuLy8vIEdldCB2YWx1ZSBvZiBhbiBleHByZXNzaW9uLCBiYXNlZCBvbiBhIGZvdW5kIG9wZXJhdG9yXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBleHRyYWN0IHZhbHVlIGZyb21cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3BlcmF0b3IgLSBPcGVyYXRvciBmcm9tIGAkZXhwcmVzc2lvbmBcclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gQSBudW1lcmljIHZhbHVlXHJcbi8vL1xyXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tdmFsdWUoJGV4cHJlc3Npb24sICRvcGVyYXRvcikge1xyXG4gICRvcGVyYXRvci1pbmRleDogc3RyLWluZGV4KCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xyXG4gICR2YWx1ZTogc3RyLXNsaWNlKCRleHByZXNzaW9uLCAkb3BlcmF0b3ItaW5kZXggKyBzdHItbGVuZ3RoKCRvcGVyYXRvcikpO1xyXG5cclxuICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkdmFsdWUpIHtcclxuICAgICR2YWx1ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICR2YWx1ZSk7XHJcbiAgfSBAZWxzZSB7XHJcbiAgICAkdmFsdWU6IHRvLW51bWJlcigkdmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgJGludGVydmFsOiBtYXAtZ2V0KCR1bml0LWludGVydmFscywgdW5pdCgkdmFsdWUpKTtcclxuXHJcbiAgQGlmIG5vdCAkaW50ZXJ2YWwge1xyXG4gICAgLy8gSXQgaXMgbm90IHBvc3NpYmxlIHRvIGluY2x1ZGUgYSBtaXhpbiBpbnNpZGUgYSBmdW5jdGlvbiwgc28gd2UgaGF2ZSB0b1xyXG4gICAgLy8gcmVseSBvbiB0aGUgYGltLWxvZyguLilgIGZ1bmN0aW9uIHJhdGhlciB0aGFuIHRoZSBgbG9nKC4uKWAgbWl4aW4uIEJlY2F1c2VcclxuICAgIC8vIGZ1bmN0aW9ucyBjYW5ub3QgYmUgY2FsbGVkIGFueXdoZXJlIGluIFNhc3MsIHdlIG5lZWQgdG8gaGFjayB0aGUgY2FsbCBpblxyXG4gICAgLy8gYSBkdW1teSB2YXJpYWJsZSwgc3VjaCBhcyBgJF9gLiBJZiBhbnlib2R5IGV2ZXIgcmFpc2UgYSBzY29waW5nIGlzc3VlIHdpdGhcclxuICAgIC8vIFNhc3MgMy4zLCBjaGFuZ2UgdGhpcyBsaW5lIGluIGBAaWYgaW0tbG9nKC4uKSB7fWAgaW5zdGVhZC5cclxuICAgICRfOiBpbS1sb2coJ1Vua25vd24gdW5pdCBgI3t1bml0KCR2YWx1ZSl9YC4nKTtcclxuICB9XHJcblxyXG4gIEBpZiAkb3BlcmF0b3IgPT0gJz4nIHtcclxuICAgICR2YWx1ZTogJHZhbHVlICsgJGludGVydmFsO1xyXG4gIH0gQGVsc2UgaWYgJG9wZXJhdG9yID09ICc8JyB7XHJcbiAgICAkdmFsdWU6ICR2YWx1ZSAtICRpbnRlcnZhbDtcclxuICB9XHJcblxyXG4gIEByZXR1cm4gJHZhbHVlO1xyXG59XHJcblxyXG5cclxuLy8vXHJcbi8vLyBQYXJzZSBhbiBleHByZXNzaW9uIHRvIHJldHVybiBhIHZhbGlkIG1lZGlhLXF1ZXJ5IGV4cHJlc3Npb25cclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIHBhcnNlXHJcbi8vL1xyXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIFZhbGlkIG1lZGlhIHF1ZXJ5XHJcbi8vL1xyXG5AZnVuY3Rpb24gcGFyc2UtZXhwcmVzc2lvbigkZXhwcmVzc2lvbikge1xyXG4gIC8vIElmIGl0IGlzIHBhcnQgb2YgJG1lZGlhLWV4cHJlc3Npb25zLCBpdCBoYXMgbm8gb3BlcmF0b3JcclxuICAvLyB0aGVuIHRoZXJlIGlzIG5vIG5lZWQgdG8gZ28gYW55IGZ1cnRoZXIsIGp1c3QgcmV0dXJuIHRoZSB2YWx1ZVxyXG4gIEBpZiBtYXAtaGFzLWtleSgkbWVkaWEtZXhwcmVzc2lvbnMsICRleHByZXNzaW9uKSB7XHJcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1lZGlhLWV4cHJlc3Npb25zLCAkZXhwcmVzc2lvbik7XHJcbiAgfVxyXG5cclxuICAkb3BlcmF0b3I6IGdldC1leHByZXNzaW9uLW9wZXJhdG9yKCRleHByZXNzaW9uKTtcclxuICAkZGltZW5zaW9uOiBnZXQtZXhwcmVzc2lvbi1kaW1lbnNpb24oJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XHJcbiAgJHByZWZpeDogZ2V0LWV4cHJlc3Npb24tcHJlZml4KCRvcGVyYXRvcik7XHJcbiAgJHZhbHVlOiBnZXQtZXhwcmVzc2lvbi12YWx1ZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcclxuXHJcbiAgQHJldHVybiAnKCN7JHByZWZpeH0tI3skZGltZW5zaW9ufTogI3skdmFsdWV9KSc7XHJcbn1cclxuXHJcbi8vL1xyXG4vLy8gU2xpY2UgYCRsaXN0YCBiZXR3ZWVuIGAkc3RhcnRgIGFuZCBgJGVuZGAgaW5kZXhlc1xyXG4vLy9cclxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TGlzdH0gJGxpc3QgLSBMaXN0IHRvIHNsaWNlXHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJHN0YXJ0IFsxXSAtIFN0YXJ0IGluZGV4XHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJGVuZCBbbGVuZ3RoKCRsaXN0KV0gLSBFbmQgaW5kZXhcclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtMaXN0fSBTbGljZWQgbGlzdFxyXG4vLy9cclxuQGZ1bmN0aW9uIHNsaWNlKCRsaXN0LCAkc3RhcnQ6IDEsICRlbmQ6IGxlbmd0aCgkbGlzdCkpIHtcclxuICBAaWYgbGVuZ3RoKCRsaXN0KSA8IDEgb3IgJHN0YXJ0ID4gJGVuZCB7XHJcbiAgICBAcmV0dXJuICgpO1xyXG4gIH1cclxuXHJcbiAgJHJlc3VsdDogKCk7XHJcblxyXG4gIEBmb3IgJGkgZnJvbSAkc3RhcnQgdGhyb3VnaCAkZW5kIHtcclxuICAgICRyZXN1bHQ6IGFwcGVuZCgkcmVzdWx0LCBudGgoJGxpc3QsICRpKSk7XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuICRyZXN1bHQ7XHJcbn1cclxuXHJcbi8vLy9cclxuLy8vIFN0cmluZyB0byBudW1iZXIgY29udmVydGVyXHJcbi8vLyBAYXV0aG9yIEh1Z28gR2lyYXVkZWxcclxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxyXG4vLy8vXHJcblxyXG5cclxuLy8vXHJcbi8vLyBDYXN0cyBhIHN0cmluZyBpbnRvIGEgbnVtYmVyXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmcgfCBOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGJlIHBhcnNlZFxyXG4vLy9cclxuLy8vIEByZXR1cm4ge051bWJlcn1cclxuLy8vXHJcbkBmdW5jdGlvbiB0by1udW1iZXIoJHZhbHVlKSB7XHJcbiAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnbnVtYmVyJyB7XHJcbiAgICBAcmV0dXJuICR2YWx1ZTtcclxuICB9IEBlbHNlIGlmIHR5cGUtb2YoJHZhbHVlKSAhPSAnc3RyaW5nJyB7XHJcbiAgICAkXzogaW0tbG9nKCdWYWx1ZSBmb3IgYHRvLW51bWJlcmAgc2hvdWxkIGJlIGEgbnVtYmVyIG9yIGEgc3RyaW5nLicpO1xyXG4gIH1cclxuXHJcbiAgJGZpcnN0LWNoYXJhY3Rlcjogc3RyLXNsaWNlKCR2YWx1ZSwgMSwgMSk7XHJcbiAgJHJlc3VsdDogMDtcclxuICAkZGlnaXRzOiAwO1xyXG4gICRtaW51czogKCRmaXJzdC1jaGFyYWN0ZXIgPT0gJy0nKTtcclxuICAkbnVtYmVyczogKCcwJzogMCwgJzEnOiAxLCAnMic6IDIsICczJzogMywgJzQnOiA0LCAnNSc6IDUsICc2JzogNiwgJzcnOiA3LCAnOCc6IDgsICc5JzogOSk7XHJcblxyXG4gIC8vIFJlbW92ZSArLy0gc2lnbiBpZiBwcmVzZW50IGF0IGZpcnN0IGNoYXJhY3RlclxyXG4gIEBpZiAoJGZpcnN0LWNoYXJhY3RlciA9PSAnKycgb3IgJGZpcnN0LWNoYXJhY3RlciA9PSAnLScpIHtcclxuICAgICR2YWx1ZTogc3RyLXNsaWNlKCR2YWx1ZSwgMik7XHJcbiAgfVxyXG5cclxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIHN0ci1sZW5ndGgoJHZhbHVlKSB7XHJcbiAgICAkY2hhcmFjdGVyOiBzdHItc2xpY2UoJHZhbHVlLCAkaSwgJGkpO1xyXG5cclxuICAgIEBpZiBub3QgKGluZGV4KG1hcC1rZXlzKCRudW1iZXJzKSwgJGNoYXJhY3Rlcikgb3IgJGNoYXJhY3RlciA9PSAnLicpIHtcclxuICAgICAgQHJldHVybiB0by1sZW5ndGgoaWYoJG1pbnVzLCAtJHJlc3VsdCwgJHJlc3VsdCksIHN0ci1zbGljZSgkdmFsdWUsICRpKSlcclxuICAgIH1cclxuXHJcbiAgICBAaWYgJGNoYXJhY3RlciA9PSAnLicge1xyXG4gICAgICAkZGlnaXRzOiAxO1xyXG4gICAgfSBAZWxzZSBpZiAkZGlnaXRzID09IDAge1xyXG4gICAgICAkcmVzdWx0OiAkcmVzdWx0ICogMTAgKyBtYXAtZ2V0KCRudW1iZXJzLCAkY2hhcmFjdGVyKTtcclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAkZGlnaXRzOiAkZGlnaXRzICogMTA7XHJcbiAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKyBtYXAtZ2V0KCRudW1iZXJzLCAkY2hhcmFjdGVyKSAvICRkaWdpdHM7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuIGlmKCRtaW51cywgLSRyZXN1bHQsICRyZXN1bHQpO1xyXG59XHJcblxyXG5cclxuLy8vXHJcbi8vLyBBZGQgYCR1bml0YCB0byBgJHZhbHVlYFxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBWYWx1ZSB0byBhZGQgdW5pdCB0b1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICR1bml0IC0gU3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoZSB1bml0XHJcbi8vL1xyXG4vLy8gQHJldHVybiB7TnVtYmVyfSAtIGAkdmFsdWVgIGV4cHJlc3NlZCBpbiBgJHVuaXRgXHJcbi8vL1xyXG5AZnVuY3Rpb24gdG8tbGVuZ3RoKCR2YWx1ZSwgJHVuaXQpIHtcclxuICAkdW5pdHM6ICgncHgnOiAxcHgsICdjbSc6IDFjbSwgJ21tJzogMW1tLCAnJSc6IDElLCAnY2gnOiAxY2gsICdwYyc6IDFwYywgJ2luJzogMWluLCAnZW0nOiAxZW0sICdyZW0nOiAxcmVtLCAncHQnOiAxcHQsICdleCc6IDFleCwgJ3Z3JzogMXZ3LCAndmgnOiAxdmgsICd2bWluJzogMXZtaW4sICd2bWF4JzogMXZtYXgpO1xyXG5cclxuICBAaWYgbm90IGluZGV4KG1hcC1rZXlzKCR1bml0cyksICR1bml0KSB7XHJcbiAgICAkXzogaW0tbG9nKCdJbnZhbGlkIHVuaXQgYCN7JHVuaXR9YC4nKTtcclxuICB9XHJcblxyXG4gIEByZXR1cm4gJHZhbHVlICogbWFwLWdldCgkdW5pdHMsICR1bml0KTtcclxufVxyXG5cclxuLy8vXHJcbi8vLyBUaGlzIG1peGluIGFpbXMgYXQgcmVkZWZpbmluZyB0aGUgY29uZmlndXJhdGlvbiBqdXN0IGZvciB0aGUgc2NvcGUgb2ZcclxuLy8vIHRoZSBjYWxsLiBJdCBpcyBoZWxwZnVsIHdoZW4gaGF2aW5nIGEgY29tcG9uZW50IG5lZWRpbmcgYW4gZXh0ZW5kZWRcclxuLy8vIGNvbmZpZ3VyYXRpb24gc3VjaCBhcyBjdXN0b20gYnJlYWtwb2ludHMgKHJlZmVycmVkIHRvIGFzIHR3ZWFrcG9pbnRzKVxyXG4vLy8gZm9yIGluc3RhbmNlLlxyXG4vLy9cclxuLy8vIEBhdXRob3IgSHVnbyBHaXJhdWRlbFxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TWFwfSAkdHdlYWtwb2ludHMgWygpXSAtIE1hcCBvZiB0d2Vha3BvaW50cyB0byBiZSBtZXJnZWQgd2l0aCBgJGJyZWFrcG9pbnRzYFxyXG4vLy8gQHBhcmFtIHtNYXB9ICR0d2Vhay1tZWRpYS1leHByZXNzaW9ucyBbKCldIC0gTWFwIG9mIHR3ZWFrZWQgbWVkaWEgZXhwcmVzc2lvbnMgdG8gYmUgbWVyZ2VkIHdpdGggYCRtZWRpYS1leHByZXNzaW9uYFxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBFeHRlbmQgdGhlIGdsb2JhbCBicmVha3BvaW50cyB3aXRoIGEgdHdlYWtwb2ludFxyXG4vLy8gIEBpbmNsdWRlIG1lZGlhLWNvbnRleHQoKCdjdXN0b20nOiA2NzhweCkpIHtcclxuLy8vICAgIC5mb28ge1xyXG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSgnPm1vYmlsZScsICc8PWN1c3RvbScpIHtcclxuLy8vICAgICAgIC8vIC4uLlxyXG4vLy8gICAgICB9XHJcbi8vLyAgICB9XHJcbi8vLyAgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBFeHRlbmQgdGhlIGdsb2JhbCBtZWRpYSBleHByZXNzaW9ucyB3aXRoIGEgY3VzdG9tIG9uZVxyXG4vLy8gIEBpbmNsdWRlIG1lZGlhLWNvbnRleHQoJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zOiAoJ2FsbCc6ICdhbGwnKSkge1xyXG4vLy8gICAgLmZvbyB7XHJcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKCdhbGwnLCAnPm1vYmlsZScpIHtcclxuLy8vICAgICAgIC8vIC4uLlxyXG4vLy8gICAgICB9XHJcbi8vLyAgICB9XHJcbi8vLyAgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBFeHRlbmQgYm90aCBjb25maWd1cmF0aW9uIG1hcHNcclxuLy8vICBAaW5jbHVkZSBtZWRpYS1jb250ZXh0KCgnY3VzdG9tJzogNjc4cHgpLCAoJ2FsbCc6ICdhbGwnKSkge1xyXG4vLy8gICAgLmZvbyB7XHJcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKCdhbGwnLCAnPm1vYmlsZScsICc8PWN1c3RvbScpIHtcclxuLy8vICAgICAgIC8vIC4uLlxyXG4vLy8gICAgICB9XHJcbi8vLyAgICB9XHJcbi8vLyAgfVxyXG4vLy9cclxuQG1peGluIG1lZGlhLWNvbnRleHQoJHR3ZWFrcG9pbnRzOiAoKSwgJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zOiAoKSkge1xyXG4gIC8vIFNhdmUgZ2xvYmFsIGNvbmZpZ3VyYXRpb25cclxuICAkZ2xvYmFsLWJyZWFrcG9pbnRzOiAkYnJlYWtwb2ludHM7XHJcbiAgJGdsb2JhbC1tZWRpYS1leHByZXNzaW9uczogJG1lZGlhLWV4cHJlc3Npb25zO1xyXG5cclxuICAvLyBVcGRhdGUgZ2xvYmFsIGNvbmZpZ3VyYXRpb25cclxuICAkYnJlYWtwb2ludHM6IG1hcC1tZXJnZSgkYnJlYWtwb2ludHMsICR0d2Vha3BvaW50cykgIWdsb2JhbDtcclxuICAkbWVkaWEtZXhwcmVzc2lvbnM6IG1hcC1tZXJnZSgkbWVkaWEtZXhwcmVzc2lvbnMsICR0d2Vhay1tZWRpYS1leHByZXNzaW9ucykgIWdsb2JhbDtcclxuXHJcbiAgQGNvbnRlbnQ7XHJcblxyXG4gIC8vIFJlc3RvcmUgZ2xvYmFsIGNvbmZpZ3VyYXRpb25cclxuICAkYnJlYWtwb2ludHM6ICRnbG9iYWwtYnJlYWtwb2ludHMgIWdsb2JhbDtcclxuICAkbWVkaWEtZXhwcmVzc2lvbnM6ICRnbG9iYWwtbWVkaWEtZXhwcmVzc2lvbnMgIWdsb2JhbDtcclxufVxyXG5cclxuLy8vL1xyXG4vLy8gaW5jbHVkZS1tZWRpYSBwdWJsaWMgZXhwb3NlZCBBUElcclxuLy8vIEBhdXRob3IgRWR1YXJkbyBCb3VjYXNcclxuLy8vIEBhY2Nlc3MgcHVibGljXHJcbi8vLy9cclxuXHJcblxyXG4vLy9cclxuLy8vIEdlbmVyYXRlcyBhIG1lZGlhIHF1ZXJ5IGJhc2VkIG9uIGEgbGlzdCBvZiBjb25kaXRpb25zXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAgICRjb25kaXRpb25zICAtIE1lZGlhIHF1ZXJ5IGNvbmRpdGlvbnNcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBhIHNpbmdsZSBzZXQgYnJlYWtwb2ludFxyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+bW9iaWxlJykgeyB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggdHdvIHNldCBicmVha3BvaW50c1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+bW9iaWxlJywgJzw9dGFibGV0JykgeyB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggY3VzdG9tIHZhbHVlc1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PTM1OHB4JywgJzw4NTBweCcpIHsgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIHNldCBicmVha3BvaW50cyB3aXRoIGN1c3RvbSB2YWx1ZXNcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPmRlc2t0b3AnLCAnPD0xMzUwcHgnKSB7IH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBhIHN0YXRpYyBleHByZXNzaW9uXHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJ3JldGluYTJ4JykgeyB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIE1peGluZyBldmVyeXRoaW5nXHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49MzUwcHgnLCAnPHRhYmxldCcsICdyZXRpbmEzeCcpIHsgfVxyXG4vLy9cclxuQG1peGluIG1lZGlhKCRjb25kaXRpb25zLi4uKSB7XHJcbiAgQGlmICgkaW0tbWVkaWEtc3VwcG9ydCBhbmQgbGVuZ3RoKCRjb25kaXRpb25zKSA9PSAwKSBvclxyXG4gICAgICAobm90ICRpbS1tZWRpYS1zdXBwb3J0IGFuZCBpbS1pbnRlcmNlcHRzLXN0YXRpYy1icmVha3BvaW50KCRjb25kaXRpb25zLi4uKSkge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfSBAZWxzZSBpZiAoJGltLW1lZGlhLXN1cHBvcnQgYW5kIGxlbmd0aCgkY29uZGl0aW9ucykgPiAwKSB7XHJcbiAgICBAbWVkaWEgI3t1bnF1b3RlKHBhcnNlLWV4cHJlc3Npb24obnRoKCRjb25kaXRpb25zLCAxKSkpfSB7XHJcbiAgICAgIC8vIFJlY3Vyc2l2ZSBjYWxsXHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhKHNsaWNlKCRjb25kaXRpb25zLCAyKS4uLikge1xyXG4gICAgICAgIEBjb250ZW50O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi8vLSBEZWZpbmUgc3BhY2luZ3NcclxuOnJvb3Qge1xyXG4gICAgLy8tIFNwYWNpbmdcclxuICAgIC0tY29udGFpbmVyLW1heC13aWR0aDogY2FsYyg4MDBweCArICN7JGdyaWQtZ3V0dGVyLXdpZHRofSk7XHJcbiAgICAtLWVsZW1lbnRzLWZsb3c6IDEwcHg7XHJcbiAgICAtLWRlZmF1bHQtcmFkaXVzOiAxNnB4O1xyXG4gICAgXHJcbiAgICBAaW5jbHVkZSBtZWRpYShcIjxtb2JpbGVcIikge1xyXG4gICAgICAgIC0tZWxlbWVudHMtZmxvdzogOHB4O1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIiwgXCI8ZGVza3RvcFwiKSB7XHJcbiAgICAgICAgLS1lbGVtZW50cy1mbG93OiAxNnB4O1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICBAaW5jbHVkZSBtZWRpYShcIj49ZGVza3RvcFwiKSB7XHJcbiAgICAgICAgLS1lbGVtZW50cy1mbG93OiAxNnB4O1xyXG4gICAgfVxyXG59XHJcbiIsIiV0ZXh0LXNoYWRvdyB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcclxuICAgICAgICB0ZXh0LXNoYWRvdzogMXB4IDJweCAycHggJG1haW5TaGFkb3c7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJzxkZXNrdG9wJykge1xyXG4gICAgICAgIHRleHQtc2hhZG93OiAxcHggM3B4IDNweCAkbWFpblNoYWRvdztcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4gICAgICAgIHRleHQtc2hhZG93OiAycHggNXB4IDNweCAkbWFpblNoYWRvdztcclxuICAgIH1cclxufVxyXG5cclxuJWJ0bi10ZXh0LXNoYWRvdyB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcclxuICAgICAgICB0ZXh0LXNoYWRvdzogMCAycHggNHB4ICRidXR0b25UZXh0U2hhZG93O1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcsICc8ZGVza3RvcCcpIHtcclxuICAgICAgICB0ZXh0LXNoYWRvdzogMCAzcHggNnB4ICRidXR0b25UZXh0U2hhZG93O1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICAgICAgdGV4dC1zaGFkb3c6IDAgM3B4IDZweCAkYnV0dG9uVGV4dFNoYWRvdztcclxuICAgIH1cclxufVxyXG5cclxuJWJ0bi10ZXh0LXNoYWRvdy1kaXNhYmxlZCB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcclxuICAgICAgICB0ZXh0LXNoYWRvdzogMCAycHggNHB4ICRidXR0b25UZXh0U2hhZG93RGlzYWJsZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJzxkZXNrdG9wJykge1xyXG4gICAgICAgIHRleHQtc2hhZG93OiAwIDNweCA2cHggJGJ1dHRvblRleHRTaGFkb3dEaXNhYmxlZDtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4gICAgICAgIHRleHQtc2hhZG93OiAwIDNweCA2cHggJGJ1dHRvblRleHRTaGFkb3dEaXNhYmxlZDtcclxuICAgIH1cclxufVxyXG5cclxuJWJveC1zaGFkb3cge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XHJcbiAgICAgICAgYm94LXNoYWRvdzogMCAycHggNHB4ICRib3hTaGFkb3c7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJzxkZXNrdG9wJykge1xyXG4gICAgICAgIGJveC1zaGFkb3c6IDAgM3B4IDZweCAkYm94U2hhZG93O1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICAgICAgYm94LXNoYWRvdzogMCAzcHggNnB4ICRib3hTaGFkb3c7XHJcbiAgICB9XHJcbn1cclxuIiwiLyogaHR0cDovL21leWVyd2ViLmNvbS9lcmljL3Rvb2xzL2Nzcy9yZXNldC9cbiAgIHYyLjAtbW9kaWZpZWQgfCAyMDExMDEyNlxuICAgTGljZW5zZTogbm9uZSAocHVibGljIGRvbWFpbilcbiovXG5cbmh0bWwsIGJvZHksIGRpdiwgc3BhbiwgYXBwbGV0LCBvYmplY3QsIGlmcmFtZSxcbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsIHAsIGJsb2NrcXVvdGUsIHByZSxcbmEsIGFiYnIsIGFjcm9ueW0sIGFkZHJlc3MsIGJpZywgY2l0ZSwgY29kZSxcbmRlbCwgZGZuLCBlbSwgaW1nLCBpbnMsIGtiZCwgcSwgcywgc2FtcCxcbnNtYWxsLCBzdHJpa2UsIHN0cm9uZywgc3ViLCBzdXAsIHR0LCB2YXIsXG5iLCB1LCBpLCBjZW50ZXIsXG5kbCwgZHQsIGRkLCBvbCwgdWwsIGxpLFxuZmllbGRzZXQsIGZvcm0sIGxhYmVsLCBsZWdlbmQsXG50YWJsZSwgY2FwdGlvbiwgdGJvZHksIHRmb290LCB0aGVhZCwgdHIsIHRoLCB0ZCxcbmFydGljbGUsIGFzaWRlLCBjYW52YXMsIGRldGFpbHMsIGVtYmVkLFxuZmlndXJlLCBmaWdjYXB0aW9uLCBmb290ZXIsIGhlYWRlciwgaGdyb3VwLFxubWVudSwgbmF2LCBvdXRwdXQsIHJ1YnksIHNlY3Rpb24sIHN1bW1hcnksXG50aW1lLCBtYXJrLCBhdWRpbywgdmlkZW8ge1xuICBtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDA7XG5cdGJvcmRlcjogMDtcblx0Zm9udC1zaXplOiAxMDAlO1xuXHRmb250OiBpbmhlcml0O1xuXHR2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbi8qIG1ha2Ugc3VyZSB0byBzZXQgc29tZSBmb2N1cyBzdHlsZXMgZm9yIGFjY2Vzc2liaWxpdHkgKi9cbjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbn1cblxuLyogSFRNTDUgZGlzcGxheS1yb2xlIHJlc2V0IGZvciBvbGRlciBicm93c2VycyAqL1xuYXJ0aWNsZSwgYXNpZGUsIGRldGFpbHMsIGZpZ2NhcHRpb24sIGZpZ3VyZSxcbmZvb3RlciwgaGVhZGVyLCBoZ3JvdXAsIG1lbnUsIG5hdiwgc2VjdGlvbiB7XG5cdGRpc3BsYXk6IGJsb2NrO1xufVxuXG5ib2R5IHtcblx0bGluZS1oZWlnaHQ6IDE7XG59XG5cbm9sLCB1bCB7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbmJsb2NrcXVvdGUsIHEge1xuXHRxdW90ZXM6IG5vbmU7XG59XG5cbmJsb2NrcXVvdGU6YmVmb3JlLCBibG9ja3F1b3RlOmFmdGVyLFxucTpiZWZvcmUsIHE6YWZ0ZXIge1xuXHRjb250ZW50OiAnJztcblx0Y29udGVudDogbm9uZTtcbn1cblxudGFibGUge1xuXHRib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuXHRib3JkZXItc3BhY2luZzogMDtcbn1cblxuaW5wdXRbdHlwZT1zZWFyY2hdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuaW5wdXRbdHlwZT1zZWFyY2hdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uLFxuaW5wdXRbdHlwZT1zZWFyY2hdOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWJ1dHRvbixcbmlucHV0W3R5cGU9c2VhcmNoXTo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1kZWNvcmF0aW9uIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xufVxuXG5pbnB1dFt0eXBlPXNlYXJjaF0ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICAtbW96LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xufVxuXG50ZXh0YXJlYSB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICByZXNpemU6IHZlcnRpY2FsO1xufVxuXG4vKipcbiAqIENvcnJlY3QgYGlubGluZS1ibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBpbiBJRSA2LzcvOC85IGFuZCBGaXJlZm94IDMuXG4gKi9cblxuYXVkaW8sXG5jYW52YXMsXG52aWRlbyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICpkaXNwbGF5OiBpbmxpbmU7XG4gICAgKnpvb206IDE7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4vKipcbiAqIFByZXZlbnQgbW9kZXJuIGJyb3dzZXJzIGZyb20gZGlzcGxheWluZyBgYXVkaW9gIHdpdGhvdXQgY29udHJvbHMuXG4gKiBSZW1vdmUgZXhjZXNzIGhlaWdodCBpbiBpT1MgNSBkZXZpY2VzLlxuICovXG5cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBoZWlnaHQ6IDA7XG59XG5cbi8qKlxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDcvOC85LCBGaXJlZm94IDMsIGFuZCBTYWZhcmkgNC5cbiAqIEtub3duIGlzc3VlOiBubyBJRSA2IHN1cHBvcnQuXG4gKi9cblxuW2hpZGRlbl0ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0ZXh0IHJlc2l6aW5nIG9kZGx5IGluIElFIDYvNyB3aGVuIGJvZHkgYGZvbnQtc2l6ZWAgaXMgc2V0IHVzaW5nXG4gKiAgICBgZW1gIHVuaXRzLlxuICogMi4gUHJldmVudCBpT1MgdGV4dCBzaXplIGFkanVzdCBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2UsIHdpdGhvdXQgZGlzYWJsaW5nXG4gKiAgICB1c2VyIHpvb20uXG4gKi9cblxuaHRtbCB7XG4gICAgZm9udC1zaXplOiAxMDAlOyAvKiAxICovXG4gICAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG4gICAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBBZGRyZXNzIGBvdXRsaW5lYCBpbmNvbnNpc3RlbmN5IGJldHdlZW4gQ2hyb21lIGFuZCBvdGhlciBicm93c2Vycy5cbiAqL1xuXG5hOmZvY3VzIHtcbiAgICBvdXRsaW5lOiB0aGluIGRvdHRlZDtcbn1cblxuLyoqXG4gKiBJbXByb3ZlIHJlYWRhYmlsaXR5IHdoZW4gZm9jdXNlZCBhbmQgYWxzbyBtb3VzZSBob3ZlcmVkIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5hOmFjdGl2ZSxcbmE6aG92ZXIge1xuICAgIG91dGxpbmU6IDA7XG59XG5cbi8qKlxuICogMS4gUmVtb3ZlIGJvcmRlciB3aGVuIGluc2lkZSBgYWAgZWxlbWVudCBpbiBJRSA2LzcvOC85IGFuZCBGaXJlZm94IDMuXG4gKiAyLiBJbXByb3ZlIGltYWdlIHF1YWxpdHkgd2hlbiBzY2FsZWQgaW4gSUUgNy5cbiAqL1xuXG5pbWcge1xuICAgIGJvcmRlcjogMDsgLyogMSAqL1xuICAgIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBBZGRyZXNzIG1hcmdpbiBub3QgcHJlc2VudCBpbiBJRSA2LzcvOC85LCBTYWZhcmkgNSwgYW5kIE9wZXJhIDExLlxuICovXG5cbmZpZ3VyZSB7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4vKipcbiAqIENvcnJlY3QgbWFyZ2luIGRpc3BsYXllZCBvZGRseSBpbiBJRSA2LzcuXG4gKi9cblxuZm9ybSB7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4vKipcbiAqIERlZmluZSBjb25zaXN0ZW50IGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZy5cbiAqL1xuXG5maWVsZHNldCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcbiAgICBtYXJnaW46IDAgMnB4O1xuICAgIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IGNvbG9yIG5vdCBiZWluZyBpbmhlcml0ZWQgaW4gSUUgNi83LzgvOS5cbiAqIDIuIENvcnJlY3QgdGV4dCBub3Qgd3JhcHBpbmcgaW4gRmlyZWZveCAzLlxuICogMy4gQ29ycmVjdCBhbGlnbm1lbnQgZGlzcGxheWVkIG9kZGx5IGluIElFIDYvNy5cbiAqL1xuXG5sZWdlbmQge1xuICAgIGJvcmRlcjogMDsgLyogMSAqL1xuICAgIHBhZGRpbmc6IDA7XG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLyogMiAqL1xuICAgICptYXJnaW4tbGVmdDogLTdweDsgLyogMyAqL1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgZm9udCBzaXplIG5vdCBiZWluZyBpbmhlcml0ZWQgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQWRkcmVzcyBtYXJnaW5zIHNldCBkaWZmZXJlbnRseSBpbiBJRSA2LzcsIEZpcmVmb3ggMyssIFNhZmFyaSA1LFxuICogICAgYW5kIENocm9tZS5cbiAqIDMuIEltcHJvdmUgYXBwZWFyYW5jZSBhbmQgY29uc2lzdGVuY3kgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmJ1dHRvbixcbmlucHV0LFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICAgIGZvbnQtc2l6ZTogMTAwJTsgLyogMSAqL1xuICAgIG1hcmdpbjogMDsgLyogMiAqL1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgLyogMyAqL1xuICAgICp2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyAvKiAzICovXG59XG5cbi8qKlxuICogQWRkcmVzcyBGaXJlZm94IDMrIHNldHRpbmcgYGxpbmUtaGVpZ2h0YCBvbiBgaW5wdXRgIHVzaW5nIGAhaW1wb3J0YW50YCBpblxuICogdGhlIFVBIHN0eWxlc2hlZXQuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQge1xuICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG59XG5cbi8qKlxuICogQWRkcmVzcyBpbmNvbnNpc3RlbnQgYHRleHQtdHJhbnNmb3JtYCBpbmhlcml0YW5jZSBmb3IgYGJ1dHRvbmAgYW5kIGBzZWxlY3RgLlxuICogQWxsIG90aGVyIGZvcm0gY29udHJvbCBlbGVtZW50cyBkbyBub3QgaW5oZXJpdCBgdGV4dC10cmFuc2Zvcm1gIHZhbHVlcy5cbiAqIENvcnJlY3QgYGJ1dHRvbmAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gQ2hyb21lLCBTYWZhcmkgNSssIGFuZCBJRSA2Ky5cbiAqIENvcnJlY3QgYHNlbGVjdGAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveCA0KyBhbmQgT3BlcmEuXG4gKi9cblxuYnV0dG9uLFxuc2VsZWN0IHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLyoqXG4gKiAxLiBBdm9pZCB0aGUgV2ViS2l0IGJ1ZyBpbiBBbmRyb2lkIDQuMC4qIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYFxuICogICAgYW5kIGB2aWRlb2AgY29udHJvbHMuXG4gKiAyLiBDb3JyZWN0IGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgYGlucHV0YCB0eXBlcyBpbiBpT1MuXG4gKiAzLiBJbXByb3ZlIHVzYWJpbGl0eSBhbmQgY29uc2lzdGVuY3kgb2YgY3Vyc29yIHN0eWxlIGJldHdlZW4gaW1hZ2UtdHlwZVxuICogICAgYGlucHV0YCBhbmQgb3RoZXJzLlxuICogNC4gUmVtb3ZlIGlubmVyIHNwYWNpbmcgaW4gSUUgNyB3aXRob3V0IGFmZmVjdGluZyBub3JtYWwgdGV4dCBpbnB1dHMuXG4gKiAgICBLbm93biBpc3N1ZTogaW5uZXIgc3BhY2luZyByZW1haW5zIGluIElFIDYuXG4gKi9cblxuYnV0dG9uLFxuaHRtbCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLCAvKiAxICovXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMiAqL1xuICAgIGN1cnNvcjogcG9pbnRlcjsgLyogMyAqL1xuICAgICpvdmVyZmxvdzogdmlzaWJsZTsgIC8qIDQgKi9cbn1cblxuLyoqXG4gKiBSZS1zZXQgZGVmYXVsdCBjdXJzb3IgZm9yIGRpc2FibGVkIGVsZW1lbnRzLlxuICovXG5cbmJ1dHRvbltkaXNhYmxlZF0sXG5odG1sIGlucHV0W2Rpc2FibGVkXSB7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG4vKipcbiAqIDEuIEFkZHJlc3MgYm94IHNpemluZyBzZXQgdG8gY29udGVudC1ib3ggaW4gSUUgOC85LlxuICogMi4gUmVtb3ZlIGV4Y2VzcyBwYWRkaW5nIGluIElFIDgvOS5cbiAqIDMuIFJlbW92ZSBleGNlc3MgcGFkZGluZyBpbiBJRSA3LlxuICogICAgS25vd24gaXNzdWU6IGV4Y2VzcyBwYWRkaW5nIHJlbWFpbnMgaW4gSUUgNi5cbiAqL1xuXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgICBwYWRkaW5nOiAwOyAvKiAyICovXG4gICAgKmhlaWdodDogMTNweDsgLyogMyAqL1xuICAgICp3aWR0aDogMTNweDsgLyogMyAqL1xufVxuXG4vKipcbiAqIDEuIEFkZHJlc3MgYGFwcGVhcmFuY2VgIHNldCB0byBgc2VhcmNoZmllbGRgIGluIFNhZmFyaSA1IGFuZCBDaHJvbWUuXG4gKiAyLiBBZGRyZXNzIGBib3gtc2l6aW5nYCBzZXQgdG8gYGJvcmRlci1ib3hgIGluIFNhZmFyaSA1IGFuZCBDaHJvbWVcbiAqICAgIChpbmNsdWRlIGAtbW96YCB0byBmdXR1cmUtcHJvb2YpLlxuICovXG5cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXG4gICAgLW1vei1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAyICovXG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG59XG5cbi8qKlxuICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIHNlYXJjaCBjYW5jZWwgYnV0dG9uIGluIFNhZmFyaSA1IGFuZCBDaHJvbWVcbiAqIG9uIE9TIFguXG4gKi9cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgYm9yZGVyIGluIEZpcmVmb3ggMysuXG4gKi9cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgIGJvcmRlcjogMDtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4vKipcbiAqIDEuIFJlbW92ZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSA2LzcvOC85LlxuICogMi4gSW1wcm92ZSByZWFkYWJpbGl0eSBhbmQgYWxpZ25tZW50IGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG50ZXh0YXJlYSB7XG4gICAgb3ZlcmZsb3c6IGF1dG87IC8qIDEgKi9cbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIG1vc3Qgc3BhY2luZyBiZXR3ZWVuIHRhYmxlIGNlbGxzLlxuICovXG5cbnRhYmxlIHtcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICAgIGJvcmRlci1zcGFjaW5nOiAwO1xufVxuXG5odG1sLFxuYnV0dG9uLFxuaW5wdXQsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gICAgY29sb3I6ICMyMjI7XG59XG5cblxuOjotbW96LXNlbGVjdGlvbiB7XG4gICAgYmFja2dyb3VuZDogI2IzZDRmYztcbiAgICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cblxuOjpzZWxlY3Rpb24ge1xuICAgIGJhY2tncm91bmQ6ICNiM2Q0ZmM7XG4gICAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG5cbmltZyB7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuZmllbGRzZXQge1xuICAgIGJvcmRlcjogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbn1cblxudGV4dGFyZWEge1xuICAgIHJlc2l6ZTogdmVydGljYWw7XG59XG5cbi5jaHJvbWVmcmFtZSB7XG4gICAgbWFyZ2luOiAwLjJlbSAwO1xuICAgIGJhY2tncm91bmQ6ICNjY2M7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgcGFkZGluZzogMC4yZW0gMDtcbn1cbiIsIkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcclxuXHJcbi52c2wtLWJyaWdodGNvdmUge1xyXG4gICAgLnZpZGVvIHtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG4gICAgICAgIGJvZHkudmlkZW8tLWZ1bGxzY3JlZW4gJiB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgbWF4LWhlaWdodDogMTAwZHZoO1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJl9fcGxhY2Vob2xkZXIge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYtLWZ1bGxTY3JlZW5JbmxpbmUge1xyXG4gICAgICAgICAgICAudmpzLWNvbnRyb2xzLWRpc2FibGVkIC52anMtYmlnLXBsYXktYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLnZqcy1jb250cm9sLWJhciB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjx0YWJsZXRcIiwgXCJwb3J0cmFpdFwiKSB7XHJcbiAgICAgICAgICAgICAgICAuYmMtcGxheWVyLWRlZmF1bHRfZGVmYXVsdC52anMtZmx1aWQudmpzLTE2LTk6bm90KC52anMtYXVkaW8tb25seS1tb2RlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC52aWRlby1qcyB7XHJcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWRlZmF1bHQtcmFkaXVzKTtcclxuXHJcbiAgICAgICAgICAgIGJvZHkudmlkZW8tLWZ1bGxzY3JlZW4gJiB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAudmpzLXRlY2gge1xyXG4gICAgICAgICAgICAgICAgYm9keS52aWRlby0tZnVsbHNjcmVlbiAmIHtcclxuICAgICAgICAgICAgICAgICAgICB0b3A6IDUwJTtcclxuICAgICAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAxMDBkdmg7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAudmpzLWJpZy1wbGF5LWJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgICAgIGJvcmRlcjogMCBub25lO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmLnZpZGVvLWpzLS1kZWZhdWx0IHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAudmpzLXBvc3RlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLS1zcXVhcmUge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDQ4MHB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcblxyXG4gICAgICAgICAgICAjdnNsVmlkZW8ge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDEwMCU7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC52anMtcG9zdGVyIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYtLWZ1bGxzY3JlZW4ge1xyXG4gICAgICAgICAgICAudmpzLWNvbnRyb2wtYmFyIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC52anMtYmlnLXBsYXktY2VudGVyZWQ6bm90KC52anMtZnVsbHNjcmVlbikge1xyXG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmI3smfS0tYmlnUGxheVdpdGhUZXh0IHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG1hcC1nZXQoJHZpZGVvLXN0cnVjdHVyZSwgZ3JhZGllbnQpO1xyXG5cclxuICAgICAgICAgICAgJl9fcGxhY2Vob2xkZXIge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAudmlkZW8tanMge1xyXG4gICAgICAgICAgICAgICAgLnZqcy1iaWctcGxheS1idXR0b24ge1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogdmFyKC0tc2l6ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IHZhcigtLXNpemUpO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjMDAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTMuM2VtO1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMCBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgLjU2KTtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICAgICAgICAgICAgICAgIHRvcDogNTAlO1xyXG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiBjYWxjKHZhcigtLXNpemUpICogLS41KTtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogY2FsYyh2YXIoLS1zaXplKSAqIC0uNSk7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICAgICAgICAgICAgICAgICAgICBhbmltYXRpb246IHB1bHNpbmcgMXMgaW5maW5pdGU7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAtLXNpemU6IDEzMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAtLXNpemVJbm5lcjogMTAwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAnPHRhYmxldC1taWQnKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC0tc2l6ZTogMjUwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC0tc2l6ZUlubmVyOiAyMDBweDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldC1taWQnKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC0tc2l6ZTogMzgwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC0tc2l6ZUlubmVyOiAzMDBweDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiB2YXIoLS1zaXplSW5uZXIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogdmFyKC0tc2l6ZUlubmVyKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiBjYWxjKCh2YXIoLS1zaXplSW5uZXIpIC0gdmFyKC0tc2l6ZSkpIC8gMiAqIC0xKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogY2FsYygodmFyKC0tc2l6ZUlubmVyKSAtIHZhcigtLXNpemUpKSAvIDIgKiAtMSk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldC1taWQnKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDUwJTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiQ0xJQ0sgSEVSRSBUTyBQTEFZIFZJREVPXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogdmFyKC0td2lkdGgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDYwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiA3MHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiBjYWxjKDUwJSAtICh2YXIoLS13aWR0aCkgLyAyKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjMjAxRjFGO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LXNoYWRvdzogMHB4IDNweCA2cHggIzAwMDAwMDgwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLS13aWR0aDogNzZweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMjlweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJzx0YWJsZXQtbWlkJykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLS13aWR0aDogMTE1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDQxcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldC1taWQnKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLXdpZHRoOiAxODVweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgLnZqcy1pY29uLXBsYWNlaG9sZGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiB2YXIoLS1zaXplKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogdmFyKC0tc2l6ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuXHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoLTEpIHJvdGF0ZSg0NWRlZyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoaHR0cHM6Ly9kdGpsaGlhaGx2NTNqLmNsb3VkZnJvbnQubmV0L2Fzc2V0cy9udWNpZmljL2Jpb3g0LXZzbC1wYWdlL2QvYXJyb3ctcmlnaHQuc3ZnKSBjZW50ZXIvY29udGFpbiBuby1yZXBlYXQ7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS1zaXplOiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogNTVweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByaWdodDogMThweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAnPHRhYmxldC1taWQnKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS1zaXplOiAzNnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogODBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByaWdodDogNDVweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQtbWlkJykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tc2l6ZTogNzBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDEyNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiA2MHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKHZhcigtLXNpemUpICogMi4zKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogY2FsYyh2YXIoLS1zaXplKSAqIDIuMyk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS1zaXplOiAzOXB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMTBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiA1NCU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHNjYWxlKDAuNCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJzx0YWJsZXQtbWlkJykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tc2l6ZTogMzlweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDUwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogNTUlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHNjYWxlKDEpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldC1taWQnKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS1zaXplOiA0MHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMTBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiA1NSU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHNjYWxlKDEuMik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIC52anMtaWNvbi1wbGFjZWhvbGRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzAwMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjAwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgI3ZzbFZpZGVvVGh1bWIudmpzLWNvbnRyb2xzLWRpc2FibGVkIC52anMtYmlnLXBsYXktYnV0dG9uIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxufSIsIi8vLSBSZXNldCBFeHRlbmRlZCAtIE9uIHRoaXMgcGFydGlhbCBJJ2xsIGV4dGVuZCB0aGUgRXJpYyBNZXllciByZXNldCBmaWxlIGJ5IGFkZGluZyBtb2Rlcm4gYW5kIHVzZWZ1bGwgc2VsZWN0b3JzXHJcblxyXG4vLy0gT3ZlcnJpZGUgZGVmYXVsdCBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgc28gd2lkdGggaXMgbm90IGFmZmVjdGVkIGJ5IHBhZGRpbmcgYW5kIGJvcmRlciBwcm9wZXJ0aWVzXHJcbmh0bWwge1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxufVxyXG5cclxuLy8tIEluaGVyaXQgcm9vdCBib3gtc2l6aW5nIHZhbHVlIHRvIGFsbCBET00gZWxlbWVudHNcclxuKixcclxuKjo6YmVmb3JlLFxyXG4qOjphZnRlciB7IGJveC1zaXppbmc6IGluaGVyaXQ7IH1cclxuXHJcbi8vLSBTZXQgYm9keSB0byBmaWxsIHZpZXdwb3J0LCBvcHRpbWl6ZSB0ZXh0LXJlbmRlcmluZyBhbmQgc21vb3RoIHNjcm9sbGluZ1xyXG5ib2R5IHtcclxuICAgIG1pbi1oZWlnaHQ6IDEwMGR2aDsgXHJcbiAgICBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDsgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7IC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XHJcbiAgICAvLy0gTm90ZSB0ZXh0LXJlbmRlcmluZyBzaG91bGQgYmUgY2hvc2VuIGRlcGVuZGluZyBvbiB1c2VkIGZvbnQtZmFtaWx5IGFuZCBwZXJmb3JtYW5jZSBnb2Fsc1xyXG4gICAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTsgLy8tIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0NTUy90ZXh0LXJlbmRlcmluZ1xyXG59XHJcblxyXG4vLy0gUmVzZXQgYW5jaG9yIGxvb2sgJiBiZWhhdmlvdXJcclxuYSB7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgY29sb3I6IGluaGVyaXQ7IGN1cnNvcjogcG9pbnRlcjsgfVxyXG5cclxuYnV0dG9uIHsgXHJcbiAgICBwYWRkaW5nOiAwOyBcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyBjb2xvcjogaW5oZXJpdDsgYm9yZGVyLXdpZHRoOiAwOyBjdXJzb3I6cG9pbnRlcjsgXHJcbn1cclxuXHJcbi8vLSBBZGl0aW9uYWwgdG8gcmVzZXQuc2NzcywgcmVtb3ZlIG1hcmdpbiBvbiBGRjMrIFxyXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXHJcbmlucHV0OjotbW96LWZvY3VzLWlubmVyIHsgbWFyZ2luOiAwOyB9XHJcbiIsIi8vLSBGb250IGZhbWlsaWVzXG5ib2R5IHtcbiAgICBmb250LWZhbWlseTogJG1haW5Gb250O1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjb2xvcjogJHRleHRDb2xvcjtcbn1cblxuaDEge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0taDEtZnMpO1xuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcbiAgICBjb2xvcjogdmFyKC0tdGl0bGVDb2xvcik7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbn1cblxuaDIge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0taDItZnMpO1xuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgY29sb3I6ICR3aGl0ZTtcblxuICAgIHNtYWxsIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi10b3A6IC4yNWVtO1xuICAgICAgICBmb250LXNpemU6IC44ZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbGlnaHQ7XG4gICAgICAgIGNvbG9yOiAkdGV4dENvbG9yTGlnaHQ7XG4gICAgfVxufVxuXG5oMyB7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tZWxlbWVudHMtZmxvdyk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1oMy1mcyk7XG4gICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG59XG5cbmg0IHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKHZhcigtLWVsZW1lbnRzLWZsb3cpICogMik7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tZWxlbWVudHMtZmxvdyk7XG59XG5cbnA6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tZWxlbWVudHMtZmxvdyk7XG59XG5cbmIsIHN0cm9uZyB7XG4gICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkbGVzcztcbn1cblxuZW0ge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxub2wge1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLWVsZW1lbnRzLWZsb3cpO1xuICAgIHBhZGRpbmctbGVmdDogY2FsYyh2YXIoLS1lbGVtZW50cy1mbG93KSAqIDIpO1xuXG4gICAgbGkgKyBsaSB7XG4gICAgICAgIG1hcmdpbi10b3A6IGNhbGModmFyKC0tZWxlbWVudHMtZmxvdykgLyAyKTtcbiAgICB9XG59XG5cbmJyIHtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1lbGVtZW50cy1mbG93KTtcbn1cblxuYSB7XG4gICAgJixcbiAgICAmOmhvdmVyLFxuICAgICY6YWN0aXZlIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8Ym9vdC1kZXNrdG9wXCIpIHtcbiAgICAgICAgICAgIGNvbG9yOiAkdGV4dENvbG9yO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5zdXAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IC0uNWVtO1xuICAgIGZvbnQtc2l6ZTogNzUlO1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cbiIsImJvZHkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5Q29sb3I7XG4gICAgfVxufVxuXG5tYWluIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbm1haW4+c2VjdGlvbiB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgLy8tIHRvIHJlbW92ZSBob3Jpem9udGFsIHNjcm9sbCBjcmVhdGVkIGJ5IG5lZ2F0aXZlIHBvc2l0aW9uIG9mIGRlY29yYXRpdmUgYmctaW1hZ2VzIGxvY2F0ZWQgb24gdGhlIHJpZ2h0IHNpZGVcbn1cblxuW2NsYXNzXj1cImNvbnRhaW5lclwiXSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiB2YXIoLS1jb250YWluZXItbWF4LXdpZHRoKTtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgcGFkZGluZy1yaWdodDogJGdyaWQtZ3V0dGVyLXdpZHRoIC8gMjtcbiAgICBwYWRkaW5nLWxlZnQ6ICRncmlkLWd1dHRlci13aWR0aCAvIDI7XG59IiwiLmhpZGUsIC5oaWRkZW4ge1xyXG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uc2hvdyB7XHJcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uaW52aXNpYmxlIHtcclxuICAgIHZpc2liaWxpdHk6IGhpZGRlbiAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4vLyAuYnIge1xyXG4vLyAgICAgd2hpdGUtc3BhY2U6IHByZTsgLy8tIHByZXNlcnZlIHdoaXRlc3BhY2VcclxuXHJcbi8vICAgICAmLS1ub3Qtc21hbGwtbW9iaWxlIHtcclxuLy8gICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1tb2JpbGUnKSB7XHJcbi8vICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4vLyAgICAgICAgIH1cclxuLy8gICAgIH1cclxuXHJcbi8vICAgICAmLS1zbWFsbC1tb2JpbGUge1xyXG4vLyAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8bW9iaWxlJykge1xyXG4vLyAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuLy8gICAgICAgICB9XHJcbi8vICAgICB9XHJcblxyXG4vLyAgICAgJi0tbW9iaWxlIHtcclxuLy8gICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1tb2JpbGUnLCAnPHRhYmxldCcpIHtcclxuLy8gICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbi8vICAgICAgICAgfVxyXG4vLyAgICAgfVxyXG5cclxuLy8gICAgICYtLW1vYmlsZS1tYXgge1xyXG4vLyAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8bW9iaWxlLW1heCcpIHtcclxuLy8gICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbi8vICAgICAgICAgfVxyXG4vLyAgICAgfVxyXG5cclxuLy8gICAgICYtLXRhYmxldCB7XHJcbi8vICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJzxkZXNrdG9wJykge1xyXG4vLyAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuLy8gICAgICAgICB9XHJcbi8vICAgICB9XHJcblxyXG4vLyAgICAgJi0tdGFibGV0LWxhbmRzY2FwZSB7XHJcbi8vICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJzxkZXNrdG9wJywgJ2xhbmRzY2FwZScpIHtcclxuLy8gICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbi8vICAgICAgICAgfVxyXG4vLyAgICAgfVxyXG5cclxuLy8gICAgICYtLWRlc2t0b3Age1xyXG4vLyAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbi8vICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4vLyAgICAgICAgIH1cclxuLy8gICAgIH1cclxuLy8gfVxyXG5cclxuLy8gLm5vd3JhcCB7XHJcbi8vICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4vLyB9XHJcbiIsIi8vLSBCdXR0b25zIHBhcnRpYWxcbltyb2xlPSdidXR0b24nXSB7XG4gICAgQGluY2x1ZGUgbWVkaWEoJ2hvdmVyJywgJ2ZpbmUnKSB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG59XG5cbi5idG4geyBcbiAgICBkaXNwbGF5OiBmbGV4OyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZmxleC1iYXNpczogYXV0bzsgbWFyZ2luOiAwIGF1dG87XG5cbiAgICAmLmRpc2FibGVkLCBbZGlzYWJsZWRdIHtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxufVxuXG5cblxuLm5leHRTdGVwIHtcbiAgICBAZXh0ZW5kICVib3gtc2hhZG93O1xuICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IHZhcigtLW1heC1jdGEtd2lkdGgpO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIGZvbnQtc2l6ZTogMjZweDtcbiAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XG4gICAgbGluZS1oZWlnaHQ6IDIuNTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYm9yZGVyOiAwIG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogNTBweDtcbiAgICAtd2Via2l0LWFuaW1hdGlvbjogZmFkZWluIDJzO1xuICAgIGFuaW1hdGlvbjogZmFkZWluIDJzO1xuXG4gICAgJixcbiAgICAmOmhvdmVyIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBjb2xvcjogdmFyKC0tdGV4dENvbG9yKTtcbiAgICB9XG5cbiAgICAmLmhpZGRlbiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cbiAgICBcbiAgICAmLS1ncmFkaWVudCB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6ICRidXR0b25HcmFkaWVudDtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGJsYWNrO1xuICAgIH1cblxuICAgICYtLXNvbGlkIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbkNvbG9yO1xuICAgIH1cblxuICAgICYtLXdoaXRlIHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICB9XG5cbiAgICAmLS1ibGFjayB7XG4gICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgfVxufVxuIiwiLy8tIFBhcnRpYWwgZm9yIFNWRyBzcHJpdGUgaWNvbnNcclxuLmljb24ge1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgZGlzcGxheTogaW5saW5lLWJsb2NrOyB3aWR0aDogMWVtOyBoZWlnaHQ6IDFlbTsgbWFyZ2luOiAwO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyBmb250LXNpemU6IDFlbTsgLyogZGVmYXVsdC1zaXplICovXHJcbiAgICBmaWxsOiBpbmhlcml0OyAvKiBkZWZhdWx0IGNvbG9yICovIFxyXG4gICAgY29sb3I6IGluaGVyaXQ7IC8qIGRlZmF1bHQgY29sb3Igd2hlbiBjdXJyZW50Q29sb3IgaXMgdXNlZCAqL1xyXG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7IHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG59XHJcbiIsIkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcclxuXHJcbi5oZWFkZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIHBhZGRpbmctYmxvY2s6IDE1cHg7XHJcbiAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xyXG5cclxuICAgIFtjbGFzc149XCJjb250YWluZXJcIl0ge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIH1cclxuXHJcbiAgICAmX19sb2dvIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgd2lkdGg6IHZhcigtLWhlYWRlci1sb2dvLXdpZHRoKTtcclxuXHJcbiAgICAgICAgLmhlYWRlci0tc3ZnICYge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHZhcigtLWhlYWRlci1sb2dvLXdpZHRoKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5oZWFkZXItLWltZyAmIHtcclxuICAgICAgICAgICAgd2lkdGg6IDU1JTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5pY29uIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiB2YXIoLS1oZWFkZXItbG9nby1oZWlnaHQpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGJvZHkudmlkZW8tLWZ1bGxzY3JlZW4gJiB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxufVxyXG4iLCJAaW1wb3J0IFwidmFyaWFibGVzXCI7XHJcblxyXG4udnNsLS12aWRhbHl0aWNzIHtcclxuICAgIC52aWRlbyB7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIG1heC13aWR0aDogdmFyKC0tbWF4VmlkZW8tdyk7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IGNhbGModmFyKC0tZGVmYXVsdC1yYWRpdXMpICogMik7XHJcblxyXG4gICAgICAgIGJvZHkudmlkZW8tLWZ1bGxzY3JlZW4gJiB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDEwMGR2aDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLlRlY2hfX3dyYXBwZXIge1xyXG4gICAgICAgIGJvZHkudmlkZW8tLWZ1bGxzY3JlZW4gJiB7XHJcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDEwMGR2aDtcclxuICAgICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuVGh1bWJuYWlsX19pbWFnZS0tc3RyZXRjaGVkIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gICAgfVxyXG59IiwiLnBwIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNlY29uZGFyeUNvbG9yKTtcclxuXHJcbiAgICAmX19oZWFkZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgcGFkZGluZy1ibG9jazogMTVweDtcclxuICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG4gICAgICAgIGgxIHtcclxuICAgICAgICAgICAgY29sb3I6IHZhcigtLXRleHRDb2xvcik7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBoMSB7XHJcbiAgICAgICAgICAgIHNtYWxsIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogdmFyKC0tZWxlbWVudHMtZmxvdyk7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDgwJTtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgYiB7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9fY29udGVudExpc3Qge1xyXG4gICAgICAgIHBhZGRpbmctYmxvY2s6IGNhbGModmFyKC0tZWxlbWVudHMtZmxvdykgKiAyKTtcclxuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XHJcbiAgICB9XHJcblxyXG4gICAgJl9faXRlbTpub3QoOmxhc3QtY2hpbGQpIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigtLWVsZW1lbnRzLWZsb3cpICogMyk7XHJcbiAgICB9XHJcblxyXG4gICAgdGFibGUge1xyXG4gICAgICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoLS1lbGVtZW50cy1mbG93KSAqIDIpO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tdGFibGUtZm9udC1zaXplKTtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBibGFjaztcclxuICAgICAgICBcclxuICAgICAgICB0ciwgdGQge1xyXG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBibGFjaztcclxuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRkIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMC41ZW07XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiLnRjIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNlY29uZGFyeUNvbG9yKTtcclxuXHJcbiAgICAmX19oZWFkZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgcGFkZGluZy1ibG9jazogMTVweDtcclxuICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgXHJcbiAgICAgICAgaDEge1xyXG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tdGV4dENvbG9yKTtcclxuICAgICAgICB9XHJcbiAgICBcclxuICAgICAgICBoMSB7XHJcbiAgICAgICAgICAgIHNtYWxsIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogdmFyKC0tZWxlbWVudHMtZmxvdyk7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDgwJTtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgICAgICBiIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19jb250ZW50TGlzdCB7XHJcbiAgICAgICAgcGFkZGluZy1ibG9jazogY2FsYyh2YXIoLS1lbGVtZW50cy1mbG93KSAqIDIpO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcclxuICAgIH1cclxuXHJcbiAgICAmX19pdGVtOm5vdCg6bGFzdC1jaGlsZCkge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tZWxlbWVudHMtZmxvdykgKiAzKTtcclxuICAgIH1cclxufSIsIjpyb290IHtcclxuICAgIC0tZm9vdGVyLWxvZ28td2lkdGg6IDk4cHg7XHJcbiAgICAtLWZvb3Rlci1sb2dvLWhlaWdodDogLjYyMjIyZW07XHJcbiAgICAtLWZvb3Rlci1zdGF0ZW1lbnQtZm9udC1zaXplOiAxMnB4O1xyXG4gICAgLS1mb290ZXItbGVnYWwtZm9udC1zaXplOiAxNHB4O1xyXG4gICAgLS1mb290ZXItYWRkcmVzcy1mb250LXNpemU6IDE0cHg7XHJcbiAgICBcclxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPG1vYmlsZVwiKSB7XHJcbiAgICAgICAgLS1mb290ZXItbGVnYWwtZm9udC1zaXplOiAxMnB4O1xyXG4gICAgICAgIC0tZm9vdGVyLWFkZHJlc3MtZm9udC1zaXplOiAxMnB4O1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xyXG4gICAgICAgIC0tZm9vdGVyLXN0YXRlbWVudC1mb250LXNpemU6IDE0cHg7XHJcbiAgICAgICAgLS1mb290ZXItbGVnYWwtZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgIC0tZm9vdGVyLWFkZHJlc3MtZm9udC1zaXplOiAxNnB4O1xyXG4gICAgfVxyXG59IiwiQGltcG9ydCBcInZhcmlhYmxlc1wiO1xyXG5cclxuLmZvb3RlciB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB6LWluZGV4OiAxO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIHBhZGRpbmctYmxvY2s6IGNhbGModmFyKC0tZWxlbWVudHMtZmxvdykqNCk7XHJcbiAgICBjb2xvcjogJGJsYWNrO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xyXG5cclxuICAgIFtjbGFzc149XCJjb250YWluZXJcIl0ge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGdhcDogY2FsYyh2YXIoLS1lbGVtZW50cy1mbG93KSAqIDIpO1xyXG4gICAgfVxyXG5cclxuICAgICZfX2xvZ28ge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICB3aWR0aDogdmFyKC0tZm9vdGVyLWxvZ28td2lkdGgpO1xyXG5cclxuICAgICAgICAuZm9vdGVyLS1zdmcgJiB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9vdGVyLWxvZ28td2lkdGgpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmZvb3Rlci0taW1nICYge1xyXG4gICAgICAgICAgICB3aWR0aDogNTUlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmljb24ge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IHZhcigtLWZvb3Rlci1sb2dvLWhlaWdodCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9fc3RhdGVtZW50IHtcclxuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvb3Rlci1zdGF0ZW1lbnQtZm9udC1zaXplKTtcclxuICAgICAgICBsaW5lLWhlaWdodDogMS42O1xyXG4gICAgfVxyXG5cclxuICAgICZfX2xlZ2FsIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGdhcDogdmFyKC0tZWxlbWVudHMtZmxvdyk7XHJcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb290ZXItbGVnYWwtZm9udC1zaXplKTtcclxuICAgIH1cclxuXHJcbiAgICAmX19hZGRyZXNzIHtcclxuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvb3Rlci1hZGRyZXNzLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjtcclxuICAgIH1cclxufVxyXG4iLCI6cm9vdCB7XHJcbiAgICAtLWhlYWRlci1sb2dvLXdpZHRoOiA5OHB4O1xyXG4gICAgLS1oZWFkZXItbG9nby1oZWlnaHQ6IC42MjIyMmVtO1xyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xyXG4gICAgICAgIC0taGVhZGVyLWxvZ28td2lkdGg6IDEzNXB4O1xyXG4gICAgfVxyXG59IiwiLnRjIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNlY29uZGFyeUNvbG9yKTtcclxuXHJcbiAgICAmX19oZWFkZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgcGFkZGluZy1ibG9jazogMTVweDtcclxuICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgXHJcbiAgICAgICAgaDEge1xyXG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tdGV4dENvbG9yKTtcclxuICAgICAgICB9XHJcbiAgICBcclxuICAgICAgICBoMSB7XHJcbiAgICAgICAgICAgIHNtYWxsIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogdmFyKC0tZWxlbWVudHMtZmxvdyk7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDgwJTtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgICAgICBiIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19jb250ZW50TGlzdCB7XHJcbiAgICAgICAgcGFkZGluZy1ibG9jazogY2FsYyh2YXIoLS1lbGVtZW50cy1mbG93KSAqIDIpO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcclxuICAgIH1cclxuXHJcbiAgICAmX19pdGVtOm5vdCg6bGFzdC1jaGlsZCkge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tZWxlbWVudHMtZmxvdykgKiAzKTtcclxuICAgIH1cclxufSIsIi5zZWVuT24ge1xyXG4gICAgcGFkZGluZy1ibG9jazogY2FsYyh2YXIoLS1lbGVtZW50cy1mbG93KSAqIDQpO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbWFpbkNvbG9yKTtcclxuXHJcbiAgICAmX190aXRsZSB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tZWxlbWVudHMtZmxvdykgKiAyKTtcclxuICAgICAgICB6LWluZGV4OiAxO1xyXG5cclxuICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbWFpbkNvbG9yKTtcclxuICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6IGNhbGModmFyKC0tZWxlbWVudHMtZmxvdykgKiAyKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB0b3A6IDUwJTtcclxuICAgICAgICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGhlaWdodDogMnB4O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IC41O1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgICAgICAgICAgei1pbmRleDogLTE7XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogOTAlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX2xpc3Qge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7ICBcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBnYXA6IGNhbGModmFyKC0tZWxlbWVudHMtZmxvdykgLyAyKTtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XHJcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICAgICAgZ2FwOiBjYWxjKHZhcigtLWVsZW1lbnRzLWZsb3cpICogMik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX2l0ZW0ge1xyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xyXG4gICAgICAgICAgICBmbGV4OiAwIDEgY2FsYyg1MCUgLSBjYWxjKHZhcigtLWVsZW1lbnRzLWZsb3cpICogMikpO1xyXG4gICAgICAgICAgICB3aWR0aDogY2FsYyg1MCUgLSBjYWxjKHZhcigtLWVsZW1lbnRzLWZsb3cpICogMikpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiOnJvb3Qge1xyXG4gICAgLS12c2wtcmFkaXVzOiBjYWxjKHZhcigtLWRlZmF1bHQtcmFkaXVzKSAqIDIpO1xyXG5cclxuICAgIC0tc291bmRCYW5uZXItZnM6IDE2cHg7XHJcblxyXG4gICAgLS1tYXgtY3RhLXdpZHRoOiAzNDBweDtcclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XHJcbiAgICAgICAgLS1zb3VuZEJhbm5lci1mczogMjBweDtcclxuICAgIH1cclxufSIsIkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcclxuXHJcbi52c2wge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgcGFkZGluZy1ibG9jazogY2FsYyh2YXIoLS1lbGVtZW50cy1mbG93KSAqIDIpIGNhbGModmFyKC0tZWxlbWVudHMtZmxvdykgKiA0KTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNlY29uZGFyeUNvbG9yKTtcclxuXHJcbiAgICBib2R5LnZpZGVvLS1mdWxsc2NyZWVuICYge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xyXG4gICAgfVxyXG5cclxuICAgIFtjbGFzc149XCJjb250YWluZXJcIl0ge1xyXG4gICAgICAgIGJvZHkudmlkZW8tLWZ1bGxzY3JlZW4gJiB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX3RpdGxlIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigtLWVsZW1lbnRzLWZsb3cpICogMik7XHJcblxyXG4gICAgICAgICYtLWR5bmFtaWMtdGl0bGUge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cclxuICAgICAgICAgICAgYiB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IC41ZW07XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWxpZ2h0O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICR0aXRsZUNvbG9yO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBib2R5LnZpZGVvLS1mdWxsc2NyZWVuICYge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19zdWJ0aXRsZSB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogLjgzMzMzZW07XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuICAgICAgICBib2R5LnZpZGVvLS1mdWxsc2NyZWVuICYge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuZmFkZUluIHtcclxuICAgICAgICBhbmltYXRpb24tbmFtZTogYXBwZWFyO1xyXG4gICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogLjVzO1xyXG4gICAgfVxyXG5cclxuICAgIC5mYWRlT3V0IHtcclxuICAgICAgICBhbmltYXRpb24tbmFtZTogZGlzYXBwZWFyO1xyXG4gICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogLjVzO1xyXG4gICAgfVxyXG5cclxuICAgIC5zb3VuZEJhbm5lciB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGdhcDogdmFyKC0tZWxlbWVudHMtZmxvdyk7XHJcbiAgICAgICAgcGFkZGluZzogY2FsYyh2YXIoLS1lbGVtZW50cy1mbG93KSAqIDIpIHZhcigtLWVsZW1lbnRzLWZsb3cpO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XHJcbiAgICAgICAgICAgIGdhcDogY2FsYyh2YXIoLS1lbGVtZW50cy1mbG93KSAvIDEuNSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5zb3VuZEJhbm5lcl9fY29udGVudCB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgIGdhcDogY2FsYyh2YXIoLS1lbGVtZW50cy1mbG93KSAvIDIpO1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgICAgICBnYXA6IGNhbGModmFyKC0tZWxlbWVudHMtZmxvdykgLyA0KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnNvdW5kQmFubmVyX19jb250ZW50LFxyXG4gICAgLnNvdW5kQmFubmVyX19jb250ZW50IGIge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tc291bmRCYW5uZXItZnMpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcclxuICAgICAgICBjb2xvcjogIzAwMDtcclxuICAgICAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xyXG4gICAgfVxyXG5cclxuICAgIC5zb3VuZEJhbm5lcl9fY29udGVudCBiIHtcclxuICAgICAgICBjb2xvcjogdmFyKC0tdGl0bGVDb2xvcik7XHJcbiAgICB9XHJcblxyXG4gICAgLmljb24uaWNvbi0tc3BlYWtlciB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxLjg3NWVtO1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS10aXRsZUNvbG9yKTtcclxuICAgIH1cclxufSJdfQ== */
