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;font:inherit;font-size:100%;vertical-align:baseline}html{line-height:1}ol,ul{list-style:none}table{border-collapse:collapse;border-spacing:0}caption,td,th{text-align:left;font-weight:400;vertical-align:middle}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:"";content:none}a img{border:none}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}button{background:none;border:none;cursor:pointer;margin:0;font-size:0;line-height:0;outline:none;width:auto}/*! normalize-scss | MIT/GPLv2 License | bit.ly/normalize-scss */html{font-family:sans-serif;line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}article,aside,footer,header,nav,section{display:block}h1{font-size:2em;margin:.67em 0}figcaption,figure{display:block}figure{margin:1em 40px}hr{box-sizing:content-box;height:0;overflow:visible}main{display:block}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent;-webkit-text-decoration-skip:objects}a:active,a:hover{outline-width:0}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:inherit;font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}dfn{font-style:italic}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}audio,video{display:inline-block}audio:not([controls]){display:none;height:0}img{border-style:none}svg:not(:root){overflow:hidden}button,input,optgroup,select,textarea{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0}button{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}input{overflow:visible}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{box-sizing:border-box;display:table;max-width:100%;padding:0;color:inherit;white-space:normal}progress{display:inline-block;vertical-align:baseline}textarea{overflow:auto}details{display:block}summary{display:list-item}menu{display:block}canvas{display:inline-block}[hidden],template{display:none}.foundation-mq{font-family:"xsmall=0em&small=30em&medium=37.5em&large=64em&xlarge=75em&xxlarge=90em&xxxlarge=100em"}html{font-size:100%}body{margin:0;padding:0;background:#fefefe;font-family:Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;line-height:1.5;color:#0a0a0a;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img{display:inline-block;vertical-align:middle;max-width:100%;height:auto;-ms-interpolation-mode:bicubic}textarea{height:auto;min-height:50px;border-radius:0}select{box-sizing:border-box;width:100%;border-radius:0}.map_canvas embed,.map_canvas img,.map_canvas object,.mqa-display embed,.mqa-display img,.mqa-display object{max-width:none!important}button{padding:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;border-radius:0;background:transparent;line-height:1;cursor:auto}[data-whatinput=mouse] button{outline:0}pre{overflow:auto}button,input,optgroup,select,textarea{font-family:inherit}.is-visible{display:block!important}.is-hidden{display:none!important}.row{max-width:1300px;margin-right:auto;margin-left:auto}.row:after,.row:before{display:table;content:" ";-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-order:1;order:1}.row:after{clear:both}.row.collapse>.column,.row.collapse>.columns{padding-right:0;padding-left:0}.row .row{margin-right:-1.5625rem;margin-left:-1.5625rem}@media print,screen and (min-width:30em){.row .row{margin-right:-1.5625rem;margin-left:-1.5625rem}}@media print,screen and (min-width:37.5em){.row .row{margin-right:-1.5625rem;margin-left:-1.5625rem}}@media print,screen and (min-width:64em){.row .row{margin-right:-3.125rem;margin-left:-3.125rem}}@media screen and (min-width:75em){.row .row{margin-right:-3.125rem;margin-left:-3.125rem}}@media screen and (min-width:90em){.row .row{margin-right:-3.125rem;margin-left:-3.125rem}}@media screen and (min-width:100em){.row .row{margin-right:-3.125rem;margin-left:-3.125rem}}.row .row.collapse{margin-right:0;margin-left:0}.row.expanded{max-width:none}.row.expanded .row{margin-right:auto;margin-left:auto}.row:not(.expanded) .row{max-width:none}.row.gutter-xsmall>.column,.row.gutter-xsmall>.columns{padding-right:1.5625rem;padding-left:1.5625rem}.row.gutter-large>.column,.row.gutter-large>.columns{padding-right:3.125rem;padding-left:3.125rem}.column,.columns{width:100%;float:left;padding-right:1.5625rem;padding-left:1.5625rem}@media print,screen and (min-width:64em){.column,.columns{padding-right:3.125rem;padding-left:3.125rem}}.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{margin-right:0;margin-left:0;padding-right:0;padding-left:0}.xsmall-1{width:8.3333333333%}.xsmall-push-1{position:relative;left:8.3333333333%}.xsmall-pull-1{position:relative;left:-8.3333333333%}.xsmall-offset-0{margin-left:0}.xsmall-2{width:16.6666666667%}.xsmall-push-2{position:relative;left:16.6666666667%}.xsmall-pull-2{position:relative;left:-16.6666666667%}.xsmall-offset-1{margin-left:8.3333333333%}.xsmall-3{width:25%}.xsmall-push-3{position:relative;left:25%}.xsmall-pull-3{position:relative;left:-25%}.xsmall-offset-2{margin-left:16.6666666667%}.xsmall-4{width:33.3333333333%}.xsmall-push-4{position:relative;left:33.3333333333%}.xsmall-pull-4{position:relative;left:-33.3333333333%}.xsmall-offset-3{margin-left:25%}.xsmall-5{width:41.6666666667%}.xsmall-push-5{position:relative;left:41.6666666667%}.xsmall-pull-5{position:relative;left:-41.6666666667%}.xsmall-offset-4{margin-left:33.3333333333%}.xsmall-6{width:50%}.xsmall-push-6{position:relative;left:50%}.xsmall-pull-6{position:relative;left:-50%}.xsmall-offset-5{margin-left:41.6666666667%}.xsmall-7{width:58.3333333333%}.xsmall-push-7{position:relative;left:58.3333333333%}.xsmall-pull-7{position:relative;left:-58.3333333333%}.xsmall-offset-6{margin-left:50%}.xsmall-8{width:66.6666666667%}.xsmall-push-8{position:relative;left:66.6666666667%}.xsmall-pull-8{position:relative;left:-66.6666666667%}.xsmall-offset-7{margin-left:58.3333333333%}.xsmall-9{width:75%}.xsmall-push-9{position:relative;left:75%}.xsmall-pull-9{position:relative;left:-75%}.xsmall-offset-8{margin-left:66.6666666667%}.xsmall-10{width:83.3333333333%}.xsmall-push-10{position:relative;left:83.3333333333%}.xsmall-pull-10{position:relative;left:-83.3333333333%}.xsmall-offset-9{margin-left:75%}.xsmall-11{width:91.6666666667%}.xsmall-push-11{position:relative;left:91.6666666667%}.xsmall-pull-11{position:relative;left:-91.6666666667%}.xsmall-offset-10{margin-left:83.3333333333%}.xsmall-12{width:100%}.xsmall-offset-11{margin-left:91.6666666667%}.xsmall-up-1>.column,.xsmall-up-1>.columns{float:left;width:100%}.xsmall-up-1>.column:nth-of-type(1n),.xsmall-up-1>.columns:nth-of-type(1n){clear:none}.xsmall-up-1>.column:nth-of-type(1n+1),.xsmall-up-1>.columns:nth-of-type(1n+1){clear:both}.xsmall-up-1>.column:last-child,.xsmall-up-1>.columns:last-child{float:left}.xsmall-up-2>.column,.xsmall-up-2>.columns{float:left;width:50%}.xsmall-up-2>.column:nth-of-type(1n),.xsmall-up-2>.columns:nth-of-type(1n){clear:none}.xsmall-up-2>.column:nth-of-type(odd),.xsmall-up-2>.columns:nth-of-type(odd){clear:both}.xsmall-up-2>.column:last-child,.xsmall-up-2>.columns:last-child{float:left}.xsmall-up-3>.column,.xsmall-up-3>.columns{float:left;width:33.3333333333%}.xsmall-up-3>.column:nth-of-type(1n),.xsmall-up-3>.columns:nth-of-type(1n){clear:none}.xsmall-up-3>.column:nth-of-type(3n+1),.xsmall-up-3>.columns:nth-of-type(3n+1){clear:both}.xsmall-up-3>.column:last-child,.xsmall-up-3>.columns:last-child{float:left}.xsmall-up-4>.column,.xsmall-up-4>.columns{float:left;width:25%}.xsmall-up-4>.column:nth-of-type(1n),.xsmall-up-4>.columns:nth-of-type(1n){clear:none}.xsmall-up-4>.column:nth-of-type(4n+1),.xsmall-up-4>.columns:nth-of-type(4n+1){clear:both}.xsmall-up-4>.column:last-child,.xsmall-up-4>.columns:last-child{float:left}.xsmall-up-5>.column,.xsmall-up-5>.columns{float:left;width:20%}.xsmall-up-5>.column:nth-of-type(1n),.xsmall-up-5>.columns:nth-of-type(1n){clear:none}.xsmall-up-5>.column:nth-of-type(5n+1),.xsmall-up-5>.columns:nth-of-type(5n+1){clear:both}.xsmall-up-5>.column:last-child,.xsmall-up-5>.columns:last-child{float:left}.xsmall-up-6>.column,.xsmall-up-6>.columns{float:left;width:16.6666666667%}.xsmall-up-6>.column:nth-of-type(1n),.xsmall-up-6>.columns:nth-of-type(1n){clear:none}.xsmall-up-6>.column:nth-of-type(6n+1),.xsmall-up-6>.columns:nth-of-type(6n+1){clear:both}.xsmall-up-6>.column:last-child,.xsmall-up-6>.columns:last-child{float:left}.xsmall-up-7>.column,.xsmall-up-7>.columns{float:left;width:14.2857142857%}.xsmall-up-7>.column:nth-of-type(1n),.xsmall-up-7>.columns:nth-of-type(1n){clear:none}.xsmall-up-7>.column:nth-of-type(7n+1),.xsmall-up-7>.columns:nth-of-type(7n+1){clear:both}.xsmall-up-7>.column:last-child,.xsmall-up-7>.columns:last-child{float:left}.xsmall-up-8>.column,.xsmall-up-8>.columns{float:left;width:12.5%}.xsmall-up-8>.column:nth-of-type(1n),.xsmall-up-8>.columns:nth-of-type(1n){clear:none}.xsmall-up-8>.column:nth-of-type(8n+1),.xsmall-up-8>.columns:nth-of-type(8n+1){clear:both}.xsmall-up-8>.column:last-child,.xsmall-up-8>.columns:last-child{float:left}.xsmall-collapse>.column,.xsmall-collapse>.columns{padding-right:0;padding-left:0}.expanded.row .xsmall-collapse.row,.xsmall-collapse .row{margin-right:0;margin-left:0}.xsmall-uncollapse>.column,.xsmall-uncollapse>.columns{padding-right:1.5625rem;padding-left:1.5625rem}.xsmall-centered{margin-right:auto;margin-left:auto}.xsmall-centered,.xsmall-centered:last-child:not(:first-child){float:none;clear:both}.xsmall-pull-0,.xsmall-push-0,.xsmall-uncentered{position:static;float:left;margin-right:0;margin-left:0}@media print,screen and (min-width:30em){.small-1{width:8.3333333333%}.small-push-1{position:relative;left:8.3333333333%}.small-pull-1{position:relative;left:-8.3333333333%}.small-offset-0{margin-left:0}.small-2{width:16.6666666667%}.small-push-2{position:relative;left:16.6666666667%}.small-pull-2{position:relative;left:-16.6666666667%}.small-offset-1{margin-left:8.3333333333%}.small-3{width:25%}.small-push-3{position:relative;left:25%}.small-pull-3{position:relative;left:-25%}.small-offset-2{margin-left:16.6666666667%}.small-4{width:33.3333333333%}.small-push-4{position:relative;left:33.3333333333%}.small-pull-4{position:relative;left:-33.3333333333%}.small-offset-3{margin-left:25%}.small-5{width:41.6666666667%}.small-push-5{position:relative;left:41.6666666667%}.small-pull-5{position:relative;left:-41.6666666667%}.small-offset-4{margin-left:33.3333333333%}.small-6{width:50%}.small-push-6{position:relative;left:50%}.small-pull-6{position:relative;left:-50%}.small-offset-5{margin-left:41.6666666667%}.small-7{width:58.3333333333%}.small-push-7{position:relative;left:58.3333333333%}.small-pull-7{position:relative;left:-58.3333333333%}.small-offset-6{margin-left:50%}.small-8{width:66.6666666667%}.small-push-8{position:relative;left:66.6666666667%}.small-pull-8{position:relative;left:-66.6666666667%}.small-offset-7{margin-left:58.3333333333%}.small-9{width:75%}.small-push-9{position:relative;left:75%}.small-pull-9{position:relative;left:-75%}.small-offset-8{margin-left:66.6666666667%}.small-10{width:83.3333333333%}.small-push-10{position:relative;left:83.3333333333%}.small-pull-10{position:relative;left:-83.3333333333%}.small-offset-9{margin-left:75%}.small-11{width:91.6666666667%}.small-push-11{position:relative;left:91.6666666667%}.small-pull-11{position:relative;left:-91.6666666667%}.small-offset-10{margin-left:83.3333333333%}.small-12{width:100%}.small-offset-11{margin-left:91.6666666667%}.small-up-1>.column,.small-up-1>.columns{float:left;width:100%}.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{float:left;width:50%}.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(odd),.small-up-2>.columns:nth-of-type(odd){clear:both}.small-up-2>.column:last-child,.small-up-2>.columns:last-child{float:left}.small-up-3>.column,.small-up-3>.columns{float:left;width:33.3333333333%}.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{float:left;width:25%}.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{float:left;width:20%}.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{float:left;width:16.6666666667%}.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{float:left;width:14.2857142857%}.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{float:left;width:12.5%}.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-right:0;padding-left:0}.expanded.row .small-collapse.row,.small-collapse .row{margin-right:0;margin-left:0}.small-uncollapse>.column,.small-uncollapse>.columns{padding-right:1.5625rem;padding-left:1.5625rem}.small-centered{margin-right:auto;margin-left:auto}.small-centered,.small-centered:last-child:not(:first-child){float:none;clear:both}.small-pull-0,.small-push-0,.small-uncentered{position:static;float:left;margin-right:0;margin-left:0}}@media print,screen and (min-width:37.5em){.medium-1{width:8.3333333333%}.medium-push-1{position:relative;left:8.3333333333%}.medium-pull-1{position:relative;left:-8.3333333333%}.medium-offset-0{margin-left:0}.medium-2{width:16.6666666667%}.medium-push-2{position:relative;left:16.6666666667%}.medium-pull-2{position:relative;left:-16.6666666667%}.medium-offset-1{margin-left:8.3333333333%}.medium-3{width:25%}.medium-push-3{position:relative;left:25%}.medium-pull-3{position:relative;left:-25%}.medium-offset-2{margin-left:16.6666666667%}.medium-4{width:33.3333333333%}.medium-push-4{position:relative;left:33.3333333333%}.medium-pull-4{position:relative;left:-33.3333333333%}.medium-offset-3{margin-left:25%}.medium-5{width:41.6666666667%}.medium-push-5{position:relative;left:41.6666666667%}.medium-pull-5{position:relative;left:-41.6666666667%}.medium-offset-4{margin-left:33.3333333333%}.medium-6{width:50%}.medium-push-6{position:relative;left:50%}.medium-pull-6{position:relative;left:-50%}.medium-offset-5{margin-left:41.6666666667%}.medium-7{width:58.3333333333%}.medium-push-7{position:relative;left:58.3333333333%}.medium-pull-7{position:relative;left:-58.3333333333%}.medium-offset-6{margin-left:50%}.medium-8{width:66.6666666667%}.medium-push-8{position:relative;left:66.6666666667%}.medium-pull-8{position:relative;left:-66.6666666667%}.medium-offset-7{margin-left:58.3333333333%}.medium-9{width:75%}.medium-push-9{position:relative;left:75%}.medium-pull-9{position:relative;left:-75%}.medium-offset-8{margin-left:66.6666666667%}.medium-10{width:83.3333333333%}.medium-push-10{position:relative;left:83.3333333333%}.medium-pull-10{position:relative;left:-83.3333333333%}.medium-offset-9{margin-left:75%}.medium-11{width:91.6666666667%}.medium-push-11{position:relative;left:91.6666666667%}.medium-pull-11{position:relative;left:-91.6666666667%}.medium-offset-10{margin-left:83.3333333333%}.medium-12{width:100%}.medium-offset-11{margin-left:91.6666666667%}.medium-up-1>.column,.medium-up-1>.columns{float:left;width:100%}.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{float:left;width:50%}.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(odd),.medium-up-2>.columns:nth-of-type(odd){clear:both}.medium-up-2>.column:last-child,.medium-up-2>.columns:last-child{float:left}.medium-up-3>.column,.medium-up-3>.columns{float:left;width:33.3333333333%}.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{float:left;width:25%}.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{float:left;width:20%}.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{float:left;width:16.6666666667%}.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{float:left;width:14.2857142857%}.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{float:left;width:12.5%}.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-right:0;padding-left:0}.expanded.row .medium-collapse.row,.medium-collapse .row{margin-right:0;margin-left:0}.medium-uncollapse>.column,.medium-uncollapse>.columns{padding-right:1.5625rem;padding-left:1.5625rem}.medium-centered{margin-right:auto;margin-left:auto}.medium-centered,.medium-centered:last-child:not(:first-child){float:none;clear:both}.medium-pull-0,.medium-push-0,.medium-uncentered{position:static;float:left;margin-right:0;margin-left:0}}@media print,screen and (min-width:64em){.large-1{width:8.3333333333%}.large-push-1{position:relative;left:8.3333333333%}.large-pull-1{position:relative;left:-8.3333333333%}.large-offset-0{margin-left:0}.large-2{width:16.6666666667%}.large-push-2{position:relative;left:16.6666666667%}.large-pull-2{position:relative;left:-16.6666666667%}.large-offset-1{margin-left:8.3333333333%}.large-3{width:25%}.large-push-3{position:relative;left:25%}.large-pull-3{position:relative;left:-25%}.large-offset-2{margin-left:16.6666666667%}.large-4{width:33.3333333333%}.large-push-4{position:relative;left:33.3333333333%}.large-pull-4{position:relative;left:-33.3333333333%}.large-offset-3{margin-left:25%}.large-5{width:41.6666666667%}.large-push-5{position:relative;left:41.6666666667%}.large-pull-5{position:relative;left:-41.6666666667%}.large-offset-4{margin-left:33.3333333333%}.large-6{width:50%}.large-push-6{position:relative;left:50%}.large-pull-6{position:relative;left:-50%}.large-offset-5{margin-left:41.6666666667%}.large-7{width:58.3333333333%}.large-push-7{position:relative;left:58.3333333333%}.large-pull-7{position:relative;left:-58.3333333333%}.large-offset-6{margin-left:50%}.large-8{width:66.6666666667%}.large-push-8{position:relative;left:66.6666666667%}.large-pull-8{position:relative;left:-66.6666666667%}.large-offset-7{margin-left:58.3333333333%}.large-9{width:75%}.large-push-9{position:relative;left:75%}.large-pull-9{position:relative;left:-75%}.large-offset-8{margin-left:66.6666666667%}.large-10{width:83.3333333333%}.large-push-10{position:relative;left:83.3333333333%}.large-pull-10{position:relative;left:-83.3333333333%}.large-offset-9{margin-left:75%}.large-11{width:91.6666666667%}.large-push-11{position:relative;left:91.6666666667%}.large-pull-11{position:relative;left:-91.6666666667%}.large-offset-10{margin-left:83.3333333333%}.large-12{width:100%}.large-offset-11{margin-left:91.6666666667%}.large-up-1>.column,.large-up-1>.columns{float:left;width:100%}.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{float:left;width:50%}.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(odd),.large-up-2>.columns:nth-of-type(odd){clear:both}.large-up-2>.column:last-child,.large-up-2>.columns:last-child{float:left}.large-up-3>.column,.large-up-3>.columns{float:left;width:33.3333333333%}.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{float:left;width:25%}.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{float:left;width:20%}.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{float:left;width:16.6666666667%}.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{float:left;width:14.2857142857%}.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{float:left;width:12.5%}.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-right:0;padding-left:0}.expanded.row .large-collapse.row,.large-collapse .row{margin-right:0;margin-left:0}.large-uncollapse>.column,.large-uncollapse>.columns{padding-right:3.125rem;padding-left:3.125rem}.large-centered{margin-right:auto;margin-left:auto}.large-centered,.large-centered:last-child:not(:first-child){float:none;clear:both}.large-pull-0,.large-push-0,.large-uncentered{position:static;float:left;margin-right:0;margin-left:0}}@media screen and (min-width:75em){.xlarge-1{width:8.3333333333%}.xlarge-push-1{position:relative;left:8.3333333333%}.xlarge-pull-1{position:relative;left:-8.3333333333%}.xlarge-offset-0{margin-left:0}.xlarge-2{width:16.6666666667%}.xlarge-push-2{position:relative;left:16.6666666667%}.xlarge-pull-2{position:relative;left:-16.6666666667%}.xlarge-offset-1{margin-left:8.3333333333%}.xlarge-3{width:25%}.xlarge-push-3{position:relative;left:25%}.xlarge-pull-3{position:relative;left:-25%}.xlarge-offset-2{margin-left:16.6666666667%}.xlarge-4{width:33.3333333333%}.xlarge-push-4{position:relative;left:33.3333333333%}.xlarge-pull-4{position:relative;left:-33.3333333333%}.xlarge-offset-3{margin-left:25%}.xlarge-5{width:41.6666666667%}.xlarge-push-5{position:relative;left:41.6666666667%}.xlarge-pull-5{position:relative;left:-41.6666666667%}.xlarge-offset-4{margin-left:33.3333333333%}.xlarge-6{width:50%}.xlarge-push-6{position:relative;left:50%}.xlarge-pull-6{position:relative;left:-50%}.xlarge-offset-5{margin-left:41.6666666667%}.xlarge-7{width:58.3333333333%}.xlarge-push-7{position:relative;left:58.3333333333%}.xlarge-pull-7{position:relative;left:-58.3333333333%}.xlarge-offset-6{margin-left:50%}.xlarge-8{width:66.6666666667%}.xlarge-push-8{position:relative;left:66.6666666667%}.xlarge-pull-8{position:relative;left:-66.6666666667%}.xlarge-offset-7{margin-left:58.3333333333%}.xlarge-9{width:75%}.xlarge-push-9{position:relative;left:75%}.xlarge-pull-9{position:relative;left:-75%}.xlarge-offset-8{margin-left:66.6666666667%}.xlarge-10{width:83.3333333333%}.xlarge-push-10{position:relative;left:83.3333333333%}.xlarge-pull-10{position:relative;left:-83.3333333333%}.xlarge-offset-9{margin-left:75%}.xlarge-11{width:91.6666666667%}.xlarge-push-11{position:relative;left:91.6666666667%}.xlarge-pull-11{position:relative;left:-91.6666666667%}.xlarge-offset-10{margin-left:83.3333333333%}.xlarge-12{width:100%}.xlarge-offset-11{margin-left:91.6666666667%}.xlarge-up-1>.column,.xlarge-up-1>.columns{float:left;width:100%}.xlarge-up-1>.column:nth-of-type(1n),.xlarge-up-1>.columns:nth-of-type(1n){clear:none}.xlarge-up-1>.column:nth-of-type(1n+1),.xlarge-up-1>.columns:nth-of-type(1n+1){clear:both}.xlarge-up-1>.column:last-child,.xlarge-up-1>.columns:last-child{float:left}.xlarge-up-2>.column,.xlarge-up-2>.columns{float:left;width:50%}.xlarge-up-2>.column:nth-of-type(1n),.xlarge-up-2>.columns:nth-of-type(1n){clear:none}.xlarge-up-2>.column:nth-of-type(odd),.xlarge-up-2>.columns:nth-of-type(odd){clear:both}.xlarge-up-2>.column:last-child,.xlarge-up-2>.columns:last-child{float:left}.xlarge-up-3>.column,.xlarge-up-3>.columns{float:left;width:33.3333333333%}.xlarge-up-3>.column:nth-of-type(1n),.xlarge-up-3>.columns:nth-of-type(1n){clear:none}.xlarge-up-3>.column:nth-of-type(3n+1),.xlarge-up-3>.columns:nth-of-type(3n+1){clear:both}.xlarge-up-3>.column:last-child,.xlarge-up-3>.columns:last-child{float:left}.xlarge-up-4>.column,.xlarge-up-4>.columns{float:left;width:25%}.xlarge-up-4>.column:nth-of-type(1n),.xlarge-up-4>.columns:nth-of-type(1n){clear:none}.xlarge-up-4>.column:nth-of-type(4n+1),.xlarge-up-4>.columns:nth-of-type(4n+1){clear:both}.xlarge-up-4>.column:last-child,.xlarge-up-4>.columns:last-child{float:left}.xlarge-up-5>.column,.xlarge-up-5>.columns{float:left;width:20%}.xlarge-up-5>.column:nth-of-type(1n),.xlarge-up-5>.columns:nth-of-type(1n){clear:none}.xlarge-up-5>.column:nth-of-type(5n+1),.xlarge-up-5>.columns:nth-of-type(5n+1){clear:both}.xlarge-up-5>.column:last-child,.xlarge-up-5>.columns:last-child{float:left}.xlarge-up-6>.column,.xlarge-up-6>.columns{float:left;width:16.6666666667%}.xlarge-up-6>.column:nth-of-type(1n),.xlarge-up-6>.columns:nth-of-type(1n){clear:none}.xlarge-up-6>.column:nth-of-type(6n+1),.xlarge-up-6>.columns:nth-of-type(6n+1){clear:both}.xlarge-up-6>.column:last-child,.xlarge-up-6>.columns:last-child{float:left}.xlarge-up-7>.column,.xlarge-up-7>.columns{float:left;width:14.2857142857%}.xlarge-up-7>.column:nth-of-type(1n),.xlarge-up-7>.columns:nth-of-type(1n){clear:none}.xlarge-up-7>.column:nth-of-type(7n+1),.xlarge-up-7>.columns:nth-of-type(7n+1){clear:both}.xlarge-up-7>.column:last-child,.xlarge-up-7>.columns:last-child{float:left}.xlarge-up-8>.column,.xlarge-up-8>.columns{float:left;width:12.5%}.xlarge-up-8>.column:nth-of-type(1n),.xlarge-up-8>.columns:nth-of-type(1n){clear:none}.xlarge-up-8>.column:nth-of-type(8n+1),.xlarge-up-8>.columns:nth-of-type(8n+1){clear:both}.xlarge-up-8>.column:last-child,.xlarge-up-8>.columns:last-child{float:left}.xlarge-collapse>.column,.xlarge-collapse>.columns{padding-right:0;padding-left:0}.expanded.row .xlarge-collapse.row,.xlarge-collapse .row{margin-right:0;margin-left:0}.xlarge-uncollapse>.column,.xlarge-uncollapse>.columns{padding-right:3.125rem;padding-left:3.125rem}.xlarge-centered{margin-right:auto;margin-left:auto}.xlarge-centered,.xlarge-centered:last-child:not(:first-child){float:none;clear:both}.xlarge-pull-0,.xlarge-push-0,.xlarge-uncentered{position:static;float:left;margin-right:0;margin-left:0}}@media screen and (min-width:90em){.xxlarge-1{width:8.3333333333%}.xxlarge-push-1{position:relative;left:8.3333333333%}.xxlarge-pull-1{position:relative;left:-8.3333333333%}.xxlarge-offset-0{margin-left:0}.xxlarge-2{width:16.6666666667%}.xxlarge-push-2{position:relative;left:16.6666666667%}.xxlarge-pull-2{position:relative;left:-16.6666666667%}.xxlarge-offset-1{margin-left:8.3333333333%}.xxlarge-3{width:25%}.xxlarge-push-3{position:relative;left:25%}.xxlarge-pull-3{position:relative;left:-25%}.xxlarge-offset-2{margin-left:16.6666666667%}.xxlarge-4{width:33.3333333333%}.xxlarge-push-4{position:relative;left:33.3333333333%}.xxlarge-pull-4{position:relative;left:-33.3333333333%}.xxlarge-offset-3{margin-left:25%}.xxlarge-5{width:41.6666666667%}.xxlarge-push-5{position:relative;left:41.6666666667%}.xxlarge-pull-5{position:relative;left:-41.6666666667%}.xxlarge-offset-4{margin-left:33.3333333333%}.xxlarge-6{width:50%}.xxlarge-push-6{position:relative;left:50%}.xxlarge-pull-6{position:relative;left:-50%}.xxlarge-offset-5{margin-left:41.6666666667%}.xxlarge-7{width:58.3333333333%}.xxlarge-push-7{position:relative;left:58.3333333333%}.xxlarge-pull-7{position:relative;left:-58.3333333333%}.xxlarge-offset-6{margin-left:50%}.xxlarge-8{width:66.6666666667%}.xxlarge-push-8{position:relative;left:66.6666666667%}.xxlarge-pull-8{position:relative;left:-66.6666666667%}.xxlarge-offset-7{margin-left:58.3333333333%}.xxlarge-9{width:75%}.xxlarge-push-9{position:relative;left:75%}.xxlarge-pull-9{position:relative;left:-75%}.xxlarge-offset-8{margin-left:66.6666666667%}.xxlarge-10{width:83.3333333333%}.xxlarge-push-10{position:relative;left:83.3333333333%}.xxlarge-pull-10{position:relative;left:-83.3333333333%}.xxlarge-offset-9{margin-left:75%}.xxlarge-11{width:91.6666666667%}.xxlarge-push-11{position:relative;left:91.6666666667%}.xxlarge-pull-11{position:relative;left:-91.6666666667%}.xxlarge-offset-10{margin-left:83.3333333333%}.xxlarge-12{width:100%}.xxlarge-offset-11{margin-left:91.6666666667%}.xxlarge-up-1>.column,.xxlarge-up-1>.columns{float:left;width:100%}.xxlarge-up-1>.column:nth-of-type(1n),.xxlarge-up-1>.columns:nth-of-type(1n){clear:none}.xxlarge-up-1>.column:nth-of-type(1n+1),.xxlarge-up-1>.columns:nth-of-type(1n+1){clear:both}.xxlarge-up-1>.column:last-child,.xxlarge-up-1>.columns:last-child{float:left}.xxlarge-up-2>.column,.xxlarge-up-2>.columns{float:left;width:50%}.xxlarge-up-2>.column:nth-of-type(1n),.xxlarge-up-2>.columns:nth-of-type(1n){clear:none}.xxlarge-up-2>.column:nth-of-type(odd),.xxlarge-up-2>.columns:nth-of-type(odd){clear:both}.xxlarge-up-2>.column:last-child,.xxlarge-up-2>.columns:last-child{float:left}.xxlarge-up-3>.column,.xxlarge-up-3>.columns{float:left;width:33.3333333333%}.xxlarge-up-3>.column:nth-of-type(1n),.xxlarge-up-3>.columns:nth-of-type(1n){clear:none}.xxlarge-up-3>.column:nth-of-type(3n+1),.xxlarge-up-3>.columns:nth-of-type(3n+1){clear:both}.xxlarge-up-3>.column:last-child,.xxlarge-up-3>.columns:last-child{float:left}.xxlarge-up-4>.column,.xxlarge-up-4>.columns{float:left;width:25%}.xxlarge-up-4>.column:nth-of-type(1n),.xxlarge-up-4>.columns:nth-of-type(1n){clear:none}.xxlarge-up-4>.column:nth-of-type(4n+1),.xxlarge-up-4>.columns:nth-of-type(4n+1){clear:both}.xxlarge-up-4>.column:last-child,.xxlarge-up-4>.columns:last-child{float:left}.xxlarge-up-5>.column,.xxlarge-up-5>.columns{float:left;width:20%}.xxlarge-up-5>.column:nth-of-type(1n),.xxlarge-up-5>.columns:nth-of-type(1n){clear:none}.xxlarge-up-5>.column:nth-of-type(5n+1),.xxlarge-up-5>.columns:nth-of-type(5n+1){clear:both}.xxlarge-up-5>.column:last-child,.xxlarge-up-5>.columns:last-child{float:left}.xxlarge-up-6>.column,.xxlarge-up-6>.columns{float:left;width:16.6666666667%}.xxlarge-up-6>.column:nth-of-type(1n),.xxlarge-up-6>.columns:nth-of-type(1n){clear:none}.xxlarge-up-6>.column:nth-of-type(6n+1),.xxlarge-up-6>.columns:nth-of-type(6n+1){clear:both}.xxlarge-up-6>.column:last-child,.xxlarge-up-6>.columns:last-child{float:left}.xxlarge-up-7>.column,.xxlarge-up-7>.columns{float:left;width:14.2857142857%}.xxlarge-up-7>.column:nth-of-type(1n),.xxlarge-up-7>.columns:nth-of-type(1n){clear:none}.xxlarge-up-7>.column:nth-of-type(7n+1),.xxlarge-up-7>.columns:nth-of-type(7n+1){clear:both}.xxlarge-up-7>.column:last-child,.xxlarge-up-7>.columns:last-child{float:left}.xxlarge-up-8>.column,.xxlarge-up-8>.columns{float:left;width:12.5%}.xxlarge-up-8>.column:nth-of-type(1n),.xxlarge-up-8>.columns:nth-of-type(1n){clear:none}.xxlarge-up-8>.column:nth-of-type(8n+1),.xxlarge-up-8>.columns:nth-of-type(8n+1){clear:both}.xxlarge-up-8>.column:last-child,.xxlarge-up-8>.columns:last-child{float:left}.xxlarge-collapse>.column,.xxlarge-collapse>.columns{padding-right:0;padding-left:0}.expanded.row .xxlarge-collapse.row,.xxlarge-collapse .row{margin-right:0;margin-left:0}.xxlarge-uncollapse>.column,.xxlarge-uncollapse>.columns{padding-right:3.125rem;padding-left:3.125rem}.xxlarge-centered{margin-right:auto;margin-left:auto}.xxlarge-centered,.xxlarge-centered:last-child:not(:first-child){float:none;clear:both}.xxlarge-pull-0,.xxlarge-push-0,.xxlarge-uncentered{position:static;float:left;margin-right:0;margin-left:0}}@media screen and (min-width:100em){.xxxlarge-1{width:8.3333333333%}.xxxlarge-push-1{position:relative;left:8.3333333333%}.xxxlarge-pull-1{position:relative;left:-8.3333333333%}.xxxlarge-offset-0{margin-left:0}.xxxlarge-2{width:16.6666666667%}.xxxlarge-push-2{position:relative;left:16.6666666667%}.xxxlarge-pull-2{position:relative;left:-16.6666666667%}.xxxlarge-offset-1{margin-left:8.3333333333%}.xxxlarge-3{width:25%}.xxxlarge-push-3{position:relative;left:25%}.xxxlarge-pull-3{position:relative;left:-25%}.xxxlarge-offset-2{margin-left:16.6666666667%}.xxxlarge-4{width:33.3333333333%}.xxxlarge-push-4{position:relative;left:33.3333333333%}.xxxlarge-pull-4{position:relative;left:-33.3333333333%}.xxxlarge-offset-3{margin-left:25%}.xxxlarge-5{width:41.6666666667%}.xxxlarge-push-5{position:relative;left:41.6666666667%}.xxxlarge-pull-5{position:relative;left:-41.6666666667%}.xxxlarge-offset-4{margin-left:33.3333333333%}.xxxlarge-6{width:50%}.xxxlarge-push-6{position:relative;left:50%}.xxxlarge-pull-6{position:relative;left:-50%}.xxxlarge-offset-5{margin-left:41.6666666667%}.xxxlarge-7{width:58.3333333333%}.xxxlarge-push-7{position:relative;left:58.3333333333%}.xxxlarge-pull-7{position:relative;left:-58.3333333333%}.xxxlarge-offset-6{margin-left:50%}.xxxlarge-8{width:66.6666666667%}.xxxlarge-push-8{position:relative;left:66.6666666667%}.xxxlarge-pull-8{position:relative;left:-66.6666666667%}.xxxlarge-offset-7{margin-left:58.3333333333%}.xxxlarge-9{width:75%}.xxxlarge-push-9{position:relative;left:75%}.xxxlarge-pull-9{position:relative;left:-75%}.xxxlarge-offset-8{margin-left:66.6666666667%}.xxxlarge-10{width:83.3333333333%}.xxxlarge-push-10{position:relative;left:83.3333333333%}.xxxlarge-pull-10{position:relative;left:-83.3333333333%}.xxxlarge-offset-9{margin-left:75%}.xxxlarge-11{width:91.6666666667%}.xxxlarge-push-11{position:relative;left:91.6666666667%}.xxxlarge-pull-11{position:relative;left:-91.6666666667%}.xxxlarge-offset-10{margin-left:83.3333333333%}.xxxlarge-12{width:100%}.xxxlarge-offset-11{margin-left:91.6666666667%}.xxxlarge-up-1>.column,.xxxlarge-up-1>.columns{float:left;width:100%}.xxxlarge-up-1>.column:nth-of-type(1n),.xxxlarge-up-1>.columns:nth-of-type(1n){clear:none}.xxxlarge-up-1>.column:nth-of-type(1n+1),.xxxlarge-up-1>.columns:nth-of-type(1n+1){clear:both}.xxxlarge-up-1>.column:last-child,.xxxlarge-up-1>.columns:last-child{float:left}.xxxlarge-up-2>.column,.xxxlarge-up-2>.columns{float:left;width:50%}.xxxlarge-up-2>.column:nth-of-type(1n),.xxxlarge-up-2>.columns:nth-of-type(1n){clear:none}.xxxlarge-up-2>.column:nth-of-type(odd),.xxxlarge-up-2>.columns:nth-of-type(odd){clear:both}.xxxlarge-up-2>.column:last-child,.xxxlarge-up-2>.columns:last-child{float:left}.xxxlarge-up-3>.column,.xxxlarge-up-3>.columns{float:left;width:33.3333333333%}.xxxlarge-up-3>.column:nth-of-type(1n),.xxxlarge-up-3>.columns:nth-of-type(1n){clear:none}.xxxlarge-up-3>.column:nth-of-type(3n+1),.xxxlarge-up-3>.columns:nth-of-type(3n+1){clear:both}.xxxlarge-up-3>.column:last-child,.xxxlarge-up-3>.columns:last-child{float:left}.xxxlarge-up-4>.column,.xxxlarge-up-4>.columns{float:left;width:25%}.xxxlarge-up-4>.column:nth-of-type(1n),.xxxlarge-up-4>.columns:nth-of-type(1n){clear:none}.xxxlarge-up-4>.column:nth-of-type(4n+1),.xxxlarge-up-4>.columns:nth-of-type(4n+1){clear:both}.xxxlarge-up-4>.column:last-child,.xxxlarge-up-4>.columns:last-child{float:left}.xxxlarge-up-5>.column,.xxxlarge-up-5>.columns{float:left;width:20%}.xxxlarge-up-5>.column:nth-of-type(1n),.xxxlarge-up-5>.columns:nth-of-type(1n){clear:none}.xxxlarge-up-5>.column:nth-of-type(5n+1),.xxxlarge-up-5>.columns:nth-of-type(5n+1){clear:both}.xxxlarge-up-5>.column:last-child,.xxxlarge-up-5>.columns:last-child{float:left}.xxxlarge-up-6>.column,.xxxlarge-up-6>.columns{float:left;width:16.6666666667%}.xxxlarge-up-6>.column:nth-of-type(1n),.xxxlarge-up-6>.columns:nth-of-type(1n){clear:none}.xxxlarge-up-6>.column:nth-of-type(6n+1),.xxxlarge-up-6>.columns:nth-of-type(6n+1){clear:both}.xxxlarge-up-6>.column:last-child,.xxxlarge-up-6>.columns:last-child{float:left}.xxxlarge-up-7>.column,.xxxlarge-up-7>.columns{float:left;width:14.2857142857%}.xxxlarge-up-7>.column:nth-of-type(1n),.xxxlarge-up-7>.columns:nth-of-type(1n){clear:none}.xxxlarge-up-7>.column:nth-of-type(7n+1),.xxxlarge-up-7>.columns:nth-of-type(7n+1){clear:both}.xxxlarge-up-7>.column:last-child,.xxxlarge-up-7>.columns:last-child{float:left}.xxxlarge-up-8>.column,.xxxlarge-up-8>.columns{float:left;width:12.5%}.xxxlarge-up-8>.column:nth-of-type(1n),.xxxlarge-up-8>.columns:nth-of-type(1n){clear:none}.xxxlarge-up-8>.column:nth-of-type(8n+1),.xxxlarge-up-8>.columns:nth-of-type(8n+1){clear:both}.xxxlarge-up-8>.column:last-child,.xxxlarge-up-8>.columns:last-child{float:left}.xxxlarge-collapse>.column,.xxxlarge-collapse>.columns{padding-right:0;padding-left:0}.expanded.row .xxxlarge-collapse.row,.xxxlarge-collapse .row{margin-right:0;margin-left:0}.xxxlarge-uncollapse>.column,.xxxlarge-uncollapse>.columns{padding-right:3.125rem;padding-left:3.125rem}.xxxlarge-centered{margin-right:auto;margin-left:auto}.xxxlarge-centered,.xxxlarge-centered:last-child:not(:first-child){float:none;clear:both}.xxxlarge-pull-0,.xxxlarge-push-0,.xxxlarge-uncentered{position:static;float:left;margin-right:0;margin-left:0}}.column-block{margin-bottom:3.125rem}.column-block>:last-child{margin-bottom:0}@media print,screen and (min-width:64em){.column-block{margin-bottom:6.25rem}.column-block>:last-child{margin-bottom:0}}.bg_cinder,.cs_page article section.brute,.cs_page article section.cinder{background-color:#09080e}.bg_brute{background-color:#141424}.bg_sisal{background-color:#d7cdc2}.como{color:#4b6c58}.gray{color:#bcbdc1}.pink{color:#f9acc3}.mint{color:#4dcea6}.torch{color:#ff4141}@font-face{font-family:haptik;src:url(../fonts/GT-Haptik-Regular.eot);src:local("☺"),url(../fonts/GT-Haptik-Regular.woff) format("woff"),url(../fonts/GT-Haptik-Regular.ttf) format("truetype"),url(../fonts/GT-Haptik-Regular.svg) format("svg");font-weight:300;font-style:normal}@font-face{font-family:haptik;src:url(../fonts/GT-Haptik-Medium.eot);src:local("☺"),url(../fonts/GT-Haptik-Medium.woff) format("woff"),url(../fonts/GT-Haptik-Medium.ttf) format("truetype"),url(../fonts/GT-Haptik-Medium.svg) format("svg");font-weight:400;font-style:normal}@font-face{font-family:haptik;src:url(../fonts/GTHaptikRegular-Oblique.woff2) format("woff2"),url(../fonts/GTHaptikRegular-Oblique.woff) format("woff"),url(../fonts/GTHaptikRegular-Oblique.ttf) format("truetype");font-weight:300;font-style:italic}@font-face{font-family:GT Sectra Fine Book;src:url(../fonts/GTSectraFine-Book.woff2) format("woff2"),url(../fonts/GTSectraFine-Book.woff) format("woff"),url(../fonts/GTSectraFine-Book.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:GT Sectra Fine;src:url(../fonts/GTSectraFine-Bold.woff2) format("woff2"),url(../fonts/GTSectraFine-Bold.woff) format("woff"),url(../fonts/GTSectraFine-Bold.ttf) format("truetype");font-weight:700;font-style:normal}.haptik-med{font-family:haptik,Helvetica,sans-serif;font-weight:400}.careers-page.careers-entry .entry-intro .container small,.haptik-oblique,.haptik-reg,.work-page .client-filters .filters-options button{font-family:haptik,Helvetica,sans-serif;font-weight:300}.haptik-oblique{font-style:italic}.fs-mega{font-size:120px;font-size:12rem;line-height:.85}.careers-page.careers-entry .entry-intro .container h1,.fs-xlarge{font-size:66px;font-size:6.6rem;line-height:1}.careers-page .openings .position-loc,.careers-page .openings .position-name,.fs-large{font-size:40px;font-size:4rem;line-height:1.25}.fs-med-large{font-size:35px;font-size:3.5rem;line-height:1.2}.fs-med,.work-page .client-filters .filters-active .filters-container button,.work-page .client-filters .filters-options button{font-size:20px;font-size:2rem;line-height:1.5}.fs-reg{font-size:16px;font-size:1.6rem;line-height:1.6}.fs-small{font-size:15px;font-size:1.5rem}.fs-tiny{font-size:11px;font-size:1.1rem}html{font-size:62.5%}body{font-size:20px;font-size:2rem;color:#141424;font-family:haptik,Helvetica,sans-serif;font-style:normal;font-weight:300}@media screen and (min-width:800px){body{font-size:17px;font-size:1.7rem}}h1,h2,h3,h4,h5,h6{font-size:35px;font-size:3.5rem;font-family:GT Sectra Fine,Georgia,serif;font-weight:600;line-height:1;-webkit-font-feature-settings:"kern" 1,"liga" 1,"pnum" 1,"ss01" 1;font-feature-settings:"kern" 1,"liga" 1,"pnum" 1,"ss01" 1;margin:0}h1{font-size:80px;font-size:8rem}@media screen and (max-width:1200px){h1{font-size:60px;font-size:6rem}}@media screen and (max-width:950px){h1{font-size:40px;font-size:4rem}}@media screen and (max-width:600px){h1{font-size:30px;font-size:3rem}}h2{font-size:40px;font-size:4rem}small{font-size:15px;font-size:1.5rem;font-family:Roboto Mono,monospace;line-height:1.6}.about_page .section_header h2,.roboto_headline{font-size:12px;font-size:1.2rem;font-family:Roboto Mono,monospace;font-weight:400;text-transform:uppercase}blockquote:not(.twitter-tweet){color:#141424;font-size:33px;font-size:3.3rem;font-style:italic;line-height:1.333333333;margin:8rem 0;padding-left:70px;padding-right:70px;position:relative}blockquote:not(.twitter-tweet):before{background-image:url(../images/icons/quotes.svg);background-size:contain;background-repeat:no-repeat;display:block;content:"";width:30px;height:28px;position:absolute;top:12px;left:0}blockquote:not(.twitter-tweet) span{color:#cdcdcd;display:block;font-size:20px;font-size:2rem;line-height:2}@media screen and (max-width:600px){blockquote:not(.twitter-tweet){font-size:25px;font-size:2.5rem;padding-left:4rem;padding-right:0}blockquote:not(.twitter-tweet):before{width:20px}blockquote:not(.twitter-tweet) span{font-size:15px;font-size:1.5rem}}.bore{color:#f1f1f3}.orange{color:#fd8b09}.brute{color:#141424}.bsod{color:#2747ed}.amaranth{color:#ea2e49}.coop_page article section.copy .events_module,.coop_page article section.copy .yt_module .cover_image,.cs_page .gallery_module .item,.cs_page .hero_section .hero_media,.cs_page .hero_section figure:not(.hero_media) .cover_image,.cs_page article section.inline_img.full_bleed,.filter_grid .callout .container,.homepage section.left_content .media_item .content,.next_page_link,.space_page .three_cards .card,.universal_header.yt_video .yt_module .cover_image{background-size:cover;background-repeat:no-repeat;background-position:50%}.coop_page article section.copy .double_cards .card .text p,.coop_page article section.copy .events_module .text p,.cs_page .copy ul li p,.cs_page .copy ul li p:first-of-type,.universal_header .centered_content p,p,ul li{font-size:20px;font-size:2rem;line-height:1.5;font-family:haptik,Helvetica,sans-serif;font-style:normal;font-weight:300;-webkit-font-feature-settings:"kern" 1,"liga" 1,"pnum" 1,"ss01" 1;font-feature-settings:"kern" 1,"liga" 1,"pnum" 1,"ss01" 1}@media screen and (max-width:600px){.coop_page article section.copy .double_cards .card .text p,.coop_page article section.copy .events_module .text p,.cs_page .copy ul li p,.cs_page .copy ul li p:first-of-type,.universal_header .centered_content p,p,ul li{font-size:18px;font-size:1.8rem}}@keyframes a{0%{opacity:1}to{opacity:0}}@keyframes b{0%{transform:translateY(80px)}to{transform:translateY(0)}}@keyframes c{0%{transform:translateY(0)}to{transform:translateY(-100%)}}@keyframes d{0%{transform:translateY(-100%)}to{transform:translateY(0)}}@keyframes e{0%{opacity:0}to{opacity:1}}@keyframes f{0%{transform:translateX(50px);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes g{0%{transform:translateX(0);opacity:1}to{transform:translateX(-50px);opacity:0}}@keyframes h{0%{transform:translateX(-50px);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes i{0%{transform:translateX(0);opacity:1}to{transform:translateX(50px);opacity:0}}html{box-sizing:border-box}*,:after,:before{box-sizing:inherit}*{-webkit-tap-highlight-color:rgba(0,0,0,0)}body{background-color:#000}body.overlay_active{position:fixed;top:0;left:0;height:100%;overflow:hidden;width:100%}.overscroll_blocker{display:block;height:100px;position:fixed;left:0;top:0;width:100%;z-index:2}main{background-color:#fff;border-bottom:hsla(0,0%,100%,.15);z-index:2}main,section,section>.row{position:relative}section.iron{background-color:#d8d7d6}@media screen and (max-width:1350px){.master_row,.related_links .row,.site_header,section:not(.client-sort){padding-left:5rem;padding-right:5rem}}@media screen and (max-width:800px){.master_row,.related_links .row,.site_header,section:not(.client-sort){padding-left:3rem;padding-right:3rem}}@media screen and (max-width:600px){.master_row,.related_links .row,.site_header,section:not(.client-sort){padding-left:2rem;padding-right:2rem}}figure{margin:0}a{text-decoration:none}.universal_header{background-position:50%;background-size:cover;background-repeat:no-repeat;min-height:600px;height:100.5vh;position:relative;overflow:hidden}.universal_header .row{height:100%;position:relative}.universal_header .centered_content{left:0;max-width:700px;position:absolute;top:50%;transform:translateY(-61%)}.universal_header .centered_content p{margin:3rem 0 0}.universal_header .centered_content .btn{margin-top:3rem}.universal_header .centered_content.short{max-width:450px}.universal_header .centered_content.wide{max-width:735px}.universal_header .centered_content.extra_wide{max-width:940px}.universal_header .centered_content.thirds{max-width:33.3333%}.universal_header .description{font-family:Roboto Mono,monospace;font-size:11px;font-size:1.1rem;font-weight:400;position:absolute;bottom:75px;left:0;text-transform:uppercase}.universal_header .description span{display:block}.universal_header .description span:last-of-type{color:#bcbdc1}.universal_header h1{font-size:66px;font-size:6.6rem;font-size:6vw;font-family:GT Sectra Fine,Georgia,serif;font-weight:400;line-height:.97}@media screen and (min-width:1200px){.universal_header h1{font-size:66px;font-size:6.6rem}}@media screen and (max-width:906px){.universal_header h1{font-size:7vw;max-width:90%}}@media screen and (max-width:600px){.universal_header h1{font-size:45px;font-size:4.5rem;max-width:none}}@media screen and (max-width:400px){.universal_header h1{font-size:35px;font-size:3.5rem}}.universal_header.yt_video{padding:0}.universal_header.yt_video .yt_module{border-radius:3px;margin:0;max-height:95vh;position:relative;width:100%;z-index:1}.universal_header.yt_video .yt_module:before{display:block;content:"";width:100%;padding-top:56.25%}.universal_header.yt_video .yt_module>.content{position:absolute;top:0;left:0;right:0;bottom:0}.universal_header.yt_video .yt_module .content{border-radius:3px}.universal_header.yt_video .yt_module .content .holder{height:100%;overflow:hidden;position:relative;width:100%}.universal_header.yt_video .yt_module iframe{border-radius:3px;display:hidden;min-width:100%;min-height:100%;width:auto;height:auto;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.universal_header.yt_video .yt_module .cover_image{border-radius:3px;position:absolute;height:100%;width:100%;z-index:2}.universal_header.yt_video .yt_module .controller{bottom:0;left:0;position:absolute;width:100%;z-index:3}.universal_header.yt_video .yt_module .controller .play_btn{background-color:#fff;border-radius:3px;color:#141424;cursor:pointer;display:inline-block;font-size:15px;font-size:1.5rem;font-family:Roboto Mono,monospace;padding:2rem;position:relative;left:50%;transform:translateX(-50%) translateY(50%);margin:0 auto;transition:transform .2s ease-in-out;transform-origin:0 center}.universal_header.yt_video .yt_module .controller .play_btn:hover{transform:scale(1.04) translateX(-50%) translateY(50%)}.universal_header.yt_video .yt_module .controller .play_btn em{color:#bcbdc1}.universal_header.yt_video .yt_module .controller .play_btn.blue{background-color:#0a00aa;color:#fff}.universal_header.yt_video .yt_module .controller .play_btn.blue svg path{fill:#fff}.universal_header.yt_video .yt_module .controller .play_btn.blue span{color:#847ee3}.next_page_link.image .type{padding-bottom:10.5rem}.next_page_link a{display:block;height:100%;width:100%}.next_page_link a:hover .type h6 svg{right:0}.next_page_link a:hover figure{transform:translateY(-10px)}.next_page_link .row{overflow:hidden;padding-bottom:0;position:relative}.next_page_link .type{color:#fff;margin:0 auto;padding-top:5.8rem;padding-bottom:6.5rem;width:55%}.next_page_link .type h6{color:#fff;font-family:GT Sectra Fine,Georgia,serif;font-size:33px;font-size:3.3rem;padding-right:8rem;position:relative}.next_page_link .type h6 svg{position:absolute;right:10px;top:13px;transition:right .2s ease-in}.next_page_link .type h6 svg path{fill:#fff}.next_page_link figure{height:5.5rem;position:absolute;left:0;bottom:0;transition:transform .2s ease-in}.next_page_link figure,.next_page_link figure img{border-top-left-radius:3px;border-top-right-radius:3px}@media screen and (max-width:800px){.next_page_link .type{width:100%}.next_page_link .type h6{font-size:30px;font-size:3rem}.next_page_link .type h6 svg{top:8px}}section:not(.site_header) p a:not(.btn){color:#141424;display:inline-block;position:relative;transition:color .2s ease;text-decoration:none}section:not(.site_header) p a:not(.btn):after{background-color:#141424;content:"";height:3px;left:0;position:absolute;transition:all .2s ease;top:calc(100% - 2px);width:100%}section:not(.site_header) p a:not(.btn):hover{color:#db544b}section:not(.site_header) p a:not(.btn):hover:after{background-color:#db544b}section:not(.site_header) p a:not(.btn)[target=_blank]{background-color:hsla(30,2%,84%,.6);color:#141424;display:inline;box-shadow:8px 0 0 hsla(30,2%,84%,.6),-8px 0 0 hsla(30,2%,84%,.6);padding:5px 0;transition:all .2s ease}section:not(.site_header) p a:not(.btn)[target=_blank]:after{display:none}section:not(.site_header) p a:not(.btn)[target=_blank]:hover{box-shadow:15px 0 0 hsla(30,2%,84%,.6),-15px 0 0 hsla(30,2%,84%,.6);padding:7px 0}section:not(.site_header) p a:not(.btn).no-style{border-bottom:none}hr{background:#e0e0e7;border:none;height:1px}strong{font-weight:600}.fadeout{animation:a .3s ease forwards!important}.fadein{animation:e .3s ease forwards!important}.vertical-center{transform:translateY(-50%);position:absolute;top:50%}.clearfix:after,.clearfix:before{display:table;content:" ";-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-order:1;order:1}.clearfix:after{clear:both}.float-left{float:left}.float-right{float:right}.bg_gray{background-color:#f5f5f5}.illuminati_divider{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;margin-top:10rem}.illuminati_divider figure{opacity:0;transition:opacity .3s ease-out;width:20px}.illuminati_divider figure svg{width:100%}.illuminati_divider .bar{-ms-flex:1;flex:1;height:1px;transform:translateY(11px)}.illuminati_divider .bar:after,.illuminati_divider .bar:before{display:table;content:" ";-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-order:1;order:1}.illuminati_divider .bar:after{clear:both}.illuminati_divider .bar .filler{background-color:#2747ed;height:100%;width:0;transition:width .4s ease-out .2s}.illuminati_divider .bar.left{padding-right:1.5rem}.illuminati_divider .bar.left .filler{float:right}.illuminati_divider .bar.right{padding-left:1.5rem}.illuminati_divider .bar.right .filler{float:left}.illuminati_divider.animate_me figure{opacity:1}.illuminati_divider.animate_me .bar .filler{width:100%}.action-btn{transition:all .2s ease;border-radius:50%;display:block;position:fixed;bottom:25px;right:25px;height:45px;width:45px;z-index:110}.action-btn:hover{transform:scale(1.05)}.action-btn svg{display:none;position:absolute;top:0;left:0;height:auto;width:100%}.action-btn svg.burg circle{fill:#141424}.action-btn svg.burg path,.action-btn svg.close-btn circle{fill:#f1f1f3}.action-btn svg.close-btn path,.action-btn svg.cs-close-btn circle{fill:#141424}.action-btn svg.cs-close-btn path{fill:#f1f1f3}.action-btn svg.email path.circle{fill:#ea2e49}.action-btn svg.email path.symbol{fill:#141424}.action-btn svg.eye .circle{fill:#fd8b09}.action-btn svg.eye .stroke{stroke:#f1f1f3}.action-btn.burg .burg,.action-btn.chart .chart,.action-btn.cs-close .cs-close-btn,.action-btn.email .email,.action-btn.eye .eye,.action-btn.nav-open .close-btn{display:block}@media screen and (min-width:800px){.action-btn{display:none}}.articles_next_module{padding-bottom:7rem}.articles_next_module>.row{border-bottom:1px solid #f6f6f6;border-top:1px solid #f6f6f6;display:-ms-flexbox;display:flex}.articles_next_module .future,.articles_next_module .today{-ms-flex:1;flex:1}.articles_next_module .future a,.articles_next_module .today a{-webkit-backface-visibility:hidden;backface-visibility:hidden;display:block;height:100%;padding-bottom:6rem;padding-top:6rem;position:relative;transition:all .2s ease-in-out;width:100%;perspective:3000}.articles_next_module .future a:after,.articles_next_module .future a:before,.articles_next_module .today a:after,.articles_next_module .today a:before{display:table;content:" ";-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-order:1;order:1}.articles_next_module .future a:after,.articles_next_module .today a:after{clear:both}.articles_next_module .future a:hover h6,.articles_next_module .today a:hover h6{color:#fd8b09;transform:scale(1.02)}.articles_next_module .future span,.articles_next_module .today span{color:#bcbdc1;font-family:Roboto Mono,monospace;font-size:15px;font-size:1.5rem}.articles_next_module .future h6,.articles_next_module .today h6{color:#141424;font-size:30px;font-size:3rem;font-weight:300;transform:scale(1);transition:all .2s ease-in-out}.articles_next_module .today{border-right:1px solid #f6f6f6}.articles_next_module .today a{padding-right:5rem}.articles_next_module .today span{float:left}.articles_next_module .today h6{float:right;transform-origin:center right;width:60%}.articles_next_module .future a{padding-left:5rem}.articles_next_module .future h6{float:left;transform-origin:center left;width:60%}.articles_next_module .future span{float:right}@media screen and (max-width:800px){.articles_next_module .future a,.articles_next_module .today a{padding:3rem}.articles_next_module .future span,.articles_next_module .today span{display:block;float:none;margin-bottom:1.5rem}.articles_next_module .future h6,.articles_next_module .today h6{float:none;font-size:20px;font-size:2rem;line-height:1.3;width:100%}}.btn{display:inline-block;border:2px solid #141424;color:#141424;min-width:23rem;position:relative;font-family:GT Sectra Fine,Georgia,serif;font-size:20px;font-size:2rem;text-align:center;transition:all .2s ease;text-transform:none!important;z-index:2}@media screen and (max-width:600px){.btn{font-size:16px;font-size:1.6rem}}.btn span{display:inline-block;padding:1.7rem 0 1.9rem 2.5rem;position:relative;width:100%;z-index:2}.btn:after{background-color:#141424;content:"";top:100%;left:50%;display:block;height:5px;position:absolute;transform:translateX(-50%);transition:all .2s ease-out;width:96%;z-index:-1}.btn:hover{transform:translateY(2px)}.btn:hover:after{height:4px;width:98%}.btn.orange{border-color:#fd8b09;color:#fd8b09}.btn.orange figure svg path{stroke:#fd8b09}.btn.orange figure svg ellipse{fill:#fd8b09}.btn.orange:after{background-color:#fd8b09}.btn.blue{background:transparent;border-color:#2747ed;color:#2747ed}.btn.blue figure svg path{stroke:#2747ed}.btn.blue figure svg ellipse{fill:#2747ed}.btn.blue:after{background-color:#2747ed}.btn.darkblue{background:transparent;border-color:#0a00aa;color:#0a00aa}.btn.darkblue span{color:#0a00aa!important}.btn.darkblue figure svg ellipse,.btn.darkblue figure svg path{fill:#0a00aa}.btn.darkblue:after{background-color:#0a00aa}.btn.white{color:#fff;border-color:#fff}.btn.white figure svg path{stroke:#fff}.btn.white figure svg ellipse{fill:#fff}.btn.white:after{background-color:#fff}.btn.flat_westar{background-color:#dcd9d2;border-bottom-left-radius:3px;border-bottom-right-radius:3px;border-color:transparent;color:#fff}.btn.flat_westar figure svg path{stroke:#fff}.btn.flat_westar figure svg ellipse{fill:#fff}.btn.flat_westar:after{background-color:transparent;display:none}.btn.btn-icon{position:relative}.btn.btn-icon figure{display:block;left:2.5rem;height:auto;line-height:0;position:relative;margin:0;padding:0;position:absolute;top:50%;transform:translateY(-50%);z-index:2}@media screen and (max-width:600px){.btn.btn-icon figure{left:2rem}}.btn.btn-icon figure svg{width:100%}.btn.btn-icon figure svg ellipse,.btn.btn-icon figure svg path{transition:all .2s ease}.btn.btn-icon.btn-eye figure{width:27px}.btn.btn-icon.btn-pencil{padding-left:4rem;padding-right:2.5rem}.btn.btn-icon.btn-pencil figure{left:2rem;width:23px}.btn.btn-icon.btn-hand figure{width:12px}.site_footer{font-size:15px;font-size:1.5rem;bottom:0;color:#fff;line-height:1.7;position:fixed;z-index:1}.site_footer,.site_footer:before{background-color:#000;left:0;width:100%}.site_footer:before{display:block;content:"";height:50px;position:absolute;top:-50px}.site_footer>.row{padding-bottom:70px;padding-top:70px}@media screen and (max-width:1350px){.site_footer>.row{padding-left:50px;padding-right:50px}}@media screen and (max-width:800px){.site_footer>.row{padding-bottom:11rem;padding-left:30px;padding-right:30px}}@media screen and (max-width:600px){.site_footer>.row{padding-left:20px;padding-right:20px}}@media screen and (max-width:400px){.site_footer>.row{padding-bottom:3rem}}.site_footer .primary{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between}.site_footer .primary .col{width:calc(33.333333333% - 33.333333333px)}.site_footer .primary .col.news_signup{position:relative}@media screen and (max-width:800px){.site_footer .primary{-ms-flex-direction:column;flex-direction:column}.site_footer .primary .col{max-width:auto;padding-right:0;padding-bottom:4rem;width:100%}}@media screen and (max-width:400px){.site_footer .primary .col{padding-bottom:2rem}}.site_footer strong,.site_footer strong a{color:#76757d;display:block;font-family:Roboto Mono,monospace;font-size:12px;font-size:1.2rem;font-weight:400;letter-spacing:1px;margin-bottom:2rem;text-transform:uppercase}@media screen and (max-width:800px){.site_footer strong,.site_footer strong a{margin-bottom:1rem}}.site_footer a{color:#d8d7d6;border-bottom:none;transition:all .2s ease}.site_footer a:before{border:none!important}.site_footer a:hover{color:#db544b}.site_footer p span{display:block}.site_footer a,.site_footer p,.site_footer span{color:#d8d7d6;font-family:GT Sectra Fine Book,Georgia,serif;font-size:18px;font-size:1.8rem;line-height:1.7}.site_footer form .form-row{position:relative}.site_footer form #email{background-color:transparent;border:2px solid #333351;color:#d8d7d6;padding:15px;font-family:GT Sectra Fine Book,Georgia,serif;font-size:18px;font-size:1.8rem;width:100%}.site_footer form #email:-ms-input-placeholder{color:#d8d7d6}.site_footer form #email::placeholder{color:#d8d7d6}.site_footer form button{cursor:pointer;display:block;position:absolute;top:18px;right:18px;width:27px;overflow:hidden}.site_footer form button svg{width:100%}.site_footer form button svg path{transition:all .2s ease}.site_footer form button:hover{transform:translateY(0)}.site_footer form button:hover svg path{stroke:#d8d7d6}.site_footer form #message{color:#bcbdc1;font-size:14px;font-size:1.4rem;font-family:Roboto Mono,monospace}.site_footer form #message p{margin:0;padding:2rem 0 0}.site_footer form #message.error p{color:#db544b}.site_footer form #message.success p{color:#c0c9d7}.site_footer .sub-footer{color:#76757d;margin-top:50px;padding:0}@media screen and (max-width:800px){.site_footer .sub-footer{margin-top:2rem}}@media screen and (max-width:400px){.site_footer .sub-footer{margin-top:0}}.site_footer .sub-footer .copyright{float:left}@media screen and (max-width:400px){.site_footer .sub-footer .copyright{float:none}}.site_footer .sub-footer .social_links{float:right}.site_footer .sub-footer .social_links li{display:inline-block;color:#76757d;margin-left:2rem}.site_footer .sub-footer .social_links li a{color:#76757d}.site_footer .sub-footer .social_links li a:hover{color:#fff}@media screen and (max-width:400px){.site_footer .sub-footer .social_links{display:block;float:none;margin-left:0}.site_footer .sub-footer .social_links li:first-of-type{margin-left:0}}.site_footer .sub-footer .optional{display:none}.site_footer .sub-footer a,.site_footer .sub-footer small{color:#76757d;font-family:Roboto Mono,monospace;font-size:12px;font-size:1.2rem;text-transform:uppercase;letter-spacing:1px}.filter_grid .master_row{background-color:#fff}.filter_grid .master_row>.row{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-flow:row;flex-flow:row;padding-top:10rem;padding-bottom:10rem}.filter_grid .master_row>.row:after,.filter_grid .master_row>.row:before{display:none}@media screen and (min-width:800px) and (max-width:950px){.filter_grid .master_row>.row{padding-top:7rem;padding-bottom:7rem}}@media screen and (max-width:800px){.filter_grid .master_row>.row{display:block;padding-top:0;padding-bottom:0}}.filter_grid .grid-item{width:calc(33.333% - 25px)}.filter_grid .grid-item a{background-image:none}@media screen and (min-width:800px) and (max-width:950px){.filter_grid .grid-item{width:calc(33.333% - 13.333333px)}}@media screen and (max-width:800px){.filter_grid .grid-item{width:100%}}.filter_grid .client{padding:0 0 9rem}@media screen and (min-width:800px) and (max-width:950px){.filter_grid .client{padding-bottom:4rem}}@media screen and (max-width:600px){.filter_grid .client{padding-bottom:6rem}}.filter_grid .client a{display:block;color:#141424}.filter_grid .client a figure{position:relative;background-position:50%;background-repeat:no-repeat;background-size:auto 105%;border-radius:3px;transition:all .2s ease-in-out}.filter_grid .client a figure:before{display:block;content:"";width:100%;padding-top:100%}.filter_grid .client a figure>.content{position:absolute;top:0;left:0;right:0;bottom:0}@media screen and (max-width:800px){.filter_grid .client a figure.mobile_cover{background-size:cover;background-position:50%}.filter_grid .client a figure.bottom_left{background-position:0 100%}.filter_grid .client a figure.bottom_center{background-position:bottom}.filter_grid .client a figure.bottom_skanska{background-position:19% bottom}}.filter_grid .client a h2{font-size:13px;font-size:1.3rem;font-weight:400;font-family:Roboto Mono,monospace;display:block;line-height:1.2;position:relative;text-transform:uppercase;transition:color .2s ease}@media screen and (min-width:800px) and (max-width:950px){.filter_grid .client a h2{font-size:14px;font-size:1.4rem}}.filter_grid .client a h2 span{color:#bcbdc1;display:block;padding-right:10px}.filter_grid .client a p{color:#141424;font-family:GT Sectra Fine Book,Georgia,serif;font-size:33px;font-size:3.3rem;margin:3rem 0 0;line-height:1.06;height:90px}@media screen and (min-width:800px) and (max-width:950px){.filter_grid .client a p{font-size:28px;font-size:2.8rem;height:130px}}@media screen and (min-width:950px) and (max-width:1200px){.filter_grid .client a p{height:130px}}@media screen and (max-width:800px){.filter_grid .client a p{height:auto;margin-bottom:3rem}}@media screen and (max-width:400px){.filter_grid .client a p{font-size:30px;font-size:3rem}}.filter_grid .client a:hover{border-bottom:none}.filter_grid .client a:hover figure{background-size:auto 110%}.filter_grid .client small{font-size:12.6px;font-size:1.26rem;color:#bcbdc1;font-family:Roboto Mono,monospace;font-weight:400;letter-spacing:.0625em}.filter_grid .callout{overflow:hidden;position:relative}.filter_grid .callout .container{background-image:url(../images/work/grid/how_we_work.jpg);background-color:#dcd9d2;border-top-left-radius:3px;border-top-right-radius:3px;height:calc(100% - 193px);padding:0;position:relative;width:100%}.filter_grid .callout .btn.btn-icon{left:0;bottom:12rem;position:absolute;width:100%}@media screen and (max-width:800px){.filter_grid .callout{padding:5rem 0}.filter_grid .callout .container{position:relative}.filter_grid .callout .container:before{display:block;content:"";width:100%;padding-top:100%}.filter_grid .callout .container>.content{position:absolute;top:0;left:0;right:0;bottom:0}.filter_grid .callout .btn.btn-icon{bottom:auto;left:auto;position:relative;transform:none;top:auto;margin-top:1rem}}.filter_grid .double{width:calc(66.66666% - 25px)}@media screen and (min-width:800px){.filter_grid .double p{max-width:60%}}.filter_grid .double a figure{position:relative}.filter_grid .double a figure:before{display:block;content:"";width:100%;padding-top:48.2921083628%}.filter_grid .double a figure>.content{position:absolute;top:0;left:0;right:0;bottom:0}@media screen and (min-width:800px) and (max-width:950px){.filter_grid .double{width:calc(66.66666% - 10px)}.filter_grid .double a figure{position:relative}.filter_grid .double a figure:before{display:block;content:"";width:100%;padding-top:48.8810365135%}.filter_grid .double a figure>.content{position:absolute;top:0;left:0;right:0;bottom:0}}@media screen and (max-width:800px){.filter_grid .double{-ms-flex:none;flex:none;width:100%}.filter_grid .double a figure{position:relative}.filter_grid .double a figure:before{display:block;content:"";width:100%;padding-top:100%}.filter_grid .double a figure>.content{position:absolute;top:0;left:0;right:0;bottom:0}}.site_header{height:80px;overflow:hidden;padding-right:0;width:100%;z-index:50}@media screen and (max-width:800px){.site_header{position:absolute;top:0;left:0}}@media screen and (min-width:800px){.site_header{left:0;position:fixed;top:0;transition:height .4s ease-out;transform:translateY(0)}}@media screen and (min-width:800px){.site_header.uppy{animation:c .2s ease forwards}}@media screen and (min-width:800px){.site_header.downy{animation:d .2s ease forwards}}@media screen and (min-width:800px){.site_header.headroom--pinned.uppy{animation:d .2s ease forwards;z-index:2000}}@media screen and (min-width:800px){.site_header.headroom--not-top .logo .logo_link svg path{fill:#141424!important}.site_header.headroom--not-top .site_nav ul li a{color:#141424!important}.site_header.headroom--not-top .site_nav ul li.current a,.site_header.headroom--not-top .site_nav ul li a:hover{color:#bcbdc1!important}.site_header.headroom--not-top .frost{opacity:1}}.site_header .frost{background-color:#fff;height:120%;width:120%;top:-5%;left:-5%;opacity:0;overflow:hidden;position:absolute;transition:opacity .2s ease;z-index:-1}@media screen and (max-width:800px){.site_header .frost{display:none}}.site_header>.row{height:100%}@media screen and (min-width:800px){.site_header>.row{position:relative}}.site_header .logo{display:block;height:100%;position:relative;width:120px}@media screen and (min-width:800px){.site_header .logo{left:0;position:absolute;top:0}}.site_header .logo .logo_link{color:#141424;display:inline-block;left:0;position:absolute;top:50%;transform:translateY(-50%)}.site_header .logo .logo_link:after,.site_header .logo .logo_link:before{display:table;content:" ";-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-order:1;order:1}.site_header .logo .logo_link:after{clear:both}.site_header .logo .logo_link svg{display:block;float:left;position:relative;transform:translateX(-5px);width:8rem}.site_header .logo .logo_link svg path{fill:#141424;transition:all .2s ease}.site_header .logo .logo_link .wordmark{display:none;float:left;font-size:20px;font-size:2rem;font-weight:600;letter-spacing:-.5px;line-height:16px}.site_header .logo .logo_link:hover svg path{fill:#fd8b09}.site_header .site_nav{color:#141424;position:absolute;right:0;top:50%;transform:translateY(-50%)}.site_header .site_nav .nav_list{display:inline-block}.site_header .site_nav .nav_list li{display:inline-block;margin:0 0 0 3.5rem}.site_header .site_nav .nav_list li a{color:#141424;font-family:GT Sectra Fine Book,Georgia,serif;font-size:18px;font-size:1.8rem;font-weight:400;letter-spacing:.5px;position:relative;transition:all .2s ease-out}.site_header .site_nav .nav_list li.current a,.site_header .site_nav .nav_list li a:hover{color:#bcbdc1}.site_header .site_nav .nav_list li.current a:hover{border-bottom:none}@media screen and (max-width:1350px){.site_header .site_nav{right:50px}}@media screen and (max-width:800px){.site_header .site_nav{display:none}}.mobile_menu{bottom:30px;display:none;height:6rem;position:fixed;right:30px;width:6rem;z-index:1000}.mobile_menu svg{left:0;position:absolute;top:0}.mobile_menu .burg{z-index:2}.mobile_menu .burg circle{fill:#141424;transition:all .2s ease}.mobile_menu .burg path{fill:#fff;transition:all .2s ease}.mobile_menu .close_burg{display:none;z-index:1}.mobile_menu .close_burg circle{fill:#fff}.mobile_menu .close_burg path{fill:#141424}.mobile_menu.lightup .burg circle{fill:#f1f1f3}.mobile_menu.lightup .burg path{fill:#141424}.mobile_menu.active .burg{display:none;z-index:1}.mobile_menu.active .close_burg{display:block;z-index:2}@media screen and (max-width:800px){.mobile_menu{display:block}}.contact_page .site_header .site_nav ul li a{color:#141424}.contact_page .site_header .site_nav ul li.current a,.contact_page .site_header .site_nav ul li a:hover{color:#5e6b79}.command-page .site_header .logo .logo_link svg path{fill:#fff}.command-page .site_header .site_nav ul li a{color:#fff}.command-page .site_header .site_nav ul li.current a,.command-page .site_header .site_nav ul li a:hover{color:#5e6b79}.work-page .site_header .logo .logo_link svg path{fill:#141424}.work-page .site_header .site_nav ul li a{color:#141424}.work-page .site_header .site_nav ul li.current a,.work-page .site_header .site_nav ul li a:hover{color:#bcbdc1}.dark_nav .site_header .logo .logo_link svg path{fill:#fff}.dark_nav .site_header .site_nav ul li a{color:#fff}.dark_nav .site_header .site_nav ul li.current a,.dark_nav .site_header .site_nav ul li a:hover{color:#dbdbdb}.light_nav .site_header .logo .logo_link svg path{fill:#141424}.light_nav .site_header .site_nav ul li a{color:#141424}.light_nav .site_header .site_nav ul li.current a,.light_nav .site_header .site_nav ul li a:hover{color:#5e6b79}.nav_open{overflow:hidden}.nav_open .site_header{background-color:transparent;position:fixed;top:0;left:0;height:100%}.nav_open .site_header .logo{height:80px;z-index:6}.nav_open .site_header .logo .logo_link svg path{fill:#fff!important}.nav_open .site_header .site_nav{background-color:#141424;display:block;position:fixed;left:0;height:100%;right:auto;transform:none;top:0;width:100%}.nav_open .site_header .site_nav ul{display:block;left:2.5rem;padding-left:0;position:absolute;top:50%;transform:translateY(-50%)}.nav_open .site_header .site_nav ul li{display:block;opacity:0;margin-left:0;animation:f .3s ease-out forwards}.nav_open .site_header .site_nav ul li:first-child{animation-delay:.2s}.nav_open .site_header .site_nav ul li:nth-child(2){animation-delay:.25s}.nav_open .site_header .site_nav ul li:nth-child(3){animation-delay:.3s}.nav_open .site_header .site_nav ul li:nth-child(4){animation-delay:.35s}.nav_open .site_header .site_nav ul li:nth-child(5){animation-delay:.4s}.nav_open .site_header .site_nav ul li a{color:#fff!important;font-size:40px;font-size:4rem}.nav_open .site_header .site_nav ul li.current a{color:#db544b!important}.news_stream>.row{max-width:1260px}.news_stream .stream_grid{padding:0;position:relative}.news_stream .item{display:block;margin-bottom:60px}.news_stream .item .cat{color:#bcbdc1;display:block;font-family:Roboto Mono,monospace;font-size:11px;font-size:1.1rem}.news_stream .item .cat a{color:#bcbdc1}.news_stream .item h2,.news_stream .item h3,.news_stream .item h4,.news_stream .item h5{color:#141424;line-height:1.4;font-weight:300;font-size:30px;font-size:3rem;transition:color .2s ease}@media screen and (max-width:800px){.news_stream .item h2,.news_stream .item h3,.news_stream .item h4,.news_stream .item h5{font-size:25px;font-size:2.5rem}}.news_stream .item a:hover h2,.news_stream .item a:hover h3,.news_stream .item a:hover h4,.news_stream .item a:hover h5{color:#fd8b09}.news_stream .item a:hover figure.poster{background-size:auto 110%}.news_stream .item figure.poster{position:relative;background-position:50%;background-size:auto 105%;background-repeat:no-repeat;margin-bottom:0;transition:all .2s ease-in-out}.news_stream .item figure.poster:before{display:block;content:"";width:100%;padding-top:100%}.news_stream .item figure.poster>.content{position:absolute;top:0;left:0;right:0;bottom:0}.news_stream .item .cat,.news_stream .item .category{font-size:13px;font-size:1.3rem;color:#bcbdc1;display:inline-block;margin-bottom:2rem;font-weight:400;font-family:Roboto Mono,monospace}.news_stream .item h4{line-height:1.4;font-size:30px;font-size:3rem}@media screen and (max-width:800px){.news_stream .item h4{font-size:25px;font-size:2.5rem}}.news_stream .item.primary{width:100%}@media print,screen and (min-width:64em){.news_stream .item.primary{width:66%}}.news_stream .item.secondary{width:100%}@media print,screen and (min-width:30em){.news_stream .item.secondary{width:50%;width:calc(50% - 25px)}}@media print,screen and (min-width:64em){.news_stream .item.secondary{width:33.333%;width:calc(33.333% - 33.333333333px)}}.news_stream .item.casestudy .interior{background-color:#000;color:#fff;height:100%;padding:6rem;text-align:center}@media print,screen and (min-width:30em){.news_stream .item.casestudy .interior{padding:6rem 8rem}}@media print,screen and (min-width:37.5em){.news_stream .item.casestudy .interior{padding:6rem 15rem}}.news_stream .item.casestudy h3{color:#fff;margin:6rem 0}.news_stream .item.casestudy .cat,.news_stream .item.casestudy .cat a{color:#fff}.news_stream .item.partner_news figure{margin:0 0 22px;padding:0}.news_stream .item.partner_news figure img{width:100%}.news_stream .item.partner_news h4{margin-bottom:3rem;padding-right:3rem}.news_stream .item.partner_news .cat{margin-top:2rem}.news_stream .item.job .interior{border-top:6px solid #fd8b09;border-bottom:6px solid #fd8b09;color:#fd8b09;padding:4rem 0}.news_stream .item.job .friends-logo{margin:0;width:20px}.news_stream .item.job .friends-logo svg{width:100%}.news_stream .item.job .friends-logo svg path{fill:#fd8b09}.news_stream .item.job h5{margin:2.5rem 0}.news_stream .item.job .cat{margin:2.5rem 0 0}.news_stream .item.external_link h4{background-image:url(../images/icons/icon-outbound.svg);background-position:right 7px;background-repeat:no-repeat;background-size:19px}.news-page .news_intro{padding-top:65px}.news-page .news_intro .holder{padding-left:25%;padding-bottom:7rem}@media screen and (max-width:950px){.news-page .news_intro .holder{padding-left:0;margin-top:130px}}@media screen and (max-width:600px){.news-page .news_intro .holder{margin-top:50px;padding-bottom:9rem}}.news-page .news_intro h1{line-height:1.2;margin:0;padding-right:30%}.news-page .news_intro h1 span{display:block;font-weight:300}@media screen and (min-width:1200px){.news-page .news_intro h1{padding-right:35%;font-size:40px;font-size:4rem}}@media screen and (max-width:950px){.news-page .news_intro h1{padding-right:15%}}.news-page .news_stream{padding-bottom:10rem}.news-page .news_stream .item.secondary{width:100%}@media print,screen and (min-width:30em){.news-page .news_stream .item.secondary{width:50%;width:calc(50% - 25px)}}@media print,screen and (min-width:64em){.news-page .news_stream .item.secondary{width:33.3333%;width:calc(33.333% - 33.333333333px)}}.related_links{background-color:#fff;color:#141424}.related_links .link_container{position:relative}.related_links .link_container:after,.related_links .link_container:before{display:table;content:" ";-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-order:1;order:1}.related_links .link_container:after{clear:both}.related_links .link{display:block;float:left;width:50%}.related_links .link figure{position:relative;max-height:450px}.related_links .link figure:before{display:block;content:"";width:100%;padding-top:100%}.related_links .link figure>.content{position:absolute;top:0;left:0;right:0;bottom:0}.related_links .link figure .content{background-size:102% auto;background-position:50%;background-repeat:no-repeat;transition:all .2s ease-in-out}.related_links .link:hover figure .content{background-size:104% auto}.related_links .row{display:-ms-flexbox;display:flex}.related_links .row:after,.related_links .row:before{display:none}.related_links .row .copy{color:#141424;padding:6rem 0;position:relative;width:50%}.related_links .row .copy .subject{color:#bcbdc1;display:block;float:left;font-family:Roboto Mono,monospace;font-size:13px;font-size:1.3rem;line-height:2.1}.related_links .row .copy p{font-size:30px;font-size:3rem;float:left;line-height:1.2;transition:all .2s ease-in-out;transform:scale(1);width:calc(100% - 170px)}.related_links .row .copy:first-child{padding-right:7rem}.related_links .row .copy:first-child p{float:right;transform-origin:center right}.related_links .row .copy:first-child:after{background-color:#d8d7d6;content:"";right:-1px;top:0;position:absolute;height:100%;width:1px}.related_links .row .copy:last-child{padding-left:7rem}.related_links .row .copy:last-child .subject{float:right}.related_links .row .copy:last-child p{transform-origin:center left}.related_links .row .copy:hover p{color:#fd8b09;transform:scale(1.02)}@media screen and (max-width:800px){.related_links .row .copy{padding:4rem 3rem}.related_links .row .copy:last-child{padding-left:3rem}.related_links .row .copy:first-child{padding-right:3rem}.related_links .row .copy .subject,.related_links .row .copy p{display:block;float:none!important;width:100%}.related_links .row .copy .subject{margin-bottom:2rem}}@media screen and (max-width:800px){.related_links .row .copy{padding:3rem 2rem}.related_links .row .copy:last-child{padding-left:2rem}.related_links .row .copy:first-child{padding-right:2rem}.related_links .row .copy p{font-size:20px;font-size:2rem}}.slick-slider{box-sizing:border-box;-webkit-touch-callout:none;-webkit-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,.slick-slider{position:relative;display:block}.slick-list{overflow:hidden;margin:0;padding:0}.slick-list:focus{outline:none}.slick-list.dragging{cursor:pointer;cursor:hand}.slick-slider .slick-list,.slick-slider .slick-track{transform:translateZ(0)}.slick-track{position:relative;left:0;top:0;display:block;margin-left:auto;margin-right:auto}.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}[data-aos][data-aos][data-aos-duration="50"],body[data-aos-duration="50"] [data-aos]{transition-duration:50ms}[data-aos][data-aos][data-aos-delay="50"],body[data-aos-delay="50"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="50"].aos-animate,body[data-aos-delay="50"] [data-aos].aos-animate{transition-delay:50ms}[data-aos][data-aos][data-aos-duration="100"],body[data-aos-duration="100"] [data-aos]{transition-duration:.1s}[data-aos][data-aos][data-aos-delay="100"],body[data-aos-delay="100"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="100"].aos-animate,body[data-aos-delay="100"] [data-aos].aos-animate{transition-delay:.1s}[data-aos][data-aos][data-aos-duration="150"],body[data-aos-duration="150"] [data-aos]{transition-duration:.15s}[data-aos][data-aos][data-aos-delay="150"],body[data-aos-delay="150"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="150"].aos-animate,body[data-aos-delay="150"] [data-aos].aos-animate{transition-delay:.15s}[data-aos][data-aos][data-aos-duration="200"],body[data-aos-duration="200"] [data-aos]{transition-duration:.2s}[data-aos][data-aos][data-aos-delay="200"],body[data-aos-delay="200"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="200"].aos-animate,body[data-aos-delay="200"] [data-aos].aos-animate{transition-delay:.2s}[data-aos][data-aos][data-aos-duration="250"],body[data-aos-duration="250"] [data-aos]{transition-duration:.25s}[data-aos][data-aos][data-aos-delay="250"],body[data-aos-delay="250"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="250"].aos-animate,body[data-aos-delay="250"] [data-aos].aos-animate{transition-delay:.25s}[data-aos][data-aos][data-aos-duration="300"],body[data-aos-duration="300"] [data-aos]{transition-duration:.3s}[data-aos][data-aos][data-aos-delay="300"],body[data-aos-delay="300"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="300"].aos-animate,body[data-aos-delay="300"] [data-aos].aos-animate{transition-delay:.3s}[data-aos][data-aos][data-aos-duration="350"],body[data-aos-duration="350"] [data-aos]{transition-duration:.35s}[data-aos][data-aos][data-aos-delay="350"],body[data-aos-delay="350"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="350"].aos-animate,body[data-aos-delay="350"] [data-aos].aos-animate{transition-delay:.35s}[data-aos][data-aos][data-aos-duration="400"],body[data-aos-duration="400"] [data-aos]{transition-duration:.4s}[data-aos][data-aos][data-aos-delay="400"],body[data-aos-delay="400"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="400"].aos-animate,body[data-aos-delay="400"] [data-aos].aos-animate{transition-delay:.4s}[data-aos][data-aos][data-aos-duration="450"],body[data-aos-duration="450"] [data-aos]{transition-duration:.45s}[data-aos][data-aos][data-aos-delay="450"],body[data-aos-delay="450"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="450"].aos-animate,body[data-aos-delay="450"] [data-aos].aos-animate{transition-delay:.45s}[data-aos][data-aos][data-aos-duration="500"],body[data-aos-duration="500"] [data-aos]{transition-duration:.5s}[data-aos][data-aos][data-aos-delay="500"],body[data-aos-delay="500"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="500"].aos-animate,body[data-aos-delay="500"] [data-aos].aos-animate{transition-delay:.5s}[data-aos][data-aos][data-aos-duration="550"],body[data-aos-duration="550"] [data-aos]{transition-duration:.55s}[data-aos][data-aos][data-aos-delay="550"],body[data-aos-delay="550"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="550"].aos-animate,body[data-aos-delay="550"] [data-aos].aos-animate{transition-delay:.55s}[data-aos][data-aos][data-aos-duration="600"],body[data-aos-duration="600"] [data-aos]{transition-duration:.6s}[data-aos][data-aos][data-aos-delay="600"],body[data-aos-delay="600"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="600"].aos-animate,body[data-aos-delay="600"] [data-aos].aos-animate{transition-delay:.6s}[data-aos][data-aos][data-aos-duration="650"],body[data-aos-duration="650"] [data-aos]{transition-duration:.65s}[data-aos][data-aos][data-aos-delay="650"],body[data-aos-delay="650"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="650"].aos-animate,body[data-aos-delay="650"] [data-aos].aos-animate{transition-delay:.65s}[data-aos][data-aos][data-aos-duration="700"],body[data-aos-duration="700"] [data-aos]{transition-duration:.7s}[data-aos][data-aos][data-aos-delay="700"],body[data-aos-delay="700"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="700"].aos-animate,body[data-aos-delay="700"] [data-aos].aos-animate{transition-delay:.7s}[data-aos][data-aos][data-aos-duration="750"],body[data-aos-duration="750"] [data-aos]{transition-duration:.75s}[data-aos][data-aos][data-aos-delay="750"],body[data-aos-delay="750"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="750"].aos-animate,body[data-aos-delay="750"] [data-aos].aos-animate{transition-delay:.75s}[data-aos][data-aos][data-aos-duration="800"],body[data-aos-duration="800"] [data-aos]{transition-duration:.8s}[data-aos][data-aos][data-aos-delay="800"],body[data-aos-delay="800"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="800"].aos-animate,body[data-aos-delay="800"] [data-aos].aos-animate{transition-delay:.8s}[data-aos][data-aos][data-aos-duration="850"],body[data-aos-duration="850"] [data-aos]{transition-duration:.85s}[data-aos][data-aos][data-aos-delay="850"],body[data-aos-delay="850"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="850"].aos-animate,body[data-aos-delay="850"] [data-aos].aos-animate{transition-delay:.85s}[data-aos][data-aos][data-aos-duration="900"],body[data-aos-duration="900"] [data-aos]{transition-duration:.9s}[data-aos][data-aos][data-aos-delay="900"],body[data-aos-delay="900"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="900"].aos-animate,body[data-aos-delay="900"] [data-aos].aos-animate{transition-delay:.9s}[data-aos][data-aos][data-aos-duration="950"],body[data-aos-duration="950"] [data-aos]{transition-duration:.95s}[data-aos][data-aos][data-aos-delay="950"],body[data-aos-delay="950"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="950"].aos-animate,body[data-aos-delay="950"] [data-aos].aos-animate{transition-delay:.95s}[data-aos][data-aos][data-aos-duration="1000"],body[data-aos-duration="1000"] [data-aos]{transition-duration:1s}[data-aos][data-aos][data-aos-delay="1000"],body[data-aos-delay="1000"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1000"].aos-animate,body[data-aos-delay="1000"] [data-aos].aos-animate{transition-delay:1s}[data-aos][data-aos][data-aos-duration="1050"],body[data-aos-duration="1050"] [data-aos]{transition-duration:1.05s}[data-aos][data-aos][data-aos-delay="1050"],body[data-aos-delay="1050"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1050"].aos-animate,body[data-aos-delay="1050"] [data-aos].aos-animate{transition-delay:1.05s}[data-aos][data-aos][data-aos-duration="1100"],body[data-aos-duration="1100"] [data-aos]{transition-duration:1.1s}[data-aos][data-aos][data-aos-delay="1100"],body[data-aos-delay="1100"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1100"].aos-animate,body[data-aos-delay="1100"] [data-aos].aos-animate{transition-delay:1.1s}[data-aos][data-aos][data-aos-duration="1150"],body[data-aos-duration="1150"] [data-aos]{transition-duration:1.15s}[data-aos][data-aos][data-aos-delay="1150"],body[data-aos-delay="1150"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1150"].aos-animate,body[data-aos-delay="1150"] [data-aos].aos-animate{transition-delay:1.15s}[data-aos][data-aos][data-aos-duration="1200"],body[data-aos-duration="1200"] [data-aos]{transition-duration:1.2s}[data-aos][data-aos][data-aos-delay="1200"],body[data-aos-delay="1200"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1200"].aos-animate,body[data-aos-delay="1200"] [data-aos].aos-animate{transition-delay:1.2s}[data-aos][data-aos][data-aos-duration="1250"],body[data-aos-duration="1250"] [data-aos]{transition-duration:1.25s}[data-aos][data-aos][data-aos-delay="1250"],body[data-aos-delay="1250"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1250"].aos-animate,body[data-aos-delay="1250"] [data-aos].aos-animate{transition-delay:1.25s}[data-aos][data-aos][data-aos-duration="1300"],body[data-aos-duration="1300"] [data-aos]{transition-duration:1.3s}[data-aos][data-aos][data-aos-delay="1300"],body[data-aos-delay="1300"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1300"].aos-animate,body[data-aos-delay="1300"] [data-aos].aos-animate{transition-delay:1.3s}[data-aos][data-aos][data-aos-duration="1350"],body[data-aos-duration="1350"] [data-aos]{transition-duration:1.35s}[data-aos][data-aos][data-aos-delay="1350"],body[data-aos-delay="1350"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1350"].aos-animate,body[data-aos-delay="1350"] [data-aos].aos-animate{transition-delay:1.35s}[data-aos][data-aos][data-aos-duration="1400"],body[data-aos-duration="1400"] [data-aos]{transition-duration:1.4s}[data-aos][data-aos][data-aos-delay="1400"],body[data-aos-delay="1400"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1400"].aos-animate,body[data-aos-delay="1400"] [data-aos].aos-animate{transition-delay:1.4s}[data-aos][data-aos][data-aos-duration="1450"],body[data-aos-duration="1450"] [data-aos]{transition-duration:1.45s}[data-aos][data-aos][data-aos-delay="1450"],body[data-aos-delay="1450"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1450"].aos-animate,body[data-aos-delay="1450"] [data-aos].aos-animate{transition-delay:1.45s}[data-aos][data-aos][data-aos-duration="1500"],body[data-aos-duration="1500"] [data-aos]{transition-duration:1.5s}[data-aos][data-aos][data-aos-delay="1500"],body[data-aos-delay="1500"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1500"].aos-animate,body[data-aos-delay="1500"] [data-aos].aos-animate{transition-delay:1.5s}[data-aos][data-aos][data-aos-duration="1550"],body[data-aos-duration="1550"] [data-aos]{transition-duration:1.55s}[data-aos][data-aos][data-aos-delay="1550"],body[data-aos-delay="1550"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1550"].aos-animate,body[data-aos-delay="1550"] [data-aos].aos-animate{transition-delay:1.55s}[data-aos][data-aos][data-aos-duration="1600"],body[data-aos-duration="1600"] [data-aos]{transition-duration:1.6s}[data-aos][data-aos][data-aos-delay="1600"],body[data-aos-delay="1600"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1600"].aos-animate,body[data-aos-delay="1600"] [data-aos].aos-animate{transition-delay:1.6s}[data-aos][data-aos][data-aos-duration="1650"],body[data-aos-duration="1650"] [data-aos]{transition-duration:1.65s}[data-aos][data-aos][data-aos-delay="1650"],body[data-aos-delay="1650"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1650"].aos-animate,body[data-aos-delay="1650"] [data-aos].aos-animate{transition-delay:1.65s}[data-aos][data-aos][data-aos-duration="1700"],body[data-aos-duration="1700"] [data-aos]{transition-duration:1.7s}[data-aos][data-aos][data-aos-delay="1700"],body[data-aos-delay="1700"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1700"].aos-animate,body[data-aos-delay="1700"] [data-aos].aos-animate{transition-delay:1.7s}[data-aos][data-aos][data-aos-duration="1750"],body[data-aos-duration="1750"] [data-aos]{transition-duration:1.75s}[data-aos][data-aos][data-aos-delay="1750"],body[data-aos-delay="1750"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1750"].aos-animate,body[data-aos-delay="1750"] [data-aos].aos-animate{transition-delay:1.75s}[data-aos][data-aos][data-aos-duration="1800"],body[data-aos-duration="1800"] [data-aos]{transition-duration:1.8s}[data-aos][data-aos][data-aos-delay="1800"],body[data-aos-delay="1800"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1800"].aos-animate,body[data-aos-delay="1800"] [data-aos].aos-animate{transition-delay:1.8s}[data-aos][data-aos][data-aos-duration="1850"],body[data-aos-duration="1850"] [data-aos]{transition-duration:1.85s}[data-aos][data-aos][data-aos-delay="1850"],body[data-aos-delay="1850"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1850"].aos-animate,body[data-aos-delay="1850"] [data-aos].aos-animate{transition-delay:1.85s}[data-aos][data-aos][data-aos-duration="1900"],body[data-aos-duration="1900"] [data-aos]{transition-duration:1.9s}[data-aos][data-aos][data-aos-delay="1900"],body[data-aos-delay="1900"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1900"].aos-animate,body[data-aos-delay="1900"] [data-aos].aos-animate{transition-delay:1.9s}[data-aos][data-aos][data-aos-duration="1950"],body[data-aos-duration="1950"] [data-aos]{transition-duration:1.95s}[data-aos][data-aos][data-aos-delay="1950"],body[data-aos-delay="1950"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1950"].aos-animate,body[data-aos-delay="1950"] [data-aos].aos-animate{transition-delay:1.95s}[data-aos][data-aos][data-aos-duration="2000"],body[data-aos-duration="2000"] [data-aos]{transition-duration:2s}[data-aos][data-aos][data-aos-delay="2000"],body[data-aos-delay="2000"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2000"].aos-animate,body[data-aos-delay="2000"] [data-aos].aos-animate{transition-delay:2s}[data-aos][data-aos][data-aos-duration="2050"],body[data-aos-duration="2050"] [data-aos]{transition-duration:2.05s}[data-aos][data-aos][data-aos-delay="2050"],body[data-aos-delay="2050"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2050"].aos-animate,body[data-aos-delay="2050"] [data-aos].aos-animate{transition-delay:2.05s}[data-aos][data-aos][data-aos-duration="2100"],body[data-aos-duration="2100"] [data-aos]{transition-duration:2.1s}[data-aos][data-aos][data-aos-delay="2100"],body[data-aos-delay="2100"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2100"].aos-animate,body[data-aos-delay="2100"] [data-aos].aos-animate{transition-delay:2.1s}[data-aos][data-aos][data-aos-duration="2150"],body[data-aos-duration="2150"] [data-aos]{transition-duration:2.15s}[data-aos][data-aos][data-aos-delay="2150"],body[data-aos-delay="2150"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2150"].aos-animate,body[data-aos-delay="2150"] [data-aos].aos-animate{transition-delay:2.15s}[data-aos][data-aos][data-aos-duration="2200"],body[data-aos-duration="2200"] [data-aos]{transition-duration:2.2s}[data-aos][data-aos][data-aos-delay="2200"],body[data-aos-delay="2200"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2200"].aos-animate,body[data-aos-delay="2200"] [data-aos].aos-animate{transition-delay:2.2s}[data-aos][data-aos][data-aos-duration="2250"],body[data-aos-duration="2250"] [data-aos]{transition-duration:2.25s}[data-aos][data-aos][data-aos-delay="2250"],body[data-aos-delay="2250"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2250"].aos-animate,body[data-aos-delay="2250"] [data-aos].aos-animate{transition-delay:2.25s}[data-aos][data-aos][data-aos-duration="2300"],body[data-aos-duration="2300"] [data-aos]{transition-duration:2.3s}[data-aos][data-aos][data-aos-delay="2300"],body[data-aos-delay="2300"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2300"].aos-animate,body[data-aos-delay="2300"] [data-aos].aos-animate{transition-delay:2.3s}[data-aos][data-aos][data-aos-duration="2350"],body[data-aos-duration="2350"] [data-aos]{transition-duration:2.35s}[data-aos][data-aos][data-aos-delay="2350"],body[data-aos-delay="2350"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2350"].aos-animate,body[data-aos-delay="2350"] [data-aos].aos-animate{transition-delay:2.35s}[data-aos][data-aos][data-aos-duration="2400"],body[data-aos-duration="2400"] [data-aos]{transition-duration:2.4s}[data-aos][data-aos][data-aos-delay="2400"],body[data-aos-delay="2400"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2400"].aos-animate,body[data-aos-delay="2400"] [data-aos].aos-animate{transition-delay:2.4s}[data-aos][data-aos][data-aos-duration="2450"],body[data-aos-duration="2450"] [data-aos]{transition-duration:2.45s}[data-aos][data-aos][data-aos-delay="2450"],body[data-aos-delay="2450"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2450"].aos-animate,body[data-aos-delay="2450"] [data-aos].aos-animate{transition-delay:2.45s}[data-aos][data-aos][data-aos-duration="2500"],body[data-aos-duration="2500"] [data-aos]{transition-duration:2.5s}[data-aos][data-aos][data-aos-delay="2500"],body[data-aos-delay="2500"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2500"].aos-animate,body[data-aos-delay="2500"] [data-aos].aos-animate{transition-delay:2.5s}[data-aos][data-aos][data-aos-duration="2550"],body[data-aos-duration="2550"] [data-aos]{transition-duration:2.55s}[data-aos][data-aos][data-aos-delay="2550"],body[data-aos-delay="2550"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2550"].aos-animate,body[data-aos-delay="2550"] [data-aos].aos-animate{transition-delay:2.55s}[data-aos][data-aos][data-aos-duration="2600"],body[data-aos-duration="2600"] [data-aos]{transition-duration:2.6s}[data-aos][data-aos][data-aos-delay="2600"],body[data-aos-delay="2600"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2600"].aos-animate,body[data-aos-delay="2600"] [data-aos].aos-animate{transition-delay:2.6s}[data-aos][data-aos][data-aos-duration="2650"],body[data-aos-duration="2650"] [data-aos]{transition-duration:2.65s}[data-aos][data-aos][data-aos-delay="2650"],body[data-aos-delay="2650"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2650"].aos-animate,body[data-aos-delay="2650"] [data-aos].aos-animate{transition-delay:2.65s}[data-aos][data-aos][data-aos-duration="2700"],body[data-aos-duration="2700"] [data-aos]{transition-duration:2.7s}[data-aos][data-aos][data-aos-delay="2700"],body[data-aos-delay="2700"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2700"].aos-animate,body[data-aos-delay="2700"] [data-aos].aos-animate{transition-delay:2.7s}[data-aos][data-aos][data-aos-duration="2750"],body[data-aos-duration="2750"] [data-aos]{transition-duration:2.75s}[data-aos][data-aos][data-aos-delay="2750"],body[data-aos-delay="2750"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2750"].aos-animate,body[data-aos-delay="2750"] [data-aos].aos-animate{transition-delay:2.75s}[data-aos][data-aos][data-aos-duration="2800"],body[data-aos-duration="2800"] [data-aos]{transition-duration:2.8s}[data-aos][data-aos][data-aos-delay="2800"],body[data-aos-delay="2800"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2800"].aos-animate,body[data-aos-delay="2800"] [data-aos].aos-animate{transition-delay:2.8s}[data-aos][data-aos][data-aos-duration="2850"],body[data-aos-duration="2850"] [data-aos]{transition-duration:2.85s}[data-aos][data-aos][data-aos-delay="2850"],body[data-aos-delay="2850"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2850"].aos-animate,body[data-aos-delay="2850"] [data-aos].aos-animate{transition-delay:2.85s}[data-aos][data-aos][data-aos-duration="2900"],body[data-aos-duration="2900"] [data-aos]{transition-duration:2.9s}[data-aos][data-aos][data-aos-delay="2900"],body[data-aos-delay="2900"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2900"].aos-animate,body[data-aos-delay="2900"] [data-aos].aos-animate{transition-delay:2.9s}[data-aos][data-aos][data-aos-duration="2950"],body[data-aos-duration="2950"] [data-aos]{transition-duration:2.95s}[data-aos][data-aos][data-aos-delay="2950"],body[data-aos-delay="2950"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2950"].aos-animate,body[data-aos-delay="2950"] [data-aos].aos-animate{transition-delay:2.95s}[data-aos][data-aos][data-aos-duration="3000"],body[data-aos-duration="3000"] [data-aos]{transition-duration:3s}[data-aos][data-aos][data-aos-delay="3000"],body[data-aos-delay="3000"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="3000"].aos-animate,body[data-aos-delay="3000"] [data-aos].aos-animate{transition-delay:3s}[data-aos][data-aos][data-aos-easing=linear],body[data-aos-easing=linear] [data-aos]{transition-timing-function:cubic-bezier(.25,.25,.75,.75)}[data-aos][data-aos][data-aos-easing=ease],body[data-aos-easing=ease] [data-aos]{transition-timing-function:ease}[data-aos][data-aos][data-aos-easing=ease-in],body[data-aos-easing=ease-in] [data-aos]{transition-timing-function:ease-in}[data-aos][data-aos][data-aos-easing=ease-out],body[data-aos-easing=ease-out] [data-aos]{transition-timing-function:ease-out}[data-aos][data-aos][data-aos-easing=ease-in-out],body[data-aos-easing=ease-in-out] [data-aos]{transition-timing-function:ease-in-out}[data-aos][data-aos][data-aos-easing=ease-in-back],body[data-aos-easing=ease-in-back] [data-aos]{transition-timing-function:cubic-bezier(.6,-.28,.735,.045)}[data-aos][data-aos][data-aos-easing=ease-out-back],body[data-aos-easing=ease-out-back] [data-aos]{transition-timing-function:cubic-bezier(.175,.885,.32,1.275)}[data-aos][data-aos][data-aos-easing=ease-in-out-back],body[data-aos-easing=ease-in-out-back] [data-aos]{transition-timing-function:cubic-bezier(.68,-.55,.265,1.55)}[data-aos][data-aos][data-aos-easing=ease-in-sine],body[data-aos-easing=ease-in-sine] [data-aos]{transition-timing-function:cubic-bezier(.47,0,.745,.715)}[data-aos][data-aos][data-aos-easing=ease-out-sine],body[data-aos-easing=ease-out-sine] [data-aos]{transition-timing-function:cubic-bezier(.39,.575,.565,1)}[data-aos][data-aos][data-aos-easing=ease-in-out-sine],body[data-aos-easing=ease-in-out-sine] [data-aos]{transition-timing-function:cubic-bezier(.445,.05,.55,.95)}[data-aos][data-aos][data-aos-easing=ease-in-quad],body[data-aos-easing=ease-in-quad] [data-aos]{transition-timing-function:cubic-bezier(.55,.085,.68,.53)}[data-aos][data-aos][data-aos-easing=ease-out-quad],body[data-aos-easing=ease-out-quad] [data-aos]{transition-timing-function:cubic-bezier(.25,.46,.45,.94)}[data-aos][data-aos][data-aos-easing=ease-in-out-quad],body[data-aos-easing=ease-in-out-quad] [data-aos]{transition-timing-function:cubic-bezier(.455,.03,.515,.955)}[data-aos][data-aos][data-aos-easing=ease-in-cubic],body[data-aos-easing=ease-in-cubic] [data-aos]{transition-timing-function:cubic-bezier(.55,.085,.68,.53)}[data-aos][data-aos][data-aos-easing=ease-out-cubic],body[data-aos-easing=ease-out-cubic] [data-aos]{transition-timing-function:cubic-bezier(.25,.46,.45,.94)}[data-aos][data-aos][data-aos-easing=ease-in-out-cubic],body[data-aos-easing=ease-in-out-cubic] [data-aos]{transition-timing-function:cubic-bezier(.455,.03,.515,.955)}[data-aos][data-aos][data-aos-easing=ease-in-quart],body[data-aos-easing=ease-in-quart] [data-aos]{transition-timing-function:cubic-bezier(.55,.085,.68,.53)}[data-aos][data-aos][data-aos-easing=ease-out-quart],body[data-aos-easing=ease-out-quart] [data-aos]{transition-timing-function:cubic-bezier(.25,.46,.45,.94)}[data-aos][data-aos][data-aos-easing=ease-in-out-quart],body[data-aos-easing=ease-in-out-quart] [data-aos]{transition-timing-function:cubic-bezier(.455,.03,.515,.955)}[data-aos^=fade][data-aos^=fade]{opacity:0;transition-property:opacity,transform}[data-aos^=fade][data-aos^=fade].aos-animate{opacity:1;transform:translateZ(0)}[data-aos=fade-up]{transform:translate3d(0,100px,0)}[data-aos=fade-down]{transform:translate3d(0,-100px,0)}[data-aos=fade-right]{transform:translate3d(-100px,0,0)}[data-aos=fade-left]{transform:translate3d(100px,0,0)}[data-aos=fade-up-right]{transform:translate3d(-100px,100px,0)}[data-aos=fade-up-left]{transform:translate3d(100px,100px,0)}[data-aos=fade-down-right]{transform:translate3d(-100px,-100px,0)}[data-aos=fade-down-left]{transform:translate3d(100px,-100px,0)}[data-aos^=zoom][data-aos^=zoom]{opacity:0;transition-property:opacity,transform}[data-aos^=zoom][data-aos^=zoom].aos-animate{opacity:1;transform:translateZ(0) scale(1)}[data-aos=zoom-in]{transform:scale(.6)}[data-aos=zoom-in-up]{transform:translate3d(0,100px,0) scale(.6)}[data-aos=zoom-in-down]{transform:translate3d(0,-100px,0) scale(.6)}[data-aos=zoom-in-right]{transform:translate3d(-100px,0,0) scale(.6)}[data-aos=zoom-in-left]{transform:translate3d(100px,0,0) scale(.6)}[data-aos=zoom-out]{transform:scale(1.2)}[data-aos=zoom-out-up]{transform:translate3d(0,100px,0) scale(1.2)}[data-aos=zoom-out-down]{transform:translate3d(0,-100px,0) scale(1.2)}[data-aos=zoom-out-right]{transform:translate3d(-100px,0,0) scale(1.2)}[data-aos=zoom-out-left]{transform:translate3d(100px,0,0) scale(1.2)}[data-aos^=slide][data-aos^=slide]{transition-property:transform}[data-aos^=slide][data-aos^=slide].aos-animate{transform:translateZ(0)}[data-aos=slide-up]{transform:translate3d(0,100%,0)}[data-aos=slide-down]{transform:translate3d(0,-100%,0)}[data-aos=slide-right]{transform:translate3d(-100%,0,0)}[data-aos=slide-left]{transform:translate3d(100%,0,0)}[data-aos^=flip][data-aos^=flip]{-webkit-backface-visibility:hidden;backface-visibility:hidden;transition-property:transform}[data-aos=flip-left]{transform:perspective(2500px) rotateY(-100deg)}[data-aos=flip-left].aos-animate{transform:perspective(2500px) rotateY(0)}[data-aos=flip-right]{transform:perspective(2500px) rotateY(100deg)}[data-aos=flip-right].aos-animate{transform:perspective(2500px) rotateY(0)}[data-aos=flip-up]{transform:perspective(2500px) rotateX(-100deg)}[data-aos=flip-up].aos-animate{transform:perspective(2500px) rotateX(0)}[data-aos=flip-down]{transform:perspective(2500px) rotateX(100deg)}[data-aos=flip-down].aos-animate{transform:perspective(2500px) rotateX(0)}.fourohfour-page{padding-top:0}.fourohfour-page main{height:100vh}.fourohfour-page .site_header .menu svg circle{fill:#f1f1f3}.fourohfour-page .site_header .menu svg path{fill:#141424}.fourohfour-page .notfound{background-color:#141424;border-bottom:1px solid #333345;color:#f1f1f3;height:100%;position:relative}.fourohfour-page .notfound .container{left:0;position:absolute;text-align:center;transform:translateY(-50%);top:50%;width:100%;animation:false .4s cubic-bezier(.25,.46,.45,.94) forwards}@media screen and (min-width:800px){.fourohfour-page .notfound .container{animation:false .7s cubic-bezier(.25,.46,.45,.94) forwards,e 3s ease forwards}}.fourohfour-page .notfound h1,.fourohfour-page .notfound p{color:#f1f1f3}.fourohfour-page .notfound h1{font-size:80px;font-size:8rem}.fourohfour-page .notfound p{display:inline-block;line-height:1.8;margin:20px 0;text-align:center;width:70%}.fourohfour-page .notfound p a:not(.email){color:#f1f1f3}.fourohfour-page .notfound p a:not(.email):after{background-color:#f1f1f3}@media screen and (max-width:800px){.fourohfour-page .notfound{height:calc(100% - 80px)}}@media screen and (min-width:800px){.fourohfour-page .notfound{background:#141424;color:#f1f1f3}.fourohfour-page .notfound h1{font-size:200px;font-size:20rem}.fourohfour-page .notfound p{width:30%}}.about_page .about_intro{height:calc(100vh - 90px)}@media screen and (max-width:800px){.about_page .about_intro{height:100vh}}.about_page .playground{background-color:#000;position:relative}.about_page .playground .shader{height:60%;left:0;opacity:0;position:absolute;top:0;transition:opacity .4s ease-in;width:100%;z-index:1}.about_page .playground .shader:after{display:block;content:"";position:absolute;bottom:0;left:0;width:100%;height:100px;background-image:linear-gradient(transparent,#000);z-index:5}.about_page .playground .shader canvas{height:100%;width:100%}.about_page .playground .shader.opaque{opacity:1}.about_page .playground .shader .toy{height:100%;width:100%}.about_page .section_header{position:relative}.about_page .section_header .row{z-index:2}.about_page .section_header h2{color:#fff}.about_page .section_header h3{color:#fff;font-size:66px;font-size:6.6rem;font-family:GT Sectra Fine,Georgia,serif;font-weight:400;max-width:650px;line-height:.97;padding-top:200px;padding-bottom:200px;text-transform:none}.about_page .section_header h3.wide{max-width:860px}@media screen and (max-width:600px){.about_page .section_header h3{font-size:45px;font-size:4.5rem}}@media screen and (max-width:400px){.about_page .section_header h3{font-size:38px;font-size:3.8rem}}.about_page .section_header.white .row{padding-bottom:0}.about_page .section_header.white h2,.about_page .section_header.white h3{color:#141424}.about_page article .copy p:first-of-type{font-family:GT Sectra Fine,Georgia,serif;font-size:66px;font-size:6.6rem;line-height:.969}@media screen and (max-width:600px){.about_page article .copy p:first-of-type{font-size:45px;font-size:4.5rem}}@media screen and (max-width:400px){.about_page article .copy p:first-of-type{font-size:38px;font-size:3.8rem}}.about_page article .copy.cinder p{color:#fff}.about_page article .subnav{border-top:1px solid #c0c9d7;border-bottom:none!important}.about_page article .first_paragraph{padding-bottom:0}.about_page article .first_paragraph .center_col{border-bottom:1px solid #3d3d4f;padding-bottom:6rem}.about_page article .normalize_section{padding-top:6rem}.about_page article .practice_point{border-bottom:1px solid #3d3d4f;margin-bottom:6rem;padding-bottom:6rem}.about_page article .practice_point:last-of-type{border-bottom:none}.about_page article .practice_point h4{color:#fff;margin-bottom:4rem;font-size:44px;font-size:4.4rem;font-family:GT Sectra Fine,Georgia,serif;font-weight:400;line-height:1}.about_page article .practice_point h4 span{color:#c0c9d7}@media screen and (max-width:600px){.about_page article .practice_point h4{font-size:33px;font-size:3.3rem}}.about_page article .practice_point p,.about_page article .practice_point p:first-of-type{color:#fff;font-size:20px;font-size:2rem;line-height:1.5;font-family:haptik,Helvetica,sans-serif;font-weight:300}.about_page article .expertise_point{border-bottom:1px solid rgba(192,201,215,.3);padding-bottom:10rem;margin-bottom:9rem}.about_page article .expertise_point:last-of-type{border-bottom:none;margin-bottom:0}@media screen and (max-width:800px){.about_page article .expertise_point{padding-bottom:5rem;margin-bottom:5rem}}.about_page article .expertise_point h4{font-size:50px;font-size:5rem;font-family:GT Sectra Fine,Georgia,serif;line-height:1.1}@media screen and (max-width:600px){.about_page article .expertise_point h4{font-size:33px;font-size:3.3rem}}.about_page article .expertise_point strong{display:block;font-size:50px;font-size:5rem;font-family:GT Sectra Fine Book,Georgia,serif;font-weight:400;margin-bottom:2.5rem;line-height:1.1}@media screen and (max-width:600px){.about_page article .expertise_point strong{font-size:33px;font-size:3.3rem}}.about_page article .expertise_point p,.about_page article .expertise_point p:first-of-type{font-size:20px;font-size:2rem;font-family:haptik,Helvetica,sans-serif;font-weight:300;line-height:1.5}.about_page article .expertise_point p.services,.about_page article .expertise_point p:first-of-type.services{color:#c0c9d7}.about_page article .expertise_point p strong{display:inline;font-size:20px;font-size:2rem;font-family:haptik,Helvetica,sans-serif;font-weight:700;margin-bottom:0;line-height:1.5}.about_page .swirl_object{position:absolute;transition:max-width .2s ease}.about_page .swirl_object.intro{max-width:345px;right:0;top:10rem;z-index:2}.about_page .swirl_object.right{max-width:253px;right:0;top:10rem;z-index:2}.about_page .swirl_object.left{max-width:207px;left:0;top:50%;transform:translateY(-50%);z-index:2}@media screen and (max-width:1200px){.about_page .swirl_object.intro{max-width:200px}}@media screen and (max-width:800px){.about_page .swirl_object.intro{max-width:170px;top:0;transform:translateY(-35%)}}@media screen and (max-width:600px){.about_page .swirl_object.intro{max-width:170px;top:0;transform:translateY(-55%)}.about_page .swirl_object.left,.about_page .swirl_object.right{display:none}}.about_page .friend_grid .friend{color:#fff;margin-bottom:7.5rem;width:100%}.about_page .friend_grid .friend img{width:100%}.about_page .friend_grid .friend p{font-size:20px;font-size:2rem;padding-top:1rem}.about_page .friend_grid .friend p strong{display:block}@media screen and (min-width:600px){.about_page .friend_grid{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:justify;justify-content:space-between}.about_page .friend_grid .friend{margin-bottom:10rem;width:calc(50% - 20px)}}@media screen and (min-width:800px){.about_page .friend_grid .friend{margin-bottom:13.5rem;width:calc(33% - 20px)}}.article .fixed_scroll_section .content_column .chunk:first-of-type p:last-of-type{margin-bottom:2.5rem}.careers-page .intro_section{background-color:#d7cdc2}.careers-page .intro_section .centered_content{max-width:700px}.careers-page .intro_section .centered_content .btn{min-width:300px}.careers-page .intro_section .centered_content h1{color:#33493c}.careers-page .intro_section .centered_content p{color:#333345}.careers-page.careers-entry article{background-color:#fff;margin-top:-7.5rem}.careers-page.careers-entry .container{border-bottom:1px solid #e0e0e7;padding:3rem 0}@media print,screen and (min-width:37.5em){.careers-page.careers-entry .container{padding:6rem 0}}.careers-page.careers-entry .howto .center_col>p:first-of-type,.careers-page.careers-entry .howto h2+p,.careers-page.careers-entry .role .center_col>p:first-of-type,.careers-page.careers-entry .role h2+p{font-family:GT Sectra Fine Book,Georgia,serif;font-size:33px;font-size:3.3rem;line-height:1.3}@media screen and (max-width:600px){.careers-page.careers-entry .howto .center_col>p:first-of-type,.careers-page.careers-entry .howto h2+p,.careers-page.careers-entry .role .center_col>p:first-of-type,.careers-page.careers-entry .role h2+p{font-size:30px;font-size:3rem}}.careers-page.careers-entry .entry-intro .container{padding-top:250px}@media screen and (max-width:600px){.careers-page.careers-entry .entry-intro .container{padding-top:150px}}.careers-page.careers-entry .entry-intro .container h1{margin-bottom:0}.careers-page.careers-entry .entry-intro .container small{color:#89898f;display:block;margin:1rem 0 5rem}.careers-page.careers-entry .howto .container{border:none}.careers-page .openings{background-color:#fff;margin-top:-7.5rem}.careers-page .openings ul{margin:0}.careers-page .openings ul li{padding:7.5rem 0}.careers-page .openings ul li p{color:#5e6b79;font-size:22px;font-size:2.2rem;width:100%;float:left;padding-right:1.5625rem;padding-left:1.5625rem;padding-left:0!important;padding-right:0!important;line-height:1.5;margin-top:2rem}@media print,screen and (min-width:64em){.careers-page .openings ul li p{padding-right:3.125rem;padding-left:3.125rem}}.careers-page .openings ul li p:last-child:not(:first-child){float:right}@media print,screen and (min-width:37.5em){.careers-page .openings ul li p{width:66.6666666667%;float:left;padding-right:1.5625rem;padding-left:1.5625rem}}@media print,screen and (min-width:37.5em) and (min-width:64em){.careers-page .openings ul li p{padding-right:3.125rem;padding-left:3.125rem}}@media print,screen and (min-width:37.5em){.careers-page .openings ul li p:last-child:not(:first-child){float:right}}.careers-page .openings ul li:not(:last-child){border-bottom:1px solid #e0e0e7}.careers-page .openings .position-name{color:#4b6c58;font-family:GT Sectra Fine,Georgia,serif;display:block;position:relative;transition:color .2s ease}.careers-page .openings .position-name:hover{border:none;color:#33493c}.careers-page .openings .position-loc{color:#d8d7d6;display:block;margin-bottom:2rem}@media print,screen and (min-width:37.5em){.careers-page .openings .position-loc{display:inline;margin-bottom:0;position:absolute;right:0;top:0}}.careers-page .no_luck>.row{border-top:1px solid #e0e0e7;border-bottom:1px solid #e0e0e7;padding:7.5rem 0}.careers-page .no_luck p{color:#5e6b79;font-size:22px;font-size:2.2rem;line-height:1.5;margin:0}.careers-page .no_luck p a{color:#5e6b79!important}.careers-page .no_luck p a:after{background-color:#5e6b79!important}.careers-page .no_luck p a:hover{color:#db544b!important}.careers-page .no_luck p a:hover:after{background-color:#db544b!important}.friends-feed{border-bottom:none;padding-bottom:8.5rem;padding-top:8.5rem}#instafeed a{border:none;opacity:0;padding:0 1.5rem 3rem;width:33.33333%;perspective:1000px}#instafeed a img{transition:all .2s ease-in-out;width:100%}#instafeed a:hover{border:none}#instafeed a.visible{animation:e .5s ease forwards}#instafeed a.large{width:66.6666%}#instafeed a.small img{width:70%}#instafeed a.tiny img{width:50%}@media screen and (max-width:800px){#instafeed a{padding:0 .5rem 1rem}}.cs_page.no_footer{padding-bottom:0!important}.cs_page.no_footer .site_footer{display:none}.cs_page.black_theme_alt main,.cs_page.black_theme main,.cs_page.dark_theme main{background-color:#000;color:#fff}.cs_page.black_theme{color:#c0c9d7}.cs_page.black_theme_alt{color:#e6d6bd}.cs_page.space_theme main{background-color:#31353a;color:#c0c9d7}.cs_page.hippie_theme main{background-color:#6795b3;color:#fff}.cs_page.torch_theme main{background-color:#ff4141;color:#000}.cs_page.porcelain_theme main{background-color:#eaedee;color:#183d65}.cs_page.bsod_theme main{background-color:#2747ed;color:#fff}.cs_page .casestudy_intro.impossible{background-position:100%;background-size:70% auto}@media screen and (max-width:1200px){.cs_page .casestudy_intro.impossible{background-size:50%}}@media screen and (max-width:800px){.cs_page .casestudy_intro.impossible{background-size:80%;background-position:right 5%}}.cs_page .casestudy_intro.dark_theme{background-color:#000;color:#fff}.cs_page .casestudy_intro.black_theme{background-color:#000;color:#c0c9d7}.cs_page .casestudy_intro.black_theme_alt{background-color:#000;color:#fff}.cs_page .casestudy_intro.black_theme_alt .description span{color:#fff}.cs_page .casestudy_intro.black_theme_alt .description span:last-of-type{color:#747474}.cs_page .casestudy_intro.space_theme{background-color:#31353a;color:#fff}.cs_page .casestudy_intro.space_theme .description span{color:#fff}.cs_page .casestudy_intro.space_theme .description span:last-of-type{color:#747474}.cs_page .casestudy_intro.torch_theme{background-color:#ff4141;color:#000}.cs_page .casestudy_intro.torch_theme .description span{color:#fff}.cs_page .casestudy_intro.torch_theme .description span:last-of-type{color:#000}.cs_page .casestudy_intro.hippie_theme{background-color:#6795b3;color:#fff}.cs_page .casestudy_intro.porcelain_theme{background-color:#eaedee;color:#141424}.cs_page .casestudy_intro.porcelain_theme .description span{color:#141424}.cs_page .casestudy_intro.porcelain_theme .description span:last-of-type{color:#585862}.cs_page .casestudy_intro.bsod_theme{background-color:#2747ed;color:#fff}.cs_page .casestudy_intro.bsod_theme .description span{color:#fff}.cs_page .casestudy_intro.bsod_theme .description span:last-of-type{color:#dbdbdb}.cs_page .hero_section{margin-top:-50px}.cs_page .hero_section.vid_player{padding-bottom:3rem}.cs_page .hero_section>.row{padding-bottom:0!important}.cs_page .hero_section .hero_media{position:relative;border-radius:3px}.cs_page .hero_section .hero_media:before{display:block;content:"";width:100%;padding-top:58.1413210445%}.cs_page .hero_section .hero_media>.content{position:absolute;top:0;left:0;right:0;bottom:0}.cs_page .hero_section figure:not(.hero_media){margin:0;position:relative;width:100%;z-index:1}.cs_page .hero_section figure:not(.hero_media):before{display:block;content:"";width:100%;padding-top:56.25%}.cs_page .hero_section figure:not(.hero_media)>.content{position:absolute;top:0;left:0;right:0;bottom:0}.cs_page .hero_section figure:not(.hero_media) iframe{min-width:100%;min-height:100%;width:auto;height:auto;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.cs_page .hero_section figure:not(.hero_media) .cover_image{position:absolute;height:100%;width:100%;z-index:2}.cs_page .hero_section figure:not(.hero_media) .controller{bottom:0;left:0;position:absolute;width:100%;z-index:3}.cs_page .hero_section figure:not(.hero_media) .controller .play_btn{background-color:#f9ef00;border-radius:3px;color:#141424;display:inline-block;font-size:15px;font-size:1.5rem;font-family:Roboto Mono,monospace;padding:2rem;position:relative;left:50%;transform:translateX(-50%) translateY(50%);margin:0 auto}.cs_page .hero_section figure:not(.hero_media) .controller .play_btn em{color:#bcbdc1}.cs_page .hero_section .poster{background-position:50%;background-size:cover;background-repeat:no-repeat;height:100%;left:0;position:absolute;top:0;width:100%;z-index:2}.cs_page .hero_section.dark_theme{background-color:#000}.cs_page article{position:relative}.cs_page article.white_theme{color:#141424}.cs_page article.white_theme .subnav{border-bottom:1px solid #dbdbdb}.cs_page article.white_theme .subnav ul a{color:#141424}.cs_page article.torch_theme{color:#000}.cs_page article.torch_theme .subnav{border-bottom:1px solid #000}.cs_page article.torch_theme .subnav ul a{color:#000}.cs_page article.torch_theme .prompt_section .center_col{border-color:#000}.cs_page article.white_alt_theme{color:#000}.cs_page article.white_alt_theme .subnav{border-bottom:1px solid #dbdbdb}.cs_page article.white_alt_theme .subnav ul a{color:#000}.cs_page article.black_theme,.cs_page article.dark_theme{background-color:#000;color:#dbdbdb}.cs_page article.black_theme .subnav,.cs_page article.dark_theme .subnav{border-bottom:1px solid #dbdbdb}.cs_page article.black_theme .subnav ul a,.cs_page article.dark_theme .subnav ul a{color:#000}.cs_page article.black_theme,.cs_page article.black_theme blockquote{color:#c0c9d7}.cs_page article.black_theme .subnav{border-color:#373a44;color:#c0c9d7}.cs_page article.black_theme .subnav ul a{color:#c0c9d7}.cs_page article.black_theme .prompt_section .center_col{border-color:#373a44}.cs_page article.black_theme_alt,.cs_page article.black_theme_alt blockquote{color:#e6d6bd}.cs_page article.black_theme_alt .subnav{border-color:#e6d6bd;color:#e6d6bd}.cs_page article.black_theme_alt .subnav ul a{color:#e6d6bd}.cs_page article.black_theme_alt .prompt_section .center_col{border-color:#e6d6bd}.cs_page article.space_theme,.cs_page article.space_theme blockquote{color:#c0c9d7}.cs_page article.space_theme .subnav{border-color:#c0c9d7;color:#c0c9d7}.cs_page article.space_theme .subnav ul a{color:#c0c9d7}.cs_page article.space_theme .prompt_section .center_col{border-color:#c0c9d7}.cs_page article.darkblue_theme,.cs_page article.darkblue_theme blockquote{color:#0a00aa}.cs_page article.darkblue_theme .subnav{border-top:1px solid #c8d0dc;border-bottom:none;color:#0a00aa}.cs_page article.darkblue_theme .subnav ul a{color:#0a00aa}.cs_page article.hippie_theme{background-color:#6795b3;color:#fff}.cs_page article.hippie_theme .subnav{border-bottom:1px solid #5081a1}.cs_page article.hippie_theme .subnav h2,.cs_page article.hippie_theme .subnav ul a{color:#fff}.cs_page article.hippie_theme .prompt_section .center_col{border-color:#5081a1}.cs_page article.porcelain_theme{background-color:#eaedee;color:#183d65}.cs_page article.porcelain_theme .subnav{border-bottom:1px solid #d3dadc}.cs_page article.porcelain_theme .subnav h2,.cs_page article.porcelain_theme .subnav ul a{color:#183d65}.cs_page article.porcelain_theme .prompt_section .center_col{border-color:#d3dadc}.cs_page article.bsod_theme{background-color:#2747ed;color:#fff}.cs_page article.bsod_theme .subnav{border-bottom:1px solid #1232d9}.cs_page article.bsod_theme .subnav h2,.cs_page article.bsod_theme .subnav ul a{color:#fff}.cs_page article.bsod_theme .prompt_section .center_col{border-color:#1232d9}@media screen and (max-width:800px){.cs_page article .sticky-wrapper{display:none}}.cs_page article .subnav{border-bottom:1px solid #dbdbdb;padding:3rem 0}@media screen and (max-width:1350px){.cs_page article .subnav{padding-left:50px;padding-right:50px}}@media screen and (max-width:800px){.cs_page article .subnav{display:none;padding-left:30px;padding-right:30px}}@media screen and (max-width:600px){.cs_page article .subnav{padding-left:20px;padding-right:20px}}.cs_page article .subnav h2{cursor:pointer;display:inline-block;font-family:haptik,Helvetica,sans-serif;font-weight:300;margin-right:50px}.cs_page article .subnav ul{display:inline-block;margin:0;padding:0}.cs_page article .subnav ul li{display:inline-block;list-style:none;margin:0 5rem 0 0}.cs_page article .subnav ul li:last-of-type{margin-right:0}.cs_page article .subnav ul li a{border-bottom:1px solid transparent;display:inline-block;font-family:Roboto Mono,monospace;font-weight:400;font-size:13px;font-size:1.3rem;padding-bottom:2px;transition:color .2s ease}.cs_page article .subnav ul li a.active{color:#dbdbdb}.cs_page article .subnav ul li a:hover{border-bottom:1px solid #141424}.cs_page article .subnav.stuck{animation:b .2s ease forwards;background-color:#fff;border-bottom:none;left:0;position:fixed;top:0;width:100%;z-index:1000;padding-top:2rem;padding-bottom:2rem}.cs_page article .subnav.stuck h2,.cs_page article .subnav.stuck ul a{color:#141424}.cs_page article h1{line-height:1;margin-bottom:4rem}.cs_page article h1 span{display:block}.cs_page article ul{font-size:20px;font-size:2rem;line-height:1.75;margin:25px 0;padding-left:2.3rem}.cs_page article ul li{list-style-type:circle;margin-bottom:.8rem}.cs_page article .btn{margin-top:40px}.cs_page article small{display:block;max-width:60%;margin-bottom:5rem}.cs_page article h2,.cs_page article h3,.cs_page article h4,.cs_page article h5,.cs_page article h6{font-size:20px;font-size:2rem;line-height:1.2;letter-spacing:.5px;margin-bottom:0;text-align:left}.cs_page article h2+p,.cs_page article h3+p,.cs_page article h4+p,.cs_page article h5+p,.cs_page article h6+p{margin-top:1rem}.cs_page article ul{margin-bottom:5rem}.cs_page article hr{background-color:#d8d7d6;margin:6rem 0}.cs_page article section:not(.casestudy_heading)>.row{padding-top:6.5rem;padding-bottom:6.5rem}@media screen and (max-width:800px){.cs_page article section:not(.casestudy_heading)>.row{padding-top:3rem;padding-bottom:3rem}}.cs_page article section{z-index:2}.cs_page article section.allow_overflow{overflow:visible;z-index:3}.cs_page article section.extra_bottom{padding-bottom:30rem}@media screen and (max-width:600px){.cs_page article section.extra_bottom{padding-bottom:12rem}}.cs_page article section.extra_top{padding-top:20rem}.cs_page article section.twitter_embeds .row{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-wrap:wrap;flex-wrap:wrap}.cs_page article section.twitter_embeds .tweet_holder{width:calc(33.333333333% - 20px)}@media screen and (max-width:760px){.cs_page article section.twitter_embeds .tweet_holder{width:100%}.cs_page article section.twitter_embeds .tweet_holder .twitter-tweet{margin:0 auto}}.cs_page article section .constraint{max-width:1300px;margin:0 auto;width:100%}.cs_page article section.prompt_section h3,.cs_page article section h2{font-size:12px;font-size:1.2rem;font-family:Roboto Mono,monospace;font-weight:400;margin-bottom:25px;text-transform:uppercase}.cs_page article section .center_col{max-width:700px;margin:0 auto;width:100%}@media screen and (max-width:800px){.cs_page article section .center_col{max-width:none;padding-left:30px;padding-right:30px}}@media screen and (max-width:600px){.cs_page article section .center_col{padding-left:20px;padding-right:20px}}.cs_page article section.prompt_section{padding:6.5rem 0 0}@media screen and (max-width:800px){.cs_page article section.prompt_section{padding:3rem 0 0}}.cs_page article section.prompt_section .center_col{border-bottom:1px solid #dbdbdb;display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-wrap:wrap;flex-wrap:wrap;padding-bottom:9rem}@media screen and (max-width:800px){.cs_page article section.prompt_section .center_col{padding-bottom:3rem}}.cs_page article section.prompt_section .center_col div{width:calc(50% - 16px)}@media screen and (max-width:600px){.cs_page article section.prompt_section .center_col div{margin-bottom:4rem;width:100%}.cs_page article section.prompt_section .center_col div:last-of-type{margin-bottom:0}.cs_page article section.prompt_section .center_col div h3{margin-bottom:1rem}}.cs_page article section.prompt_section .center_col div p{font-family:GT Sectra Fine Book,Georgia,serif;font-size:22px;font-size:2.2rem}.cs_page article section.prompt_section .center_col div p:last-of-type{margin-bottom:0}.cs_page article section.inline_img{padding-bottom:30px}.cs_page article section.inline_img>.row{padding-top:0;padding-bottom:0}.cs_page article section.inline_img .video_player{border-radius:3px;height:auto;width:100%}.cs_page article section.inline_img .halfsy{position:absolute;bottom:0;left:0;height:50%;width:100%;z-index:-1}.cs_page article section.inline_img .halfsy.white{background-color:#fff}.cs_page article section.inline_img.wide .center_col{max-width:900px}.cs_page article section.inline_img.full_bleed{background-position:bottom;padding:0}.cs_page article section.inline_img.full_bleed.cut_hand{background-position:top;min-height:100vh}@media screen and (max-width:800px){.cs_page article section.inline_img.full_bleed.cut_hand{min-height:70vh}}@media screen and (min-width:950px) and (max-height:615px){.cs_page article section.inline_img.full_bleed.cut_hand{min-height:980px}}.cs_page article section.inline_img.full{padding-left:0;padding-right:0}@media screen and (max-width:1350px){.cs_page article section.inline_img.full .row{padding-left:50px;padding-right:50px}}@media screen and (max-width:800px){.cs_page article section.inline_img.full .row{padding-left:30px;padding-right:30px}}@media screen and (max-width:600px){.cs_page article section.inline_img.full .row{padding-left:20px;padding-right:20px}}.cs_page article section.inline_img.full img{border-radius:3px;height:auto;width:100%}.cs_page article section.inline_img.bleeder{position:relative;min-height:500px;z-index:5}.cs_page article section.inline_img.bleeder img{position:absolute;right:0;top:50%;transform:translateY(-50%);height:150%}@media screen and (max-width:800px){.cs_page article section.inline_img.bleeder img{height:auto;width:250%;max-width:none}}.cs_page article section.inline_img.last{padding-bottom:50px}.cs_page article section.inline_img+.inline_img{padding:0 0 30px}.cs_page article section.top_bleed{background-position:top;background-size:100% auto;background-repeat:no-repeat}.cs_page article section.top_bleed.eighty_five{padding-top:85%}@media screen and (max-width:800px){.cs_page article section.top_bleed.eighty_five{padding-top:110%}}.cs_page article section.brute,.cs_page article section.cinder{color:#fff}.cs_page article section.brute h2,.cs_page article section.cinder h2{color:#c0c9d7}.cs_page article section.brute h2+p:first-of-type,.cs_page article section.cinder h2+p:first-of-type{color:#fff}.cs_page article section.brute p,.cs_page article section.cinder p{color:#c0c9d7}.cs_page article section.white_text{color:#fff}.cs_page article section.white_text h2{color:#c0c9d7}.cs_page article section.white_text h2+p:first-of-type{color:#fff}.cs_page article section.white_text p{color:#c0c9d7}.cs_page article section.concrete_theme{background-color:#f2f2f2;color:#141424}.cs_page article section.concrete_theme h2,.cs_page article section.concrete_theme h2+p:first-of-type,.cs_page article section.concrete_theme p{color:#141424}.cs_page article section.black{background-color:#000}.cs_page article section.brute{background-color:#141424}.cs_page article section.catskill,.cs_page article section.white,.cs_page article section.wildsand{background-color:#fff;color:#141424}.cs_page article section.catskill h2,.cs_page article section.catskill h2+p:first-of-type,.cs_page article section.catskill p,.cs_page article section.white h2,.cs_page article section.white h2+p:first-of-type,.cs_page article section.white p,.cs_page article section.wildsand h2,.cs_page article section.wildsand h2+p:first-of-type,.cs_page article section.wildsand p{color:#141424}.cs_page article section.catskill{background-color:#eaf4f6}.cs_page article section.wildsand{background-color:#f5f5f5}.cs_page article section.black_gradient{background-image:linear-gradient(#000,#09080e)}.cs_page article section.porcelain,.cs_page article section.porcelain_theme{background-color:#eaedee;color:#183d65}.cs_page article section.porcelain_theme h2,.cs_page article section.porcelain_theme h2+p:first-of-type,.cs_page article section.porcelain_theme p,.cs_page article section.porcelain h2,.cs_page article section.porcelain h2+p:first-of-type,.cs_page article section.porcelain p{color:#183d65}.cs_page article section.torch_theme{background-color:#ff4141;color:#000}.cs_page article section.torch_theme h2,.cs_page article section.torch_theme h2+p:first-of-type,.cs_page article section.torch_theme p,.cs_page article section.torch_theme p a{color:#000}.cs_page article section.torch_theme p a:after{background-color:#000}.cs_page article section.torch_theme.role_section .container{border-color:#000}.cs_page article section.black_theme_alt.role_section .container{border-color:#e6d6bd}.cs_page article section.space_theme.role_section{color:#e5e5e5}.cs_page article section.space_theme.role_section .container{border-color:#e5e5e5}.cs_page article section.space_theme.role_section h2{color:#e5e5e5}.cs_page article section.bsod{background-color:#2747ed;color:#fff}.cs_page article section.bsod h2,.cs_page article section.bsod h2+p:first-of-type,.cs_page article section.bsod p,.cs_page article section.bsod p a{color:#fff}.cs_page article section.bsod p a:after{background-color:#fff}.cs_page article section.bsod.role_section{color:#fff}.cs_page article section.bsod.role_section .container{border-color:#bfbfbf}.cs_page article section.bsod.role_section h2{color:#fff}.cs_page article section.full_cap{background-size:100% auto;background-repeat:no-repeat}.cs_page article section.role_section .container{border-left:1px solid #e5e5e5;padding-left:25px}.cs_page article section.role_section ul{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:justify;justify-content:space-between;padding-left:0}.cs_page article section.role_section ul li{font-family:GT Sectra Fine Book,Georgia,serif;font-size:18px;font-size:1.8rem;list-style:none;margin-bottom:15px;padding-right:20px;width:calc(33.333333333% - 20px)}@media screen and (max-width:1200px){.cs_page article section.role_section ul li{width:calc(50% - 15px)}}@media screen and (max-width:800px){.cs_page article section.role_section ul li{width:100%}}.cs_page article section.next_case{background-color:#bcbdc1}.cs_page article section.next_case a{display:block;height:100%;width:100%}.cs_page article section.next_case a:hover .type h6 svg{right:0}.cs_page article section.next_case a:hover figure{transform:translateY(-10px)}.cs_page article section.next_case .row{overflow:hidden;padding-bottom:0;position:relative}.cs_page article section.next_case .type{color:#31353a;margin:5rem auto 10.5rem;width:54%}.cs_page article section.next_case .type span{display:block;font-size:12px;font-size:1.2rem;font-family:Roboto Mono,monospace;font-weight:400;margin-bottom:10px;text-transform:uppercase}.cs_page article section.next_case .type h6{color:#fff;font-family:GT Sectra Fine,Georgia,serif;font-size:33px;font-size:3.3rem;padding-right:8rem;position:relative}.cs_page article section.next_case .type h6 svg{position:absolute;right:10px;top:13px;transition:right .2s ease-in}.cs_page article section.next_case .type h6 svg path{fill:#fff}.cs_page article section.next_case figure{height:5.5rem;position:absolute;left:0;bottom:0;transition:transform .2s ease-in}.cs_page article section.next_case figure,.cs_page article section.next_case figure img{border-top-left-radius:3px;border-top-right-radius:3px}@media screen and (max-width:800px){.cs_page article section.next_case .type{width:100%}.cs_page article section.next_case .type h6{font-size:30px;font-size:3rem}.cs_page article section.next_case .type h6 svg{top:8px}.cs_page article section.next_case figure{height:4.5rem}}.cs_page article section.next_case.dark_theme{background-color:#141424}.cs_page article section.next_case.dark_theme .type span{color:#bcbdc1}.cs_page article section.next_case.dark_theme .type h6{color:#d8d7d6}.cs_page article section.next_case.dark_theme .type h6 svg path{fill:#d8d7d6}.cs_page article section.next_case.white_theme{background-color:#fff}.cs_page article section.next_case.white_theme .type span{color:#000}.cs_page article section.next_case.white_theme .type h6{color:#141424}.cs_page article section.next_case.white_theme .type h6 svg path{fill:#141424}.cs_page article section.next_case.black_theme{background-color:#000}.cs_page article section.next_case.black_theme .type span{color:#c2c1c1}.cs_page article section.next_case.black_theme .type h6{color:#dbdbdb}.cs_page article section.next_case.black_theme .type h6 svg path{fill:#dbdbdb}.cs_page article section.next_case.black_alt_theme{background-color:#000}.cs_page article section.next_case.black_alt_theme .type span{color:#d8bf98}.cs_page article section.next_case.black_alt_theme .type h6{color:#e6d6bd}.cs_page article section.next_case.black_alt_theme .type h6 svg path{fill:#e6d6bd}.cs_page article section.next_case.heather_theme{background-color:#c0c9d7}.cs_page article section.next_case.heather_theme .type span{color:#31353a}.cs_page article section.next_case.heather_theme .type h6{color:#fff}.cs_page article section.next_case.heather_theme .type h6 svg path{fill:#fff}.cs_page article section.next_case.porcelain_theme{background-color:#eaedee}.cs_page article section.next_case.porcelain_theme .type span{color:#133150}.cs_page article section.next_case.porcelain_theme .type h6{color:#183d65}.cs_page article section.next_case.porcelain_theme .type h6 svg path{fill:#183d65}.cs_page article section.next_case.bsod_theme{background-color:#0a00aa}.cs_page article section.next_case.bsod_theme .type span{color:#bcbdc1}.cs_page article section.next_case.bsod_theme .type h6{color:#fff}.cs_page article section.next_case.bsod_theme .type h6 svg path{fill:#fff}.cs_page article section.next_case.space_theme{background-color:#31353a}.cs_page article section.next_case.space_theme .type span{color:#b0bccd}.cs_page article section.next_case.space_theme .type h6{color:#c0c9d7}.cs_page article section.next_case.space_theme .type h6 svg path{fill:#c0c9d7}.cs_page article section.next_case.hippie_theme{background-color:#6795b3}.cs_page article section.next_case.hippie_theme .type span{color:#333351}.cs_page article section.next_case.hippie_theme .type h6{color:#fff}.cs_page article section.next_case.hippie_theme .type h6 svg path{fill:#fff}.cs_page article section.next_case.torch_theme{background-color:#ff4141}.cs_page article section.next_case.torch_theme .type span{color:#000}.cs_page article section.next_case.torch_theme .type h6{color:#141424}.cs_page article section.next_case.torch_theme .type h6 svg path{fill:#141424}.cs_page .copy+.inline_img{padding-top:10rem}@media screen and (max-width:800px){.cs_page .copy+.inline_img{padding-top:3rem}}.cs_page .copy{padding:18rem 0}@media screen and (max-width:800px){.cs_page .copy{padding:8rem 0}}.cs_page .copy p{margin:25px 0}.cs_page .copy p em{font-weight:700;font-style:italic}.cs_page .copy p img{margin:1.5rem 0 2rem}.cs_page .copy p:last-of-type{margin-bottom:0}.cs_page .copy p.emphasis{color:#bcbdc1;font-style:italic}.cs_page .copy p.flourish{font-family:GT Sectra Fine Book,Georgia,serif;font-size:33px;font-size:3.3rem;line-height:1.3}@media screen and (max-width:600px){.cs_page .copy p.flourish{font-size:30px;font-size:3rem}}.cs_page .copy .side_media{width:20rem;position:absolute;top:50%;transform:translateY(-50%);transition:width .2s ease;z-index:-1}.cs_page .copy .side_media.double{width:35rem}@media screen and (max-width:1200px){.cs_page .copy .side_media{width:15rem}}@media screen and (max-width:1150px){.cs_page .copy .side_media.double{width:25rem}}@media screen and (max-width:1050px){.cs_page .copy .side_media{width:12.5rem}}@media screen and (max-width:1000px){.cs_page .copy .side_media{display:none}}.cs_page .copy .side_media.left{left:0}.cs_page .copy .side_media.right{right:0}.cs_page .copy .sticky_set{position:absolute;z-index:-1}.cs_page .copy .sticky_set.stickies_one{width:300px;width:22vw;right:0;top:50%;transform:translateY(-82%)}.cs_page .copy .sticky_set.stickies_two{width:340px;width:28vw;right:3%;top:68%;transform:translateY(-50%)}.cs_page .copy .sticky_set.stickies_three{bottom:0;left:50%;transform:translateX(-50%) translateY(35%);width:40vw}@media screen and (max-width:1200px){.cs_page .copy .sticky_set.stickies_one{width:210px;right:0;top:60%;transform:translateY(-82%);overflow:hidden}.cs_page .copy .sticky_set.stickies_one img{max-width:none;width:28vw}.cs_page .copy .sticky_set.stickies_two{width:32vw;right:3%;top:73%;transform:translateY(-50%)}.cs_page .copy .sticky_set.stickies_three{bottom:0;left:50%;transform:translateX(-50%) translateY(35%);width:40vw}}@media screen and (max-width:951px){.cs_page .copy .sticky_set.stickies_one{display:none}.cs_page .copy .sticky_set.stickies_two{width:32vw;right:3%;top:73%;transform:translateY(-50%)}.cs_page .copy .sticky_set.stickies_three{bottom:0;left:50%;transform:translateX(-50%) translateY(35%);width:40vw}}@media screen and (max-width:800px){.cs_page .copy .sticky_set.stickies_two{width:42vw;right:2%;top:70%;transform:translateY(-50%)}.cs_page .copy .sticky_set.stickies_three{bottom:0;left:50%;transform:translateX(-50%) translateY(35%);width:60vw}}@media screen and (max-width:600px){.cs_page .copy .sticky_set.stickies_two{display:none}.cs_page .copy .sticky_set.stickies_three{bottom:0;left:50%;transform:translateX(-50%) translateY(35%);width:70vw}}.cs_page .copy .split_text{display:-ms-flexbox;display:flex;font-family:Roboto Mono,monospace;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-wrap:wrap;flex-wrap:wrap;margin:5rem 0 8rem}.cs_page .copy .split_text div{width:calc(50% - 15px)}.cs_page .copy .split_text div h3{font-family:Roboto Mono,monospace;font-weight:400}.cs_page .copy .split_text div p{font-weight:200}.cs_page .copy .split_text div a{border-bottom:1px solid #141424;color:#141424;display:inline-block;padding-bottom:3px}.cs_page .copy .split_text div a:hover{border-color:transparent;color:#141424}.cs_page .copy .split_text div a,.cs_page .copy .split_text div h3,.cs_page .copy .split_text div p{font-size:14px;font-size:1.4rem;line-height:1.8}.cs_page .gallery_module{padding-bottom:3rem;padding-left:0;padding-right:0}@media screen and (max-width:1350px){.cs_page .gallery_module .constraint{padding-left:50px;padding-right:50px}}@media screen and (max-width:800px){.cs_page .gallery_module .constraint{padding-left:30px;padding-right:30px}}@media screen and (max-width:600px){.cs_page .gallery_module .constraint{padding-left:20px;padding-right:20px}}.cs_page .gallery_module .item{border-radius:3px;position:relative;overflow:hidden}.cs_page .gallery_module .item .video_player{left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);height:100%;width:100%;-o-object-fit:cover;object-fit:cover}.cs_page .gallery_module.fifty_fifty .constraint{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-wrap:wrap;flex-wrap:wrap}.cs_page .gallery_module.fifty_fifty .item{position:relative;width:calc(50% - 15px)}.cs_page .gallery_module.fifty_fifty .item:before{display:block;content:"";width:100%;padding-top:67.7419354839%}.cs_page .gallery_module.fifty_fifty .item>.content{position:absolute;top:0;left:0;right:0;bottom:0}.cs_page .gallery_module.fifty_fifty.square .item{position:relative}.cs_page .gallery_module.fifty_fifty.square .item:before{display:block;content:"";width:100%;padding-top:100%}.cs_page .gallery_module.fifty_fifty.square .item>.content{position:absolute;top:0;left:0;right:0;bottom:0}.cs_page .gallery_module.fifty_fifty.tall .item{position:relative}.cs_page .gallery_module.fifty_fifty.tall .item:before{display:block;content:"";width:100%;padding-top:129.448818898%}.cs_page .gallery_module.fifty_fifty.tall .item>.content{position:absolute;top:0;left:0;right:0;bottom:0}.cs_page .gallery_module.thirds .constraint{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-wrap:wrap;flex-wrap:wrap}.cs_page .gallery_module.thirds .item{position:relative;width:calc(33.333333333% - 20px)}.cs_page .gallery_module.thirds .item:before{display:block;content:"";width:100%;padding-top:67.7419354839%}.cs_page .gallery_module.thirds .item>.content{position:absolute;top:0;left:0;right:0;bottom:0}.cs_page .gallery_module.thirds.tall .item{position:relative}.cs_page .gallery_module.thirds.tall .item:before{display:block;content:"";width:100%;padding-top:134.263959391%}.cs_page .gallery_module.thirds.tall .item>.content{position:absolute;top:0;left:0;right:0;bottom:0}.cs_page .gallery_module.three_fifty .constraint{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-wrap:wrap;flex-wrap:wrap}.cs_page .gallery_module.three_fifty .item{position:relative;width:calc(25% - 20px)}.cs_page .gallery_module.three_fifty .item:before{display:block;content:"";width:100%;padding-top:67.7419354839%}.cs_page .gallery_module.three_fifty .item>.content{position:absolute;top:0;left:0;right:0;bottom:0}.cs_page .gallery_module.three_fifty .item:first-of-type{width:calc(50% - 20px)}.cs_page .gallery_module.three_grid .constraint{padding-left:0;padding-right:0}@media screen and (max-width:1350px){.cs_page .gallery_module.three_grid .constraint .content{padding-left:50px;padding-right:50px}}@media screen and (max-width:800px){.cs_page .gallery_module.three_grid .constraint .content{padding-left:30px;padding-right:30px}}@media screen and (max-width:600px){.cs_page .gallery_module.three_grid .constraint .content{padding-left:20px;padding-right:20px}}@media screen and (max-width:600px){.cs_page .gallery_module.three_grid .constraint .content .col .item{height:250px;margin-bottom:30px;width:100%}}@media screen and (min-width:600px){.cs_page .gallery_module.three_grid .constraint{position:relative}.cs_page .gallery_module.three_grid .constraint:before{display:block;content:"";width:100%;padding-top:43.8759689922%}.cs_page .gallery_module.three_grid .constraint>.content{position:absolute;top:0;left:0;right:0;bottom:0}.cs_page .gallery_module.three_grid .constraint .content{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:justify;justify-content:space-between}.cs_page .gallery_module.three_grid .constraint .content .col{display:-ms-flexbox;display:flex;width:calc(50% - 15px)}.cs_page .gallery_module.three_grid .constraint .content .col.left{-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:justify;justify-content:space-between;width:calc(40% - 15px)}.cs_page .gallery_module.three_grid .constraint .content .col.left .item{height:calc(50% - 15px)}.cs_page .gallery_module.three_grid .constraint .content .col.right{width:calc(60% - 15px)}.cs_page .gallery_module.three_grid .constraint .content .col.right .item{height:100%;width:100%}}@media screen and (max-width:600px){.cs_page .gallery_module .item{margin-bottom:30px;width:100%!important}.cs_page .gallery_module .item:last-of-type{margin-bottom:0}}.inline_img+.fifty_fifty{padding-bottom:3rem}.command-page{padding-top:0}.command-page main{background-color:#09080e}.command-page .intro_section{background-color:#000;color:#fff}.command-page .intro_section:after{display:block;content:"";position:absolute;bottom:0;left:0;width:100%;height:100px;background-image:linear-gradient(transparent,#000);z-index:5}.command-page .intro_section .shader{height:100%;left:0;opacity:0;position:absolute;top:0;transition:opacity .4s ease-in;width:100%;z-index:1}.command-page .intro_section .shader.opaque{opacity:1}.command-page .intro_section .shader .toy{height:100%;width:100%}.command-page .intro_section .row{padding-bottom:22rem;padding-top:22rem;z-index:2}.command-page .intro_section .row h1{font-size:80px;font-size:8rem;max-width:62.5rem;margin:0}@media screen and (min-width:800px) and (max-width:950px){.command-page .intro_section .row h1{font-size:60px;font-size:6rem}}@media screen and (max-width:800px){.command-page .intro_section .row{padding-bottom:15rem;padding-top:15rem}.command-page .intro_section .row h1{font-size:40px;font-size:4rem;max-width:70%}}.command-page .filter_grid{padding-left:0;padding-right:0}@media screen and (max-width:800px){.command-page .filter_grid{padding-top:6rem}}.command-page .filter_grid .master_row{background-color:#09080e}.command-page .filter_grid .master_row>.row{padding-top:0;padding-bottom:0}.command-page .filter_grid .master_row:first-of-type{background-image:linear-gradient(#000,#09080e);padding-top:7rem}.command-page .filter_grid .client a p{color:#fff;font-family:GT Sectra Fine,Georgia,serif}.command-page .filter_grid .client a h2{color:#fff}.command-page .filter_grid .client a h2 span{color:#5e6b79}.command-page .filter_grid .callout{border-top-color:#fff}.command-page .filter_grid .callout h3{color:#fff}.contact_page main{background-color:#c0c9d7}.contact_page .info_intro{height:100vh}@media screen and (min-width:800px){.contact_page .info_intro{height:calc(100.5vh - 100px)}}.contact_page .info_intro .centered_content h1{color:#fff}.contact_page .info_intro .centered_content p{color:#5e6b79}@media screen and (min-width:800px){.contact_page .contact_info{margin-top:-120px}}.contact_page .contact_info>.row{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;padding:6.5rem 0}.contact_page .contact_info>.row:after,.contact_page .contact_info>.row:before{display:none}@media screen and (max-width:800px){.contact_page .contact_info>.row{padding:5rem 0}}.contact_page .contact_info .item{font-size:20px;font-size:2rem;line-height:1.75;width:calc(33.333333333% - 33.333333333px)}.contact_page .contact_info .item a{color:#5e6b79}.contact_page .contact_info .item h2,.contact_page .contact_info .item h3{font-weight:400;font-size:20px;font-size:2rem}.contact_page .contact_info.direct>.row{padding-top:0}.contact_page .contact_info.direct .item .cont,.contact_page .contact_info.direct .item h2{padding:2.5rem 4rem}.contact_page .contact_info.direct .item .cont{border:2px solid #fff;font-family:sectra;font-size:22px;font-size:2.2rem;line-height:1.5}.contact_page .contact_info.direct .item .cont a{transition:color .2s ease}.contact_page .contact_info.direct .item .cont a.email{display:inline-block;position:relative}.contact_page .contact_info.direct .item .cont a.email:after{background-color:#5e6b79;bottom:1px;content:"";height:2px;left:0;position:absolute;transition:background-color .2s ease;width:100%}.contact_page .contact_info.direct .item .cont a:hover{color:#141424}.contact_page .contact_info.direct .item .cont a:hover.email:after{background-color:transparent}.contact_page .contact_info.direct .item h2{background-color:#fff;color:#5e6b79;font-family:GT Sectra Fine Book,Georgia,serif;font-weight:400;font-size:22px;font-size:2.2rem}@media screen and (min-width:800px) and (max-width:970px){.contact_page .contact_info .item{font-size:1.92vw;line-height:1.8}.contact_page .contact_info .item h2,.contact_page .contact_info .item h3{font-size:17px;font-size:1.7rem}}@media screen and (max-width:950px){.contact_page .contact_info .item{width:calc(33.333333333% - 16.666666667px)}}@media screen and (max-width:800px){.contact_page .contact_info>.row{display:block}.contact_page .contact_info .item{-ms-flex:none;flex:none;margin-bottom:5rem;width:100%}.contact_page .contact_info .item:last-of-type{margin-bottom:0}}.contact_page .image_grid{padding-bottom:7rem}.contact_page .image_grid .container{display:-ms-grid;display:grid;-ms-grid-columns:[col] 1fr [col] 1fr [col] 1fr;grid-template-columns:[col] 1fr [col] 1fr [col] 1fr;-ms-grid-rows:[row] auto [row] auto [row];grid-template-rows:[row] auto [row] auto [row];grid-column-gap:5rem;grid-row-gap:5rem;width:100%}@media screen and (min-width:800px) and (max-width:950px){.contact_page .image_grid .container{grid-column-gap:2.5rem;grid-row-gap:2.5rem}}@media screen and (max-width:800px){.contact_page .image_grid .container{grid-column-gap:1.5rem;grid-row-gap:1.5rem}}.contact_page .image_grid .container .item,.contact_page .image_grid .container .subgrid{background-position:50%;background-size:cover;background-repeat:no-repeat}.contact_page .image_grid .container .subgrid{display:-ms-grid;display:grid;height:100%}.contact_page .image_grid .container .subgrid>*{background-position:50%;background-size:cover;background-repeat:no-repeat}.contact_page .image_grid .container .a{-ms-grid-column-span:2;-ms-grid-column:col 1;grid-column:col 1/span 2;-ms-grid-row:row;grid-row:row}@media screen and (min-width:800px){.contact_page .image_grid .container .a{position:relative}.contact_page .image_grid .container .a:before{display:block;content:"";width:100%;padding-top:74.6478873239%}.contact_page .image_grid .container .a>.content{position:absolute;top:0;left:0;right:0;bottom:0}}@media screen and (max-width:800px){.contact_page .image_grid .container .a{display:none}}.contact_page .image_grid .container .b{-ms-grid-column-span:1;-ms-grid-column:col 3;grid-column:col 3/span 1;-ms-grid-row:row;grid-row:row}@media screen and (max-width:800px){.contact_page .image_grid .container .b{-ms-grid-column-span:3;-ms-grid-column:col 1;grid-column:col 1/span 3;grid-column-gap:1.5rem}}.contact_page .image_grid .container .b .subgrid{grid-row-gap:5rem;-ms-grid-columns:[col] auto;grid-template-columns:[col] auto;-ms-grid-rows:[row] 1fr [row] 2fr;grid-template-rows:[row] 1fr [row] 2fr}@media screen and (min-width:800px) and (max-width:950px){.contact_page .image_grid .container .b .subgrid{grid-row-gap:2.5rem}}@media screen and (max-width:800px){.contact_page .image_grid .container .b .subgrid{grid-row-gap:5rem}}.contact_page .image_grid .container .b .subgrid .one{-ms-grid-column:col;grid-column:col;-ms-grid-row:row;grid-row:row}.contact_page .image_grid .container .b .subgrid .one .item .cont,.contact_page .image_grid .container .b .subgrid .one .item h2{padding:2.5rem 4rem}.contact_page .image_grid .container .b .subgrid .one .item .cont{border:2px solid #fff;color:#5e6b79;font-family:sectra;font-size:22px;font-size:2.2rem;line-height:1.5}.contact_page .image_grid .container .b .subgrid .one .item .cont a{transition:color .2s ease}.contact_page .image_grid .container .b .subgrid .one .item .cont a.email{display:inline-block;position:relative}.contact_page .image_grid .container .b .subgrid .one .item .cont a.email:after{background-color:#5e6b79;bottom:1px;content:"";height:2px;left:0;position:absolute;transition:background-color .2s ease;width:100%}.contact_page .image_grid .container .b .subgrid .one .item .cont a:hover{color:#141424}.contact_page .image_grid .container .b .subgrid .one .item .cont a:hover.email:after{background-color:transparent}.contact_page .image_grid .container .b .subgrid .one .item h2{background-color:#fff;color:#5e6b79;font-family:GT Sectra Fine Book,Georgia,serif;font-weight:400;font-size:22px;font-size:2.2rem}.contact_page .image_grid .container .b .subgrid .one .item h2 a{color:#5e6b79;transition:color .2s ease}.contact_page .image_grid .container .b .subgrid .one .item h2 a:hover{color:#141424}.contact_page .image_grid .container .b .subgrid .one .item .cont p a{background:none;background-color:transparent;box-shadow:none;color:#5e6b79;font-family:sectra;font-size:22px;font-size:2.2rem;line-height:1.5;padding:0}.contact_page .image_grid .container .b .subgrid .two{background-position:0}.contact_page .image_grid .container .b .subgrid .two,.contact_page .image_grid .container .c{-ms-grid-column:col;grid-column:col;-ms-grid-row:row 2;grid-row:row 2}.contact_page .image_grid .container .d{position:relative;-ms-grid-column-span:2;-ms-grid-column:col 2;grid-column:col 2/span 2;-ms-grid-row:row 2;grid-row:row 2}.contact_page .image_grid .container .d:before{display:block;content:"";width:100%;padding-top:62.5146886016%}.contact_page .image_grid .container .d>.content{position:absolute;top:0;left:0;right:0;bottom:0}.contact_page .image_grid .container .e{position:relative;-ms-grid-column-span:2;-ms-grid-column:col 1;grid-column:col 1/span 2;-ms-grid-row:row 3;grid-row:row 3}.contact_page .image_grid .container .e:before{display:block;content:"";width:100%;padding-top:62.5146886016%}.contact_page .image_grid .container .e>.content{position:absolute;top:0;left:0;right:0;bottom:0}.contact_page .image_grid .container .f{-ms-grid-column-span:1;-ms-grid-column:col 3;grid-column:col 3/span 1;-ms-grid-row:row 3;grid-row:row 3}.contact_page .image_grid .container .f .subgrid{grid-row-gap:5rem;-ms-grid-columns:[col] auto;grid-template-columns:[col] auto;-ms-grid-rows:[row] 1fr [row] 2fr;grid-template-rows:[row] 1fr [row] 2fr}@media screen and (min-width:800px) and (max-width:950px){.contact_page .image_grid .container .f .subgrid{grid-row-gap:2.5rem}}@media screen and (max-width:800px){.contact_page .image_grid .container .f .subgrid{grid-row-gap:1.5rem}}.contact_page .image_grid .container .f .subgrid .one{-ms-grid-column:col;grid-column:col;-ms-grid-row:row;grid-row:row}.contact_page .image_grid .container .f .subgrid .one .flexme{display:-ms-flexbox;display:flex;height:100%;-ms-flex-pack:justify;justify-content:space-between}.contact_page .image_grid .container .f .subgrid .one .flexme>*{background-position:50%;background-size:cover;background-repeat:no-repeat}.contact_page .image_grid .container .f .subgrid .one .flexme .aa{width:calc(33.333333333% - 25px)}.contact_page .image_grid .container .f .subgrid .one .flexme .bb{width:calc(66.666666667% - 25px)}@media screen and (min-width:800px) and (max-width:950px){.contact_page .image_grid .container .f .subgrid .one .flexme .aa{width:calc(33.333333333% - 12.5px)}.contact_page .image_grid .container .f .subgrid .one .flexme .bb{width:calc(66.666666667% - 12.5px)}}@media screen and (max-width:800px){.contact_page .image_grid .container .f .subgrid .one .flexme .aa{width:calc(33.333333333% - 7.5px)}.contact_page .image_grid .container .f .subgrid .one .flexme .bb{width:calc(66.666666667% - 7.5px)}}.contact_page .image_grid .container .f .subgrid .two{-ms-grid-column:col;grid-column:col;-ms-grid-row:row 2;grid-row:row 2}.coop_page .site_header .logo .logo_link svg path{fill:#0a00aa}.coop_page .site_header .site_nav ul li a{color:#0a00aa}.coop_page .site_header .site_nav ul li.current a,.coop_page .site_header .site_nav ul li a:hover{color:#5e6b79}.coop_page main{background-color:#f2f2f2;color:#0a00aa}.coop_page article section.copy{padding-top:5rem;padding-bottom:5rem}.coop_page article section.copy p.flourish{font-size:66px;font-size:6.6rem;font-family:GT Sectra Fine,Georgia,serif;line-height:1}@media screen and (max-width:600px){.coop_page article section.copy p.flourish{font-size:45px;font-size:4.5rem}}@media screen and (max-width:400px){.coop_page article section.copy p.flourish{font-size:35px;font-size:3.5rem}}.coop_page article section.copy#introduction{padding-top:20rem}@media screen and (max-width:600px){.coop_page article section.copy{padding-top:3rem;padding-bottom:3rem}.coop_page article section.copy#introduction{padding-top:5rem}}.coop_page article section.copy.darkblue_theme{background-color:#0a00aa;color:#fff;padding-top:10.5rem;padding-bottom:15rem}@media screen and (max-width:600px){.coop_page article section.copy.darkblue_theme{padding-top:5rem;padding-bottom:7.5rem}}.coop_page article section.copy.pad_no_top{padding-top:0}.coop_page article section.copy.pad_no_bottom{padding-bottom:0}.coop_page article section.copy.pad_double_bottom{padding-bottom:10rem}@media screen and (max-width:600px){.coop_page article section.copy.pad_double_bottom{padding-bottom:6rem}}.coop_page article section.copy h2{color:#c0c9d7}.coop_page article section.copy .illuminati{margin-top:10rem}@media screen and (max-width:600px){.coop_page article section.copy .illuminati{margin-top:5rem}}.coop_page article section.copy .double_cards{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-top:8.5rem}.coop_page article section.copy .double_cards .card{border-radius:3px;background-color:#fff;width:calc(50% - 15px)}.coop_page article section.copy .double_cards .card .icon{border-bottom:1px solid #f2f2f2;height:300px}.coop_page article section.copy .double_cards .card .icon img{display:block;margin:0 auto;position:relative;top:50%;transform:translateY(-50%)}.coop_page article section.copy .double_cards .card .text{padding:3rem}.coop_page article section.copy .double_cards .card .text h4{font-size:33px;font-size:3.3rem;line-height:1;margin-bottom:.5rem}@media screen and (max-width:400px){.coop_page article section.copy .double_cards .card .text h4{font-size:30px;font-size:3rem}}.coop_page article section.copy .double_cards .card .text p{margin:0}@media screen and (max-width:600px){.coop_page article section.copy .double_cards .card{margin-bottom:3rem;width:100%}.coop_page article section.copy .double_cards .card:last-of-type{margin-bottom:0}}.coop_page article section.copy .events_module{background-image:url(/images/coop/events.jpg);border-radius:3px;height:47rem;margin-top:3rem;position:relative}.coop_page article section.copy .events_module .text{color:#fff;position:absolute;bottom:3rem;left:3rem;max-width:275px}.coop_page article section.copy .events_module .text h4{font-size:33px;font-size:3.3rem;line-height:1;margin-bottom:.5rem}@media screen and (max-width:400px){.coop_page article section.copy .events_module .text h4{font-size:30px;font-size:3rem}}.coop_page article section.copy .events_module .text p{margin:0}.coop_page article section.copy .yt_module{border-radius:3px;margin:6.5rem 0;position:relative;width:100%;z-index:1}.coop_page article section.copy .yt_module:before{display:block;content:"";width:100%;padding-top:56.25%}.coop_page article section.copy .yt_module>.content{position:absolute;top:0;left:0;right:0;bottom:0}.coop_page article section.copy .yt_module .content{border-radius:3px}.coop_page article section.copy .yt_module .content .holder{height:100%;overflow:hidden;position:relative;width:100%}.coop_page article section.copy .yt_module iframe{border-radius:3px;display:hidden;min-width:100%;min-height:100%;width:auto;height:auto;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.coop_page article section.copy .yt_module .cover_image{border-radius:3px;position:absolute;height:100%;width:100%;z-index:2}.coop_page article section.copy .yt_module .controller{bottom:0;left:0;position:absolute;width:100%;z-index:3}.coop_page article section.copy .yt_module .controller .play_btn{background-color:#fff;border-radius:3px;color:#141424;cursor:pointer;display:inline-block;font-size:15px;font-size:1.5rem;font-family:Roboto Mono,monospace;padding:2rem;position:relative;left:50%;transform:translateX(-50%) translateY(50%);margin:0 auto}.coop_page article section.copy .yt_module .controller .play_btn em{color:#bcbdc1}.coop_page article section.copy .yt_module .controller .play_btn.blue{background-color:#0a00aa;color:#fff}.coop_page article section.copy .yt_module .controller .play_btn.blue svg path{fill:#fff}.coop_page article section.copy .yt_module .controller .play_btn.blue span{color:#847ee3}.coop_page article section.peeker{padding-bottom:0}.coop_page .swirl_object{position:absolute;transition:max-width .2s ease}.coop_page .swirl_object.left{max-width:182px;left:0;top:120vh}.coop_page .swirl_object.right{max-width:275px;right:0;top:9rem;z-index:2}@media screen and (max-width:1200px){.coop_page .swirl_object.left{max-width:120px}.coop_page .swirl_object.right{max-width:200px}}@media screen and (max-width:950px){.coop_page .swirl_object.left{display:none}}@media screen and (max-width:800px){.coop_page .swirl_object.right{max-width:170px;top:0;transform:translateY(-35%)}}@media screen and (max-width:600px){.coop_page .swirl_object.right{max-width:170px;top:0;transform:translateY(-55%)}}.cut-page .masthead .logo-row .logo{max-width:130px;width:100%}.cut-page .torch-angle{height:300px;overflow:hidden;position:relative}.cut-page .torch-angle .angle{background-color:#f1f1f3;height:100%;transform:rotate(8deg) translateX(-50%);position:relative;top:100%;left:50%;width:120%}.cut-page .outcomes-content .stats{font-size:106px;font-size:10.6rem;font-family:haptik,Helvetica,sans-serif;font-weight:600;line-height:1}.cut-page .outcomes-content span{display:block}.cut-page .our-contribution .contrib{display:block;border-bottom:1px solid #f1f1f3;padding-left:20px;padding-bottom:20px;padding-top:20px}.expertise-page .first_section h1{font-size:75px;font-size:7.5rem}.expertise-page .first_section h1 span{display:block}@media screen and (max-width:1025px){.expertise-page .first_section h1{font-size:53px;font-size:5.3rem}}.expertise-page .magic_section{background-size:cover;background-position:50%;background-repeat:no-repeat}.friends-page .site-header{background-color:transparent;position:fixed;top:0;left:0;z-index:2}.friends-page .site-header .friends-logomark svg path{fill:#f1f1f3}.friends-page .site-header .breadcrumb{color:#fff}.friends-page section:not(.standard-contact){background-color:#f1f1f3;position:relative;z-index:3}@media screen and (max-width:800px){.friends-page section:not(.standard-contact) .vc{position:relative}.friends-page section:not(.standard-contact) .vc .close-link-block{display:none}}.friends-page section:not(.standard-contact) .block{border-top:1px solid hsla(228,4%,75%,.4);padding:25px 0}.friends-page section:not(.standard-contact) .block:first-of-type{border-top:none}.friends-page section:not(.standard-contact) .feature-img{display:block;margin:40px 0 75px;text-align:center}.friends-page section:not(.standard-contact) .feature-img img{width:30%}.friends-page section:not(.standard-contact) .feature-img.wide img{width:80%}.friends-page section:not(.standard-contact) h1,.friends-page section:not(.standard-contact) h2,.friends-page section:not(.standard-contact) h3,.friends-page section:not(.standard-contact) h4,.friends-page section:not(.standard-contact) h5,.friends-page section:not(.standard-contact) h6{margin:0 0 10px}@media screen and (max-width:800px){.friends-page section:not(.standard-contact) h1,.friends-page section:not(.standard-contact) h2,.friends-page section:not(.standard-contact) h3,.friends-page section:not(.standard-contact) h4,.friends-page section:not(.standard-contact) h5,.friends-page section:not(.standard-contact) h6{font-size:45px;font-size:4.5rem;font-size:12vw}.friends-page section:not(.standard-contact) h1 .long,.friends-page section:not(.standard-contact) h2 .long,.friends-page section:not(.standard-contact) h3 .long,.friends-page section:not(.standard-contact) h4 .long,.friends-page section:not(.standard-contact) h5 .long,.friends-page section:not(.standard-contact) h6 .long{font-size:10.5vw}}.friends-page section:not(.standard-contact) h4,.friends-page section:not(.standard-contact) h5,.friends-page section:not(.standard-contact) h6{margin-top:80px}.friends-page section:not(.standard-contact) p{margin:15px 0}.friends-page section:not(.standard-contact) .expand-content{display:none;background:#fff;height:100%;position:absolute;top:0;left:0;width:100%}.friends-page section:not(.standard-contact) .expand-content .mobile-figure{display:none}@media screen and (max-width:800px){.friends-page section:not(.standard-contact) .expand-content{border:10px solid #bcbdc1;height:100%;left:0;position:fixed;top:0;width:100%;z-index:50}.friends-page section:not(.standard-contact) .expand-content .mobile-figure{display:block;margin:0 auto 10px;width:30%}.friends-page section:not(.standard-contact) .expand-content .mobile-figure img{border-radius:50%;width:100%}.friends-page section:not(.standard-contact) .expand-content>.vc{position:absolute;top:50%;transform:translateY(-50%);width:calc("1 - " $mobile-sides * 2)}}.friends-page section:not(.standard-contact) .expand-content .slide-media{display:none}.friends-page section:not(.standard-contact) .expand-content .close-carousel{display:block;position:absolute;height:25px;top:75px;right:25px;width:25px;z-index:5}@media screen and (max-width:800px){.friends-page section:not(.standard-contact) .expand-content .close-carousel{top:13px}}@media screen and (min-width:1600px){.friends-page section:not(.standard-contact) .expand-content .close-carousel{top:150px}}.friends-page section:not(.standard-contact) .expand-content .close-carousel figure{height:100%;width:100%}.friends-page section:not(.standard-contact) .expand-content .close-carousel figure svg{transform:rotate(45deg);transform-style:preserve-3d;width:100%}.friends-page section:not(.standard-contact) .expand-content .block{opacity:0;position:absolute;height:100%;left:0;top:0;width:100%}@media screen and (max-width:800px){.friends-page section:not(.standard-contact) .expand-content .block{border:none;padding:30px 25px 0;top:0}.friends-page section:not(.standard-contact) .expand-content .block .vc{padding:0 25px;padding:0;position:absolute;top:50%;transform:translateY(-53%);width:100%;width:calc("1 - "($mobile-sides * 2))}.friends-page section:not(.standard-contact) .expand-content .block .vc h4{margin-top:50px}}.friends-page section:not(.standard-contact) .expand-content .block.current{opacity:1;z-index:2}.friends-page section:not(.standard-contact) .expand-content .block.current.left{animation:h .4s ease forwards}.friends-page section:not(.standard-contact) .expand-content .block.current.right{animation:f .4s ease forwards}.friends-page section:not(.standard-contact) .expand-content .block.prev_left{opacity:1;animation:i .3s ease forwards}.friends-page section:not(.standard-contact) .expand-content .block.prev_right{opacity:1;animation:g .3s ease forwards}@media screen and (max-width:800px){.friends-page section:not(.standard-contact) .expand-content .close-link-block{bottom:50px;position:absolute;left:25px;width:calc("1 - "$mobile-sides * 2)}}@media screen and (min-width:800px){.friends-page section:not(.standard-contact) .expand-content .close-link-block{display:none}}@media screen and (max-width:800px){.friends-page section:not(.standard-contact) .expand-content .vc .close-link-block{display:none}}@media screen and (min-width:800px){.friends-page section:not(.standard-contact) .expand-content .vc p{max-width:410px}.friends-page section:not(.standard-contact) .expand-content .vc .close-link-block{display:block}}@media screen and (min-width:1600px){.friends-page section:not(.standard-contact) .expand-content .vc p{max-width:520px}}.friends-page section:not(.standard-contact) .expand-content .expand-nav{height:25px;position:absolute;bottom:75px;width:calc("1 - "$mobile-sides * 2);z-index:10}@media screen and (max-width:800px){.friends-page section:not(.standard-contact) .expand-content .expand-nav{bottom:25px;left:25px}}@media screen and (min-width:1600px){.friends-page section:not(.standard-contact) .expand-content .expand-nav{bottom:150px}}.friends-page section:not(.standard-contact) .expand-content .expand-nav output{font-size:14px;font-size:1.4rem;font-family:haptik,Helvetica,sans-serif;font-weight:100;position:absolute;top:50%;left:50%;transform:translateX(-50%) translateY(-50%);transform:preserve-3d}.friends-page section:not(.standard-contact) .expand-content .expand-nav .left-arr,.friends-page section:not(.standard-contact) .expand-content .expand-nav .right-arr{position:absolute;height:25px}.friends-page section:not(.standard-contact) .expand-content .expand-nav .left-arr svg,.friends-page section:not(.standard-contact) .expand-content .expand-nav .right-arr svg{height:100%}.friends-page section:not(.standard-contact) .expand-content .expand-nav .right-arr{right:0}@media screen and (min-width:800px){.friends-page section:not(.standard-contact) .expand-content .close-carousel{right:50px}.friends-page section:not(.standard-contact) .expand-content .expand-nav{width:calc("1 - "$tablet-sides * 2)}}@media screen and (min-width:1200px){.friends-page section:not(.standard-contact) .expand-content .close-carousel{right:85px}.friends-page section:not(.standard-contact) .expand-content .expand-nav{width:calc("1 - "$desktop-sides * 2)}}@media screen and (min-width:1600px){.friends-page section:not(.standard-contact) .expand-content .close-carousel{right:100px}.friends-page section:not(.standard-contact) .expand-content .expand-nav{width:calc("1 - "$mondo-sides * 2)}}.friends-page section:not(.standard-contact).intro{background:#fd8b09;color:#141424;z-index:1}.friends-page section:not(.standard-contact).intro .wrapper{height:auto;padding-top:135px;padding-bottom:75px}.friends-page section:not(.standard-contact).intro .feature-img{margin-top:0}.friends-page section:not(.standard-contact).intro .feature-img img{width:100px}.friends-page section:not(.standard-contact).intro h1{color:#fff;z-index:1}@media screen and (max-width:800px){.friends-page section:not(.standard-contact).intro h1{font-size:11vw}}.friends-page section:not(.standard-contact).intro p{margin:0 0 45px}.friends-page section:not(.standard-contact).intro .offering{color:#fd8b09}@media screen and (min-width:1600px){.friends-page section:not(.standard-contact).intro .wrapper>.vc h1{font-size:60px;font-size:6rem;max-width:500px}.friends-page section:not(.standard-contact).intro .wrapper>.vc p{max-width:480px}}.friends-page section:not(.standard-contact).what-do{background-color:#fff}@media screen and (min-width:800px){.friends-page section:not(.standard-contact).what-do .wrapper>.vc h2{font-size:60px;font-size:6rem}.friends-page section:not(.standard-contact).what-do .wrapper>.vc p{max-width:450px}}.friends-page section:not(.standard-contact).what-do .subtitle{margin-bottom:25px}@media screen and (min-width:800px){.friends-page section:not(.standard-contact).what-do .subtitle{margin-bottom:85px}}.friends-page section:not(.standard-contact).what-do .feature-img{margin-top:40px}.friends-page section:not(.standard-contact).what-do .feature-img img{width:80%}.friends-page section:not(.standard-contact).what-do h1,.friends-page section:not(.standard-contact).what-do h2,.friends-page section:not(.standard-contact).what-do h3,.friends-page section:not(.standard-contact).what-do h4{margin-top:50px}.friends-page section:not(.standard-contact).what-do .expand-content h2{font-size:32px;font-size:3.2rem;margin:0}@media screen and (max-width:800px){.friends-page section:not(.standard-contact).what-do .expand-content h2{font-size:8vw}}.friends-page section:not(.standard-contact).what-do .expand-content p{margin-top:10px;margin-bottom:30px}.friends-page section:not(.standard-contact).what-do .expand-content p span{color:#bcbdc1}.friends-page section:not(.standard-contact).what-do .expand-content p:last-of-type{margin-bottom:0}.friends-page section:not(.standard-contact).who{background:#141424;color:#fff}@media screen and (min-width:800px){.friends-page section:not(.standard-contact).who .wrapper>.vc h3{font-size:60px;font-size:6rem;max-width:350px}.friends-page section:not(.standard-contact).who .wrapper>.vc p{max-width:350px}}@media screen and (min-width:1600px){.friends-page section:not(.standard-contact).who .wrapper>.vc h3{font-size:60px;font-size:6rem;max-width:550px}.friends-page section:not(.standard-contact).who .wrapper>.vc p{max-width:420px}}.friends-page section:not(.standard-contact).who .subtitle{text-transform:capitalize}.friends-page section:not(.standard-contact).who .feature-img img{width:80%}.friends-page section:not(.standard-contact).who h2,.friends-page section:not(.standard-contact).who h3,.friends-page section:not(.standard-contact).who p{color:#fff}.friends-page section:not(.standard-contact).who .expand-content{background:#141424;color:#fff}.friends-page section:not(.standard-contact).how-we-work{border:none}.friends-page section:not(.standard-contact).how-we-work .expand-content{background:#f1f1f3}@media screen and (max-width:800px){.friends-page section:not(.standard-contact).how-we-work h2{font-size:11vw}}@media screen and (min-width:800px){.friends-page section:not(.standard-contact).how-we-work .wrapper>.vc h2{font-size:50px;font-size:5rem;max-width:420px}}@media screen and (min-width:1200px){.friends-page section:not(.standard-contact).how-we-work .wrapper>.vc h2{font-size:51px;font-size:5.1rem;max-width:450px}}@media screen and (min-width:1600px){.friends-page section:not(.standard-contact).how-we-work .wrapper>.vc h2{font-size:60px;font-size:6rem;max-width:480px}.friends-page section:not(.standard-contact).how-we-work .wrapper>.vc p{max-width:500px}}.friends-page section:not(.standard-contact).story{background-color:#fff}.friends-page section:not(.standard-contact).story h2,.friends-page section:not(.standard-contact).story p{color:#141424}@media screen and (max-width:800px){.friends-page section:not(.standard-contact).story .wrapper>.vc h2,.friends-page section:not(.standard-contact).story .wrapper>.vc p{max-width:500px}}@media screen and (min-width:1600px){.friends-page section:not(.standard-contact).story .wrapper>.vc h2,.friends-page section:not(.standard-contact).story .wrapper>.vc p{max-width:500px}}.friends-page section:not(.standard-contact).bios{background:#fff}.friends-page section:not(.standard-contact).bios .wrapper{max-width:none;padding:0}.friends-page section:not(.standard-contact).bios .bio{height:auto;margin:0;padding:0}.friends-page section:not(.standard-contact).bios .bio header{cursor:pointer;height:100%;position:relative;overflow:hidden;height:350px;width:100%}@media screen and (min-width:1600px){.friends-page section:not(.standard-contact).bios .bio header{height:500px}}.friends-page section:not(.standard-contact).bios .bio header:hover .bg-img{transform:scale(1.05)}.friends-page section:not(.standard-contact).bios .bio header .bg-img{-webkit-backface-visibility:hidden;backface-visibility:hidden;background-position:50%;background-repeat:no-repeat;background-size:cover;position:absolute;top:0;left:0;height:100%;width:100%;transition:all .3s ease;transform:scale(1);transform-style:preserve-3d}.friends-page section:not(.standard-contact).bios .bio header .padding{height:100%;position:relative;width:100%}.friends-page section:not(.standard-contact).bios .bio header .positioning{position:absolute;bottom:0}.friends-page section:not(.standard-contact).bios .bio header h5,.friends-page section:not(.standard-contact).bios .bio header span{color:#fff}.friends-page section:not(.standard-contact).bios .bio header h5{margin:0 0 10px}.friends-page section:not(.standard-contact).bios .bio article{transition:max-height .4s ease;overflow:hidden}@media screen and (min-width:1600px){.friends-page section:not(.standard-contact).bios .bio article .content{max-width:800px;margin:0 auto}}.friends-page section:not(.standard-contact).bios .bio article.closed{position:relative;max-height:0}.friends-page section:not(.standard-contact).bios .bio article.closed *{opacity:1;animation:a .5s ease forwards}.friends-page section:not(.standard-contact).bios .bio article.open{max-height:9000px}.friends-page section:not(.standard-contact).bios .bio article.open *{opacity:0;animation:e .8s ease forwards}.friends-page section.standard-contact .block:not(.david){display:none}@media screen and (min-width:800px){.friends-page .site-header{background:transparent;z-index:11}.friends-page .site-header .friends-logomark svg path{fill:#89898f}.friends-page .site-header .friends-logomark:hover svg path{fill:#f1f1f3}.friends-page section{background:#fff;min-height:100vh;position:relative;z-index:1}.friends-page section .block{padding:62px 0}.friends-page section .wrapper{color:#141424;min-height:100vh;position:relative}.friends-page section .wrapper .feature-img{display:none}.friends-page section .vc{left:0;position:absolute;top:50%;transform:translateY(-50%);transform-style:preserve-3d;width:100%}.friends-page section .vc h1,.friends-page section .vc h2,.friends-page section .vc h3,.friends-page section .vc h4,.friends-page section .vc h5{margin-top:0}.friends-page section.intro{background:#fff;border-bottom:1px solid #f1f1f3;height:auto;padding:0}.friends-page section.intro .wrapper{padding-top:110px;padding-bottom:75px;position:relative;left:auto;top:auto;height:auto}.friends-page section.intro .feature-img{display:none}.friends-page section.intro h1{transform:translateY(0);color:#fd8b09;font-size:50px;font-size:5rem;max-width:400px;position:relative;left:auto;top:auto;width:100%;z-index:1}.friends-page section.intro p{max-width:400px}.friends-page section.what-do .expand-content h2{font-size:40px;font-size:4rem;margin-bottom:0}.friends-page section.what-do .expand-content p .alt{color:#bcbdc1}.friends-page section.who{height:110vh}.friends-page section.who .expand-link-block a:hover figure svg path{fill:#fd8b09}.friends-page section.who .close-carousel{top:11%}.friends-page section.who .expand-nav{bottom:11%}}@media screen and (min-width:800px) and (min-width:1600px){.friends-page section.who .close-carousel{top:15%}.friends-page section.who .expand-nav{bottom:15%}}@media screen and (min-width:800px){.friends-page section.how-we-work{border-bottom:1px solid #f1f1f3}.friends-page section.story .wrapper>.vc h2{font-size:60px;font-size:6rem}.friends-page section.bios .bio header h5{font-size:40px;font-size:4rem}}@media screen and (min-width:1001px){.homepage .go_left,.homepage .go_right{transition:transform .5s cubic-bezier(.19,1,.22,1)}.homepage .go_left{transform:translateX(15px) translateY(15px)}.homepage .go_right{transform:translateX(-15px) translateY(15px)}.homepage .normy .go_left,.homepage .normy .go_right{transform:translateX(0) translateY(0)}}.homepage section:not(.page_heading){perspective:1000px}.homepage .page_heading{padding-bottom:9rem;padding-top:15rem;width:100%}@media screen and (max-width:800px){.homepage .page_heading .holder{padding-right:30px}}.homepage .page_heading h1{font-size:80px;font-size:8rem;margin-top:0;margin-bottom:3.5rem;max-width:500px;transform:translateY(0) scale(1);transform-origin:left bottom}@media screen and (max-width:800px){.homepage .page_heading h1{font-size:200px;font-size:20rem}}.homepage .page_heading h1 a{color:#141424;position:relative}.homepage .page_heading h1 a .arrow{display:inline-block;position:relative;transform:translateY(-7px);transition:all .2s ease}.homepage .page_heading h1 a .arrow svg path{transition:all .2s ease-out}.homepage .page_heading h1:hover .arrow{transform:translateY(-7px) translateX(5px)}@media screen and (max-width:1100px){.homepage .page_heading h1{font-size:60px;font-size:6rem}}@media screen and (max-width:800px){.homepage .page_heading h1{font-size:40px;font-size:4rem}.homepage .page_heading h1 a .arrow{transform:translateY(2px);width:30px}.homepage .page_heading h1 a .arrow svg{width:100%}}.homepage .page_heading small{display:block;font-size:15px;font-size:1.5rem;font-family:Roboto Mono,monospace;line-height:1.6;max-width:400px}.homepage .btn_home{bottom:45px;color:#fff;left:50px;position:absolute;transition:all .2s ease-in-out;width:calc(100% - 100px);z-index:2}.homepage .copy{background-size:cover;background-repeat:no-repeat;background-position:50%;color:#fff;position:relative}.homepage .copy .subtitle{color:#fff;display:inline-block;font-family:Roboto Mono,monospace;font-weight:400;font-size:12px;font-size:1.2rem;letter-spacing:1px;line-height:1;padding:0 5rem;position:absolute;top:50px;text-transform:uppercase}@media screen and (max-width:600px){.homepage .copy .subtitle{padding:0 3rem}}.homepage .copy .subtitle em{color:#000;font-weight:400;padding-left:1.5rem}.homepage .copy .content{position:relative;max-height:100%}.homepage .copy .content h2{font-size:3vw;font-weight:400;line-height:1.2;left:0;padding:0 5rem;position:absolute;top:50%;transform:translateY(-60%)}@media screen and (max-width:600px){.homepage .copy .content h2{padding:0 3rem}}@media screen and (max-width:1000px){.homepage .copy .content h2{font-size:4vw}}@media screen and (min-width:1350px){.homepage .copy .content h2{font-size:44px;font-size:4.4rem}}.homepage section{position:relative}.homepage section .content_item a h2,.homepage section .content a h2{color:#fff}@media screen and (max-width:800px){.homepage section .content .btn,.homepage section .content_item .btn{display:none}.homepage section .content_item a h2,.homepage section .content a h2{color:#fff;font-size:3.1rem!important}}.homepage section.right_content{z-index:1}.homepage section.right_content.first{z-index:3}.homepage section.right_content .content_item{background-color:#bcbdc1;bottom:-100px;height:100%;position:absolute;right:0;width:calc(33.333333333% - 33.333333333px);z-index:2}.homepage section.right_content .content_item .copy{height:100%;margin:0}.homepage section.right_content .content_item .copy .content{color:#fff;height:100%}.homepage section.right_content .media_item{position:relative;z-index:1;height:70vh;min-height:530px;max-height:600px;width:85%}.homepage section.right_content .media_item .content{background-size:cover;background-position:50%;background-repeat:no-repeat;height:100%;left:0;position:absolute;top:0;width:100%}@media screen and (max-width:800px){.homepage section.right_content .media_item .content.right_side{background-position:0 100%}}.homepage section.right_content.margin_top{margin-top:20rem}.homepage section.left_content{margin-top:10rem;z-index:2}.homepage section.left_content .content_item{height:70vh;min-height:530px;max-height:600px;width:100%}.homepage section.left_content .content_item:before{background-color:#141424;content:"";left:0;position:absolute;top:0;height:100%;width:calc(66.666666667% + 33.333333333px);width:60%;z-index:1}.homepage section.left_content .content_item .copy{height:100%;position:relative;margin:0;width:calc(33.333333333% - 33.333333333px);z-index:2}.homepage section.left_content .content_item .copy .content{height:100%}@media screen and (max-width:600px){.homepage section.left_content .content_item .copy{max-width:100%;min-width:auto}}.homepage section.left_content .content_item .copy .subtitle em{color:#bcbdc1}.homepage section.left_content .media_item{height:100%;bottom:-100px;position:absolute;right:0;width:66.666666667%}.homepage section.left_content .media_item .video_container{height:100%;overflow:hidden;position:relative;width:100%}.homepage section.left_content .media_item .video_container .video_player{left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);height:100%;width:100%;-o-object-fit:cover;object-fit:cover}.homepage section.left_content .media_item .content{height:100%;width:100%}.homepage section.two_cards{margin:10rem 0 0;padding-bottom:20rem}@media screen and (max-width:1000px){.homepage section.two_cards{padding-bottom:5rem}}.homepage section.two_cards .row{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;height:70vh;min-height:530px;max-height:600px}.homepage section.two_cards .row:after,.homepage section.two_cards .row:before{display:none}.homepage section.two_cards .media_item{background-position:50%;background-size:cover;background-repeat:no-repeat;position:absolute;height:100%;top:0;left:100px;width:calc(66.666666666% - 166.666666667px);z-index:1}.homepage section.two_cards .media_item a{display:block;height:100%;width:100%}.homepage section.two_cards .card{background-size:cover;background-repeat:no-repeat;background-position:50%;position:relative;top:100px;width:calc(33.333333333% - 33.333333333px);z-index:2}.homepage section.two_cards .card .copy{padding:4.5rem;position:absolute;height:100%;width:100%;z-index:2}.homepage section.two_cards .card .copy .subtitle{display:block;padding:0;position:relative;top:auto;left:auto}.homepage section.two_cards .card .copy .content{position:absolute;padding:0 4.5rem;top:50%;left:0;transform:translateY(-75%)}.homepage section.two_cards .card .copy .content h2{color:#fff;padding:0;position:relative;top:auto;left:auto;transform:none}@media screen and (min-width:1750px){.homepage section.two_cards .card .copy .content h2{font-size:44px;font-size:4.4rem}}.homepage section.two_cards .card .copy .btn{bottom:45px;position:absolute;left:45px;width:calc(100% - 90px);padding-right:0}.homepage section.two_cards .card .media{background-color:#141424;height:100%;left:0;position:absolute;top:0;width:100%;z-index:1}.homepage section.two_cards .card .media figure{background-position:50%;background-repeat:no-repeat;background-size:cover;height:100%;opacity:1;transition:all .2s ease-in-out;width:100%}.homepage section.dandelion_theme .content_item{background-color:#fdd95f}.homepage section.dandelion_theme .content_item .copy .subtitle{color:#000}.homepage section.dandelion_theme .content_item .copy .content,.homepage section.dandelion_theme .content_item .copy .content h2,.homepage section.dandelion_theme .content_item .copy .subtitle em{color:#db544b}.homepage section.como_theme .content_item{background-color:#4b6c58}.homepage section.darkblue_theme .subtitle em{color:#bcbdc1}.homepage section.darkblue_theme .content_item{background-color:#0a00aa}@media screen and (max-width:1150px){.homepage section.right_content .content_item{width:calc(33.333333333% - 16.666666667px)}.homepage section.left_content .content_item,.homepage section.right_content .media_item{height:50vh}.homepage section.left_content .content_item .copy{width:calc(33.333333333% - 16.666666667px)}.homepage section.left_content .media_item{width:calc(66.666666667% - 16.666666667px)}.homepage section.two_cards .row{height:50vh;min-height:530px;max-height:600px}.homepage section.two_cards .card{width:calc(33.333333333% - 16.666666667px)}}@media screen and (max-width:1000px){.homepage section.right_content .content_item{bottom:0;width:50%}.homepage section.right_content .media_item{width:50%}.homepage section.left_content,.homepage section.right_content.margin_top{margin-top:7rem}.homepage section.left_content .content_item .copy,.homepage section.left_content .content_item:before{width:50%}.homepage section.left_content .media_item{bottom:0;width:50%}.homepage section.two_cards{margin:7rem 0 0}.homepage section.two_cards>.row{display:block;padding-top:0;height:auto;min-height:auto;max-height:none}.homepage section.two_cards .media_item{top:0;left:0;height:100%;width:50%;z-index:2;height:50vh;min-height:530px;max-height:600px}.homepage section.two_cards .card{margin-bottom:7rem;height:100%;top:auto;width:100%;z-index:1;height:50vh;min-height:530px;max-height:600px}.homepage section.two_cards .card:last-of-type{margin-bottom:0}.homepage section.two_cards .card .media{width:50%}.homepage section.two_cards .card .media figure{background-size:102% auto}.homepage section.two_cards .card:hover .media figure{background-size:105% auto}.homepage section.two_cards .card .copy{background-color:#d7cdc2;right:0;top:0;width:50%}}@media screen and (max-width:800px){.homepage section.left_content,.homepage section.right_content.margin_top{margin-top:3rem}.homepage section.left_content .content_item,.homepage section.left_content .media_item,.homepage section.right_content .content_item,.homepage section.right_content .media_item{width:100%}.homepage section.left_content .media_item,.homepage section.right_content .media_item{height:31.6rem;min-height:auto;max-height:none}.homepage section.left_content .content_item,.homepage section.right_content .content_item{height:auto;position:relative}.homepage section.left_content>.row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap-reverse;flex-wrap:wrap-reverse}.homepage section.left_content .content_item,.homepage section.left_content .media_item{min-height:auto;max-height:none;width:100%}.homepage section.left_content .media_item{bottom:auto;position:relative;right:auto}.homepage section.left_content .content_item .copy,.homepage section.left_content .content_item:before{width:100%}.homepage section.left_content,.homepage section.right_content{margin-top:3rem}.homepage section.left_content:first-of-type,.homepage section.right_content:first-of-type{margin-top:0}.homepage section.two_cards{margin:3rem 0 0;padding-bottom:3rem}.homepage section.two_cards .media_item{height:31.6rem;position:relative;min-height:auto;max-height:none;width:100%;top:auto;left:auto}.homepage section.two_cards .card{margin-bottom:3rem;height:auto;min-height:auto;width:100%}.homepage section.two_cards .card.bg_brute{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap-reverse;flex-wrap:wrap-reverse;margin-bottom:0}.homepage section.two_cards .card .media{height:31.6rem;min-height:auto;max-height:none;position:relative;top:auto;left:auto;width:100%}.homepage section.two_cards .card .content{position:relative;width:100%}.homepage section.two_cards .card .content .copy{padding:3rem;position:relative;width:100%;top:auto;right:auto}.homepage section.two_cards .card .content .copy .btn{bottom:auto;left:auto;position:relative;width:100%}.homepage section.two_cards .card .content .copy .content{position:relative;width:100%;top:auto;left:auto;padding:0;transform:none;max-height:none}.homepage section.two_cards .card .content .copy .content h2{margin:2rem 0;padding:0;position:relative;transform:none;top:auto;font-size:30px;font-size:3rem}.homepage section.two_cards .card:last-of-type.bg_brute .content .copy{background-color:#141424}.homepage section.two_cards .card:last-of-type.bg_brute .content .copy .subtitle em{color:#bcbdc1}.homepage section.first{margin-top:0}.homepage section .media_item{display:block;height:31.6rem;position:relative;width:100%}.homepage section .content_item{display:block;padding:3rem;position:relative;width:100%}.homepage section .content_item .copy .subtitle{padding:0;position:relative;top:auto}.homepage section .content_item .copy .content{position:relative}.homepage section .content_item .copy .content h2{margin:2rem 0;padding:0;position:relative;transform:none;top:auto;font-size:30px;font-size:3rem}.homepage section .content_item .btn_home{bottom:auto;left:auto;position:relative;width:100%}}@media screen and (max-width:600px){.homepage section.left_content,.homepage section.right_content.margin_top{margin-top:2rem}.homepage section.two_cards{margin:2rem 0 0;padding-bottom:2rem}.homepage section.two_cards .card{margin-bottom:2rem}}.projects-page .standard-page-section{border-bottom:1px solid #e0e0e7;margin-bottom:0;padding:5rem 0}.projects-page .standard-page-section:last-of-type{border-bottom:none}@media print,screen and (min-width:37.5em){.projects-page .standard-page-section{padding:6rem 0}}.projects-page .standard-page-section p:not(:last-child){margin-bottom:2rem}.projects-page .section-topics{border-top:none}.space_page .site_header .logo .logo_link svg path{fill:#fff}.space_page .site_header .site_nav ul li a{color:#fff}.space_page .site_header .site_nav ul li.current a,.space_page .site_header .site_nav ul li a:hover{color:#5e6b79}.space_page .universal_header .white{color:#fff}.space_page article{z-index:1}.space_page section p a{color:#0a00aa!important}.space_page section p a:after{background-color:#0a00aa!important}.space_page section p a:hover{color:#141424!important}.space_page section p a:hover:after{background-color:#141424!important}.space_page .three_cards .card{background-color:#0a00aa;border-radius:3px;color:#fff;height:52rem;padding:3rem;position:relative;width:100%}.space_page .three_cards .card .date_range{color:#c0c9d7;font-family:Roboto Mono,monospace;font-size:11px;font-size:1.1rem;text-transform:uppercase}.space_page .three_cards .card .text{margin:0;padding:0 3rem 3rem;position:absolute;bottom:0;left:0}.space_page .three_cards .card .text h3{font-size:33px;font-size:3.3rem;line-height:1.1}@media screen and (max-width:800px){.space_page .three_cards .center_col{padding:0}.space_page .three_cards .card{margin-bottom:5rem}}@media screen and (min-width:800px) and (max-width:950px){.space_page .three_cards .card{width:calc(33.333333333% - 10px)}}@media screen and (min-width:950px){.space_page .three_cards .card{height:100%;width:calc(33.333333333% - 20px)}}@media screen and (min-width:800px){.space_page .three_cards{height:52rem;margin:6rem 0}.space_page .three_cards .center_col{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-wrap:wrap;flex-wrap:wrap;height:100%;max-width:1100px}}.space_page .space_form{padding:6rem 0}.space_page .space_form label{font-size:13px;font-size:1.3rem;color:#c0c9d7;font-family:Roboto Mono,monospace;display:block}.space_page .space_form fieldset{border:none;padding:0}.space_page .space_form input,.space_page .space_form textarea{background-color:transparent}.space_page .space_form input:-ms-input-placeholder,.space_page .space_form textarea:-ms-input-placeholder{color:#fff}.space_page .space_form input::placeholder,.space_page .space_form textarea::placeholder{color:#fff}.space_page .space_form input{font-size:20px;font-size:2rem;color:#fff;border-top:0;border-left:0;border-right:0;border-bottom:1px solid #5b54c7;font-weight:300;padding-bottom:1.5rem;padding-top:1.5rem}.space_page .space_form textarea{border:1px solid #5b54c7;font-size:20px;font-size:2rem;color:#fff;font-weight:300;margin-top:4rem;padding:3rem;width:100%}.space_page .space_form .row1{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;margin-bottom:2.8rem}.space_page .space_form .row1 fieldset{width:calc(50% - 15px)}.space_page .space_form .row1 fieldset input{width:100%}@media screen and (max-width:800px){.space_page .space_form .row1{-ms-flex-wrap:wrap;flex-wrap:wrap}.space_page .space_form .row1 fieldset{width:100%}.space_page .space_form .row1 fieldset:first-of-type{margin-bottom:2.8rem}}.space_page .space_form .row2 input{width:100%}.space_page .space_form .submission button{cursor:pointer}.space_page .space_form .submission .message{display:inline-block;margin-left:2rem}.space_page .space_form .submission .message.error{color:#db544b}@media screen and (max-width:800px){.space_page .space_form .submission .message{display:block;margin-top:1.5rem;margin-left:0}}.story-page .site-header{background:transparent;position:fixed;top:0;left:0;z-index:2}.story-page section{position:relative;z-index:3}.story-page section header{text-align:center}.story-page section header .oval{margin:58px 0 67px}.story-page section header .oval img{width:85%}.story-page section h1,.story-page section h2{margin:50px 0}.story-page section p{margin:20px 0}.story-page section.intro{background:#fff;height:auto;z-index:1}.story-page section.intro .wrapper{padding-top:130px;padding-bottom:50px;position:relative}.story-page section.intro .feature{margin-bottom:30%;text-align:center}.story-page section.intro .feature img{width:25%}.story-page section.intro h1{z-index:1}.story-page section.intro p{margin:0 0 45px}.story-page section.intro ul li{display:inline-block;margin-bottom:20px;margin-right:25px;position:relative}.story-page section.intro ul li a{color:#fff;border-bottom:1px solid #fff;padding-bottom:3px}.story-page section.intro ul li a:hover{color:#2747ed}.story-page section.intro ul li>img{display:none}.story-page section.our-background{background:#f1f1f3}.story-page section.carousel{background:#fff}.story-page section.standard-contact .block:not(.david){display:none}@media screen and (min-width:800px){.story-page .site-header{background:transparent;z-index:11}.story-page section{z-index:1}.story-page section .wrapper{color:#141424}.story-page section.intro{background:#fff;height:auto;padding:0}.story-page section.intro .wrapper{padding-top:200px;padding-bottom:75px;position:relative;left:auto;top:auto;height:auto}.story-page section.intro h1{transform:translateY(0);position:relative;left:auto;top:auto;width:100%;z-index:1}.story-page section.intro ul li{display:block;margin-bottom:20px;margin-right:0;position:relative}.story-page section.intro ul li a{color:#141424;color:#f1f1f3;border-bottom:1px solid #fd8b09}.story-page section.intro ul li>img{transform:translate(-250%,-50%);display:block;position:absolute;top:50%;left:0;width:20px}}@media screen and (min-width:800px){.work-page .work_intro{margin-bottom:-7.5rem}}.work-page .work_intro .centered_content{max-width:485px}.work-page .work_intro .centered_content h1,.work-page .work_intro .centered_content p{color:#141424}.work-page .work_intro .client_list em{display:none}.work-page .work_intro .client_list.open{background-color:#5e6b79;color:#fff;border-color:#5e6b79}.work-page .work_intro .client_list.open:after,.work-page .work_intro .client_list.open:before,.work-page .work_intro .client_list.open svg{display:none}.work-page .work_intro .client_list.open em{display:inline-block;content:"×";position:absolute;font-weight:300;font-size:28px;font-size:2.8rem;left:30px;top:50%;transform:translateY(-55%)}.work-page .work_intro .client_list.open:hover{background-color:#535e6b;border-color:#535e6b}@media screen and (max-width:950px){.work-page .work_intro{padding-top:20rem;padding-bottom:9rem}}@media screen and (max-width:800px){.work-page .work_intro{padding-top:15rem;padding-bottom:7rem}}.work-page .client_sheet{display:none}.work-page .client_sheet>.row{border-top:1px solid #e0e0e7;padding-top:6rem;padding-bottom:2rem}@media screen and (max-width:800px){.work-page .client_sheet>.row{padding-top:5rem;padding-bottom:0}}.work-page .client_sheet.open{display:block}.work-page .client_sheet .client{background-position:50%;background-repeat:no-repeat;background-size:65% auto;height:90px;float:left;margin-bottom:70px;width:20%}.work-page .client_sheet .client.square{background-size:30% auto}@media screen and (max-width:800px){.work-page .client_sheet .client{width:25%}}@media screen and (max-width:600px){.work-page .client_sheet .client{width:33.3333%}}@media screen and (max-width:400px){.work-page .client_sheet .client{width:50%}}.work-page .client-filters:after,.work-page .client-filters:before{display:table;content:" ";-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-order:1;order:1}.work-page .client-filters:after{clear:both}.work-page .client-filters .filters-active{padding-top:4.5rem}.work-page .client-filters .filters-active:after,.work-page .client-filters .filters-active:before{display:table;content:" ";-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-order:1;order:1}.work-page .client-filters .filters-active:after{clear:both}.work-page .client-filters .filters-active .filters-btn{display:block;height:19px;float:left;position:relative;top:-4px;margin-right:2rem;width:23px}.work-page .client-filters .filters-active .filters-btn svg{transform:translateY(7px)}.work-page .client-filters .filters-active .filters-btn svg path{fill:#fd8b09;transition:fill .2s ease}.work-page .client-filters .filters-active .filters-btn.is-active svg path{fill:#141424}.work-page .client-filters .filters-active .filters-btn.hover svg path,.work-page .client-filters .filters-active .filters-btn:hover svg path{fill:#bcbdc1}.work-page .client-filters .filters-active .filters-container{display:block;float:left;width:calc(100% - (2rem + 25px))}.work-page .client-filters .filters-active .filters-container button{padding:0 1.5rem 0 0;transition:all .2s ease;font-weight:400;text-transform:capitalize}.work-page .client-filters .filters-active .filters-container button[data-filter=all]:hover{color:#bcbdc1}.work-page .client-filters .filters-active .filters-container button:not([data-filter=all]):after{color:#bcbdc1;content:"\00d7";display:inline;font-weight:400;padding-left:7px;transition:all .2s ease}.work-page .client-filters .filters-active .filters-container button:hover:after{color:#141424}.work-page .client-filters .filters-options{display:none;margin:4.5rem 0 0}.work-page .client-filters .filters-options.is-active{display:block}.work-page .client-filters .filters-options button{border:2px solid #bcbdc1;margin-right:1.7rem;margin-bottom:1.7rem;padding:1.2rem 2.2rem;text-transform:capitalize;transition:all .2s ease}.work-page .client-filters .filters-options button.is-active,.work-page .client-filters .filters-options button:hover{background-color:#fd8b09;border-color:#fd8b09;color:#fff}.work-page .client-entries{padding-top:0}.work-page .client-entries .master_row .row{padding-top:0;padding-bottom:0}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImhlbHBlcnMvX3Jlc2V0LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9fdmVuZG9yL25vcm1hbGl6ZS1zY3NzL3Nhc3Mvbm9ybWFsaXplL19ub3JtYWxpemUtbWl4aW4uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL192ZW5kb3Ivbm9ybWFsaXplLXNjc3Mvc2Fzcy9ub3JtYWxpemUvX3ZlcnRpY2FsLXJoeXRobS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvX3ZlbmRvci9ub3JtYWxpemUtc2Nzcy9zYXNzL25vcm1hbGl6ZS9fdmFyaWFibGVzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL19nbG9iYWwuc2NzcyIsIl9zZXR0aW5ncy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19taXhpbnMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fcm93LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2d1dHRlci5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL191bml0LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2NsYXNzZXMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fYnJlYWtwb2ludC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19zaXplLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2NvbHVtbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19wb3NpdGlvbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19sYXlvdXQuc2NzcyIsImhlbHBlcnMvX3ZhcmlhYmxlcy5zY3NzIiwiaGVscGVycy9fdHlwb2dyYXBoeS5zY3NzIiwidmlld3MvX3dvcmsuc2NzcyIsInZpZXdzL19jYXJlZXJzLnNjc3MiLCJ2aWV3cy9fYWJvdXQuc2NzcyIsImhlbHBlcnMvX3JlbWlmeS5zY3NzIiwidmlld3MvX3NwYWNlLnNjc3MiLCJoZWxwZXJzL19taXhpbnMuc2NzcyIsInZpZXdzL19jb29wLnNjc3MiLCJoZWxwZXJzL19hbmltYXRpb25zLnNjc3MiLCJoZWxwZXJzL19nbG9iYWwuc2NzcyIsImNvbXBvbmVudHMvX2FjdGlvbmJ0bi5zY3NzIiwiY29tcG9uZW50cy9fYXJ0aWNsZXMtbmV4dC5zY3NzIiwiY29tcG9uZW50cy9fYnV0dG9ucy5zY3NzIiwiY29tcG9uZW50cy9fZm9vdGVyLnNjc3MiLCJjb21wb25lbnRzL19ncmlkLnNjc3MiLCJjb21wb25lbnRzL19uYXYuc2NzcyIsImNvbXBvbmVudHMvX25ld3Mtc3RyZWFtLnNjc3MiLCJjb21wb25lbnRzL19yZWxhdGVkX2xpbmtzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvc2xpY2stY2Fyb3VzZWwvc2xpY2svc2xpY2suc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9hb3Mvc3JjL3Nhc3MvX2NvcmUuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9hb3Mvc3JjL3Nhc3MvX2Vhc2luZy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Fvcy9zcmMvc2Fzcy9fYW5pbWF0aW9ucy5zY3NzIiwidmlld3MvXzQwNC5zY3NzIiwidmlld3MvX2FydGljbGUuc2NzcyIsInZpZXdzL19jYXNlc3R1ZGllcy5zY3NzIiwidmlld3MvX2NvbW1hbmQuc2NzcyIsInZpZXdzL19jb250YWN0LnNjc3MiLCJ2aWV3cy9fY3V0LnNjc3MiLCJ2aWV3cy9fZXhwZXJ0aXNlLnNjc3MiLCJ2aWV3cy9fZnJpZW5kcy5zY3NzIiwidmlld3MvX2hvbWUuc2NzcyIsInZpZXdzL19wcm9qZWN0cy5zY3NzIiwidmlld3MvX3N0b3J5LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMlpBYUUsU0FDQSxVQUNBLFNBQ0EsYUFDQSxlQUNBLHVCQUF3QixDQUN6QixLQUdDLGFBQWMsQ0FDZixNQUdDLGVBQWdCLENBQ2pCLE1BR0MseUJBQ0EsZ0JBQWlCLENBQ2xCLGNBR0MsZ0JBQ0EsZ0JBQ0EscUJBQXNCLENBQ3ZCLGFBR0MsV0FBWSxDQUNiLG9EQUVDLFdBQ0EsWUFBYSxDQUNkLE1BR0MsV0FBWSxDQUNiLDJGQUdDLGFBQWMsQ0FDZixPQUVRLGdCQUFrQixZQUFjLGVBQWlCLFNBQVcsQUFBWSxZQUFjLGNBQWdCLGFBQWUsVUFBYSxDQUFxQixpRUFuQ2hLLEtDc0NNLHVCQVFFLGlCQUVGLDBCQUNBLDZCQUE4QixDQUMvQixBQWFBLHdDQVlDLGFBQWMsQ0FDZixHQ3ZFSCxjRHlGTSxjQUFnQixDQUVuQixrQkFrRkMsYUFBYyxDQUNmLE9BV0csZUV2TFksQ0Z5TGYsR0FRQyx1QkFDQSxTQUNBLGdCQUFpQixDQUNsQixLQU9DLGFBQWMsQ0FDZixJQW1CQyxnQ0FDQSxhQUFjLENBQ2YsRUFhQyw2QkFDQSxvQ0FBcUMsQ0FDdEMsaUJBU0MsZUFBZ0IsQ0FDakIsWUFhQyxtQkFDQSwwQkFDQSxnQ0FBaUMsQ0FDbEMsU0FRQyxvQkFBb0IsQUFTcEIsa0JBQW1CLENBWHJCLEFBWUMsY0FVQyxnQ0FDQSxhQUFjLENBQ2YsSUFPQyxpQkFBa0IsQ0FDbkIsS0FPQyxzQkFDQSxVQUFXLENBQ1osTUFPQyxhQUFjLENBQ2YsUUFTQyxjQUNBLGNBQ0Esa0JBQ0EsdUJBQXdCLENBQ3pCLElBR0MsYUFBZSxDQUNoQixJQUdDLFNBQVcsQ0FDWixZQWFDLG9CQUFxQixDQUN0QixzQkFPQyxhQUNBLFFBQVMsQ0FDVixJQU9DLGlCQUFrQixDQUNuQixlQU9DLGVBQWdCLENBQ2pCLHNDQWlCQyx1QkFDQSxlQUtFLGlCQUVGLFFBQVMsQ0QxWGYsT0NrWU0sZ0JBQWlCLENBQ2xCLGNBU0MsbUJBQW9CLENBQ3JCLHFEQVlDLHlCQUEwQixDQUMzQix3SEFZRyxrQkFDQSxTQUFVLENBWGQsNEdBbUJJLDZCQUE4QixDQUMvQixNQVFELGdCQUFpQixDQUNsQiw2QkFTQyxzQkFDQSxTQUFVLENBQ1gsa0ZBUUMsV0FBWSxDQUNiLGNBUUMsNkJBQ0EsbUJBQW9CLENBVXJCLHFGQUZHLHVCQUF3QixDQUN6Qiw2QkFTRCwwQkFDQSxZQUFhLENBQ2QsU0FPQyx3QkFDQSxhQUNBLDBCQUE4QixDQUMvQixPQVVDLHNCQUNBLGNBQ0EsZUFDQSxVQUNBLGNBQ0Esa0JBQW1CLENBQ3BCLFNBUUMscUJBQ0EsdUJBQXdCLENBQ3pCLFNBT0MsYUFBYyxDQUNmLFFBWUMsYUFBYyxDQUNmLFFBT0MsaUJBQWtCLENBQ25CLEtBT0MsYUFBYyxDQXFCZixPQVlDLG9CQUFxQixDQUN0QixBQVFBLGtCQVlDLFlBQWEsQ0FDZCxlR3RoQkQsb0dBQWdELENKdEhwRCxLSTJISSxjQ2pHbUIsQ0RrR3BCLEFIL0RDLEtHMEVBLFNBQ0EsVUFFQSxtQkFFQSw2REFDQSxBQUNBLGdCQUNBLGNBR0UsbUNBQ0EsaUNBQWtDLENIdU9wQyxJR2pPQSxxQkFDQSxzQkFHQSxlQUNBLFlBQ0EsOEJBQStCLENId1ovQixTR25aQSxZQUNBLGdCQUNBLGVDaEhhLENEaUhkLE9BSUMsc0JBQ0EsV0FDQSxlQ3ZIYSxDRHdIZCw2R0FTRyx3QkFBMEIsQ0pwSmhDLE9JMkpJLFVBQ0Esd0JBQUEscUJBQUEsZ0JBQ0EsU0FDQSxnQkFDQSx1QkFDQSxjQUNBLFdBeEd1QixDQXlHeEIsOEJFaEJDLFNBQVUsQ0FDWCxJRm1CQyxhQUFjLENIdU1kLHNDRzlMQSxtQkFBb0IsQ0FDckIsWUFJQyx1QkFBeUIsQ0FDMUIsV0FHQyxzQkFBd0IsQ0FDekIsS0doSkQsaUJBbkNFLGtCQUNBLGdCQUFpQixDRDBHbkIsdUJBRUUsY0FDQSxZQUdFLDBCQUFBLGFBQ0EsaUJBQUEsT0FBUSxDQUVYLFdBR0MsVUFBVyxDQUNaLDZDRWhLQyxnQkFDQSxjQ3NFUyxDQ2xFWCxVSHlERSx3QkFDQSxzQkFIK0QsQ0lpRjdELHlDRHhJSixVSHlERSx3QkFDQSxzQkFIK0QsQ0dyQzlELENDc0hDLDJDRHhJSixVSHlERSx3QkFDQSxzQkFIK0QsQ0dyQzlELENDc0hDLHlDRHhJSixVSHlERSx1QkFDQSxxQkFIK0QsQ0dyQzlELENDMkhDLG1DRDdJSixVSHlERSx1QkFDQSxxQkFIK0QsQ0dyQzlELENDMkhDLG1DRDdJSixVSHlERSx1QkFDQSxxQkFIK0QsQ0dyQzlELENDMkhDLG9DRDdJSixVSHlERSx1QkFDQSxxQkFIK0QsQ0dyQzlELENBbEJILG1CQWVNLGVBQ0EsYUFBYyxDQWhCcEIsY0hzRUEsY0FIYSxDR25FYixtQkF5Qk0sa0JBQ0EsZ0JBQWlCLENBMUJ2Qix5QkhzRUEsY0FIYSxDR25FYix1REZMRSx3QkFDQSxzQkFIcUMsQ0VPdkMscURGTEUsdUJBQ0EscUJBSHFDLENFZ0Q5QixpQkV0RFQsV0M4Q0EsV0x0Q0Usd0JBQ0Esc0JBSHFDLENHK0luQyx5Q0R4RkosaUJGckRFLHVCQUNBLHFCQUhxQyxDRStEdEMsQ0doQkMsMkVBQ0UsV1RxRHNELENTcER2RCxxRUNwQkQsVVZ1RXVELENVdEV4RCxpQ0pzQ0MsVUFBVyxDQUNaLDJDQUlDLGVBQ0EsY0FDQSxnQkFDQSxjQUFlLENBQ2hCLFVFbkZELG1CQ2VxRCxDSDJFaEQsZUl6Rkgsa0JBQ0Esa0JBSG1ELENKaUc5QyxlSS9GTCxrQkFDQSxtQkFIbUQsQ0pxRzlDLGlCSXhFUCxhRGhCZ0MsQ0g0RTVCLFVFeEZKLG9CQ2VxRCxDSDJFaEQsZUl6Rkgsa0JBQ0EsbUJBSG1ELENKaUc5QyxlSS9GTCxrQkFDQSxvQkFIbUQsQ0pxRzlDLGlCSXhFUCx5QkRicUQsQ0h5RWpELFVFeEZKLFNDZXFELENIMkVoRCxlSXpGSCxrQkFDQSxRQUhtRCxDSmlHOUMsZUkvRkwsa0JBQ0EsU0FIbUQsQ0pxRzlDLGlCSXhFUCwwQkRicUQsQ0h5RWpELFVFeEZKLG9CQ2VxRCxDSDJFaEQsZUl6Rkgsa0JBQ0EsbUJBSG1ELENKaUc5QyxlSS9GTCxrQkFDQSxvQkFIbUQsQ0pxRzlDLGlCSXhFUCxlRGJxRCxDSHlFakQsVUV4Rkosb0JDZXFELENIMkVoRCxlSXpGSCxrQkFDQSxtQkFIbUQsQ0ppRzlDLGVJL0ZMLGtCQUNBLG9CQUhtRCxDSnFHOUMsaUJJeEVQLDBCRGJxRCxDSHlFakQsVUV4RkosU0NlcUQsQ0gyRWhELGVJekZILGtCQUNBLFFBSG1ELENKaUc5QyxlSS9GTCxrQkFDQSxTQUhtRCxDSnFHOUMsaUJJeEVQLDBCRGJxRCxDSHlFakQsVUV4Rkosb0JDZXFELENIMkVoRCxlSXpGSCxrQkFDQSxtQkFIbUQsQ0ppRzlDLGVJL0ZMLGtCQUNBLG9CQUhtRCxDSnFHOUMsaUJJeEVQLGVEYnFELENIeUVqRCxVRXhGSixvQkNlcUQsQ0gyRWhELGVJekZILGtCQUNBLG1CQUhtRCxDSmlHOUMsZUkvRkwsa0JBQ0Esb0JBSG1ELENKcUc5QyxpQkl4RVAsMEJEYnFELENIeUVqRCxVRXhGSixTQ2VxRCxDSDJFaEQsZUl6Rkgsa0JBQ0EsUUFIbUQsQ0ppRzlDLGVJL0ZMLGtCQUNBLFNBSG1ELENKcUc5QyxpQkl4RVAsMEJEYnFELENIeUVqRCxXRXhGSixvQkNlcUQsQ0gyRWhELGdCSXpGSCxrQkFDQSxtQkFIbUQsQ0ppRzlDLGdCSS9GTCxrQkFDQSxvQkFIbUQsQ0pxRzlDLGlCSXhFUCxlRGJxRCxDSHlFakQsV0V4Rkosb0JDZXFELENIMkVoRCxnQkl6Rkgsa0JBQ0EsbUJBSG1ELENKaUc5QyxnQkkvRkwsa0JBQ0Esb0JBSG1ELENKcUc5QyxrQkl4RVAsMEJEYnFELENIeUVqRCxXRXhGSixVQ2VxRCxDSDJFaEQsa0JJOURMLDBCRGJxRCxDSDZGaEQsMkNLcEdILFdBQ0EsVUFBdUIsQ0x3R3JCLDJFS2pGQSxVQUFXLENMaUZYLCtFSzdFQSxVQUFXLENMNkVYLGlFS3pFQSxVWGtFcUQsQ01PckQsMkNLekdGLFdBQ0EsU0FBdUIsQ0x3R3JCLDJFS2pGQSxVQUFXLENMaUZYLDZFSzdFQSxVQUFXLENMNkVYLGlFS3pFQSxVWGtFcUQsQ01PckQsMkNLekdGLFdBQ0Esb0JBQXVCLENMd0dyQiwyRUtqRkEsVUFBVyxDTGlGWCwrRUs3RUEsVUFBVyxDTDZFWCxpRUt6RUEsVVhrRXFELENNT3JELDJDS3pHRixXQUNBLFNBQXVCLENMd0dyQiwyRUtqRkEsVUFBVyxDTGlGWCwrRUs3RUEsVUFBVyxDTDZFWCxpRUt6RUEsVVhrRXFELENNT3JELDJDS3pHRixXQUNBLFNBQXVCLENMd0dyQiwyRUtqRkEsVUFBVyxDTGlGWCwrRUs3RUEsVUFBVyxDTDZFWCxpRUt6RUEsVVhrRXFELENNT3JELDJDS3pHRixXQUNBLG9CQUF1QixDTHdHckIsMkVLakZBLFVBQVcsQ0xpRlgsK0VLN0VBLFVBQVcsQ0w2RVgsaUVLekVBLFVYa0VxRCxDTU9yRCwyQ0t6R0YsV0FDQSxvQkFBdUIsQ0x3R3JCLDJFS2pGQSxVQUFXLENMaUZYLCtFSzdFQSxVQUFXLENMNkVYLGlFS3pFQSxVWGtFcUQsQ01PckQsMkNLekdGLFdBQ0EsV0FBdUIsQ0x3R3JCLDJFS2pGQSxVQUFXLENMaUZYLCtFSzdFQSxVQUFXLENMNkVYLGlFS3pFQSxVWGtFcUQsQ01hdkQsbURGL0dBLGdCQUNBLGNDc0VTLENDd0NULEFBTUcseURBSUQsZUFDQSxhQUFjLENBQ2YsdURGM0hELHdCQUNBLHNCQUhxQyxDRWdJb0IsaUJJN0h6RCxrQkFDQSxnQkFBaUIsQ0FMakIsK0RBQ0UsV0FDQSxVQUFXLENBQ1osaURBV0gsZ0JBQ0EsV0FDQSxlQUNBLGFBQWMsQ0grSFYseUNEN0RBLFNFeEZKLG1CQ2VxRCxDSDJFaEQsY0l6Rkgsa0JBQ0Esa0JBSG1ELENKaUc5QyxjSS9GTCxrQkFDQSxtQkFIbUQsQ0pxRzlDLGdCSXhFUCxhRGhCZ0MsQ0g0RTVCLFNFeEZKLG9CQ2VxRCxDSDJFaEQsY0l6Rkgsa0JBQ0EsbUJBSG1ELENKaUc5QyxjSS9GTCxrQkFDQSxvQkFIbUQsQ0pxRzlDLGdCSXhFUCx5QkRicUQsQ0h5RWpELFNFeEZKLFNDZXFELENIMkVoRCxjSXpGSCxrQkFDQSxRQUhtRCxDSmlHOUMsY0kvRkwsa0JBQ0EsU0FIbUQsQ0pxRzlDLGdCSXhFUCwwQkRicUQsQ0h5RWpELFNFeEZKLG9CQ2VxRCxDSDJFaEQsY0l6Rkgsa0JBQ0EsbUJBSG1ELENKaUc5QyxjSS9GTCxrQkFDQSxvQkFIbUQsQ0pxRzlDLGdCSXhFUCxlRGJxRCxDSHlFakQsU0V4Rkosb0JDZXFELENIMkVoRCxjSXpGSCxrQkFDQSxtQkFIbUQsQ0ppRzlDLGNJL0ZMLGtCQUNBLG9CQUhtRCxDSnFHOUMsZ0JJeEVQLDBCRGJxRCxDSHlFakQsU0V4RkosU0NlcUQsQ0gyRWhELGNJekZILGtCQUNBLFFBSG1ELENKaUc5QyxjSS9GTCxrQkFDQSxTQUhtRCxDSnFHOUMsZ0JJeEVQLDBCRGJxRCxDSHlFakQsU0V4Rkosb0JDZXFELENIMkVoRCxjSXpGSCxrQkFDQSxtQkFIbUQsQ0ppRzlDLGNJL0ZMLGtCQUNBLG9CQUhtRCxDSnFHOUMsZ0JJeEVQLGVEYnFELENIeUVqRCxTRXhGSixvQkNlcUQsQ0gyRWhELGNJekZILGtCQUNBLG1CQUhtRCxDSmlHOUMsY0kvRkwsa0JBQ0Esb0JBSG1ELENKcUc5QyxnQkl4RVAsMEJEYnFELENIeUVqRCxTRXhGSixTQ2VxRCxDSDJFaEQsY0l6Rkgsa0JBQ0EsUUFIbUQsQ0ppRzlDLGNJL0ZMLGtCQUNBLFNBSG1ELENKcUc5QyxnQkl4RVAsMEJEYnFELENIeUVqRCxVRXhGSixvQkNlcUQsQ0gyRWhELGVJekZILGtCQUNBLG1CQUhtRCxDSmlHOUMsZUkvRkwsa0JBQ0Esb0JBSG1ELENKcUc5QyxnQkl4RVAsZURicUQsQ0h5RWpELFVFeEZKLG9CQ2VxRCxDSDJFaEQsZUl6Rkgsa0JBQ0EsbUJBSG1ELENKaUc5QyxlSS9GTCxrQkFDQSxvQkFIbUQsQ0pxRzlDLGlCSXhFUCwwQkRicUQsQ0h5RWpELFVFeEZKLFVDZXFELENIMkVoRCxpQkk5REwsMEJEYnFELENINkZoRCx5Q0twR0gsV0FDQSxVQUF1QixDTHdHckIseUVLakZBLFVBQVcsQ0xpRlgsNkVLN0VBLFVBQVcsQ0w2RVgsK0RLekVBLFVYa0VxRCxDTU9yRCx5Q0t6R0YsV0FDQSxTQUF1QixDTHdHckIseUVLakZBLFVBQVcsQ0xpRlgsMkVLN0VBLFVBQVcsQ0w2RVgsK0RLekVBLFVYa0VxRCxDTU9yRCx5Q0t6R0YsV0FDQSxvQkFBdUIsQ0x3R3JCLHlFS2pGQSxVQUFXLENMaUZYLDZFSzdFQSxVQUFXLENMNkVYLCtES3pFQSxVWGtFcUQsQ01PckQseUNLekdGLFdBQ0EsU0FBdUIsQ0x3R3JCLHlFS2pGQSxVQUFXLENMaUZYLDZFSzdFQSxVQUFXLENMNkVYLCtES3pFQSxVWGtFcUQsQ01PckQseUNLekdGLFdBQ0EsU0FBdUIsQ0x3R3JCLHlFS2pGQSxVQUFXLENMaUZYLDZFSzdFQSxVQUFXLENMNkVYLCtES3pFQSxVWGtFcUQsQ01PckQseUNLekdGLFdBQ0Esb0JBQXVCLENMd0dyQix5RUtqRkEsVUFBVyxDTGlGWCw2RUs3RUEsVUFBVyxDTDZFWCwrREt6RUEsVVhrRXFELENNT3JELHlDS3pHRixXQUNBLG9CQUF1QixDTHdHckIseUVLakZBLFVBQVcsQ0xpRlgsNkVLN0VBLFVBQVcsQ0w2RVgsK0RLekVBLFVYa0VxRCxDTU9yRCx5Q0t6R0YsV0FDQSxXQUF1QixDTHdHckIseUVLakZBLFVBQVcsQ0xpRlgsNkVLN0VBLFVBQVcsQ0w2RVgsK0RLekVBLFVYa0VxRCxDTWF2RCxpREYvR0EsZ0JBQ0EsY0NzRVMsQ0N3Q1QsQUFNRyx1REFJRCxlQUNBLGFBQWMsQ0FDZixxREYzSEQsd0JBQ0Esc0JBSHFDLENFZ0lvQixnQkk3SHpELGtCQUNBLGdCQUFpQixDQUxqQiw2REFDRSxXQUNBLFVBQVcsQ0FDWiw4Q0FXSCxnQkFDQSxXQUNBLGVBQ0EsYUFBYyxDSjZIWCxDQ0VDLDJDRDdEQSxVRXhGSixtQkNlcUQsQ0gyRWhELGVJekZILGtCQUNBLGtCQUhtRCxDSmlHOUMsZUkvRkwsa0JBQ0EsbUJBSG1ELENKcUc5QyxpQkl4RVAsYURoQmdDLENINEU1QixVRXhGSixvQkNlcUQsQ0gyRWhELGVJekZILGtCQUNBLG1CQUhtRCxDSmlHOUMsZUkvRkwsa0JBQ0Esb0JBSG1ELENKcUc5QyxpQkl4RVAseUJEYnFELENIeUVqRCxVRXhGSixTQ2VxRCxDSDJFaEQsZUl6Rkgsa0JBQ0EsUUFIbUQsQ0ppRzlDLGVJL0ZMLGtCQUNBLFNBSG1ELENKcUc5QyxpQkl4RVAsMEJEYnFELENIeUVqRCxVRXhGSixvQkNlcUQsQ0gyRWhELGVJekZILGtCQUNBLG1CQUhtRCxDSmlHOUMsZUkvRkwsa0JBQ0Esb0JBSG1ELENKcUc5QyxpQkl4RVAsZURicUQsQ0h5RWpELFVFeEZKLG9CQ2VxRCxDSDJFaEQsZUl6Rkgsa0JBQ0EsbUJBSG1ELENKaUc5QyxlSS9GTCxrQkFDQSxvQkFIbUQsQ0pxRzlDLGlCSXhFUCwwQkRicUQsQ0h5RWpELFVFeEZKLFNDZXFELENIMkVoRCxlSXpGSCxrQkFDQSxRQUhtRCxDSmlHOUMsZUkvRkwsa0JBQ0EsU0FIbUQsQ0pxRzlDLGlCSXhFUCwwQkRicUQsQ0h5RWpELFVFeEZKLG9CQ2VxRCxDSDJFaEQsZUl6Rkgsa0JBQ0EsbUJBSG1ELENKaUc5QyxlSS9GTCxrQkFDQSxvQkFIbUQsQ0pxRzlDLGlCSXhFUCxlRGJxRCxDSHlFakQsVUV4Rkosb0JDZXFELENIMkVoRCxlSXpGSCxrQkFDQSxtQkFIbUQsQ0ppRzlDLGVJL0ZMLGtCQUNBLG9CQUhtRCxDSnFHOUMsaUJJeEVQLDBCRGJxRCxDSHlFakQsVUV4RkosU0NlcUQsQ0gyRWhELGVJekZILGtCQUNBLFFBSG1ELENKaUc5QyxlSS9GTCxrQkFDQSxTQUhtRCxDSnFHOUMsaUJJeEVQLDBCRGJxRCxDSHlFakQsV0V4Rkosb0JDZXFELENIMkVoRCxnQkl6Rkgsa0JBQ0EsbUJBSG1ELENKaUc5QyxnQkkvRkwsa0JBQ0Esb0JBSG1ELENKcUc5QyxpQkl4RVAsZURicUQsQ0h5RWpELFdFeEZKLG9CQ2VxRCxDSDJFaEQsZ0JJekZILGtCQUNBLG1CQUhtRCxDSmlHOUMsZ0JJL0ZMLGtCQUNBLG9CQUhtRCxDSnFHOUMsa0JJeEVQLDBCRGJxRCxDSHlFakQsV0V4RkosVUNlcUQsQ0gyRWhELGtCSTlETCwwQkRicUQsQ0g2RmhELDJDS3BHSCxXQUNBLFVBQXVCLENMd0dyQiwyRUtqRkEsVUFBVyxDTGlGWCwrRUs3RUEsVUFBVyxDTDZFWCxpRUt6RUEsVVhrRXFELENNT3JELDJDS3pHRixXQUNBLFNBQXVCLENMd0dyQiwyRUtqRkEsVUFBVyxDTGlGWCw2RUs3RUEsVUFBVyxDTDZFWCxpRUt6RUEsVVhrRXFELENNT3JELDJDS3pHRixXQUNBLG9CQUF1QixDTHdHckIsMkVLakZBLFVBQVcsQ0xpRlgsK0VLN0VBLFVBQVcsQ0w2RVgsaUVLekVBLFVYa0VxRCxDTU9yRCwyQ0t6R0YsV0FDQSxTQUF1QixDTHdHckIsMkVLakZBLFVBQVcsQ0xpRlgsK0VLN0VBLFVBQVcsQ0w2RVgsaUVLekVBLFVYa0VxRCxDTU9yRCwyQ0t6R0YsV0FDQSxTQUF1QixDTHdHckIsMkVLakZBLFVBQVcsQ0xpRlgsK0VLN0VBLFVBQVcsQ0w2RVgsaUVLekVBLFVYa0VxRCxDTU9yRCwyQ0t6R0YsV0FDQSxvQkFBdUIsQ0x3R3JCLDJFS2pGQSxVQUFXLENMaUZYLCtFSzdFQSxVQUFXLENMNkVYLGlFS3pFQSxVWGtFcUQsQ01PckQsMkNLekdGLFdBQ0Esb0JBQXVCLENMd0dyQiwyRUtqRkEsVUFBVyxDTGlGWCwrRUs3RUEsVUFBVyxDTDZFWCxpRUt6RUEsVVhrRXFELENNT3JELDJDS3pHRixXQUNBLFdBQXVCLENMd0dyQiwyRUtqRkEsVUFBVyxDTGlGWCwrRUs3RUEsVUFBVyxDTDZFWCxpRUt6RUEsVVhrRXFELENNYXZELG1ERi9HQSxnQkFDQSxjQ3NFUyxDQ3dDVCxBQU1HLHlEQUlELGVBQ0EsYUFBYyxDQUNmLHVERjNIRCx3QkFDQSxzQkFIcUMsQ0VnSW9CLGlCSTdIekQsa0JBQ0EsZ0JBQWlCLENBTGpCLCtEQUNFLFdBQ0EsVUFBVyxDQUNaLGlEQVdILGdCQUNBLFdBQ0EsZUFDQSxhQUFjLENKNkhYLENDRUMseUNEN0RBLFNFeEZKLG1CQ2VxRCxDSDJFaEQsY0l6Rkgsa0JBQ0Esa0JBSG1ELENKaUc5QyxjSS9GTCxrQkFDQSxtQkFIbUQsQ0pxRzlDLGdCSXhFUCxhRGhCZ0MsQ0g0RTVCLFNFeEZKLG9CQ2VxRCxDSDJFaEQsY0l6Rkgsa0JBQ0EsbUJBSG1ELENKaUc5QyxjSS9GTCxrQkFDQSxvQkFIbUQsQ0pxRzlDLGdCSXhFUCx5QkRicUQsQ0h5RWpELFNFeEZKLFNDZXFELENIMkVoRCxjSXpGSCxrQkFDQSxRQUhtRCxDSmlHOUMsY0kvRkwsa0JBQ0EsU0FIbUQsQ0pxRzlDLGdCSXhFUCwwQkRicUQsQ0h5RWpELFNFeEZKLG9CQ2VxRCxDSDJFaEQsY0l6Rkgsa0JBQ0EsbUJBSG1ELENKaUc5QyxjSS9GTCxrQkFDQSxvQkFIbUQsQ0pxRzlDLGdCSXhFUCxlRGJxRCxDSHlFakQsU0V4Rkosb0JDZXFELENIMkVoRCxjSXpGSCxrQkFDQSxtQkFIbUQsQ0ppRzlDLGNJL0ZMLGtCQUNBLG9CQUhtRCxDSnFHOUMsZ0JJeEVQLDBCRGJxRCxDSHlFakQsU0V4RkosU0NlcUQsQ0gyRWhELGNJekZILGtCQUNBLFFBSG1ELENKaUc5QyxjSS9GTCxrQkFDQSxTQUhtRCxDSnFHOUMsZ0JJeEVQLDBCRGJxRCxDSHlFakQsU0V4Rkosb0JDZXFELENIMkVoRCxjSXpGSCxrQkFDQSxtQkFIbUQsQ0ppRzlDLGNJL0ZMLGtCQUNBLG9CQUhtRCxDSnFHOUMsZ0JJeEVQLGVEYnFELENIeUVqRCxTRXhGSixvQkNlcUQsQ0gyRWhELGNJekZILGtCQUNBLG1CQUhtRCxDSmlHOUMsY0kvRkwsa0JBQ0Esb0JBSG1ELENKcUc5QyxnQkl4RVAsMEJEYnFELENIeUVqRCxTRXhGSixTQ2VxRCxDSDJFaEQsY0l6Rkgsa0JBQ0EsUUFIbUQsQ0ppRzlDLGNJL0ZMLGtCQUNBLFNBSG1ELENKcUc5QyxnQkl4RVAsMEJEYnFELENIeUVqRCxVRXhGSixvQkNlcUQsQ0gyRWhELGVJekZILGtCQUNBLG1CQUhtRCxDSmlHOUMsZUkvRkwsa0JBQ0Esb0JBSG1ELENKcUc5QyxnQkl4RVAsZURicUQsQ0h5RWpELFVFeEZKLG9CQ2VxRCxDSDJFaEQsZUl6Rkgsa0JBQ0EsbUJBSG1ELENKaUc5QyxlSS9GTCxrQkFDQSxvQkFIbUQsQ0pxRzlDLGlCSXhFUCwwQkRicUQsQ0h5RWpELFVFeEZKLFVDZXFELENIMkVoRCxpQkk5REwsMEJEYnFELENINkZoRCx5Q0twR0gsV0FDQSxVQUF1QixDTHdHckIseUVLakZBLFVBQVcsQ0xpRlgsNkVLN0VBLFVBQVcsQ0w2RVgsK0RLekVBLFVYa0VxRCxDTU9yRCx5Q0t6R0YsV0FDQSxTQUF1QixDTHdHckIseUVLakZBLFVBQVcsQ0xpRlgsMkVLN0VBLFVBQVcsQ0w2RVgsK0RLekVBLFVYa0VxRCxDTU9yRCx5Q0t6R0YsV0FDQSxvQkFBdUIsQ0x3R3JCLHlFS2pGQSxVQUFXLENMaUZYLDZFSzdFQSxVQUFXLENMNkVYLCtES3pFQSxVWGtFcUQsQ01PckQseUNLekdGLFdBQ0EsU0FBdUIsQ0x3R3JCLHlFS2pGQSxVQUFXLENMaUZYLDZFSzdFQSxVQUFXLENMNkVYLCtES3pFQSxVWGtFcUQsQ01PckQseUNLekdGLFdBQ0EsU0FBdUIsQ0x3R3JCLHlFS2pGQSxVQUFXLENMaUZYLDZFSzdFQSxVQUFXLENMNkVYLCtES3pFQSxVWGtFcUQsQ01PckQseUNLekdGLFdBQ0Esb0JBQXVCLENMd0dyQix5RUtqRkEsVUFBVyxDTGlGWCw2RUs3RUEsVUFBVyxDTDZFWCwrREt6RUEsVVhrRXFELENNT3JELHlDS3pHRixXQUNBLG9CQUF1QixDTHdHckIseUVLakZBLFVBQVcsQ0xpRlgsNkVLN0VBLFVBQVcsQ0w2RVgsK0RLekVBLFVYa0VxRCxDTU9yRCx5Q0t6R0YsV0FDQSxXQUF1QixDTHdHckIseUVLakZBLFVBQVcsQ0xpRlgsNkVLN0VBLFVBQVcsQ0w2RVgsK0RLekVBLFVYa0VxRCxDTWF2RCxpREYvR0EsZ0JBQ0EsY0NzRVMsQ0N3Q1QsQUFNRyx1REFJRCxlQUNBLGFBQWMsQ0FDZixxREYzSEQsdUJBQ0EscUJBSHFDLENFZ0lvQixnQkk3SHpELGtCQUNBLGdCQUFpQixDQUxqQiw2REFDRSxXQUNBLFVBQVcsQ0FDWiw4Q0FXSCxnQkFDQSxXQUNBLGVBQ0EsYUFBYyxDSjZIWCxDQ09DLG1DRGxFQSxVRXhGSixtQkNlcUQsQ0gyRWhELGVJekZILGtCQUNBLGtCQUhtRCxDSmlHOUMsZUkvRkwsa0JBQ0EsbUJBSG1ELENKcUc5QyxpQkl4RVAsYURoQmdDLENINEU1QixVRXhGSixvQkNlcUQsQ0gyRWhELGVJekZILGtCQUNBLG1CQUhtRCxDSmlHOUMsZUkvRkwsa0JBQ0Esb0JBSG1ELENKcUc5QyxpQkl4RVAseUJEYnFELENIeUVqRCxVRXhGSixTQ2VxRCxDSDJFaEQsZUl6Rkgsa0JBQ0EsUUFIbUQsQ0ppRzlDLGVJL0ZMLGtCQUNBLFNBSG1ELENKcUc5QyxpQkl4RVAsMEJEYnFELENIeUVqRCxVRXhGSixvQkNlcUQsQ0gyRWhELGVJekZILGtCQUNBLG1CQUhtRCxDSmlHOUMsZUkvRkwsa0JBQ0Esb0JBSG1ELENKcUc5QyxpQkl4RVAsZURicUQsQ0h5RWpELFVFeEZKLG9CQ2VxRCxDSDJFaEQsZUl6Rkgsa0JBQ0EsbUJBSG1ELENKaUc5QyxlSS9GTCxrQkFDQSxvQkFIbUQsQ0pxRzlDLGlCSXhFUCwwQkRicUQsQ0h5RWpELFVFeEZKLFNDZXFELENIMkVoRCxlSXpGSCxrQkFDQSxRQUhtRCxDSmlHOUMsZUkvRkwsa0JBQ0EsU0FIbUQsQ0pxRzlDLGlCSXhFUCwwQkRicUQsQ0h5RWpELFVFeEZKLG9CQ2VxRCxDSDJFaEQsZUl6Rkgsa0JBQ0EsbUJBSG1ELENKaUc5QyxlSS9GTCxrQkFDQSxvQkFIbUQsQ0pxRzlDLGlCSXhFUCxlRGJxRCxDSHlFakQsVUV4Rkosb0JDZXFELENIMkVoRCxlSXpGSCxrQkFDQSxtQkFIbUQsQ0ppRzlDLGVJL0ZMLGtCQUNBLG9CQUhtRCxDSnFHOUMsaUJJeEVQLDBCRGJxRCxDSHlFakQsVUV4RkosU0NlcUQsQ0gyRWhELGVJekZILGtCQUNBLFFBSG1ELENKaUc5QyxlSS9GTCxrQkFDQSxTQUhtRCxDSnFHOUMsaUJJeEVQLDBCRGJxRCxDSHlFakQsV0V4Rkosb0JDZXFELENIMkVoRCxnQkl6Rkgsa0JBQ0EsbUJBSG1ELENKaUc5QyxnQkkvRkwsa0JBQ0Esb0JBSG1ELENKcUc5QyxpQkl4RVAsZURicUQsQ0h5RWpELFdFeEZKLG9CQ2VxRCxDSDJFaEQsZ0JJekZILGtCQUNBLG1CQUhtRCxDSmlHOUMsZ0JJL0ZMLGtCQUNBLG9CQUhtRCxDSnFHOUMsa0JJeEVQLDBCRGJxRCxDSHlFakQsV0V4RkosVUNlcUQsQ0gyRWhELGtCSTlETCwwQkRicUQsQ0g2RmhELDJDS3BHSCxXQUNBLFVBQXVCLENMd0dyQiwyRUtqRkEsVUFBVyxDTGlGWCwrRUs3RUEsVUFBVyxDTDZFWCxpRUt6RUEsVVhrRXFELENNT3JELDJDS3pHRixXQUNBLFNBQXVCLENMd0dyQiwyRUtqRkEsVUFBVyxDTGlGWCw2RUs3RUEsVUFBVyxDTDZFWCxpRUt6RUEsVVhrRXFELENNT3JELDJDS3pHRixXQUNBLG9CQUF1QixDTHdHckIsMkVLakZBLFVBQVcsQ0xpRlgsK0VLN0VBLFVBQVcsQ0w2RVgsaUVLekVBLFVYa0VxRCxDTU9yRCwyQ0t6R0YsV0FDQSxTQUF1QixDTHdHckIsMkVLakZBLFVBQVcsQ0xpRlgsK0VLN0VBLFVBQVcsQ0w2RVgsaUVLekVBLFVYa0VxRCxDTU9yRCwyQ0t6R0YsV0FDQSxTQUF1QixDTHdHckIsMkVLakZBLFVBQVcsQ0xpRlgsK0VLN0VBLFVBQVcsQ0w2RVgsaUVLekVBLFVYa0VxRCxDTU9yRCwyQ0t6R0YsV0FDQSxvQkFBdUIsQ0x3R3JCLDJFS2pGQSxVQUFXLENMaUZYLCtFSzdFQSxVQUFXLENMNkVYLGlFS3pFQSxVWGtFcUQsQ01PckQsMkNLekdGLFdBQ0Esb0JBQXVCLENMd0dyQiwyRUtqRkEsVUFBVyxDTGlGWCwrRUs3RUEsVUFBVyxDTDZFWCxpRUt6RUEsVVhrRXFELENNT3JELDJDS3pHRixXQUNBLFdBQXVCLENMd0dyQiwyRUtqRkEsVUFBVyxDTGlGWCwrRUs3RUEsVUFBVyxDTDZFWCxpRUt6RUEsVVhrRXFELENNYXZELG1ERi9HQSxnQkFDQSxjQ3NFUyxDQ3dDVCxBQU1HLHlEQUlELGVBQ0EsYUFBYyxDQUNmLHVERjNIRCx1QkFDQSxxQkFIcUMsQ0VnSW9CLGlCSTdIekQsa0JBQ0EsZ0JBQWlCLENBTGpCLCtEQUNFLFdBQ0EsVUFBVyxDQUNaLGlEQVdILGdCQUNBLFdBQ0EsZUFDQSxhQUFjLENKNkhYLENDT0MsbUNEbEVBLFdFeEZKLG1CQ2VxRCxDSDJFaEQsZ0JJekZILGtCQUNBLGtCQUhtRCxDSmlHOUMsZ0JJL0ZMLGtCQUNBLG1CQUhtRCxDSnFHOUMsa0JJeEVQLGFEaEJnQyxDSDRFNUIsV0V4Rkosb0JDZXFELENIMkVoRCxnQkl6Rkgsa0JBQ0EsbUJBSG1ELENKaUc5QyxnQkkvRkwsa0JBQ0Esb0JBSG1ELENKcUc5QyxrQkl4RVAseUJEYnFELENIeUVqRCxXRXhGSixTQ2VxRCxDSDJFaEQsZ0JJekZILGtCQUNBLFFBSG1ELENKaUc5QyxnQkkvRkwsa0JBQ0EsU0FIbUQsQ0pxRzlDLGtCSXhFUCwwQkRicUQsQ0h5RWpELFdFeEZKLG9CQ2VxRCxDSDJFaEQsZ0JJekZILGtCQUNBLG1CQUhtRCxDSmlHOUMsZ0JJL0ZMLGtCQUNBLG9CQUhtRCxDSnFHOUMsa0JJeEVQLGVEYnFELENIeUVqRCxXRXhGSixvQkNlcUQsQ0gyRWhELGdCSXpGSCxrQkFDQSxtQkFIbUQsQ0ppRzlDLGdCSS9GTCxrQkFDQSxvQkFIbUQsQ0pxRzlDLGtCSXhFUCwwQkRicUQsQ0h5RWpELFdFeEZKLFNDZXFELENIMkVoRCxnQkl6Rkgsa0JBQ0EsUUFIbUQsQ0ppRzlDLGdCSS9GTCxrQkFDQSxTQUhtRCxDSnFHOUMsa0JJeEVQLDBCRGJxRCxDSHlFakQsV0V4Rkosb0JDZXFELENIMkVoRCxnQkl6Rkgsa0JBQ0EsbUJBSG1ELENKaUc5QyxnQkkvRkwsa0JBQ0Esb0JBSG1ELENKcUc5QyxrQkl4RVAsZURicUQsQ0h5RWpELFdFeEZKLG9CQ2VxRCxDSDJFaEQsZ0JJekZILGtCQUNBLG1CQUhtRCxDSmlHOUMsZ0JJL0ZMLGtCQUNBLG9CQUhtRCxDSnFHOUMsa0JJeEVQLDBCRGJxRCxDSHlFakQsV0V4RkosU0NlcUQsQ0gyRWhELGdCSXpGSCxrQkFDQSxRQUhtRCxDSmlHOUMsZ0JJL0ZMLGtCQUNBLFNBSG1ELENKcUc5QyxrQkl4RVAsMEJEYnFELENIeUVqRCxZRXhGSixvQkNlcUQsQ0gyRWhELGlCSXpGSCxrQkFDQSxtQkFIbUQsQ0ppRzlDLGlCSS9GTCxrQkFDQSxvQkFIbUQsQ0pxRzlDLGtCSXhFUCxlRGJxRCxDSHlFakQsWUV4Rkosb0JDZXFELENIMkVoRCxpQkl6Rkgsa0JBQ0EsbUJBSG1ELENKaUc5QyxpQkkvRkwsa0JBQ0Esb0JBSG1ELENKcUc5QyxtQkl4RVAsMEJEYnFELENIeUVqRCxZRXhGSixVQ2VxRCxDSDJFaEQsbUJJOURMLDBCRGJxRCxDSDZGaEQsNkNLcEdILFdBQ0EsVUFBdUIsQ0x3R3JCLDZFS2pGQSxVQUFXLENMaUZYLGlGSzdFQSxVQUFXLENMNkVYLG1FS3pFQSxVWGtFcUQsQ01PckQsNkNLekdGLFdBQ0EsU0FBdUIsQ0x3R3JCLDZFS2pGQSxVQUFXLENMaUZYLCtFSzdFQSxVQUFXLENMNkVYLG1FS3pFQSxVWGtFcUQsQ01PckQsNkNLekdGLFdBQ0Esb0JBQXVCLENMd0dyQiw2RUtqRkEsVUFBVyxDTGlGWCxpRks3RUEsVUFBVyxDTDZFWCxtRUt6RUEsVVhrRXFELENNT3JELDZDS3pHRixXQUNBLFNBQXVCLENMd0dyQiw2RUtqRkEsVUFBVyxDTGlGWCxpRks3RUEsVUFBVyxDTDZFWCxtRUt6RUEsVVhrRXFELENNT3JELDZDS3pHRixXQUNBLFNBQXVCLENMd0dyQiw2RUtqRkEsVUFBVyxDTGlGWCxpRks3RUEsVUFBVyxDTDZFWCxtRUt6RUEsVVhrRXFELENNT3JELDZDS3pHRixXQUNBLG9CQUF1QixDTHdHckIsNkVLakZBLFVBQVcsQ0xpRlgsaUZLN0VBLFVBQVcsQ0w2RVgsbUVLekVBLFVYa0VxRCxDTU9yRCw2Q0t6R0YsV0FDQSxvQkFBdUIsQ0x3R3JCLDZFS2pGQSxVQUFXLENMaUZYLGlGSzdFQSxVQUFXLENMNkVYLG1FS3pFQSxVWGtFcUQsQ01PckQsNkNLekdGLFdBQ0EsV0FBdUIsQ0x3R3JCLDZFS2pGQSxVQUFXLENMaUZYLGlGSzdFQSxVQUFXLENMNkVYLG1FS3pFQSxVWGtFcUQsQ01hdkQscURGL0dBLGdCQUNBLGNDc0VTLENDd0NULEFBTUcsMkRBSUQsZUFDQSxhQUFjLENBQ2YseURGM0hELHVCQUNBLHFCQUhxQyxDRWdJb0Isa0JJN0h6RCxrQkFDQSxnQkFBaUIsQ0FMakIsaUVBQ0UsV0FDQSxVQUFXLENBQ1osb0RBV0gsZ0JBQ0EsV0FDQSxlQUNBLGFBQWMsQ0o2SFgsQ0NPQyxvQ0RsRUEsWUV4RkosbUJDZXFELENIMkVoRCxpQkl6Rkgsa0JBQ0Esa0JBSG1ELENKaUc5QyxpQkkvRkwsa0JBQ0EsbUJBSG1ELENKcUc5QyxtQkl4RVAsYURoQmdDLENINEU1QixZRXhGSixvQkNlcUQsQ0gyRWhELGlCSXpGSCxrQkFDQSxtQkFIbUQsQ0ppRzlDLGlCSS9GTCxrQkFDQSxvQkFIbUQsQ0pxRzlDLG1CSXhFUCx5QkRicUQsQ0h5RWpELFlFeEZKLFNDZXFELENIMkVoRCxpQkl6Rkgsa0JBQ0EsUUFIbUQsQ0ppRzlDLGlCSS9GTCxrQkFDQSxTQUhtRCxDSnFHOUMsbUJJeEVQLDBCRGJxRCxDSHlFakQsWUV4Rkosb0JDZXFELENIMkVoRCxpQkl6Rkgsa0JBQ0EsbUJBSG1ELENKaUc5QyxpQkkvRkwsa0JBQ0Esb0JBSG1ELENKcUc5QyxtQkl4RVAsZURicUQsQ0h5RWpELFlFeEZKLG9CQ2VxRCxDSDJFaEQsaUJJekZILGtCQUNBLG1CQUhtRCxDSmlHOUMsaUJJL0ZMLGtCQUNBLG9CQUhtRCxDSnFHOUMsbUJJeEVQLDBCRGJxRCxDSHlFakQsWUV4RkosU0NlcUQsQ0gyRWhELGlCSXpGSCxrQkFDQSxRQUhtRCxDSmlHOUMsaUJJL0ZMLGtCQUNBLFNBSG1ELENKcUc5QyxtQkl4RVAsMEJEYnFELENIeUVqRCxZRXhGSixvQkNlcUQsQ0gyRWhELGlCSXpGSCxrQkFDQSxtQkFIbUQsQ0ppRzlDLGlCSS9GTCxrQkFDQSxvQkFIbUQsQ0pxRzlDLG1CSXhFUCxlRGJxRCxDSHlFakQsWUV4Rkosb0JDZXFELENIMkVoRCxpQkl6Rkgsa0JBQ0EsbUJBSG1ELENKaUc5QyxpQkkvRkwsa0JBQ0Esb0JBSG1ELENKcUc5QyxtQkl4RVAsMEJEYnFELENIeUVqRCxZRXhGSixTQ2VxRCxDSDJFaEQsaUJJekZILGtCQUNBLFFBSG1ELENKaUc5QyxpQkkvRkwsa0JBQ0EsU0FIbUQsQ0pxRzlDLG1CSXhFUCwwQkRicUQsQ0h5RWpELGFFeEZKLG9CQ2VxRCxDSDJFaEQsa0JJekZILGtCQUNBLG1CQUhtRCxDSmlHOUMsa0JJL0ZMLGtCQUNBLG9CQUhtRCxDSnFHOUMsbUJJeEVQLGVEYnFELENIeUVqRCxhRXhGSixvQkNlcUQsQ0gyRWhELGtCSXpGSCxrQkFDQSxtQkFIbUQsQ0ppRzlDLGtCSS9GTCxrQkFDQSxvQkFIbUQsQ0pxRzlDLG9CSXhFUCwwQkRicUQsQ0h5RWpELGFFeEZKLFVDZXFELENIMkVoRCxvQkk5REwsMEJEYnFELENINkZoRCwrQ0twR0gsV0FDQSxVQUF1QixDTHdHckIsK0VLakZBLFVBQVcsQ0xpRlgsbUZLN0VBLFVBQVcsQ0w2RVgscUVLekVBLFVYa0VxRCxDTU9yRCwrQ0t6R0YsV0FDQSxTQUF1QixDTHdHckIsK0VLakZBLFVBQVcsQ0xpRlgsaUZLN0VBLFVBQVcsQ0w2RVgscUVLekVBLFVYa0VxRCxDTU9yRCwrQ0t6R0YsV0FDQSxvQkFBdUIsQ0x3R3JCLCtFS2pGQSxVQUFXLENMaUZYLG1GSzdFQSxVQUFXLENMNkVYLHFFS3pFQSxVWGtFcUQsQ01PckQsK0NLekdGLFdBQ0EsU0FBdUIsQ0x3R3JCLCtFS2pGQSxVQUFXLENMaUZYLG1GSzdFQSxVQUFXLENMNkVYLHFFS3pFQSxVWGtFcUQsQ01PckQsK0NLekdGLFdBQ0EsU0FBdUIsQ0x3R3JCLCtFS2pGQSxVQUFXLENMaUZYLG1GSzdFQSxVQUFXLENMNkVYLHFFS3pFQSxVWGtFcUQsQ01PckQsK0NLekdGLFdBQ0Esb0JBQXVCLENMd0dyQiwrRUtqRkEsVUFBVyxDTGlGWCxtRks3RUEsVUFBVyxDTDZFWCxxRUt6RUEsVVhrRXFELENNT3JELCtDS3pHRixXQUNBLG9CQUF1QixDTHdHckIsK0VL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Q0csQ0FBQSxvQ0FDbUIsOEJBSm5DLGlCRzdDdUIsZ0JIbURQLENBQUUsQ0FBQyw4QkFUVixhQWNBLENBQUEsaUNBR1gsd0JBQ3VCLDRCQUNGLHlCQUNGLFlBQ1QsV0FDRCxtQkFDUSxTQUNSLENBQUEsd0NBUEYsd0JBVWMsQ0FBQSxvQ0FFZ0IsaUNBWnJDLFNBYVcsQ0FBQSxDQUFHLG9DQUV1QixpQ0FmckMsY0FnQlcsQ0FBQSxDQUFRLG9DQUVrQixpQ0FsQnJDLFNBbUJXLENBQUEsQ0FBRyxtRVpxRWYsY0FDVSxZQUNBLDBCQUFBLGFBR0ssaUJBQUEsT0FDUCxDQUFFLGlDQUlWLFVBQ1EsQ0FBQSwyQ1l2RVAsa0JHdkZ5QixDQUFBLG1HZm1KMUIsY0FDVSxZQUNBLDBCQUFBLGFBR0ssaUJBQUEsT0FDUCxDQUFFLGlEQUlWLFVBQ1EsQ0FBQSx3RFluRUwsY0FDVyxZQUNELFdBQ0Qsa0JBQ0csU0FDTCxrQkFDUyxVQUNQLENBQUEsNERBRVAseUJBQ2EsQ0FBQSxpRUFFWCxhRi9FRCx3QkVpRmUsQ0FBQSwyRUFNWixZRmhJSixDQUFBLDhJRXlJSSxZRnRJTCxDQUFBLDhERTZJRCxjQUNXLFdBQ0YsZ0NBQ0EsQ0FBQSxxRUFFUCxxQkFFNEIsd0JBQ2QsZ0JBQ0MseUJBQ0csQ0FBQSw0RkFHYixhRjFKTixDQUFBLGtHRStKMkIsY0YvSjNCLGdCRWlLYyxlQUNBLGdCQUNJLGlCQUNDLHVCQUNGLENBQUEsaUZBR1AsYUYzS1QsQ0FBQSw0Q0VxTEosYUFDVyxpQkFDYSxDQUFDLHNEQUZULGFBS0gsQ0FBQSxtREFHWCx5QkYxTEMsb0JFNExlLHFCQUNDLHNCQUNOLDBCQUdPLHVCQUNKLENBQUEsc0hBUlIseUJGcEpILHFCQUFBLFVBOUNBLENBQUEsMkJFc05QLGFBQ2EsQ0FBRSw0Q0FJWCxjQUVTLGdCQUNDLENBQUUiLCJmaWxlIjoibWFpbi5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJodG1sLCBib2R5LCBkaXYsIHNwYW4sIGFwcGxldCwgb2JqZWN0LCBpZnJhbWUsXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCBwLCBibG9ja3F1b3RlLCBwcmUsXG5hLCBhYmJyLCBhY3JvbnltLCBhZGRyZXNzLCBiaWcsIGNpdGUsIGNvZGUsXG5kZWwsIGRmbiwgZW0sIGltZywgaW5zLCBrYmQsIHEsIHMsIHNhbXAsXG5zbWFsbCwgc3RyaWtlLCBzdHJvbmcsIHN1Yiwgc3VwLCB0dCwgdmFyLFxuYiwgdSwgaSwgY2VudGVyLFxuZGwsIGR0LCBkZCwgb2wsIHVsLCBsaSxcbmZpZWxkc2V0LCBmb3JtLCBsYWJlbCwgbGVnZW5kLFxudGFibGUsIGNhcHRpb24sIHRib2R5LCB0Zm9vdCwgdGhlYWQsIHRyLCB0aCwgdGQsXG5hcnRpY2xlLCBhc2lkZSwgY2FudmFzLCBkZXRhaWxzLCBlbWJlZCxcbmZpZ3VyZSwgZmlnY2FwdGlvbiwgZm9vdGVyLCBoZWFkZXIsIGhncm91cCxcbm1lbnUsIG5hdiwgb3V0cHV0LCBydWJ5LCBzZWN0aW9uLCBzdW1tYXJ5LFxudGltZSwgbWFyaywgYXVkaW8sIHZpZGVvIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7XG4gIGZvbnQ6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5odG1sIHtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbm9sLCB1bCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7XG59XG5cbmNhcHRpb24sIHRoLCB0ZCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbnEsIGJsb2NrcXVvdGUge1xuICBxdW90ZXM6IG5vbmU7XG59XG5xOmJlZm9yZSwgcTphZnRlciwgYmxvY2txdW90ZTpiZWZvcmUsIGJsb2NrcXVvdGU6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBjb250ZW50OiBub25lO1xufVxuXG5hIGltZyB7XG4gIGJvcmRlcjogbm9uZTtcbn1cblxuYXJ0aWNsZSwgYXNpZGUsIGRldGFpbHMsIGZpZ2NhcHRpb24sIGZpZ3VyZSwgZm9vdGVyLCBoZWFkZXIsIGhncm91cCwgbWFpbiwgbWVudSwgbmF2LCBzZWN0aW9uLCBzdW1tYXJ5IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbmJ1dHRvbiB7IGJhY2tncm91bmQ6IG5vbmU7IGJvcmRlcjogbm9uZTsgY3Vyc29yOiBwb2ludGVyOyBtYXJnaW46IDA7IHBhZGRpbmc6IDA7IGZvbnQtc2l6ZTogMDsgbGluZS1oZWlnaHQ6IDA7IG91dGxpbmU6IG5vbmU7IHdpZHRoOiBhdXRvOyBvdmVyZmxvdzogdmlzaWJsZTsgfVxuIiwiLy8gSGVscGVyIGZ1bmN0aW9uIGZvciB0aGUgbm9ybWFsaXplKCkgbWl4aW4uXG5AZnVuY3Rpb24gX25vcm1hbGl6ZS1pbmNsdWRlKCRzZWN0aW9uLCAkZXhjbHVkZTogbnVsbCkge1xuICAvLyBJbml0aWFsaXplIHRoZSBnbG9iYWwgdmFyaWFibGVzIG5lZWRlZCBieSB0aGlzIGZ1bmN0aW9uLlxuICBAaWYgbm90IGdsb2JhbF92YXJpYWJsZV9leGlzdHMoX25vcm1hbGl6ZS1pbmNsdWRlKSB7XG4gICAgJF9ub3JtYWxpemUtaW5jbHVkZTogKCkgIWdsb2JhbDtcbiAgICAkX25vcm1hbGl6ZS1leGNsdWRlOiAoKSAhZ2xvYmFsO1xuICB9XG4gIC8vIFNpbmNlIHdlIGFyZSBnaXZlbiAyIHBhcmFtZXRlcnMsIHNldCB0aGUgZ2xvYmFsIHZhcmlhYmxlcy5cbiAgQGlmICRleGNsdWRlICE9IG51bGwge1xuICAgICRpbmNsdWRlOiAkc2VjdGlvbjtcbiAgICAvLyBTYXNzIGRvZXNuJ3QgaGF2ZSBzdGF0aWMgdmFyaWFibGVzLCBzbyB0aGUgd29yay1hcm91bmQgaXMgdG8gc3R1ZmYgdGhlc2VcbiAgICAvLyB2YWx1ZXMgaW50byBnbG9iYWwgdmFyaWFibGVzIHNvIHdlIGNhbiBhY2Nlc3MgdGhlbSBpbiBmdXR1cmUgY2FsbHMuXG4gICAgJF9ub3JtYWxpemUtaW5jbHVkZTogaWYodHlwZS1vZigkaW5jbHVkZSkgPT0gJ2xpc3QnLCAkaW5jbHVkZSwgKCRpbmNsdWRlKSkgIWdsb2JhbDtcbiAgICAkX25vcm1hbGl6ZS1leGNsdWRlOiBpZih0eXBlLW9mKCRleGNsdWRlKSA9PSAnbGlzdCcsICRleGNsdWRlLCAoJGV4Y2x1ZGUpKSAhZ2xvYmFsO1xuICAgIEByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIC8vIENoZWNrIGlmICRzZWN0aW9uIGlzIGluIHRoZSAkaW5jbHVkZSBsaXN0LlxuICBAaWYgaW5kZXgoJF9ub3JtYWxpemUtaW5jbHVkZSwgJHNlY3Rpb24pIHtcbiAgICBAcmV0dXJuIHRydWU7XG4gIH1cbiAgLy8gSWYgJGluY2x1ZGUgaXMgc2V0IHRvIChhbGwpLCBtYWtlIHN1cmUgJHNlY3Rpb24gaXMgbm90IGluICRleGNsdWRlLlxuICBAZWxzZSBpZiBub3QgaW5kZXgoJF9ub3JtYWxpemUtZXhjbHVkZSwgJHNlY3Rpb24pIGFuZCBpbmRleCgkX25vcm1hbGl6ZS1pbmNsdWRlLCBhbGwpIHtcbiAgICBAcmV0dXJuIHRydWU7XG4gIH1cbiAgQHJldHVybiBmYWxzZTtcbn1cblxuQG1peGluIG5vcm1hbGl6ZSgkaW5jbHVkZTogKGFsbCksICRleGNsdWRlOiAoKSkge1xuICAvLyBJbml0aWFsaXplIHRoZSBoZWxwZXIgZnVuY3Rpb24gYnkgcGFzc2luZyBpdCB0aGlzIG1peGluJ3MgcGFyYW1ldGVycy5cbiAgJGluaXQ6IF9ub3JtYWxpemUtaW5jbHVkZSgkaW5jbHVkZSwgJGV4Y2x1ZGUpO1xuXG4gIC8vIElmIHdlJ3ZlIGN1c3RvbWl6ZWQgYW55IGZvbnQgdmFyaWFibGVzLCB3ZSdsbCBuZWVkIGV4dHJhIHByb3BlcnRpZXMuXG4gIEBpZiAkYmFzZS1mb250LXNpemUgIT0gMTZweFxuICAgIG9yICRiYXNlLWxpbmUtaGVpZ2h0ICE9IDI0cHhcbiAgICBvciAkYmFzZS11bml0ICE9ICdlbSdcbiAgICBvciAkaDEtZm9udC1zaXplICE9IDIgICAgKiAkYmFzZS1mb250LXNpemVcbiAgICBvciAkaDItZm9udC1zaXplICE9IDEuNSAgKiAkYmFzZS1mb250LXNpemVcbiAgICBvciAkaDMtZm9udC1zaXplICE9IDEuMTcgKiAkYmFzZS1mb250LXNpemVcbiAgICBvciAkaDQtZm9udC1zaXplICE9IDEgICAgKiAkYmFzZS1mb250LXNpemVcbiAgICBvciAkaDUtZm9udC1zaXplICE9IDAuODMgKiAkYmFzZS1mb250LXNpemVcbiAgICBvciAkaDYtZm9udC1zaXplICE9IDAuNjcgKiAkYmFzZS1mb250LXNpemUge1xuICAgICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtOiB0cnVlICFnbG9iYWw7XG4gIH1cblxuICAvKiEgbm9ybWFsaXplLXNjc3MgfCBNSVQvR1BMdjIgTGljZW5zZSB8IGJpdC5seS9ub3JtYWxpemUtc2NzcyAqL1xuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoZG9jdW1lbnQpIHtcbiAgICAvKiBEb2N1bWVudFxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiAxLiBDaGFuZ2UgdGhlIGRlZmF1bHQgZm9udCBmYW1pbHkgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqIDMuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW5cbiAgICAgKiAgICBJRSBvbiBXaW5kb3dzIFBob25lIGFuZCBpbiBpT1MuXG4gICAgICovXG5cbiAgICBodG1sIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAkYmFzZS1mb250LWZhbWlseTsgLyogMSAqL1xuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgLy8gQ29ycmVjdCBvbGQgYnJvd3NlciBidWcgdGhhdCBwcmV2ZW50ZWQgYWNjZXNzaWJsZSByZXNpemluZyBvZiB0ZXh0XG4gICAgICAgIC8vIHdoZW4gcm9vdCBmb250LXNpemUgaXMgc2V0IHdpdGggcHggb3IgZW0uXG4gICAgICAgIGZvbnQtc2l6ZTogKCRiYXNlLWZvbnQtc2l6ZSAvIDE2cHgpICogMTAwJTtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICgkYmFzZS1saW5lLWhlaWdodCAvICRiYXNlLWZvbnQtc2l6ZSkgKiAxZW07IC8qIDIgKi9cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDIgKi9cbiAgICAgIH1cbiAgICAgIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAzICovXG4gICAgICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDMgKi9cbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKHNlY3Rpb25zKSB7XG4gICAgLyogU2VjdGlvbnNcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICovXG5cbiAgICBib2R5IHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cblxuICAgIGFydGljbGUsXG4gICAgYXNpZGUsXG4gICAgZm9vdGVyLFxuICAgIGhlYWRlcixcbiAgICBuYXYsXG4gICAgc2VjdGlvbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXG4gICAgICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIGgxIHtcbiAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGgxLWZvbnQtc2l6ZSk7XG4gICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGgxLWZvbnQtc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIC8qIFNldCAxIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtIG9uIHRoZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW5zLiAqL1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCwgJGgxLWZvbnQtc2l6ZSk7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIG1hcmdpbjogMC42N2VtIDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgIGgyIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWZvbnQtc2l6ZSgkaDItZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRoMi1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCwgJGgyLWZvbnQtc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIGgzIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWZvbnQtc2l6ZSgkaDMtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRoMy1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCwgJGgzLWZvbnQtc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIGg0IHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWZvbnQtc2l6ZSgkaDQtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRoNC1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCwgJGg0LWZvbnQtc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIGg1IHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWZvbnQtc2l6ZSgkaDUtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRoNS1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCwgJGg1LWZvbnQtc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIGg2IHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWZvbnQtc2l6ZSgkaDYtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRoNi1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCwgJGg2LWZvbnQtc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShncm91cGluZykge1xuICAgIC8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgIC8qKlxuICAgICAgICogU2V0IDEgdW5pdCBvZiB2ZXJ0aWNhbCByaHl0aG0gb24gdGhlIHRvcCBhbmQgYm90dG9tIG1hcmdpbi5cbiAgICAgICAqL1xuXG4gICAgICBibG9ja3F1b3RlIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxICRpbmRlbnQtYW1vdW50KTtcbiAgICAgIH1cblxuICAgICAgZGwsXG4gICAgICBvbCxcbiAgICAgIHVsIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDApO1xuICAgICAgfVxuXG4gICAgICAvKipcbiAgICAgICAqIFR1cm4gb2ZmIG1hcmdpbnMgb24gbmVzdGVkIGxpc3RzLlxuICAgICAgICovXG5cbiAgICAgIG9sLFxuICAgICAgdWwge1xuICAgICAgICBvbCxcbiAgICAgICAgdWwge1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBkZCB7XG4gICAgICAgIG1hcmdpbjogMCAwIDAgJGluZGVudC1hbW91bnQ7XG4gICAgICB9XG5cbiAgICAgIG9sLFxuICAgICAgdWwge1xuICAgICAgICBwYWRkaW5nOiAwIDAgMCAkaW5kZW50LWFtb3VudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cblxuICAgIGZpZ2NhcHRpb24sXG4gICAgZmlndXJlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBtYXJnaW4gaW4gSUUgOC5cbiAgICAgKi9cblxuICAgIGZpZ3VyZSB7XG4gICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgJGluZGVudC1hbW91bnQpO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBtYXJnaW46IDFlbSAkaW5kZW50LWFtb3VudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICAgICAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuICAgICAqL1xuXG4gICAgaHIge1xuICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8qIDEgKi9cbiAgICAgIGhlaWdodDogMDsgLyogMSAqL1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAgICAgKi9cblxuICAgIG1haW4ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgIC8qKlxuICAgICAgICogU2V0IDEgdW5pdCBvZiB2ZXJ0aWNhbCByaHl0aG0gb24gdGhlIHRvcCBhbmQgYm90dG9tIG1hcmdpbi5cbiAgICAgICAqL1xuXG4gICAgICBwLFxuICAgICAgcHJlIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgcHJlIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICAgICAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGxpbmtzKSB7XG4gICAgLyogTGlua3NcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogMS4gUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICAgICAqIDIuIFJlbW92ZSBnYXBzIGluIGxpbmtzIHVuZGVybGluZSBpbiBpT1MgOCsgYW5kIFNhZmFyaSA4Ky5cbiAgICAgKi9cblxuICAgIGEge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8qIDEgKi9cbiAgICAgIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uLXNraXA6IG9iamVjdHM7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmUgdGhlIG91dGxpbmUgb24gZm9jdXNlZCBsaW5rcyB3aGVuIHRoZXkgYXJlIGFsc28gYWN0aXZlIG9yIGhvdmVyZWRcbiAgICAgKiBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKi9cblxuICAgIGE6YWN0aXZlLFxuICAgIGE6aG92ZXIge1xuICAgICAgb3V0bGluZS13aWR0aDogMDtcbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKHRleHQpIHtcbiAgICAvKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gRmlyZWZveCAzOS0uXG4gICAgICogMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIGFiYnJbdGl0bGVdIHtcbiAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7IC8qIDEgKi9cbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyAvKiAyICovXG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQcmV2ZW50IHRoZSBkdXBsaWNhdGUgYXBwbGljYXRpb24gb2YgYGJvbGRlcmAgYnkgdGhlIG5leHQgcnVsZSBpbiBTYWZhcmkgNi5cbiAgICAgKi9cblxuICAgIGIsXG4gICAgc3Ryb25nIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gICAgICovXG5cbiAgICBiLFxuICAgIHN0cm9uZyB7XG4gICAgICBmb250LXdlaWdodDogYm9sZGVyO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgY29kZSxcbiAgICBrYmQsXG4gICAgc2FtcCB7XG4gICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgICAgIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc3R5bGUgaW4gQW5kcm9pZCA0LjMtLlxuICAgICAqL1xuXG4gICAgZGZuIHtcbiAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgYmFja2dyb3VuZCBhbmQgY29sb3IgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBtYXJrIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjA7XG4gICAgICBjb2xvcjogIzAwMDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIHNtYWxsIHtcbiAgICAgIGZvbnQtc2l6ZTogODAlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICAgICAqIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIHN1YixcbiAgICBzdXAge1xuICAgICAgZm9udC1zaXplOiA3NSU7XG4gICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICB9XG5cbiAgICBzdWIge1xuICAgICAgYm90dG9tOiAtMC4yNWVtO1xuICAgIH1cblxuICAgIHN1cCB7XG4gICAgICB0b3A6IC0wLjVlbTtcbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGVtYmVkZGVkKSB7XG4gICAgLyogRW1iZWRkZWQgY29udGVudFxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cblxuICAgIGF1ZGlvLFxuICAgIHZpZGVvIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBpT1MgNC03LlxuICAgICAqL1xuXG4gICAgYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC0uXG4gICAgICovXG5cbiAgICBpbWcge1xuICAgICAgYm9yZGVyLXN0eWxlOiBub25lO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEhpZGUgdGhlIG92ZXJmbG93IGluIElFLlxuICAgICAqL1xuXG4gICAgc3ZnOm5vdCg6cm9vdCkge1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGZvcm1zKSB7XG4gICAgLyogRm9ybXNcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gICAgICovXG5cbiAgICBidXR0b24sXG4gICAgaW5wdXQsXG4gICAgb3B0Z3JvdXAsXG4gICAgc2VsZWN0LFxuICAgIHRleHRhcmVhIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAkYmFzZS1mb250LWZhbWlseTsgLyogMSAqL1xuICAgICAgZm9udC1zaXplOiAxMDAlOyAvKiAxICovXG4gICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICBsaW5lLWhlaWdodDogKCRiYXNlLWxpbmUtaGVpZ2h0IC8gJGJhc2UtZm9udC1zaXplKSAqIDFlbTsgLyogMSAqL1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xuICAgICAgfVxuICAgICAgbWFyZ2luOiAwOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gICAgICovXG5cbiAgICBidXR0b24ge1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gICAgICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICAgICAqL1xuXG4gICAgYnV0dG9uLFxuICAgIHNlbGVjdCB7IC8qIDEgKi9cbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIFByZXZlbnQgYSBXZWJLaXQgYnVnIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYCBhbmQgYHZpZGVvYFxuICAgICAqICAgIGNvbnRyb2xzIGluIEFuZHJvaWQgNC5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICAgICAqL1xuXG4gICAgYnV0dG9uLFxuICAgIGh0bWwgW3R5cGU9XCJidXR0b25cIl0sIC8qIDEgKi9cbiAgICBbdHlwZT1cInJlc2V0XCJdLFxuICAgIFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAyICovXG4gICAgfVxuXG4gICAgYnV0dG9uLFxuICAgIFt0eXBlPVwiYnV0dG9uXCJdLFxuICAgIFt0eXBlPVwicmVzZXRcIl0sXG4gICAgW3R5cGU9XCJzdWJtaXRcIl0ge1xuXG4gICAgICAvKipcbiAgICAgICAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gICAgICAgKi9cblxuICAgICAgJjo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgICAgIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgIH1cblxuICAgICAgLyoqXG4gICAgICAgKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gICAgICAgKi9cblxuICAgICAgJjotbW96LWZvY3VzcmluZyB7XG4gICAgICAgIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuICAgICAqL1xuXG4gICAgaW5wdXQge1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAtLlxuICAgICAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC0uXG4gICAgICovXG5cbiAgICBbdHlwZT1cImNoZWNrYm94XCJdLFxuICAgIFt0eXBlPVwicmFkaW9cIl0ge1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICAgICAgcGFkZGluZzogMDsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cbiAgICAgKi9cblxuICAgIFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuICAgIFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXG4gICAgICBvdXRsaW5lLW9mZnNldDogLTJweDsgLyogMiAqL1xuXG4gICAgICAvKipcbiAgICAgICAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBhbmQgY2FuY2VsIGJ1dHRvbnMgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4gICAgICAgKi9cblxuICAgICAgJjo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbiAgICAgICY6Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAgICAgKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gICAgICovXG5cbiAgICA6Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXG4gICAgICBmb250OiBpbmhlcml0OyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hhbmdlIHRoZSBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICovXG5cbiAgICBmaWVsZHNldCB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICAgICAgbWFyZ2luOiAwIDJweDtcbiAgICAgIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAgICAgKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gICAgICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBsZWdlbmQge1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICAgICAgZGlzcGxheTogdGFibGU7IC8qIDEgKi9cbiAgICAgIG1heC13aWR0aDogMTAwJTsgLyogMSAqL1xuICAgICAgcGFkZGluZzogMDsgLyogMyAqL1xuICAgICAgY29sb3I6IGluaGVyaXQ7IC8qIDIgKi9cbiAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8qIDEgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKiAyLiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICAgICAqL1xuXG4gICAgcHJvZ3Jlc3Mge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAvKiAxICovXG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFLlxuICAgICAqL1xuXG4gICAgdGV4dGFyZWEge1xuICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShpbnRlcmFjdGl2ZSkge1xuICAgIC8qIEludGVyYWN0aXZlXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUsIGFuZCBGaXJlZm94LlxuICAgICAqL1xuXG4gICAgZGV0YWlscyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAvKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIHN1bW1hcnkge1xuICAgICAgZGlzcGxheTogbGlzdC1pdGVtO1xuICAgIH1cblxuICAgIC8qXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBtZW51IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICAvKlxuICAgICAgICAgKiAxLiBTZXQgMSB1bml0IG9mIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgdG9wIGFuZCBib3R0b20gbWFyZ2luLlxuICAgICAgICAgKiAyLiBTZXQgY29uc2lzdGVudCBzcGFjZSBmb3IgdGhlIGxpc3Qgc3R5bGUgaW1hZ2UuXG4gICAgICAgICAqL1xuXG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwKTsgLyogMSAqL1xuICAgICAgICBwYWRkaW5nOiAwIDAgMCAkaW5kZW50LWFtb3VudDsgLyogMiAqL1xuXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBUdXJuIG9mZiBtYXJnaW5zIG9uIG5lc3RlZCBsaXN0cy5cbiAgICAgICAgICovXG5cbiAgICAgICAgbWVudSAmLFxuICAgICAgICBvbCAmLFxuICAgICAgICB1bCAmIHtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKHNjcmlwdGluZykge1xuICAgIC8qIFNjcmlwdGluZ1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cblxuICAgIGNhbnZhcyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gICAgICovXG5cbiAgICB0ZW1wbGF0ZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoaGlkZGVuKSB7XG4gICAgLyogSGlkZGVuXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLS5cbiAgICAgKi9cblxuICAgIFtoaWRkZW5dIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gVmVydGljYWwgUmh5dGhtXG4vL1xuLy8gVGhpcyBpcyB0aGUgbWluaW1hbCBhbW91bnQgb2YgY29kZSBuZWVkZWQgdG8gY3JlYXRlIHZlcnRpY2FsIHJoeXRobSBpbiBvdXJcbi8vIENTUy4gSWYgeW91IGFyZSBsb29raW5nIGZvciBhIHJvYnVzdCBzb2x1dGlvbiwgbG9vayBhdCB0aGUgZXhjZWxsZW50IFR5cGV5XG4vLyBsaWJyYXJ5LiBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9qcHRhcmFudG8vdHlwZXlcblxuQGZ1bmN0aW9uIG5vcm1hbGl6ZS1yaHl0aG0oJHZhbHVlLCAkcmVsYXRpdmUtdG86ICRiYXNlLWZvbnQtc2l6ZSwgJHVuaXQ6ICRiYXNlLXVuaXQpIHtcbiAgQGlmIHVuaXQoJHZhbHVlKSAhPSBweCB7XG4gICAgQGVycm9yIFwiVGhlIG5vcm1hbGl6ZSB2ZXJ0aWNhbC1yaHl0aG0gbW9kdWxlIG9ubHkgc3VwcG9ydHMgcHggaW5wdXRzLiBUaGUgdHlwZXkgbGlicmFyeSBpcyBiZXR0ZXIuXCI7XG4gIH1cbiAgQGlmICR1bml0ID09IHJlbSB7XG4gICAgQHJldHVybiAoJHZhbHVlIC8gJGJhc2UtZm9udC1zaXplKSAqIDFyZW07XG4gIH1cbiAgQGVsc2UgaWYgJHVuaXQgPT0gZW0ge1xuICAgIEByZXR1cm4gKCR2YWx1ZSAvICRyZWxhdGl2ZS10bykgKiAxZW07XG4gIH1cbiAgQGVsc2UgeyAvLyAkdW5pdCA9PSBweFxuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG59XG5cbkBtaXhpbiBub3JtYWxpemUtZm9udC1zaXplKCR2YWx1ZSwgJHJlbGF0aXZlLXRvOiAkYmFzZS1mb250LXNpemUpIHtcbiAgQGlmIHVuaXQoJHZhbHVlKSAhPSAncHgnIHtcbiAgICBAZXJyb3IgXCJub3JtYWxpemUtZm9udC1zaXplKCkgb25seSBzdXBwb3J0cyBweCBpbnB1dHMuIFRoZSB0eXBleSBsaWJyYXJ5IGlzIGJldHRlci5cIjtcbiAgfVxuICBmb250LXNpemU6IG5vcm1hbGl6ZS1yaHl0aG0oJHZhbHVlLCAkcmVsYXRpdmUtdG8pO1xufVxuXG5AbWl4aW4gbm9ybWFsaXplLXJoeXRobSgkcHJvcGVydHksICR2YWx1ZXMsICRyZWxhdGl2ZS10bzogJGJhc2UtZm9udC1zaXplKSB7XG4gICR2YWx1ZS1saXN0OiAkdmFsdWVzO1xuICAkc2VwOiBzcGFjZTtcbiAgQGlmIHR5cGUtb2YoJHZhbHVlcykgPT0gJ2xpc3QnIHtcbiAgICAkc2VwOiBsaXN0LXNlcGFyYXRvcigkdmFsdWVzKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgJHZhbHVlLWxpc3Q6IGFwcGVuZCgoKSwgJHZhbHVlcyk7XG4gIH1cblxuICAkbm9ybWFsaXplZC12YWx1ZXM6ICgpO1xuICBAZWFjaCAkdmFsdWUgaW4gJHZhbHVlLWxpc3Qge1xuICAgIEBpZiB1bml0bGVzcygkdmFsdWUpIGFuZCAkdmFsdWUgIT0gMCB7XG4gICAgICAkdmFsdWU6ICR2YWx1ZSAqIG5vcm1hbGl6ZS1yaHl0aG0oJGJhc2UtbGluZS1oZWlnaHQsICRyZWxhdGl2ZS10byk7XG4gICAgfVxuICAgICRub3JtYWxpemVkLXZhbHVlczogYXBwZW5kKCRub3JtYWxpemVkLXZhbHVlcywgJHZhbHVlLCAkc2VwKTtcbiAgfVxuICAjeyRwcm9wZXJ0eX06ICRub3JtYWxpemVkLXZhbHVlcztcbn1cblxuQG1peGluIG5vcm1hbGl6ZS1tYXJnaW4oJHZhbHVlcywgJHJlbGF0aXZlLXRvOiAkYmFzZS1mb250LXNpemUpIHtcbiAgQGluY2x1ZGUgbm9ybWFsaXplLXJoeXRobShtYXJnaW4sICR2YWx1ZXMsICRyZWxhdGl2ZS10byk7XG59XG5cbkBtaXhpbiBub3JtYWxpemUtbGluZS1oZWlnaHQoJGZvbnQtc2l6ZSwgJG1pbi1saW5lLXBhZGRpbmc6IDJweCkge1xuICAkbGluZXM6IGNlaWwoJGZvbnQtc2l6ZSAvICRiYXNlLWxpbmUtaGVpZ2h0KTtcbiAgLy8gSWYgbGluZXMgYXJlIGNyYW1wZWQgaW5jbHVkZSBzb21lIGV4dHJhIGxlYWRpbmcuXG4gIEBpZiAoJGxpbmVzICogJGJhc2UtbGluZS1oZWlnaHQgLSAkZm9udC1zaXplKSA8ICgkbWluLWxpbmUtcGFkZGluZyAqIDIpIHtcbiAgICAkbGluZXM6ICRsaW5lcyArIDE7XG4gIH1cbiAgQGluY2x1ZGUgbm9ybWFsaXplLXJoeXRobShsaW5lLWhlaWdodCwgJGxpbmVzLCAkZm9udC1zaXplKTtcbn1cbiIsIi8vXG4vLyBWYXJpYWJsZXNcbi8vXG4vLyBZb3UgY2FuIG92ZXJyaWRlIHRoZSBkZWZhdWx0IHZhbHVlcyBieSBzZXR0aW5nIHRoZSB2YXJpYWJsZXMgaW4geW91ciBTYXNzXG4vLyBiZWZvcmUgaW1wb3J0aW5nIHRoZSBub3JtYWxpemUtc2NzcyBsaWJyYXJ5LlxuXG4vLyBUaGUgZm9udCBzaXplIHNldCBvbiB0aGUgcm9vdCBodG1sIGVsZW1lbnQuXG4kYmFzZS1mb250LXNpemU6IDE2cHggIWRlZmF1bHQ7XG5cbi8vIFRoZSBiYXNlIGxpbmUgaGVpZ2h0IGRldGVybWluZXMgdGhlIGJhc2ljIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtLlxuJGJhc2UtbGluZS1oZWlnaHQ6IDI0cHggIWRlZmF1bHQ7XG5cbi8vIFRoZSBsZW5ndGggdW5pdCBpbiB3aGljaCB0byBvdXRwdXQgdmVydGljYWwgcmh5dGhtIHZhbHVlcy5cbi8vIFN1cHBvcnRlZCB2YWx1ZXM6IHB4LCBlbSwgcmVtLlxuJGJhc2UtdW5pdDogJ2VtJyAhZGVmYXVsdDtcblxuLy8gVGhlIGRlZmF1bHQgZm9udCBmYW1pbHkuXG4kYmFzZS1mb250LWZhbWlseTogc2Fucy1zZXJpZiAhZGVmYXVsdDtcblxuLy8gVGhlIGZvbnQgc2l6ZXMgZm9yIGgxLWg2LlxuJGgxLWZvbnQtc2l6ZTogMiAgICAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoMi1mb250LXNpemU6IDEuNSAgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kaDMtZm9udC1zaXplOiAxLjE3ICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGg0LWZvbnQtc2l6ZTogMSAgICAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoNS1mb250LXNpemU6IDAuODMgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kaDYtZm9udC1zaXplOiAwLjY3ICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuXG4vLyBUaGUgYW1vdW50IGxpc3RzIGFuZCBibG9ja3F1b3RlcyBhcmUgaW5kZW50ZWQuXG4kaW5kZW50LWFtb3VudDogNDBweCAhZGVmYXVsdDtcblxuLy8gVGhlIGZvbGxvd2luZyB2YXJpYWJsZSBjb250cm9scyB3aGV0aGVyIG5vcm1hbGl6ZS1zY3NzIHdpbGwgb3V0cHV0XG4vLyBmb250LXNpemVzLCBsaW5lLWhlaWdodHMgYW5kIGJsb2NrLWxldmVsIHRvcC9ib3R0b20gbWFyZ2lucyB0aGF0IGZvcm0gYSBiYXNpY1xuLy8gdmVydGljYWwgcmh5dGhtIG9uIHRoZSBwYWdlLCB3aGljaCBkaWZmZXJzIGZyb20gdGhlIG9yaWdpbmFsIE5vcm1hbGl6ZS5jc3MuXG4vLyBIb3dldmVyLCBjaGFuZ2luZyBhbnkgb2YgdGhlIHZhcmlhYmxlcyBhYm92ZSB3aWxsIGNhdXNlXG4vLyAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB0byBiZSBhdXRvbWF0aWNhbGx5IHNldCB0byB0cnVlLlxuJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG06IGZhbHNlICFkZWZhdWx0O1xuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vIHNhc3MtbGludDpkaXNhYmxlIGZvcmNlLWF0dHJpYnV0ZS1uZXN0aW5nLCBmb3JjZS1wc2V1ZG8tbmVzdGluZywgbm8tY29sb3ItbGl0ZXJhbHMsIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcblxuLy8vL1xuLy8vIEBncm91cCBnbG9iYWxcbi8vLy9cblxuLy8vIEZvbnQgc2l6ZSBhdHRyaWJ1dGUgYXBwbGllZCB0byBgPGh0bWw+YCBhbmQgYDxib2R5PmAuIFdlIHVzZSAxMDAlIGJ5IGRlZmF1bHQgc28gdGhlIHZhbHVlIGlzIGluaGVyaXRlZCBmcm9tIHRoZSB1c2VyJ3MgYnJvd3NlciBzZXR0aW5ncy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtZm9udC1zaXplOiAxMDAlICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHdpZHRoIG9mIHlvdXIgc2l0ZS4gVXNlZCBieSB0aGUgZ3JpZCB0byBkZXRlcm1pbmUgcm93IHdpZHRoLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC13aWR0aDogcmVtLWNhbGMoMTIwMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGxpbmUgaGVpZ2h0IGZvciBhbGwgdHlwZS4gYCRnbG9iYWwtbGluZWhlaWdodGAgaXMgMjRweCB3aGlsZSBgJGdsb2JhbC1mb250LXNpemVgIGlzIDE2cHhcbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbGluZWhlaWdodDogMS41ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JzIHVzZWQgZm9yIGJ1dHRvbnMsIGNhbGxvdXRzLCBsaW5rcywgZXRjLiBUaGVyZSBtdXN0IGFsd2F5cyBiZSBhIGNvbG9yIGNhbGxlZCBgcHJpbWFyeWAuXG4vLy8gQHR5cGUgTWFwXG4kZm91bmRhdGlvbi1wYWxldHRlOiAoXG4gIHByaW1hcnk6ICMxNzc5YmEsXG4gIHNlY29uZGFyeTogIzc2NzY3NixcbiAgc3VjY2VzczogIzNhZGI3NixcbiAgd2FybmluZzogI2ZmYWUwMCxcbiAgYWxlcnQ6ICNjYzRiMzcsXG4pICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgbGlnaHQgZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGxpZ2h0LWdyYXk6ICNlNmU2ZTYgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBtZWRpdW0gZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJG1lZGl1bS1ncmF5OiAjY2FjYWNhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgZGFyayBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kZGFyay1ncmF5OiAjOGE4YThhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgYmxhY2sgdWkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRibGFjazogIzBhMGEwYSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIHdoaXRlIHVpIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kd2hpdGU6ICNmZWZlZmUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIENvbG9yXG4kYm9keS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIENvbG9yXG4kYm9keS1mb250LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHN0YWNrIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIExpc3RcbiRib2R5LWZvbnQtZmFtaWx5OiAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG5cbi8vLyBTZXQgdG8gYHRydWVgIHRvIGVuYWJsZSBhbnRpYWxpYXNlZCB0eXBlLCB1c2luZyB0aGUgYC13ZWJraXQtZm9udC1zbW9vdGhpbmdgIGFuZCBgLW1vei1vc3gtZm9udC1zbW9vdGhpbmdgIENTUyBwcm9wZXJ0aWVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRib2R5LWFudGlhbGlhc2VkOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIG1hcmdpbiBvbiBjb21wb25lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgcGFkZGluZyBvbiBjb21wb25lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIHBvc2l0aW9uaW5nIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXBvc2l0aW9uOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIGZvbnQgd2VpZ2h0IHVzZWQgZm9yIG5vcm1hbCB0eXBlLlxuLy8vIEB0eXBlIEtleXdvcmQgfCBOdW1iZXJcbiRnbG9iYWwtd2VpZ2h0LW5vcm1hbDogbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIGZvbnQgd2VpZ2h0IHVzZWQgZm9yIGJvbGQgdHlwZS5cbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXG4kZ2xvYmFsLXdlaWdodC1ib2xkOiBib2xkICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIGFsbCBlbGVtZW50cyB0aGF0IGhhdmUgYSBib3JkZXIgcmFkaXVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1yYWRpdXM6IDAgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgYWxsIG1lbnUgc3R5bGVzLiBDYW4gYmUgb3ZlcndyaXR0ZW4gYXQgaW5kaXZpZHVhbCBtZW51IGNvbXBvbmVudCBsZXZlbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbWVudS1wYWRkaW5nOiAwLjdyZW0gMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBhbGwgbWVudSBzdHlsZXMuIE5lc3RlZCBtYXJnaW4gZm9yIHN1Ym1lbnUuXG4kZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFNldHMgdGhlIHRleHQgZGlyZWN0aW9uIG9mIHRoZSBDU1MuIENhbiBiZSBlaXRoZXIgYGx0cmAgb3IgYHJ0bGAuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGdsb2JhbC10ZXh0LWRpcmVjdGlvbjogbHRyICFkZWZhdWx0O1xuXG4vLy8gRW5hYmxlcyBmbGV4Ym94IGZvciBjb21wb25lbnRzIHRoYXQgc3VwcG9ydCBpdC5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZ2xvYmFsLWZsZXhib3g6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBFbmFibGVkIHJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIHByb3RvdHlwZXMgaWYgYXBwbGljYWJsZVxuLy8vIEB0eXBlIEJvb2xlYW5cbiRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIEJ1dHRvbiBjdXJzb3IncyB2YWx1ZSwgYGF1dG9gIGJ5IGRlZmF1bHRcbi8vLyBAdHlwZSBLZXl3b3JkXG4kZ2xvYmFsLWJ1dHRvbi1jdXJzb3I6IGF1dG8gIWRlZmF1bHQ7XG5cbkBpZiBub3QgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkge1xuICBAZXJyb3IgJ0luICRmb3VuZGF0aW9uLXBhbGV0dGUsIHlvdSBtdXN0IGhhdmUgYSBjb2xvciBuYW1lZCBcInByaW1hcnlcIi4nO1xufVxuXG4vLyBJbnRlcm5hbCB2YXJpYWJsZXMgdXNlZCBmb3IgdGV4dCBkaXJlY3Rpb25cbiRnbG9iYWwtbGVmdDogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIHJpZ2h0LCBsZWZ0KTtcbiRnbG9iYWwtcmlnaHQ6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCBsZWZ0LCByaWdodCk7XG5cbi8vLyBHbG9iYWwgdG9sZXJhbmNlIGZvciBjb2xvciBwaWNrIGNvbnRyYXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZTogMCAhZGVmYXVsdDtcblxuLy8gSW50ZXJuYWwgdmFyaWFibGVzIHVzZWQgZm9yIGNvbG9yc1xuJHByaW1hcnktY29sb3I6IGdldC1jb2xvcihwcmltYXJ5KTtcbiRzZWNvbmRhcnktY29sb3I6IGdldC1jb2xvcihzZWNvbmRhcnkpO1xuJHN1Y2Nlc3MtY29sb3I6IGdldC1jb2xvcihzdWNjZXNzKTtcbiR3YXJuaW5nLWNvbG9yOiBnZXQtY29sb3Iod2FybmluZyk7XG4kYWxlcnQtY29sb3I6IGdldC1jb2xvcihhbGVydCk7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWdsb2JhbC1zdHlsZXMge1xuICBAaW5jbHVkZSAtemYtbm9ybWFsaXplO1xuXG4gIC8vIFRoZXNlIHN0eWxlcyBhcmUgYXBwbGllZCB0byBhIDxtZXRhPiB0YWcsIHdoaWNoIGlzIHJlYWQgYnkgdGhlIEZvdW5kYXRpb24gSmF2YVNjcmlwdFxuICAuZm91bmRhdGlvbi1tcSB7XG4gICAgZm9udC1mYW1pbHk6ICcjey16Zi1icC1zZXJpYWxpemUoJGJyZWFrcG9pbnRzKX0nO1xuICB9XG5cbiAgaHRtbCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBmb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gU2V0IGJveC1zaXppbmcgZ2xvYmFsbHkgdG8gaGFuZGxlIHBhZGRpbmcgYW5kIGJvcmRlciB3aWR0aHNcbiAgKixcbiAgKjo6YmVmb3JlLFxuICAqOjphZnRlciB7XG4gICAgYm94LXNpemluZzogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIERlZmF1bHQgYm9keSBzdHlsZXNcbiAgYm9keSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICBiYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kO1xuXG4gICAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodDtcbiAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcblxuICAgIEBpZiAoJGJvZHktYW50aWFsaWFzZWQpIHtcbiAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICB9XG4gIH1cblxuICBpbWcge1xuICAgIC8vIEdldCByaWQgb2YgZ2FwIHVuZGVyIGltYWdlcyBieSBtYWtpbmcgdGhlbSBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGJ5IGRlZmF1bHRcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgIC8vIEdyaWQgZGVmYXVsdHMgdG8gZ2V0IGltYWdlcyBhbmQgZW1iZWRzIHRvIHdvcmsgcHJvcGVybHlcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7XG4gIH1cblxuICAvLyBNYWtlIHN1cmUgdGV4dGFyZWEgdGFrZXMgb24gaGVpZ2h0IGF1dG9tYXRpY2FsbHlcbiAgdGV4dGFyZWEge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtaW4taGVpZ2h0OiA1MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgLy8gTWFrZSBzZWxlY3QgZWxlbWVudHMgYXJlIDEwMCUgd2lkdGggYnkgZGVmYXVsdFxuICBzZWxlY3Qge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gIH1cblxuICAvLyBTdHlsZXMgR29vZ2xlIE1hcHMgYW5kIE1hcFF1ZXN0IGVtYmVkcyBwcm9wZXJseVxuICAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLWlkc1xuICAubWFwX2NhbnZhcyxcbiAgLm1xYS1kaXNwbGF5IHtcbiAgICBpbWcsXG4gICAgZW1iZWQsXG4gICAgb2JqZWN0IHtcbiAgICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IDxidXR0b24+IHN0eWxlcyBjcmVhdGVkIGJ5IG1vc3QgYnJvd3NlcnNcbiAgYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjdXJzb3I6ICRnbG9iYWwtYnV0dG9uLWN1cnNvcjtcbiAgfVxuXG4gIC8vIFByZXZlbnQgdGV4dCBvdmVyZmxvdyBvbiBwcmVcbiAgcHJlIHtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgfVxuXG4gIC8vIE1ha2UgcmVzZXQgaW5oZXJpdCBmb250LWZhbWlseSBpbnN0ZWFkIG9mIHNldHRpbmdzIHNhbnMtc2VyaWZcbiAgYnV0dG9uLFxuICBpbnB1dCxcbiAgb3B0Z3JvdXAsXG4gIHNlbGVjdCxcbiAgdGV4dGFyZWEge1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gSW50ZXJuYWwgY2xhc3NlcyB0byBzaG93L2hpZGUgZWxlbWVudHMgaW4gSmF2YVNjcmlwdFxuICAuaXMtdmlzaWJsZSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5pcy1oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gTG9hZHMgbm9ybWFsaXplLmNzcy5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBtaXhpbiAtemYtbm9ybWFsaXplIHtcbiAgQGluY2x1ZGUgbm9ybWFsaXplKCk7XG59XG4iLCIvLyAgRm91bmRhdGlvbiBmb3IgU2l0ZXMgU2V0dGluZ3Ncbi8vICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy9cbi8vICBUYWJsZSBvZiBDb250ZW50czpcbi8vXG4vLyAgIDEuIEdsb2JhbFxuLy8gICAyLiBCcmVha3BvaW50c1xuLy8gICAzLiBUaGUgR3JpZFxuLy8gICA0LiBCYXNlIFR5cG9ncmFwaHlcbi8vICAgNS4gVHlwb2dyYXBoeSBIZWxwZXJzXG4vLyAgIDYuIEFiaWRlXG4vLyAgIDcuIEFjY29yZGlvblxuLy8gICA4LiBBY2NvcmRpb24gTWVudVxuLy8gICA5LiBCYWRnZVxuLy8gIDEwLiBCcmVhZGNydW1ic1xuLy8gIDExLiBCdXR0b25cbi8vICAxMi4gQnV0dG9uIEdyb3VwXG4vLyAgMTMuIENhbGxvdXRcbi8vICAxNC4gQ2xvc2UgQnV0dG9uXG4vLyAgMTUuIERyaWxsZG93blxuLy8gIDE2LiBEcm9wZG93blxuLy8gIDE3LiBEcm9wZG93biBNZW51XG4vLyAgMTguIEZsZXggVmlkZW9cbi8vICAxOS4gRm9ybXNcbi8vICAyMC4gTGFiZWxcbi8vICAyMS4gTWVkaWEgT2JqZWN0XG4vLyAgMjIuIE1lbnVcbi8vICAyMy4gTWV0ZXJcbi8vICAyNC4gT2ZmLWNhbnZhc1xuLy8gIDI1LiBPcmJpdFxuLy8gIDI2LiBQYWdpbmF0aW9uXG4vLyAgMjcuIFByb2dyZXNzIEJhclxuLy8gIDI4LiBSZXZlYWxcbi8vICAyOS4gU2xpZGVyXG4vLyAgMzAuIFN3aXRjaFxuLy8gIDMxLiBUYWJsZVxuLy8gIDMyLiBUYWJzXG4vLyAgMzMuIFRodW1ibmFpbFxuLy8gIDM0LiBUaXRsZSBCYXJcbi8vICAzNS4gVG9vbHRpcFxuLy8gIDM2LiBUb3AgQmFyXG5cbkBpbXBvcnQgJ3V0aWwvdXRpbCc7XG5cbi8vIDEuIEdsb2JhbFxuLy8gLS0tLS0tLS0tXG5cbiRnbG9iYWwtZm9udC1zaXplOiAxMDAlO1xuJGdsb2JhbC13aWR0aDogMTMwMHB4O1xuJGdsb2JhbC13aWR0aC11bml0OiAxMzAwO1xuJGdsb2JhbC1saW5laGVpZ2h0OiAxLjU7XG4kZm91bmRhdGlvbi1wYWxldHRlOiAoXG4gIHByaW1hcnk6ICMyMTk5ZTgsXG4gIHNlY29uZGFyeTogIzc3NyxcbiAgc3VjY2VzczogIzNhZGI3NixcbiAgd2FybmluZzogI2ZmYWUwMCxcbiAgYWxlcnQ6ICNlYzU4NDAsXG4pO1xuJHByaW1hcnktY29sb3I6ICMyMTk5ZTg7XG4vLyAkc3VjY2Vzcy1jb2xvcjogZ3JlZW47XG4vLyAkd2FybmluZy1jb2xvcjogcmVkO1xuLy8gJGFsZXJ0LWNvbG9yOiBvcmFuZ2U7XG4kbGlnaHQtZ3JheTogI2U2ZTZlNjtcbiRtZWRpdW0tZ3JheTogI2NhY2FjYTtcbiRkYXJrLWdyYXk6ICM4YThhOGE7XG4kYmxhY2s6ICMwYTBhMGE7XG4kd2hpdGU6ICNmZWZlZmU7XG4vLyAkYm9keS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4vLyAkYm9keS1mb250LWNvbG9yOiAkYmxhY2s7XG4vLyAkYm9keS1mb250LWZhbWlseTogJ1NoYXJwJywgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbi8vICRib2R5LWFudGlhbGlhc2VkOiB0cnVlO1xuLy8gJGdsb2JhbC1tYXJnaW46IDFyZW07XG4vLyAkZ2xvYmFsLXBhZGRpbmc6IDFyZW07XG4kZ2xvYmFsLXdlaWdodC1ub3JtYWw6IDMwMDtcbi8vICRnbG9iYWwtd2VpZ2h0LWJvbGQ6IGJvbGQ7XG4kZ2xvYmFsLXJhZGl1czogMDtcbi8vICRnbG9iYWwtdGV4dC1kaXJlY3Rpb246IGx0cjtcbi8vICRnbG9iYWwtZmxleGJveDogZmFsc2U7XG4vLyAkcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHM6IHRydWU7XG5cblxuLy8gMi4gQnJlYWtwb2ludHNcbi8vIC0tLS0tLS0tLS0tLS0tXG5cbiRicmVha3BvaW50czogKFxuICB4c21hbGw6IDAsXG4gIHNtYWxsOiA0ODBweCxcbiAgbWVkaXVtOiA2MDBweCxcbiAgbGFyZ2U6IDEwMjRweCxcbiAgeGxhcmdlOiAxMjAwcHgsXG4gIHh4bGFyZ2U6IDE0NDBweCxcbiAgeHh4bGFyZ2U6IDE2MDBweFxuKTtcbiRicmVha3BvaW50LWNsYXNzZXM6ICh4c21hbGwgc21hbGwgbWVkaXVtIGxhcmdlIHhsYXJnZSB4eGxhcmdlIHh4eGxhcmdlKTtcblxuLy8gMy4gVGhlIEdyaWRcbi8vIC0tLS0tLS0tLS0tXG5cbiRncmlkLXJvdy13aWR0aDogJGdsb2JhbC13aWR0aDtcbiRncmlkLWNvbHVtbi1jb3VudDogMTI7XG4kZ3JpZC1jb2x1bW4tZ3V0dGVyOiAoXG4gIHhzbWFsbDogNTBweCxcbiAgbGFyZ2U6IDEwMHB4XG4pO1xuXG4kZ3JpZC1jb2x1bW4tYWxpZ24tZWRnZTogdHJ1ZTtcbiRibG9jay1ncmlkLW1heDogODtcblxuLy8gNC4gQmFzZSBUeXBvZ3JhcGh5XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gJGhlYWRlci1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG4vLyAkaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4vLyAkaGVhZGVyLWZvbnQtc3R5bGU6IG5vcm1hbDtcbi8vICRmb250LWZhbWlseS1tb25vc3BhY2U6IENvbnNvbGFzLCAnTGliZXJhdGlvbiBNb25vJywgQ291cmllciwgbW9ub3NwYWNlO1xuLy8gJGhlYWRlci1zaXplczogKFxuLy8gICBzbWFsbDogKFxuLy8gICAgICdoMSc6IDI0LFxuLy8gICAgICdoMic6IDIwLFxuLy8gICAgICdoMyc6IDE5LFxuLy8gICAgICdoNCc6IDE4LFxuLy8gICAgICdoNSc6IDE3LFxuLy8gICAgICdoNic6IDE2LFxuLy8gICApLFxuLy8gICBtZWRpdW06IChcbi8vICAgICAnaDEnOiA0OCxcbi8vICAgICAnaDInOiA0MCxcbi8vICAgICAnaDMnOiAzMSxcbi8vICAgICAnaDQnOiAyNSxcbi8vICAgICAnaDUnOiAyMCxcbi8vICAgICAnaDYnOiAxNixcbi8vICAgKSxcbi8vICk7XG4vLyAkaGVhZGVyLWNvbG9yOiBpbmhlcml0O1xuLy8gJGhlYWRlci1saW5laGVpZ2h0OiAxLjQ7XG4vLyAkaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbTtcbi8vICRoZWFkZXItdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbi8vICRzbWFsbC1mb250LXNpemU6IDgwJTtcbi8vICRoZWFkZXItc21hbGwtZm9udC1jb2xvcjogJG1lZGl1bS1ncmF5O1xuLy8gJHBhcmFncmFwaC1saW5laGVpZ2h0OiAxLjY7XG4vLyAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b206IDFyZW07XG4vLyAkcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4vLyAkY29kZS1jb2xvcjogJGJsYWNrO1xuLy8gJGNvZGUtZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XG4vLyAkY29kZS1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuLy8gJGNvZGUtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4vLyAkY29kZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4vLyAkY29kZS1wYWRkaW5nOiByZW0tY2FsYygyIDUgMSk7XG4vLyAkYW5jaG9yLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbi8vICRhbmNob3ItY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRhbmNob3ItY29sb3IsICRsaWdodG5lc3M6IC0xNCUpO1xuLy8gJGFuY2hvci10ZXh0LWRlY29yYXRpb246IG5vbmU7XG4vLyAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3Zlcjogbm9uZTtcbi8vICRoci13aWR0aDogJGdsb2JhbC13aWR0aDtcbi8vICRoci1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4vLyAkaHItbWFyZ2luOiByZW0tY2FsYygyMCkgYXV0bztcbi8vICRsaXN0LWxpbmVoZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbi8vICRsaXN0LW1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcbi8vICRsaXN0LXN0eWxlLXR5cGU6IGRpc2M7XG4vLyAkbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZTtcbi8vICRsaXN0LXNpZGUtbWFyZ2luOiAxLjI1cmVtO1xuLy8gJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luOiAxLjI1cmVtO1xuLy8gJGRlZm5saXN0LW1hcmdpbi1ib3R0b206IDFyZW07XG4vLyAkZGVmbmxpc3QtdGVybS13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4vLyAkZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tOiAwLjNyZW07XG4vLyAkYmxvY2txdW90ZS1jb2xvcjogJGRhcmstZ3JheTtcbi8vICRibG9ja3F1b3RlLXBhZGRpbmc6IHJlbS1jYWxjKDkgMjAgMCAxOSk7XG4vLyAkYmxvY2txdW90ZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4vLyAkY2l0ZS1mb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbi8vICRjaXRlLWNvbG9yOiAkZGFyay1ncmF5O1xuLy8gJGtleXN0cm9rZS1mb250OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlO1xuLy8gJGtleXN0cm9rZS1jb2xvcjogJGJsYWNrO1xuLy8gJGtleXN0cm9rZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbi8vICRrZXlzdHJva2UtcGFkZGluZzogcmVtLWNhbGMoMiA0IDApO1xuLy8gJGtleXN0cm9rZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuLy8gJGFiYnItdW5kZXJsaW5lOiAxcHggZG90dGVkICRibGFjaztcblxuLy8gNS4gVHlwb2dyYXBoeSBIZWxwZXJzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gJGxlYWQtZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZSAqIDEuMjU7XG4vLyAkbGVhZC1saW5laGVpZ2h0OiAxLjY7XG4vLyAkc3ViaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNDtcbi8vICRzdWJoZWFkZXItY29sb3I6ICRkYXJrLWdyYXk7XG4vLyAkc3ViaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4vLyAkc3ViaGVhZGVyLW1hcmdpbi10b3A6IDAuMnJlbTtcbi8vICRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuLy8gJHN0YXQtZm9udC1zaXplOiAyLjVyZW07XG5cbi8vIDYuIEFiaWRlXG4vLyAtLS0tLS0tLVxuXG4vLyAkYWJpZGUtaW5wdXRzOiB0cnVlO1xuLy8gJGFiaWRlLWxhYmVsczogdHJ1ZTtcbi8vICRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpO1xuLy8gJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCk7XG4vLyAkaW5wdXQtZXJyb3ItY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpO1xuLy8gJGlucHV0LWVycm9yLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuLy8gJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuXG4vLyA3LiBBY2NvcmRpb25cbi8vIC0tLS0tLS0tLS0tLVxuXG4vLyAkYWNjb3JkaW9uLWJhY2tncm91bmQ6ICR3aGl0ZTtcbi8vICRhY2NvcmRpb24tcGx1c21pbnVzOiB0cnVlO1xuLy8gJGFjY29yZGlvbi1pdGVtLWNvbG9yOiBmb3JlZ3JvdW5kKCRhY2NvcmRpb24tYmFja2dyb3VuZCwgJHByaW1hcnktY29sb3IpO1xuLy8gJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5O1xuLy8gJGFjY29yZGlvbi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMXJlbTtcbi8vICRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4vLyAkYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XG4vLyAkYWNjb3JkaW9uLWNvbnRlbnQtY29sb3I6IGZvcmVncm91bmQoJGFjY29yZGlvbi1iYWNrZ3JvdW5kLCAkcHJpbWFyeS1jb2xvcik7XG4vLyAkYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZzogMXJlbTtcblxuLy8gOC4gQWNjb3JkaW9uIE1lbnVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vICRhY2NvcmRpb25tZW51LWFycm93czogdHJ1ZTtcbi8vICRhY2NvcmRpb25tZW51LWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcblxuLy8gOS4gQmFkZ2Vcbi8vIC0tLS0tLS0tXG5cbi8vICRiYWRnZS1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbi8vICRiYWRnZS1jb2xvcjogZm9yZWdyb3VuZCgkYmFkZ2UtYmFja2dyb3VuZCk7XG4vLyAkYmFkZ2UtcGFkZGluZzogMC4zZW07XG4vLyAkYmFkZ2UtbWlud2lkdGg6IDIuMWVtO1xuLy8gJGJhZGdlLWZvbnQtc2l6ZTogMC42cmVtO1xuXG4vLyAxMC4gQnJlYWRjcnVtYnNcbi8vIC0tLS0tLS0tLS0tLS0tLVxuXG4vLyAkYnJlYWRjcnVtYnMtbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMDtcbi8vICRicmVhZGNydW1icy1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpO1xuLy8gJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuLy8gJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItY3VycmVudDogJGJsYWNrO1xuLy8gJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheTtcbi8vICRicmVhZGNydW1icy1pdGVtLW1hcmdpbjogMC43NXJlbTtcbi8vICRicmVhZGNydW1icy1pdGVtLXVwcGVyY2FzZTogdHJ1ZTtcbi8vICRicmVhZGNydW1icy1pdGVtLXNsYXNoOiB0cnVlO1xuXG4vLyAxMS4gQnV0dG9uXG4vLyAtLS0tLS0tLS0tXG5cbi8vICRidXR0b24tcGFkZGluZzogMC44NWVtIDFlbTtcbi8vICRidXR0b24tbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMDtcbi8vICRidXR0b24tZmlsbDogc29saWQ7XG4vLyAkYnV0dG9uLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuLy8gJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyOiBzY2FsZS1jb2xvcigkYnV0dG9uLWJhY2tncm91bmQsICRsaWdodG5lc3M6IC0xNSUpO1xuLy8gJGJ1dHRvbi1jb2xvcjogJHdoaXRlO1xuLy8gJGJ1dHRvbi1jb2xvci1hbHQ6ICRibGFjaztcbi8vICRidXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbi8vICRidXR0b24tc2l6ZXM6IChcbi8vICAgdGlueTogMC42cmVtLFxuLy8gICBzbWFsbDogMC43NXJlbSxcbi8vICAgZGVmYXVsdDogMC45cmVtLFxuLy8gICBsYXJnZTogMS4yNXJlbSxcbi8vICk7XG4vLyAkYnV0dG9uLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjU7XG5cbi8vIDEyLiBCdXR0b24gR3JvdXBcbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuLy8gJGJ1dHRvbmdyb3VwLW1hcmdpbjogMXJlbTtcbi8vICRidXR0b25ncm91cC1zcGFjaW5nOiAxcHg7XG4vLyAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3I6ICcuYnV0dG9uJztcbi8vICRidXR0b25ncm91cC1leHBhbmQtbWF4OiA2O1xuXG4vLyAxMy4gQ2FsbG91dFxuLy8gLS0tLS0tLS0tLS1cblxuLy8gJGNhbGxvdXQtYmFja2dyb3VuZDogJHdoaXRlO1xuLy8gJGNhbGxvdXQtYmFja2dyb3VuZC1mYWRlOiA4NSU7XG4vLyAkY2FsbG91dC1ib3JkZXI6IDFweCBzb2xpZCByZ2JhKCRibGFjaywgMC4yNSk7XG4vLyAkY2FsbG91dC1tYXJnaW46IDAgMCAxcmVtIDA7XG4vLyAkY2FsbG91dC1wYWRkaW5nOiAxcmVtO1xuLy8gJGNhbGxvdXQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbi8vICRjYWxsb3V0LWZvbnQtY29sb3ItYWx0OiAkYm9keS1iYWNrZ3JvdW5kO1xuLy8gJGNhbGxvdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbi8vICRjYWxsb3V0LWxpbmstdGludDogMzAlO1xuXG4vLyAxNC4gQ2xvc2UgQnV0dG9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbi8vICRjbG9zZWJ1dHRvbi1wb3NpdGlvbjogcmlnaHQgdG9wO1xuLy8gJGNsb3NlYnV0dG9uLW9mZnNldC1ob3Jpem9udGFsOiAxcmVtO1xuLy8gJGNsb3NlYnV0dG9uLW9mZnNldC12ZXJ0aWNhbDogMC41cmVtO1xuLy8gJGNsb3NlYnV0dG9uLXNpemU6IDJlbTtcbi8vICRjbG9zZWJ1dHRvbi1saW5laGVpZ2h0OiAxO1xuLy8gJGNsb3NlYnV0dG9uLWNvbG9yOiAkZGFyay1ncmF5O1xuLy8gJGNsb3NlYnV0dG9uLWNvbG9yLWhvdmVyOiAkYmxhY2s7XG5cbi8vIDE1LiBEcmlsbGRvd25cbi8vIC0tLS0tLS0tLS0tLS1cblxuLy8gJGRyaWxsZG93bi10cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgbGluZWFyO1xuLy8gJGRyaWxsZG93bi1hcnJvd3M6IHRydWU7XG4vLyAkZHJpbGxkb3duLWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbi8vICRkcmlsbGRvd24tYmFja2dyb3VuZDogJHdoaXRlO1xuXG4vLyAxNi4gRHJvcGRvd25cbi8vIC0tLS0tLS0tLS0tLVxuXG4vLyAkZHJvcGRvd24tcGFkZGluZzogMXJlbTtcbi8vICRkcm9wZG93bi1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4vLyAkZHJvcGRvd24tZm9udC1zaXplOiAxcmVtO1xuLy8gJGRyb3Bkb3duLXdpZHRoOiAzMDBweDtcbi8vICRkcm9wZG93bi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuLy8gJGRyb3Bkb3duLXNpemVzOiAoXG4vLyAgIHRpbnk6IDEwMHB4LFxuLy8gICBzbWFsbDogMjAwcHgsXG4vLyAgIGxhcmdlOiA0MDBweCxcbi8vICk7XG5cbi8vIDE3LiBEcm9wZG93biBNZW51XG4vLyAtLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyAkZHJvcGRvd25tZW51LWFycm93czogdHJ1ZTtcbi8vICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3I6ICRhbmNob3ItY29sb3I7XG4vLyAkZHJvcGRvd25tZW51LW1pbi13aWR0aDogMjAwcHg7XG4vLyAkZHJvcGRvd25tZW51LWJhY2tncm91bmQ6ICR3aGl0ZTtcbi8vICRkcm9wZG93bm1lbnUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuXG4vLyAxOC4gRmxleCBWaWRlb1xuLy8gLS0tLS0tLS0tLS0tLS1cblxuLy8gJGZsZXh2aWRlby1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNik7XG4vLyAkZmxleHZpZGVvLXJhdGlvOiA0IGJ5IDM7XG4vLyAkZmxleHZpZGVvLXJhdGlvLXdpZGVzY3JlZW46IDE2IGJ5IDk7XG5cbi8vIDE5LiBGb3Jtc1xuLy8gLS0tLS0tLS0tXG5cbiRmaWVsZHNldC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kZmllbGRzZXQtcGFkZGluZzogcmVtLWNhbGMoMjApO1xuJGZpZWxkc2V0LW1hcmdpbjogcmVtLWNhbGMoMTggMCk7XG4kbGVnZW5kLXBhZGRpbmc6IHJlbS1jYWxjKDAgMyk7XG4kZm9ybS1zcGFjaW5nOiByZW0tY2FsYygxNik7XG4kaGVscHRleHQtY29sb3I6ICRibGFjaztcbiRoZWxwdGV4dC1mb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiRoZWxwdGV4dC1mb250LXN0eWxlOiBpdGFsaWM7XG4kaW5wdXQtcHJlZml4LWNvbG9yOiAkYmxhY2s7XG4kaW5wdXQtcHJlZml4LWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGlucHV0LXByZWZpeC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kaW5wdXQtcHJlZml4LXBhZGRpbmc6IDFyZW07XG4kZm9ybS1sYWJlbC1jb2xvcjogJGJsYWNrO1xuJGZvcm0tbGFiZWwtZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4kZm9ybS1sYWJlbC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ6IDEuODtcbiRzZWxlY3QtYmFja2dyb3VuZDogJHdoaXRlO1xuJHNlbGVjdC10cmlhbmdsZS1jb2xvcjogJGRhcmstZ3JheTtcbiRzZWxlY3QtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRpbnB1dC1jb2xvcjogJGJsYWNrO1xuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAkbWVkaXVtLWdyYXk7XG4kaW5wdXQtZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4kaW5wdXQtZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4kaW5wdXQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGlucHV0LWJhY2tncm91bmQtZm9jdXM6ICR3aGl0ZTtcbiRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkOiAkbGlnaHQtZ3JheTtcbiRpbnB1dC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kaW5wdXQtYm9yZGVyLWZvY3VzOiAxcHggc29saWQgJGRhcmstZ3JheTtcbiRpbnB1dC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKCRibGFjaywgMC4xKTtcbiRpbnB1dC1zaGFkb3ctZm9jdXM6IDAgMCA1cHggJG1lZGl1bS1ncmF5O1xuJGlucHV0LWN1cnNvci1kaXNhYmxlZDogbm90LWFsbG93ZWQ7XG4kaW5wdXQtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7XG4kaW5wdXQtbnVtYmVyLXNwaW5uZXJzOiB0cnVlO1xuJGlucHV0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDIwLiBMYWJlbFxuLy8gLS0tLS0tLS0tXG5cbiRsYWJlbC1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRsYWJlbC1jb2xvcjogZm9yZWdyb3VuZCgkbGFiZWwtYmFja2dyb3VuZCk7XG4kbGFiZWwtZm9udC1zaXplOiAwLjhyZW07XG4kbGFiZWwtcGFkZGluZzogMC4zMzMzM3JlbSAwLjVyZW07XG4kbGFiZWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gMjEuIE1lZGlhIE9iamVjdFxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyAkbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4vLyAkbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XG4vLyAkbWVkaWFvYmplY3QtaW1hZ2Utd2lkdGgtc3RhY2tlZDogMTAwJTtcblxuLy8gMjIuIE1lbnVcbi8vIC0tLS0tLS0tXG5cbi8vICRtZW51LW1hcmdpbjogMDtcbi8vICRtZW51LW1hcmdpbi1uZXN0ZWQ6IDFyZW07XG4vLyAkbWVudS1pdGVtLXBhZGRpbmc6IDAuN3JlbSAxcmVtO1xuLy8gJG1lbnUtaXRlbS1jb2xvci1hY3RpdmU6ICR3aGl0ZTtcbi8vICRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4vLyAkbWVudS1pY29uLXNwYWNpbmc6IDAuMjVyZW07XG5cbi8vIDIzLiBNZXRlclxuLy8gLS0tLS0tLS0tXG5cbi8vICRtZXRlci1oZWlnaHQ6IDFyZW07XG4vLyAkbWV0ZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbi8vICRtZXRlci1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4vLyAkbWV0ZXItZmlsbC1nb29kOiAkc3VjY2Vzcy1jb2xvcjtcbi8vICRtZXRlci1maWxsLW1lZGl1bTogJHdhcm5pbmctY29sb3I7XG4vLyAkbWV0ZXItZmlsbC1iYWQ6ICRhbGVydC1jb2xvcjtcblxuLy8gMjQuIE9mZi1jYW52YXNcbi8vIC0tLS0tLS0tLS0tLS0tXG5cbi8vICRvZmZjYW52YXMtc2l6ZTogMjUwcHg7XG4vLyAkb2ZmY2FudmFzLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuLy8gJG9mZmNhbnZhcy16aW5kZXg6IC0xO1xuLy8gJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aDogMC41cztcbi8vICRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc6IGVhc2U7XG4vLyAkb2ZmY2FudmFzLWZpeGVkLXJldmVhbDogdHJ1ZTtcbi8vICRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kOiByZ2JhKCR3aGl0ZSwgMC4yNSk7XG4vLyAkbWFpbmNvbnRlbnQtY2xhc3M6ICdvZmYtY2FudmFzLWNvbnRlbnQnO1xuLy8gJG1haW5jb250ZW50LXNoYWRvdzogMCAwIDEwcHggcmdiYSgkYmxhY2ssIDAuNSk7XG5cbi8vIDI1LiBPcmJpdFxuLy8gLS0tLS0tLS0tXG5cbi8vICRvcmJpdC1idWxsZXQtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuLy8gJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kLWFjdGl2ZTogJGRhcmstZ3JheTtcbi8vICRvcmJpdC1idWxsZXQtZGlhbWV0ZXI6IDEuMnJlbTtcbi8vICRvcmJpdC1idWxsZXQtbWFyZ2luOiAwLjFyZW07XG4vLyAkb3JiaXQtYnVsbGV0LW1hcmdpbi10b3A6IDAuOHJlbTtcbi8vICRvcmJpdC1idWxsZXQtbWFyZ2luLWJvdHRvbTogMC44cmVtO1xuLy8gJG9yYml0LWNhcHRpb24tYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNSk7XG4vLyAkb3JiaXQtY2FwdGlvbi1wYWRkaW5nOiAxcmVtO1xuLy8gJG9yYml0LWNvbnRyb2wtYmFja2dyb3VuZC1ob3ZlcjogcmdiYSgkYmxhY2ssIDAuNSk7XG4vLyAkb3JiaXQtY29udHJvbC1wYWRkaW5nOiAxcmVtO1xuLy8gJG9yYml0LWNvbnRyb2wtemluZGV4OiAxMDtcblxuLy8gMjYuIFBhZ2luYXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tXG5cbi8vICRwYWdpbmF0aW9uLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuLy8gJHBhZ2luYXRpb24tbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4vLyAkcGFnaW5hdGlvbi1pdGVtLWNvbG9yOiAkYmxhY2s7XG4vLyAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmc6IHJlbS1jYWxjKDMgMTApO1xuLy8gJHBhZ2luYXRpb24taXRlbS1zcGFjaW5nOiByZW0tY2FsYygxKTtcbi8vICRwYWdpbmF0aW9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4vLyAkcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5O1xuLy8gJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQ6ICRwcmltYXJ5LWNvbG9yO1xuLy8gJHBhZ2luYXRpb24taXRlbS1jb2xvci1jdXJyZW50OiBmb3JlZ3JvdW5kKCRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50KTtcbi8vICRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheTtcbi8vICRwYWdpbmF0aW9uLWVsbGlwc2lzLWNvbG9yOiAkYmxhY2s7XG4vLyAkcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXM6IGZhbHNlO1xuLy8gJHBhZ2luYXRpb24tYXJyb3dzOiB0cnVlO1xuXG4vLyAyNy4gUHJvZ3Jlc3MgQmFyXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbi8vICRwcm9ncmVzcy1oZWlnaHQ6IDFyZW07XG4vLyAkcHJvZ3Jlc3MtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuLy8gJHByb2dyZXNzLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuLy8gJHByb2dyZXNzLW1ldGVyLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuLy8gJHByb2dyZXNzLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDI4LiBSZXZlYWxcbi8vIC0tLS0tLS0tLS1cblxuLy8gJHJldmVhbC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4vLyAkcmV2ZWFsLXdpZHRoOiA2MDBweDtcbi8vICRyZXZlYWwtbWF4LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuLy8gJHJldmVhbC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XG4vLyAkcmV2ZWFsLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbi8vICRyZXZlYWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbi8vICRyZXZlYWwtemluZGV4OiAxMDA1O1xuLy8gJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjQ1KTtcblxuLy8gMjkuIFNsaWRlclxuLy8gLS0tLS0tLS0tLVxuXG4vLyAkc2xpZGVyLXdpZHRoLXZlcnRpY2FsOiAwLjVyZW07XG4vLyAkc2xpZGVyLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuLy8gJHNsaWRlci1oZWlnaHQ6IDAuNXJlbTtcbi8vICRzbGlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4vLyAkc2xpZGVyLWZpbGwtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuLy8gJHNsaWRlci1oYW5kbGUtaGVpZ2h0OiAxLjRyZW07XG4vLyAkc2xpZGVyLWhhbmRsZS13aWR0aDogMS40cmVtO1xuLy8gJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4vLyAkc2xpZGVyLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjU7XG4vLyAkc2xpZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDMwLiBTd2l0Y2hcbi8vIC0tLS0tLS0tLS1cblxuLy8gJHN3aXRjaC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4vLyAkc3dpdGNoLWJhY2tncm91bmQtYWN0aXZlOiAkcHJpbWFyeS1jb2xvcjtcbi8vICRzd2l0Y2gtaGVpZ2h0OiAycmVtO1xuLy8gJHN3aXRjaC1oZWlnaHQtdGlueTogMS41cmVtO1xuLy8gJHN3aXRjaC1oZWlnaHQtc21hbGw6IDEuNzVyZW07XG4vLyAkc3dpdGNoLWhlaWdodC1sYXJnZTogMi41cmVtO1xuLy8gJHN3aXRjaC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuLy8gJHN3aXRjaC1tYXJnaW46ICRnbG9iYWwtbWFyZ2luO1xuLy8gJHN3aXRjaC1wYWRkbGUtYmFja2dyb3VuZDogJHdoaXRlO1xuLy8gJHN3aXRjaC1wYWRkbGUtb2Zmc2V0OiAwLjI1cmVtO1xuLy8gJHN3aXRjaC1wYWRkbGUtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbi8vICRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dDtcblxuLy8gMzEuIFRhYmxlXG4vLyAtLS0tLS0tLS1cblxuLy8gJHRhYmxlLWJhY2tncm91bmQ6ICR3aGl0ZTtcbi8vICR0YWJsZS1jb2xvci1zY2FsZTogNSU7XG4vLyAkdGFibGUtYm9yZGVyOiAxcHggc29saWQgc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSk7XG4vLyAkdGFibGUtcGFkZGluZzogcmVtLWNhbGMoOCAxMCAxMCk7XG4vLyAkdGFibGUtaG92ZXItc2NhbGU6IDIlO1xuLy8gJHRhYmxlLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xuLy8gJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlICsgJHRhYmxlLWhvdmVyLXNjYWxlKTtcbi8vICR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xuLy8gJHRhYmxlLXN0cmlwZTogZXZlbjtcbi8vICR0YWJsZS1oZWFkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgLyAyKTtcbi8vICR0YWJsZS1mb290LWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xuLy8gJHRhYmxlLWhlYWQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbi8vICRzaG93LWhlYWRlci1mb3Itc3RhY2tlZDogZmFsc2U7XG5cbi8vIDMyLiBUYWJzXG4vLyAtLS0tLS0tLVxuXG4vLyAkdGFiLW1hcmdpbjogMDtcbi8vICR0YWItYmFja2dyb3VuZDogJHdoaXRlO1xuLy8gJHRhYi1iYWNrZ3JvdW5kLWFjdGl2ZTogJGxpZ2h0LWdyYXk7XG4vLyAkdGFiLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4vLyAkdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJHdoaXRlO1xuLy8gJHRhYi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMS41cmVtO1xuLy8gJHRhYi1leHBhbmQtbWF4OiA2O1xuLy8gJHRhYi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZTtcbi8vICR0YWItY29udGVudC1ib3JkZXI6ICRsaWdodC1ncmF5O1xuLy8gJHRhYi1jb250ZW50LWNvbG9yOiBmb3JlZ3JvdW5kKCR0YWItYmFja2dyb3VuZCwgJHByaW1hcnktY29sb3IpO1xuLy8gJHRhYi1jb250ZW50LXBhZGRpbmc6IDFyZW07XG5cbi8vIDMzLiBUaHVtYm5haWxcbi8vIC0tLS0tLS0tLS0tLS1cblxuLy8gJHRodW1ibmFpbC1ib3JkZXI6IHNvbGlkIDRweCAkd2hpdGU7XG4vLyAkdGh1bWJuYWlsLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuLy8gJHRodW1ibmFpbC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKCRibGFjaywgMC4yKTtcbi8vICR0aHVtYm5haWwtc2hhZG93LWhvdmVyOiAwIDAgNnB4IDFweCByZ2JhKCRwcmltYXJ5LWNvbG9yLCAwLjUpO1xuLy8gJHRodW1ibmFpbC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDIwMG1zIGVhc2Utb3V0O1xuLy8gJHRodW1ibmFpbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAzNC4gVGl0bGUgQmFyXG4vLyAtLS0tLS0tLS0tLS0tXG5cbi8vICR0aXRsZWJhci1iYWNrZ3JvdW5kOiAkYmxhY2s7XG4vLyAkdGl0bGViYXItY29sb3I6ICR3aGl0ZTtcbi8vICR0aXRsZWJhci1wYWRkaW5nOiAwLjVyZW07XG4vLyAkdGl0bGViYXItdGV4dC1mb250LXdlaWdodDogYm9sZDtcbi8vICR0aXRsZWJhci1pY29uLWNvbG9yOiAkd2hpdGU7XG4vLyAkdGl0bGViYXItaWNvbi1jb2xvci1ob3ZlcjogJG1lZGl1bS1ncmF5O1xuLy8gJHRpdGxlYmFyLWljb24tc3BhY2luZzogMC4yNXJlbTtcblxuLy8gMzUuIFRvb2x0aXBcbi8vIC0tLS0tLS0tLS0tXG5cbi8vICRoYXMtdGlwLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuLy8gJGhhcy10aXAtYm9yZGVyLWJvdHRvbTogZG90dGVkIDFweCAkZGFyay1ncmF5O1xuLy8gJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuLy8gJHRvb2x0aXAtY29sb3I6ICR3aGl0ZTtcbi8vICR0b29sdGlwLXBhZGRpbmc6IDAuNzVyZW07XG4vLyAkdG9vbHRpcC1mb250LXNpemU6ICRzbWFsbC1mb250LXNpemU7XG4vLyAkdG9vbHRpcC1waXAtd2lkdGg6IDAuNzVyZW07XG4vLyAkdG9vbHRpcC1waXAtaGVpZ2h0OiAkdG9vbHRpcC1waXAtd2lkdGggKiAwLjg2Njtcbi8vICR0b29sdGlwLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDM2LiBUb3AgQmFyXG4vLyAtLS0tLS0tLS0tLVxuXG4vLyAkdG9wYmFyLXBhZGRpbmc6IDAuNXJlbTtcbi8vICR0b3BiYXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4vLyAkdG9wYmFyLXN1Ym1lbnUtYmFja2dyb3VuZDogJHRvcGJhci1iYWNrZ3JvdW5kO1xuLy8gJHRvcGJhci10aXRsZS1zcGFjaW5nOiAxcmVtO1xuLy8gJHRvcGJhci1pbnB1dC13aWR0aDogMjAwcHg7XG4vLyAkdG9wYmFyLXVuc3RhY2stYnJlYWtwb2ludDogbWVkaXVtO1xuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBDcmVhdGVzIGFuIGlubmVyIGJveC1zaGFkb3cgZm9yIG9ubHkgb25lIHNpZGVcbi8vLyBcbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaWRlIC0gU2lkZSB0aGUgc2hhZG93IGlzIHN1cHBvc2VkIHRvIGFwcGVhci4gQ2FuIGJlIGB0b3BgLCBgbGVmdGAsIGByaWdodGAgb3IgYGJvdHRvbWAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzaXplIC0gV2lkdGggZm9yIHRoZSB0YXJnZXQgc2lkZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciBvZiB0aGUgc2hhZG93LlxuQG1peGluIGlubmVyLXNpZGUtc2hhZG93KFxuICAkc2lkZTogYm90dG9tLFxuICAkc2l6ZTogMjBweCxcbiAgJGNvbG9yOiByZ2JhKCRibGFjaywgMC4yNSlcbikge1xuXG4gICRoZWxwZXI6IHJvdW5kKCRzaXplICogMC42NSk7XG5cbiAgQGlmICgkc2lkZSA9PSB0b3ApIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwICRoZWxwZXIgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfSBAZWxzZSBpZiAoJHNpZGUgPT0gbGVmdCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0ICRoZWxwZXIgMCAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9IEBlbHNlIGlmICgkc2lkZSA9PSByaWdodCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0ICgtMSkqJGhlbHBlciAwICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH0gQGVsc2UgaWYgKCRzaWRlID09IGJvdHRvbSkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgKC0xKSokaGVscGVyICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBDU1MgdHJpYW5nbGUsIHdoaWNoIGNhbiBiZSB1c2VkIGZvciBkcm9wZG93biBhcnJvd3MsIGRyb3Bkb3duIHBpcHMsIGFuZCBtb3JlLiBVc2UgdGhpcyBtaXhpbiBpbnNpZGUgYSBgJjo6YmVmb3JlYCBvciBgJjo6YWZ0ZXJgIHNlbGVjdG9yLCB0byBhdHRhY2ggdGhlIHRyaWFuZ2xlIHRvIGFuIGV4aXN0aW5nIGVsZW1lbnQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRyaWFuZ2xlLXNpemUgLSBXaWR0aCBvZiB0aGUgdHJpYW5nbGUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJHRyaWFuZ2xlLWNvbG9yIC0gQ29sb3Igb2YgdGhlIHRyaWFuZ2xlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHRyaWFuZ2xlLWRpcmVjdGlvbiAtIERpcmVjdGlvbiB0aGUgdHJpYW5nbGUgcG9pbnRzLiBDYW4gYmUgYHVwYCwgYHJpZ2h0YCwgYGRvd25gLCBvciBgbGVmdGAuXG5AbWl4aW4gY3NzLXRyaWFuZ2xlKFxuICAkdHJpYW5nbGUtc2l6ZSxcbiAgJHRyaWFuZ2xlLWNvbG9yLFxuICAkdHJpYW5nbGUtZGlyZWN0aW9uXG4pIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG5cbiAgYm9yZGVyOiBpbnNldCAkdHJpYW5nbGUtc2l6ZTtcblxuICBjb250ZW50OiAnJztcblxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gZG93bikge1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IHVwKSB7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvcjtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gcmlnaHQpIHtcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBsZWZ0KSB7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIG1lbnUgaWNvbiB3aXRoIGEgc2V0IHdpZHRoLCBoZWlnaHQsIG51bWJlciBvZiBiYXJzLCBhbmQgY29sb3JzLiBUaGUgbWl4aW4gdXNlcyB0aGUgaGVpZ2h0IG9mIHRoZSBpY29uIGFuZCB0aGUgd2VpZ2h0IG9mIHRoZSBiYXJzIHRvIGRldGVybWluZSBzcGFjaW5nLiA8ZGl2IGNsYXNzPVwiZG9jcy1leGFtcGxlLWJ1cmdlclwiPjwvZGl2PlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3ItaG92ZXIgWyRkYXJrLWdyYXldIC0gQ29sb3IgdG8gdXNlIHdoZW4gdGhlIGljb24gaXMgaG92ZXJlZCBvdmVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWzIwcHhdIC0gV2lkdGggb2YgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRoZWlnaHQgWzE2cHhdIC0gSGVpZ2h0IG9mIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2VpZ2h0IFsycHhdIC0gSGVpZ2h0IG9mIGluZGl2aWR1YWwgYmFycyBpbiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhcnMgWzNdIC0gTnVtYmVyIG9mIGJhcnMgaW4gdGhlIGljb24uXG5AbWl4aW4gaGFtYnVyZ2VyKFxuICAkY29sb3I6ICRibGFjayxcbiAgJGNvbG9yLWhvdmVyOiAkZGFyay1ncmF5LFxuICAkd2lkdGg6IDIwcHgsXG4gICRoZWlnaHQ6IDE2cHgsXG4gICR3ZWlnaHQ6IDJweCxcbiAgJGJhcnM6IDNcbikge1xuICAvLyBib3gtc2hhZG93IENTUyBvdXRwdXRcbiAgJHNoYWRvdzogKCk7XG4gICRob3Zlci1zaGFkb3c6ICgpO1xuXG4gIC8vIFNwYWNpbmcgYmV0d2VlbiBiYXJzIGlzIGNhbGN1bGF0ZWQgYmFzZWQgb24gdGhlIHRvdGFsIGhlaWdodCBvZiB0aGUgaWNvbiBhbmQgdGhlIHdlaWdodCBvZiBlYWNoIGJhclxuICAkc3BhY2luZzogKCRoZWlnaHQgLSAoJHdlaWdodCAqICRiYXJzKSkgLyAoJGJhcnMgLSAxKTtcblxuICBAaWYgdW5pdCgkc3BhY2luZykgPT0gJ3B4JyB7XG4gICAgJHNwYWNpbmc6IGZsb29yKCRzcGFjaW5nKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xuICAgICRvZmZzZXQ6ICgkd2VpZ2h0ICsgJHNwYWNpbmcpICogKCRpIC0gMSk7XG4gICAgJHNoYWRvdzogYXBwZW5kKCRzaGFkb3csIDAgJG9mZnNldCAwICRjb2xvciwgY29tbWEpO1xuICB9XG5cbiAgLy8gSWNvbiBjb250YWluZXJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAkd2lkdGg7XG4gIGhlaWdodDogJGhlaWdodDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gIC8vIEljb24gYmFyc1xuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAkd2VpZ2h0O1xuXG4gICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG5cbiAgICBjb250ZW50OiAnJztcbiAgfVxuXG4gIC8vIEhvdmVyIHN0YXRlXG4gIEBpZiAkY29sb3ItaG92ZXIge1xuICAgIC8vIEdlbmVyYXRlIENTU1xuICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xuICAgICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcbiAgICAgICRob3Zlci1zaGFkb3c6IGFwcGVuZCgkaG92ZXItc2hhZG93LCAwICRvZmZzZXQgMCAkY29sb3ItaG92ZXIsIGNvbW1hKTtcbiAgICB9XG5cbiAgICAmOmhvdmVyOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItaG92ZXI7XG4gICAgICBib3gtc2hhZG93OiAkaG92ZXItc2hhZG93O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBhIGRvd253YXJkLWZhY2luZyB0cmlhbmdsZSBhcyBhIGJhY2tncm91bmQgaW1hZ2UgdG8gYW4gZWxlbWVudC4gVGhlIGltYWdlIGlzIGZvcm1hdHRlZCBhcyBhbiBTVkcsIG1ha2luZyBpdCBlYXN5IHRvIGNoYW5nZSB0aGUgY29sb3IuIEJlY2F1c2UgSW50ZXJuZXQgRXhwbG9yZXIgZG9lc24ndCBzdXBwb3J0IGVuY29kZWQgU1ZHcyBhcyBiYWNrZ3JvdW5kIGltYWdlcywgYSBQTkcgZmFsbGJhY2sgaXMgYWxzbyBpbmNsdWRlZC5cbi8vLyBUaGVyZSBhcmUgdHdvIFBORyBmYWxsYmFja3M6IGEgYmxhY2sgdHJpYW5nbGUgYW5kIGEgd2hpdGUgdHJpYW5nbGUuIFRoZSBvbmUgdXNlZCBkZXBlbmRzIG9uIHRoZSBsaWdodG5lc3Mgb2YgdGhlIGlucHV0IGNvbG9yLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgdHJpYW5nbGUuXG5AbWl4aW4gYmFja2dyb3VuZC10cmlhbmdsZSgkY29sb3I6ICRibGFjaykge1xuICAkcmdiOiAncmdiJTI4I3tyb3VuZChyZWQoJGNvbG9yKSl9LCAje3JvdW5kKGdyZWVuKCRjb2xvcikpfSwgI3tyb3VuZChibHVlKCRjb2xvcikpfSUyOSc7XG5cbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZlcnNpb249JzEuMScgd2lkdGg9JzMyJyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMzIgMjQnPjxwb2x5Z29uIHBvaW50cz0nMCwwIDMyLDAgMTYsMjQnIHN0eWxlPSdmaWxsOiAjeyRyZ2J9Jz48L3BvbHlnb24+PC9zdmc+XCIpO1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MFxcMCkge1xuICAgIEBpZiBsaWdodG5lc3MoJGNvbG9yKSA8IDYwJSB7XG4gICAgICAvLyBXaGl0ZSB0cmlhbmdsZVxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQUlwSlJFRlVlTnJFa2NrTmdEQU1CQmZSa0V0ME9iUkJCZHNHWFVEZ21RZks0WGhIMm04Y3pRQUF5MjdSM3RzdzRRZmUyeDh1T082b1lMYjZHbE9vcjNHRitzd1VSQU9tVUorUnd0RUpzOVd2VEdFWXhCWHFJMU1RQVpoQ2ZVUUtSekRNVmorVHdyQUlWNmp2U1VFa1lBcjFMU2tjeVRCYi9WK0tZZlg3eEFldXNxM3NMRHRHSDNrRUdBQ1BXSWZsTlpmaFJRQUFBQUJKUlU1RXJrSmdnZz09Jyk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIC8vIEJsYWNrIHRyaWFuZ2xlXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBTUJKUkVGVWVOckVsbHNPaENBTVJWc3pDOUlselU3S0NtVkhUSnNvTVdZTVV0cHl2OUJnYnVYUUI1WlNkZ0JZWVk0eWNnQml2azhLWUZzUU1mTWlUVEJQNG8zblV6Q0t6T2FiTEpiTHkyL2czMWV2R2tBZ2luUjQvWmVnS0g1cVgzYkpDc2NBM3QweDNrZ081dFFGeWhoRmY1MHhScUZMYnlNVU5KUXpneWpHUy93Z0Nwdktxa1JCcHVXckU0VjlkKzFFNGRQVVhxSWcxMDdTUU9FLzJEUlF4TXdURHlnSUluVkRFVDlUM2xDb2ovNmovVkNtR2paT2wybEtwWjhBQXdEUVA3eklpbURHRlFBQUFBQkpSVTVFcmtKZ2dnPT0nKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFwcGxpZXMgdGhlIG1pY3JvIGNsZWFyZml4IGhhY2sgcG9wdWxhcml6ZWQgYnkgTmljb2xhcyBHYWxsYWdoZXIuIEluY2x1ZGUgdGhpcyBtaXhpbiBvbiBhIGNvbnRhaW5lciBpZiBpdHMgY2hpbGRyZW4gYXJlIGFsbCBmbG9hdGVkLCB0byBnaXZlIHRoZSBjb250YWluZXIgYSBwcm9wZXIgaGVpZ2h0LlxuLy8vIFRoZSBjbGVhcmZpeCBpcyBhdWdtZW50ZWQgd2l0aCBzcGVjaWZpYyBzdHlsZXMgdG8gcHJldmVudCBib3JkZXJzIGluIGZsZXhib3ggZW52aXJvbm1lbnRzXG4vLy8gQGxpbmsgaHR0cDovL25pY29sYXNnYWxsYWdoZXIuY29tL21pY3JvLWNsZWFyZml4LWhhY2svIE1pY3JvIENsZWFyZml4IEhhY2tcbi8vLyBAbGluayBodHRwOi8vZGFuaXNhZGVzaWduZXIuY29tL2Jsb2cvZmxleGJveC1jbGVhci1maXgtcHNldWRvLWVsZW1lbnRzLyBGbGV4Ym94IGZpeFxuQG1peGluIGNsZWFyZml4IHtcbiAgJjo6YmVmb3JlLFxuICAmOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4LWJhc2lzOiAwO1xuICAgICAgb3JkZXI6IDE7XG4gICAgfVxuICB9XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG59XG5cbi8vLyBBZGRzIENTUyBmb3IgYSBcInF1YW50aXR5IHF1ZXJ5XCIgc2VsZWN0b3IgdGhhdCBhdXRvbWF0aWNhbGx5IHNpemVzIGVsZW1lbnRzIGJhc2VkIG9uIGhvdyBtYW55IHRoZXJlIGFyZSBpbnNpZGUgYSBjb250YWluZXIuXG4vLy8gQGxpbmsgaHR0cDovL2FsaXN0YXBhcnQuY29tL2FydGljbGUvcXVhbnRpdHktcXVlcmllcy1mb3ItY3NzIFF1YW50aXR5IFF1ZXJpZXMgZm9yIENTU1xuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXggLSBNYXhpbXVtIG51bWJlciBvZiBpdGVtcyB0byBkZXRlY3QuIFRoZSBoaWdoZXIgdGhpcyBudW1iZXIgaXMsIHRoZSBtb3JlIENTUyB0aGF0J3MgcmVxdWlyZWQgdG8gY292ZXIgZWFjaCBudW1iZXIgb2YgaXRlbXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZWxlbSBbbGldIC0gVGFnIHRvIHVzZSBmb3Igc2libGluZyBzZWxlY3RvcnMuXG5AbWl4aW4gYXV0by13aWR0aCgkbWF4LCAkZWxlbTogbGkpIHtcbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkbWF4IHtcbiAgICAmOm50aC1sYXN0LWNoaWxkKCN7JGl9KTpmaXJzdC1jaGlsZCxcbiAgICAmOm50aC1sYXN0LWNoaWxkKCN7JGl9KTpmaXJzdC1jaGlsZCB+ICN7JGVsZW19IHtcbiAgICAgIHdpZHRoOiBwZXJjZW50YWdlKDEgLyAkaSk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBSZW1vdmVzIHRoZSBmb2N1cyByaW5nIGFyb3VuZCBhbiBlbGVtZW50IHdoZW4gYSBtb3VzZSBpbnB1dCBpcyBkZXRlY3RlZC5cbkBtaXhpbiBkaXNhYmxlLW1vdXNlLW91dGxpbmUge1xuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gJiB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxufVxuXG4vLy8gTWFrZXMgYW4gZWxlbWVudCB2aXN1YWxseSBoaWRkZW4sIGJ1dCBzdGlsbCBhY2Nlc3NpYmxlIHRvIGtleWJvYXJkcyBhbmQgYXNzaXN0aXZlIGRldmljZXMuXG4vLy8gQGxpbmsgaHR0cDovL3Nub29rLmNhL2FyY2hpdmVzL2h0bWxfYW5kX2Nzcy9oaWRpbmctY29udGVudC1mb3ItYWNjZXNzaWJpbGl0eSBIaWRpbmcgQ29udGVudCBmb3IgQWNjZXNzaWJpbGl0eVxuLy8vIEBsaW5rIGh0dHA6Ly9odWdvZ2lyYXVkZWwuY29tLzIwMTYvMTAvMTMvY3NzLWhpZGUtYW5kLXNlZWsvXG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwwLDAsMCk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGNsaXAtcGF0aDogaW5zZXQoNTAlKTtcbiAgYm9yZGVyOiAwO1xufVxuXG4vLy8gUmV2ZXJzZXMgdGhlIENTUyBvdXRwdXQgY3JlYXRlZCBieSB0aGUgYGVsZW1lbnQtaW52aXNpYmxlKClgIG1peGluLlxuQG1peGluIGVsZW1lbnQtaW52aXNpYmxlLW9mZiB7XG4gIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogYXV0bztcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGNsaXA6IGF1dG87XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIGNsaXAtcGF0aDogbm9uZTtcbn1cblxuLy8vIFZlcnRpY2FsbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gdmVydGljYWwtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4vLy8gSG9yaXpvbnRhbGx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIGhvcml6b250YWwtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbn1cblxuLy8vIEFic29sdXRlbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gYWJzb2x1dGUtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbn1cblxuLy8vIEl0ZXJhdGVzIHRocm91Z2ggYnJlYWtwb2ludHMgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnQtY2xhc3Nlc2AgYW5kIHByaW50cyB0aGUgQ1NTIGluc2lkZSB0aGUgbWl4aW4gYXQgZWFjaCBicmVha3BvaW50J3MgbWVkaWEgcXVlcnkuIFVzZSB0aGlzIHdpdGggdGhlIGdyaWQsIG9yIGFueSBvdGhlciBjb21wb25lbnQgdGhhdCBoYXMgcmVzcG9uc2l2ZSBjbGFzc2VzLlxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkc21hbGwgW3RydWVdIC0gSWYgYGZhbHNlYCwgdGhlIG1peGluIHdpbGwgc2tpcCB0aGUgYHNtYWxsYCBicmVha3BvaW50LiBVc2UgdGhpcyB3aXRoIGNvbXBvbmVudHMgdGhhdCBkb24ndCBwcmVmaXggY2xhc3NlcyB3aXRoIGBzbWFsbC1gLCBvbmx5IGBtZWRpdW0tYCBhbmQgdXAuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkYXV0by1pbnNlcnQtYnJlYWtwb2ludHMgW3RydWVdIC0gSWYgYGZhbHNlYCwgdGhlIG1peGluIHdpbGwgaXRlcmF0ZSBvdmVyIGJyZWFrcG9pbnRzIHdpdGhvdXQgZG9pbmcgdGhlIG1lZGlhIHF1ZXJ5IGl0c2VsZi4gVXNlZnVsIGZvciBtb3JlIGNvbXBsZXggbWVkaWEgcXVlcnkgZ2VuZXJhdGlvbiBhcyBpbiB0aGUgbWFyZ2luIGdyaWQuXG5AbWl4aW4gLXpmLWVhY2gtYnJlYWtwb2ludCgkc21hbGw6IHRydWUsICRhdXRvLWluc2VydC1icmVha3BvaW50czogdHJ1ZSkge1xuICAkbGlzdDogJGJyZWFrcG9pbnQtY2xhc3NlcztcblxuICBAaWYgbm90ICRzbWFsbCB7XG4gICAgJGxpc3Q6IHNsLXJlbW92ZSgkbGlzdCwgJC16Zi16ZXJvLWJyZWFrcG9pbnQpO1xuICB9XG5cbiAgQGVhY2ggJG5hbWUgaW4gJGxpc3Qge1xuICAgICQtemYtc2l6ZTogJG5hbWUgIWdsb2JhbDtcblxuICAgIEBpZiAkYXV0by1pbnNlcnQtYnJlYWtwb2ludHMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBHZW5lcmF0ZSB0aGUgYEBjb250ZW50YCBwYXNzZWQgdG8gdGhlIG1peGluIHdpdGggYSB2YWx1ZSBgJC16Zi1icC12YWx1ZWAgcmVsYXRlZCB0byBhIGJyZWFrcG9pbnQsIGRlcGVuZGluZyBvbiB0aGUgYCRuYW1lYCBwYXJhbWV0ZXI6XG4vLy8gLSBGb3IgYSBzaW5nbGUgdmFsdWUsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGlzIHZhbHVlLlxuLy8vIC0gRm9yIGEgYnJlYWtwb2ludCBuYW1lLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZSBpbiBgJG1hcGAuXG4vLy8gLSBGb3IgXCJhdXRvXCIsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlIGluIGAkbWFwYCBhbmQgaXMgcGFzc2VkIHRvIGBAY29udGVudGAsIHdoaWNoIGlzIG1hZGUgcmVzcG9uc2l2ZSBmb3IgZWFjaCBicmVha3BvaW50IG9mIGAkbWFwYC5cbi8vLyBAcGFyYW0ge051bWJlcnxBcnJheXxLZXl3b3JkfSAkbmFtZSBbYXV0b10gLSBTaW5nbGUgdmFsdWUsIGJyZWFrcG9pbnQgbmFtZSwgb3IgbGlzdCBvZiBicmVha3BvaW50IG5hbWVzIHRvIHVzZS4gXCJhdXRvXCIgYnkgZGVmYXVsdC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXAgLSBNYXAgb2YgYnJlYWtwb2ludHMgYW5kIHZhbHVlcyBvciBzaW5nbGUgdmFsdWUgdG8gdXNlLlxuQG1peGluIC16Zi1icmVha3BvaW50LXZhbHVlKFxuICAkbmFtZTogYXV0byxcbiAgJG1hcDogbnVsbFxuKSB7XG4gIEBpZiAkbmFtZSA9PSBhdXRvIGFuZCB0eXBlLW9mKCRtYXApID09ICdtYXAnIHtcbiAgICAvLyBcImF1dG9cIlxuICAgIEBlYWNoICRrLCAkdiBpbiAkbWFwIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGspIHtcbiAgICAgICAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoJHYsICRtYXApIHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLy8gYnJlYWtwb2ludCBuYW1lXG4gICAgQGlmIHR5cGUtb2YoJG5hbWUpID09ICdzdHJpbmcnIHtcbiAgICAgICRuYW1lOiAtemYtZ2V0LWJwLXZhbCgkbWFwLCAkbmFtZSk7XG4gICAgfVxuXG4gICAgLy8gYnJlYWtwb2ludCB2YWx1ZVxuICAgICQtemYtYnAtdmFsdWU6ICRuYW1lICFnbG9iYWw7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIENoYW5nZSB0aGUgYmVoYXZpb3Igb2YgY29sdW1ucyBkZWZpbmVkIGluc2lkZSB0aGlzIG1peGluIHRvIHVzZSBhIGRpZmZlcmVudCBjb2x1bW4gY291bnQuXG4vLy8gQGNvbnRlbnRcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkY29sdW1ucyAtIE51bWJlciBvZiBjb2x1bW5zIHRvIHVzZS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRyb290IFtmYWxzZV1cbi8vLyAgIElmIGBmYWxzZWAsIHNlbGVjdG9ycyBpbnNpZGUgdGhpcyBtaXhpbiB3aWxsIG5lc3QgaW5zaWRlIHRoZSBwYXJlbnQgc2VsZWN0b3IuXG4vLy8gICBJZiBgdHJ1ZWAsIHNlbGVjdG9ycyB3aWxsIG5vdCBuZXN0LlxuQG1peGluIGdyaWQtY29udGV4dChcbiAgJGNvbHVtbnMsXG4gICRyb290OiBmYWxzZVxuKSB7XG4gIC8vIFN0b3JlIHRoZSBjdXJyZW50IGNvbHVtbiBjb3VudCBzbyBpdCBjYW4gYmUgcmUtc2V0IGxhdGVyXG4gICRvbGQtZ3JpZC1jb2x1bW4tY291bnQ6ICRncmlkLWNvbHVtbi1jb3VudDtcbiAgJGdyaWQtY29sdW1uLWNvdW50OiAkY29sdW1ucyAhZ2xvYmFsO1xuXG4gIEBpZiAkcm9vdCB7XG4gICAgQGF0LXJvb3QgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxuXG4gIC8vIFJlc3RvcmUgdGhlIG9sZCBjb2x1bW4gY291bnRcbiAgJGdyaWQtY29sdW1uLWNvdW50OiAkb2xkLWdyaWQtY29sdW1uLWNvdW50ICFnbG9iYWw7XG59XG5cbi8vLyBDcmVhdGVzIGEgZ3JpZCByb3cuXG4vLy8gQGNvbnRlbnRcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkY29sdW1ucyBbbnVsbF0gLSBDb2x1bW4gY291bnQgZm9yIHRoaXMgcm93LiBgbnVsbGAgd2lsbCB1c2UgdGhlIGRlZmF1bHQgY29sdW1uIGNvdW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZHN9ICRiZWhhdmlvciBbbnVsbF1cbi8vLyAgIE1vZGlmaWNhdGlvbnMgdG8gdGhlIGRlZmF1bHQgZ3JpZCBzdHlsZXMuIGBuZXN0YCBpbmRpY2F0ZXMgdGhlIHJvdyB3aWxsIGJlIHBsYWNlZCBpbnNpZGUgYW5vdGhlciByb3cuIGBjb2xsYXBzZWAgaW5kaWNhdGVzIHRoYXQgdGhlIGNvbHVtbnMgaW5zaWRlIHRoaXMgcm93IHdpbGwgbm90IGhhdmUgcGFkZGluZy4gYG5lc3QgY29sbGFwc2VgIGNvbWJpbmVzIGJvdGggYmVoYXZpb3JzLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFskZ3JpZC1yb3ctd2lkdGhdIE1heGltdW0gc2l6ZSBvZiB0aGUgcm93LiBTZXQgdG8gYGV4cGFuZGAgdG8gbWFrZSB0aGUgcm93IHRha2luZyB0aGUgZnVsbCB3aWR0aC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRjZiBbdHJ1ZV0gLSBXaGV0aGVyIG9yIG5vdCB0byBpbmNsdWRlIGEgY2xlYXJmaXguXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBHdXR0ZXIgbWFwIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2Ugd2hlbiBpbnZlcnRpbmcgbWFyZ2lucy4gUmVzcG9uc2l2ZSBndXR0ZXIgc2V0dGluZ3MgYnkgZGVmYXVsdC5cbkBtaXhpbiBncmlkLXJvdyhcbiAgJGNvbHVtbnM6IG51bGwsXG4gICRiZWhhdmlvcjogbnVsbCxcbiAgJHNpemU6ICRncmlkLXJvdy13aWR0aCxcbiAgJGNmOiB0cnVlLFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gICRtYXJnaW46IGF1dG87XG5cbiAgQGlmIGluZGV4KCRiZWhhdmlvciwgbmVzdCkgIT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3ctbmVzdCgkZ3V0dGVycyk7XG5cbiAgICBAaWYgaW5kZXgoJGJlaGF2aW9yLCBjb2xsYXBzZSkgIT0gbnVsbCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpbmNsdWRlIGdyaWQtcm93LXNpemUoJHNpemUpO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgfVxuXG4gIEBpZiAkY2Yge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICB9XG5cbiAgQGlmICRjb2x1bW5zICE9IG51bGwge1xuICAgIEBpbmNsdWRlIGdyaWQtY29udGV4dCgkY29sdW1ucykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBJbnZlcnRzIHRoZSBtYXJnaW5zIG9mIGEgcm93IHRvIG5lc3QgaXQgaW5zaWRlIG9mIGEgY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBHdXR0ZXIgbWFwIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2Ugd2hlbiBpbnZlcnRpbmcgbWFyZ2lucy4gUmVzcG9uc2l2ZSBndXR0ZXIgc2V0dGluZ3MgYnkgZGVmYXVsdC5cbkBtaXhpbiBncmlkLXJvdy1uZXN0KCRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyKSB7XG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgICRtYXJnaW46IHJlbS1jYWxjKC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkLXpmLXNpemUpKSAvIDIgKiAtMTtcblxuICAgIG1hcmdpbi1yaWdodDogJG1hcmdpbjtcbiAgICBtYXJnaW4tbGVmdDogJG1hcmdpbjtcbiAgfVxufVxuXG4vLy8gU2V0IGEgZ3JpZCByb3cgc2l6ZVxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgWyRncmlkLXJvdy13aWR0aF0gTWF4aW11bSBzaXplIG9mIHRoZSByb3cuIFNldCB0byBgZXhwYW5kYCB0byBtYWtlIHRoZSByb3cgdGFraW5nIHRoZSBmdWxsIHdpZHRoLlxuQG1peGluIGdyaWQtcm93LXNpemUoJHNpemU6ICRncmlkLXJvdy13aWR0aCkge1xuICBAaWYgJHNpemUgPT0gZXhwYW5kIHtcbiAgICAkc2l6ZTogbm9uZTtcbiAgfVxuXG4gIG1heC13aWR0aDogJHNpemU7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBTZXQgdGhlIGd1dHRlcnMgb24gYSBjb2x1bW5cbi8vLyBAcGFyYW0ge051bWJlcnxLZXl3b3JkfSAkZ3V0dGVyIFthdXRvXVxuLy8vICAgU3BhY2luZyBiZXR3ZWVuIGNvbHVtbnMsIGFjY2VwdHMgbXVsdGlwbGUgdmFsdWVzOlxuLy8vICAgLSBBIHNpbmdsZSB2YWx1ZSB3aWxsIG1ha2UgdGhlIGd1dHRlciB0aGF0IGV4YWN0IHNpemUuXG4vLy8gICAtIEEgYnJlYWtwb2ludCBuYW1lIHdpbGwgbWFrZSB0aGUgZ3V0dGVyIHRoZSBjb3JyZXNwb25kaW5nIHNpemUgaW4gdGhlICRndXR0ZXJzIG1hcC5cbi8vLyAgIC0gXCJhdXRvXCIgd2lsbCBtYWtlIHRoZSBndXR0ZXIgcmVzcG9uc2l2ZSwgdXNpbmcgdGhlICRndXR0ZXJzIG1hcCB2YWx1ZXMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBHdXR0ZXIgbWFwIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2UuIFJlc3BvbnNpdmUgZ3V0dGVyIHNldHRpbmdzIGJ5IGRlZmF1bHQuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tZ3V0dGVyKFxuICAkZ3V0dGVyOiBhdXRvLFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKCRndXR0ZXIsICRndXR0ZXJzKSB7XG4gICAgJHBhZGRpbmc6IHJlbS1jYWxjKCQtemYtYnAtdmFsdWUpIC8gMjtcblxuICAgIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nO1xuICAgIHBhZGRpbmctbGVmdDogJHBhZGRpbmc7XG4gIH1cbn1cblxuLy8vIENvbGxhcHNlIHRoZSBndXR0ZXJzIG9uIGEgY29sdW1uIGJ5IHJlbW92aW5nIHRoZSBwYWRkaW5nLiAqKk5vdGU6Kiogb25seSB1c2UgdGhpcyBtaXhpbiB3aXRoaW4gYSBicmVha3BvaW50LiBUbyBjb2xsYXBzZSBhIGNvbHVtbidzIGd1dHRlcnMgb24gYWxsIHNjcmVlbiBzaXplcywgdXNlIHRoZSBgJGd1dHRlcmAgcGFyYW1ldGVyIG9mIHRoZSBgZ3JpZC1jb2x1bW4oKWAgbWl4aW4gaW5zdGVhZC5cbkBtaXhpbiBncmlkLWNvbHVtbi1jb2xsYXBzZSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWd1dHRlcigwKTtcbn1cblxuLy8vIFVuLWNvbGxhcHNlIHRoZSBndXR0ZXJzIG9uIGEgY29sdW1uIGJ5IHJlLWFkZGluZyB0aGUgcGFkZGluZy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZ3V0dGVyIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIFNwYWNpbmcgYmV0d2VlbiBjb2x1bW5zLlxuQG1peGluIGdyaWQtY29sdW1uLXVuY29sbGFwc2UoJGd1dHRlcjogJGdyaWQtY29sdW1uLWd1dHRlcikge1xuICBAd2FybiAnVGhpcyBtaXhpbiBpcyBiZWluZyByZXBsYWNlZCBieSBncmlkLWNvbHVtbi1ndXR0ZXIoKS4gZ3JpZC1jb2x1bW4tdW5jb2xsYXBzZSgpIHdpbGwgYmUgcmVtb3ZlZCBpbiBGb3VuZGF0aW9uIDYuNC4nO1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1ndXR0ZXIoJGd1dHRlcnM6ICRndXR0ZXIpO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tZ3V0dGVyKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1ndXR0ZXJcbkBtaXhpbiBncmlkLWNvbC1ndXR0ZXIoXG4gICRndXR0ZXI6IGF1dG8sXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tZ3V0dGVyKCRndXR0ZXIsICRndXR0ZXJzKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLWNvbGxhcHNlKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1jb2xsYXBzZVxuQG1peGluIGdyaWQtY29sLWNvbGxhcHNlIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tY29sbGFwc2U7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi11bmNvbGxhcHNlKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi11bmNvbGxhcHNlXG5AbWl4aW4gZ3JpZC1jb2wtdW5jb2xsYXBzZSgkZ3V0dGVyOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyKSB7XG4gIEB3YXJuICdUaGlzIG1peGluIGlzIGJlaW5nIHJlcGxhY2VkIGJ5IGdyaWQtY29sLWd1dHRlcigpLiBncmlkLWNvbC11bmNvbGxhcHNlKCkgd2lsbCBiZSByZW1vdmVkIGluIEZvdW5kYXRpb24gNi40Lic7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXVuY29sbGFwc2UoJGd1dHRlcik7XG59XG5cbi8vLyBTZXRzIGJvdHRvbSBtYXJnaW4gb24gZ3JpZCBjb2x1bW5zIHRvIG1hdGNoIGd1dHRlcnNcbi8vLyBAcGFyYW0ge051bWJlcnxLZXl3b3JkfSAkbWFyZ2luIFthdXRvXVxuLy8vICAgVGhlIGJvdHRvbSBtYXJnaW4gb24gZ3JpZCBjb2x1bW5zLCBhY2NlcHRzIG11bHRpcGxlIHZhbHVlczpcbi8vLyAgIC0gQSBzaW5nbGUgdmFsdWUgd2lsbCBtYWtlIHRoZSBtYXJnaW4gdGhhdCBleGFjdCBzaXplLlxuLy8vICAgLSBBIGJyZWFrcG9pbnQgbmFtZSB3aWxsIG1ha2UgdGhlIG1hcmdpbiB0aGUgY29ycmVzcG9uZGluZyBzaXplIGluIHRoZSAkbWFyZ2lucyBtYXAuXG4vLy8gICAtIFwiYXV0b1wiIHdpbGwgbWFrZSB0aGUgbWFyZ2luIHJlc3BvbnNpdmUsIHVzaW5nIHRoZSAkbWFyZ2lucyBtYXAgdmFsdWVzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJG1hcmdpbnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2UuIFJlc3BvbnNpdmUgZ3V0dGVyIHNldHRpbmdzIGJ5IGRlZmF1bHQuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tbWFyZ2luIChcbiAgJG1hcmdpbjogYXV0byxcbiAgJG1hcmdpbnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZSgkbWFyZ2luLCAkbWFyZ2lucykge1xuICAgICRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygkLXpmLWJwLXZhbHVlKTtcbiAgICBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLWJvdHRvbTtcblxuICAgID4gOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJSAhZGVmYXVsdDtcblxuLy8vIFJlbW92ZXMgdGhlIHVuaXQgKGUuZy4gcHgsIGVtLCByZW0pIGZyb20gYSB2YWx1ZSwgcmV0dXJuaW5nIHRoZSBudW1iZXIgb25seS5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbnVtIC0gTnVtYmVyIHRvIHN0cmlwIHVuaXQgZnJvbS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBzYW1lIG51bWJlciwgc2FucyB1bml0LlxuQGZ1bmN0aW9uIHN0cmlwLXVuaXQoJG51bSkge1xuICBAcmV0dXJuICRudW0gLyAoJG51bSAqIDAgKyAxKTtcbn1cblxuLy8vIENvbnZlcnRzIG9uZSBvciBtb3JlIHBpeGVsIHZhbHVlcyBpbnRvIG1hdGNoaW5nIHJlbSB2YWx1ZXMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkdmFsdWVzIC0gT25lIG9yIG1vcmUgdmFsdWVzIHRvIGNvbnZlcnQuIEJlIHN1cmUgdG8gc2VwYXJhdGUgdGhlbSB3aXRoIHNwYWNlcyBhbmQgbm90IGNvbW1hcy4gSWYgeW91IG5lZWQgdG8gY29udmVydCBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0LCB3cmFwIHRoZSBsaXN0IGluIHBhcmVudGhlc2VzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSBbbnVsbF0gLSBUaGUgYmFzZSB2YWx1ZSB0byB1c2Ugd2hlbiBjYWxjdWxhdGluZyB0aGUgYHJlbWAuIElmIHlvdSdyZSB1c2luZyBGb3VuZGF0aW9uIG91dCBvZiB0aGUgYm94LCB0aGlzIGlzIDE2cHguIElmIHRoaXMgcGFyYW1ldGVyIGlzIGBudWxsYCwgdGhlIGZ1bmN0aW9uIHdpbGwgcmVmZXJlbmNlIHRoZSBgJGJhc2UtZm9udC1zaXplYCB2YXJpYWJsZSBhcyB0aGUgYmFzZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtMaXN0fSBBIGxpc3Qgb2YgY29udmVydGVkIHZhbHVlcy5cbkBmdW5jdGlvbiByZW0tY2FsYygkdmFsdWVzLCAkYmFzZTogbnVsbCkge1xuICAkcmVtLXZhbHVlczogKCk7XG4gICRjb3VudDogbGVuZ3RoKCR2YWx1ZXMpO1xuXG4gIC8vIElmIG5vIGJhc2UgaXMgZGVmaW5lZCwgZGVmZXIgdG8gdGhlIGdsb2JhbCBmb250IHNpemVcbiAgQGlmICRiYXNlID09IG51bGwge1xuICAgICRiYXNlOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIElmIHRoZSBiYXNlIGZvbnQgc2l6ZSBpcyBhICUsIHRoZW4gbXVsdGlwbHkgaXQgYnkgMTZweFxuICAvLyBUaGlzIGlzIGJlY2F1c2UgMTAwJSBmb250IHNpemUgPSAxNnB4IGluIG1vc3QgYWxsIGJyb3dzZXJzXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnJScge1xuICAgICRiYXNlOiAoJGJhc2UgLyAxMDAlKSAqIDE2cHg7XG4gIH1cblxuICAvLyBVc2luZyByZW0gYXMgYmFzZSBhbGxvd3MgY29ycmVjdCBzY2FsaW5nXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAncmVtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIEBpZiAkY291bnQgPT0gMSB7XG4gICAgQHJldHVybiAtemYtdG8tcmVtKCR2YWx1ZXMsICRiYXNlKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvdW50IHtcbiAgICAkcmVtLXZhbHVlczogYXBwZW5kKCRyZW0tdmFsdWVzLCAtemYtdG8tcmVtKG50aCgkdmFsdWVzLCAkaSksICRiYXNlKSk7XG4gIH1cblxuICBAcmV0dXJuICRyZW0tdmFsdWVzO1xufVxuXG4vLyBDb252ZXJ0cyBhIHVuaXRsZXNzLCBwaXhlbCwgb3IgcmVtIHZhbHVlIHRvIGVtLCBmb3IgdXNlIGluIGJyZWFrcG9pbnRzLlxuQGZ1bmN0aW9uIC16Zi1icC10by1lbSgkdmFsdWUpIHtcbiAgLy8gUGl4ZWwgYW5kIHVuaXRsZXNzIHZhbHVlcyBhcmUgY29udmVydGVkIHRvIHJlbXNcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncHgnIG9yIHVuaXRsZXNzKCR2YWx1ZSkge1xuICAgICR2YWx1ZTogcmVtLWNhbGMoJHZhbHVlLCAkYmFzZTogMTZweCk7XG4gIH1cblxuICAvLyBUaGVuIHRoZSB2YWx1ZSBpcyBjb252ZXJ0ZWQgdG8gZW1zXG4gIEByZXR1cm4gc3RyaXAtdW5pdCgkdmFsdWUpICogMWVtO1xufVxuXG4vLy8gQ29udmVydHMgYSBwaXhlbCB2YWx1ZSB0byBtYXRjaGluZyByZW0gdmFsdWUuICpBbnkqIHZhbHVlIHBhc3NlZCwgcmVnYXJkbGVzcyBvZiB1bml0LCBpcyBhc3N1bWVkIHRvIGJlIGEgcGl4ZWwgdmFsdWUuIEJ5IGRlZmF1bHQsIHRoZSBiYXNlIHBpeGVsIHZhbHVlIHVzZWQgdG8gY2FsY3VsYXRlIHRoZSByZW0gdmFsdWUgaXMgdGFrZW4gZnJvbSB0aGUgYCRnbG9iYWwtZm9udC1zaXplYCB2YXJpYWJsZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBQaXhlbCB2YWx1ZSB0byBjb252ZXJ0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSBbbnVsbF0gLSBCYXNlIGZvciBwaXhlbCBjb252ZXJzaW9uLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gQSBudW1iZXIgaW4gcmVtcywgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgZ2l2ZW4gdmFsdWUgYW5kIHRoZSBiYXNlIHBpeGVsIHZhbHVlLiByZW0gdmFsdWVzIGFyZSBwYXNzZWQgdGhyb3VnaCBhcyBpcy5cbkBmdW5jdGlvbiAtemYtdG8tcmVtKCR2YWx1ZSwgJGJhc2U6IG51bGwpIHtcbiAgLy8gQ2hlY2sgaWYgdGhlIHZhbHVlIGlzIGEgbnVtYmVyXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgIT0gJ251bWJlcicge1xuICAgIEB3YXJuIGluc3BlY3QoJHZhbHVlKSArICcgd2FzIHBhc3NlZCB0byByZW0tY2FsYygpLCB3aGljaCBpcyBub3QgYSBudW1iZXIuJztcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxuXG4gIC8vIFRyYW5zZm9ybSBlbSBpbnRvIHJlbSBpZiBzb21lb25lIGhhbmRzIG92ZXIgJ2VtJ3NcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqIDFyZW07XG4gIH1cblxuICAvLyBDYWxjdWxhdGUgcmVtIGlmIHVuaXRzIGZvciAkdmFsdWUgaXMgbm90IHJlbSBvciBlbVxuICBAaWYgdW5pdCgkdmFsdWUpICE9ICdyZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAvIHN0cmlwLXVuaXQoJGJhc2UpICogMXJlbTtcbiAgfVxuXG4gIC8vIFR1cm4gMHJlbSBpbnRvIDBcbiAgQGlmICR2YWx1ZSA9PSAwcmVtIHtcbiAgICAkdmFsdWU6IDA7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cblxuLy8vIENvbnZlcnRzIGEgcGl4ZWwsIHBlcmNlbnRhZ2UsIHJlbSBvciBlbSB2YWx1ZSB0byBhIHVuaXRsZXNzIHZhbHVlIGJhc2VkIG9uIGEgZ2l2ZW4gZm9udCBzaXplLiBJZGVhbCBmb3Igd29ya2luZyBvdXQgdW5pdGxlc3MgbGluZSBoZWlnaHRzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGNvbnZlcnQgdG8gYSB1bml0bGVzcyBsaW5lIGhlaWdodFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSAtIFRoZSBmb250IHNpemUgdG8gdXNlIHRvIHdvcmsgb3V0IHRoZSBsaW5lIGhlaWdodCAtIGRlZmF1bHRzIHRvICRnbG9iYWwtZm9udC1zaXplXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gVW5pdGxlc3MgbnVtYmVyXG5AZnVuY3Rpb24gdW5pdGxlc3MtY2FsYygkdmFsdWUsICRiYXNlOiBudWxsKSB7XG5cbiAgLy8gSWYgbm8gYmFzZSBpcyBkZWZpbmVkLCBkZWZlciB0byB0aGUgZ2xvYmFsIGZvbnQgc2l6ZVxuICBAaWYgJGJhc2UgPT0gbnVsbCB7XG4gICAgJGJhc2U6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gRmlyc3QsIGxldHMgY29udmVydCBvdXIgJGJhc2UgdG8gcGl4ZWxzXG5cbiAgLy8gSWYgdGhlIGJhc2UgZm9udCBzaXplIGlzIGEgJSwgdGhlbiBtdWx0aXBseSBpdCBieSAxNnB4XG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnJScge1xuICAgICRiYXNlOiAoJGJhc2UgLyAxMDAlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ3JlbScge1xuICAgICRiYXNlOiBzdHJpcC11bml0KCRiYXNlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ2VtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIC8vIE5vdyBsZXRzIGNvbnZlcnQgb3VyIHZhbHVlIHRvIHBpeGVscyB0b29cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnJScge1xuICAgICR2YWx1ZTogKCR2YWx1ZSAvIDEwMCUpICogJGJhc2U7XG4gIH1cblxuICBAaWYgdW5pdCgkdmFsdWUpID09ICdyZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqICRiYXNlO1xuICB9XG5cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqICRiYXNlO1xuICB9XG5cbiAgLy8gJ3B4J1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICdweCcge1xuICAgIEByZXR1cm4gc3RyaXAtdW5pdCgkdmFsdWUpIC8gc3RyaXAtdW5pdCgkYmFzZSk7XG4gIH1cblxuICAvLyBhc3N1bWUgdGhhdCBsaW5lLWhlaWdodHMgZ3JlYXRlcm4gdGhlbiAxMCBhcmUgbWVhbnQgdG8gYmUgYWJzb2x1dGUgaW4gJ3B4J1xuICBAaWYgdW5pdGxlc3MoJHZhbHVlKSBhbmQgKCR2YWx1ZSA+IDEwKSB7XG4gICAgQHJldHVybiAkdmFsdWUgLyBzdHJpcC11bml0KCRiYXNlKTtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gT3V0cHV0cyBDU1MgY2xhc3NlcyBmb3IgdGhlIGdyaWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AbWl4aW4gZm91bmRhdGlvbi1ncmlkKFxuICAkcm93OiAncm93JyxcbiAgJGNvbHVtbjogJ2NvbHVtbicsXG4gICRjb2x1bW4tcm93OiAnY29sdW1uLXJvdycsXG4gICRndXR0ZXI6ICdndXR0ZXInLFxuICAkcHVzaDogJ3B1c2gnLFxuICAkcHVsbDogJ3B1bGwnLFxuICAkY2VudGVyOiAnY2VudGVyZWQnLFxuICAkdW5jZW50ZXI6ICd1bmNlbnRlcmVkJyxcbiAgJGNvbGxhcHNlOiAnY29sbGFwc2UnLFxuICAkdW5jb2xsYXBzZTogJ3VuY29sbGFwc2UnLFxuICAkb2Zmc2V0OiAnb2Zmc2V0JyxcbiAgJGVuZDogJ2VuZCcsXG4gICRleHBhbmRlZDogJ2V4cGFuZGVkJyxcbiAgJGJsb2NrOiAnYmxvY2snXG4pIHtcbiAgLy8gUm93XG4gIC4jeyRyb3d9IHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdztcblxuICAgIC8vIENvbGxhcHNpbmdcbiAgICAmLiN7JGNvbGxhcHNlfSB7XG4gICAgICA+IC4jeyRjb2x1bW59IHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtY29sbGFwc2U7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gTmVzdGluZ1xuICAgICYgLiN7JHJvd30ge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3ctbmVzdCgkZ3JpZC1jb2x1bW4tZ3V0dGVyKTtcblxuICAgICAgJi4jeyRjb2xsYXBzZX0ge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEV4cGFuZGVkIChmdWxsLXdpZHRoKSByb3dcbiAgICAmLiN7JGV4cGFuZGVkfSB7XG4gICAgICBAaW5jbHVkZSBncmlkLXJvdy1zaXplKGV4cGFuZCk7XG5cbiAgICAgIC4jeyRyb3d9IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOm5vdCguI3skZXhwYW5kZWR9KSAuI3skcm93fSB7XG4gICAgICBAaW5jbHVkZSBncmlkLXJvdy1zaXplKGV4cGFuZCk7XG4gICAgfVxuXG4gICAgQGlmIHR5cGUtb2YoJGdyaWQtY29sdW1uLWd1dHRlcikgPT0gJ21hcCcge1xuICAgICAgLy8gU3RhdGljICh1bnJlc3BvbnNpdmUpIHJvdyBndXR0ZXJzXG4gICAgICAvL1xuICAgICAgQGVhY2ggJGJyZWFrcG9pbnQsICR2YWx1ZSBpbiAkZ3JpZC1jb2x1bW4tZ3V0dGVyIHtcbiAgICAgICAgJi4jeyRndXR0ZXJ9LSN7JGJyZWFrcG9pbnR9IHtcbiAgICAgICAgICA+IC4jeyRjb2x1bW59IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLWd1dHRlcigkdmFsdWUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIENvbHVtblxuICAuI3skY29sdW1ufSB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb2w7XG5cbiAgICBAaWYgJGdyaWQtY29sdW1uLWFsaWduLWVkZ2Uge1xuICAgICAgJi4jeyRlbmR9IHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtZW5kO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIENvbHVtbiByb3dcbiAgLy8gVGhlIGRvdWJsZSAucm93IGNsYXNzIGlzIG5lZWRlZCB0byBidW1wIHVwIHRoZSBzcGVjaWZpY2l0eVxuICAuI3skY29sdW1ufS4jeyRyb3d9LiN7JHJvd30ge1xuICAgIGZsb2F0OiBub25lO1xuICB9XG5cbiAgLy8gVG8gcHJvcGVybHkgbmVzdCBhIGNvbHVtbiByb3csIHBhZGRpbmcgYW5kIG1hcmdpbiBpcyByZW1vdmVkXG4gIC4jeyRyb3d9IC4jeyRjb2x1bW59LiN7JHJvd30uI3skcm93fSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG5cbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW4tY291bnQge1xuICAgICAgLy8gQ29sdW1uIHdpZHRoXG4gICAgICAuI3skLXpmLXNpemV9LSN7JGl9IHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtc2l6ZSgkaSk7XG4gICAgICB9XG5cbiAgICAgIC8vIFNvdXJjZSBvcmRlcmluZ1xuICAgICAgQGlmICRpIDwgJGdyaWQtY29sdW1uLWNvdW50IHtcbiAgICAgICAgLiN7JC16Zi1zaXplfS0jeyRwdXNofS0jeyRpfSB7XG4gICAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtcG9zKCRpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC4jeyQtemYtc2l6ZX0tI3skcHVsbH0tI3skaX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLXBvcygtJGkpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIE9mZnNldHNcbiAgICAgICRvOiAkaSAtIDE7XG5cbiAgICAgIC4jeyQtemYtc2l6ZX0tI3skb2Zmc2V0fS0jeyRvfSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLW9mZigkbyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQmxvY2sgZ3JpZFxuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGJsb2NrLWdyaWQtbWF4IHtcbiAgICAgIC4jeyQtemYtc2l6ZX0tdXAtI3skaX0ge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWxheW91dCgkaSwgJy4jeyRjb2x1bW59Jyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gUmVzcG9uc2l2ZSBjb2xsYXBzaW5nXG4gICAgLiN7JC16Zi1zaXplfS0jeyRjb2xsYXBzZX0ge1xuICAgICAgPiAuI3skY29sdW1ufSB7IEBpbmNsdWRlIGdyaWQtY29sLWNvbGxhcHNlOyB9XG5cbiAgICAgIC4jeyRyb3d9IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuI3skZXhwYW5kZWR9LiN7JHJvd30gLiN7JC16Zi1zaXplfS0jeyRjb2xsYXBzZX0uI3skcm93fSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG5cbiAgICAuI3skLXpmLXNpemV9LSN7JHVuY29sbGFwc2V9IHtcbiAgICAgID4gLiN7JGNvbHVtbn0geyBAaW5jbHVkZSBncmlkLWNvbC1ndXR0ZXIoJC16Zi1zaXplKTsgfVxuICAgIH1cblxuICAgIC8vIFBvc2l0aW9uaW5nXG4gICAgLiN7JC16Zi1zaXplfS0jeyRjZW50ZXJ9IHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtY29sLXBvcyhjZW50ZXIpO1xuICAgIH1cblxuICAgIC8vIEd1dHRlciBhZGp1c3RtZW50XG4gICAgLiN7JC16Zi1zaXplfS0jeyR1bmNlbnRlcn0sXG4gICAgLiN7JC16Zi1zaXplfS0jeyRwdXNofS0wLFxuICAgIC4jeyQtemYtc2l6ZX0tI3skcHVsbH0tMCB7XG4gICAgICBAaW5jbHVkZSBncmlkLWNvbC11bnBvcztcbiAgICB9XG4gIH1cblxuICAvLyBCbG9jayBncmlkIGNvbHVtbnNcbiAgLiN7JGNvbHVtbn0tI3skYmxvY2t9IHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbHVtbi1tYXJnaW47XG4gIH1cblxuICBAaWYgJGNvbHVtbiA9PSAnY29sdW1uJyBhbmQgaGFzLXZhbHVlKCRncmlkLWNvbHVtbi1hbGlhcykge1xuICAgIC4jeyRncmlkLWNvbHVtbi1hbGlhc30ge1xuICAgICAgLy8gc2Fzcy1saW50OmRpc2FibGUtYmxvY2sgcGxhY2Vob2xkZXItaW4tZXh0ZW5kXG4gICAgICBAZXh0ZW5kIC5jb2x1bW47XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBicmVha3BvaW50c1xuLy8vL1xuXG4vLy8gQSBsaXN0IG9mIG5hbWVkIGJyZWFrcG9pbnRzLiBZb3UgY2FuIHVzZSB0aGVzZSB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBxdWlja2x5IGNyZWF0ZSBtZWRpYSBxdWVyaWVzLlxuLy8vIEB0eXBlIE1hcFxuJGJyZWFrcG9pbnRzOiAoXG4gIHNtYWxsOiAwLFxuICBtZWRpdW06IDY0MHB4LFxuICBsYXJnZTogMTAyNHB4LFxuICB4bGFyZ2U6IDEyMDBweCxcbiAgeHhsYXJnZTogMTQ0MHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBsYXJnZXN0IG5hbWVkIGJyZWFrcG9pbnQgaW4gd2hpY2ggdG8gaW5jbHVkZSBwcmludCBhcyBhIG1lZGlhIHR5cGVcbi8vLyBAdHlwZSBLZXl3b3JkXG4kcHJpbnQtYnJlYWtwb2ludDogbGFyZ2UgIWRlZmF1bHQ7XG5cbiQtemYtemVyby1icmVha3BvaW50OiBzbWFsbCAhZGVmYXVsdDtcblxuJC16Zi1icmVha3BvaW50cy1rZXlzOiBtYXAtdG8tbGlzdCgkYnJlYWtwb2ludHMsICdrZXlzJyk7XG5cbkBpZiBudGgobWFwLXZhbHVlcygkYnJlYWtwb2ludHMpLCAxKSAhPSAwIHtcbiAgQGVycm9yICdZb3VyIHNtYWxsZXN0IGJyZWFrcG9pbnQgKGRlZmluZWQgaW4gJGJyZWFrcG9pbnRzKSBtdXN0IGJlIHNldCB0byBcIjBcIi4nO1xufVxuQGVsc2Uge1xuICAkLXpmLXplcm8tYnJlYWtwb2ludDogbnRoKG1hcC1rZXlzKCRicmVha3BvaW50cyksIDEpO1xufVxuXG4vLy8gQWxsIG9mIHRoZSBuYW1lcyBpbiB0aGlzIGxpc3Qgd2lsbCBiZSBvdXRwdXQgYXMgY2xhc3NlcyBpbiB5b3VyIENTUywgbGlrZSBgLnNtYWxsLTEyYCwgYC5tZWRpdW0tNmAsIGFuZCBzbyBvbi4gRWFjaCB2YWx1ZSBpbiB0aGlzIGxpc3QgbXVzdCBhbHNvIGJlIGluIHRoZSBgJGJyZWFrcG9pbnRzYCBtYXAuXG4vLy8gQHR5cGUgTGlzdFxuJGJyZWFrcG9pbnQtY2xhc3NlczogKHNtYWxsIG1lZGl1bSBsYXJnZSkgIWRlZmF1bHQ7XG5cbi8vLyBHZW5lcmF0ZXMgYSBtZWRpYSBxdWVyeSBzdHJpbmcgbWF0Y2hpbmcgdGhlIGlucHV0IHZhbHVlLiBSZWZlciB0byB0aGUgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHNlZSB3aGF0IHRoZSBwb3NzaWJsZSBpbnB1dHMgYXJlLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbCBbc21hbGxdIC0gQnJlYWtwb2ludCBuYW1lLCBvciBweCwgcmVtLCBvciBlbSB2YWx1ZSB0byBwcm9jZXNzLlxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQoJHZhbDogJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgLy8gU2l6ZSBvciBrZXl3b3JkXG4gICRicDogbnRoKCR2YWwsIDEpO1xuICAvLyBWYWx1ZSBmb3IgbWF4LXdpZHRoIG1lZGlhIHF1ZXJpZXNcbiAgJGJwLW1heDogMDtcbiAgLy8gRGlyZWN0aW9uIG9mIG1lZGlhIHF1ZXJ5ICh1cCwgZG93biwgb3Igb25seSlcbiAgJGRpcjogaWYobGVuZ3RoKCR2YWwpID4gMSwgbnRoKCR2YWwsIDIpLCB1cCk7XG4gIC8vIEV2ZW50dWFsIG91dHB1dFxuICAkc3RyOiAnJztcbiAgLy8gSXMgaXQgYSBuYW1lZCBtZWRpYSBxdWVyeT9cbiAgJG5hbWVkOiBmYWxzZTtcblxuICAvLyBPcmllbnRhdGlvbiBtZWRpYSBxdWVyaWVzIGhhdmUgYSB1bmlxdWUgc3ludGF4XG4gIEBpZiAkYnAgPT0gJ2xhbmRzY2FwZScgb3IgJGJwID09ICdwb3J0cmFpdCcge1xuICAgIEByZXR1cm4gJyhvcmllbnRhdGlvbjogI3skYnB9KSc7XG4gIH1cbiAgQGVsc2UgaWYgJGJwID09ICdyZXRpbmEnIHtcbiAgICBAcmV0dXJuICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpJztcbiAgfVxuXG4gIC8vIFRyeSB0byBwdWxsIGEgbmFtZWQgYnJlYWtwb2ludCBvdXQgb2YgdGhlICRicmVha3BvaW50cyBtYXBcbiAgQGlmIHR5cGUtb2YoJGJwKSA9PSAnc3RyaW5nJyB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJGJwKSB7XG4gICAgICBAaWYgJGRpciA9PSAnb25seScgb3IgJGRpciA9PSAnZG93bicge1xuICAgICAgICAkYnAtbWF4OiAtemYtbWFwLW5leHQoJGJyZWFrcG9pbnRzLCAkYnApO1xuICAgICAgfVxuXG4gICAgICAkYnA6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkYnApO1xuICAgICAgJG5hbWVkOiB0cnVlO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkYnA6IDA7XG4gICAgICBAd2FybiAnYnJlYWtwb2ludCgpOiBcIiN7JHZhbH1cIiBpcyBub3QgZGVmaW5lZCBpbiB5b3VyICRicmVha3BvaW50cyBzZXR0aW5nLic7XG4gICAgfVxuICB9XG5cbiAgLy8gQ29udmVydCBhbnkgcGl4ZWwsIHJlbSwgb3IgdW5pdGxlc3MgdmFsdWUgdG8gZW1cbiAgJGJwOiAtemYtYnAtdG8tZW0oJGJwKTtcbiAgQGlmICRicC1tYXgge1xuICAgICRicC1tYXg6IC16Zi1icC10by1lbSgkYnAtbWF4KSAtICgxLzE2KTtcbiAgfVxuXG4gIC8vIENvbmRpdGlvbnMgdG8gc2tpcCBtZWRpYSBxdWVyeSBjcmVhdGlvblxuICAvLyAtIEl0J3MgYSBuYW1lZCBicmVha3BvaW50IHRoYXQgcmVzb2x2ZWQgdG8gXCIwIGRvd25cIiBvciBcIjAgdXBcIlxuICAvLyAtIEl0J3MgYSBudW1lcmljIGJyZWFrcG9pbnQgdGhhdCByZXNvbHZlZCB0byBcIjAgXCIgKyBhbnl0aGluZ1xuICBAaWYgJGJwID4gMGVtIG9yICRkaXIgPT0gJ29ubHknIG9yICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAvLyBgb25seWAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWluLXdpZHRoOiBuKSBhbmQgKG1heC13aWR0aDogbilgXG4gICAgQGlmICRkaXIgPT0gJ29ubHknIHtcbiAgICAgIC8vIE9ubHkgbmFtZWQgbWVkaWEgcXVlcmllcyBjYW4gaGF2ZSBhbiBcIm9ubHlcIiByYW5nZVxuICAgICAgQGlmICRuYW1lZCA9PSB0cnVlIHtcbiAgICAgICAgLy8gT25seSB1c2UgXCJtaW4td2lkdGhcIiBpZiB0aGUgZmxvb3IgaXMgZ3JlYXRlciB0aGFuIDBcbiAgICAgICAgQGlmICRicCA+IDBlbSB7XG4gICAgICAgICAgJHN0cjogJHN0ciArICcobWluLXdpZHRoOiAjeyRicH0pJztcblxuICAgICAgICAgIC8vIE9ubHkgYWRkIFwiYW5kXCIgdG8gdGhlIG1lZGlhIHF1ZXJ5IGlmIHRoZXJlJ3MgYSBjZWlsaW5nXG4gICAgICAgICAgQGlmICRicC1tYXggIT0gbnVsbCB7XG4gICAgICAgICAgICAkc3RyOiAkc3RyICsgJyBhbmQgJztcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBPbmx5IHVzZSBcIm1heC13aWR0aFwiIGlmIHRoZXJlJ3MgYSBjZWlsaW5nXG4gICAgICAgIEBpZiAkYnAtbWF4ICE9IG51bGwge1xuICAgICAgICAgICRzdHI6ICRzdHIgKyAnKG1heC13aWR0aDogI3skYnAtbWF4fSknO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIEB3YXJuICdicmVha3BvaW50KCk6IE9ubHkgbmFtZWQgbWVkaWEgcXVlcmllcyBjYW4gaGF2ZSBhbiBgb25seWAgcmFuZ2UuJztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBgZG93bmAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWF4LXdpZHRoOiBuKWBcbiAgICBAZWxzZSBpZiAkZGlyID09ICdkb3duJyB7XG4gICAgICAkbWF4OiBpZigkbmFtZWQsICRicC1tYXgsICRicCk7XG5cbiAgICAgIC8vIFNraXAgbWVkaWEgcXVlcnkgY3JlYXRpb24gaWYgaW5wdXQgdmFsdWUgaXMgZXhhY3RseSBcIjAgZG93blwiLFxuICAgICAgLy8gdW5sZXNzIHRoZSBmdW5jdGlvbiB3YXMgY2FsbGVkIGFzIFwic21hbGwgZG93blwiLCBpbiB3aGljaCBjYXNlIGl0J3MganVzdCBcInNtYWxsIG9ubHlcIlxuICAgICAgQGlmICRuYW1lZCBvciAkYnAgPiAwZW0ge1xuICAgICAgICBAaWYgJG1heCAhPSBudWxsIHtcbiAgICAgICAgICAkc3RyOiAkc3RyICsgJyhtYXgtd2lkdGg6ICN7JG1heH0pJztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGB1cGAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWluLXdpZHRoOiBuKWBcbiAgICBAZWxzZSBpZiAkYnAgPiAwZW0ge1xuICAgICAgJHN0cjogJHN0ciArICcobWluLXdpZHRoOiAjeyRicH0pJztcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRzdHI7XG59XG5cbi8vLyBXcmFwcyBhIG1lZGlhIHF1ZXJ5IGFyb3VuZCB0aGUgY29udGVudCB5b3UgcHV0IGluc2lkZSB0aGUgbWl4aW4uIFRoaXMgbWl4aW4gYWNjZXB0cyBhIG51bWJlciBvZiB2YWx1ZXM6XG4vLy8gIC0gSWYgYSBzdHJpbmcgaXMgcGFzc2VkLCB0aGUgbWl4aW4gd2lsbCBsb29rIGZvciBpdCBpbiB0aGUgYCRicmVha3BvaW50c2AgbWFwLCBhbmQgdXNlIGEgbWVkaWEgcXVlcnkgdGhlcmUuXG4vLy8gIC0gSWYgYSBwaXhlbCB2YWx1ZSBpcyBwYXNzZWQsIGl0IHdpbGwgYmUgY29udmVydGVkIHRvIGFuIGVtIHZhbHVlIHVzaW5nIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgYXMgdGhlIGJhc2UuXG4vLy8gIC0gSWYgYSByZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdW5pdCB3aWxsIGJlIGNoYW5nZWQgdG8gZW0uXG4vLy8gIC0gSWYgYW4gZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdmFsdWUgd2lsbCBiZSB1c2VkIGFzLWlzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbHVlIC0gQnJlYWtwb2ludCBuYW1lLCBvciBweCwgcmVtLCBvciBlbSB2YWx1ZSB0byBwcm9jZXNzLlxuLy8vXG4vLy8gQG91dHB1dCBJZiB0aGUgYnJlYWtwb2ludCBpcyBcIjBweCBhbmQgbGFyZ2VyXCIsIG91dHB1dHMgdGhlIGNvbnRlbnQgYXMtaXMuIE90aGVyd2lzZSwgb3V0cHV0cyB0aGUgY29udGVudCB3cmFwcGVkIGluIGEgbWVkaWEgcXVlcnkuXG5AbWl4aW4gYnJlYWtwb2ludCgkdmFsdWUpIHtcbiAgJHN0cjogYnJlYWtwb2ludCgkdmFsdWUpO1xuICAkYnA6IGluZGV4KCQtemYtYnJlYWtwb2ludHMta2V5cywgJHZhbHVlKTtcbiAgJHBicDogaW5kZXgoJC16Zi1icmVha3BvaW50cy1rZXlzLCAkcHJpbnQtYnJlYWtwb2ludCk7XG5cbiAgJG9sZC16Zi1zaXplOiBudWxsO1xuXG4gIC8vIE1ha2UgYnJlYWtwb2ludCBzaXplIGF2YWlsYWJsZSBhcyBhIHZhcmlhYmxlXG4gIEBpZiBnbG9iYWwtdmFyaWFibGUtZXhpc3RzKC16Zi1zaXplKSB7XG4gICAgJG9sZC16Zi1zaXplOiAkLXpmLXNpemU7XG4gIH1cbiAgJC16Zi1zaXplOiBudGgoJHZhbHVlLCAxKSAhZ2xvYmFsOyAvLyBnZXQgdGhlIGZpcnN0IHZhbHVlIHRvIGFjY291bnQgZm9yIGBvbmx5YCBhbmQgYGRvd25gIGtleXdvcmRzXG5cbiAgLy8gSWYgJHN0ciBpcyBzdGlsbCBhbiBlbXB0eSBzdHJpbmcsIG5vIG1lZGlhIHF1ZXJ5IGlzIG5lZWRlZFxuICBAaWYgJHN0ciA9PSAnJyB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cblxuICAvLyBPdGhlcndpc2UsIHdyYXAgdGhlIGNvbnRlbnQgaW4gYSBtZWRpYSBxdWVyeVxuICBAZWxzZSB7XG4gICAgLy8gRm9yIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiBvciBlcXVhbCB0byAkcHJpbnQtYnJlYWtwb2ludCwgYWRkIHByaW50IHRvIHRoZSBtZWRpYSB0eXBlc1xuICAgIEBpZiAkYnAgIT0gbnVsbCBhbmQgJGJwIDw9ICRwYnAge1xuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kICN7JHN0cn0ge1xuICAgICAgICBAY29udGVudDtcbiAgICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kICN7JHN0cn0ge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgJG9sZC16Zi1zaXplICE9IG51bGwge1xuICAgIC8vIFJlc3RvcmUgdGhlIG9sZCBicmVha3BvaW50IHNpemVcbiAgICAkLXpmLXNpemU6ICRvbGQtemYtc2l6ZSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkLXpmLXNpemU6IG51bGwgIWdsb2JhbDtcbiAgfVxufVxuXG4vLy8gQ29udmVycyB0aGUgYnJlYWtwb2ludHMgbWFwIHRvIGEgVVJMLWVuY29kZWQgc3RyaW5nLCBsaWtlIHRoaXM6IGBrZXkxPXZhbHVlMSZrZXkyPXZhbHVlMmAuIFRoZSB2YWx1ZSBpcyB0aGVuIGRyb3BwZWQgaW50byB0aGUgQ1NTIGZvciBhIHNwZWNpYWwgYDxtZXRhPmAgdGFnLCB3aGljaCBpcyByZWFkIGJ5IHRoZSBGb3VuZGF0aW9uIEphdmFTY3JpcHQuIFRoaXMgaXMgaG93IHdlIHRyYW5zZmVyIHZhbHVlcyBmcm9tIFNhc3MgdG8gSmF2YVNjcmlwdCwgc28gdGhleSBjYW4gYmUgZGVmaW5lZCBpbiBvbmUgcGxhY2UuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byBjb252ZXJ0LlxuLy8vXG4vLy8gQHJldHVybnMge1N0cmluZ30gQSBzdHJpbmcgY29udGFpbmluZyB0aGUgbWFwJ3MgY29udGVudHMuXG5AZnVuY3Rpb24gLXpmLWJwLXNlcmlhbGl6ZSgkbWFwKSB7XG4gICRzdHI6ICcnO1xuICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJG1hcCB7XG4gICAgJHN0cjogJHN0ciArICRrZXkgKyAnPScgKyAtemYtYnAtdG8tZW0oJHZhbHVlKSArICcmJztcbiAgfVxuICAkc3RyOiBzdHItc2xpY2UoJHN0ciwgMSwgLTIpO1xuXG4gIEByZXR1cm4gJHN0cjtcbn1cblxuLy8vIEZpbmQgdGhlIG5leHQga2V5IGluIGEgbWFwLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gdHJhdmVyc2UuXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGtleSAtIEtleSB0byB1c2UgYXMgYSBzdGFydGluZyBwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtNaXhlZH0gVGhlIHZhbHVlIGZvciB0aGUga2V5IGFmdGVyIGAka2V5YCwgaWYgYCRrZXlgIHdhcyBmb3VuZC4gSWYgYCRrZXlgIHdhcyBub3QgZm91bmQsIG9yIGAka2V5YCB3YXMgdGhlIGxhc3QgdmFsdWUgaW4gdGhlIG1hcCwgcmV0dXJucyBgbnVsbGAuXG5AZnVuY3Rpb24gLXpmLW1hcC1uZXh0KCRtYXAsICRrZXkpIHtcblxuICAvLyBTdG9yZSB0aGUga2V5cyBvZiB0aGUgbWFwIGFzIGEgbGlzdFxuICAkdmFsdWVzOiBtYXAta2V5cygkbWFwKTtcblxuICAkaTogMDtcblxuICAvLyBJZiB0aGUgS2V5IEV4aXN0cywgR2V0IHRoZSBpbmRleCBvZiB0aGUga2V5IHdpdGhpbiB0aGUgbWFwIGFuZCBhZGQgMSB0byBpdCBmb3IgdGhlIG5leHQgYnJlYWtwb2ludCBpbiB0aGUgbWFwXG4gIEBpZiAobWFwLWhhcy1rZXkoJG1hcCwgJGtleSkpIHtcbiAgICAkaTogaW5kZXgoJHZhbHVlcywgJGtleSkgKyAxO1xuICB9XG5cbiAgLy8gSWYgdGhlIGtleSBkb2Vzbid0IGV4aXN0LCBvciBpdCdzIHRoZSBsYXN0IGtleSBpbiB0aGUgbWFwLCByZXR1cm4gbnVsbFxuICBAaWYgKCRpID4gbGVuZ3RoKCRtYXApIG9yICRpID09IDApIHtcbiAgICBAcmV0dXJuIG51bGw7XG4gIH1cbiAgLy8gT3RoZXJ3aXNlLCByZXR1cm4gdGhlIHZhbHVlXG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgbnRoKCR2YWx1ZXMsICRpKSk7XG4gIH1cblxufVxuXG4vLy8gUmV0dXJuIGEgbGlzdCBvZiBvdXIgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuICRrZXkuIFVzZWZ1bCBmb3IgZGVhbGluZyB3aXRoXG4vLy8gcmVzcG9uc2l2ZSBndXR0ZXJzIGZvciB0aGUgZ3JpZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAka2V5IC0gS2V5IHRvIHVzZSBhcyBsYXN0IGJyZWFrcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7QXJyYXl9IFRoZSBsaXN0IG9mIGJyZWFrcG9pbnRzIHVwIHRvIGFuZC4gSWYgJGtleSBpcyBhdXRvLCByZXR1cm5zIGJyZWFrcG9pbnRzIGFib3ZlIHRoZSB6ZXJvXG5AZnVuY3Rpb24gLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigka2V5KSB7XG4gICRsaXN0OiAoKTtcbiAgJGZvdW5kX2tleTogZmFsc2U7XG5cbiAgQGVhY2ggJG5hbWUgaW4gJC16Zi1icmVha3BvaW50cy1rZXlzIHtcbiAgICBAaWYgKCRuYW1lID09ICRrZXkpIHtcbiAgICAgICRmb3VuZF9rZXk6IHRydWU7XG4gICAgfVxuICAgIEBpZiBub3QgJGZvdW5kX2tleSB7XG4gICAgICAkbGlzdDogYXBwZW5kKCRsaXN0LCAkbmFtZSk7XG4gICAgfVxuICB9XG4gIEByZXR1cm4gJGxpc3Q7XG59XG5cbi8vLyBSZXR1cm4gYSBsaXN0IG9mIG91ciBuYW1lZCBicmVha3BvaW50cyBsZXNzIHRoYW4gJGtleS4gVXNlZnVsIGZvciBkZWFsaW5nIHdpdGhcbi8vLyByZXNwb25zaXZlIGd1dHRlcnMgZm9yIHRoZSBncmlkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW5nIC0gYSBuYW1lZCBvciBub24tbmFtZWQgYnJlYWtwb2luZy5cbi8vL1xuLy8vIEByZXR1cm5zIHtBcnJheX0gVGhlIGxpc3Qgb2YgYnJlYWtwb2ludHMgdXAgdG8gYW5kLiBJZiAka2V5IGlzIGF1dG8sIHJldHVybnMgYnJlYWtwb2ludHMgYWJvdmUgdGhlIHplcm9cbkBmdW5jdGlvbiAtemYtY2xvc2VzdC1uYW1lZC1icmVha3BvaW50KCRicmVha3BvaW50KSB7XG4gICRsYXN0OiAkLXpmLXplcm8tYnJlYWtwb2ludDtcbiAgJGZvdW5kOiBmYWxzZTtcblxuICAkdmFsdWU6IHVuaXRsZXNzLWNhbGMoJGJyZWFrcG9pbnQsIDFweCk7XG4gIEBlYWNoICRrZXksICR2YWwgaW4gJGJyZWFrcG9pbnRzIHtcbiAgICBAaWYgbm90ICRmb3VuZCB7XG4gICAgICBAaWYgdW5pdGxlc3MtY2FsYygkdmFsKSA+ICR2YWx1ZSB7XG4gICAgICAgICRmb3VuZDogdHJ1ZTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkbGFzdDogJGtleTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRsYXN0O1xufVxuXG4vLy8gR2V0IGEgdmFsdWUgZm9yIGEgYnJlYWtwb2ludCBmcm9tIGEgcmVzcG9uc2l2ZSBjb25maWcgbWFwIG9yIHNpbmdsZSB2YWx1ZS5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBzaW5nbGUgdmFsdWUsIHJldHVybiBpdCByZWdhcmRsZXNzIG9mIGAkdmFsdWVgLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIG1hcCBhbmQgaGFzIHRoZSBrZXkgYCR2YWx1ZWAsIHRoZSBleGFjdCBicmVha3BvaW50IHZhbHVlIGlzIHJldHVybmVkLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIG1hcCBhbmQgZG9lcyAqbm90KiBoYXZlIHRoZSBicmVha3BvaW50LCB0aGUgdmFsdWUgbWF0Y2hpbmcgdGhlIG5leHQgbG93ZXN0IGJyZWFrcG9pbnQgaW4gdGhlIGNvbmZpZyBtYXAgaXMgcmV0dXJuZWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXAgLSBSZXNwb25zaXZlIGNvbmZpZyBtYXAgb3Igc2luZ2xlIHZhbHVlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHZhbHVlIC0gQnJlYWtwb2ludCBuYW1lIHRvIHVzZS5cbi8vL1xuLy8vIEByZXR1cm4ge01peGVkfSBUaGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlLlxuQGZ1bmN0aW9uIC16Zi1nZXQtYnAtdmFsKCRtYXAsICR2YWx1ZSkge1xuICAvLyBJZiB0aGUgZ2l2ZW4gbWFwIGlzIGEgc2luZ2xlIHZhbHVlLCByZXR1cm4gaXRcbiAgQGlmIHR5cGUtb2YoJG1hcCkgPT0gJ251bWJlcicge1xuICAgIEByZXR1cm4gJG1hcDtcbiAgfVxuXG5cbiAgLy8gQ2hlY2sgaWYgdGhlIGJyZWFrcG9pbnQgbmFtZSBleGlzdHMgZ2xvYmFsbHlcbiAgQGlmIG5vdCBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICR2YWx1ZSkge1xuICAgIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ251bWJlcicge1xuICAgICAgJHZhbHVlOiAtemYtY2xvc2VzdC1uYW1lZC1icmVha3BvaW50KCR2YWx1ZSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICBAcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG4gIC8vIENoZWNrIGlmIHRoZSBicmVha3BvaW50IG5hbWUgZXhpc3RzIGluIHRoZSBsb2NhbCBjb25maWcgbWFwXG4gIEBlbHNlIGlmIG1hcC1oYXMta2V5KCRtYXAsICR2YWx1ZSkge1xuICAgIC8vIElmIGl0IGRvZXMsIGp1c3QgcmV0dXJuIHRoZSB2YWx1ZVxuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCAkdmFsdWUpO1xuICB9XG4gIC8vIE90aGVyd2lzZSwgZmluZCB0aGUgbmV4dCBsb3dlc3QgYnJlYWtwb2ludCBhbmQgcmV0dXJuIHRoYXQgdmFsdWVcbiAgQGVsc2Uge1xuICAgICRhbmNob3I6IG51bGw7XG4gICAgJGZvdW5kOiBmYWxzZTtcblxuICAgIEBlYWNoICRrZXksICR2YWwgaW4gJGJyZWFrcG9pbnRzIHtcbiAgICAgIEBpZiBub3QgJGZvdW5kIHtcbiAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRtYXAsICRrZXkpIHtcbiAgICAgICAgICAkYW5jaG9yOiAka2V5O1xuICAgICAgICB9XG4gICAgICAgIEBpZiAka2V5ID09ICR2YWx1ZSB7XG4gICAgICAgICAgJGZvdW5kOiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsICRhbmNob3IpO1xuICB9XG59XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHNtYWxsKSB7XG4gICRzbWFsbC11cDogc2NyZWVuO1xuICAkc21hbGwtb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoc21hbGwgb25seSl9Jyk7XG59XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIG1lZGl1bSkge1xuICAkbWVkaXVtLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChtZWRpdW0pfScpO1xuICAkbWVkaXVtLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSBvbmx5KX0nKTtcbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbGFyZ2UpIHtcbiAgJGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChsYXJnZSl9Jyk7XG4gICRsYXJnZS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChsYXJnZSBvbmx5KX0nKTtcbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgeGxhcmdlKSB7XG4gICR4bGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHhsYXJnZSl9Jyk7XG4gICR4bGFyZ2Utb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlIG9ubHkpfScpO1xufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCB4eGxhcmdlKSB7XG4gICR4eGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4eGxhcmdlKX0nKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIFNldCB0aGUgd2lkdGggb2YgYSBncmlkIGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICR3aWR0aCBbJGdyaWQtY29sdW1uLWNvdW50XSAtIFdpZHRoIHRvIG1ha2UgdGhlIGNvbHVtbi4gWW91IGNhbiBwYXNzIGluIGFueSB2YWx1ZSBhY2NlcHRlZCBieSB0aGUgYGdyaWQtY29sdW1uKClgIGZ1bmN0aW9uLCBzdWNoIGFzIGA2YCwgYDUwJWAsIG9yIGAxIG9mIDJgLlxuQG1peGluIGdyaWQtY29sdW1uLXNpemUoXG4gICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW4tY291bnRcbikge1xuICB3aWR0aDogZ3JpZC1jb2x1bW4oJGNvbHVtbnMpO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tc2l6ZSgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tc2l6ZVxuQG1peGluIGdyaWQtY29sLXNpemUoXG4gICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW4tY291bnRcbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1zaXplKCRjb2x1bW5zKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIENhbGN1bGF0ZXMgdGhlIHdpZHRoIG9mIGEgY29sdW1uIGJhc2VkIG9uIGEgbnVtYmVyIG9mIGZhY3RvcnMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkY29sdW1uc1xuLy8vICAgV2lkdGggb2YgdGhlIGNvbHVtbi4gQWNjZXB0cyBtdWx0aXBsZSB2YWx1ZXM6XG4vLy8gICAtIEEgcGVyY2VudGFnZSB2YWx1ZSB3aWxsIG1ha2UgdGhlIGNvbHVtbiB0aGF0IGV4YWN0IHNpemUuXG4vLy8gICAtIEEgc2luZ2xlIGRpZ2l0IHdpbGwgbWFrZSB0aGUgY29sdW1uIHNwYW4gdGhhdCBudW1iZXIgb2YgY29sdW1ucyB3aWRlLCB0YWtpbmcgaW50byBhY2NvdW50IHRoZSBjb2x1bW4gY291bnQgb2YgdGhlIHBhcmVudCByb3cuXG4vLy8gICAtIEEgbGlzdCBvZiB0aGUgZm9ybWF0IFwieCBvZiB5XCIgKHdpdGhvdXQgcXVvdGVzKSB3aWxsIG1ha2UgYSBjb2x1bW4gdGhhdCBpcyAqeCogY29sdW1ucyB3aWRlLCBhc3N1bWluZyAqeSogdG90YWwgY29sdW1ucyBmb3IgdGhlIHBhcmVudC5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IEEgY2FsY3VsYXRlZCBwZXJjZW50YWdlIHZhbHVlLlxuQGZ1bmN0aW9uIGdyaWQtY29sdW1uKCRjb2x1bW5zKSB7XG4gICR3aWR0aDogMCU7XG5cbiAgLy8gUGFyc2luZyBwZXJjZW50cywgZGVjaW1hbHMsIGFuZCBjb2x1bW4gY291bnRzXG4gIEBpZiB0eXBlLW9mKCRjb2x1bW5zKSA9PSAnbnVtYmVyJyB7XG4gICAgQGlmIHVuaXQoJGNvbHVtbnMpID09ICclJyB7XG4gICAgICAkd2lkdGg6ICRjb2x1bW5zO1xuICAgIH1cbiAgICBAZWxzZSBpZiAkY29sdW1ucyA8IDEge1xuICAgICAgJHdpZHRoOiBwZXJjZW50YWdlKCRjb2x1bW5zKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJHdpZHRoOiBwZXJjZW50YWdlKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1uLWNvdW50KTtcbiAgICB9XG4gIH1cblxuICAvLyBQYXJzaW5nIFwibiBvZiBuXCIgZXhwcmVzc2lvbnNcbiAgQGVsc2UgaWYgdHlwZS1vZigkY29sdW1ucykgPT0gJ2xpc3QnIHtcbiAgICBAaWYgbGVuZ3RoKCRjb2x1bW5zKSAhPSAzIHtcbiAgICAgIEBlcnJvciAnV3Jvbmcgc3ludGF4IGZvciBncmlkLWNvbHVtbigpLiBVc2UgdGhlIGZvcm1hdCBcIm4gb2YgblwiLic7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICR3aWR0aDogcGVyY2VudGFnZShudGgoJGNvbHVtbnMsIDEpIC8gbnRoKCRjb2x1bW5zLCAzKSk7XG4gICAgfVxuICB9XG5cbiAgLy8gQW55dGhpbmcgZWxzZSBpcyBpbmNvcnJlY3RcbiAgQGVsc2Uge1xuICAgIEBlcnJvciAnV3Jvbmcgc3ludGF4IGZvciBncmlkLWNvbHVtbigpLiBVc2UgYSBudW1iZXIsIGRlY2ltYWwsIHBlcmNlbnRhZ2UsIG9yIFwibiBvZiBuXCIuJztcbiAgfVxuXG4gIEByZXR1cm4gJHdpZHRoO1xufVxuXG4vLy8gQ3JlYXRlcyBhIGdyaWQgY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGNvbHVtbnMgWyRncmlkLWNvbHVtbi1jb3VudF0gLSBXaWR0aCBvZiB0aGUgY29sdW1uLiBSZWZlciB0byB0aGUgYGdyaWQtY29sdW1uKClgIGZ1bmN0aW9uIHRvIHNlZSBwb3NzaWJsZSB2YWx1ZXMuXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGd1dHRlcnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gU3BhY2luZyBiZXR3ZWVuIGNvbHVtbnMuIFJlZmVyIHRvIHRoZSBgZ3JpZC1jb2x1bW4tZ3V0dGVyKClgIGZ1bmN0aW9uIHRvIHNlZSBwb3NzaWJsZSB2YWx1ZXMuXG5AbWl4aW4gZ3JpZC1jb2x1bW4oXG4gICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW4tY291bnQsXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tc2l6ZSgkY29sdW1ucyk7XG4gIGZsb2F0OiAkZ2xvYmFsLWxlZnQ7XG5cbiAgLy8gR3V0dGVyc1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1ndXR0ZXIoJGd1dHRlcnM6ICRndXR0ZXJzKTtcblxuICAvLyBMYXN0IGNvbHVtbiBhbGlnbm1lbnRcbiAgQGlmICRncmlkLWNvbHVtbi1hbGlnbi1lZGdlIHtcbiAgICAmOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6ICRnbG9iYWwtcmlnaHQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgZ3JpZCBjb2x1bW4gcm93LiBUaGlzIGlzIHRoZSBlcXVpdmFsZW50IG9mIGFkZGluZyBgLnJvd2AgYW5kIGAuY29sdW1uYCB0byB0aGUgc2FtZSBlbGVtZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGd1dHRlcnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gV2lkdGggb2YgdGhlIGd1dHRlcnMgb24gZWl0aGVyIHNpZGUgb2YgdGhlIGNvbHVtbiByb3cuIFJlZmVyIHRvIHRoZSBgZ3JpZC1jb2x1bW4tZ3V0dGVyKClgIGZ1bmN0aW9uIHRvIHNlZSBwb3NzaWJsZSB2YWx1ZXMuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tcm93KFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtcm93O1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbigkZ3V0dGVyczogJGd1dHRlcnMpO1xuXG4gICYsXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gIH1cbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtblxuQGZ1bmN0aW9uIGdyaWQtY29sKFxuICAkY29sdW1uczogJGdyaWQtY29sdW1uLWNvdW50XG4pIHtcbiAgQHJldHVybiBncmlkLWNvbHVtbigkY29sdW1ucyk7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW5cbkBtaXhpbiBncmlkLWNvbChcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudCxcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbigkY29sdW1ucywgJGd1dHRlcnMpO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tcm93KClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1yb3dcbkBtaXhpbiBncmlkLWNvbC1yb3coXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tcm93KCRndXR0ZXJzKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIFJlcG9zaXRpb24gYSBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxLZXl3b3JkfSAkcG9zaXRpb24gLSBEaXJlY3Rpb24gYW5kIGFtb3VudCB0byBtb3ZlLiBUaGUgY29sdW1uIHdpbGwgbW92ZSBlcXVhbCB0byB0aGUgd2lkdGggb2YgdGhlIGNvbHVtbiBjb3VudCBzcGVjaWZpZWQuIEEgcG9zaXRpdmUgbnVtYmVyIHdpbGwgcHVzaCB0aGUgY29sdW1uIHRvIHRoZSByaWdodCwgd2hpbGUgYSBuZWdhdGl2ZSBudW1iZXIgd2lsbCBwdWxsIGl0IHRvIHRoZSBsZWZ0LiBTZXQgdG8gY2VudGVyIHRvIGNlbnRlciB0aGUgY29sdW1uLlxuQG1peGluIGdyaWQtY29sdW1uLXBvc2l0aW9uKCRwb3NpdGlvbikge1xuICBAaWYgdHlwZS1vZigkcG9zaXRpb24pID09ICdudW1iZXInIHtcbiAgICAkb2Zmc2V0OiBwZXJjZW50YWdlKCRwb3NpdGlvbiAvICRncmlkLWNvbHVtbi1jb3VudCk7XG5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAkb2Zmc2V0O1xuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSBjZW50ZXIge1xuICAgICYsICY6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cbiAgQGVsc2Uge1xuICAgIEB3YXJuICdXcm9uZyBzeW50YXggZm9yIGdyaWQtY29sdW1uLXBvc2l0aW9uKCkuIEVudGVyIGEgcG9zaXRpdmUgb3IgbmVnYXRpdmUgbnVtYmVyLCBvciBjZW50ZXIuJztcbiAgfVxufVxuXG4vLy8gUmVzZXQgYSBwb3NpdGlvbiBkZWZpbml0aW9uLlxuQG1peGluIGdyaWQtY29sdW1uLXVucG9zaXRpb24ge1xuICBwb3NpdGlvbjogc3RhdGljO1xuICBmbG9hdDogJGdsb2JhbC1sZWZ0O1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG4vLy8gT2Zmc2V0cyBhIGNvbHVtbiB0byB0aGUgcmlnaHQgYnkgYCRuYCBjb2x1bW5zLlxuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRuIC0gV2lkdGggdG8gb2Zmc2V0IGJ5LiBZb3UgY2FuIHBhc3MgaW4gYW55IHZhbHVlIGFjY2VwdGVkIGJ5IHRoZSBgZ3JpZC1jb2x1bW4oKWAgbWl4aW4sIHN1Y2ggYXMgYDZgLCBgNTAlYCwgb3IgYDEgb2YgMmAuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tb2Zmc2V0KCRuKSB7XG4gIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IGdyaWQtY29sdW1uKCRuKTtcbn1cblxuLy8vIERpc2FibGUgdGhlIGRlZmF1bHQgYmVoYXZpb3Igb2YgdGhlIGxhc3QgY29sdW1uIGluIGEgcm93IGFsaWduaW5nIHRvIHRoZSBvcHBvc2l0ZSBlZGdlLlxuQG1peGluIGdyaWQtY29sdW1uLWVuZCB7XG4gIC8vIFRoaXMgZXh0cmEgc3BlY2lmaWNpdHkgaXMgcmVxdWlyZWQgZm9yIHRoZSBwcm9wZXJ0eSB0byBiZSBhcHBsaWVkXG4gICY6bGFzdC1jaGlsZDpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogJGdsb2JhbC1sZWZ0O1xuICB9XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1wb3NpdGlvbigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tcG9zaXRpb25cbkBtaXhpbiBncmlkLWNvbC1wb3MoJHBvc2l0aW9uKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXBvc2l0aW9uKCRwb3NpdGlvbik7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi11bnBvc2l0aW9uKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi11bnBvc2l0aW9uXG5AbWl4aW4gZ3JpZC1jb2wtdW5wb3Mge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi11bnBvc2l0aW9uO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tb2Zmc2V0KClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1vZmZzZXRcbkBtaXhpbiBncmlkLWNvbC1vZmYoJG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tb2Zmc2V0KCRuKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLWVuZCgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tZW5kXG5AbWl4aW4gZ3JpZC1jb2wtZW5kIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tZW5kO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gU2l6ZXMgY2hpbGQgZWxlbWVudHMgc28gdGhhdCBgJG5gIG51bWJlciBvZiBpdGVtcyBhcHBlYXIgb24gZWFjaCByb3cuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG4gLSBOdW1iZXIgb2YgZWxlbWVudHMgdG8gZGlzcGxheSBwZXIgcm93LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWycuY29sdW1uJ10gLSBTZWxlY3RvcihzKSB0byB1c2UgZm9yIGNoaWxkIGVsZW1lbnRzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRndXR0ZXJcbi8vLyAgIFRoZSBndXR0ZXIgdG8gYXBwbHkgdG8gY2hpbGQgZWxlbWVudHMuIEFjY2VwdHMgbXVsdGlwbGUgdmFsdWVzOlxuLy8vICAgLSAkZ3JpZC1jb2x1bW4tZ3V0dGVyIHdpbGwgdXNlIHRoZSB2YWx1ZXMgaW4gdGhlICRncmlkLWNvbHVtbi1ndXR0ZXIgbWFwLCBpbmNsdWRpbmcgYnJlYWtwb2ludCBzaXplcy5cbi8vLyAgIC0gQSBmaXhlZCBudW1lcmljIHZhbHVlIHdpbGwgYXBwbHkgdGhpcyBndXR0ZXIgdG8gYWxsIGJyZWFrcG9pbnRzLlxuQG1peGluIGdyaWQtbGF5b3V0KFxuICAkbixcbiAgJHNlbGVjdG9yOiAnLmNvbHVtbicsXG4gICRndXR0ZXI6IG51bGxcbikge1xuICAmID4gI3skc2VsZWN0b3J9IHtcbiAgICBmbG9hdDogJGdsb2JhbC1sZWZ0O1xuICAgIHdpZHRoOiBwZXJjZW50YWdlKDEvJG4pO1xuXG4gICAgLy8gSWYgYSAkZ3V0dGVyIHZhbHVlIGlzIHBhc3NlZFxuICAgIEBpZigkZ3V0dGVyKSB7XG4gICAgICAvLyBHdXR0ZXJzXG4gICAgICBAaWYgdHlwZS1vZigkZ3V0dGVyKSA9PSAnbWFwJyB7XG4gICAgICAgIEBlYWNoICRicmVha3BvaW50LCAkdmFsdWUgaW4gJGd1dHRlciB7XG4gICAgICAgICAgJHBhZGRpbmc6IHJlbS1jYWxjKCR2YWx1ZSkgLyAyO1xuXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnJlYWtwb2ludCkge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogJHBhZGRpbmc7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2UgaWYgdHlwZS1vZigkZ3V0dGVyKSA9PSAnbnVtYmVyJyBhbmQgc3RyaXAtdW5pdCgkZ3V0dGVyKSA+IDAge1xuICAgICAgICAkcGFkZGluZzogcmVtLWNhbGMoJGd1dHRlcikgLyAyO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZztcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTtcbiAgICB9XG5cbiAgICAmOm50aC1vZi10eXBlKCN7JG59bisxKSB7XG4gICAgICBjbGVhcjogYm90aDtcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgZXh0cmEgQ1NTIHRvIGJsb2NrIGdyaWQgY2hpbGRyZW4gc28gdGhlIGxhc3QgaXRlbXMgaW4gdGhlIHJvdyBjZW50ZXIgYXV0b21hdGljYWxseS4gQXBwbHkgdGhpcyB0byB0aGUgY29sdW1ucywgbm90IHRoZSByb3cuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG4gLSBOdW1iZXIgb2YgaXRlbXMgdGhhdCBhcHBlYXIgaW4gZWFjaCByb3cuXG5AbWl4aW4gZ3JpZC1sYXlvdXQtY2VudGVyLWxhc3QoJG4pIHtcbiAgQGZvciAkaSBmcm9tIDEgdG8gJG4ge1xuICAgIEBpZiAkaSA9PSAxIHtcbiAgICAgICY6bnRoLWNoaWxkKCN7JG59bisxKTpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICgxMDAgLSAxMDAvJG4gKiAkaSkgLyAyICogMSU7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICY6bnRoLWNoaWxkKCN7JG59bisxKTpudGgtbGFzdC1jaGlsZCgjeyRpfSkge1xuICAgICAgICBtYXJnaW4tbGVmdDogKDEwMCAtIDEwMC8kbiAqICRpKSAvIDIgKiAxJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIFNUQU5EQVJEIENPTE9SU1xuJHdoaXRlIDogI2ZmZjtcbiRibGFjayA6ICMwMDA7XG5cbi8vIFJ1c3NlbGwncyBSYWluYm93XG4kY2luZGVyOiAjMDkwODBlO1xuJGJydXRlOiAjMTQxNDI0O1xuJGp1bWJvOiAjNzY3NTdkO1xuJGlyb246ICNkOGQ3ZDY7XG4kZ3JheTogI2JjYmRjMTtcbiRhbHRvOiAjZGJkYmRiO1xuJHNpbHZlcjogI2NkY2RjZDtcbiRtZXJjdXJ5OiAjZTVlNWU1O1xuJGNhdHNraWxsOiAjZWFmNGY2O1xuJHdpbGRzYW5kOiAjZjVmNWY1O1xuJHBvcmNlbGFpbjogI2VhZWRlZTtcbiRjb25jcmV0ZTogI2YyZjJmMjtcbiRsaW5rd2F0ZXI6ICNDOEQwREM7XG4kYm91bGRlcjogIzc0NzQ3NDtcbiRzY2FycGE6ICM1ODU4NjI7XG4kc3BhY2U6ICMzMTM1M0E7XG4kdHVuYTogIzM3M0E0NDtcbiRndW5wb3dkZXI6ICMzRDNENEY7XG4kc2lzYWw6ICNkN2NkYzI7XG4kc3Rhcms6ICNFNkQ2QkQ7XG4kd2VzdGFyOiAjRENEOUQyO1xuJGNvbW86ICM0YjZjNTg7XG4kY29tb19kYXJrOiAjMzM0OTNDO1xuJGhlYXRoZXI6ICNjMGM5ZDc7XG4kaGlwcGllOiAjNjc5NWIzO1xuJHNodXR0bGU6ICM1RTZCNzk7XG4kbWFydGluaXF1ZTogIzMzMzM1MTtcbiRkYXJrYmx1ZTogIzBhMDBhYTtcbiRrb2FtYXJ1OiAjMTAxRDcyO1xuJGJpc2NheTogIzE4M0Q2NTtcbiRic29kOiAjMjc0N0VEO1xuJHRvcmNoOiAjZmY0MTQxO1xuJGZsYW1lOiAjZGI1NDRiO1xuJGhpZ2hsaWdodGVyOiAjZjllZjAwO1xuJGRhbmRlbGlvbjogI2ZkZDk1ZjtcblxuXG4vLyBCcmFuZCBDb2xvcnNcbiRzaGFkb3c6ICMzMzMzNDU7XG4kd2hpdGVzbW9rZTogI2Y2ZjZmNjtcbiRib3JlOiAjZjFmMWYzO1xuJHNtdWRnZTogI2ZhZmFmYTtcbiRvcmFuZ2U6ICNmZDhiMDk7XG4keWVsbG93OiAkaGlnaGxpZ2h0ZXI7XG4kYW1hcmFudGg6ICNlYTJlNDk7XG4kbGlnaHQtZ3JheTogI2UwZTBlNztcbiRuZXdncmF5OiAjODk4OThmO1xuJGdyYXktYWNjZW50OiAkbGlnaHQtZ3JheTtcbiRiYWNrZ3JvdW5kLWdyYXk6ICR3aWxkc2FuZDtcbiRib3JkZXI6ICM5RjlGQTE7XG4kcGluazogI2Y5YWNjMztcbiRyYXp6bWF0YXp6OiAjRDYyQzcwO1xuJG1pbnQ6ICM0ZGNlYTY7XG5cbi8vIG1lZGlhIHF1ZXJpZXNcbiRsZWdhY3ktbW9iaWxlOiA0MDBweDtcbiRicmVhay1tb2JpbGU6IDYwMHB4O1xuJGJyZWFrLW1vYmlsZS1tYXg6IDgwMHB4O1xuJGhvbWUtYnJlYWs6IDk1MHB4O1xuJGhvbWUtYnJlYWstZW5kOiA5NTFweDtcbiRicmVhay10YWJsZXQ6IDEyMDBweDtcbiRkZXNrdG9wLWJyZWFrOiAxMzAwcHg7XG4kc2l0ZS1jb25zdHJhaW50OiAxMzUwcHg7XG4kYnJlYWstbW9uZG86IDE2MDBweDtcbiRicmVhay1leHRyZW1lOiAxNzUwcHg7XG5cbi8vIGRldmljZXNcbiRpcGhvbmU0LWhlaWdodDogNDgwcHg7XG4kaXBob25lNC1taW4td2lkdGg6IDMyMHB4O1xuJGlwaG9uZTQtbWF4LXdpZHRoOiA0ODBweDtcbiRpcGhvbmU1LWhlaWdodDogNTY4cHg7XG4kaXBob25lNS1taW4td2lkdGg6IDMyMHB4O1xuJGlwaG9uZTUtbWF4LXdpZHRoOiA1NjhweDtcbiRpcGhvbmU2LWhlaWdodDogNjY3cHg7XG4kaXBob25lNi1taW4td2lkdGg6IDM3NXB4O1xuJGlwaG9uZTYtbWF4LXdpZHRoOiA2NjdweDtcblxuLy8gY29sdW1uIHBhZGRpbmdcbiRtb2JpbGUtdGI6IDUwcHg7XG4kbW9iaWxlLXNpZGVzOiAyNXB4O1xuJHRhYmxldC10YjogNjBweDtcbiR0YWJsZXQtc2lkZXM6IDUwcHg7XG4kZGVza3RvcC10YjogNzVweDtcbiRkZXNrdG9wLXNpZGVzOiA4NXB4O1xuJG1vbmRvLXRiOiAxMDBweDtcbiRtb25kby1zaWRlczogMTAwcHg7XG5cblxuLmJnX2NpbmRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjaW5kZXI7XG59XG5cbi5iZ19icnV0ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRicnV0ZTtcbn1cblxuLmJnX3Npc2FsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNpc2FsO1xufVxuXG4uY29tbyB7XG4gIGNvbG9yOiAkY29tbztcbn1cblxuLm9yYW5nZSB7XG4gIGNvbG9yOiAkb3JhbmdlO1xufVxuXG4uZ3JheSB7XG4gICAgY29sb3I6ICRncmF5O1xufVxuXG4ucGluayB7XG4gICAgY29sb3I6ICRwaW5rO1xufVxuXG4ubWludCB7XG4gICAgY29sb3I6ICRtaW50O1xufVxuXG4udG9yY2gge1xuICAgIGNvbG9yOiAkdG9yY2g7XG59XG4iLCJcbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ2hhcHRpayc7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvR1QtSGFwdGlrLVJlZ3VsYXIuZW90XCIpO1xuICBzcmM6IGxvY2FsKCfimLonKSwgdXJsKFwiLi4vZm9udHMvR1QtSGFwdGlrLVJlZ3VsYXIud29mZlwiKSBmb3JtYXQoJ3dvZmYnKSwgdXJsKFwiLi4vZm9udHMvR1QtSGFwdGlrLVJlZ3VsYXIudHRmXCIpIGZvcm1hdCgndHJ1ZXR5cGUnKSwgdXJsKFwiLi4vZm9udHMvR1QtSGFwdGlrLVJlZ3VsYXIuc3ZnXCIpIGZvcm1hdCgnc3ZnJyk7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ2hhcHRpayc7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvR1QtSGFwdGlrLU1lZGl1bS5lb3RcIik7XG4gIHNyYzogbG9jYWwoJ+KYuicpLCB1cmwoXCIuLi9mb250cy9HVC1IYXB0aWstTWVkaXVtLndvZmZcIikgZm9ybWF0KCd3b2ZmJyksIHVybChcIi4uL2ZvbnRzL0dULUhhcHRpay1NZWRpdW0udHRmXCIpIGZvcm1hdCgndHJ1ZXR5cGUnKSwgdXJsKFwiLi4vZm9udHMvR1QtSGFwdGlrLU1lZGl1bS5zdmdcIikgZm9ybWF0KCdzdmcnKTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnaGFwdGlrJztcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9HVEhhcHRpa1JlZ3VsYXItT2JsaXF1ZS53b2ZmMlwiKSBmb3JtYXQoJ3dvZmYyJyksIHVybChcIi4uL2ZvbnRzL0dUSGFwdGlrUmVndWxhci1PYmxpcXVlLndvZmZcIikgZm9ybWF0KCd3b2ZmJyksIHVybChcIi4uL2ZvbnRzL0dUSGFwdGlrUmVndWxhci1PYmxpcXVlLnR0ZlwiKSBmb3JtYXQoJ3RydWV0eXBlJyk7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdHVCBTZWN0cmEgRmluZSBCb29rJztcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvR1RTZWN0cmFGaW5lLUJvb2sud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgIHVybCgnLi4vZm9udHMvR1RTZWN0cmFGaW5lLUJvb2sud29mZicpIGZvcm1hdCgnd29mZicpLFxuICAgICAgICB1cmwoJy4uL2ZvbnRzL0dUU2VjdHJhRmluZS1Cb29rLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdHVCBTZWN0cmEgRmluZSc7XG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL0dUU2VjdHJhRmluZS1Cb2xkLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgICAgICB1cmwoJy4uL2ZvbnRzL0dUU2VjdHJhRmluZS1Cb2xkLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICAgICAgdXJsKCcuLi9mb250cy9HVFNlY3RyYUZpbmUtQm9sZC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyk7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG5cbiRoYXB0aWs6IFwiaGFwdGlrXCIsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiRyb2JvdG86IFJvYm90byBNb25vLCBtb25vc3BhY2U7XG4kc2VjdHJhOiBHVCBTZWN0cmEgRmluZSBCb29rLCBHZW9yZ2lhLCBzZXJpZjtcbiRzZWN0cmEtYm9sZDogR1QgU2VjdHJhIEZpbmUsIEdlb3JnaWEsIHNlcmlmO1xuJG1haW4tZm9udDogJGhhcHRpaztcblxuLy8gcmVtIGZvbnQgc2l6aW5nIHdpdGggYmFja3VwIHB4XG5AbWl4aW4gZm9udC1zaXplKCRzaXpldmFsdWU6IDEuNikge1xuICBmb250LXNpemU6ICgkc2l6ZXZhbHVlICogMTApICsgcHg7XG4gIGZvbnQtc2l6ZTogJHNpemV2YWx1ZSArIHJlbTtcbn1cblxuLmhhcHRpay1tZWQge1xuICBmb250LWZhbWlseTogJGhhcHRpaztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLmhhcHRpay1yZWcge1xuICBmb250LWZhbWlseTogJGhhcHRpaztcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbn1cblxuLmhhcHRpay1vYmxpcXVlIHtcbiAgZm9udC1mYW1pbHk6ICRoYXB0aWs7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLmZzLW1lZ2Ege1xuICBAaW5jbHVkZSBmb250LXNpemUoMTIpO1xuICBsaW5lLWhlaWdodDogMC44NTtcbn1cblxuLmZzLXhsYXJnZSB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSg2LjYpO1xuICBsaW5lLWhlaWdodDogMTtcbn1cblxuLmZzLWxhcmdlIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKDQpO1xuICBsaW5lLWhlaWdodDogMS4yNTtcbn1cblxuLmZzLW1lZC1sYXJnZSB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgzLjUpO1xuICBsaW5lLWhlaWdodDogMS4yO1xufVxuXG4uZnMtbWVkIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKDIpO1xuICBsaW5lLWhlaWdodDogMS41O1xufVxuXG4uZnMtcmVnIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKDEuNik7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG59XG5cbi5mcy1zbWFsbCB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgxLjUpO1xufVxuXG4uZnMtdGlueSB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgxLjEpO1xufVxuXG5odG1sIHtcbiAgZm9udC1zaXplOiA2Mi41JTtcbn1cblxuYm9keSB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgyKTtcbiAgY29sb3I6ICRicnV0ZTtcbiAgZm9udC1mYW1pbHk6ICRtYWluLWZvbnQ7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGJyZWFrLW1vYmlsZS1tYXgpIHtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoMS43KTtcbiAgfVxufVxuXG5wIHtcbiAgQGV4dGVuZCAlcGFyYWdyYXBoO1xufVxuXG51bCB7XG4gIGxpIHtcbiAgICBAZXh0ZW5kICVwYXJhZ3JhcGg7XG4gIH1cbn1cblxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2IHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKDMuNSk7XG4gIGZvbnQtZmFtaWx5OiAkc2VjdHJhLWJvbGQ7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LWZlYXR1cmUtc2V0dGluZ3M6ICdrZXJuJyAxLCAnbGlnYScgMSwgJ3BudW0nIDEsICdzczAxJyAxO1xuICBtYXJnaW46IDA7XG59XG5cbmgxIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKDgpO1xuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkYnJlYWstdGFibGV0KSB7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKDYpO1xuICB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRob21lLWJyZWFrKSB7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKDQpO1xuICB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRicmVhay1tb2JpbGUpIHtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoMyk7XG4gIH1cbn1cblxuaDIge1xuICBAaW5jbHVkZSBmb250LXNpemUoNCk7XG59XG5cbnNtYWxsIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKDEuNSk7XG4gIGZvbnQtZmFtaWx5OiAkcm9ib3RvO1xuICBsaW5lLWhlaWdodDogMS42O1xufVxuXG4ucm9ib3RvX2hlYWRsaW5lIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKDEuMik7XG4gIGZvbnQtZmFtaWx5OiAkcm9ib3RvO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG5ibG9ja3F1b3RlOm5vdCgudHdpdHRlci10d2VldCkge1xuICBjb2xvcjogJGJydXRlO1xuICBAaW5jbHVkZSBmb250LXNpemUoMy4zKTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBsaW5lLWhlaWdodDogMS4zMzMzMzMzMzM7XG4gIG1hcmdpbjogcmVtaWZ5KDgwcHgpIDA7XG4gIHBhZGRpbmctbGVmdDogNzBweDtcbiAgcGFkZGluZy1yaWdodDogNzBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICY6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvaWNvbnMvcXVvdGVzLnN2Z1wiKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb250ZW50OiAnJztcbiAgICB3aWR0aDogMzBweDtcbiAgICBoZWlnaHQ6IDI4cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTJweDtcbiAgICBsZWZ0OiAwO1xuICB9XG5cbiAgc3BhbiB7XG4gICAgY29sb3I6ICRzaWx2ZXI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKDIpO1xuICAgIGxpbmUtaGVpZ2h0OiAyO1xuICB9XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGJyZWFrLW1vYmlsZSkge1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgyLjUpO1xuICAgIHBhZGRpbmctbGVmdDogcmVtaWZ5KDQwcHgpO1xuICAgIHBhZGRpbmctcmlnaHQ6MDtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIHdpZHRoOiAyMHB4O1xuICAgIH1cblxuICAgIHNwYW4ge1xuICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDEuNSk7XG4gICAgfVxuICB9XG59XG5cbi5ib3JlIHtcbiAgY29sb3I6ICRib3JlO1xufVxuXG4ub3JhbmdlIHtcbiAgY29sb3I6ICRvcmFuZ2U7XG59XG5cbi5icnV0ZSB7XG4gIGNvbG9yOiAkYnJ1dGU7XG59XG5cbi5ic29kIHtcbiAgY29sb3I6ICRic29kO1xufVxuXG4uYW1hcmFudGgge1xuICBjb2xvcjogJGFtYXJhbnRoO1xufVxuIiwiLndvcmstcGFnZSB7XG5cbiAgLndvcmtfaW50cm8ge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRicmVhay1tb2JpbGUtbWF4KSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW1pZnkoLTc1cHgpO1xuICAgIH1cblxuICAgIC5jZW50ZXJlZF9jb250ZW50IHtcbiAgICAgIG1heC13aWR0aDogNDg1cHg7XG5cbiAgICAgIGgxIHtcbiAgICAgICAgY29sb3I6ICRicnV0ZTtcbiAgICAgIH1cblxuICAgICAgcCB7XG4gICAgICAgIGNvbG9yOiAkYnJ1dGU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNsaWVudF9saXN0IHtcbiAgICAgIGVtIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgJi5vcGVuIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNodXR0bGU7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJHNodXR0bGU7XG5cbiAgICAgICAgJjphZnRlcixcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICBzdmcge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICBlbSB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIGNvbnRlbnQ6IFwiw5dcIjtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMi44KTtcbiAgICAgICAgICBsZWZ0OiAzMHB4O1xuICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTUlKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkc2h1dHRsZSwgNSUpO1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogZGFya2VuKCRzaHV0dGxlLCA1JSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGhvbWUtYnJlYWspIHtcbiAgICAgIHBhZGRpbmctdG9wOiByZW1pZnkoMjAwcHgpO1xuICAgICAgcGFkZGluZy1ib3R0b206IHJlbWlmeSg5MHB4KTtcbiAgICB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGJyZWFrLW1vYmlsZS1tYXgpIHtcbiAgICAgIHBhZGRpbmctdG9wOiByZW1pZnkoMTUwcHgpO1xuICAgICAgcGFkZGluZy1ib3R0b206IHJlbWlmeSg3MHB4KTtcbiAgICB9XG4gIH1cblxuICAuY2xpZW50X3NoZWV0IHtcbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgPiAucm93IHtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiAgICAgIHBhZGRpbmctdG9wOiA2cmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDJyZW07XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkYnJlYWstbW9iaWxlLW1heCkge1xuICAgICAgICBwYWRkaW5nLXRvcDogcmVtaWZ5KDUwcHgpO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLm9wZW4ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLmNsaWVudCB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogNjUlIGF1dG87XG4gICAgICBoZWlnaHQ6IDkwcHg7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDcwcHg7XG4gICAgICB3aWR0aDogMjAlO1xuXG4gICAgICAmLnNxdWFyZSB7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMzAlIGF1dG87XG4gICAgICB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkYnJlYWstbW9iaWxlLW1heCkge1xuICAgICAgICB3aWR0aDogMjUlO1xuICAgICAgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGJyZWFrLW1vYmlsZSkge1xuICAgICAgICB3aWR0aDogMzMuMzMzMyU7XG4gICAgICB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbGVnYWN5LW1vYmlsZSkge1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG5cbiAgLmNsaWVudC1maWx0ZXJzIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcblxuICAgIC5maWx0ZXJzLWFjdGl2ZSB7XG4gICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICAgIHBhZGRpbmctdG9wOiByZW1pZnkoNDVweCk7XG5cbiAgICAgIC5maWx0ZXJzLWJ0biB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IDE5cHg7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRvcDogLTRweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAycmVtO1xuICAgICAgICB3aWR0aDogMjNweDtcblxuICAgICAgICBzdmcge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg3cHgpO1xuXG4gICAgICAgICAgcGF0aCB7XG4gICAgICAgICAgICBmaWxsOiAkb3JhbmdlO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogZmlsbCAwLjJzIGVhc2U7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5pcy1hY3RpdmUge1xuICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICBwYXRoIHtcbiAgICAgICAgICAgICAgZmlsbDogJGJydXRlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuaG92ZXIsXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICBwYXRoIHtcbiAgICAgICAgICAgICAgZmlsbDogJGdyYXk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5maWx0ZXJzLWNvbnRhaW5lciB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtICgycmVtICsgMjVweCkpO1xuXG4gICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgQGV4dGVuZCAuZnMtbWVkO1xuICAgICAgICAgIHBhZGRpbmc6IDAgcmVtaWZ5KDE1cHgpIDAgMDtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG5cbiAgICAgICAgICAmW2RhdGEtZmlsdGVyPWFsbF0ge1xuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgIGNvbG9yOiAkZ3JheTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmOm5vdChbZGF0YS1maWx0ZXI9YWxsXSk6YWZ0ZXIge1xuICAgICAgICAgICAgY29sb3I6ICRncmF5O1xuICAgICAgICAgICAgY29udGVudDogXCJcXDAwZDdcIjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDdweDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAvLyBjb2xvcjogJG9yYW5nZTtcbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICBjb2xvcjogJGJydXRlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5maWx0ZXJzLW9wdGlvbnMge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIG1hcmdpbjogcmVtaWZ5KDQ1cHgpIDAgMDtcblxuICAgICAgJi5pcy1hY3RpdmUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cblxuICAgICAgYnV0dG9uIHtcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgJGdyYXk7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMS43cmVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjdyZW07XG4gICAgICAgIHBhZGRpbmc6IDEuMnJlbSAyLjJyZW07XG4gICAgICAgIEBleHRlbmQgLmhhcHRpay1yZWc7XG4gICAgICAgIEBleHRlbmQgLmZzLW1lZDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG5cbiAgICAgICAgJi5pcy1hY3RpdmUsXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmFuZ2U7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAkb3JhbmdlO1xuICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuY2xpZW50LWVudHJpZXMge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuXG4gICAgLm1hc3Rlcl9yb3cge1xuXG4gICAgICAucm93IHtcbiAgICAgICAgcGFkZGluZzoge1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5jYXJlZXJzLXBhZ2Uge1xuICAuaW50cm9fc2VjdGlvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHNpc2FsO1xuXG4gICAgLmNlbnRlcmVkX2NvbnRlbnQge1xuICAgICAgbWF4LXdpZHRoOiA3MDBweDtcblxuICAgICAgLmJ0biB7XG4gICAgICAgIG1pbi13aWR0aDogMzAwcHg7XG4gICAgICB9XG5cbiAgICAgIGgxIHtcbiAgICAgICAgY29sb3I6ICRjb21vX2Rhcms7XG4gICAgICB9XG5cbiAgICAgIHAge1xuICAgICAgICBjb2xvcjogJHNoYWRvdztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuXHQmLmNhcmVlcnMtZW50cnkge1xuICAgIGFydGljbGUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgbWFyZ2luLXRvcDogcmVtaWZ5KC03NXB4KTtcbiAgICB9XG5cdFx0LmNvbnRhaW5lciB7XG5cdFx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XG5cdFx0XHRwYWRkaW5nOiAzcmVtIDA7XG5cblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0XHRcdHBhZGRpbmc6IDZyZW0gMDtcblx0XHRcdH1cblx0XHR9XG5cbiAgICAucm9sZSwgLmhvd3RvIHtcbiAgICAgIC5jZW50ZXJfY29sID4gcDpmaXJzdC1vZi10eXBlLCBoMiArIHAge1xuICAgICAgICBmb250LWZhbWlseTogJHNlY3RyYTtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDMuMyk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG5cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGJyZWFrLW1vYmlsZSkge1xuICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgzKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuXHRcdC5lbnRyeS1pbnRybyB7XG5cdFx0XHQuY29udGFpbmVyIHtcblx0XHRcdFx0cGFkZGluZy10b3A6IDI1MHB4O1xuXHRcdFx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkYnJlYWstbW9iaWxlKSB7XG5cdFx0XHRcdFx0cGFkZGluZy10b3A6IDE1MHB4O1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0aDEge1xuXHRcdFx0XHRcdEBleHRlbmQgLmZzLXhsYXJnZTtcblx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0c21hbGwge1xuXHRcdFx0XHRcdEBleHRlbmQgLmhhcHRpay1yZWc7XG5cdFx0XHRcdFx0Y29sb3I6ICRuZXdncmF5O1xuXHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdG1hcmdpbjogMXJlbSAwIDVyZW07XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cblx0XHQuaG93dG8gLmNvbnRhaW5lciB7XG5cdFx0XHRib3JkZXI6IG5vbmU7XG5cdFx0fVxuXHR9XG5cblx0Lm9wZW5pbmdzIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgbWFyZ2luLXRvcDogcmVtaWZ5KC03NXB4KTtcblxuXHRcdHVsIHtcblx0XHRcdG1hcmdpbjogMDtcblxuXHRcdFx0bGkge1xuXHRcdFx0XHRwYWRkaW5nOiByZW1pZnkoNzVweCkgMDtcblxuXHRcdFx0XHRwIHtcbiAgICAgICAgICBjb2xvcjogJHNodXR0bGU7XG4gICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDIuMik7XG5cdFx0XHRcdFx0QGluY2x1ZGUgZ3JpZC1jb2x1bW4oMTIpO1xuXHRcdFx0XHRcdHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xuXHRcdFx0XHRcdHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcblx0XHRcdFx0XHRsaW5lLWhlaWdodDogMS41O1xuXHRcdFx0XHRcdG1hcmdpbi10b3A6IHJlbWlmeSgyMHB4KTtcblxuXHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBncmlkLWNvbHVtbig4KTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0bGk6bm90KDpsYXN0LWNoaWxkKSB7XG5cdFx0XHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQucG9zaXRpb24tbmFtZSB7XG5cdFx0XHRjb2xvcjogJGNvbW87XG5cdFx0XHRmb250LWZhbWlseTogJHNlY3RyYS1ib2xkO1xuXHRcdFx0QGV4dGVuZCAuZnMtbGFyZ2U7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdHRyYW5zaXRpb246IGNvbG9yIDAuMnMgZWFzZTtcblxuXHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdGJvcmRlcjogbm9uZTtcblx0XHRcdFx0Y29sb3I6ICRjb21vX2Rhcms7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LnBvc2l0aW9uLWxvYyB7XG5cdFx0XHRjb2xvcjogJGlyb247XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdG1hcmdpbi1ib3R0b206IDJyZW07XG5cdFx0XHRAZXh0ZW5kIC5mcy1sYXJnZTtcblxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRcdFx0ZGlzcGxheTogaW5saW5lO1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdHJpZ2h0OiAwO1xuXHRcdFx0XHR0b3A6IDA7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Lm5vX2x1Y2sge1xuXHRcdD4gLnJvdyB7XG5cdFx0XHRib3JkZXItdG9wOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XG5cdFx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XG5cdFx0XHRwYWRkaW5nOiByZW1pZnkoNzVweCkgMDtcblx0XHR9XG5cblx0XHRwIHtcbiAgICAgIGNvbG9yOiAkc2h1dHRsZTtcblx0XHRcdEBpbmNsdWRlIGZvbnQtc2l6ZSgyLjIpO1xuXHRcdFx0bGluZS1oZWlnaHQ6IDEuNTtcblx0XHRcdG1hcmdpbjogMDtcblxuICAgICAgYSB7XG4gICAgICAgIGNvbG9yOiAkc2h1dHRsZSAhaW1wb3J0YW50O1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2h1dHRsZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgY29sb3I6ICRmbGFtZSAhaW1wb3J0YW50O1xuICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGZsYW1lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cdFx0fVxuXHR9XG59XG5cbi5mcmllbmRzLWZlZWQge1xuXHRib3JkZXItYm90dG9tOiBub25lO1xuXHRwYWRkaW5nOiB7XG5cdFx0Ym90dG9tOiByZW1pZnkoODVweCk7XG5cdFx0dG9wOiByZW1pZnkoODVweCk7XG5cdH1cbn1cblxuI2luc3RhZmVlZCB7XG5cdGEge1xuXHRcdGJvcmRlcjogbm9uZTtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdHBhZGRpbmc6IDAgcmVtaWZ5KDE1cHgpIHJlbWlmeSgzMHB4KTtcblx0XHR3aWR0aDogMzMuMzMzMzMlO1xuXHRcdHBlcnNwZWN0aXZlOiAxMDAwcHg7XG5cblx0XHRpbWcge1xuXHRcdFx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHR9XG5cblx0XHQmOmhvdmVyIHtcblx0XHRcdGJvcmRlcjogbm9uZTtcblx0XHR9XG5cblx0XHQmLnZpc2libGUge1xuXHRcdFx0YW5pbWF0aW9uOiBmYWRlSW4gMC41cyBlYXNlIGZvcndhcmRzO1xuXHRcdH1cblxuXHRcdCYubGFyZ2Uge1xuXHRcdFx0d2lkdGg6IDY2LjY2NjYlO1xuXHRcdH1cblxuXHRcdCYuc21hbGwge1xuXHRcdFx0aW1nIHtcblx0XHRcdFx0d2lkdGg6IDcwJTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQmLnRpbnkge1xuXHRcdFx0aW1nIHtcblx0XHRcdFx0d2lkdGg6IDUwJTtcblx0XHRcdH1cblx0XHR9XG5cdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGJyZWFrLW1vYmlsZS1tYXgpIHtcblx0XHRcdHBhZGRpbmc6IDAgcmVtaWZ5KDVweCkgcmVtaWZ5KDEwcHgpO1xuXHRcdH1cblx0fVxufVxuIiwiLmFib3V0X3BhZ2Uge1xuXG4gIC5hYm91dF9pbnRybyB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gOTBweCk7XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkYnJlYWstbW9iaWxlLW1heCkge1xuICAgICAgaGVpZ2h0OiAxMDB2aDtcbiAgICB9XG4gIH1cblxuICAucGxheWdyb3VuZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICYudGhyZWVqc3RveSB7XG5cbiAgICB9XG5cbiAgICAuc2hhZGVyIHtcbiAgICAgICAgaGVpZ2h0OiA2MCU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC40cyBlYXNlLWluO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgei1pbmRleDogMTtcblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgaGVpZ2h0OiAxMDBweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodHJhbnNwYXJlbnQsICRibGFjayk7XG4gICAgICAgICAgei1pbmRleDogNTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNhbnZhcyB7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5vcGFxdWUge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuXG4gICAgICAgIC50b3kge1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuc2VjdGlvbl9oZWFkZXIge1xuICAgIC8vIGhlaWdodDogNjB2aDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAucm93IHtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgfVxuXG4gICAgaDIge1xuICAgICAgQGV4dGVuZCAucm9ib3RvX2hlYWRsaW5lO1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICB9XG5cbiAgICBoMyB7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDYuNik7XG4gICAgICBmb250LWZhbWlseTogJHNlY3RyYS1ib2xkO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIG1heC13aWR0aDogNjUwcHg7XG4gICAgICBsaW5lLWhlaWdodDogMC45NztcbiAgICAgIHBhZGRpbmc6IHtcbiAgICAgICAgdG9wOiAyMDBweDtcbiAgICAgICAgYm90dG9tOiAyMDBweDtcbiAgICAgIH1cbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuXG4gICAgICAmLndpZGUge1xuICAgICAgICBtYXgtd2lkdGg6IDg2MHB4O1xuICAgICAgfVxuXG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkYnJlYWstbW9iaWxlKSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSg0LjUpO1xuICAgICAgfVxuXG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbGVnYWN5LW1vYmlsZSkge1xuICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMy44KTtcbiAgICAgIH1cblxuICAgIH1cblxuXG5cbiAgICAmLndoaXRlIHtcbiAgICAgIC5yb3cge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTowO1xuICAgICAgfVxuXG4gICAgICBoMiB7XG4gICAgICAgIGNvbG9yOiAkYnJ1dGU7XG4gICAgICB9XG5cbiAgICAgIGgzIHtcbiAgICAgICAgY29sb3I6ICRicnV0ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBhcnRpY2xlIHtcbiAgICAuY29weSBwOmZpcnN0LW9mLXR5cGUge1xuICAgICAgZm9udC1mYW1pbHk6ICRzZWN0cmEtYm9sZDtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSg2LjYpO1xuICAgICAgbGluZS1oZWlnaHQ6IC45Njk7XG5cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRicmVhay1tb2JpbGUpIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDQuNSk7XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsZWdhY3ktbW9iaWxlKSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgzLjgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5jb3B5LmNpbmRlciB7XG4gICAgICBwIHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuc3VibmF2IHtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkaGVhdGhlcjtcbiAgICAgIGJvcmRlci1ib3R0b206IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuZmlyc3RfcGFyYWdyYXBoIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuXG4gICAgICAuY2VudGVyX2NvbCB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ3VucG93ZGVyO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtaWZ5KDYwcHgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5ub3JtYWxpemVfc2VjdGlvbiB7XG4gICAgICBwYWRkaW5nLXRvcDogcmVtaWZ5KDYwcHgpO1xuICAgIH1cblxuICAgIC5wcmFjdGljZV9wb2ludCB7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGd1bnBvd2RlcjtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbWlmeSg2MHB4KTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiByZW1pZnkoNjBweCk7XG5cbiAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgaDQge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW1pZnkoNDBweCk7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSg0LjQpO1xuICAgICAgICBmb250LWZhbWlseTogJHNlY3RyYS1ib2xkO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICBjb2xvcjogJGhlYXRoZXI7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkYnJlYWstbW9iaWxlKSB7XG4gICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDMuMyk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcCwgcDpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDIpO1xuICAgICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgICAgICBmb250LWZhbWlseTogJGhhcHRpaztcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZXhwZXJ0aXNlX3BvaW50IHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKCRoZWF0aGVyLCAuMyk7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogcmVtaWZ5KDEwMHB4KTtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbWlmeSg5MHB4KTtcblxuICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuXG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkYnJlYWstbW9iaWxlLW1heCkge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtaWZ5KDUwcHgpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW1pZnkoNTBweCk7XG4gICAgICB9XG5cbiAgICAgIGg0IHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDUpO1xuICAgICAgICBmb250LWZhbWlseTogJHNlY3RyYS1ib2xkO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xO1xuXG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRicmVhay1tb2JpbGUpIHtcbiAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMy4zKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBzdHJvbmcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDUpO1xuICAgICAgICBmb250LWZhbWlseTogJHNlY3RyYTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtaWZ5KDI1cHgpO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xO1xuXG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRicmVhay1tb2JpbGUpIHtcbiAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMy4zKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBwLCBwOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAvLyBjb2xvcjogJHdoaXRlO1xuICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMik7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkaGFwdGlrO1xuICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMS41O1xuXG4gICAgICAgICYuc2VydmljZXMge1xuICAgICAgICAgIGNvbG9yOiAkaGVhdGhlcjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBwIHN0cm9uZyB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDIpO1xuICAgICAgICBmb250LWZhbWlseTogJGhhcHRpaztcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnN3aXJsX29iamVjdCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRyYW5zaXRpb246IG1heC13aWR0aCAuMnMgZWFzZTtcblxuICAgICYuaW50cm8ge1xuICAgICAgbWF4LXdpZHRoOiAzNDVweDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgdG9wOiByZW1pZnkoMTAwcHgpO1xuICAgICAgei1pbmRleDogMjtcbiAgICB9XG5cbiAgICAmLnJpZ2h0IHtcbiAgICAgIG1heC13aWR0aDogMjUzcHg7XG4gICAgICByaWdodDogMDtcbiAgICAgIHRvcDogcmVtaWZ5KDEwMHB4KTtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgfVxuXG4gICAgJi5sZWZ0IHtcbiAgICAgIG1heC13aWR0aDogMjA3cHg7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICB6LWluZGV4OiAyO1xuICAgIH1cblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRicmVhay10YWJsZXQpIHtcblxuICAgICAgJi5pbnRybyB7XG4gICAgICAgIG1heC13aWR0aDogMjAwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGhvbWUtYnJlYWspIHtcblxuICAgIH1cblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRicmVhay1tb2JpbGUtbWF4KSB7XG4gICAgICAmLmludHJvIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxNzBweDtcbiAgICAgICAgdG9wOiByZW1pZnkoMHB4KTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0zNSUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRicmVhay1tb2JpbGUpIHtcbiAgICAgICYuaW50cm8ge1xuICAgICAgICBtYXgtd2lkdGg6IDE3MHB4O1xuICAgICAgICB0b3A6IHJlbWlmeSgwcHgpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTU1JSk7XG4gICAgICB9XG5cbiAgICAgICYubGVmdCwgJi5yaWdodCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmZyaWVuZF9ncmlkIHtcblxuICAgIC5mcmllbmQge1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtaWZ5KDc1cHgpO1xuICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgIGltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuXG4gICAgICBwIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDIpO1xuICAgICAgICBwYWRkaW5nLXRvcDogcmVtaWZ5KDEwcHgpO1xuXG4gICAgICAgIHN0cm9uZyB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkYnJlYWstbW9iaWxlKSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgICAuZnJpZW5kIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtaWZ5KDEwMHB4KTtcbiAgICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMjBweCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGJyZWFrLW1vYmlsZS1tYXgpIHtcbiAgICAgIC5mcmllbmQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW1pZnkoMTM1cHgpO1xuICAgICAgICB3aWR0aDogY2FsYygzMyUgLSAyMHB4KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIHJlbWlmeS5zY3NzXG4vLyBAZnVuY3Rpb24gYW5kIEBtaXhpbiB0byBoYW5kbGUgcmVtPC0+cHggdmFsdWUgY29udmVyc2lvblxuLy9cbi8vIGJ5IE1hcml1c3ogQ2llc2xhIDxodHRwOi8vbWFyaXVzei5jYz5cblxuJGJhc2VsaW5lLXB4OiAxMHB4O1xuXG5AZnVuY3Rpb24gcmVtaWZ5KCRweCkge1xuICAkYmFzZWxpbmUtcmVtOiAkYmFzZWxpbmUtcHggLyAxcmVtO1xuXG4gIEBpZiAkcHggPT0gMCB7XG4gICAgQHJldHVybiAwO1xuICB9XG5cbiAgQGlmIHR5cGUtb2YocHgpID09IFwibnVtYmVyXCIge1xuICAgIEByZXR1cm4gJHB4IC8gJGJhc2VsaW5lLXJlbTtcbiAgfSBAZWxzZSB7XG4gICAgJHJlbXM6ICgpO1xuXG4gICAgQGVhY2ggJHZhbHVlIGluICRweCB7XG4gICAgICBAaWYgJHZhbHVlID09IDAge1xuICAgICAgICAkcmVtczogYXBwZW5kKCRyZW1zLCAkdmFsdWUpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICRyZW1zOiBhcHBlbmQoJHJlbXMsICgkdmFsdWUgLyAkYmFzZWxpbmUtcmVtKSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQHJldHVybiAkcmVtcztcbiAgfVxufVxuXG5AbWl4aW4gcmVtKCRwcm9wZXJ0eSwgJHZhbHVlcykge1xuICAjeyRwcm9wZXJ0eX06ICR2YWx1ZXM7XG4gICN7JHByb3BlcnR5fTogcmVtaWZ5KCR2YWx1ZXMpO1xufSIsIi5zcGFjZV9wYWdlIHtcbiAgLnNpdGVfaGVhZGVyIHtcbiAgICAubG9nbyB7XG4gICAgICAubG9nb19saW5rIHtcbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICBwYXRoIHtcbiAgICAgICAgICAgIGZpbGw6ICR3aGl0ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLnNpdGVfbmF2IHtcbiAgICAgIHVsIHtcbiAgICAgICAgbGkge1xuICAgICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgIGNvbG9yOiAkc2h1dHRsZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmLmN1cnJlbnQge1xuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgIGNvbG9yOiAkc2h1dHRsZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyAudW5pdmVyc2FsX2hlYWRlciB7XG4gIC8vICAgaGVpZ2h0OiBhdXRvO1xuICAvLyAgIG1pbi1oZWlnaHQ6IGF1dG87XG4gIC8vICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIC8vICAgei1pbmRleDogMjtcbiAgLy8gfVxuXG4gIC51bml2ZXJzYWxfaGVhZGVyIHtcbiAgICAud2hpdGUge1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICB9XG4gIH1cblxuICBhcnRpY2xlIHtcbiAgICB6LWluZGV4OiAxO1xuICB9XG5cbiAgc2VjdGlvbiB7XG4gICAgcCB7XG4gICAgICBhIHtcbiAgICAgICAgY29sb3I6ICRkYXJrYmx1ZSAhaW1wb3J0YW50O1xuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRkYXJrYmx1ZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgY29sb3I6ICRicnV0ZSAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnJ1dGUgIWltcG9ydGFudDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAudGhyZWVfY2FyZHMge1xuICAgIC5jYXJkIHtcbiAgICAgIEBleHRlbmQgJWJnY292ZXI7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGFya2JsdWU7XG4gICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgaGVpZ2h0OiByZW1pZnkoNTIwcHgpO1xuICAgICAgcGFkZGluZzogcmVtaWZ5KDMwcHgpO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgIC5kYXRlX3JhbmdlIHtcbiAgICAgICAgY29sb3I6ICNDMEM5RDc7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkcm9ib3RvO1xuICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMS4xKTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIH1cblxuICAgICAgLnRleHQge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDAgcmVtaWZ5KDMwcHgpIHJlbWlmeSgzMHB4KTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDA7XG5cbiAgICAgICAgaDMge1xuICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgzLjMpO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkYnJlYWstbW9iaWxlLW1heCkge1xuICAgICAgLmNlbnRlcl9jb2wge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgfVxuXG4gICAgICAuY2FyZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbWlmeSg1MHB4KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkYnJlYWstbW9iaWxlLW1heCkgYW5kIChtYXgtd2lkdGg6ICRob21lLWJyZWFrKSB7XG4gICAgICAuY2FyZCB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzMzMzMyUgLSAxMHB4KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkaG9tZS1icmVhaykge1xuICAgICAgLmNhcmQge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzMzMzMyUgLSAyMHB4KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkYnJlYWstbW9iaWxlLW1heCkge1xuICAgICAgaGVpZ2h0OiByZW1pZnkoNTIwcHgpO1xuICAgICAgbWFyZ2luOiByZW1pZnkoNjBweCkgMDtcblxuICAgICAgLmNlbnRlcl9jb2wge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDExMDBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxuXG4gIC5zcGFjZV9mb3JtIHtcbiAgICBwYWRkaW5nOiByZW1pZnkoNjBweCkgMDtcblxuICAgIGxhYmVsIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxLjMpO1xuICAgICAgY29sb3I6ICNDMEM5RDc7XG4gICAgICBmb250LWZhbWlseTogJHJvYm90bztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIGZpZWxkc2V0IHtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIHBhZGRpbmc6MDtcbiAgICB9XG5cbiAgICBpbnB1dCwgdGV4dGFyZWEge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpbnB1dCB7XG4gICAgICBAaW5jbHVkZSBmb250LXNpemUoMik7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgYm9yZGVyOiB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvdHRvbTogMXB4IHNvbGlkICM1QjU0Qzc7XG4gICAgICB9XG4gICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IHJlbWlmeSgxNXB4KTtcbiAgICAgIHBhZGRpbmctdG9wOiByZW1pZnkoMTVweCk7XG4gICAgfVxuXG4gICAgdGV4dGFyZWEge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzVCNTRDNztcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgyKTtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgbWFyZ2luLXRvcDogcmVtaWZ5KDQwcHgpO1xuICAgICAgcGFkZGluZzogcmVtaWZ5KDMwcHgpO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLnJvdzEge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbWlmeSgyOHB4KTtcblxuXG4gICAgICBmaWVsZHNldCB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDE1cHgpO1xuXG4gICAgICAgIGlucHV0IHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkYnJlYWstbW9iaWxlLW1heCkge1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAgICAgZmllbGRzZXQge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbWlmeSgyOHB4KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAucm93MiB7XG4gICAgICBpbnB1dCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5zdWJtaXNzaW9uIHtcbiAgICAgIGJ1dHRvbiB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIH1cblxuICAgICAgLm1lc3NhZ2Uge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiByZW1pZnkoMjBweCk7XG5cbiAgICAgICAgJi5lcnJvciB7XG4gICAgICAgICAgY29sb3I6ICRmbGFtZTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRicmVhay1tb2JpbGUtbWF4KSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luLXRvcDogcmVtaWZ5KDE1cHgpO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBNSVhJTlNcblxuLy8gYXNwZWN0IHJhdGlvIGNhbGN1bGF0aW9uXG5AbWl4aW4gYXNwZWN0LXJhdGlvKCR3aWR0aCwgJGhlaWdodCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICY6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctdG9wOiAoJGhlaWdodCAvICR3aWR0aCkgKiAxMDAlO1xuICB9XG4gID4gLmNvbnRlbnQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gIH1cbn1cblxuQG1peGluIGFzcGVjdC1yYXRpby1oZWlnaHQoJHdpZHRoLCAkaGVpZ2h0KSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICY6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBwYWRkaW5nLWxlZnQ6ICgkd2lkdGggLyAkaGVpZ2h0KSAqIDEwMCU7XG4gICAgfVxuICAgID4gLmNvbnRlbnQge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgIH1cbn1cblxuQG1peGluIHBsYWNlaG9sZGVyLWNvbG9yKCRjb2xvcikge1xuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHsgLyogV2ViS2l0IGJyb3dzZXJzICovXG4gICAgICBjb2xvcjogJGNvbG9yO1xuICB9XG4gICY6LW1vei1wbGFjZWhvbGRlciB7IC8qIE1vemlsbGEgRmlyZWZveCA0IHRvIDE4ICovXG4gICAgICBjb2xvcjogJGNvbG9yO1xuICB9XG4gICY6Oi1tb3otcGxhY2Vob2xkZXIgeyAvKiBNb3ppbGxhIEZpcmVmb3ggMTkrICovXG4gICAgICBjb2xvcjogJGNvbG9yO1xuICB9XG4gICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHsgLyogSW50ZXJuZXQgRXhwbG9yZXIgMTArICovXG4gICAgICBjb2xvcjogJGNvbG9yO1xuICB9XG59XG5cbkBtaXhpbiBpcGhvbmU0IHtcbiAgQG1lZGlhIG9ubHkgc2NyZWVuXG4gICAgYW5kIChtYXgtd2lkdGg6ICN7JGlwaG9uZTQtbWluLXdpZHRofSlcbiAgICBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMikge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBpcGhvbmU0LXdpZHRoIHtcbiAgQG1lZGlhIG9ubHkgc2NyZWVuXG4gICAgYW5kIChtYXgtd2lkdGg6ICN7JGlwaG9uZTQtbWluLXdpZHRofSkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBpcGhvbmU0LWhlaWdodCB7XG4gIEBtZWRpYSBvbmx5IHNjcmVlblxuICAgIGFuZCAobWF4LWhlaWdodDogI3skaXBob25lNC1oZWlnaHR9KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIGlwaG9uZTUge1xuICBAbWVkaWEgb25seSBzY3JlZW5cbiAgICBhbmQgKG1heC13aWR0aDogI3skaXBob25lNS1taW4td2lkdGh9KVxuICAgIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIGlwaG9uZTYge1xuICBAbWVkaWEgb25seSBzY3JlZW5cbiAgICBhbmQgKG1peC13aWR0aDogI3skaXBob25lNi1taW4td2lkdGh9KVxuICAgIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gUExBQ0VIT0xERVJTXG5cbiV2aXN1YWxseWhpZGRlbiB7XG4gIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIGhlaWdodDogMXB4O1xuICBtYXJnaW46IC0xcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDtcbn1cblxuJWJnY292ZXIge1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG59XG5cbiVwYXJhZ3JhcGgge1xuICBAaW5jbHVkZSBmb250LXNpemUoMik7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGZvbnQtZmFtaWx5OiAkaGFwdGlrO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogJ2tlcm4nIDEsICdsaWdhJyAxLCAncG51bScgMSwgJ3NzMDEnIDE7XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGJyZWFrLW1vYmlsZSkge1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxLjgpO1xuICB9XG59XG4iLCIuY29vcF9wYWdlIHtcblxuXG4gIC5zaXRlX2hlYWRlciB7XG4gICAgLmxvZ28ge1xuICAgICAgLmxvZ29fbGluayB7XG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgcGF0aCB7XG4gICAgICAgICAgICBmaWxsOiAkZGFya2JsdWU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5zaXRlX25hdiB7XG4gICAgICB1bCB7XG4gICAgICAgIGxpIHtcbiAgICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiAkZGFya2JsdWU7XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICBjb2xvcjogJHNodXR0bGU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi5jdXJyZW50IHtcbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICBjb2xvcjogJHNodXR0bGU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgbWFpbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbmNyZXRlO1xuICAgIGNvbG9yOiAkZGFya2JsdWU7XG4gIH1cblxuICBhcnRpY2xlIHtcbiAgICBzZWN0aW9uIHtcblxuICAgICAgJi5jb3B5IHtcbiAgICAgICAgcC5mbG91cmlzaCB7XG4gICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDYuNik7XG4gICAgICAgICAgZm9udC1mYW1pbHk6ICRzZWN0cmEtYm9sZDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMTtcblxuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRicmVhay1tb2JpbGUpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSg0LjUpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsZWdhY3ktbW9iaWxlKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMy41KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmI2ludHJvZHVjdGlvbiB7XG4gICAgICAgICAgcGFkZGluZy10b3A6IHJlbWlmeSgyMDBweCk7XG4gICAgICAgIH1cbiAgICAgICAgcGFkZGluZy10b3A6IHJlbWlmeSg1MHB4KTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbWlmeSg1MHB4KTtcblxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkYnJlYWstbW9iaWxlKSB7XG4gICAgICAgICAgJiNpbnRyb2R1Y3Rpb24ge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IHJlbWlmeSg1MHB4KTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBwYWRkaW5nLXRvcDogcmVtaWZ5KDMwcHgpO1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiByZW1pZnkoMzBweCk7XG4gICAgICAgIH1cblxuICAgICAgICAmLmRhcmtibHVlX3RoZW1lIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGFya2JsdWU7XG4gICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICBwYWRkaW5nOiB7XG4gICAgICAgICAgICB0b3A6IHJlbWlmeSgxMDVweCk7XG4gICAgICAgICAgICBib3R0b206IHJlbWlmeSgxNTBweCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGJyZWFrLW1vYmlsZSkge1xuICAgICAgICAgICAgcGFkZGluZzoge1xuICAgICAgICAgICAgICB0b3A6IHJlbWlmeSg1MHB4KTtcbiAgICAgICAgICAgICAgYm90dG9tOiByZW1pZnkoNzVweCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5wYWRfbm9fdG9wIHtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICYucGFkX25vX2JvdHRvbSB7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmLnBhZF9kb3VibGVfYm90dG9tIHtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtaWZ5KDEwMHB4KTtcblxuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRicmVhay1tb2JpbGUpIHtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiByZW1pZnkoNjBweCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaDIge1xuICAgICAgICAgIGNvbG9yOiAkaGVhdGhlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5pbGx1bWluYXRpIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiByZW1pZnkoMTAwcHgpO1xuXG4gICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGJyZWFrLW1vYmlsZSkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtaWZ5KDUwcHgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5kb3VibGVfY2FyZHMge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICBtYXJnaW4tdG9wOiByZW1pZnkoODVweCk7XG5cbiAgICAgICAgICAuY2FyZCB7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICB3aWR0aDogY2FsYyg1MCUgLSAxNXB4KTtcblxuICAgICAgICAgICAgLmljb24ge1xuICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbmNyZXRlO1xuICAgICAgICAgICAgICBoZWlnaHQ6IDMwMHB4O1xuXG4gICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAudGV4dCB7XG4gICAgICAgICAgICAgIHBhZGRpbmc6IHJlbWlmeSgzMHB4KTtcblxuICAgICAgICAgICAgICBoNCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDMuMyk7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtaWZ5KDVweCk7XG5cbiAgICAgICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbGVnYWN5LW1vYmlsZSkge1xuICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDMpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgIEBleHRlbmQgJXBhcmFncmFwaDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkYnJlYWstbW9iaWxlKSB7XG4gICAgICAgICAgICAuY2FyZCB7XG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbWlmeSgzMHB4KTtcbiAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuZXZlbnRzX21vZHVsZSB7XG4gICAgICAgICAgQGV4dGVuZCAlYmdjb3ZlcjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2ltYWdlcy9jb29wL2V2ZW50cy5qcGcpO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICAgICAgICBoZWlnaHQ6IHJlbWlmeSg0NzBweCk7XG4gICAgICAgICAgbWFyZ2luLXRvcDogcmVtaWZ5KDMwcHgpO1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgIC50ZXh0IHtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBib3R0b206IHJlbWlmeSgzMHB4KTtcbiAgICAgICAgICAgIGxlZnQ6IHJlbWlmeSgzMHB4KTtcbiAgICAgICAgICAgIG1heC13aWR0aDogMjc1cHg7XG5cbiAgICAgICAgICAgIGg0IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDMuMyk7XG4gICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW1pZnkoNXB4KTtcblxuICAgICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbGVnYWN5LW1vYmlsZSkge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgzKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgQGV4dGVuZCAlcGFyYWdyYXBoO1xuICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnl0X21vZHVsZSB7XG4gICAgICAgICAgQGluY2x1ZGUgYXNwZWN0LXJhdGlvKDE2LDkpO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICAgICAgICBtYXJnaW46IHJlbWlmeSg2NXB4KSAwO1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICB6LWluZGV4OiAxO1xuXG4gICAgICAgICAgLmNvbnRlbnQge1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xuXG4gICAgICAgICAgICAuaG9sZGVyIHtcbiAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmcmFtZSB7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgICAgICAgICBkaXNwbGF5OiBoaWRkZW47XG4gICAgICAgICAgICAvKiBNYWtlIHZpZGVvIHRvIGF0IGxlYXN0IDEwMCUgd2lkZSBhbmQgdGFsbCAqL1xuICAgICAgICAgICAgbWluLXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWluLWhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIC8qIFNldHRpbmcgd2lkdGggJiBoZWlnaHQgdG8gYXV0byBwcmV2ZW50cyB0aGUgYnJvd3NlciBmcm9tIHN0cmV0Y2hpbmcgb3Igc3F1aXNoaW5nIHRoZSB2aWRlbyAqL1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICAvKiBDZW50ZXIgdGhlIHZpZGVvICovXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsLTUwJSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLmNvdmVyX2ltYWdlIHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICAgICAgICAgIEBleHRlbmQgJWJnY292ZXI7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLmNvbnRyb2xsZXIge1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgei1pbmRleDogMztcblxuICAgICAgICAgICAgLnBsYXlfYnRuIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgICAgICAgICAgIGNvbG9yOiAkYnJ1dGU7XG4gICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMS41KTtcbiAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRyb2JvdG87XG4gICAgICAgICAgICAgIHBhZGRpbmc6IHJlbWlmeSgyMHB4KSByZW1pZnkoMjBweCk7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSg1MCUpO1xuICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcblxuICAgICAgICAgICAgICBlbSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRncmF5O1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgJi5ibHVlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGFya2JsdWU7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcblxuICAgICAgICAgICAgICAgIHN2ZyBwYXRoIHtcbiAgICAgICAgICAgICAgICAgIGZpbGw6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiAjODQ3RUUzO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG5cblxuXG4gICAgICAmLnBlZWtlciB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5zd2lybF9vYmplY3Qge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0cmFuc2l0aW9uOiBtYXgtd2lkdGggLjJzIGVhc2U7XG5cbiAgICAmLmxlZnQge1xuICAgICAgbWF4LXdpZHRoOiAxODJweDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0b3A6IDEyMHZoO1xuICAgIH1cblxuICAgICYucmlnaHQge1xuICAgICAgbWF4LXdpZHRoOiAyNzVweDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgdG9wOiByZW1pZnkoOTBweCk7XG4gICAgICB6LWluZGV4OiAyO1xuICAgIH1cblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRicmVhay10YWJsZXQpIHtcbiAgICAgICYubGVmdCB7XG4gICAgICAgIG1heC13aWR0aDogMTIwcHg7XG4gICAgICB9XG5cbiAgICAgICYucmlnaHQge1xuICAgICAgICBtYXgtd2lkdGg6IDIwMHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRob21lLWJyZWFrKSB7XG4gICAgICAmLmxlZnQge1xuICAgICAgICBkaXNwbGF5Om5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGJyZWFrLW1vYmlsZS1tYXgpIHtcbiAgICAgICYucmlnaHQge1xuICAgICAgICBtYXgtd2lkdGg6IDE3MHB4O1xuICAgICAgICB0b3A6IHJlbWlmeSgwcHgpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTM1JSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGJyZWFrLW1vYmlsZSkge1xuICAgICAgJi5yaWdodCB7XG4gICAgICAgIG1heC13aWR0aDogMTcwcHg7XG4gICAgICAgIHRvcDogcmVtaWZ5KDBweCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTUlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIlxuQGtleWZyYW1lcyBmYWRlT3V0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgdG9wcGVyIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg4MHB4KTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgdXBweSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGRvd255IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG4gIH1cblxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi8vIGV4cGFuZCBjb250ZW50IGZvciBmcmllbmRzIHBhZ2VcblxuQGtleWZyYW1lcyBmYWRlSW5MZWZ0IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1MHB4KTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuQGtleWZyYW1lcyBmYWRlT3V0TGVmdCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MHB4KTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluUmlnaHQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MHB4KTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuQGtleWZyYW1lcyBmYWRlT3V0UmlnaHQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1MHB4KTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cblxuLy8gY2FzZSBzdHVkeSBhbmltYXRpb25zXG5cbkBrZXlmcmFtZXMgZHJpZnRfdXAge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMHB4KTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgbm90X2ZvdW5kIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNDAlKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIG5vdF9mb3VuZF9tb2JpbGUge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00NSUpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZHJpZnRfdXBfbW9iaWxlIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgzMHB4KTtcbiAgICBvcGFjaXR5OiAuNTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuXG5Aa2V5ZnJhbWVzIGNzX25leHRfYmlnIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg3MCUpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBjc19uZXh0X3NtYWxsIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDUlKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAlKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGNzX3ByZXZfYmlnIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNzAlKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgY3NfcHJldl9zbWFsbCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUlKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBjc19uZXh0X2J5ZSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSBzY2FsZSgxKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC03MCUsLTUwJSkgc2NhbGUoMSk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzdGFja18yX25leHQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTQwJSwgLTUwJSkgc2NhbGUoLjk1KTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC00NSUsIC01MCUpIHNjYWxlKC45NSk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzdGFja18yX3ByZXYge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTQ1JSwgLTUwJSkgc2NhbGUoLjk1KTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC00NSUsIC01MCUpIHNjYWxlKC45NSk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBuYXZfdXAge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0b3A6IDEwMCU7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRvcDogMDtcbiAgfVxufVxuQGtleWZyYW1lcyBuYXZfZG93biB7XG4gIDAlIHtcbiAgICB0b3A6IDA7XG4gIH1cblxuICAxMDAlIHtcbiAgICB0b3A6IDEwMCU7XG4gIH1cbn1cblxuQGtleWZyYW1lcyByb2xsdXAge1xuICAwJSB7XG4gICAgdG9wOiAxMDAlO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgdG9wOiAwJTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHJvbGxkb3duIHtcbiAgMCUge1xuICAgIHRvcDogLTEwMCU7XG4gIH1cblxuICAxMDAlIHtcbiAgICB0b3A6IDAlO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZXhpdHVwIHtcbiAgMCUge1xuICAgIHRvcDogMCU7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIHRvcDogLTEwMCU7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGV4aXRkb3duIHtcbiAgMCUge1xuICAgIHRvcDogMCU7XG4gIH1cblxuICAxMDAlIHtcbiAgICB0b3A6IDEwMCU7XG4gIH1cbn1cblxuXG5Aa2V5ZnJhbWVzIGNsaWVudEV4cGFuZCB7XG4gIDAlIHtcbiAgICBtYXgtaGVpZ2h0OiAwcHg7XG4gIH1cblxuICAxMDAlIHtcbiAgICBtYXgtaGVpZ2h0OiAxMDAwcHg7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBjbGllbnRDb2xsYXBzZSB7XG4gIDAlIHtcbiAgICBtYXgtaGVpZ2h0OiAxMDAwcHg7XG4gIH1cblxuICAxMDAlIHtcbiAgICBtYXgtaGVpZ2h0OiAwcHg7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBjbGllbnRUZXh0IHtcbiAgMCUge1xuICAgIGNvbG9yOiAkYnJ1dGU7XG4gIH1cblxuICAxMDAlIHtcbiAgICBjb2xvcjogJHdoaXRlO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgY2xpZW50TW91c2VPdmVyIHtcbiAgMCUge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgYm90dG9tO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCB0b3A7XG4gIH1cbn1cbkBrZXlmcmFtZXMgY2xpZW50TW91c2VPdXQge1xuICAwJSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCB0b3A7XG4gIH1cblxuICAxMDAlIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IGJvdHRvbTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIG5hdk1ha2VXYXkge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCk7XG4gIH1cblxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMzEwcHgpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIG5hdkdvQmFjayB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMzEwcHgpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBtYWdpY01ha2VXYXkge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCk7XG4gIH1cblxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMzEwcHgpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIG1hZ2ljR29CYWNrIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgzMTBweCk7XG4gIH1cblxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGhvbWVNYWtlV2F5IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDMxMHB4KTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGhvbWVHb0JhY2sge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDMxMHB4KTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpO1xuICB9XG59XG5cblxuQGtleWZyYW1lcyBob21lQ29udGVudFRyYW5zIHtcbiAgMCUge1xuICAgIGxlZnQ6IDMwMHB4O1xuICB9XG5cbiAgMTAwJSB7XG4gICAgbGVmdDogNTBweDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGhvbWVTZWN0aW9uR3JvdyB7XG4gIDAlIHtcbiAgICB3aWR0aDogY2FsYyhcIjUwJSAtIDE4MHB4XCIpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgd2lkdGg6IGNhbGMoXCI1MCUgLSAyNXB4XCIpO1xuICB9XG59XG5cblxuQGtleWZyYW1lcyBvcGVubmF2IHtcbiAgMCUge1xuICAgIGhlaWdodDogMHB4O1xuICAgIHdpZHRoOiAwJTtcbiAgfVxuICA1MCUge1xuICAgIGhlaWdodDogMHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIDEwMCUge1xuICAgIGhlaWdodDogMjY1cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBjbG9zZW5hdiB7XG4gIDAlIHtcbiAgICBoZWlnaHQ6IDI2NXB4O1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbiAgMTAwJSB7XG4gICAgaGVpZ2h0OiAwcHg7XG4gICAgcGFkZGluZzogMDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIG9wYWNpdHlQdWxzZSB7XG4gIDAlIHtvcGFjaXR5OiAwLjA7fVxuICA1MCUge29wYWNpdHk6IDEuMDt9XG4gIDEwMCUge29wYWNpdHk6IDAuMDt9XG59XG4iLCIvLyBzdHlsZXMgZm9yIG1pbGVzXG5cbmh0bWwge1xuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4qLFxuKjphZnRlcixcbio6YmVmb3JlIHtcblx0Ym94LXNpemluZzogaW5oZXJpdDtcbn1cblxuKiB7XG5cdC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcbn1cblxuYm9keSB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcblxuXHQmLm92ZXJsYXlfYWN0aXZlIHtcblx0XHRwb3NpdGlvbjogZml4ZWQ7XG5cdFx0dG9wOiAwO1xuXHRcdGxlZnQ6IDA7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0d2lkdGg6IDEwMCU7XG5cdH1cbn1cblxuLm92ZXJzY3JvbGxfYmxvY2tlciB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRoZWlnaHQ6IDEwMHB4O1xuXHRwb3NpdGlvbjogZml4ZWQ7XG5cdGxlZnQ6IDA7XG5cdHRvcDogMDtcblx0d2lkdGg6IDEwMCU7XG5cdHotaW5kZXg6IDI7XG59XG5cbm1haW4ge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG5cdGJvcmRlci1ib3R0b206IHJnYmEoJHdoaXRlLCAuMTUpO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHotaW5kZXg6IDI7XG59XG5cbnNlY3Rpb24ge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0PiAucm93IHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdH1cblxuXHQmLmlyb24ge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRpcm9uO1xuXHR9XG59XG5cbi5tYXN0ZXJfcm93LFxuLnJlbGF0ZWRfbGlua3MgLnJvdyxcbi5zaXRlX2hlYWRlcixcbi8vIC52aWRlbyAuY29udHJvbGxlcixcbnNlY3Rpb246bm90KC5jbGllbnQtc29ydCkge1xuXHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMzUwcHgpIHtcblx0XHRwYWRkaW5nLWxlZnQ6IHJlbWlmeSg1MHB4KTtcblx0XHRwYWRkaW5nLXJpZ2h0OiByZW1pZnkoNTBweCk7XG5cdH1cblx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGJyZWFrLW1vYmlsZS1tYXgpIHtcblx0XHRwYWRkaW5nLWxlZnQ6IHJlbWlmeSgzMHB4KTtcblx0XHRwYWRkaW5nLXJpZ2h0OiByZW1pZnkoMzBweCk7XG5cdH1cblx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGJyZWFrLW1vYmlsZSkge1xuXHRcdHBhZGRpbmctbGVmdDogcmVtaWZ5KDIwcHgpO1xuXHRcdHBhZGRpbmctcmlnaHQ6IHJlbWlmeSgyMHB4KTtcblx0fVxufVxuXG5maWd1cmUge1xuXHRtYXJnaW46IDA7XG59XG5cbmEge1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi51bml2ZXJzYWxfaGVhZGVyIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBtaW4taGVpZ2h0OiA2MDBweDtcbiAgaGVpZ2h0OiAxMDAuNXZoO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgLnJvdyB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC5jZW50ZXJlZF9jb250ZW50IHtcbiAgICBsZWZ0OiAwO1xuICAgIG1heC13aWR0aDogNzAwcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNjElKTtcblxuICAgIHAge1xuICAgICAgQGV4dGVuZCAlcGFyYWdyYXBoO1xuICAgICAgbWFyZ2luOiByZW1pZnkoMzBweCkgMCAwO1xuICAgIH1cblxuICAgIC5idG4ge1xuICAgICAgbWFyZ2luLXRvcDogcmVtaWZ5KDMwcHgpO1xuICAgIH1cblxuICAgICYuc2hvcnQge1xuICAgICAgbWF4LXdpZHRoOiA0NTBweDtcbiAgICB9XG5cbiAgICAmLndpZGUge1xuICAgICAgbWF4LXdpZHRoOiA3MzVweDtcbiAgICB9XG5cbiAgICAmLmV4dHJhX3dpZGUge1xuICAgICAgbWF4LXdpZHRoOiA5NDBweDtcbiAgICB9XG5cbiAgICAmLnRoaXJkcyB7XG4gICAgICBtYXgtd2lkdGg6IDMzLjMzMzMlO1xuICAgIH1cbiAgfVxuXG4gIC5kZXNjcmlwdGlvbiB7XG4gICAgZm9udC1mYW1pbHk6ICRyb2JvdG87XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKDEuMSk7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiA3NXB4O1xuICAgIGxlZnQ6IDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgIHNwYW4ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgY29sb3I6ICRncmF5O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGgxIHtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoNi42KTtcblx0XHRmb250LXNpemU6IDZ2dztcbiAgICBmb250LWZhbWlseTogJHNlY3RyYS1ib2xkO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6IDAuOTc7XG5cblx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkYnJlYWstdGFibGV0KSB7XG5cdFx0XHRAaW5jbHVkZSBmb250LXNpemUoNi42KTtcblx0XHR9XG5cblx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5MDZweCkge1xuICAgICAgZm9udC1zaXplOiA3dnc7XG5cdFx0XHRtYXgtd2lkdGg6IDkwJTtcbiAgICB9XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkYnJlYWstbW9iaWxlKSB7XG4gICAgICBAaW5jbHVkZSBmb250LXNpemUoNC41KTtcblx0XHRcdG1heC13aWR0aDogbm9uZTtcbiAgICB9XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbGVnYWN5LW1vYmlsZSkge1xuICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDMuNSk7XG4gICAgfVxuICB9XG5cblx0Ji55dF92aWRlbyB7XG4gICAgcGFkZGluZzogMDtcblxuICAgIC55dF9tb2R1bGUge1xuICAgICAgQGluY2x1ZGUgYXNwZWN0LXJhdGlvKDE2LDkpO1xuICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgbWF4LWhlaWdodDogOTV2aDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgei1pbmRleDogMTtcblxuICAgICAgLmNvbnRlbnQge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG5cbiAgICAgICAgLmhvbGRlciB7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmcmFtZSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICAgICAgZGlzcGxheTogaGlkZGVuO1xuICAgICAgICAvKiBNYWtlIHZpZGVvIHRvIGF0IGxlYXN0IDEwMCUgd2lkZSBhbmQgdGFsbCAqL1xuICAgICAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgICAgIC8qIFNldHRpbmcgd2lkdGggJiBoZWlnaHQgdG8gYXV0byBwcmV2ZW50cyB0aGUgYnJvd3NlciBmcm9tIHN0cmV0Y2hpbmcgb3Igc3F1aXNoaW5nIHRoZSB2aWRlbyAqL1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAvKiBDZW50ZXIgdGhlIHZpZGVvICovXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwtNTAlKTtcbiAgICAgIH1cblxuICAgICAgLmNvdmVyX2ltYWdlIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgICAgICBAZXh0ZW5kICViZ2NvdmVyO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgICB9XG5cbiAgICAgIC5jb250cm9sbGVyIHtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB6LWluZGV4OiAzO1xuXG4gICAgICAgIC5wbGF5X2J0biB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICAgICAgICBjb2xvcjogJGJydXRlO1xuICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDEuNSk7XG4gICAgICAgICAgZm9udC1mYW1pbHk6ICRyb2JvdG87XG4gICAgICAgICAgcGFkZGluZzogcmVtaWZ5KDIwcHgpIHJlbWlmeSgyMHB4KTtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKDUwJSk7XG4gICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4ycyBlYXNlLWluLW91dDtcbiAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiAwJSBjZW50ZXI7XG5cbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNCkgdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKDUwJSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgZW0ge1xuICAgICAgICAgICAgY29sb3I6ICRncmF5O1xuICAgICAgICAgIH1cblxuICAgICAgICAgICYuYmx1ZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGFya2JsdWU7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuXG4gICAgICAgICAgICBzdmcgcGF0aCB7XG4gICAgICAgICAgICAgIGZpbGw6ICR3aGl0ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgIGNvbG9yOiAjODQ3RUUzO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4ubmV4dF9wYWdlX2xpbmsge1xuICBAZXh0ZW5kICViZ2NvdmVyO1xuXG4gICYuaW1hZ2Uge1xuICAgIC50eXBlIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiByZW1pZnkoMTA1cHgpO1xuICAgIH1cbiAgfVxuXG4gIGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgICY6aG92ZXIge1xuICAgICAgLnR5cGUgaDYgc3ZnIHtcbiAgICAgICAgcmlnaHQ6IDBweDtcbiAgICAgIH1cbiAgICAgIGZpZ3VyZSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTBweCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnJvdyB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAudHlwZSB7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBwYWRkaW5nOiB7XG4gICAgICB0b3A6IHJlbWlmeSg1OHB4KTtcbiAgICAgIGJvdHRvbTogcmVtaWZ5KDY1cHgpO1xuICAgIH1cbiAgICB3aWR0aDogNTUlO1xuXG4gICAgaDYge1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIGZvbnQtZmFtaWx5OiAkc2VjdHJhLWJvbGQ7XG4gICAgICBAaW5jbHVkZSBmb250LXNpemUoMy4zKTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbWlmeSg4MHB4KTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgc3ZnIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMTBweDtcbiAgICAgICAgdG9wOiAxM3B4O1xuICAgICAgICB0cmFuc2l0aW9uOiByaWdodCAuMnMgZWFzZS1pbjtcblxuICAgICAgICBwYXRoIHtcbiAgICAgICAgICBmaWxsOiAkd2hpdGU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBmaWd1cmUge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDNweDtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogM3B4O1xuICAgIGhlaWdodDogcmVtaWZ5KDU1cHgpO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjJzIGVhc2UtaW47XG5cbiAgICBpbWcge1xuICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogM3B4O1xuICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDNweDtcbiAgICB9XG4gIH1cblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkYnJlYWstbW9iaWxlLW1heCkge1xuICAgIC50eXBlIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICBoNiB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgzKTtcblxuICAgICAgICBzdmcge1xuICAgICAgICAgIHRvcDogOHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbn1cblxuc2VjdGlvbjpub3QoLnNpdGVfaGVhZGVyKSBwIHtcblx0YTpub3QoLmJ0bikge1xuXHRcdGNvbG9yOiAkYnJ1dGU7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHR0cmFuc2l0aW9uOiBjb2xvciAwLjJzIGVhc2U7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG5cdFx0JjphZnRlciB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYnJ1dGU7XG5cdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0aGVpZ2h0OiAzcHg7XG5cdFx0XHRsZWZ0OiAwO1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcblx0XHRcdHRvcDogY2FsYygxMDAlIC0gMnB4KTtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdH1cblxuXHRcdCY6aG92ZXIge1xuXHRcdFx0Y29sb3I6ICRmbGFtZTtcblxuXHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRmbGFtZTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQmW3RhcmdldD1cIl9ibGFua1wiXSB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRpcm9uLCAuNik7XG5cdFx0XHRjb2xvcjogJGJydXRlO1xuXHRcdFx0ZGlzcGxheTogaW5saW5lO1xuXHRcdFx0Ym94LXNoYWRvdzogOHB4IDAgMCByZ2JhKCRpcm9uLCAuNiksIC04cHggMCAwIHJnYmEoJGlyb24sIC42KTtcblx0XHRcdHBhZGRpbmc6IDVweCAwO1xuXHRcdFx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcblxuXHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHR9XG5cblx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHQvLyBjb2xvcjogJG5ld2dyYXk7XG5cdFx0XHRcdGJveC1zaGFkb3c6IDE1cHggMCAwIHJnYmEoJGlyb24sIC42KSwgLTE1cHggMCAwIHJnYmEoJGlyb24sIC42KTtcblx0XHRcdFx0cGFkZGluZzogN3B4IDA7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Ji5uby1zdHlsZSB7XG5cdFx0XHRib3JkZXItYm90dG9tOiBub25lO1xuXHRcdH1cblx0fVxufVxuXG5ociB7XG5cdGJhY2tncm91bmQ6ICRncmF5LWFjY2VudDtcblx0Ym9yZGVyOiBub25lO1xuXHRoZWlnaHQ6IDFweDtcbn1cblxuc3Ryb25nIHtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLmZhZGVvdXQge1xuXHRhbmltYXRpb246IGZhZGVPdXQgMC4zcyBlYXNlIGZvcndhcmRzICFpbXBvcnRhbnQ7XG59XG5cbi5mYWRlaW4ge1xuXHRhbmltYXRpb246IGZhZGVJbiAwLjNzIGVhc2UgZm9yd2FyZHMgIWltcG9ydGFudDtcbn1cblxuLnZlcnRpY2FsLWNlbnRlciB7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDUwJTtcbn1cblxuLmNsZWFyZml4IHtcblx0QGluY2x1ZGUgY2xlYXJmaXg7XG59XG5cbi5mbG9hdC1sZWZ0IHtcblx0ZmxvYXQ6IGxlZnQ7XG59XG5cbi5mbG9hdC1yaWdodCB7XG5cdGZsb2F0OiByaWdodDtcbn1cblxuLmJnX2dyYXkge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1ncmF5O1xufVxuXG4uaWxsdW1pbmF0aV9kaXZpZGVyIHtcblx0Ly8gQGluY2x1ZGUgY2xlYXJmaXg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgbWFyZ2luLXRvcDogcmVtaWZ5KDEwMHB4KTtcblxuICBmaWd1cmUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuM3MgZWFzZS1vdXQ7XG4gICAgd2lkdGg6IDIwcHg7XG5cbiAgICBzdmcge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgLmJhciB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgZmxleDogMTtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTFweCk7XG5cbiAgICAuZmlsbGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRic29kO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgd2lkdGg6IDAlO1xuICAgICAgdHJhbnNpdGlvbjogd2lkdGggLjRzIGVhc2Utb3V0IC4ycztcbiAgICB9XG5cbiAgICAmLmxlZnQge1xuICAgICAgcGFkZGluZy1yaWdodDogcmVtaWZ5KDE1cHgpO1xuXG4gICAgICAuZmlsbGVyIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgfVxuICAgIH1cblxuICAgICYucmlnaHQge1xuICAgICAgcGFkZGluZy1sZWZ0OiByZW1pZnkoMTVweCk7XG5cbiAgICAgIC5maWxsZXIge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLmFuaW1hdGVfbWUge1xuICAgIGZpZ3VyZSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgIC5iYXIge1xuICAgICAgLmZpbGxlciB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLmFjdGlvbi1idG4ge1xuICB0cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2U7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgYm90dG9tOiAyNXB4O1xuICByaWdodDogMjVweDtcbiAgaGVpZ2h0OiA0NXB4O1xuICB3aWR0aDogNDVweDtcbiAgei1pbmRleDogMTEwO1xuXG4gICY6aG92ZXIge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7XG4gIH1cblxuICBzdmcge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGhlaWdodDogYXV0bztcbiAgICB3aWR0aDogMTAwJTtcblxuICAgICYuYnVyZyB7XG4gICAgICBjaXJjbGUge1xuICAgICAgICBmaWxsOiAkYnJ1dGU7XG4gICAgICB9XG5cbiAgICAgIHBhdGgge1xuICAgICAgICBmaWxsOiAkYm9yZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmNsb3NlLWJ0biB7XG5cbiAgICAgIGNpcmNsZSB7XG4gICAgICAgIGZpbGw6ICRib3JlO1xuICAgICAgfVxuXG4gICAgICBwYXRoIHtcbiAgICAgICAgZmlsbDogJGJydXRlO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuY3MtY2xvc2UtYnRuIHtcblxuICAgICAgY2lyY2xlIHtcbiAgICAgICAgZmlsbDogIzE0MTQyNDtcbiAgICAgIH1cblxuICAgICAgcGF0aCB7XG4gICAgICAgIGZpbGw6ICNGMUYxRjM7XG4gICAgICB9XG4gICAgfVxuICAgICYuZW1haWwge1xuICAgICAgcGF0aCB7XG4gICAgICAgICYuY2lyY2xlIHtcbiAgICAgICAgICBmaWxsOiAkYW1hcmFudGg7XG4gICAgICAgIH1cblxuICAgICAgICAmLnN5bWJvbCB7XG4gICAgICAgICAgZmlsbDogJGJydXRlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICYuZXllIHtcbiAgICAgIC5jaXJjbGUge1xuICAgICAgICBmaWxsOiAkb3JhbmdlO1xuICAgICAgfVxuICAgICAgLnN0cm9rZSB7XG4gICAgICAgIHN0cm9rZTogJGJvcmU7XG4gICAgICB9XG4gICAgfVxuICB9XG4gICYuYnVyZyB7XG4gICAgLmJ1cmcge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG5cbiAgJi5uYXYtb3BlbiB7XG4gICAgLmNsb3NlLWJ0biB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cblxuICAmLmNzLWNsb3NlIHtcbiAgICAuY3MtY2xvc2UtYnRuIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuICAmLmVtYWlsIHtcbiAgICAuZW1haWwge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG4gICYuZXllIHtcbiAgICAuZXllIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuICAmLmNoYXJ0IHtcbiAgICAuY2hhcnQge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGJyZWFrLW1vYmlsZS1tYXgpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4iLCJcbi5hcnRpY2xlc19uZXh0X21vZHVsZSB7XG4gICAgcGFkZGluZy1ib3R0b206IHJlbWlmeSg3MHB4KTtcblxuICAgID4gLnJvdyB7XG4gICAgICAgIGJvcmRlcjoge1xuICAgICAgICAgICAgYm90dG9tOiAxcHggc29saWQgJHdoaXRlc21va2U7XG4gICAgICAgICAgICB0b3A6IDFweCBzb2xpZCAkd2hpdGVzbW9rZTtcbiAgICAgICAgfVxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cbiAgICBcbiAgICAudG9kYXksIC5mdXR1cmUge1xuICAgICAgICBmbGV4OiAxO1xuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIHBhZGRpbmc6IHtcbiAgICAgICAgICAgICAgICBib3R0b206IHJlbWlmeSg2MHB4KTtcbiAgICAgICAgICAgICAgICB0b3A6IHJlbWlmeSg2MHB4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHBlcnNwZWN0aXZlOiAzMDAwO1xuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBoNiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkb3JhbmdlO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBjb2xvcjogJGdyYXk7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJHJvYm90bztcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxLjUpO1xuICAgICAgICB9XG5cbiAgICAgICAgaDYge1xuICAgICAgICAgICAgY29sb3I6ICRicnV0ZTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgzKTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4ycyBlYXNlLWluLW91dDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC50b2RheSB7XG4gICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICR3aGl0ZXNtb2tlO1xuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogcmVtaWZ5KDUwcHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgfVxuXG4gICAgICAgIGg2IHtcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciByaWdodDtcbiAgICAgICAgICAgIHdpZHRoOiA2MCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZnV0dXJlIHtcbiAgICAgICAgYSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbWlmeSg1MHB4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGg2IHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGxlZnQ7XG4gICAgICAgICAgICB3aWR0aDogNjAlO1xuICAgICAgICB9XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkYnJlYWstbW9iaWxlLW1heCkge1xuICAgICAgICAuZnV0dXJlLCAudG9kYXkge1xuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogcmVtaWZ5KDMwcHgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW1pZnkoMTVweCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGg2IHtcbiAgICAgICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMik7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn0iLCIuYnRuIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBib3JkZXItY29sb3I6ICRicnV0ZTtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiAycHg7XG4gIGNvbG9yOiAkYnJ1dGU7XG4gIG1pbi13aWR0aDogcmVtaWZ5KDIzMHB4KTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmb250LWZhbWlseTogJHNlY3RyYS1ib2xkO1xuICBAaW5jbHVkZSBmb250LXNpemUoMik7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcbiAgei1pbmRleDogMjtcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGJyZWFrLW1vYmlsZSkge1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxLjYpO1xuICB9XG5cbiAgc3BhbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IHJlbWlmeSgxN3B4KSAwIHJlbWlmeSgxOXB4KSByZW1pZnkoMjVweCk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IDI7XG4gIH1cblxuICAmOmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnJ1dGU7XG4gICAgY29udGVudDogXCJcIjtcbiAgICB0b3A6IDEwMCU7XG4gICAgbGVmdDogNTAlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogNXB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQ7XG4gICAgd2lkdGg6IDk2JTtcbiAgICB6LWluZGV4OiAtMTtcbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgycHgpO1xuXG4gICAgJjphZnRlciB7XG4gICAgICBoZWlnaHQ6IDRweDtcbiAgICAgIHdpZHRoOiA5OCU7XG4gICAgfVxuICB9XG5cbiAgJi5vcmFuZ2Uge1xuICAgIGJvcmRlci1jb2xvcjogJG9yYW5nZTtcbiAgICBjb2xvcjogJG9yYW5nZTtcblxuICAgIGZpZ3VyZSBzdmcge1xuICAgICAgcGF0aCB7XG4gICAgICAgIHN0cm9rZTogJG9yYW5nZTtcbiAgICAgIH1cblxuICAgICAgZWxsaXBzZSB7XG4gICAgICAgIGZpbGw6ICRvcmFuZ2U7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JhbmdlO1xuICAgIH1cbiAgfVxuXG4gICYuYmx1ZSB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkYnNvZDtcbiAgICBjb2xvcjogJGJzb2Q7XG5cbiAgICBmaWd1cmUgc3ZnIHtcbiAgICAgIHBhdGgge1xuICAgICAgICBzdHJva2U6ICRic29kO1xuICAgICAgfVxuXG4gICAgICBlbGxpcHNlIHtcbiAgICAgICAgZmlsbDogJGJzb2Q7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnNvZDtcbiAgICB9XG4gIH1cblxuICAmLmRhcmtibHVlIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItY29sb3I6ICRkYXJrYmx1ZTtcbiAgICBjb2xvcjogJGRhcmtibHVlO1xuXG4gICAgc3BhbiB7XG4gICAgICBjb2xvcjogJGRhcmtibHVlICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgZmlndXJlIHN2ZyB7XG4gICAgICBwYXRoIHtcbiAgICAgICAgLy8gc3Ryb2tlOiAkZGFya2JsdWU7XG4gICAgICAgIGZpbGw6ICRkYXJrYmx1ZTtcbiAgICAgIH1cblxuICAgICAgZWxsaXBzZSB7XG4gICAgICAgIGZpbGw6ICRkYXJrYmx1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRkYXJrYmx1ZTtcbiAgICB9XG4gIH1cblxuICAmLndoaXRlIHtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIGJvcmRlci1jb2xvcjogJHdoaXRlO1xuXG4gICAgZmlndXJlIHN2ZyB7XG4gICAgICBwYXRoIHtcbiAgICAgICAgc3Ryb2tlOiAkd2hpdGU7XG4gICAgICB9XG5cbiAgICAgIGVsbGlwc2Uge1xuICAgICAgICBmaWxsOiAkd2hpdGU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgfVxuICB9XG5cbiAgJi5mbGF0X3dlc3RhciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdlc3RhcjtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAzcHg7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDNweDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAkd2hpdGU7XG5cbiAgICBmaWd1cmUgc3ZnIHtcbiAgICAgIHBhdGgge1xuICAgICAgICBzdHJva2U6ICR3aGl0ZTtcbiAgICAgIH1cblxuICAgICAgZWxsaXBzZSB7XG4gICAgICAgIGZpbGw6ICR3aGl0ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAmLmJ0bi1pY29uIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBmaWd1cmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBsZWZ0OiByZW1pZnkoMjVweCk7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkYnJlYWstbW9iaWxlKSB7XG4gICAgICAgIC8vIHdpZHRoOiAyMHB4O1xuICAgICAgICBsZWZ0OiAycmVtO1xuICAgICAgfVxuXG4gICAgICBzdmcge1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBwYXRoIHtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICAgICAgICB9XG5cbiAgICAgICAgZWxsaXBzZSB7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYuYnRuLWV5ZSB7XG4gICAgICBmaWd1cmUge1xuICAgICAgICB3aWR0aDogMjdweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmJ0bi1wZW5jaWwge1xuICAgICAgcGFkZGluZy1sZWZ0OiByZW1pZnkoNDBweCk7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiByZW1pZnkoMjVweCk7XG5cbiAgICAgIGZpZ3VyZSB7XG4gICAgICAgIGxlZnQ6IHJlbWlmeSgyMHB4KTtcbiAgICAgICAgd2lkdGg6IDIzcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5idG4taGFuZCB7XG4gICAgICBmaWd1cmUge1xuICAgICAgICB3aWR0aDogMTJweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5zaXRlX2Zvb3RlciB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgxLjUpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4gIGJvdHRvbTogMDtcbiAgY29sb3I6ICR3aGl0ZTtcbiAgbGVmdDogMDtcbiAgbGluZS1oZWlnaHQ6IDEuNztcbiAgcG9zaXRpb246IGZpeGVkO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogMTtcblxuICAmOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgaGVpZ2h0OiA1MHB4O1xuICAgIGxlZnQ6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTUwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICA+IC5yb3cge1xuICAgIHBhZGRpbmctYm90dG9tOiA3MHB4O1xuICAgIHBhZGRpbmctdG9wOiA3MHB4O1xuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTM1MHB4KSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDUwcHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiA1MHB4O1xuICAgIH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkYnJlYWstbW9iaWxlLW1heCkge1xuICAgICAgcGFkZGluZy1ib3R0b206IHJlbWlmeSgxMTBweCk7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICAgIH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkYnJlYWstbW9iaWxlKSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICAgIH1cblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsZWdhY3ktbW9iaWxlKSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogcmVtaWZ5KDMwcHgpO1xuICAgIH1cbiAgfVxuXG4gIC5wcmltYXJ5IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAgIC5jb2wge1xuICAgICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMzMzMzJSAtIDMzLjMzMzMzMzMzM3B4KTtcblxuICAgICAgJi5uZXdzX3NpZ251cCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGJyZWFrLW1vYmlsZS1tYXgpIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICAgIC5jb2wge1xuICAgICAgICBtYXgtd2lkdGg6IGF1dG87XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiByZW1pZnkoNDBweCk7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsZWdhY3ktbW9iaWxlKSB7XG4gICAgICAuY29sIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbWlmeSgyMHB4KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBzdHJvbmcsIHN0cm9uZyBhIHtcbiAgICBjb2xvcjogJGp1bWJvO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtZmFtaWx5OiAkcm9ib3RvO1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxLjIpO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgICBtYXJnaW4tYm90dG9tOiByZW1pZnkoMjBweCk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRicmVhay1tb2JpbGUtbWF4KSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW1pZnkoMTBweCk7XG4gICAgfVxuICB9XG5cbiAgYSB7XG4gICAgY29sb3I6ICRpcm9uO1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6ICRmbGFtZTtcbiAgICB9XG4gIH1cblxuICBwIHtcbiAgICBzcGFuIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuXG4gIGEsXG4gIHAsXG4gIHNwYW4ge1xuICAgIGNvbG9yOiAkaXJvbjtcbiAgICBmb250LWZhbWlseTogJHNlY3RyYTtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoMS44KTtcbiAgICBsaW5lLWhlaWdodDogMS43O1xuICB9XG5cbiAgZm9ybSB7XG4gICAgLmZvcm0tcm93IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgICAjZW1haWwge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXI6MnB4IHNvbGlkICRtYXJ0aW5pcXVlO1xuICAgICAgY29sb3I6ICRpcm9uO1xuICAgICAgcGFkZGluZzogMTVweDtcbiAgICAgIGZvbnQtZmFtaWx5OiAkc2VjdHJhO1xuICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDEuOCk7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gICAgI2VtYWlsOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogJGlyb247XG4gICAgfVxuXG4gICAgYnV0dG9uIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAxOHB4O1xuICAgICAgcmlnaHQ6IDE4cHg7XG4gICAgICB3aWR0aDogMjdweDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgIHN2ZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIHBhdGgge1xuICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAuMnMgZWFzZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuXG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgcGF0aCB7XG4gICAgICAgICAgICBzdHJva2U6ICRpcm9uO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICNtZXNzYWdlIHtcbiAgICAgIGNvbG9yOiAkZ3JheTtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxLjQpO1xuICAgICAgZm9udC1mYW1pbHk6ICRyb2JvdG87XG5cbiAgICAgIHAge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IHJlbWlmeSgyMHB4KSAwIDA7XG4gICAgICB9XG5cbiAgICAgICYuZXJyb3Ige1xuICAgICAgICBwIHtcbiAgICAgICAgICBjb2xvcjogJGZsYW1lO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuc3VjY2VzcyB7XG4gICAgICAgIHAge1xuICAgICAgICAgIGNvbG9yOiAkaGVhdGhlcjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgfVxuICB9XG5cbiAgLnN1Yi1mb290ZXIge1xuICAgIGNvbG9yOiAkanVtYm87XG4gICAgbWFyZ2luLXRvcDogNTBweDtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGJyZWFrLW1vYmlsZS1tYXgpIHtcbiAgICAgIG1hcmdpbi10b3A6IHJlbWlmeSgyMHB4KTtcbiAgICB9XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbGVnYWN5LW1vYmlsZSkge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG5cbiAgICAuY29weXJpZ2h0IHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuXG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbGVnYWN5LW1vYmlsZSkge1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuc29jaWFsX2xpbmtzIHtcbiAgICAgIGZsb2F0OiByaWdodDtcblxuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGNvbG9yOiAkanVtYm87XG4gICAgICAgIG1hcmdpbi1sZWZ0OiByZW1pZnkoMjBweCk7XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgY29sb3I6ICRqdW1ibztcblxuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxlZ2FjeS1tb2JpbGUpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcblxuICAgICAgICBsaTpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDowO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm9wdGlvbmFsIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgYSxcbiAgICBzbWFsbCB7XG4gICAgICBjb2xvcjogJGp1bWJvO1xuICAgICAgZm9udC1mYW1pbHk6ICRyb2JvdG87XG4gICAgICBAaW5jbHVkZSBmb250LXNpemUoMS4yKTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICAgIH1cbiAgfVxufVxuIiwiLmZpbHRlcl9ncmlkIHtcbiAgLm1hc3Rlcl9yb3cge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcblxuICAgID4gLnJvdyB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgZmxleC1mbG93OiByb3c7XG4gICAgICBwYWRkaW5nLXRvcDogcmVtaWZ5KDEwMHB4KTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiByZW1pZnkoMTAwcHgpO1xuXG4gICAgICAmOmFmdGVyLFxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGJyZWFrLW1vYmlsZS1tYXgpIGFuZCAobWF4LXdpZHRoOiAkaG9tZS1icmVhaykge1xuICAgICAgICBwYWRkaW5nLXRvcDogcmVtaWZ5KDcwcHgpO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtaWZ5KDcwcHgpO1xuICAgICAgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGJyZWFrLW1vYmlsZS1tYXgpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZ3JpZC1pdGVtIHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMlIC0gMjVweCk7XG5cbiAgICBhIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgICAvLyBib3JkZXI6IG5vbmU7XG4gICAgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRicmVhay1tb2JpbGUtbWF4KSBhbmQgKG1heC13aWR0aDogJGhvbWUtYnJlYWspIHtcbiAgICAgIHdpZHRoOiBjYWxjKDMzLjMzMyUgLSAxMy4zMzMzMzNweCk7XG4gICAgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRicmVhay1tb2JpbGUtbWF4KSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAuY2xpZW50IHtcbiAgICAvLyBib3JkZXItYm90dG9tOiA2cHggc29saWQgJHdoaXRlc21va2U7XG4gICAgcGFkZGluZzogMCAwIHJlbWlmeSg5MHB4KTtcbiAgICAvLyB0cmFuc2l0aW9uOiBib3JkZXIgLjNzIGVhc2U7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGJyZWFrLW1vYmlsZS1tYXgpIGFuZCAobWF4LXdpZHRoOiAkaG9tZS1icmVhaykge1xuICAgICAgcGFkZGluZy1ib3R0b206IHJlbWlmeSg0MHB4KTtcbiAgICB9XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkYnJlYWstbW9iaWxlKSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogcmVtaWZ5KDYwcHgpO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgLy8gYm9yZGVyLWNvbG9yOiAkb3JhbmdlO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBjb2xvcjogJGJydXRlO1xuXG4gICAgICBmaWd1cmUge1xuICAgICAgICBAaW5jbHVkZSBhc3BlY3QtcmF0aW8oMSwgMSk7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogYXV0byAxMDUlO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuXG5cblxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkYnJlYWstbW9iaWxlLW1heCkge1xuICAgICAgICAgICYubW9iaWxlX2NvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi5ib3R0b21fbGVmdCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IGJvdHRvbTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmLmJvdHRvbV9jZW50ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGJvdHRvbTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmLmJvdHRvbV9za2Fuc2thIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDE5JSBib3R0b207XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGgyIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDEuMyk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkcm9ib3RvO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzIGVhc2U7XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRicmVhay1tb2JpbGUtbWF4KSBhbmQgKG1heC13aWR0aDogJGhvbWUtYnJlYWspIHtcbiAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMS40KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIGNvbG9yOiAkZ3JheTtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHAge1xuICAgICAgICBjb2xvcjogJGJydXRlO1xuICAgICAgICBmb250LWZhbWlseTogJHNlY3RyYTtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDMuMyk7XG4gICAgICAgIG1hcmdpbjogcmVtaWZ5KDMwcHgpIDAgMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMDY7XG4gICAgICAgIGhlaWdodDogOTBweDtcblxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkYnJlYWstbW9iaWxlLW1heCkgYW5kIChtYXgtd2lkdGg6ICRob21lLWJyZWFrKSB7XG4gICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDIuOCk7XG4gICAgICAgICAgaGVpZ2h0OiAxMzBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRob21lLWJyZWFrKSBhbmQgKG1heC13aWR0aDogJGJyZWFrLXRhYmxldCkge1xuICAgICAgICAgIGhlaWdodDogMTMwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkYnJlYWstbW9iaWxlLW1heCkge1xuICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW1pZnkoMzBweCk7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbGVnYWN5LW1vYmlsZSkge1xuICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgzKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcblxuICAgICAgICBmaWd1cmUge1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogYXV0byAxMTAlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgc21hbGwge1xuICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDEuMjYpO1xuICAgICAgY29sb3I6ICRncmF5O1xuICAgICAgZm9udC1mYW1pbHk6ICRyb2JvdG87XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDYyNWVtO1xuICAgIH1cbiAgfVxuXG4gIC5jYWxsb3V0IHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIC5jb250YWluZXIge1xuICAgICAgQGV4dGVuZCAlYmdjb3ZlcjtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvd29yay9ncmlkL2hvd193ZV93b3JrLmpwZyk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2VzdGFyO1xuICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogM3B4O1xuICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDNweDtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMTkzcHgpO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5idG4uYnRuLWljb24ge1xuICAgICAgbGVmdDogMDtcbiAgICAgIGJvdHRvbTogcmVtaWZ5KDEyMHB4KTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGJyZWFrLW1vYmlsZS1tYXgpIHtcbiAgICAgIHBhZGRpbmc6IHJlbWlmeSg1MHB4KSAwO1xuXG4gICAgICAuY29udGFpbmVyIHtcbiAgICAgICAgQGluY2x1ZGUgYXNwZWN0LXJhdGlvKDEsMSk7XG4gICAgICB9XG5cbiAgICAgIC5idG4uYnRuLWljb24ge1xuICAgICAgICBib3R0b206IGF1dG87XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbWlmeSgxMHB4KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZG91YmxlIHtcbiAgICB3aWR0aDogY2FsYyg2Ni42NjY2NiUgLSAyNXB4KTtcblxuICAgIHAge1xuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGJyZWFrLW1vYmlsZS1tYXgpIHtcbiAgICAgICAgbWF4LXdpZHRoOiA2MCU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgYSBmaWd1cmUge1xuICAgICAgQGluY2x1ZGUgYXNwZWN0LXJhdGlvKDg0OSwgNDEwKTtcbiAgICB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGJyZWFrLW1vYmlsZS1tYXgpIGFuZCAobWF4LXdpZHRoOiAkaG9tZS1icmVhaykge1xuICAgICAgd2lkdGg6IGNhbGMoNjYuNjY2NjYlIC0gMTBweCk7XG5cbiAgICAgIGEgZmlndXJlIHtcbiAgICAgICAgQGluY2x1ZGUgYXNwZWN0LXJhdGlvKDg0OSwgNDE1KTtcbiAgICAgIH1cbiAgICB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGJyZWFrLW1vYmlsZS1tYXgpIHtcbiAgICAgIGZsZXg6IG5vbmU7XG4gICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgYSBmaWd1cmUge1xuICAgICAgICBAaW5jbHVkZSBhc3BlY3QtcmF0aW8oMSwgMSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIuc2l0ZV9oZWFkZXIge1xuICBoZWlnaHQ6IDgwcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiA1MDtcblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkYnJlYWstbW9iaWxlLW1heCkge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6MDtcbiAgICBsZWZ0OjA7XG4gIH1cblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkYnJlYWstbW9iaWxlLW1heCkge1xuICAgIGxlZnQ6IDA7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICB0cmFuc2l0aW9uOiBoZWlnaHQgMC40cyBlYXNlLW91dDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpO1xuICB9XG5cbiAgJi51cHB5IHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkYnJlYWstbW9iaWxlLW1heCkge1xuICAgICAgYW5pbWF0aW9uOiB1cHB5IDAuMnMgZWFzZSBmb3J3YXJkcztcbiAgICB9XG4gIH1cblxuICAmLmRvd255IHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkYnJlYWstbW9iaWxlLW1heCkge1xuICAgICAgYW5pbWF0aW9uOiBkb3dueSAwLjJzIGVhc2UgZm9yd2FyZHM7XG4gICAgfVxuICB9XG5cbiAgJi5oZWFkcm9vbS0tcGlubmVkIHtcbiAgICAmLnVwcHkge1xuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGJyZWFrLW1vYmlsZS1tYXgpIHtcbiAgICAgICAgYW5pbWF0aW9uOiBkb3dueSAwLjJzIGVhc2UgZm9yd2FyZHM7XG4gICAgICAgIHotaW5kZXg6IDIwMDA7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cblxuICAmLmhlYWRyb29tLS1ub3QtdG9wIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkYnJlYWstbW9iaWxlLW1heCkge1xuICAgICAgLmxvZ28ge1xuICAgICAgICAubG9nb19saW5rIHtcbiAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgcGF0aCB7XG4gICAgICAgICAgICAgIGZpbGw6ICRicnV0ZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLnNpdGVfbmF2IHtcbiAgICAgICAgdWwge1xuICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICBjb2xvcjogJGJydXRlICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRncmF5ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5jdXJyZW50IHtcbiAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRncmF5ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmZyb3N0IHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZnJvc3Qge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICBoZWlnaHQ6IDEyMCU7XG4gICAgd2lkdGg6IDEyMCU7XG4gICAgdG9wOiAtNSU7XG4gICAgbGVmdDogLTUlO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2U7XG4gICAgei1pbmRleDogLTE7XG4gICAgLy8gQHN1cHBvcnRzIChiYWNrZHJvcC1maWx0ZXI6IGJsdXIoNHB4KSkge1xuICAgIC8vICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkd2hpdGUsIC44KTtcbiAgICAvLyAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cig0cHgpO1xuICAgIC8vIH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkYnJlYWstbW9iaWxlLW1heCkge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICA+IC5yb3cge1xuICAgIGhlaWdodDogMTAwJTtcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRicmVhay1tb2JpbGUtbWF4KSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuICB9XG5cbiAgLmxvZ28ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEyMHB4O1xuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGJyZWFrLW1vYmlsZS1tYXgpIHtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgfVxuXG4gICAgLmxvZ29fbGluayB7XG4gICAgICBjb2xvcjogJGJydXRlO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG5cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRicmVhay1tb2JpbGUtbWF4KSB7XG5cbiAgICAgIH1cblxuICAgICAgc3ZnIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNXB4KTtcbiAgICAgICAgd2lkdGg6IHJlbWlmeSg4MHB4KTtcblxuICAgICAgICBwYXRoIHtcbiAgICAgICAgICBmaWxsOiAkYnJ1dGU7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAud29yZG1hcmsge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDIpO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogLS41cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICAgICAgfVxuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICBwYXRoIHtcbiAgICAgICAgICAgIGZpbGw6ICRvcmFuZ2U7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnNpdGVfbmF2IHtcbiAgICBjb2xvcjogJGJydXRlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG5cbiAgICAubmF2X2xpc3Qge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luOiAwIDAgMCByZW1pZnkoMzVweCk7XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgY29sb3I6ICRicnV0ZTtcbiAgICAgICAgICBmb250LWZhbWlseTogJHNlY3RyYTtcbiAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMS44KTtcbiAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjVweDtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQ7XG5cbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAkZ3JheTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmN1cnJlbnQge1xuICAgICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6ICRncmF5O1xuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTM1MHB4KSB7XG4gICAgICByaWdodDogNTBweDtcbiAgICB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGJyZWFrLW1vYmlsZS1tYXgpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cblxufVxuXG4ubW9iaWxlX21lbnUge1xuICBib3R0b206IDMwcHg7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogcmVtaWZ5KDYwcHgpO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHJpZ2h0OiAzMHB4O1xuICB3aWR0aDogcmVtaWZ5KDYwcHgpO1xuICB6LWluZGV4OiAxMDAwO1xuXG4gIHN2ZyB7XG4gICAgbGVmdDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICB9XG5cbiAgLmJ1cmcge1xuICAgIHotaW5kZXg6IDI7XG5cbiAgICBjaXJjbGUge1xuICAgICAgZmlsbDogJGJydXRlO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbiAgICB9XG5cbiAgICBwYXRoIHtcbiAgICAgIGZpbGw6ICR3aGl0ZTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gICAgfVxuICB9XG5cbiAgLmNsb3NlX2J1cmcge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgei1pbmRleDogMTtcblxuICAgIGNpcmNsZSB7XG4gICAgICBmaWxsOiAkd2hpdGU7XG4gICAgfVxuXG4gICAgcGF0aCB7XG4gICAgICBmaWxsOiAkYnJ1dGU7XG4gICAgfVxuICB9XG5cbiAgJi5saWdodHVwIHtcbiAgICAuYnVyZyB7XG4gICAgICBjaXJjbGUge1xuICAgICAgICBmaWxsOiAkYm9yZTtcbiAgICAgIH1cblxuICAgICAgcGF0aCB7XG4gICAgICAgIGZpbGw6ICRicnV0ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLmFjdGl2ZSB7XG4gICAgLmJ1cmcge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuXG4gICAgLmNsb3NlX2J1cmcge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB6LWluZGV4OiAyO1xuICAgIH1cbiAgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkYnJlYWstbW9iaWxlLW1heCkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbi5jb250YWN0X3BhZ2UgLnNpdGVfaGVhZGVyIHtcbiAgLnNpdGVfbmF2IHtcbiAgICB1bCB7XG4gICAgICBsaSB7XG4gICAgICAgIGEge1xuICAgICAgICAgIGNvbG9yOiAkYnJ1dGU7XG5cbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAkc2h1dHRsZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmN1cnJlbnQge1xuICAgICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6ICRzaHV0dGxlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uY29tbWFuZC1wYWdlIC5zaXRlX2hlYWRlciB7XG4gIC5sb2dvIHtcbiAgICAubG9nb19saW5rIHtcbiAgICAgIHN2ZyB7XG4gICAgICAgIHBhdGgge1xuICAgICAgICAgIGZpbGw6ICR3aGl0ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAuc2l0ZV9uYXYge1xuICAgIHVsIHtcbiAgICAgIGxpIHtcbiAgICAgICAgYSB7XG4gICAgICAgICAgY29sb3I6ICR3aGl0ZTtcblxuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICRzaHV0dGxlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuY3VycmVudCB7XG4gICAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogJHNodXR0bGU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi53b3JrLXBhZ2UgLnNpdGVfaGVhZGVyIHtcbiAgLmxvZ28ge1xuICAgIC5sb2dvX2xpbmsge1xuICAgICAgc3ZnIHtcbiAgICAgICAgcGF0aCB7XG4gICAgICAgICAgZmlsbDogJGJydXRlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5zaXRlX25hdiB7XG4gICAgdWwge1xuICAgICAgbGkge1xuICAgICAgICBhIHtcbiAgICAgICAgICBjb2xvcjogJGJydXRlO1xuXG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogJGdyYXk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5jdXJyZW50IHtcbiAgICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiAkZ3JheTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmRhcmtfbmF2IC5zaXRlX2hlYWRlciB7XG4gIC5sb2dvIHtcbiAgICAubG9nb19saW5rIHtcbiAgICAgIHN2ZyB7XG4gICAgICAgIHBhdGgge1xuICAgICAgICAgIGZpbGw6ICR3aGl0ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAuc2l0ZV9uYXYge1xuICAgIHVsIHtcbiAgICAgIGxpIHtcbiAgICAgICAgYSB7XG4gICAgICAgICAgY29sb3I6ICR3aGl0ZTtcblxuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICRhbHRvO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuY3VycmVudCB7XG4gICAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogJGFsdG87XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5saWdodF9uYXYgLnNpdGVfaGVhZGVyIHtcbiAgLmxvZ28ge1xuICAgIC5sb2dvX2xpbmsge1xuICAgICAgc3ZnIHtcbiAgICAgICAgcGF0aCB7XG4gICAgICAgICAgZmlsbDogJGJydXRlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5zaXRlX25hdiB7XG4gICAgdWwge1xuICAgICAgbGkge1xuICAgICAgICBhIHtcbiAgICAgICAgICBjb2xvcjogJGJydXRlO1xuXG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogJHNodXR0bGU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5jdXJyZW50IHtcbiAgICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiAkc2h1dHRsZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLm5hdl9vcGVuIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAuc2l0ZV9oZWFkZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAubG9nbyB7XG4gICAgICBoZWlnaHQ6IDgwcHg7XG4gICAgICB6LWluZGV4OiA2O1xuXG4gICAgICAubG9nb19saW5rIHtcbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICBwYXRoIHtcbiAgICAgICAgICAgIGZpbGw6ICR3aGl0ZSAhaW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5zaXRlX25hdiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnJ1dGU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICByaWdodDogYXV0bztcbiAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICB1bCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBsZWZ0OiByZW1pZnkoMjVweCk7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgIGFuaW1hdGlvbjogZmFkZUluTGVmdCAwLjNzIGVhc2Utb3V0IGZvcndhcmRzO1xuXG4gICAgICAgICAgJjpudGgtY2hpbGQoMSkge1xuICAgICAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAwLjJzO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICAgIGFuaW1hdGlvbi1kZWxheTogMC4yNXM7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJjpudGgtY2hpbGQoMykge1xuICAgICAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAwLjNzO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICY6bnRoLWNoaWxkKDQpIHtcbiAgICAgICAgICAgIGFuaW1hdGlvbi1kZWxheTogMC4zNXM7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJjpudGgtY2hpbGQoNSkge1xuICAgICAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAwLjRzO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDQpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICYuY3VycmVudCB7XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgY29sb3I6ICRmbGFtZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLm5ld3Nfc3RyZWFtIHtcblxuICAgID4gLnJvdyB7XG4gICAgICAgIG1heC13aWR0aDogMTI2MHB4O1xuICAgIH1cblxuICAgIC5zdHJlYW1fZ3JpZCB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgICAuaXRlbSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA2MHB4O1xuXG4gICAgICAgIC5jYXQge1xuICAgICAgICAgICAgY29sb3I6ICRncmF5O1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJHJvYm90bztcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxLjEpO1xuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGdyYXk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBoMiwgaDMsIGg0LCBoNSB7XG4gICAgICAgICAgICBjb2xvcjogJGJydXRlO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMyk7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAuMnMgZWFzZTtcblxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGJyZWFrLW1vYmlsZS1tYXgpIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMi41KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGE6aG92ZXIge1xuICAgICAgICAgICAgaDIsIGgzLCBoNCwgaDUge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkb3JhbmdlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBmaWd1cmUucG9zdGVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGF1dG8gMTEwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGZpZ3VyZS5wb3N0ZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgYXNwZWN0LXJhdGlvKDEsIDEpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICAgICAgICAgIC8vIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGF1dG8gMTA1JTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4ycyBlYXNlLWluLW91dDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jYXQsIC5jYXRlZ29yeSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMS4zKTtcbiAgICAgICAgICAgIGNvbG9yOiAkZ3JheTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbWlmeSgyMHB4KTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJHJvYm90bztcbiAgICAgICAgfVxuXG4gICAgICAgIGg0IHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMyk7XG5cbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRicmVhay1tb2JpbGUtbWF4KSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDIuNSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLnByaW1hcnkge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogNjYlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5zZWNvbmRhcnkge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDI1cHgpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDMzLjMzMyU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMzMuMzMzJSAtIDMzLjMzMzMzMzMzM3B4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuY2FzZXN0dWR5IHtcblxuICAgICAgICAgICAgLmludGVyaW9yIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogNnJlbTtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDZyZW0gOHJlbTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiA2cmVtIDE1cmVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaDMge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiA2cmVtIDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5jYXQge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG5cbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLnBhcnRuZXJfbmV3cyB7XG4gICAgICAgICAgICBmaWd1cmUge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDIycHggMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBoNCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogM3JlbTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzcmVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuY2F0IHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAycmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5qb2Ige1xuXG4gICAgICAgICAgICAuaW50ZXJpb3Ige1xuICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDZweCBzb2xpZCAkb3JhbmdlO1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDZweCBzb2xpZCAkb3JhbmdlO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkb3JhbmdlO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDRyZW0gMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmZyaWVuZHMtbG9nbyB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xuXG4gICAgICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgICAgICAgICAgcGF0aCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxsOiAkb3JhbmdlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBoNSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAyLjVyZW0gMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmNhdCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAyLjVyZW0gMCAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5leHRlcm5hbF9saW5rIHtcbiAgICAgICAgICAgIGg0IHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL2ljb25zL2ljb24tb3V0Ym91bmQuc3ZnKTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCA3cHg7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDE5cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5uZXdzLXBhZ2Uge1xuXG4gICAgLm5ld3NfaW50cm8ge1xuICAgICAgICBwYWRkaW5nLXRvcDogNjVweDtcbiAgICAgICAgXG4gICAgICAgIC5ob2xkZXIge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyNSU7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtaWZ5KDcwcHgpO1xuICAgIFxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGhvbWUtYnJlYWspIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEzMHB4O1xuICAgICAgICAgICAgfVxuICAgIFxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGJyZWFrLW1vYmlsZSkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogNTBweDtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiByZW1pZnkoOTBweCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICBcbiAgICAgICAgaDEge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDMwJTtcbiAgICBcbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgICAgICB9XG4gICAgXG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkYnJlYWstdGFibGV0KSB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzNSU7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoNCk7XG4gICAgICAgICAgICB9XG4gICAgXG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkaG9tZS1icmVhaykge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTUlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm5ld3Nfc3RyZWFtIHtcbiAgICAgICAgLy8gcGFkZGluZy10b3A6IHJlbWlmeSg2MHB4KTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbWlmeSgxMDBweCk7XG5cbiAgICAgICAgLml0ZW0ge1xuXG4gICAgICAgICAgICAmLnNlY29uZGFyeSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDI1cHgpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDMzLjMzMzMlO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygzMy4zMzMlIC0gMzMuMzMzMzMzMzMzcHgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn0iLCIucmVsYXRlZF9saW5rcyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgY29sb3I6ICRicnV0ZTtcblxuICAubGlua19jb250YWluZXIge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC5saW5rIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogNTAlO1xuXG4gICAgZmlndXJlIHtcbiAgICAgIEBpbmNsdWRlIGFzcGVjdC1yYXRpbygxLDEpO1xuICAgICAgbWF4LWhlaWdodDogNDUwcHg7XG5cbiAgICAgIC5jb250ZW50IHtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDIlIGF1dG87XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICBmaWd1cmUgLmNvbnRlbnQge1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwNCUgYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAucm93IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgJjphZnRlcixcbiAgICAmOmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5jb3B5IHtcbiAgICAgIGNvbG9yOiAkYnJ1dGU7XG4gICAgICBwYWRkaW5nOiByZW1pZnkoNjBweCkgMDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHdpZHRoOiA1MCU7XG5cbiAgICAgIC5zdWJqZWN0IHtcbiAgICAgICAgY29sb3I6ICRncmF5O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkcm9ib3RvO1xuICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMS4zKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIuMTtcbiAgICAgIH1cblxuICAgICAgcCB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgzKTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMTcwcHgpO1xuICAgICAgfVxuXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgLy8gYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJGlyb247XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbWlmeSg3MHB4KTtcblxuICAgICAgICBwIHtcbiAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIHJpZ2h0O1xuICAgICAgICB9XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGlyb247XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgcmlnaHQ6IC0xcHg7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbWlmeSg3MHB4KTtcblxuICAgICAgICAuc3ViamVjdCB7XG4gICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICB9XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGxlZnQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIHAge1xuICAgICAgICAgIGNvbG9yOiAkb3JhbmdlO1xuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wMik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGJyZWFrLW1vYmlsZS1tYXgpIHtcbiAgICAgIC5jb3B5IHtcbiAgICAgICAgcGFkZGluZzogcmVtaWZ5KDQwcHgpIHJlbWlmeSgzMHB4KTtcblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogcmVtaWZ5KDMwcHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogcmVtaWZ5KDMwcHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnN1YmplY3QsXG4gICAgICAgIHAge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAuc3ViamVjdCB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtaWZ5KDIwcHgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRicmVhay1tb2JpbGUtbWF4KSB7XG4gICAgICAuY29weSB7XG4gICAgICAgIHBhZGRpbmc6IHJlbWlmeSgzMHB4KSByZW1pZnkoMjBweCk7XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbWlmeSgyMHB4KTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbWlmeSgyMHB4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHAge1xuICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgyKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLyogU2xpZGVyICovXG5cbi5zbGljay1zbGlkZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1raHRtbC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbXMtdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgICB0b3VjaC1hY3Rpb246IHBhbi15O1xuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4uc2xpY2stbGlzdCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG5cbiAgICAmLmRyYWdnaW5nIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBjdXJzb3I6IGhhbmQ7XG4gICAgfVxufVxuLnNsaWNrLXNsaWRlciAuc2xpY2stdHJhY2ssXG4uc2xpY2stc2xpZGVyIC5zbGljay1saXN0IHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbn1cblxuLnNsaWNrLXRyYWNrIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuXG4gICAgJjpiZWZvcmUsXG4gICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICB9XG5cbiAgICAuc2xpY2stbG9hZGluZyAmIHtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cbn1cbi5zbGljay1zbGlkZSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDFweDtcbiAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuICAgIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgICAmLnNsaWNrLWxvYWRpbmcgaW1nIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgJi5kcmFnZ2luZyBpbWcge1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG5cbiAgICAuc2xpY2staW5pdGlhbGl6ZWQgJiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC5zbGljay1sb2FkaW5nICYge1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgfVxuXG4gICAgLnNsaWNrLXZlcnRpY2FsICYge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICB9XG59XG4uc2xpY2stYXJyb3cuc2xpY2staGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuIiwiLy8gR2VuZXJhdGUgRHVyYXRpb24gJiYgRGVsYXlcbltkYXRhLWFvc10ge1xuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIDYwIHtcbiAgICBib2R5W2RhdGEtYW9zLWR1cmF0aW9uPScjeyRpICogNTB9J10gJixcbiAgICAmW2RhdGEtYW9zXVtkYXRhLWFvcy1kdXJhdGlvbj0nI3skaSAqIDUwfSddIHtcbiAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246ICN7JGkgKiA1MH1tcztcbiAgICB9XG5cbiAgICBib2R5W2RhdGEtYW9zLWRlbGF5PScjeyRpICogNTB9J10gJixcbiAgICAmW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nI3skaSAqIDUwfSddIHtcbiAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDA7XG5cbiAgICAgICYuYW9zLWFuaW1hdGUge1xuICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAjeyRpICogNTB9bXM7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIkYW9zLWVhc2luZzogKFxuICBsaW5lYXI6IGN1YmljLWJlemllciguMjUwLCAuMjUwLCAuNzUwLCAuNzUwKSxcblxuICBlYXNlOiBjdWJpYy1iZXppZXIoLjI1MCwgLjEwMCwgLjI1MCwgMSksXG4gIGVhc2UtaW46IGN1YmljLWJlemllciguNDIwLCAwLCAxLCAxKSxcbiAgZWFzZS1vdXQ6IGN1YmljLWJlemllciguMDAwLCAwLCAuNTgwLCAxKSxcbiAgZWFzZS1pbi1vdXQ6IGN1YmljLWJlemllciguNDIwLCAwLCAuNTgwLCAxKSxcblxuICBlYXNlLWluLWJhY2s6IGN1YmljLWJlemllciguNiwgLS4yOCwgLjczNSwgLjA0NSksXG4gIGVhc2Utb3V0LWJhY2s6IGN1YmljLWJlemllciguMTc1LCAuODg1LCAuMzIsIDEuMjc1KSxcbiAgZWFzZS1pbi1vdXQtYmFjazogY3ViaWMtYmV6aWVyKC42OCwgLS41NSwgLjI2NSwgMS41NSksXG5cbiAgZWFzZS1pbi1zaW5lOiBjdWJpYy1iZXppZXIoLjQ3LCAwLCAuNzQ1LCAuNzE1KSxcbiAgZWFzZS1vdXQtc2luZTogY3ViaWMtYmV6aWVyKC4zOSwgLjU3NSwgLjU2NSwgMSksXG4gIGVhc2UtaW4tb3V0LXNpbmU6IGN1YmljLWJlemllciguNDQ1LCAuMDUsIC41NSwgLjk1KSxcblxuICBlYXNlLWluLXF1YWQ6IGN1YmljLWJlemllciguNTUsIC4wODUsIC42OCwgLjUzKSxcbiAgZWFzZS1vdXQtcXVhZDogY3ViaWMtYmV6aWVyKC4yNSwgLjQ2LCAuNDUsIC45NCksXG4gIGVhc2UtaW4tb3V0LXF1YWQ6IGN1YmljLWJlemllciguNDU1LCAuMDMsIC41MTUsIC45NTUpLFxuXG4gIGVhc2UtaW4tY3ViaWM6IGN1YmljLWJlemllciguNTUsIC4wODUsIC42OCwgLjUzKSxcbiAgZWFzZS1vdXQtY3ViaWM6IGN1YmljLWJlemllciguMjUsIC40NiwgLjQ1LCAuOTQpLFxuICBlYXNlLWluLW91dC1jdWJpYzogY3ViaWMtYmV6aWVyKC40NTUsIC4wMywgLjUxNSwgLjk1NSksXG5cbiAgZWFzZS1pbi1xdWFydDogY3ViaWMtYmV6aWVyKC41NSwgLjA4NSwgLjY4LCAuNTMpLFxuICBlYXNlLW91dC1xdWFydDogY3ViaWMtYmV6aWVyKC4yNSwgLjQ2LCAuNDUsIC45NCksXG4gIGVhc2UtaW4tb3V0LXF1YXJ0OiBjdWJpYy1iZXppZXIoLjQ1NSwgLjAzLCAuNTE1LCAuOTU1KVxuKTtcblxuLy8gRWFzaW5ncyBpbXBsZW1lbnRhdGlvbnNcbi8vIERlZmF1bHQgdGltaW5nIGZ1bmN0aW9uOiAnZWFzZSdcblxuW2RhdGEtYW9zXSB7XG4gIEBlYWNoICRrZXksICR2YWwgaW4gJGFvcy1lYXNpbmcge1xuICAgIGJvZHlbZGF0YS1hb3MtZWFzaW5nPVwiI3ska2V5fVwiXSAmLFxuICAgICZbZGF0YS1hb3NdW2RhdGEtYW9zLWVhc2luZz1cIiN7JGtleX1cIl0ge1xuICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICR2YWw7XG4gICAgfVxuICB9XG59XG4iLCIvLyBBbmltYXRpb25zIHZhcmlhYmxlc1xuJGFvcy1kaXN0YW5jZTogMTAwcHggIWRlZmF1bHQ7XG5cblxuXG5cbi8qKlxuICogRmFkZSBhbmltYXRpb25zOlxuICogZmFkZVxuICogZmFkZS11cCwgZmFkZS1kb3duLCBmYWRlLWxlZnQsIGZhZGUtcmlnaHRcbiAqIGZhZGUtdXAtcmlnaHQsIGZhZGUtdXAtbGVmdCwgZmFkZS1kb3duLXJpZ2h0LCBmYWRlLWRvd24tbGVmdFxuICovXG5cbltkYXRhLWFvc149J2ZhZGUnXVtkYXRhLWFvc149J2ZhZGUnXSB7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHksIHRyYW5zZm9ybTtcblxuICAmLmFvcy1hbmltYXRlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuW2RhdGEtYW9zPSdmYWRlLXVwJ10ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsICRhb3MtZGlzdGFuY2UsIDApO1xufVxuXG5bZGF0YS1hb3M9J2ZhZGUtZG93biddIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtJGFvcy1kaXN0YW5jZSwgMCk7XG59XG5cbltkYXRhLWFvcz0nZmFkZS1yaWdodCddIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtJGFvcy1kaXN0YW5jZSwgMCwgMCk7XG59XG5cbltkYXRhLWFvcz0nZmFkZS1sZWZ0J10ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCRhb3MtZGlzdGFuY2UsIDAsIDApO1xufVxuXG5bZGF0YS1hb3M9J2ZhZGUtdXAtcmlnaHQnXSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLSRhb3MtZGlzdGFuY2UsICRhb3MtZGlzdGFuY2UsIDApO1xufVxuXG5bZGF0YS1hb3M9J2ZhZGUtdXAtbGVmdCddIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgkYW9zLWRpc3RhbmNlLCAkYW9zLWRpc3RhbmNlLCAwKTtcbn1cblxuW2RhdGEtYW9zPSdmYWRlLWRvd24tcmlnaHQnXSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLSRhb3MtZGlzdGFuY2UsIC0kYW9zLWRpc3RhbmNlLCAwKTtcbn1cblxuW2RhdGEtYW9zPSdmYWRlLWRvd24tbGVmdCddIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgkYW9zLWRpc3RhbmNlLCAtJGFvcy1kaXN0YW5jZSwgMCk7XG59XG5cblxuXG5cbi8qKlxuICogWm9vbSBhbmltYXRpb25zOlxuICogem9vbS1pbiwgem9vbS1pbi11cCwgem9vbS1pbi1kb3duLCB6b29tLWluLWxlZnQsIHpvb20taW4tcmlnaHRcbiAqIHpvb20tb3V0LCB6b29tLW91dC11cCwgem9vbS1vdXQtZG93biwgem9vbS1vdXQtbGVmdCwgem9vbS1vdXQtcmlnaHRcbiAqL1xuXG5bZGF0YS1hb3NePSd6b29tJ11bZGF0YS1hb3NePSd6b29tJ10ge1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5LCB0cmFuc2Zvcm07XG5cbiAgJi5hb3MtYW5pbWF0ZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApIHNjYWxlKDEpO1xuICB9XG59XG5cbltkYXRhLWFvcz0nem9vbS1pbiddIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSguNik7XG59XG5cbltkYXRhLWFvcz0nem9vbS1pbi11cCddIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAkYW9zLWRpc3RhbmNlLCAwKSBzY2FsZSguNik7XG59XG5cbltkYXRhLWFvcz0nem9vbS1pbi1kb3duJ10ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0kYW9zLWRpc3RhbmNlLCAwKSBzY2FsZSguNik7XG59XG5cbltkYXRhLWFvcz0nem9vbS1pbi1yaWdodCddIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtJGFvcy1kaXN0YW5jZSwgMCwgMCkgc2NhbGUoLjYpO1xufVxuXG5bZGF0YS1hb3M9J3pvb20taW4tbGVmdCddIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgkYW9zLWRpc3RhbmNlLCAwLCAwKSBzY2FsZSguNik7XG59XG5cbltkYXRhLWFvcz0nem9vbS1vdXQnXSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4yKTtcbn1cblxuW2RhdGEtYW9zPSd6b29tLW91dC11cCddIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAkYW9zLWRpc3RhbmNlLCAwKSBzY2FsZSgxLjIpO1xufVxuXG5bZGF0YS1hb3M9J3pvb20tb3V0LWRvd24nXSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLSRhb3MtZGlzdGFuY2UsIDApIHNjYWxlKDEuMik7XG59XG5cbltkYXRhLWFvcz0nem9vbS1vdXQtcmlnaHQnXSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLSRhb3MtZGlzdGFuY2UsIDAsIDApIHNjYWxlKDEuMik7XG59XG5cbltkYXRhLWFvcz0nem9vbS1vdXQtbGVmdCddIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgkYW9zLWRpc3RhbmNlLCAwLCAwKSBzY2FsZSgxLjIpO1xufVxuXG5cblxuXG4vKipcbiAqIFNsaWRlIGFuaW1hdGlvbnNcbiAqL1xuXG5bZGF0YS1hb3NePSdzbGlkZSddW2RhdGEtYW9zXj0nc2xpZGUnXSB7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcblxuICAmLmFvcy1hbmltYXRlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5cbltkYXRhLWFvcz0nc2xpZGUtdXAnXSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG59XG5cbltkYXRhLWFvcz0nc2xpZGUtZG93biddIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG59XG5cbltkYXRhLWFvcz0nc2xpZGUtcmlnaHQnXSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xufVxuXG5bZGF0YS1hb3M9J3NsaWRlLWxlZnQnXSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG59XG5cblxuXG5cbi8qKlxuICogRmxpcCBhbmltYXRpb25zOlxuICogZmxpcC1sZWZ0LCBmbGlwLXJpZ2h0LCBmbGlwLXVwLCBmbGlwLWRvd25cbiAqL1xuXG5bZGF0YS1hb3NePSdmbGlwJ11bZGF0YS1hb3NePSdmbGlwJ10ge1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcbn1cblxuW2RhdGEtYW9zPSdmbGlwLWxlZnQnXSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjUwMHB4KSByb3RhdGVZKC0xMDBkZWcpO1xuICAmLmFvcy1hbmltYXRlIHt0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDI1MDBweCkgcm90YXRlWSgwKTt9XG59XG5cbltkYXRhLWFvcz0nZmxpcC1yaWdodCddIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyNTAwcHgpIHJvdGF0ZVkoMTAwZGVnKTtcbiAgJi5hb3MtYW5pbWF0ZSB7dHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyNTAwcHgpIHJvdGF0ZVkoMCk7fVxufVxuXG5bZGF0YS1hb3M9J2ZsaXAtdXAnXSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjUwMHB4KSByb3RhdGVYKC0xMDBkZWcpO1xuICAmLmFvcy1hbmltYXRlIHt0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDI1MDBweCkgcm90YXRlWCgwKTt9XG59XG5cbltkYXRhLWFvcz0nZmxpcC1kb3duJ10ge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDI1MDBweCkgcm90YXRlWCgxMDBkZWcpO1xuICAmLmFvcy1hbmltYXRlIHt0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDI1MDBweCkgcm90YXRlWCgwKTt9XG59XG4iLCJcblxuLmZvdXJvaGZvdXItcGFnZSB7XG5cdHBhZGRpbmctdG9wOiAwO1xuXG5cdG1haW4ge1xuXHRcdGhlaWdodDogMTAwdmg7XHRcblx0fVxuXG5cdC5zaXRlX2hlYWRlciB7XG5cdFx0Lm1lbnUge1xuXHRcdFx0c3ZnIHtcblx0XHRcdFx0Y2lyY2xlIHtcblx0XHRcdFx0XHRmaWxsOiAkYm9yZTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdHBhdGgge1xuXHRcdFx0XHRcdGZpbGw6ICRicnV0ZTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC5ub3Rmb3VuZCB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGJydXRlO1xuXHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkc2hhZG93O1xuXHRcdGNvbG9yOiAkYm9yZTtcblx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFxuXHRcdC5jb250YWluZXIge1xuXHRcdFx0bGVmdDogMDtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcblx0XHRcdHRvcDogNTAlO1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcblx0XHRcdGFuaW1hdGlvbjogbm90X2ZvdW5kX21vYmlsZSAuNHMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpIGZvcndhcmRzO1xuXG5cdFx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkYnJlYWstbW9iaWxlLW1heCkge1xuXHRcdFx0XHRhbmltYXRpb246IG5vdF9mb3VuZCAuN3MgY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpIGZvcndhcmRzLCBmYWRlSW4gM3MgZWFzZSBmb3J3YXJkcztcblx0XHRcdH1cblx0XHR9XG5cblxuXHRcdGgxLCBwIHtcblx0XHRcdGNvbG9yOiAkYm9yZTtcblx0XHR9XG5cdFx0XG5cblx0XHRoMSB7XG5cdFx0XHRAaW5jbHVkZSBmb250LXNpemUoOCk7XG5cdFx0fVxuXG5cdFx0cCB7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRsaW5lLWhlaWdodDogMS44O1xuXHRcdFx0bWFyZ2luOiAyMHB4IDA7XG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHR3aWR0aDogNzAlO1xuXG5cdFx0XHRhOm5vdCguZW1haWwpIHtcblx0XHRcdFx0Y29sb3I6ICRib3JlO1xuXG5cdFx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRib3JlO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0XG5cdFx0XG5cdH1cblxuXHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkYnJlYWstbW9iaWxlLW1heCkgeyBcblx0XHQubm90Zm91bmQge1xuXHRcdFx0aGVpZ2h0OiBjYWxjKDEwMCUgLSA4MHB4KTtcblx0XHR9XG5cdFx0XG5cdH1cblxuXHRAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkYnJlYWstbW9iaWxlLW1heCkge1xuXHRcdFxuXHRcdC5ub3Rmb3VuZCB7XG5cdFx0XHRiYWNrZ3JvdW5kOiAkYnJ1dGU7XG5cdFx0XHRjb2xvcjogJGJvcmU7XG5cdFx0XHRcblx0XHRcdFxuXHRcdFx0aDEge1xuXHRcdFx0XHRAaW5jbHVkZSBmb250LXNpemUoMjApO1xuXHRcdFx0fVxuXG5cdFx0XHRwIHtcblx0XHRcdFx0d2lkdGg6IDMwJTtcblx0XHRcdH1cblx0XHR9XG5cdFx0XG5cdH1cbn1cbiIsIi5hcnRpY2xlIHtcblxuXHQuZml4ZWRfc2Nyb2xsX3NlY3Rpb24ge1xuXHRcdC5jb250ZW50X2NvbHVtbiB7XG5cdFx0XHQuY2h1bms6Zmlyc3Qtb2YtdHlwZSB7XG5cdFx0XHRcdHA6bGFzdC1vZi10eXBlIHtcblx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiByZW1pZnkoMjVweCk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblxufVxuIiwiXG4uY3NfcGFnZSB7XG4gIC8vIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7XG5cbiAgJi5ub19mb290ZXIge1xuICAgIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7XG5cbiAgICAuc2l0ZV9mb290ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAmLmRhcmtfdGhlbWUsICYuYmxhY2tfdGhlbWUsICYuYmxhY2tfdGhlbWVfYWx0IHtcbiAgICBtYWluIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgfVxuICB9XG5cbiAgJi5ibGFja190aGVtZSB7XG4gICAgY29sb3I6ICRoZWF0aGVyO1xuICB9XG5cbiAgJi5ibGFja190aGVtZV9hbHQge1xuICAgIGNvbG9yOiAkc3Rhcms7XG4gIH1cblxuICAmLnNwYWNlX3RoZW1lIHtcbiAgICBtYWluIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzcGFjZTtcbiAgICAgIGNvbG9yOiAkaGVhdGhlcjtcbiAgICB9XG4gIH1cblxuICAmLmhpcHBpZV90aGVtZSB7XG4gICAgbWFpbiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaGlwcGllO1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICB9XG4gIH1cblxuICAmLnRvcmNoX3RoZW1lIHtcbiAgICBtYWluIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0b3JjaDtcbiAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgfVxuICB9XG5cbiAgJi5wb3JjZWxhaW5fdGhlbWUge1xuICAgIG1haW4ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHBvcmNlbGFpbjtcbiAgICAgIGNvbG9yOiAkYmlzY2F5O1xuICAgIH1cbiAgfVxuXG4gICYuYnNvZF90aGVtZSB7XG4gICAgbWFpbiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnNvZDtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgfVxuICB9XG5cbiAgLmNhc2VzdHVkeV9pbnRybyB7XG5cbiAgICAmLmltcG9zc2libGUge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiA3MCUgYXV0bztcblxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGJyZWFrLXRhYmxldCkge1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDUwJTtcbiAgICAgIH1cblxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGJyZWFrLW1vYmlsZS1tYXgpIHtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiA4MCU7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDUlO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuZGFya190aGVtZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgIH1cblxuICAgICYuYmxhY2tfdGhlbWUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuICAgICAgY29sb3I6ICRoZWF0aGVyO1xuICAgIH1cblxuICAgICYuYmxhY2tfdGhlbWVfYWx0IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG5cbiAgICAgIC5kZXNjcmlwdGlvbiB7XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgY29sb3I6ICR3aGl0ZTtcblxuICAgICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgIGNvbG9yOiAkYm91bGRlcjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnNwYWNlX3RoZW1lIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzcGFjZTtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG5cbiAgICAgIC5kZXNjcmlwdGlvbiB7XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgY29sb3I6ICR3aGl0ZTtcblxuICAgICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgIGNvbG9yOiAkYm91bGRlcjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnRvcmNoX3RoZW1lIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0b3JjaDtcbiAgICAgIGNvbG9yOiAkYmxhY2s7XG5cbiAgICAgIC5kZXNjcmlwdGlvbiB7XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgY29sb3I6ICR3aGl0ZTtcblxuICAgICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5oaXBwaWVfdGhlbWUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhpcHBpZTtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgfVxuXG4gICAgJi5wb3JjZWxhaW5fdGhlbWUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHBvcmNlbGFpbjtcbiAgICAgIGNvbG9yOiAkYnJ1dGU7XG5cbiAgICAgIC5kZXNjcmlwdGlvbiB7XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgY29sb3I6ICRicnV0ZTtcblxuICAgICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgIGNvbG9yOiAkc2NhcnBhO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYuYnNvZF90aGVtZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnNvZDtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG5cbiAgICAgIC5kZXNjcmlwdGlvbiB7XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgY29sb3I6ICR3aGl0ZTtcblxuICAgICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgIGNvbG9yOiAkYWx0bztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaGVyb19zZWN0aW9uIHtcbiAgICBtYXJnaW4tdG9wOiAtNTBweDtcblxuICAgICYudmlkX3BsYXllciB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogcmVtaWZ5KDMwcHgpO1xuICAgIH1cblxuICAgID4gLnJvdyB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5oZXJvX21lZGlhIHtcbiAgICAgIEBpbmNsdWRlIGFzcGVjdC1yYXRpbygxMzAyLCA3NTcpO1xuICAgICAgQGV4dGVuZCAlYmdjb3ZlcjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICB9XG5cbiAgICBmaWd1cmU6bm90KC5oZXJvX21lZGlhKSB7XG4gICAgICBAaW5jbHVkZSBhc3BlY3QtcmF0aW8oMTYsOSk7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHotaW5kZXg6IDE7XG5cbiAgICAgIGlmcmFtZSB7XG4gICAgICAgIC8qIE1ha2UgdmlkZW8gdG8gYXQgbGVhc3QgMTAwJSB3aWRlIGFuZCB0YWxsICovXG4gICAgICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICAgICAgbWluLWhlaWdodDogMTAwJTtcbiAgICAgICAgLyogU2V0dGluZyB3aWR0aCAmIGhlaWdodCB0byBhdXRvIHByZXZlbnRzIHRoZSBicm93c2VyIGZyb20gc3RyZXRjaGluZyBvciBzcXVpc2hpbmcgdGhlIHZpZGVvICovXG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIC8qIENlbnRlciB0aGUgdmlkZW8gKi9cbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLC01MCUpO1xuICAgICAgfVxuXG4gICAgICAuY292ZXJfaW1hZ2Uge1xuICAgICAgICBAZXh0ZW5kICViZ2NvdmVyO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgICB9XG5cbiAgICAgIC5jb250cm9sbGVyIHtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB6LWluZGV4OiAzO1xuXG4gICAgICAgIC5wbGF5X2J0biB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhpZ2hsaWdodGVyO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICAgICAgICBjb2xvcjogJGJydXRlO1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMS41KTtcbiAgICAgICAgICBmb250LWZhbWlseTogJHJvYm90bztcbiAgICAgICAgICBwYWRkaW5nOiByZW1pZnkoMjBweCkgcmVtaWZ5KDIwcHgpO1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoNTAlKTtcbiAgICAgICAgICBtYXJnaW46IDAgYXV0bztcblxuICAgICAgICAgIGVtIHtcbiAgICAgICAgICAgIGNvbG9yOiAkZ3JheTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAucG9zdGVyIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgei1pbmRleDogMjtcbiAgICB9XG5cbiAgICAmLmRhcmtfdGhlbWUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuICAgIH1cbiAgfVxuXG4gIGFydGljbGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICYud2hpdGVfdGhlbWUge1xuICAgICAgY29sb3I6ICRicnV0ZTtcblxuICAgICAgLnN1Ym5hdiB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYWx0bztcblxuICAgICAgICB1bCBhIHtcbiAgICAgICAgICBjb2xvcjogJGJydXRlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi50b3JjaF90aGVtZSB7XG4gICAgICBjb2xvcjogJGJsYWNrO1xuXG4gICAgICAuc3VibmF2IHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRibGFjaztcblxuICAgICAgICB1bCBhIHtcbiAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5wcm9tcHRfc2VjdGlvbiB7XG4gICAgICAgIC5jZW50ZXJfY29sIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICRibGFjaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYud2hpdGVfYWx0X3RoZW1lIHtcbiAgICAgIGNvbG9yOiAkYmxhY2s7XG5cbiAgICAgIC5zdWJuYXYge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGFsdG87XG5cbiAgICAgICAgdWwgYSB7XG4gICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYuZGFya190aGVtZSwgJi5ibGFja190aGVtZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4gICAgICBjb2xvcjogJGFsdG87XG5cbiAgICAgIC5zdWJuYXYge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGFsdG87XG5cbiAgICAgICAgdWwgYSB7XG4gICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYuYmxhY2tfdGhlbWUge1xuICAgICAgY29sb3I6ICRoZWF0aGVyO1xuXG4gICAgICBibG9ja3F1b3RlIHtcbiAgICAgICAgY29sb3I6ICRoZWF0aGVyO1xuICAgICAgfVxuXG4gICAgICAuc3VibmF2IHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkdHVuYTtcbiAgICAgICAgY29sb3I6ICRoZWF0aGVyO1xuXG4gICAgICAgIHVsIGEge1xuICAgICAgICAgIGNvbG9yOiAkaGVhdGhlcjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAucHJvbXB0X3NlY3Rpb24ge1xuICAgICAgICAuY2VudGVyX2NvbCB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAkdHVuYTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYuYmxhY2tfdGhlbWVfYWx0IHtcbiAgICAgIGNvbG9yOiAkc3Rhcms7XG5cbiAgICAgIGJsb2NrcXVvdGUge1xuICAgICAgICBjb2xvcjogJHN0YXJrO1xuICAgICAgfVxuXG4gICAgICAuc3VibmF2IHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkc3Rhcms7XG4gICAgICAgIGNvbG9yOiAkc3Rhcms7XG5cbiAgICAgICAgdWwgYSB7XG4gICAgICAgICAgY29sb3I6ICRzdGFyaztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAucHJvbXB0X3NlY3Rpb24ge1xuICAgICAgICAuY2VudGVyX2NvbCB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAkc3Rhcms7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnNwYWNlX3RoZW1lIHtcbiAgICAgIGNvbG9yOiAkaGVhdGhlcjtcblxuICAgICAgYmxvY2txdW90ZSB7XG4gICAgICAgIGNvbG9yOiAkaGVhdGhlcjtcbiAgICAgIH1cblxuICAgICAgLnN1Ym5hdiB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGhlYXRoZXI7XG4gICAgICAgIGNvbG9yOiAkaGVhdGhlcjtcblxuICAgICAgICB1bCBhIHtcbiAgICAgICAgICBjb2xvcjogJGhlYXRoZXI7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLnByb21wdF9zZWN0aW9uIHtcbiAgICAgICAgLmNlbnRlcl9jb2wge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogJGhlYXRoZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmRhcmtibHVlX3RoZW1lIHtcbiAgICAgIGNvbG9yOiAkZGFya2JsdWU7XG5cbiAgICAgIGJsb2NrcXVvdGUge1xuICAgICAgICBjb2xvcjogJGRhcmtibHVlO1xuICAgICAgfVxuXG4gICAgICAuc3VibmF2IHtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRsaW5rd2F0ZXI7XG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgIGNvbG9yOiAkZGFya2JsdWU7XG5cbiAgICAgICAgdWwgYSB7XG4gICAgICAgICAgY29sb3I6ICRkYXJrYmx1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYuaGlwcGllX3RoZW1lIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRoaXBwaWU7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuXG4gICAgICAuc3VibmF2IHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGRhcmtlbigkaGlwcGllLCA4JSk7XG5cbiAgICAgICAgaDIge1xuICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIH1cblxuICAgICAgICB1bCBhIHtcbiAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5wcm9tcHRfc2VjdGlvbiB7XG4gICAgICAgIC5jZW50ZXJfY29sIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6IGRhcmtlbigkaGlwcGllLCA4JSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnBvcmNlbGFpbl90aGVtZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcG9yY2VsYWluO1xuICAgICAgY29sb3I6ICRiaXNjYXk7XG5cbiAgICAgIC5zdWJuYXYge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgZGFya2VuKCRwb3JjZWxhaW4sIDglKTtcblxuICAgICAgICBoMiB7XG4gICAgICAgICAgY29sb3I6ICRiaXNjYXk7XG4gICAgICAgIH1cblxuICAgICAgICB1bCBhIHtcbiAgICAgICAgICBjb2xvcjogJGJpc2NheTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAucHJvbXB0X3NlY3Rpb24ge1xuICAgICAgICAuY2VudGVyX2NvbCB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiBkYXJrZW4oJHBvcmNlbGFpbiwgOCUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5ic29kX3RoZW1lIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRic29kO1xuICAgICAgY29sb3I6ICR3aGl0ZTtcblxuICAgICAgLnN1Ym5hdiB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBkYXJrZW4oJGJzb2QsIDglKTtcblxuICAgICAgICBoMiB7XG4gICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHVsIGEge1xuICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLnByb21wdF9zZWN0aW9uIHtcbiAgICAgICAgLmNlbnRlcl9jb2wge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogZGFya2VuKCRic29kLCA4JSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuc3RpY2t5LXdyYXBwZXIge1xuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGJyZWFrLW1vYmlsZS1tYXgpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuc3VibmF2IHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYWx0bztcbiAgICAgIHBhZGRpbmc6IHJlbWlmeSgzMHB4KSAwO1xuXG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMzUwcHgpIHtcbiAgICBcdFx0cGFkZGluZy1sZWZ0OiA1MHB4O1xuICAgIFx0XHRwYWRkaW5nLXJpZ2h0OiA1MHB4O1xuICAgIFx0fVxuICAgIFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGJyZWFrLW1vYmlsZS1tYXgpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICBcdFx0cGFkZGluZy1sZWZ0OiAzMHB4O1xuICAgIFx0XHRwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICAgIFx0fVxuICAgIFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGJyZWFrLW1vYmlsZSkge1xuICAgIFx0XHRwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgXHRcdHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gICAgXHR9XG5cbiAgICAgIGgyIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkaGFwdGlrO1xuICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDUwcHg7XG4gICAgICB9XG5cbiAgICAgIHVsIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgIG1hcmdpbjogMCByZW1pZnkoNTBweCkgMCAwO1xuXG4gICAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OjA7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgYSB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJHJvYm90bztcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMS4zKTtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAycHg7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAuMnMgZWFzZTtcblxuICAgICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgICBjb2xvcjogJGFsdG87XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGJydXRlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLnN0dWNrIHtcbiAgICAgICAgYW5pbWF0aW9uOiB0b3BwZXIgLjJzIGVhc2UgZm9yd2FyZHM7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB6LWluZGV4OiAxMDAwO1xuICAgICAgICBwYWRkaW5nOiB7XG4gICAgICAgICAgdG9wOiByZW1pZnkoMjBweCk7XG4gICAgICAgICAgYm90dG9tOiByZW1pZnkoMjBweCk7XG4gICAgICAgIH1cblxuICAgICAgICBoMiwgdWwgYSB7XG4gICAgICAgICAgY29sb3I6ICRicnV0ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGgxIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtaWZ5KDQwcHgpO1xuXG4gICAgICBzcGFuIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdWwge1xuICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDIpO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNzU7XG4gICAgICBtYXJnaW46IDI1cHggMDtcbiAgICAgIHBhZGRpbmctbGVmdDogcmVtaWZ5KDIzcHgpO1xuXG4gICAgICBsaSB7XG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogY2lyY2xlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW1pZnkoOHB4KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYnRuIHtcbiAgICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gICAgfVxuXG4gICAgc21hbGwge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXgtd2lkdGg6IDYwJTtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbWlmeSg1MHB4KTtcbiAgICB9XG5cbiAgICBoMixcbiAgICBoMyxcbiAgICBoNCxcbiAgICBoNSxcbiAgICBoNiB7XG4gICAgICBAaW5jbHVkZSBmb250LXNpemUoMik7XG4gICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICAgICYgKyBwIHtcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtaWZ5KDEwcHgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHVsIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbWlmeSg1MHB4KTtcbiAgICB9XG5cbiAgICBociB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaXJvbjtcbiAgICAgIG1hcmdpbjogcmVtaWZ5KDYwcHgpIDA7XG4gICAgfVxuXG4gICAgc2VjdGlvbjpub3QoLmNhc2VzdHVkeV9oZWFkaW5nKSB7XG4gICAgICA+IC5yb3cge1xuICAgICAgICBwYWRkaW5nLXRvcDogcmVtaWZ5KDY1cHgpO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtaWZ5KDY1cHgpO1xuXG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRicmVhay1tb2JpbGUtbWF4KSB7XG4gICAgICAgICAgcGFkZGluZy10b3A6IHJlbWlmeSgzMHB4KTtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtaWZ5KDMwcHgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgc2VjdGlvbiB7XG4gICAgICB6LWluZGV4OiAyO1xuXG4gICAgICAmLmFsbG93X292ZXJmbG93IHtcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgIHotaW5kZXg6IDM7XG4gICAgICB9XG5cbiAgICAgICYuZXh0cmFfYm90dG9tIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbWlmeSgzMDBweCk7XG5cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGJyZWFrLW1vYmlsZSkge1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiByZW1pZnkoMTIwcHgpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuZXh0cmFfdG9wIHtcbiAgICAgICAgcGFkZGluZy10b3A6IHJlbWlmeSgyMDBweCk7XG4gICAgICB9XG5cbiAgICAgICYudHdpdHRlcl9lbWJlZHMge1xuICAgICAgICAucm93IHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIH1cbiAgICAgICAgLnR3ZWV0X2hvbGRlciB7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMzMzMzJSAtIDIwcHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzYwcHgpIHtcbiAgICAgICAgICAudHdlZXRfaG9sZGVyIHtcblxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgIC50d2l0dGVyLXR3ZWV0IHtcbiAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5jb25zdHJhaW50IHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMzAwcHg7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgaDIsICYucHJvbXB0X3NlY3Rpb24gaDMge1xuICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMS4yKTtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRyb2JvdG87XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICB9XG5cbiAgICAgIC5jZW50ZXJfY29sIHtcbiAgICAgICAgbWF4LXdpZHRoOiA3MDBweDtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICAgIHBhZGRpbmc6IHtcbiAgICAgICAgICAgIGxlZnQ6IDMwcHg7XG4gICAgICAgICAgICByaWdodDogMzBweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkYnJlYWstbW9iaWxlKSB7XG4gICAgICAgICAgcGFkZGluZzoge1xuICAgICAgICAgICAgbGVmdDogMjBweDtcbiAgICAgICAgICAgIHJpZ2h0OiAyMHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLnByb21wdF9zZWN0aW9uIHtcbiAgICAgICAgcGFkZGluZzogcmVtaWZ5KDY1cHgpIDAgMCAwO1xuXG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRicmVhay1tb2JpbGUtbWF4KSB7XG4gICAgICAgICAgcGFkZGluZzogcmVtaWZ5KDMwcHgpIDAgMCAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNlbnRlcl9jb2wge1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYWx0bztcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbWlmeSg5MHB4KTtcblxuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRicmVhay1tb2JpbGUtbWF4KSB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtaWZ5KDMwcHgpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGRpdiB7XG4gICAgICAgICAgICB3aWR0aDogY2FsYyg1MCUgLSAxNnB4KTtcblxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGJyZWFrLW1vYmlsZSkge1xuICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW1pZnkoNDBweCk7XG4gICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgaDMge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbWlmeSgxMHB4KTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRzZWN0cmE7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgyLjIpO1xuXG4gICAgICAgICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuaW5saW5lX2ltZyB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAzMHB4O1xuXG4gICAgICAgID4gLnJvdyB7XG4gICAgICAgICAgcGFkZGluZzoge1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC52aWRlb19wbGF5ZXIge1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAuaGFsZnN5IHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgaGVpZ2h0OiA1MCU7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgei1pbmRleDogLTE7XG5cbiAgICAgICAgICAmLndoaXRlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJi53aWRlIHtcbiAgICAgICAgICAuY2VudGVyX2NvbCB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDkwMHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuZnVsbF9ibGVlZCB7XG4gICAgICAgICAgQGV4dGVuZCAlYmdjb3ZlcjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBib3R0b20gY2VudGVyO1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgICAmLmN1dF9oYW5kIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCBjZW50ZXI7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAxMDB2aDtcblxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGJyZWFrLW1vYmlsZS1tYXgpIHtcbiAgICAgICAgICAgICAgbWluLWhlaWdodDogNzB2aDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGhvbWUtYnJlYWspIGFuZCAobWF4LWhlaWdodDogNjE1cHgpIHtcbiAgICAgICAgICAgICAgbWluLWhlaWdodDogOTgwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5mdWxsIHtcbiAgICAgICAgICBwYWRkaW5nOiB7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLnJvdyB7XG5cbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEzNTBweCkge1xuICAgICAgICAgIFx0XHRwYWRkaW5nLWxlZnQ6IDUwcHg7XG4gICAgICAgICAgXHRcdHBhZGRpbmctcmlnaHQ6IDUwcHg7XG4gICAgICAgICAgXHR9XG4gICAgICAgICAgXHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkYnJlYWstbW9iaWxlLW1heCkge1xuICAgICAgICAgIFx0XHRwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gICAgICAgICAgXHRcdHBhZGRpbmctcmlnaHQ6IDMwcHg7XG4gICAgICAgICAgXHR9XG4gICAgICAgICAgXHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkYnJlYWstbW9iaWxlKSB7XG4gICAgICAgICAgXHRcdHBhZGRpbmctbGVmdDogMjBweDtcbiAgICAgICAgICBcdFx0cGFkZGluZy1yaWdodDogMjBweDtcbiAgICAgICAgICBcdH1cbiAgICAgICAgICB9XG4gICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuYmxlZWRlciB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIG1pbi1oZWlnaHQ6IDUwMHB4O1xuICAgICAgICAgIHotaW5kZXg6IDU7XG5cbiAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgICAgIGhlaWdodDogMTUwJTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkYnJlYWstbW9iaWxlLW1heCkge1xuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgLy8gcmlnaHQ6IGF1dG87XG5cbiAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICB3aWR0aDogMjUwJTtcbiAgICAgICAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYubGFzdCB7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDUwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5pbmxpbmVfaW1nICsgLmlubGluZV9pbWcge1xuICAgICAgICBwYWRkaW5nOiAwIDAgMzBweCAwO1xuICAgICAgfVxuXG4gICAgICAmLnRvcF9ibGVlZCB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSBhdXRvO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXG4gICAgICAgICYuZWlnaHR5X2ZpdmUge1xuICAgICAgICAgIHBhZGRpbmctdG9wOiA4NSU7XG5cbiAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkYnJlYWstbW9iaWxlLW1heCkge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDExMCU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuY2luZGVyLCAmLmJydXRlIHtcbiAgICAgICAgQGV4dGVuZCAuYmdfY2luZGVyO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuXG4gICAgICAgIGgyIHtcbiAgICAgICAgICBjb2xvcjogJGhlYXRoZXI7XG4gICAgICAgIH1cblxuICAgICAgICBoMiArIHA6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHAge1xuICAgICAgICAgIGNvbG9yOiAkaGVhdGhlcjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLndoaXRlX3RleHQge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuXG4gICAgICAgIGgyIHtcbiAgICAgICAgICBjb2xvcjogJGhlYXRoZXI7XG4gICAgICAgIH1cblxuICAgICAgICBoMiArIHA6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHAge1xuICAgICAgICAgIGNvbG9yOiAkaGVhdGhlcjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLmNvbmNyZXRlX3RoZW1lIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbmNyZXRlO1xuICAgICAgICBjb2xvcjogJGJydXRlO1xuXG4gICAgICAgIGgyIHtcbiAgICAgICAgICBjb2xvcjogJGJydXRlO1xuICAgICAgICB9XG5cbiAgICAgICAgaDIgKyBwOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAgIGNvbG9yOiAkYnJ1dGU7XG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICBjb2xvcjogJGJydXRlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuYmxhY2sge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4gICAgICB9XG5cbiAgICAgICYuYnJ1dGUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnJ1dGU7XG4gICAgICB9XG5cbiAgICAgICYud2hpdGUsICYuY2F0c2tpbGwsICYud2lsZHNhbmQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGNvbG9yOiAkYnJ1dGU7XG5cbiAgICAgICAgaDIge1xuICAgICAgICAgIGNvbG9yOiAkYnJ1dGU7XG4gICAgICAgIH1cblxuICAgICAgICBoMiArIHA6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgY29sb3I6ICRicnV0ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHAge1xuICAgICAgICAgIGNvbG9yOiAkYnJ1dGU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5jYXRza2lsbCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjYXRza2lsbDtcbiAgICAgIH1cblxuICAgICAgJi53aWxkc2FuZCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aWxkc2FuZDtcbiAgICAgIH1cblxuICAgICAgJi5ibGFja19ncmFkaWVudCB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkYmxhY2ssICRjaW5kZXIpOyAvKiBTdGFuZGFyZCBzeW50YXggKG11c3QgYmUgbGFzdCkgKi9cbiAgICAgIH1cblxuICAgICAgJi5wb3JjZWxhaW4sICYucG9yY2VsYWluX3RoZW1lIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHBvcmNlbGFpbjtcbiAgICAgICAgY29sb3I6ICRiaXNjYXk7XG5cbiAgICAgICAgaDIge1xuICAgICAgICAgIGNvbG9yOiAkYmlzY2F5O1xuICAgICAgICB9XG5cbiAgICAgICAgaDIgKyBwOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAgIGNvbG9yOiAkYmlzY2F5O1xuICAgICAgICB9XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgY29sb3I6ICRiaXNjYXk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi50b3JjaF90aGVtZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0b3JjaDtcbiAgICAgICAgY29sb3I6ICRibGFjaztcblxuICAgICAgICBoMiB7XG4gICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgfVxuXG4gICAgICAgIGgyICsgcDpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICB9XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgY29sb3I6ICRibGFjaztcblxuICAgICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6ICRibGFjaztcblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLnJvbGVfc2VjdGlvbiB7XG4gICAgICAgICAgLmNvbnRhaW5lciB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRibGFjaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5ibGFja190aGVtZV9hbHQge1xuICAgICAgICAmLnJvbGVfc2VjdGlvbiB7XG4gICAgICAgICAgLmNvbnRhaW5lciB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRzdGFyaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5zcGFjZV90aGVtZSB7XG4gICAgICAgICYucm9sZV9zZWN0aW9uIHtcbiAgICAgICAgICBjb2xvcjogJG1lcmN1cnk7XG5cbiAgICAgICAgICAuY29udGFpbmVyIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJG1lcmN1cnk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaDIge1xuICAgICAgICAgICAgY29sb3I6ICRtZXJjdXJ5O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLmJzb2Qge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnNvZDtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcblxuICAgICAgICBoMiB7XG4gICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGgyICsgcDpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICB9XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgY29sb3I6ICR3aGl0ZTtcblxuICAgICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLnJvbGVfc2VjdGlvbiB7XG4gICAgICAgICAgLy8gYm9yZGVyLXRvcDogMXB4IHNvbGlkICRrb2FtYXJ1O1xuICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG5cbiAgICAgICAgICAuY29udGFpbmVyIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogZGFya2VuKCR3aGl0ZSwgMjUlKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBoMiB7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLmZ1bGxfY2FwIHtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOjEwMCUgYXV0bztcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIH1cblxuICAgICAgJi5yb2xlX3NlY3Rpb24ge1xuICAgICAgICAuY29udGFpbmVyIHtcbiAgICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICRtZXJjdXJ5O1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMjVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIHVsIHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuXG4gICAgICAgICAgbGkge1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRzZWN0cmE7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMS44KTtcbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzMzMzMyUgLSAyMHB4KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkYnJlYWstdGFibGV0KSB7XG4gICAgICAgICAgdWwge1xuICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICB3aWR0aDogY2FsYyg1MCUgLSAxNXB4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkYnJlYWstbW9iaWxlLW1heCkge1xuICAgICAgICAgIHVsIHtcbiAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYubmV4dF9jYXNlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyYXk7XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAudHlwZSBoNiBzdmcge1xuICAgICAgICAgICAgICByaWdodDogMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZmlndXJlIHtcbiAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucm93IHtcbiAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC50eXBlIHtcbiAgICAgICAgICBjb2xvcjogJHNwYWNlO1xuICAgICAgICAgIG1hcmdpbjogcmVtaWZ5KDUwcHgpIGF1dG8gcmVtaWZ5KDEwNXB4KTtcbiAgICAgICAgICB3aWR0aDogNTQlO1xuXG4gICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxLjIpO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRyb2JvdG87XG4gICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaDYge1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkc2VjdHJhLWJvbGQ7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMy4zKTtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbWlmeSg4MHB4KTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICByaWdodDogMTBweDtcbiAgICAgICAgICAgICAgdG9wOiAxM3B4O1xuICAgICAgICAgICAgICB0cmFuc2l0aW9uOiByaWdodCAuMnMgZWFzZS1pbjtcblxuICAgICAgICAgICAgICBwYXRoIHtcbiAgICAgICAgICAgICAgICBmaWxsOiAkd2hpdGU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cblxuICAgICAgICB9XG5cbiAgICAgICAgZmlndXJlIHtcbiAgICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAzcHg7XG4gICAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDNweDtcbiAgICAgICAgICBoZWlnaHQ6IHJlbWlmeSg1NXB4KTtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4ycyBlYXNlLWluO1xuXG4gICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDNweDtcbiAgICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAzcHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGJyZWFrLW1vYmlsZS1tYXgpIHtcbiAgICAgICAgICAudHlwZSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgaDYge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMyk7XG5cbiAgICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICB0b3A6IDhweDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGZpZ3VyZSB7XG4gICAgICAgICAgICBoZWlnaHQ6IHJlbWlmeSg0NXB4KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmRhcmtfdGhlbWUge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRicnV0ZTtcblxuICAgICAgICAgIC50eXBlIHtcbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICBjb2xvcjogJGdyYXk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGg2IHtcbiAgICAgICAgICAgICAgY29sb3I6ICRpcm9uO1xuXG4gICAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgcGF0aCB7XG4gICAgICAgICAgICAgICAgICBmaWxsOiAkaXJvbjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLndoaXRlX3RoZW1lIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG5cbiAgICAgICAgICAudHlwZSB7XG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaDYge1xuICAgICAgICAgICAgICBjb2xvcjogJGJydXRlO1xuXG4gICAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgcGF0aCB7XG4gICAgICAgICAgICAgICAgICBmaWxsOiAkYnJ1dGU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5ibGFja190aGVtZSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuXG4gICAgICAgICAgLnR5cGUge1xuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgIGNvbG9yOiBkYXJrZW4oJGFsdG8sIDEwJSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGg2IHtcbiAgICAgICAgICAgICAgY29sb3I6ICRhbHRvO1xuXG4gICAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgcGF0aCB7XG4gICAgICAgICAgICAgICAgICBmaWxsOiAkYWx0bztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmJsYWNrX2FsdF90aGVtZSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuXG4gICAgICAgICAgLnR5cGUge1xuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgIGNvbG9yOiBkYXJrZW4oJHN0YXJrLCAxMCUpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBoNiB7XG4gICAgICAgICAgICAgIGNvbG9yOiAkc3Rhcms7XG5cbiAgICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICBwYXRoIHtcbiAgICAgICAgICAgICAgICAgIGZpbGw6ICRzdGFyaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmhlYXRoZXJfdGhlbWUge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRoZWF0aGVyO1xuXG4gICAgICAgICAgLnR5cGUge1xuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgIGNvbG9yOiAkc3BhY2U7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGg2IHtcbiAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcblxuICAgICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgIHBhdGgge1xuICAgICAgICAgICAgICAgICAgZmlsbDogJHdoaXRlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYucG9yY2VsYWluX3RoZW1lIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcG9yY2VsYWluO1xuXG4gICAgICAgICAgLnR5cGUge1xuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgIGNvbG9yOiBkYXJrZW4oJGJpc2NheSwgNSUpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBoNiB7XG4gICAgICAgICAgICAgIGNvbG9yOiAkYmlzY2F5O1xuXG4gICAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgcGF0aCB7XG4gICAgICAgICAgICAgICAgICBmaWxsOiAkYmlzY2F5O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuYnNvZF90aGVtZSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGRhcmtibHVlO1xuXG4gICAgICAgICAgLnR5cGUge1xuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgIGNvbG9yOiAkZ3JheTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaDYge1xuICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuXG4gICAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgcGF0aCB7XG4gICAgICAgICAgICAgICAgICBmaWxsOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5zcGFjZV90aGVtZSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNwYWNlO1xuXG4gICAgICAgICAgLnR5cGUge1xuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgIGNvbG9yOiBkYXJrZW4oJGhlYXRoZXIsIDUlKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaDYge1xuICAgICAgICAgICAgICBjb2xvcjogJGhlYXRoZXI7XG5cbiAgICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICBwYXRoIHtcbiAgICAgICAgICAgICAgICAgIGZpbGw6ICRoZWF0aGVyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuaGlwcGllX3RoZW1lIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaGlwcGllO1xuXG4gICAgICAgICAgLnR5cGUge1xuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgIGNvbG9yOiAkbWFydGluaXF1ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaDYge1xuICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuXG4gICAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgcGF0aCB7XG4gICAgICAgICAgICAgICAgICBmaWxsOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi50b3JjaF90aGVtZSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRvcmNoO1xuXG4gICAgICAgICAgLnR5cGUge1xuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGg2IHtcbiAgICAgICAgICAgICAgY29sb3I6ICRicnV0ZTtcblxuICAgICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgIHBhdGgge1xuICAgICAgICAgICAgICAgICAgZmlsbDogJGJydXRlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5jb3B5ICsgLmlubGluZV9pbWcge1xuICAgIHBhZGRpbmctdG9wOiByZW1pZnkoMTAwcHgpO1xuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGJyZWFrLW1vYmlsZS1tYXgpIHtcbiAgICAgIHBhZGRpbmctdG9wOiByZW1pZnkoMzBweCk7XG4gICAgfVxuICB9XG5cbiAgLmNvcHkge1xuICAgIHBhZGRpbmc6IHJlbWlmeSgxODBweCkgMDtcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRicmVhay1tb2JpbGUtbWF4KSB7XG4gICAgICBwYWRkaW5nOiByZW1pZnkoODBweCkgMDtcbiAgICB9XG5cbiAgICBwIHtcbiAgICAgIG1hcmdpbjogMjVweCAwO1xuXG4gICAgICBlbSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICB9XG5cbiAgICAgIGltZyB7XG4gICAgICAgIG1hcmdpbjogcmVtaWZ5KDE1cHgpIDAgcmVtaWZ5KDIwcHgpO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG5cbiAgICAgICYuZW1waGFzaXMge1xuICAgICAgICBjb2xvcjogJGdyYXk7XG4gICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBwLmZsb3VyaXNoIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAkc2VjdHJhO1xuICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDMuMyk7XG4gICAgICBsaW5lLWhlaWdodDogMS4zO1xuXG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkYnJlYWstbW9iaWxlKSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgzKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB1bCB7XG4gICAgICBsaSB7XG4gICAgICAgIHAsIHA6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgQGV4dGVuZCAlcGFyYWdyYXBoO1xuICAgICAgICB9XG5cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuc2lkZV9tZWRpYSB7XG4gICAgICB3aWR0aDogcmVtaWZ5KDIwMHB4KTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgdHJhbnNpdGlvbjogd2lkdGggLjJzIGVhc2U7XG4gICAgICB6LWluZGV4OiAtMTtcblxuICAgICAgJi5kb3VibGUge1xuICAgICAgICB3aWR0aDogcmVtaWZ5KDM1MHB4KTtcbiAgICAgIH1cblxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGJyZWFrLXRhYmxldCkge1xuICAgICAgICB3aWR0aDogcmVtaWZ5KDE1MHB4KTtcbiAgICAgIH1cblxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE1MHB4KSB7XG4gICAgICAgICYuZG91YmxlIHtcbiAgICAgICAgICB3aWR0aDogcmVtaWZ5KDI1MHB4KTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDUwcHgpIHtcbiAgICAgICAgd2lkdGg6IHJlbWlmeSgxMjVweCk7XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMDBweCkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG5cblxuICAgICAgJi5sZWZ0IHtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgIH1cblxuICAgICAgJi5yaWdodCB7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5zdGlja3lfc2V0IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHotaW5kZXg6IC0xO1xuXG4gICAgICAmLnN0aWNraWVzX29uZSB7XG4gICAgICAgIHdpZHRoOiAzMDBweDtcbiAgICAgICAgd2lkdGg6IDIydnc7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC04MiUpO1xuICAgICAgfVxuXG4gICAgICAmLnN0aWNraWVzX3R3byB7XG4gICAgICAgIHdpZHRoOiAzNDBweDtcbiAgICAgICAgd2lkdGg6IDI4dnc7XG4gICAgICAgIHJpZ2h0OiAzJTtcbiAgICAgICAgdG9wOiA2OCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgIH1cblxuICAgICAgJi5zdGlja2llc190aHJlZSB7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgzNSUpO1xuICAgICAgICB3aWR0aDogNDB2dztcbiAgICAgIH1cblxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGJyZWFrLXRhYmxldCkge1xuICAgICAgICAmLnN0aWNraWVzX29uZSB7XG4gICAgICAgICAgd2lkdGg6IDIxMHB4O1xuICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgIHRvcDogNjAlO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtODIlKTtcbiAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgICAgICAgIHdpZHRoOiAyOHZ3O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuc3RpY2tpZXNfdHdvIHtcbiAgICAgICAgICB3aWR0aDogMzJ2dztcbiAgICAgICAgICByaWdodDogMyU7XG4gICAgICAgICAgdG9wOiA3MyU7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5zdGlja2llc190aHJlZSB7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgzNSUpO1xuICAgICAgICAgIHdpZHRoOiA0MHZ3O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRob21lLWJyZWFrLWVuZCkge1xuICAgICAgICAmLnN0aWNraWVzX29uZSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuc3RpY2tpZXNfdHdvIHtcbiAgICAgICAgICB3aWR0aDogMzJ2dztcbiAgICAgICAgICByaWdodDogMyU7XG4gICAgICAgICAgdG9wOiA3MyU7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5zdGlja2llc190aHJlZSB7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgzNSUpO1xuICAgICAgICAgIHdpZHRoOiA0MHZ3O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRicmVhay1tb2JpbGUtbWF4KSB7XG5cbiAgICAgICAgJi5zdGlja2llc190d28ge1xuICAgICAgICAgIHdpZHRoOiA0MnZ3O1xuICAgICAgICAgIHJpZ2h0OiAyJTtcbiAgICAgICAgICB0b3A6IDcwJTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgIH1cblxuICAgICAgICAmLnN0aWNraWVzX3RocmVlIHtcbiAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKDM1JSk7XG4gICAgICAgICAgd2lkdGg6IDYwdnc7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGJyZWFrLW1vYmlsZSkge1xuXG4gICAgICAgICYuc3RpY2tpZXNfdHdvIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5zdGlja2llc190aHJlZSB7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgzNSUpO1xuICAgICAgICAgIHdpZHRoOiA3MHZ3O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnNwbGl0X3RleHQge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZvbnQtZmFtaWx5OiAkcm9ib3RvO1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgbWFyZ2luOiByZW1pZnkoNTBweCkgMCByZW1pZnkoODBweCk7XG5cbiAgICAgIGRpdiB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDE1cHgpO1xuXG4gICAgICAgIGgzIHtcbiAgICAgICAgICBmb250LWZhbWlseTogJHJvYm90bztcbiAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICB9XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDIwMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYnJ1dGU7XG4gICAgICAgICAgY29sb3I6ICRicnV0ZTtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDNweDtcblxuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGNvbG9yOiAkYnJ1dGU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaDMsIHAsIGEge1xuICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxLjQpO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuY29weTpub3QoLm5vX3N0eWxlKSB7XG4gICAgLy8gcCB7XG4gICAgLy8gICAmOmZpcnN0LW9mLXR5cGUge1xuICAgIC8vICAgICAgIGZvbnQtZmFtaWx5OiAkc2VjdHJhO1xuICAgIC8vICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgzLjMpO1xuICAgIC8vICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgLy8gICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAvL1xuICAgIC8vICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRicmVhay1tb2JpbGUpIHtcbiAgICAvLyAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgzKTtcbiAgICAvLyAgICAgICB9XG4gICAgLy9cbiAgICAvLyAgICAgICBpbWcge1xuICAgIC8vICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAvLyAgICAgICB9XG4gICAgLy8gICB9XG4gICAgLy8gfVxuICAgIC8vXG4gICAgLy8gaDIgKyBwIHtcbiAgICAvLyAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgLy8gICAgIGZvbnQtZmFtaWx5OiAkc2VjdHJhO1xuICAgIC8vICAgICBAaW5jbHVkZSBmb250LXNpemUoMy4zKTtcbiAgICAvLyAgICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICAvL1xuICAgIC8vICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkYnJlYWstbW9iaWxlKSB7XG4gICAgLy8gICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDMpO1xuICAgIC8vICAgICB9XG4gICAgLy8gICB9XG4gICAgLy8gfVxuICB9XG5cbiAgLmdhbGxlcnlfbW9kdWxlIHtcblxuICAgIHBhZGRpbmc6IHtcbiAgICAgIGJvdHRvbTogcmVtaWZ5KDMwcHgpO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgIH1cblxuICAgIC5jb25zdHJhaW50IHtcbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEzNTBweCkge1xuICAgIFx0XHRwYWRkaW5nLWxlZnQ6IDUwcHg7XG4gICAgXHRcdHBhZGRpbmctcmlnaHQ6IDUwcHg7XG4gICAgXHR9XG4gICAgXHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkYnJlYWstbW9iaWxlLW1heCkge1xuICAgIFx0XHRwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gICAgXHRcdHBhZGRpbmctcmlnaHQ6IDMwcHg7XG4gICAgXHR9XG4gICAgXHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkYnJlYWstbW9iaWxlKSB7XG4gICAgXHRcdHBhZGRpbmctbGVmdDogMjBweDtcbiAgICBcdFx0cGFkZGluZy1yaWdodDogMjBweDtcbiAgICBcdH1cbiAgICB9XG5cbiAgICAuaXRlbSB7XG4gICAgICBAZXh0ZW5kICViZ2NvdmVyO1xuICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgLnZpZGVvX3BsYXllciB7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgfVxuICAgIH1cblxuXG4gICAgJi5maWZ0eV9maWZ0eSB7XG4gICAgICAuY29uc3RyYWludCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgfVxuXG4gICAgICAuaXRlbSB7XG4gICAgICAgIEBpbmNsdWRlIGFzcGVjdC1yYXRpbygzMSwyMSk7XG4gICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDE1cHgpO1xuICAgICAgfVxuXG4gICAgICAmLnNxdWFyZSB7XG4gICAgICAgIC5pdGVtIHtcbiAgICAgICAgICBAaW5jbHVkZSBhc3BlY3QtcmF0aW8oMSwxKTtcbiAgICAgICAgfVxuXG4gICAgICB9XG5cbiAgICAgICYudGFsbCB7XG4gICAgICAgIC5pdGVtIHtcbiAgICAgICAgICBAaW5jbHVkZSBhc3BlY3QtcmF0aW8oNjM1LDgyMik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnRoaXJkcyB7XG4gICAgICAuY29uc3RyYWludCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgfVxuXG4gICAgICAuaXRlbSB7XG4gICAgICAgIEBpbmNsdWRlIGFzcGVjdC1yYXRpbygzMSwyMSk7XG4gICAgICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzMzMzMyUgLSAyMHB4KTtcbiAgICAgIH1cblxuICAgICAgJi50YWxsIHtcbiAgICAgICAgLml0ZW0ge1xuICAgICAgICAgIEBpbmNsdWRlIGFzcGVjdC1yYXRpbygzOTQsNTI5KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYudGhyZWVfZmlmdHkge1xuICAgICAgLmNvbnN0cmFpbnQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIH1cblxuICAgICAgLml0ZW0ge1xuICAgICAgICBAaW5jbHVkZSBhc3BlY3QtcmF0aW8oMzEsMjEpO1xuICAgICAgICB3aWR0aDogY2FsYygyNSUgLSAyMHB4KTtcblxuICAgICAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDIwcHgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi50aHJlZV9ncmlkIHtcbiAgICAgIC5jb25zdHJhaW50IHtcbiAgICAgICAgcGFkZGluZzoge1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuY29udGVudCB7XG4gICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTM1MHB4KSB7XG4gICAgICAgIFx0XHRwYWRkaW5nLWxlZnQ6IDUwcHg7XG4gICAgICAgIFx0XHRwYWRkaW5nLXJpZ2h0OiA1MHB4O1xuICAgICAgICBcdH1cbiAgICAgICAgXHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkYnJlYWstbW9iaWxlLW1heCkge1xuICAgICAgICBcdFx0cGFkZGluZy1sZWZ0OiAzMHB4O1xuICAgICAgICBcdFx0cGFkZGluZy1yaWdodDogMzBweDtcbiAgICAgICAgXHR9XG4gICAgICAgIFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGJyZWFrLW1vYmlsZSkge1xuICAgICAgICBcdFx0cGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgICAgICBcdFx0cGFkZGluZy1yaWdodDogMjBweDtcbiAgICAgICAgXHR9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRicmVhay1tb2JpbGUpIHtcbiAgICAgICAgLmNvbnN0cmFpbnQge1xuICAgICAgICAgIC5jb250ZW50IHtcbiAgICAgICAgICAgIC5jb2wge1xuICAgICAgICAgICAgICAuaXRlbSB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OjI1MHB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGJyZWFrLW1vYmlsZSkge1xuICAgICAgICAuY29uc3RyYWludCB7XG4gICAgICAgICAgQGluY2x1ZGUgYXNwZWN0LXJhdGlvKDY0NSwgMjgzKTtcblxuICAgICAgICAgIC5jb250ZW50IHtcbiAgICAgICAgICAgIGRpc3BsYXk6ZmxleDtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAgICAgICAgICAgLmNvbCB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDE1cHgpO1xuXG4gICAgICAgICAgICAgICYubGVmdCB7XG4gICAgICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDQwJSAtIDE1cHgpO1xuXG4gICAgICAgICAgICAgICAgLml0ZW0ge1xuICAgICAgICAgICAgICAgICAgaGVpZ2h0OmNhbGMoNTAlIC0gMTVweCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgJi5yaWdodCB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoNjAlIC0gMTVweCk7XG5cbiAgICAgICAgICAgICAgICAuaXRlbSB7XG4gICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgICB3aWR0aDoxMDAlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRicmVhay1tb2JpbGUpIHtcbiAgICAgIC5pdGVtIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcblxuICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uaW5saW5lX2ltZyArIC5maWZ0eV9maWZ0eSB7XG4gIHBhZGRpbmctYm90dG9tOiByZW1pZnkoMzBweCk7XG59XG4iLCJcbi5jb21tYW5kLXBhZ2Uge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuXG4gICAgbWFpbiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2luZGVyO1xuICAgIH1cblxuICAgIC5pbnRyb19zZWN0aW9uIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgaGVpZ2h0OiAxMDBweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodHJhbnNwYXJlbnQsICRibGFjayk7XG4gICAgICAgICAgei1pbmRleDogNTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zaGFkZXIge1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC40cyBlYXNlLWluO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuXG4gICAgICAgICAgICAmLm9wYXF1ZSB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnRveSB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnJvdyB7XG4gICAgICAgICAgICBwYWRkaW5nOiB7XG4gICAgICAgICAgICAgICAgYm90dG9tOiByZW1pZnkoMjIwcHgpO1xuICAgICAgICAgICAgICAgIHRvcDogcmVtaWZ5KDIyMHB4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHotaW5kZXg6IDI7XG5cbiAgICAgICAgICAgIGgxIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoOCk7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiByZW1pZnkoNjI1cHgpO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGJyZWFrLW1vYmlsZS1tYXgpIGFuZCAobWF4LXdpZHRoOiAkaG9tZS1icmVhaykge1xuICAgICAgICAgICAgICAgIGgxIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDYpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGJyZWFrLW1vYmlsZS1tYXgpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiB7XG4gICAgICAgICAgICAgICAgICAgIGJvdHRvbTogcmVtaWZ5KDE1MHB4KTtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiByZW1pZnkoMTUwcHgpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGgxIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDQpO1xuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDcwJTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRicmVhay1tb2JpbGUpIHtcbiAgICAgICAgICAgICAgICBoMSB7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAuZmlsdGVyX2dyaWQge1xuICAgICAgICBwYWRkaW5nOiB7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkYnJlYWstbW9iaWxlLW1heCkge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IHJlbWlmeSg2MHB4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5tYXN0ZXJfcm93IHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2luZGVyO1xuXG4gICAgICAgICAgPiAucm93IHtcbiAgICAgICAgICAgIHBhZGRpbmc6IHtcbiAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkYmxhY2ssICRjaW5kZXIpO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IHJlbWlmeSg3MHB4KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuY2xpZW50IHtcbiAgICAgICAgICBhIHtcbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICBmb250LWZhbWlseTogJHNlY3RyYS1ib2xkO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBoMiB7XG4gICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG5cbiAgICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRzaHV0dGxlO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmNhbGxvdXQge1xuICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICR3aGl0ZTtcblxuICAgICAgICAgIGgzIHtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLmNvbnRhY3RfcGFnZSB7XG5cbiAgbWFpbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGhlYXRoZXI7XG4gIH1cblxuICAuaW5mb19pbnRybyB7XG4gICAgaGVpZ2h0OiAxMDB2aDtcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRicmVhay1tb2JpbGUtbWF4KSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwLjV2aCAtIDEwMHB4KTtcbiAgICB9XG5cbiAgICAuY2VudGVyZWRfY29udGVudCB7XG5cbiAgICAgIGgxIHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIH1cblxuICAgICAgcCB7XG4gICAgICAgIGNvbG9yOiAkc2h1dHRsZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxuXG4gIC5jb250YWN0X2luZm8ge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRicmVhay1tb2JpbGUtbWF4KSB7XG4gICAgICBtYXJnaW4tdG9wOiAtMTIwcHg7XG4gICAgfVxuXG4gICAgPiAucm93IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBwYWRkaW5nOiByZW1pZnkoNjVweCkgMDtcblxuICAgICAgJjphZnRlcixcbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGJyZWFrLW1vYmlsZS1tYXgpIHtcbiAgICAgICAgcGFkZGluZzogcmVtaWZ5KDUwcHgpIDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLml0ZW0ge1xuICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDIpO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNzU7XG4gICAgICB3aWR0aDogY2FsYygzMy4zMzMzMzMzMzMlIC0gMzMuMzMzMzMzMzMzcHgpO1xuXG4gICAgICBhIHtcbiAgICAgICAgY29sb3I6ICRzaHV0dGxlO1xuICAgICAgfVxuXG4gICAgICBoMixcbiAgICAgIGgzIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDIpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuZGlyZWN0IHtcbiAgICAgID4gLnJvdyB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgfVxuXG4gICAgICAuaXRlbSB7XG4gICAgICAgIC5jb250LFxuICAgICAgICBoMiB7XG4gICAgICAgICAgcGFkZGluZzogcmVtaWZ5KDI1cHgpIHJlbWlmeSg0MHB4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jb250IHtcbiAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAkd2hpdGU7XG4gICAgICAgICAgZm9udC1mYW1pbHk6IHNlY3RyYTtcbiAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMi4yKTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS41O1xuXG4gICAgICAgICAgYSB7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzIGVhc2U7XG5cbiAgICAgICAgICAgICYuZW1haWwge1xuICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2h1dHRsZTtcbiAgICAgICAgICAgICAgICBib3R0b206IDFweDtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMnB4O1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICBjb2xvcjogJGJydXRlO1xuXG4gICAgICAgICAgICAgICYuZW1haWwge1xuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaDIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICBjb2xvcjogJHNodXR0bGU7XG4gICAgICAgICAgZm9udC1mYW1pbHk6ICRzZWN0cmE7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMi4yKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRicmVhay1tb2JpbGUtbWF4KSBhbmQgKG1heC13aWR0aDogOTcwcHgpIHtcbiAgICAgIC5pdGVtIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjkydnc7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjg7XG5cbiAgICAgICAgaDIsXG4gICAgICAgIGgzIHtcbiAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMS43KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkaG9tZS1icmVhaykge1xuICAgICAgLml0ZW0ge1xuICAgICAgICB3aWR0aDogY2FsYygzMy4zMzMzMzMzMzMlIC0gMTYuNjY2NjY2NjY3cHgpO1xuICAgICAgfVxuICAgIH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkYnJlYWstbW9iaWxlLW1heCkge1xuICAgICAgPiAucm93IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG5cbiAgICAgIC5pdGVtIHtcbiAgICAgICAgZmxleDogbm9uZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtaWZ5KDUwcHgpO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pbWFnZV9ncmlkIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogcmVtaWZ5KDcwcHgpO1xuXG4gICAgLmNvbnRhaW5lciB7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBbY29sXSAxZnIgW2NvbF0gMWZyIFtjb2xdIDFmcjtcbiAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogW3Jvd10gYXV0byBbcm93XSBhdXRvIFtyb3ddO1xuICAgICAgZ3JpZC1jb2x1bW4tZ2FwOiByZW1pZnkoNTBweCk7XG4gICAgICBncmlkLXJvdy1nYXA6IHJlbWlmeSg1MHB4KTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkYnJlYWstbW9iaWxlLW1heCkgYW5kIChtYXgtd2lkdGg6ICRob21lLWJyZWFrKSB7XG4gICAgICAgIGdyaWQtY29sdW1uLWdhcDogcmVtaWZ5KDI1cHgpO1xuICAgICAgICBncmlkLXJvdy1nYXA6IHJlbWlmeSgyNXB4KTtcbiAgICAgIH1cblxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGJyZWFrLW1vYmlsZS1tYXgpIHtcbiAgICAgICAgZ3JpZC1jb2x1bW4tZ2FwOiByZW1pZnkoMTVweCk7XG4gICAgICAgIGdyaWQtcm93LWdhcDogcmVtaWZ5KDE1cHgpO1xuICAgICAgICAvLyBncmlkLXRlbXBsYXRlLXJvd3M6IDQwMHB4IDMwMHB4IDMwMHB4O1xuICAgICAgfVxuXG4gICAgICAuaXRlbSB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIH1cblxuICAgICAgLnN1YmdyaWQge1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGhlaWdodDogMTAwJTtcblxuICAgICAgICA+ICoge1xuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmEge1xuICAgICAgICBncmlkLWNvbHVtbjogY29sIDEgLyBzcGFuIDI7XG4gICAgICAgIGdyaWQtcm93OiByb3c7XG5cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGJyZWFrLW1vYmlsZS1tYXgpIHtcbiAgICAgICAgICBAaW5jbHVkZSBhc3BlY3QtcmF0aW8oNzEsIDUzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRicmVhay1tb2JpbGUtbWF4KSB7XG4gICAgICAgICAgLy8gQGluY2x1ZGUgYXNwZWN0LXJhdGlvKDIsIDEpO1xuICAgICAgICAgIC8vIGhlaWdodDogNDAwcHg7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuYiB7XG4gICAgICAgIGdyaWQtY29sdW1uOiBjb2wgMyAvIHNwYW4gMTtcbiAgICAgICAgZ3JpZC1yb3c6IHJvdztcblxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkYnJlYWstbW9iaWxlLW1heCkge1xuICAgICAgICAgIGdyaWQtY29sdW1uOiBjb2wgMSAvIHNwYW4gMztcbiAgICAgICAgICBncmlkLWNvbHVtbi1nYXA6IHJlbWlmeSgxNXB4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zdWJncmlkIHtcbiAgICAgICAgICBncmlkLXJvdy1nYXA6IHJlbWlmeSg1MHB4KTtcbiAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IFtjb2xdIGF1dG87XG4gICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBbcm93XSAxZnIgW3Jvd10gMmZyO1xuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRicmVhay1tb2JpbGUtbWF4KSBhbmQgKG1heC13aWR0aDogJGhvbWUtYnJlYWspIHtcbiAgICAgICAgICAgIGdyaWQtcm93LWdhcDogcmVtaWZ5KDI1cHgpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkYnJlYWstbW9iaWxlLW1heCkge1xuICAgICAgICAgICAgZ3JpZC1yb3ctZ2FwOiByZW1pZnkoNTBweCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLm9uZSB7XG4gICAgICAgICAgICBncmlkLWNvbHVtbjogY29sO1xuICAgICAgICAgICAgZ3JpZC1yb3c6IHJvdztcblxuICAgICAgICAgICAgLml0ZW0ge1xuICAgICAgICAgICAgICAuY29udCxcbiAgICAgICAgICAgICAgaDIge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IHJlbWlmeSgyNXB4KSByZW1pZnkoNDBweCk7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAuY29udCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgJHdoaXRlO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkc2h1dHRsZTtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogc2VjdHJhO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgyLjIpO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG5cbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMnMgZWFzZTtcblxuICAgICAgICAgICAgICAgICAgJi5lbWFpbCB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzaHV0dGxlO1xuICAgICAgICAgICAgICAgICAgICAgIGJvdHRvbTogMXB4O1xuICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2U7XG4gICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYnJ1dGU7XG5cbiAgICAgICAgICAgICAgICAgICAgJi5lbWFpbCB7XG4gICAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBoMiB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkc2h1dHRsZTtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJHNlY3RyYTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgyLjIpO1xuXG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICBjb2xvcjogJHNodXR0bGU7XG4gICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAuMnMgZWFzZTtcblxuICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYnJ1dGU7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgLmNvbnQgcCBhIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRzaHV0dGxlO1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBzZWN0cmE7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDIuMik7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLnR3byB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IGNlbnRlcjtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiBjb2w7XG4gICAgICAgICAgICBncmlkLXJvdzogcm93IDI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5jIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IGNvbDtcbiAgICAgICAgZ3JpZC1yb3c6IHJvdyAyO1xuICAgICAgfVxuXG4gICAgICAuZCB7XG4gICAgICAgIEBpbmNsdWRlIGFzcGVjdC1yYXRpbyg4NTEsIDUzMik7XG4gICAgICAgIGdyaWQtY29sdW1uOiBjb2wgMiAvIHNwYW4gMjtcbiAgICAgICAgZ3JpZC1yb3c6IHJvdyAyO1xuICAgICAgfVxuXG4gICAgICAuZSB7XG4gICAgICAgIEBpbmNsdWRlIGFzcGVjdC1yYXRpbyg4NTEsIDUzMik7XG4gICAgICAgIGdyaWQtY29sdW1uOiBjb2wgMSAvIHNwYW4gMjtcbiAgICAgICAgZ3JpZC1yb3c6IHJvdyAzO1xuICAgICAgfVxuXG4gICAgICAuZiB7XG4gICAgICAgIGdyaWQtY29sdW1uOiBjb2wgMyAvIHNwYW4gMTtcbiAgICAgICAgZ3JpZC1yb3c6IHJvdyAzO1xuXG4gICAgICAgIC5zdWJncmlkIHtcbiAgICAgICAgICBncmlkLXJvdy1nYXA6IHJlbWlmeSg1MHB4KTtcbiAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IFtjb2xdIGF1dG87XG4gICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBbcm93XSAxZnIgW3Jvd10gMmZyO1xuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRicmVhay1tb2JpbGUtbWF4KSBhbmQgKG1heC13aWR0aDogJGhvbWUtYnJlYWspIHtcbiAgICAgICAgICAgIGdyaWQtcm93LWdhcDogcmVtaWZ5KDI1cHgpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkYnJlYWstbW9iaWxlLW1heCkge1xuICAgICAgICAgICAgZ3JpZC1yb3ctZ2FwOiByZW1pZnkoMTVweCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLm9uZSB7XG4gICAgICAgICAgICBncmlkLWNvbHVtbjogY29sO1xuICAgICAgICAgICAgZ3JpZC1yb3c6IHJvdztcblxuICAgICAgICAgICAgLmZsZXhtZSB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgICAgICAgICAgID4gKiB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIC5hYSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMzMzMzJSAtIDI1cHgpO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgLmJiIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogY2FsYyg2Ni42NjY2NjY2NjclIC0gMjVweCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGJyZWFrLW1vYmlsZS1tYXgpIGFuZCAobWF4LXdpZHRoOiAkaG9tZS1icmVhaykge1xuICAgICAgICAgICAgICAgIC5hYSB7XG4gICAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygzMy4zMzMzMzMzMzMlIC0gMTIuNXB4KTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuYmIge1xuICAgICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoNjYuNjY2NjY2NjY3JSAtIDEyLjVweCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRicmVhay1tb2JpbGUtbWF4KSB7XG4gICAgICAgICAgICAgICAgLmFhIHtcbiAgICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzMzMzMyUgLSA3LjVweCk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmJiIHtcbiAgICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDY2LjY2NjY2NjY2NyUgLSA3LjVweCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLnR3byB7XG4gICAgICAgICAgICBncmlkLWNvbHVtbjogY29sO1xuICAgICAgICAgICAgZ3JpZC1yb3c6IHJvdyAyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG59XG4iLCJcbi5jdXQtcGFnZSB7XG4gIC5tYXN0aGVhZCB7XG4gICAgLmxvZ28tcm93IHtcblxuICAgICAgLmxvZ28ge1xuICAgICAgICBtYXgtd2lkdGg6IDEzMHB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAudG9yY2gtYW5nbGUge1xuICAgIGhlaWdodDogMzAwcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAuYW5nbGUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJvcmU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg4ZGVnKSB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdG9wOiAxMDAlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgd2lkdGg6IDEyMCU7XG4gICAgfVxuICB9XG5cbiAgLm91dGNvbWVzLWNvbnRlbnQge1xuXG4gICAgLnN0YXRzIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxMC42KTtcbiAgICAgIGZvbnQtZmFtaWx5OiAkaGFwdGlrO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIH1cbiAgICBzcGFuIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuXG4gIC5vdXItY29udHJpYnV0aW9uIHtcbiAgICAuY29udHJpYiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYm9yZTtcbiAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICAgICAgcGFkZGluZy10b3A6IDIwcHg7XG4gICAgfVxuICB9XG59XG4iLCJcbi5leHBlcnRpc2UtcGFnZSB7XG5cbiAgICAuZmlyc3Rfc2VjdGlvbiB7XG4gICAgICAgIGgxIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSg3LjUpO1xuXG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNXB4KSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDUuMyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubWFnaWNfc2VjdGlvbiB7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICB9XG5cbn1cbiIsIlxuXG4uZnJpZW5kcy1wYWdlIHtcblxuICAuc2l0ZS1oZWFkZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAyO1xuXG4gICAgLmZyaWVuZHMtbG9nb21hcmsge1xuICAgICAgc3ZnIHtcbiAgICAgICAgcGF0aCB7XG4gICAgICAgICAgZmlsbDogJGJvcmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYnJlYWRjcnVtYiB7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgIH1cbiAgfVxuXG4gIHNlY3Rpb246bm90KC5zdGFuZGFyZC1jb250YWN0KSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJvcmU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDM7XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkYnJlYWstbW9iaWxlLW1heCkge1xuICAgICAgLnZjIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIC5jbG9zZS1saW5rLWJsb2NrIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmJsb2NrIHtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKCRncmF5LCAuNCk7XG4gICAgICBwYWRkaW5nOiAyNXB4IDA7XG5cbiAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmZlYXR1cmUtaW1nIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiA0MHB4IDAgNzVweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgaW1nIHtcbiAgICAgICAgd2lkdGg6IDMwJTtcbiAgICAgIH1cblxuICAgICAgJi53aWRlIHtcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICB3aWR0aDogODAlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XG4gICAgICBtYXJnaW46IDAgMCAxMHB4O1xuXG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkYnJlYWstbW9iaWxlLW1heCkge1xuICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoNC41KTtcbiAgICAgICAgZm9udC1zaXplOiAxMnZ3O1xuXG4gICAgICAgIC5sb25nIHtcbiAgICAgICAgICBmb250LXNpemU6IDEwLjV2dztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGg0LCBoNSwgaDYge1xuICAgICAgbWFyZ2luLXRvcDogODBweDtcbiAgICB9XG5cbiAgICBwIHtcbiAgICAgIG1hcmdpbjogMTVweCAwO1xuICAgIH1cblxuICAgIC5leHBhbmQtY29udGVudCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAubW9iaWxlLWZpZ3VyZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRicmVhay1tb2JpbGUtbWF4KSB7XG4gICAgICAgIGJvcmRlcjogMTBweCBzb2xpZCAkZ3JheTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHotaW5kZXg6IDUwO1xuXG4gICAgICAgIC5tb2JpbGUtZmlndXJlIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW46IDAgYXV0byAxMHB4O1xuICAgICAgICAgIHdpZHRoOiAzMCU7XG5cbiAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJiA+IC52YyB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgICB3aWR0aDogY2FsYyhcIjEwMCUgLSBcIiAkbW9iaWxlLXNpZGVzICogMik7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLnNsaWRlLW1lZGlhIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgLmNsb3NlLWNhcm91c2VsIHtcbiAgICAgICAgZGlzcGxheTpibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBoZWlnaHQ6IDI1cHg7XG4gICAgICAgIHRvcDogNzVweDtcbiAgICAgICAgcmlnaHQ6ICRtb2JpbGUtc2lkZXM7XG4gICAgICAgIHdpZHRoOiAyNXB4O1xuICAgICAgICB6LWluZGV4OiA1O1xuXG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRicmVhay1tb2JpbGUtbWF4KSB7XG4gICAgICAgICAgdG9wOiAxM3B4O1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGJyZWFrLW1vbmRvKSB7XG4gICAgICAgICAgdG9wOiAxNTBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIGZpZ3VyZSB7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmJsb2NrIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGJyZWFrLW1vYmlsZS1tYXgpIHtcbiAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgcGFkZGluZzogMzBweCAkbW9iaWxlLXNpZGVzIDA7XG4gICAgICAgICAgdG9wOiAwO1xuXG4gICAgICAgICAgLnZjIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgJG1vYmlsZS1zaWRlcyAwO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MyUpO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB3aWR0aDogY2FsYyhcIjEwMCUgLSBcIigkbW9iaWxlLXNpZGVzICogMikpO1xuXG4gICAgICAgICAgICBoNCB7XG4gICAgICAgICAgICAgIG1hcmdpbi10b3A6IDUwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5jdXJyZW50IHtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgIHotaW5kZXg6IDI7XG5cbiAgICAgICAgICAmLmxlZnQge1xuICAgICAgICAgICAgYW5pbWF0aW9uOiBmYWRlSW5SaWdodCAuNHMgZWFzZSBmb3J3YXJkcztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmLnJpZ2h0IHtcbiAgICAgICAgICAgIGFuaW1hdGlvbjogZmFkZUluTGVmdCAuNHMgZWFzZSBmb3J3YXJkcztcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLnByZXZfbGVmdCB7XG4gICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICBhbmltYXRpb246IGZhZGVPdXRSaWdodCAuM3MgZWFzZSBmb3J3YXJkcztcbiAgICAgICAgfVxuXG4gICAgICAgICYucHJldl9yaWdodCB7XG4gICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICBhbmltYXRpb246IGZhZGVPdXRMZWZ0IC4zcyBlYXNlIGZvcndhcmRzO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5jbG9zZS1saW5rLWJsb2NrIHtcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGJyZWFrLW1vYmlsZS1tYXgpIHtcbiAgICAgICAgICBib3R0b206IDUwcHg7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGxlZnQ6ICRtb2JpbGUtc2lkZXM7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoXCIxMDAlIC0gXCIkbW9iaWxlLXNpZGVzICogMik7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkYnJlYWstbW9iaWxlLW1heCkge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLnZjIHtcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGJyZWFrLW1vYmlsZS1tYXgpIHtcbiAgICAgICAgICAuY2xvc2UtbGluay1ibG9jayB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRicmVhay1tb2JpbGUtbWF4KSB7XG5cbiAgICAgICAgICBwIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogNDEwcHg7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLmNsb3NlLWxpbmstYmxvY2sge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGJyZWFrLW1vbmRvKSB7XG4gICAgICAgICAgcCB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDUyMHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuZXhwYW5kLW5hdiB7XG4gICAgICAgIGhlaWdodDogMjVweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206NzVweDtcbiAgICAgICAgd2lkdGg6IGNhbGMoXCIxMDAlIC0gXCIkbW9iaWxlLXNpZGVzICogMik7XG4gICAgICAgIHotaW5kZXg6IDEwO1xuXG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRicmVhay1tb2JpbGUtbWF4KSB7XG4gICAgICAgICAgYm90dG9tOiAyNXB4O1xuICAgICAgICAgIGxlZnQ6ICRtb2JpbGUtc2lkZXM7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkYnJlYWstbW9uZG8pIHtcbiAgICAgICAgICBib3R0b206IDE1MHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgb3V0cHV0IHtcbiAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMS40KTtcbiAgICAgICAgICBmb250LWZhbWlseTogJGhhcHRpaztcbiAgICAgICAgICBmb250LXdlaWdodDogMTAwO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgICAgdHJhbnNmb3JtOiBwcmVzZXJ2ZS0zZDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5yaWdodC1hcnIsIC5sZWZ0LWFyciB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGhlaWdodDogMjVweDtcblxuICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5yaWdodC1hcnIge1xuICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRicmVhay1tb2JpbGUtbWF4KSB7XG4gICAgICAgIC5jbG9zZS1jYXJvdXNlbCB7XG4gICAgICAgICAgcmlnaHQ6ICR0YWJsZXQtc2lkZXM7XG4gICAgICAgIH1cblxuICAgICAgICAuZXhwYW5kLW5hdiB7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoXCIxMDAlIC0gXCIkdGFibGV0LXNpZGVzICogMik7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGJyZWFrLXRhYmxldCkge1xuICAgICAgICAuY2xvc2UtY2Fyb3VzZWwge1xuICAgICAgICAgIHJpZ2h0OiAkZGVza3RvcC1zaWRlcztcbiAgICAgICAgfVxuXG4gICAgICAgIC5leHBhbmQtbmF2IHtcbiAgICAgICAgICB3aWR0aDogY2FsYyhcIjEwMCUgLSBcIiRkZXNrdG9wLXNpZGVzICogMik7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGJyZWFrLW1vbmRvKSB7XG4gICAgICAgIC5jbG9zZS1jYXJvdXNlbCB7XG4gICAgICAgICAgcmlnaHQ6ICRtb25kby1zaWRlcztcbiAgICAgICAgfVxuXG4gICAgICAgIC5leHBhbmQtbmF2IHtcbiAgICAgICAgICB3aWR0aDogY2FsYyhcIjEwMCUgLSBcIiRtb25kby1zaWRlcyAqIDIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5pbnRybyB7XG4gICAgICBiYWNrZ3JvdW5kOiAkb3JhbmdlO1xuICAgICAgY29sb3I6ICRicnV0ZTtcbiAgICAgIHotaW5kZXg6IDE7XG5cbiAgICAgIC53cmFwcGVyIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBwYWRkaW5nOiB7XG4gICAgICAgICAgdG9wOiAxMzVweDtcbiAgICAgICAgICBib3R0b206IDc1cHg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmZlYXR1cmUtaW1nIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICB3aWR0aDogMTAwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaDEge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICB6LWluZGV4OiAxO1xuXG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRicmVhay1tb2JpbGUtbWF4KSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxMXZ3O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHAge1xuICAgICAgICBtYXJnaW46IDAgMCA0NXB4O1xuICAgICAgfVxuXG4gICAgICAub2ZmZXJpbmcge1xuICAgICAgICBjb2xvcjogJG9yYW5nZTtcbiAgICAgIH1cblxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGJyZWFrLW1vbmRvKSB7XG4gICAgICAgIC53cmFwcGVyID4gLnZjIHtcbiAgICAgICAgICBoMSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoNi4wKTtcbiAgICAgICAgICAgIG1heC13aWR0aDogNTAwcHg7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcCB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDQ4MHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYud2hhdC1kbyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG5cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRicmVhay1tb2JpbGUtbWF4KSB7XG4gICAgICAgIC53cmFwcGVyID4gLnZjIHtcbiAgICAgICAgICBoMiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoNi4wKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBwIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogNDUwcHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5zdWJ0aXRsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG5cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGJyZWFrLW1vYmlsZS1tYXgpIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiA4NXB4O1xuICAgICAgICB9XG5cbiAgICAgIH1cblxuICAgICAgLmZlYXR1cmUtaW1nIHtcbiAgICAgICAgbWFyZ2luLXRvcDogNDBweDtcblxuICAgICAgICBpbWcge1xuICAgICAgICAgIHdpZHRoOiA4MCU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaDEsIGgyLCBoMywgaDQge1xuICAgICAgICBtYXJnaW4tdG9wOiA1MHB4O1xuICAgICAgfVxuXG4gICAgICAuZXhwYW5kLWNvbnRlbnQge1xuICAgICAgICBoMiB7XG4gICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDMuMik7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGJyZWFrLW1vYmlsZS1tYXgpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogOHZ3O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHAge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcblxuICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgY29sb3I6ICRncmF5O1xuICAgICAgICAgIH1cblxuICAgICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLndobyB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYnJ1dGU7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuXG5cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRicmVhay1tb2JpbGUtbWF4KSB7XG4gICAgICAgIC53cmFwcGVyID4gLnZjIHtcbiAgICAgICAgICBoMyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoNi4wKTtcbiAgICAgICAgICAgIG1heC13aWR0aDogMzUwcHg7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcCB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDM1MHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkYnJlYWstbW9uZG8pIHtcbiAgICAgICAgLndyYXBwZXIgPiAudmMge1xuICAgICAgICAgIGgzIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSg2LjApO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA1NTBweDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBwIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogNDIwcHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cblxuICAgICAgLnN1YnRpdGxlIHtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgICB9XG5cbiAgICAgIC5mZWF0dXJlLWltZyB7XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICB3aWR0aDogODAlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGgyLCBoMywgcCB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICB9XG5cbiAgICAgIC5leHBhbmQtY29udGVudCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRicnV0ZTtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmhvdy13ZS13b3JrIHtcbiAgICAgIGJvcmRlcjogbm9uZTtcblxuICAgICAgLmV4cGFuZC1jb250ZW50IHtcbiAgICAgICAgYmFja2dyb3VuZDogJGJvcmU7XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRicmVhay1tb2JpbGUtbWF4KSB7XG4gICAgICAgIGgyIHtcbiAgICAgICAgICBmb250LXNpemU6IDExdnc7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGJyZWFrLW1vYmlsZS1tYXgpIHtcbiAgICAgICAgLndyYXBwZXIgPiAudmMge1xuICAgICAgICAgIGgyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSg1LjApO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA0MjBweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGJyZWFrLXRhYmxldCkge1xuICAgICAgICAud3JhcHBlciA+IC52YyB7XG4gICAgICAgICAgaDIge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDUuMSk7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDQ1MHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkYnJlYWstbW9uZG8pIHtcbiAgICAgICAgLndyYXBwZXIgPiAudmMge1xuICAgICAgICAgIGgyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSg2LjApO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA0ODBweDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBwIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogNTAwcHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zdG9yeSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG5cbiAgICAgIGgyLCBwIHtcbiAgICAgICAgY29sb3I6ICRicnV0ZTtcbiAgICAgIH1cblxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGJyZWFrLW1vYmlsZS1tYXgpIHtcbiAgICAgICAgLndyYXBwZXIgPiAudmMge1xuICAgICAgICAgIGgyIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogNTAwcHg7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcCB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDUwMHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkYnJlYWstbW9uZG8pIHtcbiAgICAgICAgLndyYXBwZXIgPiAudmMge1xuICAgICAgICAgIGgyIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogNTAwcHg7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcCB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDUwMHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYuYmlvcyB7XG4gICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG5cbiAgICAgIC53cmFwcGVyIHtcbiAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgfVxuXG4gICAgICAuYmlvIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgaGVhZGVyIHtcbiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgIGhlaWdodDogMzUwcHg7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkYnJlYWstbW9uZG8pIHtcbiAgICAgICAgICAgIGhlaWdodDogNTAwcHg7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAuYmctaW1nIHtcbiAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuYmctaW1nIHtcbiAgICAgICAgICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICAgICAgICB0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC5wYWRkaW5nIHtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC5wb3NpdGlvbmluZyB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaDUsIHNwYW4ge1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBoNSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAxMHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGFydGljbGUge1xuICAgICAgICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgLjRzIGVhc2U7XG4gICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgICAgIC5jb250ZW50IHtcbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRicmVhay1tb25kbykge1xuICAgICAgICAgICAgICBtYXgtd2lkdGg6IDgwMHB4O1xuICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmLmNsb3NlZCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAwO1xuXG4gICAgICAgICAgICAmICoge1xuICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICBhbmltYXRpb246IGZhZGVPdXQgLjVzIGVhc2UgZm9yd2FyZHM7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi5vcGVuIHtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDkwMDBweDtcblxuICAgICAgICAgICAgJiAqIHtcbiAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgICAgYW5pbWF0aW9uOiBmYWRlSW4gLjhzIGVhc2UgZm9yd2FyZHM7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgc2VjdGlvbi5zdGFuZGFyZC1jb250YWN0IHtcbiAgICAuYmxvY2s6bm90KC5kYXZpZCkge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRicmVhay1tb2JpbGUtbWF4KSB7XG5cbiAgICAuc2l0ZS1oZWFkZXIge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICB6LWluZGV4OiAxMTtcblxuICAgICAgLmZyaWVuZHMtbG9nb21hcmsge1xuICAgICAgICBzdmcge1xuICAgICAgICAgIHBhdGgge1xuICAgICAgICAgICAgZmlsbDogJG5ld2dyYXk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIHBhdGgge1xuICAgICAgICAgICAgICBmaWxsOiAkYm9yZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBzZWN0aW9uIHtcbiAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogMTtcblxuICAgICAgLmJsb2NrIHtcbiAgICAgICAgcGFkZGluZzogNjJweCAwO1xuICAgICAgfVxuXG5cbiAgICAgIC53cmFwcGVyIHtcbiAgICAgICAgY29sb3I6ICRicnV0ZTtcbiAgICAgICAgbWluLWhlaWdodDogMTAwdmg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAuZmVhdHVyZS1pbWcge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLnZjIHtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICB0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBoMSwgaDIsIGgzLCBoNCwgaDUge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5pbnRybyB7XG4gICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRib3JlO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgLndyYXBwZXIge1xuICAgICAgICAgIHBhZGRpbmctdG9wOiAxMTBweDtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNzVweDtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgICAgLmZlYXR1cmUtaW1nIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgaDEge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XG4gICAgICAgICAgY29sb3I6ICRvcmFuZ2U7XG4gICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDUuMCk7XG4gICAgICAgICAgbWF4LXdpZHRoOiA0MDBweDtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgfVxuXG4gICAgICAgIHAge1xuICAgICAgICAgIG1heC13aWR0aDogNDAwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi53aGF0LWRvIHtcbiAgICAgICAgLmV4cGFuZC1jb250ZW50IHtcbiAgICAgICAgICBoMiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoNC4wKTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcCAuYWx0IHtcbiAgICAgICAgICAgIGNvbG9yOiAkZ3JheTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi53aG8ge1xuICAgICAgICBoZWlnaHQ6IDExMHZoO1xuXG5cbiAgICAgICAgLmV4cGFuZC1saW5rLWJsb2NrIHtcbiAgICAgICAgICBhIHtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgIGZpZ3VyZSB7XG4gICAgICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICAgIHBhdGgge1xuICAgICAgICAgICAgICAgICAgICBmaWxsOiAkb3JhbmdlO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmNsb3NlLWNhcm91c2VsIHtcbiAgICAgICAgICB0b3A6IDExJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5leHBhbmQtbmF2IHtcbiAgICAgICAgICBib3R0b206IDExJTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRicmVhay1tb25kbykge1xuICAgICAgICAgIC5jbG9zZS1jYXJvdXNlbCB7XG4gICAgICAgICAgICB0b3A6IDE1JTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuZXhwYW5kLW5hdiB7XG4gICAgICAgICAgICBib3R0b206IDE1JTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5ob3ctd2Utd29yayB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYm9yZTtcbiAgICAgIH1cblxuICAgICAgJi5zdG9yeSB7XG4gICAgICAgIC53cmFwcGVyID4gLnZjIHtcbiAgICAgICAgICBoMiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoNi4wKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5iaW9zIHtcbiAgICAgICAgLmJpbyB7XG4gICAgICAgICAgaGVhZGVyIHtcbiAgICAgICAgICAgIGg1IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgfVxuICB9XG59XG4iLCIuaG9tZXBhZ2Uge1xuXG5cdEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMDFweCkge1xuXHRcdC5nb19sZWZ0LCAuZ29fcmlnaHQge1xuXHRcdFx0Ly8gdHJhbnNpdGlvbjogdHJhbnNmb3JtIC41cyBjdWJpYy1iZXppZXIoMC4wODUsIDAuMjUwLCAwLjMwMCwgMC42ODApO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC41cyBjdWJpYy1iZXppZXIoMC4xOSwgMSwgMC4yMiwgMSk7XG5cdFx0fVxuXG5cdFx0LmdvX2xlZnQge1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDE1cHgpIHRyYW5zbGF0ZVkoMTVweCk7XG5cdFx0fVxuXG5cdFx0LmdvX3JpZ2h0IHtcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTVweCkgdHJhbnNsYXRlWSgxNXB4KTtcblx0XHR9XG5cblx0XHQubm9ybXkge1xuICAgICAgLmdvX2xlZnQsIC5nb19yaWdodCB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKSB0cmFuc2xhdGVZKDApO1xuICAgICAgfVxuXHRcdH1cblx0fVxuXG5cblxuXHRzZWN0aW9uOm5vdCgucGFnZV9oZWFkaW5nKSB7XG5cdFx0cGVyc3BlY3RpdmU6IDEwMDBweDtcblx0fVxuXG5cdC5wYWdlX2hlYWRpbmcge1xuXHRcdHBhZGRpbmctYm90dG9tOiByZW1pZnkoOTBweCk7XG5cdFx0cGFkZGluZy10b3A6IHJlbWlmeSgxNTBweCk7XG5cdFx0d2lkdGg6IDEwMCU7XG5cbiAgICAuaG9sZGVyIHtcbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG4gICAgICB9XG4gICAgfVxuXG5cdFx0aDEge1xuXHRcdFx0QGluY2x1ZGUgZm9udC1zaXplKDgpO1xuXHRcdFx0bWFyZ2luLXRvcDogMDtcblx0XHRcdG1hcmdpbi1ib3R0b206IHJlbWlmeSgzNXB4KTtcblx0XHRcdG1heC13aWR0aDogNTAwcHg7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KSBzY2FsZSgxKTtcblx0XHRcdHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuXHRcdFx0Ly8gdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQ7XG5cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgyMCk7XG4gICAgICB9XG5cblx0XHRcdGEge1xuXHRcdFx0XHRjb2xvcjogJGJydXRlO1xuXHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdC8vIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0O1xuXG5cdFx0XHRcdC5hcnJvdyB7XG5cdFx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTdweCk7XG5cdFx0XHRcdFx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcblxuXHRcdFx0XHRcdHN2ZyB7XG5cdFx0XHRcdFx0XHRwYXRoIHtcblx0XHRcdFx0XHRcdFx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQ7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHQuYXJyb3cge1xuXHRcdFx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtN3B4KSB0cmFuc2xhdGVYKDVweCk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExMDBweCkge1xuXHRcdFx0XHRAaW5jbHVkZSBmb250LXNpemUoNik7XG5cdFx0XHR9XG5cdFx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MDBweCkge1xuXHRcdFx0XHRAaW5jbHVkZSBmb250LXNpemUoNCk7XG5cblx0XHRcdFx0YSB7XG5cdFx0XHRcdFx0LmFycm93IHtcblx0XHRcdFx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgycHgpO1xuXHRcdFx0XHRcdFx0d2lkdGg6IDMwcHg7XG5cblx0XHRcdFx0XHRcdHN2ZyB7XG5cdFx0XHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdHNtYWxsIHtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0QGluY2x1ZGUgZm9udC1zaXplKDEuNSk7XG5cdFx0XHRmb250LWZhbWlseTogJHJvYm90bztcblx0XHRcdGxpbmUtaGVpZ2h0OiAxLjY7XG5cdFx0XHRtYXgtd2lkdGg6IDQwMHB4O1xuXHRcdH1cblx0fVxuXG5cdC5idG5faG9tZSB7XG5cdFx0Ym90dG9tOiA0NXB4O1xuXHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0bGVmdDogNTBweDtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG5cdFx0d2lkdGg6IGNhbGMoMTAwJSAtIDEwMHB4KTtcblx0XHR6LWluZGV4OiAyO1xuXHR9XG5cblx0LmNvcHkge1xuXHRcdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuXHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdFx0LnN1YnRpdGxlIHtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRmb250LWZhbWlseTogJHJvYm90bztcblx0XHRcdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdFx0XHRAaW5jbHVkZSBmb250LXNpemUoMS4yKTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG5cdFx0XHRsaW5lLWhlaWdodDogMTtcblx0XHRcdHBhZGRpbmc6IDAgcmVtaWZ5KDUwcHgpO1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0dG9wOiA1MHB4O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuXHRcdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGJyZWFrLW1vYmlsZSkge1xuXHRcdFx0XHRwYWRkaW5nOiAwIHJlbWlmeSgzMHB4KTtcblx0XHRcdH1cblxuXHRcdFx0ZW0ge1xuXHRcdFx0XHRjb2xvcjogJGJsYWNrO1xuXHRcdFx0XHRmb250LXdlaWdodDogbm9ybWFsO1xuXHRcdFx0XHRwYWRkaW5nLWxlZnQ6IHJlbWlmeSgxNXB4KTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQuY29udGVudCB7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRtYXgtaGVpZ2h0OiAxMDAlO1xuXG5cdFx0XHRoMiB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogM3Z3O1xuXHRcdFx0XHRmb250LXdlaWdodDogNDAwO1xuXHRcdFx0XHRsaW5lLWhlaWdodDogMS4yO1xuXHRcdFx0XHRsZWZ0OiAwO1xuXHRcdFx0XHRwYWRkaW5nOiAwIHJlbWlmeSg1MHB4KTtcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHR0b3A6IDUwJTtcblx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC02MCUpO1xuXHRcdFx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkYnJlYWstbW9iaWxlKSB7XG5cdFx0XHRcdFx0cGFkZGluZzogMCByZW1pZnkoMzBweCk7XG5cdFx0XHRcdH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAwMHB4KSB7XG4gICAgICAgICAgZm9udC1zaXplOiA0dnc7XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHNpdGUtY29uc3RyYWludCkge1xuICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSg0LjQpO1xuICAgICAgICB9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0c2VjdGlvbiB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdFx0LmNvbnRlbnRfaXRlbSB7XG5cdFx0XHQvLyB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuXHRcdFx0Ly8gYm94LXNoYWRvdzogMCAwIDAgMCByZ2JhKDAsIDAsIDAsIDApO1xuXHRcdFx0Ly8gdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcblx0XHRcdC8vIHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XG5cdFx0fVxuXG4gICAgLmNvbnRlbnRfaXRlbSwgLmNvbnRlbnQge1xuICAgICAgYSBoMiB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgICAgICAuYnRuIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgaDIge1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMy4xcmVtICFpbXBvcnRhbnQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cblxuICAgICAgfVxuICAgIH1cblxuXHRcdCYucmlnaHRfY29udGVudCB7XG5cdFx0XHR6LWluZGV4OiAxO1xuXG5cdFx0XHQmLmZpcnN0IHtcblx0XHRcdFx0ei1pbmRleDogMztcblx0XHRcdH1cblxuXHRcdFx0LmNvbnRlbnRfaXRlbSB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRncmF5O1xuXHRcdFx0XHRib3R0b206IC0xMDBweDtcblx0XHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdHJpZ2h0OiAwO1xuXHRcdFx0XHR3aWR0aDogY2FsYygzMy4zMzMzMzMzMzMlIC0gMzMuMzMzMzMzMzMzcHgpO1xuXHRcdFx0XHR6LWluZGV4OiAyO1xuXG5cdFx0XHRcdC5jb3B5IHtcblx0XHRcdFx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0XHRcdFx0bWFyZ2luOiAwO1xuXG5cdFx0XHRcdFx0LmNvbnRlbnQge1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcblx0XHRcdFx0XHRcdGhlaWdodDogMTAwJTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0Lm1lZGlhX2l0ZW0ge1xuXHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdHotaW5kZXg6IDE7XG5cdFx0XHRcdGhlaWdodDogNzB2aDtcbiAgICAgICAgbWluLWhlaWdodDogNTMwcHg7XG5cdFx0XHRcdG1heC1oZWlnaHQ6IDYwMHB4O1xuXHRcdFx0XHR3aWR0aDogODUlO1xuXG5cdFx0XHRcdC5jb250ZW50IHtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXHRcdFx0XHRcdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0XHRcdFx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0XHRcdFx0bGVmdDogMDtcblx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdFx0dG9wOiAwO1xuXHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgJi5yaWdodF9zaWRlIHtcbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgYm90dG9tO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQmLm1hcmdpbl90b3Age1xuXHRcdFx0XHRtYXJnaW4tdG9wOiByZW1pZnkoMjAwcHgpO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCYubGVmdF9jb250ZW50IHtcblx0XHRcdG1hcmdpbi10b3A6IHJlbWlmeSgxMDBweCk7XG5cdFx0XHR6LWluZGV4OiAyO1xuXG5cdFx0XHQuY29udGVudF9pdGVtIHtcblx0XHRcdFx0aGVpZ2h0OiA3MHZoO1xuICAgICAgICBtaW4taGVpZ2h0OiA1MzBweDtcblx0XHRcdFx0bWF4LWhlaWdodDogNjAwcHg7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXG5cdFx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYnJ1dGU7XG5cdFx0XHRcdFx0Y29udGVudDogXCJcIjtcblx0XHRcdFx0XHRsZWZ0OiAwO1xuXHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0XHR0b3A6IDA7XG5cdFx0XHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0XHRcdHdpZHRoOiBjYWxjKDY2LjY2NjY2NjY2NyUgKyAzMy4zMzMzMzMzMzNweCk7XG5cdFx0XHRcdFx0d2lkdGg6IDYwJTtcblx0XHRcdFx0XHR6LWluZGV4OiAxO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0LmNvcHkge1xuXHRcdFx0XHRcdGhlaWdodDogMTAwJTtcblx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0XHRcdHdpZHRoOiBjYWxjKDMzLjMzMzMzMzMzMyUgLSAzMy4zMzMzMzMzMzNweCk7XG5cdFx0XHRcdFx0ei1pbmRleDogMjtcblxuXHRcdFx0XHRcdC5jb250ZW50IHtcblx0XHRcdFx0XHRcdGhlaWdodDogMTAwJTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGJyZWFrLW1vYmlsZSkge1xuXHRcdFx0XHRcdFx0bWF4LXdpZHRoOiAxMDAlO1xuXHRcdFx0XHRcdFx0bWluLXdpZHRoOiBhdXRvO1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdC5zdWJ0aXRsZSB7XG5cdFx0XHRcdFx0XHRlbSB7XG5cdFx0XHRcdFx0XHRcdGNvbG9yOiAkZ3JheTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0Lm1lZGlhX2l0ZW0ge1xuXHRcdFx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0XHRcdGJvdHRvbTogLTEwMHB4O1xuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdHJpZ2h0OiAwO1xuXHRcdFx0XHR3aWR0aDogNjYuNjY2NjY2NjY3JTtcblxuXHRcdFx0XHQudmlkZW9fY29udGFpbmVyIHtcblx0XHRcdFx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0XHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cblx0XHRcdFx0XHQudmlkZW9fcGxheWVyIHtcblx0XHRcdFx0XHRcdGxlZnQ6IDUwJTtcblx0XHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0XHRcdHRvcDogNTAlO1xuXHRcdFx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG5cdFx0XHRcdFx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0XHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0XHRcdG9iamVjdC1maXQ6IGNvdmVyO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXG4gICAgICAgIC5jb250ZW50IHtcbiAgICAgICAgICBAZXh0ZW5kICViZ2NvdmVyO1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCYudHdvX2NhcmRzIHtcblx0XHRcdG1hcmdpbjogcmVtaWZ5KDEwMHB4KSAwIDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTpyZW1pZnkoMjAwcHgpO1xuXG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDAwcHgpIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbWlmeSg1MHB4KTtcbiAgICAgIH1cblxuXHRcdFx0LnJvdyB7XG5cdFx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgaGVpZ2h0OiA3MHZoO1xuICAgICAgICBtaW4taGVpZ2h0OiA1MzBweDtcblx0XHRcdFx0bWF4LWhlaWdodDogNjAwcHg7XG5cblx0XHRcdFx0JjphZnRlcixcblx0XHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuICAgICAgLm1lZGlhX2l0ZW0ge1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB0b3A6MDtcbiAgICAgICAgbGVmdDogMTAwcHg7XG4gICAgICAgIHdpZHRoOiBjYWxjKDY2LjY2NjY2NjY2NiUgLSAxNjYuNjY2NjY2NjY3cHgpO1xuICAgICAgICB6LWluZGV4OiAxO1xuXG5cdFx0XHRcdGEge1xuXHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdGhlaWdodDogMTAwJTtcblx0XHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0fVxuICAgICAgfVxuXG5cdFx0XHQuY2FyZCB7XG5cdFx0XHRcdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cdFx0XHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdFx0XHRcdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcblx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0b3A6IDEwMHB4O1xuXHRcdFx0XHR3aWR0aDogY2FsYygzMy4zMzMzMzMzMzMlIC0gMzMuMzMzMzMzMzMzcHgpO1xuICAgICAgICB6LWluZGV4OiAyO1xuXG5cdFx0XHRcdC5jb3B5IHtcblx0XHRcdFx0XHRwYWRkaW5nOiByZW1pZnkoNDVweCk7XG5cdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRcdGhlaWdodDogMTAwJTtcblx0XHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0XHR6LWluZGV4OiAyO1xuXG5cdFx0XHRcdFx0LnN1YnRpdGxlIHtcblx0XHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdFx0cGFkZGluZzogMDtcblx0XHRcdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdFx0XHRcdHRvcDogYXV0bztcblx0XHRcdFx0XHRcdGxlZnQ6IGF1dG87XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0LmNvbnRlbnQge1xuXHRcdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRcdFx0cGFkZGluZzogMCByZW1pZnkoNDVweCk7XG5cdFx0XHRcdFx0XHR0b3A6IDUwJTtcblx0XHRcdFx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRcdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTc1JSk7XG5cblx0XHRcdFx0XHRcdGgyIHtcbiAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcblx0XHRcdFx0XHRcdFx0Ly8gZm9udC1zaXplOiAyLjV2dztcblx0XHRcdFx0XHRcdFx0cGFkZGluZzogMDtcblx0XHRcdFx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHRcdFx0XHR0b3A6IGF1dG87XG5cdFx0XHRcdFx0XHRcdGxlZnQ6IGF1dG87XG5cdFx0XHRcdFx0XHRcdHRyYW5zZm9ybTogbm9uZTtcblxuICAgICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkYnJlYWstZXh0cmVtZSkge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSg0LjQpO1xuICAgICAgICAgICAgICB9XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0LmJ0biB7XG5cdFx0XHRcdFx0XHRib3R0b206IDQ1cHg7XG5cdFx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdFx0XHRsZWZ0OiA0NXB4O1xuXHRcdFx0XHRcdFx0d2lkdGg6IGNhbGMoMTAwJSAtIDkwcHgpO1xuXHRcdFx0XHRcdFx0cGFkZGluZy1yaWdodDogMDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQubWVkaWEge1xuXHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRicnV0ZTtcblx0XHRcdFx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0XHRcdFx0bGVmdDogMDtcblx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdFx0dG9wOiAwO1xuXHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRcdHotaW5kZXg6IDE7XG5cblx0XHRcdFx0XHRmaWd1cmUge1xuXHRcdFx0XHRcdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuXHRcdFx0XHRcdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0XHRcdFx0XHRcdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cdFx0XHRcdFx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0XHRcdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0XHRcdFx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG5cdFx0XHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cbiAgICAmLmRhbmRlbGlvbl90aGVtZSB7XG4gICAgICAuY29udGVudF9pdGVtIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGRhbmRlbGlvbjtcblxuICAgICAgICAuY29weSB7XG4gICAgICAgICAgLnN1YnRpdGxlIHtcbiAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG5cbiAgICAgICAgICAgIGVtIHtcbiAgICAgICAgICAgICAgY29sb3I6ICRmbGFtZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuY29udGVudCB7XG4gICAgICAgICAgICBjb2xvcjogJGZsYW1lO1xuXG4gICAgICAgICAgICBoMiB7XG4gICAgICAgICAgICAgIGNvbG9yOiAkZmxhbWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODAwcHgpIHtcbiAgICAgICAgICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiAkaGVhdGhlcjtcblx0XHRcdFx0XHQvL1xuICAgICAgICAgIC8vIC5jb3B5IHtcbiAgICAgICAgICAvLyAgIC5zdWJ0aXRsZSB7XG4gICAgICAgICAgLy8gICAgIGVtIHtcbiAgICAgICAgICAvLyAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgIC8vICAgICB9XG4gICAgICAgICAgLy8gICB9XG5cdFx0XHRcdFx0Ly9cbiAgICAgICAgICAvLyAgIC5jb250ZW50IHtcbiAgICAgICAgICAvLyAgICAgY29sb3I6ICR3aGl0ZTtcblx0XHRcdFx0XHQvL1xuICAgICAgICAgIC8vICAgICBoMiB7XG4gICAgICAgICAgLy8gICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAvLyAgICAgfVxuICAgICAgICAgIC8vICAgfVxuICAgICAgICAgIC8vIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYuY29tb190aGVtZSB7XG4gICAgICAuY29udGVudF9pdGVtIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbW87XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5kYXJrYmx1ZV90aGVtZSB7XG4gICAgICAuc3VidGl0bGUge1xuICAgICAgICBlbSB7XG4gICAgICAgICAgY29sb3I6ICRncmF5O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuY29udGVudF9pdGVtIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGRhcmtibHVlO1xuICAgICAgfVxuXG4gICAgfVxuXG5cdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE1MHB4KSB7XG5cdFx0XHQmLnJpZ2h0X2NvbnRlbnQge1xuXHRcdFx0XHQuY29udGVudF9pdGVtIHtcblx0XHRcdFx0XHR3aWR0aDogY2FsYygzMy4zMzMzMzMzMzMlIC0gMTYuNjY2NjY2NjY3cHgpO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0Lm1lZGlhX2l0ZW0ge1xuXHRcdFx0XHRcdGhlaWdodDogNTB2aDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQmLmxlZnRfY29udGVudCB7XG5cdFx0XHRcdC5jb250ZW50X2l0ZW0ge1xuXHRcdFx0XHRcdGhlaWdodDogNTB2aDtcblxuXHRcdFx0XHRcdC5jb3B5IHtcblx0XHRcdFx0XHRcdHdpZHRoOiBjYWxjKDMzLjMzMzMzMzMzMyUgLSAxNi42NjY2NjY2NjdweCk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cblx0XHRcdFx0Lm1lZGlhX2l0ZW0ge1xuXHRcdFx0XHRcdHdpZHRoOiBjYWxjKDY2LjY2NjY2NjY2NyUgLSAxNi42NjY2NjY2NjdweCk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0Ji50d29fY2FyZHMge1xuICAgICAgICAucm93IHtcbiAgICAgICAgICBoZWlnaHQ6IDUwdmg7XG4gICAgICAgICAgbWluLWhlaWdodDogNTMwcHg7XG4gICAgICAgICAgbWF4LWhlaWdodDogNjAwcHg7XG4gICAgICAgIH1cblxuXHRcdFx0XHQuY2FyZCB7XG5cdFx0XHRcdFx0d2lkdGg6IGNhbGMoMzMuMzMzMzMzMzMzJSAtIDE2LjY2NjY2NjY2N3B4KTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMDBweCkge1xuXHRcdFx0Ji5yaWdodF9jb250ZW50IHtcblx0XHRcdFx0LmNvbnRlbnRfaXRlbSB7XG5cdFx0XHRcdFx0Ym90dG9tOiAwO1xuXHRcdFx0XHRcdHdpZHRoOiA1MCU7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQubWVkaWFfaXRlbSB7XG5cdFx0XHRcdFx0d2lkdGg6IDUwJTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdCYubWFyZ2luX3RvcCB7XG5cdFx0XHRcdFx0bWFyZ2luLXRvcDogcmVtaWZ5KDcwcHgpO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdCYubGVmdF9jb250ZW50IHtcblx0XHRcdFx0bWFyZ2luLXRvcDogcmVtaWZ5KDcwcHgpO1xuXG5cdFx0XHRcdC5jb250ZW50X2l0ZW0ge1xuXHRcdFx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0XHRcdHdpZHRoOiA1MCU7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0LmNvcHkge1xuXHRcdFx0XHRcdFx0d2lkdGg6IDUwJTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQubWVkaWFfaXRlbSB7XG5cdFx0XHRcdFx0Ym90dG9tOiAwO1xuXHRcdFx0XHRcdHdpZHRoOiA1MCU7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0Ji50d29fY2FyZHMge1xuXHRcdFx0XHRtYXJnaW46IHJlbWlmeSg3MHB4KSAwIDA7XG5cblx0XHRcdFx0PiAucm93IHtcblx0XHRcdFx0XHQvLyBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICBtaW4taGVpZ2h0OiBhdXRvO1xuICAgICAgICAgIG1heC1oZWlnaHQ6IG5vbmU7XG5cdFx0XHRcdH1cblxuICAgICAgICAubWVkaWFfaXRlbSB7XG4gICAgICAgICAgdG9wOjA7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgLy8gbWluLWhlaWdodDogNDAwcHg7XG4gICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICAgIGhlaWdodDogNTB2aDtcbiAgICAgICAgICBtaW4taGVpZ2h0OiA1MzBweDtcbiAgICAgICAgICBtYXgtaGVpZ2h0OiA2MDBweDtcbiAgICAgICAgfVxuXG5cdFx0XHRcdC5jYXJkIHtcblx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiByZW1pZnkoNzBweCk7XG5cdFx0XHRcdFx0Ly8gbWluLWhlaWdodDogNDAwcHg7XG4gICAgICAgICAgaGVpZ2h0OjEwMCU7XG4gICAgICAgICAgdG9wOiBhdXRvO1xuXHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xuICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgaGVpZ2h0OiA1MHZoO1xuICAgICAgICAgIG1pbi1oZWlnaHQ6IDUzMHB4O1xuICAgICAgICAgIG1heC1oZWlnaHQ6IDYwMHB4O1xuXG5cdFx0XHRcdFx0JjpsYXN0LW9mLXR5cGUge1xuXHRcdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHQubWVkaWEge1xuXHRcdFx0XHRcdFx0d2lkdGg6IDUwJTtcblxuICAgICAgICAgICAgZmlndXJlIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDIlIGF1dG87XG4gICAgICAgICAgICB9XG5cdFx0XHRcdFx0fVxuXG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAubWVkaWEgZmlndXJlIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDUlIGF1dG87XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG5cdFx0XHRcdFx0LmNvcHkge1xuXHRcdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHNpc2FsO1xuXHRcdFx0XHRcdFx0cmlnaHQ6IDA7XG5cdFx0XHRcdFx0XHR0b3A6IDA7XG5cdFx0XHRcdFx0XHR3aWR0aDogNTAlO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgwMHB4KSB7XG5cbiAgICAgICYucmlnaHRfY29udGVudCB7XG4gICAgICAgICYubWFyZ2luX3RvcCB7XG5cdFx0XHRcdFx0bWFyZ2luLXRvcDogcmVtaWZ5KDMwcHgpO1xuXHRcdFx0XHR9XG4gICAgICB9XG5cbiAgICAgICYubGVmdF9jb250ZW50IHtcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtaWZ5KDMwcHgpO1xuICAgICAgfVxuXG4gICAgICAmLnJpZ2h0X2NvbnRlbnQsICYubGVmdF9jb250ZW50IHtcblxuICAgICAgICAubWVkaWFfaXRlbSwgLmNvbnRlbnRfaXRlbSB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAubWVkaWFfaXRlbSB7XG4gICAgICAgICAgaGVpZ2h0OiByZW1pZnkoMzE2cHgpO1xuICAgICAgICAgIG1pbi1oZWlnaHQ6IGF1dG87XG4gICAgICAgICAgbWF4LWhlaWdodDogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jb250ZW50X2l0ZW0ge1xuICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5sZWZ0X2NvbnRlbnQge1xuXG4gICAgICAgID4gLnJvdyB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBmbGV4LXdyYXA6IHdyYXAtcmV2ZXJzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5tZWRpYV9pdGVtLCAuY29udGVudF9pdGVtIHtcbiAgICAgICAgICBtaW4taGVpZ2h0OiBhdXRvO1xuICAgICAgICAgIG1heC1oZWlnaHQ6IG5vbmU7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAubWVkaWFfaXRlbSB7XG4gICAgICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgIC5jb250ZW50X2l0ZW0ge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC5jb3B5IHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLmxlZnRfY29udGVudCwgJi5yaWdodF9jb250ZW50IHtcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtaWZ5KDMwcHgpO1xuXG4gICAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLnR3b19jYXJkcyB7XG4gICAgICAgIG1hcmdpbjogcmVtaWZ5KDMwcHgpIDAgMDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbWlmeSgzMHB4KTtcblxuICAgICAgICAubWVkaWFfaXRlbSB7XG4gICAgICAgICAgaGVpZ2h0OiByZW1pZnkoMzE2cHgpO1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBtaW4taGVpZ2h0OiBhdXRvO1xuICAgICAgICAgIG1heC1oZWlnaHQ6IG5vbmU7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICAuY2FyZCB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtaWZ5KDMwcHgpO1xuICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICBtaW4taGVpZ2h0OiBhdXRvO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgJi5iZ19icnV0ZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwLXJldmVyc2U7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC5tZWRpYSB7XG4gICAgICAgICAgICBoZWlnaHQ6IHJlbWlmeSgzMTZweCk7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgbWF4LWhlaWdodDogbm9uZTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuY29udGVudCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgLmNvcHkge1xuICAgICAgICAgICAgICBwYWRkaW5nOiByZW1pZnkoMzBweCk7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgICAgICAgcmlnaHQ6YXV0bztcblxuICAgICAgICAgICAgICAuYnRuIHtcbiAgICAgICAgICAgICAgICBib3R0b206IGF1dG87XG4gICAgICAgICAgICAgICAgLy8gZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAuY29udGVudCB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IG5vbmU7XG5cbiAgICAgICAgICAgICAgICBoMiB7XG4gICAgICAgICAgICAgICAgICBtYXJnaW46IHJlbWlmeSgyMHB4KSAwO1xuICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgzKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmOmxhc3Qtb2YtdHlwZS5iZ19icnV0ZSB7XG4gICAgICAgICAgICAuY29udGVudCB7XG4gICAgICAgICAgICAgIC5jb3B5IHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnJ1dGU7XG5cbiAgICAgICAgICAgICAgICAuc3VidGl0bGUge1xuICAgICAgICAgICAgICAgICAgZW0ge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGdyYXk7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuZmlyc3Qge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgfVxuXG4gICAgICAubWVkaWFfaXRlbSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IHJlbWlmeSgzMTZweCk7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgIC5jb250ZW50X2l0ZW0ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZzogcmVtaWZ5KDMwcHgpO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIC5jb3B5IHtcbiAgICAgICAgICAuc3VidGl0bGUge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuY29udGVudCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgIGgyIHtcbiAgICAgICAgICAgICAgbWFyZ2luOiByZW1pZnkoMjBweCkgMDtcbiAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDMpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5idG5faG9tZSB7XG4gICAgICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgICAgIC8vIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGJyZWFrLW1vYmlsZSkge1xuICAgICAgJi5yaWdodF9jb250ZW50IHtcbiAgICAgICAgJi5tYXJnaW5fdG9wIHtcblx0XHRcdFx0XHRtYXJnaW4tdG9wOiByZW1pZnkoMjBweCk7XG5cdFx0XHRcdH1cbiAgICAgIH1cblxuICAgICAgJi5sZWZ0X2NvbnRlbnQge1xuICAgICAgICBtYXJnaW4tdG9wOiByZW1pZnkoMjBweCk7XG4gICAgICB9XG5cbiAgICAgICYudHdvX2NhcmRzIHtcbiAgICAgICAgbWFyZ2luOiByZW1pZnkoMjBweCkgMCAwO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtaWZ5KDIwcHgpO1xuXG4gICAgICAgIC5jYXJkIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW1pZnkoMjBweCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIlxuLnByb2plY3RzLXBhZ2Uge1xuICAuc3RhbmRhcmQtcGFnZS1zZWN0aW9uIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgfVxuXG4gICAgcGFkZGluZzogNXJlbSAwO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIHBhZGRpbmc6IDZyZW0gMDtcbiAgICB9XG5cbiAgICBwOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICB9XG4gIH1cblxuICAuc2VjdGlvbi10b3BpY3Mge1xuICAgIGJvcmRlci10b3A6IG5vbmU7XG4gIH1cbn1cbiIsIlxuLnN0b3J5LXBhZ2Uge1xuICAuc2l0ZS1oZWFkZXIge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAyO1xuICB9XG5cbiAgc2VjdGlvbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDM7XG5cbiAgICBoZWFkZXIge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAub3ZhbCB7XG4gICAgICAgIG1hcmdpbjogNThweCAwIDY3cHg7XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICB3aWR0aDogODUlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgaDEsIGgyIHtcbiAgICAgIG1hcmdpbjogNTBweCAwO1xuICAgIH1cblxuICAgIHAge1xuICAgICAgbWFyZ2luOiAyMHB4IDA7XG4gICAgfVxuXG4gICAgJi5pbnRybyB7XG4gICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICB6LWluZGV4OiAxO1xuXG4gICAgICAud3JhcHBlciB7XG4gICAgICAgIHBhZGRpbmc6IHtcbiAgICAgICAgICB0b3A6IDEzMHB4O1xuICAgICAgICAgIGJvdHRvbTogNTBweDtcbiAgICAgICAgfVxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB9XG5cbiAgICAgIC5mZWF0dXJlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzAlO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICB3aWR0aDogMjUlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGgxIHtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgIH1cblxuICAgICAgcCB7XG4gICAgICAgIG1hcmdpbjogMCAwIDQ1cHg7XG4gICAgICB9XG5cbiAgICAgIHVsIHtcbiAgICAgICAgbGkge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMjVweDtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHdoaXRlO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDNweDtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgIGNvbG9yOiAkYnNvZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmID4gaW1nIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICB9XG5cbiAgICAmLm91ci1iYWNrZ3JvdW5kIHtcbiAgICAgIGJhY2tncm91bmQ6ICRib3JlO1xuICAgIH1cblxuICAgICYuY2Fyb3VzZWwge1xuICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgIH1cbiAgfVxuXG4gIHNlY3Rpb24uc3RhbmRhcmQtY29udGFjdCB7XG4gICAgLmJsb2NrOm5vdCguZGF2aWQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGJyZWFrLW1vYmlsZS1tYXgpIHtcblxuICAgIC5zaXRlLWhlYWRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIHotaW5kZXg6IDExO1xuICAgIH1cblxuICAgIHNlY3Rpb24ge1xuICAgICAgei1pbmRleDogMTtcblxuICAgICAgLndyYXBwZXIge1xuICAgICAgICBjb2xvcjogJGJydXRlO1xuICAgICAgfVxuXG4gICAgICAmLmludHJvIHtcbiAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgLndyYXBwZXIge1xuICAgICAgICAgIHBhZGRpbmc6IHtcbiAgICAgICAgICAgIHRvcDogMjAwcHg7XG4gICAgICAgICAgICBib3R0b206IDc1cHg7XG4gICAgICAgICAgfVxuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICBoMSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKTtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgfVxuXG4gICAgICAgIHAge1xuICAgICAgICB9XG5cbiAgICAgICAgdWwge1xuICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgIGNvbG9yOiAkYnJ1dGU7XG4gICAgICAgICAgICAgIGNvbG9yOiAkYm9yZTtcbiAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRvcmFuZ2U7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYgPiBpbWcge1xuICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMjUwJSwgLTUwJSk7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIH1cbiAgfVxufVxuIl19 */
