@charset "UTF-8";/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a.nice-select.open,a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:not-allowed}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}.foundation-mq{font-family:"small=0em&medium=40em&large=64em&xlarge=75em&xxlarge=90em"}html{font-size:100%;box-sizing:border-box}*,::after,::before{box-sizing:inherit}body{padding:0;margin:0;font-family:Noto-Sans,Roboto,Arial,sans-serif;font-weight:400;line-height:1.5;color:#0a0a0a;background:#fefefe;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img{max-width:100%;height:auto;-ms-interpolation-mode:bicubic;display:inline-block;vertical-align:middle}textarea{height:auto;min-height:50px;border-radius:0}select{width:100%;border-radius:0}#map_canvas embed,#map_canvas img,#map_canvas object,.map_canvas embed,.map_canvas img,.map_canvas object,.mqa-display embed,.mqa-display img,.mqa-display object{max-width:none!important}button{-webkit-appearance:none;-moz-appearance:none;background:0 0;padding:0;border:0;border-radius:0;line-height:1}[data-whatinput=mouse] button{outline:0}.is-visible{display:block!important}.is-hidden{display:none!important}.row{max-width:75rem;margin-left:auto;margin-right:auto}.row::after,.row::before{content:' ';display:table}.row::after{clear:both}.row.collapse>.column,.row.collapse>.columns{padding-left:0;padding-right:0}.row .row{margin-left:-.625rem;margin-right:-.625rem}@media screen and (min-width:40em){.row .row{margin-left:-.9375rem;margin-right:-.9375rem}}.row .row.collapse{margin-left:0;margin-right:0}.row.expanded{max-width:none}.row.expanded .row{margin-left:auto;margin-right:auto}.column,.columns{width:100%;float:left;padding-left:.625rem;padding-right:.625rem}@media screen and (min-width:40em){.column,.columns{padding-left:.9375rem;padding-right:.9375rem}}.column:last-child:not(:first-child),.columns:last-child:not(:first-child){float:right}.column.end:last-child:last-child,.end.columns:last-child:last-child{float:left}.column.row.row,.row.row.columns{float:none}.row .column.row.row,.row .row.row.columns{padding-left:0;padding-right:0;margin-left:0;margin-right:0}.small-1{width:8.33333%}.small-push-1{position:relative;left:8.33333%}.small-pull-1{position:relative;left:-8.33333%}.small-offset-0{margin-left:0}.small-2{width:16.66667%}.small-push-2{position:relative;left:16.66667%}.small-pull-2{position:relative;left:-16.66667%}.small-offset-1{margin-left:8.33333%}.small-3{width:25%}.small-push-3{position:relative;left:25%}.small-pull-3{position:relative;left:-25%}.small-offset-2{margin-left:16.66667%}.small-4{width:33.33333%}.small-push-4{position:relative;left:33.33333%}.small-pull-4{position:relative;left:-33.33333%}.small-offset-3{margin-left:25%}.small-5{width:41.66667%}.small-push-5{position:relative;left:41.66667%}.small-pull-5{position:relative;left:-41.66667%}.small-offset-4{margin-left:33.33333%}.small-6{width:50%}.small-push-6{position:relative;left:50%}.small-pull-6{position:relative;left:-50%}.small-offset-5{margin-left:41.66667%}.small-7{width:58.33333%}.small-push-7{position:relative;left:58.33333%}.small-pull-7{position:relative;left:-58.33333%}.small-offset-6{margin-left:50%}.small-8{width:66.66667%}.small-push-8{position:relative;left:66.66667%}.small-pull-8{position:relative;left:-66.66667%}.small-offset-7{margin-left:58.33333%}.small-9{width:75%}.small-push-9{position:relative;left:75%}.small-pull-9{position:relative;left:-75%}.small-offset-8{margin-left:66.66667%}.small-10{width:83.33333%}.small-push-10{position:relative;left:83.33333%}.small-pull-10{position:relative;left:-83.33333%}.small-offset-9{margin-left:75%}.small-11{width:91.66667%}.small-push-11{position:relative;left:91.66667%}.small-pull-11{position:relative;left:-91.66667%}.small-offset-10{margin-left:83.33333%}.small-12{width:100%}.small-offset-11{margin-left:91.66667%}.small-up-1>.column,.small-up-1>.columns{width:100%;float:left}.small-up-1>.column:nth-of-type(1n),.small-up-1>.columns:nth-of-type(1n){clear:none}.small-up-1>.column:nth-of-type(1n+1),.small-up-1>.columns:nth-of-type(1n+1){clear:both}.small-up-1>.column:last-child,.small-up-1>.columns:last-child{float:left}.small-up-2>.column,.small-up-2>.columns{width:50%;float:left}.small-up-2>.column:nth-of-type(1n),.small-up-2>.columns:nth-of-type(1n){clear:none}.small-up-2>.column:nth-of-type(2n+1),.small-up-2>.columns:nth-of-type(2n+1){clear:both}.small-up-2>.column:last-child,.small-up-2>.columns:last-child{float:left}.small-up-3>.column,.small-up-3>.columns{width:33.33333%;float:left}.small-up-3>.column:nth-of-type(1n),.small-up-3>.columns:nth-of-type(1n){clear:none}.small-up-3>.column:nth-of-type(3n+1),.small-up-3>.columns:nth-of-type(3n+1){clear:both}.small-up-3>.column:last-child,.small-up-3>.columns:last-child{float:left}.small-up-4>.column,.small-up-4>.columns{width:25%;float:left}.small-up-4>.column:nth-of-type(1n),.small-up-4>.columns:nth-of-type(1n){clear:none}.small-up-4>.column:nth-of-type(4n+1),.small-up-4>.columns:nth-of-type(4n+1){clear:both}.small-up-4>.column:last-child,.small-up-4>.columns:last-child{float:left}.small-up-5>.column,.small-up-5>.columns{width:20%;float:left}.small-up-5>.column:nth-of-type(1n),.small-up-5>.columns:nth-of-type(1n){clear:none}.small-up-5>.column:nth-of-type(5n+1),.small-up-5>.columns:nth-of-type(5n+1){clear:both}.small-up-5>.column:last-child,.small-up-5>.columns:last-child{float:left}.small-up-6>.column,.small-up-6>.columns{width:16.66667%;float:left}.small-up-6>.column:nth-of-type(1n),.small-up-6>.columns:nth-of-type(1n){clear:none}.small-up-6>.column:nth-of-type(6n+1),.small-up-6>.columns:nth-of-type(6n+1){clear:both}.small-up-6>.column:last-child,.small-up-6>.columns:last-child{float:left}.small-up-7>.column,.small-up-7>.columns{width:14.28571%;float:left}.small-up-7>.column:nth-of-type(1n),.small-up-7>.columns:nth-of-type(1n){clear:none}.small-up-7>.column:nth-of-type(7n+1),.small-up-7>.columns:nth-of-type(7n+1){clear:both}.small-up-7>.column:last-child,.small-up-7>.columns:last-child{float:left}.small-up-8>.column,.small-up-8>.columns{width:12.5%;float:left}.small-up-8>.column:nth-of-type(1n),.small-up-8>.columns:nth-of-type(1n){clear:none}.small-up-8>.column:nth-of-type(8n+1),.small-up-8>.columns:nth-of-type(8n+1){clear:both}.small-up-8>.column:last-child,.small-up-8>.columns:last-child{float:left}.small-collapse>.column,.small-collapse>.columns{padding-left:0;padding-right:0}.small-collapse .row{margin-left:0;margin-right:0}.expanded.row .small-collapse.row{margin-left:0;margin-right:0}.small-uncollapse>.column,.small-uncollapse>.columns{padding-left:.625rem;padding-right:.625rem}.small-centered{margin-left:auto;margin-right:auto}.small-centered,.small-centered:last-child:not(:first-child){float:none;clear:both}.small-pull-0,.small-push-0,.small-uncentered{position:static;margin-left:0;margin-right:0;float:left}@media screen and (min-width:40em){.medium-1{width:8.33333%}.medium-push-1{position:relative;left:8.33333%}.medium-pull-1{position:relative;left:-8.33333%}.medium-offset-0{margin-left:0}.medium-2{width:16.66667%}.medium-push-2{position:relative;left:16.66667%}.medium-pull-2{position:relative;left:-16.66667%}.medium-offset-1{margin-left:8.33333%}.medium-3{width:25%}.medium-push-3{position:relative;left:25%}.medium-pull-3{position:relative;left:-25%}.medium-offset-2{margin-left:16.66667%}.medium-4{width:33.33333%}.medium-push-4{position:relative;left:33.33333%}.medium-pull-4{position:relative;left:-33.33333%}.medium-offset-3{margin-left:25%}.medium-5{width:41.66667%}.medium-push-5{position:relative;left:41.66667%}.medium-pull-5{position:relative;left:-41.66667%}.medium-offset-4{margin-left:33.33333%}.medium-6{width:50%}.medium-push-6{position:relative;left:50%}.medium-pull-6{position:relative;left:-50%}.medium-offset-5{margin-left:41.66667%}.medium-7{width:58.33333%}.medium-push-7{position:relative;left:58.33333%}.medium-pull-7{position:relative;left:-58.33333%}.medium-offset-6{margin-left:50%}.medium-8{width:66.66667%}.medium-push-8{position:relative;left:66.66667%}.medium-pull-8{position:relative;left:-66.66667%}.medium-offset-7{margin-left:58.33333%}.medium-9{width:75%}.medium-push-9{position:relative;left:75%}.medium-pull-9{position:relative;left:-75%}.medium-offset-8{margin-left:66.66667%}.medium-10{width:83.33333%}.medium-push-10{position:relative;left:83.33333%}.medium-pull-10{position:relative;left:-83.33333%}.medium-offset-9{margin-left:75%}.medium-11{width:91.66667%}.medium-push-11{position:relative;left:91.66667%}.medium-pull-11{position:relative;left:-91.66667%}.medium-offset-10{margin-left:83.33333%}.medium-12{width:100%}.medium-offset-11{margin-left:91.66667%}.medium-up-1>.column,.medium-up-1>.columns{width:100%;float:left}.medium-up-1>.column:nth-of-type(1n),.medium-up-1>.columns:nth-of-type(1n){clear:none}.medium-up-1>.column:nth-of-type(1n+1),.medium-up-1>.columns:nth-of-type(1n+1){clear:both}.medium-up-1>.column:last-child,.medium-up-1>.columns:last-child{float:left}.medium-up-2>.column,.medium-up-2>.columns{width:50%;float:left}.medium-up-2>.column:nth-of-type(1n),.medium-up-2>.columns:nth-of-type(1n){clear:none}.medium-up-2>.column:nth-of-type(2n+1),.medium-up-2>.columns:nth-of-type(2n+1){clear:both}.medium-up-2>.column:last-child,.medium-up-2>.columns:last-child{float:left}.medium-up-3>.column,.medium-up-3>.columns{width:33.33333%;float:left}.medium-up-3>.column:nth-of-type(1n),.medium-up-3>.columns:nth-of-type(1n){clear:none}.medium-up-3>.column:nth-of-type(3n+1),.medium-up-3>.columns:nth-of-type(3n+1){clear:both}.medium-up-3>.column:last-child,.medium-up-3>.columns:last-child{float:left}.medium-up-4>.column,.medium-up-4>.columns{width:25%;float:left}.medium-up-4>.column:nth-of-type(1n),.medium-up-4>.columns:nth-of-type(1n){clear:none}.medium-up-4>.column:nth-of-type(4n+1),.medium-up-4>.columns:nth-of-type(4n+1){clear:both}.medium-up-4>.column:last-child,.medium-up-4>.columns:last-child{float:left}.medium-up-5>.column,.medium-up-5>.columns{width:20%;float:left}.medium-up-5>.column:nth-of-type(1n),.medium-up-5>.columns:nth-of-type(1n){clear:none}.medium-up-5>.column:nth-of-type(5n+1),.medium-up-5>.columns:nth-of-type(5n+1){clear:both}.medium-up-5>.column:last-child,.medium-up-5>.columns:last-child{float:left}.medium-up-6>.column,.medium-up-6>.columns{width:16.66667%;float:left}.medium-up-6>.column:nth-of-type(1n),.medium-up-6>.columns:nth-of-type(1n){clear:none}.medium-up-6>.column:nth-of-type(6n+1),.medium-up-6>.columns:nth-of-type(6n+1){clear:both}.medium-up-6>.column:last-child,.medium-up-6>.columns:last-child{float:left}.medium-up-7>.column,.medium-up-7>.columns{width:14.28571%;float:left}.medium-up-7>.column:nth-of-type(1n),.medium-up-7>.columns:nth-of-type(1n){clear:none}.medium-up-7>.column:nth-of-type(7n+1),.medium-up-7>.columns:nth-of-type(7n+1){clear:both}.medium-up-7>.column:last-child,.medium-up-7>.columns:last-child{float:left}.medium-up-8>.column,.medium-up-8>.columns{width:12.5%;float:left}.medium-up-8>.column:nth-of-type(1n),.medium-up-8>.columns:nth-of-type(1n){clear:none}.medium-up-8>.column:nth-of-type(8n+1),.medium-up-8>.columns:nth-of-type(8n+1){clear:both}.medium-up-8>.column:last-child,.medium-up-8>.columns:last-child{float:left}.medium-collapse>.column,.medium-collapse>.columns{padding-left:0;padding-right:0}.medium-collapse .row{margin-left:0;margin-right:0}.expanded.row .medium-collapse.row{margin-left:0;margin-right:0}.medium-uncollapse>.column,.medium-uncollapse>.columns{padding-left:.9375rem;padding-right:.9375rem}.medium-centered{margin-left:auto;margin-right:auto}.medium-centered,.medium-centered:last-child:not(:first-child){float:none;clear:both}.medium-pull-0,.medium-push-0,.medium-uncentered{position:static;margin-left:0;margin-right:0;float:left}}@media screen and (min-width:64em){.large-1{width:8.33333%}.large-push-1{position:relative;left:8.33333%}.large-pull-1{position:relative;left:-8.33333%}.large-offset-0{margin-left:0}.large-2{width:16.66667%}.large-push-2{position:relative;left:16.66667%}.large-pull-2{position:relative;left:-16.66667%}.large-offset-1{margin-left:8.33333%}.large-3{width:25%}.large-push-3{position:relative;left:25%}.large-pull-3{position:relative;left:-25%}.large-offset-2{margin-left:16.66667%}.large-4{width:33.33333%}.large-push-4{position:relative;left:33.33333%}.large-pull-4{position:relative;left:-33.33333%}.large-offset-3{margin-left:25%}.large-5{width:41.66667%}.large-push-5{position:relative;left:41.66667%}.large-pull-5{position:relative;left:-41.66667%}.large-offset-4{margin-left:33.33333%}.large-6{width:50%}.large-push-6{position:relative;left:50%}.large-pull-6{position:relative;left:-50%}.large-offset-5{margin-left:41.66667%}.large-7{width:58.33333%}.large-push-7{position:relative;left:58.33333%}.large-pull-7{position:relative;left:-58.33333%}.large-offset-6{margin-left:50%}.large-8{width:66.66667%}.large-push-8{position:relative;left:66.66667%}.large-pull-8{position:relative;left:-66.66667%}.large-offset-7{margin-left:58.33333%}.large-9{width:75%}.large-push-9{position:relative;left:75%}.large-pull-9{position:relative;left:-75%}.large-offset-8{margin-left:66.66667%}.large-10{width:83.33333%}.large-push-10{position:relative;left:83.33333%}.large-pull-10{position:relative;left:-83.33333%}.large-offset-9{margin-left:75%}.large-11{width:91.66667%}.large-push-11{position:relative;left:91.66667%}.large-pull-11{position:relative;left:-91.66667%}.large-offset-10{margin-left:83.33333%}.large-12{width:100%}.large-offset-11{margin-left:91.66667%}.large-up-1>.column,.large-up-1>.columns{width:100%;float:left}.large-up-1>.column:nth-of-type(1n),.large-up-1>.columns:nth-of-type(1n){clear:none}.large-up-1>.column:nth-of-type(1n+1),.large-up-1>.columns:nth-of-type(1n+1){clear:both}.large-up-1>.column:last-child,.large-up-1>.columns:last-child{float:left}.large-up-2>.column,.large-up-2>.columns{width:50%;float:left}.large-up-2>.column:nth-of-type(1n),.large-up-2>.columns:nth-of-type(1n){clear:none}.large-up-2>.column:nth-of-type(2n+1),.large-up-2>.columns:nth-of-type(2n+1){clear:both}.large-up-2>.column:last-child,.large-up-2>.columns:last-child{float:left}.large-up-3>.column,.large-up-3>.columns{width:33.33333%;float:left}.large-up-3>.column:nth-of-type(1n),.large-up-3>.columns:nth-of-type(1n){clear:none}.large-up-3>.column:nth-of-type(3n+1),.large-up-3>.columns:nth-of-type(3n+1){clear:both}.large-up-3>.column:last-child,.large-up-3>.columns:last-child{float:left}.large-up-4>.column,.large-up-4>.columns{width:25%;float:left}.large-up-4>.column:nth-of-type(1n),.large-up-4>.columns:nth-of-type(1n){clear:none}.large-up-4>.column:nth-of-type(4n+1),.large-up-4>.columns:nth-of-type(4n+1){clear:both}.large-up-4>.column:last-child,.large-up-4>.columns:last-child{float:left}.large-up-5>.column,.large-up-5>.columns{width:20%;float:left}.large-up-5>.column:nth-of-type(1n),.large-up-5>.columns:nth-of-type(1n){clear:none}.large-up-5>.column:nth-of-type(5n+1),.large-up-5>.columns:nth-of-type(5n+1){clear:both}.large-up-5>.column:last-child,.large-up-5>.columns:last-child{float:left}.large-up-6>.column,.large-up-6>.columns{width:16.66667%;float:left}.large-up-6>.column:nth-of-type(1n),.large-up-6>.columns:nth-of-type(1n){clear:none}.large-up-6>.column:nth-of-type(6n+1),.large-up-6>.columns:nth-of-type(6n+1){clear:both}.large-up-6>.column:last-child,.large-up-6>.columns:last-child{float:left}.large-up-7>.column,.large-up-7>.columns{width:14.28571%;float:left}.large-up-7>.column:nth-of-type(1n),.large-up-7>.columns:nth-of-type(1n){clear:none}.large-up-7>.column:nth-of-type(7n+1),.large-up-7>.columns:nth-of-type(7n+1){clear:both}.large-up-7>.column:last-child,.large-up-7>.columns:last-child{float:left}.large-up-8>.column,.large-up-8>.columns{width:12.5%;float:left}.large-up-8>.column:nth-of-type(1n),.large-up-8>.columns:nth-of-type(1n){clear:none}.large-up-8>.column:nth-of-type(8n+1),.large-up-8>.columns:nth-of-type(8n+1){clear:both}.large-up-8>.column:last-child,.large-up-8>.columns:last-child{float:left}.large-collapse>.column,.large-collapse>.columns{padding-left:0;padding-right:0}.large-collapse .row{margin-left:0;margin-right:0}.expanded.row .large-collapse.row{margin-left:0;margin-right:0}.large-uncollapse>.column,.large-uncollapse>.columns{padding-left:.9375rem;padding-right:.9375rem}.large-centered{margin-left:auto;margin-right:auto}.large-centered,.large-centered:last-child:not(:first-child){float:none;clear:both}.large-pull-0,.large-push-0,.large-uncentered{position:static;margin-left:0;margin-right:0;float:left}}blockquote,dd,div,dl,dt,form,h1,h2,h3,h4,h5,h6,li,ol,p,pre,td,th,ul{margin:0;padding:0}p{font-size:inherit;line-height:1.6;margin-bottom:1rem;text-rendering:optimizeLegibility}em,i{font-style:italic;line-height:inherit}b,strong{font-weight:700;line-height:inherit}small{font-size:80%;line-height:inherit}h1,h2,h3,h4,h5,h6{font-family:Noto-Sans,Roboto,Arial,sans-serif;font-weight:400;font-style:normal;color:inherit;text-rendering:optimizeLegibility;margin-top:0;margin-bottom:.5rem;line-height:1.4}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{color:#cacaca;line-height:0}h1{font-size:1.5rem}h2{font-size:1.25rem}h3{font-size:1.1875rem}h4{font-size:1.125rem}h5{font-size:1.0625rem}h6{font-size:1rem}@media screen and (min-width:40em){h1{font-size:3rem}h2{font-size:2.5rem}h3{font-size:1.9375rem}h4{font-size:1.5625rem}h5{font-size:1.25rem}h6{font-size:1rem}}a{color:#2199e8;text-decoration:none;line-height:inherit;cursor:pointer}a:focus,a:hover{color:#1585cf}a img{border:0}hr{max-width:75rem;height:0;border-right:0;border-top:0;border-bottom:1px solid #cacaca;border-left:0;margin:1.25rem auto;clear:both}dl,ol,ul{line-height:1.6;margin-bottom:1rem;list-style-position:outside}li{font-size:inherit}ul{list-style-type:disc;margin-left:1.25rem}ol{margin-left:1.25rem}ol ol,ol ul,ul ol,ul ul{margin-left:1.25rem;margin-bottom:0}dl{margin-bottom:1rem}dl dt{margin-bottom:.3rem;font-weight:700}blockquote{margin:0 0 1rem;padding:.5625rem 1.25rem 0 1.1875rem;border-left:1px solid #cacaca}blockquote,blockquote p{line-height:1.6;color:#8a8a8a}cite{display:block;font-size:.8125rem;color:#8a8a8a}cite:before{content:'\2014 \0020'}abbr{color:#0a0a0a;cursor:help;border-bottom:1px dotted #0a0a0a}code{font-family:Consolas,"Liberation Mono",Courier,monospace;font-weight:400;color:#0a0a0a;background-color:#e6e6e6;border:1px solid #cacaca;padding:.125rem .3125rem .0625rem}kbd{padding:.125rem .25rem 0;margin:0;background-color:#e6e6e6;color:#0a0a0a;font-family:Consolas,"Liberation Mono",Courier,monospace}.subheader{margin-top:.2rem;margin-bottom:.5rem;font-weight:400;line-height:1.4;color:#8a8a8a}.lead{font-size:125%;line-height:1.6}.stat{font-size:2.5rem;line-height:1}p+.stat{margin-top:-1rem}.no-bullet{margin-left:0;list-style:none}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}@media screen and (min-width:40em){.medium-text-left{text-align:left}.medium-text-right{text-align:right}.medium-text-center{text-align:center}.medium-text-justify{text-align:justify}}@media screen and (min-width:64em){.large-text-left{text-align:left}.large-text-right{text-align:right}.large-text-center{text-align:center}.large-text-justify{text-align:justify}}.show-for-print{display:none!important}@media print{*{background:0 0!important;color:#000!important;box-shadow:none!important;text-shadow:none!important}.show-for-print{display:block!important}.hide-for-print{display:none!important}table.show-for-print{display:table!important}thead.show-for-print{display:table-header-group!important}tbody.show-for-print{display:table-row-group!important}tr.show-for-print{display:table-row!important}td.show-for-print{display:table-cell!important}th.show-for-print{display:table-cell!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}.ir a:after,a[href^='#']:after,a[href^='javascript:']:after{content:''}abbr[title]:after{content:" (" attr(title) ")"}blockquote,pre{border:1px solid #8a8a8a;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}@page{margin:.5cm}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}}.button{display:inline-block;text-align:center;line-height:1;cursor:pointer;-webkit-appearance:none;transition:background-color .25s ease-out,color .25s ease-out;vertical-align:middle;border:1px solid transparent;border-radius:0;padding:.85em 1em;margin:0 0 1rem 0;font-size:.9rem;background-color:#2199e8;color:#fff}[data-whatinput=mouse] .button{outline:0}.button:focus,.button:hover{background-color:#1583cc;color:#fff}.button.tiny{font-size:.6rem}.button.small{font-size:.75rem}.button.large{font-size:1.25rem}.button.expanded{display:block;width:100%;margin-left:0;margin-right:0}.button.primary{background-color:#2199e8;color:#fff}.button.primary:focus,.button.primary:hover{background-color:#147cc0;color:#fff}.button.secondary{background-color:#777;color:#fff}.button.secondary:focus,.button.secondary:hover{background-color:#5f5f5f;color:#fff}.button.success{background-color:#3adb76;color:#fff}.button.success:focus,.button.success:hover{background-color:#22bb5b;color:#fff}.button.warning{background-color:#ffae00;color:#fff}.button.warning:focus,.button.warning:hover{background-color:#cc8b00;color:#fff}.button.alert{background-color:#ec5840;color:#fff}.button.alert:focus,.button.alert:hover{background-color:#da3116;color:#fff}.button.hollow{border:1px solid #2199e8;color:#2199e8}.button.hollow,.button.hollow:focus,.button.hollow:hover{background-color:transparent}.button.hollow:focus,.button.hollow:hover{border-color:#0c4d78;color:#0c4d78}.button.hollow.primary{border:1px solid #2199e8;color:#2199e8}.button.hollow.primary:focus,.button.hollow.primary:hover{border-color:#0c4d78;color:#0c4d78}.button.hollow.secondary{border:1px solid #777;color:#777}.button.hollow.secondary:focus,.button.hollow.secondary:hover{border-color:#3c3c3c;color:#3c3c3c}.button.hollow.success{border:1px solid #3adb76;color:#3adb76}.button.hollow.success:focus,.button.hollow.success:hover{border-color:#157539;color:#157539}.button.hollow.warning{border:1px solid #ffae00;color:#ffae00}.button.hollow.warning:focus,.button.hollow.warning:hover{border-color:#805700;color:#805700}.button.hollow.alert{border:1px solid #ec5840;color:#ec5840}.button.hollow.alert:focus,.button.hollow.alert:hover{border-color:#881f0e;color:#881f0e}.button.disabled,.button[disabled]{opacity:.25;cursor:not-allowed}.button.disabled:focus,.button.disabled:hover,.button[disabled]:focus,.button[disabled]:hover{background-color:#2199e8;color:#fff}.button.disabled.primary,.button[disabled].primary{opacity:.25;cursor:not-allowed}.button.disabled.primary:focus,.button.disabled.primary:hover,.button[disabled].primary:focus,.button[disabled].primary:hover{background-color:#2199e8;color:#fff}.button.disabled.secondary,.button[disabled].secondary{opacity:.25;cursor:not-allowed}.button.disabled.secondary:focus,.button.disabled.secondary:hover,.button[disabled].secondary:focus,.button[disabled].secondary:hover{background-color:#777;color:#fff}.button.disabled.success,.button[disabled].success{opacity:.25;cursor:not-allowed}.button.disabled.success:focus,.button.disabled.success:hover,.button[disabled].success:focus,.button[disabled].success:hover{background-color:#3adb76;color:#fff}.button.disabled.warning,.button[disabled].warning{opacity:.25;cursor:not-allowed}.button.disabled.warning:focus,.button.disabled.warning:hover,.button[disabled].warning:focus,.button[disabled].warning:hover{background-color:#ffae00;color:#fff}.button.disabled.alert,.button[disabled].alert{opacity:.25;cursor:not-allowed}.button.disabled.alert:focus,.button.disabled.alert:hover,.button[disabled].alert:focus,.button[disabled].alert:hover{background-color:#ec5840;color:#fff}.button.dropdown::after{content:'';display:block;width:0;height:0;border:inset .4em;border-color:#fefefe transparent transparent;border-top-style:solid;border-bottom-width:0;position:relative;top:.4em;float:right;margin-left:1em;display:inline-block}.button.arrow-only::after{margin-left:0;float:none;top:-.1em}[type=color],[type=date],[type=datetime-local],[type=datetime],[type=email],[type=month],[type=number],[type=password],[type=search],[type=tel],[type=text],[type=time],[type=url],[type=week],textarea{display:block;box-sizing:border-box;width:100%;height:2.4375rem;padding:.5rem;border:1px solid #cacaca;margin:0 0 1rem;font-family:inherit;font-size:1rem;color:#0a0a0a;background-color:#fefefe;box-shadow:inset 0 1px 2px rgba(10,10,10,.1);border-radius:0;transition:box-shadow .5s,border-color .25s ease-in-out;-webkit-appearance:none;-moz-appearance:none}[type=color]:focus,[type=date]:focus,[type=datetime-local]:focus,[type=datetime]:focus,[type=email]:focus,[type=month]:focus,[type=number]:focus,[type=password]:focus,[type=search]:focus,[type=tel]:focus,[type=text]:focus,[type=time]:focus,[type=url]:focus,[type=week]:focus,textarea:focus{border:1px solid #8a8a8a;background-color:#fefefe;outline:0;box-shadow:0 0 5px #cacaca;transition:box-shadow .5s,border-color .25s ease-in-out}textarea{max-width:100%}textarea[rows]{height:auto}input::placeholder,textarea::placeholder{color:#cacaca}input:disabled,input[readonly],textarea:disabled,textarea[readonly]{background-color:#e6e6e6;cursor:default}[type=button],[type=submit]{border-radius:0;-webkit-appearance:none;-moz-appearance:none}input[type=search]{box-sizing:border-box}[type=checkbox],[type=file],[type=radio]{margin:0 0 1rem}[type=checkbox]+label,[type=radio]+label{display:inline-block;margin-left:.5rem;margin-right:1rem;margin-bottom:0;vertical-align:baseline}[type=checkbox]+label[for],[type=radio]+label[for]{cursor:pointer}label>[type=checkbox],label>[type=radio]{margin-right:.5rem}[type=file]{width:100%}label{display:block;margin:0;font-size:.875rem;font-weight:400;line-height:1.8;color:#0a0a0a}label.middle{margin:0 0 1rem;padding:.5625rem 0}.help-text{margin-top:-.5rem;font-size:.8125rem;font-style:italic;color:#333}.input-group{display:table;width:100%;margin-bottom:1rem}.input-group>:first-child{border-radius:0}.input-group>:last-child>*{border-radius:0}.input-group-button,.input-group-field,.input-group-label{margin:0;white-space:nowrap;display:table-cell;vertical-align:middle}.input-group-label{text-align:center;padding:0 1rem;background:#e6e6e6;color:#0a0a0a;border:1px solid #cacaca;white-space:nowrap;width:1%;height:100%}.input-group-label:first-child{border-right:0}.input-group-label:last-child{border-left:0}.input-group-field{border-radius:0;height:2.5rem}.input-group-button{padding-top:0;padding-bottom:0;text-align:center;height:100%;width:1%}.input-group-button a,.input-group-button button,.input-group-button input{margin:0}.input-group .input-group-button{display:table-cell}fieldset{border:0;padding:0;margin:0}legend{margin-bottom:.5rem;max-width:100%}.fieldset{border:1px solid #cacaca;padding:1.25rem;margin:1.125rem 0}.fieldset legend{background:#fefefe;padding:0 .1875rem;margin:0;margin-left:-.1875rem}select{height:2.4375rem;padding:.5rem;border:1px solid #cacaca;margin:0 0 1rem;font-size:1rem;font-family:inherit;line-height:normal;color:#0a0a0a;background-color:#fefefe;border-radius:0;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' width='32' height='24' viewBox='0 0 32 24'><polygon points='0,0 32,0 16,24' style='fill: rgb%2851, 51, 51%29'></polygon></svg>");background-size:9px 6px;background-position:right -1rem center;background-origin:content-box;background-repeat:no-repeat;padding-right:1.5rem}@media screen and (min-width:0\0){select{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg==)}}select:disabled{background-color:#e6e6e6;cursor:default}select::-ms-expand{display:none}select[multiple]{height:auto;background-image:none}.is-invalid-input:not(:focus){background-color:rgba(236,88,64,.1);border-color:#ec5840}.is-invalid-label{color:#ec5840}.form-error{display:none;margin-top:-.5rem;margin-bottom:1rem;font-size:.75rem;font-weight:700;color:#ec5840}.form-error.is-visible{display:block}.accordion{list-style-type:none;background:#fefefe;margin-left:0}.accordion-item:first-child>:first-child{border-radius:0}.accordion-item:last-child>:last-child{border-radius:0}.accordion-title{display:block;padding:1.25rem 1rem;line-height:1;font-size:.75rem;color:#2199e8;position:relative;border:1px solid #e6e6e6;border-bottom:0}:last-child:not(.is-active)>.accordion-title{border-radius:0;border-bottom:1px solid #e6e6e6}.accordion-title:focus,.accordion-title:hover{background-color:#e6e6e6}.accordion-title::before{content:'+';position:absolute;right:1rem;top:50%;margin-top:-.5rem}.is-active>.accordion-title::before{content:'–'}.accordion-content{padding:1rem;display:none;border:1px solid #e6e6e6;border-bottom:0;background-color:#fefefe;color:#2199e8}:last-child>.accordion-content:last-child{border-bottom:1px solid #e6e6e6}.is-accordion-submenu-parent>a{position:relative}.is-accordion-submenu-parent>a::after{content:'';display:block;width:0;height:0;border:inset 6px;border-color:#2199e8 transparent transparent;border-top-style:solid;border-bottom-width:0;position:absolute;top:50%;margin-top:-4px;right:1rem}.is-accordion-submenu-parent[aria-expanded=true]>a::after{transform-origin:50% 50%;transform:scaleY(-1)}.badge{display:inline-block;padding:.3em;min-width:2.1em;font-size:.6rem;text-align:center;border-radius:50%;background:#2199e8;color:#fefefe}.badge.secondary{background:#777;color:#fefefe}.badge.success{background:#3adb76;color:#fefefe}.badge.warning{background:#ffae00;color:#fefefe}.badge.alert{background:#ec5840;color:#fefefe}.breadcrumbs{list-style:none;margin:0 0 1rem 0}.breadcrumbs::after,.breadcrumbs::before{content:' ';display:table}.breadcrumbs::after{clear:both}.breadcrumbs li{float:left;color:#0a0a0a;font-size:.6875rem;cursor:default;text-transform:uppercase}.breadcrumbs li:not(:last-child)::after{color:#cacaca;content:"/";margin:0 .75rem;position:relative;top:1px;opacity:1}.breadcrumbs a{color:#2199e8}.breadcrumbs a:hover{text-decoration:underline}.breadcrumbs .disabled{color:#cacaca;cursor:not-allowed}.button-group{margin-bottom:1rem;font-size:0}.button-group::after,.button-group::before{content:' ';display:table}.button-group::after{clear:both}.button-group .button{margin:0;margin-right:1px;margin-bottom:1px;font-size:.9rem}.button-group .button:last-child{margin-right:0}.button-group.tiny .button{font-size:.6rem}.button-group.small .button{font-size:.75rem}.button-group.large .button{font-size:1.25rem}.button-group.expanded{margin-right:-1px}.button-group.expanded::after,.button-group.expanded::before{display:none}.button-group.expanded .button:first-child:nth-last-child(2),.button-group.expanded .button:first-child:nth-last-child(2):first-child:nth-last-child(2)~.button{display:inline-block;width:calc(50% - 1px);margin-right:1px}.button-group.expanded .button:first-child:nth-last-child(2):first-child:nth-last-child(2)~.button:last-child,.button-group.expanded .button:first-child:nth-last-child(2):last-child{margin-right:-6px}.button-group.expanded .button:first-child:nth-last-child(3),.button-group.expanded .button:first-child:nth-last-child(3):first-child:nth-last-child(3)~.button{display:inline-block;width:calc(33.33333% - 1px);margin-right:1px}.button-group.expanded .button:first-child:nth-last-child(3):first-child:nth-last-child(3)~.button:last-child,.button-group.expanded .button:first-child:nth-last-child(3):last-child{margin-right:-6px}.button-group.expanded .button:first-child:nth-last-child(4),.button-group.expanded .button:first-child:nth-last-child(4):first-child:nth-last-child(4)~.button{display:inline-block;width:calc(25% - 1px);margin-right:1px}.button-group.expanded .button:first-child:nth-last-child(4):first-child:nth-last-child(4)~.button:last-child,.button-group.expanded .button:first-child:nth-last-child(4):last-child{margin-right:-6px}.button-group.expanded .button:first-child:nth-last-child(5),.button-group.expanded .button:first-child:nth-last-child(5):first-child:nth-last-child(5)~.button{display:inline-block;width:calc(20% - 1px);margin-right:1px}.button-group.expanded .button:first-child:nth-last-child(5):first-child:nth-last-child(5)~.button:last-child,.button-group.expanded .button:first-child:nth-last-child(5):last-child{margin-right:-6px}.button-group.expanded .button:first-child:nth-last-child(6),.button-group.expanded .button:first-child:nth-last-child(6):first-child:nth-last-child(6)~.button{display:inline-block;width:calc(16.66667% - 1px);margin-right:1px}.button-group.expanded .button:first-child:nth-last-child(6):first-child:nth-last-child(6)~.button:last-child,.button-group.expanded .button:first-child:nth-last-child(6):last-child{margin-right:-6px}.button-group.primary .button{background-color:#2199e8;color:#fff}.button-group.primary .button:focus,.button-group.primary .button:hover{background-color:#147cc0;color:#fff}.button-group.secondary .button{background-color:#777;color:#fff}.button-group.secondary .button:focus,.button-group.secondary .button:hover{background-color:#5f5f5f;color:#fff}.button-group.success .button{background-color:#3adb76;color:#fff}.button-group.success .button:focus,.button-group.success .button:hover{background-color:#22bb5b;color:#fff}.button-group.warning .button{background-color:#ffae00;color:#fff}.button-group.warning .button:focus,.button-group.warning .button:hover{background-color:#cc8b00;color:#fff}.button-group.alert .button{background-color:#ec5840;color:#fff}.button-group.alert .button:focus,.button-group.alert .button:hover{background-color:#da3116;color:#fff}.button-group.stacked .button,.button-group.stacked-for-medium .button,.button-group.stacked-for-small .button{width:100%}.button-group.stacked .button:last-child,.button-group.stacked-for-medium .button:last-child,.button-group.stacked-for-small .button:last-child{margin-bottom:0}@media screen and (min-width:40em){.button-group.stacked-for-small .button{width:auto;margin-bottom:0}}@media screen and (min-width:64em){.button-group.stacked-for-medium .button{width:auto;margin-bottom:0}}@media screen and (max-width:39.9375em){.button-group.stacked-for-small.expanded{display:block}.button-group.stacked-for-small.expanded .button{display:block;margin-right:0}}.callout{margin:0 0 1rem 0;padding:1rem;border:1px solid rgba(10,10,10,.25);border-radius:0;position:relative;color:#0a0a0a;background-color:#fff}.callout>:first-child{margin-top:0}.callout>:last-child{margin-bottom:0}.callout.primary{background-color:#def0fc}.callout.secondary{background-color:#ebebeb}.callout.success{background-color:#e1faea}.callout.warning{background-color:#fff3d9}.callout.alert{background-color:#fce6e2}.callout.small{padding-top:.5rem;padding-right:.5rem;padding-bottom:.5rem;padding-left:.5rem}.callout.large{padding-top:3rem;padding-right:3rem;padding-bottom:3rem;padding-left:3rem}.close-button{position:absolute;color:#8a8a8a;right:1rem;top:.5rem;font-size:2em;line-height:1;cursor:pointer}[data-whatinput=mouse] .close-button{outline:0}.close-button:focus,.close-button:hover{color:#0a0a0a}.is-drilldown{position:relative;overflow:hidden}.is-drilldown li{display:block!important}.is-drilldown-submenu{position:absolute;top:0;left:100%;z-index:-1;width:100%;background:#fefefe;transition:transform .15s linear}.is-drilldown-submenu.is-active{z-index:1;display:block;transform:translateX(-100%)}.is-drilldown-submenu.is-closing{transform:translateX(100%)}.is-drilldown-submenu-parent>a{position:relative}.is-drilldown-submenu-parent>a::after{content:'';display:block;width:0;height:0;border:inset 6px;border-color:transparent transparent transparent #2199e8;border-left-style:solid;border-right-width:0;position:absolute;top:50%;margin-top:-6px;right:1rem}.js-drilldown-back>a::before{content:'';display:block;width:0;height:0;border:inset 6px;border-color:transparent #2199e8 transparent transparent;border-right-style:solid;border-left-width:0;border-left-width:0;display:inline-block;vertical-align:middle;margin-right:.75rem}.dropdown-pane{background-color:#fefefe;border:1px solid #cacaca;border-radius:0;display:block;font-size:1rem;padding:1rem;position:absolute;visibility:hidden;width:300px;z-index:10}.dropdown-pane.is-open{visibility:visible}.dropdown-pane.tiny{width:100px}.dropdown-pane.small{width:200px}.dropdown-pane.large{width:400px}.dropdown.menu>li.opens-left>.is-dropdown-submenu{left:auto;right:0;top:100%}.dropdown.menu>li.opens-right>.is-dropdown-submenu{right:auto;left:0;top:100%}.dropdown.menu>li.is-dropdown-submenu-parent>a{padding-right:1.5rem;position:relative}.dropdown.menu>li.is-dropdown-submenu-parent>a::after{content:'';display:block;width:0;height:0;border:inset 5px;border-color:#2199e8 transparent transparent;border-top-style:solid;border-bottom-width:0;right:5px;margin-top:-2px}[data-whatinput=mouse] .dropdown.menu a{outline:0}.no-js .dropdown.menu ul{display:none}.dropdown.menu.vertical>li .is-dropdown-submenu{top:0}.dropdown.menu.vertical>li.opens-left>.is-dropdown-submenu{left:auto;right:100%}.dropdown.menu.vertical>li.opens-right>.is-dropdown-submenu{right:auto;left:100%}.dropdown.menu.vertical>li>a::after{right:14px;margin-top:-3px}.dropdown.menu.vertical>li.opens-left>a::after{content:'';display:block;width:0;height:0;border:inset 5px;border-color:transparent #2199e8 transparent transparent;border-right-style:solid;border-left-width:0}.dropdown.menu.vertical>li.opens-right>a::after{content:'';display:block;width:0;height:0;border:inset 5px;border-color:transparent transparent transparent #2199e8;border-left-style:solid;border-right-width:0}@media screen and (min-width:40em){.dropdown.menu.medium-horizontal>li.opens-left>.is-dropdown-submenu{left:auto;right:0;top:100%}.dropdown.menu.medium-horizontal>li.opens-right>.is-dropdown-submenu{right:auto;left:0;top:100%}.dropdown.menu.medium-horizontal>li.is-dropdown-submenu-parent>a{padding-right:1.5rem;position:relative}.dropdown.menu.medium-horizontal>li.is-dropdown-submenu-parent>a::after{content:'';display:block;width:0;height:0;border:inset 5px;border-color:#2199e8 transparent transparent;border-top-style:solid;border-bottom-width:0;right:5px;margin-top:-2px}.dropdown.menu.medium-vertical>li .is-dropdown-submenu{top:0}.dropdown.menu.medium-vertical>li.opens-left>.is-dropdown-submenu{left:auto;right:100%}.dropdown.menu.medium-vertical>li.opens-right>.is-dropdown-submenu{right:auto;left:100%}.dropdown.menu.medium-vertical>li>a::after{right:14px;margin-top:-3px}.dropdown.menu.medium-vertical>li.opens-left>a::after{content:'';display:block;width:0;height:0;border:inset 5px;border-color:transparent #2199e8 transparent transparent;border-right-style:solid;border-left-width:0}.dropdown.menu.medium-vertical>li.opens-right>a::after{content:'';display:block;width:0;height:0;border:inset 5px;border-color:transparent transparent transparent #2199e8;border-left-style:solid;border-right-width:0}}@media screen and (min-width:64em){.dropdown.menu.large-horizontal>li.opens-left>.is-dropdown-submenu{left:auto;right:0;top:100%}.dropdown.menu.large-horizontal>li.opens-right>.is-dropdown-submenu{right:auto;left:0;top:100%}.dropdown.menu.large-horizontal>li.is-dropdown-submenu-parent>a{padding-right:1.5rem;position:relative}.dropdown.menu.large-horizontal>li.is-dropdown-submenu-parent>a::after{content:'';display:block;width:0;height:0;border:inset 5px;border-color:#2199e8 transparent transparent;border-top-style:solid;border-bottom-width:0;right:5px;margin-top:-2px}.dropdown.menu.large-vertical>li .is-dropdown-submenu{top:0}.dropdown.menu.large-vertical>li.opens-left>.is-dropdown-submenu{left:auto;right:100%}.dropdown.menu.large-vertical>li.opens-right>.is-dropdown-submenu{right:auto;left:100%}.dropdown.menu.large-vertical>li>a::after{right:14px;margin-top:-3px}.dropdown.menu.large-vertical>li.opens-left>a::after{content:'';display:block;width:0;height:0;border:inset 5px;border-color:transparent #2199e8 transparent transparent;border-right-style:solid;border-left-width:0}.dropdown.menu.large-vertical>li.opens-right>a::after{content:'';display:block;width:0;height:0;border:inset 5px;border-color:transparent transparent transparent #2199e8;border-left-style:solid;border-right-width:0}}.dropdown.menu.align-right .is-dropdown-submenu.first-sub{top:100%;left:auto;right:0}.is-dropdown-menu.vertical{width:100px}.is-dropdown-menu.vertical.align-right{float:right}.is-dropdown-submenu-parent{position:relative}.is-dropdown-submenu-parent a::after{position:absolute;top:50%;right:5px;margin-top:-2px}.is-dropdown-submenu-parent.opens-inner>.is-dropdown-submenu{top:100%;left:auto}.is-dropdown-submenu-parent.opens-left>.is-dropdown-submenu{left:auto;right:100%}.is-dropdown-submenu-parent.opens-right>.is-dropdown-submenu{right:auto;left:100%}.is-dropdown-submenu{display:none;position:absolute;top:0;left:100%;min-width:200px;z-index:1;background:#fefefe;border:1px solid #cacaca}.is-dropdown-submenu .is-dropdown-submenu-parent>a::after{right:14px;margin-top:-3px}.is-dropdown-submenu .is-dropdown-submenu-parent.opens-left>a::after{content:'';display:block;width:0;height:0;border:inset 5px;border-color:transparent #2199e8 transparent transparent;border-right-style:solid;border-left-width:0}.is-dropdown-submenu .is-dropdown-submenu-parent.opens-right>a::after{content:'';display:block;width:0;height:0;border:inset 5px;border-color:transparent transparent transparent #2199e8;border-left-style:solid;border-right-width:0}.is-dropdown-submenu .is-dropdown-submenu{margin-top:-1px}.is-dropdown-submenu>li{width:100%}.is-dropdown-submenu.js-dropdown-active{display:block}.flex-video{position:relative;height:0;padding-bottom:75%;margin-bottom:1rem;overflow:hidden}.flex-video embed,.flex-video iframe,.flex-video object,.flex-video video{position:absolute;top:0;left:0;width:100%;height:100%}.flex-video.widescreen{padding-bottom:56.25%}.flex-video.vimeo{padding-top:0}.label{display:inline-block;padding:.33333rem .5rem;font-size:.8rem;line-height:1;white-space:nowrap;cursor:default;border-radius:0;background:#2199e8;color:#fefefe}.label.secondary{background:#777;color:#fefefe}.label.success{background:#3adb76;color:#fefefe}.label.warning{background:#ffae00;color:#fefefe}.label.alert{background:#ec5840;color:#fefefe}.media-object{margin-bottom:1rem;display:block}.media-object img{max-width:none}@media screen and (max-width:39.9375em){.media-object.stack-for-small .media-object-section{padding:0;padding-bottom:1rem;display:block}.media-object.stack-for-small .media-object-section img{width:100%}}.media-object-section{display:table-cell;vertical-align:top}.media-object-section:first-child{padding-right:1rem}.media-object-section:last-child:not(:nth-child(2)){padding-left:1rem}.media-object-section>:last-child{margin-bottom:0}.media-object-section.middle{vertical-align:middle}.media-object-section.bottom{vertical-align:bottom}.menu{margin:0;list-style-type:none}.menu>li{display:table-cell;vertical-align:middle}[data-whatinput=mouse] .menu>li{outline:0}.menu>li>a{display:block;padding:.7rem 1rem;line-height:1}.menu a,.menu button,.menu input{margin-bottom:0}.menu>li>a i,.menu>li>a img,.menu>li>a svg{vertical-align:middle}.menu>li>a i+span,.menu>li>a img+span,.menu>li>a svg+span{vertical-align:middle}.menu>li>a i,.menu>li>a img,.menu>li>a svg{margin-right:.25rem;display:inline-block}.menu>li{display:table-cell}.menu.vertical>li{display:block}@media screen and (min-width:40em){.menu.medium-horizontal>li{display:table-cell}.menu.medium-vertical>li{display:block}}@media screen and (min-width:64em){.menu.large-horizontal>li{display:table-cell}.menu.large-vertical>li{display:block}}.menu.simple li{line-height:1;display:inline-block;margin-right:1rem}.menu.simple a{padding:0}.menu.align-right::after,.menu.align-right::before{content:' ';display:table}.menu.align-right::after{clear:both}.menu.align-right>li{float:right}.menu.expanded{width:100%;display:table;table-layout:fixed}.menu.expanded>li:first-child:last-child{width:100%}.menu.icon-top>li>a{text-align:center}.menu.icon-top>li>a i,.menu.icon-top>li>a img,.menu.icon-top>li>a svg{display:block;margin:0 auto .25rem}.menu.nested{margin-left:1rem}.menu .active>a{color:#fefefe;background:#2199e8}.menu-text{font-weight:700;color:inherit;line-height:1;padding-top:0;padding-bottom:0;padding:.7rem 1rem}.menu-centered{text-align:center}.menu-centered>.menu{display:inline-block}.no-js [data-responsive-menu] ul{display:none}body,html{height:100%}.off-canvas-wrapper{width:100%;overflow-x:hidden;position:relative;backface-visibility:hidden;-webkit-overflow-scrolling:auto}.off-canvas-wrapper-inner{position:relative;width:100%;min-height:100%;transition:transform .5s ease}.off-canvas-wrapper-inner::after,.off-canvas-wrapper-inner::before{content:' ';display:table}.off-canvas-wrapper-inner::after{clear:both}.off-canvas-content{min-height:100%;background:#fefefe;transition:transform .5s ease;backface-visibility:hidden;z-index:1;padding-bottom:.1px;box-shadow:0 0 10px rgba(10,10,10,.5)}.js-off-canvas-exit{display:none;position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(254,254,254,.25);cursor:pointer;transition:background .5s ease}.off-canvas{position:absolute;background:#e6e6e6;z-index:-1;max-height:100%;overflow-y:auto;transform:translateX(0)}[data-whatinput=mouse] .off-canvas{outline:0}.off-canvas.position-left{left:-250px;top:0;width:250px}.is-open-left{transform:translateX(250px)}.off-canvas.position-right{right:-250px;top:0;width:250px}.is-open-right{transform:translateX(-250px)}@media screen and (min-width:40em){.position-left.reveal-for-medium{left:0;z-index:auto;position:fixed}.position-left.reveal-for-medium~.off-canvas-content{margin-left:250px}.position-right.reveal-for-medium{right:0;z-index:auto;position:fixed}.position-right.reveal-for-medium~.off-canvas-content{margin-right:250px}}@media screen and (min-width:64em){.position-left.reveal-for-large{left:0;z-index:auto;position:fixed}.position-left.reveal-for-large~.off-canvas-content{margin-left:250px}.position-right.reveal-for-large{right:0;z-index:auto;position:fixed}.position-right.reveal-for-large~.off-canvas-content{margin-right:250px}}.orbit{position:relative}.orbit-container{position:relative;margin:0;overflow:hidden;list-style:none}.orbit-slide{width:100%;max-height:100%}.orbit-slide.no-motionui.is-active{top:0;left:0}.orbit-figure{margin:0}.orbit-image{margin:0;width:100%;max-width:100%}.orbit-caption{position:absolute;bottom:0;width:100%;padding:1rem;margin-bottom:0;color:#fefefe;background-color:rgba(10,10,10,.5)}.orbit-next,.orbit-previous{position:absolute;top:50%;transform:translateY(-50%);z-index:10;padding:1rem;color:#fefefe}[data-whatinput=mouse] .orbit-next,[data-whatinput=mouse] .orbit-previous{outline:0}.orbit-next.nice-select.open,.orbit-next:active,.orbit-next:focus,.orbit-next:hover,.orbit-previous.nice-select.open,.orbit-previous:active,.orbit-previous:focus,.orbit-previous:hover{background-color:rgba(10,10,10,.5)}.orbit-previous{left:0}.orbit-next{left:auto;right:0}.orbit-bullets{position:relative;margin-top:.8rem;margin-bottom:.8rem;text-align:center}[data-whatinput=mouse] .orbit-bullets{outline:0}.orbit-bullets button{width:1.2rem;height:1.2rem;margin:.1rem;background-color:#cacaca;border-radius:50%}.orbit-bullets button:hover{background-color:#8a8a8a}.orbit-bullets button.is-active{background-color:#8a8a8a}.pagination{margin-left:0;margin-bottom:1rem}.pagination::after,.pagination::before{content:' ';display:table}.pagination::after{clear:both}.pagination li{font-size:.875rem;margin-right:.0625rem;border-radius:0;display:none}.pagination li:first-child,.pagination li:last-child{display:inline-block}@media screen and (min-width:40em){.pagination li{display:inline-block}}.pagination a,.pagination button{color:#0a0a0a;display:block;padding:.1875rem .625rem;border-radius:0}.pagination a:hover,.pagination button:hover{background:#e6e6e6}.pagination .current{padding:.1875rem .625rem;background:#2199e8;color:#fefefe;cursor:default}.pagination .disabled{padding:.1875rem .625rem;color:#cacaca;cursor:not-allowed}.pagination .disabled:hover{background:0 0}.pagination .ellipsis::after{content:'\2026';padding:.1875rem .625rem;color:#0a0a0a}.pagination-previous a::before,.pagination-previous.disabled::before{content:'\00ab';display:inline-block;margin-right:.5rem}.pagination-next a::after,.pagination-next.disabled::after{content:'\00bb';display:inline-block;margin-left:.5rem}.progress{background-color:#cacaca;height:1rem;margin-bottom:1rem;border-radius:0}.progress.primary .progress-meter{background-color:#2199e8}.progress.secondary .progress-meter{background-color:#777}.progress.success .progress-meter{background-color:#3adb76}.progress.warning .progress-meter{background-color:#ffae00}.progress.alert .progress-meter{background-color:#ec5840}.progress-meter{position:relative;display:block;width:0%;height:100%;background-color:#2199e8}.progress-meter-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);position:absolute;margin:0;font-size:.75rem;font-weight:700;color:#fefefe;white-space:nowrap}.slider{position:relative;height:.5rem;margin-top:1.25rem;margin-bottom:2.25rem;background-color:#e6e6e6;cursor:pointer;user-select:none;touch-action:none}.slider-fill{position:absolute;top:0;left:0;display:inline-block;max-width:100%;height:.5rem;background-color:#cacaca;transition:all .2s ease-in-out}.slider-fill.is-dragging{transition:all 0s linear}.slider-handle{position:absolute;top:50%;transform:translateY(-50%);position:absolute;left:0;z-index:1;display:inline-block;width:1.4rem;height:1.4rem;background-color:#2199e8;transition:all .2s ease-in-out;touch-action:manipulation;border-radius:0}[data-whatinput=mouse] .slider-handle{outline:0}.slider-handle:hover{background-color:#1583cc}.slider-handle.is-dragging{transition:all 0s linear}.slider.disabled,.slider[disabled]{opacity:.25;cursor:not-allowed}.slider.vertical{display:inline-block;width:.5rem;height:12.5rem;margin:0 1.25rem;transform:scale(1,-1)}.slider.vertical .slider-fill{top:0;width:.5rem;max-height:100%}.slider.vertical .slider-handle{position:absolute;top:0;left:50%;width:1.4rem;height:1.4rem;transform:translateX(-50%)}.sticky-container{position:relative}.sticky{position:absolute;z-index:0;transform:translate3d(0,0,0)}.sticky.is-stuck{position:fixed;z-index:5}.sticky.is-stuck.is-at-top{top:0}.sticky.is-stuck.is-at-bottom{bottom:0}.sticky.is-anchored{position:absolute;left:auto;right:auto}.sticky.is-anchored.is-at-bottom{bottom:0}body.is-reveal-open{overflow:hidden}html.is-reveal-open,html.is-reveal-open body{min-height:100%;overflow:hidden;user-select:none}.reveal-overlay{display:none;position:fixed;top:0;bottom:0;left:0;right:0;z-index:1005;background-color:rgba(10,10,10,.45);overflow-y:scroll}.reveal{display:none;z-index:1006;padding:1rem;border:1px solid #cacaca;background-color:#fefefe;border-radius:0;position:relative;top:100px;margin-left:auto;margin-right:auto;overflow-y:auto}[data-whatinput=mouse] .reveal{outline:0}@media screen and (min-width:40em){.reveal{min-height:0}}.reveal .column,.reveal .columns{min-width:0}.reveal>:last-child{margin-bottom:0}@media screen and (min-width:40em){.reveal{width:600px;max-width:75rem}}@media screen and (min-width:40em){.reveal .reveal{left:auto;right:auto;margin:0 auto}}.reveal.collapse{padding:0}@media screen and (min-width:40em){.reveal.tiny{width:30%;max-width:75rem}}@media screen and (min-width:40em){.reveal.small{width:50%;max-width:75rem}}@media screen and (min-width:40em){.reveal.large{width:90%;max-width:75rem}}.reveal.full{top:0;left:0;width:100%;height:100%;height:100vh;min-height:100vh;max-width:none;margin-left:0;border:0;border-radius:0}@media screen and (max-width:39.9375em){.reveal{top:0;left:0;width:100%;height:100%;height:100vh;min-height:100vh;max-width:none;margin-left:0;border:0;border-radius:0}}.reveal.without-overlay{position:fixed}.switch{height:2rem;margin-bottom:1rem;outline:0;position:relative;user-select:none;color:#fefefe;font-weight:700;font-size:.875rem}.switch-input{opacity:0;position:absolute;margin-bottom:0}.switch-paddle{background:#cacaca;cursor:pointer;display:block;position:relative;width:4rem;height:2rem;transition:all .25s ease-out;border-radius:0;color:inherit;font-weight:inherit}input+.switch-paddle{margin:0}.switch-paddle::after{background:#fefefe;content:'';display:block;position:absolute;height:1.5rem;left:.25rem;top:.25rem;width:1.5rem;transition:all .25s ease-out;transform:translate3d(0,0,0);border-radius:0}input:checked~.switch-paddle{background:#2199e8}input:checked~.switch-paddle::after{left:2.25rem}[data-whatinput=mouse] input:focus~.switch-paddle{outline:0}.switch-active,.switch-inactive{position:absolute;top:50%;transform:translateY(-50%)}.switch-active{left:8%;display:none}input:checked+label>.switch-active{display:block}.switch-inactive{right:15%}input:checked+label>.switch-inactive{display:none}.switch.tiny{height:1.5rem}.switch.tiny .switch-paddle{width:3rem;height:1.5rem;font-size:.625rem}.switch.tiny .switch-paddle::after{width:1rem;height:1rem}.switch.tiny input:checked~.switch-paddle::after{left:1.75rem}.switch.small{height:1.75rem}.switch.small .switch-paddle{width:3.5rem;height:1.75rem;font-size:.75rem}.switch.small .switch-paddle::after{width:1.25rem;height:1.25rem}.switch.small input:checked~.switch-paddle::after{left:2rem}.switch.large{height:2.5rem}.switch.large .switch-paddle{width:5rem;height:2.5rem;font-size:1rem}.switch.large .switch-paddle::after{width:2rem;height:2rem}.switch.large input:checked~.switch-paddle::after{left:2.75rem}table{width:100%;margin-bottom:1rem;border-radius:0}table tbody,table tfoot,table thead{border:1px solid #f1f1f1;background-color:#fefefe}table caption{font-weight:700;padding:.5rem .625rem .625rem}table thead{background:#f8f8f8;color:#0a0a0a}table tfoot{background:#f1f1f1;color:#0a0a0a}table tfoot tr,table thead tr{background:0 0}table tfoot td,table tfoot th,table thead td,table thead th{padding:.5rem .625rem .625rem;font-weight:700;text-align:left}table tbody tr:nth-child(even){background-color:#f1f1f1}table tbody td,table tbody th{padding:.5rem .625rem .625rem}@media screen and (max-width:63.9375em){table.stack thead{display:none}table.stack tfoot{display:none}table.stack td,table.stack th,table.stack tr{display:block}table.stack td{border-top:0}}table.scroll{display:block;width:100%;overflow-x:auto}table.hover thead tr:hover{background-color:#f3f3f3}table.hover tfoot tr:hover{background-color:#ececec}table.hover tbody tr:hover{background-color:#f9f9f9}table.hover tbody tr:nth-of-type(even):hover{background-color:#ececec}.table-scroll{overflow-x:auto}.table-scroll table{width:auto}.tabs{margin:0;list-style-type:none;background:#fefefe;border:1px solid #e6e6e6}.tabs::after,.tabs::before{content:' ';display:table}.tabs::after{clear:both}.tabs.vertical>li{width:auto;float:none;display:block}.tabs.simple>li>a{padding:0}.tabs.simple>li>a:hover{background:0 0}.tabs.primary{background:#2199e8}.tabs.primary>li>a{color:#fefefe}.tabs.primary>li>a:focus,.tabs.primary>li>a:hover{background:#1893e4}.tabs-title{float:left}.tabs-title>a{display:block;padding:1.25rem 1.5rem;line-height:1;font-size:.75rem}.tabs-title>a:hover{background:#fefefe}.tabs-title>a:focus,.tabs-title>a[aria-selected=true]{background:#e6e6e6}.tabs-content{background:#fefefe;transition:all .5s ease;border:1px solid #e6e6e6;border-top:0}.tabs-content.vertical{border:1px solid #e6e6e6;border-left:0}.tabs-panel{display:none;padding:1rem}.tabs-panel.is-active{display:block}.thumbnail{border:solid 4px #fefefe;box-shadow:0 0 0 1px rgba(10,10,10,.2);display:inline-block;line-height:0;max-width:100%;transition:box-shadow .2s ease-out;border-radius:0;margin-bottom:1rem}.thumbnail:focus,.thumbnail:hover{box-shadow:0 0 6px 1px rgba(33,153,232,.5)}.title-bar{background:#0a0a0a;color:#fefefe;padding:.5rem}.title-bar::after,.title-bar::before{content:' ';display:table}.title-bar::after{clear:both}.title-bar .menu-icon{margin-left:.25rem;margin-right:.25rem}.title-bar-left{float:left}.title-bar-right{float:right;text-align:right}.title-bar-title{font-weight:700;vertical-align:middle;display:inline-block}.has-tip{border-bottom:dotted 1px #8a8a8a;font-weight:700;position:relative;display:inline-block;cursor:help}.tooltip{background-color:#0a0a0a;color:#fefefe;font-size:80%;padding:.75rem;position:absolute;z-index:10;top:calc(100% + .6495rem);max-width:10rem!important;border-radius:0}.tooltip::before{content:'';display:block;width:0;height:0;border:inset .75rem;border-color:transparent transparent #0a0a0a;border-bottom-style:solid;border-top-width:0;bottom:100%;position:absolute;left:50%;transform:translateX(-50%)}.tooltip.top::before{content:'';display:block;width:0;height:0;border:inset .75rem;border-color:#0a0a0a transparent transparent;border-top-style:solid;border-bottom-width:0;top:100%;bottom:auto}.tooltip.left::before{content:'';display:block;width:0;height:0;border:inset .75rem;border-color:transparent transparent transparent #0a0a0a;border-left-style:solid;border-right-width:0;bottom:auto;left:100%;top:50%;transform:translateY(-50%)}.tooltip.right::before{content:'';display:block;width:0;height:0;border:inset .75rem;border-color:transparent #0a0a0a transparent transparent;border-right-style:solid;border-left-width:0;bottom:auto;left:auto;right:100%;top:50%;transform:translateY(-50%)}.top-bar{padding:.5rem}.top-bar::after,.top-bar::before{content:' ';display:table}.top-bar::after{clear:both}.top-bar,.top-bar ul{background-color:#e6e6e6}.top-bar input{max-width:200px;margin-right:1rem}.top-bar .input-group-field{width:100%;margin-right:0}.top-bar input.button{width:auto}.top-bar .top-bar-left,.top-bar .top-bar-right{width:100%}@media screen and (min-width:40em){.top-bar .top-bar-left,.top-bar .top-bar-right{width:auto}}@media screen and (max-width:63.9375em){.top-bar.stacked-for-medium .top-bar-left,.top-bar.stacked-for-medium .top-bar-right{width:100%}}@media screen and (max-width:74.9375em){.top-bar.stacked-for-large .top-bar-left,.top-bar.stacked-for-large .top-bar-right{width:100%}}.top-bar-title{float:left;margin-right:1rem}.top-bar-left{float:left}.top-bar-right{float:right}.hide{display:none!important}.invisible{visibility:hidden}@media screen and (max-width:39.9375em){.hide-for-small-only{display:none!important}}@media screen and (max-width:0em),screen and (min-width:40em){.show-for-small-only{display:none!important}}@media screen and (min-width:40em){.hide-for-medium{display:none!important}}@media screen and (max-width:39.9375em){.show-for-medium{display:none!important}}@media screen and (min-width:40em) and (max-width:63.9375em){.hide-for-medium-only{display:none!important}}@media screen and (max-width:39.9375em),screen and (min-width:64em){.show-for-medium-only{display:none!important}}@media screen and (min-width:64em){.hide-for-large{display:none!important}}@media screen and (max-width:63.9375em){.show-for-large{display:none!important}}@media screen and (min-width:64em) and (max-width:74.9375em){.hide-for-large-only{display:none!important}}@media screen and (max-width:63.9375em),screen and (min-width:75em){.show-for-large-only{display:none!important}}.show-for-sr,.show-on-focus{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.show-on-focus.nice-select.open,.show-on-focus:active,.show-on-focus:focus{position:static!important;height:auto;width:auto;overflow:visible;clip:auto}.hide-for-portrait,.show-for-landscape{display:block!important}@media screen and (orientation:landscape){.hide-for-portrait,.show-for-landscape{display:block!important}}@media screen and (orientation:portrait){.hide-for-portrait,.show-for-landscape{display:none!important}}.hide-for-landscape,.show-for-portrait{display:none!important}@media screen and (orientation:landscape){.hide-for-landscape,.show-for-portrait{display:none!important}}@media screen and (orientation:portrait){.hide-for-landscape,.show-for-portrait{display:block!important}}.float-left{float:left!important}.float-right{float:right!important}.float-center{display:block;margin-left:auto;margin-right:auto}.clearfix::after,.clearfix::before{content:' ';display:table}.clearfix::after{clear:both}.slide-in-down.mui-enter{transition-duration:.5s;transition-timing-function:linear;transform:translateY(-100%);transition-property:transform,opacity;backface-visibility:hidden}.slide-in-down.mui-enter.mui-enter-active{transform:translateY(0)}.slide-in-left.mui-enter{transition-duration:.5s;transition-timing-function:linear;transform:translateX(-100%);transition-property:transform,opacity;backface-visibility:hidden}.slide-in-left.mui-enter.mui-enter-active{transform:translateX(0)}.slide-in-up.mui-enter{transition-duration:.5s;transition-timing-function:linear;transform:translateY(100%);transition-property:transform,opacity;backface-visibility:hidden}.slide-in-up.mui-enter.mui-enter-active{transform:translateY(0)}.slide-in-right.mui-enter{transition-duration:.5s;transition-timing-function:linear;transform:translateX(100%);transition-property:transform,opacity;backface-visibility:hidden}.slide-in-right.mui-enter.mui-enter-active{transform:translateX(0)}.slide-out-down.mui-leave{transition-duration:.5s;transition-timing-function:linear;transform:translateY(0);transition-property:transform,opacity;backface-visibility:hidden}.slide-out-down.mui-leave.mui-leave-active{transform:translateY(100%)}.slide-out-right.mui-leave{transition-duration:.5s;transition-timing-function:linear;transform:translateX(0);transition-property:transform,opacity;backface-visibility:hidden}.slide-out-right.mui-leave.mui-leave-active{transform:translateX(100%)}.slide-out-up.mui-leave{transition-duration:.5s;transition-timing-function:linear;transform:translateY(0);transition-property:transform,opacity;backface-visibility:hidden}.slide-out-up.mui-leave.mui-leave-active{transform:translateY(-100%)}.slide-out-left.mui-leave{transition-duration:.5s;transition-timing-function:linear;transform:translateX(0);transition-property:transform,opacity;backface-visibility:hidden}.slide-out-left.mui-leave.mui-leave-active{transform:translateX(-100%)}.fade-in.mui-enter{transition-duration:.5s;transition-timing-function:linear;opacity:0;transition-property:opacity}.fade-in.mui-enter.mui-enter-active{opacity:1}.fade-out.mui-leave{transition-duration:.5s;transition-timing-function:linear;opacity:1;transition-property:opacity}.fade-out.mui-leave.mui-leave-active{opacity:0}.hinge-in-from-top.mui-enter{transition-duration:.5s;transition-timing-function:linear;transform:perspective(2000px) rotateX(-90deg);transform-origin:top;transition-property:transform,opacity;opacity:0}.hinge-in-from-top.mui-enter.mui-enter-active{transform:perspective(2000px) rotate(0);opacity:1}.hinge-in-from-right.mui-enter{transition-duration:.5s;transition-timing-function:linear;transform:perspective(2000px) rotateY(-90deg);transform-origin:right;transition-property:transform,opacity;opacity:0}.hinge-in-from-right.mui-enter.mui-enter-active{transform:perspective(2000px) rotate(0);opacity:1}.hinge-in-from-bottom.mui-enter{transition-duration:.5s;transition-timing-function:linear;transform:perspective(2000px) rotateX(90deg);transform-origin:bottom;transition-property:transform,opacity;opacity:0}.hinge-in-from-bottom.mui-enter.mui-enter-active{transform:perspective(2000px) rotate(0);opacity:1}.hinge-in-from-left.mui-enter{transition-duration:.5s;transition-timing-function:linear;transform:perspective(2000px) rotateY(90deg);transform-origin:left;transition-property:transform,opacity;opacity:0}.hinge-in-from-left.mui-enter.mui-enter-active{transform:perspective(2000px) rotate(0);opacity:1}.hinge-in-from-middle-x.mui-enter{transition-duration:.5s;transition-timing-function:linear;transform:perspective(2000px) rotateX(-90deg);transform-origin:center;transition-property:transform,opacity;opacity:0}.hinge-in-from-middle-x.mui-enter.mui-enter-active{transform:perspective(2000px) rotate(0);opacity:1}.hinge-in-from-middle-y.mui-enter{transition-duration:.5s;transition-timing-function:linear;transform:perspective(2000px) rotateY(-90deg);transform-origin:center;transition-property:transform,opacity;opacity:0}.hinge-in-from-middle-y.mui-enter.mui-enter-active{transform:perspective(2000px) rotate(0);opacity:1}.hinge-out-from-top.mui-leave{transition-duration:.5s;transition-timing-function:linear;transform:perspective(2000px) rotate(0);transform-origin:top;transition-property:transform,opacity;opacity:1}.hinge-out-from-top.mui-leave.mui-leave-active{transform:perspective(2000px) rotateX(-90deg);opacity:0}.hinge-out-from-right.mui-leave{transition-duration:.5s;transition-timing-function:linear;transform:perspective(2000px) rotate(0);transform-origin:right;transition-property:transform,opacity;opacity:1}.hinge-out-from-right.mui-leave.mui-leave-active{transform:perspective(2000px) rotateY(-90deg);opacity:0}.hinge-out-from-bottom.mui-leave{transition-duration:.5s;transition-timing-function:linear;transform:perspective(2000px) rotate(0);transform-origin:bottom;transition-property:transform,opacity;opacity:1}.hinge-out-from-bottom.mui-leave.mui-leave-active{transform:perspective(2000px) rotateX(90deg);opacity:0}.hinge-out-from-left.mui-leave{transition-duration:.5s;transition-timing-function:linear;transform:perspective(2000px) rotate(0);transform-origin:left;transition-property:transform,opacity;opacity:1}.hinge-out-from-left.mui-leave.mui-leave-active{transform:perspective(2000px) rotateY(90deg);opacity:0}.hinge-out-from-middle-x.mui-leave{transition-duration:.5s;transition-timing-function:linear;transform:perspective(2000px) rotate(0);transform-origin:center;transition-property:transform,opacity;opacity:1}.hinge-out-from-middle-x.mui-leave.mui-leave-active{transform:perspective(2000px) rotateX(-90deg);opacity:0}.hinge-out-from-middle-y.mui-leave{transition-duration:.5s;transition-timing-function:linear;transform:perspective(2000px) rotate(0);transform-origin:center;transition-property:transform,opacity;opacity:1}.hinge-out-from-middle-y.mui-leave.mui-leave-active{transform:perspective(2000px) rotateY(-90deg);opacity:0}.scale-in-up.mui-enter{transition-duration:.5s;transition-timing-function:linear;transform:scale(.5);transition-property:transform,opacity;opacity:0}.scale-in-up.mui-enter.mui-enter-active{transform:scale(1);opacity:1}.scale-in-down.mui-enter{transition-duration:.5s;transition-timing-function:linear;transform:scale(1.5);transition-property:transform,opacity;opacity:0}.scale-in-down.mui-enter.mui-enter-active{transform:scale(1);opacity:1}.scale-out-up.mui-leave{transition-duration:.5s;transition-timing-function:linear;transform:scale(1);transition-property:transform,opacity;opacity:1}.scale-out-up.mui-leave.mui-leave-active{transform:scale(1.5);opacity:0}.scale-out-down.mui-leave{transition-duration:.5s;transition-timing-function:linear;transform:scale(1);transition-property:transform,opacity;opacity:1}.scale-out-down.mui-leave.mui-leave-active{transform:scale(.5);opacity:0}.spin-in.mui-enter{transition-duration:.5s;transition-timing-function:linear;transform:rotate(-.75turn);transition-property:transform,opacity;opacity:0}.spin-in.mui-enter.mui-enter-active{transform:rotate(0);opacity:1}.spin-out.mui-leave{transition-duration:.5s;transition-timing-function:linear;transform:rotate(0);transition-property:transform,opacity;opacity:1}.spin-out.mui-leave.mui-leave-active{transform:rotate(.75turn);opacity:0}.spin-in-ccw.mui-enter{transition-duration:.5s;transition-timing-function:linear;transform:rotate(.75turn);transition-property:transform,opacity;opacity:0}.spin-in-ccw.mui-enter.mui-enter-active{transform:rotate(0);opacity:1}.spin-out-ccw.mui-leave{transition-duration:.5s;transition-timing-function:linear;transform:rotate(0);transition-property:transform,opacity;opacity:1}.spin-out-ccw.mui-leave.mui-leave-active{transform:rotate(-.75turn);opacity:0}.slow{transition-duration:750ms!important}.fast{transition-duration:250ms!important}.linear{transition-timing-function:linear!important}.ease{transition-timing-function:ease!important}.ease-in{transition-timing-function:ease-in!important}.ease-out{transition-timing-function:ease-out!important}.ease-in-out{transition-timing-function:ease-in-out!important}.bounce-in{transition-timing-function:cubic-bezier(.485,.155,.24,1.245)!important}.bounce-out{transition-timing-function:cubic-bezier(.485,.155,.515,.845)!important}.bounce-in-out{transition-timing-function:cubic-bezier(.76,-.245,.24,1.245)!important}.short-delay{transition-delay:.3s!important}.long-delay{transition-delay:.7s!important}.shake{animation-name:shake-7}@keyframes shake-7{0%,10%,20%,30%,40%,50%,60%,70%,80%,90%{transform:translateX(7%)}15%,25%,35%,45%,5%,55%,65%,75%,85%,95%{transform:translateX(-7%)}}.spin-cw{animation-name:spin-cw-1turn}@keyframes spin-cw-1turn{0%{transform:rotate(-1turn)}100%{transform:rotate(0)}}.spin-ccw{animation-name:spin-cw-1turn}@keyframes spin-cw-1turn{0%{transform:rotate(0)}100%{transform:rotate(1turn)}}.wiggle{animation-name:wiggle-7deg}@keyframes wiggle-7deg{40%,50%,60%{transform:rotate(7deg)}35%,45%,55%,65%{transform:rotate(-7deg)}0%,100%,30%,70%{transform:rotate(0)}}.shake,.spin-ccw,.spin-cw,.wiggle{animation-duration:.5s}.infinite{animation-iteration-count:infinite}.slow{animation-duration:750ms!important}.fast{animation-duration:250ms!important}.linear{animation-timing-function:linear!important}.ease{animation-timing-function:ease!important}.ease-in{animation-timing-function:ease-in!important}.ease-out{animation-timing-function:ease-out!important}.ease-in-out{animation-timing-function:ease-in-out!important}.bounce-in{animation-timing-function:cubic-bezier(.485,.155,.24,1.245)!important}.bounce-out{animation-timing-function:cubic-bezier(.485,.155,.515,.845)!important}.bounce-in-out{animation-timing-function:cubic-bezier(.76,-.245,.24,1.245)!important}.short-delay{animation-delay:.3s!important}.long-delay{animation-delay:.7s!important}@font-face{font-family:"Noto-Sans";font-style:normal;font-weight:100 900;font-stretch:62.5% 100%;font-display:swap;src:url(../../fonts/NotoSans.woff2) format('woff2'),url(../../fonts/NotoSans.woff) format('woff')}@font-face{font-family:"Noto-Sans";font-style:italic;font-weight:100 900;font-stretch:62.5% 100%;font-display:swap;src:url(../../fonts/NotoSansItalic.woff2) format('woff2'),url(../../fonts/NotoSansItalic.woff) format('woff')}body,html{height:100%;background:#fff}[class*=" icon"],[class^=icon]{display:inline-block;width:100%}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,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video{margin:0;padding:0;border:0;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:'';content:none}table{border-collapse:collapse;border-spacing:0}.i-File,.i-File-blue,.i-File-gray,.i-File-white,.i-add-user,.i-add-user-blue,.i-add-user-gray,.i-add-user-white,.i-audio,.i-audio-blue,.i-audio-gray,.i-audio-white,.i-cancel,.i-cancel-blue,.i-cancel-gray,.i-cancel-white,.i-close,.i-close-blue,.i-close-gray,.i-close-white,.i-document,.i-document-blue,.i-document-gray,.i-document-white,.i-down-arrow,.i-down-arrow-blue,.i-down-arrow-gray,.i-down-arrow-white,.i-download-from-cloud,.i-download-from-cloud-blue,.i-download-from-cloud-gray,.i-download-from-cloud-white,.i-facebook,.i-facebook-blue,.i-facebook-gray,.i-facebook-white,.i-file,.i-file-blue,.i-file-gray,.i-file-white,.i-filter,.i-filter-blue,.i-filter-blue-ppg,.i-filter-gray,.i-filter-gray-ppg,.i-filter-ppg,.i-filter-white,.i-filter-white-ppg,.i-folder,.i-folder-blue,.i-folder-download,.i-folder-download-blue,.i-folder-download-gray,.i-folder-download-white,.i-folder-gray,.i-folder-white,.i-heart,.i-heart-blue,.i-heart-gray,.i-heart-white,.i-home,.i-home-blue,.i-home-gray,.i-home-white,.i-image,.i-image-blue,.i-image-gray,.i-image-white,.i-left-arrow,.i-left-arrow-blue,.i-left-arrow-gray,.i-left-arrow-white,.i-linkedin,.i-linkedin-blue,.i-linkedin-gray,.i-linkedin-white,.i-menu,.i-menu-blue,.i-menu-gray,.i-menu-white,.i-picture,.i-picture-blue,.i-picture-gray,.i-picture-white,.i-question-mark,.i-question-mark-blue,.i-question-mark-gray,.i-question-mark-white,.i-search,.i-search-blue,.i-search-gray,.i-search-white,.i-share,.i-share-blue,.i-share-gray,.i-share-white,.i-tag,.i-tag-blue,.i-tag-gray,.i-tag-white,.i-trash,.i-trash-blue,.i-trash-gray,.i-trash-white,.i-twitter,.i-twitter-blue,.i-twitter-gray,.i-twitter-white,.i-user,.i-user-blue,.i-user-gray,.i-user-white,.i-video,.i-video-blue,.i-video-gray,.i-video-white,.i-world,.i-world-blue,.i-world-gray,.i-world-white,.i-youtube,.i-youtube-blue,.i-youtube-gray,.i-youtube-white,.i-zip-download,.i-zip-download-blue,.i-zip-download-gray,.i-zip-download-white,.upload-cloud,.upload-cloud-blue,.upload-cloud-gray,.upload-cloud-white{width:20px;height:20px}.i-File,.i-File-blue,.i-File-gray,.i-File-white,.i-add-user,.i-add-user-blue,.i-add-user-gray,.i-add-user-white,.i-audio,.i-audio-blue,.i-audio-gray,.i-audio-white,.i-cancel,.i-cancel-blue,.i-cancel-gray,.i-cancel-white,.i-close,.i-close-blue,.i-close-gray,.i-close-white,.i-document,.i-document-blue,.i-document-gray,.i-document-white,.i-down-arrow,.i-down-arrow-blue,.i-down-arrow-gray,.i-down-arrow-white,.i-download-from-cloud,.i-download-from-cloud-blue,.i-download-from-cloud-gray,.i-download-from-cloud-white,.i-facebook,.i-facebook-blue,.i-facebook-gray,.i-facebook-white,.i-file,.i-file-blue,.i-file-gray,.i-file-white,.i-filter,.i-filter-blue,.i-filter-blue-ppg,.i-filter-gray,.i-filter-gray-ppg,.i-filter-ppg,.i-filter-white,.i-filter-white-ppg,.i-folder,.i-folder-blue,.i-folder-download,.i-folder-download-blue,.i-folder-download-gray,.i-folder-download-white,.i-folder-gray,.i-folder-white,.i-heart,.i-heart-blue,.i-heart-gray,.i-heart-white,.i-home,.i-home-blue,.i-home-gray,.i-home-white,.i-image,.i-image-blue,.i-image-gray,.i-image-white,.i-left-arrow,.i-left-arrow-blue,.i-left-arrow-gray,.i-left-arrow-white,.i-linkedin,.i-linkedin-blue,.i-linkedin-gray,.i-linkedin-white,.i-menu,.i-menu-blue,.i-menu-gray,.i-menu-white,.i-picture,.i-picture-blue,.i-picture-gray,.i-picture-white,.i-question-mark,.i-question-mark-blue,.i-question-mark-gray,.i-question-mark-white,.i-search,.i-search-blue,.i-search-gray,.i-search-white,.i-share,.i-share-blue,.i-share-gray,.i-share-white,.i-tag,.i-tag-blue,.i-tag-gray,.i-tag-white,.i-trash,.i-trash-blue,.i-trash-gray,.i-trash-white,.i-twitter,.i-twitter-blue,.i-twitter-gray,.i-twitter-white,.i-user,.i-user-blue,.i-user-gray,.i-user-white,.i-video,.i-video-blue,.i-video-gray,.i-video-white,.i-world,.i-world-blue,.i-world-gray,.i-world-white,.i-youtube,.i-youtube-blue,.i-youtube-gray,.i-youtube-white,.i-zip-download,.i-zip-download-blue,.i-zip-download-gray,.i-zip-download-white,.slick-next,.slick-prev,.upload-cloud,.upload-cloud-blue,.upload-cloud-gray,.upload-cloud-white{background-position:center center;background-repeat:no-repeat;background-size:contain!important}.arrows-slider,.slick-next,.slick-prev{width:50px;height:50px;position:absolute;z-index:10;top:0;bottom:0;margin:auto}.slick-next{background:url(../icons/i-arrow-right.svg) no-repeat;text-indent:-999999px;right:9%}.slick-prev{background:url(../icons/i-arrow-left.svg) no-repeat;text-indent:-999999px;left:10%}.i-user{display:inline-block;margin-right:10px;background:url(../icons/i-user.svg) no-repeat}.i-world{display:inline-block;margin-right:5px;background:url(../icons/i-world.svg) no-repeat}.i-facebook{display:inline-block;background:url(../icons/i-facebook.svg) no-repeat}.i-twitter{display:inline-block;background:url(../icons/i-twitter.svg) no-repeat}.i-youtube{display:inline-block;background:url(../icons/i-youtube.svg) no-repeat}.i-linkedin{display:inline-block;background:url(../icons/i-linkedin.svg) no-repeat}.i-search{display:inline-block;background:url(../icons/i-search.svg) no-repeat}.i-heart{display:inline-block;background:url(../icons/i-heart.svg) no-repeat}.i-down-arrow{display:inline-block;background:url(../icons/i-down-arrow.svg) no-repeat}.i-share{display:inline-block;background:url(../icons/i-share.svg) no-repeat}.i-close{display:inline-block;background:url(../icons/i-close.svg) no-repeat}.i-close{display:inline-block;background:url(../icons/i-close.svg) no-repeat}.i-filter-ppg{display:inline-block;background:url(../icons/i-filter.svg) no-repeat}.i-filter{display:inline-block;background:url(../icons/i-filter.svg) no-repeat}.i-document{display:inline-block;background:url(../icons/i-document.svg) no-repeat}.i-audio{display:inline-block;background:url(../icons/i-audio.svg) no-repeat}.i-picture{display:inline-block;background:url(../icons/i-picture.svg) no-repeat}.i-image{display:inline-block;background:url(../icons/i-picture.svg) no-repeat}.i-folder{display:inline-block;background:url(../icons/i-folder.svg) no-repeat}.i-download-from-cloud{display:inline-block;background:url(../icons/i-download-from-cloud.svg) no-repeat}.i-download-from-cloud{display:inline-block;background:url(../icons/i-download-from-cloud.svg) no-repeat}.i-folder-download{display:inline-block;background:url(../icons/i-folder-download.svg) no-repeat}.i-zip-download{display:inline-block;background:url(../icons/i-zip-download.svg) no-repeat}.i-trash{display:inline-block;background:url(../icons/i-trash.svg) no-repeat}.i-video{display:inline-block;background:url(../icons/i-video.svg) no-repeat}.i-video{display:inline-block;background:url(../icons/i-video.svg) no-repeat}.i-file{display:inline-block;background:url(../icons/i-file.svg) no-repeat}.i-File{display:inline-block;background:url(../icons/i-file.svg) no-repeat}.i-file{display:inline-block;background:url(../icons/i-file.svg) no-repeat}.i-question-mark{display:inline-block;background:url(../icons/i-question-mark.svg) no-repeat}.i-home{display:inline-block;background:url(../icons/i-home.svg) no-repeat}.i-cancel{display:inline-block;background:url(../icons/i-cancel.svg) no-repeat}.i-add-user{display:inline-block;background:url(../icons/i-add-user.svg) no-repeat}.i-add-user{display:inline-block;background:url(../icons/i-add-user.svg) no-repeat}.i-left-arrow{display:inline-block;background:url(../icons/i-left-arrow.svg) no-repeat}.i-menu{display:inline-block;background:url(../icons/i-menu.svg) no-repeat}.i-tag{display:inline-block;background:url(../icons/i-tag.svg) no-repeat}.upload-cloud{display:inline-block;background:url(../icons/upload-cloud.svg) no-repeat}.active .i-heart{background:url(../icons/i-heart-fav.svg) no-repeat}.i-user-blue{display:inline-block;margin-right:10px;background:url(../icons/i-user-blue.svg) no-repeat}.i-world-blue{display:inline-block;margin-right:5px;background:url(../icons/i-world-blue.svg) no-repeat}.i-facebook-blue{display:inline-block;background:url(../icons/i-facebook-blue.svg) no-repeat}.i-twitter-blue{display:inline-block;background:url(../icons/i-twitter-blue.svg) no-repeat}.i-youtube-blue{display:inline-block;background:url(../icons/i-youtube-blue.svg) no-repeat}.i-linkedin-blue{display:inline-block;background:url(../icons/i-linkedin-blue.svg) no-repeat}.i-search-blue{display:inline-block;background:url(../icons/i-search-blue.svg) no-repeat}.i-heart-blue{display:inline-block;background:url(../icons/i-heart-blue.svg) no-repeat}.i-down-arrow-blue{display:inline-block;background:url(../icons/i-down-arrow-blue.svg) no-repeat}.i-share-blue{display:inline-block;background:url(../icons/i-share-blue.svg) no-repeat}.i-close-blue{display:inline-block;background:url(../icons/i-close-blue.svg) no-repeat}.i-close-blue{display:inline-block;background:url(../icons/i-close-blue.svg) no-repeat}.i-filter-blue-ppg{display:inline-block;background:url(../icons/i-filter-blue.svg) no-repeat}.i-filter-blue{display:inline-block;background:url(../icons/i-filter-blue.svg) no-repeat}.i-document-blue{display:inline-block;background:url(../icons/i-document-blue.svg) no-repeat}.i-audio-blue{display:inline-block;background:url(../icons/i-audio-blue.svg) no-repeat}.i-picture-blue{display:inline-block;background:url(../icons/i-picture-blue.svg) no-repeat}.i-image-blue{display:inline-block;background:url(../icons/i-picture-blue.svg) no-repeat}.i-folder-blue{display:inline-block;background:url(../icons/i-folder-blue.svg) no-repeat}.i-download-from-cloud-blue{display:inline-block;background:url(../icons/i-download-from-cloud-blue.svg) no-repeat}.i-download-from-cloud-blue{display:inline-block;background:url(../icons/i-download-from-cloud-blue.svg) no-repeat}.i-folder-download-blue{display:inline-block;background:url(../icons/i-folder-download-blue.svg) no-repeat}.i-zip-download-blue{display:inline-block;background:url(../icons/i-zip-download-blue.svg) no-repeat}.i-trash-blue{display:inline-block;background:url(../icons/i-trash-blue.svg) no-repeat}.i-video-blue{display:inline-block;background:url(../icons/i-video-blue.svg) no-repeat}.i-video-blue{display:inline-block;background:url(../icons/i-video-blue.svg) no-repeat}.i-file-blue{display:inline-block;background:url(../icons/i-file-blue.svg) no-repeat}.i-File-blue{display:inline-block;background:url(../icons/i-file-blue.svg) no-repeat}.i-file-blue{display:inline-block;background:url(../icons/i-file-blue.svg) no-repeat}.i-question-mark-blue{display:inline-block;background:url(../icons/i-question-mark-blue.svg) no-repeat}.i-home-blue{display:inline-block;background:url(../icons/i-home-blue.svg) no-repeat}.i-cancel-blue{display:inline-block;background:url(../icons/i-cancel-blue.svg) no-repeat}.i-add-user-blue{display:inline-block;background:url(../icons/i-add-user-blue.svg) no-repeat}.i-add-user-blue{display:inline-block;background:url(../icons/i-add-user-blue.svg) no-repeat}.i-left-arrow-blue{display:inline-block;background:url(../icons/i-left-arrow-blue.svg) no-repeat}.i-menu-blue{display:inline-block;background:url(../icons/i-menu-blue.svg) no-repeat}.i-tag-blue{display:inline-block;background:url(../icons/i-tag-blue.svg) no-repeat}.upload-cloud-blue{display:inline-block;background:url(../icons/upload-cloud-blue.svg) no-repeat}.active .i-heart-blue{background:url(../icons/i-heart-blue-fav.svg) no-repeat}.i-user-white{display:inline-block;margin-right:10px;background:url(../icons/i-user-white.svg) no-repeat}.i-world-white{display:inline-block;margin-right:5px;background:url(../icons/i-world-white.svg) no-repeat}.i-facebook-white{display:inline-block;background:url(../icons/i-facebook-white.svg) no-repeat}.i-twitter-white{display:inline-block;background:url(../icons/i-twitter-white.svg) no-repeat}.i-youtube-white{display:inline-block;background:url(../icons/i-youtube-white.svg) no-repeat}.i-linkedin-white{display:inline-block;background:url(../icons/i-linkedin-white.svg) no-repeat}.i-search-white{display:inline-block;background:url(../icons/i-search-white.svg) no-repeat}.i-heart-white{display:inline-block;background:url(../icons/i-heart-white.svg) no-repeat}.i-down-arrow-white{display:inline-block;background:url(../icons/i-down-arrow-white.svg) no-repeat}.i-share-white{display:inline-block;background:url(../icons/i-share-white.svg) no-repeat}.i-close-white{display:inline-block;background:url(../icons/i-close-white.svg) no-repeat}.i-close-white{display:inline-block;background:url(../icons/i-close-white.svg) no-repeat}.i-filter-white-ppg{display:inline-block;background:url(../icons/i-filter-white.svg) no-repeat}.i-filter-white{display:inline-block;background:url(../icons/i-filter-white.svg) no-repeat}.i-document-white{display:inline-block;background:url(../icons/i-document-white.svg) no-repeat}.i-audio-white{display:inline-block;background:url(../icons/i-audio-white.svg) no-repeat}.i-picture-white{display:inline-block;background:url(../icons/i-picture-white.svg) no-repeat}.i-image-white{display:inline-block;background:url(../icons/i-picture-white.svg) no-repeat}.i-folder-white{display:inline-block;background:url(../icons/i-folder-white.svg) no-repeat}.i-download-from-cloud-white{display:inline-block;background:url(../icons/i-download-from-cloud-white.svg) no-repeat}.i-download-from-cloud-white{display:inline-block;background:url(../icons/i-download-from-cloud-white.svg) no-repeat}.i-folder-download-white{display:inline-block;background:url(../icons/i-folder-download-white.svg) no-repeat}.i-zip-download-white{display:inline-block;background:url(../icons/i-zip-download-white.svg) no-repeat}.i-trash-white{display:inline-block;background:url(../icons/i-trash-white.svg) no-repeat}.i-video-white{display:inline-block;background:url(../icons/i-video-white.svg) no-repeat}.i-video-white{display:inline-block;background:url(../icons/i-video-white.svg) no-repeat}.i-file-white{display:inline-block;background:url(../icons/i-file-white.svg) no-repeat}.i-File-white{display:inline-block;background:url(../icons/i-file-white.svg) no-repeat}.i-file-white{display:inline-block;background:url(../icons/i-file-white.svg) no-repeat}.i-question-mark-white{display:inline-block;background:url(../icons/i-question-mark-white.svg) no-repeat}.i-home-white{display:inline-block;background:url(../icons/i-home-white.svg) no-repeat}.i-cancel-white{display:inline-block;background:url(../icons/i-cancel-white.svg) no-repeat}.i-add-user-white{display:inline-block;background:url(../icons/i-add-user-white.svg) no-repeat}.i-add-user-white{display:inline-block;background:url(../icons/i-add-user-white.svg) no-repeat}.i-left-arrow-white{display:inline-block;background:url(../icons/i-left-arrow-white.svg) no-repeat}.i-menu-white{display:inline-block;background:url(../icons/i-menu-white.svg) no-repeat}.i-tag-white{display:inline-block;background:url(../icons/i-tag-white.svg) no-repeat}.upload-cloud-white{display:inline-block;background:url(../icons/upload-cloud-white.svg) no-repeat}.active .i-heart-white{background:url(../icons/i-heart-white-fav.svg) no-repeat}.i-user-gray{display:inline-block;margin-right:10px;background:url(../icons/i-user-gray.svg) no-repeat}.i-world-gray{display:inline-block;margin-right:5px;background:url(../icons/i-world-gray.svg) no-repeat}.i-facebook-gray{display:inline-block;background:url(../icons/i-facebook-gray.svg) no-repeat}.i-twitter-gray{display:inline-block;background:url(../icons/i-twitter-gray.svg) no-repeat}.i-youtube-gray{display:inline-block;background:url(../icons/i-youtube-gray.svg) no-repeat}.i-linkedin-gray{display:inline-block;background:url(../icons/i-linkedin-gray.svg) no-repeat}.i-search-gray{display:inline-block;background:url(../icons/i-search-gray.svg) no-repeat}.i-heart-gray{display:inline-block;background:url(../icons/i-heart-gray.svg) no-repeat}.i-down-arrow-gray{display:inline-block;background:url(../icons/i-down-arrow-gray.svg) no-repeat}.i-share-gray{display:inline-block;background:url(../icons/i-share-gray.svg) no-repeat}.i-close-gray{display:inline-block;background:url(../icons/i-close-gray.svg) no-repeat}.i-close-gray{display:inline-block;background:url(../icons/i-close-gray.svg) no-repeat}.i-filter-gray-ppg{display:inline-block;background:url(../icons/i-filter-gray.svg) no-repeat}.i-filter-gray{display:inline-block;background:url(../icons/i-filter-gray.svg) no-repeat}.i-document-gray{display:inline-block;background:url(../icons/i-document-gray.svg) no-repeat}.i-audio-gray{display:inline-block;background:url(../icons/i-audio-gray.svg) no-repeat}.i-picture-gray{display:inline-block;background:url(../icons/i-picture-gray.svg) no-repeat}.i-image-gray{display:inline-block;background:url(../icons/i-picture-gray.svg) no-repeat}.i-folder-gray{display:inline-block;background:url(../icons/i-folder-gray.svg) no-repeat}.i-download-from-cloud-gray{display:inline-block;background:url(../icons/i-download-from-cloud-gray.svg) no-repeat}.i-download-from-cloud-gray{display:inline-block;background:url(../icons/i-download-from-cloud-gray.svg) no-repeat}.i-folder-download-gray{display:inline-block;background:url(../icons/i-folder-download-gray.svg) no-repeat}.i-zip-download-gray{display:inline-block;background:url(../icons/i-zip-download-gray.svg) no-repeat}.i-trash-gray{display:inline-block;background:url(../icons/i-trash-gray.svg) no-repeat}.i-video-gray{display:inline-block;background:url(../icons/i-video-gray.svg) no-repeat}.i-video-gray{display:inline-block;background:url(../icons/i-video-gray.svg) no-repeat}.i-file-gray{display:inline-block;background:url(../icons/i-file-gray.svg) no-repeat}.i-File-gray{display:inline-block;background:url(../icons/i-file-gray.svg) no-repeat}.i-file-gray{display:inline-block;background:url(../icons/i-file-gray.svg) no-repeat}.i-question-mark-gray{display:inline-block;background:url(../icons/i-question-mark-gray.svg) no-repeat}.i-home-gray{display:inline-block;background:url(../icons/i-home-gray.svg) no-repeat}.i-cancel-gray{display:inline-block;background:url(../icons/i-cancel-gray.svg) no-repeat}.i-add-user-gray{display:inline-block;background:url(../icons/i-add-user-gray.svg) no-repeat}.i-add-user-gray{display:inline-block;background:url(../icons/i-add-user-gray.svg) no-repeat}.i-left-arrow-gray{display:inline-block;background:url(../icons/i-left-arrow-gray.svg) no-repeat}.i-menu-gray{display:inline-block;background:url(../icons/i-menu-gray.svg) no-repeat}.i-tag-gray{display:inline-block;background:url(../icons/i-tag-gray.svg) no-repeat}.upload-cloud-gray{display:inline-block;background:url(../icons/upload-cloud-gray.svg) no-repeat}.active .i-heart-gray{background:url(../icons/i-heart-gray-fav.svg) no-repeat}.nice-select{-webkit-tap-highlight-color:transparent;background-color:#fff;border-radius:5px;border:solid 1px #e8e8e8;box-sizing:border-box;clear:both;cursor:pointer;display:block;float:left;font-family:inherit;font-size:14px;font-weight:400;height:42px;line-height:40px;outline:0;padding-left:1rem;padding-right:13rem;position:relative;text-align:left!important;transition:all .2s ease-in-out;user-select:none;white-space:nowrap;width:auto}.nice-select:hover{border-color:#dbdbdb}.nice-select.open,.nice-select:active,.nice-select:focus{border-color:#999}.nice-select:after{border-bottom:2px solid #999;border-right:2px solid #999;content:'';display:block;height:5px;margin-top:-4px;pointer-events:none;position:absolute;right:12px;top:50%;transform-origin:66% 66%;transform:rotate(45deg);transition:all .15s ease-in-out;width:5px}.nice-select.open:after{transform:rotate(-135deg)}.nice-select.open .list{opacity:1;pointer-events:auto;transform:scale(1) translateY(0)}.nice-select.disabled{border-color:#ededed;color:#999;pointer-events:none}.nice-select.disabled:after{border-color:#ccc}.nice-select.wide{width:100%}.nice-select.wide .list{left:0!important;right:0!important}.nice-select.right{float:right}.nice-select.right .list{left:auto;right:0}.nice-select.small{font-size:12px;height:36px;line-height:34px}.nice-select.small:after{height:4px;width:4px}.nice-select.small .option{line-height:34px;min-height:34px}.nice-select .list{background-color:#fff;border-radius:5px;box-shadow:0 0 0 1px rgba(68,68,68,.11);box-sizing:border-box;margin-top:4px;opacity:0;overflow:hidden;padding:0;pointer-events:none;position:absolute;top:100%;left:0;transform-origin:50% 0;transform:scale(.75) translateY(-21px);transition:all .2s cubic-bezier(.5,0,0,1.25),opacity .15s ease-out;z-index:9}.nice-select .list:hover .option:not(:hover){background-color:transparent!important}.nice-select .option{cursor:pointer;font-weight:400;line-height:40px;list-style:none;min-height:40px;outline:0;padding-left:1rem;padding-right:12rem;text-align:left;transition:all .2s}.nice-select .option.focus,.nice-select .option.selected.focus,.nice-select .option:hover{background-color:#f6f6f6}.nice-select .option.selected{font-weight:700}.nice-select .option.disabled{background-color:transparent;color:#999;cursor:default}.no-csspointerevents .nice-select .list{display:none}.no-csspointerevents .nice-select.open .list{display:block}.slick-slider{position:relative;display:block;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-ms-touch-action:pan-y;touch-action:pan-y;-webkit-tap-highlight-color:transparent}.slick-list{position:relative;overflow:hidden;display:block;margin:0;padding:0}.slick-list:focus{outline:0}.slick-list.dragging{cursor:pointer;cursor:hand}.slick-slider .slick-list,.slick-slider .slick-track{-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);-o-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.slick-track{position:relative;left:0;top:0;display:block}.slick-track:after,.slick-track:before{content:"";display:table}.slick-track:after{clear:both}.slick-loading .slick-track{visibility:hidden}.slick-slide{float:left;height:100%;min-height:1px;display:none}[dir=rtl] .slick-slide{float:right}.slick-slide img{display:block}.slick-slide.slick-loading img{display:none}.slick-slide.dragging img{pointer-events:none}.slick-initialized .slick-slide{display:block}.slick-loading .slick-slide{visibility:hidden}.slick-vertical .slick-slide{display:block;height:auto;border:1px solid transparent}.slick-arrow.slick-hidden{display:none}#angular-top-slider .top-slider .top-slider-item{background:#0073b2;color:#fff;position:relative;overflow:hidden}#angular-top-slider .top-slider .top-slider-item .description{display:inline-block;z-index:2;float:left;position:absolute;height:100%;padding:3rem;padding-left:7rem;padding-right:10rem;background:linear-gradient(90deg,#0073b2 88%,rgba(0,115,182,.02) 100%,rgba(0,115,182,.21) 130%) 0 0;background:-webkit-linear-gradient(0deg,#0073b2 88%,rgba(0,115,182,.02) 100%,rgba(0,115,182,.21) 130%) 0 0;background:-moz-linear-gradient(0deg,#0073b2 80%,#0073b2,rgba(0,115,178,0) 100%) 0 0}@media screen and (min-width:40em) and (max-width:63.9375em){#angular-top-slider .top-slider .top-slider-item .description{padding-left:3.5rem;padding-right:4rem}#angular-top-slider .top-slider .top-slider-item .description h2{font-size:1.6rem}}#angular-top-slider .top-slider .top-slider-item iframe{margin-bottom:-3px}#angular-top-slider .top-slider .top-slider-item-small{background:#0073b2;color:#fff}#angular-top-slider .top-slider .top-slider-item-small .description-small{padding:2rem;min-height:310px}#angular-top-slider .top-slider .slick-prev{left:20px;top:-45px;background:url(../icons/i-arrow-left-white.svg) no-repeat}#angular-top-slider .top-slider .slick-next{right:0;top:-45px;background:url(../icons/i-arrow-right-white.svg) no-repeat}#angular-top-slider .top-slider .button{margin-top:2rem}@media screen and (min-width:40em) and (max-width:63.9375em){#angular-top-slider .top-slider .button{margin-top:1rem}}@media screen and (max-width:39.9375em){#angular-top-slider .top-slider .button{margin-top:1rem}}#angular-top-slider .top-slider h3{font-weight:700;font-size:1.3rem}#angular-top-slider .video-content-icons{position:absolute;bottom:20px}#relatedVideos{position:absolute;bottom:0;top:0;left:0;right:0;margin:auto;width:90%;height:300px}#relatedVideos .video-thumbnail span{margin:0}#favouriteVideos .angular-video-slider{margin-top:1.5rem}#favouriteVideos .angular-video-slider .slick-prev{left:20px;top:-45px;background:url(../icons/i-arrow-left-white.svg) no-repeat}#favouriteVideos .angular-video-slider .slick-next{right:0;top:-45px;background:url(../icons/i-arrow-right-white.svg) no-repeat}.slider-home{border-bottom:1px solid grey}.slider-home .slick-slide{outline:0!important;-webkit-backface-visibility:hidden!important;padding-right:0!important}.slider-home .slick-slide *{-webkit-backface-visibility:hidden!important}.img-slider{width:100%;background-position:center center!important;background-size:cover!important;height:500px}.video-slider{width:100%;height:500px;margin:0 auto}.play-button{position:absolute;z-index:10;left:0;right:0;top:0;bottom:0;margin:auto;cursor:pointer;width:80px;height:80px}.btn-slider{width:230px;z-index:10;position:absolute;top:80%;left:0;right:0;margin:auto;border:1px solid #fff}.angular-video-slider .slick-track{margin-left:.6rem;min-width:100%}.slick-slide{padding-right:1rem;outline:0}.top-slider-cover-video{background:0 0;width:100%;height:100%;position:absolute;cursor:pointer}footer{background:#0073b2;padding:3rem;height:auto;float:left;width:100%}footer .footer-content p{color:#fff;font-size:.8rem}footer .footer-content a{color:#fff}footer .disclaimer{border-right:1px solid #fff}@media screen and (max-width:39.9375em){footer .disclaimer{border:none}}footer .footer-logo{width:auto;max-width:100%;max-height:150px}.header{min-height:70px;background-color:#fff;border-bottom:1px solid grey;-webkit-box-shadow:0 3px 10px -5px #000;-moz-box-shadow:0 3px 10px -5px #000;box-shadow:0 3px 10px -5px #000}.logo{max-height:60px;width:auto;height:100%;margin-left:10rem;margin-top:1.5rem;margin-bottom:1rem}@media screen and (min-width:40em) and (max-width:63.9375em){.logo{margin-left:0;margin-top:.5rem;margin-bottom:.5rem}}@media screen and (max-width:39.9375em){.logo{margin:0 auto;display:block;margin-top:1rem}}.logo-brand{position:relative;top:0}@media screen and (min-width:40em) and (max-width:63.9375em){.logo-brand{top:0}}.login{padding:25px;padding-bottom:0}@media screen and (min-width:40em) and (max-width:63.9375em){.login{padding:0}}@media screen and (max-width:39.9375em){.login{padding:0;padding-top:25px}}.login .logintext{color:grey;position:relative;top:-6px;font-size:.95rem}.login i{position:relative;top:0;left:0}.login .i-world{top:-2px;left:0;margin:0;margin-right:.5rem}.login .login-container{text-align:right}.login.login-brand{padding-top:0}.login-home{display:inline-block;margin-left:3rem}.current-region{display:inline-block!important}.region-selector{display:inline-block}.region-selector li:first-child a{border-right:1px solid #2199e8}#region-dropdown li a{border:none}.language-selector{display:inline-block;position:relative;top:-6px}.menu{z-index:2}.menu li{padding-left:.5rem;padding-right:.5rem}.menu li a{color:grey;padding:.8rem 1rem;font-size:.95rem}.menu.submenu a{color:#000;padding:.2rem 1rem;margin-bottom:.5rem}.menu.submenu a:hover{color:#fff;background-color:#9e9c9c}.menu.submenu .active{display:none}.dropdown-pane{width:100%;padding:0}.dropdown-pane li a{color:#000;padding:.1rem .7rem;margin-bottom:5px;display:block;text-align:left;font-size:.8rem;font-weight:500}.dropdown-pane li a:hover{color:#fff;background-color:#9e9c9c}.dropdown-pane li .active{display:none}.language-selector .dropdown-pane{min-width:100px}.dropdown.menu>li.is-dropdown-submenu-parent>a{padding:0;padding-right:.5rem;padding-left:1rem;margin-top:1rem;position:relative;min-width:100px;text-align:left}.dropdown.menu>li.is-dropdown-submenu-parent>a:after{right:-15px;top:8px}.is-dropdown-submenu{border:none;border-top:none;text-align:left;min-width:auto;box-shadow:#4e4e4e 0 3px 5px 0}.dropdown.menu>li.opens-right>.is-dropdown-submenu{z-index:10}.dropdown.menu>li.opens-right>.is-dropdown-submenu li:first-child{margin-top:1rem}.dropdown.menu>li.opens-right>.is-dropdown-submenu{right:auto;left:10px;top:100%;width:100%}.dropdown.menu>li.opens-left>.is-dropdown-submenu{left:auto;right:-20px;top:100%;margin-top:10px}.dropdown.menu>li.opens-left>.is-dropdown-submenu li:first-child{margin-top:1rem}.optional-text{min-height:60px;background-color:#f4f4f4;margin-bottom:1rem}.principal-headline{display:none;text-align:center;padding-top:2.5rem;padding-bottom:2.5rem}.principal-headline .headline{color:#418db9}.switcher{padding:.5rem}.switcher-button{cursor:pointer;width:50px;height:50px;margin:0 auto;margin-top:5px;display:block;-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.switched-button{-webkit-transform:rotate(270deg);-moz-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.all-videos{margin:1rem;padding-top:1rem}.all-videos a{color:#418db9}.all-videos a:hover{color:#0073b2}.brand-selector{padding:3rem;padding-bottom:10rem}.brand-circle-wrapper:not(:last-child){margin-bottom:20px}@media screen and (min-width:40em) and (max-width:63.9375em){.brand-circle-wrapper:nth-child(odd){border-right:1px solid grey;-webkit-border-image:-webkit-gradient(linear,0 0,0 100%,from(grey),to(transparent)) 1 100%;-webkit-border-image:-webkit-linear-gradient(transparent,grey,transparent) 1 100%;-moz-border-image:-moz-linear-gradient(transparent,grey,transparent) 1 100%;-o-border-image:-o-linear-gradient(transparent,grey,transparent) 1 100%;border-image:linear-gradient(to bottom,transparent,grey,transparent) 1 100%}}@media screen and (min-width:64em){.brand-circle-wrapper:not(:last-child){border-right:1px solid grey;-webkit-border-image:-webkit-gradient(linear,0 0,0 100%,from(grey),to(transparent)) 1 100%;-webkit-border-image:-webkit-linear-gradient(transparent,grey,transparent) 1 100%;-moz-border-image:-moz-linear-gradient(transparent,grey,transparent) 1 100%;-o-border-image:-o-linear-gradient(transparent,grey,transparent) 1 100%;border-image:linear-gradient(to bottom,transparent,grey,transparent) 1 100%}}.brand-circle{width:250px;height:250px;text-align:center;text-align:-moz-center;text-align:-webkit-center;background:0 0;-moz-border-radius:50px;-webkit-border-radius:50px;border-radius:150px;margin:0 auto;border:2px solid #c4c4c4}@media screen and (min-width:40em) and (max-width:63.9375em){.brand-circle{width:200px;height:200px}}.brand-circle:hover{opacity:.7;-webkit-transition:.2s;-moz-transition:.2s;transition:.2s;transition-timing-function:linear;transition-delay:.2s}.brand-circle .img-helper{display:inline-block;height:100%;vertical-align:middle}.brand-circle .brand-logo{vertical-align:middle;max-width:75%;height:auto}.social-icons-link{margin-right:5px}@media screen and (max-width:39.9375em){.search-login-forms{text-align:left}}.form-search{width:300px;display:inline-block;padding-top:1.5rem;padding-bottom:0}@media screen and (min-width:40em) and (max-width:63.9375em){.form-search{width:80%;padding-bottom:0}}@media screen and (max-width:39.9375em){.form-search{margin-left:0;width:70%}}.form-search i{top:0}.search-box{padding-right:15px}.search-box input{height:30px;margin-bottom:0}.search-box-button{padding:0;text-align:left;display:inline-block}.search-box-button .button{padding:10px;padding-top:4px;padding-bottom:1px;padding-left:20px;padding-right:20px;background:#418db9}.search-box-button .button:hover{background:#0073b2}.search-box-button i{left:0}.search-box-button .i-search-white{transform:rotate(95deg)}.brand-login{display:inline-block;top:-20px;position:relative}.brand-login .i-user{top:0}.brand-login .logintext{top:-5px}@media screen and (min-width:40em) and (max-width:63.9375em){.brand-login .i-user{top:0}.brand-login .logintext{top:0}}#filters{margin-top:1.5rem}#filters .filters{display:none}.filters-container{border-bottom:1px solid grey;margin-bottom:1rem}.filters-container .column-left{padding-left:0;padding-left:.5rem}@media screen and (min-width:40em) and (max-width:63.9375em){.filters-container .column-left{margin-bottom:.5rem}}@media screen and (max-width:39.9375em){.filters-container .column-left{padding-left:1.1rem}}.filters-container .column-right{padding-right:0}.filters-container select{height:1.8rem;margin:0;margin-bottom:.7rem;font-size:.8rem;padding:.3rem;color:grey}.filters-container .filter-text{text-align:right;padding:.5rem;padding-top:.2rem;padding-right:0;color:#0073b2;font-size:.8rem}.filters-container .filter-text span{padding-left:.5rem;position:relative;top:-3px}@media screen and (min-width:40em) and (max-width:63.9375em){.filters-container .filter-text{display:none}}@media screen and (max-width:39.9375em){.filters-container .filter-text{display:none}}.filters-container .filter{padding-left:.5rem}.no-results-app{padding-top:15px;text-align:center}.video-list-container{display:inline}.video-container{padding:.5rem;float:left}@media screen and (max-width:39.9375em){.video-container{padding:0}}.video-thumbnail{width:100%;height:200px;background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important;position:relative;border:.3rem solid #fff}.video-thumbnail:hover{border:.3rem solid #0073b2}.video-thumbnail .add-to-favorite{cursor:pointer;z-index:2;position:absolute;top:10px;right:10px;display:none;pointer-events:all}.video-thumbnail .add-to-favorite:hover{display:block}@media screen and (max-width:39.9375em){.video-thumbnail .add-to-favorite{display:block}}.video-thumbnail .toggle-preview{cursor:pointer;z-index:2;position:absolute;bottom:0;right:0;left:0;margin:auto;display:none;pointer-events:all;width:35px;transform:rotate(0);transition:.2s}@media screen and (max-width:39.9375em){.video-thumbnail .toggle-preview{display:block}}.video-thumbnail .toggle-preview i{width:100%;height:35px}.video-thumbnail .toggle-preview:hover{display:block}.video-thumbnail .toggle-preview.open .i-down-arrow-white{transform:rotate(180deg);transition:.2s}.video-thumbnail span{background:#000;bottom:0;display:none;left:0;position:absolute;right:0;top:0;z-index:1;opacity:.5}.to-video-details{position:relative;z-index:4;height:80%;top:20%;cursor:pointer;cursor:hand}.video-thumbnail:hover>span{display:block}.video-thumbnail:hover>span+div{display:block}.video-thumbnail:hover>span+div+div{display:block}.video-thumbnail:hover>span+div+div+div{display:block}.video-list-container.some-preview-opened .video-container{margin-bottom:0}.video-container.preview-opened{padding-bottom:0}.video-container.preview-opened .video-thumbnail{margin-bottom:0;border:.3rem solid #0073b2}.video-container.preview-opened .video-thumbnail span{margin:0}.video-title-container{min-height:50px;max-height:50px;width:100%;padding:.7rem;padding-left:0}.video-title{max-width:100%;text-align:justify;word-wrap:break-word}.video-info{height:470px;background:#0073b2;background:linear-gradient(-90deg,rgba(0,115,178,.84),#0073b2);background:-webkit-linear-gradient(0deg,#0073b2 88%,rgba(0,115,182,.02) 100%,rgba(0,115,182,.21) 130%) 0 0;background:-moz-linear-gradient(0deg,#0073b2 80%,#0073b2,rgba(0,115,178,0) 100%) 0 0}@media screen and (min-width:40em) and (max-width:63.9375em){.video-info{height:520px}}@media screen and (max-width:39.9375em){.video-info{height:570px}}.related-videos{height:470px;background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important;color:#fff}@media screen and (min-width:40em) and (max-width:63.9375em){.related-videos{height:520px}}@media screen and (max-width:39.9375em){.related-videos{height:570px}}.related-videos a{color:#fff}.related-videos h4{font-size:1rem;padding:1rem;padding-top:.5rem}.related-videos .slick-slide{padding:.5rem}.related-videos .slick-slide .video-thumbnail{border:none}.related-videos .arrows-slider,.related-videos .slick-next,.related-videos .slick-prev{top:-60px}@media screen and (max-width:39.9375em){.related-videos .arrows-slider,.related-videos .slick-next,.related-videos .slick-prev{top:0}}.related-videos .slick-prev{left:-30px;background:url(../icons/i-arrow-left-white.svg) no-repeat}@media screen and (max-width:39.9375em){.related-videos .slick-prev{left:17px}}.related-videos .slick-next{right:-50px;background:url(../icons/i-arrow-right-white.svg) no-repeat}@media screen and (max-width:39.9375em){.related-videos .slick-next{right:-20px}}.video-content{height:470px;padding:1rem;background:#0073b2;color:#fff;z-index:2;position:absolute;background:linear-gradient(90deg,#0073b2 88%,rgba(0,115,182,.02) 100%,rgba(0,115,182,.21) 130%) 0 0;background:-webkit-linear-gradient(0deg,#0073b2 88%,rgba(0,115,182,.02) 100%,rgba(0,115,182,.21) 130%) 0 0;background:-moz-linear-gradient(0deg,#0073b2 80%,#0073b2,rgba(0,115,178,0) 100%) 0 0}@media screen and (min-width:40em) and (max-width:63.9375em){.video-content{height:520px}}@media screen and (max-width:39.9375em){.video-content{background:#0073b2;height:570px}}.video-content h2{font-size:1.5rem;margin-bottom:1rem;margin-top:1rem;padding-right:8rem}@media screen and (max-width:39.9375em){.video-content h2{padding-right:0}}.video-content p{padding-right:8rem;margin-bottom:1rem}@media screen and (max-width:39.9375em){.video-content p{padding-right:0}}.video-content .button{border:1px #fff solid;background:0 0;font-size:1.2rem;padding:.85em .5em}.video-content-icons div{display:inline-block;margin-right:1rem;cursor:pointer}.video-content-icons div span{position:relative;top:-3px}.video-image{padding:0;z-index:0}.large-video-thumbnail{width:100%;height:470px;background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important}@media screen and (min-width:40em) and (max-width:63.9375em){.large-video-thumbnail{height:520px}}@media screen and (max-width:39.9375em){.large-video-thumbnail{height:570px}}.close-detail-video{position:absolute;cursor:pointer;right:1.7rem;top:1.3rem}.close-detail-video i{width:30px;height:30px}@media screen and (max-width:39.9375em){.close-detail-video{z-index:2}}.tabs-video{border-top:1px solid #000;background:#0073b2;color:#fff;text-align:center;padding:1rem;margin-bottom:1rem}.tabs-video a{color:#fff;padding:5px 25px;margin-left:1rem;margin-right:1rem}@media screen and (max-width:39.9375em){.tabs-video a{margin:0}}.tabs-video a.active{border:1px solid #fff}@media screen and (max-width:39.9375em){.tabs-video{font-size:.8rem}}.video-preview{position:relative;top:-.5rem;left:-7px;padding-right:1px}@media screen and (max-width:39.9375em){.video-preview{top:0;left:0;padding-left:0;padding-right:0}}.video-tags{padding-right:8rem;margin-top:1rem;margin-bottom:2rem}@media screen and (max-width:39.9375em){.video-tags{margin-right:0}}.video-tags a{color:#fff}.video-tags span{border:1px solid #fff;padding:.2rem 1rem;font-size:.8rem;margin:.3rem;display:inline-block}.video-tags span:first-child{margin-left:0}.remove-filter-text{display:inline-block;vertical-align:top;line-height:30px}.remove-filter-icon{margin:5px 0}.reveal-modal{min-height:300px;visibility:hidden;display:none;position:absolute;left:32%;top:16%;width:30%;right:32%;z-index:99;height:auto;background-color:#fff;padding:2rem;border:solid 1px #666;-webkit-box-shadow:0 0 10px rgba(0,0,0,.4);box-shadow:0 0 10px rgba(0,0,0,.4);top:8.25rem;transition:.2s ease-in-out all;transition-delay:.2s;-webkit-transform:scale(1);opacity:1}@media screen and (min-width:40em) and (max-width:63.9375em){.reveal-modal{width:50%;left:25%}}@media screen and (max-width:39.9375em){.reveal-modal{width:90%;left:5%}}.reveal-modal .upload-area{float:left;margin-bottom:2rem}.reveal-modal #dropZone{border:6px dashed #e6e6e6;padding:20px;float:left}.reveal-modal input[type=file]{-webkit-appearance:none;text-align:left;-webkit-rtl-ordering:left}.reveal-modal input[type=file]::-webkit-file-upload-button{-webkit-appearance:push-button;white-space:nowrap;font-size:inherit;-webkit-user-modify:read-only;margin:0;padding:10px;color:#000;background:#ccc;background-image:-webkit-linear-gradient(top,#ccc,#999);background-image:-moz-linear-gradient(top,#ccc,#999);background-image:-ms-linear-gradient(top,#ccc,#999);background-image:-o-linear-gradient(top,#ccc,#999);background-image:linear-gradient(to bottom,#ccc,#999);border-radius:5px;cursor:pointer}.ng-modal .reveal-modal{display:block;visibility:visible}.reveal-modal-bg{position:fixed;height:100%;width:100%;background:#000;background:rgba(0,0,0,.45);z-index:98;display:none;top:0;left:0}.ng-modal .reveal-modal-bg{display:block}.reveal-modal .close-reveal-modal{font-size:1.375rem;line-height:1;position:absolute;top:.5rem;right:.6875rem;color:#aaa!important;text-decoration:none!important;font-weight:700;cursor:pointer}.ng-modal.ng-hide-add,.ng-modal.ng-hide-remove{display:block!important}.ng-modal.ng-hide{opacity:0}.reveal-modal.ng-hide-add,.reveal-modal.ng-hide-remove{display:block!important}.reveal-modal.ng-hide{-webkit-transform:scale(.9);opacity:0}.modal-title{float:left;color:#00a5d5;border-bottom:1px solid #bebebe;margin-bottom:2px;font-size:25px;text-transform:uppercase;margin-bottom:2rem}.modal-title h3{font-size:25px}.modal-btn{display:inline-block;padding:10px;margin-left:20px;color:#000;background:#ccc;background-image:-webkit-linear-gradient(top,#ccc,#999);background-image:-moz-linear-gradient(top,#ccc,#999);background-image:-ms-linear-gradient(top,#ccc,#999);background-image:-o-linear-gradient(top,#ccc,#999);background-image:linear-gradient(to bottom,#ccc,#999);border-radius:5px;min-width:20%}.modal-file-upload{float:left;width:100%;position:relative;margin-bottom:25px}.modal-file-upload:last-child{margin-bottom:5px}.modal-file-upload i{position:relative;top:3px}.modal-file-upload i.i-close-gray{position:absolute;right:0;cursor:pointer}.modal-file-upload span{margin-left:10px}.attach-file-button-modal{background:#0073b2;color:#fff!important;text-decoration:none!important;float:left;padding:18px;margin-top:2rem;padding-bottom:6px;padding-top:13px;margin-left:25%;text-align:center;transition:.2s ease-in-out all;transition-delay:.2s;min-width:50%}.attach-file-button-modal:hover{background:#00a5d5;color:#fff}@media screen and (max-width:39.9375em){.attach-file-button-modal{width:100%;margin:0;margin-top:2rem;padding:20px;text-align:center;padding-left:30%;padding-right:30%}}.attach-file-button-modal i{float:left;position:relative;top:-3px;margin-right:10px}#project-options{padding-top:3rem;border-top:1px solid #00a5d5}@media screen and (min-width:64em){#project-options{padding-left:0}}.button.button-ppg-gray{background:#0073b2;color:#fff}.button.button-ppg-gray:hover{background:#00a5d5}.create-project-button-container .button{float:right;position:relative;top:-20px}@media screen and (max-width:39.9375em){.create-project-button-container .button{top:auto}}.sections{float:left}.section-title{width:100%;float:left}.section-title i{float:left;margin-right:5px;position:relative;top:-3px}.section-content{width:100%;float:left;padding-left:1.5rem}.section-content div{float:left}.short-description{resize:none}.inputs-titles{color:#00a5d5;font-size:16px;font-weight:700;margin-bottom:10px;float:left}#video-filters{padding-right:3rem}#product,#segment,#video-type{width:100%;float:left;padding:10px}#product header,#segment header,#video-type header{background:#f4f4f4;width:100%}#product header h4,#segment header h4,#video-type header h4{color:#0073b2;text-transform:uppercase;font-size:15px;font-weight:700;padding:5px;padding-left:10px}#product .options,#segment .options,#video-type .options{padding:1rem;width:100%}#product .options li,#product .options ul,#segment .options li,#segment .options ul,#video-type .options li,#video-type .options ul{width:100%}.project-tags label{min-height:30px;line-height:30px;outline:0}.project-tags input[type=checkbox]{-webkit-appearance:none;background-color:#fafafa;border:1px solid #cacece;box-shadow:0 1px 2px rgba(0,0,0,.05),inset 0 -15px 10px -12px rgba(0,0,0,.05);padding:9px;border-radius:3px;display:inline-block;position:relative;top:3px;margin-bottom:0;border-radius:1px;outline:0}.project-tags input[type=checkbox],.project-tags input[type=checkbox].nice-select.open:checked,.project-tags input[type=checkbox]:checked:active{box-shadow:0 1px 2px rgba(0,0,0,.05),inset 0 1px 3px rgba(0,0,0,.1);outline:0}.project-tags input[type=checkbox]:checked{background-color:#e9ecee;border:1px solid #adb8c0;box-shadow:0 1px 2px rgba(0,0,0,.05),inset 0 -15px 10px -12px rgba(0,0,0,.05),inset 15px 10px -12px rgba(255,255,255,.1);color:#99a1a7;outline:0}.project-tags input[type=checkbox]:checked:after{content:'\2714';font-size:25px;position:absolute;top:-11px;left:2px;color:#00a5d5;outline:0}.add-tags{width:80%;float:left;height:30px;margin-bottom:0}.btn-add-tag{width:20%;float:left;height:30px;line-height:30px;border-top:1px solid #cacaca;border-right:1px solid #cacaca;border-bottom:1px solid #cacaca;text-align:center;font-weight:700}.btn-add-tag:hover{background:#f4f4f4}.suggested-tags-box{background:#f4f4f4;width:100%;float:left;padding-top:1rem}.validated-tags{width:100%;float:left;background:#fff;padding-top:1rem}.validated-tags .validated-tag{border:1px solid grey;padding-top:3px}.validated-tags .validated-tag i{margin-left:40px}#video-regions{padding-bottom:3rem}.item-tag-region{padding-left:1.6rem;padding-top:1rem;padding-bottom:10px;padding-right:1rem}.related-video-box{width:100%;height:400px;overflow:auto;border:1px solid grey;margin-bottom:3rem}.related-video-box input[type=checkbox]{margin-left:10px;margin-bottom:10px}.related-video-box label{min-height:inherit;line-height:20px}.related-video-box .published-time{margin-left:10px;font-size:14px}.related-video-box-item{margin-top:2rem}.thumbnail-related-video-box{height:130px;background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important}.upload-area{width:100%;padding:15px;padding-right:0;padding-left:0;margin-bottom:3rem}#dropZone{border:10px dashed #e6e6e6;border-radius:0;padding:100px;text-align:center;color:#296b6a;width:100%;font:20px bold}#dropZone .upload-cloud{display:block;margin:0 auto;width:80px;height:80px;float:none}.upload-file{padding-bottom:2rem}.upload-file .i-file-gray{position:relative;top:-15px}.upload-file i{margin-right:10px}.upload-file .upload-file-name{word-break:break-all;display:inline-block;max-width:90%}.upload-file .upload-file-properties{text-align:right}.upload-file .upload-file-properties .upload-file-separator{padding-left:5px;padding-right:5px}.create-project-button-container.down-button{position:relative;min-height:300px}@media screen and (max-width:39.9375em){.create-project-button-container.down-button{min-height:60px}}.create-project-button-container.down-button .button{position:absolute;top:auto;bottom:30px;right:0;line-height:0;padding:25px;padding-left:60px;padding-right:40px}@media screen and (max-width:39.9375em){.create-project-button-container.down-button .button{top:auto}}.create-project-button-container.down-button .button i{width:30px;height:30px;position:absolute;top:10px;left:5px;bottom:0;margin-left:10px}.modal-input{display:inline-block;width:70%;float:left}#project-versions .heading .add-versions a,.invite-participants a,.text-area .attach-file a{color:#333;text-decoration:underline}#project-versions .heading .add-versions a:hover,.invite-participants a:hover,.text-area .attach-file a:hover{color:#00a5d5}.navigation-buttons{float:left;text-align:center;margin-top:3rem;margin-bottom:3rem}.navigation-buttons a{color:#0a0a0a;border-radius:100%;height:110px;border:1px solid #f5f5f5;padding-top:20px;width:110px;display:block;margin:0 auto}.navigation-buttons a:hover{background:#f5f5f5}.navigation-buttons a.active{background:#f5f5f5}.navigation-buttons i{display:block;width:35px;height:35px;margin:0 auto}.navigation-buttons p{margin-top:5px}.list-box{margin-top:3rem;margin-bottom:3rem}.list-box-header{border:none;color:#00a5d5;text-align:center;font-weight:700}.list-box-header th{text-align:center}.list-box-header .project-list-title{text-align:left}.list-box-header .columns{padding-top:10px;padding-bottom:10px;padding-left:10px}.list-box-content{border:none}.list-box-content tr{background:0 0;border-bottom:1px solid #d5d5d5}.list-box-content tr:nth-child(even){background:0 0}.list-box-content td{min-height:115px;max-height:115px}@media screen and (min-width:40em) and (max-width:63.9375em){.list-box-content td{min-height:170px;max-height:170px}}@media screen and (max-width:39.9375em){.list-box-content td{min-height:200px;max-height:200px}}.list-box-content h4{font-size:18px;color:#00a5d5}.list-box-content time{font-style:italic;font-size:14px}.list-box-content .list-box-logo{max-width:50px;display:block;margin:0 auto}.list-box-content .progress{display:block;margin:0 auto;background:#fff;padding:1px;border:1px solid grey;border-radius:2px}.list-box-content .columns{padding-top:20px;padding-bottom:20px;padding-left:10px}.list-box-content .content-description{border-right:1px solid #d5d5d5}.list-box-content .list-logo{border-right:1px solid #d5d5d5;padding:30px 15px}@media screen and (max-width:39.9375em){.list-box-content .list-logo{padding:60px 15px}}.list-box-content .progress-bar{padding:40px 15px;text-align:center;font-size:12px;color:grey}@media screen and (max-width:39.9375em){.list-box-content .progress-bar{padding:80px 15px}}.list-box-content .progress-bar .state{display:block;margin-top:5px}.progress .meter{display:block;height:100%;float:left}.progress .meter.published{background:#94c021;width:100%}.progress .meter.rejected{background:red;width:100%}.progress .meter.inRevision{background:#f29200;width:50%}.progress .meter.received{background:#fede00;width:30%}.foro-title{float:left;color:#00a5d5;border-bottom:1px solid #00a5d5;margin-bottom:2px}.foro-title i{width:35px;height:35px;margin-right:10px;position:relative;top:4px}.users-top-bar{float:left;font-size:14px;border-top:1px solid #00a5d5;border-bottom:1px solid #0073b2}.users-top-bar .bar{padding:3px}.box-icon{width:125px;float:left;position:relative;top:2px;margin-bottom:5px;min-height:25px;line-height:22px;padding:0;padding-left:10px}.box-icon i{float:left;margin:0}.box-icon span{padding-left:10px}.box-mails{float:left}.mail-user,.validated-tags .validated-tag{padding-bottom:5px;padding-left:5px;padding-right:5px;border:1px solid #00a5d5;border-radius:2px;color:grey;float:left;margin:3px 5px}.mail-user i,.validated-tags .validated-tag i{width:15px;height:15px;position:relative;top:3px}.mail-user i:hover,.validated-tags .validated-tag i:hover{cursor:pointer}.invite-participants{width:230px;text-align:right;margin-bottom:5px;height:25px;line-height:35px}@media screen and (max-width:39.9375em){.invite-participants{margin-bottom:10px}}.invite-participants i{position:relative;top:3px}#users-chat{margin-top:3rem;padding-right:3rem}.text-area .attach-file{line-height:20px}.text-area .attach-file i{float:left;margin-right:10px}.comments{float:left}.comments:last-child{margin-bottom:4rem}.comment{float:left;margin-bottom:1rem}.comment .text{padding-top:1rem}.comment .attached-files{float:left;border-top:1px solid #0073b2;border-bottom:1px solid #00a5d5;padding-top:6px;padding-bottom:6px}.comment .attached-files p{font-size:12px;color:grey;float:left;height:25px;text-align:center;line-height:30px;margin-right:20px}.comment .attached-files i{margin:0 3px;width:25px;height:25px}.published-time{color:#00a5d5;font-size:14px}.user-picture{padding:25px;padding-top:0}@media screen and (min-width:40em) and (max-width:63.9375em){.user-picture{padding:5px}}@media screen and (max-width:39.9375em){.user-picture{padding:0}}.user-picture img{max-width:100%;border-radius:100%}#project-versions{margin-top:3rem}#project-versions .heading{width:100%;float:left;min-height:30px;margin-bottom:1.5rem}#project-versions .heading .versions-project{padding:0;min-height:30px;line-height:30px}#project-versions .heading .versions-project i{position:relative;top:4px}#project-versions .heading .versions-project span{padding-left:5px}@media screen and (max-width:39.9375em){#project-versions .heading .versions-project{text-align:center}}#project-versions .heading .add-versions{padding:0;text-align:right}#project-versions .heading .add-versions i{position:relative;top:2px;padding-right:20px}@media screen and (max-width:39.9375em){#project-versions .heading .add-versions{text-align:center}}#project-versions .versions{width:100%;float:left;font-size:14px}#project-versions .versions .version{width:100%;float:left;margin-bottom:20px}#project-versions .versions .version-video-thumbnail{width:100%;height:100px;background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important;margin-bottom:10px}#project-versions .versions .btn,#project-versions .versions .btn-blue,#project-versions .versions .btn-brand{float:left;width:100%;padding-top:7px;padding-bottom:7px;background:silver;color:#fff;max-width:100%}#project-versions .versions .btn-blue:hover,#project-versions .versions .btn-brand:hover,#project-versions .versions .btn:hover{background:#0073b2}#faqs-container{float:left;width:100%;border-top:1px solid #00a5d5}#faqs{float:left;width:100%}.download-button{background:#0073b2;color:#fff;float:right;padding:18px;padding-top:15px;padding-bottom:10px;margin-top:2rem;margin-bottom:2rem;text-align:center;transition:.2s ease-in-out all;transition-delay:.2s;width:300px}.download-button:hover{background:#00a5d5;color:#fff}@media screen and (max-width:39.9375em){.download-button{float:inherit;display:block;width:90%;margin:0 auto;padding:20px;text-align:center}}.download-button i{float:left;position:relative;top:-1px;margin-right:10px}.switcher-header{border:1px solid #00a5d5;padding:5px;cursor:pointer}.switcher-header h2{font-size:18px;text-transform:uppercase;color:#767676}.switcher-header i.i-close-gray{float:left;margin-right:10px;position:relative;top:1px;transform:rotate(45deg)}.switcher-header:hover{background:#e6e6e6}.switcher-header:hover h2{color:#00a5d5}.answer-text{display:none}.answer{margin-bottom:15px}.answer.opened .switcher-header{border-bottom:none;background:#e6e6e6}.answer.opened .switcher-header h2{color:#00a5d5}.answer.opened .answer-text{display:block;border:1px solid #00a5d5;border-top:none;padding-left:30px;padding-right:30px;padding-bottom:30px;padding-top:10px;transition:.2s ease-in-out all;transition-delay:.2s}#video{background:#f3f3f3;padding-bottom:2rem}#video-details .video-tags span{border:1px solid #00a5d5}#video-details .video-tags a{color:#00a5d5}#video-details p{color:#777}#details-related-videos{margin-top:3rem;margin-bottom:3rem}#details-related-videos .video-list-heading-title{padding:0;margin-top:1rem;margin-bottom:1rem}#details-related-videos .video-thumbnail{border:none}#details-related-videos .video-thumbnail span{margin:0;color:#777}#details-related-videos .slick-track{margin:0}#details-related-videos .video-thumbnail-wrapper{width:300px}#video-medias .video-list-heading-title{padding:0;margin-top:1rem;margin-bottom:1rem}#video-medias .media-file{float:left;background:#fff;margin-bottom:7px;width:100%}#video-medias .file{background:#fff;padding:10px;color:#00a5d5}#video-medias .file .file-size,#video-medias .file .file-type{color:#777;text-transform:uppercase}#video-medias .file i{position:relative;top:3px;margin-right:1rem}#video-medias .file-properties{text-align:right}#video-medias .media-folder{float:left;background:#fff;margin-top:10px;margin-bottom:7px;width:100%;padding-bottom:10px}#video-medias .folder-children-media{padding-left:2rem}#video-medias .folder-children-media .medias-children{float:left;width:100%;border-bottom:1px solid grey}.related-video-title{font-size:2rem;color:#00a5d5;margin-top:1rem;margin-bottom:.5rem}.related-video-subtitle{color:#777;font-size:1.5rem;margin-bottom:.5rem}.separator{padding-left:.5rem;padding-right:.5rem}.media-thumbnail{float:right;width:150px;height:150px}body,html{overflow-x:hidden}main{min-height:100%}.btn,.btn-blue,.btn-brand{font-family:Noto-Sans,sans-serif;padding:25px;padding-top:15px;padding-bottom:15px;max-width:175px;text-align:center}.btn-blue{background:rgba(0,115,178,.82);color:#fff}.btn-blue:hover{color:#f5f5f5;border-color:#f5f5f5}.btn-brand{background:rgba(0,115,178,.82);color:#fff}.btn-brand:hover{color:#f5f5f5;border-color:#f5f5f5}.video-list-heading-title{font-size:1rem;color:#2b6869;padding-left:.9rem}.search-title{color:#0073b2;padding:1.5rem;padding-left:0;padding-bottom:0}.button{border:1px solid #fff;background:0 0;font-size:1.2rem;padding:.85em .5em}.clear-filters{color:#00a5d5;font-size:14px;margin-bottom:1rem}.nice-select{padding-right:0;border-radius:0;height:25px;line-height:25px;max-width:100%;min-width:100%;border:1px solid grey;margin-bottom:1rem}@media screen and (min-width:40em) and (max-width:63.9375em){.nice-select{padding-left:.5rem}}@media screen and (max-width:39.9375em){.nice-select{width:100%}}.nice-select .list{border-radius:0;width:100%;margin-top:1px;border:1px solid grey;border-top:none;box-shadow:none}@media screen and (max-width:39.9375em){.nice-select .list{width:100%}}.nice-select .option{padding-right:0;min-height:25px;line-height:25px}@media screen and (min-width:40em) and (max-width:63.9375em){.nice-select .option{padding-left:.5rem}}.nice-select .option:hover{background:#9e9c9c;color:#fff}.nice-select:after{border-bottom:2px solid #0073b2;border-right:2px solid #0073b2}.nice-select .option.selected:hover{background:#9e9c9c;color:#fff}.uploaded-files{float:left;width:100%;padding-top:10px;padding-bottom:10px;border-top:2px solid #c2c2c2;border-bottom:2px solid #c2c2c2}.reveal{padding:30px;background:#f5f5f5}.reveal .reveal-title{text-transform:uppercase}.reveal .reveal-title h3{color:#00a5d5;font-size:25px}.reveal img.reveal-logo{width:80px;margin-bottom:2rem}.reveal input{border:none;box-shadow:none}.reveal .reveal-login-form{border-bottom:1px solid grey;border-top:1px solid grey;padding-top:2rem;padding-bottom:1rem}.thin-btn{padding-top:7px;padding-bottom:12px}.addUserButton{width:20%;margin-top:2px;padding-top:10px;padding-bottom:10px;border-radius:5px;background:#c4c4c4;background-image:-webkit-linear-gradient(top,#c4c4c4,#7d7d7d);background-image:-moz-linear-gradient(top,#c4c4c4,#7d7d7d);background-image:-ms-linear-gradient(top,#c4c4c4,#7d7d7d);background-image:-o-linear-gradient(top,#c4c4c4,#7d7d7d);background-image:linear-gradient(to bottom,#c4c4c4,#929292);-webkit-border-radius:12;-moz-border-radius:12;border-radius:5px;color:#000}.social-media-tip{width:50%;position:absolute;bottom:60px;text-align:center;left:5%;min-height:60px;background:rgba(255,255,255,.25);padding:15px;border-radius:2px}.social-media-tip .tip-close{position:absolute;right:5px;color:#fff;top:2px}.social-media-tip .social-media-button{display:inline-block}.social-media-tip .googlePlus-button{position:relative;top:3px;width:60px}.social-media-tip:after{content:"";display:block;width:0;height:0;border-left:10px solid transparent;border-right:10px solid transparent;border-bottom:10px solid rgba(255,255,255,.25);position:absolute;left:40%;right:0;bottom:-10px;transform:rotate(180deg)}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL19nbG9iYWwuc2NzcyIsInBwZy1zdHlsZXMuY3NzIiwiYmFzZS1zdHlsZXMvX2ZvdW5kYXRpb24tc2V0dGluZ3Muc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX21peGlucy5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fY2xhc3Nlcy5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fcm93LnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL191bml0LnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19ndXR0ZXIuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX2JyZWFrcG9pbnQuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX3NpemUuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2NvbHVtbi5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fcG9zaXRpb24uc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2xheW91dC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fYmFzZS5zY3NzIiwiY29ycG9yYXRlLXNldHRpbmdzL19wcGctc2V0dGluZ3Muc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2hlbHBlcnMuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2FsaWdubWVudC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fcHJpbnQuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX3RleHQuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19jaGVja2JveC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2xhYmVsLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9faGVscC10ZXh0LnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9faW5wdXQtZ3JvdXAuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19maWVsZHNldC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX3NlbGVjdC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2Vycm9yLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19hY2NvcmRpb24uc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2FjY29yZGlvbi1tZW51LnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19iYWRnZS5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnJlYWRjcnVtYnMuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi1ncm91cC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fY2FsbG91dC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fY2xvc2UtYnV0dG9uLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19kcmlsbGRvd24uc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2Ryb3Bkb3duLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19kcm9wZG93bi1tZW51LnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19mbGV4LXZpZGVvLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19sYWJlbC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbWVkaWEtb2JqZWN0LnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19tZW51LnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19vZmYtY2FudmFzLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19vcmJpdC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fcGFnaW5hdGlvbi5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fcHJvZ3Jlc3MtYmFyLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19zbGlkZXIuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3N0aWNreS5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fcmV2ZWFsLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19zd2l0Y2guc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RhYmxlLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19jb2xvci5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGFicy5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGh1bWJuYWlsLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190aXRsZS1iYXIuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Rvb2x0aXAuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RvcC1iYXIuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Zpc2liaWxpdHkuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2Zsb2F0LnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL21vdGlvbi11aS9zcmMvX2NsYXNzZXMuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvbW90aW9uLXVpL3NyYy9fc2V0dGluZ3Muc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvbW90aW9uLXVpL3NyYy91dGlsL19rZXlmcmFtZS5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL19zbGlkZS5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL19mYWRlLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL21vdGlvbi11aS9zcmMvZWZmZWN0cy9faGluZ2Uuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvbW90aW9uLXVpL3NyYy90cmFuc2l0aW9ucy9faGluZ2Uuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvbW90aW9uLXVpL3NyYy90cmFuc2l0aW9ucy9fem9vbS5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL19zcGluLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL21vdGlvbi11aS9zcmMvdXRpbC9fYW5pbWF0aW9uLnNjc3MiLCJiYXNlLXN0eWxlcy9fZ2xvYmFsLnNjc3MiLCJiYXNlLXN0eWxlcy9fc2V0dGluZ3Muc2NzcyIsImJhc2Utc3R5bGVzL19pY29ucy5zY3NzIiwiYmFzZS1zdHlsZXMvX25pY2Utc2VsZWN0LnNjc3MiLCJiYXNlLXN0eWxlcy9fc2xpY2suc2NzcyIsImJhc2Utc3R5bGVzL19zbGlkZXJzLnNjc3MiLCJhcHAtc3R5bGVzL19mb290ZXIuc2NzcyIsImFwcC1zdHlsZXMvX2hlYWRlci5zY3NzIiwiYXBwLXN0eWxlcy9fbGlzdC1vZi12aWRlb3Muc2NzcyIsImFwcC1zdHlsZXMvX21vZGFscy5zY3NzIiwiYXBwLXN0eWxlcy9fcHJvamVjdF9wYWdlLnNjc3MiLCJhcHAtc3R5bGVzL191c2Vycy5zY3NzIiwiYXBwLXN0eWxlcy9fdmlkZW8tZGV0YWlscy5zY3NzIiwiX3N0eWxlcy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJpQkFvTkUsNEVBUUEsS0FDRSxZQUFhLFdBQ2IscUJBQXNCLEtBQ3RCLHlCQUEwQixLQU81QixLQUNFLE9BQVEsRUFhVixRQUNBLE1BQ0EsUUFDQSxXQUNBLE9BQ0EsT0FDQSxPQUNBLE9BQ0EsS0FDQSxLQUNBLElBQ0EsUUFDQSxRQUNFLFFBQVMsTUFRWCxNQUNBLE9BQ0EsU0FDQSxNQUNFLFFBQVMsYUFDVCxlQUFnQixTQVFsQixzQkFDRSxRQUFTLEtBQ1QsT0FBUSxFQzdNWixT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QU8sS0FJVCxxQkFBQSxzQkFDRSxhQUFjLEVBQ2QsY0FBZSxFQUNmLFlBQWEsRUFDYixhQUFjLEVBTVosU0t0RUosTUNlWSxTTjZETixjTzNFSixTQUFVLFNBQ1YsS0FIUyxTUGlGTCxjTy9FSixTQUFVLFNBQ1YsS0FIUyxVUHlGUCxnQk81REosWURoQlksRU4wRFIsU0t0RUosTUNlWSxVTjZETixjTzNFSixTQUFVLFNBQ1YsS0FIUyxVUGlGTCxjTy9FSixTQUFVLFNBQ1YsS0FIUyxXUHlGUCxnQk81REosWURiWSxTTnVEUixTS3RFSixNQ2VZLElONkROLGNPM0VKLFNBQVUsU0FDVixLQUhTLElQaUZMLGNPL0VKLFNBQVUsU0FDVixLQUhTLEtQeUZQLGdCTzVESixZRGJZLFVOdURSLFNLdEVKLE1DZVksVU42RE4sY08zRUosU0FBVSxTQUNWLEtBSFMsVVBpRkwsY08vRUosU0FBVSxTQUNWLEtBSFMsV1B5RlAsZ0JPNURKLFlEYlksSU51RFIsU0t0RUosTUNlWSxVTjZETixjTzNFSixTQUFVLFNBQ1YsS0FIUyxVUGlGTCxjTy9FSixTQUFVLFNBQ1YsS0FIUyxXUHlGUCxnQk81REosWURiWSxVTnVEUixTS3RFSixNQ2VZLElONkROLGNPM0VKLFNBQVUsU0FDVixLQUhTLElQaUZMLGNPL0VKLFNBQVUsU0FDVixLQUhTLEtQeUZQLGdCTzVESixZRGJZLFVOdURSLFNLdEVKLE1DZVksVU42RE4sY08zRUosU0FBVSxTQUNWLEtBSFMsVVBpRkwsY08vRUosU0FBVSxTQUNWLEtBSFMsV1B5RlAsZ0JPNURKLFlEYlksSU51RFIsU0t0RUosTUNlWSxVTjZETixjTzNFSixTQUFVLFNBQ1YsS0FIUyxVUGlGTCxjTy9FSixTQUFVLFNBQ1YsS0FIUyxXUHlGUCxnQk81REosWURiWSxVTnVEUixTS3RFSixNQ2VZLElONkROLGNPM0VKLFNBQVUsU0FDVixLQUhTLElQaUZMLGNPL0VKLFNBQVUsU0FDVixLQUhTLEtQeUZQLGdCTzVESixZRGJZLFVOdURSLFVLdEVKLE1DZVksVU42RE4sZU8zRUosU0FBVSxTQUNWLEtBSFMsVVBpRkwsZU8vRUosU0FBVSxTQUNWLEtBSFMsV1B5RlAsZ0JPNURKLFlEYlksSU51RFIsVUt0RUosTUNlWSxVTjZETixlTzNFSixTQUFVLFNBQ1YsS0FIUyxVUGlGTCxlTy9FSixTQUFVLFNBQ1YsS0FIUyxXUHlGUCxpQk81REosWURiWSxVTnVEUixVS3RFSixNQ2VZLEtOeUVSLGlCTzVESixZRGJZLFVOZ0ZSLG9CQUFBLHFCUXZGRixNQUFPLEtBQ1AsTVo4RW1ELEtJUWpELG9DQUFBLHFDUS9EQSxNQUFPLEtSK0RQLHNDQUFBLHVDUTNEQSxNQUFPLEtSMkRQLCtCQUFBLGdDUXZEQSxNWitDaUQsS0lRakQsb0JBQUEscUJRdkZGLE1BQU8sSUFDUCxNWjhFbUQsS0lRakQsb0NBQUEscUNRL0RBLE1BQU8sS1IrRFAsc0NBQUEsdUNRM0RBLE1BQU8sS1IyRFAsK0JBQUEsZ0NRdkRBLE1aK0NpRCxLSVFqRCxvQkFBQSxxQlF2RkYsTUFBTyxVQUNQLE1aOEVtRCxLSVFqRCxvQ0FBQSxxQ1EvREEsTUFBTyxLUitEUCxzQ0FBQSx1Q1EzREEsTUFBTyxLUjJEUCwrQkFBQSxnQ1F2REEsTVorQ2lELEtJUWpELG9CQUFBLHFCUXZGRixNQUFPLElBQ1AsTVo4RW1ELEtJUWpELG9DQUFBLHFDUS9EQSxNQUFPLEtSK0RQLHNDQUFBLHVDUTNEQSxNQUFPLEtSMkRQLCtCQUFBLGdDUXZEQSxNWitDaUQsS0lRakQsb0JBQUEscUJRdkZGLE1BQU8sSUFDUCxNWjhFbUQsS0lRakQsb0NBQUEscUNRL0RBLE1BQU8sS1IrRFAsc0NBQUEsdUNRM0RBLE1BQU8sS1IyRFAsK0JBQUEsZ0NRdkRBLE1aK0NpRCxLSVFqRCxvQkFBQSxxQlF2RkYsTUFBTyxVQUNQLE1aOEVtRCxLSVFqRCxvQ0FBQSxxQ1EvREEsTUFBTyxLUitEUCxzQ0FBQSx1Q1EzREEsTUFBTyxLUjJEUCwrQkFBQSxnQ1F2REEsTVorQ2lELEtJUWpELG9CQUFBLHFCUXZGRixNQUFPLFVBQ1AsTVo4RW1ELEtJUWpELG9DQUFBLHFDUS9EQSxNQUFPLEtSK0RQLHNDQUFBLHVDUTNEQSxNQUFPLEtSMkRQLCtCQUFBLGdDUXZEQSxNWitDaUQsS0lRakQsb0JBQUEscUJRdkZGLE1BQU8sTUFDUCxNWjhFbUQsS0lRakQsb0NBQUEscUNRL0RBLE1BQU8sS1IrRFAsc0NBQUEsdUNRM0RBLE1BQU8sS1IyRFAsK0JBQUEsZ0NRdkRBLE1aK0NpRCxLSWNuRCx3QkFBQSx5Qkd6R0YsYUFBYyxFQUNkLGNBQWUsRUh3R2IscUJBSUksWUFBYSxFQUNiLGFBQWMsRUFJbEIsa0NBQ0UsWUFBYSxFQUNiLGFBQWMsRUFHaEIsMEJBQUEsMkJHOUdGLGFBRFMsUUFFVCxjQUZTLFFIc0hQLGdCT2pIQSxZQUFhLEtBQ2IsYUFBYyxLUGdIZCxnQkFBQSw2Q09wSEUsTUFBTyxLQUNQLE1BQU8sS1AwSFQsY0FEQSxjQURBLGtCTzVHRixTQUFVLE9BQ1YsWUFBYSxFQUNiLGFBQWMsRUFDZCxNQUFPLEtIK0dMLG1DSi9ERSxVS3RFSixNQ2VZLFNONkROLGVPM0VKLFNBQVUsU0FDVixLQUhTLFNQaUZMLGVPL0VKLFNBQVUsU0FDVixLQUhTLFVQeUZQLGlCTzVESixZRGhCWSxFTjBEUixVS3RFSixNQ2VZLFVONkROLGVPM0VKLFNBQVUsU0FDVixLQUhTLFVQaUZMLGVPL0VKLFNBQVUsU0FDVixLQUhTLFdQeUZQLGlCTzVESixZRGJZLFNOdURSLFVLdEVKLE1DZVksSU42RE4sZU8zRUosU0FBVSxTQUNWLEtBSFMsSVBpRkwsZU8vRUosU0FBVSxTQUNWLEtBSFMsS1B5RlAsaUJPNURKLFlEYlksVU51RFIsVUt0RUosTUNlWSxVTjZETixlTzNFSixTQUFVLFNBQ1YsS0FIUyxVUGlGTCxlTy9FSixTQUFVLFNBQ1YsS0FIUyxXUHlGUCxpQk81REosWURiWSxJTnVEUixVS3RFSixNQ2VZLFVONkROLGVPM0VKLFNBQVUsU0FDVixLQUhTLFVQaUZMLGVPL0VKLFNBQVUsU0FDVixLQUhTLFdQeUZQLGlCTzVESixZRGJZLFVOdURSLFVLdEVKLE1DZVksSU42RE4sZU8zRUosU0FBVSxTQUNWLEtBSFMsSVBpRkwsZU8vRUosU0FBVSxTQUNWLEtBSFMsS1B5RlAsaUJPNURKLFlEYlksVU51RFIsVUt0RUosTUNlWSxVTjZETixlTzNFSixTQUFVLFNBQ1YsS0FIUyxVUGlGTCxlTy9FSixTQUFVLFNBQ1YsS0FIUyxXUHlGUCxpQk81REosWURiWSxJTnVEUixVS3RFSixNQ2VZLFVONkROLGVPM0VKLFNBQVUsU0FDVixLQUhTLFVQaUZMLGVPL0VKLFNBQVUsU0FDVixLQUhTLFdQeUZQLGlCTzVESixZRGJZLFVOdURSLFVLdEVKLE1DZVksSU42RE4sZU8zRUosU0FBVSxTQUNWLEtBSFMsSVBpRkwsZU8vRUosU0FBVSxTQUNWLEtBSFMsS1B5RlAsaUJPNURKLFlEYlksVU51RFIsV0t0RUosTUNlWSxVTjZETixnQk8zRUosU0FBVSxTQUNWLEtBSFMsVVBpRkwsZ0JPL0VKLFNBQVUsU0FDVixLQUhTLFdQeUZQLGlCTzVESixZRGJZLElOdURSLFdLdEVKLE1DZVksVU42RE4sZ0JPM0VKLFNBQVUsU0FDVixLQUhTLFVQaUZMLGdCTy9FSixTQUFVLFNBQ1YsS0FIUyxXUHlGUCxrQk81REosWURiWSxVTnVEUixXS3RFSixNQ2VZLEtOeUVSLGtCTzVESixZRGJZLFVOZ0ZSLHFCQUFBLHNCUXZGRixNQUFPLEtBQ1AsTVo4RW1ELEtJUWpELHFDQUFBLHNDUS9EQSxNQUFPLEtSK0RQLHVDQUFBLHdDUTNEQSxNQUFPLEtSMkRQLGdDQUFBLGlDUXZEQSxNWitDaUQsS0lRakQscUJBQUEsc0JRdkZGLE1BQU8sSUFDUCxNWjhFbUQsS0lRakQscUNBQUEsc0NRL0RBLE1BQU8sS1IrRFAsdUNBQUEsd0NRM0RBLE1BQU8sS1IyRFAsZ0NBQUEsaUNRdkRBLE1aK0NpRCxLSVFqRCxxQkFBQSxzQlF2RkYsTUFBTyxVQUNQLE1aOEVtRCxLSVFqRCxxQ0FBQSxzQ1EvREEsTUFBTyxLUitEUCx1Q0FBQSx3Q1EzREEsTUFBTyxLUjJEUCxnQ0FBQSxpQ1F2REEsTVorQ2lELEtJUWpELHFCQUFBLHNCUXZGRixNQUFPLElBQ1AsTVo4RW1ELEtJUWpELHFDQUFBLHNDUS9EQSxNQUFPLEtSK0RQLHVDQUFBLHdDUTNEQSxNQUFPLEtSMkRQLGdDQUFBLGlDUXZEQSxNWitDaUQsS0lRakQscUJBQUEsc0JRdkZGLE1BQU8sSUFDUCxNWjhFbUQsS0lRakQscUNBQUEsc0NRL0RBLE1BQU8sS1IrRFAsdUNBQUEsd0NRM0RBLE1BQU8sS1IyRFAsZ0NBQUEsaUNRdkRBLE1aK0NpRCxLSVFqRCxxQkFBQSxzQlF2RkYsTUFBTyxVQUNQLE1aOEVtRCxLSVFqRCxxQ0FBQSxzQ1EvREEsTUFBTyxLUitEUCx1Q0FBQSx3Q1EzREEsTUFBTyxLUjJEUCxnQ0FBQSxpQ1F2REEsTVorQ2lELEtJUWpELHFCQUFBLHNCUXZGRixNQUFPLFVBQ1AsTVo4RW1ELEtJUWpELHFDQUFBLHNDUS9EQSxNQUFPLEtSK0RQLHVDQUFBLHdDUTNEQSxNQUFPLEtSMkRQLGdDQUFBLGlDUXZEQSxNWitDaUQsS0lRakQscUJBQUEsc0JRdkZGLE1BQU8sTUFDUCxNWjhFbUQsS0lRakQscUNBQUEsc0NRL0RBLE1BQU8sS1IrRFAsdUNBQUEsd0NRM0RBLE1BQU8sS1IyRFAsZ0NBQUEsaUNRdkRBLE1aK0NpRCxLSWNuRCx5QkFBQSwwQkd6R0YsYUFBYyxFQUNkLGNBQWUsRUh3R2Isc0JBSUksWUFBYSxFQUNiLGFBQWMsRUFJbEIsbUNBQ0UsWUFBYSxFQUNiLGFBQWMsRUFHaEIsMkJBQUEsNEJHOUdGLGFBRFMsU0FFVCxjQUZTLFNIc0hQLGlCT2pIQSxZQUFhLEtBQ2IsYUFBYyxLUGdIZCxpQkFBQSw4Q09wSEUsTUFBTyxLQUNQLE1BQU8sS1AwSFQsZUFEQSxlQURBLG1CTzVHRixTQUFVLE9BQ1YsWUFBYSxFQUNiLGFBQWMsRUFDZCxNQUFPLE1IK0dMLG1DSi9ERSxTS3RFSixNQ2VZLFNONkROLGNPM0VKLFNBQVUsU0FDVixLQUhTLFNQaUZMLGNPL0VKLFNBQVUsU0FDVixLQUhTLFVQeUZQLGdCTzVESixZRGhCWSxFTjBEUixTS3RFSixNQ2VZLFVONkROLGNPM0VKLFNBQVUsU0FDVixLQUhTLFVQaUZMLGNPL0VKLFNBQVUsU0FDVixLQUhTLFdQeUZQLGdCTzVESixZRGJZLFNOdURSLFNLdEVKLE1DZVksSU42RE4sY08zRUosU0FBVSxTQUNWLEtBSFMsSVBpRkwsY08vRUosU0FBVSxTQUNWLEtBSFMsS1B5RlAsZ0JPNURKLFlEYlksVU51RFIsU0t0RUosTUNlWSxVTjZETixjTzNFSixTQUFVLFNBQ1YsS0FIUyxVUGlGTCxjTy9FSixTQUFVLFNBQ1YsS0FIUyxXUHlGUCxnQk81REosWURiWSxJTnVEUixTS3RFSixNQ2VZLFVONkROLGNPM0VKLFNBQVUsU0FDVixLQUhTLFVQaUZMLGNPL0VKLFNBQVUsU0FDVixLQUhTLFdQeUZQLGdCTzVESixZRGJZLFVOdURSLFNLdEVKLE1DZVksSU42RE4sY08zRUosU0FBVSxTQUNWLEtBSFMsSVBpRkwsY08vRUosU0FBVSxTQUNWLEtBSFMsS1B5RlAsZ0JPNURKLFlEYlksVU51RFIsU0t0RUosTUNlWSxVTjZETixjTzNFSixTQUFVLFNBQ1YsS0FIUyxVUGlGTCxjTy9FSixTQUFVLFNBQ1YsS0FIUyxXUHlGUCxnQk81REosWURiWSxJTnVEUixTS3RFSixNQ2VZLFVONkROLGNPM0VKLFNBQVUsU0FDVixLQUhTLFVQaUZMLGNPL0VKLFNBQVUsU0FDVixLQUhTLFdQeUZQLGdCTzVESixZRGJZLFVOdURSLFNLdEVKLE1DZVksSU42RE4sY08zRUosU0FBVSxTQUNWLEtBSFMsSVBpRkwsY08vRUosU0FBVSxTQUNWLEtBSFMsS1B5RlAsZ0JPNURKLFlEYlksVU51RFIsVUt0RUosTUNlWSxVTjZETixlTzNFSixTQUFVLFNBQ1YsS0FIUyxVUGlGTCxlTy9FSixTQUFVLFNBQ1YsS0FIUyxXUHlGUCxnQk81REosWURiWSxJTnVEUixVS3RFSixNQ2VZLFVONkROLGVPM0VKLFNBQVUsU0FDVixLQUhTLFVQaUZMLGVPL0VKLFNBQVUsU0FDVixLQUhTLFdQeUZQLGlCTzVESixZRGJZLFVOdURSLFVLdEVKLE1DZVksS055RVIsaUJPNURKLFlEYlksVU5nRlIsb0JBQUEscUJRdkZGLE1BQU8sS0FDUCxNWjhFbUQsS0lRakQsb0NBQUEscUNRL0RBLE1BQU8sS1IrRFAsc0NBQUEsdUNRM0RBLE1BQU8sS1IyRFAsK0JBQUEsZ0NRdkRBLE1aK0NpRCxLSVFqRCxvQkFBQSxxQlF2RkYsTUFBTyxJQUNQLE1aOEVtRCxLSVFqRCxvQ0FBQSxxQ1EvREEsTUFBTyxLUitEUCxzQ0FBQSx1Q1EzREEsTUFBTyxLUjJEUCwrQkFBQSxnQ1F2REEsTVorQ2lELEtJUWpELG9CQUFBLHFCUXZGRixNQUFPLFVBQ1AsTVo4RW1ELEtJUWpELG9DQUFBLHFDUS9EQSxNQUFPLEtSK0RQLHNDQUFBLHVDUTNEQSxNQUFPLEtSMkRQLCtCQUFBLGdDUXZEQSxNWitDaUQsS0lRakQsb0JBQUEscUJRdkZGLE1BQU8sSUFDUCxNWjhFbUQsS0lRakQsb0NBQUEscUNRL0RBLE1BQU8sS1IrRFAsc0NBQUEsdUNRM0RBLE1BQU8sS1IyRFAsK0JBQUEsZ0NRdkRBLE1aK0NpRCxLSVFqRCxvQkFBQSxxQlF2RkYsTUFBTyxJQUNQLE1aOEVtRCxLSVFqRCxvQ0FBQSxxQ1EvREEsTUFBTyxLUitEUCxzQ0FBQSx1Q1EzREEsTUFBTyxLUjJEUCwrQkFBQSxnQ1F2REEsTVorQ2lELEtJUWpELG9CQUFBLHFCUXZGRixNQUFPLFVBQ1AsTVo4RW1ELEtJUWpELG9DQUFBLHFDUS9EQSxNQUFPLEtSK0RQLHNDQUFBLHVDUTNEQSxNQUFPLEtSMkRQLCtCQUFBLGdDUXZEQSxNWitDaUQsS0lRakQsb0JBQUEscUJRdkZGLE1BQU8sVUFDUCxNWjhFbUQsS0lRakQsb0NBQUEscUNRL0RBLE1BQU8sS1IrRFAsc0NBQUEsdUNRM0RBLE1BQU8sS1IyRFAsK0JBQUEsZ0NRdkRBLE1aK0NpRCxLSVFqRCxvQkFBQSxxQlF2RkYsTUFBTyxNQUNQLE1aOEVtRCxLSVFqRCxvQ0FBQSxxQ1EvREEsTUFBTyxLUitEUCxzQ0FBQSx1Q1EzREEsTUFBTyxLUjJEUCwrQkFBQSxnQ1F2REEsTVorQ2lELEtJY25ELHdCQUFBLHlCR3pHRixhQUFjLEVBQ2QsY0FBZSxFSHdHYixxQkFJSSxZQUFhLEVBQ2IsYUFB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LGN4QzBRMkIsTXdDelEzQixXQUFZLE96Q3FoRlosc0NFNytFRSxRQUFTLEV1Q3RDWCxzQkFDRSxNeENtUW9CLE93Q2xRcEIsT3hDa1FvQixPd0NqUXBCLE94Q2tRa0IsTXdDalFsQixpQnhDbkZVLFF3Q29GVixjQUFlLElBTGpCLDRCQVFJLGlCeEN0Rk0sUXdDOEVWLGdDQVlJLGlCeEMxRk0sUXlDcUZWLFlBekVBLFlBQStCLEVBQy9CLGN6Q05jLEt5QzhFZCxtQkFBQSxvQnhDRUUsUUFBUyxJQUNULFFBQVMsTXdDSFgsbUJ4Q1dFLE1BQU8sS3dDaEZULGVBQ0UsVXJDWVEsUXFDWFIsYXJDV1EsU3FDVlIsY3pDUlksRXlDY1YsUUFBUyxLQVRiLDJCQUFBLDBCQWFNLFFBQVMsYW5DOERiLG1DbUMzRUYsZUF1Qk0sUUFBUyxjQU1mLGNBQ0EsbUJBQ0UsTXpDOUNJLFF5QytDSixRQUFTLE1BQ1QsUXJDcEJRLFNBQUEsUXFDcUJSLGN6Q3ZDWSxFeUNrQ2Qsb0JBQ0EseUJBT0ksV3pDdkRPLFF5Q3VGWCxxQkF6QkEsUXJDL0JVLFNBQUEsUXFDZ0NWLFc3QnJIK0IsUTZCc0gvQixNekM1RE0sUXlDNkROLE9BQVEsUUFzQlIsc0JBakJBLFFyQ3ZDVSxTQUFBLFFxQ3dDVixNekN0RVksUXlDdUVaLE9BQVEsWUFlUiw0QkFaRSxXQUFZLElBWWQsNkJBTkEsUUFBUyxRQUNULFFyQ25EVSxTQUFBLFFxQ29EVixNekNoRk0sUXlDcUdKLCtCQUNBLHNDQUNFLFFBQVMsUUFDVCxRQUFTLGFBQ1QsYUFBZ0MsTUFHbEMsMEJBQ0EsaUNBQ0UsUUFBUyxRQUNULFFBQVMsYUFDVCxZQUErQixNQy9IbkMsVUFwQ0EsaUIxQ2lEWSxRMENoRFosTzFDaWFnQixLMENoYWhCLGMxQ3VEYyxLMEN0RGQsYzFDMERjLEUwQ3pCZCxrQ0FNUSxpQjVDdkJDLFE0Q2lCVCxvQ0FNUSxpQjVDdEJHLEs0Q2dCWCxrQ0FNUSxpQjVDckJDLFE0Q2VULGtDQU1RLGlCNUNwQkMsUTRDY1QsZ0NBTVEsaUI1Q25CRCxRNEMwQlAsZ0JBekNBLFNBQVUs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LElEakJULDJCQ2lDUyxPQ2dCUCxRRmhDaUMsRUlBakMsb0JBQXFCLFFKQXZCLG9DRWdDRSxRRmhDb0MsRUFDdEMsb0JBbkJBLG9CQ2tCUyxJRGpCVCwyQkNpQ1MsT0NnQlAsUUYvQmlDLEVJRGpDLG9CQUFxQixRSkN2QixxQ0UrQkUsUUYvQm9DLEVBR3RDLDZCQXRCQSxvQkNrQlMsSURqQlQsMkJDaUNTLE9DZ0JQLFVHWFEsb0JBMUJILGdCSHFDTCxpQkFGVSxJSXZCUixvQkFBcUIsU0FBQSxDQUFBLFFBQ3JCLFFBQTBCLEVOSjlCLDhDRTRCRSxVR1ZNLG9CQUEwQixVQ0o5QixRQUEwQixFTmI5QiwrQkF2QkEsb0JDa0JTLElEakJULDJCQ2lDUyxPQ2dCUCxVR1hRLG9CQXpCRCxnQkhvQ1AsaUJBRlUsTUl2QlIsb0JBQXFCLFNBQUEsQ0FBQSxRQUNyQixRQUEwQixFTkg5QixnREUyQkUsVUdWTSxvQkFBMEIsVUNKOUIsUUFBMEIsRU5aOUIsZ0NBeEJBLG9CQ2tCUyxJRGpCVCwyQkNpQ1MsT0NnQlAsVUdYUSxvQkF4QkEsZUhtQ1IsaUJBRlUsT0l2QlIsb0JBQXFCLFNBQUEsQ0FBQSxRQUNyQixRQUEwQixFTkY5QixpREUwQkUsVUdWTSxvQkFBMEIsVUNKOUIsUUFBMEIsRU5YOUIsOEJBekJBLG9CQ2tCUyxJRGpCVCwyQkNpQ1MsT0NnQlAsVUdYUSxvQkF2QkYsZUhrQ04saUJBRlUsS0l2QlIsb0JBQXFCLFNBQUEsQ0FBQSxRQUNyQixRQUEwQixFTkQ5QiwrQ0V5QkUsVUdWTSxvQkFBMEIsVUNKOUIsUUFBMEIsRU5WOUIsa0NBMUJBLG9CQ2tCUyxJRGpCVCwyQkNpQ1MsT0NnQlAsVUdYUSxvQkExQkgsZ0JIcUNMLGlCQUZVLE9JdkJSLG9CQUFxQixTQUFBLENBQUEsUUFDckIsUUFBMEIsRU5BOUIsbURFd0JFLFVHVk0sb0JBQTBCLFVDSjlCLFFBQTBCLEVOVDlCLGtDQTNCQSxvQkNrQlMsSURqQlQsMkJDaUNTLE9DZ0JQLFVHWFEsb0JBekJELGdCSG9DUCxpQkFGVSxPSXZCUixvQkFBcUIsU0FBQSxDQUFBLFFBQ3JCLFFBQTBCLEVOQzlCLG1ERXVCRSxVR1ZNLG9CQUEwQixVQ0o5QixRQUEwQixFTlI5Qiw4QkE1QkEsb0JDa0JTLElEakJULDJCQ2lDUyxPQ2dCUCxVR1JRLG9CQUEwQixVSFFsQyxpQkFGVSxJSXZCUixvQkFBcUIsU0FBQSxDQUFBLFFBQ3JCLFFBQTZCLEVORWpDLCtDRXNCRSxVR1BNLG9CQTlCRCxnQkN1QkgsUUFBNkIsRU5QakMsZ0NBN0JBLG9CQ2tCUyxJRGpCVCwyQkNpQ1MsT0NnQlAsVUdSUSxvQkFBMEIsVUhRbEMsaUJBRlUsTUl2QlIsb0JBQXFCLFNBQUEsQ0FBQSxRQUNyQixRQUE2QixFTkdqQyxpREVxQkUsVUdQTSxvQkE3QkMsZ0JDc0JMLFFBQTZCLEVOTmpDLGlDQTlCQSxvQkNrQlMsSURqQlQsMkJDaUNTLE9DZ0JQLFVHUlEsb0JBQTBCLFVIUWxDLGlCQUZVLE9JdkJSLG9CQUFxQixTQUFBLENBQUEsUUFDckIsUUFBNkIsRU5JakMsa0RFb0JFLFVHUE0sb0JBNUJFLGVDcUJOLFFBQTZCLEVOTGpDLCtCQS9CQSxvQkNrQlMsSURqQlQsMkJDaUNTLE9DZ0JQLFVHUlEsb0JBQTBCLFVIUWxDLGlCQUZVLEtJdkJSLG9CQUFxQixTQUFBLENBQUEsUUFDckIsUUFBNkIsRU5LakMsZ0RFbUJFLFVHUE0sb0JBM0JBLGVDb0JKLFFBQTZCLEVOSmpDLG1DQWhDQSxvQkNrQlMsSURqQlQsMkJDaUNTLE9DZ0JQLFVHUlEsb0JBQTBCLFVIUWxDLGlCQUZVLE9JdkJSLG9CQUFxQixTQUFBLENBQUEsUUFDckIsUUFBNkIsRU5NakMsb0RFa0JFLFVHUE0sb0JBOUJELGdCQ3VCSCxRQUE2QixFTkhqQyxtQ0FqQ0Esb0JDa0JTLElEakJULDJCQ2lDUyxPQ2dCUCxVR1JRLG9CQUEwQixVSFFsQyxpQkFGVSxPSXZCUixvQkFBcUIsU0FBQSxDQUFBLFFBQ3JCLFFBQTZCLEVOT2pDLG9ERWlCRSxVR1BNLG9CQTdCQyxnQkNzQkwsUUFBNkIsRU5BakMsdUJBcENBLG9CQ2tCUyxJRGpCVCwyQkNpQ1MsT0NnQlAsVUFGVSxVSzNCUixvQkFBcUIsU0FBQSxDQUFBLFFBQ3JCLFFBQTBCLEVQYzlCLHdDRWNFLFVBRlUsU0toQlIsUUFBMEIsRVBLOUIseUJBckNBLG9CQ2tCUyxJRGpCVCwyQkNpQ1MsT0NnQlAsVUFGVSxXSzNCUixvQkFBcUIsU0FBQSxDQUFBLFFBQ3JCLFFBQTBCLEVQZTlCLDBDRWFFLFVBRlUsU0toQlIsUUFBMEIsRVBNOUIsd0JBdENBLG9CQ2tCUyxJRGpCVCwyQkNpQ1MsT0NnQlAsVUFGVSxTSzNCUixvQkFBcUIsU0FBQSxDQUFBLFFBQ3JCLFFBQTZCLEVQZ0JqQyx5Q0VZRSxVQUZVLFdLaEJSLFFBQTZCLEVQT2pDLDBCQXZDQSxvQkNrQlMsSURqQlQsMkJDaUNTLE9DZ0JQLFVBRlUsU0szQlIsb0JBQXFCLFNBQUEsQ0FBQSxRQUNyQixRQUE2QixFUGlCakMsMkNFV0UsVUFGVSxVS2hCUixRQUE2QixFUFVqQyxtQkExQ0Esb0JDa0JTLElEakJULDJCQ2lDUyxPQ2dCUCxVQUZVLGlCTTNCUixvQkFBcUIsU0FBQSxDQUFBLFFBQ3JCLFFBQTBCLEVSb0I5QixvQ0VRRSxVQUZVLFVNaEJSLFFBQTBCLEVSVzlCLG9CQTNDQSxvQkNrQlMsSURqQlQsMkJDaUNTLE9DZ0JQLFVBRlUsVU0zQlIsb0JBQXFCLFNBQUEsQ0FBQSxRQUNyQixRQUE2QixFUnFCakMscUNFT0UsVUFGVSxnQk1oQlIsUUFBNkIsRVJZakMsdUJBNUNBLG9CQ2tCUyxJRGpCVCwyQkNpQ1MsT0NnQlAsVUFGVSxnQk0zQlIsb0JBQXFCLFNBQUEsQ0FBQSxRQUNyQixRQUEwQixFUnNCOUIsd0NFTUUsVUFGVSxVTWhCUixRQUEwQixFUmE5Qix3QkE3Q0Esb0JDa0JTLElEakJULDJCQ2lDUyxPQ2dCUCxVQUZVLFVNM0JSLG9CQUFxQixTQUFBLENBQUEsUUFDckIsUUFBNkIsRVJ1QmpDLHlDRUtFLFVBRlUsaUJNaEJSLFFBQTZCLEVSb0I3QixNQUFFLG9CQ2pDQSxnQkRpQ0YsTUFBRSxvQkNoQ0EsZ0JEc0NGLFFBQUUsMkJDdkJFLGlC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VSxTQUNWLE9BQVEsS0FDUixXQUFZLE9BQ1osS0FBTSxHQUNOLFdBQVksS0FDWixXQUFZLHNCQUNaLFFBQVMsS0FDVCxjQUFlLElBVGpCLDZCQVdJLFNBQVUsU0FDVixNQUFPLElBQ1AsTUFBTyxLQUNQLElBQUssSUFkVCx1Q0FpQkksUUFBUyxhQWpCYixxQ0FvQkksU0FBVSxTQUNWLElBQUssSUFDTCxNQUFPLEtBdEJYLHdCQXlCSSxRQUFTLEdBQ1QsUUFBUyxNQUNULE1BQU8sRUFDUCxPQUFRLEVBQ1IsWUFBYSxLQUFBLE1BQUEsWUFDYixhQUFjLEtBQUEsTUFBQSxZQUNkLGNBQWUsS0FBSyxNQUFNLHNCQUMxQixTQUFVLFNBQ1YsS0FBTSxJQUNOLE1BQU8sRUFDUCxPQUFRLE1BQ1IsVUFBVyIsImZpbGUiOiJwcGctc3R5bGVzLm1pbi5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8gc2Nzcy1saW50OmRpc2FibGUgQ29sb3JWYXJpYWJsZSwgUXVhbGlmeWluZ0VsZW1lbnQsIFZlbmRvclByZWZpeFxuXG4vLy8vXG4vLy8gQGdyb3VwIGdsb2JhbFxuLy8vL1xuXG4vLy8gRm9udCBzaXplIGF0dHJpYnV0ZSBhcHBsaWVkIHRvIGA8aHRtbD5gIGFuZCBgPGJvZHk+YC4gV2UgdXNlIDEwMCUgYnkgZGVmYXVsdCBzbyB0aGUgdmFsdWUgaXMgaW5oZXJpdGVkIGZyb20gdGhlIHVzZXIncyBicm93c2VyIHNldHRpbmdzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1mb250LXNpemU6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgd2lkdGggb2YgeW91ciBzaXRlLiBVc2VkIGJ5IHRoZSBncmlkIHRvIGRldGVybWluZSByb3cgd2lkdGguXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXdpZHRoOiByZW0tY2FsYygxMjAwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIGFsbCB0eXBlLiBgJGdsb2JhbC1saW5laGVpZ2h0YCBpcyAyNHB4IHdoaWxlIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgaXMgMTZweFxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1saW5laGVpZ2h0OiAxLjUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvcnMgdXNlZCBmb3IgYnV0dG9ucywgY2FsbG91dHMsIGxpbmtzLCBldGMuIFRoZXJlIG11c3QgYWx3YXlzIGJlIGEgY29sb3IgY2FsbGVkIGBwcmltYXJ5YC5cbi8vLyBAdHlwZSBNYXBcbiRmb3VuZGF0aW9uLXBhbGV0dGU6IChcbiAgcHJpbWFyeTogIzIxOTllOCxcbiAgc2Vjb25kYXJ5OiAjNzc3LFxuICBzdWNjZXNzOiAjM2FkYjc2LFxuICB3YXJuaW5nOiAjZmZhZTAwLFxuICBhbGVydDogI2VjNTg0MCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBsaWdodCBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kbGlnaHQtZ3JheTogI2U2ZTZlNiAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIG1lZGl1bSBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVkaXVtLWdyYXk6ICNjYWNhY2EgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBkYXJrIGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkYXJrLWdyYXk6ICM4YThhOGEgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBibGFjayB1aSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJsYWNrOiAjMGEwYTBhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3Igd2hpdGUgdWkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiR3aGl0ZTogI2ZlZmVmZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRib2R5LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRib2R5LWZvbnQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3RhY2sgb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgTGlzdFxuJGJvZHktZm9udC1mYW1pbHk6ICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZiAhZGVmYXVsdDtcblxuLy8vIFNldCB0byBgdHJ1ZWAgdG8gZW5hYmxlIGFudGlhbGlhc2VkIHR5cGUsIHVzaW5nIHRoZSBgLXdlYmtpdC1mb250LXNtb290aGluZ2AgYW5kIGAtbW96LW9zeC1mb250LXNtb290aGluZ2AgQ1NTIHByb3BlcnRpZXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJvZHktYW50aWFsaWFzZWQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgbWFyZ2luIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBwYWRkaW5nIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgZm9udCB3ZWlnaHQgdXNlZCBmb3Igbm9ybWFsIHR5cGUuXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGdsb2JhbC13ZWlnaHQtbm9ybWFsOiBub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgZm9udCB3ZWlnaHQgdXNlZCBmb3IgYm9sZCB0eXBlLlxuLy8vIEB0eXBlIEtleXdvcmQgfCBOdW1iZXJcbiRnbG9iYWwtd2VpZ2h0LWJvbGQ6IGJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgYWxsIGVsZW1lbnRzIHRoYXQgaGF2ZSBhIGJvcmRlciByYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXJhZGl1czogMCAhZGVmYXVsdDtcblxuLy8vIFNldHMgdGhlIHRleHQgZGlyZWN0aW9uIG9mIHRoZSBDU1MuIENhbiBiZSBlaXRoZXIgYGx0cmAgb3IgYHJ0bGAuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGdsb2JhbC10ZXh0LWRpcmVjdGlvbjogbHRyICFkZWZhdWx0O1xuXG4vLy8gRW5hYmxlcyBmbGV4Ym94IGZvciBjb21wb25lbnRzIHRoYXQgc3VwcG9ydCBpdC5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZ2xvYmFsLWZsZXhib3g6IGZhbHNlICFkZWZhdWx0O1xuXG5AaWYgbm90IG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpIHtcbiAgQGVycm9yICdJbiAkZm91bmRhdGlvbi1wYWxldHRlLCB5b3UgbXVzdCBoYXZlIGEgY29sb3IgbmFtZWQgXCJwcmltYXJ5XCIuJztcbn1cblxuLy8gSW50ZXJuYWwgdmFyaWFibGVzIHVzZWQgZm9yIHRleHQgZGlyZWN0aW9uXG4kZ2xvYmFsLWxlZnQ6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCByaWdodCwgbGVmdCk7XG4kZ2xvYmFsLXJpZ2h0OiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgbGVmdCwgcmlnaHQpO1xuXG4vLyBJbnRlcm5hbCB2YXJpYWJsZXMgdXNlZCBmb3IgY29sb3JzXG4kcHJpbWFyeS1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiRzZWNvbmRhcnktY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiRzdWNjZXNzLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHN1Y2Nlc3MpO1xuJHdhcm5pbmctY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2FybmluZyk7XG4kYWxlcnQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpO1xuXG4vLyBSZW1vdmUgdGhpcyBpbiA2LjNcbiQtemYtbWVudS1pY29uLWltcG9ydGVkOiBmYWxzZTtcbiQtemYtZmxleC1jbGFzc2VzLWltcG9ydGVkOiBmYWxzZTtcblxuQG1peGluIGZvdW5kYXRpb24tZ2xvYmFsLXN0eWxlcyB7XG4gIEBpbmNsdWRlIC16Zi1ub3JtYWxpemU7XG5cbiAgLy8gVGhlc2Ugc3R5bGVzIGFyZSBhcHBsaWVkIHRvIGEgPG1ldGE+IHRhZywgd2hpY2ggaXMgcmVhZCBieSB0aGUgRm91bmRhdGlvbiBKYXZhU2NyaXB0XG4gIC5mb3VuZGF0aW9uLW1xIHtcbiAgICBmb250LWZhbWlseTogJyN7LXpmLWJwLXNlcmlhbGl6ZSgkYnJlYWtwb2ludHMpfSc7XG4gIH1cblxuICBodG1sIHtcbiAgICBmb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cblxuICAvLyBTZXQgYm94LXNpemluZyBnbG9iYWxseSB0byBoYW5kbGUgcGFkZGluZyBhbmQgYm9yZGVyIHdpZHRoc1xuICAqLFxuICAqOjpiZWZvcmUsXG4gICo6OmFmdGVyIHtcbiAgICBib3gtc2l6aW5nOiBpbmhlcml0O1xuICB9XG5cbiAgLy8gRGVmYXVsdCBib2R5IHN0eWxlc1xuICBib2R5IHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0O1xuICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuICAgIGJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQ7XG5cbiAgICBAaWYgKCRib2R5LWFudGlhbGlhc2VkKSB7XG4gICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgfVxuICB9XG5cbiAgaW1nIHtcbiAgICAvLyBHcmlkIGRlZmF1bHRzIHRvIGdldCBpbWFnZXMgYW5kIGVtYmVkcyB0byB3b3JrIHByb3Blcmx5XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljO1xuXG4gICAgLy8gR2V0IHJpZCBvZiBnYXAgdW5kZXIgaW1hZ2VzIGJ5IG1ha2luZyB0aGVtIGRpc3BsYXk6IGlubGluZS1ibG9jazsgYnkgZGVmYXVsdFxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB9XG5cbiAgLy8gTWFrZSBzdXJlIHRleHRhcmVhIHRha2VzIG9uIGhlaWdodCBhdXRvbWF0aWNhbGx5XG4gIHRleHRhcmVhIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWluLWhlaWdodDogNTBweDtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gIC8vIE1ha2Ugc2VsZWN0IGVsZW1lbnRzIGFyZSAxMDAlIHdpZHRoIGJ5IGRlZmF1bHRcbiAgc2VsZWN0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gIC8vIFN0eWxlcyBHb29nbGUgTWFwcyBhbmQgTWFwUXVlc3QgZW1iZWRzIHByb3Blcmx5XG4gIC8vIHNjc3MtbGludDpkaXNhYmxlIElkU2VsZWN0b3JcbiAgI21hcF9jYW52YXMsXG4gIC5tYXBfY2FudmFzLFxuICAubXFhLWRpc3BsYXkge1xuICAgIGltZyxcbiAgICBlbWJlZCxcbiAgICBvYmplY3Qge1xuICAgICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgPGJ1dHRvbj4gc3R5bGVzIGNyZWF0ZWQgYnkgbW9zdCBicm93c2Vyc1xuICBidXR0b24ge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICB9XG5cbiAgLy8gSW50ZXJuYWwgY2xhc3NlcyB0byBzaG93L2hpZGUgZWxlbWVudHMgaW4gSmF2YVNjcmlwdFxuICAuaXMtdmlzaWJsZSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5pcy1oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gTG9hZHMgbm9ybWFsaXplLmNzcy5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBtaXhpbiAtemYtbm9ybWFsaXplIHtcbiAgLyohIG5vcm1hbGl6ZS5jc3MgdjMuMC4zIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuXG4gIC8qKlxuICAgKiAxLiBTZXQgZGVmYXVsdCBmb250IGZhbWlseSB0byBzYW5zLXNlcmlmLlxuICAgKiAyLiBQcmV2ZW50IGlPUyBhbmQgSUUgdGV4dCBzaXplIGFkanVzdCBhZnRlciBkZXZpY2Ugb3JpZW50YXRpb24gY2hhbmdlLFxuICAgKiAgICB3aXRob3V0IGRpc2FibGluZyB1c2VyIHpvb20uXG4gICAqL1xuXG4gIGh0bWwge1xuICAgIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmOyAvKiAxICovXG4gICAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbiAgICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbiAgfVxuXG4gIC8qKlxuICAgKiBSZW1vdmUgZGVmYXVsdCBtYXJnaW4uXG4gICAqL1xuXG4gIGJvZHkge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIC8qIEhUTUw1IGRpc3BsYXkgZGVmaW5pdGlvbnNcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAvKipcbiAgICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGFueSBIVE1MNSBlbGVtZW50IGluIElFIDgvOS5cbiAgICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBkZXRhaWxzYCBvciBgc3VtbWFyeWAgaW4gSUUgMTAvMTFcbiAgICogYW5kIEZpcmVmb3guXG4gICAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBgbWFpbmAgaW4gSUUgMTEuXG4gICAqL1xuXG4gIGFydGljbGUsXG4gIGFzaWRlLFxuICBkZXRhaWxzLFxuICBmaWdjYXB0aW9uLFxuICBmaWd1cmUsXG4gIGZvb3RlcixcbiAgaGVhZGVyLFxuICBoZ3JvdXAsXG4gIG1haW4sXG4gIG1lbnUsXG4gIG5hdixcbiAgc2VjdGlvbixcbiAgc3VtbWFyeSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAvKipcbiAgICogMS4gQ29ycmVjdCBgaW5saW5lLWJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGluIElFIDgvOS5cbiAgICogMi4gTm9ybWFsaXplIHZlcnRpY2FsIGFsaWdubWVudCBvZiBgcHJvZ3Jlc3NgIGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICAgKi9cblxuICBhdWRpbyxcbiAgY2FudmFzLFxuICBwcm9ncmVzcyxcbiAgdmlkZW8ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLyogMSAqL1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgLyogMiAqL1xuICB9XG5cbiAgLyoqXG4gICAqIFByZXZlbnQgbW9kZXJuIGJyb3dzZXJzIGZyb20gZGlzcGxheWluZyBgYXVkaW9gIHdpdGhvdXQgY29udHJvbHMuXG4gICAqIFJlbW92ZSBleGNlc3MgaGVpZ2h0IGluIGlPUyA1IGRldmljZXMuXG4gICAqL1xuXG4gIGF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBoZWlnaHQ6IDA7XG4gIH1cblxuICAvKipcbiAgICogQWRkcmVzcyBgW2hpZGRlbl1gIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LzEwLlxuICAgKiBIaWRlIHRoZSBgdGVtcGxhdGVgIGVsZW1lbnQgaW4gSUUgOC85LzEwLzExLCBTYWZhcmksIGFuZCBGaXJlZm94IDwgMjIuXG4gICAqL1xuXG4gIFtoaWRkZW5dLFxuICB0ZW1wbGF0ZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8qIExpbmtzXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgLyoqXG4gICAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIGNvbG9yIGZyb20gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICAgKi9cblxuICBhIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbXByb3ZlIHJlYWRhYmlsaXR5IG9mIGZvY3VzZWQgZWxlbWVudHMgd2hlbiB0aGV5IGFyZSBhbHNvIGluIGFuXG4gICAqIGFjdGl2ZS9ob3ZlciBzdGF0ZS5cbiAgICovXG5cbiAgYTphY3RpdmUsXG4gIGE6aG92ZXIge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cblxuICAvKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gIC8qKlxuICAgKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LzEwLzExLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gICAqL1xuXG4gIGFiYnJbdGl0bGVdIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHJlc3Mgc3R5bGUgc2V0IHRvIGBib2xkZXJgIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAgICovXG5cbiAgYixcbiAgc3Ryb25nIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4gICAqL1xuXG4gIGRmbiB7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHJlc3MgdmFyaWFibGUgYGgxYCBmb250LXNpemUgYW5kIG1hcmdpbiB3aXRoaW4gYHNlY3Rpb25gIGFuZCBgYXJ0aWNsZWBcbiAgICogY29udGV4dHMgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICAgKi9cblxuICBoMSB7XG4gICAgZm9udC1zaXplOiAyZW07XG4gICAgbWFyZ2luOiAwLjY3ZW0gMDtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LlxuICAgKi9cblxuICBtYXJrIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmYwO1xuICAgIGNvbG9yOiAjMDAwO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGFuZCB2YXJpYWJsZSBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgKi9cblxuICBzbWFsbCB7XG4gICAgZm9udC1zaXplOiA4MCU7XG4gIH1cblxuICAvKipcbiAgICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgYWZmZWN0aW5nIGBsaW5lLWhlaWdodGAgaW4gYWxsIGJyb3dzZXJzLlxuICAgKi9cblxuICBzdWIsXG4gIHN1cCB7XG4gICAgZm9udC1zaXplOiA3NSU7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgfVxuXG4gIHN1cCB7XG4gICAgdG9wOiAtMC41ZW07XG4gIH1cblxuICBzdWIge1xuICAgIGJvdHRvbTogLTAuMjVlbTtcbiAgfVxuXG4gIC8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAvKipcbiAgICogUmVtb3ZlIGJvcmRlciB3aGVuIGluc2lkZSBgYWAgZWxlbWVudCBpbiBJRSA4LzkvMTAuXG4gICAqL1xuXG4gIGltZyB7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgLyoqXG4gICAqIENvcnJlY3Qgb3ZlcmZsb3cgbm90IGhpZGRlbiBpbiBJRSA5LzEwLzExLlxuICAgKi9cblxuICBzdmc6bm90KDpyb290KSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gIC8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAvKipcbiAgICogQWRkcmVzcyBtYXJnaW4gbm90IHByZXNlbnQgaW4gSUUgOC85IGFuZCBTYWZhcmkuXG4gICAqL1xuXG4gIGZpZ3VyZSB7XG4gICAgbWFyZ2luOiAxZW0gNDBweDtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRyZXNzIGRpZmZlcmVuY2VzIGJldHdlZW4gRmlyZWZveCBhbmQgb3RoZXIgYnJvd3NlcnMuXG4gICAqL1xuXG4gIGhyIHtcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICBoZWlnaHQ6IDA7XG4gIH1cblxuICAvKipcbiAgICogQ29udGFpbiBvdmVyZmxvdyBpbiBhbGwgYnJvd3NlcnMuXG4gICAqL1xuXG4gIHByZSB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gIH1cblxuICAvKipcbiAgICogQWRkcmVzcyBvZGQgYGVtYC11bml0IGZvbnQgc2l6ZSByZW5kZXJpbmcgaW4gYWxsIGJyb3dzZXJzLlxuICAgKi9cblxuICBjb2RlLFxuICBrYmQsXG4gIHByZSxcbiAgc2FtcCB7XG4gICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICAgIGZvbnQtc2l6ZTogMWVtO1xuICB9XG5cbiAgLyogRm9ybXNcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAvKipcbiAgICogS25vd24gbGltaXRhdGlvbjogYnkgZGVmYXVsdCwgQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWCBhbGxvdyB2ZXJ5IGxpbWl0ZWRcbiAgICogc3R5bGluZyBvZiBgc2VsZWN0YCwgdW5sZXNzIGEgYGJvcmRlcmAgcHJvcGVydHkgaXMgc2V0LlxuICAgKi9cblxuICAvKipcbiAgICogMS4gQ29ycmVjdCBjb2xvciBub3QgYmVpbmcgaW5oZXJpdGVkLlxuICAgKiAgICBLbm93biBpc3N1ZTogYWZmZWN0cyBjb2xvciBvZiBkaXNhYmxlZCBlbGVtZW50cy5cbiAgICogMi4gQ29ycmVjdCBmb250IHByb3BlcnRpZXMgbm90IGJlaW5nIGluaGVyaXRlZC5cbiAgICogMy4gQWRkcmVzcyBtYXJnaW5zIHNldCBkaWZmZXJlbnRseSBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gICAqL1xuXG4gIGJ1dHRvbixcbiAgaW5wdXQsXG4gIG9wdGdyb3VwLFxuICBzZWxlY3QsXG4gIHRleHRhcmVhIHtcbiAgICBjb2xvcjogaW5oZXJpdDsgLyogMSAqL1xuICAgIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbiAgICBtYXJnaW46IDA7IC8qIDMgKi9cbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRyZXNzIGBvdmVyZmxvd2Agc2V0IHRvIGBoaWRkZW5gIGluIElFIDgvOS8xMC8xMS5cbiAgICovXG5cbiAgYnV0dG9uIHtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRyZXNzIGluY29uc2lzdGVudCBgdGV4dC10cmFuc2Zvcm1gIGluaGVyaXRhbmNlIGZvciBgYnV0dG9uYCBhbmQgYHNlbGVjdGAuXG4gICAqIEFsbCBvdGhlciBmb3JtIGNvbnRyb2wgZWxlbWVudHMgZG8gbm90IGluaGVyaXQgYHRleHQtdHJhbnNmb3JtYCB2YWx1ZXMuXG4gICAqIENvcnJlY3QgYGJ1dHRvbmAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveCwgSUUgOC85LzEwLzExLCBhbmQgT3BlcmEuXG4gICAqIENvcnJlY3QgYHNlbGVjdGAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveC5cbiAgICovXG5cbiAgYnV0dG9uLFxuICBzZWxlY3Qge1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICB9XG5cbiAgLyoqXG4gICAqIDEuIEF2b2lkIHRoZSBXZWJLaXQgYnVnIGluIEFuZHJvaWQgNC4wLiogd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gXG4gICAqICAgIGFuZCBgdmlkZW9gIGNvbnRyb2xzLlxuICAgKiAyLiBDb3JyZWN0IGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgYGlucHV0YCB0eXBlcyBpbiBpT1MuXG4gICAqIDMuIEltcHJvdmUgdXNhYmlsaXR5IGFuZCBjb25zaXN0ZW5jeSBvZiBjdXJzb3Igc3R5bGUgYmV0d2VlbiBpbWFnZS10eXBlXG4gICAqICAgIGBpbnB1dGAgYW5kIG90aGVycy5cbiAgICovXG5cbiAgYnV0dG9uLFxuICBodG1sIGlucHV0W3R5cGU9XCJidXR0b25cIl0sIC8qIDEgKi9cbiAgaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxuICBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMiAqL1xuICAgIGN1cnNvcjogcG9pbnRlcjsgLyogMyAqL1xuICB9XG5cbiAgLyoqXG4gICAqIFJlLXNldCBkZWZhdWx0IGN1cnNvciBmb3IgZGlzYWJsZWQgZWxlbWVudHMuXG4gICAqL1xuXG4gIGJ1dHRvbltkaXNhYmxlZF0sXG4gIGh0bWwgaW5wdXRbZGlzYWJsZWRdIHtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBib3JkZXIgaW4gRmlyZWZveCA0Ky5cbiAgICovXG5cbiAgYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuICBpbnB1dDo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgYm9yZGVyOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAvKipcbiAgICogQWRkcmVzcyBGaXJlZm94IDQrIHNldHRpbmcgYGxpbmUtaGVpZ2h0YCBvbiBgaW5wdXRgIHVzaW5nIGAhaW1wb3J0YW50YCBpblxuICAgKiB0aGUgVUEgc3R5bGVzaGVldC5cbiAgICovXG5cbiAgaW5wdXQge1xuICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gIH1cblxuICAvKipcbiAgICogSXQncyByZWNvbW1lbmRlZCB0aGF0IHlvdSBkb24ndCBhdHRlbXB0IHRvIHN0eWxlIHRoZXNlIGVsZW1lbnRzLlxuICAgKiBGaXJlZm94J3MgaW1wbGVtZW50YXRpb24gZG9lc24ndCByZXNwZWN0IGJveC1zaXppbmcsIHBhZGRpbmcsIG9yIHdpZHRoLlxuICAgKlxuICAgKiAxLiBBZGRyZXNzIGJveCBzaXppbmcgc2V0IHRvIGBjb250ZW50LWJveGAgaW4gSUUgOC85LzEwLlxuICAgKiAyLiBSZW1vdmUgZXhjZXNzIHBhZGRpbmcgaW4gSUUgOC85LzEwLlxuICAgKi9cblxuICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG4gIGlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICAgIHBhZGRpbmc6IDA7IC8qIDIgKi9cbiAgfVxuXG4gIC8qKlxuICAgKiBGaXggdGhlIGN1cnNvciBzdHlsZSBmb3IgQ2hyb21lJ3MgaW5jcmVtZW50L2RlY3JlbWVudCBidXR0b25zLiBGb3IgY2VydGFpblxuICAgKiBgZm9udC1zaXplYCB2YWx1ZXMgb2YgdGhlIGBpbnB1dGAsIGl0IGNhdXNlcyB0aGUgY3Vyc29yIHN0eWxlIG9mIHRoZVxuICAgKiBkZWNyZW1lbnQgYnV0dG9uIHRvIGNoYW5nZSBmcm9tIGBkZWZhdWx0YCB0byBgdGV4dGAuXG4gICAqL1xuXG4gIGlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG4gIGlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuXG4gIC8qKlxuICAgKiAxLiBBZGRyZXNzIGBhcHBlYXJhbmNlYCBzZXQgdG8gYHNlYXJjaGZpZWxkYCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbiAgICogMi4gQWRkcmVzcyBgYm94LXNpemluZ2Agc2V0IHRvIGBib3JkZXItYm94YCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbiAgICovXG5cbiAgaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMiAqL1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBzZWFyY2ggY2FuY2VsIGJ1dHRvbiBpbiBTYWZhcmkgYW5kIENocm9tZSBvbiBPUyBYLlxuICAgKiBTYWZhcmkgKGJ1dCBub3QgQ2hyb21lKSBjbGlwcyB0aGUgY2FuY2VsIGJ1dHRvbiB3aGVuIHRoZSBzZWFyY2ggaW5wdXQgaGFzXG4gICAqIHBhZGRpbmcgKGFuZCBgdGV4dGZpZWxkYCBhcHBlYXJhbmNlKS5cbiAgICovXG5cbiAgaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbiAgaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB9XG5cbiAgLyoqXG4gICAqIERlZmluZSBjb25zaXN0ZW50IGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZy5cbiAgICogW05PVEVdIFdlIGRvbid0IGVuYWJsZSB0aGlzIHJ1bGVzZXQgaW4gRm91bmRhdGlvbiwgYmVjYXVzZSB3ZSB3YW50IHRoZSA8ZmllbGRzZXQ+IGVsZW1lbnQgdG8gaGF2ZSBwbGFpbiBzdHlsaW5nLlxuICAgKi9cblxuICAvKiBmaWVsZHNldCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcbiAgICBtYXJnaW46IDAgMnB4O1xuICAgIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTtcbiAgfSAqL1xuXG4gIC8qKlxuICAgKiAxLiBDb3JyZWN0IGBjb2xvcmAgbm90IGJlaW5nIGluaGVyaXRlZCBpbiBJRSA4LzkvMTAvMTEuXG4gICAqIDIuIFJlbW92ZSBwYWRkaW5nIHNvIHBlb3BsZSBhcmVuJ3QgY2F1Z2h0IG91dCBpZiB0aGV5IHplcm8gb3V0IGZpZWxkc2V0cy5cbiAgICovXG5cbiAgbGVnZW5kIHtcbiAgICBib3JkZXI6IDA7IC8qIDEgKi9cbiAgICBwYWRkaW5nOiAwOyAvKiAyICovXG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDgvOS8xMC8xMS5cbiAgICovXG5cbiAgdGV4dGFyZWEge1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICB9XG5cbiAgLyoqXG4gICAqIERvbid0IGluaGVyaXQgdGhlIGBmb250LXdlaWdodGAgKGFwcGxpZWQgYnkgYSBydWxlIGFib3ZlKS5cbiAgICogTk9URTogdGhlIGRlZmF1bHQgY2Fubm90IHNhZmVseSBiZSBjaGFuZ2VkIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFguXG4gICAqL1xuXG4gIG9wdGdyb3VwIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgfVxuXG4gIC8qIFRhYmxlc1xuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gIC8qKlxuICAgKiBSZW1vdmUgbW9zdCBzcGFjaW5nIGJldHdlZW4gdGFibGUgY2VsbHMuXG4gICAqL1xuXG4gIHRhYmxlIHtcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICAgIGJvcmRlci1zcGFjaW5nOiAwO1xuICB9XG5cbiAgdGQsXG4gIHRoIHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG59XG4iLG51bGwsIi8vICBGb3VuZGF0aW9uIGZvciBTaXRlcyBTZXR0aW5nc1xuLy8gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vL1xuLy8gIFRhYmxlIG9mIENvbnRlbnRzOlxuLy9cbi8vICAgMS4gR2xvYmFsXG4vLyAgIDIuIEJyZWFrcG9pbnRzXG4vLyAgIDMuIFRoZSBHcmlkXG4vLyAgIDQuIEJhc2UgVHlwb2dyYXBoeVxuLy8gICA1LiBUeXBvZ3JhcGh5IEhlbHBlcnNcbi8vICAgNi4gQWJpZGVcbi8vICAgNy4gQWNjb3JkaW9uXG4vLyAgIDguIEFjY29yZGlvbiBNZW51XG4vLyAgIDkuIEJhZGdlXG4vLyAgMTAuIEJyZWFkY3J1bWJzXG4vLyAgMTEuIEJ1dHRvblxuLy8gIDEyLiBCdXR0b24gR3JvdXBcbi8vICAxMy4gQ2FsbG91dFxuLy8gIDE0LiBDbG9zZSBCdXR0b25cbi8vICAxNS4gRHJpbGxkb3duXG4vLyAgMTYuIERyb3Bkb3duXG4vLyAgMTcuIERyb3Bkb3duIE1lbnVcbi8vICAxOC4gRmxleCBWaWRlb1xuLy8gIDE5LiBGb3Jtc1xuLy8gIDIwLiBMYWJlbFxuLy8gIDIxLiBNZWRpYSBPYmplY3Rcbi8vICAyMi4gTWVudVxuLy8gIDIzLiBPZmYtY2FudmFzXG4vLyAgMjQuIE9yYml0XG4vLyAgMjUuIFBhZ2luYXRpb25cbi8vICAyNi4gUHJvZ3Jlc3MgQmFyXG4vLyAgMjcuIFJldmVhbFxuLy8gIDI4LiBTbGlkZXJcbi8vICAyOS4gU3dpdGNoXG4vLyAgMzAuIFRhYmxlXG4vLyAgMzEuIFRhYnNcbi8vICAzMi4gVGh1bWJuYWlsXG4vLyAgMzMuIFRpdGxlIEJhclxuLy8gIDM0LiBUb29sdGlwXG4vLyAgMzUuIFRvcCBCYXJcblxuQGltcG9ydCAndXRpbC91dGlsJztcblxuLy8gMS4gR2xvYmFsXG4vLyAtLS0tLS0tLS1cblxuJGdsb2JhbC1mb250LXNpemU6IDEwMCU7XG4kZ2xvYmFsLXdpZHRoOiByZW0tY2FsYygxMjAwKTtcbiRnbG9iYWwtbGluZWhlaWdodDogMS41O1xuJHByaW1hcnktY29sb3I6ICRicmFuZC1mb3VuZGF0aW9uLXByaW1hcnktY29sb3I7XG4kc2Vjb25kYXJ5LWNvbG9yOiAjNzc3O1xuJHN1Y2Nlc3MtY29sb3I6ICMzYWRiNzY7XG4kd2FybmluZy1jb2xvcjogI2ZmYWUwMDtcbiRhbGVydC1jb2xvcjogI2VjNTg0MDtcbiRsaWdodC1ncmF5OiAjZTZlNmU2O1xuJG1lZGl1bS1ncmF5OiAjY2FjYWNhO1xuJGRhcmstZ3JheTogIzhhOGE4YTtcbiRibGFjazogIzBhMGEwYTtcbiR3aGl0ZTogI2ZlZmVmZTtcbiRib2R5LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRib2R5LWZvbnQtY29sb3I6ICRibGFjaztcbiRib2R5LWZvbnQtZmFtaWx5OiAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG4kYm9keS1hbnRpYWxpYXNlZDogdHJ1ZTtcbiRnbG9iYWwtbWFyZ2luOiAxcmVtO1xuJGdsb2JhbC1wYWRkaW5nOiAxcmVtO1xuJGdsb2JhbC13ZWlnaHQtbm9ybWFsOiBub3JtYWw7XG4kZ2xvYmFsLXdlaWdodC1ib2xkOiBib2xkO1xuJGdsb2JhbC1yYWRpdXM6IDA7XG4kZ2xvYmFsLXRleHQtZGlyZWN0aW9uOiBsdHI7XG5cbi8vIDIuIEJyZWFrcG9pbnRzXG4vLyAtLS0tLS0tLS0tLS0tLVxuXG4kYnJlYWtwb2ludHM6IChcbiAgc21hbGw6IDAsXG4gIG1lZGl1bTogNjQwcHgsXG4gIGxhcmdlOiAxMDI0cHgsXG4gIHhsYXJnZTogMTIwMHB4LFxuICB4eGxhcmdlOiAxNDQwcHgsXG4pO1xuJGJyZWFrcG9pbnQtY2xhc3NlczogKHNtYWxsIG1lZGl1bSBsYXJnZSk7XG5cbi8vIDMuIFRoZSBHcmlkXG4vLyAtLS0tLS0tLS0tLVxuXG4kZ3JpZC1yb3ctd2lkdGg6ICRnbG9iYWwtd2lkdGg7XG4kZ3JpZC1jb2x1bW4tY291bnQ6IDEyO1xuJGdyaWQtY29sdW1uLWd1dHRlcjogKFxuICBzbWFsbDogMjBweCxcbiAgbWVkaXVtOiAzMHB4LFxuKTtcbiRncmlkLWNvbHVtbi1hbGlnbi1lZGdlOiB0cnVlO1xuJGJsb2NrLWdyaWQtbWF4OiA4O1xuXG4vLyA0LiBCYXNlIFR5cG9ncmFwaHlcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kaGVhZGVyLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcbiRoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRoZWFkZXItZm9udC1zdHlsZTogbm9ybWFsO1xuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogQ29uc29sYXMsICdMaWJlcmF0aW9uIE1vbm8nLCBDb3VyaWVyLCBtb25vc3BhY2U7XG4kaGVhZGVyLXNpemVzOiAoXG4gIHNtYWxsOiAoXG4gICAgJ2gxJzogMjQsXG4gICAgJ2gyJzogMjAsXG4gICAgJ2gzJzogMTksXG4gICAgJ2g0JzogMTgsXG4gICAgJ2g1JzogMTcsXG4gICAgJ2g2JzogMTYsXG4gICksXG4gIG1lZGl1bTogKFxuICAgICdoMSc6IDQ4LFxuICAgICdoMic6IDQwLFxuICAgICdoMyc6IDMxLFxuICAgICdoNCc6IDI1LFxuICAgICdoNSc6IDIwLFxuICAgICdoNic6IDE2LFxuICApLFxuKTtcbiRoZWFkZXItY29sb3I6IGluaGVyaXQ7XG4kaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNDtcbiRoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuJGhlYWRlci10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuJHNtYWxsLWZvbnQtc2l6ZTogODAlO1xuJGhlYWRlci1zbWFsbC1mb250LWNvbG9yOiAkbWVkaXVtLWdyYXk7XG4kcGFyYWdyYXBoLWxpbmVoZWlnaHQ6IDEuNjtcbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogMXJlbTtcbiRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiRjb2RlLWNvbG9yOiAkYmxhY2s7XG4kY29kZS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcbiRjb2RlLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kY29kZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRjb2RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRjb2RlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNSAxKTtcbiRhbmNob3ItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGFuY2hvci1jb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGFuY2hvci1jb2xvciwgJGxpZ2h0bmVzczogLTE0JSk7XG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyOiBub25lO1xuJGhyLXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuJGhyLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRoci1tYXJnaW46IHJlbS1jYWxjKDIwKSBhdXRvO1xuJGxpc3QtbGluZWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xuJGxpc3QtbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuJGxpc3Qtc3R5bGUtdHlwZTogZGlzYztcbiRsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlO1xuJGxpc3Qtc2lkZS1tYXJnaW46IDEuMjVyZW07XG4kbGlzdC1uZXN0ZWQtc2lkZS1tYXJnaW46IDEuMjVyZW07XG4kZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTogMXJlbTtcbiRkZWZubGlzdC10ZXJtLXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b206IDAuM3JlbTtcbiRibG9ja3F1b3RlLWNvbG9yOiAkZGFyay1ncmF5O1xuJGJsb2NrcXVvdGUtcGFkZGluZzogcmVtLWNhbGMoOSAyMCAwIDE5KTtcbiRibG9ja3F1b3RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRjaXRlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuJGNpdGUtY29sb3I6ICRkYXJrLWdyYXk7XG4ka2V5c3Ryb2tlLWZvbnQ6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XG4ka2V5c3Ryb2tlLWNvbG9yOiAkYmxhY2s7XG4ka2V5c3Ryb2tlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGtleXN0cm9rZS1wYWRkaW5nOiByZW0tY2FsYygyIDQgMCk7XG4ka2V5c3Ryb2tlLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kYWJici11bmRlcmxpbmU6IDFweCBkb3R0ZWQgJGJsYWNrO1xuXG4vLyA1LiBUeXBvZ3JhcGh5IEhlbHBlcnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kbGVhZC1mb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplICogMS4yNTtcbiRsZWFkLWxpbmVoZWlnaHQ6IDEuNjtcbiRzdWJoZWFkZXItbGluZWhlaWdodDogMS40O1xuJHN1YmhlYWRlci1jb2xvcjogJGRhcmstZ3JheTtcbiRzdWJoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRzdWJoZWFkZXItbWFyZ2luLXRvcDogMC4ycmVtO1xuJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW07XG4kc3RhdC1mb250LXNpemU6IDIuNXJlbTtcblxuLy8gNi4gQWJpZGVcbi8vIC0tLS0tLS0tXG5cbiRhYmlkZS1pbnB1dHM6IHRydWU7XG4kYWJpZGUtbGFiZWxzOiB0cnVlO1xuJGlucHV0LWJhY2tncm91bmQtaW52YWxpZDogJGFsZXJ0LWNvbG9yO1xuJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDogJGFsZXJ0LWNvbG9yO1xuJGlucHV0LWVycm9yLWNvbG9yOiAkYWxlcnQtY29sb3I7XG4kaW5wdXQtZXJyb3ItZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4kaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG5cbi8vIDcuIEFjY29yZGlvblxuLy8gLS0tLS0tLS0tLS0tXG5cbiRhY2NvcmRpb24tYmFja2dyb3VuZDogJHdoaXRlO1xuJGFjY29yZGlvbi1wbHVzbWludXM6IHRydWU7XG4kYWNjb3JkaW9uLWl0ZW0tY29sb3I6IGZvcmVncm91bmQoJGFjY29yZGlvbi1iYWNrZ3JvdW5kLCAkcHJpbWFyeS1jb2xvcik7XG4kYWNjb3JkaW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXk7XG4kYWNjb3JkaW9uLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxcmVtO1xuJGFjY29yZGlvbi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRhY2NvcmRpb24tY29udGVudC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiRhY2NvcmRpb24tY29udGVudC1jb2xvcjogZm9yZWdyb3VuZCgkYWNjb3JkaW9uLWJhY2tncm91bmQsICRwcmltYXJ5LWNvbG9yKTtcbiRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nOiAxcmVtO1xuXG4vLyA4LiBBY2NvcmRpb24gTWVudVxuLy8gLS0tLS0tLS0tLS0tLS0tLS1cblxuJGFjY29yZGlvbm1lbnUtYXJyb3dzOiB0cnVlO1xuJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuXG4vLyA5LiBCYWRnZVxuLy8gLS0tLS0tLS1cblxuJGJhZGdlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJGJhZGdlLWNvbG9yOiBmb3JlZ3JvdW5kKCRiYWRnZS1iYWNrZ3JvdW5kKTtcbiRiYWRnZS1wYWRkaW5nOiAwLjNlbTtcbiRiYWRnZS1taW53aWR0aDogMi4xZW07XG4kYmFkZ2UtZm9udC1zaXplOiAwLjZyZW07XG5cbi8vIDEwLiBCcmVhZGNydW1ic1xuLy8gLS0tLS0tLS0tLS0tLS0tXG5cbiRicmVhZGNydW1icy1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwO1xuJGJyZWFkY3J1bWJzLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMSk7XG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1jdXJyZW50OiAkYmxhY2s7XG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5O1xuJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luOiAwLjc1cmVtO1xuJGJyZWFkY3J1bWJzLWl0ZW0tdXBwZXJjYXNlOiB0cnVlO1xuJGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2g6IHRydWU7XG5cbi8vIDExLiBCdXR0b25cbi8vIC0tLS0tLS0tLS1cblxuJGJ1dHRvbi1wYWRkaW5nOiAwLjg1ZW0gMWVtO1xuJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwO1xuJGJ1dHRvbi1maWxsOiBzb2xpZDtcbiRidXR0b24tYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRidXR0b24tYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogLTE1JSk7XG4kYnV0dG9uLWNvbG9yOiAjZmZmO1xuJGJ1dHRvbi1jb2xvci1hbHQ6ICMwMDA7XG4kYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kYnV0dG9uLXNpemVzOiAoXG4gIHRpbnk6IDAuNnJlbSxcbiAgc21hbGw6IDAuNzVyZW0sXG4gIGRlZmF1bHQ6IDAuOXJlbSxcbiAgbGFyZ2U6IDEuMjVyZW0sXG4pO1xuJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkOiAwLjI1O1xuXG4vLyAxMi4gQnV0dG9uIEdyb3VwXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRidXR0b25ncm91cC1tYXJnaW46IDFyZW07XG4kYnV0dG9uZ3JvdXAtc3BhY2luZzogMXB4O1xuJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yOiAnLmJ1dHRvbic7XG4kYnV0dG9uZ3JvdXAtZXhwYW5kLW1heDogNjtcblxuLy8gMTMuIENhbGxvdXRcbi8vIC0tLS0tLS0tLS0tXG5cbiRjYWxsb3V0LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRjYWxsb3V0LWJhY2tncm91bmQtZmFkZTogODUlO1xuJGNhbGxvdXQtYm9yZGVyOiAxcHggc29saWQgcmdiYSgkYmxhY2ssIDAuMjUpO1xuJGNhbGxvdXQtbWFyZ2luOiAwIDAgMXJlbSAwO1xuJGNhbGxvdXQtcGFkZGluZzogMXJlbTtcbiRjYWxsb3V0LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kY2FsbG91dC1mb250LWNvbG9yLWFsdDogJGJvZHktYmFja2dyb3VuZDtcbiRjYWxsb3V0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kY2FsbG91dC1saW5rLXRpbnQ6IDMwJTtcblxuLy8gMTQuIENsb3NlIEJ1dHRvblxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kY2xvc2VidXR0b24tcG9zaXRpb246IHJpZ2h0IHRvcDtcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtaG9yaXpvbnRhbDogMXJlbTtcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWw6IDAuNXJlbTtcbiRjbG9zZWJ1dHRvbi1zaXplOiAyZW07XG4kY2xvc2VidXR0b24tbGluZWhlaWdodDogMTtcbiRjbG9zZWJ1dHRvbi1jb2xvcjogJGRhcmstZ3JheTtcbiRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjogJGJsYWNrO1xuXG4vLyAxNS4gRHJpbGxkb3duXG4vLyAtLS0tLS0tLS0tLS0tXG5cbiRkcmlsbGRvd24tdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhcjtcbiRkcmlsbGRvd24tYXJyb3dzOiB0cnVlO1xuJGRyaWxsZG93bi1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kZHJpbGxkb3duLWJhY2tncm91bmQ6ICR3aGl0ZTtcblxuLy8gMTYuIERyb3Bkb3duXG4vLyAtLS0tLS0tLS0tLS1cblxuJGRyb3Bkb3duLXBhZGRpbmc6IDFyZW07XG4kZHJvcGRvd24tYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGRyb3Bkb3duLWZvbnQtc2l6ZTogMXJlbTtcbiRkcm9wZG93bi13aWR0aDogMzAwcHg7XG4kZHJvcGRvd24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRkcm9wZG93bi1zaXplczogKFxuICB0aW55OiAxMDBweCxcbiAgc21hbGw6IDIwMHB4LFxuICBsYXJnZTogNDAwcHgsXG4pO1xuXG4vLyAxNy4gRHJvcGRvd24gTWVudVxuLy8gLS0tLS0tLS0tLS0tLS0tLS1cblxuJGRyb3Bkb3dubWVudS1hcnJvd3M6IHRydWU7XG4kZHJvcGRvd25tZW51LWFycm93LWNvbG9yOiAkYW5jaG9yLWNvbG9yO1xuJGRyb3Bkb3dubWVudS1taW4td2lkdGg6IDIwMHB4O1xuJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kZHJvcGRvd25tZW51LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcblxuLy8gMTguIEZsZXggVmlkZW9cbi8vIC0tLS0tLS0tLS0tLS0tXG5cbiRmbGV4dmlkZW8tbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTYpO1xuJGZsZXh2aWRlby1yYXRpbzogNCBieSAzO1xuJGZsZXh2aWRlby1yYXRpby13aWRlc2NyZWVuOiAxNiBieSA5O1xuXG4vLyAxOS4gRm9ybXNcbi8vIC0tLS0tLS0tLVxuXG4kZmllbGRzZXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGZpZWxkc2V0LXBhZGRpbmc6IHJlbS1jYWxjKDIwKTtcbiRmaWVsZHNldC1tYXJnaW46IHJlbS1jYWxjKDE4IDApO1xuJGxlZ2VuZC1wYWRkaW5nOiByZW0tY2FsYygwIDMpO1xuJGZvcm0tc3BhY2luZzogcmVtLWNhbGMoMTYpO1xuJGhlbHB0ZXh0LWNvbG9yOiAjMzMzO1xuJGhlbHB0ZXh0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuJGhlbHB0ZXh0LWZvbnQtc3R5bGU6IGl0YWxpYztcbiRpbnB1dC1wcmVmaXgtY29sb3I6ICRibGFjaztcbiRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kaW5wdXQtcHJlZml4LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRpbnB1dC1wcmVmaXgtcGFkZGluZzogMXJlbTtcbiRmb3JtLWxhYmVsLWNvbG9yOiAkYmxhY2s7XG4kZm9ybS1sYWJlbC1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kZm9ybS1sYWJlbC1saW5lLWhlaWdodDogMS44O1xuJHNlbGVjdC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kc2VsZWN0LXRyaWFuZ2xlLWNvbG9yOiAjMzMzO1xuJHNlbGVjdC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGlucHV0LWNvbG9yOiAkYmxhY2s7XG4kaW5wdXQtZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4kaW5wdXQtZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4kaW5wdXQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGlucHV0LWJhY2tncm91bmQtZm9jdXM6ICR3aGl0ZTtcbiRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkOiAkbGlnaHQtZ3JheTtcbiRpbnB1dC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kaW5wdXQtYm9yZGVyLWZvY3VzOiAxcHggc29saWQgJGRhcmstZ3JheTtcbiRpbnB1dC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKCRibGFjaywgMC4xKTtcbiRpbnB1dC1zaGFkb3ctZm9jdXM6IDAgMCA1cHggJG1lZGl1bS1ncmF5O1xuJGlucHV0LWN1cnNvci1kaXNhYmxlZDogZGVmYXVsdDtcbiRpbnB1dC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDtcbiRpbnB1dC1udW1iZXItc3Bpbm5lcnM6IHRydWU7XG4kaW5wdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gMjAuIExhYmVsXG4vLyAtLS0tLS0tLS1cblxuJGxhYmVsLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJGxhYmVsLWNvbG9yOiBmb3JlZ3JvdW5kKCRsYWJlbC1iYWNrZ3JvdW5kKTtcbiRsYWJlbC1mb250LXNpemU6IDAuOHJlbTtcbiRsYWJlbC1wYWRkaW5nOiAwLjMzMzMzcmVtIDAuNXJlbTtcbiRsYWJlbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAyMS4gTWVkaWEgT2JqZWN0XG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRtZWRpYW9iamVjdC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZztcbiRtZWRpYW9iamVjdC1pbWFnZS13aWR0aC1zdGFja2VkOiAxMDAlO1xuXG4vLyAyMi4gTWVudVxuLy8gLS0tLS0tLS1cblxuJG1lbnUtbWFyZ2luOiAwO1xuJG1lbnUtbWFyZ2luLW5lc3RlZDogMXJlbTtcbiRtZW51LWl0ZW0tcGFkZGluZzogMC43cmVtIDFyZW07XG4kbWVudS1pY29uLXNwYWNpbmc6IDAuMjVyZW07XG4kbWVudS1leHBhbmQtbWF4OiA2O1xuXG4vLyAyMy4gT2ZmLWNhbnZhc1xuLy8gLS0tLS0tLS0tLS0tLS1cblxuJG9mZmNhbnZhcy1zaXplOiAyNTBweDtcbiRvZmZjYW52YXMtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kb2ZmY2FudmFzLXppbmRleDogLTE7XG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoOiAwLjVzO1xuJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZzogZWFzZTtcbiRvZmZjYW52YXMtZml4ZWQtcmV2ZWFsOiB0cnVlO1xuJG9mZmNhbnZhcy1leGl0LWJhY2tncm91bmQ6IHJnYmEoJHdoaXRlLCAwLjI1KTtcbiRtYWluY29udGVudC1jbGFzczogJ29mZi1jYW52YXMtY29udGVudCc7XG4kbWFpbmNvbnRlbnQtc2hhZG93OiAwIDAgMTBweCByZ2JhKCRibGFjaywgMC41KTtcblxuLy8gMjQuIE9yYml0XG4vLyAtLS0tLS0tLS1cblxuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQtYWN0aXZlOiAkZGFyay1ncmF5O1xuJG9yYml0LWJ1bGxldC1kaWFtZXRlcjogMS4ycmVtO1xuJG9yYml0LWJ1bGxldC1tYXJnaW46IDAuMXJlbTtcbiRvcmJpdC1idWxsZXQtbWFyZ2luLXRvcDogMC44cmVtO1xuJG9yYml0LWJ1bGxldC1tYXJnaW4tYm90dG9tOiAwLjhyZW07XG4kb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC41KTtcbiRvcmJpdC1jYXB0aW9uLXBhZGRpbmc6IDFyZW07XG4kb3JiaXQtY29udHJvbC1iYWNrZ3JvdW5kLWhvdmVyOiByZ2JhKCRibGFjaywgMC41KTtcbiRvcmJpdC1jb250cm9sLXBhZGRpbmc6IDFyZW07XG4kb3JiaXQtY29udHJvbC16aW5kZXg6IDEwO1xuXG4vLyAyNS4gUGFnaW5hdGlvblxuLy8gLS0tLS0tLS0tLS0tLS1cblxuJHBhZ2luYXRpb24tZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4kcGFnaW5hdGlvbi1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3I6ICRibGFjaztcbiRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZzogcmVtLWNhbGMoMyAxMCk7XG4kcGFnaW5hdGlvbi1pdGVtLXNwYWNpbmc6IHJlbS1jYWxjKDEpO1xuJHBhZ2luYXRpb24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXk7XG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtY3VycmVudDogJHByaW1hcnktY29sb3I7XG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWN1cnJlbnQ6IGZvcmVncm91bmQoJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQpO1xuJHBhZ2luYXRpb24taXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5O1xuJHBhZ2luYXRpb24tZWxsaXBzaXMtY29sb3I6ICRibGFjaztcbiRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtczogZmFsc2U7XG4kcGFnaW5hdGlvbi1hcnJvd3M6IHRydWU7XG5cbi8vIDI2LiBQcm9ncmVzcyBCYXJcbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJHByb2dyZXNzLWhlaWdodDogMXJlbTtcbiRwcm9ncmVzcy1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kcHJvZ3Jlc3MtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4kcHJvZ3Jlc3MtbWV0ZXItYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kcHJvZ3Jlc3MtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gMjcuIFJldmVhbFxuLy8gLS0tLS0tLS0tLVxuXG4kcmV2ZWFsLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRyZXZlYWwtd2lkdGg6IDYwMHB4O1xuJHJldmVhbC1tYXgtd2lkdGg6ICRnbG9iYWwtd2lkdGg7XG4kcmV2ZWFsLW9mZnNldDogcmVtLWNhbGMoMTAwKTtcbiRyZXZlYWwtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xuJHJldmVhbC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kcmV2ZWFsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kcmV2ZWFsLXppbmRleDogMTAwNTtcbiRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC40NSk7XG5cbi8vIDI4LiBTbGlkZXJcbi8vIC0tLS0tLS0tLS1cblxuJHNsaWRlci1oZWlnaHQ6IDAuNXJlbTtcbiRzbGlkZXItd2lkdGgtdmVydGljYWw6ICRzbGlkZXItaGVpZ2h0O1xuJHNsaWRlci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRzbGlkZXItZmlsbC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kc2xpZGVyLWhhbmRsZS1oZWlnaHQ6IDEuNHJlbTtcbiRzbGlkZXItaGFuZGxlLXdpZHRoOiAxLjRyZW07XG4kc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRzbGlkZXItb3BhY2l0eS1kaXNhYmxlZDogMC4yNTtcbiRzbGlkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRzbGlkZXItdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG5cbi8vIDI5LiBTd2l0Y2hcbi8vIC0tLS0tLS0tLS1cblxuJHN3aXRjaC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kc3dpdGNoLWJhY2tncm91bmQtYWN0aXZlOiAkcHJpbWFyeS1jb2xvcjtcbiRzd2l0Y2gtaGVpZ2h0OiAycmVtO1xuJHN3aXRjaC1oZWlnaHQtdGlueTogMS41cmVtO1xuJHN3aXRjaC1oZWlnaHQtc21hbGw6IDEuNzVyZW07XG4kc3dpdGNoLWhlaWdodC1sYXJnZTogMi41cmVtO1xuJHN3aXRjaC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHN3aXRjaC1tYXJnaW46ICRnbG9iYWwtbWFyZ2luO1xuJHN3aXRjaC1wYWRkbGUtYmFja2dyb3VuZDogJHdoaXRlO1xuJHN3aXRjaC1wYWRkbGUtb2Zmc2V0OiAwLjI1cmVtO1xuJHN3aXRjaC1wYWRkbGUtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dDtcblxuLy8gMzAuIFRhYmxlXG4vLyAtLS0tLS0tLS1cblxuJHRhYmxlLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiR0YWJsZS1jb2xvci1zY2FsZTogNSU7XG4kdGFibGUtYm9yZGVyOiAxcHggc29saWQgc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSk7XG4kdGFibGUtcGFkZGluZzogcmVtLWNhbGMoOCAxMCAxMCk7XG4kdGFibGUtaG92ZXItc2NhbGU6IDIlO1xuJHRhYmxlLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlICsgJHRhYmxlLWhvdmVyLXNjYWxlKTtcbiR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xuJHRhYmxlLXN0cmlwZTogZXZlbjtcbiR0YWJsZS1oZWFkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgLyAyKTtcbiR0YWJsZS1mb290LWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xuJHRhYmxlLWhlYWQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRzaG93LWhlYWRlci1mb3Itc3RhY2tlZDogZmFsc2U7XG5cbi8vIDMxLiBUYWJzXG4vLyAtLS0tLS0tLVxuXG4kdGFiLW1hcmdpbjogMDtcbiR0YWItYmFja2dyb3VuZDogJHdoaXRlO1xuJHRhYi1iYWNrZ3JvdW5kLWFjdGl2ZTogJGxpZ2h0LWdyYXk7XG4kdGFiLWJvcmRlcjogJGxpZ2h0LWdyYXk7XG4kdGFiLWl0ZW0tY29sb3I6IGZvcmVncm91bmQoJHRhYi1iYWNrZ3JvdW5kLCAkcHJpbWFyeS1jb2xvcik7XG4kdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJHdoaXRlO1xuJHRhYi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMS41cmVtO1xuJHRhYi1leHBhbmQtbWF4OiA2O1xuJHRhYi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiR0YWItY29udGVudC1ib3JkZXI6ICRsaWdodC1ncmF5O1xuJHRhYi1jb250ZW50LWNvbG9yOiBmb3JlZ3JvdW5kKCR0YWItYmFja2dyb3VuZCwgJHByaW1hcnktY29sb3IpO1xuJHRhYi1jb250ZW50LXBhZGRpbmc6IDFyZW07XG5cbi8vIDMyLiBUaHVtYm5haWxcbi8vIC0tLS0tLS0tLS0tLS1cblxuJHRodW1ibmFpbC1ib3JkZXI6IHNvbGlkIDRweCAkd2hpdGU7XG4kdGh1bWJuYWlsLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJHRodW1ibmFpbC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKCRibGFjaywgMC4yKTtcbiR0aHVtYm5haWwtc2hhZG93LWhvdmVyOiAwIDAgNnB4IDFweCByZ2JhKCRwcmltYXJ5LWNvbG9yLCAwLjUpO1xuJHRodW1ibmFpbC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDIwMG1zIGVhc2Utb3V0O1xuJHRodW1ibmFpbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAzMy4gVGl0bGUgQmFyXG4vLyAtLS0tLS0tLS0tLS0tXG5cbiR0aXRsZWJhci1iYWNrZ3JvdW5kOiAkYmxhY2s7XG4kdGl0bGViYXItY29sb3I6ICR3aGl0ZTtcbiR0aXRsZWJhci1wYWRkaW5nOiAwLjVyZW07XG4kdGl0bGViYXItdGV4dC1mb250LXdlaWdodDogYm9sZDtcbiR0aXRsZWJhci1pY29uLWNvbG9yOiAkd2hpdGU7XG4kdGl0bGViYXItaWNvbi1jb2xvci1ob3ZlcjogJG1lZGl1bS1ncmF5O1xuJHRpdGxlYmFyLWljb24tc3BhY2luZzogMC4yNXJlbTtcblxuLy8gMzQuIFRvb2x0aXBcbi8vIC0tLS0tLS0tLS0tXG5cbiRoYXMtdGlwLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuJGhhcy10aXAtYm9yZGVyLWJvdHRvbTogZG90dGVkIDFweCAkZGFyay1ncmF5O1xuJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuJHRvb2x0aXAtY29sb3I6ICR3aGl0ZTtcbiR0b29sdGlwLXBhZGRpbmc6IDAuNzVyZW07XG4kdG9vbHRpcC1mb250LXNpemU6ICRzbWFsbC1mb250LXNpemU7XG4kdG9vbHRpcC1waXAtd2lkdGg6IDAuNzVyZW07XG4kdG9vbHRpcC1waXAtaGVpZ2h0OiAkdG9vbHRpcC1waXAtd2lkdGggKiAwLjg2NjtcbiR0b29sdGlwLXBpcC1vZmZzZXQ6IDEuMjVyZW07XG4kdG9vbHRpcC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAzNS4gVG9wIEJhclxuLy8gLS0tLS0tLS0tLS1cblxuJHRvcGJhci1wYWRkaW5nOiAwLjVyZW07XG4kdG9wYmFyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJHRvcGJhci10aXRsZS1zcGFjaW5nOiAxcmVtO1xuJHRvcGJhci1pbnB1dC13aWR0aDogMjAwcHg7XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIENyZWF0ZXMgYSBDU1MgdHJpYW5nbGUsIHdoaWNoIGNhbiBiZSB1c2VkIGZvciBkcm9wZG93biBhcnJvd3MsIGRyb3Bkb3duIHBpcHMsIGFuZCBtb3JlLiBVc2UgdGhpcyBtaXhpbiBpbnNpZGUgYSBgJjo6YmVmb3JlYCBvciBgJjo6YWZ0ZXJgIHNlbGVjdG9yLCB0byBhdHRhY2ggdGhlIHRyaWFuZ2xlIHRvIGFuIGV4aXN0aW5nIGVsZW1lbnQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRyaWFuZ2xlLXNpemUgLSBXaWR0aCBvZiB0aGUgdHJpYW5nbGUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJHRyaWFuZ2xlLWNvbG9yIC0gQ29sb3Igb2YgdGhlIHRyaWFuZ2xlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHRyaWFuZ2xlLWRpcmVjdGlvbiAtIERpcmVjdGlvbiB0aGUgdHJpYW5nbGUgcG9pbnRzLiBDYW4gYmUgYHVwYCwgYHJpZ2h0YCwgYGRvd25gLCBvciBgbGVmdGAuXG5AbWl4aW4gY3NzLXRyaWFuZ2xlKFxuICAkdHJpYW5nbGUtc2l6ZSxcbiAgJHRyaWFuZ2xlLWNvbG9yLFxuICAkdHJpYW5nbGUtZGlyZWN0aW9uXG4pIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXI6IGluc2V0ICR0cmlhbmdsZS1zaXplO1xuXG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBkb3duKSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gdXApIHtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvcjtcbiAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSByaWdodCkge1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xuICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IGxlZnQpIHtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgbWVudSBpY29uIHdpdGggYSBzZXQgd2lkdGgsIGhlaWdodCwgbnVtYmVyIG9mIGJhcnMsIGFuZCBjb2xvcnMuIFRoZSBtaXhpbiB1c2VzIHRoZSBoZWlnaHQgb2YgdGhlIGljb24gYW5kIHRoZSB3ZWlnaHQgb2YgdGhlIGJhcnMgdG8gZGV0ZXJtaW5lIHNwYWNpbmcuIDxkaXYgY2xhc3M9XCJkb2NzLWV4YW1wbGUtYnVyZ2VyXCI+PC9kaXY+XG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRibGFja10gLSBDb2xvciB0byB1c2UgZm9yIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvci1ob3ZlciBbJGRhcmstZ3JheV0gLSBDb2xvciB0byB1c2Ugd2hlbiB0aGUgaWNvbiBpcyBob3ZlcmVkIG92ZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbMjBweF0gLSBXaWR0aCBvZiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGhlaWdodCBbMTZweF0gLSBIZWlnaHQgb2YgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3ZWlnaHQgWzJweF0gLSBIZWlnaHQgb2YgaW5kaXZpZHVhbCBiYXJzIGluIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFycyBbM10gLSBOdW1iZXIgb2YgYmFycyBpbiB0aGUgaWNvbi5cbkBtaXhpbiBoYW1idXJnZXIoXG4gICRjb2xvcjogJGJsYWNrLFxuICAkY29sb3ItaG92ZXI6ICRkYXJrLWdyYXksXG4gICR3aWR0aDogMjBweCxcbiAgJGhlaWdodDogMTZweCxcbiAgJHdlaWdodDogMnB4LFxuICAkYmFyczogM1xuKSB7XG4gIC8vIGJveC1zaGFkb3cgQ1NTIG91dHB1dFxuICAkc2hhZG93OiAoKTtcbiAgJGhvdmVyLXNoYWRvdzogKCk7XG5cbiAgLy8gU3BhY2luZyBiZXR3ZWVuIGJhcnMgaXMgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgdG90YWwgaGVpZ2h0IG9mIHRoZSBpY29uIGFuZCB0aGUgd2VpZ2h0IG9mIGVhY2ggYmFyXG4gICRzcGFjaW5nOiAoJGhlaWdodCAtICgkd2VpZ2h0ICogJGJhcnMpKSAvICgkYmFycyAtIDEpO1xuXG4gIEBpZiB1bml0KCRzcGFjaW5nKSA9PSAncHgnIHtcbiAgICAkc3BhY2luZzogZmxvb3IoJHNwYWNpbmcpO1xuICB9XG5cbiAgLy8gSWNvbiBjb250YWluZXJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgd2lkdGg6ICR3aWR0aDtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuXG4gIC8vIEljb24gYmFyc1xuICAmOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogJHdlaWdodDtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG5cbiAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRiYXJzIHtcbiAgICAgICRvZmZzZXQ6ICgkd2VpZ2h0ICsgJHNwYWNpbmcpICogKCRpIC0gMSk7XG4gICAgICAkc2hhZG93OiBhcHBlbmQoJHNoYWRvdywgMCAkb2Zmc2V0IDAgJGNvbG9yLCBjb21tYSk7XG4gICAgfVxuXG4gICAgYm94LXNoYWRvdzogJHNoYWRvdztcbiAgfVxuXG4gIC8vIEhvdmVyIHN0YXRlXG4gIEBpZiAkY29sb3ItaG92ZXIge1xuICAgIC8vIEdlbmVyYXRlIENTU1xuICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xuICAgICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcbiAgICAgICRob3Zlci1zaGFkb3c6IGFwcGVuZCgkaG92ZXItc2hhZG93LCAwICRvZmZzZXQgMCAkY29sb3ItaG92ZXIsIGNvbW1hKTtcbiAgICB9XG5cbiAgICAmOmhvdmVyOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItaG92ZXI7XG4gICAgICBib3gtc2hhZG93OiAkaG92ZXItc2hhZG93O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBhIGRvd253YXJkLWZhY2luZyB0cmlhbmdsZSBhcyBhIGJhY2tncm91bmQgaW1hZ2UgdG8gYW4gZWxlbWVudC4gVGhlIGltYWdlIGlzIGZvcm1hdHRlZCBhcyBhbiBTVkcsIG1ha2luZyBpdCBlYXN5IHRvIGNoYW5nZSB0aGUgY29sb3IuIEJlY2F1c2UgSW50ZXJuZXQgRXhwbG9yZXIgZG9lc24ndCBzdXBwb3J0IGVuY29kZWQgU1ZHcyBhcyBiYWNrZ3JvdW5kIGltYWdlcywgYSBQTkcgZmFsbGJhY2sgaXMgYWxzbyBpbmNsdWRlZC5cbi8vLyBUaGVyZSBhcmUgdHdvIFBORyBmYWxsYmFja3M6IGEgYmxhY2sgdHJpYW5nbGUgYW5kIGEgd2hpdGUgdHJpYW5nbGUuIFRoZSBvbmUgdXNlZCBkZXBlbmRzIG9uIHRoZSBsaWdodG5lc3Mgb2YgdGhlIGlucHV0IGNvbG9yLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgdHJpYW5nbGUuXG5AbWl4aW4gYmFja2dyb3VuZC10cmlhbmdsZSgkY29sb3I6ICRibGFjaykge1xuICAkcmdiOiAncmdiJTI4I3tyb3VuZChyZWQoJGNvbG9yKSl9LCAje3JvdW5kKGdyZWVuKCRjb2xvcikpfSwgI3tyb3VuZChibHVlKCRjb2xvcikpfSUyOSc7XG5cbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZlcnNpb249JzEuMScgd2lkdGg9JzMyJyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMzIgMjQnPjxwb2x5Z29uIHBvaW50cz0nMCwwIDMyLDAgMTYsMjQnIHN0eWxlPSdmaWxsOiAjeyRyZ2J9Jz48L3BvbHlnb24+PC9zdmc+XCIpO1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MFxcMCkge1xuICAgIEBpZiBsaWdodG5lc3MoJGNvbG9yKSA8IDYwJSB7XG4gICAgICAvLyBXaGl0ZSB0cmlhbmdsZVxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQUlwSlJFRlVlTnJFa2NrTmdEQU1CQmZSa0V0ME9iUkJCZHNHWFVEZ21RZks0WGhIMm04Y3pRQUF5MjdSM3RzdzRRZmUyeDh1T082b1lMYjZHbE9vcjNHRitzd1VSQU9tVUorUnd0RUpzOVd2VEdFWXhCWHFJMU1RQVpoQ2ZVUUtSekRNVmorVHdyQUlWNmp2U1VFa1lBcjFMU2tjeVRCYi9WK0tZZlg3eEFldXNxM3NMRHRHSDNrRUdBQ1BXSWZsTlpmaFJRQUFBQUJKUlU1RXJrSmdnZz09Jyk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIC8vIEJsYWNrIHRyaWFuZ2xlXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBTUJKUkVGVWVOckVsbHNPaENBTVJWc3pDOUlselU3S0NtVkhUSnNvTVdZTVV0cHl2OUJnYnVYUUI1WlNkZ0JZWVk0eWNnQml2azhLWUZzUU1mTWlUVEJQNG8zblV6Q0t6T2FiTEpiTHkyL2czMWV2R2tBZ2luUjQvWmVnS0g1cVgzYkpDc2NBM3QweDNrZ081dFFGeWhoRmY1MHhScUZMYnlNVU5KUXpneWpHUy93Z0Nwdktxa1JCcHVXckU0VjlkKzFFNGRQVVhxSWcxMDdTUU9FLzJEUlF4TXdURHlnSUluVkRFVDlUM2xDb2ovNmovVkNtR2paT2wybEtwWjhBQXdEUVA3eklpbURHRlFBQUFBQkpSVTVFcmtKZ2dnPT0nKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFwcGxpZXMgdGhlIG1pY3JvIGNsZWFyZml4IGhhY2sgcG9wdWxhcml6ZWQgYnkgTmljb2xhcyBHYWxsYWdoZXIuIEluY2x1ZGUgdGhpcyBtaXhpbiBvbiBhIGNvbnRhaW5lciBpZiBpdHMgY2hpbGRyZW4gYXJlIGFsbCBmbG9hdGVkLCB0byBnaXZlIHRoZSBjb250YWluZXIgYSBwcm9wZXIgaGVpZ2h0LlxuLy8vIFRoZSBjbGVhcmZpeCBpcyBhdWdtZW50ZWQgd2l0aCBzcGVjaWZpYyBzdHlsZXMgdG8gcHJldmVudCBib3JkZXJzIGluIGZsZXhib3ggZW52aXJvbm1lbnRzXG4vLy8gQGxpbmsgaHR0cDovL25pY29sYXNnYWxsYWdoZXIuY29tL21pY3JvLWNsZWFyZml4LWhhY2svIE1pY3JvIENsZWFyZml4IEhhY2tcbi8vLyBAbGluayBodHRwOi8vZGFuaXNhZGVzaWduZXIuY29tL2Jsb2cvZmxleGJveC1jbGVhci1maXgtcHNldWRvLWVsZW1lbnRzLyBGbGV4Ym94IGZpeFxuQG1peGluIGNsZWFyZml4IHtcbiAgJjo6YmVmb3JlLFxuICAmOjphZnRlciB7XG4gICAgY29udGVudDogJyAnO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleC1iYXNpczogMDtcbiAgICAgIG9yZGVyOiAxO1xuICAgIH1cbiAgfVxuXG4gICY6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxufVxuXG4vLy8gQWRkcyBDU1MgZm9yIGEgXCJxdWFudGl0eSBxdWVyeVwiIHNlbGVjdG9yIHRoYXQgYXV0b21hdGljYWxseSBzaXplcyBlbGVtZW50cyBiYXNlZCBvbiBob3cgbWFueSB0aGVyZSBhcmUgaW5zaWRlIGEgY29udGFpbmVyLlxuLy8vIEBsaW5rIGh0dHA6Ly9hbGlzdGFwYXJ0LmNvbS9hcnRpY2xlL3F1YW50aXR5LXF1ZXJpZXMtZm9yLWNzcyBRdWFudGl0eSBRdWVyaWVzIGZvciBDU1Ncbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWF4IC0gTWF4aW11bSBudW1iZXIgb2YgaXRlbXMgdG8gZGV0ZWN0LiBUaGUgaGlnaGVyIHRoaXMgbnVtYmVyIGlzLCB0aGUgbW9yZSBDU1MgdGhhdCdzIHJlcXVpcmVkIHRvIGNvdmVyIGVhY2ggbnVtYmVyIG9mIGl0ZW1zLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGVsZW0gW2xpXSAtIFRhZyB0byB1c2UgZm9yIHNpYmxpbmcgc2VsZWN0b3JzLlxuQG1peGluIGF1dG8td2lkdGgoJG1heCwgJGVsZW06IGxpKSB7XG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJG1heCB7XG4gICAgJjpudGgtbGFzdC1jaGlsZCgjeyRpfSk6Zmlyc3QtY2hpbGQsXG4gICAgJjpudGgtbGFzdC1jaGlsZCgjeyRpfSk6Zmlyc3QtY2hpbGQgfiAjeyRlbGVtfSB7XG4gICAgICB3aWR0aDogcGVyY2VudGFnZSgxIC8gJGkpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gUmVtb3ZlcyB0aGUgZm9jdXMgcmluZyBhcm91bmQgYW4gZWxlbWVudCB3aGVuIGEgbW91c2UgaW5wdXQgaXMgZGV0ZWN0ZWQuXG5AbWl4aW4gZGlzYWJsZS1tb3VzZS1vdXRsaW5lIHtcbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddICYge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cbn1cblxuLy8vIE1ha2VzIGFuIGVsZW1lbnQgdmlzdWFsbHkgaGlkZGVuLCBidXQgc3RpbGwgYWNjZXNzaWJsZSB0byBrZXlib2FyZHMgYW5kIGFzc2lzdGl2ZSBkZXZpY2VzLlxuLy8vIEBsaW5rIGh0dHA6Ly9zbm9vay5jYS9hcmNoaXZlcy9odG1sX2FuZF9jc3MvaGlkaW5nLWNvbnRlbnQtZm9yLWFjY2Vzc2liaWxpdHkgSGlkaW5nIENvbnRlbnQgZm9yIEFjY2Vzc2liaWxpdHlcbkBtaXhpbiBlbGVtZW50LWludmlzaWJsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbn1cblxuLy8vIFJldmVyc2VzIHRoZSBDU1Mgb3V0cHV0IGNyZWF0ZWQgYnkgdGhlIGBlbGVtZW50LWludmlzaWJsZSgpYCBtaXhpbi5cbkBtaXhpbiBlbGVtZW50LWludmlzaWJsZS1vZmYge1xuICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IGF1dG87XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBjbGlwOiBhdXRvO1xufVxuXG4vLy8gVmVydGljYWxseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiB2ZXJ0aWNhbC1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbi8vLyBIb3Jpem9udGFsbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gaG9yaXpvbnRhbC1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xufVxuXG4vLy8gQWJzb2x1dGVseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiBhYnNvbHV0ZS1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xufVxuXG4vLy8gSXRlcmF0ZXMgdGhyb3VnaCBicmVha3BvaW50cyBkZWZpbmVkIGluIGAkYnJlYWtwb2ludC1jbGFzc2VzYCBhbmQgcHJpbnRzIHRoZSBDU1MgaW5zaWRlIHRoZSBtaXhpbiBhdCBlYWNoIGJyZWFrcG9pbnQncyBtZWRpYSBxdWVyeS4gVXNlIHRoaXMgd2l0aCB0aGUgZ3JpZCwgb3IgYW55IG90aGVyIGNvbXBvbmVudCB0aGF0IGhhcyByZXNwb25zaXZlIGNsYXNzZXMuXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRzbWFsbCBbdHJ1ZV0gLSBJZiBgZmFsc2VgLCB0aGUgbWl4aW4gd2lsbCBza2lwIHRoZSBgc21hbGxgIGJyZWFrcG9pbnQuIFVzZSB0aGlzIHdpdGggY29tcG9uZW50cyB0aGF0IGRvbid0IHByZWZpeCBjbGFzc2VzIHdpdGggYHNtYWxsLWAsIG9ubHkgYG1lZGl1bS1gIGFuZCB1cC5cbkBtaXhpbiAtemYtZWFjaC1icmVha3BvaW50KCRzbWFsbDogdHJ1ZSkge1xuICAkbWFwOiAkYnJlYWtwb2ludC1jbGFzc2VzO1xuXG4gIEBpZiBub3QgJHNtYWxsIHtcbiAgICAkbWFwOiBtYXAtcmVtb3ZlKCRtYXAsICQtemYtemVyby1icmVha3BvaW50KTtcbiAgfVxuXG4gIEBlYWNoICRzaXplIGluICRtYXAge1xuICAgICQtemYtc2l6ZTogJHNpemUgIWdsb2JhbDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gT3V0cHV0cyBDU1MgY2xhc3NlcyBmb3IgdGhlIGdyaWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AbWl4aW4gZm91bmRhdGlvbi1ncmlkKFxuICAkcm93OiAncm93JyxcbiAgJGNvbHVtbjogJ2NvbHVtbicsXG4gICRjb2x1bW4tcm93OiAnY29sdW1uLXJvdycsXG4gICRwdXNoOiAncHVzaCcsXG4gICRwdWxsOiAncHVsbCcsXG4gICRjZW50ZXI6ICdjZW50ZXJlZCcsXG4gICR1bmNlbnRlcjogJ3VuY2VudGVyZWQnLFxuICAkY29sbGFwc2U6ICdjb2xsYXBzZScsXG4gICR1bmNvbGxhcHNlOiAndW5jb2xsYXBzZScsXG4gICRvZmZzZXQ6ICdvZmZzZXQnLFxuICAkZW5kOiAnZW5kJyxcbiAgJGV4cGFuZGVkOiAnZXhwYW5kZWQnXG4pIHtcbiAgLy8gUm93XG4gIC4jeyRyb3d9IHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdztcblxuICAgIC8vIENvbGxhcHNpbmdcbiAgICAmLiN7JGNvbGxhcHNlfSB7XG4gICAgICA+IC4jeyRjb2x1bW59IHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtY29sbGFwc2U7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gTmVzdGluZ1xuICAgICYgLiN7JHJvd30ge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3ctbmVzdCgkZ3JpZC1jb2x1bW4tZ3V0dGVyKTtcblxuICAgICAgJi4jeyRjb2xsYXBzZX0ge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEV4cGFuZGVkIChmdWxsLXdpZHRoKSByb3dcbiAgICAmLiN7JGV4cGFuZGVkfSB7XG4gICAgICBtYXgtd2lkdGg6IG5vbmU7XG5cbiAgICAgIC4jeyRyb3d9IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBDb2x1bW5cbiAgLiN7JGNvbHVtbn0ge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sO1xuXG4gICAgQGlmICRncmlkLWNvbHVtbi1hbGlnbi1lZGdlIHtcbiAgICAgICYuI3skZW5kfSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLWVuZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBDb2x1bW4gcm93XG4gIC8vIFRoZSBkb3VibGUgLnJvdyBjbGFzcyBpcyBuZWVkZWQgdG8gYnVtcCB1cCB0aGUgc3BlY2lmaWNpdHlcbiAgLiN7JGNvbHVtbn0uI3skcm93fS4jeyRyb3d9IHtcbiAgICBmbG9hdDogbm9uZTtcbiAgfVxuXG4gIC8vIFRvIHByb3Blcmx5IG5lc3QgYSBjb2x1bW4gcm93LCBwYWRkaW5nIGFuZCBtYXJnaW4gaXMgcmVtb3ZlZFxuICAuI3skcm93fSAuI3skY29sdW1ufS4jeyRyb3d9LiN7JHJvd30ge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxuXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1uLWNvdW50IHtcbiAgICAgIC8vIENvbHVtbiB3aWR0aFxuICAgICAgLiN7JC16Zi1zaXplfS0jeyRpfSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLXNpemUoJGkpO1xuICAgICAgfVxuXG4gICAgICAvLyBTb3VyY2Ugb3JkZXJpbmdcbiAgICAgIEBpZiAkaSA8ICRncmlkLWNvbHVtbi1jb3VudCB7XG4gICAgICAgIC4jeyQtemYtc2l6ZX0tI3skcHVzaH0tI3skaX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLXBvcygkaSk7XG4gICAgICAgIH1cblxuICAgICAgICAuI3skLXpmLXNpemV9LSN7JHB1bGx9LSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1wb3MoLSRpKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBPZmZzZXRzXG4gICAgICAkbzogJGkgLSAxO1xuXG4gICAgICAuI3skLXpmLXNpemV9LSN7JG9mZnNldH0tI3skb30ge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1vZmYoJG8pO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEJsb2NrIGdyaWRcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRibG9jay1ncmlkLW1heCB7XG4gICAgICAuI3skLXpmLXNpemV9LXVwLSN7JGl9IHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1sYXlvdXQoJGksIFwiLiN7JGNvbHVtbn1cIik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gUmVzcG9uc2l2ZSBjb2xsYXBzaW5nXG4gICAgLiN7JC16Zi1zaXplfS0jeyRjb2xsYXBzZX0ge1xuICAgICAgPiAuI3skY29sdW1ufSB7IEBpbmNsdWRlIGdyaWQtY29sLWNvbGxhcHNlOyB9XG5cbiAgICAgIC4jeyRyb3d9IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuI3skZXhwYW5kZWR9LiN7JHJvd30gLiN7JC16Zi1zaXplfS0jeyRjb2xsYXBzZX0uI3skcm93fSB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG5cbiAgICAuI3skLXpmLXNpemV9LSN7JHVuY29sbGFwc2V9IHtcbiAgICAgICRndXR0ZXI6IC16Zi1nZXQtYnAtdmFsKCRncmlkLWNvbHVtbi1ndXR0ZXIsICQtemYtc2l6ZSk7XG5cbiAgICAgID4gLiN7JGNvbHVtbn0geyBAaW5jbHVkZSBncmlkLWNvbC11bmNvbGxhcHNlKCRndXR0ZXIpOyB9XG4gICAgfVxuXG4gICAgLy8gUG9zaXRpb25pbmdcbiAgICAuI3skLXpmLXNpemV9LSN7JGNlbnRlcn0ge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtcG9zKGNlbnRlcik7XG4gICAgfVxuXG4gICAgLy8gR3V0dGVyIGFkanVzdG1lbnRcbiAgICAuI3skLXpmLXNpemV9LSN7JHVuY2VudGVyfSxcbiAgICAuI3skLXpmLXNpemV9LSN7JHB1c2h9LTAsXG4gICAgLiN7JC16Zi1zaXplfS0jeyRwdWxsfS0wIHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtY29sLXVucG9zO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkY29sdW1uID09ICdjb2x1bW4nIHtcbiAgICAuY29sdW1ucyB7XG4gICAgICAvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBQbGFjZWhvbGRlckluRXh0ZW5kXG4gICAgICBAZXh0ZW5kIC5jb2x1bW47XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBDaGFuZ2UgdGhlIGJlaGF2aW9yIG9mIGNvbHVtbnMgZGVmaW5lZCBpbnNpZGUgdGhpcyBtaXhpbiB0byB1c2UgYSBkaWZmZXJlbnQgY29sdW1uIGNvdW50LlxuLy8vIEBjb250ZW50XG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGNvbHVtbnMgLSBOdW1iZXIgb2YgY29sdW1ucyB0byB1c2UuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkcm9vdCBbZmFsc2VdXG4vLy8gICBJZiBgZmFsc2VgLCBzZWxlY3RvcnMgaW5zaWRlIHRoaXMgbWl4aW4gd2lsbCBuZXN0IGluc2lkZSB0aGUgcGFyZW50IHNlbGVjdG9yLlxuLy8vICAgSWYgYHRydWVgLCBzZWxlY3RvcnMgd2lsbCBub3QgbmVzdC5cbkBtaXhpbiBncmlkLWNvbnRleHQoXG4gICRjb2x1bW5zLFxuICAkcm9vdDogZmFsc2Vcbikge1xuICAvLyBTdG9yZSB0aGUgY3VycmVudCBjb2x1bW4gY291bnQgc28gaXQgY2FuIGJlIHJlLXNldCBsYXRlclxuICAkb2xkLWdyaWQtY29sdW1uLWNvdW50OiAkZ3JpZC1jb2x1bW4tY291bnQ7XG4gICRncmlkLWNvbHVtbi1jb3VudDogJGNvbHVtbnMgIWdsb2JhbDtcblxuICBAaWYgJHJvb3Qge1xuICAgIEBhdC1yb290IHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cblxuICAvLyBSZXN0b3JlIHRoZSBvbGQgY29sdW1uIGNvdW50XG4gICRncmlkLWNvbHVtbi1jb3VudDogJG9sZC1ncmlkLWNvbHVtbi1jb3VudCAhZ2xvYmFsO1xufVxuXG4vLy8gQ3JlYXRlcyBhIGdyaWQgcm93LlxuLy8vIEBjb250ZW50XG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGNvbHVtbnMgW251bGxdIC0gQ29sdW1uIGNvdW50IGZvciB0aGlzIHJvdy4gYG51bGxgIHdpbGwgdXNlIHRoZSBkZWZhdWx0IGNvbHVtbiBjb3VudC5cbi8vLyBAcGFyYW0ge0tleXdvcmRzfSAkYmVoYXZpb3IgW251bGxdXG4vLy8gICBNb2RpZmljYXRpb25zIHRvIHRoZSBkZWZhdWx0IGdyaWQgc3R5bGVzLiBgbmVzdGAgaW5kaWNhdGVzIHRoZSByb3cgd2lsbCBiZSBwbGFjZWQgaW5zaWRlIGFub3RoZXIgcm93LiBgY29sbGFwc2VgIGluZGljYXRlcyB0aGF0IHRoZSBjb2x1bW5zIGluc2lkZSB0aGlzIHJvdyB3aWxsIG5vdCBoYXZlIHBhZGRpbmcuIGBuZXN0IGNvbGxhcHNlYCBjb21iaW5lcyBib3RoIGJlaGF2aW9ycy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIFskZ3JpZC1yb3ctd2lkdGhdIC0gTWF4aW11bSB3aWR0aCBvZiB0aGUgcm93LlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGNmIFt0cnVlXSAtIFdoZXRoZXIgb3Igbm90IHRvIGluY2x1ZGUgYSBjbGVhcmZpeC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGd1dHRlciBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBHdXR0ZXIgdG8gdXNlIHdoZW4gaW52ZXJ0aW5nIG1hcmdpbnMsIGluIGNhc2UgdGhlIHJvdyBpcyBuZXN0ZWQuXG5AbWl4aW4gZ3JpZC1yb3coXG4gICRjb2x1bW5zOiBudWxsLFxuICAkYmVoYXZpb3I6IG51bGwsXG4gICR3aWR0aDogJGdyaWQtcm93LXdpZHRoLFxuICAkY2Y6IHRydWUsXG4gICRndXR0ZXI6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICAkbWFyZ2luOiBhdXRvO1xuXG4gIEBpZiBpbmRleCgkYmVoYXZpb3IsIG5lc3QpICE9IG51bGwge1xuICAgIEBpbmNsdWRlIGdyaWQtcm93LW5lc3QoJGd1dHRlcik7XG5cbiAgICBAaWYgaW5kZXgoJGJlaGF2aW9yLCBjb2xsYXBzZSkgIT0gbnVsbCB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIG1heC13aWR0aDogJHdpZHRoO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgfVxuXG4gIEBpZiAkY2Yge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICB9XG5cbiAgQGlmICRjb2x1bW5zICE9IG51bGwge1xuICAgIEBpbmNsdWRlIGdyaWQtY29udGV4dCgkY29sdW1ucykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBJbnZlcnRzIHRoZSBtYXJnaW5zIG9mIGEgcm93IHRvIG5lc3QgaXQgaW5zaWRlIG9mIGEgY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtNYXB8bnVsbH0gJGd1dHRlciBbbnVsbF0gLSBHdXR0ZXIgdmFsdWUgdG8gdXNlIHdoZW4gaW52ZXJ0aW5nIHRoZSBtYXJnaW5zLiBTZXQgdG8gYG51bGxgIHRvIHJlZmVyIHRvIHRoZSByZXNwb25zaXZlIGd1dHRlciBzZXR0aW5ncy5cbkBtaXhpbiBncmlkLXJvdy1uZXN0KCRndXR0ZXI6ICRncmlkLWNvbHVtbi1ndXR0ZXIpIHtcbiAgQGlmIHR5cGUtb2YoJGd1dHRlcikgPT0gJ251bWJlcicge1xuICAgICRndXR0ZXI6ICgkLXpmLXplcm8tYnJlYWtwb2ludDogJGd1dHRlcik7XG4gIH1cblxuICBAZWFjaCAkYnJlYWtwb2ludCwgJHZhbHVlIGluICRndXR0ZXIge1xuICAgICRtYXJnaW46IHJlbS1jYWxjKCR2YWx1ZSkgLyAyICogLTE7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicmVha3BvaW50KSB7XG4gICAgICBtYXJnaW4tbGVmdDogJG1hcmdpbjtcbiAgICAgIG1hcmdpbi1yaWdodDogJG1hcmdpbjtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJSAhZGVmYXVsdDtcblxuLy8gc2Nzcy1saW50OmRpc2FibGUgWmVyb1VuaXRcblxuLy8vIFJlbW92ZXMgdGhlIHVuaXQgKGUuZy4gcHgsIGVtLCByZW0pIGZyb20gYSB2YWx1ZSwgcmV0dXJuaW5nIHRoZSBudW1iZXIgb25seS5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbnVtIC0gTnVtYmVyIHRvIHN0cmlwIHVuaXQgZnJvbS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBzYW1lIG51bWJlciwgc2FucyB1bml0LlxuQGZ1bmN0aW9uIHN0cmlwLXVuaXQoJG51bSkge1xuICBAcmV0dXJuICRudW0gLyAoJG51bSAqIDAgKyAxKTtcbn1cblxuLy8vIENvbnZlcnRzIG9uZSBvciBtb3JlIHBpeGVsIHZhbHVlcyBpbnRvIG1hdGNoaW5nIHJlbSB2YWx1ZXMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkdmFsdWVzIC0gT25lIG9yIG1vcmUgdmFsdWVzIHRvIGNvbnZlcnQuIEJlIHN1cmUgdG8gc2VwYXJhdGUgdGhlbSB3aXRoIHNwYWNlcyBhbmQgbm90IGNvbW1hcy4gSWYgeW91IG5lZWQgdG8gY29udmVydCBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0LCB3cmFwIHRoZSBsaXN0IGluIHBhcmVudGhlc2VzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSBbbnVsbF0gLSBUaGUgYmFzZSB2YWx1ZSB0byB1c2Ugd2hlbiBjYWxjdWxhdGluZyB0aGUgYHJlbWAuIElmIHlvdSdyZSB1c2luZyBGb3VuZGF0aW9uIG91dCBvZiB0aGUgYm94LCB0aGlzIGlzIDE2cHguIElmIHRoaXMgcGFyYW1ldGVyIGlzIGBudWxsYCwgdGhlIGZ1bmN0aW9uIHdpbGwgcmVmZXJlbmNlIHRoZSBgJGJhc2UtZm9udC1zaXplYCB2YXJpYWJsZSBhcyB0aGUgYmFzZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtMaXN0fSBBIGxpc3Qgb2YgY29udmVydGVkIHZhbHVlcy5cbkBmdW5jdGlvbiByZW0tY2FsYygkdmFsdWVzLCAkYmFzZTogbnVsbCkge1xuICAkcmVtLXZhbHVlczogKCk7XG4gICRjb3VudDogbGVuZ3RoKCR2YWx1ZXMpO1xuXG4gIC8vIElmIG5vIGJhc2UgaXMgZGVmaW5lZCwgZGVmZXIgdG8gdGhlIGdsb2JhbCBmb250IHNpemVcbiAgQGlmICRiYXNlID09IG51bGwge1xuICAgICRiYXNlOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIElmIHRoZSBiYXNlIGZvbnQgc2l6ZSBpcyBhICUsIHRoZW4gbXVsdGlwbHkgaXQgYnkgMTZweFxuICAvLyBUaGlzIGlzIGJlY2F1c2UgMTAwJSBmb250IHNpemUgPSAxNnB4IGluIG1vc3QgYWxsIGJyb3dzZXJzXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnJScge1xuICAgICRiYXNlOiAoJGJhc2UgLyAxMDAlKSAqIDE2cHg7XG4gIH1cbiAgXG4gIC8vIFVzaW5nIHJlbSBhcyBiYXNlIGFsbG93cyBjb3JyZWN0IHNjYWxpbmdcbiAgQGlmIHVuaXQoJGJhc2UpID09ICdyZW0nIHtcbiAgICAkYmFzZTogc3RyaXAtdW5pdCgkYmFzZSkgKiAxNnB4O1xuICB9XG5cbiAgQGlmICRjb3VudCA9PSAxIHtcbiAgICBAcmV0dXJuIC16Zi10by1yZW0oJHZhbHVlcywgJGJhc2UpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkY291bnQge1xuICAgICRyZW0tdmFsdWVzOiBhcHBlbmQoJHJlbS12YWx1ZXMsIC16Zi10by1yZW0obnRoKCR2YWx1ZXMsICRpKSwgJGJhc2UpKTtcbiAgfVxuXG4gIEByZXR1cm4gJHJlbS12YWx1ZXM7XG59XG5cbi8vIENvbnZlcnRzIGEgdW5pdGxlc3MsIHBpeGVsLCBvciByZW0gdmFsdWUgdG8gZW0sIGZvciB1c2UgaW4gYnJlYWtwb2ludHMuXG5AZnVuY3Rpb24gLXpmLWJwLXRvLWVtKCR2YWx1ZSkge1xuICAvLyBQaXhlbCBhbmQgdW5pdGxlc3MgdmFsdWVzIGFyZSBjb252ZXJ0ZWQgdG8gcmVtc1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICdweCcgb3IgdW5pdGxlc3MoJHZhbHVlKSB7XG4gICAgJHZhbHVlOiByZW0tY2FsYygkdmFsdWUsICRiYXNlOiAxNnB4KTtcbiAgfVxuXG4gIC8vIFRoZW4gdGhlIHZhbHVlIGlzIGNvbnZlcnRlZCB0byBlbXNcbiAgQHJldHVybiBzdHJpcC11bml0KCR2YWx1ZSkgKiAxZW07XG59XG5cbi8vLyBDb252ZXJ0cyBhIHBpeGVsIHZhbHVlIHRvIG1hdGNoaW5nIHJlbSB2YWx1ZS4gKkFueSogdmFsdWUgcGFzc2VkLCByZWdhcmRsZXNzIG9mIHVuaXQsIGlzIGFzc3VtZWQgdG8gYmUgYSBwaXhlbCB2YWx1ZS4gQnkgZGVmYXVsdCwgdGhlIGJhc2UgcGl4ZWwgdmFsdWUgdXNlZCB0byBjYWxjdWxhdGUgdGhlIHJlbSB2YWx1ZSBpcyB0YWtlbiBmcm9tIHRoZSBgJGdsb2JhbC1mb250LXNpemVgIHZhcmlhYmxlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFBpeGVsIHZhbHVlIHRvIGNvbnZlcnQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIFtudWxsXSAtIEJhc2UgZm9yIHBpeGVsIGNvbnZlcnNpb24uXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBBIG51bWJlciBpbiByZW1zLCBjYWxjdWxhdGVkIGJhc2VkIG9uIHRoZSBnaXZlbiB2YWx1ZSBhbmQgdGhlIGJhc2UgcGl4ZWwgdmFsdWUuIHJlbSB2YWx1ZXMgYXJlIHBhc3NlZCB0aHJvdWdoIGFzIGlzLlxuQGZ1bmN0aW9uIC16Zi10by1yZW0oJHZhbHVlLCAkYmFzZTogbnVsbCkge1xuICAvLyBDaGVjayBpZiB0aGUgdmFsdWUgaXMgYSBudW1iZXJcbiAgQGlmIHR5cGUtb2YoJHZhbHVlKSAhPSAnbnVtYmVyJyB7XG4gICAgQHdhcm4gaW5zcGVjdCgkdmFsdWUpICsgJyB3YXMgcGFzc2VkIHRvIHJlbS1jYWxjKCksIHdoaWNoIGlzIG5vdCBhIG51bWJlci4nO1xuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG5cbiAgLy8gQ2FsY3VsYXRlIHJlbSBpZiB1bml0cyBmb3IgJHZhbHVlIGlzIG5vdCByZW1cbiAgQGlmIHVuaXQoJHZhbHVlKSAhPSAncmVtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgLyBzdHJpcC11bml0KCRiYXNlKSAqIDFyZW07XG4gIH1cblxuICAvLyBUdXJuIDByZW0gaW50byAwXG4gIEBpZiAkdmFsdWUgPT0gMHJlbSB7XG4gICAgJHZhbHVlOiAwO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBDb2xsYXBzZSB0aGUgZ3V0dGVycyBvbiBhIGNvbHVtbiBieSByZW1vdmluZyB0aGUgcGFkZGluZy4gKipOb3RlOioqIG9ubHkgdXNlIHRoaXMgbWl4aW4gd2l0aGluIGEgYnJlYWtwb2ludC4gVG8gY29sbGFwc2UgYSBjb2x1bW4ncyBndXR0ZXJzIG9uIGFsbCBzY3JlZW4gc2l6ZXMsIHVzZSB0aGUgYCRndXR0ZXJgIHBhcmFtZXRlciBvZiB0aGUgYGdyaWQtY29sdW1uKClgIG1peGluIGluc3RlYWQuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tY29sbGFwc2Uge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG59XG5cbi8vLyBVbi1jb2xsYXBzZSB0aGUgZ3V0dGVycyBvbiBhIGNvbHVtbiBieSByZS1hZGRpbmcgdGhlIHBhZGRpbmcuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGd1dHRlciBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBTcGFjaW5nIGJldHdlZW4gY29sdW1ucy5cbkBtaXhpbiBncmlkLWNvbHVtbi11bmNvbGxhcHNlKCRndXR0ZXI6ICRncmlkLWNvbHVtbi1ndXR0ZXIpIHtcbiAgJGd1dHRlcjogcmVtLWNhbGMoJGd1dHRlcikgLyAyO1xuICBwYWRkaW5nLWxlZnQ6ICRndXR0ZXI7XG4gIHBhZGRpbmctcmlnaHQ6ICRndXR0ZXI7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1jb2xsYXBzZSgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tY29sbGFwc2VcbkBtaXhpbiBncmlkLWNvbC1jb2xsYXBzZSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWNvbGxhcHNlO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tdW5jb2xsYXBzZSgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tdW5jb2xsYXBzZVxuQG1peGluIGdyaWQtY29sLXVuY29sbGFwc2UoJGd1dHRlcjogJGdyaWQtY29sdW1uLWd1dHRlcikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi11bmNvbGxhcHNlKCRndXR0ZXIpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnJlYWtwb2ludHNcbi8vLy9cblxuLy8gc2Nzcy1saW50OmRpc2FibGUgWmVyb1VuaXRcblxuLy8vIEEgbGlzdCBvZiBuYW1lZCBicmVha3BvaW50cy4gWW91IGNhbiB1c2UgdGhlc2Ugd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gcXVpY2tseSBjcmVhdGUgbWVkaWEgcXVlcmllcy5cbi8vLyBAdHlwZSBNYXBcbiRicmVha3BvaW50czogKFxuICBzbWFsbDogMCxcbiAgbWVkaXVtOiA2NDBweCxcbiAgbGFyZ2U6IDEwMjRweCxcbiAgeGxhcmdlOiAxMjAwcHgsXG4gIHh4bGFyZ2U6IDE0NDBweCxcbikgIWRlZmF1bHQ7XG5cbiQtemYtemVyby1icmVha3BvaW50OiBzbWFsbCAhZGVmYXVsdDtcblxuQGlmIG50aChtYXAtdmFsdWVzKCRicmVha3BvaW50cyksIDEpICE9IDAge1xuICBAZXJyb3IgJ1lvdXIgc21hbGxlc3QgYnJlYWtwb2ludCAoZGVmaW5lZCBpbiAkYnJlYWtwb2ludHMpIG11c3QgYmUgc2V0IHRvIFwiMFwiLic7XG59XG5AZWxzZSB7XG4gICQtemYtemVyby1icmVha3BvaW50OiBudGgobWFwLWtleXMoJGJyZWFrcG9pbnRzKSwgMSk7XG59XG5cbi8vLyBBbGwgb2YgdGhlIG5hbWVzIGluIHRoaXMgbGlzdCB3aWxsIGJlIG91dHB1dCBhcyBjbGFzc2VzIGluIHlvdXIgQ1NTLCBsaWtlIGAuc21hbGwtMTJgLCBgLm1lZGl1bS02YCwgYW5kIHNvIG9uLiBFYWNoIHZhbHVlIGluIHRoaXMgbGlzdCBtdXN0IGFsc28gYmUgaW4gdGhlIGAkYnJlYWtwb2ludHNgIG1hcC5cbi8vLyBAdHlwZSBMaXN0XG4kYnJlYWtwb2ludC1jbGFzc2VzOiAoc21hbGwgbWVkaXVtIGxhcmdlKSAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlcyBhIG1lZGlhIHF1ZXJ5IHN0cmluZyBtYXRjaGluZyB0aGUgaW5wdXQgdmFsdWUuIFJlZmVyIHRvIHRoZSBkb2N1bWVudGF0aW9uIGZvciB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gc2VlIHdoYXQgdGhlIHBvc3NpYmxlIGlucHV0cyBhcmUuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsIFtzbWFsbF0gLSBCcmVha3BvaW50IG5hbWUsIG9yIHB4LCByZW0sIG9yIGVtIHZhbHVlIHRvIHByb2Nlc3MuXG5AZnVuY3Rpb24gYnJlYWtwb2ludCgkdmFsOiAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAvLyBTaXplIG9yIGtleXdvcmRcbiAgJGJwOiBudGgoJHZhbCwgMSk7XG4gIC8vIFZhbHVlIGZvciBtYXgtd2lkdGggbWVkaWEgcXVlcmllc1xuICAkYnAtbWF4OiAwO1xuICAvLyBEaXJlY3Rpb24gb2YgbWVkaWEgcXVlcnkgKHVwLCBkb3duLCBvciBvbmx5KVxuICAkZGlyOiBpZihsZW5ndGgoJHZhbCkgPiAxLCBudGgoJHZhbCwgMiksIHVwKTtcbiAgLy8gRXZlbnR1YWwgb3V0cHV0XG4gICRzdHI6ICcnO1xuICAvLyBJcyBpdCBhIG5hbWVkIG1lZGlhIHF1ZXJ5P1xuICAkbmFtZWQ6IGZhbHNlO1xuXG4gIC8vIE9yaWVudGF0aW9uIG1lZGlhIHF1ZXJpZXMgaGF2ZSBhIHVuaXF1ZSBzeW50YXhcbiAgQGlmICRicCA9PSAnbGFuZHNjYXBlJyBvciAkYnAgPT0gJ3BvcnRyYWl0JyB7XG4gICAgQHJldHVybiAnKG9yaWVudGF0aW9uOiAjeyRicH0pJztcbiAgfVxuICBAZWxzZSBpZiAkYnAgPT0gJ3JldGluYScge1xuICAgIEByZXR1cm4gJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSknO1xuICB9XG5cbiAgLy8gVHJ5IHRvIHB1bGwgYSBuYW1lZCBicmVha3BvaW50IG91dCBvZiB0aGUgJGJyZWFrcG9pbnRzIG1hcFxuICBAaWYgdHlwZS1vZigkYnApID09ICdzdHJpbmcnIHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkYnApIHtcbiAgICAgIEBpZiAkZGlyID09ICdvbmx5JyBvciAkZGlyID09ICdkb3duJyB7XG4gICAgICAgICRicC1tYXg6IC16Zi1tYXAtbmV4dCgkYnJlYWtwb2ludHMsICRicCk7XG4gICAgICB9XG5cbiAgICAgICRicDogbWFwLWdldCgkYnJlYWtwb2ludHMsICRicCk7XG4gICAgICAkbmFtZWQ6IHRydWU7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRicDogMDtcbiAgICAgIEB3YXJuICdicmVha3BvaW50KCk6IFwiI3skdmFsfVwiIGlzIG5vdCBkZWZpbmVkIGluIHlvdXIgJGJyZWFrcG9pbnRzIHNldHRpbmcuJztcbiAgICB9XG4gIH1cblxuICAvLyBDb252ZXJ0IGFueSBwaXhlbCwgcmVtLCBvciB1bml0bGVzcyB2YWx1ZSB0byBlbVxuICAkYnA6IC16Zi1icC10by1lbSgkYnApO1xuICBAaWYgJGJwLW1heCB7XG4gICAgJGJwLW1heDogLXpmLWJwLXRvLWVtKCRicC1tYXgpIC0gKDEvMTYpO1xuICB9XG5cbiAgLy8gQ29uZGl0aW9ucyB0byBza2lwIG1lZGlhIHF1ZXJ5IGNyZWF0aW9uXG4gIC8vIC0gSXQncyBhIG5hbWVkIGJyZWFrcG9pbnQgdGhhdCByZXNvbHZlZCB0byBcIjAgZG93blwiIG9yIFwiMCB1cFwiXG4gIC8vIC0gSXQncyBhIG51bWVyaWMgYnJlYWtwb2ludCB0aGF0IHJlc29sdmVkIHRvIFwiMCBcIiArIGFueXRoaW5nXG4gIEBpZiAkYnAgPiAwZW0gb3IgJGRpciA9PSAnb25seScgb3IgJGRpciA9PSAnZG93bicge1xuICAgIC8vIGBvbmx5YCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtaW4td2lkdGg6IG4pIGFuZCAobWF4LXdpZHRoOiBuKWBcbiAgICBAaWYgJGRpciA9PSAnb25seScge1xuICAgICAgLy8gT25seSBuYW1lZCBtZWRpYSBxdWVyaWVzIGNhbiBoYXZlIGFuIFwib25seVwiIHJhbmdlXG4gICAgICBAaWYgJG5hbWVkID09IHRydWUge1xuICAgICAgICAvLyBPbmx5IHVzZSBcIm1pbi13aWR0aFwiIGlmIHRoZSBmbG9vciBpcyBncmVhdGVyIHRoYW4gMFxuICAgICAgICBAaWYgJGJwID4gMGVtIHtcbiAgICAgICAgICAkc3RyOiAkc3RyICsgJyhtaW4td2lkdGg6ICN7JGJwfSknO1xuXG4gICAgICAgICAgLy8gT25seSBhZGQgXCJhbmRcIiB0byB0aGUgbWVkaWEgcXVlcnkgaWYgdGhlcmUncyBhIGNlaWxpbmdcbiAgICAgICAgICBAaWYgJGJwLW1heCAhPSBudWxsIHtcbiAgICAgICAgICAgICRzdHI6ICRzdHIgKyAnIGFuZCAnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE9ubHkgdXNlIFwibWF4LXdpZHRoXCIgaWYgdGhlcmUncyBhIGNlaWxpbmdcbiAgICAgICAgQGlmICRicC1tYXggIT0gbnVsbCB7XG4gICAgICAgICAgJHN0cjogJHN0ciArICcobWF4LXdpZHRoOiAjeyRicC1tYXh9KSc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgQHdhcm4gJ2JyZWFrcG9pbnQoKTogT25seSBuYW1lZCBtZWRpYSBxdWVyaWVzIGNhbiBoYXZlIGFuIGBvbmx5YCByYW5nZS4nO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGBkb3duYCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtYXgtd2lkdGg6IG4pYFxuICAgIEBlbHNlIGlmICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAgICRtYXg6IGlmKCRuYW1lZCwgJGJwLW1heCwgJGJwKTtcblxuICAgICAgLy8gU2tpcCBtZWRpYSBxdWVyeSBjcmVhdGlvbiBpZiBpbnB1dCB2YWx1ZSBpcyBleGFjdGx5IFwiMCBkb3duXCIsXG4gICAgICAvLyB1bmxlc3MgdGhlIGZ1bmN0aW9uIHdhcyBjYWxsZWQgYXMgXCJzbWFsbCBkb3duXCIsIGluIHdoaWNoIGNhc2UgaXQncyBqdXN0IFwic21hbGwgb25seVwiXG4gICAgICBAaWYgJG5hbWVkIG9yICRicCA+IDBlbSB7XG4gICAgICAgIEBpZiAkbWF4ICE9IG51bGwge1xuICAgICAgICAgICRzdHI6ICRzdHIgKyAnKG1heC13aWR0aDogI3skbWF4fSknO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gYHVwYCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtaW4td2lkdGg6IG4pYFxuICAgIEBlbHNlIGlmICRicCA+IDBlbSB7XG4gICAgICAkc3RyOiAkc3RyICsgJyhtaW4td2lkdGg6ICN7JGJwfSknO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHN0cjtcbn1cblxuLy8vIFdyYXBzIGEgbWVkaWEgcXVlcnkgYXJvdW5kIHRoZSBjb250ZW50IHlvdSBwdXQgaW5zaWRlIHRoZSBtaXhpbi4gVGhpcyBtaXhpbiBhY2NlcHRzIGEgbnVtYmVyIG9mIHZhbHVlczpcbi8vLyAgLSBJZiBhIHN0cmluZyBpcyBwYXNzZWQsIHRoZSBtaXhpbiB3aWxsIGxvb2sgZm9yIGl0IGluIHRoZSBgJGJyZWFrcG9pbnRzYCBtYXAsIGFuZCB1c2UgYSBtZWRpYSBxdWVyeSB0aGVyZS5cbi8vLyAgLSBJZiBhIHBpeGVsIHZhbHVlIGlzIHBhc3NlZCwgaXQgd2lsbCBiZSBjb252ZXJ0ZWQgdG8gYW4gZW0gdmFsdWUgdXNpbmcgYCRnbG9iYWwtZm9udC1zaXplYCBhcyB0aGUgYmFzZS5cbi8vLyAgLSBJZiBhIHJlbSB2YWx1ZSBpcyBwYXNzZWQsIHRoZSB1bml0IHdpbGwgYmUgY2hhbmdlZCB0byBlbS5cbi8vLyAgLSBJZiBhbiBlbSB2YWx1ZSBpcyBwYXNzZWQsIHRoZSB2YWx1ZSB3aWxsIGJlIHVzZWQgYXMtaXMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsdWUgLSBCcmVha3BvaW50IG5hbWUsIG9yIHB4LCByZW0sIG9yIGVtIHZhbHVlIHRvIHByb2Nlc3MuXG4vLy9cbi8vLyBAb3V0cHV0IElmIHRoZSBicmVha3BvaW50IGlzIFwiMHB4IGFuZCBsYXJnZXJcIiwgb3V0cHV0cyB0aGUgY29udGVudCBhcy1pcy4gT3RoZXJ3aXNlLCBvdXRwdXRzIHRoZSBjb250ZW50IHdyYXBwZWQgaW4gYSBtZWRpYSBxdWVyeS5cbkBtaXhpbiBicmVha3BvaW50KCR2YWx1ZSkge1xuICAkc3RyOiBicmVha3BvaW50KCR2YWx1ZSk7XG5cbiAgLy8gSWYgJHN0ciBpcyBzdGlsbCBhbiBlbXB0eSBzdHJpbmcsIG5vIG1lZGlhIHF1ZXJ5IGlzIG5lZWRlZFxuICBAaWYgJHN0ciA9PSAnJyB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cblxuICAvLyBPdGhlcndpc2UsIHdyYXAgdGhlIGNvbnRlbnQgaW4gYSBtZWRpYSBxdWVyeVxuICBAZWxzZSB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgI3skc3RyfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIENvbnZlcnMgdGhlIGJyZWFrcG9pbnRzIG1hcCB0byBhIFVSTC1lbmNvZGVkIHN0cmluZywgbGlrZSB0aGlzOiBga2V5MT12YWx1ZTEma2V5Mj12YWx1ZTJgLiBUaGUgdmFsdWUgaXMgdGhlbiBkcm9wcGVkIGludG8gdGhlIENTUyBmb3IgYSBzcGVjaWFsIGA8bWV0YT5gIHRhZywgd2hpY2ggaXMgcmVhZCBieSB0aGUgRm91bmRhdGlvbiBKYXZhU2NyaXB0LiBUaGlzIGlzIGhvdyB3ZSB0cmFuc2ZlciB2YWx1ZXMgZnJvbSBTYXNzIHRvIEphdmFTY3JpcHQsIHNvIHRoZXkgY2FuIGJlIGRlZmluZWQgaW4gb25lIHBsYWNlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gY29udmVydC5cbi8vL1xuLy8vIEByZXR1cm5zIHtTdHJpbmd9IEEgc3RyaW5nIGNvbnRhaW5pbmcgdGhlIG1hcCdzIGNvbnRlbnRzLlxuQGZ1bmN0aW9uIC16Zi1icC1zZXJpYWxpemUoJG1hcCkge1xuICAkc3RyOiAnJztcbiAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRtYXAge1xuICAgICRzdHI6ICRzdHIgKyAka2V5ICsgJz0nICsgLXpmLWJwLXRvLWVtKCR2YWx1ZSkgKyAnJic7XG4gIH1cbiAgJHN0cjogc3RyLXNsaWNlKCRzdHIsIDEsIC0yKTtcblxuICBAcmV0dXJuICRzdHI7XG59XG5cbi8vLyBGaW5kIHRoZSBuZXh0IGtleSBpbiBhIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHRyYXZlcnNlLlxuLy8vIEBwYXJhbSB7TWl4ZWR9ICRrZXkgLSBLZXkgdG8gdXNlIGFzIGEgc3RhcnRpbmcgcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TWl4ZWR9IFRoZSB2YWx1ZSBmb3IgdGhlIGtleSBhZnRlciBgJGtleWAsIGlmIGAka2V5YCB3YXMgZm91bmQuIElmIGAka2V5YCB3YXMgbm90IGZvdW5kLCBvciBgJGtleWAgd2FzIHRoZSBsYXN0IHZhbHVlIGluIHRoZSBtYXAsIHJldHVybnMgYG51bGxgLlxuQGZ1bmN0aW9uIC16Zi1tYXAtbmV4dCgkbWFwLCAka2V5KSB7XG5cbiAgLy8gU3RvcmUgdGhlIGtleXMgb2YgdGhlIG1hcCBhcyBhIGxpc3RcbiAgJHZhbHVlczogbWFwLWtleXMoJG1hcCk7XG5cbiAgJGk6IDA7XG5cbiAgLy8gSWYgdGhlIEtleSBFeGlzdHMsIEdldCB0aGUgaW5kZXggb2YgdGhlIGtleSB3aXRoaW4gdGhlIG1hcCBhbmQgYWRkIDEgdG8gaXQgZm9yIHRoZSBuZXh0IGJyZWFrcG9pbnQgaW4gdGhlIG1hcFxuICBAaWYgKG1hcC1oYXMta2V5KCRtYXAsICRrZXkpKSB7XG4gICAgJGk6IGluZGV4KCR2YWx1ZXMsICRrZXkpICsgMTtcbiAgfVxuXG4gIC8vIElmIHRoZSBrZXkgZG9lc24ndCBleGlzdCwgb3IgaXQncyB0aGUgbGFzdCBrZXkgaW4gdGhlIG1hcCwgcmV0dXJuIG51bGxcbiAgQGlmICgkaSA+IGxlbmd0aCgkbWFwKSBvciAkaSA9PSAwKSB7XG4gICAgQHJldHVybiBudWxsO1xuICB9XG4gIC8vIE90aGVyd2lzZSwgcmV0dXJuIHRoZSB2YWx1ZVxuICBAZWxzZSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsIG50aCgkdmFsdWVzLCAkaSkpO1xuICB9XG5cbn1cblxuLy8vIEdldCBhIHZhbHVlIGZvciBhIGJyZWFrcG9pbnQgZnJvbSBhIHJlc3BvbnNpdmUgY29uZmlnIG1hcC4gSWYgdGhlIGNvbmZpZyBtYXAgaGFzIHRoZSBrZXkgYCR2YWx1ZWAsIHRoZSBleGFjdCBicmVha3BvaW50IHZhbHVlIGlzIHJldHVybmVkLiBJZiB0aGUgY29uZmlnIG1hcCBkb2VzICpub3QqIGhhdmUgdGhlIGJyZWFrcG9pbnQsIHRoZSB2YWx1ZSBtYXRjaGluZyB0aGUgbmV4dCBsb3dlc3QgYnJlYWtwb2ludCBpbiB0aGUgY29uZmlnIG1hcCBpcyByZXR1cm5lZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gSW5wdXQgY29uZmlnIG1hcC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR2YWx1ZSAtIEJyZWFrcG9pbnQgbmFtZSB0byB1c2UuXG4vLy9cbi8vLyBAcmV0dXJuIHtNaXhlZH0gVGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZS5cbkBmdW5jdGlvbiAtemYtZ2V0LWJwLXZhbCgkbWFwLCAkdmFsdWUpIHtcbiAgLy8gQ2hlY2sgaWYgdGhlIGJyZWFrcG9pbnQgbmFtZSBleGlzdHMgZ2xvYmFsbHlcbiAgQGlmIG5vdCBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICR2YWx1ZSkge1xuICAgIEByZXR1cm4gbnVsbDtcbiAgfVxuICAvLyBDaGVjayBpZiB0aGUgYnJlYWtwb2ludCBuYW1lIGV4aXN0cyBpbiB0aGUgbG9jYWwgY29uZmlnIG1hcFxuICBAZWxzZSBpZiBtYXAtaGFzLWtleSgkbWFwLCAkdmFsdWUpIHtcbiAgICAvLyBJZiBpdCBkb2VzLCBqdXN0IHJldHVybiB0aGUgdmFsdWVcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJHZhbHVlKTtcbiAgfVxuICAvLyBPdGhlcndpc2UsIGZpbmQgdGhlIG5leHQgbG93ZXN0IGJyZWFrcG9pbnQgYW5kIHJldHVybiB0aGF0IHZhbHVlXG4gIEBlbHNlIHtcbiAgICAkYW5jaG9yOiBudWxsO1xuICAgICRmb3VuZDogZmFsc2U7XG5cbiAgICBAZWFjaCAka2V5LCAkdmFsIGluICRicmVha3BvaW50cyB7XG4gICAgICBAaWYgbm90ICRmb3VuZCB7XG4gICAgICAgIEBpZiBtYXAtaGFzLWtleSgkbWFwLCAka2V5KSB7XG4gICAgICAgICAgJGFuY2hvcjogJGtleTtcbiAgICAgICAgfVxuICAgICAgICBAaWYgJGtleSA9PSAkdmFsdWUge1xuICAgICAgICAgICRmb3VuZDogdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCAkYW5jaG9yKTtcbiAgfVxufVxuXG4vLyBMZWdhY3kgYnJlYWtwb2ludCB2YXJpYWJsZXNcbi8vIFRoZXNlIHdpbGwgYmUgcmVtb3ZlZCBpbiA2LjNcbiRzbWFsbC11cDogbnVsbDtcbiRzbWFsbC1vbmx5OiBudWxsO1xuJG1lZGl1bS11cDogbnVsbDtcbiRtZWRpdW0tb25seTogbnVsbDtcbiRsYXJnZS11cDogbnVsbDtcbiRsYXJnZS1vbmx5OiBudWxsO1xuJHhsYXJnZS11cDogbnVsbDtcbiR4bGFyZ2Utb25seTogbnVsbDtcbiR4eGxhcmdlLXVwOiBudWxsO1xuJHh4bGFyZ2Utb25seTogbnVsbDtcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgc21hbGwpIHtcbiAgJHNtYWxsLXVwOiBzY3JlZW47XG4gICRzbWFsbC1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChzbWFsbCBvbmx5KX0nKTtcbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbWVkaXVtKSB7XG4gICRtZWRpdW0tdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSl9Jyk7XG4gICRtZWRpdW0tb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtIG9ubHkpfScpO1xufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBsYXJnZSkge1xuICAkbGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlKX0nKTtcbiAgJGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlIG9ubHkpfScpO1xufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCB4bGFyZ2UpIHtcbiAgJHhsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlKX0nKTtcbiAgJHhsYXJnZS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2Ugb25seSl9Jyk7XG59XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHh4bGFyZ2UpIHtcbiAgJHh4bGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHh4bGFyZ2UpfScpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gU2V0IHRoZSB3aWR0aCBvZiBhIGdyaWQgY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJHdpZHRoIFskZ3JpZC1jb2x1bW4tY291bnRdIC0gV2lkdGggdG8gbWFrZSB0aGUgY29sdW1uLiBZb3UgY2FuIHBhc3MgaW4gYW55IHZhbHVlIGFjY2VwdGVkIGJ5IHRoZSBgZ3JpZC1jb2x1bW4oKWAgZnVuY3Rpb24sIHN1Y2ggYXMgYDZgLCBgNTAlYCwgb3IgYDEgb2YgMmAuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tc2l6ZShcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudFxuKSB7XG4gIHdpZHRoOiBncmlkLWNvbHVtbigkY29sdW1ucyk7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1zaXplKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1zaXplXG5AbWl4aW4gZ3JpZC1jb2wtc2l6ZShcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudFxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXNpemUoJGNvbHVtbnMpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gQ2FsY3VsYXRlcyB0aGUgd2lkdGggb2YgYSBjb2x1bW4gYmFzZWQgb24gYSBudW1iZXIgb2YgZmFjdG9ycy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRjb2x1bW5zXG4vLy8gICBXaWR0aCBvZiB0aGUgY29sdW1uLiBBY2NlcHRzIG11bHRpcGxlIHZhbHVlczpcbi8vLyAgIC0gQSBwZXJjZW50YWdlIHZhbHVlIHdpbGwgbWFrZSB0aGUgY29sdW1uIHRoYXQgZXhhY3Qgc2l6ZS5cbi8vLyAgIC0gQSBzaW5nbGUgZGlnaXQgd2lsbCBtYWtlIHRoZSBjb2x1bW4gc3BhbiB0aGF0IG51bWJlciBvZiBjb2x1bW5zIHdpZGUsIHRha2luZyBpbnRvIGFjY291bnQgdGhlIGNvbHVtbiBjb3VudCBvZiB0aGUgcGFyZW50IHJvdy5cbi8vLyAgIC0gQSBzdHJpbmcgb2YgdGhlIGZvcm1hdCBcInggb2YgeVwiIHdpbGwgbWFrZSBhIGNvbHVtbiB0aGF0IGlzICp4KiBjb2x1bW5zIHdpZGUsIGFzc3VtaW5nICp5KiB0b3RhbCBjb2x1bW5zIGZvciB0aGUgcGFyZW50LlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gQSBjYWxjdWxhdGVkIHBlcmNlbnRhZ2UgdmFsdWUuXG5AZnVuY3Rpb24gZ3JpZC1jb2x1bW4oJGNvbHVtbnMpIHtcbiAgJHdpZHRoOiAwJTtcblxuICAvLyBQYXJzaW5nIHBlcmNlbnRzLCBkZWNpbWFscywgYW5kIGNvbHVtbiBjb3VudHNcbiAgQGlmIHR5cGUtb2YoJGNvbHVtbnMpID09ICdudW1iZXInIHtcbiAgICBAaWYgdW5pdCgkY29sdW1ucykgPT0gJyUnIHtcbiAgICAgICR3aWR0aDogJGNvbHVtbnM7XG4gICAgfVxuICAgIEBlbHNlIGlmICRjb2x1bW5zIDwgMSB7XG4gICAgICAkd2lkdGg6IHBlcmNlbnRhZ2UoJGNvbHVtbnMpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkd2lkdGg6IHBlcmNlbnRhZ2UoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW4tY291bnQpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFBhcnNpbmcgXCJuIG9mIG5cIiBleHByZXNzaW9uc1xuICBAZWxzZSBpZiB0eXBlLW9mKCRjb2x1bW5zKSA9PSAnbGlzdCcge1xuICAgIEBpZiBsZW5ndGgoJGNvbHVtbnMpICE9IDMge1xuICAgICAgQGVycm9yICdXcm9uZyBzeW50YXggZm9yIGdyaWQtY29sdW1uKCkuIFVzZSB0aGUgZm9ybWF0IFwibiBvZiBuXCIuJztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJHdpZHRoOiBwZXJjZW50YWdlKG50aCgkY29sdW1ucywgMSkgLyBudGgoJGNvbHVtbnMsIDMpKTtcbiAgICB9XG4gIH1cblxuICAvLyBBbnl0aGluZyBlbHNlIGlzIGluY29ycmVjdFxuICBAZWxzZSB7XG4gICAgQGVycm9yICdXcm9uZyBzeW50YXggZm9yIGdyaWQtY29sdW1uKCkuIFVzZSBhIG51bWJlciwgZGVjaW1hbCwgcGVyY2VudGFnZSwgb3IgXCJuIG9mIG5cIi4nO1xuICB9XG5cbiAgQHJldHVybiAkd2lkdGg7XG59XG5cbi8vLyBDcmVhdGVzIGEgZ3JpZCBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge01peGVkfSAkY29sdW1ucyBbJGdyaWQtY29sdW1uLWNvdW50XSAtIFdpZHRoIG9mIHRoZSBjb2x1bW4uIFJlZmVyIHRvIHRoZSBgZ3JpZC1jb2x1bW4oKWAgZnVuY3Rpb24gdG8gc2VlIHBvc3NpYmxlIHZhbHVlcy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGd1dHRlciBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBTcGFjaW5nIGJldHdlZW4gY29sdW1ucy5cbkBtaXhpbiBncmlkLWNvbHVtbihcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudCxcbiAgJGd1dHRlcjogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXNpemUoJGNvbHVtbnMpO1xuICBmbG9hdDogJGdsb2JhbC1sZWZ0O1xuXG4gIC8vIEd1dHRlcnNcbiAgQGlmIHR5cGUtb2YoJGd1dHRlcikgPT0gJ21hcCcge1xuICAgIEBlYWNoICRicmVha3BvaW50LCAkdmFsdWUgaW4gJGd1dHRlciB7XG4gICAgICAkcGFkZGluZzogcmVtLWNhbGMoJHZhbHVlKSAvIDI7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJyZWFrcG9pbnQpIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZztcbiAgICAgICAgcGFkZGluZy1yaWdodDogJHBhZGRpbmc7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmIHR5cGUtb2YoJGd1dHRlcikgPT0gJ251bWJlcicgYW5kIHN0cmlwLXVuaXQoJGd1dHRlcikgPiAwIHtcbiAgICAkcGFkZGluZzogcmVtLWNhbGMoJGd1dHRlcikgLyAyO1xuICAgIHBhZGRpbmctbGVmdDogJHBhZGRpbmc7XG4gICAgcGFkZGluZy1yaWdodDogJHBhZGRpbmc7XG4gIH1cblxuICAvLyBMYXN0IGNvbHVtbiBhbGlnbm1lbnRcbiAgQGlmICRncmlkLWNvbHVtbi1hbGlnbi1lZGdlIHtcbiAgICAmOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6ICRnbG9iYWwtcmlnaHQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgZ3JpZCBjb2x1bW4gcm93LiBUaGlzIGlzIHRoZSBlcXVpdmFsZW50IG9mIGFkZGluZyBgLnJvd2AgYW5kIGAuY29sdW1uYCB0byB0aGUgc2FtZSBlbGVtZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRndXR0ZXIgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gV2lkdGggb2YgdGhlIGd1dHRlcnMgb24gZWl0aGVyIHNpZGUgb2YgdGhlIGNvbHVtbiByb3cuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tcm93KFxuICAkZ3V0dGVyOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1yb3c7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uKCRndXR0ZXI6ICRndXR0ZXIpO1xuXG4gICYsXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gIH1cbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtblxuQGZ1bmN0aW9uIGdyaWQtY29sKFxuICAkY29sdW1uczogJGdyaWQtY29sdW1uLWNvdW50XG4pIHtcbiAgQHJldHVybiBncmlkLWNvbHVtbigkY29sdW1ucyk7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW5cbkBtaXhpbiBncmlkLWNvbChcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudCxcbiAgJGd1dHRlcjogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uKCRjb2x1bW5zLCAkZ3V0dGVyKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLXJvdygpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tcm93XG5AbWl4aW4gZ3JpZC1jb2wtcm93KFxuICAkZ3V0dGVyOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tcm93KCRndXR0ZXIpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gUmVwb3NpdGlvbiBhIGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfEtleXdvcmR9ICRwb3NpdGlvbiAtIERpcmVjdGlvbiBhbmQgYW1vdW50IHRvIG1vdmUuIFRoZSBjb2x1bW4gd2lsbCBtb3ZlIGVxdWFsIHRvIHRoZSB3aWR0aCBvZiB0aGUgY29sdW1uIGNvdW50IHNwZWNpZmllZC4gQSBwb3NpdGl2ZSBudW1iZXIgd2lsbCBwdXNoIHRoZSBjb2x1bW4gdG8gdGhlIHJpZ2h0LCB3aGlsZSBhIG5lZ2F0aXZlIG51bWJlciB3aWxsIHB1bGwgaXQgdG8gdGhlIGxlZnQuIFNldCB0byBjZW50ZXIgdG8gY2VudGVyIHRoZSBjb2x1bW4uXG5AbWl4aW4gZ3JpZC1jb2x1bW4tcG9zaXRpb24oJHBvc2l0aW9uKSB7XG4gIEBpZiB0eXBlLW9mKCRwb3NpdGlvbikgPT0gJ251bWJlcicge1xuICAgICRvZmZzZXQ6IHBlcmNlbnRhZ2UoJHBvc2l0aW9uIC8gJGdyaWQtY29sdW1uLWNvdW50KTtcblxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAjeyRnbG9iYWwtbGVmdH06ICRvZmZzZXQ7XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IGNlbnRlciB7XG4gICAgJiwgJjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgfVxuICBAZWxzZSB7XG4gICAgQHdhcm4gJ1dyb25nIHN5bnRheCBmb3IgZ3JpZC1jb2x1bW4tcG9zaXRpb24oKS4gRW50ZXIgYSBwb3NpdGl2ZSBvciBuZWdhdGl2ZSBudW1iZXIsIG9yIGNlbnRlci4nO1xuICB9XG59XG5cbi8vLyBSZXNldCBhIHBvc2l0aW9uIGRlZmluaXRpb24uXG5AbWl4aW4gZ3JpZC1jb2x1bW4tdW5wb3NpdGlvbiB7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIGZsb2F0OiBsZWZ0O1xufVxuXG4vLy8gT2Zmc2V0cyBhIGNvbHVtbiB0byB0aGUgcmlnaHQgYnkgYCRuYCBjb2x1bW5zLlxuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRuIC0gV2lkdGggdG8gb2Zmc2V0IGJ5LiBZb3UgY2FuIHBhc3MgaW4gYW55IHZhbHVlIGFjY2VwdGVkIGJ5IHRoZSBgZ3JpZC1jb2x1bW4oKWAgbWl4aW4sIHN1Y2ggYXMgYDZgLCBgNTAlYCwgb3IgYDEgb2YgMmAuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tb2Zmc2V0KCRuKSB7XG4gIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IGdyaWQtY29sdW1uKCRuKTtcbn1cblxuLy8vIERpc2FibGUgdGhlIGRlZmF1bHQgYmVoYXZpb3Igb2YgdGhlIGxhc3QgY29sdW1uIGluIGEgcm93IGFsaWduaW5nIHRvIHRoZSBvcHBvc2l0ZSBlZGdlLlxuQG1peGluIGdyaWQtY29sdW1uLWVuZCB7XG4gIC8vIFRoaXMgZXh0cmEgc3BlY2lmaWNpdHkgaXMgcmVxdWlyZWQgZm9yIHRoZSBwcm9wZXJ0eSB0byBiZSBhcHBsaWVkXG4gICY6bGFzdC1jaGlsZDpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogJGdsb2JhbC1sZWZ0O1xuICB9XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1wb3NpdGlvbigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tcG9zaXRpb25cbkBtaXhpbiBncmlkLWNvbC1wb3MoJHBvc2l0aW9uKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXBvc2l0aW9uKCRwb3NpdGlvbik7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi11bnBvc2l0aW9uKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi11bnBvc2l0aW9uXG5AbWl4aW4gZ3JpZC1jb2wtdW5wb3Mge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi11bnBvc2l0aW9uO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tb2Zmc2V0KClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1vZmZzZXRcbkBtaXhpbiBncmlkLWNvbC1vZmYoJG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tb2Zmc2V0KCRuKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLWVuZCgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tZW5kXG5AbWl4aW4gZ3JpZC1jb2wtZW5kIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tZW5kO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gU2l6ZXMgY2hpbGQgZWxlbWVudHMgc28gdGhhdCBgJG5gIG51bWJlciBvZiBpdGVtcyBhcHBlYXIgb24gZWFjaCByb3cuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG4gLSBOdW1iZXIgb2YgZWxlbWVudHMgdG8gZGlzcGxheSBwZXIgcm93LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWycuY29sdW1uJ10gLSBTZWxlY3RvcihzKSB0byB1c2UgZm9yIGNoaWxkIGVsZW1lbnRzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRndXR0ZXJcbi8vLyAgIFRoZSBndXR0ZXIgdG8gYXBwbHkgdG8gY2hpbGQgZWxlbWVudHMuIEFjY2VwdHMgbXVsdGlwbGUgdmFsdWVzOlxuLy8vICAgLSAkZ3JpZC1jb2x1bW4tZ3V0dGVyIHdpbGwgdXNlIHRoZSB2YWx1ZXMgaW4gdGhlICRncmlkLWNvbHVtbi1ndXR0ZXIgbWFwLCBpbmNsdWRpbmcgYnJlYWtwb2ludCBzaXplcy5cbi8vLyAgIC0gQSBmaXhlZCBudW1lcmljIHZhbHVlIHdpbGwgYXBwbHkgdGhpcyBndXR0ZXIgdG8gYWxsIGJyZWFrcG9pbnRzLlxuQG1peGluIGdyaWQtbGF5b3V0KFxuICAkbixcbiAgJHNlbGVjdG9yOiAnLmNvbHVtbicsXG4gICRndXR0ZXI6IG51bGxcbikge1xuICAmID4gI3skc2VsZWN0b3J9IHtcbiAgICB3aWR0aDogcGVyY2VudGFnZSgxLyRuKTtcbiAgICBmbG9hdDogJGdsb2JhbC1sZWZ0O1xuXG4gICAgLy8gSWYgYSAkZ3V0dGVyIHZhbHVlIGlzIHBhc3NlZFxuICAgIEBpZigkZ3V0dGVyKSB7XG4gICAgICAvLyBHdXR0ZXJzXG4gICAgICBAaWYgdHlwZS1vZigkZ3V0dGVyKSA9PSAnbWFwJyB7XG4gICAgICAgIEBlYWNoICRicmVha3BvaW50LCAkdmFsdWUgaW4gJGd1dHRlciB7XG4gICAgICAgICAgJHBhZGRpbmc6IHJlbS1jYWxjKCR2YWx1ZSkgLyAyO1xuXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnJlYWtwb2ludCkge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZztcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2UgaWYgdHlwZS1vZigkZ3V0dGVyKSA9PSAnbnVtYmVyJyBhbmQgc3RyaXAtdW5pdCgkZ3V0dGVyKSA+IDAge1xuICAgICAgICAkcGFkZGluZzogcmVtLWNhbGMoJGd1dHRlcikgLyAyO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTtcbiAgICB9XG5cbiAgICAmOm50aC1vZi10eXBlKCN7JG59bisxKSB7XG4gICAgICBjbGVhcjogYm90aDtcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgZXh0cmEgQ1NTIHRvIGJsb2NrIGdyaWQgY2hpbGRyZW4gc28gdGhlIGxhc3QgaXRlbXMgaW4gdGhlIHJvdyBjZW50ZXIgYXV0b21hdGljYWxseS4gQXBwbHkgdGhpcyB0byB0aGUgY29sdW1ucywgbm90IHRoZSByb3cuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG4gLSBOdW1iZXIgb2YgaXRlbXMgdGhhdCBhcHBlYXIgaW4gZWFjaCByb3cuXG5AbWl4aW4gZ3JpZC1sYXlvdXQtY2VudGVyLWxhc3QoJG4pIHtcbiAgQGZvciAkaSBmcm9tIDEgdG8gJG4ge1xuICAgIEBpZiAkaSA9PSAxIHtcbiAgICAgICY6bnRoLWNoaWxkKCN7JG59bisxKTpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICgxMDAgLSAxMDAvJG4gKiAkaSkgLyAyICogMSU7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICY6bnRoLWNoaWxkKCN7JG59bisxKTpudGgtbGFzdC1jaGlsZCgjeyRpfSkge1xuICAgICAgICBtYXJnaW4tbGVmdDogKDEwMCAtIDEwMC8kbiAqICRpKSAvIDIgKiAxJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHktYmFzZVxuLy8vL1xuXG4vLyBCYXNlIFR5cG9ncmFwaHlcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG4vLyBUaGVzZSBhcmUgc3R5bGVzIGFwcGxpZWQgdG8gYmFzaWMgSFRNTCB0YWdzLCBpbmNsdWRpbmc6XG4vLyAgIC0gUGFyYWdyYXBocyA8cD5cbi8vICAgLSBCb2xkL2l0YWxpY3MgPGI+IDxzdHJvbmc+IDxpPiA8ZW0+XG4vLyAgIC0gU21hbGwgdGV4dCA8c21hbGw+XG4vLyAgIC0gSGVhZGluZ3MgPGgxPuKAlDxoNj5cbi8vICAgLSBBbmNob3JzIDxhPlxuLy8gICAtIERpdmlkZXJzIDxocj5cbi8vICAgLSBMaXN0cyA8dWw+IDxvbD4gPGRsPlxuLy8gICAtIEJsb2NrcXVvdGVzIDxibG9ja3F1b3RlPlxuLy8gICAtIENvZGUgYmxvY2tzIDxjb2RlPlxuLy8gICAtIEFiYnJldmlhdGlvbnMgPGFiYnI+XG4vLyAgIC0gQ2l0YXRpb25zIDxjaXRlPlxuLy8gICAtIEtleXN0cm9rZXMgPGtiZD5cblxuLy8vIEZvbnQgZmFtaWx5IGZvciBoZWFkZXIgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGhlYWRlci1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdHlsZSAoZS5nLiBpdGFsaWNpemVkKSBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGhlYWRlci1mb250LXN0eWxlOiBub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHN0YWNrIHVzZWQgZm9yIGVsZW1lbnRzIHRoYXQgdXNlIG1vbm9zcGFjZWQgdHlwZSwgc3VjaCBhcyBjb2RlIHNhbXBsZXNcbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiBDb25zb2xhcywgJ0xpYmVyYXRpb24gTW9ubycsIENvdXJpZXIsIG1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIFNpemVzIG9mIGhlYWRpbmdzIGF0IHZhcmlvdXMgc2NyZWVuIHNpemVzLiBFYWNoIGtleSBpcyBhIGJyZWFrcG9pbnQsIGFuZCBlYWNoIHZhbHVlIGlzIGEgbWFwIG9mIGhlYWRpbmcgc2l6ZXMuXG4vLy8gQHR5cGUgTWFwXG4kaGVhZGVyLXNpemVzOiAoXG4gIHNtYWxsOiAoXG4gICAgJ2gxJzogMjQsXG4gICAgJ2gyJzogMjAsXG4gICAgJ2gzJzogMTksXG4gICAgJ2g0JzogMTgsXG4gICAgJ2g1JzogMTcsXG4gICAgJ2g2JzogMTYsXG4gICksXG4gIG1lZGl1bTogKFxuICAgICdoMSc6IDQ4LFxuICAgICdoMic6IDQwLFxuICAgICdoMyc6IDMxLFxuICAgICdoNCc6IDI1LFxuICAgICdoNSc6IDIwLFxuICAgICdoNic6IDE2LFxuICApLFxuKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRoZWFkZXItY29sb3I6IGluaGVyaXQgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJGhlYWRlci1saW5laGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgcmVuZGVyaW5nIG1ldGhvZCBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGhlYWRlci10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIGA8c21hbGw+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzbWFsbC1mb250LXNpemU6IDgwJSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGA8c21hbGw+YCBlbGVtZW50cyB3aGVuIHBsYWNlZCBpbnNpZGUgaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJGhlYWRlci1zbWFsbC1mb250LWNvbG9yOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBvZiB0ZXh0IGluc2lkZSBgPHA+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYXJhZ3JhcGgtbGluZWhlaWdodDogMS42ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBwYXJhZ3JhcGhzLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCByZW5kZXJpbmcgbWV0aG9kIGZvciBwYXJhZ3JhcGggdGV4dC5cbi8vLyBAdHlwZSBTdHJpbmdcbiRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIENvbG9yXG4kY29kZS1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbHkgb2YgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRjb2RlLWZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgdGV4dCBpbiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kY29kZS1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjb2RlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgTGlzdFxuJGNvZGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBhcm91bmQgdGV4dCBvZiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGNvZGUtcGFkZGluZzogcmVtLWNhbGMoMiA1IDEpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgbGlua3MuXG4vLy8gQHR5cGUgQ29sb3JcbiRhbmNob3ItY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgbGlua3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiRhbmNob3ItY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRhbmNob3ItY29sb3IsICRsaWdodG5lc3M6IC0xNCUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGRlb2NyYXRpb24gZm9yIGxpbmtzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb246IG5vbmUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgZGVjb3JhdGlvbiBmb3IgbGlua3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgU3RyaW5nXG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3Zlcjogbm9uZSAhZGVmYXVsdDtcblxuLy8vIE1heGltdW0gd2lkdGggb2YgYSBkaXZpZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJGhyLXdpZHRoOiAkZ2xvYmFsLXdpZHRoICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgZm9yIGEgZGl2aWRlci5cbi8vLyBAdHlwZSBMaXN0XG4kaHItYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gZm9yIGEgZGl2aWRlci5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kaHItbWFyZ2luOiByZW0tY2FsYygyMCkgYXV0byAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IGZvciBpdGVtcyBpbiBhIGxpc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1saW5laGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIGZvciBpdGVtcyBpbiBhIGxpc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1tYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b20gIWRlZmF1bHQ7XG5cbi8vLyBCdWxsZXQgdHlwZSB0byB1c2UgZm9yIHVub3JkZXJlZCBsaXN0cyAoZS5nLiwgYHNxdWFyZWAsIGBjaXJjbGVgLCBgZGlzY2ApLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGxpc3Qtc3R5bGUtdHlwZTogZGlzYyAhZGVmYXVsdDtcblxuLy8vIFBvc2l0aW9uaW5nIGZvciBidWxsZXRzIG9uIHVub3JkZXJlZCBsaXN0IGl0ZW1zLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGUgIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0IChvciByaWdodCkgbWFyZ2luIGZvciBsaXN0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LXNpZGUtbWFyZ2luOiAxLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gTGVmdCAob3IgcmlnaHQpIG1hcmdpbiBmb3IgYSBsaXN0IGluc2lkZSBhIGxpc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1uZXN0ZWQtc2lkZS1tYXJnaW46IDEuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIGZvciBgPGRsPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IGZvciBgPGR0PmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kZGVmbmxpc3QtdGVybS13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gYDxkdD5gIGFuZCBgPGRkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tOiAwLjNyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGA8YmxvY2txdW90ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4kYmxvY2txdW90ZS1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgaW5zaWRlIGEgYDxibG9ja3F1b3RlPmAgZWxlbWVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kYmxvY2txdW90ZS1wYWRkaW5nOiByZW0tY2FsYyg5IDIwIDAgMTkpICFkZWZhdWx0O1xuXG4vLy8gU2lkZSBib3JkZXIgZm9yIGA8YmxvY2txdW90ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIExpc3RcbiRibG9ja3F1b3RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBmb3IgYDxjaXRlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2l0ZS1mb250LXNpemU6IHJlbS1jYWxjKDEzKSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3IgZm9yIGA8Y2l0ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY2l0ZS1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgZmFtaWx5IGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRrZXlzdHJva2UtZm9udDogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3IgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRrZXlzdHJva2UtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRrZXlzdHJva2UtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRrZXlzdHJva2UtcGFkZGluZzogcmVtLWNhbGMoMiA0IDApICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4ka2V5c3Ryb2tlLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gYm9yZGVyIHN0eWxlIGZvciBgPGFiYnI+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBMaXN0XG4kYWJici11bmRlcmxpbmU6IDFweCBkb3R0ZWQgJGJsYWNrICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi10eXBvZ3JhcGh5LWJhc2Uge1xuICAvLyBUeXBvZ3JhcGh5IHJlc2V0c1xuICBkaXYsXG4gIGRsLFxuICBkdCxcbiAgZGQsXG4gIHVsLFxuICBvbCxcbiAgbGksXG4gIGgxLFxuICBoMixcbiAgaDMsXG4gIGg0LFxuICBoNSxcbiAgaDYsXG4gIHByZSxcbiAgZm9ybSxcbiAgcCxcbiAgYmxvY2txdW90ZSxcbiAgdGgsXG4gIHRkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC8vIFBhcmFncmFwaHNcbiAgcCB7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIGxpbmUtaGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XG4gICAgbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuICAgIHRleHQtcmVuZGVyaW5nOiAkcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nO1xuICB9XG5cbiAgLy8gRW1waGFzaXplZCB0ZXh0XG4gIGVtLFxuICBpIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBTdHJvbmcgdGV4dFxuICBzdHJvbmcsXG4gIGIge1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gU21hbGwgdGV4dFxuICBzbWFsbCB7XG4gICAgZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gSGVhZGluZ3NcbiAgaDEsXG4gIGgyLFxuICBoMyxcbiAgaDQsXG4gIGg1LFxuICBoNiB7XG4gICAgZm9udC1mYW1pbHk6ICRoZWFkZXItZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICRoZWFkZXItZm9udC13ZWlnaHQ7XG4gICAgZm9udC1zdHlsZTogJGhlYWRlci1mb250LXN0eWxlO1xuICAgIGNvbG9yOiAkaGVhZGVyLWNvbG9yO1xuICAgIHRleHQtcmVuZGVyaW5nOiAkaGVhZGVyLXRleHQtcmVuZGVyaW5nO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogJGhlYWRlci1tYXJnaW4tYm90dG9tO1xuICAgIGxpbmUtaGVpZ2h0OiAkaGVhZGVyLWxpbmVoZWlnaHQ7XG5cbiAgICBzbWFsbCB7XG4gICAgICBjb2xvcjogJGhlYWRlci1zbWFsbC1mb250LWNvbG9yO1xuICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gSGVhZGluZyBzaXplc1xuICBAZWFjaCAkc2l6ZSwgJGhlYWRlcnMgaW4gJGhlYWRlci1zaXplcyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgQGVhY2ggJGhlYWRlciwgJGZvbnQtc2l6ZSBpbiAkaGVhZGVycyB7XG4gICAgICAgICN7JGhlYWRlcn0ge1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGZvbnQtc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBMaW5rc1xuICBhIHtcbiAgICBjb2xvcjogJGFuY2hvci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogJGFuY2hvci1jb2xvci1ob3ZlcjtcbiAgICAgIEBpZiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3ZlciAhPSAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbiB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICB9XG4gIH1cblxuICAvLyBIb3Jpem9udGFsIHJ1bGVcbiAgaHIge1xuICAgIG1heC13aWR0aDogJGhyLXdpZHRoO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgICBib3JkZXItYm90dG9tOiAkaHItYm9yZGVyO1xuICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgIG1hcmdpbjogJGhyLW1hcmdpbjtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxuXG4gIC8vIExpc3RzXG4gIHVsLFxuICBvbCxcbiAgZGwge1xuICAgIGxpbmUtaGVpZ2h0OiAkbGlzdC1saW5laGVpZ2h0O1xuICAgIG1hcmdpbi1ib3R0b206ICRsaXN0LW1hcmdpbi1ib3R0b207XG4gICAgbGlzdC1zdHlsZS1wb3NpdGlvbjogJGxpc3Qtc3R5bGUtcG9zaXRpb247XG4gIH1cblxuICAvLyBMaXN0IGl0ZW1zXG4gIGxpIHtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBVbm9yZGVyZWQgbGlzdHNcbiAgdWwge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogJGxpc3Qtc3R5bGUtdHlwZTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1zaWRlLW1hcmdpbjtcbiAgfVxuXG4gIC8vIE9yZGVyZWQgbGlzdHNcbiAgb2wge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRsaXN0LXNpZGUtbWFyZ2luO1xuICB9XG5cbiAgLy8gTmVzdGVkIHVub3JkZXJlZC9vcmRlcmVkIGxpc3RzXG4gIHVsLCBvbCB7XG4gICAgJiAmIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gRGVmaW5pdGlvbiBsaXN0c1xuICBkbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGRlZm5saXN0LW1hcmdpbi1ib3R0b207XG5cbiAgICBkdCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAkZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tO1xuICAgICAgZm9udC13ZWlnaHQ6ICRkZWZubGlzdC10ZXJtLXdlaWdodDtcbiAgICB9XG4gIH1cblxuICAvLyBCbG9ja3F1b3Rlc1xuICBibG9ja3F1b3RlIHtcbiAgICBtYXJnaW46IDAgMCAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG4gICAgcGFkZGluZzogJGJsb2NrcXVvdGUtcGFkZGluZztcbiAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAkYmxvY2txdW90ZS1ib3JkZXI7XG5cbiAgICAmLCBwIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XG4gICAgICBjb2xvcjogJGJsb2NrcXVvdGUtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLy8gQ2l0YXRpb25zXG4gIGNpdGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogJGNpdGUtZm9udC1zaXplO1xuICAgIGNvbG9yOiAkY2l0ZS1jb2xvcjtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICdcXDIwMTQgXFwwMDIwJztcbiAgICB9XG4gIH1cblxuICAvLyBBYmJyZXZpYXRpb25zXG4gIGFiYnIge1xuICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuICAgIGN1cnNvcjogaGVscDtcbiAgICBib3JkZXItYm90dG9tOiAkYWJici11bmRlcmxpbmU7XG4gIH1cblxuICAvLyBDb2RlXG4gIGNvZGUge1xuICAgIGZvbnQtZmFtaWx5OiAkY29kZS1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJGNvZGUtZm9udC13ZWlnaHQ7XG4gICAgY29sb3I6ICRjb2RlLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2RlLWJhY2tncm91bmQ7XG4gICAgYm9yZGVyOiAkY29kZS1ib3JkZXI7XG4gICAgcGFkZGluZzogJGNvZGUtcGFkZGluZztcbiAgfVxuXG4gIC8vIEtleXN0cm9rZXNcbiAga2JkIHtcbiAgICBwYWRkaW5nOiAka2V5c3Ryb2tlLXBhZGRpbmc7XG4gICAgbWFyZ2luOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRrZXlzdHJva2UtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGtleXN0cm9rZS1jb2xvcjtcbiAgICBmb250LWZhbWlseTogJGtleXN0cm9rZS1mb250O1xuXG4gICAgQGlmIGhhcy12YWx1ZSgka2V5c3Ryb2tlLXJhZGl1cykge1xuICAgICAgYm9yZGVyLXJhZGl1czogJGtleXN0cm9rZS1yYWRpdXM7XG4gICAgfVxuICB9XG59XG4iLCIkYnJhbmQtZm91bmRhdGlvbi1wcmltYXJ5LWNvbG9yOiAjMjE5OWU4O1xuJGJyYW5kLWNvbG9yLTE6ICMwMDczQjI7XG4kYnJhbmQtY29sb3ItMS10cmFuczogcmdiYSgwLCAxMTUsIDE3OCwgMC44Mik7XG4kYnJhbmQtY29sb3ItMjogIzAwQTVENTtcbiRicmFuZC1jb2xvci0zOiAjNDE4REI5O1xuJGJyYW5kLWNvbG9yLTQ6ICMyQjY4Njk7IiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeS1oZWxwZXJzXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgbGVhZCBwYXJhZ3JhcGhzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxlYWQtZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZSAqIDEuMjUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGxpbmUgaGVpZ2h0IGZvciBsZWFkIHBhcmFncmFwaHMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kbGVhZC1saW5laGVpZ2h0OiAxLjYgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGxpbmUgaGVpZ2h0IGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN1YmhlYWRlci1saW5laGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRzdWJoZWFkZXItY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgd2VpZ2h0IGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJHN1YmhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0b3AgbWFyZ2luIGZvciBzdWJoaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJoZWFkZXItbWFyZ2luLXRvcDogMC4ycmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luIGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3Igc3RhdGlzdGljIG51bWJlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3RhdC1mb250LXNpemU6IDIuNXJlbSAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tdHlwb2dyYXBoeS1oZWxwZXJzIHtcbiAgLy8gVXNlIHRvIGNyZWF0ZSBhIHN1YmhlYWRpbmcgdW5kZXIgYSBtYWluIGhlYWRlclxuICAvLyBNYWtlIHN1cmUgeW91IHBhaXIgdGhlIHR3byBlbGVtZW50cyBpbiBhIDxoZWFkZXI+IGVsZW1lbnQsIGxpa2UgdGhpczpcbiAgLy8gPGhlYWRlcj5cbiAgLy8gICA8aDE+SGVhZGluZzwvaDE+XG4gIC8vICAgPGgyPlN1YmhlYWRpbmc8L2gyPlxuICAvLyA8L2hlYWRlcj5cbiAgLnN1YmhlYWRlciB7XG4gICAgbWFyZ2luLXRvcDogJHN1YmhlYWRlci1tYXJnaW4tdG9wO1xuICAgIG1hcmdpbi1ib3R0b206ICRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTtcbiAgICBmb250LXdlaWdodDogJHN1YmhlYWRlci1mb250LXdlaWdodDtcbiAgICBsaW5lLWhlaWdodDogJHN1YmhlYWRlci1saW5laGVpZ2h0O1xuICAgIGNvbG9yOiAkc3ViaGVhZGVyLWNvbG9yO1xuICB9XG5cbiAgLy8gVXNlIHRvIHN0eWxlIGFuIGludHJvZHVjdG9yeSBsZWFkLCBkZWNrLCBibHVyYiwgZXRjLlxuICAubGVhZCB7XG4gICAgZm9udC1zaXplOiAkbGVhZC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRsZWFkLWxpbmVoZWlnaHQ7XG4gIH1cblxuICAvLyBVc2UgdG8gc3R5bGUgYSBsYXJnZSBudW1iZXIgdG8gZGlzcGxheSBhIHN0YXRpc3RpY1xuICAuc3RhdCB7XG4gICAgZm9udC1zaXplOiAkc3RhdC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgICBwICsgJiB7XG4gICAgICBtYXJnaW4tdG9wOiAtMXJlbTtcbiAgICB9XG4gIH1cblxuICAvLyBVc2UgdG8gcmVtb3ZlIHRoZSBidWxsZXRzIGZyb20gYW4gdW5vcmRlcmVkIGxpc3RcbiAgLm5vLWJ1bGxldCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQG1peGluIGZvdW5kYXRpb24tdGV4dC1hbGlnbm1lbnQge1xuICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICBAZWFjaCAkYWxpZ24gaW4gKGxlZnQsIHJpZ2h0LCBjZW50ZXIsIGp1c3RpZnkpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tdGV4dC0jeyRhbGlnbn0ge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogJGFsaWduO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgLnRleHQtI3skYWxpZ259IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246ICRhbGlnbjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8gSWYgYHRydWVgLCBhbGwgZWxlbWVudHMgd2lsbCBoYXZlIHRyYW5zcGFyZW50IGJhY2tncm91bmRzIHdoZW4gcHJpbnRlZCwgdG8gc2F2ZSBvbiBpbmsuXG4vLy8gQHR5cGUgQm9vbGVhblxuLy8vIEBncm91cCBnbG9iYWxcbiRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8gc2Nzcy1saW50OmRpc2FibGUgYWxsXG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByaW50LXN0eWxlcyB7XG4gIC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4gIEBtZWRpYSBwcmludCB7XG4gICAgKiB7XG4gICAgICBAaWYgJHByaW50LXRyYW5zcGFyZW50LWJhY2tncm91bmRzIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgIH1cblxuICAgICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7IC8vIEJsYWNrIHByaW50cyBmYXN0ZXI6IGg1YnAuY29tL3NcbiAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAgIC5oaWRlLWZvci1wcmludCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4gICAgdGFibGUuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gICAgdGhlYWQuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfVxuICAgIHRib2R5LnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtcm93LWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgICB0ci5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gICAgdGQuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgICB0aC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuXG4gICAgLy8gRGlzcGxheSB0aGUgVVJMIG9mIGEgbGluayBhZnRlciB0aGUgdGV4dFxuICAgIGEsXG4gICAgYTp2aXNpdGVkIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7fVxuICAgIGFbaHJlZl06YWZ0ZXIgeyBjb250ZW50OiAnICgnIGF0dHIoaHJlZikgJyknOyB9XG5cbiAgICAvLyBEb24ndCBkaXNwbGF5IHRoZSBVUkwgZm9yIGltYWdlcyBvciBKYXZhU2NyaXB0L2ludGVybmFsIGxpbmtzXG4gICAgLmlyIGE6YWZ0ZXIsXG4gICAgYVtocmVmXj0namF2YXNjcmlwdDonXTphZnRlcixcbiAgICBhW2hyZWZePScjJ106YWZ0ZXIgeyBjb250ZW50OiAnJzsgfVxuXG4gICAgLy8gRGlzcGxheSB3aGF0IGFuIGFiYnJldmlhdGlvbiBzdGFuZHMgZm9yIGFmdGVyIHRoZSB0ZXh0XG4gICAgYWJiclt0aXRsZV06YWZ0ZXIgeyBjb250ZW50OiAnICgnIGF0dHIodGl0bGUpICcpJzsgfVxuXG4gICAgLy8gUHJldmVudCBwYWdlIGJyZWFrcyBpbiB0aGUgbWlkZGxlIG9mIGEgYmxvY2txdW90ZSBvciBwcmVmb3JtYXR0ZWQgdGV4dCBibG9ja1xuICAgIHByZSxcbiAgICBibG9ja3F1b3RlIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRkYXJrLWdyYXk7XG4gICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgfVxuXG4gICAgLy8gaDVicC5jb20vdFxuICAgIHRoZWFkIHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwOyB9XG5cbiAgICB0cixcbiAgICBpbWcgeyBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cblxuICAgIGltZyB7IG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG5cbiAgICBAcGFnZSB7IG1hcmdpbjogMC41Y207IH1cblxuICAgIHAsXG4gICAgaDIsXG4gICAgaDMge1xuICAgICAgb3JwaGFuczogMztcbiAgICAgIHdpZG93czogMztcbiAgICB9XG5cbiAgICAvLyBBdm9pZCBwYWdlIGJyZWFrcyBhZnRlciBhIGhlYWRpbmdcbiAgICBoMixcbiAgICBoMyB7IHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkOyB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJ1dHRvblxuLy8vL1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLXBhZGRpbmc6IDAuODVlbSAxZW0gIWRlZmF1bHQ7XG5cbi8vLyBNYXJnaW4gYXJvdW5kIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmaWxsIGZvciBidXR0b25zLiBDYW4gZWl0aGVyIGJlIGBzb2xpZGAgb3IgYGhvbGxvd2AuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGJ1dHRvbi1maWxsOiBzb2xpZCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBDb2xvclxuJGJ1dHRvbi1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJ1dHRvbi1iYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtMTUlKSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3IgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBmb3IgYnV0dG9ucywgaWYgdGhlIGJhY2tncm91bmQgaXMgbGlnaHQuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1jb2xvci1hbHQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZm9yIGJ1dHRvbnMsIGRlZmF1bHRlZCB0byBnbG9iYWwtcmFkaXVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gU2l6ZXMgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTWFwXG4kYnV0dG9uLXNpemVzOiAoXG4gIHRpbnk6IDAuNnJlbSxcbiAgc21hbGw6IDAuNzVyZW0sXG4gIGRlZmF1bHQ6IDAuOXJlbSxcbiAgbGFyZ2U6IDEuMjVyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gb3BhY2l0eSBmb3IgYSBkaXNhYmxlZCBidXR0b24uXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkOiAwLjI1ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBsaWdodG5lc3Mgb24gaG92ZXIgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAtMjAlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgbGlnaHRuZXNzIG9uIGhvdmVyIGZvciBob2xsb3cgYnV0dG9ucy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzczogLTUwJSAhZGVmYXVsdDtcblxuLy8gSW50ZXJuYWw6IGZsaXAgZnJvbSBtYXJnaW4tcmlnaHQgdG8gbWFyZ2luLWxlZnQgZm9yIGRlZmF1bHRzXG5AaWYgJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSAncnRsJyB7XG4gICRidXR0b24tbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG59XG5cbi8vIFRPRE86IERvY3VtZW50IGJ1dHRvbi1iYXNlKCkgbWl4aW5cbkBtaXhpbiBidXR0b24tYmFzZSB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQ7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgcGFkZGluZzogJGJ1dHRvbi1wYWRkaW5nO1xuICBtYXJnaW46ICRidXR0b24tbWFyZ2luO1xuICBmb250LXNpemU6IG1hcC1nZXQoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCk7XG59XG5cbi8vLyBFeHBhbmRzIGEgYnV0dG9uIHRvIG1ha2UgaXQgZnVsbC13aWR0aC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRleHBhbmQgW3RydWVdIC0gU2V0IHRvIGB0cnVlYCB0byBlbmFibGUgdGhlIGV4cGFuZCBiZWhhdmlvci4gU2V0IHRvIGBmYWxzZWAgdG8gcmV2ZXJzZSB0aGlzIGJlaGF2aW9yLlxuQG1peGluIGJ1dHRvbi1leHBhbmQoJGV4cGFuZDogdHJ1ZSkge1xuICBAaWYgJGV4cGFuZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWFyZ2luOiAkYnV0dG9uLW1hcmdpbjtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgdmlzdWFsIHN0eWxlIG9mIGEgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kLWhvdmVyIFskYnV0dG9uLWJhY2tncm91bmQtaG92ZXJdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uIG9uIGhvdmVyLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBob3ZlciBjb2xvci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbkBtaXhpbiBidXR0b24tc3R5bGUoXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXIsXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvcixcbiAgJGJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzXG4pIHtcbiAgQGlmICRjb2xvciA9PSBhdXRvIHtcbiAgICAkY29sb3I6IGZvcmVncm91bmQoJGJhY2tncm91bmQsICRidXR0b24tY29sb3ItYWx0LCAkYnV0dG9uLWNvbG9yKTtcbiAgfVxuXG4gIEBpZiAkYmFja2dyb3VuZC1ob3ZlciA9PSBhdXRvIHtcbiAgICAkYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJhY2tncm91bmQsICRsaWdodG5lc3M6ICRiYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzcyk7XG4gIH1cblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgY29sb3I6ICRjb2xvcjtcblxuICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1ob3ZlcjtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG59XG5cbi8vLyBSZW1vdmVzIGJhY2tncm91bmQgZmlsbCBvbiBob3ZlciBhbmQgZm9jdXMgZm9yIGhvbGxvdyBidXR0b25zLlxuQG1peGluIGJ1dHRvbi1ob2xsb3cge1xuICAmLFxuICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG5AbWl4aW4gYnV0dG9uLWhvbGxvdy1zdHlsZShcbiAgJGNvbG9yOiAkcHJpbWFyeS1jb2xvcixcbiAgJGhvdmVyLWxpZ2h0bmVzczogJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzXG4pIHtcbiAgJGNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6ICRob3Zlci1saWdodG5lc3MpO1xuXG4gIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvcjtcbiAgY29sb3I6ICRjb2xvcjtcblxuICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICRjb2xvci1ob3ZlcjtcbiAgICBjb2xvcjogJGNvbG9yLWhvdmVyO1xuICB9XG59XG5cbi8vLyBBZGRzIGRpc2FibGVkIHN0eWxlcyB0byBhIGJ1dHRvbiBieSBmYWRpbmcgdGhlIGVsZW1lbnQsIHJlc2V0aW5nIHRoZSBjdXJzb3IsIGFuZCBkaXNhYmxpbmcgcG9pbnRlciBldmVudHMuXG5AbWl4aW4gYnV0dG9uLWRpc2FibGVkKCRjb2xvcjogJHByaW1hcnktY29sb3IpIHtcbiAgb3BhY2l0eTogJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgICBjb2xvcjogJGJ1dHRvbi1jb2xvcjtcbiAgfVxufVxuXG4vLy8gQWRkcyBhIGRyb3Bkb3duIGFycm93IHRvIGEgYnV0dG9uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc2l6ZSBbMC40ZW1dIC0gU2l6ZSBvZiB0aGUgYXJyb3cuIFdlIHJlY29tbWVuZCB1c2luZyBhbiBgZW1gIHZhbHVlIHNvIHRoZSB0cmlhbmdsZSBzY2FsZXMgd2hlbiB1c2VkIGluc2lkZSBkaWZmZXJlbnQgc2l6ZXMgb2YgYnV0dG9ucy5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgW3doaXRlXSAtIENvbG9yIG9mIHRoZSBhcnJvdy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG9mZnNldCBbJGJ1dHRvbi1wYWRkaW5nXSAtIERpc3RhbmNlIGJldHdlZW4gdGhlIGFycm93IGFuZCB0aGUgdGV4dCBvZiB0aGUgYnV0dG9uLiBEZWZhdWx0cyB0byB3aGF0ZXZlciB0aGUgcmlnaHQgcGFkZGluZyBvZiBhIGJ1dHRvbiBpcy5cbkBtaXhpbiBidXR0b24tZHJvcGRvd24oXG4gICRzaXplOiAwLjRlbSxcbiAgJGNvbG9yOiAkd2hpdGUsXG4gICRvZmZzZXQ6IGdldC1zaWRlKCRidXR0b24tcGFkZGluZywgcmlnaHQpXG4pIHtcbiAgJjo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkc2l6ZSwgJGNvbG9yLCBkb3duKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAwLjRlbTsgLy8gQWxpZ25zIHRoZSBhcnJvdyB3aXRoIHRoZSB0ZXh0IG9mIHRoZSBidXR0b25cbiAgICBmbG9hdDogI3skZ2xvYmFsLXJpZ2h0fTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiBnZXQtc2lkZSgkYnV0dG9uLXBhZGRpbmcsIHJpZ2h0KTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cbn1cblxuLy8vIEFkZHMgYWxsIHN0eWxlcyBmb3IgYSBidXR0b24uIEZvciBtb3JlIGdyYW51bGFyIGNvbnRyb2wgb3ZlciBzdHlsZXMsIHVzZSB0aGUgaW5kaXZpZHVhbCBidXR0b24gbWl4aW5zLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGV4cGFuZCBbZmFsc2VdIC0gU2V0IHRvIGB0cnVlYCB0byBtYWtlIHRoZSBidXR0b24gZnVsbC13aWR0aC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZC1ob3ZlciBbJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbiBvbiBob3Zlci4gU2V0IHRvIGBhdXRvYCB0byBoYXZlIHRoZSBtaXhpbiBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgaG92ZXIgY29sb3IuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYnV0dG9uLWNvbG9yXSAtIFRleHQgY29sb3Igb2YgdGhlIGJ1dHRvbi4gU2V0IHRvIGBhdXRvYCB0byBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgY29sb3IgYmFzZWQgb24gdGhlIGJhY2tncm91bmQgY29sb3IuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3R5bGUgW3NvbGlkXSAtIFNldCB0byBgaG9sbG93YCB0byBjcmVhdGUgYSBob2xsb3cgYnV0dG9uLiBUaGUgY29sb3IgZGVmaW5lZCBpbiBgJGJhY2tncm91bmRgIHdpbGwgYmUgdXNlZCBhcyB0aGUgcHJpbWFyeSBjb2xvciBvZiB0aGUgYnV0dG9uLlxuQG1peGluIGJ1dHRvbihcbiAgJGV4cGFuZDogZmFsc2UsXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXIsXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvcixcbiAgJHN0eWxlOiAkYnV0dG9uLWZpbGxcbikge1xuICBAaW5jbHVkZSBidXR0b24tYmFzZTtcblxuICBAaWYgJHN0eWxlID09IHNvbGlkIHtcbiAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJhY2tncm91bmQsICRiYWNrZ3JvdW5kLWhvdmVyLCAkY29sb3IpO1xuICB9XG4gIEBlbHNlIGlmICRzdHlsZSA9PSBob2xsb3cge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3c7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkYmFja2dyb3VuZCk7XG4gIH1cblxuICBAaWYgJGV4cGFuZCB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1idXR0b24ge1xuICAuYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBidXR0b247XG5cbiAgICAvLyBTaXplc1xuICAgIEBlYWNoICRzaXplLCAkdmFsdWUgaW4gbWFwLXJlbW92ZSgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KSB7XG4gICAgICAmLiN7JHNpemV9IHtcbiAgICAgICAgZm9udC1zaXplOiAkdmFsdWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5leHBhbmRlZCB7IEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7IH1cblxuICAgIC8vIENvbG9yc1xuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSB7XG4gICAgICBAaWYgJGJ1dHRvbi1maWxsICE9IGhvbGxvdyB7XG4gICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkY29sb3IsIGF1dG8sIGF1dG8pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGNvbG9yKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuI3skbmFtZX0uZHJvcGRvd246OmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBIb2xsb3cgc3R5bGVcbiAgICBAaWYgJGJ1dHRvbi1maWxsICE9IGhvbGxvdyB7XG4gICAgICAmLmhvbGxvdyB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3c7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGU7XG5cbiAgICAgICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkZm91bmRhdGlvbi1wYWxldHRlIHtcbiAgICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGNvbG9yKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEaXNhYmxlZCBzdHlsZVxuICAgICYuZGlzYWJsZWQsXG4gICAgJltkaXNhYmxlZF0ge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLWRpc2FibGVkO1xuXG4gICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRmb3VuZGF0aW9uLXBhbGV0dGUge1xuICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZGlzYWJsZWQoJGNvbG9yKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERyb3Bkb3duIGFycm93XG4gICAgJi5kcm9wZG93biB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZHJvcGRvd247XG5cbiAgICAgIEBpZiAkYnV0dG9uLWZpbGwgPT0gaG9sbG93IHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRidXR0b24tYmFja2dyb3VuZDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEJ1dHRvbiB3aXRoIGRyb3Bkb3duIGFycm93IG9ubHlcbiAgICAmLmFycm93LW9ubHk6OmFmdGVyIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIHRvcDogLTAuMWVtO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIEZvbnQgY29sb3Igb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBvZiBwbGFjZWhvbGRlciB0ZXh0IHdpdGhpbiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlseSBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBGb250XG4kaW5wdXQtZm9udC1mYW1pbHk6IGluaGVyaXQgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaW5wdXQtZm9udC1zaXplOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBmb2N1c2VkIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1mb2N1czogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBkaXNhYmxlZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGZvY3VzZWQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1ib3JkZXItZm9jdXM6IDFweCBzb2xpZCAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyBpbnNpZGUgdGV4dCBpbnB1dHMgd2hlbiBub3QgZm9jdXNlZC5cbi8vLyBAdHlwZSBTaGFkb3dcbiRpbnB1dC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKCRibGFjaywgMC4xKSAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgb3V0c2lkZSB0ZXh0IGlucHV0cyB3aGVuIGZvY3VzZWQuXG4vLy8gQHR5cGUgU2hhZG93XG4kaW5wdXQtc2hhZG93LWZvY3VzOiAwIDAgNXB4ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEN1cnNvciB0byB1c2Ugd2hlbiBob3ZlcmluZyBvdmVyIGEgZGlzYWJsZWQgdGV4dCBpbnB1dC5cbi8vLyBAdHlwZSBDdXJzb3JcbiRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ6IG5vdC1hbGxvd2VkICFkZWZhdWx0O1xuXG4vLy8gUHJvcGVydGllcyB0byB0cmFuc2l0aW9uIG9uIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiRpbnB1dC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZXMgdGhlIHVwL2Rvd24gYnV0dG9ucyB0aGF0IENocm9tZSBhbmQgRmlyZWZveCBhZGQgdG8gYDxpbnB1dCB0eXBlPSdudW1iZXInPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGlucHV0LW51bWJlci1zcGlubmVyczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFJhZGl1cyBmb3IgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kaW5wdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZm9yIGJ1dHRvbnMsIGRlZmF1bHRlZCB0byBnbG9iYWwtcmFkaXVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG5AbWl4aW4gZm9ybS1lbGVtZW50IHtcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKyAoJGZvcm0tc3BhY2luZyAqIDEuNSkgLSByZW0tY2FsYygxKSk7XG5cbiAgZGlzcGxheTogYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIHBhZGRpbmc6ICRmb3JtLXNwYWNpbmcgLyAyO1xuICBib3JkZXI6ICRpbnB1dC1ib3JkZXI7XG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG5cbiAgZm9udC1mYW1pbHk6ICRpbnB1dC1mb250LWZhbWlseTtcbiAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuICBjb2xvcjogJGlucHV0LWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZDtcbiAgYm94LXNoYWRvdzogJGlucHV0LXNoYWRvdztcbiAgYm9yZGVyLXJhZGl1czogJGlucHV0LXJhZGl1cztcblxuICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gIH1cblxuICAvLyBGb2N1cyBzdGF0ZVxuICAmOmZvY3VzIHtcbiAgICBib3JkZXI6ICRpbnB1dC1ib3JkZXItZm9jdXM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZm9jdXM7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93LWZvY3VzO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tdGV4dCB7XG4gIC8vIFRleHQgaW5wdXRzXG4gICN7dGV4dC1pbnB1dHMoKX0sXG4gIHRleHRhcmVhIHtcbiAgICBAaW5jbHVkZSBmb3JtLWVsZW1lbnQ7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgfVxuXG4gIC8vIFRleHQgYXJlYXNcbiAgdGV4dGFyZWEge1xuICAgIG1heC13aWR0aDogMTAwJTtcblxuICAgICZbcm93c10ge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIGlucHV0LFxuICB0ZXh0YXJlYSB7XG4gICAgLy8gUGxhY2Vob2xkZXIgdGV4dFxuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAkaW5wdXQtcGxhY2Vob2xkZXItY29sb3I7XG4gICAgfVxuXG4gICAgLy8gRGlzYWJsZWQvcmVhZG9ubHkgc3RhdGVcbiAgICAmOmRpc2FibGVkLFxuICAgICZbcmVhZG9ubHldIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkO1xuICAgICAgY3Vyc29yOiAkaW5wdXQtY3Vyc29yLWRpc2FibGVkO1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IHN0eWxlcyBvbiBidXR0b24tbGlrZSBpbnB1dHNcbiAgW3R5cGU9J3N1Ym1pdCddLFxuICBbdHlwZT0nYnV0dG9uJ10ge1xuICAgIGJvcmRlci1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gIH1cblxuICAvLyBSZXNldCBOb3JtYWxpemUgc2V0dGluZyBjb250ZW50LWJveCB0byBzZWFyY2ggZWxlbWVudHNcbiAgLy8gc2Nzcy1saW50OmRpc2FibGUgUXVhbGlmeWluZ0VsZW1lbnRcbiAgaW5wdXRbdHlwZT0nc2VhcmNoJ10ge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cblxuICAvLyBOdW1iZXIgaW5wdXQgc3R5bGVzXG4gIFt0eXBlPSdudW1iZXInXSB7XG4gICAgQGlmIG5vdCAkaW5wdXQtbnVtYmVyLXNwaW5uZXJzIHtcbiAgICAgIC1tb3otYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuXG4gICAgICAmOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuICAgICAgJjo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1jaGVja2JveCB7XG4gIFt0eXBlPSdmaWxlJ10sXG4gIFt0eXBlPSdjaGVja2JveCddLFxuICBbdHlwZT0ncmFkaW8nXSB7XG4gICAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgfVxuXG4gIC8vIFN0eWxlcyBmb3IgaW5wdXQvbGFiZWwgc2libGluZ3NcbiAgW3R5cGU9J2NoZWNrYm94J10gKyBsYWJlbCxcbiAgW3R5cGU9J3JhZGlvJ10gKyBsYWJlbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRmb3JtLXNwYWNpbmc7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG5cbiAgICAmW2Zvcl0ge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgfVxuXG4gIC8vIFN0eWxlcyBmb3IgaW5wdXRzIGluc2lkZSBsYWJlbHNcbiAgbGFiZWwgPiBbdHlwZT0nY2hlY2tib3gnXSxcbiAgbGFiZWwgPiBbdHlwZT0ncmFkaW8nXSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gIH1cblxuICAvLyBOb3JtYWxpemUgZmlsZSBpbnB1dCB3aWR0aFxuICBbdHlwZT0nZmlsZSddIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIENvbG9yIGZvciBmb3JtIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGZvcm0tbGFiZWwtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZm9ybS1sYWJlbC1mb250LXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IGZvciBmb3JtIGxhYmVscy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kZm9ybS1sYWJlbC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgZm9yIGZvcm0gbGFiZWxzLiBUaGUgaGlnaGVyIHRoZSBudW1iZXIsIHRoZSBtb3JlIHNwYWNlIGJldHdlZW4gdGhlIGxhYmVsIGFuZCBpdHMgaW5wdXQgZmllbGQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZm9ybS1sYWJlbC1saW5lLWhlaWdodDogMS44ICFkZWZhdWx0O1xuXG5AbWl4aW4gZm9ybS1sYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogJGZvcm0tbGFiZWwtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkZm9ybS1sYWJlbC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yO1xufVxuXG5AbWl4aW4gZm9ybS1sYWJlbC1taWRkbGUge1xuICAkaW5wdXQtYm9yZGVyLXdpZHRoOiBnZXQtYm9yZGVyLXZhbHVlKCRpbnB1dC1ib3JkZXIsIHdpZHRoKTtcbiAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgcGFkZGluZzogKCRmb3JtLXNwYWNpbmcgLyAyICsgcmVtLWNhbGMoJGlucHV0LWJvcmRlci13aWR0aCkpIDA7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tbGFiZWwge1xuICBsYWJlbCB7XG4gICAgQGluY2x1ZGUgZm9ybS1sYWJlbDtcblxuICAgICYubWlkZGxlIHtcbiAgICAgIEBpbmNsdWRlIGZvcm0tbGFiZWwtbWlkZGxlO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGhlbHAgdGV4dC5cbi8vLyBAdHlwZSBDb2xvclxuJGhlbHB0ZXh0LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgaGVscCB0ZXh0LlxuLy8vIEB0eXBlIE51bWJlclxuJGhlbHB0ZXh0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHN0eWxlIGZvciBoZWxwIHRleHQuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGhlbHB0ZXh0LWZvbnQtc3R5bGU6IGl0YWxpYyAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1oZWxwdGV4dCB7XG4gIC5oZWxwLXRleHQge1xuICAgICRtYXJnaW4tdG9wOiAoJGZvcm0tc3BhY2luZyAqIDAuNSkgKiAtMTtcblxuICAgIG1hcmdpbi10b3A6ICRtYXJnaW4tdG9wO1xuICAgIGZvbnQtc2l6ZTogJGhlbHB0ZXh0LWZvbnQtc2l6ZTtcbiAgICBmb250LXN0eWxlOiAkaGVscHRleHQtZm9udC1zdHlsZTtcbiAgICBjb2xvcjogJGhlbHB0ZXh0LWNvbG9yO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gQ29sb3Igb2YgbGFiZWxzIHByZWZpeGVkIHRvIGFuIGlucHV0LlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcHJlZml4LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgbGFiZWxzIHByZWZpeGVkIHRvIGFuIGlucHV0LlxuLy8vIEB0eXBlIEJvcmRlclxuJGlucHV0LXByZWZpeC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0L3JpZ2h0IHBhZGRpbmcgb2YgYW4gcHJlL3Bvc3RmaXhlZCBpbnB1dCBsYWJlbFxuJGlucHV0LXByZWZpeC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXByZXBvc3RmaXgge1xuICAkaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSArICRmb3JtLXNwYWNpbmcgKiAxLjUpO1xuXG4gIC5pbnB1dC1ncm91cCB7XG4gICAgZGlzcGxheTogaWYoJGdsb2JhbC1mbGV4Ym94LCBmbGV4LCB0YWJsZSk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZztcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgfVxuXG4gICAgPiA6Zmlyc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLXJhZGl1czogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIDAgJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXMgMCwgJGdsb2JhbC1yYWRpdXMgMCAwICRnbG9iYWwtcmFkaXVzKTtcbiAgICB9XG5cbiAgICA+IDpsYXN0LWNoaWxkIHtcbiAgICAgID4gKiB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCAkZ2xvYmFsLXJhZGl1cyAwIDAgJGdsb2JhbC1yYWRpdXMsIDAgJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXMgMCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJWlucHV0LWdyb3VwLWNoaWxkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1sYWJlbCB7XG4gICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmc6IDAgJGlucHV0LXByZWZpeC1wYWRkaW5nO1xuICAgIGJhY2tncm91bmQ6ICRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGlucHV0LXByZWZpeC1jb2xvcjtcbiAgICBib3JkZXI6ICRpbnB1dC1wcmVmaXgtYm9yZGVyO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiAxJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC1wcmVmaXgtYm9yZGVyKSB7XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgLy8gc2Nzcy1saW50OmRpc2FibGUgWmVyb1VuaXRcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGhlaWdodDogJGhlaWdodDtcbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB3aWR0aDogMSU7XG4gICAgfVxuXG4gICAgYSxcbiAgICBpbnB1dCxcbiAgICBidXR0b24ge1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNwZWNpZmljaXR5IGJ1bXAgbmVlZGVkIHRvIHByZXZlbnQgb3ZlcnJpZGUgYnkgYnV0dG9uc1xuICAvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBRdWFsaWZ5aW5nU2VsZWN0b3JcbiAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgLmlucHV0LWdyb3VwIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJvcmRlciBhcm91bmQgY3VzdG9tIGZpZWxkc2V0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRmaWVsZHNldC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGN1c3RvbSBmaWVsZHNldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmllbGRzZXQtcGFkZGluZzogcmVtLWNhbGMoMjApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gYXJvdW5kIGN1c3RvbSBmaWVsZHNldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmllbGRzZXQtbWFyZ2luOiByZW0tY2FsYygxOCAwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBiZXR3ZWVuIHRoZSBsZWdlbmQgdGV4dCBhbmQgZmllbGRzZXQgYm9yZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJGxlZ2VuZC1wYWRkaW5nOiByZW0tY2FsYygwIDMpICFkZWZhdWx0O1xuXG5AbWl4aW4gZmllbGRzZXQge1xuICBib3JkZXI6ICRmaWVsZHNldC1ib3JkZXI7XG4gIHBhZGRpbmc6ICRmaWVsZHNldC1wYWRkaW5nO1xuICBtYXJnaW46ICRmaWVsZHNldC1tYXJnaW47XG5cbiAgbGVnZW5kIHtcbiAgICAvLyBDb3ZlcnMgdXAgdGhlIGZpZWxkc2V0J3MgYm9yZGVyIHRvIGNyZWF0ZSBhcnRpZmljaWFsIHBhZGRpbmdcbiAgICBiYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kO1xuICAgIHBhZGRpbmc6ICRsZWdlbmQtcGFkZGluZztcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogcmVtLWNhbGMoLTMpO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tZmllbGRzZXQge1xuICBmaWVsZHNldCB7XG4gICAgYm9yZGVyOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgbGVnZW5kIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nICogMC41O1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuXG4gIC5maWVsZHNldCB7XG4gICAgQGluY2x1ZGUgZmllbGRzZXQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBzZWxlY3QgbWVudXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgdGhlIGRyb3Bkb3duIHRyaWFuZ2xlIGluc2lkZSBzZWxlY3QgbWVudXMuIFNldCB0byBgdHJhbnNwYXJlbnRgIHRvIHJlbW92ZSBpdCBlbnRpcmVseS5cbi8vLyBAdHlwZSBDb2xvclxuJHNlbGVjdC10cmlhbmdsZS1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciBzZWxlY3QgbWVudXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuQG1peGluIGZvcm0tc2VsZWN0IHtcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKyAoJGZvcm0tc3BhY2luZyAqIDEuNSkgLSByZW0tY2FsYygxKSk7XG5cbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBwYWRkaW5nOiAoJGZvcm0tc3BhY2luZyAvIDIpO1xuICBib3JkZXI6ICRpbnB1dC1ib3JkZXI7XG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgZm9udC1mYW1pbHk6ICRpbnB1dC1mb250LWZhbWlseTtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNlbGVjdC1iYWNrZ3JvdW5kO1xuICBib3JkZXItcmFkaXVzOiAkc2VsZWN0LXJhZGl1cztcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG5cbiAgQGlmICRzZWxlY3QtdHJpYW5nbGUtY29sb3IgIT0gdHJhbnNwYXJlbnQge1xuICAgIEBpbmNsdWRlIGJhY2tncm91bmQtdHJpYW5nbGUoJHNlbGVjdC10cmlhbmdsZS1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1zaXplOiA5cHggNnB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246ICRnbG9iYWwtcmlnaHQgKC0kZm9ybS1zcGFjaW5nKSBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1vcmlnaW46IGNvbnRlbnQtYm94O1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgcGFkZGluZy0jeyRnbG9iYWwtcmlnaHR9OiAoJGZvcm0tc3BhY2luZyAqIDEuNSk7XG4gIH1cblxuICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAmOmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDtcbiAgICBjdXJzb3I6ICRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ7XG4gIH1cblxuICAvLyBIaWRlIHRoZSBkcm9wZG93biBhcnJvdyBzaG93biBpbiBuZXdlciBJRSB2ZXJzaW9uc1xuICAmOjotbXMtZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgJlttdWx0aXBsZV0ge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tc2VsZWN0IHtcbiAgc2VsZWN0IHtcbiAgICBAaW5jbHVkZSBmb3JtLXNlbGVjdDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYWJpZGVcbi8vLy9cblxuLy8vIFNldHMgaWYgZXJyb3Igc3R5bGVzIHNob3VsZCBiZSBhZGRlZCB0byBpbnB1dHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFiaWRlLWlucHV0czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgaWYgZXJyb3Igc3R5bGVzIHNob3VsZCBiZSBhZGRlZCB0byBsYWJlbHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFiaWRlLWxhYmVsczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgdG8gdXNlIGZvciBpbnZhbGlkIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHRvIHVzZSBmb3IgbGFiZWxzIG9mIGludmFsaWQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgZm9ybSBlcnJvciB0ZXh0LlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtZXJyb3ItY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRpbnB1dC1lcnJvci1mb250LXNpemU6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBTdHlsZXMgdGhlIGJhY2tncm91bmQgYW5kIGJvcmRlciBvZiBhbiBpbnB1dCBmaWVsZCB0byBoYXZlIGFuIGVycm9yIHN0YXRlLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRhbGVydC1jb2xvcl0gLSBDb2xvciB0byB1c2UgZm9yIHRoZSBiYWNrZ3JvdW5kIGFuZCBib3JkZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYWNrZ3JvdW5kLWFscGhhIFswLjFdIC0gVHJhbnNwYXJlbmN5IGxldmVsIG9mIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuQG1peGluIGZvcm0taW5wdXQtZXJyb3IoXG4gICRiYWNrZ3JvdW5kOiAkaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkLFxuICAkYmFja2dyb3VuZC1hbHBoYTogMC4xXG4pIHtcbiAgJjpub3QoOmZvY3VzKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkYmFja2dyb3VuZCwgJGJhY2tncm91bmQtYWxwaGEpO1xuICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQ7XG4gIH1cbn1cblxuLy8vIEFkZHMgZXJyb3Igc3R5bGVzIHRvIGEgZm9ybSBlbGVtZW50LCB1c2luZyB0aGUgdmFsdWVzIGluIHRoZSBzZXR0aW5ncyBmaWxlLlxuQG1peGluIGZvcm0tZXJyb3Ige1xuICBkaXNwbGF5OiBub25lO1xuICBtYXJnaW4tdG9wOiAkZm9ybS1zcGFjaW5nICogLTAuNTtcbiAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZztcbiAgZm9udC1zaXplOiAkaW5wdXQtZXJyb3ItZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0O1xuICBjb2xvcjogJGlucHV0LWVycm9yLWNvbG9yO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWVycm9yIHtcbiAgQGlmICRhYmlkZS1pbnB1dHMge1xuICAgIC8vIEVycm9yIGNsYXNzIGZvciBpbnZhbGlkIGlucHV0c1xuICAgIC5pcy1pbnZhbGlkLWlucHV0IHtcbiAgICAgIEBpbmNsdWRlIGZvcm0taW5wdXQtZXJyb3I7XG4gICAgfVxuICB9XG5cbiAgQGlmICRhYmlkZS1sYWJlbHMge1xuICAgIC8vIEVycm9yIGNsYXNzIGZvciBsYWJlbHMgb2YgaW52YWxpZCBvdXRwdXRzXG4gICAgLmlzLWludmFsaWQtbGFiZWwge1xuICAgICAgY29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gRm9ybSBlcnJvciBlbGVtZW50XG4gIC5mb3JtLWVycm9yIHtcbiAgICBAaW5jbHVkZSBmb3JtLWVycm9yO1xuXG4gICAgJi5pcy12aXNpYmxlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYWNjb3JkaW9uXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgYW4gYWNjb3JkaW9uIGdyb3VwLlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgYWRkcyBwbHVzIGFuZCBtaW51cyBpY29ucyB0byB0aGUgc2lkZSBvZiBlYWNoIGFjY29yZGlvbiB0aXRsZS5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWNjb3JkaW9uLXBsdXNtaW51czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBmb3IgaXRlbXMgaW4gYSBNZW51LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWl0ZW0tY29sb3I6IGZvcmVncm91bmQoJGFjY29yZGlvbi1iYWNrZ3JvdW5kLCAkcHJpbWFyeS1jb2xvcikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGl0ZW1zIGluIGEgTWVudS5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIG9mIGFuIGFjY29yZGlvbiBpdGVtLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRhY2NvcmRpb24taXRlbS1wYWRkaW5nOiAxLjI1cmVtIDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWNvbnRlbnQtY29sb3I6IGZvcmVncm91bmQoJGFjY29yZGlvbi1jb250ZW50LWJhY2tncm91bmQsICRib2R5LWZvbnQtY29sb3IpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBhY2NvcmRpb24gY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIHRoZSBzYW1lIGVsZW1lbnQgdGhhdCBnZXRzIGBkYXRhLWFjY29yZGlvbmAuXG5AbWl4aW4gYWNjb3JkaW9uLWNvbnRhaW5lciB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgYmFja2dyb3VuZDogJGFjY29yZGlvbi1iYWNrZ3JvdW5kO1xuICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBhY2NvcmRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byB0aGUgbGlzdCBpdGVtIHdpdGhpbiBhbiBhY2NvcmRpb24gdWwuXG5AbWl4aW4gYWNjb3JkaW9uLWl0ZW0ge1xuICAmOmZpcnN0LWNoaWxkID4gOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cyAwIDA7XG4gIH1cblxuICAmOmxhc3QtY2hpbGQgPiA6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIHRpdGxlIG9mIGFuIGFjY29yZGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIHRoZSBsaW5rIHdpdGhpbiBhbiBhY2NvcmRpb24gaXRlbS5cbkBtaXhpbiBhY2NvcmRpb24tdGl0bGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogJGFjY29yZGlvbi1pdGVtLXBhZGRpbmc7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgY29sb3I6ICRhY2NvcmRpb24taXRlbS1jb2xvcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3JkZXI6ICRhY2NvcmRpb24tY29udGVudC1ib3JkZXI7XG4gIGJvcmRlci1ib3R0b206IDA7XG5cbiAgOmxhc3QtY2hpbGQ6bm90KC5pcy1hY3RpdmUpID4gJiB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzO1xuICAgIGJvcmRlci1ib3R0b206ICRhY2NvcmRpb24tY29udGVudC1ib3JkZXI7XG4gIH1cblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWNjb3JkaW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjtcbiAgfVxuXG4gIEBpZiAkYWNjb3JkaW9uLXBsdXNtaW51cyB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcrJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICN7JGdsb2JhbC1yaWdodH06IDFyZW07XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gICAgfVxuXG4gICAgLmlzLWFjdGl2ZSA+ICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAn4oCTJztcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhY2NvcmRpb24gY29udGVudC4gQXBwbHkgdGhpcyB0byB0aGUgY29udGVudCBwYW5lIGJlbG93IGFuIGFjY29yZGlvbiBpdGVtJ3MgdGl0bGUuXG5AbWl4aW4gYWNjb3JkaW9uLWNvbnRlbnQge1xuICBwYWRkaW5nOiAkYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZztcbiAgZGlzcGxheTogbm9uZTtcbiAgYm9yZGVyOiAkYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyO1xuICBib3JkZXItYm90dG9tOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZDtcbiAgY29sb3I6ICRhY2NvcmRpb24tY29udGVudC1jb2xvcjtcblxuICA6bGFzdC1jaGlsZCA+ICY6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcjtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1hY2NvcmRpb24ge1xuICAuYWNjb3JkaW9uIHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24tY29udGFpbmVyO1xuICB9XG5cbiAgLmFjY29yZGlvbi1pdGVtIHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24taXRlbTtcbiAgfVxuXG4gIC5hY2NvcmRpb24tdGl0bGUge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi10aXRsZTtcbiAgfVxuXG4gIC5hY2NvcmRpb24tY29udGVudCB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLWNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vLy9cbi8vLyBAZ3JvdXAgYWNjb3JkaW9uLW1lbnVcbi8vLy9cblxuLy8vIFNldHMgaWYgYWNjb3JkaW9uIG1lbnVzIGhhdmUgdGhlIGRlZmF1bHQgYXJyb3cgc3R5bGVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhY2NvcmRpb25tZW51LWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgYXJyb3cgY29sb3IgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi1hY2NvcmRpb24tbWVudSB7XG4gIEBpZiAkYWNjb3JkaW9ubWVudS1hcnJvd3Mge1xuICAgIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoNnB4LCAkYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvciwgZG93bik7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIG1hcmdpbi10b3A6IC00cHg7XG4gICAgICAgIHJpZ2h0OiAxcmVtO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnRbYXJpYS1leHBhbmRlZD0ndHJ1ZSddID4gYTo6YWZ0ZXIge1xuICAgICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGVZKC0xKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJhZGdlXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIGJhZGdlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJhZGdlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIGZvciBiYWRnZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRiYWRnZS1jb2xvcjogZm9yZWdyb3VuZCgkYmFkZ2UtYmFja2dyb3VuZCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGJhZGdlcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRiYWRnZS1wYWRkaW5nOiAwLjNlbSAhZGVmYXVsdDtcblxuLy8vIE1pbmltdW0gd2lkdGggb2YgYSBiYWRnZS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRiYWRnZS1taW53aWR0aDogMi4xZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgYmFkZ2VzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJhZGdlLWZvbnQtc2l6ZTogMC42cmVtICFkZWZhdWx0O1xuXG4vLy8gR2VuZXJhdGVzIHRoZSBiYXNlIHN0eWxlcyBmb3IgYSBiYWRnZS5cbkBtaXhpbiBiYWRnZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogJGJhZGdlLXBhZGRpbmc7XG4gIG1pbi13aWR0aDogJGJhZGdlLW1pbndpZHRoO1xuICBmb250LXNpemU6ICRiYWRnZS1mb250LXNpemU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1iYWRnZSB7XG4gIC5iYWRnZSB7XG4gICAgQGluY2x1ZGUgYmFkZ2U7XG5cbiAgICBiYWNrZ3JvdW5kOiAkYmFkZ2UtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGJhZGdlLWNvbG9yO1xuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkZm91bmRhdGlvbi1wYWxldHRlIHtcbiAgICAgIEBpZiAkbmFtZSAhPSBwcmltYXJ5IHtcbiAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgICAgICAgIGNvbG9yOiBmb3JlZ3JvdW5kKCRjb2xvcik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJyZWFkY3J1bWJzXG4vLy8vXG5cbi8vLyBNYXJnaW4gYXJvdW5kIGEgYnJlYWRjcnVtYnMgY29udGFpbmVyLlxuLy8vIEB0eXBlIE51bWJlclxuJGJyZWFkY3J1bWJzLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDAgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgYnJlYWRjcnVtYiBsaW5rcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRicmVhZGNydW1icy1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgYnJlYWRjcnVtYiBsaW5rcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgdGhlIGFjdGl2ZSBicmVhZGNydW1iIGxpbmsuXG4vLy8gQHR5cGUgQ29sb3JcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWN1cnJlbnQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIE9wYWNpdHkgb2YgZGlzYWJsZWQgYnJlYWRjcnVtYiBsaW5rcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBNYXJnaW4gYmV0d2VlbiBicmVhZGNydW1iIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luOiAwLjc1cmVtICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBtYWtlcyBicmVhZGNydW1iIGxpbmtzIHVwcGVyY2FzZS5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYnJlYWRjcnVtYnMtaXRlbS11cHBlcmNhc2U6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGFkZHMgYSBzbGFzaCBiZXR3ZWVuIGJyZWFkY3J1bWIgbGlua3MuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2g6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBicmVhZGNydW1icyBjb250YWluZXIsIGFsb25nIHdpdGggdGhlIHN0eWxlcyBmb3IgdGhlIGA8bGk+YCBhbmQgYDxhPmAgZWxlbWVudHMgaW5zaWRlIG9mIGl0LlxuQG1peGluIGJyZWFkY3J1bWJzLWNvbnRhaW5lciB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46ICRicmVhZGNydW1icy1tYXJnaW47XG5cbiAgLy8gSXRlbSB3cmFwcGVyXG4gIGxpIHtcbiAgICBmbG9hdDogI3skZ2xvYmFsLWxlZnR9O1xuICAgIGNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1jdXJyZW50O1xuICAgIGZvbnQtc2l6ZTogJGJyZWFkY3J1bWJzLWl0ZW0tZm9udC1zaXplO1xuICAgIGN1cnNvcjogZGVmYXVsdDtcblxuICAgIEBpZiAkYnJlYWRjcnVtYnMtaXRlbS11cHBlcmNhc2Uge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG5cbiAgICBAaWYgJGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2gge1xuICAgICAgLy8gTmVlZCB0byBlc2NhcGUgdGhlIGJhY2tzbGFzaFxuICAgICAgJHNsYXNoOiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09ICdsdHInLCAnLycsICdcXFxcJyk7XG5cbiAgICAgICY6bm90KDpsYXN0LWNoaWxkKTo6YWZ0ZXIge1xuICAgICAgICBjb2xvcjogJG1lZGl1bS1ncmF5O1xuICAgICAgICBjb250ZW50OiAkc2xhc2g7XG4gICAgICAgIG1hcmdpbjogMCAkYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW47XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdG9wOiAxcHg7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW47XG4gICAgfVxuICB9XG5cbiAgLy8gUGFnZSBsaW5rc1xuICBhIHtcbiAgICBjb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3I7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1icmVhZGNydW1icyB7XG4gIC5icmVhZGNydW1icyB7XG4gICAgQGluY2x1ZGUgYnJlYWRjcnVtYnMtY29udGFpbmVyO1xuXG4gICAgLmRpc2FibGVkIHtcbiAgICAgIGNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1kaXNhYmxlZDtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBidXR0b24tZ3JvdXBcbi8vLy9cblxuLy8vIE1hcmdpbiBmb3IgYnV0dG9uIGdyb3Vwcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b25ncm91cC1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBNYXJnaW4gYmV0d2VlbiBidXR0b25zIGluIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEB0eXBlIEJvcmRlclxuJGJ1dHRvbmdyb3VwLXNwYWNpbmc6IDFweCAhZGVmYXVsdDtcblxuLy8vIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgYSBidXR0b24gZ3JvdXAuXG4vLy8gQHR5cGUgU3RyaW5nXG4kYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3I6ICcuYnV0dG9uJyAhZGVmYXVsdDtcblxuLy8vIE1heGltdW0gbnVtYmVyIG9mIGJ1dHRvbnMgdGhhdCBjYW4gYmUgaW4gYW4gZXZlbi13aWR0aCBidXR0b24gZ3JvdXAuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uZ3JvdXAtZXhwYW5kLW1heDogNiAhZGVmYXVsdDtcblxuLy8vIEFkZCBzdHlsZXMgZm9yIGEgYnV0dG9uIGdyb3VwIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGNoaWxkLXNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSBhIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAoXG4gICRjaGlsZC1zZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXG4pIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbi1ib3R0b206ICRidXR0b25ncm91cC1tYXJnaW47XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgfVxuICBAZWxzZSB7XG4gICAgZm9udC1zaXplOiAwO1xuICB9XG5cbiAgI3skY2hpbGQtc2VsZWN0b3J9IHtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRidXR0b25ncm91cC1zcGFjaW5nO1xuICAgIG1hcmdpbi1ib3R0b206ICRidXR0b25ncm91cC1zcGFjaW5nO1xuICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KTtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGZ1bGwtd2lkdGggYnV0dG9uIGdyb3VwLCBtYWtpbmcgZWFjaCBidXR0b24gZXF1YWwgd2lkdGguXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgYSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwLWV4cGFuZChcbiAgJHNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3IsXG4gICRjb3VudDogbnVsbFxuKSB7XG4gIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogLSRidXR0b25ncm91cC1zcGFjaW5nO1xuXG4gICAgJjo6YmVmb3JlLFxuICAgICY6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLy8gc2Nzcy1saW50OmRpc2FibGUgWmVyb1VuaXRcbiAgI3skc2VsZWN0b3J9IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXgge1xuICAgICAgICAmOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKCN7JGl9KSB7XG4gICAgICAgICAgJiwgJjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgjeyRpfSkgfiAjeyRzZWxlY3Rvcn0ge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoI3twZXJjZW50YWdlKDEgLyAkaSl9IC0gI3skYnV0dG9uZ3JvdXAtc3BhY2luZ30pO1xuICAgICAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRidXR0b25ncm91cC1zcGFjaW5nO1xuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGJ1dHRvbmdyb3VwLXNwYWNpbmcgKiAtJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBTdGFja3MgdGhlIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgdGhlIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAtc3RhY2soXG4gICRzZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXG4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG5cbiAgI3skc2VsZWN0b3J9IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFVuLXN0YWNrcyB0aGUgYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSB0aGUgYnV0dG9uIGdyb3VwLlxuQG1peGluIGJ1dHRvbi1ncm91cC11bnN0YWNrKFxuICAkc2VsZWN0b3I6ICRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvclxuKSB7XG4gIC8vIHNjc3MtbGludDpkaXNhYmxlIFplcm9Vbml0XG4gICN7JHNlbGVjdG9yfSB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAxIDEgMHB4O1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1idXR0b24tZ3JvdXAge1xuICAuYnV0dG9uLWdyb3VwIHtcbiAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXA7XG5cbiAgICAvLyBTaXplc1xuICAgIEBlYWNoICRzaXplLCAkdmFsdWUgaW4gbWFwLXJlbW92ZSgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KSB7XG4gICAgICAmLiN7JHNpemV9ICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJHZhbHVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEV2ZW4td2lkdGggR3JvdXBcbiAgICAmLmV4cGFuZGVkIHsgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLWV4cGFuZDsgfVxuXG4gICAgLy8gQ29sb3JzXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkZm91bmRhdGlvbi1wYWxldHRlIHtcbiAgICAgIEBpZiAkYnV0dG9uLWZpbGwgIT0gaG9sbG93IHtcbiAgICAgICAgJi4jeyRuYW1lfSAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkY29sb3IsIGF1dG8sIGF1dG8pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgICYuI3skbmFtZX0gI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93O1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGNvbG9yKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYuc3RhY2tlZCxcbiAgICAmLnN0YWNrZWQtZm9yLXNtYWxsLFxuICAgICYuc3RhY2tlZC1mb3ItbWVkaXVtIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1zdGFjaztcbiAgICB9XG5cbiAgICAmLnN0YWNrZWQtZm9yLXNtYWxsIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC11bnN0YWNrO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuc3RhY2tlZC1mb3ItbWVkaXVtIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXVuc3RhY2s7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gc2Nzcy1saW50OmRpc2FibGUgTWVyZ2VhYmxlU2VsZWN0b3JcbiAgICAmLnN0YWNrZWQtZm9yLXNtYWxsLmV4cGFuZGVkIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBjYWxsb3V0XG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZmFkZSB2YWx1ZSBmb3IgY2FsbG91dCBiYWNrZ3JvdW5kcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjYWxsb3V0LWJhY2tncm91bmQtZmFkZTogODUlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgc3R5bGUgZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIExpc3RcbiRjYWxsb3V0LWJvcmRlcjogMXB4IHNvbGlkIHJnYmEoJGJsYWNrLCAwLjI1KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2FsbG91dC1tYXJnaW46IDAgMCAxcmVtIDAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGlubmVyIHBhZGRpbmcgZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGNhbGxvdXQtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGNhbGxvdXRzLCBpZiB0aGUgY2FsbG91dCBoYXMgYSBkYXJrIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LWZvbnQtY29sb3ItYWx0OiAkYm9keS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgcmFkaXVzIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEFtb3VudCB0byB0aW50IGxpbmtzIHVzZWQgd2l0aGluIGNvbG9yZWQgcGFuZWxzLiBTZXQgdG8gYGZhbHNlYCB0byBkaXNhYmxlIHRoaXMgZmVhdHVyZS5cbi8vLyBAdHlwZSBOdW1iZXIgfCBCb29sZWFuXG4kY2FsbG91dC1saW5rLXRpbnQ6IDMwJSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgYmFzaWMgc3R5bGVzIGZvciBhIGNhbGxvdXQsIGluY2x1ZGluZyBwYWRkaW5nIGFuZCBtYXJnaW4uXG5AbWl4aW4gY2FsbG91dC1iYXNlKCkge1xuICBtYXJnaW46ICRjYWxsb3V0LW1hcmdpbjtcbiAgcGFkZGluZzogJGNhbGxvdXQtcGFkZGluZztcbiAgYm9yZGVyOiAkY2FsbG91dC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRjYWxsb3V0LXJhZGl1cztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjb2xvcjogJGNhbGxvdXQtZm9udC1jb2xvcjtcblxuICAvLyBSZXNwZWN0IHRoZSBwYWRkaW5nLCBmb29sLlxuICA+IDpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuXG4gID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEdlbmVyYXRlIHF1aWNrIHN0eWxlcyBmb3IgYSBjYWxsb3V0IHVzaW5nIGEgc2luZ2xlIGNvbG9yIGFzIGEgYmFzZWxpbmUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskY2FsbG91dC1iYWNrZ3JvdW5kXSAtIENvbG9yIHRvIHVzZS5cbkBtaXhpbiBjYWxsb3V0LXN0eWxlKCRjb2xvcjogJGNhbGxvdXQtYmFja2dyb3VuZCkge1xuICAkYmFja2dyb3VuZDogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkY2FsbG91dC1iYWNrZ3JvdW5kLWZhZGUpO1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xufVxuXG5AbWl4aW4gY2FsbG91dC1zaXplKCRwYWRkaW5nKSB7XG4gIHBhZGRpbmctdG9wOiAkcGFkZGluZztcbiAgcGFkZGluZy1yaWdodDogJHBhZGRpbmc7XG4gIHBhZGRpbmctYm90dG9tOiAkcGFkZGluZztcbiAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZztcbn1cblxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY2FsbG91dC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRjYWxsb3V0LWJhY2tncm91bmRdIC0gQ29sb3IgdG8gdXNlLlxuQG1peGluIGNhbGxvdXQoJGNvbG9yOiAkY2FsbG91dC1iYWNrZ3JvdW5kKSB7XG4gIEBpbmNsdWRlIGNhbGxvdXQtYmFzZTtcbiAgQGluY2x1ZGUgY2FsbG91dC1zdHlsZSgkY29sb3IpO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1jYWxsb3V0IHtcbiAgLmNhbGxvdXQge1xuICAgIEBpbmNsdWRlIGNhbGxvdXQ7XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRmb3VuZGF0aW9uLXBhbGV0dGUge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIEBpbmNsdWRlIGNhbGxvdXQtc3R5bGUoJGNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnNtYWxsIHtcbiAgICAgIEBpbmNsdWRlIGNhbGxvdXQtc2l6ZSgwLjVyZW0pO1xuICAgIH1cblxuICAgICYubGFyZ2Uge1xuICAgICAgQGluY2x1ZGUgY2FsbG91dC1zaXplKDNyZW0pO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgY2xvc2UtYnV0dG9uXG4vLy8vXG5cbi8vLyBEZWZhdWx0IHBvc2l0aW9uIG9mIHRoZSBjbG9zZSBidXR0b24uIFRoZSBmaXJzdCB2YWx1ZSBzaG91bGQgYmUgYHJpZ2h0YCBvciBgbGVmdGAsIGFuZCB0aGUgc2Vjb25kIHZhbHVlIHNob3VsZCBiZSBgdG9wYCBvciBgYm90dG9tYC5cbi8vLyBAdHlwZSBMaXN0XG4kY2xvc2VidXR0b24tcG9zaXRpb246IHJpZ2h0IHRvcCAhZGVmYXVsdDtcblxuLy8vIFJpZ2h0IChvciBsZWZ0KSBvZmZzZXQgZm9yIGEgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIE51bWJlclxuJGNsb3NlYnV0dG9uLW9mZnNldC1ob3Jpem9udGFsOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gVG9wIChvciBib3R0b20pIG9mZnNldCBmb3IgYSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBvZiB0aGUgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIE51bWJlclxuJGNsb3NlYnV0dG9uLXNpemU6IDJlbSAhZGVmYXVsdDtcblxuLy8vIFRoZSBsaW5lLWhlaWdodCBvZiB0aGUgY2xvc2UgYnV0dG9uLiBJdCBhZmZlY3RzIHRoZSBzcGFjaW5nIG9mIHRoZSBlbGVtZW50LlxuLy8vIEB0eXBlIE51bWJlclxuJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQ6IDEgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgQ29sb3JcbiRjbG9zZWJ1dHRvbi1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIGNsb3NlIGJ1dHRvbiB3aGVuIGJlaW5nIGhvdmVyZWQgb24uXG4vLy8gQHR5cGUgQ29sb3JcbiRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY2xvc2UgYnV0dG9uLCB1c2luZyB0aGUgc3R5bGVzIGluIHRoZSBzZXR0aW5ncyB2YXJpYWJsZXMuXG5AbWl4aW4gY2xvc2UtYnV0dG9uIHtcbiAgJHg6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDEpO1xuICAkeTogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMik7XG5cbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbG9yOiAkY2xvc2VidXR0b24tY29sb3I7XG4gICN7JHh9OiAkY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWw7XG4gICN7JHl9OiAkY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsO1xuICBmb250LXNpemU6ICRjbG9zZWJ1dHRvbi1zaXplO1xuICBsaW5lLWhlaWdodDogJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogJGNsb3NlYnV0dG9uLWNvbG9yLWhvdmVyO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWNsb3NlLWJ1dHRvbiB7XG4gIC5jbG9zZS1idXR0b24ge1xuICAgIEBpbmNsdWRlIGNsb3NlLWJ1dHRvbjtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZHJpbGxkb3duXG4vLy8vXG5cbi8vLyBUcmFuc2l0aW9uIHByb3BlcnR5IHRvIHVzZSBmb3IgYW5pbWF0aW5nIG1lbnVzLlxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiRkcmlsbGRvd24tdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhciAhZGVmYXVsdDtcblxuLy8vIEFkZHMgYXJyb3dzIHRvIGRyaWxsZG93biBpdGVtcyB3aXRoIHN1Ym1lbnVzLCBhcyB3ZWxsIGFzIHRoZSBiYWNrIGJ1dHRvbi5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZHJpbGxkb3duLWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIGFycm93IGNvbG9yIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcmlsbGRvd24tYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgZHJpbGxkb3duIHN1Ym1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJpbGxkb3duLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tZHJpbGxkb3duLW1lbnUge1xuICAvLyBBcHBsaWVkIHRvIHRoZSBNZW51IGNvbnRhaW5lclxuICAuaXMtZHJpbGxkb3duIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIGxpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gQXBwbGllZCB0byBuZXN0ZWQgPHVsPnNcbiAgLmlzLWRyaWxsZG93bi1zdWJtZW51IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgICN7JGdsb2JhbC1sZWZ0fTogMTAwJTtcbiAgICB6LWluZGV4OiAtMTtcbiAgICAvLyBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogJGRyaWxsZG93bi1iYWNrZ3JvdW5kO1xuICAgIHRyYW5zaXRpb246ICRkcmlsbGRvd24tdHJhbnNpdGlvbjtcblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IGx0ciwgLTEwMCUsIDEwMCUpKTtcbiAgICB9XG5cbiAgICAmLmlzLWNsb3Npbmcge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gbHRyLCAxMDAlLCAtMTAwJSkpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkZHJpbGxkb3duLWFycm93cyB7XG4gICAgLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSg2cHgsICRkcmlsbGRvd24tYXJyb3ctY29sb3IsICRnbG9iYWwtcmlnaHQpO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBtYXJnaW4tdG9wOiAtNnB4O1xuICAgICAgICAjeyRnbG9iYWwtcmlnaHR9OiAxcmVtO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5qcy1kcmlsbGRvd24tYmFjayA+IGE6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoNnB4LCAkZHJpbGxkb3duLWFycm93LWNvbG9yLCAkZ2xvYmFsLWxlZnQpO1xuICAgICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fS13aWR0aDogMDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMC43NXJlbTsgLy8gQ3JlYXRlcyBzcGFjZSBiZXR3ZWVuIHRoZSBhcnJvdyBhbmQgdGhlIHRleHRcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGRyb3Bkb3duXG4vLy8vXG5cbi8vLyBQYWRkaW5nIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBMaXN0XG4kZHJvcGRvd24tcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTGlzdFxuJGRyb3Bkb3duLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTGlzdFxuJGRyb3Bkb3duLWZvbnQtc2l6ZTogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFdpZHRoIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bi13aWR0aDogMzAwcHggIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3duLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBTaXplcyBmb3IgZHJvcGRvd24gcGFuZXMuIEVhY2ggc2l6ZSBpcyBhIENTUyBjbGFzcyB5b3UgY2FuIGFwcGx5LlxuLy8vIEB0eXBlIE1hcFxuJGRyb3Bkb3duLXNpemVzOiAoXG4gIHRpbnk6IDEwMHB4LFxuICBzbWFsbDogMjAwcHgsXG4gIGxhcmdlOiA0MDBweCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBBcHBsaWVzIHN0eWxlcyBmb3IgYSBiYXNpYyBkcm9wZG93bi5cbkBtaXhpbiBkcm9wZG93bi1jb250YWluZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYm9keS1iYWNrZ3JvdW5kO1xuICBib3JkZXI6ICRkcm9wZG93bi1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRkcm9wZG93bi1yYWRpdXM7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6ICRkcm9wZG93bi1mb250LXNpemU7XG4gIHBhZGRpbmc6ICRkcm9wZG93bi1wYWRkaW5nO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgd2lkdGg6ICRkcm9wZG93bi13aWR0aDtcbiAgei1pbmRleDogMTA7XG5cbiAgJi5pcy1vcGVuIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWRyb3Bkb3duIHtcbiAgLmRyb3Bkb3duLXBhbmUge1xuICAgIEBpbmNsdWRlIGRyb3Bkb3duLWNvbnRhaW5lcjtcbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkZHJvcGRvd24tc2l6ZXMge1xuICAgIC5kcm9wZG93bi1wYW5lLiN7JG5hbWV9IHtcbiAgICAgIHdpZHRoOiAkc2l6ZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGRyb3Bkb3duLW1lbnVcbi8vLy9cblxuLy8vIEVuYWJsZXMgYXJyb3dzIGZvciBpdGVtcyB3aXRoIGRyb3Bkb3duIG1lbnVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRkcm9wZG93bm1lbnUtYXJyb3dzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcm9wZG93biBtZW51IGFycm93IGNvbG9yIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3I6ICRhbmNob3ItY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBNaW5pbXVtIHdpZHRoIG9mIGRyb3Bkb3duIHN1Yi1tZW51cy5cbi8vLyBAdHlwZSBMZW5ndGhcbiRkcm9wZG93bm1lbnUtbWluLXdpZHRoOiAyMDBweCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGRyb3Bkb3ducy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgZm9yIGRyb3Bkb3duIHN1Yi1tZW51cy5cbi8vLyBAdHlwZSBMaXN0XG4kZHJvcGRvd25tZW51LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8gQm9yZGVyIHdpZHRoIGZvciBkcm9wZG93biBzdWItbWVudXMuXG4vLyBVc2VkIHRvIGFkanVzdCB0b3AgbWFyZ2luIG9mIGEgc3ViLW1lbnUgaWYgYSBib3JkZXIgaXMgdXNlZC5cbi8vIEB0eXBlIExlbmd0aFxuJGRyb3Bkb3dubWVudS1ib3JkZXItd2lkdGg6IG50aCgkZHJvcGRvd25tZW51LWJvcmRlciwgMSk7XG5cbkBtaXhpbiBsZWZ0LXJpZ2h0LWFycm93cyB7XG4gID4gYTo6YWZ0ZXIge1xuICAgICN7JGdsb2JhbC1yaWdodH06IDE0cHg7XG4gICAgbWFyZ2luLXRvcDogLTNweDtcbiAgfVxuXG4gICYub3BlbnMtbGVmdCA+IGE6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoNXB4LCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCBsZWZ0KTtcbiAgfVxuXG4gICYub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKDVweCwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgcmlnaHQpO1xuICB9XG59XG5cbkBtaXhpbiBkcm9wZG93bi1tZW51LWRpcmVjdGlvbigkZGlyOiBob3Jpem9udGFsKSB7XG4gIEBpZiAkZGlyID09IGhvcml6b250YWwge1xuICAgID4gbGkub3BlbnMtbGVmdCB7XG4gICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IGxpLm9wZW5zLXJpZ2h0IHtcbiAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkZHJvcGRvd25tZW51LWFycm93cyB7XG4gICAgICA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgICAgIHBhZGRpbmctI3skZ2xvYmFsLXJpZ2h0fTogMS41cmVtO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB9XG5cbiAgICAgID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSg1cHgsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIGRvd24pO1xuICAgICAgICAjeyRnbG9iYWwtcmlnaHR9OiA1cHg7XG4gICAgICAgIG1hcmdpbi10b3A6IC0ycHg7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRkaXIgPT0gdmVydGljYWwge1xuICAgID4gbGkge1xuICAgICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICB0b3A6IDA7XG4gICAgICB9XG5cbiAgICAgICYub3BlbnMtbGVmdCB7XG4gICAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5vcGVucy1yaWdodCB7XG4gICAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICAgIGxlZnQ6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGlmICRkcm9wZG93bm1lbnUtYXJyb3dzIHtcbiAgICAgICAgQGluY2x1ZGUgbGVmdC1yaWdodC1hcnJvd3M7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAd2FybiAnVGhlIGRpcmVjdGlvbiB1c2VkIGZvciBkcm9wZG93bi1tZW51LWRpcmVjdGlvbigpIG11c3QgYmUgaG9yaXpvbnRhbCBvciB2ZXJ0aWNhbC4nO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWRyb3Bkb3duLW1lbnUge1xuICAuZHJvcGRvd24ubWVudSB7XG4gICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG5cbiAgICBhIHtcbiAgICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgICB9XG5cbiAgICAubm8tanMgJiB1bCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgICYudmVydGljYWwge1xuICAgICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgIH1cblxuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICAgICYuI3skc2l6ZX0taG9yaXpvbnRhbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWRpcmVjdGlvbihob3Jpem9udGFsKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmLiN7JHNpemV9LXZlcnRpY2FsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmFsaWduLXJpZ2h0IHtcbiAgICAgIC5pcy1kcm9wZG93bi1zdWJtZW51LmZpcnN0LXN1YiB7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmlzLWRyb3Bkb3duLW1lbnUudmVydGljYWwge1xuICAgIHdpZHRoOiAxMDBweDtcblxuICAgICYuYWxpZ24tcmlnaHQge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgYTo6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICAjeyRnbG9iYWwtcmlnaHR9OiA1cHg7XG4gICAgICBtYXJnaW4tdG9wOiAtMnB4O1xuICAgIH1cblxuICAgICYub3BlbnMtaW5uZXIgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG5cbiAgICAgIHRvcDogMTAwJTtcbiAgICAgIEBpZiAkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09ICdydGwnIHtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgJi5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgbGVmdDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgICN7JGdsb2JhbC1sZWZ0fTogMTAwJTtcbiAgICBtaW4td2lkdGg6ICRkcm9wZG93bm1lbnUtbWluLXdpZHRoO1xuICAgIHotaW5kZXg6IDE7XG4gICAgYmFja2dyb3VuZDogJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kO1xuICAgIGJvcmRlcjogJGRyb3Bkb3dubWVudS1ib3JkZXI7XG5cbiAgICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xuICAgICAgQGlmICRkcm9wZG93bm1lbnUtYXJyb3dzIHtcbiAgICAgICAgQGluY2x1ZGUgbGVmdC1yaWdodC1hcnJvd3M7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICh0eXBlLW9mKCRkcm9wZG93bm1lbnUtYm9yZGVyLXdpZHRoKSA9PSAnbnVtYmVyJykge1xuICAgICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICBtYXJnaW4tdG9wOiAoLSRkcm9wZG93bm1lbnUtYm9yZGVyLXdpZHRoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IGxpIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC8vIFtUT0RPXSBDdXQgYmFjayBzcGVjaWZpY2l0eVxuICAgIC8vIHNjc3MtbGludDpkaXNhYmxlIFNlbGVjdG9yRGVwdGhcbiAgICAvLyY6bm90KC5qcy1kcm9wZG93bi1ub2hvdmVyKSA+IC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudDpob3ZlciA+ICYsIC8vIHdoeSBpcyB0aGlzIGxpbmUgbmVlZGVkPyBPcGVuaW5nIGlzIGhhbmRsZWQgYnkgSlMgYW5kIHRoaXMgY2F1c2VzIHNvbWUgdWdseSBmbGlja2VyaW5nIHdoZW4gdGhlIHN1YiBpcyByZS1wb3NpdGlvbmVkIGF1dG9tYXRpY2FsbHkuLi5cbiAgICAmLmpzLWRyb3Bkb3duLWFjdGl2ZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZsZXgtdmlkZW9cbi8vLy9cblxuLy8vIE1hcmdpbiBiZWxvdyBhIGZsZXggdmlkZW8gY29udGFpbmVyLlxuLy8vIEB0eXBlIE51bWJlclxuJGZsZXh2aWRlby1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIHVzZWQgdG8gY3JlYXRlIGEgNDozIGFzcGVjdCByYXRpby5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmbGV4dmlkZW8tcmF0aW86IDQgYnkgMyAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgdXNlZCB0byBjcmVhdGUgYSAxNjo5IGFzcGVjdCByYXRpby5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmbGV4dmlkZW8tcmF0aW8td2lkZXNjcmVlbjogMTYgYnkgOSAhZGVmYXVsdDtcblxuLy8vIENyZWF0ZXMgYSBwZXJjZW50YWdlIGhlaWdodCB0aGF0IGNhbiBiZSB1c2VkIGFzIHBhZGRpbmcgaW4gYSBmbGV4IHZpZGVvIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge0xpc3R9ICRyYXRpbyAtIFJhdGlvIHRvIHVzZSB0byBjYWxjdWxhdGUgdGhlIGhlaWdodCwgZm9ybWF0dGVkIGFzIGB4IGJ5IHlgLlxuLy8vIEByZXR1cm4ge051bWJlcn0gQSBwZXJjZW50YWdlIHZhbHVlIHRoYXQgY2FuIGJlIHVzZWQgYXMgdGhlIGBwYWRkaW5nLWJvdHRvbWAgcGFyYW1ldGVyIG9mIGEgZmxleCB2aWRlbyBjb250YWluZXIuXG5AZnVuY3Rpb24gZmxleC12aWRlbygkcmF0aW8pIHtcbiAgJHc6IG50aCgkcmF0aW8sIDEpO1xuICAkaDogbnRoKCRyYXRpbywgMyk7XG4gIEByZXR1cm4gJGggLyAkdyAqIDEwMCU7XG59XG5cbi8vLyBDcmVhdGVzIGEgZmxleCB2aWRlbyBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtMaXN0fSAkcmF0aW8gWyRmbGV4dmlkZW8tcmF0aW9dIC0gUmF0aW8gdG8gdXNlIGZvciB0aGUgY29udGFpbmVyLCBmb3JtYXR0ZWQgYXMgYHggYnkgeWAuXG5AbWl4aW4gZmxleC12aWRlbygkcmF0aW86ICRmbGV4dmlkZW8tcmF0aW8pIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7XG4gIHBhZGRpbmctYm90dG9tOiBmbGV4LXZpZGVvKCRyYXRpbyk7XG4gIG1hcmdpbi1ib3R0b206ICRmbGV4dmlkZW8tbWFyZ2luLWJvdHRvbTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICBpZnJhbWUsXG4gIG9iamVjdCxcbiAgZW1iZWQsXG4gIHZpZGVvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgICN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZmxleC12aWRlbyB7XG4gIC5mbGV4LXZpZGVvIHtcbiAgICBAaW5jbHVkZSBmbGV4LXZpZGVvO1xuXG4gICAgJi53aWRlc2NyZWVuIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiBmbGV4LXZpZGVvKCRmbGV4dmlkZW8tcmF0aW8td2lkZXNjcmVlbik7XG4gICAgfVxuXG4gICAgJi52aW1lbyB7XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGxhYmVsXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGxhYmVsLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsYWJlbC1jb2xvcjogZm9yZWdyb3VuZCgkbGFiZWwtYmFja2dyb3VuZCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxhYmVsLWZvbnQtc2l6ZTogMC44cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGFiZWwtcGFkZGluZzogMC4zMzMzM3JlbSAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBvZiBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGFiZWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlcyBiYXNlIHN0eWxlcyBmb3IgYSBsYWJlbC5cbkBtaXhpbiBsYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogJGxhYmVsLXBhZGRpbmc7XG4gIGZvbnQtc2l6ZTogJGxhYmVsLWZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgYm9yZGVyLXJhZGl1czogJGxhYmVsLXJhZGl1cztcbn1cblxuQG1peGluIGZvdW5kYXRpb24tbGFiZWwge1xuICAubGFiZWwge1xuICAgIEBpbmNsdWRlIGxhYmVsO1xuXG4gICAgYmFja2dyb3VuZDogJGxhYmVsLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRsYWJlbC1jb2xvcjtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSB7XG4gICAgICBAaWYgJG5hbWUgIT0gcHJpbWFyeSB7XG4gICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICAgICAgICBjb2xvcjogZm9yZWdyb3VuZCgkY29sb3IpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBtZWRpYS1vYmplY3Rcbi8vLy9cblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgYSBtZWRpYSBvYmplY3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0IGFuZCByaWdodCBwYWRkaW5nIG9uIHNlY3Rpb25zIHdpdGhpbiBhIG1lZGlhIG9iamVjdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFdpZHRoIG9mIGltYWdlcyB3aXRoaW4gYSBtZWRpYSBvYmplY3QsIHdoZW4gdGhlIG9iamVjdCBpcyBzdGFja2VkIHZlcnRpY2FsbHkuIFNldCB0byAnYXV0bycgdG8gdXNlIHRoZSBpbWFnZSdzIG5hdHVyYWwgd2lkdGguXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVkaWFvYmplY3QtaW1hZ2Utd2lkdGgtc3RhY2tlZDogMTAwJSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIG1lZGlhIG9iamVjdCBjb250YWluZXIuXG5AbWl4aW4gbWVkaWEtb2JqZWN0LWNvbnRhaW5lciB7XG4gIG1hcmdpbi1ib3R0b206ICRtZWRpYW9iamVjdC1tYXJnaW4tYm90dG9tO1xuICBkaXNwbGF5OiBpZigkZ2xvYmFsLWZsZXhib3gsIGZsZXgsIGJsb2NrKTtcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHNlY3Rpb25zIHdpdGhpbiBhIG1lZGlhIG9iamVjdC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHBhZGRpbmcgWyRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmddIC0gUGFkZGluZyBiZXR3ZWVuIHNlY3Rpb25zLlxuQG1peGluIG1lZGlhLW9iamVjdC1zZWN0aW9uKCRwYWRkaW5nOiAkbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIH1cblxuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLSN7JGdsb2JhbC1yaWdodH06ICRwYWRkaW5nO1xuICB9XG5cbiAgJjpsYXN0LWNoaWxkOm5vdCg6bnRoLWNoaWxkKDIpKSB7XG4gICAgcGFkZGluZy0jeyRnbG9iYWwtbGVmdH06ICRwYWRkaW5nO1xuICB9XG5cbiAgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgdG8gc3RhY2sgc2VjdGlvbnMgb2YgYSBtZWRpYSBvYmplY3QuIEFwcGx5IHRoaXMgdG8gdGhlIHNlY3Rpb24gZWxlbWVudHMsIG5vdCB0aGUgY29udGFpbmVyLlxuQG1peGluIG1lZGlhLW9iamVjdC1zdGFjayB7XG4gIHBhZGRpbmc6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAkbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nO1xuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIGltZyB7XG4gICAgd2lkdGg6ICRtZWRpYW9iamVjdC1pbWFnZS13aWR0aC1zdGFja2VkO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW1lZGlhLW9iamVjdCB7XG4gIC5tZWRpYS1vYmplY3Qge1xuICAgIEBpbmNsdWRlIG1lZGlhLW9iamVjdC1jb250YWluZXI7XG5cbiAgICBpbWcge1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgIH1cblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgJi5zdGFjay1mb3ItI3skLXpmLXplcm8tYnJlYWtwb2ludH0ge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtemVyby1icmVha3BvaW50IG9ubHkpIHtcbiAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YWNrLWZvci0jeyQtemYtemVyby1icmVha3BvaW50fSAubWVkaWEtb2JqZWN0LXNlY3Rpb24ge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXplcm8tYnJlYWtwb2ludCBvbmx5KSB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLW9iamVjdC1zdGFjaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubWVkaWEtb2JqZWN0LXNlY3Rpb24ge1xuICAgIEBpbmNsdWRlIG1lZGlhLW9iamVjdC1zZWN0aW9uO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBaZXJvVW5pdFxuICAgICAgJi5tYWluLXNlY3Rpb24ge1xuICAgICAgICBmbGV4OiAxIDEgMHB4O1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAmLm1pZGRsZSB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICB9XG5cbiAgICAgICYuYm90dG9tIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIG1lbnVcbi8vLy9cblxuLy8vIE1hcmdpbiBvZiBhIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0LWhhbmQgbWFyZ2luIG9mIGEgbmVzdGVkIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1tYXJnaW4tbmVzdGVkOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBmb3IgaXRlbXMgaW4gYSBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtaXRlbS1wYWRkaW5nOiAwLjdyZW0gMXJlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgYW4gYWN0aXZlIG1lbnUgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJG1lbnUtaXRlbS1jb2xvci1hY3RpdmU6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYW4gYWN0aXZlIG1lbnUgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiBhbiBpY29uIGFuZCB0ZXh0IGluIGEgbWVudSBpdGVtLlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtaWNvbi1zcGFjaW5nOiAwLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gQ3JlYXRlcyB0aGUgYmFzZSBzdHlsZXMgZm9yIGEgTWVudS5cbkBtaXhpbiBtZW51LWJhc2Uge1xuICBtYXJnaW46ICRtZW51LW1hcmdpbjtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuXG4gIC8vIExpc3QgaXRlbXMgYXJlIHRhYmxlIGNlbGwgdG8gYWxsb3cgZm9yIHZlcnRpY2FsIGFsaWdubWVudFxuICA+IGxpIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCBsaW5lIGhlaWdodCB0byBtYWtlIHRoZSBoZWlnaHQgb2YgdGhlIG92ZXJhbGwgaXRlbSBlYXNpZXIgdG8gY2FsY3VsYXRlXG4gID4gbGkgPiBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAkbWVudS1pdGVtLXBhZGRpbmc7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gIH1cblxuICAvLyBSZXNldCBzdHlsZXMgb2YgaW5uZXIgZWxlbWVudHNcbiAgaW5wdXQsXG4gIGEsXG4gIGJ1dHRvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gRXhwYW5kcyB0aGUgaXRlbXMgb2YgYSBNZW51LCBzbyBlYWNoIGl0ZW0gaXMgdGhlIHNhbWUgd2lkdGguXG5AbWl4aW4gbWVudS1leHBhbmQge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBaZXJvVW5pdFxuICAgID4gbGkge1xuICAgICAgZmxleDogMSAxIDBweDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIHRhYmxlLWxheW91dDogZml4ZWQ7XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIGRpcmVjdGlvbiBvZiBhIE1lbnUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIFtob3Jpem9udGFsXSAtIERpcmVjdGlvbiBvZiB0aGUgTWVudS4gQ2FuIGJlIGBob3Jpem9udGFsYCBvciBgdmVydGljYWxgLlxuQG1peGluIG1lbnUtZGlyZWN0aW9uKCRkaXI6IGhvcml6b250YWwpIHtcbiAgQGlmICRkaXIgPT0gaG9yaXpvbnRhbCB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcblxuICAgICAgPiBsaSB7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICA+IGxpIHtcbiAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGRpciA9PSB2ZXJ0aWNhbCB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAgID4gbGkge1xuICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgfVxuXG4gICAgICA+IGxpICA+IGEge1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICA+IGxpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAd2FybiAnVGhlIGRpcmVjdGlvbiB1c2VkIGZvciBtZW51LWRpcmVjdGlvbigpIG11c3QgYmUgaG9yaXpvbnRhbCBvciB2ZXJ0aWNhbC4nO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgc2ltcGxlIE1lbnUsIHdoaWNoIGhhcyBubyBwYWRkaW5nIG9yIGhvdmVyIHN0YXRlLlxuQG1peGluIG1lbnUtc2ltcGxlIHtcbiAgbGkge1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogZ2V0LXNpZGUoJG1lbnUtaXRlbS1wYWRkaW5nLCAkZ2xvYmFsLXJpZ2h0KTtcbiAgfVxuXG4gIGEge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIG5lc3RlZCBNZW51LCBieSBhZGRpbmcgYG1hcmdpbi1sZWZ0YCB0byB0aGUgbWVudS5cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkcGFkZGluZyBbYXV0b10gLSBMZW5ndGggb2YgdGhlIG1hcmdpbi5cbkBtaXhpbiBtZW51LW5lc3RlZCgkbWFyZ2luOiAkbWVudS1tYXJnaW4tbmVzdGVkKSB7XG4gIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRtYXJnaW47XG59XG5cbi8vLyBBZGRzIHN1cHBvcnQgZm9yIGljb25zIHRvIE1lbnUgaXRlbXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkcG9zaXRpb24gW3NpZGVdIC0gUG9zaXRpb25pbmcgZm9yIGljb25zLiBDYW4gYmUgYHNpZGVgIChsZWZ0LCBvciByaWdodCBvbiBSVEwpIG9yIGB0b3BgLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGJhc2UgW3RydWVdIC0gU2V0IHRvIGBmYWxzZWAgdG8gcHJldmVudCB0aGUgc2hhcmVkIENTUyBiZXR3ZWVuIHNpZGUtIGFuZCB0b3AtYWxpZ25lZCBpY29ucyBmcm9tIGJlaW5nIHByaW50ZWQuIFNldCB0aGlzIHRvIGBmYWxzZWAgaWYgeW91J3JlIGNhbGxpbmcgdGhlIG1peGluIG11bHRpcGxlIHRpbWVzIG9uIHRoZSBzYW1lIGVsZW1lbnQuXG5AbWl4aW4gbWVudS1pY29ucygkcG9zaXRpb246IHNpZGUsICRiYXNlOiB0cnVlKSB7XG4gIEBpZiAkYmFzZSB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICA+IGxpID4gYSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgID4gbGkgPiBhIHtcbiAgICAgICAgaW1nLFxuICAgICAgICBpLFxuICAgICAgICBzdmcge1xuICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAgICAgICArIHNwYW4ge1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgJHBvc2l0aW9uID09IHNpZGUge1xuICAgID4gbGkgPiBhIHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICB9XG5cbiAgICAgIGltZyxcbiAgICAgIGksXG4gICAgICBzdmcge1xuICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJG1lbnUtaWNvbi1zcGFjaW5nO1xuXG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHRvcCB7XG4gICAgPiBsaSA+IGEge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICBpLFxuICAgICAgc3ZnIHtcbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbjogMCBhdXRvICRtZW51LWljb24tc3BhY2luZztcbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogJG1lbnUtaWNvbi1zcGFjaW5nO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtZW51LXRleHQge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBwYWRkaW5nLXRvcDogMDtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIHBhZGRpbmc6ICRtZW51LWl0ZW0tcGFkZGluZztcbn1cblxuQG1peGluIGZvdW5kYXRpb24tbWVudSB7XG4gIC5tZW51IHtcbiAgICBAaW5jbHVkZSBtZW51LWJhc2U7XG4gICAgQGluY2x1ZGUgbWVudS1pY29ucztcblxuICAgIC8vIE9yaWVudGF0aW9uXG4gICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG5cbiAgICAmLnZlcnRpY2FsIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICB9XG5cbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgICAmLiN7JHNpemV9LWhvcml6b250YWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi4jeyRzaXplfS12ZXJ0aWNhbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2ltcGxlXG4gICAgJi5zaW1wbGUge1xuICAgICAgQGluY2x1ZGUgbWVudS1zaW1wbGU7XG4gICAgfVxuXG4gICAgLy8gQWxpZ24gcmlnaHRcbiAgICAmLmFsaWduLSN7JGdsb2JhbC1yaWdodH0ge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuXG4gICAgICAgID4gbGkge1xuICAgICAgICAgIGZsb2F0OiAkZ2xvYmFsLXJpZ2h0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRXZlbi13aWR0aFxuICAgICYuZXhwYW5kZWQge1xuICAgICAgQGluY2x1ZGUgbWVudS1leHBhbmQ7XG5cbiAgICAgID4gbGk6Zmlyc3QtY2hpbGQ6bGFzdC1jaGlsZCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFZlcnRpY2FsIGljb25zXG4gICAgJi5pY29uLXRvcCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWljb25zKHRvcCwgJGJhc2U6IGZhbHNlKTtcbiAgICB9XG5cbiAgICAvLyBOZXN0aW5nXG4gICAgJi5uZXN0ZWQge1xuICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQ7XG4gICAgfVxuXG4gICAgLy8gQWN0aXZlIHN0YXRlXG4gICAgLmFjdGl2ZSA+IGEge1xuICAgICAgY29sb3I6ICRtZW51LWl0ZW0tY29sb3ItYWN0aXZlO1xuICAgICAgYmFja2dyb3VuZDogJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgICB9XG4gIH1cblxuICAubWVudS10ZXh0IHtcbiAgICBAaW5jbHVkZSBtZW51LXRleHQ7XG4gIH1cblxuICAvLyBBbGlnbiBjZW50ZXJcbiAgLm1lbnUtY2VudGVyZWQge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgID4gLm1lbnUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cbiAgfVxuXG4gIC8vIFByZXZlbnQgRk9VQyB3aGVuIHVzaW5nIHRoZSBSZXNwb25zaXZlIE1lbnUgcGx1Z2luXG4gIC5uby1qcyBbZGF0YS1yZXNwb25zaXZlLW1lbnVdIHVsIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBvZmYtY2FudmFzXG4vLy8vXG5cbi8vLyBXaWR0aCBvZiBhbiBvZmYtY2FudmFzIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLXNpemU6IDI1MHB4ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhbiBvZmYtY2FudmFzIG1lbnUuXG4vLy8gQHR5cGUgQ29sb3JcbiRvZmZjYW52YXMtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBaLWluZGV4IG9mIGFuIG9mZi1jYW52YXMgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtemluZGV4OiAtMSAhZGVmYXVsdDtcblxuLy8vIExlbmd0aCBvZiB0aGUgYW5pbWF0aW9uIG9uIGFuIG9mZi1jYW52YXMgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGg6IDAuNXMgIWRlZmF1bHQ7XG5cbi8vLyBUaW1pbmcgZnVuY3Rpb24gb2YgdGhlIGFuaW1hdGlvbiBvbiBhbiBvZmYtY2FudmFzIG1lbnUuXG4vLy8gQHR5cGUgS2V5d29yZFxuJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZzogZWFzZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgYSByZXZlYWxlZCBvZmYtY2FudmFzIHdpbGwgYmUgZml4ZWQtcG9zaXRpb24sIGFuZCBzY3JvbGwgd2l0aCB0aGUgc2NyZWVuLlxuJG9mZmNhbnZhcy1maXhlZC1yZXZlYWw6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgb3ZlcmxheSB0aGF0IGFwcGVhcnMgd2hlbiBhbiBvZmYtY2FudmFzIG1lbnUgaXMgb3Blbi5cbi8vLyBAdHlwZSBDb2xvclxuJG9mZmNhbnZhcy1leGl0LWJhY2tncm91bmQ6IHJnYmEoJHdoaXRlLCAwLjI1KSAhZGVmYXVsdDtcblxuLy8vIENTUyBjbGFzcyB1c2VkIGZvciB0aGUgbWFpbiBjb250ZW50IGFyZWEuIFRoZSBvZmYtY2FudmFzIG1peGlucyB1c2UgdGhpcyB0byB0YXJnZXQgdGhlIHBhZ2UgYm9keS5cbiRtYWluY29udGVudC1jbGFzczogJ29mZi1jYW52YXMtY29udGVudCcgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IHRvIHBsYWNlIHVuZGVyIHRoZSBtYWluIGNvbnRlbnQgYXJlYS4gVGhpcyBzaGFkb3cgb3ZlcmxhcHMgdGhlIG9mZi1jYW52YXMgbWVudXMuXG4vLy8gQHR5cGUgU2hhZG93XG4kbWFpbmNvbnRlbnQtc2hhZG93OiAwIDAgMTBweCByZ2JhKCRibGFjaywgMC41KSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgYmFzZWxpbmUgc3R5bGVzIGZvciBvZmYtY2FudmFzLiBUaGlzIENTUyBpcyByZXF1aXJlZCB0byBtYWtlIHRoZSBvdGhlciBwaWVjZXMgd29yay5cbkBtaXhpbiBvZmYtY2FudmFzLWJhc2ljcyB7XG4gIC8vIEV4dHJhIHByb3BlcnRpZXMgbmVlZGVkIG9uIDxodG1sPiBhbmQgPGJvZHk+IHRvIG1ha2Ugb2ZmLWNhbnZhcyB3b3JrXG4gIGh0bWwsXG4gIGJvZHkge1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxuXG4gIC5vZmYtY2FudmFzLXdyYXBwZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiBhdXRvO1xuICB9XG5cbiAgLm9mZi1jYW52YXMtd3JhcHBlci1pbm5lciB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7IFxuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoICRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc7XG4gIH1cblxuICAvLyBDb250YWluZXIgZm9yIHBhZ2UgY29udGVudFxuICAub2ZmLWNhbnZhcy1jb250ZW50LFxuICAuI3skbWFpbmNvbnRlbnQtY2xhc3N9IHtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQ7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZztcbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgei1pbmRleDogMTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC4xcHg7IC8vIFByZXZlbnRzIG1hcmdpbiBjb2xsYXBzaW5nLCB3aGljaCB3b3VsZCByZXZlYWwgdGhlIGJveCBzaGFkb3cgb2YgdGhlIHdyYXBwZXJcblxuICAgIEBpZiBoYXMtdmFsdWUoJG1haW5jb250ZW50LXNoYWRvdykge1xuICAgICAgYm94LXNoYWRvdzogJG1haW5jb250ZW50LXNoYWRvdztcbiAgICB9XG4gIH1cblxuICAvLyBDbGljay10by1leGl0IG92ZXJsYXkgKGdlbmVyYXRlZCBieSBKYXZhU2NyaXB0KVxuICAuanMtb2ZmLWNhbnZhcy1leGl0IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogJG9mZmNhbnZhcy1leGl0LWJhY2tncm91bmQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aCAkb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nO1xuICB9XG59XG5cbi8vLyBBZGRzIGJhc2ljIHN0eWxlcyBmb3IgYW4gb2ZmLWNhbnZhcyBtZW51LlxuQG1peGluIG9mZi1jYW52YXMtYmFzZSB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBiYWNrZ3JvdW5kOiAkb2ZmY2FudmFzLWJhY2tncm91bmQ7XG4gIHotaW5kZXg6ICRvZmZjYW52YXMtemluZGV4O1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG59XG5cbkBtaXhpbiBvZmYtY2FudmFzLXBvc2l0aW9uKFxuICAkcG9zaXRpb246IGxlZnQsXG4gICRzaXplOiAkb2ZmY2FudmFzLXNpemUsXG4gICRmaXhlZDogZmFsc2Vcbikge1xuICBAaWYgJHBvc2l0aW9uID09IGxlZnQge1xuICAgIGxlZnQ6IC0kc2l6ZTtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6ICRzaXplO1xuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSByaWdodCB7XG4gICAgcmlnaHQ6IC0kc2l6ZTtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6ICRzaXplO1xuICB9XG5cbiAgLy8gR2VuZXJhdGVzIGFuIG9wZW4gc3RhdGUgY2xhc3MgdGhhdCBtYXRjaGVzIHRoZSB3aWR0aCBvZiB0aGUgbWVudVxuICBAYXQtcm9vdCB7XG4gICAgLmlzLW9wZW4tI3skcG9zaXRpb259IHtcbiAgICAgIEBpZiAkcG9zaXRpb24gPT0gbGVmdCB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgkc2l6ZSk7XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gcmlnaHQge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLSRzaXplKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIHRoYXQgcmV2ZWFsIGFuIG9mZi1jYW52YXMgbWVudS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRwb3NpdGlvbiBbbGVmdF0gLSBQb3NpdGlvbiBvZiB0aGUgb2ZmLWNhbnZhcyBtZW51IGJlaW5nIHJldmVhbGVkLlxuQG1peGluIG9mZi1jYW52YXMtcmV2ZWFsKFxuICAkcG9zaXRpb246IGxlZnRcbikge1xuICAjeyRwb3NpdGlvbn06IDA7XG4gIHotaW5kZXg6IGF1dG87XG5cbiAgQGlmICRvZmZjYW52YXMtZml4ZWQtcmV2ZWFsIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gIH1cblxuICAmIH4gLiN7JG1haW5jb250ZW50LWNsYXNzfSB7XG4gICAgbWFyZ2luLSN7JHBvc2l0aW9ufTogJG9mZmNhbnZhcy1zaXplO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW9mZi1jYW52YXMge1xuICBAaW5jbHVkZSBvZmYtY2FudmFzLWJhc2ljcztcblxuICAvLyBPZmYtY2FudmFzIGNvbnRhaW5lclxuICAub2ZmLWNhbnZhcyB7XG4gICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1iYXNlO1xuXG4gICAgJi5wb3NpdGlvbi1sZWZ0ICAgeyBAaW5jbHVkZSBvZmYtY2FudmFzLXBvc2l0aW9uKGxlZnQpOyB9XG4gICAgJi5wb3NpdGlvbi1yaWdodCAgeyBAaW5jbHVkZSBvZmYtY2FudmFzLXBvc2l0aW9uKHJpZ2h0KTsgfVxuICB9XG5cbiAgLy8gUmV2ZWFsIG9mZi1jYW52YXMgbWVudSBvbiBsYXJnZXIgc2NyZWVuc1xuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkbmFtZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtcmV2ZWFsKGxlZnQpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtcmV2ZWFsKHJpZ2h0KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgb3JiaXRcbi8vLy9cblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIE9yYml0J3MgYnVsbGV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGFjdGl2ZSBjb2xvciBmb3IgT3JiaXQncyBidWxsZXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQtYWN0aXZlOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBkaWFtZXRlciBmb3IgT3JiaXQncyBidWxsZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWJ1bGxldC1kaWFtZXRlcjogMS4ycmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gYmV0d2VlbiBPcmJpdCdzIGJ1bGxldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtYnVsbGV0LW1hcmdpbjogMC4xcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBkaXN0YW5jZSBmcm9tIHNsaWRlIHJlZ2lvbiBmb3IgT3JiaXQncyBidWxsZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWJ1bGxldC1tYXJnaW4tdG9wOiAwLjhyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gZnJvbSBPcmJpdCdzIGJ1bGxldHMgdG8gd2hhdGV2ZXIgY29udGVudCBtYXkgbHVyayBiZWxvdyBpdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1idWxsZXQtbWFyZ2luLWJvdHRvbTogMC44cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBPcmJpdCdzIGNhcHRpb24uXG4vLy8gQHR5cGUgQ29sb3JcbiRvcmJpdC1jYXB0aW9uLWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciBPcmJpdCdzIGNhcHRpb24uXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtY2FwdGlvbi1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBPcmJpdCdzIGNvbnRyb2xzIHdoZW4gaG92ZXJlZC5cbi8vLyBAdHlwZSBDb2xvclxuJG9yYml0LWNvbnRyb2wtYmFja2dyb3VuZC1ob3ZlcjogcmdiYSgkYmxhY2ssIDAuNSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIE9yYml0J3MgY29udHJvbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtY29udHJvbC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB6LWluZGV4IGZvciBPcmJpdCdzIGNvbnRyb2xzLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWNvbnRyb2wtemluZGV4OiAxMCAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgb3V0ZXIgT3JiaXQgd3JhcHBlci4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0YCBjbGFzcy5cbkBtaXhpbiBvcmJpdC13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBpbm5lciBPcmJpdCBzbGlkZSBjb250YWluZXIuIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1jb250YWluZXJgIGNsYXNzLlxuQG1peGluIG9yYml0LWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBpbmRpdmlkdWFsIHNsaWRlcyBvZiBhbiBPcmJpdCBzbGlkZXIuIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1zbGlkZWAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtc2xpZGUge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LWhlaWdodDogMTAwJTtcblxuICAmLm5vLW1vdGlvbnVpIHtcbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gb3JiaXQtZmlndXJlIHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc2xpZGUgY29udGFpbmluZyBhbiBpbWFnZS4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LWltYWdlYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1pbWFnZSB7XG4gIG1hcmdpbjogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBvcmJpdCBzbGlkZSBjYXB0aW9uLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtY2FwdGlvbmAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtY2FwdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogJG9yYml0LWNhcHRpb24tcGFkZGluZztcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgY29sb3I6IGZvcmVncm91bmQoJG9yYml0LWNhcHRpb24tYmFja2dyb3VuZCk7XG4gIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1jYXB0aW9uLWJhY2tncm91bmQ7XG59XG5cbi8vLyBBZGRzIGJhc2Ugc3R5bGVzIGZvciB0aGUgbmV4dC9wcmV2aW91cyBidXR0b25zIGluIGFuIE9yYml0IHNsaWRlci4gVGhlc2Ugc3R5bGVzIGFyZSBzaGFyZWQgYmV0d2VlbiB0aGUgYC5vcmJpdC1uZXh0YCBhbmQgYC5vcmJpdC1wcmV2aW91c2AgY2xhc3NlcyBpbiB0aGUgZGVmYXVsdCBDU1MuXG5AbWl4aW4gb3JiaXQtY29udHJvbCB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgQGluY2x1ZGUgdmVydGljYWwtY2VudGVyO1xuICB6LWluZGV4OiAkb3JiaXQtY29udHJvbC16aW5kZXg7XG4gIHBhZGRpbmc6ICRvcmJpdC1jb250cm9sLXBhZGRpbmc7XG4gIGNvbG9yOiAkd2hpdGU7XG5cbiAgJjpob3ZlcixcbiAgJjphY3RpdmUsXG4gICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1jb250cm9sLWJhY2tncm91bmQtaG92ZXI7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgT3JiaXQgcHJldmlvdXMgYnV0dG9uLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtcHJldmlvdXNgIGNsYXNzLlxuQG1peGluIG9yYml0LXByZXZpb3VzIHtcbiAgI3skZ2xvYmFsLWxlZnR9OiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBPcmJpdCBuZXh0IGJ1dHRvbi4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LW5leHRgIGNsYXNzLlxuQG1peGluIG9yYml0LW5leHQge1xuICAjeyRnbG9iYWwtbGVmdH06IGF1dG87XG4gICN7JGdsb2JhbC1yaWdodH06IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjb250YWluZXIgb2YgT3JiaXQgYnVsbGV0cy4gLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgT3JiaXQgcHJldmlvdXMgYnV0dG9uLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtYnVsbGV0c2AgY2xhc3MuXG5AbWl4aW4gb3JiaXQtYnVsbGV0cyB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tdG9wOiAkb3JiaXQtYnVsbGV0LW1hcmdpbi10b3A7XG4gIG1hcmdpbi1ib3R0b206ICRvcmJpdC1idWxsZXQtbWFyZ2luLWJvdHRvbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gIGJ1dHRvbiB7XG4gICAgd2lkdGg6ICRvcmJpdC1idWxsZXQtZGlhbWV0ZXI7XG4gICAgaGVpZ2h0OiAkb3JiaXQtYnVsbGV0LWRpYW1ldGVyO1xuICAgIG1hcmdpbjogJG9yYml0LWJ1bGxldC1tYXJnaW47XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtYnVsbGV0LWJhY2tncm91bmQtYWN0aXZlO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1vcmJpdCB7XG4gIC5vcmJpdCB7XG4gICAgQGluY2x1ZGUgb3JiaXQtd3JhcHBlcjtcbiAgfVxuXG4gIC5vcmJpdC1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIG9yYml0LWNvbnRhaW5lcjtcbiAgfVxuXG4gIC5vcmJpdC1zbGlkZSB7XG4gICAgQGluY2x1ZGUgb3JiaXQtc2xpZGU7XG4gIH1cblxuICAub3JiaXQtZmlndXJlIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1maWd1cmU7XG4gIH1cblxuICAub3JiaXQtaW1hZ2Uge1xuICAgIEBpbmNsdWRlIG9yYml0LWltYWdlO1xuICB9XG5cbiAgLm9yYml0LWNhcHRpb24ge1xuICAgIEBpbmNsdWRlIG9yYml0LWNhcHRpb247XG4gIH1cblxuICAlb3JiaXQtY29udHJvbCB7XG4gICAgQGluY2x1ZGUgb3JiaXQtY29udHJvbDtcbiAgfVxuXG4gIC5vcmJpdC1wcmV2aW91cyB7XG4gICAgQGV4dGVuZCAlb3JiaXQtY29udHJvbDtcbiAgICBAaW5jbHVkZSBvcmJpdC1wcmV2aW91cztcbiAgfVxuXG4gIC5vcmJpdC1uZXh0IHtcbiAgICBAZXh0ZW5kICVvcmJpdC1jb250cm9sO1xuICAgIEBpbmNsdWRlIG9yYml0LW5leHQ7XG4gIH1cblxuICAub3JiaXQtYnVsbGV0cyB7XG4gICAgQGluY2x1ZGUgb3JiaXQtYnVsbGV0cztcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcGFnaW5hdGlvblxuLy8vL1xuXG4vLy8gRm9udCBzaXplIG9mIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1mb250LXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBvZiB0aGUgcGFnaW5hdGlvbiBvYmplY3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgb2YgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZzogcmVtLWNhbGMoMyAxMCkgIWRlZmF1bHQ7XG5cbi8vLyBSaWdodCBtYXJnaW4gdG8gc2VwYXJhdGUgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLWl0ZW0tc3BhY2luZzogcmVtLWNhbGMoMSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3IgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHBhZ2luYXRpb24gaXRlbXMgb24gaG92ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHBhZ2luYXRpb24gaXRlbSBmb3IgdGhlIGN1cnJlbnQgcGFnZS5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiB0aGUgcGFnaW5hdGlvbiBpdGVtIGZvciB0aGUgY3VycmVudCBwYWdlLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWN1cnJlbnQ6IGZvcmVncm91bmQoJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQpICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBhIGRpc2FibGVkIHBhZ2luYXRpb24gaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgdGhlIGVsbGlwc2lzIGluIGEgcGFnaW5hdGlvbiBtZW51LlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1lbGxpcHNpcy1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gSWYgYGZhbHNlYCwgZG9uJ3QgZGlzcGxheSBwYWdlIG51bWJlciBsaW5rcyBvbiBtb2JpbGUsIG9ubHkgbmV4dC9wcmV2aW91cyBsaW5rc1xuLy8vIGFuZCBvcHRpb25hbGx5IGN1cnJlbnQgcGFnZSBudW1iZXIuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIElmIGBmYWxzZWAsIGRvbid0IGRpc3BsYXkgY3VycmVudCBwYWdlIG51bWJlciBvbiBtb2JpbGUuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHBhZ2luYXRpb24tbW9iaWxlLWN1cnJlbnQtaXRlbTogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGFycm93cyBhcmUgYWRkZWQgdG8gdGhlIG5leHQgYW5kIHByZXZpb3VzIGxpbmtzIG9mIHBhZ2luYXRpb24uXG4vLy8gQHR5cGUgQm9vbGVhblxuJHBhZ2luYXRpb24tYXJyb3dzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgcGFnaW5hdGlvbiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gYSBgPHVsPmAuXG5AbWl4aW4gcGFnaW5hdGlvbi1jb250YWluZXIge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgbWFyZ2luLWJvdHRvbTogJHBhZ2luYXRpb24tbWFyZ2luLWJvdHRvbTtcblxuICAvLyBMaXN0IGl0ZW1cbiAgbGkge1xuICAgIGZvbnQtc2l6ZTogJHBhZ2luYXRpb24tZm9udC1zaXplO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkcGFnaW5hdGlvbi1pdGVtLXNwYWNpbmc7XG4gICAgYm9yZGVyLXJhZGl1czogJHBhZ2luYXRpb24tcmFkaXVzO1xuXG4gICAgQGlmICRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtcyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICY6bGFzdC1jaGlsZCxcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9XG5cbiAgICAgIEBpZiAkcGFnaW5hdGlvbi1tb2JpbGUtY3VycmVudC1pdGVtIHtcbiAgICAgICAgJi5jdXJyZW50IHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFBhZ2UgbGlua3NcbiAgYSxcbiAgYnV0dG9uIHtcbiAgICBjb2xvcjogJHBhZ2luYXRpb24taXRlbS1jb2xvcjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmc7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgY3VycmVudCBwYWdpbmF0aW9uIGl0ZW0uIEFwcGx5IHRoaXMgdG8gYW4gYDxhPmAuXG5AbWl4aW4gcGFnaW5hdGlvbi1pdGVtLWN1cnJlbnQge1xuICBwYWRkaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmc7XG4gIGJhY2tncm91bmQ6ICRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50O1xuICBjb2xvcjogJHBhZ2luYXRpb24taXRlbS1jb2xvci1jdXJyZW50O1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBkaXNhYmxlZCBwYWdpbmF0aW9uIGl0ZW0uIEFwcGx5IHRoaXMgdG8gYW4gYDxhPmAuXG5AbWl4aW4gcGFnaW5hdGlvbi1pdGVtLWRpc2FibGVkIHtcbiAgcGFkZGluZzogJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nO1xuICBjb2xvcjogJHBhZ2luYXRpb24taXRlbS1jb2xvci1kaXNhYmxlZDtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFuIGVsbGlwc2lzIGZvciB1c2UgaW4gYSBwYWdpbmF0aW9uIGxpc3QuXG5AbWl4aW4gcGFnaW5hdGlvbi1lbGxpcHNpcyB7XG4gIGNvbnRlbnQ6ICdcXDIwMjYnO1xuICBwYWRkaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmc7XG4gIGNvbG9yOiAkcGFnaW5hdGlvbi1lbGxpcHNpcy1jb2xvcjtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcGFnaW5hdGlvbiB7XG4gIC5wYWdpbmF0aW9uIHtcbiAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWNvbnRhaW5lcjtcblxuICAgIC5jdXJyZW50IHtcbiAgICAgIEBpbmNsdWRlIHBhZ2luYXRpb24taXRlbS1jdXJyZW50O1xuICAgIH1cblxuICAgIC5kaXNhYmxlZCB7XG4gICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgLmVsbGlwc2lzOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWVsbGlwc2lzO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkcGFnaW5hdGlvbi1hcnJvd3Mge1xuICAgIC5wYWdpbmF0aW9uLXByZXZpb3VzIGE6OmJlZm9yZSxcbiAgICAucGFnaW5hdGlvbi1wcmV2aW91cy5kaXNhYmxlZDo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICdcXDAwYWInO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDAuNXJlbTtcbiAgICB9XG5cbiAgICAucGFnaW5hdGlvbi1uZXh0IGE6OmFmdGVyLFxuICAgIC5wYWdpbmF0aW9uLW5leHQuZGlzYWJsZWQ6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICdcXDAwYmInO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMC41cmVtO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBwcm9ncmVzcyBiYXIgY29udGFpbmVyLlxuQG1peGluIHByb2dyZXNzLWNvbnRhaW5lciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1iYWNrZ3JvdW5kO1xuICBoZWlnaHQ6ICRwcm9ncmVzcy1oZWlnaHQ7XG4gIG1hcmdpbi1ib3R0b206ICRwcm9ncmVzcy1tYXJnaW4tYm90dG9tO1xuICBib3JkZXItcmFkaXVzOiAkcHJvZ3Jlc3MtcmFkaXVzO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBpbm5lciBtZXRlciBvZiBhIHByb2dyZXNzIGJhci5cbkBtaXhpbiBwcm9ncmVzcy1tZXRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZ3Jlc3MtbWV0ZXItYmFja2dyb3VuZDtcblxuICBAaWYgaGFzLXZhbHVlKCRwcm9ncmVzcy1yYWRpdXMpIHtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRleHQgaW4gdGhlIHByb2dyZXNzIG1ldGVyLlxuQG1peGluIHByb2dyZXNzLW1ldGVyLXRleHQge1xuICBAaW5jbHVkZSBhYnNvbHV0ZS1jZW50ZXI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogJHdoaXRlO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gIEBpZiBoYXMtdmFsdWUoJHByb2dyZXNzLXJhZGl1cykge1xuICAgIGJvcmRlci1yYWRpdXM6ICRwcm9ncmVzcy1yYWRpdXM7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvZ3Jlc3MtYmFyIHtcbiAgLy8gUHJvZ3Jlc3MgYmFyXG4gIC5wcm9ncmVzcyB7XG4gICAgQGluY2x1ZGUgcHJvZ3Jlc3MtY29udGFpbmVyO1xuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkZm91bmRhdGlvbi1wYWxldHRlIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIElubmVyIG1ldGVyXG4gIC5wcm9ncmVzcy1tZXRlciB7XG4gICAgQGluY2x1ZGUgcHJvZ3Jlc3MtbWV0ZXI7XG4gIH1cblxuICAvLyBJbm5lciBtZXRlciB0ZXh0XG4gIC5wcm9ncmVzcy1tZXRlci10ZXh0IHtcbiAgICBAaW5jbHVkZSBwcm9ncmVzcy1tZXRlci10ZXh0O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8gW1RPRE9dIENoZWNrIGhvdyBwbHVnaW4gY29uZmlybXMgZGlzYWJsZWQgb3IgdmVydGljYWwgc3RhdHVzXG4vLyBbVE9ET10gQ2hlY2sgaWYgdHJhbnNpdGlvbjogYWxsOyBpcyBuZWNlc3NhcnlcblxuLy8vL1xuLy8vIEBncm91cCBzbGlkZXJcbi8vLy9cblxuLy8vIERlZmF1bHQgc2xpZGVyIHdpZHRoIG9mIGEgdmVydGljYWwgc2xpZGVyLiAoRG9lc24ndCBhcHBseSB0byB0aGUgbmF0aXZlIHNsaWRlci4pXG4vLy8gQHR5cGUgTnVtYmVyXG4kc2xpZGVyLXdpZHRoLXZlcnRpY2FsOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUcmFuc2l0aW9uIHByb3BlcnRpZXMgdG8gYXBwbHkgdG8gdGhlIHNsaWRlciBoYW5kbGUgYW5kIGZpbGwuIChEb2Vzbid0IGFwcGx5IHRvIHRoZSBuYXRpdmUgc2xpZGVyLilcbi8vLyBAdHlwZSBUcmFuc2l0aW9uXG4kc2xpZGVyLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4vLy8gQWRkcyB0aGUgZ2VuZXJhbCBzdHlsZXMgZm9yIHNsaWRlcnMuXG5AbWl4aW4gc2xpZGVyLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAkc2xpZGVyLWhlaWdodDtcbiAgbWFyZ2luLXRvcDogMS4yNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMi4yNXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNsaWRlci1iYWNrZ3JvdW5kO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICB0b3VjaC1hY3Rpb246IG5vbmU7XG59XG5cbi8vLyBBZGRzIHRoZSBnZW5lcmFsIHN0eWxlcyBmb3IgYWN0aXZlIGZpbGwgZm9yIHNsaWRlcnMuXG5AbWl4aW4gc2xpZGVyLWZpbGwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJHNsaWRlci1oZWlnaHQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzbGlkZXItZmlsbC1iYWNrZ3JvdW5kO1xuICB0cmFuc2l0aW9uOiAkc2xpZGVyLXRyYW5zaXRpb247XG5cbiAgJi5pcy1kcmFnZ2luZyB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDBzIGxpbmVhcjtcbiAgfVxufVxuXG4vLy8gQWRkcyB0aGUgZ2VuZXJhbCBzdHlsZXMgZm9yIHRoZSBzbGlkZXIgaGFuZGxlcy5cbkBtaXhpbiBzbGlkZXItaGFuZGxlIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBAaW5jbHVkZSB2ZXJ0aWNhbC1jZW50ZXI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogJHNsaWRlci1oYW5kbGUtd2lkdGg7XG4gIGhlaWdodDogJHNsaWRlci1oYW5kbGUtaGVpZ2h0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kO1xuICB0cmFuc2l0aW9uOiAkc2xpZGVyLXRyYW5zaXRpb247XG4gIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuICBib3JkZXItcmFkaXVzOiAkc2xpZGVyLXJhZGl1cztcblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzY2FsZS1jb2xvcigkc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtMTUlKTtcbiAgfVxuXG4gICYuaXMtZHJhZ2dpbmcge1xuICAgIHRyYW5zaXRpb246IGFsbCAwcyBsaW5lYXI7XG4gIH1cbn1cblxuQG1peGluIHNsaWRlci1kaXNhYmxlZCB7XG4gIG9wYWNpdHk6ICRzbGlkZXItb3BhY2l0eS1kaXNhYmxlZDtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuQG1peGluIHNsaWRlci12ZXJ0aWNhbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6ICRzbGlkZXItd2lkdGgtdmVydGljYWw7XG4gIGhlaWdodDogMTIuNXJlbTtcbiAgbWFyZ2luOiAwIDEuMjVyZW07XG4gIHRyYW5zZm9ybTogc2NhbGUoMSwgLTEpO1xuXG4gIC5zbGlkZXItZmlsbCB7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAkc2xpZGVyLXdpZHRoLXZlcnRpY2FsO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gIH1cblxuICAuc2xpZGVyLWhhbmRsZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgd2lkdGg6ICRzbGlkZXItaGFuZGxlLWhlaWdodDtcbiAgICBoZWlnaHQ6ICRzbGlkZXItaGFuZGxlLXdpZHRoO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1zbGlkZXIge1xuICAvLyBDb250YWluZXJcbiAgLnNsaWRlciB7XG4gICAgQGluY2x1ZGUgc2xpZGVyLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC8vIEZpbGwgYXJlYVxuICAuc2xpZGVyLWZpbGwge1xuICAgIEBpbmNsdWRlIHNsaWRlci1maWxsO1xuICB9XG5cbiAgLy8gRHJhZ2dhYmxlIGhhbmRsZVxuICAuc2xpZGVyLWhhbmRsZSB7XG4gICAgQGluY2x1ZGUgc2xpZGVyLWhhbmRsZTtcbiAgfVxuXG4gIC8vIERpc2FibGVkIHN0YXRlXG4gIC5zbGlkZXIuZGlzYWJsZWQsXG4gIC5zbGlkZXJbZGlzYWJsZWRdIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItZGlzYWJsZWQ7XG4gIH1cblxuICAvLyBWZXJ0aWNhbCBzbGlkZXJcbiAgLnNsaWRlci52ZXJ0aWNhbCB7XG4gICAgQGluY2x1ZGUgc2xpZGVyLXZlcnRpY2FsO1xuICB9XG5cbiAgLy8gUlRMIHN1cHBvcnRcbiAgQGlmICRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsIHtcbiAgICAuc2xpZGVyOm5vdCgudmVydGljYWwpIHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoLTEsIDEpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBtaXhpbiBmb3VuZGF0aW9uLXN0aWNreSB7XG4gIC5zdGlja3ktY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAuc3RpY2t5IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG5cbiAgLnN0aWNreS5pcy1zdHVjayB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHotaW5kZXg6IDU7XG5cbiAgICAmLmlzLWF0LXRvcCB7XG4gICAgICB0b3A6IDA7XG4gICAgfVxuXG4gICAgJi5pcy1hdC1ib3R0b20ge1xuICAgICAgYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5zdGlja3kuaXMtYW5jaG9yZWQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiBhdXRvO1xuXG4gICAgJi5pcy1hdC1ib3R0b20ge1xuICAgICAgYm90dG9tOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcmV2ZWFsXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgYSBtb2RhbC5cbi8vLyBAdHlwZSBDb2xvclxuJHJldmVhbC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHdpZHRoIG9mIGEgbW9kYWwsIHdpdGggbm8gY2xhc3MgYXBwbGllZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtd2lkdGg6IDYwMHB4ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXhpbXVtIHdpZHRoIG9mIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLW1heC13aWR0aDogJGdsb2JhbC13aWR0aCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgYXJvdW5kIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIHotaW5kZXggZm9yIG1vZGFscy4gVGhlIG92ZXJsYXkgdXNlcyB0aGlzIHZhbHVlLCB3aGlsZSB0aGUgbW9kYWwgaXRzZWxmIHVzZXMgdGhpcyB2YWx1ZSBwbHVzIG9uZS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtemluZGV4OiAxMDA1ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBtb2RhbCBvdmVybGF5cy5cbi8vLyBAdHlwZSBDb2xvclxuJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjQ1KSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIG1vZGFsIG92ZXJsYXkuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIG92ZXJsYXkuXG5AbWl4aW4gcmV2ZWFsLW92ZXJsYXkoJGJhY2tncm91bmQ6ICRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICB6LWluZGV4OiAkcmV2ZWFsLXppbmRleDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcbn1cblxuLy8vIEFkZHMgYmFzZSBzdHlsZXMgZm9yIGEgbW9kYWwuXG5AbWl4aW4gcmV2ZWFsLW1vZGFsLWJhc2Uge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHotaW5kZXg6ICRyZXZlYWwtemluZGV4ICsgMTtcbiAgcGFkZGluZzogJHJldmVhbC1wYWRkaW5nO1xuICBib3JkZXI6ICRyZXZlYWwtYm9yZGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmV2ZWFsLWJhY2tncm91bmQ7XG4gIGJvcmRlci1yYWRpdXM6ICRyZXZlYWwtcmFkaXVzO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgbWluLWhlaWdodDogMDtcbiAgfVxuXG4gIC8vIE1ha2Ugc3VyZSByb3dzIGRvbid0IGhhdmUgYSBtaW4td2lkdGggb24gdGhlbVxuICAuY29sdW1uLFxuICAuY29sdW1ucyB7XG4gICAgbWluLXdpZHRoOiAwO1xuICB9XG5cbiAgLy8gU3RyaXAgbWFyZ2lucyBmcm9tIHRoZSBsYXN0IGl0ZW0gaW4gdGhlIG1vZGFsXG4gID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEFkanVzdHMgdGhlIHdpZHRoIG9mIGEgbW9kYWwuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCAtIFdpZHRoIG9mIHRoZSBtb2RhbC4gR2VuZXJhbGx5IGEgcGVyY2VudGFnZS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1heC13aWR0aCBbJHJldmVhbC1tYXgtd2lkdGhdIC0gTWF4aW11bSB3aWR0aCBvZiB0aGUgbW9kYWwuXG5AbWl4aW4gcmV2ZWFsLW1vZGFsLXdpZHRoKFxuICAkd2lkdGg6ICRyZXZlYWwtd2lkdGgsXG4gICRtYXgtd2lkdGg6ICRyZXZlYWwtbWF4LXdpZHRoXG4pIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBAZXh0ZW5kICVyZXZlYWwtY2VudGVyZWQ7XG4gICAgd2lkdGg6ICR3aWR0aDtcbiAgICBtYXgtd2lkdGg6ICRyZXZlYWwtbWF4LXdpZHRoO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgZnVsbC1zY3JlZW4gbW9kYWwsIHdoaWNoIHN0cmV0Y2hlcyB0aGUgZnVsbCB3aWR0aCBhbmQgaGVpZ2h0IG9mIHRoZSB3aW5kb3cuXG5AbWl4aW4gcmV2ZWFsLW1vZGFsLWZ1bGxzY3JlZW4ge1xuICAvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBEdXBsaWNhdGVQcm9wZXJ0eVxuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGhlaWdodDogMTAwdmg7XG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICBtYXgtd2lkdGg6IG5vbmU7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXJldmVhbCB7XG4gIC8vIFtUT0RPXSBJcyB0aGlzIG5lY2Vzc2FyeT9cbiAgLy8gc2Nzcy1saW50OmRpc2FibGUgUXVhbGlmeWluZ0VsZW1lbnRcbiAgYm9keS5pcy1yZXZlYWwtb3BlbiB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuICAvLyBodG1sIGdldHMgdGhpcyBjbGFzcyBvbmx5IGluIGlPU1xuICBodG1sLmlzLXJldmVhbC1vcGVuLFxuICBodG1sLmlzLXJldmVhbC1vcGVuIGJvZHkge1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgfVxuXG4gIC8vIE92ZXJsYXlcbiAgLnJldmVhbC1vdmVybGF5IHtcbiAgICBAaW5jbHVkZSByZXZlYWwtb3ZlcmxheTtcbiAgfVxuXG4gIC8vIE1vZGFsIGNvbnRhaW5lclxuICAucmV2ZWFsIHtcbiAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtYmFzZTtcbiAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoJHJldmVhbC13aWR0aCk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMTAwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG5cbiAgICAvLyBQbGFjZWhvbGRlciBzZWxlY3RvciBmb3IgbWVkaXVtLWFuZC11cCBtb2RhbHNcbiAgICAvLyBQcmV2ZW50cyBkdXBsaWNhdGUgQ1NTIHdoZW4gZGVmaW5pbmcgbXVsdGlwbGUgUmV2ZWFsIHNpemVzXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICVyZXZlYWwtY2VudGVyZWQge1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gUmVtb3ZlIHBhZGRpbmdcbiAgICAmLmNvbGxhcHNlIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLy8gU2l6aW5nIGNsYXNzZXNcbiAgICAmLnRpbnkgIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKDMwJSk7IH1cbiAgICAmLnNtYWxsIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKDUwJSk7IH1cbiAgICAmLmxhcmdlIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKDkwJSk7IH1cblxuICAgIC8vIEZ1bGwtc2NyZWVuIG1vZGVcbiAgICAmLmZ1bGwge1xuICAgICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWZ1bGxzY3JlZW47XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXplcm8tYnJlYWtwb2ludCBvbmx5KSB7XG4gICAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtZnVsbHNjcmVlbjtcbiAgICB9XG5cbiAgICAmLndpdGhvdXQtb3ZlcmxheSB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBzd2l0Y2hcbi8vLy9cblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYSBzd2l0Y2guXG4vLy8gQHR5cGUgQ29sb3JcbiRzd2l0Y2gtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBhY3RpdmUgY29sb3Igb2YgYSBzd2l0Y2guXG4vLy8gQHR5cGUgQ29sb3JcbiRzd2l0Y2gtYmFja2dyb3VuZC1hY3RpdmU6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG9mIGEgc3dpdGNoLCB3aXRoIG5vIGNsYXNzIGFwcGxpZWQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLWhlaWdodDogMnJlbSAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBvZiBhIHN3aXRjaCB3aXRoIC50aW55IGNsYXNzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1oZWlnaHQtdGlueTogMS41cmVtICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG9mIGEgc3dpdGNoIHdpdGggLnNtYWxsIGNsYXNzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1oZWlnaHQtc21hbGw6IDEuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgb2YgYSBzd2l0Y2ggd2l0aCAubGFyZ2UgY2xhc3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLWhlaWdodC1sYXJnZTogMi41cmVtICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBvZiB0aGUgc3dpdGNoXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBib3JkZXIgYXJvdW5kIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLW1hcmdpbjogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgc3dpdGNoIGNvbnRhaW5lciBhbmQgcGFkZGxlLlxuLy8vIEB0eXBlIENvbG9yXG4kc3dpdGNoLXBhZGRsZS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gYSBzd2l0Y2ggcGFkZGxlIGFuZCB0aGUgZWRnZSBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtcGFkZGxlLW9mZnNldDogMC4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIGJvcmRlciByYWRpdXMgb2YgdGhlIHN3aXRjaCBwYWRkbGVcbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtcGFkZGxlLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBzd2l0Y2ggdHJhbnNpdGlvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dCAhZGVmYXVsdDtcblxuLy8gbWFrZSB0aGVtIHZhcmlhYmxlc1xuLy8gYXNrIGFib3V0IGFjY2Vzc2liaWxpdHkgb24gbGFiZWxcbi8vIGNoYW5nZSBjbGFzcyBuYW1lIGZvciB0ZXh0XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzd2l0Y2ggY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIGEgY29udGFpbmVyIGNsYXNzLlxuQG1peGluIHN3aXRjaC1jb250YWluZXIge1xuICBtYXJnaW4tYm90dG9tOiAkc3dpdGNoLW1hcmdpbjtcbiAgb3V0bGluZTogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcblxuICAvLyBUaGVzZSBwcm9wZXJ0aWVzIGNhc2NhZGUgZG93biB0byB0aGUgc3dpdGNoIHRleHRcbiAgY29sb3I6ICR3aGl0ZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc3dpdGNoIGlucHV0LiBBcHBseSB0aGlzIHRvIGFuIGA8aW5wdXQ+YCB3aXRoaW4gYSBzd2l0Y2guXG5AbWl4aW4gc3dpdGNoLWlucHV0IHtcbiAgb3BhY2l0eTogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBiYWNrZ3JvdW5kIGFuZCBwYWRkbGUgb2YgYSBzd2l0Y2guIEFwcGx5IHRoaXMgdG8gYSBgPGxhYmVsPmAgd2l0aGluIGEgc3dpdGNoLlxuQG1peGluIHN3aXRjaC1wYWRkbGUge1xuICBiYWNrZ3JvdW5kOiAkc3dpdGNoLWJhY2tncm91bmQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDRyZW07XG4gIGhlaWdodDogJHN3aXRjaC1oZWlnaHQ7XG4gIHRyYW5zaXRpb246ICRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb247XG4gIGJvcmRlci1yYWRpdXM6ICRzd2l0Y2gtcmFkaXVzO1xuXG4gIC8vIFJlc2V0dGluZyB0aGVzZSA8bGFiZWw+IHByZXNldHMgc28gdHlwZSBzdHlsZXMgY2FzY2FkZSBkb3duXG4gIGNvbG9yOiBpbmhlcml0O1xuICBmb250LXdlaWdodDogaW5oZXJpdDtcblxuICAvLyBOZWVkZWQgdG8gb3ZlcnJpZGUgc3BlY2lmaWNpdHlcbiAgaW5wdXQgKyAmIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAvLyBUaGUgcGFkZGxlIGl0c2VsZlxuICAmOjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogJHN3aXRjaC1wYWRkbGUtYmFja2dyb3VuZDtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaGVpZ2h0OiAxLjVyZW07XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAwLjI1cmVtO1xuICAgIHRvcDogMC4yNXJlbTtcbiAgICB3aWR0aDogMS41cmVtO1xuICAgIHRyYW5zaXRpb246ICRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb247XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICBib3JkZXItcmFkaXVzOiAkc3dpdGNoLXBhZGRsZS1yYWRpdXM7XG4gIH1cblxuICAvLyBDaGFuZ2UgdGhlIHZpc3VhbCBzdHlsZSB3aGVuIHRoZSBzd2l0Y2ggaXMgYWN0aXZlXG4gIGlucHV0OmNoZWNrZWQgfiAmIHtcbiAgICBiYWNrZ3JvdW5kOiAkc3dpdGNoLWJhY2tncm91bmQtYWN0aXZlO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgI3skZ2xvYmFsLWxlZnR9OiAyLjI1cmVtO1xuICAgIH1cbiAgfVxuXG4gIGlucHV0OmZvY3VzIH4gJiB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICB9XG59XG5cbi8vLyBBZGRzIGJhc2Ugc3R5bGVzIGZvciBhY3RpdmUvaW5hY3RpdmUgdGV4dCBpbnNpZGUgYSBzd2l0Y2guIEFwcGx5IHRoaXMgdG8gdGV4dCBlbGVtZW50cyBpbnNpZGUgdGhlIHN3aXRjaCBgPGxhYmVsPmAuXG5AbWl4aW4gc3dpdGNoLXRleHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGFjdGl2ZSBzdGF0ZSB0ZXh0IHdpdGhpbiBhIHN3aXRjaC5cbkBtaXhpbiBzd2l0Y2gtdGV4dC1hY3RpdmUge1xuICAjeyRnbG9iYWwtbGVmdH06IDglO1xuICBkaXNwbGF5OiBub25lO1xuXG4gIGlucHV0OmNoZWNrZWQgKyBsYWJlbCA+ICYge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGluYWN0aXZlIHN0YXRlIHRleHQgd2l0aGluIGEgc3dpdGNoLlxuQG1peGluIHN3aXRjaC10ZXh0LWluYWN0aXZlIHtcbiAgI3skZ2xvYmFsLXJpZ2h0fTogMTUlO1xuXG4gIGlucHV0OmNoZWNrZWQgKyBsYWJlbCA+ICYge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLy8vIENoYW5nZXMgdGhlIHNpemUgb2YgYSBzd2l0Y2ggYnkgbW9kaWZ5aW5nIHRoZSBzaXplIG9mIHRoZSBib2R5IGFuZCBwYWRkbGUuIEFwcGx5IHRoaXMgdG8gYSBzd2l0Y2ggY29udGFpbmVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZm9udC1zaXplIFsxcmVtXSAtIEZvbnQgc2l6ZSBvZiBsYWJlbCB0ZXh0IHdpdGhpbiB0aGUgc3dpdGNoLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWzRyZW1dIC0gV2lkdGggb2YgdGhlIHN3aXRjaCBib2R5LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkaGVpZ2h0IFsycmVtXSAtIEhlaWdodCBvZiB0aGUgc3dpdGNoIGJvZHkuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRwYWRkbGUtd2lkdGggWzEuNXJlbV0gLSBXaWR0aCBvZiB0aGUgc3dpdGNoIHBhZGRsZS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHBhZGRsZS1vZmZzZXQgWzAuMjVyZW1dIC0gU3BhY2luZyBiZXR3ZWVuIHRoZSBzd2l0Y2ggcGFkZGxlIGFuZCB0aGUgZWRnZSBvZiB0aGUgc3dpdGNoIGJvZHkuXG5AbWl4aW4gc3dpdGNoLXNpemUoXG4gICRmb250LXNpemU6IDFyZW0sXG4gICR3aWR0aDogNHJlbSxcbiAgJGhlaWdodDogMnJlbSxcbiAgJHBhZGRsZS13aWR0aDogMS41cmVtLFxuICAkcGFkZGxlLW9mZnNldDogMC4yNXJlbVxuKSB7XG4gICRwYWRkbGUtaGVpZ2h0OiAkaGVpZ2h0IC0gKCRwYWRkbGUtb2Zmc2V0ICogMik7XG4gICRwYWRkbGUtbGVmdC1hY3RpdmU6ICR3aWR0aCAtICRwYWRkbGUtd2lkdGggLSAkcGFkZGxlLW9mZnNldDtcblxuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIFxuICAuc3dpdGNoLXBhZGRsZSB7XG4gICAgd2lkdGg6ICR3aWR0aDtcbiAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICB9XG5cbiAgLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICB3aWR0aDogJHBhZGRsZS13aWR0aDtcbiAgICBoZWlnaHQ6ICRwYWRkbGUtaGVpZ2h0O1xuICB9XG5cbiAgaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAkcGFkZGxlLWxlZnQtYWN0aXZlO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXN3aXRjaCB7XG4gIC8vIENvbnRhaW5lciBjbGFzc1xuICAuc3dpdGNoIHtcbiAgICBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0O1xuICAgIEBpbmNsdWRlIHN3aXRjaC1jb250YWluZXI7XG4gIH1cblxuICAvLyA8aW5wdXQ+IGVsZW1lbnRcbiAgLnN3aXRjaC1pbnB1dCB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLWlucHV0O1xuICB9XG5cbiAgLy8gPGxhYmVsPiBlbGVtZW50XG4gIC5zd2l0Y2gtcGFkZGxlIHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtcGFkZGxlO1xuICB9XG5cbiAgLy8gQmFzZSBsYWJlbCB0ZXh0IHN0eWxlc1xuICAlc3dpdGNoLXRleHQge1xuICAgIEBpbmNsdWRlIHN3aXRjaC10ZXh0O1xuICB9XG5cbiAgLy8gQWN0aXZlIGxhYmVsIHRleHQgc3R5bGVzXG4gIC5zd2l0Y2gtYWN0aXZlIHtcbiAgICBAZXh0ZW5kICVzd2l0Y2gtdGV4dDtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtdGV4dC1hY3RpdmU7XG4gIH1cblxuICAvLyBJbmFjdGl2ZSBsYWJlbCB0ZXh0IHN0eWxlc1xuICAuc3dpdGNoLWluYWN0aXZlIHtcbiAgICBAZXh0ZW5kICVzd2l0Y2gtdGV4dDtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtdGV4dC1pbmFjdGl2ZTtcbiAgfVxuXG4gIC8vIFN3aXRjaCBzaXplc1xuICAuc3dpdGNoLnRpbnkge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1zaXplKHJlbS1jYWxjKDEwKSwgM3JlbSwgJHN3aXRjaC1oZWlnaHQtdGlueSwgMXJlbSwgJHN3aXRjaC1wYWRkbGUtb2Zmc2V0KTtcbiAgfVxuXG4gIC5zd2l0Y2guc21hbGwge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1zaXplKHJlbS1jYWxjKDEyKSwgMy41cmVtLCAkc3dpdGNoLWhlaWdodC1zbWFsbCwgMS4yNXJlbSwgJHN3aXRjaC1wYWRkbGUtb2Zmc2V0KTtcbiAgfVxuXG4gIC5zd2l0Y2gubGFyZ2Uge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1zaXplKHJlbS1jYWxjKDE2KSwgNXJlbSwgJHN3aXRjaC1oZWlnaHQtbGFyZ2UsIDJyZW0sICRzd2l0Y2gtcGFkZGxlLW9mZnNldCk7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLyBzY3NzLWxpbnQ6ZGlzYWJsZSBNZXJnZWFibGVTZWxlY3RvciwgUXVhbGlmeWluZ0VsZW1lbnRcblxuLy8vL1xuLy8vIEBncm91cCB0YWJsZVxuLy8vL1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgdGFibGUgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWJhY2tncm91bmQ6ICR3aGl0ZSAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHNjYWxlIGZvciBkYXJrZW5pbmcgdGhlIHN0cmlwZWQgdGFibGUgcm93cyBhbmQgdGhlIHRhYmxlIGJvcmRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWJsZS1jb2xvci1zY2FsZTogNSUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHN0eWxlIGZvciB0YWJsZSBib3JkZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLWJvcmRlcjogMXB4IHNvbGlkIHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciB0YWJsZS5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWJsZS1wYWRkaW5nOiByZW0tY2FsYyg4IDEwIDEwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc2NhbGUgZm9yIGRhcmtlbmluZyB0aGUgdGFibGUgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWJsZS1ob3Zlci1zY2FsZTogMiUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHN0YW5kYXJkIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBzdHJpcGVkIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlICsgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3Igc3RyaXBlZCByb3dzLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdmFsdWUgZm9yIHNob3dpbmcgdGhlIHN0cmlwZSBvbiByb3dzIG9mIHRoZSB0YWJsZXMsIGV4Y2x1ZGluZyB0aGUgaGVhZGVyIGFuZCBmb290ZXIuIElmIGV2ZW4sIHRoZSBldmVuIHJvd3Mgd2lsbCBoYXZlIGEgYmFja2dyb3VuZCBjb2xvci4gSWYgb2RkLCB0aGUgb2RkIHJvd3Mgd2lsbCBoYXZlIGEgYmFja2dyb3VuZCBjb2xvci4gSWYgZW1wdHksIG9yIGFueSBvdGhlciB2YWx1ZSwgdGhlIHRhYmxlIHJvd3Mgd2lsbCBoYXZlIG5vIHN0cmlwaW5nLlxuLy8vIEB0eXBlIEtleXdvcmRcbiR0YWJsZS1zdHJpcGU6IGV2ZW4gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBoZWFkZXIgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWhlYWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSAvIDIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBoZWFkZXIgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtaGVhZC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtaGVhZC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgZm9vdGVyIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1mb290LWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBmb290ZXIgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtZm9vdC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtZm9vdC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBoZWFkZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1oZWFkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGZvb3Rlci5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWZvb3QtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdmFsdWUgZm9yIHNob3dpbmcgdGhlIGhlYWRlciB3aGVuIHVzaW5nIHN0YWNrZWQgdGFibGVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRzaG93LWhlYWRlci1mb3Itc3RhY2tlZDogZmFsc2UgIWRlZmF1bHQ7XG5cbkBtaXhpbiAtemYtdGFibGUtY2hpbGRyZW4tc3R5bGVzKCRzdHJpcGU6ICR0YWJsZS1zdHJpcGUpIHtcbiAgdGhlYWQsXG4gIHRib2R5LFxuICB0Zm9vdCB7XG4gICAgYm9yZGVyOiAkdGFibGUtYm9yZGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1iYWNrZ3JvdW5kO1xuICB9XG5cbiAgLy8gQ2FwdGlvblxuICBjYXB0aW9uIHtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICBwYWRkaW5nOiAkdGFibGUtcGFkZGluZztcbiAgfVxuICBcbiAgLy8gVGFibGUgaGVhZFxuICB0aGVhZCB7XG4gICAgYmFja2dyb3VuZDogJHRhYmxlLWhlYWQtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHRhYmxlLWhlYWQtZm9udC1jb2xvcjtcbiAgfVxuXG4gIC8vIFRhYmxlIGZvb3RcbiAgdGZvb3Qge1xuICAgIGJhY2tncm91bmQ6ICR0YWJsZS1mb290LWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICR0YWJsZS1mb290LWZvbnQtY29sb3I7XG4gIH1cblxuICAvLyBUYWJsZSBoZWFkIGFuZCBmb290XG4gIHRoZWFkLFxuICB0Zm9vdCB7XG4gICAgLy8gUm93cyB3aXRoaW4gaGVhZCBhbmQgZm9vdFxuICAgIHRyIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIC8vIENlbGxzIHdpdGhpbiBoZWFkIGFuZCBmb290XG4gICAgdGgsXG4gICAgdGQge1xuICAgICAgcGFkZGluZzogJHRhYmxlLXBhZGRpbmc7XG4gICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICAgIHRleHQtYWxpZ246ICN7JGdsb2JhbC1sZWZ0fTtcbiAgICB9XG4gIH1cblxuICAvLyBUYWJsZSByb3dzXG4gIHRib2R5IHtcbiAgICB0ciB7XG4gICAgICAvLyBJZiBzdHJpcGUgaXMgc2V0IHRvIGV2ZW4sIGRhcmtlbiB0aGUgZXZlbiByb3dzLlxuICAgICAgQGlmICRzdHJpcGUgPT0gZXZlbiB7XG4gICAgICAgICY6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIElmIHN0cmlwZSBpcyBzZXQgdG8gb2RkLCBkYXJrZW4gdGhlIG9kZCByb3dzLlxuICAgICAgQGVsc2UgaWYgJHN0cmlwZSA9PSBvZGQge1xuICAgICAgICAmOm50aC1jaGlsZChvZGQpIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGgsXG4gICAgdGQge1xuICAgICAgcGFkZGluZzogJHRhYmxlLXBhZGRpbmc7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHRoZSBnZW5lcmFsIHN0eWxlcyBmb3IgdGFibGVzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0cmlwZSBbJHRhYmxlLXN0cmlwZV0gLSBVc2VzIGtleXdvcmRzIGV2ZW4sIG9kZCwgb3Igbm9uZSB0byBkYXJrZW4gcm93cyBvZiB0aGUgdGFibGUuIFRoZSBkZWZhdWx0IHZhbHVlIGlzIGV2ZW4uXG5AbWl4aW4gdGFibGUoXG4gICRzdHJpcGU6ICR0YWJsZS1zdHJpcGUsXG4gICRuZXN0OiBmYWxzZVxuKSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbiAgQGlmICRuZXN0IHtcbiAgICBAaW5jbHVkZSAtemYtdGFibGUtY2hpbGRyZW4tc3R5bGVzKCRzdHJpcGUpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAYXQtcm9vdCB7XG4gICAgICBAaW5jbHVkZSAtemYtdGFibGUtY2hpbGRyZW4tc3R5bGVzKCRzdHJpcGUpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyB0aGUgYWJpbGl0eSB0byBob3Jpem9udGFsbHkgc2Nyb2xsIHRoZSB0YWJsZSB3aGVuIHRoZSBjb250ZW50IG92ZXJmbG93cyBob3Jpem9udGFsbHkuXG5AbWl4aW4gdGFibGUtc2Nyb2xsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy14OiBhdXRvO1xufVxuXG4vLy8gU2xpZ2h0bHkgZGFya2VucyB0aGUgdGFibGUgcm93cyBvbiBob3Zlci5cbkBtaXhpbiB0YWJsZS1ob3ZlciB7XG4gIHRoZWFkIHRyIHtcbiAgICAvL0RhcmtlbnMgdGhlIHRhYmxlIGhlYWRlciByb3dzIG9uIGhvdmVyLlxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWhlYWQtcm93LWhvdmVyO1xuICAgIH1cbiAgfVxuXG4gIHRmb290IHRyIHtcbiAgICAvL0RhcmtlbnMgdGhlIHRhYmxlIGZvb3RlciByb3dzIG9uIGhvdmVyLlxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWZvb3Qtcm93LWhvdmVyO1xuICAgIH1cbiAgfVxuXG4gIHRib2R5IHRyIHtcbiAgICAvL0RhcmtlbnMgdGhlIG5vbi1zdHJpcGVkIHRhYmxlIHJvd3Mgb24gaG92ZXIuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LWhvdmVyO1xuICAgIH1cblxuICAgIC8vRGFya2VucyB0aGUgZXZlbiBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGlmKCR0YWJsZS1zdHJpcGUgPT0gZXZlbikge1xuICAgICAgJjpudGgtb2YtdHlwZShldmVuKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vRGFya2VucyB0aGUgb2RkIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAZWxzZWlmKCR0YWJsZS1zdHJpcGUgPT0gb2RkKSB7XG4gICAgICAmOm50aC1vZi10eXBlKG9kZCk6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHN0YWNrZWQgdGFibGUuIFVzZWZ1bCBmb3Igc21hbGwtc2NyZWVuIGxheW91dHMuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkaGVhZGVyIFskc2hvdy1oZWFkZXItZm9yLXN0YWNrZWRdIC0gU2hvdyB0aGUgZmlyc3QgdGggb2YgaGVhZGVyIHdoZW4gc3RhY2tlZC5cbkBtaXhpbiB0YWJsZS1zdGFjaygkaGVhZGVyOiAkc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQpIHtcbiAgQGlmICRoZWFkZXIge1xuICAgIHRoZWFkIHtcbiAgICAgIHRoOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG5cbiAgICAgIHRoIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIHRoZWFkIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgdGZvb3Qge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICB0cixcbiAgdGgsXG4gIHRkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIHRkIHtcbiAgICBib3JkZXItdG9wOiAwO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRhYmxlKCRuZXN0OiBmYWxzZSkge1xuICB0YWJsZSB7XG4gICAgQGluY2x1ZGUgdGFibGUoJG5lc3Q6ICRuZXN0KTtcbiAgfVxuXG4gIHRhYmxlLnN0YWNrIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICBAaW5jbHVkZSB0YWJsZS1zdGFjaztcbiAgICB9XG4gIH1cblxuICB0YWJsZS5zY3JvbGwge1xuICAgIEBpbmNsdWRlIHRhYmxlLXNjcm9sbDtcbiAgfVxuXG4gIHRhYmxlLmhvdmVyIHtcbiAgICBAaW5jbHVkZSB0YWJsZS1ob3ZlcjtcbiAgfVxuXG4gIC50YWJsZS1zY3JvbGwge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG5cbiAgICB0YWJsZSB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gQ2hlY2tzIHRoZSBsaWdodG5lc3Mgb2YgYCRjb2xvcmAsIGFuZCBpZiBpdCBwYXNzZXMgdGhlIGAkdGhyZXNob2xkYCBvZiBsaWdodG5lc3MsIGl0IHJldHVybnMgdGhlIGAkeWVzYCBjb2xvci4gT3RoZXJ3aXNlLCBpdCByZXR1cm5zIHRoZSBgJG5vYCBjb2xvci4gVXNlIHRoaXMgZnVuY3Rpb24gdG8gZHluYW1pY2FsbHkgb3V0cHV0IGEgZm9yZWdyb3VuZCBjb2xvciBiYXNlZCBvbiBhIGdpdmVuIGJhY2tncm91bmQgY29sb3IuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciB0byBjaGVjayB0aGUgbGlnaHRuZXNzIG9mLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICR5ZXMgWyRibGFja10gLSBDb2xvciB0byByZXR1cm4gaWYgYCRjb2xvcmAgaXMgbGlnaHQuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJG5vIFskd2hpdGVdIC0gQ29sb3IgdG8gcmV0dXJuIGlmIGAkY29sb3JgIGlzIGRhcmsuXG4vLy8gQHBhcmFtIHtQZXJjZW50YWdlfSAkdGhyZXNob2xkIFs2MCVdIC0gVGhyZXNob2xkIG9mIGxpZ2h0bmVzcyB0byBjaGVjayBhZ2FpbnN0LlxuLy8vXG4vLy8gQHJldHVybnMge0NvbG9yfSBUaGUgJHllcyBjb2xvciBvciAkbm8gY29sb3IuXG5AZnVuY3Rpb24gZm9yZWdyb3VuZCgkY29sb3IsICR5ZXM6ICRibGFjaywgJG5vOiAkd2hpdGUsICR0aHJlc2hvbGQ6IDYwJSkge1xuICBAaWYgJGNvbG9yID09IHRyYW5zcGFyZW50IHtcbiAgICAkY29sb3I6ICRib2R5LWJhY2tncm91bmQ7XG4gIH1cbiAgQGlmIChsaWdodG5lc3MoJGNvbG9yKSA+ICR0aHJlc2hvbGQpIHtcbiAgICBAcmV0dXJuICR5ZXM7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gJG5vO1xuICB9XG59XG5cbi8vLyBTY2FsZXMgYSBjb2xvciB0byBiZSBsaWdodGVyIGlmIGl0J3MgbGlnaHQsIG9yIGRhcmtlciBpZiBpdCdzIGRhcmsuIFVzZSB0aGlzIGZ1bmN0aW9uIHRvIHRpbnQgYSBjb2xvciBhcHByb3ByaWF0ZSB0byBpdHMgbGlnaHRuZXNzLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3IgdG8gc2NhbGUuXG4vLy8gQHBhcmFtIHtQZXJjZW50YWdlfSAkc2NhbGUgWzUlXSAtIEFtb3VudCB0byBzY2FsZSB1cCBvciBkb3duLlxuLy8vIEBwYXJhbSB7UGVyY2VudGFnZX0gJHRocmVzaG9sZCBbNDAlXSAtIFRocmVzaG9sZCBvZiBsaWdodG5lc3MgdG8gY2hlY2sgYWdhaW5zdC5cbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gQSBzY2FsZWQgY29sb3IuXG5AZnVuY3Rpb24gc21hcnQtc2NhbGUoJGNvbG9yLCAkc2NhbGU6IDUlLCAkdGhyZXNob2xkOiA0MCUpIHtcbiAgQGlmIGxpZ2h0bmVzcygkY29sb3IpID4gJHRocmVzaG9sZCB7XG4gICAgJHNjYWxlOiAtJHNjYWxlO1xuICB9XG4gIEByZXR1cm4gc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkc2NhbGUpO1xufVxuXG4vLy8gR2V0IGNvbG9yIGZyb20gZm91bmRhdGlvbi1wYWxldHRlXG4vLy9cbi8vLyBAcGFyYW0ge2tleX0gY29sb3Iga2V5IGZyb20gZm91bmRhdGlvbi1wYWxldHRlXG4vLy9cbi8vLyBAcmV0dXJucyB7Q29sb3J9IGNvbG9yIGZyb20gZm91bmRhdGlvbi1wYWxldHRlXG5AZnVuY3Rpb24gZ2V0LWNvbG9yKCRrZXkpIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsICRrZXkpIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgJGtleSk7XG4gIH0gQGVsc2Uge1xuICAgIEBlcnJvciAnZ2l2ZW4gJGtleSBpcyBub3QgYXZhaWxhYmxlIGluICRmb3VuZGF0aW9uLXBhbGV0dGUnO1xuICB9XG59XG5cbi8vLyBUcmFuc2ZlcnMgdGhlIGNvbG9ycyBpbiB0aGUgYCRmb3VuZGF0aW9uLXBhbGV0dGVgIHZhcmlhYmxlIGludG8gdGhlIGxlZ2FjeSBjb2xvciB2YXJpYWJsZXMsIHN1Y2ggYXMgYCRwcmltYXJ5LWNvbG9yYCBhbmQgYCRzZWNvbmRhcnktY29sb3JgLiBDYWxsIHRoaXMgbWl4aW4gYmVsb3cgdGhlIEdsb2JhbCBzZWN0aW9uIG9mIHlvdXIgc2V0dGluZ3MgZmlsZSB0byBwcm9wZXJseSBtaWdyYXRlIHlvdXIgY29kZWJhc2UuXG5AbWl4aW4gYWRkLWZvdW5kYXRpb24tY29sb3JzKCkge1xuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkge1xuICAgICRwcmltYXJ5LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSkge1xuICAgICRzZWNvbmRhcnktY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KSAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBzdWNjZXNzKSB7XG4gICAgJHN1Y2Nlc3MtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc3VjY2VzcykgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2FybmluZykge1xuICAgICR3YXJuaW5nLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdhcm5pbmcpICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KSB7XG4gICAgJGFsZXJ0LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KSAhZ2xvYmFsO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0YWJzXG4vLy8vXG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBvZiB0aGUgdGFiIGJhci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWItbWFyZ2luOiAwICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIGEgdGFiIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBhY3RpdmUgYmFja2dyb3VuZCBjb2xvciBvZiBhIHRhYiBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItYmFja2dyb3VuZC1hY3RpdmU6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIHRhYiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWItaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvbiBob3ZlciBmb3IgaXRlbXMgaW4gYSBNZW51LlxuJHRhYi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBvZiBhIHRhYiBpdGVtLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMS41cmVtICFkZWZhdWx0O1xuXG4vLy8gTWF4aW11bSBudW1iZXIgb2YgYGV4cGFuZC1uYCBjbGFzc2VzIHRvIGluY2x1ZGUgaW4gdGhlIENTUy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWItZXhwYW5kLW1heDogNiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWNvbnRlbnQtYm9yZGVyOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb250ZW50LWNvbG9yOiBmb3JlZ3JvdW5kKCR0YWItYmFja2dyb3VuZCwgJHByaW1hcnktY29sb3IpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kdGFiLWNvbnRlbnQtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHRhYiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gYSBgPHVsPmAuXG5AbWl4aW4gdGFicy1jb250YWluZXIge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWFyZ2luOiAkdGFiLW1hcmdpbjtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBiYWNrZ3JvdW5kOiAkdGFiLWJhY2tncm91bmQ7XG4gIGJvcmRlcjogMXB4IHNvbGlkICR0YWItY29udGVudC1ib3JkZXI7XG59XG5cbi8vLyBBdWdtZW50cyBhIHRhYiBjb250YWluZXIgdG8gaGF2ZSB2ZXJ0aWNhbCB0YWJzLiBVc2UgdGhpcyBpbiBjb25qdW5jdGlvbiB3aXRoIGB0YWJzLWNvbnRhaW5lcigpYC5cbkBtaXhpbiB0YWJzLWNvbnRhaW5lci12ZXJ0aWNhbCB7XG4gID4gbGkge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGZsb2F0OiBub25lO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGxpbmtzIHdpdGhpbiBhIHRhYiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gdGhlIGA8bGk+YCBlbGVtZW50cyBpbnNpZGUgYSB0YWIgY29udGFpbmVyLlxuQG1peGluIHRhYnMtdGl0bGUge1xuICBmbG9hdDogI3skZ2xvYmFsLWxlZnR9O1xuXG4gID4gYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogJHRhYi1pdGVtLXBhZGRpbmc7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgZm9udC1zaXplOiAkdGFiLWl0ZW0tZm9udC1zaXplO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjtcbiAgICB9XG5cbiAgICAmOmZvY3VzLFxuICAgICZbYXJpYS1zZWxlY3RlZD0ndHJ1ZSddIHtcbiAgICAgIGJhY2tncm91bmQ6ICR0YWItYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIHdyYXBwZXIgdGhhdCBzdXJyb3VuZHMgYSB0YWIgZ3JvdXAncyBjb250ZW50IHBhbmVzLlxuQG1peGluIHRhYnMtY29udGVudCB7XG4gIGJhY2tncm91bmQ6ICR0YWItY29udGVudC1iYWNrZ3JvdW5kO1xuICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlO1xuICBib3JkZXI6IDFweCBzb2xpZCAkdGFiLWNvbnRlbnQtYm9yZGVyO1xuICBib3JkZXItdG9wOiAwO1xufVxuXG4vLy8gQXVnbWVudHMgYSB0YWIgY29udGVudCBjb250YWluZXIgdG8gaGF2ZSBhIHZlcnRpY2FsIHN0eWxlLCBieSBzaGlmdGluZyB0aGUgYm9yZGVyIGFyb3VuZC4gVXNlIHRoaXMgaW4gY29uanVuY3Rpb24gd2l0aCBgdGFicy1jb250ZW50KClgLlxuQG1peGluIHRhYnMtY29udGVudC12ZXJ0aWNhbCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICR0YWItY29udGVudC1ib3JkZXI7XG4gIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gaW5kaXZpZHVhbCB0YWIgY29udGVudCBwYW5lbCB3aXRoaW4gdGhlIHRhYiBjb250ZW50IGNvbnRhaW5lci5cbkBtaXhpbiB0YWJzLXBhbmVsIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogJHRhYi1jb250ZW50LXBhZGRpbmc7XG5cbiAgJi5pcy1hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRhYnMge1xuICAudGFicyB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250YWluZXI7XG4gIH1cblxuICAvLyBWZXJ0aWNhbFxuICAudGFicy52ZXJ0aWNhbCB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250YWluZXItdmVydGljYWw7XG4gIH1cblxuICAvLyBTaW1wbGVcbiAgLnRhYnMuc2ltcGxlIHtcbiAgICA+IGxpID4gYSB7XG4gICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUHJpbWFyeSBjb2xvclxuICAudGFicy5wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcblxuICAgID4gbGkgPiBhIHtcbiAgICAgIGNvbG9yOiBmb3JlZ3JvdW5kKCRwcmltYXJ5LWNvbG9yKTtcblxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkcHJpbWFyeS1jb2xvcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnRhYnMtdGl0bGUge1xuICAgIEBpbmNsdWRlIHRhYnMtdGl0bGU7XG4gIH1cblxuICAudGFicy1jb250ZW50IHtcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRlbnQ7XG4gIH1cblxuICAudGFicy1jb250ZW50LnZlcnRpY2FsIHtcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRlbnQtdmVydGljYWw7XG4gIH1cblxuICAudGFicy1wYW5lbCB7XG4gICAgQGluY2x1ZGUgdGFicy1wYW5lbDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGh1bWJuYWlsXG4vLy8vXG5cbi8vLyBCb3JkZXIgYXJvdW5kIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kdGh1bWJuYWlsLWJvcmRlcjogc29saWQgNHB4ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gZm9yIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kdGh1bWJuYWlsLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyB1bmRlciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIFNoYWRvd1xuJHRodW1ibmFpbC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKCRibGFjaywgMC4yKSAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgdW5kZXIgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBTaGFkb3dcbiR0aHVtYm5haWwtc2hhZG93LWhvdmVyOiAwIDAgNnB4IDFweCByZ2JhKCRwcmltYXJ5LWNvbG9yLCAwLjUpICFkZWZhdWx0O1xuXG4vLy8gVHJhbnNpdGlvbiBwcm9wcnRpZXMgZm9yIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgVHJhbnNpdGlvblxuJHRodW1ibmFpbC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDIwMG1zIGVhc2Utb3V0ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGh1bWJuYWlsLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHRodW1ibmFpbCBzdHlsZXMgdG8gYW4gZWxlbWVudC5cbkBtaXhpbiB0aHVtYm5haWwge1xuICBib3JkZXI6ICR0aHVtYm5haWwtYm9yZGVyO1xuICBib3gtc2hhZG93OiAkdGh1bWJuYWlsLXNoYWRvdztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBsaW5lLWhlaWdodDogMDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICB0cmFuc2l0aW9uOiAkdGh1bWJuYWlsLXRyYW5zaXRpb247XG4gIGJvcmRlci1yYWRpdXM6ICR0aHVtYm5haWwtcmFkaXVzO1xuICBtYXJnaW4tYm90dG9tOiAkdGh1bWJuYWlsLW1hcmdpbi1ib3R0b207XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYm94LXNoYWRvdzogJHRodW1ibmFpbC1zaGFkb3ctaG92ZXI7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdGh1bWJuYWlsIHtcbiAgLnRodW1ibmFpbCB7XG4gICAgQGluY2x1ZGUgdGh1bWJuYWlsO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0aXRsZS1iYXJcbi8vLy9cblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0aXRsZWJhci1iYWNrZ3JvdW5kOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiB0ZXh0IGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRpdGxlYmFyLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBMZW5ndGhcbiR0aXRsZWJhci1wYWRkaW5nOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiB0ZXh0IGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBXZWlnaHRcbiR0aXRsZWJhci10ZXh0LWZvbnQtd2VpZ2h0OiBib2xkICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgbWVudSBpY29ucyBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0aXRsZWJhci1pY29uLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBtZW51IGljb25zIGluc2lkZSBhIHRpdGxlIGJhciBvbiBob3Zlci5cbi8vLyBAdHlwZSBDb2xvclxuJHRpdGxlYmFyLWljb24tY29sb3ItaG92ZXI6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiB0aGUgbWVudSBpY29uIGFuZCB0ZXh0IGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBMZW5ndGhcbiR0aXRsZWJhci1pY29uLXNwYWNpbmc6IDAuMjVyZW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRpdGxlLWJhciB7XG4gIC50aXRsZS1iYXIge1xuICAgIGJhY2tncm91bmQ6ICR0aXRsZWJhci1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkdGl0bGViYXItY29sb3I7XG4gICAgcGFkZGluZzogJHRpdGxlYmFyLXBhZGRpbmc7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICB9XG5cbiAgICAubWVudS1pY29uIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICR0aXRsZWJhci1pY29uLXNwYWNpbmc7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHRpdGxlYmFyLWljb24tc3BhY2luZztcbiAgICB9XG4gIH1cblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBaZXJvVW5pdFxuICAgIC50aXRsZS1iYXItbGVmdCxcbiAgICAudGl0bGUtYmFyLXJpZ2h0IHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgfVxuXG4gICAgLnRpdGxlLWJhci1yaWdodCB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC50aXRsZS1iYXItbGVmdCB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG5cbiAgICAudGl0bGUtYmFyLXJpZ2h0IHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC50aXRsZS1iYXItdGl0bGUge1xuICAgIGZvbnQtd2VpZ2h0OiAkdGl0bGViYXItdGV4dC1mb250LXdlaWdodDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdG9vbHRpcFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBmb250IHdlaWdodCBvZiB0aGUgZGVmaW5lZCB0ZXJtLlxuLy8vIEB0eXBlIEtleXdvcmQgfCBOdW1iZXJcbiRoYXMtdGlwLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgYm90dG9tIG9mIHRoZSBkZWZpbmVkIHRlcm0uXG4vLy8gQHR5cGUgTGlzdFxuJGhhcy10aXAtYm9yZGVyLWJvdHRvbTogZG90dGVkIDFweCAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgdG9vbHRpcCBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSB0b29sdGlwIGZvbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0b29sdGlwLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgb2YgdGhlIHRvb2x0aXAgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLXBhZGRpbmc6IDAuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBvZiB0aGUgdG9vbHRpcCB0ZXh0LiBCeSBkZWZhdWx0LCB3ZSByZWNvbW1lbmQgYSBzbWFsbGVyIGZvbnQgc2l6ZSB0aGFuIHRoZSBib2R5IGNvcHkuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1mb250LXNpemU6ICRzbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBpcCB3aWR0aCBmb3IgdG9vbHRpcHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1waXAtd2lkdGg6IDAuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBpcCBoZWlnaHQgZm9yIHRvb2x0aXBzLiBUaGlzIGlzIGhlbHBmdWwgZm9yIGNhbGN1bGF0aW5nIHRoZSBkaXN0YW5jZSBvZiB0aGUgdG9vbHRpcCBmcm9tIHRoZSB0b29sdGlwIHdvcmQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1waXAtaGVpZ2h0OiAkdG9vbHRpcC1waXAtd2lkdGggKiAwLjg2NiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciB0b29sdGlwcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBoYXMtdGlwIHtcbiAgYm9yZGVyLWJvdHRvbTogJGhhcy10aXAtYm9yZGVyLWJvdHRvbTtcbiAgZm9udC13ZWlnaHQ6ICRoYXMtdGlwLWZvbnQtd2VpZ2h0O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgY3Vyc29yOiBoZWxwO1xufVxuXG5AbWl4aW4gdG9vbHRpcCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0b29sdGlwLWJhY2tncm91bmQtY29sb3I7XG4gIGNvbG9yOiAkdG9vbHRpcC1jb2xvcjtcbiAgZm9udC1zaXplOiAkdG9vbHRpcC1mb250LXNpemU7XG4gIHBhZGRpbmc6ICR0b29sdGlwLXBhZGRpbmc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTA7XG4gIHRvcDogY2FsYygxMDAlICsgI3skdG9vbHRpcC1waXAtaGVpZ2h0fSk7XG4gIG1heC13aWR0aDogMTByZW0gIWltcG9ydGFudDtcbiAgYm9yZGVyLXJhZGl1czogJHRvb2x0aXAtcmFkaXVzO1xuXG4gICY6OmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCR0b29sdGlwLXBpcC13aWR0aCwgJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvciwgdXApO1xuICAgIGJvdHRvbTogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgfVxuXG4gICYudG9wOjpiZWZvcmUge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9vbHRpcC1waXAtd2lkdGgsICR0b29sdGlwLWJhY2tncm91bmQtY29sb3IsIGRvd24pO1xuICAgIHRvcDogMTAwJTtcbiAgICBib3R0b206IGF1dG87XG4gIH1cblxuICAmLmxlZnQ6OmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCR0b29sdGlwLXBpcC13aWR0aCwgJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvciwgcmlnaHQpO1xuICAgIGJvdHRvbTogYXV0bztcbiAgICBsZWZ0OiAxMDAlO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgfVxuXG4gICYucmlnaHQ6OmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCR0b29sdGlwLXBpcC13aWR0aCwgJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvciwgbGVmdCk7XG4gICAgYm90dG9tOiBhdXRvO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRvb2x0aXAge1xuICAuaGFzLXRpcCB7XG4gICAgQGluY2x1ZGUgaGFzLXRpcDtcbiAgfVxuXG4gIC50b29sdGlwIHtcbiAgICBAaW5jbHVkZSB0b29sdGlwO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0b3AtYmFyXG4vLy8vXG5cbi8vLyBQYWRkaW5nIGZvciB0aGUgdG9wIGJhci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b3BiYXItcGFkZGluZzogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgdGhlIHRvcCBiYXIuIFRoaXMgY29sb3IgYWxzbyBjYXNjYWRlcyB0byBtZW51cyB3aXRoaW4gdGhlIHRvcCBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0b3BiYXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIHN1Ym1lbnVzIHdpdGhpbiB0aGUgdG9wIGJhci4gVXNlZnVsbCBpZiAkdG9wYmFyLWJhY2tncm91bmQgaXMgdHJhbnNwYXJlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0b3BiYXItc3VibWVudS1iYWNrZ3JvdW5kOiAkdG9wYmFyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGZvciB0aGUgdG9wIGJhciB0aXRsZS5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b3BiYXItdGl0bGUtc3BhY2luZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIE1heGltdW0gd2lkdGggb2YgYDxpbnB1dD5gIGVsZW1lbnRzIGluc2lkZSB0aGUgdG9wIGJhci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b3BiYXItaW5wdXQtd2lkdGg6IDIwMHB4ICFkZWZhdWx0O1xuXG4vLy8gQnJlYWtwb2ludCBhdCB3aGljaCB0b3AgYmFyIHN3aXRjaGVzIGZyb20gbW9iaWxlIHRvIGRlc2t0b3Agdmlldy5cbi8vLyBAdHlwZSBCcmVha3BvaW50XG4kdG9wYmFyLXVuc3RhY2stYnJlYWtwb2ludDogbWVkaXVtICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgdG9wIGJhciBjb250YWluZXIuXG5AbWl4aW4gdG9wLWJhci1jb250YWluZXIge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgfVxuXG4gIHBhZGRpbmc6ICR0b3BiYXItcGFkZGluZztcblxuICAmLFxuICB1bCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRvcGJhci1iYWNrZ3JvdW5kO1xuICB9XG5cbiAgLy8gQ2hlY2sgaWYgJHRvcGJhci1iYWNrZ3JvdW5kIGlzIGRpZmZlcm50IGZyb20gJHRvcGJhci1iYWNrZ3JvdW5kLXN1Ym1lbnVcbiAgQGlmICgkdG9wYmFyLWJhY2tncm91bmQgIT0gJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQpIHtcbiAgICB1bCB1bCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9wYmFyLXN1Ym1lbnUtYmFja2dyb3VuZDtcbiAgICB9XG4gIH1cblxuICAvLyBSZXN0cmFpbiB3aWR0aCBvZiBpbnB1dHMgYnkgZGVmYXVsdCB0byBtYWtlIHRoZW0gZWFzaWVyIHRvIGFycmFuZ2VcbiAgaW5wdXQge1xuICAgIG1heC13aWR0aDogJHRvcGJhci1pbnB1dC13aWR0aDtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgfVxuXG4gIC8vIFRoZSBhYm92ZSBzdHlsZXMgc2hvdWxkbid0IGFwcGx5IHRvIGlucHV0IGdyb3VwIGZpZWxkc1xuICAuaW5wdXQtZ3JvdXAtZmllbGQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICB9XG5cbiAgLy8gc2Nzcy1saW50OmRpc2FibGUgUXVhbGlmeWluZ0VsZW1lbnRcbiAgaW5wdXQuYnV0dG9uIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxufVxuXG4vLy8gTWFrZXMgc2VjdGlvbnMgb2YgYSB0b3AgYmFyIHN0YWNrIG9uIHRvcCBvZiBlYWNoIG90aGVyLlxuQG1peGluIHRvcC1iYXItc3RhY2tlZCB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgIC8vIFN1Yi1zZWN0aW9uc1xuICAgIC50b3AtYmFyLWxlZnQsXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAvLyBTdWItc2VjdGlvbnNcbiAgICAudG9wLWJhci1sZWZ0LFxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gVW5kb2VzIHRoZSBDU1MgYXBwbGllZCBieSB0aGUgYHRvcC1iYXItc3RhY2tlZCgpYCBtaXhpbi5cbkBtaXhpbiB0b3AtYmFyLXVuc3RhY2sge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcblxuICAgIC8vIHNjc3MtbGludDpkaXNhYmxlIFplcm9Vbml0XG4gICAgLnRvcC1iYXItbGVmdCB7XG4gICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICB9XG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgZmxleDogMCAxIGF1dG87XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAudG9wLWJhci1sZWZ0LFxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10b3AtYmFyIHtcbiAgLy8gVG9wIGJhciBjb250YWluZXJcbiAgLnRvcC1iYXIge1xuICAgIEBpbmNsdWRlIHRvcC1iYXItY29udGFpbmVyO1xuXG4gICAgLy8gU3RhY2sgb24gc21hbGwgc2NyZWVucyBieSBkZWZhdWx0XG4gICAgQGluY2x1ZGUgdG9wLWJhci1zdGFja2VkO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdG9wYmFyLXVuc3RhY2stYnJlYWtwb2ludCkge1xuICAgICAgQGluY2x1ZGUgdG9wLWJhci11bnN0YWNrO1xuICAgIH1cblxuICAgIC8vIEdlbmVyYXRlIGNsYXNzZXMgZm9yIHN0YWNraW5nIG9uIGVhY2ggc2NyZWVuIHNpemUgKGRlZmluZWQgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcylcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICYuc3RhY2tlZC1mb3ItI3skc2l6ZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgZG93bikge1xuICAgICAgICAgICAgQGluY2x1ZGUgdG9wLWJhci1zdGFja2VkO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFN1Yi1zZWN0aW9uc1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAudG9wLWJhci10aXRsZSB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogJHRvcGJhci10aXRsZS1zcGFjaW5nO1xuICAgIH1cblxuICAgIC50b3AtYmFyLWxlZnQsXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAudG9wLWJhci10aXRsZSB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1hcmdpbi1yaWdodDogJHRvcGJhci10aXRsZS1zcGFjaW5nO1xuXG4gICAgfVxuXG4gICAgLnRvcC1iYXItbGVmdCB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG5cbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vIEhpZGUgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBvbmx5IGRpc3BsYXlpbmcgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gc2hvdy1mb3IoJHNpemUpIHtcbiAgJHNpemU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkc2l6ZSk7XG4gICRzaXplOiAtemYtYnAtdG8tZW0oJHNpemUpIC0gKDEgLyAxNik7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSBkb3duKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBIaWRlIGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgb25seSBkaXNwbGF5aW5nIGl0IHdpdGhpbiBhIGNlcnRhaW4gYnJlYWtwb2ludC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIHNob3ctZm9yLW9ubHkoJHNpemUpIHtcbiAgJGxvd2VyLWJvdW5kLXNpemU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkc2l6ZSk7XG4gICR1cHBlci1ib3VuZC1zaXplOiAtemYtbWFwLW5leHQoJGJyZWFrcG9pbnRzLCAkc2l6ZSk7XG5cbiAgLy8gbW9yZSBvZnRlbiB0aGFuIG5vdCB0aGlzIHdpbGwgYmUgY29ycmVjdCwganVzdCBvbmUgdGltZSByb3VuZCB0aGUgbG9vcCBpdCB3b24ndCBzbyBzZXQgaW4gc2NvcGUgaGVyZVxuICAkbG93ZXItYm91bmQ6IC16Zi1icC10by1lbSgkbG93ZXItYm91bmQtc2l6ZSkgLSAoMSAvIDE2KTtcbiAgLy8gdGVzdCBhY3R1YWwgbG93ZXItYm91bmQtc2l6ZSwgaWYgMCBzZXQgaXQgdG8gMGVtXG4gIEBpZiBzdHJpcC11bml0KCRsb3dlci1ib3VuZC1zaXplKSA9PSAwIHtcbiAgICAkbG93ZXItYm91bmQ6IC16Zi1icC10by1lbSgkbG93ZXItYm91bmQtc2l6ZSk7XG4gIH1cblxuICBAaWYgJHVwcGVyLWJvdW5kLXNpemUgPT0gbnVsbCB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxvd2VyLWJvdW5kKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAkdXBwZXItYm91bmQ6IC16Zi1icC10by1lbSgkdXBwZXItYm91bmQtc2l6ZSk7XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbG93ZXItYm91bmQpLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICR1cHBlci1ib3VuZCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vLyBTaG93IGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgYW5kIGhpZGUgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gaGlkZS1mb3IoJHNpemUpIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gU2hvdyBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIGFuZCBoaWRlIGl0IGFib3ZlIGEgY2VydGFpbiBzY3JlZW4gc2l6ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIGhpZGUtZm9yLW9ubHkoJHNpemUpIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSBvbmx5KSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXZpc2liaWxpdHktY2xhc3NlcyB7XG4gIC8vIEJhc2ljIGhpZGluZyBjbGFzc2VzXG4gIC5oaWRlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuaW52aXNpYmxlIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cblxuICAvLyBSZXNwb25zaXZlIHZpc2liaWxpdHkgY2xhc3Nlc1xuICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgLmhpZGUtZm9yLSN7JHNpemV9IHtcbiAgICAgICAgQGluY2x1ZGUgaGlkZS1mb3IoJHNpemUpO1xuICAgICAgfVxuXG4gICAgICAuc2hvdy1mb3ItI3skc2l6ZX0ge1xuICAgICAgICBAaW5jbHVkZSBzaG93LWZvcigkc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmhpZGUtZm9yLSN7JHNpemV9LW9ubHkge1xuICAgICAgQGluY2x1ZGUgaGlkZS1mb3Itb25seSgkc2l6ZSk7XG4gICAgfVxuXG4gICAgLnNob3ctZm9yLSN7JHNpemV9LW9ubHkge1xuICAgICAgQGluY2x1ZGUgc2hvdy1mb3Itb25seSgkc2l6ZSk7XG4gICAgfVxuICB9XG5cbiAgLy8gU2NyZWVuIHJlYWRlciB2aXNpYmlsaXR5IGNsYXNzZXNcbiAgLy8gTmVlZCBhIFwiaGlkZS1mb3Itc3JcIiBjbGFzcz8gQWRkIGFyaWEtaGlkZGVuPSd0cnVlJyB0byB0aGUgZWxlbWVudFxuICAuc2hvdy1mb3Itc3IsXG4gIC5zaG93LW9uLWZvY3VzIHtcbiAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZTtcbiAgfVxuXG4gIC8vIE9ubHkgZGlzcGxheSB0aGUgZWxlbWVudCB3aGVuIGl0J3MgZm9jdXNlZFxuICAuc2hvdy1vbi1mb2N1cyB7XG4gICAgJjphY3RpdmUsXG4gICAgJjpmb2N1cyB7XG4gICAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZS1vZmY7XG4gICAgfVxuICB9XG5cbiAgLy8gTGFuZHNjYXBlIGFuZCBwb3J0cmFpdCB2aXNpYmlsaXR5XG4gIC5zaG93LWZvci1sYW5kc2NhcGUsXG4gIC5oaWRlLWZvci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFuZHNjYXBlKSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQocG9ydHJhaXQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAuc2hvdy1mb3ItcG9ydHJhaXQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFuZHNjYXBlKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChwb3J0cmFpdCkge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZsb2F0XG4vLy8vXG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZsb2F0LWNsYXNzZXMge1xuICAuZmxvYXQtbGVmdCB7XG4gICAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5mbG9hdC1yaWdodCB7XG4gICAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZmxvYXQtY2VudGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIH1cblxuICAuY2xlYXJmaXgge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICB9XG59XG4iLCIvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBJbXBvcnRhbnRSdWxlLCBTcGFjZUFmdGVyQ29tbWEsIFNpbmdsZUxpbmVQZXJQcm9wZXJ0eVxuXG5AbWl4aW4gLW1vdGlvbi11aS1kZWZhdWx0cyB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IG1hcC1nZXQoJG1vdGlvbi11aS1zcGVlZHMsIGRlZmF1bHQpO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbWFwLWdldCgkbW90aW9uLXVpLWVhc2luZ3MsIGRlZmF1bHQpO1xufVxuXG4vLyBUcmFuc2l0aW9uc1xuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbkBtaXhpbiBtb3Rpb24tdWktdHJhbnNpdGlvbnMge1xuICAvLyBTbGlkZVxuICAuc2xpZGUtaW4tZG93biAgICB7IEBpbmNsdWRlIG11aS1zbGlkZShpbiwgIGRvd24pOyB9XG4gIC5zbGlkZS1pbi1sZWZ0ICAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKGluLCAgcmlnaHQpOyB9XG4gIC5zbGlkZS1pbi11cCAgICAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKGluLCAgdXApOyB9XG4gIC5zbGlkZS1pbi1yaWdodCAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKGluLCAgbGVmdCk7IH1cbiAgLnNsaWRlLW91dC1kb3duICAgeyBAaW5jbHVkZSBtdWktc2xpZGUob3V0LCBkb3duKTsgfVxuICAuc2xpZGUtb3V0LXJpZ2h0ICB7IEBpbmNsdWRlIG11aS1zbGlkZShvdXQsIHJpZ2h0KTsgfVxuICAuc2xpZGUtb3V0LXVwICAgICB7IEBpbmNsdWRlIG11aS1zbGlkZShvdXQsIHVwKTsgfVxuICAuc2xpZGUtb3V0LWxlZnQgICB7IEBpbmNsdWRlIG11aS1zbGlkZShvdXQsIGxlZnQpOyB9XG5cbiAgLy8gRmFkZVxuICAuZmFkZS1pbiAgeyBAaW5jbHVkZSBtdWktZmFkZShpbiwgIDAsIDEpOyB9XG4gIC5mYWRlLW91dCB7IEBpbmNsdWRlIG11aS1mYWRlKG91dCwgMSwgMCk7IH1cblxuICAvLyBIaW5nZVxuICAuaGluZ2UtaW4tZnJvbS10b3AgICAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIHRvcCk7IH1cbiAgLmhpbmdlLWluLWZyb20tcmlnaHQgICAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICByaWdodCk7IH1cbiAgLmhpbmdlLWluLWZyb20tYm90dG9tICAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICBib3R0b20pOyB9XG4gIC5oaW5nZS1pbi1mcm9tLWxlZnQgICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgbGVmdCk7IH1cbiAgLmhpbmdlLWluLWZyb20tbWlkZGxlLXggIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgdG9wLCAgIGNlbnRlcik7IH1cbiAgLmhpbmdlLWluLWZyb20tbWlkZGxlLXkgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgcmlnaHQsIGNlbnRlcik7IH1cbiAgLmhpbmdlLW91dC1mcm9tLXRvcCAgICAgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCB0b3ApOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS1yaWdodCAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgcmlnaHQpOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS1ib3R0b20gIHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgYm90dG9tKTsgfVxuICAuaGluZ2Utb3V0LWZyb20tbGVmdCAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIGxlZnQpOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS1taWRkbGUteCB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIHRvcCwgICBjZW50ZXIpOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS1taWRkbGUteSB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIHJpZ2h0LCBjZW50ZXIpOyB9XG5cbiAgLy8gU2NhbGVcbiAgLnNjYWxlLWluLXVwICAgIHsgQGluY2x1ZGUgbXVpLXpvb20oaW4sICAwLjUsIDEpOyB9XG4gIC5zY2FsZS1pbi1kb3duICB7IEBpbmNsdWRlIG11aS16b29tKGluLCAgMS41LCAxKTsgfVxuICAuc2NhbGUtb3V0LXVwICAgeyBAaW5jbHVkZSBtdWktem9vbShvdXQsIDEsIDEuNSk7IH1cbiAgLnNjYWxlLW91dC1kb3duIHsgQGluY2x1ZGUgbXVpLXpvb20ob3V0LCAxLCAwLjUpOyB9XG5cbiAgLy8gU3BpblxuICAuc3Bpbi1pbiAgICAgeyBAaW5jbHVkZSBtdWktc3BpbihpbiwgIGN3KTsgfVxuICAuc3Bpbi1vdXQgICAgeyBAaW5jbHVkZSBtdWktc3BpbihvdXQsIGN3KTsgfVxuICAuc3Bpbi1pbi1jY3cgIHsgQGluY2x1ZGUgbXVpLXNwaW4oaW4sICBjY3cpOyB9XG4gIC5zcGluLW91dC1jY3cgeyBAaW5jbHVkZSBtdWktc3BpbihvdXQsIGNjdyk7IH1cblxuICAvLyBUcmFuc2l0aW9uIE1vZGlmaWVyc1xuICAvLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1zcGVlZHMge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfSB7IHRyYW5zaXRpb24tZHVyYXRpb246ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLWVhc2luZ3Mge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfSB7IHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1kZWxheXMge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfS1kZWxheSB7IHRyYW5zaXRpb24tZGVsYXk6ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG59XG5cbi8vIEFuaW1hdGlvbnNcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG5AbWl4aW4gbW90aW9uLXVpLWFuaW1hdGlvbnMge1xuICAuc2hha2UgICAgeyBAaW5jbHVkZSBtdWktYW5pbWF0aW9uKHNoYWtlKTsgfVxuICAuc3Bpbi1jdyAgeyBAaW5jbHVkZSBtdWktYW5pbWF0aW9uKHNwaW4pOyB9XG4gIC5zcGluLWNjdyB7IEBpbmNsdWRlIG11aS1hbmltYXRpb24oc3BpbihjY3cpKTsgfVxuICAud2lnZ2xlICAgeyBAaW5jbHVkZSBtdWktYW5pbWF0aW9uKHdpZ2dsZSk7IH1cblxuICAuc2hha2UsXG4gIC5zcGluLWN3LFxuICAuc3Bpbi1jY3csXG4gIC53aWdnbGUge1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogbWFwLWdldCgkbW90aW9uLXVpLXNwZWVkcywgZGVmYXVsdCk7XG4gIH1cblxuICAvLyBBbmltYXRpb24gTW9kaWZpZXJzXG4gIC8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG4gIC5pbmZpbml0ZSB7IGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlOyB9XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLXNwZWVkcyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9IHsgYW5pbWF0aW9uLWR1cmF0aW9uOiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1lYXNpbmdzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0geyBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1kZWxheXMge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfS1kZWxheSB7IGFuaW1hdGlvbi1kZWxheTogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBGb3JtYXQgZm9yIENTUyBjbGFzc2VzIGNyZWF0ZWQgd2l0aCBNb3Rpb24gVUkuXG4vLy8gQHR5cGUgTWFwXG4vLy8gQHByb3Age0Jvb2xlYW59IGFwcGVuZCBbdHJ1ZV0gLSBEZWZpbmVzIGlmIHNlbGVjdG9ycyBhcmUgY2hhaW5lZCB0byB0aGUgc2VsZWN0b3IgKGAuY2xhc3MuZW50ZXJgKSwgb3IgYXBwZW5kZWQgYXMgYSBuZXcgY2xhc3MgKGAuY2xhc3MtZW50ZXJgKS5cbi8vLyBAcHJvcCB7U3RyaW5nfSBwcmVmaXggWydtdWktJ10gLSBQcmVmaXggdG8gYWRkIGJlZm9yZSB0aGUgc3RhdGUgb2YgYSBjbGFzcy4gRW50ZXIgYW4gZW1wdHkgc3RyaW5nIHRvIHVzZSBubyBwcmVmaXguXG4vLy8gQHByb3Age1N0cmluZ30gcHJlZml4IFsnLWFjdGl2ZSddIC0gU3VmZml4IHRvIGFkZCB0byB0aGUgYWN0aXZlIHN0YXRlIGNsYXNzLlxuJG1vdGlvbi11aS1jbGFzc2VzOiAoXG4gIGNoYWluOiB0cnVlLFxuICBwcmVmaXg6ICdtdWktJyxcbiAgYWN0aXZlOiAnLWFjdGl2ZScsXG4pICFkZWZhdWx0O1xuXG4vLy8gU3RhdGUgbmFtZXMgdG8gcmVmZXJlbmNlIHdoZW4gd3JpdGluZyBtb3Rpb24gY2xhc3Nlcy4gVG8gdXNlIG11bHRpcGxlIGNsYXNzIG5hbWVzIGZvciBvbmUgc3RhdGUsIGVudGVyIGEgbGlzdCBvZiBzdHJpbmdzIGluc3RlYWQgb2Ygb25lIHN0cmluZy5cbi8vLyBAdHlwZSBNYXBcbiRtb3Rpb24tdWktc3RhdGVzOiAoXG4gIGluOiAnZW50ZXInLFxuICBvdXQ6ICdsZWF2ZScsXG4pICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzcGVlZCB0aGF0IHRyYW5zaXRpb25zIGFuZCBhbmltYXRpb25zIHBsYXkgYXQsIGFsb25nIHdpdGggdmFsdWVzIGZvciBtb2RpZmllciBjbGFzc2VzIHRvIGNoYW5nZSB0aGUgc3BlZWQuXG4vLy8gQHR5cGUgTWFwXG4kbW90aW9uLXVpLXNwZWVkczogKFxuICBkZWZhdWx0OiA1MDBtcyxcbiAgc2xvdzogNzUwbXMsXG4gIGZhc3Q6IDI1MG1zLFxuKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZGVsYXkgdG8gYWRkIGJlZm9yZSBtb3Rpb24sIGFsb25nIHdpdGggdmFsdWVzIGZvciBtb2RpZmllciBjbGFzc2VzIHRvIGNoYW5nZSB0aGUgZGVsYXkuXG4vLy8gQHR5cGUgTWFwXG4kbW90aW9uLXVpLWRlbGF5czogKFxuICBkZWZhdWx0OiAwLFxuICBzaG9ydDogMzAwbXMsXG4gIGxvbmc6IDcwMG1zLFxuKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZWFzaW5nIGZvciB0cmFuc2l0aW9ucyBhbmQgYW5pbWF0aW9ucywgYWxvbmcgd2l0aCB2YWx1ZXMgZm9yIG1vZGlmaWVyIGNsYXNzZXMgdG8gY2hhbmdlIHRoZSBlYXNpbmcuXG4vLy8gQHR5cGUgTWFwXG4kbW90aW9uLXVpLWVhc2luZ3M6IChcbiAgZGVmYXVsdDogbGluZWFyLFxuICBsaW5lYXI6IGxpbmVhcixcbiAgZWFzZTogZWFzZSxcbiAgZWFzZS1pbjogZWFzZS1pbixcbiAgZWFzZS1vdXQ6IGVhc2Utb3V0LFxuICBlYXNlLWluLW91dDogZWFzZS1pbi1vdXQsXG4gIGJvdW5jZS1pbjogY3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC4yNCwgMS4yNDUpLFxuICBib3VuY2Utb3V0OiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjUxNSwgMC44NDUpLFxuICBib3VuY2UtaW4tb3V0OiBjdWJpYy1iZXppZXIoMC43NiwgLTAuMjQ1LCAwLjI0LCAxLjI0NSksXG4pICFkZWZhdWx0O1xuXG4vLy8gTWlzY2VsbGFuZW91cyBzZXR0aW5ncyByZWxhdGVkIHRvIE1vdGlvbiBVSS5cbi8vLyBAdHlwZSBNYXBcbi8vLyBAcHJvcCB7Qm9vbGVhbn0gc2xpZGUtYW5kLWZhZGUgW2ZhbHNlXSAtIERlZmluZXMgaWYgc2xpZGUgbW90aW9ucyBzaG91bGQgYWxzbyBmYWRlIGluL291dC5cbi8vLyBAcHJvcCB7Qm9vbGVhbn0gc2xpZGUtYW5kLWZhZGUgW3RydWVdIC0gRGVmaW5lcyBpZiBoaW5nZSBtb3Rpb25zIHNob3VsZCBhbHNvIGZhZGUgaW4vb3V0LlxuLy8vIEBwcm9wIHtCb29sZWFufSBzbGlkZS1hbmQtZmFkZSBbdHJ1ZV0gLSBEZWZpbmVzIGlmIHNjYWxlIG1vdGlvbnMgc2hvdWxkIGFsc28gZmFkZSBpbi9vdXQuXG4vLy8gQHByb3Age0Jvb2xlYW59IHNsaWRlLWFuZC1mYWRlIFt0cnVlXSAtIERlZmluZXMgaWYgc3BpbiBtb3Rpb25zIHNob3VsZCBhbHNvIGZhZGUgaW4vb3V0LlxuJG1vdGlvbi11aS1zZXR0aW5nczogKFxuICBzbGlkZS1hbmQtZmFkZTogZmFsc2UsXG4gIGhpbmdlLWFuZC1mYWRlOiB0cnVlLFxuICBzY2FsZS1hbmQtZmFkZTogdHJ1ZSxcbiAgc3Bpbi1hbmQtZmFkZTogdHJ1ZSxcbiAgYWN0aXZhdGUtcXVldWUtY2xhc3M6ICdpcy1hbmltYXRpbmcnLFxuKSAhZGVmYXVsdDtcbiIsIi8vIEludGVybmFsIGNvdW50ZXIgZm9yIGNyZWF0aW5nIHVuaXF1ZSBrZXlmcmFtZSBuYW1lc1xuJC1tdWktY3VzdG9tOiAwO1xuXG4vLy8gQ3JlYXRlcyBhIGtleWZyYW1lIGZyb20gb25lIG9yIG1vcmUgZWZmZWN0IGZ1bmN0aW9ucy4gVXNlIHRoaXMgZnVuY3Rpb24gaW5zdGVhZCBvZiBgbXVpLWFuaW1hdGlvbmAgaWYgeW91IHdhbnQgdG8gY3JlYXRlIGEga2V5ZnJhbWUgYW5pbWF0aW9uICp3aXRob3V0KiBhdXRvbWF0aWNhbGx5IGFzc2lnbmluZyBpdCB0byB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG5hbWUgLSBOYW1lIG9mIHRoZSBrZXlmcmFtZS5cbi8vLyBAcGFyYW0ge0Z1bmN0aW9ufSAkZWZmZWN0cy4uLiAtIE9uZSBvciBtb3JlIGVmZmVjdCBmdW5jdGlvbnMgdG8gYnVpbGQgdGhlIGtleWZyYW1lIHdpdGguXG5AbWl4aW4gbXVpLWtleWZyYW1lcygkbmFtZSwgJGVmZmVjdHMuLi4pIHtcbiAgJG9iajogLW11aS1wcm9jZXNzLWFyZ3MoJGVmZmVjdHMuLi4pO1xuICAkb2JqOiBtYXAtcmVtb3ZlKCRvYmosIG5hbWUpO1xuXG4gIEBrZXlmcmFtZXMgI3skbmFtZX0ge1xuICAgIC8vIE5vdyBpdGVyYXRlIHRocm91Z2ggZWFjaCBrZXlmcmFtZSBwZXJjZW50YWdlXG4gICAgQGVhY2ggJHBjdCwgJHByb3BzIGluICRvYmoge1xuICAgICAgI3stbXVpLWtleWZyYW1lLXBjdCgkcGN0KX0ge1xuICAgICAgICAvLyBMYXN0bHksIGl0ZXJhdGUgdGhyb3VnaCBlYWNoIENTUyBwcm9wZXJ0eSB3aXRoaW4gYSBwZXJjZW50YWdlIGFuZCBwcmludCBpdCBvdXRcbiAgICAgICAgQGVhY2ggJHByb3AsICR2YWx1ZSBpbiAkcHJvcHMge1xuICAgICAgICAgICN7JHByb3B9OiAjeyR2YWx1ZX07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBzdHJpbmcgZm9yIGEgQ1NTIGtleWZyYW1lLCBieSBjb252ZXJ0aW5nIGEgbGlzdCBvZiBudW1iZXJzIHRvIGEgY29tbWEtc2VwYXJhdGVkIGxpc3Qgb2YgcGVyY2VudGFnZSB2YWx1ZXMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJGlucHV0IC0gTGlzdCBvZiBudW1iZXJzIHRvIHVzZS5cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IEEgc2V0IG9mIGNvbW1hLXNlcGFyYXRlZCBwZXJjZW50YWdlIHZhbHVlcy5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBmdW5jdGlvbiAtbXVpLWtleWZyYW1lLXBjdCgkaW5wdXQpIHtcbiAgJG91dHB1dDogKCk7XG5cbiAgQGlmIHR5cGUtb2YoJGlucHV0KSA9PSAnbnVtYmVyJyB7XG4gICAgJG91dHB1dDogKCRpbnB1dCAqIDElKTtcbiAgfSBAZWxzZSBpZiB0eXBlLW9mKCRpbnB1dCkgPT0gJ2xpc3QnIHtcbiAgICBAZWFjaCAkaSBpbiAkaW5wdXQge1xuICAgICAgJG91dHB1dDogYXBwZW5kKCRvdXRwdXQsICgkaSAqIDElKSwgY29tbWEpO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJG91dHB1dDtcbn1cblxuLy8vIFByaW50cyB0aGUgQ1NTIHByb3BlcnRpZXMgZnJvbSBhIHNwZWNpZmljIGtleSBpbiBhIGtleWZyYW1lcyBtYXAuIFVzZWQgdG8gYm9ycm93IENTUyBmcm9tIGtleWZyYW1lIGZ1bmN0aW9ucyBmb3IgdXNlIGluIHRyYW5zaXRpb25zLlxuLy8vIEBwYXJhbSB7TWFwfSAka2YgLSBLZXlmcmFtZSBtYXAgdG8gZXh0cmFjdCBmcm9tLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAka2V5IC0gS2V5IGluIHRoZSBtYXAgdG8gcHJpbnQgdGhlIENTUyBvZi5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBtaXhpbiAtbXVpLWtleWZyYW1lLWdldCgka2YsICRrZXkpIHtcbiAgJG1hcDogbWFwLWdldCgka2YsICRrZXkpO1xuXG4gIEBlYWNoICRwcm9wLCAkdmFsdWUgaW4gJG1hcCBvciAoKSB7XG4gICAgLy8gU29tZSBrZXlmcmFtZSBtYXBzIHN0b3JlIHRyYW5zZm9ybXMgYXMgcXVvdGVkIHN0cmluZ3NcbiAgICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdzdHJpbmcnIHtcbiAgICAgICR2YWx1ZTogdW5xdW90ZSgkdmFsdWUpO1xuICAgIH1cbiAgICAjeyRwcm9wfTogJHZhbHVlO1xuICB9XG59XG5cbi8vLyBSZWZvcm1hdHMgYSBtYXAgY29udGFpbmluZyBrZXlzIHdpdGggYSBsaXN0IG9mIHZhbHVlcywgc28gdGhhdCBlYWNoIGtleSBpcyBhIHNpbmdsZSB2YWx1ZS5cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byBzcGxpdCB1cC5cbi8vLyBAcmV0dXJuIHtNYXB9IEEgcmVmb3JtYXR0ZWQgbWFwLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQGZ1bmN0aW9uIC1tdWkta2V5ZnJhbWUtc3BsaXQoJG1hcCkge1xuICAkbmV3LW1hcDogKCk7XG5cbiAgLy8gU3BsaXQga2V5cyB3aXRoIG11bHRpcGxlIHZhbHVlcyBpbnRvIGluZGl2aWR1YWwga2V5c1xuICBAZWFjaCAka2V5LCAkaXRlbSBpbiAkbWFwIHtcbiAgICAka2V5LXR5cGU6IHR5cGUtb2YoJGtleSk7XG5cbiAgICBAaWYgJGtleS10eXBlID09ICdudW1iZXInIHtcbiAgICAgICRuZXctbWFwOiBtYXAtbWVyZ2UoJG5ldy1tYXAsICgka2V5OiAkaXRlbSkpO1xuICAgIH0gQGVsc2UgaWYgJGtleS10eXBlID09ICdsaXN0JyB7XG4gICAgICBAZWFjaCAkayBpbiAka2V5IHtcbiAgICAgICAgJG5ldy1tYXA6IG1hcC1tZXJnZSgkbmV3LW1hcCwgKCRrOiAkaXRlbSkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJG5ldy1tYXA7XG59XG5cbi8vLyBDb21iaW5lcyBhIHNlcmllcyBvZiBrZXlmcmFtZSBvYmplY3RzIGludG8gb25lLlxuLy8vIEBwYXJhbSB7TWFwfSAkbWFwcy4uLiAtIEEgc2VyaWVzIG9mIG1hcHMgdG8gbWVyZ2UsIGFzIGluZGl2aWR1YWwgcGFyYW1ldGVycy5cbi8vLyBAcmV0dXJuIHtNYXB9IEEgY29tYmluZWQga2V5ZnJhbWUgb2JqZWN0LlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQGZ1bmN0aW9uIC1tdWkta2V5ZnJhbWUtY29tYmluZSgkbWFwcy4uLikge1xuICAkbmV3LW1hcDogKCk7XG5cbiAgLy8gSXRlcmF0ZSB0aHJvdWdoIGVhY2ggbWFwIHBhc3NlZCBpblxuICBAZWFjaCAkbWFwIGluICRtYXBzIHtcbiAgICBAaWYgdHlwZS1vZigkbWFwKSA9PSAnc3RyaW5nJyB7XG4gICAgICAkbWFwOiBjYWxsKCRtYXApO1xuICAgIH1cblxuICAgICRtYXA6IC1tdWkta2V5ZnJhbWUtc3BsaXQoJG1hcCk7XG5cbiAgICAvLyBJdGVyYXRlIHRocm91Z2ggZWFjaCBrZXlmcmFtZSBpbiB0aGUgbWFwXG4gICAgLy8gJGtleSBpcyB0aGUga2V5ZnJhbWUgcGVyY2VudGFnZVxuICAgIC8vICR2YWx1ZSBpcyBhIG1hcCBvZiBDU1MgcHJvcGVydGllc1xuICAgIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkbWFwIHtcbiAgICAgICRuZXctdmFsdWU6ICgpO1xuXG4gICAgICBAaWYgbWFwLWhhcy1rZXkoJG5ldy1tYXAsICRrZXkpIHtcbiAgICAgICAgLy8gSWYgdGhlIG1hcCBhbHJlYWR5IGhhcyB0aGUga2V5ZnJhbWUgJSwgYXBwZW5kIHRoZSBuZXcgcHJvcGVydHlcbiAgICAgICAgJG5ldy12YWx1ZTogLW11aS1tZXJnZS1wcm9wZXJ0aWVzKG1hcC1nZXQoJG5ldy1tYXAsICRrZXkpLCAkdmFsdWUpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIC8vIE90aGVyd2lzZSwgY3JlYXRlIGEgbmV3IG1hcCB3aXRoIHRoZSBuZXcgcHJvcGVydHlcbiAgICAgICAgJG5ldy12YWx1ZTogJHZhbHVlO1xuICAgICAgfVxuXG4gICAgICAvLyBGaW5hbGx5LCBtZXJnZSB0aGUgbW9kaWZpZWQga2V5ZnJhbWUgdmFsdWUgaW50byB0aGUgb3V0cHV0IG1hcFxuICAgICAgJG5ldy1tYXA6IG1hcC1tZXJnZSgkbmV3LW1hcCwgKCRrZXk6ICRuZXctdmFsdWUpKTtcbiAgICB9XG4gIH1cblxuICAvLyBNYWtlIGEgbmFtZSBmb3IgdGhlIGtleWZyYW1lc1xuICAkLW11aS1jdXN0b206ICQtbXVpLWN1c3RvbSArIDEgIWdsb2JhbDtcbiAgJG1hcC1uYW1lOiAobmFtZTogJ2N1c3RvbS0jeyQtbXVpLWN1c3RvbX0nKTtcbiAgJG5ldy1tYXA6IG1hcC1tZXJnZSgkbmV3LW1hcCwgJG1hcC1uYW1lKTtcblxuICBAcmV0dXJuICRuZXctbWFwO1xufVxuXG4vLy8gQ29tYmluZXMgdHdvIG1hcHMgb2YgQ1NTIHByb3BlcnRpZXMgaW50byBvbmUgbWFwLiBJZiBib3RoIG1hcHMgaGF2ZSBhIHRyYW5zZm9ybSBwcm9wZXJ0eSwgdGhlIHZhbHVlcyBmcm9tIGVhY2ggd2lsbCBiZSBjb21iaW5lZCBpbnRvIG9uZSBwcm9wZXJ0eS5cbi8vLyBAcGFyYW0ge01hcH0gJG9uZSAtIEZpcnN0IG1hcCB0byBtZXJnZS5cbi8vLyBAcGFyYW0ge01hcH0gJHR3byAtIFNlY29uZCBtYXAgdG8gbWVyZ2UuXG4vLy8gQHJldHVybiB7TWFwfSBBIGNvbWJpbmVkIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBmdW5jdGlvbiAtbXVpLW1lcmdlLXByb3BlcnRpZXMoJG9uZSwgJHR3bykge1xuICBAaWYgbWFwLWhhcy1rZXkoJG9uZSwgdHJhbnNmb3JtKSBhbmQgbWFwLWhhcy1rZXkoJHR3bywgdHJhbnNmb3JtKSB7XG4gICAgJHRyYW5zZm9ybTogam9pbihtYXAtZ2V0KCRvbmUsIHRyYW5zZm9ybSksIG1hcC1nZXQoJHR3bywgdHJhbnNmb3JtKSk7XG4gICAgJG9uZTogbWFwLW1lcmdlKCRvbmUsICh0cmFuc2Zvcm06ICR0cmFuc2Zvcm0pKTtcbiAgICAkdHdvOiBtYXAtcmVtb3ZlKCR0d28sIHRyYW5zZm9ybSk7XG4gIH1cblxuICBAcmV0dXJuIG1hcC1tZXJnZSgkb25lLCAkdHdvKTtcbn1cbiIsIi8vLyBDcmVhdGVzIGEgc2xpZGluZyB0cmFuc2l0aW9uIGJ5IHRyYW5zbGF0aW5nIHRoZSBlbGVtZW50IGhvcml6b250YWxseSBvciB2ZXJ0aWNhbGx5LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpcmVjdGlvbiBbbGVmdF0gLSBEaXJlY3Rpb24gdG8gc2xpZGUgdG8uIENhbiBiZSBgdXBgLCBgcmlnaHRgLCBgZG93bmAsIG9yIGBsZWZ0YC5cbi8vLyBAcGFyYW0ge0xlbmd0aH0gJGFtb3VudCBbMTAwJV0gLSBMZW5ndGggb2YgdGhlIHNsaWRlIGFzIGEgcGVyY2VudGFnZSB2YWx1ZS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRmYWRlIFtmYWxzZV0gLSBTZXQgdG8gYHRydWVgIHRvIGZhZGUgdGhlIGVsZW1lbnQgaW4gb3Igb3V0IHNpbXVsdGFuZW91c2x5LlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIG11aS1zbGlkZSAoXG4gICRzdGF0ZTogaW4sXG4gICRkaXJlY3Rpb246IGxlZnQsXG4gICRhbW91bnQ6IDEwMCUsXG4gICRmYWRlOiBtYXAtZ2V0KCRtb3Rpb24tdWktc2V0dGluZ3MsIHNsaWRlLWFuZC1mYWRlKSxcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICAkc2xpZGU6IHNsaWRlKCRzdGF0ZSwgJGRpcmVjdGlvbiwgJGFtb3VudCk7XG5cbiAgLy8gQ1NTIE91dHB1dFxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXN0YXJ0KCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tYmFzaWNzKCRkdXJhdGlvbiwgJHRpbWluZywgJGRlbGF5KTtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc2xpZGUsIDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMCwgMSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgfVxuXG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNsaWRlLCAxMDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMSwgMCk7XG4gICAgfVxuICB9XG59XG4iLCIvLy8gQ3JlYXRlcyBhIGZhZGUgdHJhbnNpdGlvbiBieSBhZGp1c3RpbmcgdGhlIG9wYWNpdHkgb2YgdGhlIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRmcm9tIFswXSAtIE9wYWNpdHkgdG8gc3RhcnQgYXQuIE11c3QgYmUgYSBudW1iZXIgYmV0d2VlbiAwIGFuZCAxLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdG8gWzFdIC0gT3BhY2l0eSB0byBlbmQgb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiBtdWktZmFkZShcbiAgJHN0YXRlOiBpbixcbiAgJGZyb206IDAsXG4gICR0bzogMSxcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICAkZmFkZTogZmFkZSgkZnJvbSwgJHRvKTtcblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXN0YXJ0KCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tYmFzaWNzKCRkdXJhdGlvbiwgJHRpbWluZywgJGRlbGF5KTtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkZmFkZSwgMCk7XG5cbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5O1xuICB9XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJGZhZGUsIDEwMCk7XG4gIH1cbn1cbiIsIi8vLyBDcmVhdGVzIGEgaGluZ2UgZWZmZWN0IGJ5IHJvdGF0aW5nIHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGZyb20gW2xlZnRdIC0gRWRnZSBvZiB0aGUgZWxlbWVudCB0byByb3RhdGUgZnJvbS4gQ2FuIGJlIGB0b3BgLCBgcmlnaHRgLCBgYm90dG9tYCwgb3IgYGxlZnRgLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGF4aXMgW2VkZ2VdIC0gQXhpcyBvZiB0aGUgZWxlbWVudCB0byByb3RhdGUgb24uIENhbiBiZSBgZWRnZWAgb3IgYGNlbnRlcmAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRwZXJzcGVjdGl2ZSBbMjAwMHB4XSAtIFBlcmNlaXZlZCBkaXN0YW5jZSBiZXR3ZWVuIHRoZSB2aWV3ZXIgYW5kIHRoZSBlbGVtZW50LiBBIGhpZ2hlciBudW1iZXIgd2lsbCBtYWtlIHRoZSByb3RhdGlvbiBlZmZlY3QgbW9yZSBwcm9ub3VuY2VkLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHR1cm4tb3JpZ2luIFtmcm9tLWJhY2tdIC0gU2lkZSBvZiB0aGUgZWxlbWVudCB0byBzdGFydCB0aGUgcm90YXRpb24gZnJvbS4gQ2FuIGJlIGBmcm9tLWJhY2tgIG9yIGBmcm9tLWZyb250YC5cbkBmdW5jdGlvbiBoaW5nZSAoXG4gICRzdGF0ZTogaW4sXG4gICRmcm9tOiBsZWZ0LFxuICAkYXhpczogZWRnZSxcbiAgJHBlcnNwZWN0aXZlOiAyMDAwcHgsXG4gICR0dXJuLW9yaWdpbjogZnJvbS1iYWNrXG4pIHtcbiAgLy8gUm90YXRpb24gZGlyZWN0aW9ucyB3aGVuIGhpbmdpbmcgZnJvbSBiYWNrIHZzLiBmcm9udFxuICAkcm90YXRpb24tYW1vdW50OiA5MGRlZztcbiAgJHJvdGF0aW9ucy1iYWNrOiAoXG4gICAgdG9wOiByb3RhdGVYKCRyb3RhdGlvbi1hbW91bnQgKiAtMSksXG4gICAgcmlnaHQ6IHJvdGF0ZVkoJHJvdGF0aW9uLWFtb3VudCAqIC0xKSxcbiAgICBib3R0b206IHJvdGF0ZVgoJHJvdGF0aW9uLWFtb3VudCksXG4gICAgbGVmdDogcm90YXRlWSgkcm90YXRpb24tYW1vdW50KSxcbiAgKTtcbiAgJHJvdGF0aW9ucy1mcm9tOiAoXG4gICAgdG9wOiByb3RhdGVYKCRyb3RhdGlvbi1hbW91bnQpLFxuICAgIHJpZ2h0OiByb3RhdGVZKCRyb3RhdGlvbi1hbW91bnQpLFxuICAgIGJvdHRvbTogcm90YXRlWCgkcm90YXRpb24tYW1vdW50ICogLTEpLFxuICAgIGxlZnQ6IHJvdGF0ZVkoJHJvdGF0aW9uLWFtb3VudCAqIC0xKSxcbiAgKTtcblxuICAvLyBSb3RhdGlvbiBvcmlnaW5cbiAgJHJvdGF0aW9uOiAnJztcbiAgQGlmICR0dXJuLW9yaWdpbiA9PSBmcm9tLWZyb250IHtcbiAgICAkcm90YXRpb246IG1hcC1nZXQoJHJvdGF0aW9ucy1mcm9tLCAkZnJvbSk7XG4gIH0gQGVsc2UgaWYgJHR1cm4tb3JpZ2luID09IGZyb20tYmFjayB7XG4gICAgJHJvdGF0aW9uOiBtYXAtZ2V0KCRyb3RhdGlvbnMtYmFjaywgJGZyb20pO1xuICB9IEBlbHNlIHtcbiAgICBAd2FybiAnJHR1cm4tb3JpZ2luIG11c3QgYmUgZWl0aGVyIFwiZnJvbS1iYWNrXCIgb3IgXCJmcm9tLWZyb250XCInO1xuICB9XG5cbiAgLy8gU3RhcnQgYW5kIGVuZCBzdGF0ZVxuICAkc3RhcnQ6ICcnO1xuICAkZW5kOiAnJztcbiAgQGlmICRzdGF0ZSA9PSBpbiB7XG4gICAgJHN0YXJ0OiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpICRyb3RhdGlvbjtcbiAgICAkZW5kOiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpIHJvdGF0ZSgwZGVnKTtcbiAgfSBAZWxzZSB7XG4gICAgJHN0YXJ0OiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpIHJvdGF0ZSgwZGVnKTtcbiAgICAkZW5kOiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpICRyb3RhdGlvbjtcbiAgfVxuXG4gIC8vIFR1cm4gYXhpc1xuICAkb3JpZ2luOiAnJztcbiAgQGlmICRheGlzID09IGVkZ2Uge1xuICAgICRvcmlnaW46ICRmcm9tO1xuICB9IEBlbHNlIHtcbiAgICAkb3JpZ2luOiBjZW50ZXI7XG4gIH1cblxuICAka2V5ZnJhbWVzOiAoXG4gICAgbmFtZTogJ2hpbmdlLSN7JHN0YXRlfS0jeyRmcm9tfS0jeyRheGlzfS0jeyR0dXJuLW9yaWdpbn0nLFxuICAgIDA6ICh0cmFuc2Zvcm06ICRzdGFydCwgdHJhbnNmb3JtLW9yaWdpbjogJG9yaWdpbiksXG4gICAgMTAwOiAodHJhbnNmb3JtOiAkZW5kKSxcbiAgKTtcblxuICBAcmV0dXJuICRrZXlmcmFtZXM7XG59XG4iLCIvLy8gQ3JlYXRlcyBhIGhpbmdlIHRyYW5zaXRpb24gYnkgcm90YXRpbmcgdGhlIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZnJvbSBbbGVmdF0gLSBFZGdlIG9mIHRoZSBlbGVtZW50IHRvIHJvdGF0ZSBmcm9tLiBDYW4gYmUgYHRvcGAsIGByaWdodGAsIGBib3R0b21gLCBvciBgbGVmdGAuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkYXhpcyBbZWRnZV0gLSBBeGlzIG9mIHRoZSBlbGVtZW50IHRvIHJvdGF0ZSBvbi4gQ2FuIGJlIGBlZGdlYCBvciBgY2VudGVyYC5cbi8vLyBAcGFyYW0ge0xlbmd0aH0gJHBlcnNwZWN0aXZlIFsyMDAwcHhdIC0gUGVyY2VpdmVkIGRpc3RhbmNlIGJldHdlZW4gdGhlIHZpZXdlciBhbmQgdGhlIGVsZW1lbnQuIEEgaGlnaGVyIG51bWJlciB3aWxsIG1ha2UgdGhlIHJvdGF0aW9uIGVmZmVjdCBtb3JlIHByb25vdW5jZWQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdHVybi1vcmlnaW4gW2Zyb20tYmFja10gLSBTaWRlIG9mIHRoZSBlbGVtZW50IHRvIHN0YXJ0IHRoZSByb3RhdGlvbiBmcm9tLiBDYW4gYmUgYGZyb20tYmFja2Agb3IgYGZyb20tZnJvbnRgLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGZhZGUgW3RydWVdIC0gU2V0IHRvIGB0cnVlYCB0byBmYWRlIHRoZSBlbGVtZW50IGluIG9yIG91dCBzaW11bHRhbmVvdXNseS5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiBtdWktaGluZ2UgKFxuICAkc3RhdGU6IGluLFxuICAkZnJvbTogbGVmdCxcbiAgJGF4aXM6IGVkZ2UsXG4gICRwZXJzcGVjdGl2ZTogMjAwMHB4LFxuICAkdHVybi1vcmlnaW46IGZyb20tYmFjayxcbiAgJGZhZGU6IG1hcC1nZXQoJG1vdGlvbi11aS1zZXR0aW5ncywgaGluZ2UtYW5kLWZhZGUpLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRoaW5nZTogaGluZ2UoJHN0YXRlLCAkZnJvbSwgJGF4aXMsICRwZXJzcGVjdGl2ZSwgJHR1cm4tb3JpZ2luKTtcblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXN0YXJ0KCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tYmFzaWNzKCRkdXJhdGlvbiwgJHRpbWluZywgJGRlbGF5KTtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkaGluZ2UsIDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMCwgMSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJGhpbmdlLCAxMDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMSwgMCk7XG4gICAgfVxuICB9XG59XG4iLCIvLy8gQ3JlYXRlcyBhIHNjYWxpbmcgdHJhbnNpdGlvbi4gQSBzY2FsZSBvZiBgMWAgbWVhbnMgdGhlIGVsZW1lbnQgaXMgdGhlIHNhbWUgc2l6ZS4gTGFyZ2VyIG51bWJlcnMgbWFrZSB0aGUgZWxlbWVudCBiaWdnZXIsIHdoaWxlIG51bWJlcnMgbGVzcyB0aGFuIDEgbWFrZSB0aGUgZWxlbWVudCBzbWFsbGVyLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZnJvbSBbMS41XSAtIFNpemUgdG8gc3RhcnQgYXQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRmcm9tIFsxXSAtIFNpemUgdG8gZW5kIGF0LlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGZhZGUgW3RydWVdIC0gU2V0IHRvIGB0cnVlYCB0byBmYWRlIHRoZSBlbGVtZW50IGluIG9yIG91dCBzaW11bHRhbmVvdXNseS5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiBtdWktem9vbShcbiAgJHN0YXRlOiBpbixcbiAgJGZyb206IDEuNSxcbiAgJHRvOiAxLFxuICAkZmFkZTogbWFwLWdldCgkbW90aW9uLXVpLXNldHRpbmdzLCBzY2FsZS1hbmQtZmFkZSksXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJHNjYWxlOiB6b29tKCRmcm9tLCAkdG8pO1xuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1iYXNpY3MoJGR1cmF0aW9uLCAkdGltaW5nLCAkZGVsYXkpO1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzY2FsZSwgMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAwLCAxKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc2NhbGUsIDEwMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAxLCAwKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBDcmVhdGVzIGEgc3Bpbm5pbmcgdHJhbnNpdGlvbiBieSByb3RhdGluZyB0aGUgZWxlbWVudC4gVGhlIGB0dXJuYCB1bml0IGlzIHVzZWQgdG8gc3BlY2lmeSBob3cgZmFyIHRvIHJvdGF0ZS4gYDF0dXJuYCBpcyBlcXVhbCB0byBhIDM2MC1kZWdyZWUgc3Bpbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRkaXJlY3Rpb24gW2N3XSAtIERpcmVjdGlvbiB0byBzcGluLiBTaG91bGQgYmUgYGN3YCAoY2xvY2t3aXNlKSBvciBgY2N3YCAoY291bnRlcmNsb2Nrd2lzZSkuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRhbW91bnQgWzAuNzV0dXJuXSAtIEFtb3VudCB0byBlbGVtZW50IHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGZhZGUgW2ZhbHNlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZmFkZSB0aGUgZWxlbWVudCBpbiBvciBvdXQgc2ltdWx0YW5lb3VzbHkuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLXNwaW4oXG4gICRzdGF0ZTogaW4sXG4gICRkaXJlY3Rpb246IGN3LFxuICAkYW1vdW50OiAwLjc1dHVybixcbiAgJGZhZGU6IG1hcC1nZXQoJG1vdGlvbi11aS1zZXR0aW5ncywgc3Bpbi1hbmQtZmFkZSksXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJHNwaW46IHNwaW4oJHN0YXRlLCAkZGlyZWN0aW9uLCAkYW1vdW50KTtcblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXN0YXJ0KCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tYmFzaWNzKCRkdXJhdGlvbiwgJHRpbWluZywgJGRlbGF5KTtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc3BpbiwgMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAwLCAxKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc3BpbiwgMTAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDEsIDApO1xuICAgIH1cbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBrZXlmcmFtZSBmcm9tIG9uZSBvciBtb3JlIGVmZmVjdCBmdW5jdGlvbnMgYW5kIGFzc2lnbnMgaXQgdG8gdGhlIGVsZW1lbnQgYnkgYWRkaW5nIHRoZSBgYW5pbWF0aW9uLW5hbWVgIHByb3BlcnR5LlxuLy8vIEBwYXJhbSB7RnVuY3Rpb259ICRlZmZlY3RzLi4uIC0gT25lIG9yIG1vcmUgZWZmZWN0IGZ1bmN0aW9ucyB0byBidWlsZCB0aGUga2V5ZnJhbWUgd2l0aC5cbkBtaXhpbiBtdWktYW5pbWF0aW9uKCRhcmdzLi4uKSB7XG4gICRuYW1lOiBtYXAtZ2V0KC1tdWktcHJvY2Vzcy1hcmdzKCRhcmdzLi4uKSwgbmFtZSk7XG4gIEBpbmNsdWRlIG11aS1rZXlmcmFtZXMoJG5hbWUsICRhcmdzLi4uKTtcbiAgYW5pbWF0aW9uLW5hbWU6IHVucXVvdGUoJG5hbWUpO1xufVxuIiwiYm9keSwgaHRtbHtcblx0aGVpZ2h0OiAxMDAlO1xuXHRiYWNrZ3JvdW5kOiAkZ2VuZXJhbC1iYWNrZ3JvdW5kO1xufVxuXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCB7XG4gICAgLy9mb250LWZhbWlseTogJGdlbmVyYWwtZm9udDtcbn1cblxucHtcblx0Ly9mb250LWZhbWlseTogJHNlY29uZGFyeS1nZW5lcmFsLWZvbnQ7XG59XG5cbltjbGFzc149XCJpY29uXCJdLCBbY2xhc3MqPVwiIGljb25cIl0ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLy9yZXNldFxuXG5odG1sLCBib2R5LCBkaXYsIHNwYW4sIGFwcGxldCwgb2JqZWN0LCBpZnJhbWUsXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCBwLCBibG9ja3F1b3RlLCBwcmUsXG5hLCBhYmJyLCBhY3JvbnltLCBhZGRyZXNzLCBiaWcsIGNpdGUsIGNvZGUsXG5kZWwsIGRmbiwgZW0sIGltZywgaW5zLCBrYmQsIHEsIHMsIHNhbXAsXG5zbWFsbCwgc3RyaWtlLCBzdHJvbmcsIHN1Yiwgc3VwLCB0dCwgdmFyLFxuYiwgdSwgaSwgY2VudGVyLFxuZGwsIGR0LCBkZCwgb2wsIHVsLCBsaSxcbmZpZWxkc2V0LCBmb3JtLCBsYWJlbCwgbGVnZW5kLFxudGFibGUsIGNhcHRpb24sIHRib2R5LCB0Zm9vdCwgdGhlYWQsIHRyLCB0aCwgdGQsXG5hcnRpY2xlLCBhc2lkZSwgY2FudmFzLCBkZXRhaWxzLCBlbWJlZCxcbmZpZ3VyZSwgZmlnY2FwdGlvbiwgZm9vdGVyLCBoZWFkZXIsIGhncm91cCxcbm1lbnUsIG5hdiwgb3V0cHV0LCBydWJ5LCBzZWN0aW9uLCBzdW1tYXJ5LFxudGltZSwgbWFyaywgYXVkaW8sIHZpZGVvIHtcblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nOiAwO1xuXHRib3JkZXI6IDA7XG5cdHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cbi8qIEhUTUw1IGRpc3BsYXktcm9sZSByZXNldCBmb3Igb2xkZXIgYnJvd3NlcnMgKi9cbmFydGljbGUsIGFzaWRlLCBkZXRhaWxzLCBmaWdjYXB0aW9uLCBmaWd1cmUsXG5mb290ZXIsIGhlYWRlciwgaGdyb3VwLCBtZW51LCBuYXYsIHNlY3Rpb24sIG1haW4ge1xuXHRkaXNwbGF5OiBibG9jaztcbn1cbmJvZHkge1xuXHRsaW5lLWhlaWdodDogMTtcbn1cbm9sLCB1bCB7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5ibG9ja3F1b3RlLCBxIHtcblx0cXVvdGVzOiBub25lO1xufVxuYmxvY2txdW90ZTpiZWZvcmUsIGJsb2NrcXVvdGU6YWZ0ZXIsXG5xOmJlZm9yZSwgcTphZnRlciB7XG5cdGNvbnRlbnQ6ICcnO1xuXHRjb250ZW50OiBub25lO1xufVxudGFibGUge1xuXHRib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuXHRib3JkZXItc3BhY2luZzogMDtcbn1cbiIsIi8vRm9udHNcbiRnZW5lcmFsLWZvbnQ6ICdIZWx2ZXRpY2EtTmV1ZScsIHNhbnMtc2VyaWY7XG5cbi8vU2V0dGluZ3NcbiRzbGlkZXItaGVpZ2h0OiA1MDBweDtcbiRkZXRhaWxzLXZpZGVvLWhlaWdodDogNDcwcHg7XG4kdmlkZW8tdGh1bWJuYWlsLWJvcmRlci13aWR0aDogMC4zcmVtO1xuXG4vL0NvbG9yc1xuJGdlbmVyYWwtYmFja2dyb3VuZDogd2hpdGU7XG4iLCIkaWNvbi1jb2xvcnM6ICgnJywgJy1ibHVlJywgJy13aGl0ZScsICctZ3JheScpO1xuXG4kaWNvbnMtcGF0aDogXCIuLi9pY29uc1wiO1xuXG4lc21hbGwtaWNvbiB7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDIwcHg7XG59XG5cbiVjZW50ZXJlZC1zdmcge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW4gIWltcG9ydGFudDtcbn1cblxuLmFycm93cy1zbGlkZXIge1xuICB3aWR0aDogNTBweDtcbiAgaGVpZ2h0OiA1MHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEwO1xuICB0b3A6MDtcbiAgYm90dG9tOjA7XG4gIG1hcmdpbjogYXV0bztcbn1cblxuLnNsaWNrLW5leHQge1xuICBiYWNrZ3JvdW5kOiB1cmwoXCIjeyRpY29ucy1wYXRofS9pLWFycm93LXJpZ2h0LnN2Z1wiKSBuby1yZXBlYXQ7XG4gIEBleHRlbmQgJWNlbnRlcmVkLXN2ZztcbiAgdGV4dC1pbmRlbnQ6IC05OTk5OTlweDtcbiAgQGV4dGVuZCAuYXJyb3dzLXNsaWRlcjtcbiAgcmlnaHQ6IDklO1xufVxuXG4uc2xpY2stcHJldiB7XG4gIGJhY2tncm91bmQ6IHVybChcIiN7JGljb25zLXBhdGh9L2ktYXJyb3ctbGVmdC5zdmdcIikgbm8tcmVwZWF0O1xuICBAZXh0ZW5kICVjZW50ZXJlZC1zdmc7XG4gIHRleHQtaW5kZW50OiAtOTk5OTk5cHg7XG4gIEBleHRlbmQgLmFycm93cy1zbGlkZXI7XG4gIGxlZnQ6IDEwJTtcbn1cblxuQGVhY2ggJGNvbG9yIGluICRpY29uLWNvbG9ycyB7XG4gIC5pLXVzZXIjeyRjb2xvcn17XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIEBleHRlbmQgJXNtYWxsLWljb247XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQ6IHVybChcIiN7JGljb25zLXBhdGh9L2ktdXNlciN7JGNvbG9yfS5zdmdcIikgbm8tcmVwZWF0O1xuICAgIEBleHRlbmQgJWNlbnRlcmVkLXN2ZztcbiAgfVxuXG4gIC5pLXdvcmxkI3skY29sb3J9e1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBAZXh0ZW5kICVzbWFsbC1pY29uO1xuICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgIGJhY2tncm91bmQ6IHVybChcIiN7JGljb25zLXBhdGh9L2ktd29ybGQjeyRjb2xvcn0uc3ZnXCIpIG5vLXJlcGVhdDtcbiAgICBAZXh0ZW5kICVjZW50ZXJlZC1zdmc7XG4gIH1cblxuICAgIC5pLWZhY2Vib29rI3skY29sb3J9IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgQGV4dGVuZCAlc21hbGwtaWNvbjtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCIjeyRpY29ucy1wYXRofS9pLWZhY2Vib29rI3skY29sb3J9LnN2Z1wiKSBuby1yZXBlYXQ7XG4gICAgQGV4dGVuZCAlY2VudGVyZWQtc3ZnO1xuICAgIH1cblxuICAgIC5pLXR3aXR0ZXIjeyRjb2xvcn0ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBAZXh0ZW5kICVzbWFsbC1pY29uO1xuICAgIGJhY2tncm91bmQ6IHVybChcIiN7JGljb25zLXBhdGh9L2ktdHdpdHRlciN7JGNvbG9yfS5zdmdcIikgbm8tcmVwZWF0O1xuICAgIEBleHRlbmQgJWNlbnRlcmVkLXN2ZztcbiAgICB9XG5cbiAgICAuaS15b3V0dWJlI3skY29sb3J9IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgQGV4dGVuZCAlc21hbGwtaWNvbjtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCIjeyRpY29ucy1wYXRofS9pLXlvdXR1YmUjeyRjb2xvcn0uc3ZnXCIpIG5vLXJlcGVhdDtcbiAgICBAZXh0ZW5kICVjZW50ZXJlZC1zdmc7XG4gICAgfVxuXG4gICAgLmktbGlua2VkaW4jeyRjb2xvcn0ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBAZXh0ZW5kICVzbWFsbC1pY29uO1xuICAgIGJhY2tncm91bmQ6IHVybChcIiN7JGljb25zLXBhdGh9L2ktbGlua2VkaW4jeyRjb2xvcn0uc3ZnXCIpIG5vLXJlcGVhdDtcbiAgICBAZXh0ZW5kICVjZW50ZXJlZC1zdmc7XG4gICAgfVxuXG4gICAgLmktc2VhcmNoI3skY29sb3J9IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgQGV4dGVuZCAlc21hbGwtaWNvbjtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCIjeyRpY29ucy1wYXRofS9pLXNlYXJjaCN7JGNvbG9yfS5zdmdcIikgbm8tcmVwZWF0O1xuICAgIEBleHRlbmQgJWNlbnRlcmVkLXN2ZztcbiAgICB9XG5cbiAgICAuaS1oZWFydCN7JGNvbG9yfSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIEBleHRlbmQgJXNtYWxsLWljb247XG4gICAgYmFja2dyb3VuZDogdXJsKFwiI3skaWNvbnMtcGF0aH0vaS1oZWFydCN7JGNvbG9yfS5zdmdcIikgbm8tcmVwZWF0O1xuICAgIEBleHRlbmQgJWNlbnRlcmVkLXN2ZztcbiAgICB9XG5cbiAgICAuaS1kb3duLWFycm93I3skY29sb3J9IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgQGV4dGVuZCAlc21hbGwtaWNvbjtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCIjeyRpY29ucy1wYXRofS9pLWRvd24tYXJyb3cjeyRjb2xvcn0uc3ZnXCIpIG5vLXJlcGVhdDtcbiAgICBAZXh0ZW5kICVjZW50ZXJlZC1zdmc7XG4gICAgfVxuXG4gICAgLmktc2hhcmUjeyRjb2xvcn0ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBAZXh0ZW5kICVzbWFsbC1pY29uO1xuICAgIGJhY2tncm91bmQ6IHVybChcIiN7JGljb25zLXBhdGh9L2ktc2hhcmUjeyRjb2xvcn0uc3ZnXCIpIG5vLXJlcGVhdDtcbiAgICBAZXh0ZW5kICVjZW50ZXJlZC1zdmc7XG4gICAgfVxuXG4gICAgLmktY2xvc2UjeyRjb2xvcn0ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBAZXh0ZW5kICVzbWFsbC1pY29uO1xuICAgIGJhY2tncm91bmQ6IHVybChcIiN7JGljb25zLXBhdGh9L2ktY2xvc2UjeyRjb2xvcn0uc3ZnXCIpIG5vLXJlcGVhdDtcbiAgICBAZXh0ZW5kICVjZW50ZXJlZC1zdmc7XG4gICAgfVxuXG4gICAgLmktY2xvc2UjeyRjb2xvcn0ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBAZXh0ZW5kICVzbWFsbC1pY29uO1xuICAgIGJhY2tncm91bmQ6IHVybChcIiN7JGljb25zLXBhdGh9L2ktY2xvc2UjeyRjb2xvcn0uc3ZnXCIpIG5vLXJlcGVhdDtcbiAgICBAZXh0ZW5kICVjZW50ZXJlZC1zdmc7XG4gICAgfVxuXG4gICAgLmktZmlsdGVyI3skY29sb3J9LXBwZyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIEBleHRlbmQgJXNtYWxsLWljb247XG4gICAgYmFja2dyb3VuZDogdXJsKFwiI3skaWNvbnMtcGF0aH0vaS1maWx0ZXIjeyRjb2xvcn0uc3ZnXCIpIG5vLXJlcGVhdDtcbiAgICBAZXh0ZW5kICVjZW50ZXJlZC1zdmc7XG4gICAgfVxuXG4gICAgLmktZmlsdGVyI3skY29sb3J9IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgQGV4dGVuZCAlc21hbGwtaWNvbjtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCIjeyRpY29ucy1wYXRofS9pLWZpbHRlciN7JGNvbG9yfS5zdmdcIikgbm8tcmVwZWF0O1xuICAgIEBleHRlbmQgJWNlbnRlcmVkLXN2ZztcbiAgICB9XG5cbiAgICAuaS1kb2N1bWVudCN7JGNvbG9yfSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIEBleHRlbmQgJXNtYWxsLWljb247XG4gICAgYmFja2dyb3VuZDogdXJsKFwiI3skaWNvbnMtcGF0aH0vaS1kb2N1bWVudCN7JGNvbG9yfS5zdmdcIikgbm8tcmVwZWF0O1xuICAgIEBleHRlbmQgJWNlbnRlcmVkLXN2ZztcbiAgICB9XG5cbiAgICAuaS1hdWRpbyN7JGNvbG9yfSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIEBleHRlbmQgJXNtYWxsLWljb247XG4gICAgYmFja2dyb3VuZDogdXJsKFwiI3skaWNvbnMtcGF0aH0vaS1hdWRpbyN7JGNvbG9yfS5zdmdcIikgbm8tcmVwZWF0O1xuICAgIEBleHRlbmQgJWNlbnRlcmVkLXN2ZztcbiAgICB9XG5cbiAgICAuaS1waWN0dXJlI3skY29sb3J9IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgQGV4dGVuZCAlc21hbGwtaWNvbjtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCIjeyRpY29ucy1wYXRofS9pLXBpY3R1cmUjeyRjb2xvcn0uc3ZnXCIpIG5vLXJlcGVhdDtcbiAgICBAZXh0ZW5kICVjZW50ZXJlZC1zdmc7XG4gICAgfVxuXG4gICAgLmktaW1hZ2UjeyRjb2xvcn0ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBAZXh0ZW5kICVzbWFsbC1pY29uO1xuICAgIGJhY2tncm91bmQ6IHVybChcIiN7JGljb25zLXBhdGh9L2ktcGljdHVyZSN7JGNvbG9yfS5zdmdcIikgbm8tcmVwZWF0O1xuICAgIEBleHRlbmQgJWNlbnRlcmVkLXN2ZztcbiAgICB9XG5cbiAgICAuaS1mb2xkZXIjeyRjb2xvcn0ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBAZXh0ZW5kICVzbWFsbC1pY29uO1xuICAgIGJhY2tncm91bmQ6IHVybChcIiN7JGljb25zLXBhdGh9L2ktZm9sZGVyI3skY29sb3J9LnN2Z1wiKSBuby1yZXBlYXQ7XG4gICAgQGV4dGVuZCAlY2VudGVyZWQtc3ZnO1xuICAgIH1cblxuICAgIC5pLWRvd25sb2FkLWZyb20tY2xvdWQjeyRjb2xvcn0ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBAZXh0ZW5kICVzbWFsbC1pY29uO1xuICAgIGJhY2tncm91bmQ6IHVybChcIiN7JGljb25zLXBhdGh9L2ktZG93bmxvYWQtZnJvbS1jbG91ZCN7JGNvbG9yfS5zdmdcIikgbm8tcmVwZWF0O1xuICAgIEBleHRlbmQgJWNlbnRlcmVkLXN2ZztcbiAgICB9XG5cbiAgICAuaS1kb3dubG9hZC1mcm9tLWNsb3VkI3skY29sb3J9IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgQGV4dGVuZCAlc21hbGwtaWNvbjtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCIjeyRpY29ucy1wYXRofS9pLWRvd25sb2FkLWZyb20tY2xvdWQjeyRjb2xvcn0uc3ZnXCIpIG5vLXJlcGVhdDtcbiAgICBAZXh0ZW5kICVjZW50ZXJlZC1zdmc7XG4gICAgfVxuXG4gICAgLmktZm9sZGVyLWRvd25sb2FkI3skY29sb3J9IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgQGV4dGVuZCAlc21hbGwtaWNvbjtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCIjeyRpY29ucy1wYXRofS9pLWZvbGRlci1kb3dubG9hZCN7JGNvbG9yfS5zdmdcIikgbm8tcmVwZWF0O1xuICAgIEBleHRlbmQgJWNlbnRlcmVkLXN2ZztcbiAgICB9XG5cbiAgICAuaS16aXAtZG93bmxvYWQjeyRjb2xvcn0ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBAZXh0ZW5kICVzbWFsbC1pY29uO1xuICAgIGJhY2tncm91bmQ6IHVybChcIiN7JGljb25zLXBhdGh9L2ktemlwLWRvd25sb2FkI3skY29sb3J9LnN2Z1wiKSBuby1yZXBlYXQ7XG4gICAgQGV4dGVuZCAlY2VudGVyZWQtc3ZnO1xuICAgIH1cblxuICAuaS10cmFzaCN7JGNvbG9yfSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgQGV4dGVuZCAlc21hbGwtaWNvbjtcbiAgYmFja2dyb3VuZDogdXJsKFwiI3skaWNvbnMtcGF0aH0vaS10cmFzaCN7JGNvbG9yfS5zdmdcIikgbm8tcmVwZWF0O1xuICBAZXh0ZW5kICVjZW50ZXJlZC1zdmc7XG4gIH1cblxuICAuaS12aWRlbyN7JGNvbG9yfSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgQGV4dGVuZCAlc21hbGwtaWNvbjtcbiAgYmFja2dyb3VuZDogdXJsKFwiI3skaWNvbnMtcGF0aH0vaS12aWRlbyN7JGNvbG9yfS5zdmdcIikgbm8tcmVwZWF0O1xuICBAZXh0ZW5kICVjZW50ZXJlZC1zdmc7XG4gIH1cblxuICAuaS12aWRlbyN7JGNvbG9yfSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgQGV4dGVuZCAlc21hbGwtaWNvbjtcbiAgYmFja2dyb3VuZDogdXJsKFwiI3skaWNvbnMtcGF0aH0vaS12aWRlbyN7JGNvbG9yfS5zdmdcIikgbm8tcmVwZWF0O1xuICBAZXh0ZW5kICVjZW50ZXJlZC1zdmc7XG4gIH1cblxuICAuaS1maWxlI3skY29sb3J9IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBAZXh0ZW5kICVzbWFsbC1pY29uO1xuICBiYWNrZ3JvdW5kOiB1cmwoXCIjeyRpY29ucy1wYXRofS9pLWZpbGUjeyRjb2xvcn0uc3ZnXCIpIG5vLXJlcGVhdDtcbiAgQGV4dGVuZCAlY2VudGVyZWQtc3ZnO1xuICB9XG5cbiAgLmktRmlsZSN7JGNvbG9yfSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgQGV4dGVuZCAlc21hbGwtaWNvbjtcbiAgYmFja2dyb3VuZDogdXJsKFwiI3skaWNvbnMtcGF0aH0vaS1maWxlI3skY29sb3J9LnN2Z1wiKSBuby1yZXBlYXQ7XG4gIEBleHRlbmQgJWNlbnRlcmVkLXN2ZztcbiAgfVxuXG4gIC5pLWZpbGUjeyRjb2xvcn0ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIEBleHRlbmQgJXNtYWxsLWljb247XG4gIGJhY2tncm91bmQ6IHVybChcIiN7JGljb25zLXBhdGh9L2ktZmlsZSN7JGNvbG9yfS5zdmdcIikgbm8tcmVwZWF0O1xuICBAZXh0ZW5kICVjZW50ZXJlZC1zdmc7XG4gIH1cblxuICAuaS1xdWVzdGlvbi1tYXJrI3skY29sb3J9IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBAZXh0ZW5kICVzbWFsbC1pY29uO1xuICBiYWNrZ3JvdW5kOiB1cmwoXCIjeyRpY29ucy1wYXRofS9pLXF1ZXN0aW9uLW1hcmsjeyRjb2xvcn0uc3ZnXCIpIG5vLXJlcGVhdDtcbiAgQGV4dGVuZCAlY2VudGVyZWQtc3ZnO1xuICB9XG5cbiAgLmktaG9tZSN7JGNvbG9yfSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgQGV4dGVuZCAlc21hbGwtaWNvbjtcbiAgYmFja2dyb3VuZDogdXJsKFwiI3skaWNvbnMtcGF0aH0vaS1ob21lI3skY29sb3J9LnN2Z1wiKSBuby1yZXBlYXQ7XG4gIEBleHRlbmQgJWNlbnRlcmVkLXN2ZztcbiAgfVxuXG4gIC5pLWNhbmNlbCN7JGNvbG9yfSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgQGV4dGVuZCAlc21hbGwtaWNvbjtcbiAgYmFja2dyb3VuZDogdXJsKFwiI3skaWNvbnMtcGF0aH0vaS1jYW5jZWwjeyRjb2xvcn0uc3ZnXCIpIG5vLXJlcGVhdDtcbiAgQGV4dGVuZCAlY2VudGVyZWQtc3ZnO1xuICB9XG5cbiAgLmktYWRkLXVzZXIjeyRjb2xvcn0ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIEBleHRlbmQgJXNtYWxsLWljb247XG4gIGJhY2tncm91bmQ6IHVybChcIiN7JGljb25zLXBhdGh9L2ktYWRkLXVzZXIjeyRjb2xvcn0uc3ZnXCIpIG5vLXJlcGVhdDtcbiAgQGV4dGVuZCAlY2VudGVyZWQtc3ZnO1xuICB9XG5cbiAgLmktYWRkLXVzZXIjeyRjb2xvcn0ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIEBleHRlbmQgJXNtYWxsLWljb247XG4gIGJhY2tncm91bmQ6IHVybChcIiN7JGljb25zLXBhdGh9L2ktYWRkLXVzZXIjeyRjb2xvcn0uc3ZnXCIpIG5vLXJlcGVhdDtcbiAgQGV4dGVuZCAlY2VudGVyZWQtc3ZnO1xuICB9XG5cbiAgLmktbGVmdC1hcnJvdyN7JGNvbG9yfSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgQGV4dGVuZCAlc21hbGwtaWNvbjtcbiAgYmFja2dyb3VuZDogdXJsKFwiI3skaWNvbnMtcGF0aH0vaS1sZWZ0LWFycm93I3skY29sb3J9LnN2Z1wiKSBuby1yZXBlYXQ7XG4gIEBleHRlbmQgJWNlbnRlcmVkLXN2ZztcbiAgfVxuXG4gIC5pLW1lbnUjeyRjb2xvcn0ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIEBleHRlbmQgJXNtYWxsLWljb247XG4gIGJhY2tncm91bmQ6IHVybChcIiN7JGljb25zLXBhdGh9L2ktbWVudSN7JGNvbG9yfS5zdmdcIikgbm8tcmVwZWF0O1xuICBAZXh0ZW5kICVjZW50ZXJlZC1zdmc7XG4gIH1cblxuICAuaS10YWcjeyRjb2xvcn0ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIEBleHRlbmQgJXNtYWxsLWljb247XG4gIGJhY2tncm91bmQ6IHVybChcIiN7JGljb25zLXBhdGh9L2ktdGFnI3skY29sb3J9LnN2Z1wiKSBuby1yZXBlYXQ7XG4gIEBleHRlbmQgJWNlbnRlcmVkLXN2ZztcbiAgfVxuXG4gIC51cGxvYWQtY2xvdWQjeyRjb2xvcn0ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIEBleHRlbmQgJXNtYWxsLWljb247XG4gIGJhY2tncm91bmQ6IHVybChcIiN7JGljb25zLXBhdGh9L3VwbG9hZC1jbG91ZCN7JGNvbG9yfS5zdmdcIikgbm8tcmVwZWF0O1xuICBAZXh0ZW5kICVjZW50ZXJlZC1zdmc7XG4gIH1cblxuICAuYWN0aXZlIHtcbiAgICAuaS1oZWFydCN7JGNvbG9yfSB7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIjeyRpY29ucy1wYXRofS9pLWhlYXJ0I3skY29sb3J9LWZhdi5zdmdcIikgbm8tcmVwZWF0O1xuICAgIH1cbiAgfVxuXG59IiwiLy8gRGVmYXVsdCB2YXJpYWJsZXNcbiRmb250X3NpemU6IDE0cHggIWRlZmF1bHQ7XG4kZm9udF9zaXplX3NtYWxsOiAxMnB4ICFkZWZhdWx0O1xuXG4kaW5wdXRfYm9yZGVyX3JhZGl1czogNXB4ICFkZWZhdWx0O1xuJGlucHV0X2hlaWdodDogNDJweCAhZGVmYXVsdDtcbiRpbnB1dF9oZWlnaHRfc21hbGw6IDM2cHggIWRlZmF1bHQ7XG4kZHJvcGRvd25fcGFkZGluZzogMThweCAhZGVmYXVsdDtcblxuJGdyYXlfZGFyazogIzQ0NCAhZGVmYXVsdDtcbiRncmF5OiAjOTk5ICFkZWZhdWx0O1xuJGdyYXlfbGlnaHQ6ICNlOGU4ZTggIWRlZmF1bHQ7XG4kZ3JheV9saWdodGVyOiAjZjZmNmY2ICFkZWZhdWx0O1xuJHByaW1hcnlfbGlnaHQ6ICRncmF5ICFkZWZhdWx0O1xuJGFycm93X2NvbG9yOiAkZ3JheSAhZGVmYXVsdDtcblxuLy8gU3R5bGUgdGhlIGRyb3Bkb3duXG4ubmljZS1zZWxlY3Qge1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJvcmRlci1yYWRpdXM6ICRpbnB1dF9ib3JkZXJfcmFkaXVzO1xuICBib3JkZXI6IHNvbGlkIDFweCAkZ3JheV9saWdodDsgXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGNsZWFyOiBib3RoO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbG9hdDogbGVmdDtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogJGZvbnRfc2l6ZTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgaGVpZ2h0OiAkaW5wdXRfaGVpZ2h0O1xuICBsaW5lLWhlaWdodDogJGlucHV0X2hlaWdodCAtIDI7XG4gIG91dGxpbmU6IG5vbmU7XG4gIHBhZGRpbmctbGVmdDogJGRyb3Bkb3duX3BhZGRpbmc7XG4gIHBhZGRpbmctcmlnaHQ6ICRkcm9wZG93bl9wYWRkaW5nICsgMTI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50O1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHdpZHRoOiBhdXRvO1xuICAmOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6IGRhcmtlbigkZ3JheV9saWdodCwgNSUpO1xuICB9XG4gICY6YWN0aXZlLCAmOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICRwcmltYXJ5X2xpZ2h0O1xuICB9XG4gIC8vIEFycm93XG4gICY6YWZ0ZXIgeyBcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJGFycm93X2NvbG9yO1xuICAgIGJvcmRlci1yaWdodDogMnB4IHNvbGlkICRhcnJvd19jb2xvcjtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jazsgXG4gICAgaGVpZ2h0OiA1cHg7XG4gICAgbWFyZ2luLXRvcDogLTRweDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7IFxuICAgIHJpZ2h0OiAxMnB4OyBcbiAgICB0b3A6IDUwJTsgXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogNjYlIDY2JTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2UtaW4tb3V0O1xuICAgIHdpZHRoOiA1cHg7XG4gIH1cbiAgXG4gICYub3BlbiB7XG4gICAgQGV4dGVuZCA6YWN0aXZlO1xuICAgICY6YWZ0ZXIge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTEzNWRlZyk7XG4gICAgfVxuICAgIC5saXN0IHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSkgdHJhbnNsYXRlWSgwKTtcbiAgICB9XG4gIH1cbiAgJi5kaXNhYmxlZCB7XG4gICAgYm9yZGVyLWNvbG9yOiBsaWdodGVuKCRncmF5X2xpZ2h0LCAyJSk7XG4gICAgY29sb3I6ICRncmF5O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICY6YWZ0ZXIgeyBcbiAgICAgIGJvcmRlci1jb2xvcjogbGlnaHRlbigkYXJyb3dfY29sb3IsIDIwJSk7XG4gICAgfVxuICB9XG4gIFxuICAvLyBNb2RpZmllcnNcbiAgJi53aWRlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICAubGlzdCB7XG4gICAgICBsZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgICByaWdodDogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuICAmLnJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgLmxpc3Qge1xuICAgICAgbGVmdDogYXV0bztcbiAgICAgIHJpZ2h0OiAwO1xuICAgIH1cbiAgfVxuICAmLnNtYWxsIHtcbiAgICBmb250LXNpemU6ICRmb250X3NpemVfc21hbGw7XG4gICAgaGVpZ2h0OiAkaW5wdXRfaGVpZ2h0X3NtYWxsO1xuICAgIGxpbmUtaGVpZ2h0OiAkaW5wdXRfaGVpZ2h0X3NtYWxsIC0gMjtcbiAgICAmOmFmdGVyIHsgXG4gICAgICBoZWlnaHQ6IDRweDtcbiAgICAgIHdpZHRoOiA0cHg7XG4gICAgfVxuICAgIC5vcHRpb24ge1xuICAgICAgbGluZS1oZWlnaHQ6ICRpbnB1dF9oZWlnaHRfc21hbGwgLSAyO1xuICAgICAgbWluLWhlaWdodDogJGlucHV0X2hlaWdodF9zbWFsbCAtIDI7XG4gICAgfVxuICB9XG4gIFxuICAvLyBMaXN0IGFuZCBvcHRpb25zXG4gIC5saXN0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGJvcmRlci1yYWRpdXM6ICRpbnB1dF9ib3JkZXJfcmFkaXVzO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKCRncmF5X2RhcmssIC4xMSk7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBtYXJnaW4tdG9wOiA0cHg7XG4gICAgb3BhY2l0eTogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTAwJTsgbGVmdDogMDtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKC43NSkgdHJhbnNsYXRlWSgtICRpbnB1dF9oZWlnaHQgLyAyKTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjJzIGN1YmljLWJlemllcigwLjUsIDAsIDAsIDEuMjUpLCBvcGFjaXR5IC4xNXMgZWFzZS1vdXQ7XG4gICAgei1pbmRleDogOTtcbiAgICAmOmhvdmVyIC5vcHRpb246bm90KDpob3Zlcikge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbiAgLm9wdGlvbiB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGluZS1oZWlnaHQ6ICRpbnB1dF9oZWlnaHQgLSAyO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWluLWhlaWdodDogJGlucHV0X2hlaWdodCAtIDI7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBwYWRkaW5nLWxlZnQ6ICRkcm9wZG93bl9wYWRkaW5nO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRkcm9wZG93bl9wYWRkaW5nICsgMTE7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycztcbiAgICAmOmhvdmVyLCAmLmZvY3VzLCAmLnNlbGVjdGVkLmZvY3VzIHsgXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheV9saWdodGVyO1xuICAgIH1cbiAgICAmLnNlbGVjdGVkIHsgXG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB9XG4gICAgJi5kaXNhYmxlZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGNvbG9yOiAkZ3JheTtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICB9XG4gIH1cbn1cblxuLy8gVXNlIGRpc3BsYXkgaW5zdGVhZCBvZiBvcGFjaXR5IGZvciBJRSA8PSAxMFxuLm5vLWNzc3BvaW50ZXJldmVudHMgLm5pY2Utc2VsZWN0IHtcbiAgLmxpc3Qge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgJi5vcGVuIHtcbiAgICAubGlzdCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbn0iLCIvKiBTbGlkZXIgKi9cblxuLnNsaWNrLXNsaWRlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1raHRtbC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbXMtdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgICB0b3VjaC1hY3Rpb246IHBhbi15O1xuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4uc2xpY2stbGlzdCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG5cbiAgICAmLmRyYWdnaW5nIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBjdXJzb3I6IGhhbmQ7XG4gICAgfVxufVxuLnNsaWNrLXNsaWRlciAuc2xpY2stdHJhY2ssXG4uc2xpY2stc2xpZGVyIC5zbGljay1saXN0IHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbn1cblxuLnNsaWNrLXRyYWNrIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAmOmJlZm9yZSxcbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cblxuICAgIC5zbGljay1sb2FkaW5nICYge1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgfVxufVxuLnNsaWNrLXNsaWRlIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMXB4O1xuICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG4gICAgaW1nIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICAgICYuc2xpY2stbG9hZGluZyBpbWcge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAmLmRyYWdnaW5nIGltZyB7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cblxuICAgIC5zbGljay1pbml0aWFsaXplZCAmIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLnNsaWNrLWxvYWRpbmcgJiB7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAuc2xpY2stdmVydGljYWwgJiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIH1cbn1cbi5zbGljay1hcnJvdy5zbGljay1oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG4iLCIjYW5ndWxhci10b3Atc2xpZGVyIHtcbiAgLnRvcC1zbGlkZXIge1xuICAgIC50b3Atc2xpZGVyLWl0ZW0ge1xuICAgICAgYmFja2dyb3VuZDogJGJyYW5kLWNvbG9yLTE7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgLmRlc2NyaXB0aW9uIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDNyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogN3JlbTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTByZW07XG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgJGJyYW5kLWNvbG9yLTEgODglLHJnYmEoMCwxMTUsMTgyLC4wMikgMTAwJSxyZ2JhKDAsMTE1LDE4MiwuMjEpIDEzMCUpIDAgMDtcbiAgICAgICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoMGRlZywgJGJyYW5kLWNvbG9yLTEgODglLHJnYmEoMCwxMTUsMTgyLC4wMikgMTAwJSxyZ2JhKDAsMTE1LDE4MiwuMjEpIDEzMCUpIDAgMDtcbiAgICAgICAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQoIDBkZWcsICRicmFuZC1jb2xvci0xIDgwJSwgJGJyYW5kLWNvbG9yLTEsIHJnYmEoMCwgMTE1LCAxNzgsIDApIDEwMCUpIDAgMDtcbiAgICAgICAgQG1lZGlhICN7JG1lZGl1bS1vbmx5fSB7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAzLjVyZW07XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogNHJlbTtcbiAgICAgICAgICBoMiB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmcmFtZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IC0zcHg7XG4gICAgICB9XG4gICAgfVxuICAgIC50b3Atc2xpZGVyLWl0ZW0tc21hbGwge1xuICAgICAgYmFja2dyb3VuZDogJGJyYW5kLWNvbG9yLTE7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAuZGVzY3JpcHRpb24tc21hbGwge1xuICAgICAgICBwYWRkaW5nOiAycmVtO1xuICAgICAgICBtaW4taGVpZ2h0OiAzMTBweDtcbiAgICAgIH1cbiAgICB9XG4gICAgLnNsaWNrLXByZXYge1xuICAgICAgbGVmdDogMjBweDtcbiAgICAgIHRvcDogLTQ1cHg7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIjeyRpY29ucy1wYXRofS9pLWFycm93LWxlZnQtd2hpdGUuc3ZnXCIpIG5vLXJlcGVhdDtcbiAgICB9XG4gICAgLnNsaWNrLW5leHQge1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB0b3A6IC00NXB4O1xuICAgICAgYmFja2dyb3VuZDogdXJsKFwiI3skaWNvbnMtcGF0aH0vaS1hcnJvdy1yaWdodC13aGl0ZS5zdmdcIikgbm8tcmVwZWF0O1xuICAgIH1cbiAgICAuYnV0dG9uIHtcbiAgICAgIG1hcmdpbi10b3A6IDJyZW07XG4gICAgICBAbWVkaWEgI3skbWVkaXVtLW9ubHl9IHtcbiAgICAgICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgICAgIH1cbiAgICAgIEBtZWRpYSAjeyRzbWFsbC1vbmx5fSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgICB9XG4gICAgfVxuICAgIGgzIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgZm9udC1zaXplOiAxLjNyZW07XG4gICAgfVxuICB9XG4gIC52aWRlby1jb250ZW50LWljb25zIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAyMHB4O1xuICB9XG59XG5cbiNyZWxhdGVkVmlkZW9zIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIG1hcmdpbjogYXV0bztcbiAgd2lkdGg6IDkwJTtcbiAgaGVpZ2h0OiAzMDBweDtcbiAgLnZpZGVvLXRodW1ibmFpbCBzcGFuIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cbn1cblxuI2Zhdm91cml0ZVZpZGVvcyB7XG4gIC5hbmd1bGFyLXZpZGVvLXNsaWRlciB7XG4gICAgbWFyZ2luLXRvcDogMS41cmVtO1xuICAgIC5zbGljay1wcmV2IHtcbiAgICAgIGxlZnQ6IDIwcHg7XG4gICAgICB0b3A6IC00NXB4O1xuICAgICAgYmFja2dyb3VuZDogdXJsKFwiI3skaWNvbnMtcGF0aH0vaS1hcnJvdy1sZWZ0LXdoaXRlLnN2Z1wiKSBuby1yZXBlYXQ7XG4gICAgfVxuICAgIC5zbGljay1uZXh0IHtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgdG9wOiAtNDVweDtcbiAgICAgIGJhY2tncm91bmQ6IHVybChcIiN7JGljb25zLXBhdGh9L2ktYXJyb3ctcmlnaHQtd2hpdGUuc3ZnXCIpIG5vLXJlcGVhdDtcbiAgICB9XG4gIH1cbn1cblxuLnNsaWRlci1ob21lIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGdyZXk7XG4gIC5zbGljay1zbGlkZSB7XG4gICAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xuICAgICoge1xuICAgICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuLmltZy1zbGlkZXIge1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlciAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogJHNsaWRlci1oZWlnaHQ7XG59XG5cbi52aWRlby1zbGlkZXIge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkc2xpZGVyLWhlaWdodDtcbiAgbWFyZ2luOiAwcHggYXV0bztcbn1cblxuLnBsYXktYnV0dG9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIHRvcDowO1xuICBib3R0b206MDtcbiAgbWFyZ2luOiBhdXRvO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHdpZHRoOiA4MHB4O1xuICBoZWlnaHQ6IDgwcHg7XG59XG5cbi5idG4tc2xpZGVye1xuXHR3aWR0aDogMjMwcHg7XG4gIHotaW5kZXg6IDEwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogODAlO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgbWFyZ2luOiBhdXRvO1xuICBib3JkZXI6IDFweCBzb2xpZCB3aGl0ZTtcbn1cbi5hbmd1bGFyLXZpZGVvLXNsaWRlciB7XG4gIC5zbGljay10cmFjayB7XG4gICAgbWFyZ2luLWxlZnQ6IDAuNnJlbTtcbiAgICBtaW4td2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLnNsaWNrLXNsaWRlIHtcbiAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgb3V0bGluZTogbm9uZTtcbn1cblxuLnRvcC1zbGlkZXItY292ZXItdmlkZW8ge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDoxMDAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbiIsImZvb3RlciB7XG4gIGJhY2tncm91bmQ6ICRicmFuZC1jb2xvci0xO1xuICBwYWRkaW5nOiAzcmVtO1xuICBoZWlnaHQ6IGF1dG87XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMTAwJTtcbiAgLmZvb3Rlci1jb250ZW50IHtcbiAgICBwIHtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgIGZvbnQtc2l6ZTogMC44cmVtO1xuICAgIH1cbiAgICBhIHtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICB9XG4gIH1cbiAgLmRpc2NsYWltZXIge1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHdoaXRlO1xuICAgIEBtZWRpYSAjeyRzbWFsbC1vbmx5fSB7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgfVxuICB9XG4gIC5mb290ZXItbG9nbyB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1heC1oZWlnaHQ6IDE1MHB4O1xuICB9XG59IiwiLmhlYWRlciB7XG4gIG1pbi1oZWlnaHQ6IDcwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICRnZW5lcmFsLWJhY2tncm91bmQ7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBncmV5O1xuICAtd2Via2l0LWJveC1zaGFkb3c6IDAgM3B4IDEwcHggLTVweCAjMDAwO1xuICAgLW1vei1ib3gtc2hhZG93OiAwIDNweCAxMHB4IC01cHggIzAwMDtcbiAgICAgICAgYm94LXNoYWRvdzogMCAzcHggMTBweCAtNXB4ICMwMDA7XG59XG5cbi5sb2dvIHtcbiAgbWF4LWhlaWdodDogNjBweDtcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogMTAwJTtcbiAgbWFyZ2luLWxlZnQ6IDEwcmVtO1xuICBtYXJnaW4tdG9wOiAxLjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIEBtZWRpYSAjeyRtZWRpdW0tb25seX0ge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi10b3A6IDAuNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAuNXJlbTtcbiAgfVxuICBAbWVkaWEgI3skc21hbGwtb25seX0ge1xuICAgIG1hcmdpbjogMHB4IGF1dG87XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgfVxufVxuXG4ubG9nby1icmFuZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAwO1xuICBAbWVkaWEgI3skbWVkaXVtLW9ubHl9IHtcbiAgICB0b3A6IDA7XG4gIH1cbn1cblxuLmxvZ2luIHtcbiAgcGFkZGluZzogMjVweDtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIEBtZWRpYSAjeyRtZWRpdW0tb25seX0ge1xuICAgICAgcGFkZGluZzogMDtcbiAgfVxuICBAbWVkaWEgI3skc21hbGwtb25seX0ge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcGFkZGluZy10b3A6IDI1cHg7XG4gIH1cbiAgLmxvZ2ludGV4dHtcbiAgICBjb2xvcjogZ3JleTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAtNnB4O1xuICAgIGZvbnQtc2l6ZTogMC45NXJlbTtcbiAgfVxuICBpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gIH1cbiAgLmktd29ybGQge1xuICAgIHRvcDogLTJweDtcbiAgICBsZWZ0OiAwcHg7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi1yaWdodDogMC41cmVtO1xuICB9XG4gIC5sb2dpbi1jb250YWluZXIge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICB9XG59XG5cbi5sb2dpbi5sb2dpbi1icmFuZCB7XG4gIHBhZGRpbmctdG9wOiAwO1xufVxuXG4ubG9naW4taG9tZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWxlZnQ6IDNyZW07XG59XG5cbi5jdXJyZW50LXJlZ2lvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xufVxuXG4ucmVnaW9uLXNlbGVjdG9yIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBsaTpmaXJzdC1jaGlsZCB7XG4gICAgYXtcbiAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRicmFuZC1mb3VuZGF0aW9uLXByaW1hcnktY29sb3I7XG4gICAgfVxuICB9XG59XG5cbiNyZWdpb24tZHJvcGRvd24ge1xuICBsaSB7XG4gICAgYSB7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi5sYW5ndWFnZS1zZWxlY3RvciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IC02cHg7XG59XG5cbi5tZW51IHtcbiAgei1pbmRleDogMjtcbiAgbGkge1xuICAgIHBhZGRpbmctbGVmdDogMC41cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbTtcbiAgICBhIHtcbiAgICAgIGNvbG9yOiBncmV5O1xuICAgICAgcGFkZGluZzogMC44cmVtIDFyZW07XG4gICAgICBmb250LXNpemU6IDAuOTVyZW07XG4gICAgfVxuICB9XG4gICYuc3VibWVudSB7XG4gICAgYSB7XG4gICAgICBjb2xvcjogYmxhY2s7XG4gICAgICBwYWRkaW5nOiAwLjJyZW0gMXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IC41cmVtO1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDE1OCwgMTU2LCAxNTYpO1xuICAgICAgfVxuICAgIH1cbiAgICAuYWN0aXZlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi5kcm9wZG93bi1wYW5lIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDA7XG4gIGxpIHtcbiAgICBhIHtcbiAgICAgIGNvbG9yOiBibGFjaztcbiAgICAgIHBhZGRpbmc6IC4xcmVtIC43cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgZm9udC1zaXplOiAwLjhyZW07XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDE1OCwgMTU2LCAxNTYpO1xuICAgICAgfVxuICAgIH1cbiAgICAuYWN0aXZlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi5sYW5ndWFnZS1zZWxlY3RvciB7XG4gIC5kcm9wZG93bi1wYW5lIHtcbiAgICBtaW4td2lkdGg6IDEwMHB4O1xuICB9XG59XG5cbi5kcm9wZG93bi5tZW51PmxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50PmEge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMC41cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtaW4td2lkdGg6IDEwMHB4O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgJjphZnRlciB7XG4gICAgICByaWdodDogLTE1cHg7XG4gICAgICB0b3A6IDhweDtcbiAgICB9XG59XG5cbi5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItdG9wOiBub25lO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBtaW4td2lkdGg6IGF1dG87XG4gIGJveC1zaGFkb3c6IHJnYig3OCwgNzgsIDc4KSAwcHggM3B4IDVweCAwcHg7XG59XG4uZHJvcGRvd24ubWVudT5saS5vcGVucy1yaWdodD4uaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHotaW5kZXg6IDEwO1xuICBsaTpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgfVxufVxuXG4uZHJvcGRvd24ubWVudT5saS5vcGVucy1yaWdodD4uaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMTBweDtcbiAgICB0b3A6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5kcm9wZG93bi5tZW51PmxpLm9wZW5zLWxlZnQ+LmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IC0yMHB4O1xuICAgIHRvcDogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgIGxpOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgfVxufVxuXG4ub3B0aW9uYWwtdGV4dCB7XG4gIG1pbi1oZWlnaHQ6IDYwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGNEY0RjQ7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG5cbi5wcmluY2lwYWwtaGVhZGxpbmUge1xuICBkaXNwbGF5OiBub25lO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmctdG9wOiAyLjVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAyLjVyZW07XG4gIC5oZWFkbGluZSB7XG4gICAgY29sb3I6ICRicmFuZC1jb2xvci0zO1xuICB9XG59XG5cbi5zd2l0Y2hlciB7XG4gIHBhZGRpbmc6IDAuNXJlbTtcbn1cblxuLnN3aXRjaGVyLWJ1dHRvbiB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgd2lkdGg6IDUwcHg7XG4gIGhlaWdodDogNTBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIG1hcmdpbi10b3A6IDVweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpOyAvKiBDaHJvbWUsIFNhZmFyaSwgT3BlcmEgKi9cbiAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTsgLyogRmlyZWZveCAqL1xuICAgICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTsgLyogSUUgOSAqL1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG59XG5cbi5zd2l0Y2hlZC1idXR0b24ge1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDI3MGRlZyk7IC8qIENocm9tZSwgU2FmYXJpLCBPcGVyYSAqL1xuICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoMjcwZGVnKTsgLyogRmlyZWZveCAqL1xuICAgICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDI3MGRlZyk7IC8qIElFIDkgKi9cbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMjcwZGVnKTtcbn1cblxuLmFsbC12aWRlb3Mge1xuICBtYXJnaW46IDFyZW07XG4gIHBhZGRpbmctdG9wOiAxcmVtO1xuICBhIHtcbiAgICBjb2xvcjogJGJyYW5kLWNvbG9yLTM7XG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJGJyYW5kLWNvbG9yLTE7XG4gICAgfVxuICB9XG59XG5cbi5icmFuZC1zZWxlY3RvciB7XG4gIHBhZGRpbmc6IDNyZW07XG4gIHBhZGRpbmctYm90dG9tOiAxMHJlbTtcbn1cblxuLmJyYW5kLWNpcmNsZS13cmFwcGVyIHtcbiAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSl7XG4gICAgJjpudGgtY2hpbGQob2RkKSB7XG4gICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCBncmV5O1xuICAgICAgLXdlYmtpdC1ib3JkZXItaW1hZ2U6XG4gICAgICAgIC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCAwIDAsIDAgMTAwJSwgZnJvbShncmV5KSwgdG8ocmdiYSgwLCAwLCAwLCAwKSkpIDEgMTAwJTtcbiAgICAgICAgLXdlYmtpdC1ib3JkZXItaW1hZ2U6XG4gICAgICAgIC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHJnYmEoMCwgMCwgMCwgMCksIGdyZXksIHJnYmEoMCwgMCwgMCwgMCkpIDEgMTAwJTtcbiAgICAgIC1tb3otYm9yZGVyLWltYWdlOlxuICAgICAgICAtbW96LWxpbmVhci1ncmFkaWVudChyZ2JhKDAsIDAsIDAsIDApLCBncmV5LCByZ2JhKDAsIDAsIDAsIDApKSAxIDEwMCU7XG4gICAgICAgIC1vLWJvcmRlci1pbWFnZTpcbiAgICAgICAgICAtby1saW5lYXItZ3JhZGllbnQocmdiYSgwLCAwLCAwLCAwKSwgZ3JleSwgcmdiYSgwLCAwLCAwLCAwKSkgMSAxMDAlO1xuICAgICAgICAgICAgYm9yZGVyLWltYWdlOlxuICAgICAgICAgICAgICBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKDAsIDAsIDAsIDApLCBncmV5LCByZ2JhKDAsIDAsIDAsIDApKSAxIDEwMCU7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCl7XG4gICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIGdyZXk7XG4gICAgICAtd2Via2l0LWJvcmRlci1pbWFnZTpcbiAgICAgICAgLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIDAgMCwgMCAxMDAlLCBmcm9tKGdyZXkpLCB0byhyZ2JhKDAsIDAsIDAsIDApKSkgMSAxMDAlO1xuICAgICAgICAtd2Via2l0LWJvcmRlci1pbWFnZTpcbiAgICAgICAgLXdlYmtpdC1saW5lYXItZ3JhZGllbnQocmdiYSgwLCAwLCAwLCAwKSwgZ3JleSwgcmdiYSgwLCAwLCAwLCAwKSkgMSAxMDAlO1xuICAgICAgLW1vei1ib3JkZXItaW1hZ2U6XG4gICAgICAgIC1tb3otbGluZWFyLWdyYWRpZW50KHJnYmEoMCwgMCwgMCwgMCksIGdyZXksIHJnYmEoMCwgMCwgMCwgMCkpIDEgMTAwJTtcbiAgICAgICAgLW8tYm9yZGVyLWltYWdlOlxuICAgICAgICAgIC1vLWxpbmVhci1ncmFkaWVudChyZ2JhKDAsIDAsIDAsIDApLCBncmV5LCByZ2JhKDAsIDAsIDAsIDApKSAxIDEwMCU7XG4gICAgICAgICAgICBib3JkZXItaW1hZ2U6XG4gICAgICAgICAgICAgIGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMCwgMCwgMCwgMCksIGdyZXksIHJnYmEoMCwgMCwgMCwgMCkpIDEgMTAwJTtcbiAgICB9XG4gIH1cbn1cblxuLmJyYW5kLWNpcmNsZXtcbiAgd2lkdGg6IDI1MHB4O1xuICBoZWlnaHQ6IDI1MHB4O1xuICBAbWVkaWEgI3skbWVkaXVtLW9ubHl9IHtcbiAgICB3aWR0aDogMjAwcHg7XG4gICAgaGVpZ2h0OiAyMDBweDtcbiAgfVxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtYWxpZ246IC1tb3otY2VudGVyO1xuICB0ZXh0LWFsaWduOiAtd2Via2l0LWNlbnRlcjtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIC1tb3otYm9yZGVyLXJhZGl1czogNTBweDtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA1MHB4O1xuICBib3JkZXItcmFkaXVzOiAxNTBweDtcbiAgbWFyZ2luOiAwcHggYXV0bztcbiAgYm9yZGVyOiAycHggc29saWQgI0M0QzRDNDtcbiAgJjpob3ZlciB7XG4gICBvcGFjaXR5OiAwLjc7XG4gICAtd2Via2l0LXRyYW5zaXRpb246IDAuMnM7XG4gICAgICAtbW96LXRyYW5zaXRpb246IDAuMnM7XG4gICAgICAgICAgIHRyYW5zaXRpb246IDAuMnM7XG4gICAgICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMnM7XG4gIH1cbn1cblxuLmJyYW5kLWNpcmNsZXtcblxuICAuaW1nLWhlbHBlciB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB9XG5cbiAgLmJyYW5kLWxvZ28ge1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIG1heC13aWR0aDogNzUlO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICB9XG59XG5cblxuLnNvY2lhbC1pY29ucy1saW5rIHtcbiAgbWFyZ2luLXJpZ2h0OiA1cHg7XG59XG5cbi5zZWFyY2gtbG9naW4tZm9ybXMge1xuICBAbWVkaWEgI3skc21hbGwtb25seX0ge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cbn1cblxuLmZvcm0tc2VhcmNoIHtcbiAgd2lkdGg6IDMwMHB4O1xuICBAbWVkaWEgI3skbWVkaXVtLW9ubHl9IHtcbiAgICB3aWR0aDogODAlO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICB9XG4gIEBtZWRpYSAjeyRzbWFsbC1vbmx5fSB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgd2lkdGg6IDcwJTtcbiAgfVxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmctdG9wOiAxLjVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAwcHg7XG4gIGkge1xuICAgIHRvcDogMDtcbiAgfVxufVxuXG4uc2VhcmNoLWJveCB7XG4gIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gIGlucHV0IHtcbiAgICBoZWlnaHQ6IDMwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4uc2VhcmNoLWJveC1idXR0b24ge1xuICBwYWRkaW5nOiAwO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIC5idXR0b24ge1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgcGFkZGluZy10b3A6IDRweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMXB4O1xuICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICAgIGJhY2tncm91bmQ6ICRicmFuZC1jb2xvci0zO1xuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGJyYW5kLWNvbG9yLTE7XG4gICAgfVxuICB9XG4gIGkge1xuICAgIGxlZnQ6IDA7XG4gIH1cbiAgLmktc2VhcmNoLXdoaXRlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5NWRlZyk7XG4gIH1cbn1cblxuLmJyYW5kLWxvZ2luIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0b3A6IC0yMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC5pLXVzZXIge1xuICAgIHRvcDogMDtcbiAgfVxuICAubG9naW50ZXh0IHtcbiAgICB0b3A6IC01cHg7XG4gIH1cbiAgQG1lZGlhICN7JG1lZGl1bS1vbmx5fSB7XG4gICAgLmktdXNlciB7XG4gICAgICB0b3A6IDA7XG4gICAgfVxuICAgIC5sb2dpbnRleHQge1xuICAgICAgdG9wOiAwO1xuICAgIH1cbiAgfVxufSIsIlxuI2ZpbHRlcnMge1xuICBtYXJnaW4tdG9wOiAxLjVyZW07XG5cbiAgLmZpbHRlcnMge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLmZpbHRlcnMtY29udGFpbmVyIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGdyZXk7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIC5jb2x1bW4tbGVmdCB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogLjVyZW07XG4gICAgQG1lZGlhICN7JG1lZGl1bS1vbmx5fSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gICAgfVxuICAgIEBtZWRpYSAjeyRzbWFsbC1vbmx5fSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDEuMXJlbTtcbiAgICB9XG4gIH1cbiAgLmNvbHVtbi1yaWdodCB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgfVxuICBzZWxlY3Qge1xuICAgIGhlaWdodDogMS44cmVtO1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjdyZW07XG4gICAgZm9udC1zaXplOiAwLjhyZW07XG4gICAgcGFkZGluZzogMC4zcmVtO1xuICAgIGNvbG9yOiBncmV5O1xuICB9XG4gIC5maWx0ZXItdGV4dCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgcGFkZGluZzogMC41cmVtO1xuICAgIHBhZGRpbmctdG9wOiAwLjJyZW07XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBjb2xvcjogJGJyYW5kLWNvbG9yLTE7XG4gICAgZm9udC1zaXplOiAwLjhyZW07XG4gICAgc3BhbiB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRvcDogLTNweDtcbiAgICB9XG4gICAgQG1lZGlhICN7JG1lZGl1bS1vbmx5fSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICBAbWVkaWEgI3skc21hbGwtb25seX0ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbiAgLmZpbHRlciB7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjVyZW07XG4gIH1cbn1cblxuLm5vLXJlc3VsdHMtYXBwe1xuICBwYWRkaW5nLXRvcDogMTVweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4udmlkZW8tbGlzdC1jb250YWluZXIge1xuICBkaXNwbGF5OiBpbmxpbmU7XG59XG5cbi52aWRlby1jb250YWluZXIge1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIGZsb2F0OiBsZWZ0O1xuICBAbWVkaWEgI3skc21hbGwtb25seX0ge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbn1cblxuLnZpZGVvLXRodW1ibmFpbCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAyMDBweDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdCAhaW1wb3J0YW50O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3JkZXI6ICR2aWRlby10aHVtYm5haWwtYm9yZGVyLXdpZHRoIHNvbGlkIHdoaXRlO1xuICAgICY6aG92ZXJ7XG4gICAgICBib3JkZXI6ICR2aWRlby10aHVtYm5haWwtYm9yZGVyLXdpZHRoIHNvbGlkICRicmFuZC1jb2xvci0xO1xuICAgIH1cbiAgICAuYWRkLXRvLWZhdm9yaXRlIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDEwcHg7XG4gICAgICByaWdodDogMTBweDtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBwb2ludGVyLWV2ZW50czogYWxsO1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgIH1cbiAgICAgICBAbWVkaWEgI3skc21hbGwtb25seX0ge1xuICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgfVxuICAgIH1cbiAgICAudG9nZ2xlLXByZXZpZXcge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgei1pbmRleDogMjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBwb2ludGVyLWV2ZW50czogYWxsO1xuICAgICAgd2lkdGg6IDM1cHg7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICAgIHRyYW5zaXRpb246IDAuMnM7XG4gICAgICBAbWVkaWEgI3skc21hbGwtb25seX0ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICAgIGkge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAzNXB4O1xuICAgICAgfVxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgIH1cbiAgICAgICAmLm9wZW4ge1xuICAgICAgICAgLmktZG93bi1hcnJvdy13aGl0ZSB7XG4gICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgICAgIHRyYW5zaXRpb246IDAuMnM7XG4gICAgICAgICB9XG4gICAgICAgfVxuICAgIH1cbiAgICBzcGFuIHtcbiAgICAgICAgYmFja2dyb3VuZDogYmxhY2s7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBvcGFjaXR5OiAwLjU7XG4gICAgfVxufVxuXG4udG8tdmlkZW8tZGV0YWlscyB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ei1pbmRleDogNDtcbiAgICBoZWlnaHQ6IDgwJTtcbiAgICB0b3A6IDIwJTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgY3Vyc29yOiBoYW5kO1xufVxuXG4udmlkZW8tdGh1bWJuYWlsOmhvdmVyID4gc3BhbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4udmlkZW8tdGh1bWJuYWlsOmhvdmVyID4gc3BhbiArIGRpdiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi52aWRlby10aHVtYm5haWw6aG92ZXIgPiBzcGFuICsgZGl2ICsgZGl2IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnZpZGVvLXRodW1ibmFpbDpob3ZlciA+IHNwYW4gKyBkaXYgKyBkaXYgKyBkaXYge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4udmlkZW8tbGlzdC1jb250YWluZXIuc29tZS1wcmV2aWV3LW9wZW5lZCB7XG4gIC52aWRlby1jb250YWluZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLnZpZGVvLWNvbnRhaW5lci5wcmV2aWV3LW9wZW5lZCB7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xuICAudmlkZW8tdGh1bWJuYWlsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGJvcmRlcjogJHZpZGVvLXRodW1ibmFpbC1ib3JkZXItd2lkdGggc29saWQgJGJyYW5kLWNvbG9yLTE7XG4gICAgc3BhbiB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuICB9XG59XG5cbi52aWRlby10aXRsZS1jb250YWluZXIge1xuICAgIG1pbi1oZWlnaHQ6IDUwcHg7XG4gICAgbWF4LWhlaWdodDogNTBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAwLjdyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xufVxuXG4udmlkZW8tdGl0bGUge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHRleHQtYWxpZ246IGp1c3RpZnk7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbn1cblxuLnZpZGVvLWluZm8ge1xuICBoZWlnaHQ6ICRkZXRhaWxzLXZpZGVvLWhlaWdodDtcbiAgYmFja2dyb3VuZDogJGJyYW5kLWNvbG9yLTE7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgtOTBkZWcsIHJnYmEoMCwgMTE1LCAxNzgsIDAuODQpLCByZ2IoMCwgMTE1LCAxNzgpKTtcbiAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoMGRlZywgJGJyYW5kLWNvbG9yLTEgODglLHJnYmEoMCwxMTUsMTgyLC4wMikgMTAwJSxyZ2JhKDAsMTE1LDE4MiwuMjEpIDEzMCUpIDAgMDtcbiAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQoIDBkZWcsICRicmFuZC1jb2xvci0xIDgwJSwgJGJyYW5kLWNvbG9yLTEsIHJnYmEoMCwgMTE1LCAxNzgsIDApIDEwMCUpIDAgMDtcbiAgQG1lZGlhICN7JG1lZGl1bS1vbmx5fSB7XG4gICAgaGVpZ2h0OiAkZGV0YWlscy12aWRlby1oZWlnaHQgKyA1MDtcbiAgfVxuICBAbWVkaWEgI3skc21hbGwtb25seX0ge1xuICAgIGhlaWdodDogJGRldGFpbHMtdmlkZW8taGVpZ2h0ICsgMTAwO1xuICB9XG59XG5cbi5yZWxhdGVkLXZpZGVvcyB7XG4gIGhlaWdodDogJGRldGFpbHMtdmlkZW8taGVpZ2h0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0ICFpbXBvcnRhbnQ7XG4gIEBtZWRpYSAjeyRtZWRpdW0tb25seX0ge1xuICAgIGhlaWdodDogJGRldGFpbHMtdmlkZW8taGVpZ2h0ICsgNTA7XG4gIH1cbiAgQG1lZGlhICN7JHNtYWxsLW9ubHl9IHtcbiAgICBoZWlnaHQ6ICRkZXRhaWxzLXZpZGVvLWhlaWdodCArIDEwMDtcbiAgfVxuICBjb2xvcjogd2hpdGU7XG4gIGEge1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgfVxuICBoNCB7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIHBhZGRpbmc6IDFyZW07XG4gICAgcGFkZGluZy10b3A6IDAuNXJlbTtcbiAgfVxuICAuc2xpY2stc2xpZGUge1xuICAgIHBhZGRpbmc6IDAuNXJlbTtcbiAgICAudmlkZW8tdGh1bWJuYWlsIHtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICB9XG4gIH1cbiAgLmFycm93cy1zbGlkZXIge1xuICAgIHRvcDogLTYwcHg7XG4gICAgQG1lZGlhICN7JHNtYWxsLW9ubHl9IHtcbiAgICAgIHRvcDogMDtcbiAgICB9XG4gIH1cbiAgLnNsaWNrLXByZXZ7XG4gICAgbGVmdDogLTMwcHg7XG4gICAgYmFja2dyb3VuZDogdXJsKC4uL2ljb25zL2ktYXJyb3ctbGVmdC13aGl0ZS5zdmcpIG5vLXJlcGVhdDtcbiAgICBAbWVkaWEgI3skc21hbGwtb25seX0ge1xuICAgICAgbGVmdDogMTdweDtcbiAgICB9XG4gIH1cbiAgLnNsaWNrLW5leHQge1xuICAgIHJpZ2h0OiAtNTBweDtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaWNvbnMvaS1hcnJvdy1yaWdodC13aGl0ZS5zdmcpIG5vLXJlcGVhdDtcbiAgICBAbWVkaWEgI3skc21hbGwtb25seX0ge1xuICAgICAgcmlnaHQ6IC0yMHB4O1xuICAgIH1cbiAgfVxufVxuXG4udmlkZW8tY29udGVudCB7XG4gIGhlaWdodDogJGRldGFpbHMtdmlkZW8taGVpZ2h0O1xuICBwYWRkaW5nOiAxcmVtO1xuICBiYWNrZ3JvdW5kOiAkYnJhbmQtY29sb3ItMTtcbiAgY29sb3I6IHdoaXRlO1xuICB6LWluZGV4OiAyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgJGJyYW5kLWNvbG9yLTEgODglLCByZ2JhKDAsIDExNSwgMTgyLCAwLjAyKSAxMDAlLCByZ2JhKDAsIDExNSwgMTgyLCAwLjIxKSAxMzAlKSAwcHggMHB4O1xuICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCgwZGVnLCAkYnJhbmQtY29sb3ItMSA4OCUsIHJnYmEoMCwgMTE1LCAxODIsIDAuMDIpIDEwMCUsIHJnYmEoMCwgMTE1LCAxODIsIDAuMjEpIDEzMCUpIDBweCAwcHg7XG4gIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KCAwZGVnLCAkYnJhbmQtY29sb3ItMSA4MCUsICRicmFuZC1jb2xvci0xLCByZ2JhKDAsIDExNSwgMTc4LCAwKSAxMDAlKSAwIDA7XG4gIEBtZWRpYSAjeyRtZWRpdW0tb25seX0ge1xuICAgIGhlaWdodDogJGRldGFpbHMtdmlkZW8taGVpZ2h0ICsgNTA7XG4gIH1cbiAgQG1lZGlhICN7JHNtYWxsLW9ubHl9IHtcbiAgICBiYWNrZ3JvdW5kOiAkYnJhbmQtY29sb3ItMTtcbiAgICBoZWlnaHQ6ICRkZXRhaWxzLXZpZGVvLWhlaWdodCArIDEwMDtcbiAgfVxuICBoMiB7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDhyZW07XG4gICAgQG1lZGlhICN7JHNtYWxsLW9ubHl9IHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgfVxuICB9XG5cbiAgcCB7XG4gICAgcGFkZGluZy1yaWdodDogOHJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIEBtZWRpYSAjeyRzbWFsbC1vbmx5fSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIH1cbiAgfVxuXG4gIC5idXR0b24ge1xuICAgIGJvcmRlcjogMXB4IHdoaXRlIHNvbGlkO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgIHBhZGRpbmc6IDAuODVlbSAwLjVlbTtcbiAgfVxufVxuXG4udmlkZW8tY29udGVudC1pY29ucyB7XG4gIGRpdiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgc3BhbiB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0b3A6IC0zcHg7XG4gICAgfVxuICB9XG59XG5cbi52aWRlby1pbWFnZSB7XG4gIHBhZGRpbmc6IDA7XG4gIHotaW5kZXg6IDA7XG59XG5cbi5sYXJnZS12aWRlby10aHVtYm5haWwge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkZGV0YWlscy12aWRlby1oZWlnaHQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXIgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQgIWltcG9ydGFudDtcbiAgQG1lZGlhICN7JG1lZGl1bS1vbmx5fSB7XG4gICAgaGVpZ2h0OiAkZGV0YWlscy12aWRlby1oZWlnaHQgKyA1MDtcbiAgfVxuICBAbWVkaWEgI3skc21hbGwtb25seX0ge1xuICAgIGhlaWdodDogJGRldGFpbHMtdmlkZW8taGVpZ2h0ICsgMTAwO1xuICB9XG59XG5cbi5jbG9zZS1kZXRhaWwtdmlkZW97XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICByaWdodDogMS43cmVtO1xuICB0b3A6IDEuM3JlbTtcbiAgaSB7XG4gICAgd2lkdGg6IDMwcHg7XG4gICAgaGVpZ2h0OiAzMHB4O1xuICB9XG4gIEBtZWRpYSAjeyRzbWFsbC1vbmx5fSB7XG4gICAgei1pbmRleDogMjtcbiAgfVxufVxuXG4udGFicy12aWRlbyB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCBibGFjaztcbiAgYmFja2dyb3VuZDogJGJyYW5kLWNvbG9yLTE7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nOiAxcmVtO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBhIHtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgcGFkZGluZzogNXB4IDI1cHg7XG4gICAgbWFyZ2luLWxlZnQ6IDFyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgIEBtZWRpYSAjeyRzbWFsbC1vbmx5fSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuICB9XG4gIGEuYWN0aXZlIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB3aGl0ZTtcbiAgfVxuICBAbWVkaWEgI3skc21hbGwtb25seX0ge1xuICAgIGZvbnQtc2l6ZTogMC44cmVtO1xuICB9XG59XG5cbi52aWRlby1wcmV2aWV3IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IC0wLjVyZW07XG4gIGxlZnQ6IC03cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDFweDtcbiAgQG1lZGlhICN7JHNtYWxsLW9ubHl9IHtcbiAgICB0b3A6IDBweDtcbiAgICBsZWZ0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICB9XG59XG5cbi52aWRlby10YWdzIHtcbiAgcGFkZGluZy1yaWdodDogOHJlbTtcbiAgbWFyZ2luLXRvcDogMXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgQG1lZGlhICN7JHNtYWxsLW9ubHl9IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbiAgYSB7XG4gICAgY29sb3I6IHdoaXRlO1xuICB9XG4gIHNwYW4ge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHdoaXRlO1xuICAgIHBhZGRpbmc6IDAuMnJlbSAxcmVtO1xuICAgIGZvbnQtc2l6ZTogMC44cmVtO1xuICAgIG1hcmdpbjogMC4zcmVtO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgfVxufVxuXG4ucmVtb3ZlLWZpbHRlci10ZXh0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICBsaW5lLWhlaWdodDogMzBweDtcbn1cblxuLnJlbW92ZS1maWx0ZXItaWNvbiB7XG4gIG1hcmdpbjogNXB4IDA7XG59XG4iLCIucmV2ZWFsLW1vZGFsIHtcbiAgICBtaW4taGVpZ2h0OiAzMDBweDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMzIlO1xuICAgIHRvcDogMTYlO1xuICAgIHdpZHRoOiAzMCU7XG4gICAgcmlnaHQ6IDMyJTtcbiAgICB6LWluZGV4OiA5OTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBwYWRkaW5nOiAycmVtO1xuICAgIGJvcmRlcjogc29saWQgMXB4ICM2NjY7XG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgMTBweCByZ2JhKDAsMCwwLDAuNCk7XG4gICAgYm94LXNoYWRvdzogMCAwIDEwcHggcmdiYSgwLDAsMCwwLjQpO1xuICAgIHRvcDogOC4yNXJlbTtcbiAgICB0cmFuc2l0aW9uOiAwLjJzIGVhc2UtaW4tb3V0IGFsbDtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjJzO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBvcGFjaXR5OiAxO1xuICAgIEBtZWRpYSAjeyRtZWRpdW0tb25seX0ge1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIGxlZnQ6IDI1JTtcbiAgICB9XG4gICAgQG1lZGlhICN7JHNtYWxsLW9ubHl9IHtcbiAgICAgIHdpZHRoOiA5MCU7XG4gICAgICBsZWZ0OiA1JTtcbiAgICB9XG4gICAgLnVwbG9hZC1hcmVhIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICB9XG4gICAgI2Ryb3Bab25lIHtcbiAgICAgIGJvcmRlcjogNnB4IGRhc2hlZCAjZTZlNmU2O1xuICAgICAgcGFkZGluZzogMjBweDtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cblxuICAgIGlucHV0W3R5cGU9XCJmaWxlXCJde1xuICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgIC13ZWJraXQtcnRsLW9yZGVyaW5nOiAgbGVmdDtcbiAgICB9XG5cbiAgICBpbnB1dFt0eXBlPVwiZmlsZVwiXTo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBwdXNoLWJ1dHRvbjtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgICAtd2Via2l0LXVzZXItbW9kaWZ5OiByZWFkLW9ubHk7XG4gICAgICBtYXJnaW46IDBweDtcbiAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICBjb2xvcjogYmxhY2s7XG4gICAgICBiYWNrZ3JvdW5kOiAjY2NjY2NjO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCAjY2NjY2NjLCAjOTk5OTk5KTtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgI2NjY2NjYywgIzk5OTk5OSk7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiAtbXMtbGluZWFyLWdyYWRpZW50KHRvcCwgI2NjY2NjYywgIzk5OTk5OSk7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQodG9wLCAjY2NjY2NjLCAjOTk5OTk5KTtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICNjY2NjY2MsICM5OTk5OTkpO1xuICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbn1cblxuLm5nLW1vZGFsIC5yZXZlYWwtbW9kYWwge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG59XG5cbi5yZXZlYWwtbW9kYWwtYmcge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogIzAwMDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDAuNDUpO1xuICAgIHotaW5kZXg6IDk4O1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG59XG5cbi5uZy1tb2RhbCAucmV2ZWFsLW1vZGFsLWJnIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnJldmVhbC1tb2RhbCAuY2xvc2UtcmV2ZWFsLW1vZGFsIHtcbiAgICBmb250LXNpemU6IDEuMzc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDAuNXJlbTtcbiAgICByaWdodDogMC42ODc1cmVtO1xuICAgIGNvbG9yOiAjYWFhICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4ubmctbW9kYWwubmctaGlkZS1hZGQsXG4ubmctbW9kYWwubmctaGlkZS1yZW1vdmUge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xufVxuXG4ubmctbW9kYWwubmctaGlkZSB7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5yZXZlYWwtbW9kYWwubmctaGlkZS1hZGQsXG4ucmV2ZWFsLW1vZGFsLm5nLWhpZGUtcmVtb3ZlIHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbn1cblxuLnJldmVhbC1tb2RhbC5uZy1oaWRlIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuOSk7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5tb2RhbC10aXRsZSB7XG4gIGZsb2F0OiBsZWZ0O1xuICBjb2xvcjogJGJyYW5kLWNvbG9yLTI7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjYmViZWJlO1xuICBtYXJnaW4tYm90dG9tOiAycHg7XG4gIGZvbnQtc2l6ZTogMjVweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgaDMge1xuICAgIGZvbnQtc2l6ZTogMjVweDtcbiAgfVxufVxuXG4ubW9kYWwtYnRuIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAxMHB4O1xuICBtYXJnaW4tbGVmdDogMjBweDtcbiAgY29sb3I6IGJsYWNrO1xuICBiYWNrZ3JvdW5kOiAjY2NjY2NjO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsICNjY2NjY2MsICM5OTk5OTkpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsICNjY2NjY2MsICM5OTk5OTkpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtbXMtbGluZWFyLWdyYWRpZW50KHRvcCwgI2NjY2NjYywgIzk5OTk5OSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudCh0b3AsICNjY2NjY2MsICM5OTk5OTkpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjY2NjY2NjLCAjOTk5OTk5KTtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBtaW4td2lkdGg6IDIwJTtcbn1cblxuLm1vZGFsLWZpbGUtdXBsb2FkIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICY6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICB9XG4gIGkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDNweDtcbiAgfVxuICBpLmktY2xvc2UtZ3JheSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuICBzcGFuIHtcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgfVxufVxuXG4uYXR0YWNoLWZpbGUtYnV0dG9uLW1vZGFsIHtcbiAgYmFja2dyb3VuZDogJGJyYW5kLWNvbG9yLTE7XG4gIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZzogMThweDtcbiAgbWFyZ2luLXRvcDogMnJlbTtcbiAgcGFkZGluZy1ib3R0b206IDZweDtcbiAgcGFkZGluZy10b3A6IDEzcHg7XG4gIG1hcmdpbi1sZWZ0OiAyNSU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdHJhbnNpdGlvbjogMC4ycyBlYXNlLWluLW91dCBhbGw7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDAuMnM7XG4gIG1pbi13aWR0aDogNTAlO1xuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkYnJhbmQtY29sb3ItMjtcbiAgICBjb2xvcjogd2hpdGU7XG4gIH1cbiAgQG1lZGlhICN7JHNtYWxsLW9ubHl9IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLXRvcDogMnJlbTtcbiAgICBwYWRkaW5nOiAyMHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nLWxlZnQ6IDMwJTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMCU7XG4gIH1cbiAgaSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogLTNweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gIH1cbn0iLCIvL1Byb2plY3QgUGFnZVxuXG4jcHJvamVjdC1vcHRpb25zIHtcbiAgcGFkZGluZy10b3A6IDNyZW07XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAkYnJhbmQtY29sb3ItMjtcbiAgQG1lZGlhICN7JGxhcmdlLXVwfSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG59XG5cbi5idXR0b24uYnV0dG9uLXBwZy1ncmF5IHtcbiAgYmFja2dyb3VuZDogJGJyYW5kLWNvbG9yLTE7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogJGJyYW5kLWNvbG9yLTI7XG4gIH1cbn1cblxuLmNyZWF0ZS1wcm9qZWN0LWJ1dHRvbi1jb250YWluZXIge1xuICAuYnV0dG9uIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogLTIwcHg7XG4gICAgQG1lZGlhICN7JHNtYWxsLW9ubHl9IHtcbiAgICAgIHRvcDogYXV0bztcbiAgICB9XG4gIH1cbn1cblxuLnNlY3Rpb25zIHtcbiAgZmxvYXQ6IGxlZnQ7XG59XG5cbi5zZWN0aW9uLXRpdGxlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGZsb2F0OiBsZWZ0O1xuICBpIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAtM3B4O1xuICB9XG59XG5cbi5zZWN0aW9uLWNvbnRlbnQge1xuICB3aWR0aDogMTAwJTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmctbGVmdDogMS41cmVtO1xuICBkaXYge1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG59XG5cbi5zaG9ydC1kZXNjcmlwdGlvbiB7XG4gIHJlc2l6ZTogbm9uZTtcbn1cblxuLmlucHV0cy10aXRsZXMge1xuICBjb2xvcjogJGJyYW5kLWNvbG9yLTI7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIGZsb2F0OiBsZWZ0O1xufVxuXG4jdmlkZW8tZmlsdGVycyB7XG4gIHBhZGRpbmctcmlnaHQ6IDNyZW07XG59XG5cbiNzZWdtZW50LCAjcHJvZHVjdCwgI3ZpZGVvLXR5cGUge1xuICB3aWR0aDogMTAwJTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGhlYWRlciB7XG4gICAgYmFja2dyb3VuZDogI0Y0RjRGNDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoNCB7XG4gICAgICBjb2xvcjogJGJyYW5kLWNvbG9yLTE7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBwYWRkaW5nOiA1cHg7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgfVxuICB9XG4gIC5vcHRpb25zIHtcbiAgICBwYWRkaW5nOiAxcmVtO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHVsLCBsaSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbn1cblxuLnByb2plY3QtdGFncyB7XG4gIGxhYmVsIHtcbiAgICBtaW4taGVpZ2h0OiAzMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgIG91dGxpbmU6IG5vbmU7XG4gIH1cbiAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZhZmFmYTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjY2FjZWNlO1xuICAgIGJveC1zaGFkb3c6IDAgMXB4IDJweCByZ2JhKDAsMCwwLDAuMDUpLCBpbnNldCAwcHggLTE1cHggMTBweCAtMTJweCByZ2JhKDAsMCwwLDAuMDUpO1xuICAgIHBhZGRpbmc6IDlweDtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDNweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDFweDtcbiAgICBvdXRsaW5lOiBub25lO1xuICB9XG5cbiAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZDphY3RpdmUge1xuICAgIGJveC1zaGFkb3c6IDAgMXB4IDJweCByZ2JhKDAsMCwwLDAuMDUpLCBpbnNldCAwcHggMXB4IDNweCByZ2JhKDAsMCwwLDAuMSk7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgfVxuXG4gIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTllY2VlO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNhZGI4YzA7XG4gICAgYm94LXNoYWRvdzogMCAxcHggMnB4IHJnYmEoMCwwLDAsMC4wNSksIGluc2V0IDBweCAtMTVweCAxMHB4IC0xMnB4IHJnYmEoMCwwLDAsMC4wNSksIGluc2V0IDE1cHggMTBweCAtMTJweCByZ2JhKDI1NSwyNTUsMjU1LDAuMSk7XG4gICAgY29sb3I6ICM5OWExYTc7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgfVxuXG4gIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkOmFmdGVyIHtcbiAgICBjb250ZW50OiAnXFwyNzE0JztcbiAgICBmb250LXNpemU6IDI1cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTExcHg7XG4gICAgbGVmdDogMnB4O1xuICAgIGNvbG9yOiAkYnJhbmQtY29sb3ItMjtcbiAgICBvdXRsaW5lOiBub25lO1xuICB9XG59XG5cbi5hZGQtdGFncyB7XG4gIHdpZHRoOiA4MCU7XG4gIGZsb2F0OiBsZWZ0O1xuICBoZWlnaHQ6IDMwcHg7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5idG4tYWRkLXRhZyB7XG4gIHdpZHRoOiAyMCU7XG4gIGZsb2F0OiBsZWZ0O1xuICBoZWlnaHQ6IDMwcHg7XG4gIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2NhY2FjYTtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2NhY2FjYTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjYWNhY2E7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICNGNEY0RjQ7XG4gIH1cbn1cblxuLnN1Z2dlc3RlZC10YWdzLWJveCB7XG4gIGJhY2tncm91bmQ6ICNGNEY0RjQ7XG4gIHdpZHRoOiAxMDAlO1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZy10b3A6IDFyZW07XG59XG5cbi52YWxpZGF0ZWQtdGFncyB7XG4gIHdpZHRoOiAxMDAlO1xuICBmbG9hdDogbGVmdDtcbiAgYmFja2dyb3VuZDogd2hpdGU7XG4gIHBhZGRpbmctdG9wOiAxcmVtO1xuICAudmFsaWRhdGVkLXRhZyB7XG4gICAgQGV4dGVuZCAubWFpbC11c2VyO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIGdyZXk7XG4gICAgcGFkZGluZy10b3A6IDNweDtcbiAgICBpIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiA0MHB4O1xuICAgIH1cbiAgfVxufVxuXG4jdmlkZW8tcmVnaW9ucyB7XG4gIHBhZGRpbmctYm90dG9tOiAzcmVtO1xufVxuXG4uaXRlbS10YWctcmVnaW9uIHtcbiAgcGFkZGluZy1sZWZ0OiAxLjZyZW07XG4gIHBhZGRpbmctdG9wOiAxcmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgcGFkZGluZy1yaWdodDogMXJlbTtcbn1cblxuLnJlbGF0ZWQtdmlkZW8tYm94IHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNDAwcHg7XG4gIG92ZXJmbG93OiBhdXRvO1xuICBib3JkZXI6IDFweCBzb2xpZCBncmV5O1xuICBtYXJnaW4tYm90dG9tOiAzcmVtO1xuICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIH1cbiAgbGFiZWwge1xuICAgIG1pbi1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gIH1cbiAgLnB1Ymxpc2hlZC10aW1lIHtcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gIH1cbn1cblxuLnJlbGF0ZWQtdmlkZW8tYm94LWl0ZW0ge1xuICBtYXJnaW4tdG9wOiAycmVtO1xufVxuXG4udGh1bWJuYWlsLXJlbGF0ZWQtdmlkZW8tYm94IHtcbiAgaGVpZ2h0OiAxMzBweDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlciAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdCAhaW1wb3J0YW50O1xufVxuXG4udXBsb2FkLWFyZWEge1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMTVweDtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAzcmVtO1xufVxuXG4jZHJvcFpvbmUge1xuICBib3JkZXI6IDEwcHggZGFzaGVkICNFNkU2RTY7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIHBhZGRpbmc6IDEwMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiAjMjk2QjZBO1xuICB3aWR0aDogMTAwJTtcbiAgZm9udDogMjBweCBib2xkO1xuICAudXBsb2FkLWNsb3VkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDBweCBhdXRvO1xuICAgIHdpZHRoOiA4MHB4O1xuICAgIGhlaWdodDogODBweDtcbiAgICBmbG9hdDogbm9uZTtcbiAgfVxufVxuXG4udXBsb2FkLWZpbGUge1xuICBwYWRkaW5nLWJvdHRvbTogMnJlbTtcbiAgLmktZmlsZS1ncmF5IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAtMTVweDtcbiAgfVxuICBpIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gIH1cbiAgLnVwbG9hZC1maWxlLW5hbWUge1xuICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWF4LXdpZHRoOiA5MCU7XG4gIH1cbiAgLnVwbG9hZC1maWxlLXByb3BlcnRpZXMge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIC51cGxvYWQtZmlsZS1zZXBhcmF0b3Ige1xuICAgICAgcGFkZGluZy1sZWZ0OiA1cHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiA1cHg7XG4gICAgfVxuICB9XG59XG5cbi5jcmVhdGUtcHJvamVjdC1idXR0b24tY29udGFpbmVyLmRvd24tYnV0dG9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtaW4taGVpZ2h0OiAzMDBweDtcbiAgQG1lZGlhICN7JHNtYWxsLW9ubHl9IHtcbiAgICBtaW4taGVpZ2h0OiA2MHB4O1xuICB9XG4gIC5idXR0b24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IGF1dG87XG4gICAgYm90dG9tOiAzMHB4O1xuICAgIHJpZ2h0OiAwO1xuICAgIGxpbmUtaGVpZ2h0OiAwcHg7XG4gICAgcGFkZGluZzogMjVweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDYwcHg7XG4gICAgcGFkZGluZy1yaWdodDogNDBweDtcbiAgICBAbWVkaWEgI3skc21hbGwtb25seX0ge1xuICAgICAgdG9wOiBhdXRvO1xuICAgIH1cbiAgICBpIHtcbiAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAxMHB4O1xuICAgICAgbGVmdDogNXB4O1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgfVxuICB9XG59XG5cbi5tb2RhbC1pbnB1dCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDcwJTtcbiAgZmxvYXQ6IGxlZnQ7XG59XG4iLCJcbiVwcGd0di1saW5rIHtcbiAgY29sb3I6ICMzMzM7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogJGJyYW5kLWNvbG9yLTI7XG4gIH1cbn1cblxuLm5hdmlnYXRpb24tYnV0dG9ucyB7XG4gIGZsb2F0OiBsZWZ0O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi10b3A6IDNyZW07XG4gIG1hcmdpbi1ib3R0b206IDNyZW07XG4gIGEge1xuICAgIGNvbG9yOiAjMGEwYTBhO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMTBweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZjVmNWY1O1xuICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICAgIHdpZHRoOiAxMTBweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDBweCBhdXRvO1xuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogI2Y1ZjVmNTtcbiAgICB9XG4gICAgJi5hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZDogI2Y1ZjVmNTtcbiAgICB9XG4gIH1cbiAgaSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDM1cHg7XG4gICAgaGVpZ2h0OiAzNXB4O1xuICAgIG1hcmdpbjogMHB4IGF1dG87XG4gIH1cbiAgcCB7XG4gICAgbWFyZ2luLXRvcDogNXB4O1xuICB9XG59XG5cbi5saXN0LWJveCB7XG4gIG1hcmdpbi10b3A6IDNyZW07XG4gIG1hcmdpbi1ib3R0b206IDNyZW07XG59XG5cbi5saXN0LWJveC1oZWFkZXIge1xuICBib3JkZXI6IG5vbmU7XG4gIGNvbG9yOiAkYnJhbmQtY29sb3ItMjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgdGgge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAucHJvamVjdC1saXN0LXRpdGxlIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG4gIC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gIH1cbn1cblxuLmxpc3QtYm94LWNvbnRlbnQge1xuICBib3JkZXI6IG5vbmU7XG4gIHRyIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZDVkNWQ1O1xuICAgICY6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgfVxuICB9XG4gIHRkIHtcbiAgICBtaW4taGVpZ2h0OiAxMTVweDtcbiAgICBtYXgtaGVpZ2h0OiAxMTVweDtcbiAgICBAbWVkaWEgI3skbWVkaXVtLW9ubHl9IHtcbiAgICAgIG1pbi1oZWlnaHQ6IDE3MHB4O1xuICAgICAgbWF4LWhlaWdodDogMTcwcHg7XG4gICAgfVxuICAgIEBtZWRpYSAjeyRzbWFsbC1vbmx5fSB7XG4gICAgICBtaW4taGVpZ2h0OiAyMDBweDtcbiAgICAgIG1heC1oZWlnaHQ6IDIwMHB4O1xuICAgIH1cbiAgfVxuICBoNCB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGNvbG9yOiAkYnJhbmQtY29sb3ItMjtcbiAgfVxuICB0aW1lIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICB9XG4gIC5saXN0LWJveC1sb2dvIHtcbiAgICBtYXgtd2lkdGg6IDUwcHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwcHggYXV0bztcbiAgfVxuICAucHJvZ3Jlc3Mge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMHB4IGF1dG87XG4gICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgcGFkZGluZzogMXB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIGdyZXk7XG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICB9XG4gIC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gIH1cbiAgLmNvbnRlbnQtZGVzY3JpcHRpb24ge1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNkNWQ1ZDU7XG4gIH1cbiAgLmxpc3QtbG9nbyB7XG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2Q1ZDVkNTtcbiAgICBwYWRkaW5nOiAzMHB4IDE1cHg7XG4gICAgQG1lZGlhICN7JHNtYWxsLW9ubHl9IHtcbiAgICAgIHBhZGRpbmc6IDYwcHggMTVweDtcbiAgICB9XG4gIH1cbiAgLnByb2dyZXNzLWJhciB7XG4gICAgcGFkZGluZzogNDBweCAxNXB4O1xuICAgIEBtZWRpYSAjeyRzbWFsbC1vbmx5fSB7XG4gICAgICBwYWRkaW5nOiA4MHB4IDE1cHg7XG4gICAgfVxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgY29sb3I6IGdyZXk7XG4gICAgLnN0YXRlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luLXRvcDogNXB4O1xuICAgIH1cbiAgfVxufVxuXG4ucHJvZ3Jlc3Mge1xuICAubWV0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxuICAubWV0ZXIucHVibGlzaGVkIHtcbiAgICBiYWNrZ3JvdW5kOiAjOTRDMDIxO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC5tZXRlci5yZWplY3RlZCB7XG4gICAgYmFja2dyb3VuZDogcmVkO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC5tZXRlci5pblJldmlzaW9uIHtcbiAgICBiYWNrZ3JvdW5kOiAjRjI5MjAwO1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLm1ldGVyLnJlY2VpdmVkIHtcbiAgICBiYWNrZ3JvdW5kOiAjRkVERTAwO1xuICAgIHdpZHRoOiAzMCU7XG4gIH1cbn1cblxuLy9Vc2VycyBDaGF0XG5cbi5mb3JvLXRpdGxlIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGNvbG9yOiAkYnJhbmQtY29sb3ItMjtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRicmFuZC1jb2xvci0yO1xuICBtYXJnaW4tYm90dG9tOiAycHg7XG4gIGkge1xuICAgIHdpZHRoOiAzNXB4O1xuICAgIGhlaWdodDogMzVweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogNHB4O1xuICB9XG59XG5cbi51c2Vycy10b3AtYmFyIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRicmFuZC1jb2xvci0yO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGJyYW5kLWNvbG9yLTE7XG4gIC5iYXIge1xuICAgIHBhZGRpbmc6IDNweDtcbiAgfVxufVxuXG4uYm94LWljb24ge1xuICB3aWR0aDogMTI1cHg7XG4gIGZsb2F0OiBsZWZ0O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogMnB4O1xuICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gIG1pbi1oZWlnaHQ6IDI1cHg7XG4gIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICBwYWRkaW5nOiAwO1xuICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gIGkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbjogMDtcbiAgfVxuICBzcGFuIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gIH1cbn1cblxuLmJveC1tYWlscyB7XG4gIGZsb2F0OiBsZWZ0O1xufVxuXG4ubWFpbC11c2VyIHtcbiAgcGFkZGluZy1ib3R0b206IDVweDtcbiAgcGFkZGluZy1sZWZ0OiA1cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDVweDtcbiAgYm9yZGVyOiAxcHggc29saWQgJGJyYW5kLWNvbG9yLTI7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgY29sb3I6IGdyZXk7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW46IDNweCA1cHg7XG4gIGkge1xuICAgIHdpZHRoOiAxNXB4O1xuICAgIGhlaWdodDogMTVweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAzcHg7XG4gICAgJjpob3ZlciB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICB9XG59XG5cbi5pbnZpdGUtcGFydGljaXBhbnRzIHtcbiAgd2lkdGg6IDIzMHB4O1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICBoZWlnaHQ6IDI1cHg7XG4gIGxpbmUtaGVpZ2h0OiAzNXB4O1xuICBAbWVkaWEgI3skc21hbGwtb25seX0ge1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIH1cbiAgYSB7XG4gICAgQGV4dGVuZCAlcHBndHYtbGluaztcbiAgfVxuICBpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAzcHg7XG4gIH1cbn1cblxuI3VzZXJzLWNoYXQge1xuICBtYXJnaW4tdG9wOiAzcmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAzcmVtO1xufVxuXG4udGV4dC1hcmVhIHtcbiAgLmF0dGFjaC1maWxlIHtcbiAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICBpIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgIH1cbiAgICBhIHtcbiAgICAgIEBleHRlbmQgJXBwZ3R2LWxpbms7XG4gICAgfVxuICB9XG59XG5cbi5jb21tZW50cyB7XG4gIGZsb2F0OiBsZWZ0O1xuICAmOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDRyZW07XG4gIH1cbn1cblxuLmNvbW1lbnQge1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgLnRleHQge1xuICAgIHBhZGRpbmctdG9wOiAxcmVtO1xuICB9XG4gIC5hdHRhY2hlZC1maWxlcyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRicmFuZC1jb2xvci0xO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYnJhbmQtY29sb3ItMjtcbiAgICBwYWRkaW5nLXRvcDogNnB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA2cHg7XG4gICAgcCB7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICBjb2xvcjogZ3JleTtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgaGVpZ2h0OiAyNXB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgfVxuICAgIGkge1xuICAgICAgbWFyZ2luOiAwIDNweDtcbiAgICAgIHdpZHRoOiAyNXB4O1xuICAgICAgaGVpZ2h0OiAyNXB4O1xuICAgIH1cbiAgfVxufVxuXG4ucHVibGlzaGVkLXRpbWUge1xuICBjb2xvcjogJGJyYW5kLWNvbG9yLTI7XG4gIGZvbnQtc2l6ZTogMTRweDtcbn1cblxuLnVzZXItcGljdHVyZSB7XG4gIHBhZGRpbmc6IDI1cHg7XG4gIHBhZGRpbmctdG9wOiAwO1xuICBAbWVkaWEgI3skbWVkaXVtLW9ubHl9IHtcbiAgICBwYWRkaW5nOiA1cHg7XG4gIH1cbiAgQG1lZGlhICN7JHNtYWxsLW9ubHl9IHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG4gIGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gIH1cbn1cblxuI3Byb2plY3QtdmVyc2lvbnMge1xuICBtYXJnaW4tdG9wOiAzcmVtO1xuICAuaGVhZGluZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWluLWhlaWdodDogMzBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gICAgLnZlcnNpb25zLXByb2plY3Qge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1pbi1oZWlnaHQ6IDMwcHg7XG4gICAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICAgIGkge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRvcDogNHB4O1xuICAgICAgfVxuICAgICAgc3BhbiB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogNXB4O1xuICAgICAgfVxuICAgICAgQG1lZGlhICN7JHNtYWxsLW9ubHl9IHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuICAgIH1cbiAgICAuYWRkLXZlcnNpb25zIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgIGEge1xuICAgICAgICBAZXh0ZW5kICVwcGd0di1saW5rO1xuICAgICAgfVxuICAgICAgaSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdG9wOiAycHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gICAgICB9XG4gICAgICBAbWVkaWEgI3skc21hbGwtb25seX0ge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cbiAgLnZlcnNpb25zIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgLnZlcnNpb24ge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgfVxuICAgIC52ZXJzaW9uLXZpZGVvLXRodW1ibmFpbCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwcHg7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyICFpbXBvcnRhbnQ7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQgIWltcG9ydGFudDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgfVxuICAgIC5idG4ge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBhZGRpbmctdG9wOiA3cHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogN3B4O1xuICAgICAgYmFja2dyb3VuZDogI0MwQzBDMDtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkYnJhbmQtY29sb3ItMTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuI2ZhcXMtY29udGFpbmVyIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgJGJyYW5kLWNvbG9yLTI7XG59XG5cbiNmYXFzIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uZG93bmxvYWQtYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogJGJyYW5kLWNvbG9yLTE7XG4gIGNvbG9yOiAjZmZmO1xuICBmbG9hdDogcmlnaHQ7XG4gIHBhZGRpbmc6IDE4cHg7XG4gIHBhZGRpbmctdG9wOiAxNXB4O1xuICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgbWFyZ2luLXRvcDogMnJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0cmFuc2l0aW9uOiAwLjJzIGVhc2UtaW4tb3V0IGFsbDtcbiAgdHJhbnNpdGlvbi1kZWxheTogMC4ycztcbiAgd2lkdGg6IDMwMHB4O1xuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkYnJhbmQtY29sb3ItMjtcbiAgICBjb2xvcjogd2hpdGU7XG4gIH1cbiAgQG1lZGlhICN7JHNtYWxsLW9ubHl9IHtcbiAgICBmbG9hdDogaW5oZXJpdDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogOTAlO1xuICAgIG1hcmdpbjogMHB4IGF1dG87XG4gICAgcGFkZGluZzogMjBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgaSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogLTFweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gIH1cbn1cblxuLnN3aXRjaGVyLWhlYWRlciB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRicmFuZC1jb2xvci0yO1xuICBwYWRkaW5nOiA1cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgaDIge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGNvbG9yOiAjNzY3Njc2O1xuICB9XG4gIGkuaS1jbG9zZS1ncmF5IHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMXB4O1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgfVxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2IoMjMwLCAyMzAsIDIzMCk7XG4gICAgaDIge1xuICAgICAgY29sb3I6ICRicmFuZC1jb2xvci0yO1xuICAgIH1cbiAgfVxufVxuXG4uYW5zd2VyLXRleHQge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uYW5zd2VyIHtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgJi5vcGVuZWQge1xuICAgIC5zd2l0Y2hlci1oZWFkZXIge1xuICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgIGJhY2tncm91bmQ6IHJnYigyMzAsIDIzMCwgMjMwKTtcbiAgICAgIGgyIHtcbiAgICAgICAgY29sb3I6ICRicmFuZC1jb2xvci0yO1xuICAgICAgfVxuICAgIH1cbiAgICAuYW5zd2VyLXRleHQge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkYnJhbmQtY29sb3ItMjtcbiAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDMwcHg7XG4gICAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgICAgIHRyYW5zaXRpb246IDAuMnMgZWFzZS1pbi1vdXQgYWxsO1xuICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC4ycztcbiAgICB9XG4gIH1cbn1cbiIsIiN2aWRlbyB7XG4gIGJhY2tncm91bmQ6ICNGM0YzRjM7XG4gIHBhZGRpbmctYm90dG9tOiAycmVtO1xufVxuXG4jdmlkZW8tZGV0YWlscyB7XG4gIC52aWRlby10YWdzIHtcbiAgICBzcGFuIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRicmFuZC1jb2xvci0yO1xuICAgIH1cbiAgICBhIHtcbiAgICAgIGNvbG9yOiAkYnJhbmQtY29sb3ItMjtcbiAgICB9XG4gIH1cbiAgcCB7XG4gICAgY29sb3I6ICM3Nzc3Nzc7XG4gIH1cbn1cblxuI2RldGFpbHMtcmVsYXRlZC12aWRlb3Mge1xuICBtYXJnaW4tdG9wOiAzcmVtO1xuICBtYXJnaW4tYm90dG9tOiAzcmVtO1xuICAudmlkZW8tbGlzdC1oZWFkaW5nLXRpdGxlIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgfVxuICAudmlkZW8tdGh1bWJuYWlsIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgc3BhbiB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBjb2xvcjogIzc3Nzc3NztcbiAgICB9XG4gIH1cbiAgLnNsaWNrLXRyYWNrIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cbiAgLnZpZGVvLXRodW1ibmFpbC13cmFwcGVyIHtcbiAgICB3aWR0aDogMzAwcHg7XG4gIH1cbn1cblxuI3ZpZGVvLW1lZGlhcyB7XG4gIC52aWRlby1saXN0LWhlYWRpbmctdGl0bGUge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICB9XG4gIC5tZWRpYS1maWxlIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICBtYXJnaW4tYm90dG9tOiA3cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLmZpbGUge1xuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgY29sb3I6ICRicmFuZC1jb2xvci0yO1xuICAgIC5maWxlLXR5cGUsIC5maWxlLXNpemUge1xuICAgICAgY29sb3I6ICM3Nzc3Nzc7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cbiAgICBpIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRvcDogM3B4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgIH1cbiAgfVxuICAuZmlsZS1wcm9wZXJ0aWVze1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICB9XG4gIC5tZWRpYS1mb2xkZXIge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICBtYXJnaW4tYm90dG9tOiA3cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gIH1cbiAgLmZvbGRlci1jaGlsZHJlbi1tZWRpYXtcbiAgICBwYWRkaW5nLWxlZnQ6IDJyZW07XG4gICAgLm1lZGlhcy1jaGlsZHJlbiB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGdyZXk7XG4gICAgfVxuICB9XG59XG5cbi5yZWxhdGVkLXZpZGVvLXRpdGxlIHtcbiAgZm9udC1zaXplOiAycmVtO1xuICBjb2xvcjogJGJyYW5kLWNvbG9yLTI7XG4gIG1hcmdpbi10b3A6IDFyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbn1cblxuLnJlbGF0ZWQtdmlkZW8tc3VidGl0bGUge1xuICBjb2xvcjogIzc3Nzc3NztcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbn1cblxuLnNlcGFyYXRvciB7XG4gIHBhZGRpbmctbGVmdDogMC41cmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07XG59XG5cbi5tZWRpYS10aHVtYm5haWwge1xuICBmbG9hdDogcmlnaHQ7XG4gIHdpZHRoOiAxNTBweDtcbiAgaGVpZ2h0OiAxNTBweDtcbn1cbiIsIkBpbXBvcnQgJ2Jhc2Utc3R5bGVzL2Jhc2UnO1xuQGltcG9ydCAnYXBwLXN0eWxlcy9hcHAnO1xuXG5ib2R5LCBodG1sIHtcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XG59XG5cbm1haW4ge1xuICBtaW4taGVpZ2h0OiAxMDAlO1xufVxuXG4uYnRuIHtcbiAgZm9udC1mYW1pbHk6ICRnZW5lcmFsLWZvbnQ7XG4gIHBhZGRpbmc6IDI1cHg7XG4gIHBhZGRpbmctdG9wOiAxNXB4O1xuICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbiAgbWF4LXdpZHRoOiAxNzVweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uYnRuLWJsdWUge1xuICBAZXh0ZW5kIC5idG47XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMTE1LCAxNzgsIDAuODIpO1xuICBjb2xvcjogd2hpdGU7XG4gICY6aG92ZXJ7XG4gICAgY29sb3I6IHdoaXRlc21va2U7XG4gICAgYm9yZGVyLWNvbG9yOiB3aGl0ZXNtb2tlO1xuICB9XG59XG5cbi5idG4tYnJhbmQge1xuICBAZXh0ZW5kIC5idG47XG4gIGJhY2tncm91bmQ6ICRicmFuZC1jb2xvci0xLXRyYW5zO1xuICBjb2xvcjogd2hpdGU7XG4gICY6aG92ZXJ7XG4gICAgY29sb3I6IHdoaXRlc21va2U7XG4gICAgYm9yZGVyLWNvbG9yOiB3aGl0ZXNtb2tlO1xuICB9XG59XG5cbi52aWRlby1saXN0LWhlYWRpbmctdGl0bGUge1xuICBmb250LXNpemU6IDFyZW07XG4gIGNvbG9yOiAkYnJhbmQtY29sb3ItNDtcbiAgcGFkZGluZy1sZWZ0OiAwLjlyZW07XG59XG5cbi8vU2VhcmNoIHBhZ2Vcbi5zZWFyY2gtdGl0bGUge1xuICBjb2xvcjogJGJyYW5kLWNvbG9yLTE7XG4gIHBhZGRpbmc6IDEuNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbn1cblxuLmJ1dHRvbiB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2ZmZjtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICBwYWRkaW5nOiAuODVlbSAuNWVtO1xufVxuXG4uY2xlYXItZmlsdGVycyB7XG4gIGNvbG9yOiAkYnJhbmQtY29sb3ItMjtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuXG4ubmljZS1zZWxlY3Qge1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBoZWlnaHQ6IDI1cHg7XG4gIGxpbmUtaGVpZ2h0OiAyNXB4O1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1pbi13aWR0aDogMTAwJTtcbiAgYm9yZGVyOiAxcHggc29saWQgZ3JleTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgQG1lZGlhICN7JG1lZGl1bS1vbmx5fSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjVyZW07XG4gIH1cbiAgQG1lZGlhICN7JHNtYWxsLW9ubHl9IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAubGlzdCB7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiAxcHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgZ3JleTtcbiAgICBib3JkZXItdG9wOiBub25lO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgQG1lZGlhICN7JHNtYWxsLW9ubHl9IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuICAub3B0aW9uIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIG1pbi1oZWlnaHQ6IDI1cHg7XG4gICAgbGluZS1oZWlnaHQ6IDI1cHg7XG4gICAgQG1lZGlhICN7JG1lZGl1bS1vbmx5fSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbTtcbiAgICB9XG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjOWU5YzljO1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgIH1cbiAgfVxuICAmOmFmdGVyIHtcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJGJyYW5kLWNvbG9yLTE7XG4gICAgYm9yZGVyLXJpZ2h0OiAycHggc29saWQgJGJyYW5kLWNvbG9yLTE7XG4gIH1cbn1cblxuLm5pY2Utc2VsZWN0IC5vcHRpb24uc2VsZWN0ZWQge1xuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjOWU5YzljO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgfVxufVxuXG4udXBsb2FkZWQtZmlsZXMge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctdG9wOiAxMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICNjMmMyYzI7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjYzJjMmMyO1xufVxuXG5cblxuLnJldmVhbCB7XG4gIHBhZGRpbmc6IDMwcHg7XG4gIGJhY2tncm91bmQ6ICNmNWY1ZjU7XG4gIC5yZXZlYWwtdGl0bGUge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgaDMge1xuICAgICAgY29sb3I6ICRicmFuZC1jb2xvci0yO1xuICAgICAgZm9udC1zaXplOiAyNXB4O1xuICAgIH1cbiAgfVxuICBpbWcucmV2ZWFsLWxvZ28ge1xuICAgIHdpZHRoOiA4MHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gIH1cbiAgaW5wdXQge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG4gIC5yZXZlYWwtbG9naW4tZm9ybSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGdyZXk7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIGdyZXk7XG4gICAgcGFkZGluZy10b3A6IDJyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDFyZW07XG4gIH1cbn1cblxuLnRoaW4tYnRuIHtcbiAgcGFkZGluZy10b3A6IDdweDtcbiAgcGFkZGluZy1ib3R0b206IDEycHg7XG59XG5cbi5hZGRVc2VyQnV0dG9uIHtcbiAgd2lkdGg6IDIwJTtcbiAgbWFyZ2luLXRvcDogMnB4O1xuICBwYWRkaW5nLXRvcDogMTBweDtcbiAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgYmFja2dyb3VuZDogI2M0YzRjNDtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCAjYzRjNGM0LCAjN2Q3ZDdkKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCAjYzRjNGM0LCAjN2Q3ZDdkKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW1zLWxpbmVhci1ncmFkaWVudCh0b3AsICNjNGM0YzQsICM3ZDdkN2QpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQodG9wLCAjYzRjNGM0LCAjN2Q3ZDdkKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgI2M0YzRjNCwgIzkyOTI5Mik7XG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMTI7XG4gIC1tb3otYm9yZGVyLXJhZGl1czogMTI7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG5cbi5zb2NpYWwtbWVkaWEtdGlwIHtcbiAgd2lkdGg6IDUwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDYwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbGVmdDogNSU7XG4gIG1pbi1oZWlnaHQ6IDYwcHg7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSk7XG4gIHBhZGRpbmc6IDE1cHg7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgLnRpcC1jbG9zZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiA1cHg7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIHRvcDogMnB4O1xuICB9XG4gIC5zb2NpYWwtbWVkaWEtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cbiAgLmdvb2dsZVBsdXMtYnV0dG9uIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAzcHg7XG4gICAgd2lkdGg6IDYwcHg7XG4gIH1cbiAgJjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyLWxlZnQ6IDEwcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0OiAxMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b206IDEwcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogNDAlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogLTEwcHg7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgfVxufVxuIl19 */
