html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{border:0;font-size:100%;font:inherit;vertical-align:baseline;margin:0;padding:0}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:none}table{border-collapse:collapse;border-spacing:0}html{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}*,*:before,*:after{-webkit-box-sizing:inherit;-moz-box-sizing:inherit;box-sizing:inherit}#content-inner #content h1,#main.mission #content .copy h1{font-family:"Lucida Grande", "Lucida Sans Unicode", Arial, sans-serif}#main.donate{height:auto}#main.donate .page-footer p.legal{font-size:10px;line-height:10px}#content-inner{max-width:68em;margin-left:auto;margin-right:auto;max-width:75em;background-image:-webkit-linear-gradient(top, #fff 93%, #ADABAB);background-image:linear-gradient(to bottom, #fff 93%, #ADABAB)}@media screen and (max-width: 960px){#content-inner #donate-address{padding-left:50px}}#content-inner:after{content:"";display:table;clear:both}#content-inner .donate-header{margin-bottom:20px}#content-inner .donate-header img{width:100%}#content-inner #content{float:left;display:block;margin-right:2.35765%;width:100%}#content-inner #content:last-child{margin-right:0}@media screen and (min-width: 960px){#content-inner #content{float:left;display:block;margin-right:2.35765%;width:65.88078%}#content-inner #content:last-child{margin-right:0}}#content-inner #content h1{font-size:3em;color:red;font-style:italic;font-weight:bold;text-align:center}@media screen and (min-width: 960px){#content-inner #content h1{font-size:4em}}#content-inner #content .copy{font-size:1.2em}@media screen and (min-width: 960px){#content-inner #content .copy{padding-left:5%;font-size:1.3em}}#content-inner #content .copy p{padding-left:30px;padding-right:30px;line-height:1.4;font-family:Verdana,Geneva,sans-serif;margin-bottom:2em}#content-inner #content .copy p:first-of-type{padding-top:3.4375em}@media screen and (max-width: 960px){#content-inner #content .copy p:first-of-type{padding-top:1.25em}}#content-inner #content .copy p:last-of-type{font-size:0.7em;font-weight:lighter;color:rgba(0,0,0,0.69)}#content-inner #content .copy p span{font-weight:bold}#content-inner #content .copy p#donate-copy{font-family:Book Antiqua,Palatino,Palatino Linotype,Palatino LT STD,Georgia,serif;font-style:italic;font-weight:bold}#content-inner #content .copy p #antiqua{font-family:Book Antiqua,Palatino,Palatino Linotype,Palatino LT STD,Georgia,serif;font-style:italic;font-weight:bold}#content-inner #sidebar-image{position:relative}@media screen and (min-width: 960px){#content-inner #sidebar-image{float:left;display:block;margin-right:2.35765%;width:31.76157%;margin-right:0}#content-inner #sidebar-image:last-child{margin-right:0}}#content-inner #sidebar-image img{position:absolute;top:0;left:50%;-webkit-transform:translate(-50%);-moz-transform:translate(-50%);-ms-transform:translate(-50%);-o-transform:translate(-50%);transform:translate(-50%);position:relative;width:60%}@media screen and (min-width: 960px){#content-inner #sidebar-image img{width:80%}}#content-inner .page-footer{float:left;display:block;margin-right:2.35765%;width:100%}#content-inner .page-footer:last-child{margin-right:0}#content-inner .page-footer p{margin-top:30px;margin-bottom:10px;padding-left:20px;padding-right:20px}#content-inner #content h1,#main.mission #content .copy h1{font-family:"Lucida Grande", "Lucida Sans Unicode", Arial, sans-serif}#main.mission{height:auto}#main.mission .page-footer p.legal{font-size:10px;line-height:10px}#main.mission .mission-header img{width:100%}#main.mission #content-inner{background-image:url("../assets/images/clouds.jpg");background-size:cover;background-position:top left}#main.mission #content .hands-up{background-repeat:no-repeat;background-size:contain;background-position:top center;float:left;display:block;margin-right:2.35765%;width:100%}#main.mission #content .hands-up.mobile{background-size:contain}#main.mission #content .hands-up.mobile img{width:100%;margin-bottom:40px}@media screen and (min-width: 960px){#main.mission #content .hands-up.mobile{display:none}}#main.mission #content .hands-up.desktop{background-image:url("../assets/images/oliver-hands.png");height:800px}@media screen and (max-width: 960px){#main.mission #content .hands-up.desktop{display:none}}#main.mission #content .hands-up:last-child{margin-right:0}#main.mission #content .copy{padding-top:70px}@media screen and (max-width: 960px){#main.mission #content .copy{font-size:1em}}#main.mission #content .copy h1{font-weight:bold}#main.mission #content .copy p:first-of-type{padding-top:0;margin-top:20px}@media screen and (max-width: 960px){#main.mission #content-inner #sidebar-image{float:left;display:block;margin-right:2.35765%;width:100%}#main.mission #content-inner #sidebar-image:last-child{margin-right:0}}#main.mission #content-inner #sidebar-image img{width:60%}@media screen and (min-width: 960px){#main.mission #content-inner #sidebar-image img:first-of-type{width:100%}}body.main,html.main{height:100%}#main{width:100%;height:100%;background-image:url("../assets/images/main-bg-min.jpg");background-size:cover;position:relative}#main .container,#main .row{height:100%;width:100%;max-height:800px;position:absolute;top:50%;left:0;-webkit-transform:translate(0, -50%);-moz-transform:translate(0, -50%);-ms-transform:translate(0, -50%);-o-transform:translate(0, -50%);transform:translate(0, -50%)}.oliver{height:50%;background-image:url("../assets/images/oliver.png");background-position:center bottom;background-size:contain;background-repeat:no-repeat;z-index:1;float:left;display:block;margin-right:2.35765%;width:100%;position:relative;top:2%}.oliver:last-child{margin-right:0}@media screen and (min-width: 960px){.oliver{display:none}}.headline{top:2%;height:30%;position:relative;background-position:bottom center;background-size:contain;background-repeat:no-repeat;background-image:url("../assets/images/headline.png");float:left;display:block;margin-right:2.35765%;width:100%}.headline:last-child{margin-right:0}@media screen and (min-width: 960px){.headline{float:left;display:block;margin-right:2.35765%;width:48.82117%;background-image:url("../assets/images/oliver-with-headline.png");position:relative;z-index:1;width:100%;height:500px}.headline:last-child{margin-right:0}}.footer{height:20%;width:100%;position:relative;top:-2%;z-index:0;float:left;display:block;margin-right:2.35765%;width:100%;background-image:-webkit-linear-gradient( bottom , #fff 30%, #b9b9b9);background-image:linear-gradient(to top, #fff 30%, #b9b9b9)}.footer:last-child{margin-right:0}@media screen and (max-width: 960px){.footer{position:relative;top:0;right:0;bottom:0;left:0}}.footer-copy{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%, -50%);-moz-transform:translate(-50%, -50%);-ms-transform:translate(-50%, -50%);-o-transform:translate(-50%, -50%);transform:translate(-50%, -50%);font-family:Palatino,"Palatino Linotype","Palatino LT STD","Book Antiqua",Georgia,serif;font-style:italic;font-size:1.3em;font-weight:bold;text-align:center;color:#566ca7;margin-top:2%;line-height:0.8;width:100%;padding-left:5%;padding-right:5%}.footer-copy.home{margin-top:0}@media screen and (min-width: 960px){.footer-copy{font-size:3.2em}}p.legal{margin-top:8px;line-height:8px;font-size:7px;font-family:"Helvetica Neue", Helvetica, Arial, sans-serif;color:black;font-style:normal;font-weight:normal;padding-top:7px;text-align:center}a{text-decoration:none;color:red}a:hover{color:#900}


/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJtYXBwaW5ncyI6IkFBQUEsMFpBQTBaLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsNkVBQTZFLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxtREFBbUQsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENDQ3Z2QixJQUFLLENDUUMsa0JBQW9CLENEUEosVUFBVSxDQ1kxQixlQUFpQixDRFpELFVBQVUsQ0MyQjFCLFVBQVksQ0QzQkksVUFBVSxDQUk5QixrQkFBcUIsQ0NHakIsa0JBQW9CLENERkYsT0FBTyxDQ096QixlQUFpQixDRFBDLE9BQU8sQ0NzQnpCLFVBQVksQ0R0Qk0sT0FBTyxDRVBqQywwREFBUSxDQUNOLFdBQVcsQ0FBRSx5REFBeUQsQ0FHeEUsWUFBYSxDQUNYLE1BQU0sQ0FBRSxJQUFJLENBRVYsaUNBQVEsQ0FDTixTQUFTLENBQUUsSUFBSSxDQUNmLFdBQVcsQ0FBRSxJQUFJLENBS3JCLGNBQVEsQ0NnQlIsU0FBUyxDQ1JDLElBQVEsQ0RVaEIsV0FBSSxDQUFFLElBQUksQ0FDVixZQUFLLENBQUUsSUFBSSxDRFpYLFNBQVMsQ0FBRSxJQUFRLENHa0JyQixnQkFBZ0IsQ0FKRSwrQ0FBNEMsQ0FLOUQsZ0JBQWdCLENBSkUsNkNBQTRDLENDa0Q1RCxvQ0FBdUIsQ0p2RXZCLDhCQUFnQixDQUVaLFlBQVksQ0FBRSxJQUFJLEVLSHhCLG9CQUFRLENBQ04sT0FBTyxDQUFDLEVBQUUsQ0FDVixPQUFPLENBQUMsS0FBSyxDQUNiLEtBQUssQ0FBQyxJQUFJLENMT1YsNkJBQWUsQ0FJYixhQUFhLENBQUUsSUFBSSxDQUhuQixpQ0FBSSxDQUNILEtBQUssQ0FBRSxJQUFJLENBS2QsdUJBQVMsQ01nQ1QsS0FBSyxDQUFFLElBQXNCLENBRzNCLE9BQU8sQ0FBRSxLQUFLLENBZWQsWUFBb0IsQ0FBRSxRQUErQixDQUNyRCxLQUFLLENBQUUsSUFBdUMsQ0FFOUMsa0NBQWEsQ0FDWCxZQUFvQixDQUFFLENBQUMsQ0ZDM0Isb0NBQXVCLENKdkR2Qix1QkFBUyxDTWdDVCxLQUFLLENBQUUsSUFBc0IsQ0FHM0IsT0FBTyxDQUFFLEtBQUssQ0FlZCxZQUFvQixDQUFFLFFBQStCLENBQ3JELEtBQUssQ0FBRSxTQUF1QyxDQUU5QyxrQ0FBYSxDQUNYLFlBQW9CLENBQUUsQ0FBQyxFTmpEekIsMEJBQUcsQ0FDRCxTQUFTLENBQUUsR0FBRyxDQUVkLEtBQUssQ0FBRSxHQUFHLENBQ1YsVUFBVSxDQUFFLE1BQU0sQ0FDbEIsV0FBVyxDQUFFLElBQUksQ0FDakIsVUFBVSxDQUFFLE1BQU0sQ0k0Q3RCLG9DQUF1QixDSmxEckIsMEJBQUcsQ0FRQyxTQUFTLENBQUUsR0FBRyxFQUlsQiw2QkFBTSxDQUVKLFNBQVMsQ0FBRSxLQUFLLENJb0NwQixvQ0FBdUIsQ0p0Q3JCLDZCQUFNLENBSUYsWUFBWSxDQUFFLEVBQUUsQ0FDaEIsU0FBUyxDQUFFLEtBQUssRUFFbEIsK0JBQUUsQ0FZQSxZQUFZLENBQUUsSUFBSSxDQUNsQixhQUFhLENBQUUsSUFBSSxDQUNuQixXQUFXLENBQUUsR0FBRyxDQUNoQixXQUFXLENBQUUseUJBQXlCLENBQ3RDLGFBQWEsQ0FBRSxHQUFHLENBZmxCLDZDQUFnQixDQUNkLFdBQVcsQ0FBRSxRQUFNLENJNkIzQixvQ0FBdUIsQ0o5QmpCLDZDQUFnQixDQUdaLFdBQVcsQ0FBRSxNQUFNLEVBR3ZCLDRDQUFlLENBQ2IsU0FBUyxDQUFFLEtBQUssQ0FDaEIsV0FBVyxDQUFFLE9BQU8sQ0FDcEIsS0FBSyxDQUFFLGdCQUFtQixDQU81QixvQ0FBSyxDQUNILFdBQVcsQ0FBRSxJQUFJLENBR25CLDJDQUFjLENBQ1osV0FBVyxDQUFFLHFFQUFxRSxDQUNsRixVQUFVLENBQUUsTUFBTSxDQUNsQixXQUFXLENBQUUsSUFBSSxDQUVuQix3Q0FBUyxDQUNQLFdBQVcsQ0FBRSxxRUFBcUUsQ0FDbEYsVUFBVSxDQUFFLE1BQU0sQ0FDbEIsV0FBVyxDQUFFLElBQUksQ0FRekIsNkJBQWUsQ0FHYixRQUFRLENBQUUsUUFBUSxDSVRwQixvQ0FBdUIsQ0pNdkIsNkJBQWUsQ003QmYsS0FBSyxDQUFFLElBQXNCLENBRzNCLE9BQU8sQ0FBRSxLQUFLLENBZWQsWUFBb0IsQ0FBRSxRQUErQixDQUNyRCxLQUFLLENBQUUsU0FBdUMsQ0M3QjlDLFlBQW9CLENBQUUsQ0FBQyxDRCtCdkIsd0NBQWEsQ0FDWCxZQUFvQixDQUFFLENBQUMsRU5rQnpCLGlDQUFJLENRekZSLFFBQVEsQ0NGVSxRQUFRLENES3hCLEdBQUcsQ0FSQyxDQUFvQixDQW9CeEIsSUFBSSxDQWpCQyxHQUFvQixDVEhyQixpQkFBb0IsQ0FBRSxlQUFNLENBSzVCLGNBQWlCLENBQUUsZUFBTSxDQUt6QixhQUFnQixDQUFFLGVBQU0sQ0FLeEIsWUFBZSxDQUFFLGVBQU0sQ0FLdkIsU0FBWSxDQUFFLGVBQU0sQ0M0RXBCLFFBQVEsQ0FBRSxRQUFRLENBQ2xCLEtBQUssQ0FBRSxHQUFHLENJcEJkLG9DQUF1QixDSmlCckIsaUNBQUksQ0FLQSxLQUFLLENBQUUsR0FBRyxFQU1wQiwyQkFBYSxDTW5EVCxLQUFLLENBQUUsSUFBc0IsQ0FHM0IsT0FBTyxDQUFFLEtBQUssQ0FlZCxZQUFvQixDQUFFLFFBQStCLENBQ3JELEtBQUssQ0FBRSxJQUF1QyxDQUU5QyxzQ0FBYSxDQUNYLFlBQW9CLENBQUUsQ0FBQyxDTmdDN0IsNkJBQUUsQ0FDQSxVQUFVLENBQUUsSUFBSSxDQUNoQixhQUFhLENBQUUsSUFBSSxDQUNuQixZQUFZLENBQUUsSUFBSSxDQUNsQixhQUFhLENBQUUsSUFBSSxDVXpIdkIsMERBQVEsQ0FDTixXQUFXLENBQUUseURBQXlELENBR3hFLGFBQWMsQ0FPWixNQUFNLENBQUUsSUFBSSxDQUxWLGtDQUFRLENBQ04sU0FBUyxDQUFFLElBQUksQ0FDZixXQUFXLENBQUUsSUFBSSxDQU1uQixpQ0FBSSxDQUNGLEtBQUssQ0FBRSxJQUFJLENBTWIsNEJBQVEsQ0FDTixnQkFBZ0IsQ0FBRSxrQ0FBa0MsQ0FDcEQsZUFBZSxDQUFFLEtBQUssQ0FDdEIsbUJBQW1CLENBQUUsUUFBUSxDQUcvQixnQ0FBVSxDQTBCUixpQkFBaUIsQ0FBRSxTQUFTLENBQzVCLGVBQWUsQ0FBRSxPQUFPLENBQ3hCLG1CQUFtQixDQUFFLFVBQVUsQ0pRakMsS0FBSyxDQUFFLElBQXNCLENBRzNCLE9BQU8sQ0FBRSxLQUFLLENBZWQsWUFBb0IsQ0FBRSxRQUErQixDQUNyRCxLQUFLLENBQUUsSUFBdUMsQ0lyRDlDLHVDQUFTLENBRVAsZUFBZSxDQUFFLE9BQU8sQ0FFeEIsMkNBQUksQ0FDRixLQUFLLENBQUUsSUFBSSxDQUNYLGFBQWEsQ0FBRSxJQUFJLENObUR6QixvQ0FBdUIsQ016RHJCLHVDQUFTLENBVUwsT0FBTyxDQUFFLElBQUksRUFJakIsd0NBQVUsQ0FDUixnQkFBZ0IsQ0FBRSx3Q0FBd0MsQ0FDMUQsTUFBTSxDQUFFLEtBQUssQ055Q2pCLG9DQUF1QixDTTNDckIsd0NBQVUsQ0FJTixPQUFPLENBQUUsSUFBSSxFSnFDakIsMkNBQWEsQ0FDWCxZQUFvQixDQUFFLENBQUMsQ0kzQjNCLDRCQUFNLENBQ0osV0FBVyxDQUFFLElBQUksQ04yQm5CLG9DQUF1QixDTTVCdkIsNEJBQU0sQ0FHRixTQUFTLENBQUUsR0FBRyxFQUdoQiwrQkFBRyxDQUVELFdBQVcsQ0FBRSxJQUFJLENBR25CLDRDQUFnQixDQUNkLFdBQVcsQ0FBRSxDQUFDLENBQ2QsVUFBVSxDQUFFLElBQUksQ05lcEIsb0NBQXVCLENNVnJCLDJDQUFlLENKYmpCLEtBQUssQ0FBRSxJQUFzQixDQUczQixPQUFPLENBQUUsS0FBSyxDQWVkLFlBQW9CLENBQUUsUUFBK0IsQ0FDckQsS0FBSyxDQUFFLElBQXVDLENBRTlDLHNEQUFhLENBQ1gsWUFBb0IsQ0FBRSxDQUFDLEVJTHZCLCtDQUFJLENBQ0YsS0FBSyxDQUFFLEdBQUcsQ05LaEIsb0NBQXVCLENNSmpCLDZEQUFnQixDQUVaLEtBQUssQ0FBRSxJQUFJLEVDdEV6QixtQkFBcUIsQ0FDbkIsTUFBTSxDQUFFLElBQUksQ0FHZCxLQUFNLENBQ0osS0FBSyxDQUFFLElBQUksQ0FDWCxNQUFNLENBQUUsSUFBSSxDQUNaLGdCQUFnQixDQUFFLHVDQUFhLENBQy9CLGVBQWUsQ0FBRSxLQUFLLENBQ3RCLFFBQVEsQ0FBRSxRQUFRLENBRWxCLDJCQUFpQixDQ2hCZixNQUFNLENBUEEsSUFBTyxDQVdiLEtBQUssQ0FYQyxJQUFPLENEeUJiLFVBQVUsQ0FBRSxLQUFLLENIYm5CLFFBQVEsQ0NHVSxRQUFRLENEQXhCLEdBQUcsQ0FSQyxHQUFvQixDQW9CeEIsSUFBSSxDQWpCQyxDQUFvQixDVEhyQixpQkFBb0IsQ0FBRSxrQkFBTSxDQUs1QixjQUFpQixDQUFFLGtCQUFNLENBS3pCLGFBQWdCLENBQUUsa0JBQU0sQ0FLeEIsWUFBZSxDQUFFLGtCQUFNLENBS3ZCLFNBQVksQ0FBRSxrQkFBTSxDWUk1QixPQUFRLENBQ04sTUFBTSxDQUFDLEdBQUcsQ0FDVixnQkFBZ0IsQ0FBRSxrQ0FBa0IsQ0FDcEMsbUJBQW1CLENBQUUsYUFBYSxDQUNsQyxlQUFlLENBQUUsT0FBTyxDQUN4QixpQkFBaUIsQ0FBRSxTQUFTLENBQzVCLE9BQU8sQ0FBRSxDQUFDLENMd0JSLEtBQUssQ0FBRSxJQUFzQixDQUczQixPQUFPLENBQUUsS0FBSyxDQWVkLFlBQW9CLENBQUUsUUFBK0IsQ0FDckQsS0FBSyxDQUFFLElBQXVDLENFcEVsRCxRQUFRLENHMkJVLFFBQVEsQ0h4QnhCLEdBQUcsQ0FSQyxFQUFvQixDRjJFdEIsa0JBQWEsQ0FDWCxZQUFvQixDQUFFLENBQUMsQ0ZDM0Isb0NBQXVCLENPckQzQixPQUFRLENBV0osT0FBTyxDQUFFLElBQUksRUFNakIsU0FBVSxDQUNSLEdBQUcsQ0FBRSxFQUFFLENBQ1AsTUFBTSxDQUFFLEdBQUcsQ0FDWCxRQUFRLENBQUUsUUFBUSxDQUNsQixtQkFBbUIsQ0FBRSxhQUFhLENBQ2xDLGVBQWUsQ0FBRSxPQUFPLENBQ3hCLGlCQUFpQixDQUFFLFNBQVMsQ0FDNUIsZ0JBQWdCLENBQUUsb0NBQWMsQ0xNOUIsS0FBSyxDQUFFLElBQXNCLENBRzNCLE9BQU8sQ0FBRSxLQUFLLENBZWQsWUFBb0IsQ0FBRSxRQUErQixDQUNyRCxLQUFLLENBQUUsSUFBdUMsQ0FFOUMsb0JBQWEsQ0FDWCxZQUFvQixDQUFFLENBQUMsQ0ZDM0Isb0NBQXVCLENPcEMzQixTQUFVLENMYU4sS0FBSyxDQUFFLElBQXNCLENBRzNCLE9BQU8sQ0FBRSxLQUFLLENBZWQsWUFBb0IsQ0FBRSxRQUErQixDQUNyRCxLQUFLLENBQUUsU0FBdUMsQ0twQmhELGdCQUFnQixDQUFFLGdEQUF5QixDQUMzQyxRQUFRLENBQUUsUUFBUSxDQUNsQixPQUFPLENBQUUsQ0FBQyxDQUNWLEtBQUssQ0FBRSxJQUFJLENBQ1gsTUFBTSxDQUFFLEtBQUssQ0xrQlgsb0JBQWEsQ0FDWCxZQUFvQixDQUFFLENBQUMsRUtkL0IsT0FBUSxDQUNOLE1BQU0sQ0FBRSxHQUFHLENBQ1gsS0FBSyxDQUFFLElBQUksQ0FDWCxRQUFRLENBQUUsUUFBUSxDQUNsQixHQUFHLENBQUUsR0FBRyxDQUNSLE9BQU8sQ0FBRSxDQUFDLENMYlIsS0FBSyxDQUFFLElBQXNCLENBRzNCLE9BQU8sQ0FBRSxLQUFLLENBZWQsWUFBb0IsQ0FBRSxRQUErQixDQUNyRCxLQUFLLENBQUUsSUFBdUMsQ0gzQ2xELGdCQUFnQixDQUpFLG9EQUE0QyxDQUs5RCxnQkFBZ0IsQ0FKRSwwQ0FBNEMsQ0dnRDFELGtCQUFhLENBQ1gsWUFBb0IsQ0FBRSxDQUFDLENGQzNCLG9DQUF1QixDT2YzQixPQUFRLENIekROLFFBQVEsQ0dtRVksUUFBUSxDSGhFMUIsR0FBRyxDQVJDLENBQW9CLENBWXhCLEtBQUssQ0FYQyxDQUFvQixDQWUxQixNQUFNLENBZEMsQ0FBb0IsQ0FrQjNCLElBQUksQ0FqQkMsQ0FBb0IsRUd3RTNCLFlBQU8sQ0h0RVAsUUFBUSxDQ1BVLFFBQVEsQ0RVeEIsR0FBRyxDQVJDLEdBQW9CLENBb0J4QixJQUFJLENBakJDLEdBQW9CLENUSHJCLGlCQUFvQixDQUFFLHFCQUFNLENBSzVCLGNBQWlCLENBQUUscUJBQU0sQ0FLekIsYUFBZ0IsQ0FBRSxxQkFBTSxDQUt4QixZQUFlLENBQUUscUJBQU0sQ0FLdkIsU0FBWSxDQUFFLHFCQUFNLENZeUR4QixXQUFXLENFakZKLDJFQUFRLENGa0ZmLFVBQVUsQ0FBRSxNQUFNLENBQ2xCLFNBQVMsQ0UzRU0sS0FBSyxDRjRFcEIsV0FBVyxDQUFFLElBQUksQ0FDakIsVUFBVSxDQUFFLE1BQU0sQ0FDbEIsS0FBSyxDRS9FSSxPQUFPLENGZ0ZoQixVQUFVLENBQUUsRUFBRSxDQUNkLFdBQVcsQ0FBRSxHQUFHLENBQ2hCLEtBQUssQ0FBRSxJQUFJLENBQ1gsWUFBWSxDQUFFLEVBQUUsQ0FDaEIsYUFBYSxDQUFFLEVBQUUsQ0FFakIsaUJBQU8sQ0FDTCxVQUFVLENBQUUsQ0FBQyxDUGJmLG9DQUF1QixDT0Z6QixZQUFPLENBbUJKLFNBQVMsQ0V6Rk0sS0FBSyxFRmdHckIsT0FBUSxDQUNOLFVBQVUsQ0FBRSxHQUFHLENBQ2YsV0FBVyxDQUFFLEdBQUcsQ0FDaEIsU0FBUyxDQUFFLEdBQUcsQ0FDZCxXQUFXLENBQUUsOENBQThDLENBQzNELEtBQUssQ0FBRSxLQUFLLENBQ1osVUFBVSxDQUFFLE1BQU0sQ0FDbEIsV0FBVyxDQUFFLE1BQU0sQ0FDbkIsV0FBVyxDQUFFLEdBQUcsQ0FDaEIsVUFBVSxDQUFFLE1BQU0sQ0FFcEIsQ0FBRSxDQUNBLGVBQWUsQ0FBRSxJQUFJLENBQ3JCLEtBQUssQ0VoSEUsR0FBTyxDRmlIZCxPQUFRLENBQ04sS0FBSyxDQUFFLElBQW9CIiwic291cmNlcyI6WyJfcmVzZXQuc2NzcyIsIm5lYXQvZ3JpZC9fYm94LXNpemluZy5zY3NzIiwiYm91cmJvbi9hZGRvbnMvX3ByZWZpeGVyLnNjc3MiLCJfZG9uYXRlLnNjc3MiLCJuZWF0L2dyaWQvX291dGVyLWNvbnRhaW5lci5zY3NzIiwibmVhdC9zZXR0aW5ncy9fZ3JpZC5zY3NzIiwiYm91cmJvbi9jc3MzL19iYWNrZ3JvdW5kLWltYWdlLnNjc3MiLCJuZWF0L2dyaWQvX21lZGlhLnNjc3MiLCJib3VyYm9uL2FkZG9ucy9fY2xlYXJmaXguc2NzcyIsIm5lYXQvZ3JpZC9fc3Bhbi1jb2x1bW5zLnNjc3MiLCJuZWF0L2dyaWQvX29tZWdhLnNjc3MiLCJib3VyYm9uL2FkZG9ucy9fcG9zaXRpb24uc2NzcyIsIl9taXhpbnMuc2NzcyIsIl9taXNzaW9uLnNjc3MiLCJhcHAuc2NzcyIsImJvdXJib24vYWRkb25zL19zaXplLnNjc3MiLCJfdmFyaWFibGVzLnNjc3MiXSwibmFtZXMiOltdLCJmaWxlIjoiYXBwLmNzcyIsInNvdXJjZXNDb250ZW50IjpbImh0bWwsYm9keSxkaXYsc3BhbixhcHBsZXQsb2JqZWN0LGlmcmFtZSxoMSxoMixoMyxoNCxoNSxoNixwLGJsb2NrcXVvdGUscHJlLGEsYWJicixhY3JvbnltLGFkZHJlc3MsYmlnLGNpdGUsY29kZSxkZWwsZGZuLGVtLGltZyxpbnMsa2JkLHEscyxzYW1wLHNtYWxsLHN0cmlrZSxzdHJvbmcsc3ViLHN1cCx0dCx2YXIsYix1LGksY2VudGVyLGRsLGR0LGRkLG9sLHVsLGxpLGZpZWxkc2V0LGZvcm0sbGFiZWwsbGVnZW5kLHRhYmxlLGNhcHRpb24sdGJvZHksdGZvb3QsdGhlYWQsdHIsdGgsdGQsYXJ0aWNsZSxhc2lkZSxjYW52YXMsZGV0YWlscyxlbWJlZCxmaWd1cmUsZmlnY2FwdGlvbixmb290ZXIsaGVhZGVyLGhncm91cCxtZW51LG5hdixvdXRwdXQscnVieSxzZWN0aW9uLHN1bW1hcnksdGltZSxtYXJrLGF1ZGlvLHZpZGVve2JvcmRlcjowO2ZvbnQtc2l6ZToxMDAlO2ZvbnQ6aW5oZXJpdDt2ZXJ0aWNhbC1hbGlnbjpiYXNlbGluZTttYXJnaW46MDtwYWRkaW5nOjB9YXJ0aWNsZSxhc2lkZSxkZXRhaWxzLGZpZ2NhcHRpb24sZmlndXJlLGZvb3RlcixoZWFkZXIsaGdyb3VwLG1lbnUsbmF2LHNlY3Rpb257ZGlzcGxheTpibG9ja31ib2R5e2xpbmUtaGVpZ2h0OjF9b2wsdWx7bGlzdC1zdHlsZTpub25lfWJsb2NrcXVvdGUscXtxdW90ZXM6bm9uZX1ibG9ja3F1b3RlOmJlZm9yZSxibG9ja3F1b3RlOmFmdGVyLHE6YmVmb3JlLHE6YWZ0ZXJ7Y29udGVudDpub25lfXRhYmxle2JvcmRlci1jb2xsYXBzZTpjb2xsYXBzZTtib3JkZXItc3BhY2luZzowfSIsIkBpZiAkYm9yZGVyLWJveC1zaXppbmcgPT0gdHJ1ZSB7XG4gIGh0bWwgeyAvLyBodHRwOi8vYml0Lmx5LzFxazJ0VlJcbiAgICBAaW5jbHVkZSBib3gtc2l6aW5nKGJvcmRlci1ib3gpO1xuICB9XG5cbiAgKiB7XG4gICAgJiwgJjpiZWZvcmUsICY6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgYm94LXNpemluZyhpbmhlcml0KTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbi8vIEV4YW1wbGU6IEBpbmNsdWRlIHByZWZpeGVyKGJvcmRlci1yYWRpdXMsICRyYWRpaSwgd2Via2l0IG1zIHNwZWMpO1xuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuLy8gVmFyaWFibGVzIGxvY2F0ZWQgaW4gL3NldHRpbmdzL19wcmVmaXhlci5zY3NzXG5cbkBtaXhpbiBwcmVmaXhlciAoJHByb3BlcnR5LCAkdmFsdWUsICRwcmVmaXhlcykge1xuICBAZWFjaCAkcHJlZml4IGluICRwcmVmaXhlcyB7XG4gICAgQGlmICRwcmVmaXggPT0gd2Via2l0IHtcbiAgICAgIEBpZiAkcHJlZml4LWZvci13ZWJraXQge1xuICAgICAgICAtd2Via2l0LSN7JHByb3BlcnR5fTogJHZhbHVlO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSBpZiAkcHJlZml4ID09IG1veiB7XG4gICAgICBAaWYgJHByZWZpeC1mb3ItbW96aWxsYSB7XG4gICAgICAgIC1tb3otI3skcHJvcGVydHl9OiAkdmFsdWU7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIGlmICRwcmVmaXggPT0gbXMge1xuICAgICAgQGlmICRwcmVmaXgtZm9yLW1pY3Jvc29mdCB7XG4gICAgICAgIC1tcy0jeyRwcm9wZXJ0eX06ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2UgaWYgJHByZWZpeCA9PSBvIHtcbiAgICAgIEBpZiAkcHJlZml4LWZvci1vcGVyYSB7XG4gICAgICAgIC1vLSN7JHByb3BlcnR5fTogJHZhbHVlO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSBpZiAkcHJlZml4ID09IHNwZWMge1xuICAgICAgQGlmICRwcmVmaXgtZm9yLXNwZWMge1xuICAgICAgICAjeyRwcm9wZXJ0eX06ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2UgIHtcbiAgICAgIEB3YXJuIFwiVW5yZWNvZ25pemVkIHByZWZpeDogI3skcHJlZml4fVwiO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZGlzYWJsZS1wcmVmaXgtZm9yLWFsbCgpIHtcbiAgJHByZWZpeC1mb3Itd2Via2l0OiAgICBmYWxzZSAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1tb3ppbGxhOiAgIGZhbHNlICFnbG9iYWw7XG4gICRwcmVmaXgtZm9yLW1pY3Jvc29mdDogZmFsc2UgIWdsb2JhbDtcbiAgJHByZWZpeC1mb3Itb3BlcmE6ICAgICBmYWxzZSAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1zcGVjOiAgICAgIGZhbHNlICFnbG9iYWw7XG59XG4iLCIlbXlyaWFkIHtcbiAgZm9udC1mYW1pbHk6IFwiTHVjaWRhIEdyYW5kZVwiLCBcIkx1Y2lkYSBTYW5zIFVuaWNvZGVcIiwgQXJpYWwsIHNhbnMtc2VyaWY7XG59XG5cbiNtYWluLmRvbmF0ZSB7XG4gIGhlaWdodDogYXV0bztcbiAgLnBhZ2UtZm9vdGVyIHtcbiAgICBwLmxlZ2FsIHtcbiAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxMHB4O1xuICAgIH1cbiAgfVxufVxuI2NvbnRlbnQge1xuICAmLWlubmVyIHtcbiAgICAjZG9uYXRlLWFkZHJlc3Mge1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDUwcHg7XG4gICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIG91dGVyLWNvbnRhaW5lcigpO1xuICAgIG1heC13aWR0aDogZW0oMTIwMCk7XG4gICAgQGluY2x1ZGUgYmFja2dyb3VuZC1pbWFnZShsaW5lYXItZ3JhZGllbnQodG9wLCB3aGl0ZSA5MyUsICNBREFCQUIpKTtcblxuICAgIC5kb25hdGUtaGVhZGVyIHtcbiAgICAgIGltZyB7XG4gICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIH1cblxuICAgICNjb250ZW50IHtcbiAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucygxMik7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgkbWVkaXVtKSB7XG4gICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg4KTtcbiAgICAgIH1cbiAgICAgIGgxIHtcbiAgICAgICAgZm9udC1zaXplOiAzZW07XG4gICAgICAgIEBleHRlbmQgJW15cmlhZDtcbiAgICAgICAgY29sb3I6IHJlZDtcbiAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkbWVkaXVtKSB7XG4gICAgICAgICAgZm9udC1zaXplOiA0ZW07XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmNvcHkge1xuXG4gICAgICAgIGZvbnQtc2l6ZTogMS4yZW07XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCRtZWRpdW0pIHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDUlO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS4zZW07XG4gICAgICAgIH1cbiAgICAgICAgcCB7XG4gICAgICAgICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiBlbSg1NSk7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICAgICAgICAgIHBhZGRpbmctdG9wOiBlbSgyMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC43ZW07XG4gICAgICAgICAgICBmb250LXdlaWdodDogbGlnaHRlcjtcbiAgICAgICAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNjkpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS40O1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiBWZXJkYW5hLEdlbmV2YSxzYW5zLXNlcmlmO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDJlbTtcbiAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICYjZG9uYXRlLWNvcHkge1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6IEJvb2sgQW50aXF1YSxQYWxhdGlubyxQYWxhdGlubyBMaW5vdHlwZSxQYWxhdGlubyBMVCBTVEQsR2VvcmdpYSxzZXJpZjtcbiAgICAgICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgIH1cbiAgICAgICAgICAjYW50aXF1YSB7XG4gICAgICAgICAgICBmb250LWZhbWlseTogQm9vayBBbnRpcXVhLFBhbGF0aW5vLFBhbGF0aW5vIExpbm90eXBlLFBhbGF0aW5vIExUIFNURCxHZW9yZ2lhLHNlcmlmO1xuICAgICAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgfVxuXG5cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICNzaWRlYmFyLWltYWdlIHtcblxuICAgICAgLy9AaW5jbHVkZSBzcGFuLWNvbHVtbnMoNSk7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgkbWVkaXVtKSB7XG4gICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg0KTtcbiAgICAgICAgQGluY2x1ZGUgb21lZ2EoKTtcbiAgICAgIH1cblxuXG5cbiAgICAgIGltZyB7XG4gICAgICAgIEBpbmNsdWRlIGNlbnRlci14O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHdpZHRoOiA2MCU7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCRtZWRpdW0pIHtcbiAgICAgICAgICB3aWR0aDogODAlO1xuICAgICAgICB9XG5cbiAgICAgIH1cbiAgICB9XG5cbi5wYWdlLWZvb3RlciB7XG4gIEBpbmNsdWRlIHNwYW4tY29sdW1ucygxMik7XG5cbiAgcCB7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICB9XG4gIC8vQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIG51bGwgbnVsbCAwIG51bGwpO1xufVxuXG4gIH1cbn1cblxuXG4iLCIvLy8gTWFrZXMgYW4gZWxlbWVudCBhIG91dGVyIGNvbnRhaW5lciBieSBjZW50cmluZyBpdCBpbiB0aGUgdmlld3BvcnQsIGNsZWFyaW5nIGl0cyBmbG9hdHMsIGFuZCBzZXR0aW5nIGl0cyBgbWF4LXdpZHRoYC5cbi8vLyBBbHRob3VnaCBvcHRpb25hbCwgdXNpbmcgYG91dGVyLWNvbnRhaW5lcmAgaXMgcmVjb21tZW5kZWQuIFRoZSBtaXhpbiBjYW4gYmUgY2FsbGVkIG9uIG1vcmUgdGhhbiBvbmUgZWxlbWVudCBwZXIgcGFnZSwgYXMgbG9uZyBhcyB0aGV5IGFyZSBub3QgbmVzdGVkLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXIgKHVuaXQpfSAkbG9jYWwtbWF4LXdpZHRoICgkbWF4LXdpZHRoKVxuLy8vICAgTWF4IHdpZHRoIHRvIGJlIGFwcGxpZWQgdG8gdGhlIGVsZW1lbnQuIENhbiBiZSBhIHBlcmNlbnRhZ2Ugb3IgYSBtZWFzdXJlLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIG91dGVyLWNvbnRhaW5lcigxMDAlKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgKnpvb206IDE7XG4vLy8gICAgIG1heC13aWR0aDogMTAwJTtcbi8vLyAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4vLy8gICAgIG1hcmdpbi1yaWdodDogYXV0bztcbi8vLyAgIH1cbi8vL1xuLy8vICAgLmVsZW1lbnQ6YmVmb3JlLCAuZWxlbWVudDphZnRlciB7XG4vLy8gICAgIGNvbnRlbnQ6IFwiIFwiO1xuLy8vICAgICBkaXNwbGF5OiB0YWJsZTtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLmVsZW1lbnQ6YWZ0ZXIge1xuLy8vICAgICBjbGVhcjogYm90aDtcbi8vLyAgIH1cblxuQG1peGluIG91dGVyLWNvbnRhaW5lcigkbG9jYWwtbWF4LXdpZHRoOiAkbWF4LXdpZHRoKSB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXgtd2lkdGg6ICRsb2NhbC1tYXgtd2lkdGg7XG4gIG1hcmdpbjoge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IGF1dG87XG4gIH1cbn1cbiIsIi8vLyBTZXRzIHRoZSByZWxhdGl2ZSB3aWR0aCBvZiBhIHNpbmdsZSBncmlkIGNvbHVtbi4gVGhlIHVuaXQgdXNlZCBzaG91bGQgYmUgdGhlIHNhbWUgb25lIHVzZWQgdG8gZGVmaW5lIGAkZ3V0dGVyYC4gVG8gbGVhcm4gbW9yZSBhYm91dCBnb2xkZW4tcmF0aW8oKSBzZWUgW0JvdXJib24gZG9jc10oaHR0cDovL2JvdXJib24uaW8vZG9jcy8jZ29sZGVuLXJhdGlvKS4gU2V0IHdpdGggYSBgIWdsb2JhbGAgZmxhZy5cbi8vL1xuLy8vIEB0eXBlIE51bWJlciAoVW5pdClcblxuJGNvbHVtbjogZ29sZGVuLXJhdGlvKDFlbSwgMykgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIHRoZSByZWxhdGl2ZSB3aWR0aCBvZiBhIHNpbmdsZSBncmlkIGd1dHRlci4gVGhlIHVuaXQgdXNlZCBzaG91bGQgYmUgdGhlIHNhbWUgb25lIHVzZWQgdG8gZGVmaW5lIGAkY29sdW1uYC4gVG8gbGVhcm4gbW9yZSBhYm91dCBnb2xkZW4tcmF0aW8oKSBzZWUgW0JvdXJib24gZG9jc10oaHR0cDovL2JvdXJib24uaW8vZG9jcy8jZ29sZGVuLXJhdGlvKS4gU2V0IHdpdGggdGhlIGAhZ2xvYmFsYCBmbGFnLlxuLy8vXG4vLy8gQHR5cGUgTnVtYmVyIChVbml0KVxuXG4kZ3V0dGVyOiBnb2xkZW4tcmF0aW8oMWVtLCAxKSAhZGVmYXVsdDtcblxuLy8vIFNldHMgdGhlIHRvdGFsIG51bWJlciBvZiBjb2x1bW5zIGluIHRoZSBncmlkLiBJdHMgdmFsdWUgY2FuIGJlIG92ZXJyaWRkZW4gaW5zaWRlIGEgbWVkaWEgcXVlcnkgdXNpbmcgdGhlIGBtZWRpYSgpYCBtaXhpbi4gU2V0IHdpdGggdGhlIGAhZ2xvYmFsYCBmbGFnLlxuLy8vXG4vLy8gQHR5cGUgTnVtYmVyIChVbml0bGVzcylcblxuJGdyaWQtY29sdW1uczogMTIgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIHRoZSBtYXgtd2lkdGggcHJvcGVydHkgb2YgdGhlIGVsZW1lbnQgdGhhdCBpbmNsdWRlcyBgb3V0ZXItY29udGFpbmVyKClgLiBUbyBsZWFybiBtb3JlIGFib3V0IGBlbSgpYCBzZWUgW0JvdXJib24gZG9jc10oaHR0cDovL2JvdXJib24uaW8vZG9jcy8jcHgtdG8tZW0pLiBTZXQgd2l0aCB0aGUgYCFnbG9iYWxgIGZsYWcuXG4vLy9cbi8vLyBAdHlwZSBOdW1iZXIgKFVuaXQpXG4vLy9cbiRtYXgtd2lkdGg6IGVtKDEwODgpICFkZWZhdWx0O1xuXG4vLy8gV2hlbiBzZXQgdG8gdHJ1ZSwgaXQgc2V0cyB0aGUgYm94LXNpemluZyBwcm9wZXJ0eSBvZiBhbGwgZWxlbWVudHMgdG8gYGJvcmRlci1ib3hgLiBTZXQgd2l0aCBhIGAhZ2xvYmFsYCBmbGFnLlxuLy8vXG4vLy8gQHR5cGUgQm9vbFxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgaHRtbCB7XG4vLy8gICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbi8vLyAgICAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuLy8vICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG4vLy9cbi8vLyAgICosICo6YmVmb3JlLCAqOmFmdGVyIHtcbi8vLyAgICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBpbmhlcml0O1xuLy8vICAgICAtbW96LWJveC1zaXppbmc6IGluaGVyaXQ7XG4vLy8gICAgIGJveC1zaXppbmc6IGluaGVyaXQ7XG4vLy8gICB9XG5cbiRib3JkZXItYm94LXNpemluZzogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgdGhlIGRlZmF1bHQgW21lZGlhIGZlYXR1cmVdKGh0dHA6Ly93d3cudzMub3JnL1RSL2NzczMtbWVkaWFxdWVyaWVzLyNtZWRpYSkgdGhhdCBgbWVkaWEoKWAgYW5kIGBuZXctYnJlYWtwb2ludCgpYCByZXZlcnQgdG8gd2hlbiBvbmx5IGEgYnJlYWtwb2ludCB2YWx1ZSBpcyBwYXNzZWQuIFNldCB3aXRoIGEgYCFnbG9iYWxgIGZsYWcuXG4vLy9cbi8vLyBAdHlwZSBTdHJpbmdcblxuJGRlZmF1bHQtZmVhdHVyZTogbWluLXdpZHRoOyAvLyBEZWZhdWx0IEBtZWRpYSBmZWF0dXJlIGZvciB0aGUgYnJlYWtwb2ludCgpIG1peGluXG5cbi8vL1NldHMgdGhlIGRlZmF1bHQgbGF5b3V0IGRpcmVjdGlvbiBvZiB0aGUgZ3JpZC4gQ2FuIGJlIGBMVFJgIG9yIGBSVExgLiBTZXQgd2l0aCBhIGAhZ2xvYmFsYCBmbGFnLlxuLy8vXG4vLy9AdHlwZSBTdHJpbmdcblxuJGRlZmF1bHQtbGF5b3V0LWRpcmVjdGlvbjogTFRSICFkZWZhdWx0O1xuIiwiLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuLy8gQmFja2dyb3VuZC1pbWFnZSBwcm9wZXJ0eSBmb3IgYWRkaW5nIG11bHRpcGxlIGJhY2tncm91bmQgaW1hZ2VzIHdpdGhcbi8vIGdyYWRpZW50cywgb3IgZm9yIHN0cmluZ2luZyBtdWx0aXBsZSBncmFkaWVudHMgdG9nZXRoZXIuXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG5cbkBtaXhpbiBiYWNrZ3JvdW5kLWltYWdlKCRpbWFnZXMuLi4pIHtcbiAgJHdlYmtpdC1pbWFnZXM6ICgpO1xuICAkc3BlYy1pbWFnZXM6ICgpO1xuXG4gIEBlYWNoICRpbWFnZSBpbiAkaW1hZ2VzIHtcbiAgICAkd2Via2l0LWltYWdlOiAoKTtcbiAgICAkc3BlYy1pbWFnZTogKCk7XG5cbiAgICBAaWYgKHR5cGUtb2YoJGltYWdlKSA9PSBzdHJpbmcpIHtcbiAgICAgICR1cmwtc3RyOiAgICAgICBzdHItc2xpY2UoJGltYWdlLCAwLCAzKTtcbiAgICAgICRncmFkaWVudC10eXBlOiBzdHItc2xpY2UoJGltYWdlLCAwLCA2KTtcblxuICAgICAgQGlmICR1cmwtc3RyID09IFwidXJsXCIge1xuICAgICAgICAkd2Via2l0LWltYWdlOiAkaW1hZ2U7XG4gICAgICAgICAgJHNwZWMtaW1hZ2U6ICRpbWFnZTtcbiAgICAgIH1cblxuICAgICAgQGVsc2UgaWYgJGdyYWRpZW50LXR5cGUgPT0gXCJsaW5lYXJcIiB7XG4gICAgICAgICRncmFkaWVudHM6IF9saW5lYXItZ3JhZGllbnQtcGFyc2VyKCRpbWFnZSk7XG4gICAgICAgICR3ZWJraXQtaW1hZ2U6ICBtYXAtZ2V0KCRncmFkaWVudHMsIHdlYmtpdC1pbWFnZSk7XG4gICAgICAgICRzcGVjLWltYWdlOiAgICBtYXAtZ2V0KCRncmFkaWVudHMsIHNwZWMtaW1hZ2UpO1xuICAgICAgfVxuXG4gICAgICBAZWxzZSBpZiAkZ3JhZGllbnQtdHlwZSA9PSBcInJhZGlhbFwiIHtcbiAgICAgICAgJGdyYWRpZW50czogX3JhZGlhbC1ncmFkaWVudC1wYXJzZXIoJGltYWdlKTtcbiAgICAgICAgJHdlYmtpdC1pbWFnZTogbWFwLWdldCgkZ3JhZGllbnRzLCB3ZWJraXQtaW1hZ2UpO1xuICAgICAgICAkc3BlYy1pbWFnZTogICBtYXAtZ2V0KCRncmFkaWVudHMsIHNwZWMtaW1hZ2UpO1xuICAgICAgfVxuICAgIH1cblxuICAgICR3ZWJraXQtaW1hZ2VzOiBhcHBlbmQoJHdlYmtpdC1pbWFnZXMsICR3ZWJraXQtaW1hZ2UsIGNvbW1hKTtcbiAgICAkc3BlYy1pbWFnZXM6ICAgYXBwZW5kKCRzcGVjLWltYWdlcywgICAkc3BlYy1pbWFnZSwgICBjb21tYSk7XG4gIH1cblxuICBiYWNrZ3JvdW5kLWltYWdlOiAkd2Via2l0LWltYWdlcztcbiAgYmFja2dyb3VuZC1pbWFnZTogJHNwZWMtaW1hZ2VzO1xufVxuIiwiLy8vIE91dHB1dHMgYSBtZWRpYS1xdWVyeSBibG9jayB3aXRoIGFuIG9wdGlvbmFsIGdyaWQgY29udGV4dCAodGhlIHRvdGFsIG51bWJlciBvZiBjb2x1bW5zIHVzZWQgaW4gdGhlIGdyaWQpLlxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkcXVlcnlcbi8vLyAgIEEgbGlzdCBvZiBtZWRpYSBxdWVyeSBmZWF0dXJlcyBhbmQgdmFsdWVzLCB3aGVyZSBlYWNoIGAkZmVhdHVyZWAgc2hvdWxkIGhhdmUgYSBjb3JyZXNwb25kaW5nIGAkdmFsdWVgLlxuLy8vICAgRm9yIGEgbGlzdCBvZiB2YWxpZCB2YWx1ZXMgZm9yIGAkZmVhdHVyZWAsIGNsaWNrIFtoZXJlXShodHRwOi8vd3d3LnczLm9yZy9UUi9jc3MzLW1lZGlhcXVlcmllcy8jbWVkaWExKS5cbi8vL1xuLy8vICAgSWYgdGhlcmUgaXMgb25seSBhIHNpbmdsZSBgJHZhbHVlYCBpbiBgJHF1ZXJ5YCwgYCRkZWZhdWx0LWZlYXR1cmVgIGlzIGdvaW5nIHRvIGJlIHVzZWQuXG4vLy9cbi8vLyAgIFRoZSBudW1iZXIgb2YgdG90YWwgY29sdW1ucyBpbiB0aGUgZ3JpZCBjYW4gYmUgc2V0IGJ5IHBhc3NpbmcgYCRjb2x1bW5zYCBhdCB0aGUgZW5kIG9mIHRoZSBsaXN0IChvdmVycmlkZXMgYCR0b3RhbC1jb2x1bW5zYCkuXG4vLy9cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyICh1bml0bGVzcyl9ICR0b3RhbC1jb2x1bW5zICgkZ3JpZC1jb2x1bW5zKVxuLy8vICAgLSBOdW1iZXIgb2YgY29sdW1ucyB0byB1c2UgaW4gdGhlIG5ldyBncmlkIGNvbnRleHQuIENhbiBiZSBzZXQgYXMgYSBzaG9ydGhhbmQgaW4gdGhlIGZpcnN0IHBhcmFtZXRlci5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLnJlc3BvbnNpdmUtZWxlbWVudCB7XG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSg3NjlweCkge1xuLy8vICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNik7XG4vLy8gICAgICB9XG4vLy8gICB9XG4vLy9cbi8vLyAgLm5ldy1jb250ZXh0LWVsZW1lbnQge1xuLy8vICAgIEBpbmNsdWRlIG1lZGlhKG1pbi13aWR0aCAzMjBweCBtYXgtd2lkdGggNDgwcHgsIDYpIHtcbi8vLyAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg2KTtcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY5cHgpIHtcbi8vLyAgICAucmVzcG9uc2l2ZS1lbGVtZW50IHtcbi8vLyAgICAgIGRpc3BsYXk6IGJsb2NrO1xuLy8vICAgICAgZmxvYXQ6IGxlZnQ7XG4vLy8gICAgICBtYXJnaW4tcmlnaHQ6IDIuMzU3NjUlO1xuLy8vICAgICAgd2lkdGg6IDQ4LjgyMTE3JTtcbi8vLyAgICB9XG4vLy9cbi8vLyAgICAucmVzcG9uc2l2ZS1lbGVtZW50Omxhc3QtY2hpbGQge1xuLy8vICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMyMHB4KSBhbmQgKG1heC13aWR0aDogNDgwcHgpIHtcbi8vLyAgICAubmV3LWNvbnRleHQtZWxlbWVudCB7XG4vLy8gICAgICBkaXNwbGF5OiBibG9jaztcbi8vLyAgICAgIGZsb2F0OiBsZWZ0O1xuLy8vICAgICAgbWFyZ2luLXJpZ2h0OiA0LjgyOTE2JTtcbi8vLyAgICAgIHdpZHRoOiAxMDAlO1xuLy8vICAgIH1cbi8vL1xuLy8vICAgIC5uZXctY29udGV4dC1lbGVtZW50Omxhc3QtY2hpbGQge1xuLy8vICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuLy8vICAgIH1cbi8vLyAgfVxuXG5AbWl4aW4gbWVkaWEoJHF1ZXJ5OiAkZmVhdHVyZSAkdmFsdWUgJGNvbHVtbnMsICR0b3RhbC1jb2x1bW5zOiAkZ3JpZC1jb2x1bW5zKSB7XG4gIEBpZiBsZW5ndGgoJHF1ZXJ5KSA9PSAxIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJGRlZmF1bHQtZmVhdHVyZTogbnRoKCRxdWVyeSwgMSkpIHtcbiAgICAgICRkZWZhdWx0LWdyaWQtY29sdW1uczogJGdyaWQtY29sdW1ucztcbiAgICAgICRncmlkLWNvbHVtbnM6ICR0b3RhbC1jb2x1bW5zICFnbG9iYWw7XG4gICAgICBAY29udGVudDtcbiAgICAgICRncmlkLWNvbHVtbnM6ICRkZWZhdWx0LWdyaWQtY29sdW1ucyAhZ2xvYmFsO1xuICAgIH1cbiAgfVxuXG4gIEBlbHNlIHtcbiAgICAkbG9vcC10bzogbGVuZ3RoKCRxdWVyeSk7XG4gICAgJG1lZGlhLXF1ZXJ5OiAnc2NyZWVuIGFuZCAnO1xuICAgICRkZWZhdWx0LWdyaWQtY29sdW1uczogJGdyaWQtY29sdW1ucztcbiAgICAkZ3JpZC1jb2x1bW5zOiAkdG90YWwtY29sdW1ucyAhZ2xvYmFsO1xuXG4gICAgQGlmIG5vdCBpcy1ldmVuKGxlbmd0aCgkcXVlcnkpKSB7XG4gICAgICAkZ3JpZC1jb2x1bW5zOiBudGgoJHF1ZXJ5LCAkbG9vcC10bykgIWdsb2JhbDtcbiAgICAgICRsb29wLXRvOiAkbG9vcC10byAtIDE7XG4gICAgfVxuXG4gICAgJGk6IDE7XG4gICAgQHdoaWxlICRpIDw9ICRsb29wLXRvIHtcbiAgICAgICRtZWRpYS1xdWVyeTogJG1lZGlhLXF1ZXJ5ICsgJygnICsgbnRoKCRxdWVyeSwgJGkpICsgJzogJyArIG50aCgkcXVlcnksICRpICsgMSkgKyAnKSAnO1xuXG4gICAgICBAaWYgKCRpICsgMSkgIT0gJGxvb3AtdG8ge1xuICAgICAgICAkbWVkaWEtcXVlcnk6ICRtZWRpYS1xdWVyeSArICdhbmQgJztcbiAgICAgIH1cblxuICAgICAgJGk6ICRpICsgMjtcbiAgICB9XG5cbiAgICBAbWVkaWEgI3skbWVkaWEtcXVlcnl9IHtcbiAgICAgIEBjb250ZW50O1xuICAgICAgJGdyaWQtY29sdW1uczogJGRlZmF1bHQtZ3JpZC1jb2x1bW5zICFnbG9iYWw7XG4gICAgfVxuICB9XG59XG4iLCIvLyBNb2Rlcm4gbWljcm8gY2xlYXJmaXggcHJvdmlkZXMgYW4gZWFzeSB3YXkgdG8gY29udGFpbiBmbG9hdHMgd2l0aG91dCBhZGRpbmcgYWRkaXRpb25hbCBtYXJrdXAuXG4vL1xuLy8gRXhhbXBsZSB1c2FnZTpcbi8vXG4vLyAgICAvLyBDb250YWluIGFsbCBmbG9hdHMgd2l0aGluIC53cmFwcGVyXG4vLyAgICAud3JhcHBlciB7XG4vLyAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuLy8gICAgICAuY29udGVudCxcbi8vICAgICAgLnNpZGViYXIge1xuLy8gICAgICAgIGZsb2F0IDogbGVmdDtcbi8vICAgICAgfVxuLy8gICAgfVxuXG5AbWl4aW4gY2xlYXJmaXgge1xuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OlwiXCI7XG4gICAgZGlzcGxheTp0YWJsZTtcbiAgICBjbGVhcjpib3RoO1xuICB9XG59XG5cbi8vIEFja25vd2xlZGdlbWVudHNcbi8vIEJlYXQgKnRoYXQqIGNsZWFyZml4OiBbVGhpZXJyeSBLb2JsZW50el0oaHR0cDovL3d3dy5jc3MtMTAxLm9yZy9hcnRpY2xlcy9jbGVhcmZpeC9sYXRlc3QtbmV3LWNsZWFyZml4LXNvLWZhci5waHApXG4iLCIvLy8gU3BlY2lmaWVzIHRoZSBudW1iZXIgb2YgY29sdW1ucyBhbiBlbGVtZW50IHNob3VsZCBzcGFuLiBJZiB0aGUgc2VsZWN0b3IgaXMgbmVzdGVkIHRoZSBudW1iZXIgb2YgY29sdW1ucyBvZiBpdHMgcGFyZW50IGVsZW1lbnQgc2hvdWxkIGJlIHBhc3NlZCBhcyBhbiBhcmd1bWVudCBhcyB3ZWxsLlxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkc3BhblxuLy8vICAgQSBsaXN0IGNvbnRhaW5pbmcgYCRjb2x1bW5zYCwgdGhlIHVuaXRsZXNzIG51bWJlciBvZiBjb2x1bW5zIHRoZSBlbGVtZW50IHNwYW5zIChyZXF1aXJlZCksIGFuZCBgJGNvbnRhaW5lci1jb2x1bW5zYCwgdGhlIG51bWJlciBvZiBjb2x1bW5zIHRoZSBwYXJlbnQgZWxlbWVudCBzcGFucyAob3B0aW9uYWwpLlxuLy8vXG4vLy8gICBJZiBvbmx5IG9uZSB2YWx1ZSBpcyBwYXNzZWQsIGl0IGlzIGFzc3VtZWQgdGhhdCBpdCdzIGAkY29sdW1uc2AgYW5kIHRoYXQgdGhhdCBgJGNvbnRhaW5lci1jb2x1bW5zYCBpcyBlcXVhbCB0byBgJGdyaWQtY29sdW1uc2AsIHRoZSB0b3RhbCBudW1iZXIgb2YgY29sdW1ucyBpbiB0aGUgZ3JpZC5cbi8vL1xuLy8vICAgVGhlIHZhbHVlcyBjYW4gYmUgc2VwYXJhdGVkIHdpdGggYW55IHN0cmluZyBzdWNoIGFzIGBvZmAsIGAvYCwgZXRjLlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRkaXNwbGF5IChibG9jaylcbi8vLyAgIFNldHMgdGhlIGRpc3BsYXkgcHJvcGVydHkgb2YgdGhlIGVsZW1lbnQuIEJ5IGRlZmF1bHQgaXQgc2V0cyB0aGUgZGlzcGxheSBwcm9wZXJ0IG9mIHRoZSBlbGVtZW50IHRvIGBibG9ja2AuXG4vLy9cbi8vLyAgIElmIHBhc3NlZCBgYmxvY2stY29sbGFwc2VgLCBpdCBhbHNvIHJlbW92ZXMgdGhlIG1hcmdpbiBndXR0ZXIgYnkgYWRkaW5nIGl0IHRvIHRoZSBlbGVtZW50IHdpZHRoLlxuLy8vXG4vLy8gICBJZiBwYXNzZWQgYHRhYmxlYCwgaXQgc2V0cyB0aGUgZGlzcGxheSBwcm9wZXJ0eSB0byBgdGFibGUtY2VsbGAgYW5kIGNhbGN1bGF0ZXMgdGhlIHdpZHRoIG9mIHRoZSBlbGVtZW50IHdpdGhvdXQgdGFraW5nIGd1dHRlcnMgaW50byBjb25zaWRlcmF0aW9uLiBUaGUgcmVzdWx0IGRvZXMgbm90IGFsaWduIHdpdGggdGhlIGJsb2NrLWJhc2VkIGdyaWQuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDYpO1xuLy8vXG4vLy8gICAgLm5lc3RlZC1lbGVtZW50IHtcbi8vLyAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucygyIG9mIDYpO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBkaXNwbGF5OiBibG9jaztcbi8vLyAgICAgZmxvYXQ6IGxlZnQ7XG4vLy8gICAgIG1hcmdpbi1yaWdodDogMi4zNTc2NSU7XG4vLy8gICAgIHdpZHRoOiA0OC44MjExNyU7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC5lbGVtZW50Omxhc3QtY2hpbGQge1xuLy8vICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC5lbGVtZW50IC5uZXN0ZWQtZWxlbWVudCB7XG4vLy8gICAgIGRpc3BsYXk6IGJsb2NrO1xuLy8vICAgICBmbG9hdDogbGVmdDtcbi8vLyAgICAgbWFyZ2luLXJpZ2h0OiA0LjgyOTE2JTtcbi8vLyAgICAgd2lkdGg6IDMwLjExMzg5JTtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLmVsZW1lbnQgLm5lc3RlZC1lbGVtZW50Omxhc3QtY2hpbGQge1xuLy8vICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4vLy8gICB9XG5cbkBtaXhpbiBzcGFuLWNvbHVtbnMoJHNwYW46ICRjb2x1bW5zIG9mICRjb250YWluZXItY29sdW1ucywgJGRpc3BsYXk6IGJsb2NrKSB7XG4gICRjb2x1bW5zOiBudGgoJHNwYW4sIDEpO1xuICAkY29udGFpbmVyLWNvbHVtbnM6IGNvbnRhaW5lci1zcGFuKCRzcGFuKTtcblxuICAkcGFyZW50LWNvbHVtbnM6IGdldC1wYXJlbnQtY29sdW1ucygkY29udGFpbmVyLWNvbHVtbnMpICFnbG9iYWw7XG5cbiAgJGRpcmVjdGlvbjogZ2V0LWRpcmVjdGlvbigkbGF5b3V0LWRpcmVjdGlvbiwgJGRlZmF1bHQtbGF5b3V0LWRpcmVjdGlvbik7XG4gICRvcHBvc2l0ZS1kaXJlY3Rpb246IGdldC1vcHBvc2l0ZS1kaXJlY3Rpb24oJGRpcmVjdGlvbik7XG5cbiAgJGRpc3BsYXktdGFibGU6IGlzLWRpc3BsYXktdGFibGUoJGNvbnRhaW5lci1kaXNwbGF5LXRhYmxlLCAkZGlzcGxheSk7XG5cbiAgQGlmICRkaXNwbGF5LXRhYmxlICB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICB3aWR0aDogcGVyY2VudGFnZSgkY29sdW1ucyAvICRjb250YWluZXItY29sdW1ucyk7XG4gIH0gQGVsc2Uge1xuICAgIGZsb2F0OiAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259O1xuXG4gICAgQGlmICRkaXNwbGF5ICE9IG5vLWRpc3BsYXkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgQGlmICRkaXNwbGF5ID09IGNvbGxhcHNlIHtcbiAgICAgIEBpbmNsdWRlIC1uZWF0LXdhcm4oXCJUaGUgJ2NvbGxhcHNlJyBhcmd1bWVudCB3aWxsIGJlIGRlcHJlY2F0ZWQuIFVzZSAnYmxvY2stY29sbGFwc2UnIGluc3RlYWQuXCIpO1xuICAgIH1cblxuICAgIEBpZiAkZGlzcGxheSA9PSBjb2xsYXBzZSBvciAkZGlzcGxheSA9PSBibG9jay1jb2xsYXBzZSB7XG4gICAgICB3aWR0aDogZmxleC1ncmlkKCRjb2x1bW5zLCAkY29udGFpbmVyLWNvbHVtbnMpICsgZmxleC1ndXR0ZXIoJGNvbnRhaW5lci1jb2x1bW5zKTtcblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgd2lkdGg6IGZsZXgtZ3JpZCgkY29sdW1ucywgJGNvbnRhaW5lci1jb2x1bW5zKTtcbiAgICAgIH1cblxuICAgIH0gQGVsc2Uge1xuICAgICAgbWFyZ2luLSN7JGRpcmVjdGlvbn06IGZsZXgtZ3V0dGVyKCRjb250YWluZXItY29sdW1ucyk7XG4gICAgICB3aWR0aDogZmxleC1ncmlkKCRjb2x1bW5zLCAkY29udGFpbmVyLWNvbHVtbnMpO1xuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tI3skZGlyZWN0aW9ufTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBSZW1vdmVzIHRoZSBlbGVtZW50J3MgZ3V0dGVyIG1hcmdpbiwgcmVnYXJkbGVzcyBvZiBpdHMgcG9zaXRpb24gaW4gdGhlIGdyaWQgaGllcmFyY2h5IG9yIGRpc3BsYXkgcHJvcGVydHkuIEl0IGNhbiB0YXJnZXQgYSBzcGVjaWZpYyBlbGVtZW50LCBvciBldmVyeSBgbnRoLWNoaWxkYCBvY2N1cnJlbmNlLiBXb3JrcyBvbmx5IHdpdGggYGJsb2NrYCBsYXlvdXRzLlxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkcXVlcnkgKGJsb2NrKVxuLy8vICAgTGlzdCBvZiBhcmd1bWVudHMuIFN1cHBvcnRlZCBhcmd1bWVudHMgYXJlIGBudGgtY2hpbGRgIHNlbGVjdG9ycyAodGFyZ2V0cyBhIHNwZWNpZmljIHBzZXVkbyBlbGVtZW50KSBhbmQgYGF1dG9gICh0YXJnZXRzIGBsYXN0LWNoaWxkYCkuXG4vLy9cbi8vLyAgIFdoZW4gcGFzc2VkIGFuIGBudGgtY2hpbGRgIGFyZ3VtZW50IG9mIHR5cGUgYCpuYCB3aXRoIGBibG9ja2AgZGlzcGxheSwgdGhlIG9tZWdhIG1peGluIGF1dG9tYXRpY2FsbHkgYWRkcyBhIGNsZWFyIHRvIHRoZSBgKm4rMWAgdGggZWxlbWVudC4gTm90ZSB0aGF0IGNvbXBvc2l0ZSBhcmd1bWVudHMgc3VjaCBhcyBgMm4rMWAgZG8gbm90IHN1cHBvcnQgdGhpcyBmZWF0dXJlLlxuLy8vXG4vLy8gICAqKkRlcHJlY2F0aW9uIHdhcm5pbmcqKjogVGhlIG9tZWdhIG1peGluIHdpbGwgbm8gbG9uZ2VyIHRha2UgYSBgJGRpcmVjdGlvbmAgYXJndW1lbnQuIFRvIGNoYW5nZSB0aGUgbGF5b3V0IGRpcmVjdGlvbiwgdXNlIGByb3coJGRpcmVjdGlvbilgIG9yIHNldCBgJGRlZmF1bHQtbGF5b3V0LWRpcmVjdGlvbmAgaW5zdGVhZC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBvbWVnYTtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLm50aC1lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgb21lZ2EoNG4pO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC5udGgtZWxlbWVudDpudGgtY2hpbGQoNG4pIHtcbi8vLyAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuLy8vICAgfVxuLy8vXG4vLy8gICAubnRoLWVsZW1lbnQ6bnRoLWNoaWxkKDRuKzEpIHtcbi8vLyAgICAgY2xlYXI6IGxlZnQ7XG4vLy8gICB9XG5cbkBtaXhpbiBvbWVnYSgkcXVlcnk6IGJsb2NrLCAkZGlyZWN0aW9uOiBkZWZhdWx0KSB7XG4gICR0YWJsZTogYmVsb25ncy10byh0YWJsZSwgJHF1ZXJ5KTtcbiAgJGF1dG86IGJlbG9uZ3MtdG8oYXV0bywgJHF1ZXJ5KTtcblxuICBAaWYgJGRpcmVjdGlvbiAhPSBkZWZhdWx0IHtcbiAgICBAaW5jbHVkZSAtbmVhdC13YXJuKFwiVGhlIG9tZWdhIG1peGluIHdpbGwgbm8gbG9uZ2VyIHRha2UgYSAkZGlyZWN0aW9uIGFyZ3VtZW50LiBUbyBjaGFuZ2UgdGhlIGxheW91dCBkaXJlY3Rpb24sIHVzZSB0aGUgZGlyZWN0aW9uKCl7Li4ufSBtaXhpbi5cIik7XG4gIH0gQGVsc2Uge1xuICAgICRkaXJlY3Rpb246IGdldC1kaXJlY3Rpb24oJGxheW91dC1kaXJlY3Rpb24sICRkZWZhdWx0LWxheW91dC1kaXJlY3Rpb24pO1xuICB9XG5cbiAgQGlmICR0YWJsZSB7XG4gICAgQGluY2x1ZGUgLW5lYXQtd2FybihcIlRoZSBvbWVnYSBtaXhpbiBubyBsb25nZXIgcmVtb3ZlcyBwYWRkaW5nIGluIHRhYmxlIGxheW91dHMuXCIpO1xuICB9XG5cbiAgQGlmIGxlbmd0aCgkcXVlcnkpID09IDEge1xuICAgIEBpZiAkYXV0byB7XG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tI3skZGlyZWN0aW9ufTogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAZWxzZSBpZiBjb250YWlucy1kaXNwbGF5LXZhbHVlKCRxdWVyeSkgYW5kICR0YWJsZSA9PSBmYWxzZSB7XG4gICAgICBtYXJnaW4tI3skZGlyZWN0aW9ufTogMDtcbiAgICB9XG5cbiAgICBAZWxzZSB7XG4gICAgICBAaW5jbHVkZSBudGgtY2hpbGQoJHF1ZXJ5LCAkZGlyZWN0aW9uKTtcbiAgICB9XG4gIH1cblxuICBAZWxzZSBpZiBsZW5ndGgoJHF1ZXJ5KSA9PSAyIHtcbiAgICBAaWYgJGF1dG8ge1xuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLSN7JGRpcmVjdGlvbn06IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgbnRoLWNoaWxkKG50aCgkcXVlcnksIDEpLCAkZGlyZWN0aW9uKTtcbiAgICB9XG4gIH1cblxuICBAZWxzZSB7XG4gICAgQGluY2x1ZGUgLW5lYXQtd2FybihcIlRvbyBtYW55IGFyZ3VtZW50cyBwYXNzZWQgdG8gdGhlIG9tZWdhKCkgbWl4aW4uXCIpO1xuICB9XG59XG5cbkBtaXhpbiBudGgtY2hpbGQoJHF1ZXJ5LCAkZGlyZWN0aW9uKSB7XG4gICRvcHBvc2l0ZS1kaXJlY3Rpb246IGdldC1vcHBvc2l0ZS1kaXJlY3Rpb24oJGRpcmVjdGlvbik7XG5cbiAgJjpudGgtY2hpbGQoI3skcXVlcnl9KSB7XG4gICAgbWFyZ2luLSN7JGRpcmVjdGlvbn06IDA7XG4gIH1cblxuICBAaWYgdHlwZS1vZigkcXVlcnkpID09IG51bWJlciB7XG4gICAgJjpudGgtY2hpbGQoI3skcXVlcnl9KzEpIHtcbiAgICAgIGNsZWFyOiAkb3Bwb3NpdGUtZGlyZWN0aW9uO1xuICAgIH1cbiAgfVxufVxuIiwiQG1peGluIHBvc2l0aW9uICgkcG9zaXRpb246IHJlbGF0aXZlLCAkY29vcmRpbmF0ZXM6IG51bGwgbnVsbCBudWxsIG51bGwpIHtcblxuICBAaWYgdHlwZS1vZigkcG9zaXRpb24pID09IGxpc3Qge1xuICAgICRjb29yZGluYXRlczogJHBvc2l0aW9uO1xuICAgICRwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAkY29vcmRpbmF0ZXM6IHVucGFjaygkY29vcmRpbmF0ZXMpO1xuXG4gICR0b3A6IG50aCgkY29vcmRpbmF0ZXMsIDEpO1xuICAkcmlnaHQ6IG50aCgkY29vcmRpbmF0ZXMsIDIpO1xuICAkYm90dG9tOiBudGgoJGNvb3JkaW5hdGVzLCAzKTtcbiAgJGxlZnQ6IG50aCgkY29vcmRpbmF0ZXMsIDQpO1xuXG4gIHBvc2l0aW9uOiAkcG9zaXRpb247XG5cbiAgQGlmICgkdG9wIGFuZCAkdG9wID09IGF1dG8pIG9yICh0eXBlLW9mKCR0b3ApID09IG51bWJlcikge1xuICAgIHRvcDogJHRvcDtcbiAgfVxuXG4gIEBpZiAoJHJpZ2h0IGFuZCAkcmlnaHQgPT0gYXV0bykgb3IgKHR5cGUtb2YoJHJpZ2h0KSA9PSBudW1iZXIpIHtcbiAgICByaWdodDogJHJpZ2h0O1xuICB9XG5cbiAgQGlmICgkYm90dG9tIGFuZCAkYm90dG9tID09IGF1dG8pIG9yICh0eXBlLW9mKCRib3R0b20pID09IG51bWJlcikge1xuICAgIGJvdHRvbTogJGJvdHRvbTtcbiAgfVxuXG4gIEBpZiAoJGxlZnQgYW5kICRsZWZ0ID09IGF1dG8pIG9yICh0eXBlLW9mKCRsZWZ0KSA9PSBudW1iZXIpIHtcbiAgICBsZWZ0OiAkbGVmdDtcbiAgfVxufVxuIiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL1xuLy8gICAgICAgICAgICAgICAgICAgICAgTUlYSU5TXG4vLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbkBtaXhpbiBjZW50ZXIteHkoKSB7XG4gIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCA1MCUgbnVsbCBudWxsIDUwJSk7XG4gIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGUoLTUwJSwgLTUwJSkpO1xufVxuXG5AbWl4aW4gY2VudGVyLXgoKSB7XG4gIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwIG51bGwgbnVsbCA1MCUpO1xuICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlKC01MCUpKTtcbn1cblxuQG1peGluIGNlbnRlci15KCkge1xuICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgNTAlIG51bGwgbnVsbCAwKTtcbiAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZSgwLCAtNTAlKSk7XG59XG4iLCIlbXlyaWFkIHtcbiAgZm9udC1mYW1pbHk6IFwiTHVjaWRhIEdyYW5kZVwiLCBcIkx1Y2lkYSBTYW5zIFVuaWNvZGVcIiwgQXJpYWwsIHNhbnMtc2VyaWY7XG59XG5cbiNtYWluLm1pc3Npb24ge1xuICAucGFnZS1mb290ZXIge1xuICAgIHAubGVnYWwge1xuICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDEwcHg7XG4gICAgfVxuICB9XG4gIGhlaWdodDogYXV0bztcbiAgLm1pc3Npb24taGVhZGVyIHtcblxuICAgIGltZyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAjY29udGVudCB7XG5cbiAgICAmLWlubmVyIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vYXNzZXRzL2ltYWdlcy9jbG91ZHMuanBnJyk7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIGxlZnQ7XG4gICAgfVxuXG4gICAgLmhhbmRzLXVwIHtcblxuICAgICAgJi5tb2JpbGUge1xuICAgICAgICAvL21hcmdpbi10b3A6IDYwcHg7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcblxuICAgICAgICBpbWcge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkbWVkaXVtKSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLmRlc2t0b3Age1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2Fzc2V0cy9pbWFnZXMvb2xpdmVyLWhhbmRzLnBuZycpO1xuICAgICAgICBoZWlnaHQ6IDgwMHB4O1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG5cblxuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCBjZW50ZXI7XG4gICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoMTIpO1xuICAgIH1cbiAgICAuY29weSB7XG4gICAgICBwYWRkaW5nLXRvcDogNzBweDtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgICB9XG5cbiAgICAgIGgxIHtcbiAgICAgICAgQGV4dGVuZCAlbXlyaWFkO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIH1cblxuICAgICAgcDpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi1pbm5lciB7XG4gICAgICAjc2lkZWJhci1pbWFnZSB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoMTIpO1xuICAgICAgICB9XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgd2lkdGg6IDYwJTtcbiAgICAgICAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJG1lZGl1bSkge1xuICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuXG59IiwiQGltcG9ydCAnX3Jlc2V0JztcbkBpbXBvcnQgJ2JvdXJib24vYm91cmJvbic7XG5AaW1wb3J0ICdfbWl4aW5zJztcbkBpbXBvcnQgXCJuZWF0L25lYXRcIjtcbkBpbXBvcnQgJ192YXJpYWJsZXMnO1xuQGltcG9ydCAnX2RvbmF0ZSc7XG5AaW1wb3J0ICdfbWlzc2lvbic7XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9cbi8vICAgICAgICAgICAgICAgICAgICAgIFRIRSBSRVNUXG4vLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbmJvZHkubWFpbiwgaHRtbC5tYWluIHtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4jbWFpbiB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkbWFpbi1iZyk7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAuY29udGFpbmVyLCAucm93IHtcbiAgICBAaW5jbHVkZSBzaXplKDEwMCUpO1xuICAgIG1heC1oZWlnaHQ6IDgwMHB4O1xuICAgIEBpbmNsdWRlIGNlbnRlci15O1xuICB9XG5cbn1cblxuLm9saXZlciB7XG4gIGhlaWdodDo1MCU7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkc3dlYXRlci12ZXN0KTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGJvdHRvbTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICB6LWluZGV4OiAxO1xuICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoMTIpO1xuICBAaW5jbHVkZSBwb3NpdGlvbihyZWxhdGl2ZSwgMiUgbnVsbCBudWxsIG51bGwpO1xuXG4gIEBpbmNsdWRlIG1lZGlhKCRtZWRpdW0pIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbn1cblxuXG4uaGVhZGxpbmUge1xuICB0b3A6IDIlO1xuICBoZWlnaHQ6IDMwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBib3R0b20gY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkaGVhZGxpbmUpO1xuICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoMTIpO1xuXG4gIEBpbmNsdWRlIG1lZGlhKCRtZWRpdW0pIHtcbiAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNik7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRoZWFkbGluZS1hbmQtb2xpdmVyKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDUwMHB4O1xuICB9XG5cbn1cblxuLmZvb3RlciB7XG4gIGhlaWdodDogMjAlO1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IC0yJTtcbiAgei1pbmRleDogMDtcbiAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDEyKTtcbiAgQGluY2x1ZGUgYmFja2dyb3VuZC1pbWFnZShsaW5lYXItZ3JhZGllbnQodG8gdG9wLCB3aGl0ZSAzMCUsICNiOWI5YjkpKTtcblxuICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgQGluY2x1ZGUgcG9zaXRpb24ocmVsYXRpdmUsIDAgMCAwIDApO1xuICB9XG5cbiAgJi1jb3B5IHtcbiAgICBAaW5jbHVkZSBjZW50ZXIteHk7XG4gICAgZm9udC1mYW1pbHk6ICRwYWxhdGlubztcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgZm9udC1zaXplOiAkbW9iaWxlLWZvbnQtc2l6ZTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY29sb3I6ICRjb3B5LWNvbG9yO1xuICAgIG1hcmdpbi10b3A6IDIlO1xuICAgIGxpbmUtaGVpZ2h0OiAwLjg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy1sZWZ0OiA1JTtcbiAgICBwYWRkaW5nLXJpZ2h0OiA1JTtcblxuICAgICYuaG9tZSB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtZWRpdW0pIHtcbiAgICAgZm9udC1zaXplOiAkZGVza3RvcC1mb250LXNpemU7XG4gICAgfVxuXG5cbiAgfVxufVxuXG4gICAgcC5sZWdhbCB7XG4gICAgICBtYXJnaW4tdG9wOiA4cHg7XG4gICAgICBsaW5lLWhlaWdodDogOHB4O1xuICAgICAgZm9udC1zaXplOiA3cHg7XG4gICAgICBmb250LWZhbWlseTogXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgICAgY29sb3I6IGJsYWNrO1xuICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIHBhZGRpbmctdG9wOiA3cHg7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuICAgIGEge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgY29sb3I6ICRsaW5rLWNvbG9yO1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiBkYXJrZW4oI2ZmMDAwMCwgMjAlKTtcbiAgICAgIH1cbiAgICB9IiwiQG1peGluIHNpemUoJHNpemUpIHtcbiAgJGhlaWdodDogbnRoKCRzaXplLCAxKTtcbiAgJHdpZHRoOiAkaGVpZ2h0O1xuXG4gIEBpZiBsZW5ndGgoJHNpemUpID4gMSB7XG4gICAgJGhlaWdodDogbnRoKCRzaXplLCAyKTtcbiAgfVxuXG4gIEBpZiAkaGVpZ2h0ID09IGF1dG8gb3IgKHR5cGUtb2YoJGhlaWdodCkgPT0gbnVtYmVyIGFuZCBub3QgdW5pdGxlc3MoJGhlaWdodCkpIHtcbiAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIH1cblxuICBAaWYgJHdpZHRoID09IGF1dG8gb3IgKHR5cGUtb2YoJHdpZHRoKSA9PSBudW1iZXIgYW5kIG5vdCB1bml0bGVzcygkd2lkdGgpKSB7XG4gICAgd2lkdGg6ICR3aWR0aDtcbiAgfVxufVxuIiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL1xuLy8gICAgICAgICAgICAgICAgICAgICAgVkFSSUFCTEVTXG4vLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4kcGFsYXRpbm86IFBhbGF0aW5vLCAnUGFsYXRpbm8gTGlub3R5cGUnLCAnUGFsYXRpbm8gTFQgU1REJywgJ0Jvb2sgQW50aXF1YScsIEdlb3JnaWEsIHNlcmlmO1xuJG1vYmlsZTogbmV3LWJyZWFrcG9pbnQobWF4LXdpZHRoIDk2MHB4IDEyKTtcbiRtZWRpdW06IG5ldy1icmVha3BvaW50KG1pbi13aWR0aCA5NjBweCAxMik7XG4kc21hbGw6IG5ldy1icmVha3BvaW50KG1heC13aWR0aCA2MDBweCAxMik7XG5cblxuJGxpbmstY29sb3I6ICNmZjAwMDA7XG4kY29weS1jb2xvcjogIzU2NmNhNztcbiRtb2JpbGUtZm9udC1zaXplOiAxLjNlbTtcbiRkZXNrdG9wLWZvbnQtc2l6ZTogMy4yZW07XG5cbi8vIGhvbWVcbiRtYWluLWJnOiBcIi4uL2Fzc2V0cy9pbWFnZXMvbWFpbi1iZy1taW4uanBnXCI7XG4kc3dlYXRlci12ZXN0OiBcIi4uL2Fzc2V0cy9pbWFnZXMvb2xpdmVyLnBuZ1wiO1xuJGhlYWRsaW5lOiBcIi4uL2Fzc2V0cy9pbWFnZXMvaGVhZGxpbmUucG5nXCI7XG4kaGVhZGxpbmUtYW5kLW9saXZlcjogXCIuLi9hc3NldHMvaW1hZ2VzL29saXZlci13aXRoLWhlYWRsaW5lLnBuZ1wiO1xuXG4vLyBtaXNzaW9uXG5cbiJdLCJzb3VyY2VSb290IjoiL3NvdXJjZS8ifQ== */