@media print, screen and (min-width: 40em){.reveal,.reveal.tiny,.reveal.small,.reveal.large{right:auto;left:auto;margin:0 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%}body{margin:0}article,aside,footer,header,nav,section{display:block}h1{font-size:2em;margin:0.67em 0}figcaption,figure{display:block}figure{margin:1em 40px}hr{-webkit-box-sizing:content-box;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;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:inherit}b,strong{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:-0.25em}sup{top:-0.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}button,html [type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}input{overflow:visible}[type="checkbox"],[type="radio"]{-webkit-box-sizing:border-box;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 #c0c0c0;margin:0 2px;padding:0.35em 0.625em 0.75em}legend{-webkit-box-sizing:border-box;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}template{display:none}[hidden]{display:none}.foundation-mq{font-family:"small=0em&medium=40em&large=64em&xlarge=75em&xxlarge=90em"}html{-webkit-box-sizing:border-box;box-sizing:border-box;font-size:100%}*,*::before,*::after{-webkit-box-sizing:inherit;box-sizing:inherit}body{margin:0;padding:0;background:#fff;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-weight:normal;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:.25rem}select{-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;border-radius:.25rem}.map_canvas img,.map_canvas embed,.map_canvas object,.mqa-display img,.mqa-display embed,.mqa-display object{max-width:none !important}button{padding:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;border-radius:.25rem;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}.grid-container{padding-right:.625rem;padding-left:.625rem;max-width:75rem;margin:0 auto}@media print, screen and (min-width: 40em){.grid-container{padding-right:.625rem;padding-left:.625rem}}.grid-container.fluid{padding-right:.625rem;padding-left:.625rem;max-width:100%;margin:0 auto}@media print, screen and (min-width: 40em){.grid-container.fluid{padding-right:.625rem;padding-left:.625rem}}.grid-container.full{padding-right:0;padding-left:0;max-width:100%;margin:0 auto}.grid-x{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row wrap;flex-flow:row wrap}.cell{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;min-height:0px;min-width:0px;width:100%}.cell.auto{-webkit-box-flex:1;-ms-flex:1 1 0px;flex:1 1 0px}.cell.shrink{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.grid-x>.auto{width:auto}.grid-x>.shrink{width:auto}.grid-x>.small-shrink,.grid-x>.small-full,.grid-x>.small-1,.grid-x>.small-2,.grid-x>.small-3,.grid-x>.small-4,.grid-x>.small-5,.grid-x>.small-6,.grid-x>.small-7,.grid-x>.small-8,.grid-x>.small-9,.grid-x>.small-10,.grid-x>.small-11,.grid-x>.small-12{-ms-flex-preferred-size:auto;flex-basis:auto}@media print, screen and (min-width: 40em){.grid-x>.medium-shrink,.grid-x>.medium-full,.grid-x>.medium-1,.grid-x>.medium-2,.grid-x>.medium-3,.grid-x>.medium-4,.grid-x>.medium-5,.grid-x>.medium-6,.grid-x>.medium-7,.grid-x>.medium-8,.grid-x>.medium-9,.grid-x>.medium-10,.grid-x>.medium-11,.grid-x>.medium-12{-ms-flex-preferred-size:auto;flex-basis:auto}}@media print, screen and (min-width: 64em){.grid-x>.large-shrink,.grid-x>.large-full,.grid-x>.large-1,.grid-x>.large-2,.grid-x>.large-3,.grid-x>.large-4,.grid-x>.large-5,.grid-x>.large-6,.grid-x>.large-7,.grid-x>.large-8,.grid-x>.large-9,.grid-x>.large-10,.grid-x>.large-11,.grid-x>.large-12{-ms-flex-preferred-size:auto;flex-basis:auto}}.grid-x>.small-1{width:8.33333%}.grid-x>.small-2{width:16.66667%}.grid-x>.small-3{width:25%}.grid-x>.small-4{width:33.33333%}.grid-x>.small-5{width:41.66667%}.grid-x>.small-6{width:50%}.grid-x>.small-7{width:58.33333%}.grid-x>.small-8{width:66.66667%}.grid-x>.small-9{width:75%}.grid-x>.small-10{width:83.33333%}.grid-x>.small-11{width:91.66667%}.grid-x>.small-12{width:100%}@media print, screen and (min-width: 40em){.grid-x>.medium-auto{-webkit-box-flex:1;-ms-flex:1 1 0px;flex:1 1 0px;width:auto}.grid-x>.medium-shrink{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.grid-x>.medium-1{width:8.33333%}.grid-x>.medium-2{width:16.66667%}.grid-x>.medium-3{width:25%}.grid-x>.medium-4{width:33.33333%}.grid-x>.medium-5{width:41.66667%}.grid-x>.medium-6{width:50%}.grid-x>.medium-7{width:58.33333%}.grid-x>.medium-8{width:66.66667%}.grid-x>.medium-9{width:75%}.grid-x>.medium-10{width:83.33333%}.grid-x>.medium-11{width:91.66667%}.grid-x>.medium-12{width:100%}}@media print, screen and (min-width: 64em){.grid-x>.large-auto{-webkit-box-flex:1;-ms-flex:1 1 0px;flex:1 1 0px;width:auto}.grid-x>.large-shrink{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.grid-x>.large-1{width:8.33333%}.grid-x>.large-2{width:16.66667%}.grid-x>.large-3{width:25%}.grid-x>.large-4{width:33.33333%}.grid-x>.large-5{width:41.66667%}.grid-x>.large-6{width:50%}.grid-x>.large-7{width:58.33333%}.grid-x>.large-8{width:66.66667%}.grid-x>.large-9{width:75%}.grid-x>.large-10{width:83.33333%}.grid-x>.large-11{width:91.66667%}.grid-x>.large-12{width:100%}}.grid-margin-x:not(.grid-x)>.cell{width:auto}.grid-margin-y:not(.grid-y)>.cell{height:auto}.grid-margin-x{margin-left:-.625rem;margin-right:-.625rem}@media print, screen and (min-width: 40em){.grid-margin-x{margin-left:-.625rem;margin-right:-.625rem}}.grid-margin-x>.cell{width:calc(100% - 1.25rem);margin-left:.625rem;margin-right:.625rem}@media print, screen and (min-width: 40em){.grid-margin-x>.cell{width:calc(100% - 1.25rem);margin-left:.625rem;margin-right:.625rem}}.grid-margin-x>.auto{width:auto}.grid-margin-x>.shrink{width:auto}.grid-margin-x>.small-1{width:calc(8.33333% - 1.25rem)}.grid-margin-x>.small-2{width:calc(16.66667% - 1.25rem)}.grid-margin-x>.small-3{width:calc(25% - 1.25rem)}.grid-margin-x>.small-4{width:calc(33.33333% - 1.25rem)}.grid-margin-x>.small-5{width:calc(41.66667% - 1.25rem)}.grid-margin-x>.small-6{width:calc(50% - 1.25rem)}.grid-margin-x>.small-7{width:calc(58.33333% - 1.25rem)}.grid-margin-x>.small-8{width:calc(66.66667% - 1.25rem)}.grid-margin-x>.small-9{width:calc(75% - 1.25rem)}.grid-margin-x>.small-10{width:calc(83.33333% - 1.25rem)}.grid-margin-x>.small-11{width:calc(91.66667% - 1.25rem)}.grid-margin-x>.small-12{width:calc(100% - 1.25rem)}@media print, screen and (min-width: 40em){.grid-margin-x>.auto{width:auto}.grid-margin-x>.shrink{width:auto}.grid-margin-x>.small-1{width:calc(8.33333% - 1.25rem)}.grid-margin-x>.small-2{width:calc(16.66667% - 1.25rem)}.grid-margin-x>.small-3{width:calc(25% - 1.25rem)}.grid-margin-x>.small-4{width:calc(33.33333% - 1.25rem)}.grid-margin-x>.small-5{width:calc(41.66667% - 1.25rem)}.grid-margin-x>.small-6{width:calc(50% - 1.25rem)}.grid-margin-x>.small-7{width:calc(58.33333% - 1.25rem)}.grid-margin-x>.small-8{width:calc(66.66667% - 1.25rem)}.grid-margin-x>.small-9{width:calc(75% - 1.25rem)}.grid-margin-x>.small-10{width:calc(83.33333% - 1.25rem)}.grid-margin-x>.small-11{width:calc(91.66667% - 1.25rem)}.grid-margin-x>.small-12{width:calc(100% - 1.25rem)}.grid-margin-x>.medium-auto{width:auto}.grid-margin-x>.medium-shrink{width:auto}.grid-margin-x>.medium-1{width:calc(8.33333% - 1.25rem)}.grid-margin-x>.medium-2{width:calc(16.66667% - 1.25rem)}.grid-margin-x>.medium-3{width:calc(25% - 1.25rem)}.grid-margin-x>.medium-4{width:calc(33.33333% - 1.25rem)}.grid-margin-x>.medium-5{width:calc(41.66667% - 1.25rem)}.grid-margin-x>.medium-6{width:calc(50% - 1.25rem)}.grid-margin-x>.medium-7{width:calc(58.33333% - 1.25rem)}.grid-margin-x>.medium-8{width:calc(66.66667% - 1.25rem)}.grid-margin-x>.medium-9{width:calc(75% - 1.25rem)}.grid-margin-x>.medium-10{width:calc(83.33333% - 1.25rem)}.grid-margin-x>.medium-11{width:calc(91.66667% - 1.25rem)}.grid-margin-x>.medium-12{width:calc(100% - 1.25rem)}}@media print, screen and (min-width: 64em){.grid-margin-x>.large-auto{width:auto}.grid-margin-x>.large-shrink{width:auto}.grid-margin-x>.large-1{width:calc(8.33333% - 1.25rem)}.grid-margin-x>.large-2{width:calc(16.66667% - 1.25rem)}.grid-margin-x>.large-3{width:calc(25% - 1.25rem)}.grid-margin-x>.large-4{width:calc(33.33333% - 1.25rem)}.grid-margin-x>.large-5{width:calc(41.66667% - 1.25rem)}.grid-margin-x>.large-6{width:calc(50% - 1.25rem)}.grid-margin-x>.large-7{width:calc(58.33333% - 1.25rem)}.grid-margin-x>.large-8{width:calc(66.66667% - 1.25rem)}.grid-margin-x>.large-9{width:calc(75% - 1.25rem)}.grid-margin-x>.large-10{width:calc(83.33333% - 1.25rem)}.grid-margin-x>.large-11{width:calc(91.66667% - 1.25rem)}.grid-margin-x>.large-12{width:calc(100% - 1.25rem)}}.grid-padding-x .grid-padding-x{margin-right:-.625rem;margin-left:-.625rem}@media print, screen and (min-width: 40em){.grid-padding-x .grid-padding-x{margin-right:-.625rem;margin-left:-.625rem}}.grid-container:not(.full)>.grid-padding-x{margin-right:-.625rem;margin-left:-.625rem}@media print, screen and (min-width: 40em){.grid-container:not(.full)>.grid-padding-x{margin-right:-.625rem;margin-left:-.625rem}}.grid-padding-x>.cell{padding-right:.625rem;padding-left:.625rem}@media print, screen and (min-width: 40em){.grid-padding-x>.cell{padding-right:.625rem;padding-left:.625rem}}.small-up-1>.cell{width:100%}.small-up-2>.cell{width:50%}.small-up-3>.cell{width:33.33333%}.small-up-4>.cell{width:25%}.small-up-5>.cell{width:20%}.small-up-6>.cell{width:16.66667%}.small-up-7>.cell{width:14.28571%}.small-up-8>.cell{width:12.5%}@media print, screen and (min-width: 40em){.medium-up-1>.cell{width:100%}.medium-up-2>.cell{width:50%}.medium-up-3>.cell{width:33.33333%}.medium-up-4>.cell{width:25%}.medium-up-5>.cell{width:20%}.medium-up-6>.cell{width:16.66667%}.medium-up-7>.cell{width:14.28571%}.medium-up-8>.cell{width:12.5%}}@media print, screen and (min-width: 64em){.large-up-1>.cell{width:100%}.large-up-2>.cell{width:50%}.large-up-3>.cell{width:33.33333%}.large-up-4>.cell{width:25%}.large-up-5>.cell{width:20%}.large-up-6>.cell{width:16.66667%}.large-up-7>.cell{width:14.28571%}.large-up-8>.cell{width:12.5%}}.grid-margin-x.small-up-1>.cell{width:calc(100% - 1.25rem)}.grid-margin-x.small-up-2>.cell{width:calc(50% - 1.25rem)}.grid-margin-x.small-up-3>.cell{width:calc(33.33333% - 1.25rem)}.grid-margin-x.small-up-4>.cell{width:calc(25% - 1.25rem)}.grid-margin-x.small-up-5>.cell{width:calc(20% - 1.25rem)}.grid-margin-x.small-up-6>.cell{width:calc(16.66667% - 1.25rem)}.grid-margin-x.small-up-7>.cell{width:calc(14.28571% - 1.25rem)}.grid-margin-x.small-up-8>.cell{width:calc(12.5% - 1.25rem)}@media print, screen and (min-width: 40em){.grid-margin-x.small-up-1>.cell{width:calc(100% - 1.25rem)}.grid-margin-x.small-up-2>.cell{width:calc(50% - 1.25rem)}.grid-margin-x.small-up-3>.cell{width:calc(33.33333% - 1.25rem)}.grid-margin-x.small-up-4>.cell{width:calc(25% - 1.25rem)}.grid-margin-x.small-up-5>.cell{width:calc(20% - 1.25rem)}.grid-margin-x.small-up-6>.cell{width:calc(16.66667% - 1.25rem)}.grid-margin-x.small-up-7>.cell{width:calc(14.28571% - 1.25rem)}.grid-margin-x.small-up-8>.cell{width:calc(12.5% - 1.25rem)}.grid-margin-x.medium-up-1>.cell{width:calc(100% - 1.25rem)}.grid-margin-x.medium-up-2>.cell{width:calc(50% - 1.25rem)}.grid-margin-x.medium-up-3>.cell{width:calc(33.33333% - 1.25rem)}.grid-margin-x.medium-up-4>.cell{width:calc(25% - 1.25rem)}.grid-margin-x.medium-up-5>.cell{width:calc(20% - 1.25rem)}.grid-margin-x.medium-up-6>.cell{width:calc(16.66667% - 1.25rem)}.grid-margin-x.medium-up-7>.cell{width:calc(14.28571% - 1.25rem)}.grid-margin-x.medium-up-8>.cell{width:calc(12.5% - 1.25rem)}}@media print, screen and (min-width: 64em){.grid-margin-x.large-up-1>.cell{width:calc(100% - 1.25rem)}.grid-margin-x.large-up-2>.cell{width:calc(50% - 1.25rem)}.grid-margin-x.large-up-3>.cell{width:calc(33.33333% - 1.25rem)}.grid-margin-x.large-up-4>.cell{width:calc(25% - 1.25rem)}.grid-margin-x.large-up-5>.cell{width:calc(20% - 1.25rem)}.grid-margin-x.large-up-6>.cell{width:calc(16.66667% - 1.25rem)}.grid-margin-x.large-up-7>.cell{width:calc(14.28571% - 1.25rem)}.grid-margin-x.large-up-8>.cell{width:calc(12.5% - 1.25rem)}}.small-margin-collapse{margin-right:0;margin-left:0}.small-margin-collapse>.cell{margin-right:0;margin-left:0}.small-margin-collapse>.small-1{width:8.33333%}.small-margin-collapse>.small-2{width:16.66667%}.small-margin-collapse>.small-3{width:25%}.small-margin-collapse>.small-4{width:33.33333%}.small-margin-collapse>.small-5{width:41.66667%}.small-margin-collapse>.small-6{width:50%}.small-margin-collapse>.small-7{width:58.33333%}.small-margin-collapse>.small-8{width:66.66667%}.small-margin-collapse>.small-9{width:75%}.small-margin-collapse>.small-10{width:83.33333%}.small-margin-collapse>.small-11{width:91.66667%}.small-margin-collapse>.small-12{width:100%}@media print, screen and (min-width: 40em){.small-margin-collapse>.medium-1{width:8.33333%}.small-margin-collapse>.medium-2{width:16.66667%}.small-margin-collapse>.medium-3{width:25%}.small-margin-collapse>.medium-4{width:33.33333%}.small-margin-collapse>.medium-5{width:41.66667%}.small-margin-collapse>.medium-6{width:50%}.small-margin-collapse>.medium-7{width:58.33333%}.small-margin-collapse>.medium-8{width:66.66667%}.small-margin-collapse>.medium-9{width:75%}.small-margin-collapse>.medium-10{width:83.33333%}.small-margin-collapse>.medium-11{width:91.66667%}.small-margin-collapse>.medium-12{width:100%}}@media print, screen and (min-width: 64em){.small-margin-collapse>.large-1{width:8.33333%}.small-margin-collapse>.large-2{width:16.66667%}.small-margin-collapse>.large-3{width:25%}.small-margin-collapse>.large-4{width:33.33333%}.small-margin-collapse>.large-5{width:41.66667%}.small-margin-collapse>.large-6{width:50%}.small-margin-collapse>.large-7{width:58.33333%}.small-margin-collapse>.large-8{width:66.66667%}.small-margin-collapse>.large-9{width:75%}.small-margin-collapse>.large-10{width:83.33333%}.small-margin-collapse>.large-11{width:91.66667%}.small-margin-collapse>.large-12{width:100%}}.small-padding-collapse{margin-right:0;margin-left:0}.small-padding-collapse>.cell{padding-right:0;padding-left:0}@media print, screen and (min-width: 40em){.medium-margin-collapse{margin-right:0;margin-left:0}.medium-margin-collapse>.cell{margin-right:0;margin-left:0}}@media print, screen and (min-width: 40em){.medium-margin-collapse>.small-1{width:8.33333%}.medium-margin-collapse>.small-2{width:16.66667%}.medium-margin-collapse>.small-3{width:25%}.medium-margin-collapse>.small-4{width:33.33333%}.medium-margin-collapse>.small-5{width:41.66667%}.medium-margin-collapse>.small-6{width:50%}.medium-margin-collapse>.small-7{width:58.33333%}.medium-margin-collapse>.small-8{width:66.66667%}.medium-margin-collapse>.small-9{width:75%}.medium-margin-collapse>.small-10{width:83.33333%}.medium-margin-collapse>.small-11{width:91.66667%}.medium-margin-collapse>.small-12{width:100%}}@media print, screen and (min-width: 40em){.medium-margin-collapse>.medium-1{width:8.33333%}.medium-margin-collapse>.medium-2{width:16.66667%}.medium-margin-collapse>.medium-3{width:25%}.medium-margin-collapse>.medium-4{width:33.33333%}.medium-margin-collapse>.medium-5{width:41.66667%}.medium-margin-collapse>.medium-6{width:50%}.medium-margin-collapse>.medium-7{width:58.33333%}.medium-margin-collapse>.medium-8{width:66.66667%}.medium-margin-collapse>.medium-9{width:75%}.medium-margin-collapse>.medium-10{width:83.33333%}.medium-margin-collapse>.medium-11{width:91.66667%}.medium-margin-collapse>.medium-12{width:100%}}@media print, screen and (min-width: 64em){.medium-margin-collapse>.large-1{width:8.33333%}.medium-margin-collapse>.large-2{width:16.66667%}.medium-margin-collapse>.large-3{width:25%}.medium-margin-collapse>.large-4{width:33.33333%}.medium-margin-collapse>.large-5{width:41.66667%}.medium-margin-collapse>.large-6{width:50%}.medium-margin-collapse>.large-7{width:58.33333%}.medium-margin-collapse>.large-8{width:66.66667%}.medium-margin-collapse>.large-9{width:75%}.medium-margin-collapse>.large-10{width:83.33333%}.medium-margin-collapse>.large-11{width:91.66667%}.medium-margin-collapse>.large-12{width:100%}}@media print, screen and (min-width: 40em){.medium-padding-collapse{margin-right:0;margin-left:0}.medium-padding-collapse>.cell{padding-right:0;padding-left:0}}@media print, screen and (min-width: 64em){.large-margin-collapse{margin-right:0;margin-left:0}.large-margin-collapse>.cell{margin-right:0;margin-left:0}}@media print, screen and (min-width: 64em){.large-margin-collapse>.small-1{width:8.33333%}.large-margin-collapse>.small-2{width:16.66667%}.large-margin-collapse>.small-3{width:25%}.large-margin-collapse>.small-4{width:33.33333%}.large-margin-collapse>.small-5{width:41.66667%}.large-margin-collapse>.small-6{width:50%}.large-margin-collapse>.small-7{width:58.33333%}.large-margin-collapse>.small-8{width:66.66667%}.large-margin-collapse>.small-9{width:75%}.large-margin-collapse>.small-10{width:83.33333%}.large-margin-collapse>.small-11{width:91.66667%}.large-margin-collapse>.small-12{width:100%}}@media print, screen and (min-width: 64em){.large-margin-collapse>.medium-1{width:8.33333%}.large-margin-collapse>.medium-2{width:16.66667%}.large-margin-collapse>.medium-3{width:25%}.large-margin-collapse>.medium-4{width:33.33333%}.large-margin-collapse>.medium-5{width:41.66667%}.large-margin-collapse>.medium-6{width:50%}.large-margin-collapse>.medium-7{width:58.33333%}.large-margin-collapse>.medium-8{width:66.66667%}.large-margin-collapse>.medium-9{width:75%}.large-margin-collapse>.medium-10{width:83.33333%}.large-margin-collapse>.medium-11{width:91.66667%}.large-margin-collapse>.medium-12{width:100%}}@media print, screen and (min-width: 64em){.large-margin-collapse>.large-1{width:8.33333%}.large-margin-collapse>.large-2{width:16.66667%}.large-margin-collapse>.large-3{width:25%}.large-margin-collapse>.large-4{width:33.33333%}.large-margin-collapse>.large-5{width:41.66667%}.large-margin-collapse>.large-6{width:50%}.large-margin-collapse>.large-7{width:58.33333%}.large-margin-collapse>.large-8{width:66.66667%}.large-margin-collapse>.large-9{width:75%}.large-margin-collapse>.large-10{width:83.33333%}.large-margin-collapse>.large-11{width:91.66667%}.large-margin-collapse>.large-12{width:100%}}@media print, screen and (min-width: 64em){.large-padding-collapse{margin-right:0;margin-left:0}.large-padding-collapse>.cell{padding-right:0;padding-left:0}}.small-offset-0{margin-left:0%}.grid-margin-x>.small-offset-0{margin-left:calc(0% + .625rem)}.small-offset-1{margin-left:8.33333%}.grid-margin-x>.small-offset-1{margin-left:calc(8.33333% + .625rem)}.small-offset-2{margin-left:16.66667%}.grid-margin-x>.small-offset-2{margin-left:calc(16.66667% + .625rem)}.small-offset-3{margin-left:25%}.grid-margin-x>.small-offset-3{margin-left:calc(25% + .625rem)}.small-offset-4{margin-left:33.33333%}.grid-margin-x>.small-offset-4{margin-left:calc(33.33333% + .625rem)}.small-offset-5{margin-left:41.66667%}.grid-margin-x>.small-offset-5{margin-left:calc(41.66667% + .625rem)}.small-offset-6{margin-left:50%}.grid-margin-x>.small-offset-6{margin-left:calc(50% + .625rem)}.small-offset-7{margin-left:58.33333%}.grid-margin-x>.small-offset-7{margin-left:calc(58.33333% + .625rem)}.small-offset-8{margin-left:66.66667%}.grid-margin-x>.small-offset-8{margin-left:calc(66.66667% + .625rem)}.small-offset-9{margin-left:75%}.grid-margin-x>.small-offset-9{margin-left:calc(75% + .625rem)}.small-offset-10{margin-left:83.33333%}.grid-margin-x>.small-offset-10{margin-left:calc(83.33333% + .625rem)}.small-offset-11{margin-left:91.66667%}.grid-margin-x>.small-offset-11{margin-left:calc(91.66667% + .625rem)}@media print, screen and (min-width: 40em){.medium-offset-0{margin-left:0%}.grid-margin-x>.medium-offset-0{margin-left:calc(0% + .625rem)}.medium-offset-1{margin-left:8.33333%}.grid-margin-x>.medium-offset-1{margin-left:calc(8.33333% + .625rem)}.medium-offset-2{margin-left:16.66667%}.grid-margin-x>.medium-offset-2{margin-left:calc(16.66667% + .625rem)}.medium-offset-3{margin-left:25%}.grid-margin-x>.medium-offset-3{margin-left:calc(25% + .625rem)}.medium-offset-4{margin-left:33.33333%}.grid-margin-x>.medium-offset-4{margin-left:calc(33.33333% + .625rem)}.medium-offset-5{margin-left:41.66667%}.grid-margin-x>.medium-offset-5{margin-left:calc(41.66667% + .625rem)}.medium-offset-6{margin-left:50%}.grid-margin-x>.medium-offset-6{margin-left:calc(50% + .625rem)}.medium-offset-7{margin-left:58.33333%}.grid-margin-x>.medium-offset-7{margin-left:calc(58.33333% + .625rem)}.medium-offset-8{margin-left:66.66667%}.grid-margin-x>.medium-offset-8{margin-left:calc(66.66667% + .625rem)}.medium-offset-9{margin-left:75%}.grid-margin-x>.medium-offset-9{margin-left:calc(75% + .625rem)}.medium-offset-10{margin-left:83.33333%}.grid-margin-x>.medium-offset-10{margin-left:calc(83.33333% + .625rem)}.medium-offset-11{margin-left:91.66667%}.grid-margin-x>.medium-offset-11{margin-left:calc(91.66667% + .625rem)}}@media print, screen and (min-width: 64em){.large-offset-0{margin-left:0%}.grid-margin-x>.large-offset-0{margin-left:calc(0% + .625rem)}.large-offset-1{margin-left:8.33333%}.grid-margin-x>.large-offset-1{margin-left:calc(8.33333% + .625rem)}.large-offset-2{margin-left:16.66667%}.grid-margin-x>.large-offset-2{margin-left:calc(16.66667% + .625rem)}.large-offset-3{margin-left:25%}.grid-margin-x>.large-offset-3{margin-left:calc(25% + .625rem)}.large-offset-4{margin-left:33.33333%}.grid-margin-x>.large-offset-4{margin-left:calc(33.33333% + .625rem)}.large-offset-5{margin-left:41.66667%}.grid-margin-x>.large-offset-5{margin-left:calc(41.66667% + .625rem)}.large-offset-6{margin-left:50%}.grid-margin-x>.large-offset-6{margin-left:calc(50% + .625rem)}.large-offset-7{margin-left:58.33333%}.grid-margin-x>.large-offset-7{margin-left:calc(58.33333% + .625rem)}.large-offset-8{margin-left:66.66667%}.grid-margin-x>.large-offset-8{margin-left:calc(66.66667% + .625rem)}.large-offset-9{margin-left:75%}.grid-margin-x>.large-offset-9{margin-left:calc(75% + .625rem)}.large-offset-10{margin-left:83.33333%}.grid-margin-x>.large-offset-10{margin-left:calc(83.33333% + .625rem)}.large-offset-11{margin-left:91.66667%}.grid-margin-x>.large-offset-11{margin-left:calc(91.66667% + .625rem)}}.grid-y{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-flow:column nowrap;flex-flow:column nowrap}.grid-y>.cell{width:auto;max-width:none}.grid-y>.auto{height:auto}.grid-y>.shrink{height:auto}.grid-y>.small-shrink,.grid-y>.small-full,.grid-y>.small-1,.grid-y>.small-2,.grid-y>.small-3,.grid-y>.small-4,.grid-y>.small-5,.grid-y>.small-6,.grid-y>.small-7,.grid-y>.small-8,.grid-y>.small-9,.grid-y>.small-10,.grid-y>.small-11,.grid-y>.small-12{-ms-flex-preferred-size:auto;flex-basis:auto}@media print, screen and (min-width: 40em){.grid-y>.medium-shrink,.grid-y>.medium-full,.grid-y>.medium-1,.grid-y>.medium-2,.grid-y>.medium-3,.grid-y>.medium-4,.grid-y>.medium-5,.grid-y>.medium-6,.grid-y>.medium-7,.grid-y>.medium-8,.grid-y>.medium-9,.grid-y>.medium-10,.grid-y>.medium-11,.grid-y>.medium-12{-ms-flex-preferred-size:auto;flex-basis:auto}}@media print, screen and (min-width: 64em){.grid-y>.large-shrink,.grid-y>.large-full,.grid-y>.large-1,.grid-y>.large-2,.grid-y>.large-3,.grid-y>.large-4,.grid-y>.large-5,.grid-y>.large-6,.grid-y>.large-7,.grid-y>.large-8,.grid-y>.large-9,.grid-y>.large-10,.grid-y>.large-11,.grid-y>.large-12{-ms-flex-preferred-size:auto;flex-basis:auto}}.grid-y>.small-1{height:8.33333%}.grid-y>.small-2{height:16.66667%}.grid-y>.small-3{height:25%}.grid-y>.small-4{height:33.33333%}.grid-y>.small-5{height:41.66667%}.grid-y>.small-6{height:50%}.grid-y>.small-7{height:58.33333%}.grid-y>.small-8{height:66.66667%}.grid-y>.small-9{height:75%}.grid-y>.small-10{height:83.33333%}.grid-y>.small-11{height:91.66667%}.grid-y>.small-12{height:100%}@media print, screen and (min-width: 40em){.grid-y>.medium-auto{-webkit-box-flex:1;-ms-flex:1 1 0px;flex:1 1 0px;height:auto}.grid-y>.medium-shrink{height:auto}.grid-y>.medium-1{height:8.33333%}.grid-y>.medium-2{height:16.66667%}.grid-y>.medium-3{height:25%}.grid-y>.medium-4{height:33.33333%}.grid-y>.medium-5{height:41.66667%}.grid-y>.medium-6{height:50%}.grid-y>.medium-7{height:58.33333%}.grid-y>.medium-8{height:66.66667%}.grid-y>.medium-9{height:75%}.grid-y>.medium-10{height:83.33333%}.grid-y>.medium-11{height:91.66667%}.grid-y>.medium-12{height:100%}}@media print, screen and (min-width: 64em){.grid-y>.large-auto{-webkit-box-flex:1;-ms-flex:1 1 0px;flex:1 1 0px;height:auto}.grid-y>.large-shrink{height:auto}.grid-y>.large-1{height:8.33333%}.grid-y>.large-2{height:16.66667%}.grid-y>.large-3{height:25%}.grid-y>.large-4{height:33.33333%}.grid-y>.large-5{height:41.66667%}.grid-y>.large-6{height:50%}.grid-y>.large-7{height:58.33333%}.grid-y>.large-8{height:66.66667%}.grid-y>.large-9{height:75%}.grid-y>.large-10{height:83.33333%}.grid-y>.large-11{height:91.66667%}.grid-y>.large-12{height:100%}}.grid-padding-y .grid-padding-y{margin-top:-.625rem;margin-bottom:-.625rem}@media print, screen and (min-width: 40em){.grid-padding-y .grid-padding-y{margin-top:-.625rem;margin-bottom:-.625rem}}.grid-padding-y>.cell{padding-top:.625rem;padding-bottom:.625rem}@media print, screen and (min-width: 40em){.grid-padding-y>.cell{padding-top:.625rem;padding-bottom:.625rem}}.grid-margin-y{margin-top:-.625rem;margin-bottom:-.625rem}@media print, screen and (min-width: 40em){.grid-margin-y{margin-top:-.625rem;margin-bottom:-.625rem}}.grid-margin-y>.cell{height:calc(100% - 1.25rem);margin-top:.625rem;margin-bottom:.625rem}@media print, screen and (min-width: 40em){.grid-margin-y>.cell{height:calc(100% - 1.25rem);margin-top:.625rem;margin-bottom:.625rem}}.grid-margin-y>.auto{height:auto}.grid-margin-y>.shrink{height:auto}.grid-margin-y>.small-1{height:calc(8.33333% - 1.25rem)}.grid-margin-y>.small-2{height:calc(16.66667% - 1.25rem)}.grid-margin-y>.small-3{height:calc(25% - 1.25rem)}.grid-margin-y>.small-4{height:calc(33.33333% - 1.25rem)}.grid-margin-y>.small-5{height:calc(41.66667% - 1.25rem)}.grid-margin-y>.small-6{height:calc(50% - 1.25rem)}.grid-margin-y>.small-7{height:calc(58.33333% - 1.25rem)}.grid-margin-y>.small-8{height:calc(66.66667% - 1.25rem)}.grid-margin-y>.small-9{height:calc(75% - 1.25rem)}.grid-margin-y>.small-10{height:calc(83.33333% - 1.25rem)}.grid-margin-y>.small-11{height:calc(91.66667% - 1.25rem)}.grid-margin-y>.small-12{height:calc(100% - 1.25rem)}@media print, screen and (min-width: 40em){.grid-margin-y>.auto{height:auto}.grid-margin-y>.shrink{height:auto}.grid-margin-y>.small-1{height:calc(8.33333% - 1.25rem)}.grid-margin-y>.small-2{height:calc(16.66667% - 1.25rem)}.grid-margin-y>.small-3{height:calc(25% - 1.25rem)}.grid-margin-y>.small-4{height:calc(33.33333% - 1.25rem)}.grid-margin-y>.small-5{height:calc(41.66667% - 1.25rem)}.grid-margin-y>.small-6{height:calc(50% - 1.25rem)}.grid-margin-y>.small-7{height:calc(58.33333% - 1.25rem)}.grid-margin-y>.small-8{height:calc(66.66667% - 1.25rem)}.grid-margin-y>.small-9{height:calc(75% - 1.25rem)}.grid-margin-y>.small-10{height:calc(83.33333% - 1.25rem)}.grid-margin-y>.small-11{height:calc(91.66667% - 1.25rem)}.grid-margin-y>.small-12{height:calc(100% - 1.25rem)}.grid-margin-y>.medium-auto{height:auto}.grid-margin-y>.medium-shrink{height:auto}.grid-margin-y>.medium-1{height:calc(8.33333% - 1.25rem)}.grid-margin-y>.medium-2{height:calc(16.66667% - 1.25rem)}.grid-margin-y>.medium-3{height:calc(25% - 1.25rem)}.grid-margin-y>.medium-4{height:calc(33.33333% - 1.25rem)}.grid-margin-y>.medium-5{height:calc(41.66667% - 1.25rem)}.grid-margin-y>.medium-6{height:calc(50% - 1.25rem)}.grid-margin-y>.medium-7{height:calc(58.33333% - 1.25rem)}.grid-margin-y>.medium-8{height:calc(66.66667% - 1.25rem)}.grid-margin-y>.medium-9{height:calc(75% - 1.25rem)}.grid-margin-y>.medium-10{height:calc(83.33333% - 1.25rem)}.grid-margin-y>.medium-11{height:calc(91.66667% - 1.25rem)}.grid-margin-y>.medium-12{height:calc(100% - 1.25rem)}}@media print, screen and (min-width: 64em){.grid-margin-y>.large-auto{height:auto}.grid-margin-y>.large-shrink{height:auto}.grid-margin-y>.large-1{height:calc(8.33333% - 1.25rem)}.grid-margin-y>.large-2{height:calc(16.66667% - 1.25rem)}.grid-margin-y>.large-3{height:calc(25% - 1.25rem)}.grid-margin-y>.large-4{height:calc(33.33333% - 1.25rem)}.grid-margin-y>.large-5{height:calc(41.66667% - 1.25rem)}.grid-margin-y>.large-6{height:calc(50% - 1.25rem)}.grid-margin-y>.large-7{height:calc(58.33333% - 1.25rem)}.grid-margin-y>.large-8{height:calc(66.66667% - 1.25rem)}.grid-margin-y>.large-9{height:calc(75% - 1.25rem)}.grid-margin-y>.large-10{height:calc(83.33333% - 1.25rem)}.grid-margin-y>.large-11{height:calc(91.66667% - 1.25rem)}.grid-margin-y>.large-12{height:calc(100% - 1.25rem)}}.grid-frame{overflow:hidden;position:relative;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;width:100vw}.cell .grid-frame{width:100%}.cell-block{overflow-x:auto;max-width:100%;-webkit-overflow-scrolling:touch;-ms-overflow-stype:-ms-autohiding-scrollbar}.cell-block-y{overflow-y:auto;max-height:100%;height:100%;-webkit-overflow-scrolling:touch;-ms-overflow-stype:-ms-autohiding-scrollbar}.cell-block-container{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;max-height:100%}.cell-block-container>.grid-x{max-height:100%;-ms-flex-wrap:nowrap;flex-wrap:nowrap}@media print, screen and (min-width: 40em){.medium-grid-frame{overflow:hidden;position:relative;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;width:100vw}.cell .medium-grid-frame{width:100%}.medium-cell-block{overflow-x:auto;max-width:100%;-webkit-overflow-scrolling:touch;-ms-overflow-stype:-ms-autohiding-scrollbar}.medium-cell-block-container{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;max-height:100%}.medium-cell-block-container>.grid-x{max-height:100%;-ms-flex-wrap:nowrap;flex-wrap:nowrap}.medium-cell-block-y{overflow-y:auto;max-height:100%;height:100%;-webkit-overflow-scrolling:touch;-ms-overflow-stype:-ms-autohiding-scrollbar}}@media print, screen and (min-width: 64em){.large-grid-frame{overflow:hidden;position:relative;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;width:100vw}.cell .large-grid-frame{width:100%}.large-cell-block{overflow-x:auto;max-width:100%;-webkit-overflow-scrolling:touch;-ms-overflow-stype:-ms-autohiding-scrollbar}.large-cell-block-container{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;max-height:100%}.large-cell-block-container>.grid-x{max-height:100%;-ms-flex-wrap:nowrap;flex-wrap:nowrap}.large-cell-block-y{overflow-y:auto;max-height:100%;height:100%;-webkit-overflow-scrolling:touch;-ms-overflow-stype:-ms-autohiding-scrollbar}}.grid-y.grid-frame{width:auto;overflow:hidden;position:relative;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;height:100vh}@media print, screen and (min-width: 40em){.grid-y.medium-grid-frame{width:auto;overflow:hidden;position:relative;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;height:100vh}}@media print, screen and (min-width: 64em){.grid-y.large-grid-frame{width:auto;overflow:hidden;position:relative;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;height:100vh}}.cell .grid-y.grid-frame{height:100%}@media print, screen and (min-width: 40em){.cell .grid-y.medium-grid-frame{height:100%}}@media print, screen and (min-width: 64em){.cell .grid-y.large-grid-frame{height:100%}}.grid-margin-y{margin-top:-.625rem;margin-bottom:-.625rem}@media print, screen and (min-width: 40em){.grid-margin-y{margin-top:-.625rem;margin-bottom:-.625rem}}.grid-margin-y>.cell{height:calc(100% - 1.25rem);margin-top:.625rem;margin-bottom:.625rem}@media print, screen and (min-width: 40em){.grid-margin-y>.cell{height:calc(100% - 1.25rem);margin-top:.625rem;margin-bottom:.625rem}}.grid-margin-y>.auto{height:auto}.grid-margin-y>.shrink{height:auto}.grid-margin-y>.small-1{height:calc(8.33333% - 1.25rem)}.grid-margin-y>.small-2{height:calc(16.66667% - 1.25rem)}.grid-margin-y>.small-3{height:calc(25% - 1.25rem)}.grid-margin-y>.small-4{height:calc(33.33333% - 1.25rem)}.grid-margin-y>.small-5{height:calc(41.66667% - 1.25rem)}.grid-margin-y>.small-6{height:calc(50% - 1.25rem)}.grid-margin-y>.small-7{height:calc(58.33333% - 1.25rem)}.grid-margin-y>.small-8{height:calc(66.66667% - 1.25rem)}.grid-margin-y>.small-9{height:calc(75% - 1.25rem)}.grid-margin-y>.small-10{height:calc(83.33333% - 1.25rem)}.grid-margin-y>.small-11{height:calc(91.66667% - 1.25rem)}.grid-margin-y>.small-12{height:calc(100% - 1.25rem)}@media print, screen and (min-width: 40em){.grid-margin-y>.auto{height:auto}.grid-margin-y>.shrink{height:auto}.grid-margin-y>.small-1{height:calc(8.33333% - 1.25rem)}.grid-margin-y>.small-2{height:calc(16.66667% - 1.25rem)}.grid-margin-y>.small-3{height:calc(25% - 1.25rem)}.grid-margin-y>.small-4{height:calc(33.33333% - 1.25rem)}.grid-margin-y>.small-5{height:calc(41.66667% - 1.25rem)}.grid-margin-y>.small-6{height:calc(50% - 1.25rem)}.grid-margin-y>.small-7{height:calc(58.33333% - 1.25rem)}.grid-margin-y>.small-8{height:calc(66.66667% - 1.25rem)}.grid-margin-y>.small-9{height:calc(75% - 1.25rem)}.grid-margin-y>.small-10{height:calc(83.33333% - 1.25rem)}.grid-margin-y>.small-11{height:calc(91.66667% - 1.25rem)}.grid-margin-y>.small-12{height:calc(100% - 1.25rem)}.grid-margin-y>.medium-auto{height:auto}.grid-margin-y>.medium-shrink{height:auto}.grid-margin-y>.medium-1{height:calc(8.33333% - 1.25rem)}.grid-margin-y>.medium-2{height:calc(16.66667% - 1.25rem)}.grid-margin-y>.medium-3{height:calc(25% - 1.25rem)}.grid-margin-y>.medium-4{height:calc(33.33333% - 1.25rem)}.grid-margin-y>.medium-5{height:calc(41.66667% - 1.25rem)}.grid-margin-y>.medium-6{height:calc(50% - 1.25rem)}.grid-margin-y>.medium-7{height:calc(58.33333% - 1.25rem)}.grid-margin-y>.medium-8{height:calc(66.66667% - 1.25rem)}.grid-margin-y>.medium-9{height:calc(75% - 1.25rem)}.grid-margin-y>.medium-10{height:calc(83.33333% - 1.25rem)}.grid-margin-y>.medium-11{height:calc(91.66667% - 1.25rem)}.grid-margin-y>.medium-12{height:calc(100% - 1.25rem)}}@media print, screen and (min-width: 64em){.grid-margin-y>.large-auto{height:auto}.grid-margin-y>.large-shrink{height:auto}.grid-margin-y>.large-1{height:calc(8.33333% - 1.25rem)}.grid-margin-y>.large-2{height:calc(16.66667% - 1.25rem)}.grid-margin-y>.large-3{height:calc(25% - 1.25rem)}.grid-margin-y>.large-4{height:calc(33.33333% - 1.25rem)}.grid-margin-y>.large-5{height:calc(41.66667% - 1.25rem)}.grid-margin-y>.large-6{height:calc(50% - 1.25rem)}.grid-margin-y>.large-7{height:calc(58.33333% - 1.25rem)}.grid-margin-y>.large-8{height:calc(66.66667% - 1.25rem)}.grid-margin-y>.large-9{height:calc(75% - 1.25rem)}.grid-margin-y>.large-10{height:calc(83.33333% - 1.25rem)}.grid-margin-y>.large-11{height:calc(91.66667% - 1.25rem)}.grid-margin-y>.large-12{height:calc(100% - 1.25rem)}}.grid-frame.grid-margin-y{height:calc(100vh + 1.25rem)}@media print, screen and (min-width: 40em){.grid-frame.grid-margin-y{height:calc(100vh + 1.25rem)}}@media print, screen and (min-width: 64em){.grid-frame.grid-margin-y{height:calc(100vh + 1.25rem)}}@media print, screen and (min-width: 40em){.grid-margin-y.medium-grid-frame{height:calc(100vh + 1.25rem)}}@media print, screen and (min-width: 64em){.grid-margin-y.large-grid-frame{height:calc(100vh + 1.25rem)}}.row{max-width:75rem;margin-right:auto;margin-left:auto}.row::before,.row::after{display:table;content:' ';-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-ordinal-group:2;-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:-.625rem;margin-left:-.625rem}@media print, screen and (min-width: 40em){.row .row{margin-right:-.625rem;margin-left:-.625rem}}@media print, screen and (min-width: 64em){.row .row{margin-right:-.625rem;margin-left:-.625rem}}.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-small>.column,.row.gutter-small>.columns{padding-right:.625rem;padding-left:.625rem}.row.gutter-medium>.column,.row.gutter-medium>.columns{padding-right:.625rem;padding-left:.625rem}.column,.columns{width:100%;float:left;padding-right:.625rem;padding-left:.625rem}@media print, screen and (min-width: 40em){.column,.columns{padding-right:.625rem;padding-left:.625rem}}.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}.small-1{width:8.33333%}.small-push-1{position:relative;left:8.33333%}.small-pull-1{position:relative;left:-8.33333%}.small-offset-0{margin-left:0%}.small-2{width:16.66667%}.small-push-2{position:relative;left:16.66667%}.small-pull-2{position:relative;left:-16.66667%}.small-offset-1{margin-left:8.33333%}.small-3{width:25%}.small-push-3{position:relative;left:25%}.small-pull-3{position:relative;left:-25%}.small-offset-2{margin-left:16.66667%}.small-4{width:33.33333%}.small-push-4{position:relative;left:33.33333%}.small-pull-4{position:relative;left:-33.33333%}.small-offset-3{margin-left:25%}.small-5{width:41.66667%}.small-push-5{position:relative;left:41.66667%}.small-pull-5{position:relative;left:-41.66667%}.small-offset-4{margin-left:33.33333%}.small-6{width:50%}.small-push-6{position:relative;left:50%}.small-pull-6{position:relative;left:-50%}.small-offset-5{margin-left:41.66667%}.small-7{width:58.33333%}.small-push-7{position:relative;left:58.33333%}.small-pull-7{position:relative;left:-58.33333%}.small-offset-6{margin-left:50%}.small-8{width:66.66667%}.small-push-8{position:relative;left:66.66667%}.small-pull-8{position:relative;left:-66.66667%}.small-offset-7{margin-left:58.33333%}.small-9{width:75%}.small-push-9{position:relative;left:75%}.small-pull-9{position:relative;left:-75%}.small-offset-8{margin-left:66.66667%}.small-10{width:83.33333%}.small-push-10{position:relative;left:83.33333%}.small-pull-10{position:relative;left:-83.33333%}.small-offset-9{margin-left:75%}.small-11{width:91.66667%}.small-push-11{position:relative;left:91.66667%}.small-pull-11{position:relative;left:-91.66667%}.small-offset-10{margin-left:83.33333%}.small-12{width:100%}.small-offset-11{margin-left:91.66667%}.small-up-1>.column,.small-up-1>.columns{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(2n+1),.small-up-2>.columns:nth-of-type(2n+1){clear:both}.small-up-2>.column:last-child,.small-up-2>.columns:last-child{float:left}.small-up-3>.column,.small-up-3>.columns{float:left;width:33.33333%}.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.66667%}.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.28571%}.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}.small-collapse .row{margin-right:0;margin-left:0}.expanded.row .small-collapse.row{margin-right:0;margin-left:0}.small-uncollapse>.column,.small-uncollapse>.columns{padding-right:.625rem;padding-left:.625rem}.small-centered{margin-right:auto;margin-left:auto}.small-centered,.small-centered:last-child:not(:first-child){float:none;clear:both}.small-uncentered,.small-push-0,.small-pull-0{position:static;float:left;margin-right:0;margin-left:0}@media print, screen and (min-width: 40em){.medium-1{width:8.33333%}.medium-push-1{position:relative;left:8.33333%}.medium-pull-1{position:relative;left:-8.33333%}.medium-offset-0{margin-left:0%}.medium-2{width:16.66667%}.medium-push-2{position:relative;left:16.66667%}.medium-pull-2{position:relative;left:-16.66667%}.medium-offset-1{margin-left:8.33333%}.medium-3{width:25%}.medium-push-3{position:relative;left:25%}.medium-pull-3{position:relative;left:-25%}.medium-offset-2{margin-left:16.66667%}.medium-4{width:33.33333%}.medium-push-4{position:relative;left:33.33333%}.medium-pull-4{position:relative;left:-33.33333%}.medium-offset-3{margin-left:25%}.medium-5{width:41.66667%}.medium-push-5{position:relative;left:41.66667%}.medium-pull-5{position:relative;left:-41.66667%}.medium-offset-4{margin-left:33.33333%}.medium-6{width:50%}.medium-push-6{position:relative;left:50%}.medium-pull-6{position:relative;left:-50%}.medium-offset-5{margin-left:41.66667%}.medium-7{width:58.33333%}.medium-push-7{position:relative;left:58.33333%}.medium-pull-7{position:relative;left:-58.33333%}.medium-offset-6{margin-left:50%}.medium-8{width:66.66667%}.medium-push-8{position:relative;left:66.66667%}.medium-pull-8{position:relative;left:-66.66667%}.medium-offset-7{margin-left:58.33333%}.medium-9{width:75%}.medium-push-9{position:relative;left:75%}.medium-pull-9{position:relative;left:-75%}.medium-offset-8{margin-left:66.66667%}.medium-10{width:83.33333%}.medium-push-10{position:relative;left:83.33333%}.medium-pull-10{position:relative;left:-83.33333%}.medium-offset-9{margin-left:75%}.medium-11{width:91.66667%}.medium-push-11{position:relative;left:91.66667%}.medium-pull-11{position:relative;left:-91.66667%}.medium-offset-10{margin-left:83.33333%}.medium-12{width:100%}.medium-offset-11{margin-left:91.66667%}.medium-up-1>.column,.medium-up-1>.columns{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(2n+1),.medium-up-2>.columns:nth-of-type(2n+1){clear:both}.medium-up-2>.column:last-child,.medium-up-2>.columns:last-child{float:left}.medium-up-3>.column,.medium-up-3>.columns{float:left;width:33.33333%}.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.66667%}.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.28571%}.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}.medium-collapse .row{margin-right:0;margin-left:0}.expanded.row .medium-collapse.row{margin-right:0;margin-left:0}.medium-uncollapse>.column,.medium-uncollapse>.columns{padding-right:.625rem;padding-left:.625rem}.medium-centered{margin-right:auto;margin-left:auto}.medium-centered,.medium-centered:last-child:not(:first-child){float:none;clear:both}.medium-uncentered,.medium-push-0,.medium-pull-0{position:static;float:left;margin-right:0;margin-left:0}}@media print, screen and (min-width: 64em){.large-1{width:8.33333%}.large-push-1{position:relative;left:8.33333%}.large-pull-1{position:relative;left:-8.33333%}.large-offset-0{margin-left:0%}.large-2{width:16.66667%}.large-push-2{position:relative;left:16.66667%}.large-pull-2{position:relative;left:-16.66667%}.large-offset-1{margin-left:8.33333%}.large-3{width:25%}.large-push-3{position:relative;left:25%}.large-pull-3{position:relative;left:-25%}.large-offset-2{margin-left:16.66667%}.large-4{width:33.33333%}.large-push-4{position:relative;left:33.33333%}.large-pull-4{position:relative;left:-33.33333%}.large-offset-3{margin-left:25%}.large-5{width:41.66667%}.large-push-5{position:relative;left:41.66667%}.large-pull-5{position:relative;left:-41.66667%}.large-offset-4{margin-left:33.33333%}.large-6{width:50%}.large-push-6{position:relative;left:50%}.large-pull-6{position:relative;left:-50%}.large-offset-5{margin-left:41.66667%}.large-7{width:58.33333%}.large-push-7{position:relative;left:58.33333%}.large-pull-7{position:relative;left:-58.33333%}.large-offset-6{margin-left:50%}.large-8{width:66.66667%}.large-push-8{position:relative;left:66.66667%}.large-pull-8{position:relative;left:-66.66667%}.large-offset-7{margin-left:58.33333%}.large-9{width:75%}.large-push-9{position:relative;left:75%}.large-pull-9{position:relative;left:-75%}.large-offset-8{margin-left:66.66667%}.large-10{width:83.33333%}.large-push-10{position:relative;left:83.33333%}.large-pull-10{position:relative;left:-83.33333%}.large-offset-9{margin-left:75%}.large-11{width:91.66667%}.large-push-11{position:relative;left:91.66667%}.large-pull-11{position:relative;left:-91.66667%}.large-offset-10{margin-left:83.33333%}.large-12{width:100%}.large-offset-11{margin-left:91.66667%}.large-up-1>.column,.large-up-1>.columns{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(2n+1),.large-up-2>.columns:nth-of-type(2n+1){clear:both}.large-up-2>.column:last-child,.large-up-2>.columns:last-child{float:left}.large-up-3>.column,.large-up-3>.columns{float:left;width:33.33333%}.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.66667%}.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.28571%}.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}.large-collapse .row{margin-right:0;margin-left:0}.expanded.row .large-collapse.row{margin-right:0;margin-left:0}.large-uncollapse>.column,.large-uncollapse>.columns{padding-right:.625rem;padding-left:.625rem}.large-centered{margin-right:auto;margin-left:auto}.large-centered,.large-centered:last-child:not(:first-child){float:none;clear:both}.large-uncentered,.large-push-0,.large-pull-0{position:static;float:left;margin-right:0;margin-left:0}}.column-block{margin-bottom:1.25rem}.column-block>:last-child{margin-bottom:0}@media print, screen and (min-width: 40em){.column-block{margin-bottom:1.25rem}.column-block>:last-child{margin-bottom:0}}.align-left{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.align-right{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.align-center{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.align-justify{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.align-spaced{-ms-flex-pack:distribute;justify-content:space-around}.align-left.vertical.menu>li>a{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.align-right.vertical.menu>li>a{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.align-center.vertical.menu>li>a{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.align-top{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.align-self-top{-ms-flex-item-align:start;align-self:flex-start}.align-bottom{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}.align-self-bottom{-ms-flex-item-align:end;align-self:flex-end}.align-middle{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.align-self-middle{-ms-flex-item-align:center;align-self:center}.align-stretch{-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch}.align-self-stretch{-ms-flex-item-align:stretch;align-self:stretch}.align-center-middle{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-line-pack:center;align-content:center}.small-order-1{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.small-order-2{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.small-order-3{-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.small-order-4{-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.small-order-5{-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.small-order-6{-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}@media print, screen and (min-width: 40em){.medium-order-1{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.medium-order-2{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.medium-order-3{-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.medium-order-4{-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.medium-order-5{-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.medium-order-6{-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}}@media print, screen and (min-width: 64em){.large-order-1{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.large-order-2{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.large-order-3{-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.large-order-4{-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.large-order-5{-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.large-order-6{-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}}.flex-container{display:-webkit-box;display:-ms-flexbox;display:flex}.flex-child-auto{-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto}.flex-child-grow{-webkit-box-flex:1;-ms-flex:1 0 auto;flex:1 0 auto}.flex-child-shrink{-webkit-box-flex:0;-ms-flex:0 1 auto;flex:0 1 auto}.flex-dir-row{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.flex-dir-row-reverse{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.flex-dir-column{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.flex-dir-column-reverse{-webkit-box-orient:vertical;-webkit-box-direction:reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse}@media print, screen and (min-width: 40em){.medium-flex-container{display:-webkit-box;display:-ms-flexbox;display:flex}.medium-flex-child-auto{-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto}.medium-flex-child-grow{-webkit-box-flex:1;-ms-flex:1 0 auto;flex:1 0 auto}.medium-flex-child-shrink{-webkit-box-flex:0;-ms-flex:0 1 auto;flex:0 1 auto}.medium-flex-dir-row{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.medium-flex-dir-row-reverse{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.medium-flex-dir-column{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.medium-flex-dir-column-reverse{-webkit-box-orient:vertical;-webkit-box-direction:reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse}}@media print, screen and (min-width: 64em){.large-flex-container{display:-webkit-box;display:-ms-flexbox;display:flex}.large-flex-child-auto{-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto}.large-flex-child-grow{-webkit-box-flex:1;-ms-flex:1 0 auto;flex:1 0 auto}.large-flex-child-shrink{-webkit-box-flex:0;-ms-flex:0 1 auto;flex:0 1 auto}.large-flex-dir-row{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.large-flex-dir-row-reverse{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.large-flex-dir-column{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.large-flex-dir-column-reverse{-webkit-box-orient:vertical;-webkit-box-direction:reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse}}div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,p,blockquote,th,td{margin:0;padding:0}p{margin-bottom:1rem;font-size:inherit;line-height:1.6;text-rendering:optimizeLegibility}em,i{font-style:italic;line-height:inherit}strong,b{font-weight:bold;line-height:inherit}small{font-size:80%;line-height:inherit}h1,.h1,h2,.h2,h3,.h3,h4,.h4,h5,.h5,h6,.h6{font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-style:normal;font-weight:normal;color:inherit;text-rendering:optimizeLegibility}h1 small,.h1 small,h2 small,.h2 small,h3 small,.h3 small,h4 small,.h4 small,h5 small,.h5 small,h6 small,.h6 small{line-height:0;color:#cacaca}h1,.h1{font-size:1.5rem;line-height:1.4;margin-top:0;margin-bottom:.5rem}h2,.h2{font-size:1.25rem;line-height:1.4;margin-top:0;margin-bottom:.5rem}h3,.h3{font-size:1.1875rem;line-height:1.4;margin-top:0;margin-bottom:.5rem}h4,.h4{font-size:1.125rem;line-height:1.4;margin-top:0;margin-bottom:.5rem}h5,.h5{font-size:1.0625rem;line-height:1.4;margin-top:0;margin-bottom:.5rem}h6,.h6{font-size:1rem;line-height:1.4;margin-top:0;margin-bottom:.5rem}@media print, screen and (min-width: 40em){h1,.h1{font-size:3rem}h2,.h2{font-size:2.5rem}h3,.h3{font-size:1.9375rem}h4,.h4{font-size:1.5625rem}h5,.h5{font-size:1.25rem}h6,.h6{font-size:1rem}}a{line-height:inherit;color:#68bbc8;text-decoration:none;cursor:pointer}a:hover,a:focus{color:#49adbd}a img{border:0}hr{clear:both;max-width:75rem;height:0;margin:1.25rem auto;border-top:0;border-right:0;border-bottom:1px solid #cacaca;border-left:0}ul,ol,dl{margin-bottom:1rem;list-style-position:outside;line-height:1.6}li{font-size:inherit}ul{margin-left:1.25rem;list-style-type:disc}ol{margin-left:1.25rem}ul ul,ol ul,ul ol,ol ol{margin-left:1.25rem;margin-bottom:0}dl{margin-bottom:1rem}dl dt{margin-bottom:.3rem;font-weight:bold}blockquote{margin:0 0 1rem;padding:.5625rem 1.25rem 0 1.1875rem;border-left:1px solid #cacaca}blockquote,blockquote p{line-height:1.6;color:#8a8a8a}cite{display:block;font-size:.8125rem;color:#8a8a8a}cite:before{content:"— "}abbr,abbr[title]{border-bottom:1px dotted #0a0a0a;cursor:help;text-decoration:none}figure{margin:0}code{padding:.125rem .3125rem .0625rem;border:1px solid #cacaca;background-color:#e6e6e6;font-family:Consolas,"Liberation Mono",Courier,monospace;font-weight:normal;color:#0a0a0a}kbd{margin:0;padding:.125rem .25rem 0;background-color:#e6e6e6;font-family:Consolas,"Liberation Mono",Courier,monospace;color:#0a0a0a;border-radius:.25rem}.subheader{margin-top:.2rem;margin-bottom:.5rem;font-weight:normal;line-height:1.4;color:#8a8a8a}.lead{font-size:125%;line-height:1.6}.stat{font-size:2.5rem;line-height:1}p+.stat{margin-top:-1rem}ul.no-bullet,ol.no-bullet{margin-left:0;list-style:none}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}@media print, screen and (min-width: 40em){.medium-text-left{text-align:left}.medium-text-right{text-align:right}.medium-text-center{text-align:center}.medium-text-justify{text-align:justify}}@media print, screen and (min-width: 64em){.large-text-left{text-align:left}.large-text-right{text-align:right}.large-text-center{text-align:center}.large-text-justify{text-align:justify}}.show-for-print{display:none !important}@media print{*{background:transparent !important;-webkit-box-shadow:none !important;box-shadow:none !important;color:black !important;text-shadow:none !important}.show-for-print{display:block !important}.hide-for-print{display:none !important}table.show-for-print{display:table !important}thead.show-for-print{display:table-header-group !important}tbody.show-for-print{display:table-row-group !important}tr.show-for-print{display:table-row !important}td.show-for-print{display:table-cell !important}th.show-for-print{display:table-cell !important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}.ir a:after,a[href^='javascript:']:after,a[href^='#']:after{content:''}abbr[title]:after{content:" (" attr(title) ")"}pre,blockquote{border:1px solid #8a8a8a;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100% !important}@page{margin:0.5cm}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}.print-break-inside{page-break-inside:auto}}[type='text'],[type='password'],[type='date'],[type='datetime'],[type='datetime-local'],[type='month'],[type='week'],[type='email'],[type='number'],[type='search'],[type='tel'],[type='time'],[type='url'],[type='color'],textarea{display:block;-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;height:2.25rem;margin:0 0 1rem;padding:.5rem 1.125rem;border:1px solid #cacaca;border-radius:0;background-color:#fff;-webkit-box-shadow:inset 0 1px 2px rgba(10,10,10,0.1);box-shadow:inset 0 1px 2px rgba(10,10,10,0.1);font-family:inherit;font-size:.875rem;font-weight:normal;line-height:1.5;color:#0a0a0a;-webkit-transition:border-color 0.25s ease-in-out,-webkit-box-shadow 0.5s;transition:border-color 0.25s ease-in-out,-webkit-box-shadow 0.5s;transition:box-shadow 0.5s,border-color 0.25s ease-in-out;transition:box-shadow 0.5s,border-color 0.25s ease-in-out,-webkit-box-shadow 0.5s;-webkit-appearance:none;-moz-appearance:none;appearance:none}[type='text']:focus,[type='password']:focus,[type='date']:focus,[type='datetime']:focus,[type='datetime-local']:focus,[type='month']:focus,[type='week']:focus,[type='email']:focus,[type='number']:focus,[type='search']:focus,[type='tel']:focus,[type='time']:focus,[type='url']:focus,[type='color']:focus,textarea:focus{outline:none;border:1px solid #8a8a8a;background-color:#fff;-webkit-box-shadow:0 0 5px #cacaca;box-shadow:0 0 5px #cacaca;-webkit-transition:border-color 0.25s ease-in-out,-webkit-box-shadow 0.5s;transition:border-color 0.25s ease-in-out,-webkit-box-shadow 0.5s;transition:box-shadow 0.5s,border-color 0.25s ease-in-out;transition:box-shadow 0.5s,border-color 0.25s ease-in-out,-webkit-box-shadow 0.5s}textarea{max-width:100%}textarea[rows]{height:auto}input::-webkit-input-placeholder,textarea::-webkit-input-placeholder{color:#cacaca}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:#cacaca}input::-ms-input-placeholder,textarea::-ms-input-placeholder{color:#cacaca}input::placeholder,textarea::placeholder{color:#cacaca}input:disabled,input[readonly],textarea:disabled,textarea[readonly]{background-color:#e6e6e6;cursor:not-allowed}[type='submit'],[type='button']{-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:.25rem}input[type='search']{-webkit-box-sizing:border-box;box-sizing:border-box}[type='file'],[type='checkbox'],[type='radio']{margin:0 0 1rem}[type='checkbox']+label,[type='radio']+label{display:inline-block;vertical-align:baseline;margin-left:.5rem;margin-right:1rem;margin-bottom:0}[type='checkbox']+label[for],[type='radio']+label[for]{cursor:pointer}label>[type='checkbox'],label>[type='radio']{margin-right:.5rem}[type='file']{width:100%}label{display:block;margin:0;font-size:.875rem;font-weight:normal;line-height:1.8;color:#0a0a0a}label.middle{margin:0 0 1rem;padding:.5625rem 0}.help-text{margin-top:-.5rem;font-size:.8125rem;font-style:italic;color:#0a0a0a}.input-group{display:-webkit-box;display:-ms-flexbox;display:flex;width:100%;margin-bottom:1rem;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch}.input-group>:first-child{border-radius:0 0 0 0}.input-group>:last-child>*{border-radius:0 0 0 0}.input-group-label,.input-group-field,.input-group-button,.input-group-button a,.input-group-button input,.input-group-button button,.input-group-button label{margin:0;white-space:nowrap}.input-group-label{padding:0 1rem;border:1px solid #cacaca;background:#e6e6e6;color:#0a0a0a;text-align:center;white-space:nowrap;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.input-group-label:first-child{border-right:0}.input-group-label:last-child{border-left:0}.input-group-field{border-radius:0;-webkit-box-flex:1;-ms-flex:1 1 0px;flex:1 1 0px;min-width:0}.input-group-button{padding-top:0;padding-bottom:0;text-align:center;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.input-group-button a,.input-group-button input,.input-group-button button,.input-group-button label{height:auto;-ms-flex-item-align:stretch;align-self:stretch;padding-top:0;padding-bottom:0;font-size:.875rem}fieldset{margin:0;padding:0;border:0}legend{max-width:100%;margin-bottom:.5rem}.fieldset{margin:1.125rem 0;padding:1.25rem;border:1px solid #cacaca}.fieldset legend{margin:0;margin-left:-.1875rem;padding:0 .1875rem}select{height:2.25rem;margin:0 0 1rem;padding:.5rem 1.125rem;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid #cacaca;border-radius:0;background-color:#fff;font-family:inherit;font-size:.875rem;font-weight:normal;line-height:1.5;color:#0a0a0a;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' width='32' height='24' viewBox='0 0 32 24'><polygon points='0,0 32,0 16,24' style='fill: rgb%28138, 138, 138%29'></polygon></svg>");background-origin:content-box;background-position:right -1rem center;background-repeat:no-repeat;background-size:9px 6px;padding-right:1.5rem;-webkit-transition:border-color 0.25s ease-in-out,-webkit-box-shadow 0.5s;transition:border-color 0.25s ease-in-out,-webkit-box-shadow 0.5s;transition:box-shadow 0.5s,border-color 0.25s ease-in-out;transition:box-shadow 0.5s,border-color 0.25s ease-in-out,-webkit-box-shadow 0.5s}@media screen and (min-width: 0\0){select{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg==")}}select:focus{outline:none;border:1px solid #8a8a8a;background-color:#fff;-webkit-box-shadow:0 0 5px #cacaca;box-shadow:0 0 5px #cacaca;-webkit-transition:border-color 0.25s ease-in-out,-webkit-box-shadow 0.5s;transition:border-color 0.25s ease-in-out,-webkit-box-shadow 0.5s;transition:box-shadow 0.5s,border-color 0.25s ease-in-out;transition:box-shadow 0.5s,border-color 0.25s ease-in-out,-webkit-box-shadow 0.5s}select:disabled{background-color:#e6e6e6;cursor:not-allowed}select::-ms-expand{display:none}select[multiple]{height:auto;background-image:none}.is-invalid-input:not(:focus){border-color:#f05861;background-color:#feeeef}.is-invalid-input:not(:focus)::-webkit-input-placeholder{color:#f05861}.is-invalid-input:not(:focus):-ms-input-placeholder{color:#f05861}.is-invalid-input:not(:focus)::-ms-input-placeholder{color:#f05861}.is-invalid-input:not(:focus)::placeholder{color:#f05861}.is-invalid-label{color:#f05861}.form-error{display:none;margin-top:-.5rem;margin-bottom:1rem;font-size:.75rem;font-weight:bold;color:#f05861}.form-error.is-visible{display:block}.button,.gform_button{display:inline-block;vertical-align:middle;margin:0 0 1rem 0;font-family:inherit;padding:1.15em 2.5em;-webkit-appearance:none;border:1px solid transparent;border-radius:.25rem;-webkit-transition:background-color 0.25s ease-out,color 0.25s ease-out;transition:background-color 0.25s ease-out,color 0.25s ease-out;font-size:0.9rem;line-height:1;text-align:center;cursor:pointer;background-color:#68bbc8;color:#fff}[data-whatinput='mouse'] .button,[data-whatinput='mouse'] .gform_button{outline:0}.button:hover,.gform_button:hover,.button:focus,.gform_button:focus{background-color:#47acbc;color:#fff}.button.tiny,.tiny.gform_button{font-size:.6rem}.button.small,.small.gform_button{font-size:.75rem}.button.large,.large.gform_button{font-size:1.25rem}.button.expanded,.expanded.gform_button{display:block;width:100%;margin-right:0;margin-left:0}.button.primary,.primary.gform_button{background-color:#68bbc8;color:#0a0a0a}.button.primary:hover,.primary.gform_button:hover,.button.primary:focus,.primary.gform_button:focus{background-color:#41a3b2;color:#0a0a0a}.button.secondary,.secondary.gform_button{background-color:#f05861;color:#0a0a0a}.button.secondary:hover,.secondary.gform_button:hover,.button.secondary:focus,.secondary.gform_button:focus{background-color:#eb1c28;color:#0a0a0a}.button.success,.success.gform_button{background-color:#79bc4c;color:#0a0a0a}.button.success:hover,.success.gform_button:hover,.button.success:focus,.success.gform_button:focus{background-color:#609a3a;color:#0a0a0a}.button.warning,.warning.gform_button{background-color:#f68e35;color:#0a0a0a}.button.warning:hover,.warning.gform_button:hover,.button.warning:focus,.warning.gform_button:focus{background-color:#e56f0a;color:#0a0a0a}.button.alert,.alert.gform_button{background-color:#f05861;color:#0a0a0a}.button.alert:hover,.alert.gform_button:hover,.button.alert:focus,.alert.gform_button:focus{background-color:#eb1c28;color:#0a0a0a}.button.disabled,.disabled.gform_button,.button[disabled],.gform_button[disabled]{opacity:.25;cursor:not-allowed}.button.disabled,.disabled.gform_button,.button.disabled:hover,.disabled.gform_button:hover,.button.disabled:focus,.disabled.gform_button:focus,.button[disabled],.gform_button[disabled],.button[disabled]:hover,.gform_button[disabled]:hover,.button[disabled]:focus,.gform_button[disabled]:focus{background-color:#68bbc8;color:#fff}.button.disabled.primary,.disabled.primary.gform_button,.button[disabled].primary,.gform_button[disabled].primary{opacity:.25;cursor:not-allowed}.button.disabled.primary,.disabled.primary.gform_button,.button.disabled.primary:hover,.disabled.primary.gform_button:hover,.button.disabled.primary:focus,.disabled.primary.gform_button:focus,.button[disabled].primary,.gform_button[disabled].primary,.button[disabled].primary:hover,.gform_button[disabled].primary:hover,.button[disabled].primary:focus,.gform_button[disabled].primary:focus{background-color:#68bbc8;color:#0a0a0a}.button.disabled.secondary,.disabled.secondary.gform_button,.button[disabled].secondary,.gform_button[disabled].secondary{opacity:.25;cursor:not-allowed}.button.disabled.secondary,.disabled.secondary.gform_button,.button.disabled.secondary:hover,.disabled.secondary.gform_button:hover,.button.disabled.secondary:focus,.disabled.secondary.gform_button:focus,.button[disabled].secondary,.gform_button[disabled].secondary,.button[disabled].secondary:hover,.gform_button[disabled].secondary:hover,.button[disabled].secondary:focus,.gform_button[disabled].secondary:focus{background-color:#f05861;color:#0a0a0a}.button.disabled.success,.disabled.success.gform_button,.button[disabled].success,.gform_button[disabled].success{opacity:.25;cursor:not-allowed}.button.disabled.success,.disabled.success.gform_button,.button.disabled.success:hover,.disabled.success.gform_button:hover,.button.disabled.success:focus,.disabled.success.gform_button:focus,.button[disabled].success,.gform_button[disabled].success,.button[disabled].success:hover,.gform_button[disabled].success:hover,.button[disabled].success:focus,.gform_button[disabled].success:focus{background-color:#79bc4c;color:#0a0a0a}.button.disabled.warning,.disabled.warning.gform_button,.button[disabled].warning,.gform_button[disabled].warning{opacity:.25;cursor:not-allowed}.button.disabled.warning,.disabled.warning.gform_button,.button.disabled.warning:hover,.disabled.warning.gform_button:hover,.button.disabled.warning:focus,.disabled.warning.gform_button:focus,.button[disabled].warning,.gform_button[disabled].warning,.button[disabled].warning:hover,.gform_button[disabled].warning:hover,.button[disabled].warning:focus,.gform_button[disabled].warning:focus{background-color:#f68e35;color:#0a0a0a}.button.disabled.alert,.disabled.alert.gform_button,.button[disabled].alert,.gform_button[disabled].alert{opacity:.25;cursor:not-allowed}.button.disabled.alert,.disabled.alert.gform_button,.button.disabled.alert:hover,.disabled.alert.gform_button:hover,.button.disabled.alert:focus,.disabled.alert.gform_button:focus,.button[disabled].alert,.gform_button[disabled].alert,.button[disabled].alert:hover,.gform_button[disabled].alert:hover,.button[disabled].alert:focus,.gform_button[disabled].alert:focus{background-color:#f05861;color:#0a0a0a}.button.hollow,.hollow.gform_button{border:1px solid #68bbc8;color:#68bbc8}.button.hollow,.hollow.gform_button,.button.hollow:hover,.hollow.gform_button:hover,.button.hollow:focus,.hollow.gform_button:focus{background-color:transparent}.button.hollow.disabled,.hollow.disabled.gform_button,.button.hollow.disabled:hover,.hollow.disabled.gform_button:hover,.button.hollow.disabled:focus,.hollow.disabled.gform_button:focus,.button.hollow[disabled],.hollow.gform_button[disabled],.button.hollow[disabled]:hover,.hollow.gform_button[disabled]:hover,.button.hollow[disabled]:focus,.hollow.gform_button[disabled]:focus{background-color:transparent}.button.hollow:hover,.hollow.gform_button:hover,.button.hollow:focus,.hollow.gform_button:focus{border-color:#29666f;color:#29666f}.button.hollow:hover.disabled,.hollow.gform_button:hover.disabled,.button.hollow:hover[disabled],.hollow.gform_button:hover[disabled],.button.hollow:focus.disabled,.hollow.gform_button:focus.disabled,.button.hollow:focus[disabled],.hollow.gform_button:focus[disabled]{border:1px solid #68bbc8;color:#68bbc8}.button.hollow.primary,.hollow.primary.gform_button{border:1px solid #68bbc8;color:#68bbc8}.button.hollow.primary:hover,.hollow.primary.gform_button:hover,.button.hollow.primary:focus,.hollow.primary.gform_button:focus{border-color:#29666f;color:#29666f}.button.hollow.primary:hover.disabled,.hollow.primary.gform_button:hover.disabled,.button.hollow.primary:hover[disabled],.hollow.primary.gform_button:hover[disabled],.button.hollow.primary:focus.disabled,.hollow.primary.gform_button:focus.disabled,.button.hollow.primary:focus[disabled],.hollow.primary.gform_button:focus[disabled]{border:1px solid #68bbc8;color:#68bbc8}.button.hollow.secondary,.hollow.secondary.gform_button{border:1px solid #f05861;color:#f05861}.button.hollow.secondary:hover,.hollow.secondary.gform_button:hover,.button.hollow.secondary:focus,.hollow.secondary.gform_button:focus{border-color:#960e16;color:#960e16}.button.hollow.secondary:hover.disabled,.hollow.secondary.gform_button:hover.disabled,.button.hollow.secondary:hover[disabled],.hollow.secondary.gform_button:hover[disabled],.button.hollow.secondary:focus.disabled,.hollow.secondary.gform_button:focus.disabled,.button.hollow.secondary:focus[disabled],.hollow.secondary.gform_button:focus[disabled]{border:1px solid #f05861;color:#f05861}.button.hollow.success,.hollow.success.gform_button{border:1px solid #79bc4c;color:#79bc4c}.button.hollow.success:hover,.hollow.success.gform_button:hover,.button.hollow.success:focus,.hollow.success.gform_button:focus{border-color:#3c6024;color:#3c6024}.button.hollow.success:hover.disabled,.hollow.success.gform_button:hover.disabled,.button.hollow.success:hover[disabled],.hollow.success.gform_button:hover[disabled],.button.hollow.success:focus.disabled,.hollow.success.gform_button:focus.disabled,.button.hollow.success:focus[disabled],.hollow.success.gform_button:focus[disabled]{border:1px solid #79bc4c;color:#79bc4c}.button.hollow.warning,.hollow.warning.gform_button{border:1px solid #f68e35;color:#f68e35}.button.hollow.warning:hover,.hollow.warning.gform_button:hover,.button.hollow.warning:focus,.hollow.warning.gform_button:focus{border-color:#8f4506;color:#8f4506}.button.hollow.warning:hover.disabled,.hollow.warning.gform_button:hover.disabled,.button.hollow.warning:hover[disabled],.hollow.warning.gform_button:hover[disabled],.button.hollow.warning:focus.disabled,.hollow.warning.gform_button:focus.disabled,.button.hollow.warning:focus[disabled],.hollow.warning.gform_button:focus[disabled]{border:1px solid #f68e35;color:#f68e35}.button.hollow.alert,.hollow.alert.gform_button{border:1px solid #f05861;color:#f05861}.button.hollow.alert:hover,.hollow.alert.gform_button:hover,.button.hollow.alert:focus,.hollow.alert.gform_button:focus{border-color:#960e16;color:#960e16}.button.hollow.alert:hover.disabled,.hollow.alert.gform_button:hover.disabled,.button.hollow.alert:hover[disabled],.hollow.alert.gform_button:hover[disabled],.button.hollow.alert:focus.disabled,.hollow.alert.gform_button:focus.disabled,.button.hollow.alert:focus[disabled],.hollow.alert.gform_button:focus[disabled]{border:1px solid #f05861;color:#f05861}.button.clear,.clear.gform_button{border:1px solid #68bbc8;color:#68bbc8}.button.clear,.clear.gform_button,.button.clear:hover,.clear.gform_button:hover,.button.clear:focus,.clear.gform_button:focus{background-color:transparent}.button.clear.disabled,.clear.disabled.gform_button,.button.clear.disabled:hover,.clear.disabled.gform_button:hover,.button.clear.disabled:focus,.clear.disabled.gform_button:focus,.button.clear[disabled],.clear.gform_button[disabled],.button.clear[disabled]:hover,.clear.gform_button[disabled]:hover,.button.clear[disabled]:focus,.clear.gform_button[disabled]:focus{background-color:transparent}.button.clear:hover,.clear.gform_button:hover,.button.clear:focus,.clear.gform_button:focus{border-color:#29666f;color:#29666f}.button.clear:hover.disabled,.clear.gform_button:hover.disabled,.button.clear:hover[disabled],.clear.gform_button:hover[disabled],.button.clear:focus.disabled,.clear.gform_button:focus.disabled,.button.clear:focus[disabled],.clear.gform_button:focus[disabled]{border:1px solid #68bbc8;color:#68bbc8}.button.clear,.clear.gform_button,.button.clear.disabled,.clear.disabled.gform_button,.button.clear[disabled],.clear.gform_button[disabled],.button.clear:hover,.clear.gform_button:hover,.button.clear:hover.disabled,.clear.gform_button:hover.disabled,.button.clear:hover[disabled],.clear.gform_button:hover[disabled],.button.clear:focus,.clear.gform_button:focus,.button.clear:focus.disabled,.clear.gform_button:focus.disabled,.button.clear:focus[disabled],.clear.gform_button:focus[disabled]{border-color:transparent}.button.clear.primary,.clear.primary.gform_button{border:1px solid #68bbc8;color:#68bbc8}.button.clear.primary:hover,.clear.primary.gform_button:hover,.button.clear.primary:focus,.clear.primary.gform_button:focus{border-color:#29666f;color:#29666f}.button.clear.primary:hover.disabled,.clear.primary.gform_button:hover.disabled,.button.clear.primary:hover[disabled],.clear.primary.gform_button:hover[disabled],.button.clear.primary:focus.disabled,.clear.primary.gform_button:focus.disabled,.button.clear.primary:focus[disabled],.clear.primary.gform_button:focus[disabled]{border:1px solid #68bbc8;color:#68bbc8}.button.clear.primary,.clear.primary.gform_button,.button.clear.primary.disabled,.clear.primary.disabled.gform_button,.button.clear.primary[disabled],.clear.primary.gform_button[disabled],.button.clear.primary:hover,.clear.primary.gform_button:hover,.button.clear.primary:hover.disabled,.clear.primary.gform_button:hover.disabled,.button.clear.primary:hover[disabled],.clear.primary.gform_button:hover[disabled],.button.clear.primary:focus,.clear.primary.gform_button:focus,.button.clear.primary:focus.disabled,.clear.primary.gform_button:focus.disabled,.button.clear.primary:focus[disabled],.clear.primary.gform_button:focus[disabled]{border-color:transparent}.button.clear.secondary,.clear.secondary.gform_button{border:1px solid #f05861;color:#f05861}.button.clear.secondary:hover,.clear.secondary.gform_button:hover,.button.clear.secondary:focus,.clear.secondary.gform_button:focus{border-color:#960e16;color:#960e16}.button.clear.secondary:hover.disabled,.clear.secondary.gform_button:hover.disabled,.button.clear.secondary:hover[disabled],.clear.secondary.gform_button:hover[disabled],.button.clear.secondary:focus.disabled,.clear.secondary.gform_button:focus.disabled,.button.clear.secondary:focus[disabled],.clear.secondary.gform_button:focus[disabled]{border:1px solid #f05861;color:#f05861}.button.clear.secondary,.clear.secondary.gform_button,.button.clear.secondary.disabled,.clear.secondary.disabled.gform_button,.button.clear.secondary[disabled],.clear.secondary.gform_button[disabled],.button.clear.secondary:hover,.clear.secondary.gform_button:hover,.button.clear.secondary:hover.disabled,.clear.secondary.gform_button:hover.disabled,.button.clear.secondary:hover[disabled],.clear.secondary.gform_button:hover[disabled],.button.clear.secondary:focus,.clear.secondary.gform_button:focus,.button.clear.secondary:focus.disabled,.clear.secondary.gform_button:focus.disabled,.button.clear.secondary:focus[disabled],.clear.secondary.gform_button:focus[disabled]{border-color:transparent}.button.clear.success,.clear.success.gform_button{border:1px solid #79bc4c;color:#79bc4c}.button.clear.success:hover,.clear.success.gform_button:hover,.button.clear.success:focus,.clear.success.gform_button:focus{border-color:#3c6024;color:#3c6024}.button.clear.success:hover.disabled,.clear.success.gform_button:hover.disabled,.button.clear.success:hover[disabled],.clear.success.gform_button:hover[disabled],.button.clear.success:focus.disabled,.clear.success.gform_button:focus.disabled,.button.clear.success:focus[disabled],.clear.success.gform_button:focus[disabled]{border:1px solid #79bc4c;color:#79bc4c}.button.clear.success,.clear.success.gform_button,.button.clear.success.disabled,.clear.success.disabled.gform_button,.button.clear.success[disabled],.clear.success.gform_button[disabled],.button.clear.success:hover,.clear.success.gform_button:hover,.button.clear.success:hover.disabled,.clear.success.gform_button:hover.disabled,.button.clear.success:hover[disabled],.clear.success.gform_button:hover[disabled],.button.clear.success:focus,.clear.success.gform_button:focus,.button.clear.success:focus.disabled,.clear.success.gform_button:focus.disabled,.button.clear.success:focus[disabled],.clear.success.gform_button:focus[disabled]{border-color:transparent}.button.clear.warning,.clear.warning.gform_button{border:1px solid #f68e35;color:#f68e35}.button.clear.warning:hover,.clear.warning.gform_button:hover,.button.clear.warning:focus,.clear.warning.gform_button:focus{border-color:#8f4506;color:#8f4506}.button.clear.warning:hover.disabled,.clear.warning.gform_button:hover.disabled,.button.clear.warning:hover[disabled],.clear.warning.gform_button:hover[disabled],.button.clear.warning:focus.disabled,.clear.warning.gform_button:focus.disabled,.button.clear.warning:focus[disabled],.clear.warning.gform_button:focus[disabled]{border:1px solid #f68e35;color:#f68e35}.button.clear.warning,.clear.warning.gform_button,.button.clear.warning.disabled,.clear.warning.disabled.gform_button,.button.clear.warning[disabled],.clear.warning.gform_button[disabled],.button.clear.warning:hover,.clear.warning.gform_button:hover,.button.clear.warning:hover.disabled,.clear.warning.gform_button:hover.disabled,.button.clear.warning:hover[disabled],.clear.warning.gform_button:hover[disabled],.button.clear.warning:focus,.clear.warning.gform_button:focus,.button.clear.warning:focus.disabled,.clear.warning.gform_button:focus.disabled,.button.clear.warning:focus[disabled],.clear.warning.gform_button:focus[disabled]{border-color:transparent}.button.clear.alert,.clear.alert.gform_button{border:1px solid #f05861;color:#f05861}.button.clear.alert:hover,.clear.alert.gform_button:hover,.button.clear.alert:focus,.clear.alert.gform_button:focus{border-color:#960e16;color:#960e16}.button.clear.alert:hover.disabled,.clear.alert.gform_button:hover.disabled,.button.clear.alert:hover[disabled],.clear.alert.gform_button:hover[disabled],.button.clear.alert:focus.disabled,.clear.alert.gform_button:focus.disabled,.button.clear.alert:focus[disabled],.clear.alert.gform_button:focus[disabled]{border:1px solid #f05861;color:#f05861}.button.clear.alert,.clear.alert.gform_button,.button.clear.alert.disabled,.clear.alert.disabled.gform_button,.button.clear.alert[disabled],.clear.alert.gform_button[disabled],.button.clear.alert:hover,.clear.alert.gform_button:hover,.button.clear.alert:hover.disabled,.clear.alert.gform_button:hover.disabled,.button.clear.alert:hover[disabled],.clear.alert.gform_button:hover[disabled],.button.clear.alert:focus,.clear.alert.gform_button:focus,.button.clear.alert:focus.disabled,.clear.alert.gform_button:focus.disabled,.button.clear.alert:focus[disabled],.clear.alert.gform_button:focus[disabled]{border-color:transparent}.button.dropdown::after,.dropdown.gform_button::after{display:block;width:0;height:0;border:inset .4em;content:'';border-bottom-width:0;border-top-style:solid;border-color:#fff transparent transparent;position:relative;top:0.4em;display:inline-block;float:right;margin-left:2.5em}.button.dropdown.hollow::after,.dropdown.hollow.gform_button::after{border-top-color:#68bbc8}.button.dropdown.hollow.primary::after,.dropdown.hollow.primary.gform_button::after{border-top-color:#68bbc8}.button.dropdown.hollow.secondary::after,.dropdown.hollow.secondary.gform_button::after{border-top-color:#f05861}.button.dropdown.hollow.success::after,.dropdown.hollow.success.gform_button::after{border-top-color:#79bc4c}.button.dropdown.hollow.warning::after,.dropdown.hollow.warning.gform_button::after{border-top-color:#f68e35}.button.dropdown.hollow.alert::after,.dropdown.hollow.alert.gform_button::after{border-top-color:#f05861}.button.arrow-only::after,.arrow-only.gform_button::after{top:-0.1em;float:none;margin-left:0}a.button:hover,a.gform_button:hover,a.button:focus,a.gform_button:focus{text-decoration:none}.badge{display:inline-block;min-width:2.1em;padding:.3em;border-radius:50%;font-size:.6rem;text-align:center;background:#68bbc8;color:#fff}.badge.primary{background:#68bbc8;color:#0a0a0a}.badge.secondary{background:#f05861;color:#0a0a0a}.badge.success{background:#79bc4c;color:#0a0a0a}.badge.warning{background:#f68e35;color:#0a0a0a}.badge.alert{background:#f05861;color:#0a0a0a}.breadcrumbs{margin:0 0 1rem 0;list-style:none}.breadcrumbs::before,.breadcrumbs::after{display:table;content:' ';-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.breadcrumbs::after{clear:both}.breadcrumbs li{float:left;font-size:.6875rem;color:#0a0a0a;cursor:default;text-transform:uppercase}.breadcrumbs li:not(:last-child)::after{position:relative;margin:0 .75rem;opacity:1;content:"/";color:#cacaca}.breadcrumbs a{color:#68bbc8}.breadcrumbs a:hover{text-decoration:underline}.breadcrumbs .disabled{color:#cacaca;cursor:not-allowed}.button-group{margin-bottom:1rem;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch}.button-group::before,.button-group::after{display:table;content:' ';-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.button-group::after{clear:both}.button-group .button,.button-group .gform_button{margin:0;margin-right:1px;margin-bottom:1px;font-size:0.9rem;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.button-group .button:last-child,.button-group .gform_button:last-child{margin-right:0}.button-group.tiny .button,.button-group.tiny .gform_button{font-size:.6rem}.button-group.small .button,.button-group.small .gform_button{font-size:.75rem}.button-group.large .button,.button-group.large .gform_button{font-size:1.25rem}.button-group.expanded .button,.button-group.expanded .gform_button{-webkit-box-flex:1;-ms-flex:1 1 0px;flex:1 1 0px}.button-group.primary .button,.button-group.primary .gform_button{background-color:#68bbc8;color:#0a0a0a}.button-group.primary .button:hover,.button-group.primary .gform_button:hover,.button-group.primary .button:focus,.button-group.primary .gform_button:focus{background-color:#41a3b2;color:#0a0a0a}.button-group.secondary .button,.button-group.secondary .gform_button{background-color:#f05861;color:#0a0a0a}.button-group.secondary .button:hover,.button-group.secondary .gform_button:hover,.button-group.secondary .button:focus,.button-group.secondary .gform_button:focus{background-color:#eb1c28;color:#0a0a0a}.button-group.success .button,.button-group.success .gform_button{background-color:#79bc4c;color:#0a0a0a}.button-group.success .button:hover,.button-group.success .gform_button:hover,.button-group.success .button:focus,.button-group.success .gform_button:focus{background-color:#609a3a;color:#0a0a0a}.button-group.warning .button,.button-group.warning .gform_button{background-color:#f68e35;color:#0a0a0a}.button-group.warning .button:hover,.button-group.warning .gform_button:hover,.button-group.warning .button:focus,.button-group.warning .gform_button:focus{background-color:#e56f0a;color:#0a0a0a}.button-group.alert .button,.button-group.alert .gform_button{background-color:#f05861;color:#0a0a0a}.button-group.alert .button:hover,.button-group.alert .gform_button:hover,.button-group.alert .button:focus,.button-group.alert .gform_button:focus{background-color:#eb1c28;color:#0a0a0a}.button-group.stacked,.button-group.stacked-for-small,.button-group.stacked-for-medium{-ms-flex-wrap:wrap;flex-wrap:wrap}.button-group.stacked .button,.button-group.stacked .gform_button,.button-group.stacked-for-small .button,.button-group.stacked-for-small .gform_button,.button-group.stacked-for-medium .button,.button-group.stacked-for-medium .gform_button{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%}.button-group.stacked .button:last-child,.button-group.stacked .gform_button:last-child,.button-group.stacked-for-small .button:last-child,.button-group.stacked-for-small .gform_button:last-child,.button-group.stacked-for-medium .button:last-child,.button-group.stacked-for-medium .gform_button:last-child{margin-bottom:0}@media print, screen and (min-width: 40em){.button-group.stacked-for-small .button,.button-group.stacked-for-small .gform_button{-webkit-box-flex:1;-ms-flex:1 1 0px;flex:1 1 0px;margin-bottom:0}}@media print, screen and (min-width: 64em){.button-group.stacked-for-medium .button,.button-group.stacked-for-medium .gform_button{-webkit-box-flex:1;-ms-flex:1 1 0px;flex:1 1 0px;margin-bottom:0}}@media screen and (max-width: 39.9375em){.button-group.stacked-for-small.expanded{display:block}.button-group.stacked-for-small.expanded .button,.button-group.stacked-for-small.expanded .gform_button{display:block;margin-right:0}}.callout{position:relative;margin:0 0 1rem 0;padding:1rem;border:1px solid rgba(10,10,10,0.25);border-radius:.25rem;background-color:#fff;color:#0a0a0a}.callout>:first-child{margin-top:0}.callout>:last-child{margin-bottom:0}.callout.primary{background-color:#e8f5f7;color:#0a0a0a}.callout.secondary{background-color:#fde6e7;color:#0a0a0a}.callout.success{background-color:#ebf5e4;color:#0a0a0a}.callout.warning{background-color:#feeee1;color:#0a0a0a}.callout.alert{background-color:#fde6e7;color:#0a0a0a}.callout.small{padding-top:.5rem;padding-right:.5rem;padding-bottom:.5rem;padding-left:.5rem}.callout.large{padding-top:3rem;padding-right:3rem;padding-bottom:3rem;padding-left:3rem}.card{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;margin-bottom:1rem;border:1px solid #e6e6e6;border-radius:.25rem;background:#fff;-webkit-box-shadow:none;box-shadow:none;overflow:hidden;color:#0a0a0a}.card>:last-child{margin-bottom:0}.card-divider{-webkit-box-flex:0;-ms-flex:0 1 auto;flex:0 1 auto;display:-webkit-box;display:-ms-flexbox;display:flex;padding:1rem;background:#e6e6e6}.card-divider>:last-child{margin-bottom:0}.card-section{-webkit-box-flex:1;-ms-flex:1 0 auto;flex:1 0 auto;padding:1rem}.card-section>:last-child{margin-bottom:0}.card-image{min-height:1px}.close-button{position:absolute;color:#8a8a8a;cursor:pointer}[data-whatinput='mouse'] .close-button{outline:0}.close-button:hover,.close-button:focus{color:#0a0a0a}.close-button.small{right:0.66rem;top:0.33em;font-size:1.5em;line-height:1}.close-button,.close-button.medium{right:1rem;top:0.5rem;font-size:2em;line-height:1}.menu{padding:0;margin:0;list-style:none;position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}[data-whatinput='mouse'] .menu li{outline:0}.menu a,.menu .button,.menu .gform_button{line-height:1;text-decoration:none;display:block;padding:0.7rem 1rem}.menu input,.menu select,.menu a,.menu button{margin-bottom:0}.menu input{display:inline-block}.menu,.menu.horizontal{-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.menu.vertical{-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.menu.expanded li{-webkit-box-flex:1;-ms-flex:1 1 0px;flex:1 1 0px}.menu.simple{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.menu.simple li+li{margin-left:1rem}.menu.simple a{padding:0}@media print, screen and (min-width: 40em){.menu.medium-horizontal{-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.menu.medium-vertical{-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.menu.medium-expanded li{-webkit-box-flex:1;-ms-flex:1 1 0px;flex:1 1 0px}.menu.medium-simple li{-webkit-box-flex:1;-ms-flex:1 1 0px;flex:1 1 0px}}@media print, screen and (min-width: 64em){.menu.large-horizontal{-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.menu.large-vertical{-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.menu.large-expanded li{-webkit-box-flex:1;-ms-flex:1 1 0px;flex:1 1 0px}.menu.large-simple li{-webkit-box-flex:1;-ms-flex:1 1 0px;flex:1 1 0px}}.menu.nested{margin-right:0;margin-left:1rem}.menu.icons a{display:-webkit-box;display:-ms-flexbox;display:flex}.menu.icon-top a,.menu.icon-right a,.menu.icon-bottom a,.menu.icon-left a{display:-webkit-box;display:-ms-flexbox;display:flex}.menu.icon-left li a{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row nowrap;flex-flow:row nowrap}.menu.icon-left li a img,.menu.icon-left li a i,.menu.icon-left li a svg{margin-right:.25rem}.menu.icon-right li a{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row nowrap;flex-flow:row nowrap}.menu.icon-right li a img,.menu.icon-right li a i,.menu.icon-right li a svg{margin-left:.25rem}.menu.icon-top li a{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-flow:column nowrap;flex-flow:column nowrap}.menu.icon-top li a img,.menu.icon-top li a i,.menu.icon-top li a svg{-ms-flex-item-align:stretch;align-self:stretch;margin-bottom:.25rem;text-align:center}.menu.icon-bottom li a{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-flow:column nowrap;flex-flow:column nowrap}.menu.icon-bottom li a img,.menu.icon-bottom li a i,.menu.icon-bottom li a svg{-ms-flex-item-align:stretch;align-self:stretch;margin-bottom:.25rem;text-align:center}.menu .is-active>a{background:#68bbc8;color:#fff}.menu .active>a{background:#68bbc8;color:#fff}.menu.align-left{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.menu.align-right li{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.menu.align-right li .submenu li{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.menu.align-right.vertical li{display:block;text-align:right}.menu.align-right.vertical li .submenu li{text-align:right}.menu.align-right .nested{margin-right:1rem;margin-left:0}.menu.align-center li{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.menu.align-center li .submenu li{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.menu .menu-text{padding:0.7rem 1rem;font-weight:bold;line-height:1;color:inherit}.menu-centered>.menu{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.menu-centered>.menu li{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.menu-centered>.menu li .submenu li{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.no-js [data-responsive-menu] ul{display:none}.is-drilldown{position:relative;overflow:hidden}.is-drilldown li{display:block}.is-drilldown.animate-height{-webkit-transition:height 0.5s;transition:height 0.5s}.drilldown a{padding:0.7rem 1rem;background:#fff}.drilldown .is-drilldown-submenu{position:absolute;top:0;left:100%;z-index:-1;width:100%;background:#fff;-webkit-transition:-webkit-transform 0.15s linear;transition:-webkit-transform 0.15s linear;transition:transform 0.15s linear;transition:transform 0.15s linear, -webkit-transform 0.15s linear}.drilldown .is-drilldown-submenu.is-active{z-index:1;display:block;-webkit-transform:translateX(-100%);transform:translateX(-100%)}.drilldown .is-drilldown-submenu.is-closing{-webkit-transform:translateX(100%);transform:translateX(100%)}.drilldown .is-drilldown-submenu a{padding:0.7rem 1rem}.drilldown .nested.is-drilldown-submenu{margin-right:0;margin-left:0}.drilldown .drilldown-submenu-cover-previous{min-height:100%}.drilldown .is-drilldown-submenu-parent>a{position:relative}.drilldown .is-drilldown-submenu-parent>a::after{position:absolute;top:50%;margin-top:-6px;right:1rem;display:block;width:0;height:0;border:inset 6px;content:'';border-right-width:0;border-left-style:solid;border-color:transparent transparent transparent #68bbc8}.drilldown.align-left .is-drilldown-submenu-parent>a::after{left:auto;right:1rem;display:block;width:0;height:0;border:inset 6px;content:'';border-right-width:0;border-left-style:solid;border-color:transparent transparent transparent #68bbc8}.drilldown.align-right .is-drilldown-submenu-parent>a::after{right:auto;left:1rem;display:block;width:0;height:0;border:inset 6px;content:'';border-left-width:0;border-right-style:solid;border-color:transparent #68bbc8 transparent transparent}.drilldown .js-drilldown-back>a::before{display:block;width:0;height:0;border:inset 6px;content:'';border-left-width:0;border-right-style:solid;border-color:transparent #68bbc8 transparent transparent;border-left-width:0;display:inline-block;vertical-align:middle;margin-right:0.75rem;border-left-width:0}.dropdown-pane{position:absolute;z-index:10;width:300px;padding:1rem;visibility:hidden;display:none;border:1px solid #cacaca;border-radius:.25rem;background-color:#fff;font-size:1rem}.dropdown-pane.is-opening{display:block}.dropdown-pane.is-open{visibility:visible;display:block}.dropdown-pane.tiny{width:100px}.dropdown-pane.small{width:200px}.dropdown-pane.large{width:400px}.dropdown.menu>li.opens-left>.is-dropdown-submenu{top:100%;right:0;left:auto}.dropdown.menu>li.opens-right>.is-dropdown-submenu{top:100%;right:auto;left:0}.dropdown.menu>li.is-dropdown-submenu-parent>a{position:relative;padding-right:1.5rem}.dropdown.menu>li.is-dropdown-submenu-parent>a::after{display:block;width:0;height:0;border:inset 6px;content:'';border-bottom-width:0;border-top-style:solid;border-color:#68bbc8 transparent transparent;right:5px;left:auto;margin-top:-3px}.dropdown.menu a{padding:0.7rem 1rem}[data-whatinput='mouse'] .dropdown.menu a{outline:0}.dropdown.menu .is-active>a{background:rgba(0,0,0,0);color:#68bbc8}.no-js .dropdown.menu ul{display:none}.dropdown.menu .nested.is-dropdown-submenu{margin-right:0;margin-left:0}.dropdown.menu.vertical>li .is-dropdown-submenu{top:0}.dropdown.menu.vertical>li.opens-left>.is-dropdown-submenu{right:100%;left:auto;top:0}.dropdown.menu.vertical>li.opens-right>.is-dropdown-submenu{right:auto;left:100%}.dropdown.menu.vertical>li>a::after{right:14px}.dropdown.menu.vertical>li.opens-left>a::after{right:auto;left:5px;display:block;width:0;height:0;border:inset 6px;content:'';border-left-width:0;border-right-style:solid;border-color:transparent #68bbc8 transparent transparent}.dropdown.menu.vertical>li.opens-right>a::after{display:block;width:0;height:0;border:inset 6px;content:'';border-right-width:0;border-left-style:solid;border-color:transparent transparent transparent #68bbc8}@media print, screen and (min-width: 40em){.dropdown.menu.medium-horizontal>li.opens-left>.is-dropdown-submenu{top:100%;right:0;left:auto}.dropdown.menu.medium-horizontal>li.opens-right>.is-dropdown-submenu{top:100%;right:auto;left:0}.dropdown.menu.medium-horizontal>li.is-dropdown-submenu-parent>a{position:relative;padding-right:1.5rem}.dropdown.menu.medium-horizontal>li.is-dropdown-submenu-parent>a::after{display:block;width:0;height:0;border:inset 6px;content:'';border-bottom-width:0;border-top-style:solid;border-color:#68bbc8 transparent transparent;right:5px;left:auto;margin-top:-3px}.dropdown.menu.medium-vertical>li .is-dropdown-submenu{top:0}.dropdown.menu.medium-vertical>li.opens-left>.is-dropdown-submenu{right:100%;left:auto;top:0}.dropdown.menu.medium-vertical>li.opens-right>.is-dropdown-submenu{right:auto;left:100%}.dropdown.menu.medium-vertical>li>a::after{right:14px}.dropdown.menu.medium-vertical>li.opens-left>a::after{right:auto;left:5px;display:block;width:0;height:0;border:inset 6px;content:'';border-left-width:0;border-right-style:solid;border-color:transparent #68bbc8 transparent transparent}.dropdown.menu.medium-vertical>li.opens-right>a::after{display:block;width:0;height:0;border:inset 6px;content:'';border-right-width:0;border-left-style:solid;border-color:transparent transparent transparent #68bbc8}}@media print, screen and (min-width: 64em){.dropdown.menu.large-horizontal>li.opens-left>.is-dropdown-submenu{top:100%;right:0;left:auto}.dropdown.menu.large-horizontal>li.opens-right>.is-dropdown-submenu{top:100%;right:auto;left:0}.dropdown.menu.large-horizontal>li.is-dropdown-submenu-parent>a{position:relative;padding-right:1.5rem}.dropdown.menu.large-horizontal>li.is-dropdown-submenu-parent>a::after{display:block;width:0;height:0;border:inset 6px;content:'';border-bottom-width:0;border-top-style:solid;border-color:#68bbc8 transparent transparent;right:5px;left:auto;margin-top:-3px}.dropdown.menu.large-vertical>li .is-dropdown-submenu{top:0}.dropdown.menu.large-vertical>li.opens-left>.is-dropdown-submenu{right:100%;left:auto;top:0}.dropdown.menu.large-vertical>li.opens-right>.is-dropdown-submenu{right:auto;left:100%}.dropdown.menu.large-vertical>li>a::after{right:14px}.dropdown.menu.large-vertical>li.opens-left>a::after{right:auto;left:5px;display:block;width:0;height:0;border:inset 6px;content:'';border-left-width:0;border-right-style:solid;border-color:transparent #68bbc8 transparent transparent}.dropdown.menu.large-vertical>li.opens-right>a::after{display:block;width:0;height:0;border:inset 6px;content:'';border-right-width:0;border-left-style:solid;border-color:transparent transparent transparent #68bbc8}}.dropdown.menu.align-right .is-dropdown-submenu.first-sub{top:100%;right:0;left:auto}.is-dropdown-menu.vertical{width:100px}.is-dropdown-menu.vertical.align-right{float:right}.is-dropdown-submenu-parent{position:relative}.is-dropdown-submenu-parent a::after{position:absolute;top:50%;right:5px;left:auto;margin-top:-6px}.is-dropdown-submenu-parent.opens-inner>.is-dropdown-submenu{top:100%;left:auto}.is-dropdown-submenu-parent.opens-left>.is-dropdown-submenu{right:100%;left:auto}.is-dropdown-submenu-parent.opens-right>.is-dropdown-submenu{right:auto;left:100%}.is-dropdown-submenu{position:absolute;top:0;left:100%;z-index:1;display:none;min-width:200px;border:1px solid #cacaca;background:#fff}.dropdown .is-dropdown-submenu a{padding:0.7rem 1rem}.is-dropdown-submenu .is-dropdown-submenu-parent>a::after{right:14px}.is-dropdown-submenu .is-dropdown-submenu-parent.opens-left>a::after{right:auto;left:5px;display:block;width:0;height:0;border:inset 6px;content:'';border-left-width:0;border-right-style:solid;border-color:transparent #68bbc8 transparent transparent}.is-dropdown-submenu .is-dropdown-submenu-parent.opens-right>a::after{display:block;width:0;height:0;border:inset 6px;content:'';border-right-width:0;border-left-style:solid;border-color:transparent transparent transparent #68bbc8}.is-dropdown-submenu .is-dropdown-submenu{margin-top:-1px}.is-dropdown-submenu>li{width:100%}.is-dropdown-submenu.js-dropdown-active{display:block}.responsive-embed,.flex-video{position:relative;height:0;margin-bottom:1rem;padding-bottom:75%;overflow:hidden}.responsive-embed iframe,.responsive-embed object,.responsive-embed embed,.responsive-embed video,.flex-video iframe,.flex-video object,.flex-video embed,.flex-video video{position:absolute;top:0;left:0;width:100%;height:100%}.responsive-embed.widescreen,.flex-video.widescreen{padding-bottom:56.25%}.label{display:inline-block;padding:0.33333rem 0.5rem;border-radius:.25rem;font-size:.8rem;line-height:1;white-space:nowrap;cursor:default;background:#68bbc8;color:#fff}.label.primary{background:#68bbc8;color:#0a0a0a}.label.secondary{background:#f05861;color:#0a0a0a}.label.success{background:#79bc4c;color:#0a0a0a}.label.warning{background:#f68e35;color:#0a0a0a}.label.alert{background:#f05861;color:#0a0a0a}.media-object{display:-webkit-box;display:-ms-flexbox;display:flex;margin-bottom:1rem;-ms-flex-wrap:nowrap;flex-wrap:nowrap}.media-object img{max-width:none}@media screen and (max-width: 39.9375em){.media-object.stack-for-small{-ms-flex-wrap:wrap;flex-wrap:wrap}}@media screen and (max-width: 39.9375em){.media-object.stack-for-small .media-object-section{padding:0;padding-bottom:1rem;-ms-flex-preferred-size:100%;flex-basis:100%;max-width:100%}.media-object.stack-for-small .media-object-section img{width:100%}}.media-object-section{-webkit-box-flex:0;-ms-flex:0 1 auto;flex:0 1 auto}.media-object-section:first-child{padding-right:1rem}.media-object-section:last-child:not(:nth-child(2)){padding-left:1rem}.media-object-section>:last-child{margin-bottom:0}.media-object-section.main-section{-webkit-box-flex:1;-ms-flex:1 1 0px;flex:1 1 0px}.is-off-canvas-open{overflow:hidden}.js-off-canvas-overlay{position:absolute;top:0;left:0;z-index:11;width:100%;height:100%;-webkit-transition:opacity .5s ease,visibility .5s ease;transition:opacity .5s ease,visibility .5s ease;background:rgba(255,255,255,0.25);opacity:0;visibility:hidden;overflow:hidden}.js-off-canvas-overlay.is-visible{opacity:1;visibility:visible}.js-off-canvas-overlay.is-closable{cursor:pointer}.js-off-canvas-overlay.is-overlay-absolute{position:absolute}.js-off-canvas-overlay.is-overlay-fixed{position:fixed}.off-canvas-wrapper{position:relative;overflow:hidden}.off-canvas{position:fixed;z-index:12;-webkit-transition:-webkit-transform .5s ease;transition:-webkit-transform .5s ease;transition:transform .5s ease;transition:transform .5s ease, -webkit-transform .5s ease;-webkit-backface-visibility:hidden;backface-visibility:hidden;background:#e6e6e6}[data-whatinput='mouse'] .off-canvas{outline:0}.off-canvas.is-transition-push{z-index:12}.off-canvas.is-closed{visibility:hidden}.off-canvas.is-transition-overlap{z-index:13}.off-canvas.is-transition-overlap.is-open{-webkit-box-shadow:0 0 10px rgba(10,10,10,0.7);box-shadow:0 0 10px rgba(10,10,10,0.7)}.off-canvas.is-open{-webkit-transform:translate(0, 0);transform:translate(0, 0)}.off-canvas-absolute{position:absolute;z-index:12;-webkit-transition:-webkit-transform .5s ease;transition:-webkit-transform .5s ease;transition:transform .5s ease;transition:transform .5s ease, -webkit-transform .5s ease;-webkit-backface-visibility:hidden;backface-visibility:hidden;background:#e6e6e6}[data-whatinput='mouse'] .off-canvas-absolute{outline:0}.off-canvas-absolute.is-transition-push{z-index:12}.off-canvas-absolute.is-closed{visibility:hidden}.off-canvas-absolute.is-transition-overlap{z-index:13}.off-canvas-absolute.is-transition-overlap.is-open{-webkit-box-shadow:0 0 10px rgba(10,10,10,0.7);box-shadow:0 0 10px rgba(10,10,10,0.7)}.off-canvas-absolute.is-open{-webkit-transform:translate(0, 0);transform:translate(0, 0)}.position-left{top:0;left:0;height:100%;overflow-y:auto;width:250px;-webkit-transform:translateX(-250px);transform:translateX(-250px)}.off-canvas-content .off-canvas.position-left{-webkit-transform:translateX(-250px);transform:translateX(-250px)}.off-canvas-content .off-canvas.position-left.is-transition-overlap.is-open{-webkit-transform:translate(0, 0);transform:translate(0, 0)}.off-canvas-content.is-open-left.has-transition-push{-webkit-transform:translateX(250px);transform:translateX(250px)}.position-left.is-transition-push{-webkit-box-shadow:inset -13px 0 20px -13px rgba(10,10,10,0.25);box-shadow:inset -13px 0 20px -13px rgba(10,10,10,0.25)}.position-right{top:0;right:0;height:100%;overflow-y:auto;width:250px;-webkit-transform:translateX(250px);transform:translateX(250px)}.off-canvas-content .off-canvas.position-right{-webkit-transform:translateX(250px);transform:translateX(250px)}.off-canvas-content .off-canvas.position-right.is-transition-overlap.is-open{-webkit-transform:translate(0, 0);transform:translate(0, 0)}.off-canvas-content.is-open-right.has-transition-push{-webkit-transform:translateX(-250px);transform:translateX(-250px)}.position-right.is-transition-push{-webkit-box-shadow:inset 13px 0 20px -13px rgba(10,10,10,0.25);box-shadow:inset 13px 0 20px -13px rgba(10,10,10,0.25)}.position-top{top:0;left:0;width:100%;overflow-x:auto;height:250px;-webkit-transform:translateY(-250px);transform:translateY(-250px)}.off-canvas-content .off-canvas.position-top{-webkit-transform:translateY(-250px);transform:translateY(-250px)}.off-canvas-content .off-canvas.position-top.is-transition-overlap.is-open{-webkit-transform:translate(0, 0);transform:translate(0, 0)}.off-canvas-content.is-open-top.has-transition-push{-webkit-transform:translateY(250px);transform:translateY(250px)}.position-top.is-transition-push{-webkit-box-shadow:inset 0 -13px 20px -13px rgba(10,10,10,0.25);box-shadow:inset 0 -13px 20px -13px rgba(10,10,10,0.25)}.position-bottom{bottom:0;left:0;width:100%;overflow-x:auto;height:250px;-webkit-transform:translateY(250px);transform:translateY(250px)}.off-canvas-content .off-canvas.position-bottom{-webkit-transform:translateY(250px);transform:translateY(250px)}.off-canvas-content .off-canvas.position-bottom.is-transition-overlap.is-open{-webkit-transform:translate(0, 0);transform:translate(0, 0)}.off-canvas-content.is-open-bottom.has-transition-push{-webkit-transform:translateY(-250px);transform:translateY(-250px)}.position-bottom.is-transition-push{-webkit-box-shadow:inset 0 13px 20px -13px rgba(10,10,10,0.25);box-shadow:inset 0 13px 20px -13px rgba(10,10,10,0.25)}.off-canvas-content{-webkit-transform:none;transform:none;-webkit-transition:-webkit-transform .5s ease;transition:-webkit-transform .5s ease;transition:transform .5s ease;transition:transform .5s ease, -webkit-transform .5s ease;-webkit-backface-visibility:hidden;backface-visibility:hidden}.off-canvas-content.has-transition-push{-webkit-transform:translate(0, 0);transform:translate(0, 0)}.off-canvas-content .off-canvas.is-open{-webkit-transform:translate(0, 0);transform:translate(0, 0)}@media print, screen and (min-width: 40em){.position-left.reveal-for-medium{-webkit-transform:none;transform:none;z-index:12;-webkit-transition:none;transition:none;visibility:visible}.position-left.reveal-for-medium .close-button{display:none}.off-canvas-content .position-left.reveal-for-medium{-webkit-transform:none;transform:none}.off-canvas-content.has-reveal-left{margin-left:250px}.position-left.reveal-for-medium ~ .off-canvas-content{margin-left:250px}.position-right.reveal-for-medium{-webkit-transform:none;transform:none;z-index:12;-webkit-transition:none;transition:none;visibility:visible}.position-right.reveal-for-medium .close-button{display:none}.off-canvas-content .position-right.reveal-for-medium{-webkit-transform:none;transform:none}.off-canvas-content.has-reveal-right{margin-right:250px}.position-right.reveal-for-medium ~ .off-canvas-content{margin-right:250px}.position-top.reveal-for-medium{-webkit-transform:none;transform:none;z-index:12;-webkit-transition:none;transition:none;visibility:visible}.position-top.reveal-for-medium .close-button{display:none}.off-canvas-content .position-top.reveal-for-medium{-webkit-transform:none;transform:none}.off-canvas-content.has-reveal-top{margin-top:250px}.position-top.reveal-for-medium ~ .off-canvas-content{margin-top:250px}.position-bottom.reveal-for-medium{-webkit-transform:none;transform:none;z-index:12;-webkit-transition:none;transition:none;visibility:visible}.position-bottom.reveal-for-medium .close-button{display:none}.off-canvas-content .position-bottom.reveal-for-medium{-webkit-transform:none;transform:none}.off-canvas-content.has-reveal-bottom{margin-bottom:250px}.position-bottom.reveal-for-medium ~ .off-canvas-content{margin-bottom:250px}}@media print, screen and (min-width: 64em){.position-left.reveal-for-large{-webkit-transform:none;transform:none;z-index:12;-webkit-transition:none;transition:none;visibility:visible}.position-left.reveal-for-large .close-button{display:none}.off-canvas-content .position-left.reveal-for-large{-webkit-transform:none;transform:none}.off-canvas-content.has-reveal-left{margin-left:250px}.position-left.reveal-for-large ~ .off-canvas-content{margin-left:250px}.position-right.reveal-for-large{-webkit-transform:none;transform:none;z-index:12;-webkit-transition:none;transition:none;visibility:visible}.position-right.reveal-for-large .close-button{display:none}.off-canvas-content .position-right.reveal-for-large{-webkit-transform:none;transform:none}.off-canvas-content.has-reveal-right{margin-right:250px}.position-right.reveal-for-large ~ .off-canvas-content{margin-right:250px}.position-top.reveal-for-large{-webkit-transform:none;transform:none;z-index:12;-webkit-transition:none;transition:none;visibility:visible}.position-top.reveal-for-large .close-button{display:none}.off-canvas-content .position-top.reveal-for-large{-webkit-transform:none;transform:none}.off-canvas-content.has-reveal-top{margin-top:250px}.position-top.reveal-for-large ~ .off-canvas-content{margin-top:250px}.position-bottom.reveal-for-large{-webkit-transform:none;transform:none;z-index:12;-webkit-transition:none;transition:none;visibility:visible}.position-bottom.reveal-for-large .close-button{display:none}.off-canvas-content .position-bottom.reveal-for-large{-webkit-transform:none;transform:none}.off-canvas-content.has-reveal-bottom{margin-bottom:250px}.position-bottom.reveal-for-large ~ .off-canvas-content{margin-bottom:250px}}@media print, screen and (min-width: 40em){.off-canvas.in-canvas-for-medium{visibility:visible;height:auto;position:static;background:inherit;width:inherit;overflow:inherit;-webkit-transition:inherit;transition:inherit}.off-canvas.in-canvas-for-medium.position-left,.off-canvas.in-canvas-for-medium.position-right,.off-canvas.in-canvas-for-medium.position-top,.off-canvas.in-canvas-for-medium.position-bottom{-webkit-box-shadow:none;box-shadow:none;-webkit-transform:none;transform:none}.off-canvas.in-canvas-for-medium .close-button{display:none}}@media print, screen and (min-width: 64em){.off-canvas.in-canvas-for-large{visibility:visible;height:auto;position:static;background:inherit;width:inherit;overflow:inherit;-webkit-transition:inherit;transition:inherit}.off-canvas.in-canvas-for-large.position-left,.off-canvas.in-canvas-for-large.position-right,.off-canvas.in-canvas-for-large.position-top,.off-canvas.in-canvas-for-large.position-bottom{-webkit-box-shadow:none;box-shadow:none;-webkit-transform:none;transform:none}.off-canvas.in-canvas-for-large .close-button{display:none}}.pagination{margin-left:0;margin-bottom:1rem}.pagination::before,.pagination::after{display:table;content:' ';-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.pagination::after{clear:both}.pagination li{margin-right:.0625rem;border-radius:.25rem;font-size:.875rem;display:none}.pagination li:last-child,.pagination li:first-child{display:inline-block}@media print, screen and (min-width: 40em){.pagination li{display:inline-block}}.pagination a,.pagination button{display:block;padding:.1875rem .625rem;border-radius:.25rem;color:#0a0a0a}.pagination a:hover,.pagination button:hover{background:#e6e6e6}.pagination .current{padding:.1875rem .625rem;background:#68bbc8;color:#fff;cursor:default}.pagination .disabled{padding:.1875rem .625rem;color:#cacaca;cursor:not-allowed}.pagination .disabled:hover{background:transparent}.pagination .ellipsis::after{padding:.1875rem .625rem;content:'\2026';color:#0a0a0a}.pagination-previous a::before,.pagination-previous.disabled::before{display:inline-block;margin-right:0.5rem;content:'\00ab'}.pagination-next a::after,.pagination-next.disabled::after{display:inline-block;margin-left:0.5rem;content:'\00bb'}.progress{height:1rem;margin-bottom:1rem;border-radius:.25rem;background-color:#cacaca}.progress.primary .progress-meter{background-color:#68bbc8}.progress.secondary .progress-meter{background-color:#f05861}.progress.success .progress-meter{background-color:#79bc4c}.progress.warning .progress-meter{background-color:#f68e35}.progress.alert .progress-meter{background-color:#f05861}.progress-meter{position:relative;display:block;width:0%;height:100%;background-color:#68bbc8;border-radius:.25rem}.progress-meter-text{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);position:absolute;margin:0;font-size:0.75rem;font-weight:bold;color:#fff;white-space:nowrap;border-radius:.25rem}.slider{position:relative;height:.5rem;margin-top:1.25rem;margin-bottom:2.25rem;background-color:#e6e6e6;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-ms-touch-action:none;touch-action:none}.slider-fill{position:absolute;top:0;left:0;display:inline-block;max-width:100%;height:.5rem;background-color:#cacaca;-webkit-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out}.slider-fill.is-dragging{-webkit-transition:all 0s linear;transition:all 0s linear}.slider-handle{position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);left:0;z-index:1;display:inline-block;width:1.4rem;height:1.4rem;border-radius:.25rem;background-color:#68bbc8;-webkit-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out;-ms-touch-action:manipulation;touch-action:manipulation}[data-whatinput='mouse'] .slider-handle{outline:0}.slider-handle:hover{background-color:#47acbc}.slider-handle.is-dragging{-webkit-transition:all 0s linear;transition:all 0s linear}.slider.disabled,.slider[disabled]{opacity:.25;cursor:not-allowed}.slider.vertical{display:inline-block;width:.5rem;height:12.5rem;margin:0 1.25rem;-webkit-transform:scale(1, -1);transform:scale(1, -1)}.slider.vertical .slider-fill{top:0;width:.5rem;max-height:100%}.slider.vertical .slider-handle{position:absolute;top:0;left:50%;width:1.4rem;height:1.4rem;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.sticky-container{position:relative}.sticky{position:relative;z-index:0;-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}.sticky.is-stuck{position:fixed;z-index:5;width:100%}.sticky.is-stuck.is-at-top{top:0}.sticky.is-stuck.is-at-bottom{bottom:0}.sticky.is-anchored{position:relative;right:auto;left:auto}.sticky.is-anchored.is-at-bottom{bottom:0}html.is-reveal-open{position:fixed;width:100%;overflow-y:scroll}html.is-reveal-open body{overflow:hidden}.reveal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1005;display:none;background-color:rgba(10,10,10,0.45);overflow-y:scroll}.reveal{z-index:1006;-webkit-backface-visibility:hidden;backface-visibility:hidden;display:none;padding:1rem;border:1px solid #cacaca;border-radius:.25rem;background-color:#fff;position:relative;top:100px;margin-right:auto;margin-left:auto;overflow-y:auto}[data-whatinput='mouse'] .reveal{outline:0}@media print, screen and (min-width: 40em){.reveal{min-height:0}}.reveal .column,.reveal .columns{min-width:0}.reveal>:last-child{margin-bottom:0}@media print, screen and (min-width: 40em){.reveal{width:600px;max-width:75rem}}.reveal.collapse{padding:0}@media print, screen and (min-width: 40em){.reveal.tiny{width:30%;max-width:75rem}}@media print, screen and (min-width: 40em){.reveal.small{width:50%;max-width:75rem}}@media print, screen and (min-width: 40em){.reveal.large{width:90%;max-width:75rem}}.reveal.full{top:0;left:0;width:100%;max-width:none;height:100%;height:100vh;min-height:100vh;margin-left:0;border:0;border-radius:0}@media screen and (max-width: 39.9375em){.reveal{top:0;left:0;width:100%;max-width:none;height:100%;height:100vh;min-height:100vh;margin-left:0;border:0;border-radius:0}}.reveal.without-overlay{position:fixed}.switch{height:2rem;position:relative;margin-bottom:1rem;outline:0;font-size:.875rem;font-weight:bold;color:#fff;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.switch-input{position:absolute;margin-bottom:0;opacity:0}.switch-paddle{position:relative;display:block;width:4rem;height:2rem;border-radius:.25rem;background:#cacaca;-webkit-transition:all 0.25s ease-out;transition:all 0.25s ease-out;font-weight:inherit;color:inherit;cursor:pointer}input+.switch-paddle{margin:0}.switch-paddle::after{position:absolute;top:.25rem;left:.25rem;display:block;width:1.5rem;height:1.5rem;-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);border-radius:.25rem;background:#fff;-webkit-transition:all 0.25s ease-out;transition:all 0.25s ease-out;content:''}input:checked ~ .switch-paddle{background:#68bbc8}input:checked ~ .switch-paddle::after{left:2.25rem}[data-whatinput='mouse'] input:focus ~ .switch-paddle{outline:0}.switch-active,.switch-inactive{position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.switch-active{left:8%;display:none}input:checked+label>.switch-active{display:block}.switch-inactive{right:15%}input:checked+label>.switch-inactive{display:none}.switch.tiny{height:1.5rem}.switch.tiny .switch-paddle{width:3rem;height:1.5rem;font-size:.625rem}.switch.tiny .switch-paddle::after{top:.25rem;left:.25rem;width:1rem;height:1rem}.switch.tiny input:checked ~ .switch-paddle::after{left:1.75rem}.switch.small{height:1.75rem}.switch.small .switch-paddle{width:3.5rem;height:1.75rem;font-size:.75rem}.switch.small .switch-paddle::after{top:.25rem;left:.25rem;width:1.25rem;height:1.25rem}.switch.small input:checked ~ .switch-paddle::after{left:2rem}.switch.large{height:2.5rem}.switch.large .switch-paddle{width:5rem;height:2.5rem;font-size:1rem}.switch.large .switch-paddle::after{top:.25rem;left:.25rem;width:2rem;height:2rem}.switch.large input:checked ~ .switch-paddle::after{left:2.75rem}table{border-collapse:collapse;width:100%;margin-bottom:1rem;border-radius:.25rem}thead,tbody,tfoot{border:0px solid #f2f2f2;background-color:#fff}caption{padding:.5rem .625rem .625rem;font-weight:bold}thead{background:#f9f9f9;color:#0a0a0a}tfoot{background:#f2f2f2;color:#0a0a0a}thead tr,tfoot tr{background:transparent}thead th,thead td,tfoot th,tfoot td{padding:.5rem .625rem .625rem;font-weight:bold;text-align:left}tbody th,tbody td{padding:.5rem .625rem .625rem}tbody tr:nth-child(even){border-bottom:0;background-color:#f9f9f9}table.unstriped tbody{background-color:#fff}table.unstriped tbody tr{border-bottom:0;border-bottom:0px solid #f2f2f2;background-color:#fff}@media screen and (max-width: 63.9375em){table.stack thead{display:none}table.stack tfoot{display:none}table.stack tr,table.stack th,table.stack td{display:block}table.stack td{border-top:0}}table.scroll{display:block;width:100%;overflow-x:auto}table.hover thead tr:hover{background-color:#f4f4f4}table.hover tfoot tr:hover{background-color:#ededed}table.hover tbody tr:hover{background-color:#fafafa}table.hover:not(.unstriped) tr:nth-of-type(even):hover{background-color:#ededed}.table-scroll{overflow-x:auto}.table-scroll table{width:auto}.thumbnail{display:inline-block;max-width:100%;margin-bottom:1rem;border:solid 4px #fff;border-radius:.25rem;-webkit-box-shadow:0 0 0 1px rgba(10,10,10,0.2);box-shadow:0 0 0 1px rgba(10,10,10,0.2);line-height:0}a.thumbnail{-webkit-transition:-webkit-box-shadow 200ms ease-out;transition:-webkit-box-shadow 200ms ease-out;transition:box-shadow 200ms ease-out;transition:box-shadow 200ms ease-out, -webkit-box-shadow 200ms ease-out}a.thumbnail:hover,a.thumbnail:focus{-webkit-box-shadow:0 0 6px 1px rgba(104,187,200,0.5);box-shadow:0 0 6px 1px rgba(104,187,200,0.5)}a.thumbnail image{-webkit-box-shadow:none;box-shadow:none}.title-bar{padding:.5rem;background:#0a0a0a;color:#fff;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.title-bar .menu-icon{margin-left:.25rem;margin-right:.25rem}.title-bar-left,.title-bar-right{-webkit-box-flex:1;-ms-flex:1 1 0px;flex:1 1 0px}.title-bar-right{text-align:right}.title-bar-title{display:inline-block;vertical-align:middle;font-weight:bold}.has-tip{position:relative;display:inline-block;border-bottom:dotted 1px #8a8a8a;font-weight:bold;cursor:help}.tooltip{position:absolute;top:calc(100% + .6495rem);z-index:1200;max-width:10rem;padding:.75rem;border-radius:.25rem;background-color:#0a0a0a;font-size:80%;color:#fff}.tooltip::before{position:absolute}.tooltip.bottom::before{display:block;width:0;height:0;border:inset .75rem;content:'';border-top-width:0;border-bottom-style:solid;border-color:transparent transparent #0a0a0a;bottom:100%}.tooltip.bottom.align-center::before{left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.tooltip.top::before{display:block;width:0;height:0;border:inset .75rem;content:'';border-bottom-width:0;border-top-style:solid;border-color:#0a0a0a transparent transparent;top:100%;bottom:auto}.tooltip.top.align-center::before{left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.tooltip.left::before{display:block;width:0;height:0;border:inset .75rem;content:'';border-right-width:0;border-left-style:solid;border-color:transparent transparent transparent #0a0a0a;left:100%}.tooltip.left.align-center::before{bottom:auto;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.tooltip.right::before{display:block;width:0;height:0;border:inset .75rem;content:'';border-left-width:0;border-right-style:solid;border-color:transparent #0a0a0a transparent transparent;right:100%;left:auto}.tooltip.right.align-center::before{bottom:auto;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.tooltip.align-top::before{bottom:auto;top:10%}.tooltip.align-bottom::before{bottom:10%;top:auto}.tooltip.align-left::before{left:10%;right:auto}.tooltip.align-right::before{left:auto;right:10%}.top-bar{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:.5rem;-ms-flex-wrap:wrap;flex-wrap:wrap}.top-bar,.top-bar ul{background-color:#e6e6e6}.top-bar input{max-width:200px;margin-right:1rem}.top-bar .input-group-field{width:100%;margin-right:0}.top-bar input.button,.top-bar input.gform_button{width:auto}.top-bar .top-bar-left,.top-bar .top-bar-right{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}@media print, screen and (min-width: 40em){.top-bar{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.top-bar .top-bar-left{-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;margin-right:auto}.top-bar .top-bar-right{-webkit-box-flex:0;-ms-flex:0 1 auto;flex:0 1 auto;margin-left:auto}}@media screen and (max-width: 63.9375em){.top-bar.stacked-for-medium{-ms-flex-wrap:wrap;flex-wrap:wrap}.top-bar.stacked-for-medium .top-bar-left,.top-bar.stacked-for-medium .top-bar-right{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}}@media screen and (max-width: 74.9375em){.top-bar.stacked-for-large{-ms-flex-wrap:wrap;flex-wrap:wrap}.top-bar.stacked-for-large .top-bar-left,.top-bar.stacked-for-large .top-bar-right{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}}.top-bar-title{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;margin:0.5rem 1rem 0.5rem 0}.top-bar-left,.top-bar-right{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.hide{display:none !important}.invisible{visibility:hidden}@media screen and (max-width: 39.9375em){.hide-for-small-only{display:none !important}}@media screen and (max-width: 0em), screen and (min-width: 40em){.show-for-small-only{display:none !important}}@media print, screen and (min-width: 40em){.hide-for-medium{display:none !important}}@media screen and (max-width: 39.9375em){.show-for-medium{display:none !important}}@media screen and (min-width: 40em) and (max-width: 63.9375em){.hide-for-medium-only{display:none !important}}@media screen and (max-width: 39.9375em), screen and (min-width: 64em){.show-for-medium-only{display:none !important}}@media print, screen and (min-width: 64em){.hide-for-large{display:none !important}}@media screen and (max-width: 63.9375em){.show-for-large{display:none !important}}@media screen and (min-width: 64em) and (max-width: 74.9375em){.hide-for-large-only{display:none !important}}@media screen and (max-width: 63.9375em), screen and (min-width: 75em){.show-for-large-only{display:none !important}}.show-for-sr,.show-on-focus{position:absolute !important;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;-webkit-clip-path:inset(50%);clip-path:inset(50%);border:0}.show-on-focus:active,.show-on-focus:focus{position:static !important;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal;-webkit-clip-path:none;clip-path:none}.show-for-landscape,.hide-for-portrait{display:block !important}@media screen and (orientation: landscape){.show-for-landscape,.hide-for-portrait{display:block !important}}@media screen and (orientation: portrait){.show-for-landscape,.hide-for-portrait{display:none !important}}.hide-for-landscape,.show-for-portrait{display:none !important}@media screen and (orientation: landscape){.hide-for-landscape,.show-for-portrait{display:none !important}}@media screen and (orientation: portrait){.hide-for-landscape,.show-for-portrait{display:block !important}}.float-left{float:left !important}.float-right{float:right !important}.float-center{display:block;margin-right:auto;margin-left:auto}.clearfix::before,.clearfix::after{display:table;content:' ';-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.clearfix::after{clear:both}@-webkit-keyframes nav-overlay-show{0%{display:none;opacity:0}1%{display:block}100%{display:block;opacity:1;top:0}}@keyframes nav-overlay-show{0%{display:none;opacity:0}1%{display:block}100%{display:block;opacity:1;top:0}}@-webkit-keyframes nav-overlay-hide{0%{display:block;opacity:1}99%{display:block}100%{display:none;opacity:0}}@keyframes nav-overlay-hide{0%{display:block;opacity:1}99%{display:block}100%{display:none;opacity:0}}@-webkit-keyframes fixed-show{0%{opacity:0;top:-100%}100%{opacity:1;top:0}}@keyframes fixed-show{0%{opacity:0;top:-100%}100%{opacity:1;top:0}}@-webkit-keyframes fixed-hide{0%{opacity:1}100%{opacity:0}}@keyframes fixed-hide{0%{opacity:1}100%{opacity:0}}@-webkit-keyframes fixed-show-submenu{0%{opacity:0;top:-100%}100%{opacity:1;top:75px}}@keyframes fixed-show-submenu{0%{opacity:0;top:-100%}100%{opacity:1;top:75px}}body.fancybox-active{overflow:hidden}body.fancybox-iosfix{position:fixed;left:0;right:0}.fancybox-is-hidden{position:absolute;top:-9999px;left:-9999px;visibility:hidden}.fancybox-container{position:fixed;top:0;left:0;width:100%;height:100%;z-index:99992;-webkit-tap-highlight-color:transparent;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform:translateZ(0);transform:translateZ(0);font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"}.fancybox-outer,.fancybox-inner,.fancybox-bg,.fancybox-stage{position:absolute;top:0;right:0;bottom:0;left:0}.fancybox-outer{overflow-y:auto;-webkit-overflow-scrolling:touch}.fancybox-bg{background:#1e1e1e;opacity:0;-webkit-transition-duration:inherit;transition-duration:inherit;-webkit-transition-property:opacity;transition-property:opacity;-webkit-transition-timing-function:cubic-bezier(0.47, 0, 0.74, 0.71);transition-timing-function:cubic-bezier(0.47, 0, 0.74, 0.71)}.fancybox-is-open .fancybox-bg{opacity:0.87;-webkit-transition-timing-function:cubic-bezier(0.22, 0.61, 0.36, 1);transition-timing-function:cubic-bezier(0.22, 0.61, 0.36, 1)}.fancybox-infobar,.fancybox-toolbar,.fancybox-caption-wrap{position:absolute;direction:ltr;z-index:99997;opacity:0;visibility:hidden;-webkit-transition:opacity .25s, visibility 0s linear .25s;transition:opacity .25s, visibility 0s linear .25s;-webkit-box-sizing:border-box;box-sizing:border-box}.fancybox-show-infobar .fancybox-infobar,.fancybox-show-toolbar .fancybox-toolbar,.fancybox-show-caption .fancybox-caption-wrap{opacity:1;visibility:visible;-webkit-transition:opacity .25s, visibility 0s;transition:opacity .25s, visibility 0s}.fancybox-infobar{top:0;left:0;font-size:13px;padding:0 10px;height:44px;min-width:44px;line-height:44px;color:#ccc;text-align:center;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:subpixel-antialiased;mix-blend-mode:exclusion}.fancybox-toolbar{top:0;right:0;margin:0;padding:0}.fancybox-stage{overflow:hidden;direction:ltr;z-index:99994;-webkit-transform:translate3d(0, 0, 0)}.fancybox-is-closing .fancybox-stage{overflow:visible}.fancybox-slide{position:absolute;top:0;left:0;width:100%;height:100%;margin:0;padding:0;overflow:auto;outline:none;white-space:normal;-webkit-box-sizing:border-box;box-sizing:border-box;text-align:center;z-index:99994;-webkit-overflow-scrolling:touch;display:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition-property:opacity, -webkit-transform;-webkit-transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform}.fancybox-slide::before{content:'';display:inline-block;vertical-align:middle;height:100%;width:0}.fancybox-is-sliding .fancybox-slide,.fancybox-slide--previous,.fancybox-slide--current,.fancybox-slide--next{display:block}.fancybox-slide--image{overflow:visible}.fancybox-slide--image::before{display:none}.fancybox-slide--video .fancybox-content,.fancybox-slide--video iframe{background:#000}.fancybox-slide--map .fancybox-content,.fancybox-slide--map iframe{background:#E5E3DF}.fancybox-slide--next{z-index:99995}.fancybox-slide>*{display:inline-block;position:relative;padding:24px;margin:44px 0 44px;border-width:0;vertical-align:middle;text-align:left;background-color:#fff;overflow:auto;-webkit-box-sizing:border-box;box-sizing:border-box}.fancybox-slide>*[id^="calculator"]{background:transparent;overflow:initial}.fancybox-slide>*[id^="calculator"] .fancybox-close-small{display:-webkit-box;display:-ms-flexbox;display:flex;width:auto;height:auto;top:-.9375rem;right:1.25rem;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:#fff}.fancybox-slide>*[id^="calculator"] .fancybox-close-small::before{content:'Close';font-size:.875rem;font-weight:bold;text-transform:uppercase}.fancybox-slide>*[id^="calculator"] .fancybox-close-small::after{position:static;width:auto;height:auto;margin:0 0 0 .3125rem;color:inherit;font-size:3.125rem;background:transparent !important}.fancybox-slide>title,.fancybox-slide>style,.fancybox-slide>meta,.fancybox-slide>link,.fancybox-slide>script,.fancybox-slide>base{display:none}.fancybox-slide .fancybox-image-wrap{position:absolute;top:0;left:0;margin:0;padding:0;border:0;z-index:99995;background:transparent;cursor:default;overflow:visible;-webkit-transform-origin:top left;transform-origin:top left;background-size:100% 100%;background-repeat:no-repeat;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;transition-property:opacity, -webkit-transform;-webkit-transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform}.fancybox-can-zoomOut .fancybox-image-wrap{cursor:-webkit-zoom-out;cursor:zoom-out}.fancybox-can-zoomIn .fancybox-image-wrap{cursor:-webkit-zoom-in;cursor:zoom-in}.fancybox-can-drag .fancybox-image-wrap{cursor:-webkit-grab;cursor:grab}.fancybox-is-dragging .fancybox-image-wrap{cursor:-webkit-grabbing;cursor:grabbing}.fancybox-image,.fancybox-spaceball{position:absolute;top:0;left:0;width:100%;height:100%;margin:0;padding:0;border:0;max-width:none;max-height:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.fancybox-spaceball{z-index:1}.fancybox-slide--iframe .fancybox-content{padding:0;width:80%;height:80%;max-width:calc(100% - 100px);max-height:calc(100% - 88px);overflow:visible;background:#fff}.fancybox-iframe{display:block;margin:0;padding:0;border:0;width:100%;height:100%;background:#fff}.fancybox-error{margin:0;padding:40px;width:100%;max-width:380px;background:#fff;cursor:default}.fancybox-error p{margin:0;padding:0;color:#444;font-size:16px;line-height:20px}.fancybox-button{-webkit-box-sizing:border-box;box-sizing:border-box;display:inline-block;vertical-align:top;width:44px;height:44px;margin:0;padding:10px;border:0;border-radius:0;background:rgba(30,30,30,0.6);-webkit-transition:color .3s ease;transition:color .3s ease;cursor:pointer;outline:none}.fancybox-button,.fancybox-button:visited,.fancybox-button:link{color:#ccc}.fancybox-button:focus,.fancybox-button:hover{color:#fff}.fancybox-button[disabled]{color:#ccc;cursor:default;opacity:0.6}.fancybox-button svg{display:block;position:relative;overflow:visible;shape-rendering:geometricPrecision}.fancybox-button svg path{fill:currentColor;stroke:currentColor;stroke-linejoin:round;stroke-width:3}.fancybox-button--share svg path{stroke-width:1}.fancybox-button--play svg path:nth-child(2){display:none}.fancybox-button--pause svg path:nth-child(1){display:none}.fancybox-button--zoom svg path{fill:transparent}.fancybox-navigation{display:none}.fancybox-show-nav .fancybox-navigation{display:block}.fancybox-navigation button{position:absolute;top:50%;margin:-50px 0 0 0;z-index:99997;background:transparent;width:60px;height:100px;padding:17px}.fancybox-navigation button:before{content:"";position:absolute;top:30px;right:10px;width:40px;height:40px;background:rgba(30,30,30,0.6)}.fancybox-navigation .fancybox-button--arrow_left{left:0}.fancybox-navigation .fancybox-button--arrow_right{right:0}.fancybox-close-small{position:absolute;top:0;right:0;width:44px;height:44px;padding:0;margin:0;border:0;border-radius:0;background:transparent;z-index:10;cursor:pointer}.fancybox-close-small:after{content:'×';position:absolute;top:5px;right:5px;width:30px;height:30px;font:20px/30px Arial,"Helvetica Neue",Helvetica,sans-serif;color:#888;font-weight:300;text-align:center;border-radius:50%;border-width:0;background-color:transparent;-webkit-transition:background-color .25s;transition:background-color .25s;-webkit-box-sizing:border-box;box-sizing:border-box;z-index:2}.fancybox-close-small:focus{outline:none}.fancybox-close-small:focus:after{outline:1px dotted #888}.fancybox-close-small:hover:after{color:#555;background:#eee}.fancybox-slide--image .fancybox-close-small,.fancybox-slide--iframe .fancybox-close-small{top:0;right:-44px}.fancybox-slide--image .fancybox-close-small:after,.fancybox-slide--iframe .fancybox-close-small:after{font-size:35px;color:#aaa}.fancybox-slide--image .fancybox-close-small:hover:after,.fancybox-slide--iframe .fancybox-close-small:hover:after{color:#fff;background:transparent}.fancybox-is-scaling .fancybox-close-small,.fancybox-is-zoomable.fancybox-can-drag .fancybox-close-small{display:none}.fancybox-caption-wrap{bottom:0;left:0;right:0;padding:60px 2vw 0 2vw;background:-webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(20%, rgba(0,0,0,0.1)), color-stop(40%, rgba(0,0,0,0.2)), color-stop(80%, rgba(0,0,0,0.6)), to(rgba(0,0,0,0.8)));background:linear-gradient(to bottom, transparent 0%, rgba(0,0,0,0.1) 20%, rgba(0,0,0,0.2) 40%, rgba(0,0,0,0.6) 80%, rgba(0,0,0,0.8) 100%);pointer-events:none}.fancybox-caption{padding:30px 0;border-top:1px solid rgba(255,255,255,0.4);font-size:14px;color:#fff;line-height:20px;-webkit-text-size-adjust:none}.fancybox-caption a,.fancybox-caption button,.fancybox-caption select{pointer-events:all;position:relative}.fancybox-caption a{color:#fff;text-decoration:underline}.fancybox-slide>.fancybox-loading{border:6px solid rgba(100,100,100,0.4);border-top:6px solid rgba(255,255,255,0.6);border-radius:100%;height:50px;width:50px;-webkit-animation:fancybox-rotate .8s infinite linear;animation:fancybox-rotate .8s infinite linear;background:transparent;position:absolute;top:50%;left:50%;margin-top:-30px;margin-left:-30px;z-index:99999}@-webkit-keyframes fancybox-rotate{from{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fancybox-rotate{from{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fancybox-animated{-webkit-transition-timing-function:cubic-bezier(0, 0, 0.25, 1);transition-timing-function:cubic-bezier(0, 0, 0.25, 1)}.fancybox-fx-slide.fancybox-slide--previous{-webkit-transform:translate3d(-100%, 0, 0);transform:translate3d(-100%, 0, 0);opacity:0}.fancybox-fx-slide.fancybox-slide--next{-webkit-transform:translate3d(100%, 0, 0);transform:translate3d(100%, 0, 0);opacity:0}.fancybox-fx-slide.fancybox-slide--current{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);opacity:1}.fancybox-fx-fade.fancybox-slide--previous,.fancybox-fx-fade.fancybox-slide--next{opacity:0;-webkit-transition-timing-function:cubic-bezier(0.19, 1, 0.22, 1);transition-timing-function:cubic-bezier(0.19, 1, 0.22, 1)}.fancybox-fx-fade.fancybox-slide--current{opacity:1}.fancybox-fx-zoom-in-out.fancybox-slide--previous{-webkit-transform:scale3d(1.5, 1.5, 1.5);transform:scale3d(1.5, 1.5, 1.5);opacity:0}.fancybox-fx-zoom-in-out.fancybox-slide--next{-webkit-transform:scale3d(0.5, 0.5, 0.5);transform:scale3d(0.5, 0.5, 0.5);opacity:0}.fancybox-fx-zoom-in-out.fancybox-slide--current{-webkit-transform:scale3d(1, 1, 1);transform:scale3d(1, 1, 1);opacity:1}.fancybox-fx-rotate.fancybox-slide--previous{-webkit-transform:rotate(-360deg);transform:rotate(-360deg);opacity:0}.fancybox-fx-rotate.fancybox-slide--next{-webkit-transform:rotate(360deg);transform:rotate(360deg);opacity:0}.fancybox-fx-rotate.fancybox-slide--current{-webkit-transform:rotate(0deg);transform:rotate(0deg);opacity:1}.fancybox-fx-circular.fancybox-slide--previous{-webkit-transform:scale3d(0, 0, 0) translate3d(-100%, 0, 0);transform:scale3d(0, 0, 0) translate3d(-100%, 0, 0);opacity:0}.fancybox-fx-circular.fancybox-slide--next{-webkit-transform:scale3d(0, 0, 0) translate3d(100%, 0, 0);transform:scale3d(0, 0, 0) translate3d(100%, 0, 0);opacity:0}.fancybox-fx-circular.fancybox-slide--current{-webkit-transform:scale3d(1, 1, 1) translate3d(0, 0, 0);transform:scale3d(1, 1, 1) translate3d(0, 0, 0);opacity:1}.fancybox-fx-tube.fancybox-slide--previous{-webkit-transform:translate3d(-100%, 0, 0) scale(0.1) skew(-10deg);transform:translate3d(-100%, 0, 0) scale(0.1) skew(-10deg)}.fancybox-fx-tube.fancybox-slide--next{-webkit-transform:translate3d(100%, 0, 0) scale(0.1) skew(10deg);transform:translate3d(100%, 0, 0) scale(0.1) skew(10deg)}.fancybox-fx-tube.fancybox-slide--current{-webkit-transform:translate3d(0, 0, 0) scale(1);transform:translate3d(0, 0, 0) scale(1)}.fancybox-share{padding:30px;border-radius:3px;background:#f4f4f4;max-width:90%}.fancybox-share h1{color:#222;margin:0 0 20px 0;font-size:33px;font-weight:700;text-align:center}.fancybox-share p{margin:0;padding:0;text-align:center}.fancybox-share p:first-of-type{margin-right:-10px}.fancybox-share_button{display:inline-block;text-decoration:none;margin:0 10px 10px 0;padding:10px 20px;border:0;border-radius:3px;-webkit-box-shadow:0 2px 2px 0 rgba(0,0,0,0.16);box-shadow:0 2px 2px 0 rgba(0,0,0,0.16);background:#fff;white-space:nowrap;font-size:16px;line-height:23px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;min-width:140px;color:#707070;-webkit-transition:all .2s;transition:all .2s}.fancybox-share_button:focus,.fancybox-share_button:hover{text-decoration:none;color:#333;-webkit-box-shadow:0 2px 2px 0 rgba(0,0,0,0.3);box-shadow:0 2px 2px 0 rgba(0,0,0,0.3)}.fancybox-share_button svg{margin-right:5px;width:20px;height:20px;vertical-align:text-bottom}.fancybox-share input{-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;margin:5px 0 0 0;padding:10px 15px;border:1px solid #d7d7d7;border-radius:3px;background:#ebebeb;color:#5d5b5b;font-size:14px;outline:none}.fancybox-thumbs{display:none;position:absolute;top:0;bottom:0;right:0;width:212px;margin:0;padding:2px 2px 4px 2px;background:#fff;-webkit-tap-highlight-color:transparent;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar;-webkit-box-sizing:border-box;box-sizing:border-box;z-index:99995}.fancybox-thumbs-x{overflow-y:hidden;overflow-x:auto}.fancybox-show-thumbs .fancybox-thumbs{display:block}.fancybox-show-thumbs .fancybox-inner{right:212px}.fancybox-thumbs>ul{list-style:none;position:absolute;position:relative;width:100%;height:100%;margin:0;padding:0;overflow-x:hidden;overflow-y:auto;font-size:0;white-space:nowrap}.fancybox-thumbs-x>ul{overflow:hidden}.fancybox-thumbs-y>ul::-webkit-scrollbar{width:7px}.fancybox-thumbs-y>ul::-webkit-scrollbar-track{background:#fff;border-radius:10px;-webkit-box-shadow:inset 0 0 6px rgba(0,0,0,0.3);box-shadow:inset 0 0 6px rgba(0,0,0,0.3)}.fancybox-thumbs-y>ul::-webkit-scrollbar-thumb{background:#2a2a2a;border-radius:10px}.fancybox-thumbs>ul>li{float:left;overflow:hidden;padding:0;margin:2px;width:100px;height:75px;max-width:calc(50% - 4px);max-height:calc(100% - 8px);position:relative;cursor:pointer;outline:none;-webkit-tap-highlight-color:transparent;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-box-sizing:border-box;box-sizing:border-box}li.fancybox-thumbs-loading{background:rgba(0,0,0,0.1)}.fancybox-thumbs>ul>li>img{position:absolute;top:0;left:0;max-width:none;max-height:none;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.fancybox-thumbs>ul>li:before{content:'';position:absolute;top:0;right:0;bottom:0;left:0;border:4px solid #4ea7f9;z-index:99991;opacity:0;-webkit-transition:all 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);transition:all 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94)}.fancybox-thumbs>ul>li.fancybox-thumbs-active:before{opacity:1}@media all and (max-width: 800px){.fancybox-thumbs{width:110px}.fancybox-show-thumbs .fancybox-inner{right:110px}.fancybox-thumbs>ul>li{max-width:calc(100% - 10px)}}.slick-slider{position:relative;display:block;-webkit-box-sizing:border-box;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{position:relative;overflow:hidden;display:block;margin:0;padding:0}.slick-list:focus{outline:none}.slick-list.dragging{cursor:pointer;cursor:hand}.slick-slider .slick-track,.slick-slider .slick-list{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}.slick-track{position:relative;left:0;top:0;display:block;margin-left:auto;margin-right:auto}.slick-track:before,.slick-track:after{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}body[data-aos-duration='50'] [data-aos],[data-aos][data-aos][data-aos-duration='50']{-webkit-transition-duration:50ms;transition-duration:50ms}body[data-aos-delay='50'] [data-aos],[data-aos][data-aos][data-aos-delay='50']{-webkit-transition-delay:0;transition-delay:0}body[data-aos-delay='50'] [data-aos].aos-animate,[data-aos][data-aos][data-aos-delay='50'].aos-animate{-webkit-transition-delay:50ms;transition-delay:50ms}body[data-aos-duration='100'] [data-aos],[data-aos][data-aos][data-aos-duration='100']{-webkit-transition-duration:100ms;transition-duration:100ms}body[data-aos-delay='100'] [data-aos],[data-aos][data-aos][data-aos-delay='100']{-webkit-transition-delay:0;transition-delay:0}body[data-aos-delay='100'] [data-aos].aos-animate,[data-aos][data-aos][data-aos-delay='100'].aos-animate{-webkit-transition-delay:100ms;transition-delay:100ms}body[data-aos-duration='150'] [data-aos],[data-aos][data-aos][data-aos-duration='150']{-webkit-transition-duration:150ms;transition-duration:150ms}body[data-aos-delay='150'] [data-aos],[data-aos][data-aos][data-aos-delay='150']{-webkit-transition-delay:0;transition-delay:0}body[data-aos-delay='150'] [data-aos].aos-animate,[data-aos][data-aos][data-aos-delay='150'].aos-animate{-webkit-transition-delay:150ms;transition-delay:150ms}body[data-aos-duration='200'] [data-aos],[data-aos][data-aos][data-aos-duration='200']{-webkit-transition-duration:200ms;transition-duration:200ms}body[data-aos-delay='200'] [data-aos],[data-aos][data-aos][data-aos-delay='200']{-webkit-transition-delay:0;transition-delay:0}body[data-aos-delay='200'] [data-aos].aos-animate,[data-aos][data-aos][data-aos-delay='200'].aos-animate{-webkit-transition-delay:200ms;transition-delay:200ms}body[data-aos-duration='250'] [data-aos],[data-aos][data-aos][data-aos-duration='250']{-webkit-transition-duration:250ms;transition-duration:250ms}body[data-aos-delay='250'] [data-aos],[data-aos][data-aos][data-aos-delay='250']{-webkit-transition-delay:0;transition-delay:0}body[data-aos-delay='250'] [data-aos].aos-animate,[data-aos][data-aos][data-aos-delay='250'].aos-animate{-webkit-transition-delay:250ms;transition-delay:250ms}body[data-aos-duration='300'] [data-aos],[data-aos][data-aos][data-aos-duration='300']{-webkit-transition-duration:300ms;transition-duration:300ms}body[data-aos-delay='300'] [data-aos],[data-aos][data-aos][data-aos-delay='300']{-webkit-transition-delay:0;transition-delay:0}body[data-aos-delay='300'] [data-aos].aos-animate,[data-aos][data-aos][data-aos-delay='300'].aos-animate{-webkit-transition-delay:300ms;transition-delay:300ms}body[data-aos-duration='350'] [data-aos],[data-aos][data-aos][data-aos-duration='350']{-webkit-transition-duration:350ms;transition-duration:350ms}body[data-aos-delay='350'] [data-aos],[data-aos][data-aos][data-aos-delay='350']{-webkit-transition-delay:0;transition-delay:0}body[data-aos-delay='350'] [data-aos].aos-animate,[data-aos][data-aos][data-aos-delay='350'].aos-animate{-webkit-transition-delay:350ms;transition-delay:350ms}body[data-aos-duration='400'] [data-aos],[data-aos][data-aos][data-aos-duration='400']{-webkit-transition-duration:400ms;transition-duration:400ms}body[data-aos-delay='400'] [data-aos],[data-aos][data-aos][data-aos-delay='400']{-webkit-transition-delay:0;transition-delay:0}body[data-aos-delay='400'] [data-aos].aos-animate,[data-aos][data-aos][data-aos-delay='400'].aos-animate{-webkit-transition-delay:400ms;transition-delay:400ms}body[data-aos-duration='450'] [data-aos],[data-aos][data-aos][data-aos-duration='450']{-webkit-transition-duration:450ms;transition-duration:450ms}body[data-aos-delay='450'] [data-aos],[data-aos][data-aos][data-aos-delay='450']{-webkit-transition-delay:0;transition-delay:0}body[data-aos-delay='450'] [data-aos].aos-animate,[data-aos][data-aos][data-aos-delay='450'].aos-animate{-webkit-transition-delay:450ms;transition-delay:450ms}body[data-aos-duration='500'] [data-aos],[data-aos][data-aos][data-aos-duration='500']{-webkit-transition-duration:500ms;transition-duration:500ms}body[data-aos-delay='500'] [data-aos],[data-aos][data-aos][data-aos-delay='500']{-webkit-transition-delay:0;transition-delay:0}body[data-aos-delay='500'] [data-aos].aos-animate,[data-aos][data-aos][data-aos-delay='500'].aos-animate{-webkit-transition-delay:500ms;transition-delay:500ms}body[data-aos-duration='550'] [data-aos],[data-aos][data-aos][data-aos-duration='550']{-webkit-transition-duration:550ms;transition-duration:550ms}body[data-aos-delay='550'] [data-aos],[data-aos][data-aos][data-aos-delay='550']{-webkit-transition-delay:0;transition-delay:0}body[data-aos-delay='550'] [data-aos].aos-animate,[data-aos][data-aos][data-aos-delay='550'].aos-animate{-webkit-transition-delay:550ms;transition-delay:550ms}body[data-aos-duration='600'] [data-aos],[data-aos][data-aos][data-aos-duration='600']{-webkit-transition-duration:600ms;transition-duration:600ms}body[data-aos-delay='600'] [data-aos],[data-aos][data-aos][data-aos-delay='600']{-webkit-transition-delay:0;transition-delay:0}body[data-aos-delay='600'] [data-aos].aos-animate,[data-aos][data-aos][data-aos-delay='600'].aos-animate{-webkit-transition-delay:600ms;transition-delay:600ms}body[data-aos-duration='650'] [data-aos],[data-aos][data-aos][data-aos-duration='650']{-webkit-transition-duration:650ms;transition-duration:650ms}body[data-aos-delay='650'] [data-aos],[data-aos][data-aos][data-aos-delay='650']{-webkit-transition-delay:0;transition-delay:0}body[data-aos-delay='650'] [data-aos].aos-animate,[data-aos][data-aos][data-aos-delay='650'].aos-animate{-webkit-transition-delay:650ms;transition-delay:650ms}body[data-aos-duration='700'] [data-aos],[data-aos][data-aos][data-aos-duration='700']{-webkit-transition-duration:700ms;transition-duration:700ms}body[data-aos-delay='700'] [data-aos],[data-aos][data-aos][data-aos-delay='700']{-webkit-transition-delay:0;transition-delay:0}body[data-aos-delay='700'] [data-aos].aos-animate,[data-aos][data-aos][data-aos-delay='700'].aos-animate{-webkit-transition-delay:700ms;transition-delay:700ms}body[data-aos-duration='750'] [data-aos],[data-aos][data-aos][data-aos-duration='750']{-webkit-transition-duration:750ms;transition-duration:750ms}body[data-aos-delay='750'] [data-aos],[data-aos][data-aos][data-aos-delay='750']{-webkit-transition-delay:0;transition-delay:0}body[data-aos-delay='750'] [data-aos].aos-animate,[data-aos][data-aos][data-aos-delay='750'].aos-animate{-webkit-transition-delay:750ms;transition-delay:750ms}body[data-aos-duration='800'] [data-aos],[data-aos][data-aos][data-aos-duration='800']{-webkit-transition-duration:800ms;transition-duration:800ms}body[data-aos-delay='800'] [data-aos],[data-aos][data-aos][data-aos-delay='800']{-webkit-transition-delay:0;transition-delay:0}body[data-aos-delay='800'] [data-aos].aos-animate,[data-aos][data-aos][data-aos-delay='800'].aos-animate{-webkit-transition-delay:800ms;transition-delay:800ms}body[data-aos-duration='850'] [data-aos],[data-aos][data-aos][data-aos-duration='850']{-webkit-transition-duration:850ms;transition-duration:850ms}body[data-aos-delay='850'] [data-aos],[data-aos][data-aos][data-aos-delay='850']{-webkit-transition-delay:0;transition-delay:0}body[data-aos-delay='850'] [data-aos].aos-animate,[data-aos][data-aos][data-aos-delay='850'].aos-animate{-webkit-transition-delay:850ms;transition-delay:850ms}body[data-aos-duration='900'] [data-aos],[data-aos][data-aos][data-aos-duration='900']{-webkit-transition-duration:900ms;transition-duration:900ms}body[data-aos-delay='900'] [data-aos],[data-aos][data-aos][data-aos-delay='900']{-webkit-transition-delay:0;transition-delay:0}body[data-aos-delay='900'] [data-aos].aos-animate,[data-aos][data-aos][data-aos-delay='900'].aos-animate{-webkit-transition-delay:900ms;transition-delay:900ms}body[data-aos-duration='950'] [data-aos],[data-aos][data-aos][data-aos-duration='950']{-webkit-transition-duration:950ms;transition-duration:950ms}body[data-aos-delay='950'] [data-aos],[data-aos][data-aos][data-aos-delay='950']{-webkit-transition-delay:0;transition-delay:0}body[data-aos-delay='950'] [data-aos].aos-animate,[data-aos][data-aos][data-aos-delay='950'].aos-animate{-webkit-transition-delay:950ms;transition-delay:950ms}body[data-aos-duration='1000'] [data-aos],[data-aos][data-aos][data-aos-duration='1000']{-webkit-transition-duration:1000ms;transition-duration:1000ms}body[data-aos-delay='1000'] [data-aos],[data-aos][data-aos][data-aos-delay='1000']{-webkit-transition-delay:0;transition-delay:0}body[data-aos-delay='1000'] [data-aos].aos-animate,[data-aos][data-aos][data-aos-delay='1000'].aos-animate{-webkit-transition-delay:1000ms;transition-delay:1000ms}body[data-aos-duration='1050'] [data-aos],[data-aos][data-aos][data-aos-duration='1050']{-webkit-transition-duration:1050ms;transition-duration:1050ms}body[data-aos-delay='1050'] [data-aos],[data-aos][data-aos][data-aos-delay='1050']{-webkit-transition-delay:0;transition-delay:0}body[data-aos-delay='1050'] [data-aos].aos-animate,[data-aos][data-aos][data-aos-delay='1050'].aos-animate{-webkit-transition-delay:1050ms;transition-delay:1050ms}body[data-aos-duration='1100'] [data-aos],[data-aos][data-aos][data-aos-duration='1100']{-webkit-transition-duration:1100ms;transition-duration:1100ms}body[data-aos-delay='1100'] [data-aos],[data-aos][data-aos][data-aos-delay='1100']{-webkit-transition-delay:0;transition-delay:0}body[data-aos-delay='1100'] [data-aos].aos-animate,[data-aos][data-aos][data-aos-delay='1100'].aos-animate{-webkit-transition-delay:1100ms;transition-delay:1100ms}body[data-aos-duration='1150'] [data-aos],[data-aos][data-aos][data-aos-duration='1150']{-webkit-transition-duration:1150ms;transition-duration:1150ms}body[data-aos-delay='1150'] [data-aos],[data-aos][data-aos][data-aos-delay='1150']{-webkit-transition-delay:0;transition-delay:0}body[data-aos-delay='1150'] [data-aos].aos-animate,[data-aos][data-aos][data-aos-delay='1150'].aos-animate{-webkit-transition-delay:1150ms;transition-delay:1150ms}body[data-aos-duration='1200'] [data-aos],[data-aos][data-aos][data-aos-duration='1200']{-webkit-transition-duration:1200ms;transition-duration:1200ms}body[data-aos-delay='1200'] [data-aos],[data-aos][data-aos][data-aos-delay='1200']{-webkit-transition-delay:0;transition-delay:0}body[data-aos-delay='1200'] [data-aos].aos-animate,[data-aos][data-aos][data-aos-delay='1200'].aos-animate{-webkit-transition-delay:1200ms;transition-delay:1200ms}body[data-aos-duration='1250'] [data-aos],[data-aos][data-aos][data-aos-duration='1250']{-webkit-transition-duration:1250ms;transition-duration:1250ms}body[data-aos-delay='1250'] [data-aos],[data-aos][data-aos][data-aos-delay='1250']{-webkit-transition-delay:0;transition-delay:0}body[data-aos-delay='1250'] [data-aos].aos-animate,[data-aos][data-aos][data-aos-delay='1250'].aos-animate{-webkit-transition-delay:1250ms;transition-delay:1250ms}body[data-aos-duration='1300'] [data-aos],[data-aos][data-aos][data-aos-duration='1300']{-webkit-transition-duration:1300ms;transition-duration:1300ms}body[data-aos-delay='1300'] [data-aos],[data-aos][data-aos][data-aos-delay='1300']{-webkit-transition-delay:0;transition-delay:0}body[data-aos-delay='1300'] [data-aos].aos-animate,[data-aos][data-aos][data-aos-delay='1300'].aos-animate{-webkit-transition-delay:1300ms;transition-delay:1300ms}body[data-aos-duration='1350'] [data-aos],[data-aos][data-aos][data-aos-duration='1350']{-webkit-transition-duration:1350ms;transition-duration:1350ms}body[data-aos-delay='1350'] [data-aos],[data-aos][data-aos][data-aos-delay='1350']{-webkit-transition-delay:0;transition-delay:0}body[data-aos-delay='1350'] [data-aos].aos-animate,[data-aos][data-aos][data-aos-delay='1350'].aos-animate{-webkit-transition-delay:1350ms;transition-delay:1350ms}body[data-aos-duration='1400'] [data-aos],[data-aos][data-aos][data-aos-duration='1400']{-webkit-transition-duration:1400ms;transition-duration:1400ms}body[data-aos-delay='1400'] [data-aos],[data-aos][data-aos][data-aos-delay='1400']{-webkit-transition-delay:0;transition-delay:0}body[data-aos-delay='1400'] [data-aos].aos-animate,[data-aos][data-aos][data-aos-delay='1400'].aos-animate{-webkit-transition-delay:1400ms;transition-delay:1400ms}body[data-aos-duration='1450'] [data-aos],[data-aos][data-aos][data-aos-duration='1450']{-webkit-transition-duration:1450ms;transition-duration:1450ms}body[data-aos-delay='1450'] [data-aos],[data-aos][data-aos][data-aos-delay='1450']{-webkit-transition-delay:0;transition-delay:0}body[data-aos-delay='1450'] [data-aos].aos-animate,[data-aos][data-aos][data-aos-delay='1450'].aos-animate{-webkit-transition-delay:1450ms;transition-delay:1450ms}body[data-aos-duration='1500'] [data-aos],[data-aos][data-aos][data-aos-duration='1500']{-webkit-transition-duration:1500ms;transition-duration:1500ms}body[data-aos-delay='1500'] [data-aos],[data-aos][data-aos][data-aos-delay='1500']{-webkit-transition-delay:0;transition-delay:0}body[data-aos-delay='1500'] [data-aos].aos-animate,[data-aos][data-aos][data-aos-delay='1500'].aos-animate{-webkit-transition-delay:1500ms;transition-delay:1500ms}body[data-aos-duration='1550'] [data-aos],[data-aos][data-aos][data-aos-duration='1550']{-webkit-transition-duration:1550ms;transition-duration:1550ms}body[data-aos-delay='1550'] [data-aos],[data-aos][data-aos][data-aos-delay='1550']{-webkit-transition-delay:0;transition-delay:0}body[data-aos-delay='1550'] [data-aos].aos-animate,[data-aos][data-aos][data-aos-delay='1550'].aos-animate{-webkit-transition-delay:1550ms;transition-delay:1550ms}body[data-aos-duration='1600'] [data-aos],[data-aos][data-aos][data-aos-duration='1600']{-webkit-transition-duration:1600ms;transition-duration:1600ms}body[data-aos-delay='1600'] [data-aos],[data-aos][data-aos][data-aos-delay='1600']{-webkit-transition-delay:0;transition-delay:0}body[data-aos-delay='1600'] [data-aos].aos-animate,[data-aos][data-aos][data-aos-delay='1600'].aos-animate{-webkit-transition-delay:1600ms;transition-delay:1600ms}body[data-aos-duration='1650'] [data-aos],[data-aos][data-aos][data-aos-duration='1650']{-webkit-transition-duration:1650ms;transition-duration:1650ms}body[data-aos-delay='1650'] [data-aos],[data-aos][data-aos][data-aos-delay='1650']{-webkit-transition-delay:0;transition-delay:0}body[data-aos-delay='1650'] [data-aos].aos-animate,[data-aos][data-aos][data-aos-delay='1650'].aos-animate{-webkit-transition-delay:1650ms;transition-delay:1650ms}body[data-aos-duration='1700'] [data-aos],[data-aos][data-aos][data-aos-duration='1700']{-webkit-transition-duration:1700ms;transition-duration:1700ms}body[data-aos-delay='1700'] [data-aos],[data-aos][data-aos][data-aos-delay='1700']{-webkit-transition-delay:0;transition-delay:0}body[data-aos-delay='1700'] [data-aos].aos-animate,[data-aos][data-aos][data-aos-delay='1700'].aos-animate{-webkit-transition-delay:1700ms;transition-delay:1700ms}body[data-aos-duration='1750'] [data-aos],[data-aos][data-aos][data-aos-duration='1750']{-webkit-transition-duration:1750ms;transition-duration:1750ms}body[data-aos-delay='1750'] [data-aos],[data-aos][data-aos][data-aos-delay='1750']{-webkit-transition-delay:0;transition-delay:0}body[data-aos-delay='1750'] [data-aos].aos-animate,[data-aos][data-aos][data-aos-delay='1750'].aos-animate{-webkit-transition-delay:1750ms;transition-delay:1750ms}body[data-aos-duration='1800'] [data-aos],[data-aos][data-aos][data-aos-duration='1800']{-webkit-transition-duration:1800ms;transition-duration:1800ms}body[data-aos-delay='1800'] [data-aos],[data-aos][data-aos][data-aos-delay='1800']{-webkit-transition-delay:0;transition-delay:0}body[data-aos-delay='1800'] [data-aos].aos-animate,[data-aos][data-aos][data-aos-delay='1800'].aos-animate{-webkit-transition-delay:1800ms;transition-delay:1800ms}body[data-aos-duration='1850'] [data-aos],[data-aos][data-aos][data-aos-duration='1850']{-webkit-transition-duration:1850ms;transition-duration:1850ms}body[data-aos-delay='1850'] [data-aos],[data-aos][data-aos][data-aos-delay='1850']{-webkit-transition-delay:0;transition-delay:0}body[data-aos-delay='1850'] [data-aos].aos-animate,[data-aos][data-aos][data-aos-delay='1850'].aos-animate{-webkit-transition-delay:1850ms;transition-delay:1850ms}body[data-aos-duration='1900'] [data-aos],[data-aos][data-aos][data-aos-duration='1900']{-webkit-transition-duration:1900ms;transition-duration:1900ms}body[data-aos-delay='1900'] [data-aos],[data-aos][data-aos][data-aos-delay='1900']{-webkit-transition-delay:0;transition-delay:0}body[data-aos-delay='1900'] [data-aos].aos-animate,[data-aos][data-aos][data-aos-delay='1900'].aos-animate{-webkit-transition-delay:1900ms;transition-delay:1900ms}body[data-aos-duration='1950'] [data-aos],[data-aos][data-aos][data-aos-duration='1950']{-webkit-transition-duration:1950ms;transition-duration:1950ms}body[data-aos-delay='1950'] [data-aos],[data-aos][data-aos][data-aos-delay='1950']{-webkit-transition-delay:0;transition-delay:0}body[data-aos-delay='1950'] [data-aos].aos-animate,[data-aos][data-aos][data-aos-delay='1950'].aos-animate{-webkit-transition-delay:1950ms;transition-delay:1950ms}body[data-aos-duration='2000'] [data-aos],[data-aos][data-aos][data-aos-duration='2000']{-webkit-transition-duration:2000ms;transition-duration:2000ms}body[data-aos-delay='2000'] [data-aos],[data-aos][data-aos][data-aos-delay='2000']{-webkit-transition-delay:0;transition-delay:0}body[data-aos-delay='2000'] [data-aos].aos-animate,[data-aos][data-aos][data-aos-delay='2000'].aos-animate{-webkit-transition-delay:2000ms;transition-delay:2000ms}body[data-aos-duration='2050'] [data-aos],[data-aos][data-aos][data-aos-duration='2050']{-webkit-transition-duration:2050ms;transition-duration:2050ms}body[data-aos-delay='2050'] [data-aos],[data-aos][data-aos][data-aos-delay='2050']{-webkit-transition-delay:0;transition-delay:0}body[data-aos-delay='2050'] [data-aos].aos-animate,[data-aos][data-aos][data-aos-delay='2050'].aos-animate{-webkit-transition-delay:2050ms;transition-delay:2050ms}body[data-aos-duration='2100'] [data-aos],[data-aos][data-aos][data-aos-duration='2100']{-webkit-transition-duration:2100ms;transition-duration:2100ms}body[data-aos-delay='2100'] [data-aos],[data-aos][data-aos][data-aos-delay='2100']{-webkit-transition-delay:0;transition-delay:0}body[data-aos-delay='2100'] [data-aos].aos-animate,[data-aos][data-aos][data-aos-delay='2100'].aos-animate{-webkit-transition-delay:2100ms;transition-delay:2100ms}body[data-aos-duration='2150'] [data-aos],[data-aos][data-aos][data-aos-duration='2150']{-webkit-transition-duration:2150ms;transition-duration:2150ms}body[data-aos-delay='2150'] [data-aos],[data-aos][data-aos][data-aos-delay='2150']{-webkit-transition-delay:0;transition-delay:0}body[data-aos-delay='2150'] [data-aos].aos-animate,[data-aos][data-aos][data-aos-delay='2150'].aos-animate{-webkit-transition-delay:2150ms;transition-delay:2150ms}body[data-aos-duration='2200'] [data-aos],[data-aos][data-aos][data-aos-duration='2200']{-webkit-transition-duration:2200ms;transition-duration:2200ms}body[data-aos-delay='2200'] [data-aos],[data-aos][data-aos][data-aos-delay='2200']{-webkit-transition-delay:0;transition-delay:0}body[data-aos-delay='2200'] [data-aos].aos-animate,[data-aos][data-aos][data-aos-delay='2200'].aos-animate{-webkit-transition-delay:2200ms;transition-delay:2200ms}body[data-aos-duration='2250'] [data-aos],[data-aos][data-aos][data-aos-duration='2250']{-webkit-transition-duration:2250ms;transition-duration:2250ms}body[data-aos-delay='2250'] [data-aos],[data-aos][data-aos][data-aos-delay='2250']{-webkit-transition-delay:0;transition-delay:0}body[data-aos-delay='2250'] [data-aos].aos-animate,[data-aos][data-aos][data-aos-delay='2250'].aos-animate{-webkit-transition-delay:2250ms;transition-delay:2250ms}body[data-aos-duration='2300'] [data-aos],[data-aos][data-aos][data-aos-duration='2300']{-webkit-transition-duration:2300ms;transition-duration:2300ms}body[data-aos-delay='2300'] [data-aos],[data-aos][data-aos][data-aos-delay='2300']{-webkit-transition-delay:0;transition-delay:0}body[data-aos-delay='2300'] [data-aos].aos-animate,[data-aos][data-aos][data-aos-delay='2300'].aos-animate{-webkit-transition-delay:2300ms;transition-delay:2300ms}body[data-aos-duration='2350'] [data-aos],[data-aos][data-aos][data-aos-duration='2350']{-webkit-transition-duration:2350ms;transition-duration:2350ms}body[data-aos-delay='2350'] [data-aos],[data-aos][data-aos][data-aos-delay='2350']{-webkit-transition-delay:0;transition-delay:0}body[data-aos-delay='2350'] [data-aos].aos-animate,[data-aos][data-aos][data-aos-delay='2350'].aos-animate{-webkit-transition-delay:2350ms;transition-delay:2350ms}body[data-aos-duration='2400'] [data-aos],[data-aos][data-aos][data-aos-duration='2400']{-webkit-transition-duration:2400ms;transition-duration:2400ms}body[data-aos-delay='2400'] [data-aos],[data-aos][data-aos][data-aos-delay='2400']{-webkit-transition-delay:0;transition-delay:0}body[data-aos-delay='2400'] [data-aos].aos-animate,[data-aos][data-aos][data-aos-delay='2400'].aos-animate{-webkit-transition-delay:2400ms;transition-delay:2400ms}body[data-aos-duration='2450'] [data-aos],[data-aos][data-aos][data-aos-duration='2450']{-webkit-transition-duration:2450ms;transition-duration:2450ms}body[data-aos-delay='2450'] [data-aos],[data-aos][data-aos][data-aos-delay='2450']{-webkit-transition-delay:0;transition-delay:0}body[data-aos-delay='2450'] [data-aos].aos-animate,[data-aos][data-aos][data-aos-delay='2450'].aos-animate{-webkit-transition-delay:2450ms;transition-delay:2450ms}body[data-aos-duration='2500'] [data-aos],[data-aos][data-aos][data-aos-duration='2500']{-webkit-transition-duration:2500ms;transition-duration:2500ms}body[data-aos-delay='2500'] [data-aos],[data-aos][data-aos][data-aos-delay='2500']{-webkit-transition-delay:0;transition-delay:0}body[data-aos-delay='2500'] [data-aos].aos-animate,[data-aos][data-aos][data-aos-delay='2500'].aos-animate{-webkit-transition-delay:2500ms;transition-delay:2500ms}body[data-aos-duration='2550'] [data-aos],[data-aos][data-aos][data-aos-duration='2550']{-webkit-transition-duration:2550ms;transition-duration:2550ms}body[data-aos-delay='2550'] [data-aos],[data-aos][data-aos][data-aos-delay='2550']{-webkit-transition-delay:0;transition-delay:0}body[data-aos-delay='2550'] [data-aos].aos-animate,[data-aos][data-aos][data-aos-delay='2550'].aos-animate{-webkit-transition-delay:2550ms;transition-delay:2550ms}body[data-aos-duration='2600'] [data-aos],[data-aos][data-aos][data-aos-duration='2600']{-webkit-transition-duration:2600ms;transition-duration:2600ms}body[data-aos-delay='2600'] [data-aos],[data-aos][data-aos][data-aos-delay='2600']{-webkit-transition-delay:0;transition-delay:0}body[data-aos-delay='2600'] [data-aos].aos-animate,[data-aos][data-aos][data-aos-delay='2600'].aos-animate{-webkit-transition-delay:2600ms;transition-delay:2600ms}body[data-aos-duration='2650'] [data-aos],[data-aos][data-aos][data-aos-duration='2650']{-webkit-transition-duration:2650ms;transition-duration:2650ms}body[data-aos-delay='2650'] [data-aos],[data-aos][data-aos][data-aos-delay='2650']{-webkit-transition-delay:0;transition-delay:0}body[data-aos-delay='2650'] [data-aos].aos-animate,[data-aos][data-aos][data-aos-delay='2650'].aos-animate{-webkit-transition-delay:2650ms;transition-delay:2650ms}body[data-aos-duration='2700'] [data-aos],[data-aos][data-aos][data-aos-duration='2700']{-webkit-transition-duration:2700ms;transition-duration:2700ms}body[data-aos-delay='2700'] [data-aos],[data-aos][data-aos][data-aos-delay='2700']{-webkit-transition-delay:0;transition-delay:0}body[data-aos-delay='2700'] [data-aos].aos-animate,[data-aos][data-aos][data-aos-delay='2700'].aos-animate{-webkit-transition-delay:2700ms;transition-delay:2700ms}body[data-aos-duration='2750'] [data-aos],[data-aos][data-aos][data-aos-duration='2750']{-webkit-transition-duration:2750ms;transition-duration:2750ms}body[data-aos-delay='2750'] [data-aos],[data-aos][data-aos][data-aos-delay='2750']{-webkit-transition-delay:0;transition-delay:0}body[data-aos-delay='2750'] [data-aos].aos-animate,[data-aos][data-aos][data-aos-delay='2750'].aos-animate{-webkit-transition-delay:2750ms;transition-delay:2750ms}body[data-aos-duration='2800'] [data-aos],[data-aos][data-aos][data-aos-duration='2800']{-webkit-transition-duration:2800ms;transition-duration:2800ms}body[data-aos-delay='2800'] [data-aos],[data-aos][data-aos][data-aos-delay='2800']{-webkit-transition-delay:0;transition-delay:0}body[data-aos-delay='2800'] [data-aos].aos-animate,[data-aos][data-aos][data-aos-delay='2800'].aos-animate{-webkit-transition-delay:2800ms;transition-delay:2800ms}body[data-aos-duration='2850'] [data-aos],[data-aos][data-aos][data-aos-duration='2850']{-webkit-transition-duration:2850ms;transition-duration:2850ms}body[data-aos-delay='2850'] [data-aos],[data-aos][data-aos][data-aos-delay='2850']{-webkit-transition-delay:0;transition-delay:0}body[data-aos-delay='2850'] [data-aos].aos-animate,[data-aos][data-aos][data-aos-delay='2850'].aos-animate{-webkit-transition-delay:2850ms;transition-delay:2850ms}body[data-aos-duration='2900'] [data-aos],[data-aos][data-aos][data-aos-duration='2900']{-webkit-transition-duration:2900ms;transition-duration:2900ms}body[data-aos-delay='2900'] [data-aos],[data-aos][data-aos][data-aos-delay='2900']{-webkit-transition-delay:0;transition-delay:0}body[data-aos-delay='2900'] [data-aos].aos-animate,[data-aos][data-aos][data-aos-delay='2900'].aos-animate{-webkit-transition-delay:2900ms;transition-delay:2900ms}body[data-aos-duration='2950'] [data-aos],[data-aos][data-aos][data-aos-duration='2950']{-webkit-transition-duration:2950ms;transition-duration:2950ms}body[data-aos-delay='2950'] [data-aos],[data-aos][data-aos][data-aos-delay='2950']{-webkit-transition-delay:0;transition-delay:0}body[data-aos-delay='2950'] [data-aos].aos-animate,[data-aos][data-aos][data-aos-delay='2950'].aos-animate{-webkit-transition-delay:2950ms;transition-delay:2950ms}body[data-aos-duration='3000'] [data-aos],[data-aos][data-aos][data-aos-duration='3000']{-webkit-transition-duration:3000ms;transition-duration:3000ms}body[data-aos-delay='3000'] [data-aos],[data-aos][data-aos][data-aos-delay='3000']{-webkit-transition-delay:0;transition-delay:0}body[data-aos-delay='3000'] [data-aos].aos-animate,[data-aos][data-aos][data-aos-delay='3000'].aos-animate{-webkit-transition-delay:3000ms;transition-delay:3000ms}body[data-aos-easing="linear"] [data-aos],[data-aos][data-aos][data-aos-easing="linear"]{-webkit-transition-timing-function:cubic-bezier(0.25, 0.25, 0.75, 0.75);transition-timing-function:cubic-bezier(0.25, 0.25, 0.75, 0.75)}body[data-aos-easing="ease"] [data-aos],[data-aos][data-aos][data-aos-easing="ease"]{-webkit-transition-timing-function:cubic-bezier(0.25, 0.1, 0.25, 1);transition-timing-function:cubic-bezier(0.25, 0.1, 0.25, 1)}body[data-aos-easing="ease-in"] [data-aos],[data-aos][data-aos][data-aos-easing="ease-in"]{-webkit-transition-timing-function:cubic-bezier(0.42, 0, 1, 1);transition-timing-function:cubic-bezier(0.42, 0, 1, 1)}body[data-aos-easing="ease-out"] [data-aos],[data-aos][data-aos][data-aos-easing="ease-out"]{-webkit-transition-timing-function:cubic-bezier(0, 0, 0.58, 1);transition-timing-function:cubic-bezier(0, 0, 0.58, 1)}body[data-aos-easing="ease-in-out"] [data-aos],[data-aos][data-aos][data-aos-easing="ease-in-out"]{-webkit-transition-timing-function:cubic-bezier(0.42, 0, 0.58, 1);transition-timing-function:cubic-bezier(0.42, 0, 0.58, 1)}body[data-aos-easing="ease-in-back"] [data-aos],[data-aos][data-aos][data-aos-easing="ease-in-back"]{-webkit-transition-timing-function:cubic-bezier(0.6, -0.28, 0.735, 0.045);transition-timing-function:cubic-bezier(0.6, -0.28, 0.735, 0.045)}body[data-aos-easing="ease-out-back"] [data-aos],[data-aos][data-aos][data-aos-easing="ease-out-back"]{-webkit-transition-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1.275);transition-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1.275)}body[data-aos-easing="ease-in-out-back"] [data-aos],[data-aos][data-aos][data-aos-easing="ease-in-out-back"]{-webkit-transition-timing-function:cubic-bezier(0.68, -0.55, 0.265, 1.55);transition-timing-function:cubic-bezier(0.68, -0.55, 0.265, 1.55)}body[data-aos-easing="ease-in-sine"] [data-aos],[data-aos][data-aos][data-aos-easing="ease-in-sine"]{-webkit-transition-timing-function:cubic-bezier(0.47, 0, 0.745, 0.715);transition-timing-function:cubic-bezier(0.47, 0, 0.745, 0.715)}body[data-aos-easing="ease-out-sine"] [data-aos],[data-aos][data-aos][data-aos-easing="ease-out-sine"]{-webkit-transition-timing-function:cubic-bezier(0.39, 0.575, 0.565, 1);transition-timing-function:cubic-bezier(0.39, 0.575, 0.565, 1)}body[data-aos-easing="ease-in-out-sine"] [data-aos],[data-aos][data-aos][data-aos-easing="ease-in-out-sine"]{-webkit-transition-timing-function:cubic-bezier(0.445, 0.05, 0.55, 0.95);transition-timing-function:cubic-bezier(0.445, 0.05, 0.55, 0.95)}body[data-aos-easing="ease-in-quad"] [data-aos],[data-aos][data-aos][data-aos-easing="ease-in-quad"]{-webkit-transition-timing-function:cubic-bezier(0.55, 0.085, 0.68, 0.53);transition-timing-function:cubic-bezier(0.55, 0.085, 0.68, 0.53)}body[data-aos-easing="ease-out-quad"] [data-aos],[data-aos][data-aos][data-aos-easing="ease-out-quad"]{-webkit-transition-timing-function:cubic-bezier(0.25, 0.46, 0.45, 0.94);transition-timing-function:cubic-bezier(0.25, 0.46, 0.45, 0.94)}body[data-aos-easing="ease-in-out-quad"] [data-aos],[data-aos][data-aos][data-aos-easing="ease-in-out-quad"]{-webkit-transition-timing-function:cubic-bezier(0.455, 0.03, 0.515, 0.955);transition-timing-function:cubic-bezier(0.455, 0.03, 0.515, 0.955)}body[data-aos-easing="ease-in-cubic"] [data-aos],[data-aos][data-aos][data-aos-easing="ease-in-cubic"]{-webkit-transition-timing-function:cubic-bezier(0.55, 0.085, 0.68, 0.53);transition-timing-function:cubic-bezier(0.55, 0.085, 0.68, 0.53)}body[data-aos-easing="ease-out-cubic"] [data-aos],[data-aos][data-aos][data-aos-easing="ease-out-cubic"]{-webkit-transition-timing-function:cubic-bezier(0.25, 0.46, 0.45, 0.94);transition-timing-function:cubic-bezier(0.25, 0.46, 0.45, 0.94)}body[data-aos-easing="ease-in-out-cubic"] [data-aos],[data-aos][data-aos][data-aos-easing="ease-in-out-cubic"]{-webkit-transition-timing-function:cubic-bezier(0.455, 0.03, 0.515, 0.955);transition-timing-function:cubic-bezier(0.455, 0.03, 0.515, 0.955)}body[data-aos-easing="ease-in-quart"] [data-aos],[data-aos][data-aos][data-aos-easing="ease-in-quart"]{-webkit-transition-timing-function:cubic-bezier(0.55, 0.085, 0.68, 0.53);transition-timing-function:cubic-bezier(0.55, 0.085, 0.68, 0.53)}body[data-aos-easing="ease-out-quart"] [data-aos],[data-aos][data-aos][data-aos-easing="ease-out-quart"]{-webkit-transition-timing-function:cubic-bezier(0.25, 0.46, 0.45, 0.94);transition-timing-function:cubic-bezier(0.25, 0.46, 0.45, 0.94)}body[data-aos-easing="ease-in-out-quart"] [data-aos],[data-aos][data-aos][data-aos-easing="ease-in-out-quart"]{-webkit-transition-timing-function:cubic-bezier(0.455, 0.03, 0.515, 0.955);transition-timing-function:cubic-bezier(0.455, 0.03, 0.515, 0.955)}[data-aos^='fade'][data-aos^='fade']{opacity:0;-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:opacity, transform;transition-property:opacity, transform, -webkit-transform}[data-aos^='fade'][data-aos^='fade'].aos-animate{opacity:1;-webkit-transform:translate(0, 0);transform:translate(0, 0)}[data-aos='fade-up']{-webkit-transform:translate(0, 100px);transform:translate(0, 100px)}[data-aos='fade-down']{-webkit-transform:translate(0, -100px);transform:translate(0, -100px)}[data-aos='fade-right']{-webkit-transform:translate(-100px, 0);transform:translate(-100px, 0)}[data-aos='fade-left']{-webkit-transform:translate(100px, 0);transform:translate(100px, 0)}[data-aos='fade-up-right']{-webkit-transform:translate(-100px, 100px);transform:translate(-100px, 100px)}[data-aos='fade-up-left']{-webkit-transform:translate(100px, 100px);transform:translate(100px, 100px)}[data-aos='fade-down-right']{-webkit-transform:translate(-100px, -100px);transform:translate(-100px, -100px)}[data-aos='fade-down-left']{-webkit-transform:translate(100px, -100px);transform:translate(100px, -100px)}[data-aos^='zoom'][data-aos^='zoom']{opacity:0;-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:opacity, transform;transition-property:opacity, transform, -webkit-transform}[data-aos^='zoom'][data-aos^='zoom'].aos-animate{opacity:1;-webkit-transform:translate(0, 0) scale(1);transform:translate(0, 0) scale(1)}[data-aos='zoom-in']{-webkit-transform:scale(0.6);transform:scale(0.6)}[data-aos='zoom-in-up']{-webkit-transform:translate(0, 100px) scale(0.6);transform:translate(0, 100px) scale(0.6)}[data-aos='zoom-in-down']{-webkit-transform:translate(0, -100px) scale(0.6);transform:translate(0, -100px) scale(0.6)}[data-aos='zoom-in-right']{-webkit-transform:translate(-100px, 0) scale(0.6);transform:translate(-100px, 0) scale(0.6)}[data-aos='zoom-in-left']{-webkit-transform:translate(100px, 0) scale(0.6);transform:translate(100px, 0) scale(0.6)}[data-aos='zoom-out']{-webkit-transform:scale(1.2);transform:scale(1.2)}[data-aos='zoom-out-up']{-webkit-transform:translate(0, 100px) scale(1.2);transform:translate(0, 100px) scale(1.2)}[data-aos='zoom-out-down']{-webkit-transform:translate(0, -100px) scale(1.2);transform:translate(0, -100px) scale(1.2)}[data-aos='zoom-out-right']{-webkit-transform:translate(-100px, 0) scale(1.2);transform:translate(-100px, 0) scale(1.2)}[data-aos='zoom-out-left']{-webkit-transform:translate(100px, 0) scale(1.2);transform:translate(100px, 0) scale(1.2)}[data-aos^='slide'][data-aos^='slide']{-webkit-transition-property:-webkit-transform;transition-property:-webkit-transform;transition-property:transform;transition-property:transform, -webkit-transform}[data-aos^='slide'][data-aos^='slide'].aos-animate{-webkit-transform:translate(0, 0);transform:translate(0, 0)}[data-aos='slide-up']{-webkit-transform:translateY(100%);transform:translateY(100%)}[data-aos='slide-down']{-webkit-transform:translateY(-100%);transform:translateY(-100%)}[data-aos='slide-right']{-webkit-transform:translateX(-100%);transform:translateX(-100%)}[data-aos='slide-left']{-webkit-transform:translateX(100%);transform:translateX(100%)}[data-aos^='flip'][data-aos^='flip']{-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transition-property:-webkit-transform;transition-property:-webkit-transform;transition-property:transform;transition-property:transform, -webkit-transform}[data-aos='flip-left']{-webkit-transform:perspective(2500px) rotateY(-100deg);transform:perspective(2500px) rotateY(-100deg)}[data-aos='flip-left'].aos-animate{-webkit-transform:perspective(2500px) rotateY(0);transform:perspective(2500px) rotateY(0)}[data-aos='flip-right']{-webkit-transform:perspective(2500px) rotateY(100deg);transform:perspective(2500px) rotateY(100deg)}[data-aos='flip-right'].aos-animate{-webkit-transform:perspective(2500px) rotateY(0);transform:perspective(2500px) rotateY(0)}[data-aos='flip-up']{-webkit-transform:perspective(2500px) rotateX(-100deg);transform:perspective(2500px) rotateX(-100deg)}[data-aos='flip-up'].aos-animate{-webkit-transform:perspective(2500px) rotateX(0);transform:perspective(2500px) rotateX(0)}[data-aos='flip-down']{-webkit-transform:perspective(2500px) rotateX(100deg);transform:perspective(2500px) rotateX(100deg)}[data-aos='flip-down'].aos-animate{-webkit-transform:perspective(2500px) rotateX(0);transform:perspective(2500px) rotateX(0)}.slick-loading .slick-list{background:#fff url("./../img/ajax-loader.gif") center center no-repeat}@font-face{font-family:"regis";src:url("./../fonts/../fonts/regis.eot");src:url("./../fonts/../fonts/regis.eot?#iefix") format("embedded-opentype"),url("./../fonts/../fonts/regis.woff") format("woff"),url("./../fonts/../fonts/regis.ttf") format("truetype"),url("./../fonts/../fonts/regis.svg#regis") format("svg");font-weight:normal;font-style:normal}.slick-prev,.slick-next{position:absolute;display:block;height:70px;width:70px;line-height:0px;font-size:0px;cursor:pointer;background:transparent;color:transparent;top:50%;margin-top:-10px\9;-webkit-transform:translate(0, -50%);transform:translate(0, -50%);padding:0;border:none;outline:none}.slick-prev:hover,.slick-prev:focus,.slick-next:hover,.slick-next:focus{outline:none;background:transparent;color:transparent}.slick-prev:hover:before,.slick-prev:focus:before,.slick-next:hover:before,.slick-next:focus:before{opacity:.75}.slick-prev.slick-disabled:before,.slick-next.slick-disabled:before{opacity:.25}.slick-prev:before,.slick-next:before{font-family:"regis";font-size:70px;line-height:1;color:#58595b;opacity:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.slider-residence .slick-prev:before,.slider-residence .slick-next:before{color:#fff;font-size:32px}.slick-prev{left:-85px}[dir="rtl"] .slick-prev{left:auto;right:-85px}.slider-residence .slick-prev{left:10px;z-index:20}[dir="rtl"] .slider-residence .slick-prev{right:10px}.slick-prev:before{content:"";display:inline-block;width:70px;height:70px}[dir="rtl"] .slick-prev:before{content:""}.slider-residence .slick-prev:before{width:32px;height:32px;content:""}[dir="rtl"] .slider-residence .slick-prev:before{content:""}.slick-next{right:-85px}[dir="rtl"] .slick-next{left:-85px;right:auto}.slider-residence .slick-next{right:10px;z-index:20}[dir="rtl"] .slider-residence .slick-next{left:10px}.slick-next:before{content:"";display:inline-block;width:70px;height:70px}[dir="rtl"] .slick-next:before{content:""}.slider-residence .slick-next:before{width:32px;height:32px;content:""}[dir="rtl"] .slider-residence .slick-next:before{content:""}.slick-slider{margin-bottom:30px}.slick-dots{position:absolute;bottom:-65px;list-style:none;display:block;text-align:center;padding:0;margin:0;width:100%}.slider-residence .slick-dots{bottom:20px;z-index:20}.slick-dots li{position:relative;display:inline-block;height:20px;width:20px;margin:0 5px;padding:0;cursor:pointer}.slick-dots li button{border:0;background:transparent;display:block;height:20px;width:20px;outline:none;line-height:0px;font-size:0px;color:transparent;padding:5px;cursor:pointer}.slick-dots li button:hover,.slick-dots li button:focus{outline:none}.slick-dots li button:hover:before,.slick-dots li button:focus:before{opacity:.75}.slick-dots li button:before{position:absolute;top:0;left:0;content:"•";width:20px;height:20px;font-family:"regis";font-size:40px;line-height:20px;text-align:center;color:#fff;opacity:.25;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.slick-dots li.slick-active button:before{color:#68bbc8;opacity:1}html{-webkit-text-size-adjust:100%}html,body{width:100%;height:100%;margin:0;font-family:Formata,Tahoma,Arial,Helvetica,sans-serif;font-weight:normal;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale;color:#58585b;background-color:#fff;letter-spacing:0}@media screen and (min-width: 40em){body.nav-open{overflow:hidden}}.wrapper{height:100%}::-moz-selection{background:#58585b;color:#fff}::selection{background:#58585b;color:#fff}::-moz-selection{background:#58585b;color:#fff}p{font-size:1rem;line-height:2.0;margin-bottom:1.375rem;letter-spacing:0.01em;font-weight:400}p+p{margin-top:-.375rem}h1,h2,h3,h4,h5,h6{font-family:Formata,Tahoma,Arial,Helvetica,sans-serif;font-weight:700;letter-spacing:0.05em;line-height:1.3;margin-top:0;color:#58585b;text-transform:uppercase}h1 strong,h2 strong,h3 strong,h4 strong,h5 strong,h6 strong{font-weight:inherit}h1 a,h2 a,h3 a,h4 a,h5 a,h6 a{color:#58585b}h1 a:hover,h2 a:hover,h3 a:hover,h4 a:hover,h5 a:hover,h6 a:hover{color:#58585b}.heading{font-family:Formata,Tahoma,Arial,Helvetica,sans-serif;text-transform:uppercase;letter-spacing:0.025em}.heading-primary{text-transform:uppercase;letter-spacing:0}.heading-secondary{font-family:Formata,Tahoma,Arial,Helvetica,sans-serif;text-transform:uppercase;letter-spacing:0}h1{font-size:2.125rem;margin-bottom:2.625rem}h2{font-size:1.625rem;margin-bottom:1.375rem}h3{font-size:1.1875rem;margin-bottom:1.375rem;color:#00bcde;font-weight:400}h4{font-size:1rem;margin-bottom:1.375rem}h5{font-size:.75rem;margin-bottom:1.375rem}h6{font-size:.625rem;margin-bottom:1.375rem}.h2-sub-heading{font-size:1.3125rem;margin-bottom:1.375rem;font-weight:700;text-transform:uppercase;display:inline-block}p+h2{margin-top:2.75rem}p+h3{margin-top:2.75rem}p+h4{margin-top:2.75rem}p+h5{margin-top:2.75rem}p+.h2-sub-heading{margin-top:2.75rem}p+.outer-accordion-regis{margin-top:2.75rem}blockquote{font-size:1rem;line-height:1.2;margin:0 0 1.5rem 0}em,i{font-style:normal;line-height:inherit}.content ul:not(.gform_fields):not(.gfield_checkbox):not(.gfield_radio):not(.chosen-results):not(.nav-footer):not(.accordion-regis):not(.accordion-faqs-regis):not(.info-icons-panel):not(.jump-links):not(.share-icons):not(.page-numbers):not(.month-selector):not(.slick-dots):not(.property-list):not(.tabs):not(.tabs-interior):not(.room-features):not(.inline-content-nav):not(.inline-nav){margin-top:2rem;margin-bottom:2rem;padding-left:0;margin-left:3.75rem;list-style-type:none;font-size:1rem}.content ul:not(.gform_fields):not(.gfield_checkbox):not(.gfield_radio):not(.chosen-results):not(.nav-footer):not(.accordion-regis):not(.accordion-faqs-regis):not(.info-icons-panel):not(.jump-links):not(.share-icons):not(.page-numbers):not(.month-selector):not(.slick-dots):not(.property-list):not(.tabs):not(.tabs-interior):not(.room-features):not(.inline-content-nav):not(.inline-nav) li{position:relative;padding-left:1.25rem;margin-bottom:.75rem;margin-left:0;font-size:inherit;font-weight:400;text-align:left}.content ul:not(.gform_fields):not(.gfield_checkbox):not(.gfield_radio):not(.chosen-results):not(.nav-footer):not(.accordion-regis):not(.accordion-faqs-regis):not(.info-icons-panel):not(.jump-links):not(.share-icons):not(.page-numbers):not(.month-selector):not(.slick-dots):not(.property-list):not(.tabs):not(.tabs-interior):not(.room-features):not(.inline-content-nav):not(.inline-nav) li::before{content:"";background-color:#656568;width:.25rem;height:.25rem;display:block;font-size:1rem;left:.0625rem;position:absolute;top:.5625rem;border-radius:.375rem}.content ol{margin-top:2rem;margin-bottom:2rem;padding-left:0;margin-left:3.75rem;font-size:1rem}.content ol li{position:relative;margin-bottom:.75rem;margin-left:0;font-size:inherit;font-weight:400;text-align:left}input[type='text'],input[type='email'],input[type='number'],select{-webkit-box-shadow:none;box-shadow:none;height:3rem;letter-spacing:0.025em;font-size:.875rem;color:#58585b;border-color:#7e7e82}input[type='text']:focus,input[type='email']:focus,input[type='number']:focus,select:focus{-webkit-box-shadow:none;box-shadow:none}input[type='text']:disabled,input[type='email']:disabled,input[type='number']:disabled,select:disabled{background-color:#fff;color:#d8d8da;border-color:#bcbebf}textarea{-webkit-box-shadow:none;box-shadow:none;letter-spacing:0.025em;font-size:.875rem;color:#58585b;border-color:#7e7e82}textarea:focus{-webkit-box-shadow:none;box-shadow:none}textarea:disabled{background-color:#fff;color:#d8d8da;border-color:#bcbebf}select{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;outline:none;background:url("../../assets/img/select-arrow-grey.png") rgba(0,0,0,0) right 50% no-repeat;background:none,url("../../assets/img/select-arrow-grey.svg") rgba(0,0,0,0) right 50% no-repeat;background-size:35px 9px;background-color:#fff}select::-ms-expand{display:none}select.reverse{background:url("../../assets/img/select-arrow-white.png") rgba(0,0,0,0) right 50% no-repeat;background:none,url("../../assets/img/select-arrow-white.svg") rgba(0,0,0,0) right 50% no-repeat;background-size:35px 9px}.button,.gform_button,.gform_button{font-size:.875rem;font-weight:700;text-transform:uppercase;letter-spacing:0;background-color:#67bbc8;-webkit-transition:background 400ms ease-in-out, color 400ms ease-in-out;transition:background 400ms ease-in-out, color 400ms ease-in-out}.button:hover,.gform_button:hover,.button:focus,.gform_button:focus,.gform_button:hover,.gform_button:focus{background-color:#54b3c1;color:#fff}.button.cta,.cta.gform_button,.button.secondary,.secondary.gform_button,.gform_button.cta,.gform_button.secondary{background-color:#f05861;color:#fff}.button.cta:hover,.cta.gform_button:hover,.button.cta:focus,.cta.gform_button:focus,.button.secondary:hover,.secondary.gform_button:hover,.button.secondary:focus,.secondary.gform_button:focus,.gform_button.cta:hover,.gform_button.cta:focus,.gform_button.secondary:hover,.gform_button.secondary:focus{background-color:#ee414b;color:#fff}.button.cta.reverse,.cta.reverse.gform_button,.button.secondary.reverse,.secondary.reverse.gform_button,.gform_button.cta.reverse,.gform_button.secondary.reverse{background-color:transparent;color:#f05861;border-color:#f05861}.button.cta.reverse:hover,.cta.reverse.gform_button:hover,.button.cta.reverse:focus,.cta.reverse.gform_button:focus,.button.secondary.reverse:hover,.secondary.reverse.gform_button:hover,.button.secondary.reverse:focus,.secondary.reverse.gform_button:focus,.gform_button.cta.reverse:hover,.gform_button.cta.reverse:focus,.gform_button.secondary.reverse:hover,.gform_button.secondary.reverse:focus{background-color:#ee414b;color:#fff}.button.video,.video.gform_button,.gform_button.video{position:relative;padding-left:3.125rem}.button.video:before,.video.gform_button:before,.gform_button.video:before{content:"";font-family:regis;font-size:3.25rem;color:#fff;display:inline-block;vertical-align:middle;font-weight:normal;line-height:2rem;width:2rem;height:2rem;position:absolute;left:.9375rem;top:.4375rem}.button.call,.call.gform_button,.gform_button.call{position:relative;padding-left:3.125rem}.button.call:before,.call.gform_button:before,.gform_button.call:before{content:"";font-family:regis;font-size:2rem;color:#fff;display:inline-block;vertical-align:middle;font-weight:normal;line-height:2rem;width:2rem;height:2rem;position:absolute;left:.9375rem;top:.4375rem}@media screen and (min-width: 40em){.button+.button,.gform_button+.button,.button+.gform_button,.gform_button+.gform_button{margin-left:1.25rem}}.gform_button{background-color:#f05861;color:#fff}.gform_button:hover,.gform_button:focus{background-color:#ee414b;color:#fff}table{font-size:1rem}.logo{width:4.625rem;height:5.75rem;display:inline-block}.logo.alt{width:auto;height:3rem}.logo-panel{display:inline-block;padding:1.3125rem .625rem .625rem;background-color:#fff;width:5.875rem;height:8.125rem}.logo-panel.alt{padding:1rem .625rem .625rem;width:12.5rem;height:auto}.logo-panel object{pointer-events:none}.header-outer,.header-outer-fixed{position:relative;width:100%;z-index:101;pointer-events:none}.header-outer .logo-fixed,.header-outer-fixed .logo-fixed{display:none}@media screen and (min-width: 40em){.header-outer,.header-outer-fixed{position:absolute;top:0}}@media screen and (min-width: 40em){.header-outer.fixed,.header-outer-fixed.fixed{position:fixed;top:0;background-color:#fff;-webkit-box-shadow:0 2px 4px 0 rgba(0,0,0,0.1);box-shadow:0 2px 4px 0 rgba(0,0,0,0.1);-webkit-animation:fixed-show 400ms cubic-bezier(0.23, 1, 0.32, 1);animation:fixed-show 400ms cubic-bezier(0.23, 1, 0.32, 1)}.nav-open .header-outer.fixed,.nav-open .header-outer-fixed.fixed{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.header-outer.fixed .logo-top,.header-outer-fixed.fixed .logo-top{display:none}.header-outer.fixed .logo-fixed,.header-outer-fixed.fixed .logo-fixed{display:inline-block}.header-outer.fixed.submenu-fixed,.header-outer-fixed.fixed.submenu-fixed{-webkit-box-shadow:none;box-shadow:none}}@media screen and (min-width: 40em){.nav-open .header-outer,.nav-open .header-outer-fixed{position:fixed;top:0;background-color:transparent}.nav-open .header-outer.fixed .logo-top,.nav-open .header-outer-fixed.fixed .logo-top{display:inline-block}.nav-open .header-outer.fixed .logo-fixed,.nav-open .header-outer-fixed.fixed .logo-fixed{display:none}}.header-outer .logo-top,.header-outer .logo-fixed,.header-outer .logo-panel,.header-outer .hamburger,.header-outer .phone-number,.header-outer-fixed .logo-top,.header-outer-fixed .logo-fixed,.header-outer-fixed .logo-panel,.header-outer-fixed .hamburger,.header-outer-fixed .phone-number{pointer-events:all}.header{width:100%}@media print, screen and (min-width: 40em){.header{text-shadow:0 1px 2px rgba(0,0,0,0.5)}.header .hamburger-inner{-webkit-box-shadow:0 1px 2px rgba(0,0,0,0.5);box-shadow:0 1px 2px rgba(0,0,0,0.5)}.header .hamburger-inner::before,.header .hamburger-inner::after{-webkit-box-shadow:0 1px 2px rgba(0,0,0,0.5);box-shadow:0 1px 2px rgba(0,0,0,0.5)}}.header-middle{text-align:center}.header-middle h2{margin-bottom:0;margin-left:3.75rem;display:none;font-size:1.25rem}@media screen and (min-width: 64em){.fixed .header-middle h2{display:inline-block}}.header-right ul{width:auto;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;margin:0;padding:0}.header-right ul li{float:left;list-style:none}.header-right .phone-number{display:inline-block;color:#58585b;font-size:1.125rem;line-height:0.8;font-weight:700;margin-right:1.25rem;white-space:nowrap}@media screen and (min-width: 40em){.header-right .phone-number{color:#fff;font-size:1.4375rem;margin-top:.4375rem}}.fixed .header-right .phone-number{color:#58585b}@media screen and (min-width: 40em){.nav-open .fixed .header-right .phone-number{color:#fff}}.header-right .phone-number a{color:inherit}.header-right .phone-number:before{content:"";font-family:regis;font-size:2.625rem;color:#58585b;display:inline-block;vertical-align:middle;margin-right:.25rem;font-weight:normal}@media screen and (min-width: 40em){.header-right .phone-number:before{color:#fff}}.fixed .header-right .phone-number:before{color:#58585b}@media screen and (min-width: 40em){.nav-open .fixed .header-right .phone-number:before{color:#fff}}.breadcrumbs.all{display:inline-block;margin-bottom:0}@media screen and (max-width: 63.9375em){.breadcrumbs.all{margin-bottom:.375rem}}.breadcrumbs.all li{color:#fff;font-size:1rem;letter-spacing:0.05em}@media screen and (max-width: 63.9375em){.breadcrumbs.all li{display:inline-block;float:none;font-size:.75rem}}.breadcrumbs.all li:not(:last-child):after{color:#fff}.breadcrumbs.all li:nth-last-child(2):after{display:none}.breadcrumbs.all li:last-child{display:none}.breadcrumbs.all a{color:#fff;text-decoration:none;-webkit-transition:all 300ms ease-in-out;transition:all 300ms ease-in-out;border-bottom:.0625rem solid transparent;outline:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.breadcrumbs.all a:hover,.breadcrumbs.all a:focus{text-decoration:none;border-bottom:.0625rem solid #fff}.breadcrumbs{display:inline-block;margin-bottom:0}@media screen and (max-width: 63.9375em){.breadcrumbs{margin-bottom:.375rem}}.breadcrumbs li{color:#fff;font-size:1rem;letter-spacing:0.05em;white-space:nowrap}@media screen and (max-width: 63.9375em){.breadcrumbs li{display:inline-block;float:none;font-size:.75rem}}.breadcrumbs li:not(:last-child):after{color:#fff}.breadcrumbs a{color:#fff;text-decoration:none;-webkit-transition:all 300ms ease-in-out;transition:all 300ms ease-in-out;border-bottom:.0625rem solid transparent;outline:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.breadcrumbs a:hover,.breadcrumbs a:focus{text-decoration:none;border-bottom:.0625rem solid #fff}.outer-banner-nav{position:relative;z-index:60;margin-top:1.25rem}.outer-banner-nav .banner-nav-btn{color:#fff;font-weight:700;text-transform:uppercase;letter-spacing:0.05em;cursor:pointer;font-size:.875rem}@media screen and (min-width: 40em){.outer-banner-nav .banner-nav-btn{display:none}}.outer-banner-nav .banner-nav-btn:after{content:"";font-family:regis;font-size:1.5rem;line-height:1;color:#fff;display:inline-block;vertical-align:top;margin-top:-.125rem;margin-right:.25rem;font-weight:normal;margin-left:.5rem;-webkit-transition:-webkit-transform 300ms ease-out;transition:-webkit-transform 300ms ease-out;transition:transform 300ms ease-out;transition:transform 300ms ease-out, -webkit-transform 300ms ease-out}.outer-banner-nav .banner-nav{margin-top:.625rem;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row wrap;flex-flow:row wrap;background-color:#58585b;padding-top:.3125rem;padding-bottom:.3125rem;margin-left:-.625rem;margin-right:-.625rem;-webkit-transition:height 400ms ease-in-out, opacity 400ms ease-in-out;transition:height 400ms ease-in-out, opacity 400ms ease-in-out;height:auto;visibility:visible;opacity:1;position:absolute;left:0;top:1.25rem;z-index:110}@media screen and (min-width: 40em){.outer-banner-nav .banner-nav{position:relative;top:auto;margin-top:2.5rem;background-color:transparent}}@media screen and (min-width: 64em){.outer-banner-nav .banner-nav{-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch}}.outer-banner-nav .banner-nav .banner-nav-item{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;z-index:10;width:100%;text-align:center;margin-left:.625rem;margin-right:.625rem;margin-top:.3125rem;margin-bottom:.3125rem;padding:.625rem}@media screen and (min-width: 40em){.outer-banner-nav .banner-nav .banner-nav-item{width:calc(50% - 20px);padding:1.75rem}}@media screen and (min-width: 64em){.outer-banner-nav .banner-nav .banner-nav-item{width:100%}}.outer-banner-nav .banner-nav .banner-nav-item .heading{font-size:1rem;color:#fff;text-transform:uppercase;font-weight:700;line-height:1.8;display:inline-block;position:relative;z-index:11;margin-bottom:0}@media screen and (min-width: 40em){.outer-banner-nav .banner-nav .banner-nav-item .heading{-ms-flex-item-align:center;align-self:center;line-height:1.2}}.outer-banner-nav .banner-nav .banner-nav-item .bg{background-color:rgba(0,0,0,0.5);border-radius:.3125rem;display:inline-block;position:absolute;left:0;top:0;width:100%;height:100%;z-index:10;-webkit-transition:background-color 400ms ease-out, -webkit-transform 400ms ease-out;transition:background-color 400ms ease-out, -webkit-transform 400ms ease-out;transition:transform 400ms ease-out, background-color 400ms ease-out;transition:transform 400ms ease-out, background-color 400ms ease-out, -webkit-transform 400ms ease-out}.outer-banner-nav .banner-nav .banner-nav-item:hover .bg{-webkit-transform:scale(1);transform:scale(1);background-color:rgba(0,0,0,0.6)}@media screen and (min-width: 40em){.outer-banner-nav .banner-nav .banner-nav-item:hover .bg{-webkit-transform:scale(1.15);transform:scale(1.15)}}.outer-banner-nav.closed .banner-nav{height:0;visibility:hidden;opacity:0}.outer-banner-nav.closed .banner-nav-btn:after{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.banner{position:relative;text-shadow:0 1px 2px rgba(0,0,0,0.5)}.banner.interior{height:auto;margin-bottom:3.75rem}.banner.interior .cta-panel{position:relative;z-index:10}.banner.interior .cta-panel .button.cta,.banner.interior .cta-panel .cta.gform_button{margin:0;position:absolute;top:0;left:50%;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);white-space:nowrap}@media screen and (min-width: 40em){.banner{height:100vh}}.banner .heading-primary{color:#fff;font-weight:400;font-size:1.125rem;margin-bottom:0;letter-spacing:.05em}.banner .heading-primary a{color:#fff;text-decoration:none;-webkit-transition:all 300ms ease-in-out;transition:all 300ms ease-in-out;border-bottom:.0625rem solid transparent;outline:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.banner .heading-primary a:hover,.banner .heading-primary a:focus{text-decoration:none;border-bottom:.0625rem solid #fff}.banner .heading-secondary{color:#fff;font-weight:700;font-size:2.5rem;letter-spacing:0.025em;line-height:1.2;margin-bottom:0;font-size:40px;font-size:5vw}@media (max-width: 600px){.banner .heading-secondary{font-size:30px}}@media (min-width: 800px){.banner .heading-secondary{font-size:40px}}.banner.banner-slim{background-color:#00BFDC;margin-bottom:3.75rem}.banner.banner-slim .heading-secondary{font-size:1.875rem}.banner-panel{position:absolute;top:0;left:0;width:100%;z-index:5;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;height:17.5rem}@media screen and (min-width: 40em){.banner-panel{height:25.5625rem}}.banner.banner-slim .banner-panel{height:100%}.banner-panel .middle{text-align:center;width:100%;display:block;max-width:75rem;padding-left:.625rem;padding-right:.625rem}@media screen and (min-width: 40em){.banner-panel .middle{margin-top:12.5rem}.home .banner-panel .middle{margin-top:15.625rem}}@media screen and (min-width: 40em) and (max-height: 700px) and (orientation: landscape){.banner-panel .middle{margin-top:3%}}@media screen and (min-width: 40em){.banner.interior .banner-panel .middle{margin-top:3.75rem}}.banner-bg{height:calc(100% - 100px);min-height:17.5rem;position:relative;overflow:hidden}.banner.interior .banner-bg{height:17.5rem}@media screen and (min-width: 40em){.banner.interior .banner-bg{height:25.5625rem}}.banner.banner-slim .banner-bg{min-height:0;height:10rem}@media screen and (min-width: 40em){.banner.banner-slim .banner-bg{height:13.75rem}}.banner.banner-slim .banner-bg img{display:none}.banner-bg img{position:absolute;-o-object-fit:cover;object-fit:cover;-o-object-position:middle;object-position:middle;top:0;width:100%;height:100%;z-index:2}.banner-bg:before{background-color:rgba(0,0,0,0.2);content:'';display:block;width:100%;position:absolute;z-index:3}.banner-bg-no-overlay{height:calc(100% - 100px);min-height:17.5rem;position:relative;overflow:hidden}.banner.interior .banner-bg-no-overlay{height:17.5rem}@media screen and (min-width: 40em){.banner.interior .banner-bg-no-overlay{height:25.5625rem}}.banner.interior.newsroom .banner-bg-no-overlay{height:11.25rem}@media screen and (min-width: 40em){.banner.interior.newsroom .banner-bg-no-overlay{height:19.3125rem}}.banner-bg-no-overlay img{position:absolute;-o-object-fit:cover;object-fit:cover;-o-object-position:middle;object-position:middle;top:0;width:100%;height:100%;z-index:2}.banner-bg-no-overlay:before{background-color:transparent;content:'';display:block;width:100%;height:100%;position:absolute;z-index:3}.cta-panel{text-align:center;position:relative;z-index:4;margin-top:-7.8125rem}@media screen and (min-width: 40em){.cta-panel{height:auto;margin-top:-3.75rem}}.banner .cta-panel{margin-top:0}.cta-panel .button.cta,.cta-panel .cta.gform_button{position:relative;z-index:13;margin-top:2.5rem;margin-bottom:0}@media screen and (min-width: 40em){.cta-panel .button.cta,.cta-panel .cta.gform_button{margin-top:-1.75rem}}.interior .cta-panel{z-index:10}.outer-find-panel,.outer-standard-panel{width:100%}.content .outer-find-panel,.content .outer-standard-panel{margin-top:5rem;margin-bottom:5rem}@media screen and (max-width: 39.9375em){.cta-panel .outer-find-panel,.cta-panel .outer-standard-panel{padding-right:0;padding-left:0;max-width:100%;margin:0 auto}}@media screen and (min-width: 40em){.cta-panel .outer-find-panel,.cta-panel .outer-standard-panel{-webkit-transform:translateY(-61%);transform:translateY(-61%)}}.find-panel,.standard-panel{background-color:#efefef;text-align:left;padding:1.875rem 1.25rem;width:100%}.cta-panel .find-panel,.cta-panel .standard-panel{background-color:rgba(0,0,0,0.2)}.find-panel .find-panel-heading,.standard-panel .find-panel-heading{display:inline-block;text-transform:uppercase;font-size:1.0625rem;letter-spacing:.05em;color:#58585b;margin-bottom:.5rem}.cta-panel .find-panel .find-panel-heading,.cta-panel .standard-panel .find-panel-heading{color:#fff}.find-panel .find,.standard-panel .find{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;width:100%}@media screen and (min-width: 40em){.find-panel .find,.standard-panel .find{-ms-flex-wrap:nowrap;flex-wrap:nowrap}}.find-panel .find input:not(.button):not(.gform_button),.find-panel .find select,.standard-panel .find input:not(.button):not(.gform_button),.standard-panel .find select{margin-bottom:0;border-color:#fff}.find-panel .col-1,.standard-panel .col-1{width:100%;margin-bottom:1rem}@media screen and (min-width: 40em){.find-panel .col-1,.standard-panel .col-1{width:43.085%;margin-bottom:0}}.find-panel .col-1 .postcode,.standard-panel .col-1 .postcode{float:left;width:calc(100% - 48px)}.find-panel .col-1 .btn-location,.standard-panel .col-1 .btn-location{display:inline-block;width:3rem;height:3rem;float:left;background-color:#fff;border-left:.0625rem solid #d8d8da}@media screen and (min-width: 40em){.find-panel .col-1 .btn-location,.standard-panel .col-1 .btn-location{border-right:.0625rem solid #d8d8da}}.find-panel .col-1 .btn-location:before,.standard-panel .col-1 .btn-location:before{content:"";font-family:regis;display:inline-block;width:3rem;height:3rem;color:#58585b;font-size:2rem;line-height:3rem;text-align:center}.find-panel .col-2,.standard-panel .col-2{width:100%;margin-bottom:1rem}@media screen and (min-width: 40em){.find-panel .col-2,.standard-panel .col-2{width:32.579%;margin-bottom:0}}.find-panel .col-3,.standard-panel .col-3{width:100%}@media screen and (min-width: 40em){.find-panel .col-3,.standard-panel .col-3{width:24.335%;padding-left:1.25rem}}.find-panel .col-3 .button,.find-panel .col-3 .gform_button,.find-panel .col-3 .button.secondary,.find-panel .col-3 .secondary.gform_button,.standard-panel .col-3 .button,.standard-panel .col-3 .gform_button,.standard-panel .col-3 .button.secondary,.standard-panel .col-3 .secondary.gform_button{width:100%;margin-bottom:0}.standard-panel{padding:1.25rem 1.25rem}.standard-panel .standard-panel-heading,.standard-panel .standard-panel-heading-secondary{color:#fff;display:block;text-transform:uppercase;font-size:1rem;letter-spacing:0.025em}.standard-panel .standard-panel-heading-secondary{font-size:1.3125rem;font-weight:700;letter-spacing:0.025em}.standard-panel .standard-panel-link{color:#58585b;font-size:.8125rem;text-transform:uppercase;margin:1.25rem 0 0;letter-spacing:0.025em}.standard-panel .standard-panel-link a{color:inherit;text-decoration:underline}.standard-panel .button,.standard-panel .gform_button{margin:1.875rem 0 0 0}@media screen and (min-width: 40em){.standard-panel .button,.standard-panel .gform_button{margin:0 1.25rem 0 0;float:right}}.content{margin-top:1.25rem;margin-bottom:5rem}.home .content{text-align:center}.content figure{margin-bottom:3.25rem}.content .wysiwyg-panel{background-color:#efefef;padding:1.5rem 2.5rem;margin-bottom:1rem}.outer-accordion-regis,.txt-block,.acf-grid-block,.txt-block-readmore,.two-column-content{margin-top:1.375rem}.standard-content+.txt-block-readmore{margin-top:0}.super-footer-outer{background-color:#666669}.super-footer{margin-top:5rem;margin-bottom:2rem;position:relative}.super-footer .super-footer-heading{color:#fff;font-size:1.125rem;letter-spacing:0.025em;margin-bottom:.75rem;font-weight:700;text-transform:uppercase;display:block;font-size:1rem}.super-footer .super-footer-heading.social-heading{margin-top:2.875rem;margin-bottom:1.5rem}.super-footer ul{margin:0;margin-bottom:3.25rem}.super-footer ul li{color:#fff;list-style:none;margin-bottom:.375rem;font-size:.875rem;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.super-footer a:not(.button):not(.gform_button){color:#fff;border-bottom:none;-webkit-transition:color 300ms ease-in-out;transition:color 300ms ease-in-out;outline:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.super-footer a:not(.button):not(.gform_button):hover,.super-footer a:not(.button):not(.gform_button):focus{color:rgba(255,255,255,0.5);text-decoration:none;outline:none}.super-footer input[type='text'],.super-footer input[type='email'],.super-footer input[type='number'],.super-footer select{background-color:transparent;border-color:#fff;color:#fff}.super-footer .button,.super-footer .gform_button{width:100%}.super-footer .gform_wrapper .gfield.field_sublabel_below,.super-footer .gform_wrapper .gfield .ginput_full,.super-footer .gform_wrapper .gfield.gf_left_half,.super-footer .gform_wrapper .gfield.gf_right_half,.super-footer .gform_wrapper .gfield.gf_left_third,.super-footer .gform_wrapper .gfield.gf_middle_third,.super-footer .gform_wrapper .gfield.gf_right_third,.super-footer .gform_wrapper .gfield.gf_left_quarter,.super-footer .gform_wrapper .gfield.gf_middle_quarter,.super-footer .gform_wrapper .gfield.gf_right_quarter{margin-bottom:0}.super-footer .gform_confirmation_message{color:#fff}.super-footer .gform_wrapper .gfield_description.validation_message{color:#fff}.social-outer{margin-top:2.875rem;margin-bottom:2rem}@media screen and (min-width: 40em){.social-outer{margin-bottom:0}}ul.social{margin:0}ul.social li{display:inline-block;color:#fff;list-style:none;margin-bottom:1rem;margin-right:.5rem;width:32px;height:32px}ul.social li.icon-social a{display:inline-block;width:32px;height:32px}ul.social li.icon-social a span{text-indent:-10000em;display:inline-block}ul.social li.icon-social a:before{font-family:regis;font-size:32px;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-indent:0;width:32px;height:32px}ul.social li.icon-instagram a:before{content:""}ul.social li.icon-twitter a:before{content:""}ul.social li.icon-facebook a:before{content:""}ul.social li.icon-linkedin a:before{content:""}ul.social li.icon-youtube a:before{content:""}ul.social li.icon-email a:before{content:""}.footer-outer{background-color:#58585b}.footer-outer{padding-left:1.5625rem;padding-right:1.5625rem;padding-top:2.375rem}@media screen and (min-width: 40em){.footer-outer{padding-top:0}}.home .footer-outer{border-top:none}.footer{text-align:center;padding-top:1.5625rem;padding-bottom:1.5625rem;color:#fff}.footer a{color:#fff}.footer .footer-links ul{list-style:none;margin:0}.footer .footer-links ul li{font-size:.8125rem;margin-bottom:3rem;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform-style:preserve-3d;transform-style:preserve-3d}@media screen and (min-width: 40em){.footer .footer-links ul li{display:inline-block;margin-left:1.25rem;margin-right:1.25rem;margin-bottom:0}}.featured-panels{text-align:left;margin-bottom:5rem}@media screen and (max-width: 39.9375em){.featured-panels>.cell:first-child{margin-bottom:3.875rem}}.featured-panels .featured-content{text-align:left;margin-top:1rem}.featured-panels .featured-link{text-transform:uppercase;display:block;font-size:.875rem;-webkit-transition:color 350ms ease-in-out;transition:color 350ms ease-in-out;letter-spacing:0.05em}.featured-panels .featured-date{display:inline-block;font-size:.75rem;color:#7f7f7f;text-transform:uppercase;margin-bottom:1rem}.featured-panels .heading{font-size:1rem;font-weight:400;color:#58585b}.featured-panels h4{font-size:1.1875rem;margin-bottom:.375rem}.featured-panels p{line-height:1.4}.gallery .section-heading{text-align:center;font-size:1.5rem}.gallery .item{margin-bottom:1.25rem}.gallery .item .item-inner{outline:none;margin:0 0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-flow:column nowrap;flex-flow:column nowrap;height:100%;background-color:#efefef;position:relative}.gallery .item .item-inner:hover{text-decoration:none}.gallery .item .item-img-outer{display:block;overflow:hidden;-ms-flex-negative:0;flex-shrink:0;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.gallery .item .item-desc{display:block;padding:1.625rem .875rem;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.gallery .item .item-img{-webkit-transition:all 450ms ease-in-out;transition:all 450ms ease-in-out;border-top:1px solid transparent;margin-top:-1px;width:100%;max-width:100%;height:auto}.gallery .item .heading{display:inline-block;font-size:1rem;color:#58585b;font-weight:700;line-height:1.3;margin-bottom:0}.gallery .item:hover .item-inner:after{opacity:1.0}.gallery .item:hover .item-inner img.item-img{-webkit-transform:scale(1.06);transform:scale(1.06)}.residences{padding-bottom:4.375rem}.residences .section-heading{text-align:center;font-size:1.5rem}.residences .property-list{width:100%}.residences .item{margin-bottom:1.25rem}.residences .item .item-inner{outline:none;margin:0 0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-flow:column wrap;flex-flow:column wrap;height:100%;background-color:#efefef;position:relative}.residences .item .item-inner:hover{text-decoration:none}.residences .item .item-img-outer{display:block;overflow:hidden;-webkit-box-flex:0;-ms-flex:0 1 auto;flex:0 1 auto;width:100%}.residences .item .item-img-outer img{width:100%}.residences .item .item-desc{display:block;padding:2.5rem .875rem 1.875rem;-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto}.residences .item .item-img{-webkit-transition:all 450ms ease-in-out;transition:all 450ms ease-in-out;border-top:1px solid transparent;margin-top:-1px}.residences .item .heading{display:block;font-size:1.25rem;margin-bottom:1rem;color:#58585b;font-weight:700;line-height:1.3;margin-bottom:1.375rem}.residences .item .item-location{letter-spacing:0.085em;margin-bottom:1rem;font-weight:300;color:#58585b;font-size:.875rem;text-transform:uppercase;display:inline-block}.residences .item:hover .item-inner:after{opacity:1.0}.residences .item:hover .item-inner img.item-img{-webkit-transform:scale(1.06);transform:scale(1.06)}.residences.type .item-inner,.residences.featured .item-inner{background-color:#58585b}.residences.type .item .heading,.residences.type .item .item-location,.residences.featured .item .heading,.residences.featured .item .item-location{color:#fff}.residences.type .property-list{color:#fff;font-size:1rem;text-transform:uppercase;text-align:left;list-style:none}.residences.type .property-list li{list-style:none;padding:0 .625rem}.residences.type .property-list li strong{font-weight:700}.centered-content{text-align:center}.residence-detail-panel{margin-bottom:1.25rem}.residence-detail-panel .slick-slide img{display:inline-block}.residence-detail-panel .residence-map-outer{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;background-color:#58585b}@media screen and (min-width: 40em){.residence-detail-panel .residence-map-outer{height:calc(100% - 32px)}}.residence-detail-panel .residence-map{-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;height:69.375%}.residence-detail-panel .residence-map-details{background-color:#58585b;padding:.625rem 1.25rem;-webkit-box-flex:0.5;-ms-flex:0.5;flex:0.5}.residence-detail-panel .residence-map-details .residence-name{color:#fff;font-size:1rem;text-transform:uppercase;font-weight:700}.residence-detail-panel .residence-map-details address{color:#fff;font-style:normal;font-size:.8125rem}@media screen and (min-width: 64em){.residence-detail-panel .residence-map-details address{font-size:1rem}}.residence-detail-panel-cta{width:100%;margin-top:2.5rem;margin-bottom:2.5rem}.hamburger{padding:.375rem;display:inline-block;cursor:pointer;-webkit-transition-property:opacity, -webkit-filter;transition-property:opacity, -webkit-filter;transition-property:opacity, filter;transition-property:opacity, filter, -webkit-filter;-webkit-transition-duration:0.15s;transition-duration:0.15s;-webkit-transition-timing-function:linear;transition-timing-function:linear;font:inherit;color:inherit;text-transform:none;background-color:transparent;border:0;margin:0 .875rem 0 0;overflow:visible}@media screen and (min-width: 40em){.hamburger{margin:.375rem .75rem 0 0}}.hamburger-label{display:inline-block;margin-left:.625rem;margin-top:.125rem;vertical-align:top;text-transform:uppercase;color:#fff;font-size:.8125rem;-webkit-transition:opacity 400ms ease;transition:opacity 400ms ease;display:none}@media screen and (min-width: 40em){.hamburger-label{display:inline-block}}.active .hamburger-label{opacity:0}.fixed .hamburger-label{color:#58585b}@media screen and (min-width: 40em){.nav-open .fixed .hamburger-label{color:#fff}}.hamburger-box{width:2.125rem;height:1.375rem;display:inline-block;position:relative}.hamburger-inner{display:block;top:50%;margin-top:-.125rem}.hamburger-inner,.hamburger-inner:before,.hamburger-inner:after{width:2.125rem;height:.25rem;background-color:#58585b;border-radius:0;position:absolute;-webkit-transition-property:-webkit-transform;transition-property:-webkit-transform;transition-property:transform;transition-property:transform, -webkit-transform;-webkit-transition-duration:0.15s;transition-duration:0.15s;-webkit-transition-timing-function:ease;transition-timing-function:ease}@media screen and (min-width: 40em){.hamburger-inner,.hamburger-inner:before,.hamburger-inner:after{background-color:#fff}}.fixed .hamburger-inner,.fixed .hamburger-inner:before,.fixed .hamburger-inner:after{background-color:#58585b}@media screen and (min-width: 40em){.nav-open .fixed .hamburger-inner,.nav-open .fixed .hamburger-inner:before,.nav-open .fixed .hamburger-inner:after{background-color:#fff}}.hamburger-inner:before,.hamburger-inner:after{content:"";display:block}.hamburger-inner:before{top:-.5625rem}.hamburger-inner:after{bottom:-.5625rem}.hamburger-spin .hamburger-inner{-webkit-transition-duration:0.22s;transition-duration:0.22s;-webkit-transition-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19);transition-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19)}.hamburger-spin .hamburger-inner:before{-webkit-transition:top 0.1s 0.25s ease-in, opacity 0.1s ease-in;transition:top 0.1s 0.25s ease-in, opacity 0.1s ease-in}.hamburger-spin .hamburger-inner:after{-webkit-transition:bottom 0.1s 0.25s ease-in,-webkit-transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19);transition:bottom 0.1s 0.25s ease-in,-webkit-transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19);transition:bottom 0.1s 0.25s ease-in,transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19);transition:bottom 0.1s 0.25s ease-in,transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19),-webkit-transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19)}.hamburger-spin.active .hamburger-inner{-webkit-transform:rotate(225deg);transform:rotate(225deg);-webkit-transition-delay:0.12s;transition-delay:0.12s;-webkit-transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1);transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1)}.hamburger-spin.active .hamburger-inner:before{top:0;opacity:0;-webkit-transition:top 0.1s ease-out, opacity 0.1s 0.12s ease-out;transition:top 0.1s ease-out, opacity 0.1s 0.12s ease-out}.hamburger-spin.active .hamburger-inner:after{bottom:0;-webkit-transform:rotate(-90deg);transform:rotate(-90deg);-webkit-transition:bottom 0.1s ease-out,-webkit-transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);transition:bottom 0.1s ease-out,-webkit-transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);transition:bottom 0.1s ease-out,transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);transition:bottom 0.1s ease-out,transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1),-webkit-transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1)}.hamburger-squeeze .hamburger-inner{-webkit-transition-duration:0.075s;transition-duration:0.075s;-webkit-transition-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19);transition-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19)}.hamburger-squeeze .hamburger-inner:before{-webkit-transition:top 0.075s 0.12s ease, opacity 0.075s ease;transition:top 0.075s 0.12s ease, opacity 0.075s ease}.hamburger-squeeze .hamburger-inner:after{-webkit-transition:bottom 0.075s 0.12s ease,-webkit-transform 0.075s cubic-bezier(0.55, 0.055, 0.675, 0.19);transition:bottom 0.075s 0.12s ease,-webkit-transform 0.075s cubic-bezier(0.55, 0.055, 0.675, 0.19);transition:bottom 0.075s 0.12s ease,transform 0.075s cubic-bezier(0.55, 0.055, 0.675, 0.19);transition:bottom 0.075s 0.12s ease,transform 0.075s cubic-bezier(0.55, 0.055, 0.675, 0.19),-webkit-transform 0.075s cubic-bezier(0.55, 0.055, 0.675, 0.19)}.hamburger-squeeze.active .hamburger-inner{-webkit-transform:rotate(45deg);transform:rotate(45deg);-webkit-transition-delay:0.12s;transition-delay:0.12s;-webkit-transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1);transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1)}.hamburger-squeeze.active .hamburger-inner:before{top:0;opacity:0;-webkit-transition:top 0.075s ease, opacity 0.075s 0.12s ease;transition:top 0.075s ease, opacity 0.075s 0.12s ease}.hamburger-squeeze.active .hamburger-inner:after{bottom:0;-webkit-transform:rotate(-90deg);transform:rotate(-90deg);-webkit-transition:bottom 0.075s ease,-webkit-transform 0.075s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);transition:bottom 0.075s ease,-webkit-transform 0.075s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);transition:bottom 0.075s ease,transform 0.075s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);transition:bottom 0.075s ease,transform 0.075s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1),-webkit-transform 0.075s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1)}.nav-overlay{background-color:#58585b;position:relative;width:100%;z-index:100;display:none}@media screen and (min-width: 40em){.nav-overlay{background-color:#58585b;position:fixed;height:100vh;padding:0}}.nav-overlay.open{display:block;-webkit-animation:nav-overlay-show 1000ms ease;animation:nav-overlay-show 1000ms ease}.nav-overlay.close{-webkit-animation:nav-overlay-hide 500ms ease;animation:nav-overlay-hide 500ms ease}.nav-main{z-index:100;width:100%;height:auto}@media screen and (min-width: 40em){.nav-main{position:absolute;margin-top:120px;max-width:75rem;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}}.nav-main a{color:#fff}@media screen and (min-width: 40em){.nav-main a{margin-left:1.875rem;margin-right:3.75rem;display:inline-block}}@media screen and (max-width: 39.9375em){.nav-main li.is-accordion-submenu-parent>a:after{content:"";font-family:regis;font-size:.875rem;font-weight:normal;position:absolute;right:1.25rem;top:auto}.nav-main li.is-accordion-submenu-parent[aria-expanded='true']>a:after{content:""}.nav-main li.is-accordion-submenu-parent[aria-expanded='true']+li{border-top:none}.nav-main li{border-top:.0625rem solid #717175}.nav-main li:first-child{border-top:none}.nav-main li ul li{border-top:none}.nav-main a{position:relative;padding:1.125rem 1.25rem;display:inline-block;width:100%}}.nav-main ul{margin-left:0;margin-bottom:0}@media screen and (min-width: 40em){.nav-main ul{position:absolute;left:0;top:0;width:33.333%;margin-left:0}}.nav-main ul ul{left:100%;top:0;display:none;width:100%;background-color:#323234}@media screen and (min-width: 40em){.nav-main ul ul{background-color:transparent}.nav-main ul ul:before{content:'';width:.0625rem;height:100%;background-color:rgba(255,255,255,0.3);display:inline-block;position:absolute;left:0}}.nav-main ul ul.open{display:block}.nav-main ul ul ul{background-color:#262627}@media screen and (min-width: 40em){.nav-main ul ul ul{background-color:transparent}}.nav-main ul li{font-size:.875rem;text-transform:uppercase;letter-spacing:0.05em;font-weight:700;line-height:1.4;margin-bottom:0;list-style:none}@media screen and (min-width: 40em){.nav-main ul li{font-size:1.3125rem;margin-bottom:5vh}.nav-main ul li:first-child{margin-top:5vh}.nav-main ul li a{border-bottom:.1875rem solid transparent}.nav-main ul li a.active{border-bottom:.1875rem solid #f05861}}.nav-main ul li li{font-size:.8125rem;font-weight:300;margin-bottom:0}@media screen and (min-width: 40em){.nav-main ul li li{font-size:1.0625rem;margin-bottom:5.6vh}.nav-main ul li li a{margin-left:3.75rem;margin-right:3.75rem}.nav-main ul li li.menu-item-has-children{background:url("../../assets/img/arrow-right-small-white.png") rgba(0,0,0,0) 90% 50% no-repeat;background:none,url("../../assets/img/arrow-right-small-white.svg") rgba(0,0,0,0) 90% 50% no-repeat;background-size:18px 18px}}.nav-main ul li li a{border-bottom:.125rem solid transparent}.nav-main ul li li a.active{border-bottom:.125rem solid #fff}.inline-nav-outer,.tabs-outer{width:100%;text-align:center;margin:1.25rem 0 2.625rem}.tabs{margin:0 auto;position:relative;display:inline-block}.tabs li{font-size:.875rem;text-transform:uppercase;letter-spacing:0.05em;list-style:none;padding:.625rem 1.25rem;float:left}.tabs li a{color:#58585b;outline:none;display:inline-block}.tabs li:nth-of-type(2).is-active ~ hr{left:calc(50% + 18px)}.tabs li:nth-of-type(1):hover ~ hr{background:#f05861;left:1.125rem}.tabs li:nth-of-type(2):hover ~ hr{background:#f05861;left:calc(50% + 18px)}.tabs hr{height:.1875rem;width:calc(51% - 80px);padding:0 1.25rem;margin:0 auto;background:#f05861;border:none;-webkit-transition:.3s ease-in-out;transition:.3s ease-in-out;position:absolute;bottom:.375rem;left:1.125rem}.tabs-content .tabs-panel{display:none}.tabs-content .tabs-panel.is-active{display:block}.inline-content-nav{text-align:center}.inline-nav2{margin:0 auto;position:relative;display:inline-block;text-align:center}.inline-nav2 li{font-size:.875rem;text-transform:uppercase;letter-spacing:0.05em;list-style:none;padding:.625rem 1.25rem;float:left}.inline-nav2 li a{color:#58585b;outline:none;display:inline-block}.inline-nav2 li:nth-of-type(1).is-active ~ hr{left:1.125rem;width:calc(31.333% - 80px)}.inline-nav2 li:nth-of-type(2).is-active ~ hr{left:calc(33.333% + 4px);width:calc(40.333% - 80px)}.inline-nav2 li:nth-of-type(3).is-active ~ hr{left:calc(66.666% + 22px);width:calc(33.333% - 80px)}.inline-nav2 li:nth-of-type(1):hover ~ hr{background:#f05861;left:1.125rem;width:calc(31.333% - 80px)}.inline-nav2 li:nth-of-type(2):hover ~ hr{background:#f05861;left:calc(33.333% + 4px);width:calc(40.333% - 80px)}.inline-nav2 li:nth-of-type(3):hover ~ hr{background:#f05861;left:calc(66.666% + 22px);width:calc(33.333% - 80px)}.inline-nav2 hr{height:.1875rem;width:calc(33.333% - 80px);padding:0 1.25rem;margin:0 auto;background:#f05861;border:none;-webkit-transition:.3s ease-in-out;transition:.3s ease-in-out;position:absolute;bottom:.375rem;left:1.125rem}.jump-links-outer{width:100%;text-align:left;min-height:5.375rem;margin-top:-3.75rem;margin-bottom:2.5rem}.jump-links-fixed{position:relative;width:100%;z-index:90;background-color:#efefef;padding-top:1.375rem;padding-bottom:1.125rem}@media screen and (min-width: 40em){.jump-links-fixed.fixed{position:fixed;top:4.6875rem;-webkit-box-shadow:0 2px 4px 0 rgba(0,0,0,0.15);box-shadow:0 2px 4px 0 rgba(0,0,0,0.15)}}.inline-nav,.jump-links{margin:0 auto;position:relative;display:inline-block}.inline-nav li,.jump-links li{font-size:.8125rem;text-transform:uppercase;letter-spacing:0.05em;list-style:none;padding:.625rem 1.25rem}@media screen and (min-width: 40em){.inline-nav li,.jump-links li{padding:.625rem .9375rem;float:left}}@media screen and (min-width: 64em){.inline-nav li,.jump-links li{padding:.625rem 1.25rem}}.inline-nav li a,.jump-links li a{color:#58585b;outline:none;display:inline-block;position:relative}.inline-nav li a::after,.jump-links li a::after{content:'';width:0;height:.1875rem;display:inline-block;background:#f05861;position:absolute;left:0;bottom:-.25rem;-webkit-transition:width 350ms ease-in-out;transition:width 350ms ease-in-out}.inline-nav li a:hover::after,.jump-links li a:hover::after{width:100%}.inline-nav li a.is-active::after,.jump-links li a.is-active::after{width:100%}[data-magellan-target]{position:relative;top:-8.75rem}.interior-sub-menu{position:relative;margin-top:-1.5rem;z-index:12;background-color:#58585b}.interior-sub-menu .sub-menu-list{margin:0;padding:1.875rem 0;list-style:none;display:none}@media screen and (min-width: 64em){.interior-sub-menu .sub-menu-list{display:block;padding:2.5rem 0}}.interior-sub-menu .sub-menu-list li{display:block;font-size:.875rem;text-transform:uppercase;letter-spacing:0.025em;font-weight:700;margin:0 1rem 1.625rem;text-align:left}@media screen and (min-width: 64em){.interior-sub-menu .sub-menu-list li{display:inline-block;margin:.75rem 1.5rem}}.interior-sub-menu .sub-menu-list li a{display:inline-block;position:relative;color:#fff;-webkit-transition:color 200ms ease-in-out;transition:color 200ms ease-in-out}@media screen and (min-width: 64em){.interior-sub-menu .sub-menu-list li a{font-family:inherit}}.interior-sub-menu .sub-menu-list li a:after{content:'';display:block;width:100%;height:.1875rem;min-height:.0625rem;background-color:#f05861;position:absolute;left:0;bottom:-.25rem;-webkit-transform:scaleX(0);transform:scaleX(0);-webkit-transform-origin:left center;transform-origin:left center;-webkit-transition:all 500ms ease-in-out;transition:all 500ms ease-in-out;visibility:hidden}.interior-sub-menu .sub-menu-list li a:hover{color:#fff}.interior-sub-menu .sub-menu-list li a:hover:after{height:.1875rem;-webkit-transform:scaleX(1);transform:scaleX(1);visibility:visible}.interior-sub-menu .sub-menu-list li.current-menu-item a{color:#000}.interior-sub-menu .sub-menu-list li.current-menu-item a:after{content:'';display:block;width:100%;height:.0625rem;background-color:#000;position:absolute;bottom:-.25rem;left:0;opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}.interior-sub-menu.active .sub-menu-list{display:block}.interior-sub-menu .sub-menu-button{padding-top:2.625rem;padding-bottom:1.25rem;font-size:.8125rem;font-weight:700;text-transform:uppercase;letter-spacing:0.025em;color:#fff;cursor:pointer;vertical-align:middle}@media screen and (min-width: 64em){.interior-sub-menu .sub-menu-button{display:none}}.interior-sub-menu .sub-menu-button .touch-button{width:1rem;height:1rem;background-color:#f05861;-webkit-transition:-webkit-transform 250ms ease-out 0s;transition:-webkit-transform 250ms ease-out 0s;transition:transform 250ms ease-out 0s;transition:transform 250ms ease-out 0s, -webkit-transform 250ms ease-out 0s;-webkit-transform:rotate(0);transform:rotate(0);visibility:hidden;display:inline-block;vertical-align:middle;margin-top:-.3125rem;margin-left:.375rem}.interior-sub-menu .sub-menu-button .touch-button:before{content:"";font-family:regis;font-size:1rem;line-height:1rem;visibility:visible;display:inline-block;color:#fff}.interior-sub-menu .sub-menu-button.open .touch-button{-webkit-transition:-webkit-transform 250ms ease-out 0s;transition:-webkit-transform 250ms ease-out 0s;transition:transform 250ms ease-out 0s;transition:transform 250ms ease-out 0s, -webkit-transform 250ms ease-out 0s;-webkit-transform:rotate(-180deg);transform:rotate(-180deg)}.interior-sub-menu .sub-menu-button.open .touch-button:before{content:"";font-family:regis}.state-filter{border-top:.0625rem solid #58585b;width:100%;text-align:center;margin-top:1.5rem;margin-bottom:1.5rem}.state-filter .state-filter-heading{display:inline-block;background-color:#fff;text-transform:uppercase;letter-spacing:0.05em;position:relative;top:-.75rem;font-size:1rem;padding:0 1.5625rem}.state-filter .state-filter-inputs{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;width:100%}.state-filter .state-filter-inputs .item{margin:.625rem}.state-filter .state-filter-inputs label{color:#58585b;letter-spacing:0.025em;display:block;margin:0}input[type=checkbox]{display:none;-webkit-box-sizing:border-box;box-sizing:border-box;margin:0 0 1rem}input[type=checkbox]+label:before{margin-right:.875rem;margin-left:-2.125rem;margin-top:-.0625rem;content:"";font-family:regis;vertical-align:middle;width:1.25rem;height:1.25rem;text-indent:.1875rem;display:inline-block;background:transparent;color:#00bcde;font-size:.875rem;line-height:1.25rem;-webkit-transition:-webkit-box-shadow .2s;transition:-webkit-box-shadow .2s;transition:box-shadow .2s;transition:box-shadow .2s, -webkit-box-shadow .2s;-webkit-box-shadow:inset 0 0 0 0.5rem #efefef;box-shadow:inset 0 0 0 0.5rem #efefef;background-color:#efefef;border-radius:1.875rem}input[type=checkbox]:checked+label:before{content:""}input[type=checkbox]+label{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;margin-left:2.5rem;display:inline-block;margin-right:1rem;margin-bottom:0;vertical-align:baseline}.slick-parent{min-height:0;min-width:0}.slider-residence{visibility:hidden}.slider-residence.slick-initialized{visibility:visible}@media screen and (min-width: 40em){.slider-residence{margin-bottom:0}}.cta-call-us{width:100%;text-align:center;margin-top:5rem;margin-bottom:5rem}.cta-call-us p{text-transform:uppercase;font-size:1rem;font-weight:400;letter-spacing:0.05em;line-height:1.4;margin-bottom:0;position:relative;display:inline-block;width:100%}.cta-call-us p span{background-color:#fff;display:inline-block;z-index:2;position:relative;padding:0 1.875rem}@media screen and (max-width: 74.9375em){.cta-call-us p span{max-width:70%}}.cta-call-us p:after{content:'';width:100%;height:.0625rem;background-color:#58585b;display:inline-block;position:absolute;top:50%;left:0;z-index:1}.cta-call-us .section-heading{text-transform:uppercase;font-size:2.125rem;font-weight:700;letter-spacing:0.05em;line-height:1.2;color:#00bcde}.cta-call-us .section-heading a[href^=tel]{color:#00bcde}.cta-quote-outer{position:relative;overflow:hidden;background-color:#000;background-size:cover;background-position:center center;height:100%;min-height:37.0625rem;width:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.cta-quote-outer .cta-quote-pos{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;-ms-flex-negative:0;flex-shrink:0;-ms-flex-preferred-size:0;flex-basis:0}.cta-quote-outer::after{content:'';min-height:inherit;font-size:0}.cta-quote-outer::before{background-color:rgba(0,0,0,0.6);content:'';display:block;width:100%;height:100%;position:absolute;top:0;left:0;z-index:3}.cta-quote-inner{position:relative;padding-bottom:3.125rem}.cta-quote{position:relative;z-index:4}.cta-quote blockquote{font-size:28px;font-size:3vw;font-weight:700;text-transform:normal;border:none;color:#fff;position:relative;padding-left:2.5rem;padding-top:6%}@media (max-width: 600px){.cta-quote blockquote{font-size:18px}}@media (min-width: 933.33333px){.cta-quote blockquote{font-size:28px}}@media screen and (min-width: 40em){.cta-quote blockquote{padding-top:4%;padding-left:3.125rem}}@media screen and (min-width: 64em){.cta-quote blockquote{padding-left:3.75rem}}.cta-quote blockquote:before{content:open-quote;color:#fff;font-size:2.8em;line-height:1;position:absolute;left:0;top:0}.cta-quote .quote-details{position:absolute;left:2.5rem;bottom:0;text-transform:uppercase;color:#fff}@media screen and (min-width: 40em){.cta-quote .quote-details{right:0;left:auto}}.cta-quote .quote-details .quote-author{font-size:1.3125rem}.cta-quote .quote-details .quote-location{font-size:.8125rem}.cta-quote .btn-container{width:100%;margin-top:2.5rem}.cta-quote .btn-container::before,.cta-quote .btn-container::after{display:table;content:' ';-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.cta-quote .btn-container::after{clear:both}.back-to-top-outer{position:relative;height:3.125rem;overflow:hidden}.back-to-top{position:absolute;bottom:0;right:-3.125rem;width:3.125rem;height:3.125rem;display:inline-block;background-color:rgba(88,88,91,0.8);color:#fff;text-align:center;text-indent:-37.5rem;overflow:hidden;-webkit-transition:right 400ms cubic-bezier(0.47, 0, 0.745, 0.715),background-color 200ms ease-in-out;transition:right 400ms cubic-bezier(0.47, 0, 0.745, 0.715),background-color 200ms ease-in-out}.back-to-top:before{display:inline-block;font-family:regis;content:"";font-weight:normal;width:3.125rem;height:3.125rem;font-size:1.5rem;line-height:3.125rem;color:#fff;text-indent:0;float:left}[data-aos="back-to-top-change"].aos-animate .back-to-top{right:0}.two-column-content{padding-top:3.75rem;padding-bottom:3.75rem}.two-column-content.flex-content-bg{background-color:#efefef}@media screen and (max-width: 63.9375em){.two-column-content .txt-area{margin-bottom:1rem}}@media screen and (min-width: 64em){.two-column-content .txt-area[class*="order-2"]{padding-left:1.875rem}}@media screen and (min-width: 64em){.two-column-content .txt-area[class*="order-1"]{padding-right:1.875rem}}@media screen and (min-width: 64em){.two-column-content .txt-area-full{padding-top:3.75rem}}@media screen and (max-width: 63.9375em){.two-column-content .img-area,.two-column-content .map-area{margin-bottom:1rem}}.two-column-content .img-area img{width:100%}.two-column-content.custom{padding-top:0}.two-column-content.custom .img-area{text-align:center}.two-column-content .residence-map{-ms-flex-negative:0;flex-shrink:0;height:auto}.two-column-content .residence-map-details{background-color:#58585b;padding:0 1.25rem;height:auto;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:2;-ms-flex-positive:2;flex-grow:2;min-height:5.375rem}@media screen and (min-width: 64em){.two-column-content .residence-map-details{min-height:auto}}@media screen and (min-width: 64em){.two-column-content .residence-map-details.txt-area-to-side{padding-top:4.5%;padding-bottom:4.5%}}.two-column-content .residence-name{color:#fff;text-transform:uppercase;font-weight:700;font-size:1rem}@media screen and (min-width: 64em){.two-column-content .residence-name{font-size:15px;font-size:1vw}}@media screen and (min-width: 64em) and (max-width: 1300px){.two-column-content .residence-name{font-size:13px}}@media screen and (min-width: 64em) and (min-width: 1500px){.two-column-content .residence-name{font-size:15px}}.two-column-content .residence-address{color:#fff;font-style:normal;font-size:1rem}@media screen and (min-width: 64em){.two-column-content .residence-address{font-size:15px;font-size:1vw}}@media screen and (min-width: 64em) and (max-width: 1300px){.two-column-content .residence-address{font-size:13px}}@media screen and (min-width: 64em) and (min-width: 1500px){.two-column-content .residence-address{font-size:15px}}.two-column-content .residence-map-outer{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;height:100%;max-height:20.0625rem;background-color:#58585b}.two-column-content.flex-content-bg+.featured-panels,.two-column-content.flex-content-bg+.txt-block,.two-column-content.flex-content-bg+.outer-accordion-regis{margin-top:5rem}.embed-container{position:relative;padding-bottom:56.25%;height:0;overflow:hidden;max-width:100%;height:auto}.embed-container iframe,.embed-container object,.embed-container embed{position:absolute;top:0;left:0;width:100%;height:100%}.readmore-content-continued{position:relative;display:none}.readmore-content-continued.open{display:block;-webkit-animation:nav-overlay-show 1000ms ease;animation:nav-overlay-show 1000ms ease}.readmore-content-continued.close{-webkit-animation:nav-overlay-hide 500ms ease;animation:nav-overlay-hide 500ms ease}.accordion-main-title{margin-bottom:1rem}.accordion-regis{list-style-type:none;margin-left:0;margin-bottom:3.25rem}.accordion-regis>li{margin-bottom:.25rem}.accordion-regis .accordion-title-regis{position:relative;padding:1.25rem 1.25rem 1rem 3.125rem;background-color:#efefef;display:block;color:#58585b;font-size:1rem;font-weight:700;line-height:1.2;text-transform:uppercase;text-decoration:none;border-bottom:none}@media print, screen and (min-width: 64em){.accordion-regis .accordion-title-regis{padding:1.875rem 1.875rem 1.875rem 5.3125rem}}.accordion-regis .accordion-title-regis:hover,.accordion-regis .accordion-title-regis:focus{border-bottom:none}.accordion-regis .accordion-title-regis strong{margin-right:1.25rem}.accordion-regis .accordion-title-regis:before{font-family:regis;content:"";position:absolute;left:.875rem;top:50%;margin-top:-.875rem;color:#67bbc8;font-size:1.5rem}@media print, screen and (min-width: 64em){.accordion-regis .accordion-title-regis:before{left:2rem}}.accordion-regis .accordion-title-regis .accordion-title-details{font-size:.8125rem;letter-spacing:0.02em;opacity:0.8;margin-top:.125rem;vertical-align:top;line-height:inherit;display:inline-block;font-weight:400;color:#003655}.accordion-regis .accordion-content-regis{display:none;padding:2rem 1rem}@media screen and (min-width: 40em){.accordion-regis .accordion-content-regis{padding:3.5rem}}.accordion-regis .is-active .accordion-title-regis:before{content:""}.accordion-faqs-regis{list-style-type:none;margin-left:0;margin-bottom:3.25rem}.accordion-faqs-regis>li:last-child:after{content:'';display:block;height:3px;background-color:#efefef}.accordion-faqs-regis>li:before{content:'';display:block;height:3px;background-color:#efefef}.accordion-faqs-regis>li.prev-acc-item:after{background-color:#fff}.accordion-faqs-regis .accordion-title-regis{position:relative;padding:2.5rem;background-color:#fff;display:block;color:#58585b;font-size:1rem;font-weight:700;line-height:1.2;text-transform:uppercase;text-decoration:none;padding-left:3.5rem;border-bottom:none}.accordion-faqs-regis .accordion-title-regis:hover,.accordion-faqs-regis .accordion-title-regis:focus{border-bottom:none}.accordion-faqs-regis .accordion-title-regis strong{margin-right:1.25rem}.accordion-faqs-regis .accordion-title-regis:before{font-family:Formata,Tahoma,Arial,Helvetica,sans-serif;content:'Q.';position:absolute;left:2rem;top:3.125rem;margin-top:-.625rem;color:#58585b}.accordion-faqs-regis .accordion-title-regis:after{font-family:regis;content:"";position:absolute;right:2rem;top:50%;margin-top:-.5625rem;color:#f05861}.accordion-faqs-regis .accordion-title-regis .accordion-title-details{font-size:.625rem;letter-spacing:0.02em;opacity:0.8;margin-top:.25rem;vertical-align:top;line-height:inherit;display:inline-block;font-weight:400}.accordion-faqs-regis .accordion-content-regis{display:none;padding:1rem 2.125rem}@media screen and (min-width: 40em){.accordion-faqs-regis .accordion-content-regis{padding:1rem 2.125rem}}.accordion-faqs-regis .accordion-content-regis .content-inner{position:relative;padding-left:1.5rem}.accordion-faqs-regis .accordion-content-regis .content-inner:before{font-family:Formata,Tahoma,Arial,Helvetica,sans-serif;content:'A.';position:absolute;left:0;top:.125rem;color:#58585b}.accordion-faqs-regis .is-active:before{background:#58585b}.accordion-faqs-regis .is-active .accordion-title-regis:after{content:""}.highlights{padding-top:2rem;padding-bottom:2rem}.highlights .items h3{font-size:1.5rem;margin-top:1.5rem;margin-bottom:1rem}.highlights .item{background-color:#efefef;margin-bottom:1rem}@media screen and (min-width: 40em){.highlights .item{margin-bottom:0}}.highlights .item .item-inner{padding:1rem 0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;height:100%}.highlights .item .item-inner h4{font-size:1.3125rem;padding:1rem 1rem 0 1rem;margin-top:1rem}@media screen and (min-width: 40em){.highlights .item .item-inner h4{font-size:21px;font-size:2vw}}@media screen and (min-width: 40em) and (max-width: 800px){.highlights .item .item-inner h4{font-size:16px}}@media screen and (min-width: 40em) and (min-width: 1050px){.highlights .item .item-inner h4{font-size:21px}}.highlights .item .item-inner a.view-more{margin-bottom:2rem;padding:1rem}.highlights .item .item-desc{display:block;padding:0 1rem 1rem;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.highlights .item .item-desc p{margin-bottom:1.5rem;font-size:.875rem;line-height:1.6}.highlights .item .item-img-outer{display:block;overflow:hidden;margin-bottom:2rem}.highlights .item .item-img-outer img{width:100%;height:auto}.highlights .item .item-img{-webkit-transition:all 450ms ease-in-out;transition:all 450ms ease-in-out;border-top:.0625rem solid transparent;margin-top:-.0625rem}.room-types{margin-bottom:1rem}@media screen and (min-width: 40em){.room-types{margin-bottom:4.375rem}}.room-types .room-features{list-style-type:none;margin-left:0}.room-types .room-features li{font-size:1rem;font-weight:700;text-transform:uppercase;display:inline-block;vertical-align:top;float:left}.room-types .room-features li:nth-last-child(2):first-child,.room-types .room-features li:nth-last-child(2):first-child ~ li{width:50%}.room-types .room-features li:nth-last-child(3):first-child,.room-types .room-features li:nth-last-child(3):first-child ~ li{width:33.33333%}.room-types .room-features li:nth-last-child(4):first-child,.room-types .room-features li:nth-last-child(4):first-child ~ li{width:25%}.room-types .room-features li:nth-last-child(5):first-child,.room-types .room-features li:nth-last-child(5):first-child ~ li{width:20%}.room-types .room-features li:nth-last-child(6):first-child,.room-types .room-features li:nth-last-child(6):first-child ~ li{width:16.66667%}.room-types .room-features li .room-features-icons{max-width:5rem;margin-bottom:1rem}.room-types h3{margin-bottom:3.5rem}.room-types .floor-plan{border:.0625rem solid #dbdbdb}@media screen and (max-width: 74.9375em){.room-types .floor-plan{margin-bottom:3rem}}.pac-container{border-radius:0;-webkit-box-shadow:none;box-shadow:none;border:none}.pac-item-query{color:#58585b;font-family:Formata,Tahoma,Arial,Helvetica,sans-serif}.pac-icon{background-image:url("../img/map-marker@2x.png") !important;background-size:100%;background-position:0 0 !important}.pac-item{padding:.5rem 1rem;border:none}.pac-item-selected,.pac-item-selected:hover{background-color:#efefef}.pac-container:after{content:none !important}.map-expanding-panel{text-align:center}.map-expanding-panel .validation_error{display:inline-block;margin:0 auto 3.75rem;max-width:73.75rem;-webkit-box-shadow:none;box-shadow:none;color:#f05861;padding:1.875rem 1.25rem;margin-bottom:2rem;position:relative;font-size:.8125rem;font-weight:700;text-transform:uppercase;vertical-align:text-top;background:#fde4e6;border:.0625rem solid #f05861;border-radius:.25rem;text-align:center}.map-expanding-panel #map{margin-bottom:3.75rem;height:100%}#map{height:100%}#map .cluster img{max-width:100% !important}#bodyContent p{line-height:1.4}#bodyContent p.address{font-size:0.7rem;margin-bottom:0.5rem}#bodyContent p.phone{font-size:0.7rem;margin-bottom:1rem;margin-top:0.5rem}.gm-style .gm-style-iw{text-align:center;width:255px !important;height:auto !important;left:0 !important;top:15px !important;overflow:hidden !important;background-color:#58585b}.gm-style .gm-style-iw h1{font-size:1.0625rem !important;margin-top:1.5rem;margin-bottom:.625rem;color:#fff}.gm-style .gm-style-iw .button,.gm-style .gm-style-iw .gform_button{width:100%;letter-spacing:0.02em;margin-bottom:.375rem}.gm-style .gm-style-iw #siteNotice{position:relative}.gm-style .gm-style-iw #siteNotice img{z-index:200}.gm-style .gm-style-iw .bodyContent{padding:0 16px 10px;color:#fff}.gm-style div div div div div div div div div{background-color:#58585b !important;padding:0;margin:0;padding:0;top:0;color:#fff !important;font-size:16px;-webkit-box-shadow:none;box-shadow:none}.gm-style .gm-style-iw-t::after{background:#58585b;display:none}.gm-style .gm-style-iw-d{overflow:hidden !important}form label{text-transform:uppercase;font-size:.8125rem;text-align:left;font-weight:700;letter-spacing:0.05em;color:#58585b;margin-bottom:.625rem}form label .gfield_required{color:#f05861}.gform_wrapper{margin-bottom:3rem}.gform_wrapper .gform_title{color:#58585b;font-weight:700;font-size:1.5rem;margin-bottom:1.375rem}.gform_wrapper .gform_heading{text-align:center;margin-bottom:2rem}.gform_wrapper .gform_heading .gform_description{font-size:1rem;font-weight:400}.gform_wrapper hr{width:100%;margin:0}.gform_wrapper .gform_page_footer{width:100%;border-top:.125rem solid #efefef;-webkit-box-sizing:content-box;box-sizing:content-box;display:inline-block;margin-top:2.5rem;padding-top:2.5rem}.gform_wrapper.gform_validation_error .gfield.field_sublabel_below,.gform_wrapper.gform_validation_error .gfield .ginput_full,.gform_wrapper.gform_validation_error .gfield.gf_left_half,.gform_wrapper.gform_validation_error .gfield.gf_right_half,.gform_wrapper.gform_validation_error .gfield.gf_left_third,.gform_wrapper.gform_validation_error .gfield.gf_middle_third,.gform_wrapper.gform_validation_error .gfield.gf_right_third,.gform_wrapper.gform_validation_error .gfield.gf_left_quarter,.gform_wrapper.gform_validation_error .gfield.gf_middle_quarter,.gform_wrapper.gform_validation_error .gfield.gf_right_quarter,.gform_wrapper.gform_validation_error .gfield.gf_left_twothird,.gform_wrapper.gform_validation_error .gfield.gf_right_twothird{margin-bottom:3rem}.gform_wrapper.book-a-tour-form_wrapper{margin-bottom:0}.gform_wrapper .hidden_label>label.gfield_label,.gform_wrapper label.hidden_sub_label,.gform_wrapper .hidden_label>.clear-multi>.ginput_container>i{display:none}.gform_wrapper .clear-multi{width:100%}.gform_wrapper .clear-multi .ginput_container_time{width:31%;float:left;margin-bottom:1.5rem;margin-right:0.5rem}.gform_wrapper ul.gform_fields{margin:0;padding:0}.gform_wrapper .gfield_radio{margin:0;padding:0}.gform_wrapper [type='checkbox']+label,.gform_wrapper [type='radio']+label{font-weight:300}.gform_wrapper .gfield_description{font-size:.8125rem}.gform_wrapper .field_description_below{font-size:.875rem}.gform_wrapper .field_description_above{font-size:.8125rem;clear:both}.gform_wrapper .field_description_above .validation_message{top:auto;bottom:.25rem}.gform_wrapper .ginput_counter{font-size:.8125rem}.gform_wrapper input[type="text"]+.ginput_counter,.gform_wrapper textarea+.ginput_counter,.gform_wrapper .ginput_container+.gfield_description{margin-top:.25rem}.gform_wrapper .gfield_checkbox{margin-top:.5rem;margin-bottom:1rem}.gform_wrapper li.gf_list_inline ul.gfield_checkbox li,.gform_wrapper li.gf_list_inline ul.gfield_radio li{width:auto !important;float:none !important;margin:0 .625rem .625rem 0;display:-moz-inline-stack;display:inline-block}.gform_wrapper li.gf_list_inline ul.gfield_checkbox li{margin-bottom:0}.gform_wrapper .gfield_visibility_hidden{display:none}.gform_wrapper .gform_previous_button{float:left}.gform_wrapper .gform_next_button{float:right}.gform_wrapper .gform_previous_button,.gform_wrapper .gform_next_button{padding-left:2rem;padding-right:2rem;min-width:13.75rem}.gform_wrapper .gf_progressbar_wrapper{margin-bottom:2.5rem}.gform_wrapper .gf_progressbar_wrapper .gf_progressbar_title{font-size:1rem}.gform_wrapper .gf_progressbar_wrapper .gf_progressbar{padding:0;background-color:#efefef}.gform_wrapper .gf_progressbar_wrapper .gf_progressbar .gf_progressbar_percentage{background:#00bcde;background:-webkit-gradient(linear, left top, right top, from(#00bcde), to(#79bc4c));background:linear-gradient(to right, #00bcde, #79bc4c);display:block;text-align:center;color:white;font-size:.6875rem;font-weight:700;padding:.125rem .25rem}.gform_wrapper .fileupload .ginput_container_fileupload{margin-bottom:2.1875rem;position:relative}.gform_wrapper .fileupload input[type="file"]{width:0.1px;height:0.1px;opacity:0;overflow:hidden;position:absolute;z-index:-1}.gform_wrapper .fileupload input[type="file"]+label{font-size:1rem;color:white;background-color:#79bc4c;display:inline-block;cursor:pointer;padding:.875rem 2rem;border-radius:2.1875rem;margin-right:2rem;-webkit-transition:all 250ms ease-in-out;transition:all 250ms ease-in-out}.gform_wrapper .fileupload input[type="file"]:focus+label,.gform_wrapper .fileupload input[type="file"]+label:hover{background-color:#000}.gform_wrapper .gsection .gsection_title{font-size:1.875rem}.gform_wrapper .gsection .gsection_description{font-size:.8125rem;margin-bottom:.625rem}.gform_wrapper .gfield{list-style-type:none}.gform_wrapper .gfield .gfield_checkbox{margin-left:0;padding-left:0;list-style-type:none}.gform_wrapper .gfield .gfield_checkbox input[type="checkbox"]+label,.gform_wrapper .gfield .gfield_checkbox input[type="checkbox"]:checked+label{text-transform:none}.gform_wrapper .gfield.divider-line{width:100%;float:left;padding-right:.625rem;padding-left:.625rem;height:1px;margin:0 0 2.1875rem}@media print, screen and (min-width: 40em){.gform_wrapper .gfield.divider-line{padding-right:.625rem;padding-left:.625rem}}.gform_wrapper .gfield.divider-line:last-child:not(:first-child){float:right}.gform_wrapper .gfield.divider-line+.top-spacing{margin-top:0}.gform_wrapper .gfield.top-spacing{margin-top:3.75rem}.gform_wrapper .gfield .ginput_full{width:100%;float:left;margin-bottom:2.1875rem}.gform_wrapper .gfield.field_sublabel_below{width:100%;float:left}.gform_wrapper .gfield.field_sublabel_below.gform_hidden{margin-bottom:0}.gform_wrapper .gfield.field_sublabel_below,.gform_wrapper .gfield .ginput_full,.gform_wrapper .gfield.gf_left_half,.gform_wrapper .gfield.gf_right_half,.gform_wrapper .gfield.gf_left_third,.gform_wrapper .gfield.gf_middle_third,.gform_wrapper .gfield.gf_right_third,.gform_wrapper .gfield.gf_left_quarter,.gform_wrapper .gfield.gf_middle_quarter,.gform_wrapper .gfield.gf_right_quarter,.gform_wrapper .gfield.gf_left_twothird,.gform_wrapper .gfield.gf_right_twothird{margin-bottom:1.5rem}.gform_wrapper .gfield.field_sublabel_below{font-weight:300}@media screen and (min-width: 40em){.gform_wrapper .gfield.gf_left_half,.gform_wrapper .gfield.gf_right_half{display:block;width:50%;float:left;margin-bottom:1.5rem}.gform_wrapper .gfield.gf_left_half{padding-right:.9375rem}.gform_wrapper .gfield.gf_right_half{padding-left:.9375rem}.gform_wrapper .gfield.gf_left_third,.gform_wrapper .gfield.gf_middle_third,.gform_wrapper .gfield.gf_right_third{display:block;width:33.333%;float:left;margin-bottom:1.5rem}.gform_wrapper .gfield.gf_left_third{padding-right:.9375rem}.gform_wrapper .gfield.gf_right_third{padding-left:.9375rem}.gform_wrapper .gfield.gf_middle_third{padding-left:.9375rem;padding-right:.9375rem}.gform_wrapper .gfield.gf_left_twothird,.gform_wrapper .gfield.gf_right_twothird{display:block;width:66.666%;float:left;margin-bottom:1.5rem}.gform_wrapper .gfield.gf_left_twothird{padding-right:.9375rem}.gform_wrapper .gfield.gf_right_twothird{padding-left:.9375rem}.gform_wrapper .gfield.gf_left_quarter,.gform_wrapper .gfield.gf_middle_quarter,.gform_wrapper .gfield.gf_right_quarter{display:block;width:25%;float:left;margin-bottom:1.5rem}.gform_wrapper .gfield.gf_left_quarter{padding-right:.9375rem}.gform_wrapper .gfield.gf_right_quarter{padding-left:.9375rem}.gform_wrapper .gfield.gf_middle_quarter{padding-left:.9375rem;padding-right:.9375rem}}.gform_wrapper .gfield .ginput_complex input[type="text"]+label,.gform_wrapper .gfield .ginput_complex select+label{margin-top:.5rem;font-size:.75rem}.gform_wrapper .gfield .ginput_complex span:nth-last-of-type(-n+2){margin-bottom:0}@media screen and (min-width: 40em){.gform_wrapper .gfield .ginput_complex .ginput_left,.gform_wrapper .gfield .ginput_complex .ginput_right,.gform_wrapper .gfield .ginput_complex .name_first,.gform_wrapper .gfield .ginput_complex .name_last,.gform_wrapper .gfield .ginput_complex .address_line_1,.gform_wrapper .gfield .ginput_complex .address_line_2{display:block;width:50%;float:left;margin-bottom:1.5rem}.gform_wrapper .gfield .ginput_complex .ginput_left,.gform_wrapper .gfield .ginput_complex .name_first,.gform_wrapper .gfield .ginput_complex .address_line_1{padding-right:.9375rem}.gform_wrapper .gfield .ginput_complex .ginput_right,.gform_wrapper .gfield .ginput_complex .name_last,.gform_wrapper .gfield .ginput_complex .address_line_2{padding-left:.9375rem}}.gform_wrapper .validation_error,.gform_wrapper .gfield_creditcard_warning_message{margin-bottom:.875rem;-webkit-box-shadow:none;box-shadow:none;color:#f05861;padding:1.875rem 1.25rem;margin-bottom:2rem;position:relative;font-size:.8125rem;font-weight:700;text-transform:uppercase;vertical-align:text-top;background:#fde4e6;border:.0625rem solid #f05861;border-radius:.25rem;text-align:center}.gform_wrapper .validation_error:before,.gform_wrapper .gfield_creditcard_warning_message:before{content:"!";width:1.1875rem;height:1.1875rem;line-height:1.1875rem;position:relative;margin-right:.5rem;display:inline-block;color:#fff;border:.0625rem solid #f05861;border-radius:3.125rem;text-align:center;background-color:#f05861;font-size:.6875rem;text-indent:-.0625rem}.gform_wrapper .gfield_description.validation_message{color:#58585b;padding:0;margin-top:0;font-size:.6875rem}.gform_wrapper .gfield_description.validation_message a{color:#f05861}.gform_wrapper .gfield_error input[type="text"],.gform_wrapper .gfield_error input[type="email"],.gform_wrapper .gfield_error textarea,.gform_wrapper .gfield_error select{border-color:#f05861}@media screen and (min-width: 40em){.gform_wrapper .captcha_right label{float:right;width:304px}.gform_wrapper .captcha_right .ginput_recaptcha{float:right;clear:both;padding-right:.125rem}}.gform_footer{text-align:center;clear:both}.fancybox-bg{background:#000}.fancybox-is-open .fancybox-bg{opacity:0.8}.fancybox-thumbs{-webkit-box-sizing:border-box;box-sizing:border-box;background:rgba(255,255,255,0.05)}@media screen and (min-width: 40em){.fancybox-thumbs{top:auto;width:auto;bottom:0;left:0;right:0;padding:.625rem .625rem .3125rem .625rem;height:8.75rem;overflow:scroll;background:#000}.fancybox-thumbs>ul{margin:0 auto}}.fancybox-thumbs>ul>li:before{border-color:#f05861}@media screen and (min-width: 40em){.fancybox-thumbs>ul>li{width:9.875rem;height:6.5625rem}.fancybox-infobar{color:#fff;font-size:.8125rem}.fancybox-show-thumbs .fancybox-inner{right:0;bottom:8.75rem}}.fancybox-button{background:none}.fancybox-button--arrow_left,.fancybox-button--arrow_right{content:'';font-family:regis;color:#ccc;font-size:2rem;line-height:2.5rem}.fancybox-button--arrow_left svg,.fancybox-button--arrow_right svg{display:none}.fancybox-navigation .fancybox-button--arrow_left:before{content:""}.fancybox-navigation .fancybox-button--arrow_right:before{content:""}.news-listing-pagination .news-pagination .featured-link{display:inline-block}.news-listing-pagination .news-pagination .next{float:right}#blog{position:relative}#blog.newsroom{margin:0px}#blog .single img{width:100%}@media screen and (max-width: 63.9375em){#blog iframe{width:100%}}#blog .blog-featured{position:relative}#blog .blog-featured .blog-featured__overlay{position:absolute;bottom:0;background:rgba(0,0,0,0.5);color:#ffffff;left:0;right:0;border-left:2rem solid green;padding:2rem}#blog .blog-featured .blog-featured__overlay a,#blog .blog-featured .blog-featured__overlay a:hover{color:#ffffff}#blog .blog-featured .blog-featured__overlay h3{color:#ffffff;margin:0}#blog .blog-featured img{width:100%}#blog .blog-featured a{width:100%}@media screen and (min-width: 40em){#blog .blog-featured.newsroom{margin-top:1.875rem}}#blog .blog-highlights-container{background-color:#efefef;padding:2rem 0 0 0}#blog .blog-highlight .blog-highlight__image{margin-bottom:2rem}#blog .blog-highlight .blog-highlight__image h4{color:#ffffff;margin:0}#blog .blog-highlight .blog-highlight__overlay{background:blue;padding:0.5rem}#blog .blog-posts-container{padding:2rem 0}#blog .blog-nav{position:relative;z-index:11;height:100%}#blog .blog-nav h3{font-size:1rem;color:#58585b;font-weight:700}#blog .blog-nav nav ul{margin-left:0}#blog .blog-nav nav li{padding-left:0;margin-bottom:1.5rem;color:#58585b;text-transform:uppercase;font-size:.8125rem;letter-spacing:0.05em}#blog .blog-nav nav li:before{display:none}#blog .blog-nav nav a{color:#58585b;padding-bottom:.1875rem;-webkit-transition:color 300ms ease-in-out;transition:color 300ms ease-in-out}#blog .blog-nav nav a:hover{color:#98989b}#blog .post-date{display:inline-block;font-size:.8125rem;margin-bottom:1.25rem;text-transform:uppercase;letter-spacing:0.05em;padding-top:.3125rem}#blog .individual-post{margin-bottom:3rem}#blog .individual-post .post-image{margin-bottom:2rem}@media screen and (min-width: 40em){#blog .individual-post .post-image{margin-bottom:0}}#blog .individual-post h3{margin-bottom:.75rem;font-weight:700}#blog .individual-post h3 a{-webkit-transition:color 300ms ease-in-out;transition:color 300ms ease-in-out}#blog .individual-post h3 a:hover{color:#7e7e82}#blog .individual-post .link-more{font-size:.875rem;text-transform:uppercase;letter-spacing:0.05em}#blog .individual-post.blog-featured{margin-bottom:0}@media screen and (min-width: 40em){#blog .individual-post.blog-featured{margin-bottom:3rem}}#blog .post-page .img-fit{margin-bottom:2rem}#blog .post-page .blog-featured .img-fit{margin-bottom:0}#blog .post-controls{display:-webkit-box;display:-ms-flexbox;display:flex;width:100%;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding-top:.25rem;margin-bottom:1.75rem;padding-right:.125rem}#blog .post-share{display:block}#blog .post-share ul{list-style:none;margin:0;padding:0;display:-webkit-box;display:-ms-flexbox;display:flex}#blog .post-share ul li{padding-left:.6875rem}#blog .post-share ul li:first-child{padding-left:0}#blog .post-share ul li::before{display:none}#blog .post-share ul li.icon-social a{display:inline-block;width:1.875rem;height:1.875rem;color:#58585b}#blog .post-share ul li.icon-social a span{text-indent:-10000em;display:inline-block}#blog .post-share ul li.icon-social a::before{font-family:regis;font-size:1.875rem;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-indent:0;width:1.875rem;height:1.875rem}#blog .post-share ul li.icon-facebook a::before{content:""}#blog .post-share ul li.icon-facebook a:hover{color:#3b5998}#blog .post-share ul li.icon-twitter a::before{content:""}#blog .post-share ul li.icon-twitter a:hover{color:#00aced}#blog .post-share ul li.icon-linkedin a::before{content:""}#blog .post-share ul li.icon-linkedin a:hover{color:#0e76a8}.addthis_native_toolbox{margin-top:25px}.content .active-sidebar{color:#58585b;border-bottom:.1875rem solid #f05861}.content a.blog-titles{border-bottom:none}.content .blog-titles:hover,.content .blog-titles:focus,.content .blog-titles:active{color:#58585b;border-bottom:none;text-decoration:none}.slider-related-posts{width:100%;float:left}.slider-related-posts .item{width:100%}.slider-related-posts .item a.item-inner{margin:.875rem;display:inline-block;outline:none;border:none}.slider-related-posts .item a.item-inner h5{-webkit-transition:color 250ms ease-in-out;transition:color 250ms ease-in-out;font-size:.875rem}.slider-related-posts .item a.item-inner:hover{border:none}.slider-related-posts .item a.item-inner:hover h5{color:#b1b1b4}.slider-related-posts .item .item-img-outer{margin-bottom:1rem;display:inline-block}.slider-related-posts .item .item-img-outer img{width:100%;max-width:100%}.ie8 .slider-related-posts .item .item-img-outer img{max-width:14.3125rem}.slider-related-posts .slick-dots{position:relative;bottom:0}.slider-related-posts .slick-dots li button:before{color:#58585b;-webkit-transition:all 300ms ease-in-out;transition:all 300ms ease-in-out}.slider-related-posts .slick-dots li.slick-active button:before{color:#00bcde}.rwd-break{display:none}@media screen and (min-width: 72.5em){.rwd-break{display:inherit}}.ginput_recaptcha{margin-bottom:1rem}.button.processing,.processing.gform_button{padding:1.15em 10px;cursor:wait}.button.processing:before,.processing.gform_button:before{display:inline-block;content:' ';background-image:url("../img/white-loading.svg");background-size:13px 13px;height:13px;width:13px;margin-top:3px;margin-right:5px}.breadcrumb-locations{display:none}@media screen and (min-width: 40em) and (max-width: 63.9375em){body.parent-locations .header-right{margin-top:-60px}}@media print, screen and (min-width: 40em){body.parent-locations .breadcrumb-locations{display:block;position:absolute;top:60px;z-index:200;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}}@media print, screen and (min-width: 64em){body.parent-locations .breadcrumb-locations{top:50px}}@media print, screen and (min-width: 40em){body.parent-locations .banner-panel .breadcrumbs{visibility:hidden}}@media screen and (max-width: 39.9375em){body.parent-locations .heading-secondary{margin-top:20px}}body.parent-locations .cta-panel{margin-top:60px}.features-list{position:relative;min-height:30rem;margin:1.875rem 0}@media print, screen and (min-width: 64em){.features-list{margin:3.125rem 0}}@media print, screen and (min-width: 64em){.features-list__left{height:100%;padding:2.1875rem;border:1px solid #ccc;border-right:0}}@media screen and (max-width: 63.9375em){.features-list__right{display:none !important}}.features-list__title{border-bottom:.25rem solid #79bc4c;padding-bottom:1.25rem;margin-bottom:2.5rem;font-size:1.3125rem;font-weight:bold;text-transform:uppercase}.features-list__items{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.features-list__item{position:relative;width:100%;margin-bottom:1.5625rem;font-weight:bold;color:#67bbc8;-webkit-transition:all 0.2s;transition:all 0.2s}.features-list__item::before{content:'';position:absolute;top:.1875rem;left:0;width:.9375rem;height:.9375rem;border-top:3px solid #f05861;border-right:3px solid #f05861;-webkit-transform-origin:center;transform-origin:center;-webkit-transform:translateX(-40%) rotate(45deg);transform:translateX(-40%) rotate(45deg);-webkit-transition:all 0.2s;transition:all 0.2s}@media screen and (max-width: 63.9375em){.features-list__item{border-bottom:1px solid #ccc}.features-list__item a{display:block;padding:1.25rem 0;margin-top:-1.375rem}.features-list__item.-toggle{color:#58585b;border-bottom:none}.features-list__item.-toggle .features-list__detail-small{max-height:62.4375rem}.features-list__item.-toggle::before{-webkit-transform:rotate(135deg);transform:rotate(135deg);top:0}}@media print, screen and (min-width: 64em){.features-list__item{width:50%}.features-list__item::before{opacity:0}.features-list__item.-active{color:#58585b}.features-list__item.-active::before{opacity:1}}.features-list__item a{padding-left:1.5625rem;text-transform:uppercase;color:inherit}.features-list__detail-small{-webkit-transition:all 0.2s;transition:all 0.2s;margin:0 -.9375rem;overflow:hidden;max-height:0}@media print, screen and (min-width: 64em){.features-list__detail-small{display:none !important}}.features-list__detail-large{display:none}.features-list__detail-large.-active{display:block}.features-list__text{padding:1.5625rem;background:#57B9DB;font-size:1.125rem;color:#fff}.features-list__text p{margin:0}.features-list__image img{display:block;width:100%;height:auto}.content .room-costs p{font-size:1rem;font-weight:400;margin-bottom:.0625rem;padding-right:0;line-height:1.6}.content .room-costs p.room-costs-disclaimer{margin:-.3125rem 0 2.1875rem;font-size:.8125rem}.room-costs .room-costs-deposit,.room-costs .room-costs-amount{display:block;margin-top:.3125rem;font-size:2.125rem;font-weight:bold}.room-costs .or{position:relative;background-color:#58585b;color:#fff;text-transform:uppercase;font-weight:700;border-radius:3.75rem;width:3.5rem;height:3.5rem;line-height:3.5rem;display:inline-block;border:16px solid #fff;-webkit-box-sizing:content-box;box-sizing:content-box}.room-costs .button,.room-costs .gform_button{margin:0 0 -.625rem}@media screen and (max-width: 39.9375em){.room-costs .button,.room-costs .gform_button{width:100%;padding-left:0;padding-right:0}}.calculator{width:100%;padding:1.25rem;background:#fff}@media print, screen and (min-width: 64em){.calculator{width:50rem;padding:1.875rem 6.25rem}}.calculator .calculator-title h3{margin:0 0 .625rem;font-size:1.625rem;font-weight:bold;line-height:1.2}.calculator .rad{background-color:#58585b;padding:2rem 2rem 3rem;position:relative;color:#fff}@media screen and (min-width: 64em){.calculator .rad{padding:2rem;border-right:.375rem solid #fff}}.calculator .rad:after{font-family:regis;content:"";font-size:1.75rem;background-color:#fff;color:#58585b;position:absolute;right:50%;top:auto;bottom:-1.8125rem;margin-right:-1.9375rem;border-radius:3.75rem;width:3.5rem;height:3.5rem;line-height:3.5rem;text-align:center}@media screen and (min-width: 64em){.calculator .rad:after{right:-0px;top:0;bottom:auto;position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}}.calculator .rad p{color:inherit}.calculator .rad label{color:inherit;display:inline-block;position:absolute}.calculator .dap{background-color:#efefef;padding:3rem 2rem 2rem}@media screen and (min-width: 64em){.calculator .dap{padding:2rem}}.calculator .dap-amount{display:block;margin:1.25rem 0;font-size:2.625rem;font-weight:bold;line-height:1;letter-spacing:0em}.calculator .rad-info{margin:0 0 .9375rem;line-height:1.5}.calculator .dap-title,.calculator .rad-title{margin:0;font-size:1.125rem;font-weight:bold;text-transform:uppercase;line-height:1.4}.calculator .dap-subtitle{margin:0;font-size:1.125rem;line-height:1.4}@media screen and (max-width: 63.9375em){.calculator .dap-subtitle{margin-top:.625rem}}.calculator .rad-disclaimer{margin:2.5rem 0 0;font-size:.8125rem}.calculator .button,.calculator .gform_button{margin:.625rem 0 0}.calculator input.input-rad{display:block;width:100%;max-width:27.5rem;height:3.375rem;margin:.625rem 0;border:0;background:#efefef;-webkit-box-shadow:inset 0 1px 3px rgba(0,0,0,0.5);box-shadow:inset 0 1px 3px rgba(0,0,0,0.5);font-size:1.125rem;font-weight:normal;color:#58585b}.calculator input.input-rad::-webkit-input-placeholder{color:#58585b}.calculator input.input-rad:-ms-input-placeholder{color:#58585b}.calculator input.input-rad::-ms-input-placeholder{color:#58585b}.calculator input.input-rad::placeholder{color:#58585b}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fYnJlYWtwb2ludC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19yZXZlYWwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL192ZW5kb3Ivbm9ybWFsaXplLXNjc3Mvc2Fzcy9ub3JtYWxpemUvX25vcm1hbGl6ZS1taXhpbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvX3ZlbmRvci9ub3JtYWxpemUtc2Nzcy9zYXNzL25vcm1hbGl6ZS9fdmVydGljYWwtcmh5dGhtLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9fdmVuZG9yL25vcm1hbGl6ZS1zY3NzL3Nhc3Mvbm9ybWFsaXplL192YXJpYWJsZXMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvX2dsb2JhbC5zY3NzIiwiX3NldHRpbmdzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX3VuaXQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fbWl4aW5zLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2d1dHRlcnMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fZ3JpZC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NlbGwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fbGF5b3V0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NvbGxhcHNlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX3Bvc2l0aW9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2ZyYW1lLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2NsYXNzZXMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fcm93LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2d1dHRlci5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19zaXplLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2NvbHVtbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19wb3NpdGlvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19sYXlvdXQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZmxleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19mbGV4LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2Jhc2Uuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9faGVscGVycy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19hbGlnbm1lbnQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fcHJpbnQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX3RleHQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2NoZWNrYm94LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19sYWJlbC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9faGVscC10ZXh0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19pbnB1dC1ncm91cC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fZmllbGRzZXQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX3NlbGVjdC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fZXJyb3Iuc2NzcyIsImFwcC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19idXR0b24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYmFkZ2Uuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnJlYWRjcnVtYnMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnV0dG9uLWdyb3VwLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2NhbGxvdXQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fY2FyZC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19jbG9zZS1idXR0b24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbWVudS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19kcmlsbGRvd24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZHJvcGRvd24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZHJvcGRvd24tbWVudS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19yZXNwb25zaXZlLWVtYmVkLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX21hdGguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbGFiZWwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbWVkaWEtb2JqZWN0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX29mZi1jYW52YXMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fcGFnaW5hdGlvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19wcm9ncmVzcy1iYXIuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fc2xpZGVyLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3N0aWNreS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19zd2l0Y2guc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGFibGUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fY29sb3Iuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGh1bWJuYWlsLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RpdGxlLWJhci5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190b29sdGlwLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RvcC1iYXIuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdmlzaWJpbGl0eS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19mbG9hdC5zY3NzIiwiX2FuaW1hdGlvbnMuc2NzcyIsIl9mYW5jeWJveC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3NsaWNrLWNhcm91c2VsL3NsaWNrL3NsaWNrLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYW9zL3NyYy9zYXNzL19jb3JlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYW9zL3NyYy9zYXNzL19lYXNpbmcuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9hb3Mvc3JjL3Nhc3MvX2FuaW1hdGlvbnMuc2NzcyIsIl9zbGljay10aGVtZS1yZWdpcy5zY3NzIiwiX2ZvbnRzLnNjc3MiLCJfbWl4aW5zLnNjc3MiLCJtb2R1bGVzL19mZWF0dXJlcy1saXN0LnNjc3MiLCJtb2R1bGVzL19yb29tLWNvc3RzLnNjc3MiLCJtb2R1bGVzL19jYWxjdWxhdG9yLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBbUtNLDJDQ3ZISixpREFDRSxXQUNBLFVBQ0EsYUFBYyxDQUNmLENDSEQsaUVBQWlFLEtBYzdELHVCQVFFLGlCQUVGLDBCQUNBLDZCQUE4QixDQUMvQixLQVlDLFFBQVMsQ0FDVix3Q0FZQyxhQUFjLENBQ2YsR0N2RUgsY0R5Rk0sZUFBZ0IsQ0FFbkIsa0JBa0ZDLGFBQWMsQ0FDZixPQVdHLGVFdkxZLENGeUxmLEdBUUMsK0JBQUEsQUFDQSx1QkFBQSxTQUNBLGdCQUFpQixDQUNsQixLQU9DLGFBQWMsQ0FDZixJQW1CQyxpQ0FDQSxhQUFjLENBQ2YsRUFhQyw2QkFDQSxvQ0FBcUMsQ0FDdEMsaUJBU0MsZUFBZ0IsQ0FDakIsWUFhQyxtQkFDQSwwQkFDQSx5Q0FBQSxB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QURvRCxDRExsRCxpQkNNRixlQURvRCxDRExsRCxpQkNNRixlQURvRCxDRExsRCxpQkNNRixTQURvRCxDRExsRCxpQkNNRixlQURvRCxDRExsRCxpQkNNRixlQURvRCxDRExsRCxpQkNNRixTQURvRCxDRExsRCxrQkNNRixlQURvRCxDRExsRCxrQkNNRixlQURvRCxDRExsRCxrQkNNRixVQURvRCxDWjBFbEQsMkNXNUZBLHFCQ2hCRixtQkFBQSxBQTJCQSxpQkEzQkEsQUEyQkEsYUFBQSxVQUFtQixDRFJoQix1QkNoQkgsbUJBQUEsQUE0QkEsa0JBNUJBLEFBNEJBLGNBQUEsVUFBbUIsQ0RQaEIsa0JDV0gsY0FEb0QsQ0RMbEQsa0JDTUYsZUFEb0QsQ0RMbEQsa0JDTUYsU0FEb0QsQ0RMbEQsa0JDTUYsZUFEb0QsQ0RMbEQsa0JDTUYsZUFEb0QsQ0RMbEQsa0JDTUYsU0FEb0QsQ0RMbEQsa0JDTUYsZUFEb0QsQ0RMbEQsa0JDTUYsZUFEb0QsQ0RMbEQsa0JDTUYsU0FEb0QsQ0RMbEQsbUJDTUYsZUFEb0QsQ0RMbEQsbUJDTUYsZUFEb0QsQ0RMbEQsbUJDTUYsVUFEb0QsQ0RIakQsQ1g2RUQsMkNXNUZBLG9CQ2hCRixtQkFBQSxBQTJCQSxpQkEzQkEsQUEyQkEsYUFBQSxVQUFtQixDRFJoQixzQkNoQkgsbUJBQUEsQUE0QkEsa0JBNUJBLEFBNEJBLGNBQUEsVUFBbUIsQ0RQaEIsaUJDV0gsY0FEb0QsQ0RMbEQsaUJDTUYsZUFEb0QsQ0RMbEQsaUJDTUYsU0FEb0QsQ0RMbEQsaUJDTUYsZUFEb0QsQ0RMbEQsaUJDTUYsZUFEb0QsQ0RMbEQsaUJDTUYsU0FEb0QsQ0RMbEQsaUJDTUYsZUFEb0QsQ0RMbEQsaUJDTUYsZUFEb0QsQ0RMbEQsaUJDTUYsU0FEb0QsQ0RMbEQsa0JDTUYsZUFEb0QsQ0RMbEQsa0JDTUYsZUFEb0QsQ0RMbEQsa0JDTUYsVUFEb0QsQ0RIakQsQ0FLTCxrQ0FDRSxVQUFXLENBQ1osa0NBSUMsV0FBWSxDQUNiLGVGbEVLLHFCQUFBLHFCQUE2RCxDVG1JL0QsMkNXcENKLGVGL0ZNLHFCQUFBLHFCQUE2RCxDRThIbEUsQ0EvQkQscUJDaERFLDJCSHRDRSxvQkFBQSxvQkFBNkQsQ1QwSDdELDJDV3BDSixxQkNoREUsMkJIdENFLG9CQUFBLG9CQUE2RCxDRW1HMUQsQ0FyQ1AscUJDckJFLFVBQW1CLENEdUJwQix1QkNuQkMsVUFBbUIsQ0R1QnBCLHdCQ25CQyw4QkFEZ0gsQ0QwQmhILHdCQ3pCQSwrQkFEZ0gsQ0QwQmhILHdCQ3pCQSx5QkFEZ0gsQ0QwQmhILHdCQ3pCQSwrQkFEZ0gsQ0QwQmhILHdCQ3pCQSwrQkFEZ0gsQ0QwQmhILHdCQ3pCQSx5QkFEZ0gsQ0QwQmhILHdCQ3pCQSwrQkFEZ0gsQ0QwQmhILHdCQ3pCQSwrQkFEZ0gsQ0QwQmhILHdCQ3pCQSx5QkFEZ0gsQ0QwQmhILHlCQ3pCQSwrQkFEZ0gsQ0QwQmhILHlCQ3pCQSwrQkFEZ0gsQ0QwQmhILHlCQ3pCQSwwQkFEZ0gsQ1owRTlHLDJDVzVESixxQkNyQkUsVUFBbUIsQ0R1QnBCLHVCQ25CQyxVQUFtQixDRHVCcEIsd0JDbkJDLDhCQURnSCxDRDBCaEgsd0JDekJBLCtCQURnSCxDRDBCaEgsd0JDekJBLHlCQURnSCxDRDBCaEgsd0JDekJBLCtCQURnSCxDRDBCaEgsd0JDekJBLCtCQURnSCxDRDBCaEgsd0JDekJBLHlCQURnSCxDRDBCaEgsd0JDekJBLCtCQURnSCxDRDBCaEgsd0JDekJBLCtCQURnSCxDRDBCaEgsd0JDekJBLHlCQURnSCxDRDBCaEgseUJDekJBLCtCQURnSCxDRDBCaEgseUJDekJBLCtCQURnSCxDRDBCaEgseUJDekJBLDBCQURnSCxDRGNsSCw0QkNyQkUsVUFBbUIsQ0R1QnBCLDhCQ25CQyxVQUFtQixDRHVCcEIseUJDbkJDLDhCQURnSCxDRDBCaEgseUJDekJBLCtCQURnSCxDRDBCaEgseUJDekJBLHlCQURnSCxDRDBCaEgseUJDekJBLCtCQURnSCxDRDBCaEgseUJDekJBLCtCQURnSCxDRDBCaEgseUJDekJBLHlCQURnSCxDRDBCaEgseUJDekJBLCtCQURnSCxDRDBCaEgseUJDekJBLCtCQURnSCxDRDBCaEgseUJDekJBLHlCQURnSCxDRDBCaEgsMEJDekJBLCtCQURnSCxDRDBCaEgsMEJDekJBLCtCQURnSCxDRDBCaEgsMEJDekJBLDBCQURnSCxDRDRCL0csQ1g4Q0MsMkNXNURKLDJCQ3JCRSxVQUFtQixDRHVCcEIsNkJDbkJDLFVBQW1CLENEdUJwQix3QkNuQkMsOEJBRGdILENEMEJoSCx3QkN6QkEsK0JBRGdILENEMEJoSCx3QkN6QkEseUJBRGdILENEMEJoSCx3QkN6QkEsK0JBRGdILENEMEJoSCx3QkN6QkEsK0JBRGdILENEMEJoSCx3QkN6QkEseUJBRGdILENEMEJoSCx3QkN6QkEsK0JBRGdILENEMEJoSCx3QkN6QkEsK0JBRGdILENEMEJoSCx3QkN6QkEseUJBRGdILENEMEJoSCx5QkN6QkEsK0JBRGdILENEMEJoSCx5QkN6QkEsK0JBRGdILENEMEJoSCx5QkN6QkEsMEJBRGdILENENEIvRyxDQThDSCxnQ0ZuSU0sc0JBQUEsb0JBQTZELENUbUkvRCwyQ1dBSixnQ0ZuSU0sc0JBQUEsb0JBQTZELENFd0loRSxDQUlELDJDRjVJSSxzQkFBQSxvQkFBNkQsQ1RtSS9ELDJDV1NGLDJDRjVJSSxzQkFBQSxvQkFBNkQsQ0U4SWhFLENBWEgsc0JGbklNLHNCQUFBLG9CQUE2RCxDVG1JL0QsMkNXQUosc0JGbklNLHNCQUFBLG9CQUE2RCxDRW1KaEUsQ0V0Skgsa0JENkRFLFVBRG9ELENDNUR0RCxrQkQ2REUsU0FEb0QsQ0M1RHRELGtCRDZERSxlQURvRCxDQzVEdEQsa0JENkRFLFNBRG9ELENDNUR0RCxrQkQ2REUsU0FEb0QsQ0M1RHRELGtCRDZERSxlQURvRCxDQzVEdEQsa0JENkRFLGVBRG9ELENDNUR0RCxrQkQ2REUsV0FEb0QsQ1owRWxELDJDYXRJSixtQkQ2REUsVUFEb0QsQ0M1RHRELG1CRDZERSxTQURvRCxDQzVEdEQsbUJENkRFLGVBRG9ELENDNUR0RCxtQkQ2REUsU0FEb0QsQ0M1RHRELG1CRDZERSxTQURvRCxDQzVEdEQsbUJENkRFLGVBRG9ELENDNUR0RCxtQkQ2REUsZUFEb0QsQ0M1RHRELG1CRDZERSxXQURvRCxDQzFEckQsQ2JvSUcsMkNhdElKLGtCRDZERSxVQURvRCxDQzVEdEQsa0JENkRFLFNBRG9ELENDNUR0RCxrQkQ2REUsZUFEb0QsQ0M1RHRELGtCRDZERSxTQURvRCxDQzVEdEQsa0JENkRFLFNBRG9ELENDNUR0RCxrQkQ2REUsZUFEb0QsQ0M1RHRELGtCRDZERSxlQURvRCxDQzVEdEQsa0JENkRFLFdBRG9ELENDMURyRCxDQUZELGdDRDZERSwwQkFEZ0gsQ0M1RGxILGdDRDZERSx5QkFEZ0gsQ0M1RGxILGdDRDZERSwrQkFEZ0gsQ0M1RGxILGdDRDZERSx5QkFEZ0gsQ0M1RGxILGdDRDZERSx5QkFEZ0gsQ0M1RGxILGdDRDZERSwrQkFEZ0gsQ0M1RGxILGdDRDZERSwrQkFEZ0gsQ0M1RGxILGdDRDZERSwyQkFEZ0gsQ1owRTlHLDJDYXRJSixnQ0Q2REUsMEJBRGdILENDNURsSCxnQ0Q2REUseUJBRGdILENDNURsSCxnQ0Q2REUsK0JBRGdILENDNURsSCxnQ0Q2REUseUJBRGdILENDNURsSCxnQ0Q2REUseUJBRGdILENDNURsSCxnQ0Q2REUsK0JBRGdILENDNURsSCxnQ0Q2REUsK0JBRGdILENDNURsSCxnQ0Q2REUsMkJBRGdILENDNURsSCxpQ0Q2REUsMEJBRGdILENDNURsSCxpQ0Q2REUseUJBRGdILENDNURsSCxpQ0Q2REUsK0JBRGdILENDNURsSCxpQ0Q2REUseUJBRGdILENDNURsSCxpQ0Q2REUseUJBRGdILENDNURsSCxpQ0Q2REUsK0JBRGdILENDNURsSCxpQ0Q2REUsK0JBRGdILENDNURsSCxpQ0Q2REUsMkJBRGdILENDMURqSCxDYm9JRywyQ2F0SUosZ0NENkRFLDBCQURnSCxDQzVEbEgsZ0NENkRFLHlCQURnSCxDQzVEbEgsZ0NENkRFLCtCQURnSCxDQzVEbEgsZ0NENkRFLHlCQURnSCxDQzVEbEgsZ0NENkRFLHlCQURnSCxDQzVEbEgsZ0NENkRFLCtCQURnSCxDQzVEbEgsZ0NENkRFLCtCQURnSCxDQzVEbEgsZ0NENkRFLDJCQURnSCxDQzFEakgsQ0ZnTUcsdUJHdk1FLGVBQUEsYUFBMEIsQ0FHNUIsNkJBRUksZUFBQSxhQUEwQixDQUU3QixnQ0YyREgsY0FEb0QsQ0V0QzVDLGdDRnVDUixlQURvRCxDRXRDNUMsZ0NGdUNSLFNBRG9ELENFdEM1QyxnQ0Z1Q1IsZUFEb0QsQ0V0QzVDLGdDRnVDUixlQURvRCxDRXRDNUMsZ0NGdUNSLFNBRG9ELENFdEM1QyxnQ0Z1Q1IsZUFEb0QsQ0V0QzVDLGdDRnVDUixlQURvRCxDRXRDNUMsZ0NGdUNSLFNBRG9ELENFdEM1QyxpQ0Z1Q1IsZUFEb0QsQ0V0QzVDLGlDRnVDUixlQURvRCxDRXRDNUMsaUNGdUNSLFVBRG9ELENaMEVsRCwyQ2NoSE0saUNGdUNSLGNBRG9ELENFdEM1QyxpQ0Z1Q1IsZUFEb0QsQ0V0QzVDLGlDRnVDUixTQURvRCxDRXRDNUMsaUNGdUNSLGVBRG9ELENFdEM1QyxpQ0Z1Q1IsZUFEb0QsQ0V0QzVDLGlDRnVDUixTQURvRCxDRXRDNUMsaUNGdUNSLGVBRG9ELENFdEM1QyxpQ0Z1Q1IsZUFEb0QsQ0V0QzVDLGlDRnVDUixTQURvRCxDRXRDNUMsa0NGdUNSLGVBRG9ELENFdEM1QyxrQ0Z1Q1IsZUFEb0QsQ0V0QzVDLGtDRnVDUixVQURvRCxDRXBDM0MsQ2Q4R1AsMkNjaEhNLGdDRnVDUixjQURvRCxDRXRDNUMsZ0NGdUNSLGVBRG9ELENFdEM1QyxnQ0Z1Q1IsU0FEb0QsQ0V0QzVDLGdDRnVDUixlQURvRCxDRXRDNUMsZ0NGdUNSLGVBRG9ELENFdEM1QyxnQ0Z1Q1IsU0FEb0QsQ0V0QzVDLGdDRnVDUixlQURvRCxDRXRDNUMsZ0NGdUNSLGVBRG9ELENFdEM1QyxnQ0Z1Q1IsU0FEb0QsQ0V0QzVDLGlDRnVDUixlQURvRCxDRXRDNUMsaUNGdUNSLGVBRG9ELENFdEM1QyxpQ0Z1Q1IsVUFEb0QsQ0VwQzNDLENIZ0xQLHdCR3RLRSxlQUFBLGFBQTBCLENBRzVCLDhCQUVJLGdCQUFBLGNBQTRCLENkK0ZoQywyQ1c0REEsd0JHdk1FLGVBQUEsYUFBMEIsQ0FHNUIsOEJBRUksZUFBQSxhQUEwQixDQUU3QixDZG9JRCwyQ2N6SE0saUNGZ0RSLGNBRG9ELENFL0M1QyxpQ0ZnRFIsZUFEb0QsQ0UvQzVDLGlDRmdEUixTQURvRCxDRS9DNUMsaUNGZ0RSLGVBRG9ELENFL0M1QyxpQ0ZnRFIsZUFEb0QsQ0UvQzVDLGlDRmdEUixTQURvRCxDRS9DNUMsaUNGZ0RSLGVBRG9ELENFL0M1QyxpQ0ZnRFIsZUFEb0QsQ0UvQzVDLGlDRmdEUixTQURvRCxDRS9DNUMsa0NGZ0RSLGVBRG9ELENFL0M1QyxrQ0ZnRFIsZUFEb0QsQ0UvQzVDLGtDRmdEUixVQURvRCxDRTdDM0MsQ2R1SFAsMkNjaEhNLGtDRnVDUixjQURvRCxDRXRDNUMsa0NGdUNSLGVBRG9ELENFdEM1QyxrQ0Z1Q1IsU0FEb0QsQ0V0QzVDLGtDRnVDUixlQURvRCxDRXRDNUMsa0NGdUNSLGVBRG9ELENFdEM1QyxrQ0Z1Q1IsU0FEb0QsQ0V0QzVDLGtDRnVDUixlQURvRCxDRXRDNUMsa0NGdUNSLGVBRG9ELENFdEM1QyxrQ0Z1Q1IsU0FEb0QsQ0V0QzVDLG1DRnVDUixlQURvRCxDRXRDNUMsbUNGdUNSLGVBRG9ELENFdEM1QyxtQ0Z1Q1IsVUFEb0QsQ0VwQzNDLENkOEdQLDJDY2hITSxpQ0Z1Q1IsY0FEb0QsQ0V0QzVDLGlDRnVDUixlQURvRCxDRXRDNUMsaUNGdUNSLFNBRG9ELENFdEM1QyxpQ0Z1Q1IsZUFEb0QsQ0V0QzVDLGlDRnVDUixlQURvRCxDRXRDNUMsaUNGdUNSLFNBRG9ELENFdEM1QyxpQ0Z1Q1IsZUFEb0QsQ0V0QzVDLGlDRnVDUixlQURvRCxDRXRDNUMsaUNGdUNSLFNBRG9ELENFdEM1QyxrQ0Z1Q1IsZUFEb0QsQ0V0QzVDLGtDRnVDUixlQURvRCxDRXRDNUMsa0NGdUNSLFVBRG9ELENFcEMzQyxDZDhHUCwyQ1drRUEseUJHdEtFLGVBQUEsYUFBMEIsQ0FHNUIsK0JBRUksZ0JBQUEsY0FBNEIsQ0FFL0IsQ2Q2RkQsMkNXNERBLHVCR3ZNRSxlQUFBLGFBQTBCLENBRzVCLDZCQUVJLGVBQUEsYUFBMEIsQ0FFN0IsQ2RvSUQsMkNjekhNLGdDRmdEUixjQURvRCxDRS9DNUMsZ0NGZ0RSLGVBRG9ELENFL0M1QyxnQ0ZnRFIsU0FEb0QsQ0UvQzVDLGdDRmdEUixlQURvRCxDRS9DNUMsZ0NGZ0RSLGVBRG9ELENFL0M1QyxnQ0ZnRFIsU0FEb0QsQ0UvQzVDLGdDRmdEUixlQURvRCxDRS9DNUMsZ0NGZ0RSLGVBRG9ELENFL0M1QyxnQ0ZnRFIsU0FEb0QsQ0UvQzVDLGlDRmdEUixlQURvRCxDRS9DNUMsaUNGZ0RSLGVBRG9ELENFL0M1QyxpQ0ZnRFIsVUFEb0QsQ0U3QzNDLENkdUhQLDJDY3pITSxpQ0ZnRFIsY0FEb0QsQ0UvQzVDLGlDRmdEUixlQURvRCxDRS9DNUMsaUNGZ0RSLFNBRG9ELENFL0M1QyxpQ0ZnRFIsZUFEb0QsQ0UvQzVDLGlDRmdEUixlQURvRCxDRS9DNUMsaUNGZ0RSLFNBRG9ELENFL0M1QyxpQ0ZnRFIsZUFEb0QsQ0UvQzVDLGlDRmdEUixlQURvRCxDRS9DNUMsaUNGZ0RSLFNBRG9ELENFL0M1QyxrQ0ZnRFIsZUFEb0QsQ0UvQzVDLGtDRmdEUixlQURvRCxDRS9DNUMsa0NGZ0RSLFVBRG9ELENFN0MzQyxDZHVIUCwyQ2NoSE0sZ0NGdUNSLGNBRG9ELENFdEM1QyxnQ0Z1Q1IsZUFEb0QsQ0V0QzVDLGdDRnVDUixTQURvRCxDRXRDNUMsZ0NGdUNSLGVBRG9ELENFdEM1QyxnQ0Z1Q1IsZUFEb0QsQ0V0QzVDLGdDRnVDUixTQURvRCxDRXRDNUMsZ0NGdUNSLGVBRG9ELENFdEM1QyxnQ0Z1Q1IsZUFEb0QsQ0V0QzVDLGdDRnVDUixTQURvRCxDRXRDNUMsaUNGdUNSLGVBRG9ELENFdEM1QyxpQ0Z1Q1IsZUFEb0QsQ0V0QzVDLGlDRnVDUixVQURvRCxDRXBDM0MsQ2Q4R1AsMkNXa0VBLHdCR3RLRSxlQUFBLGFBQTBCLENBRzVCLDhCQUVJLGdCQUFBLGNBQTRCLENBRS9CLENINktELGdCSTFORixjQUE2QixDSjROMUIsK0JJNU5ILDhCQUE2QixDSjBOM0IsZ0JJMU5GLG9CQUE2QixDSjROMUIsK0JJNU5ILG9DQUE2QixDSjBOM0IsZ0JJMU5GLHFCQUE2QixDSjROMUIsK0JJNU5ILHFDQUE2QixDSjBOM0IsZ0JJMU5GLGVBQTZCLENKNE4xQiwrQkk1TkgsK0JBQTZCLENKME4zQixnQkkxTkYscUJBQTZCLENKNE4xQiwrQkk1TkgscUNBQTZCLENKME4zQixnQkkxTkYscUJBQTZCLENKNE4xQiwrQkk1TkgscUNBQTZCLENKME4zQixnQkkxTkYsZUFBNkIsQ0o0TjFCLCtCSTVOSCwrQkFBNkIsQ0owTjNCLGdCSTFORixxQkFBNkIsQ0o0TjFCLCtCSTVOSCxxQ0FBNkIsQ0owTjNCLGdCSTFORixxQkFBNkIsQ0o0TjFCLCtCSTVOSCxxQ0FBNkIsQ0owTjNCLGdCSTFORixlQUE2QixDSjROMUIsK0JJNU5ILCtCQUE2QixDSjBOM0IsaUJJMU5GLHFCQUE2QixDSjROMUIsZ0NJNU5ILHFDQUE2QixDSjBOM0IsaUJJMU5GLHFCQUE2QixDSjROMUIsZ0NJNU5ILHFDQUE2QixDZjBJM0IsMkNXZ0ZBLGlCSTFORixjQUE2QixDSjROMUIsZ0NJNU5ILDhCQUE2QixDSjBOM0IsaUJJMU5GLG9CQUE2QixDSjROMUIsZ0NJNU5ILG9DQUE2QixDSjBOM0IsaUJJMU5GLHFCQUE2QixDSjROMUIsZ0NJNU5ILHFDQUE2QixDSjBOM0IsaUJJMU5GLGVBQTZCLENKNE4xQixnQ0k1TkgsK0JBQTZCLENKME4zQixpQkkxTkYscUJBQTZCLENKNE4xQixnQ0k1TkgscUNBQTZCLENKME4zQixpQkkxTkYscUJBQTZCLENKNE4xQixnQ0k1TkgscUNBQTZCLENKME4zQixpQkkxTkYsZUFBNkIsQ0o0TjFCLGdDSTVOSCwrQkFBNkIsQ0owTjNCLGlCSTFORixxQkFBNkIsQ0o0TjFCLGdDSTVOSCxxQ0FBNkIsQ0owTjNCLGlCSTFORixxQkFBNkIsQ0o0TjFCLGdDSTVOSCxxQ0FBNkIsQ0owTjNCLGlCSTFORixlQUE2QixDSjROMUIsZ0NJNU5ILCtCQUE2QixDSjBOM0Isa0JJMU5GLHFCQUE2QixDSjROMUIsaUNJNU5ILHFDQUE2QixDSjBOM0Isa0JJMU5GLHFCQUE2QixDSjROMUIsaUNJNU5ILHFDQUE2QixDSmdPMUIsQ1h0RkQsMkNXZ0ZBLGdCSTFORixjQUE2QixDSjROMUIsK0JJNU5ILDhCQUE2QixDSjBOM0IsZ0JJMU5GLG9CQUE2QixDSjROMUIsK0JJNU5ILG9DQUE2QixDSjBOM0IsZ0JJMU5GLHFCQUE2QixDSjROMUIsK0JJNU5ILHFDQUE2QixDSjBOM0IsZ0JJMU5GLGVBQTZCLENKNE4xQiwrQkk1TkgsK0JBQTZCLENKME4zQixnQkkxTkYscUJBQTZCLENKNE4xQiwrQkk1TkgscUNBQTZCLENKME4zQixnQkkxTkYscUJBQTZCLENKNE4xQiwrQkk1TkgscUNBQTZCLENKME4zQixnQkkxTkYsZUFBNkIsQ0o0TjFCLCtCSTVOSCwrQkFBNkIsQ0owTjNCLGdCSTFORixxQkFBNkIsQ0o0TjFCLCtCSTVOSCxxQ0FBNkIsQ0owTjNCLGdCSTFORixxQkFBNkIsQ0o0TjFCLCtCSTVOSCxxQ0FBNkIsQ0owTjNCLGdCSTFORixlQUE2QixDSjROMUIsK0JJNU5ILCtCQUE2QixDSjBOM0IsaUJJMU5GLHFCQUE2QixDSjROMUIsZ0NJNU5ILHFDQUE2QixDSjBOM0IsaUJJMU5GLHFCQUE2QixDSjROMUIsZ0NJNU5ILHFDQUE2QixDSmdPMUIsQ0F6SlMsUURoRWQsb0JBQUEsQUFDQSxvQkFEQSxBQUNBLGFBQUEsNEJBQUEsQUFINkIsNkJBRzdCLEFBSDZCLDRCQUc3QixBQUg2Qix1QkFBQSxDQzJPN0IsY0NuTUEsV0FDQSxjQUEyQixDRGtNM0IsY0N2TEUsV0FBbUIsQ0R1THJCLGdCQ25MRSxXQUFtQixDRG1MckIseVBBMkJNLDZCQUFBLEFBQWdCLGVBQUEsQ1hqSWxCLDJDV3NHSix1UUEyQk0sNkJBQUEsQUFBZ0IsZUFBQSxDQUNqQixDWGxJRCwyQ1dzR0oseVBBMkJNLDZCQUFBLEFBQWdCLGVBQUEsQ0FDakIsQ0E1QkwsaUJDL0tFLGVBRG9ELENEZ0x0RCxpQkMvS0UsZ0JBRG9ELENEZ0x0RCxpQkMvS0UsVUFEb0QsQ0RnTHRELGlCQy9LRSxnQkFEb0QsQ0RnTHRELGlCQy9LRSxnQkFEb0QsQ0RnTHRELGlCQy9LRSxVQURvRCxDRGdMdEQsaUJDL0tFLGdCQURvRCxDRGdMdEQsaUJDL0tFLGdCQURvRCxDRGdMdEQsaUJDL0tFLFVBRG9ELENEZ0x0RCxrQkMvS0UsZ0JBRG9ELENEZ0x0RCxrQkMvS0UsZ0JBRG9ELENEZ0x0RCxrQkMvS0UsV0FEb0QsQ1owRWxELDJDV3NHSixxQkNsTkUsbUJBQUEsQUEyQkEsaUJBM0JBLEFBMkJBLGFBQUEsV0FBbUIsQ0R1THJCLHVCQ25MRSxXQUFtQixDRG1MckIsa0JDL0tFLGVBRG9ELENEZ0x0RCxrQkMvS0UsZ0JBRG9ELENEZ0x0RCxrQkMvS0UsVUFEb0QsQ0RnTHRELGtCQy9LRSxnQkFEb0QsQ0RnTHRELGtCQy9LRSxnQkFEb0QsQ0RnTHRELGtCQy9LRSxVQURvRCxDRGdMdEQsa0JDL0tFLGdCQURvRCxDRGdMdEQsa0JDL0tFLGdCQURvRCxDRGdMdEQsa0JDL0tFLFVBRG9ELENEZ0x0RCxtQkMvS0UsZ0JBRG9ELENEZ0x0RCxtQkMvS0UsZ0JBRG9ELENEZ0x0RCxtQkMvS0UsV0FEb0QsQ0RnTy9DLENYdEpILDJDV3NHSixvQkNsTkUsbUJBQUEsQUEyQkEsaUJBM0JBLEFBMkJBLGFBQUEsV0FBbUIsQ0R1THJCLHNCQ25MRSxXQUFtQixDRG1MckIsaUJDL0tFLGVBRG9ELENEZ0x0RCxpQkMvS0UsZ0JBRG9ELENEZ0x0RCxpQkMvS0UsVUFEb0QsQ0RnTHRELGlCQy9LRSxnQkFEb0QsQ0RnTHRELGlCQy9LRSxnQkFEb0QsQ0RnTHRELGlCQy9LRSxVQURvRCxDRGdMdEQsaUJDL0tFLGdCQURvRCxDRGdMdEQsaUJDL0tFLGdCQURvRCxDRGdMdEQsaUJDL0tFLFVBRG9ELENEZ0x0RCxrQkMvS0UsZ0JBRG9ELENEZ0x0RCxrQkMvS0UsZ0JBRG9ELENEZ0x0RCxrQkMvS0UsV0FEb0QsQ0RnTy9DLENBT0wsZ0NGaFNJLG9CQUFBLHNCQUE2RCxDVG1JL0QsMkNXNkpGLGdDRmhTSSxvQkFBQSxzQkFBNkQsQ0VvUzlELENBSkgsc0JGaFNJLG9CQUFBLHNCQUE2RCxDVG1JL0QsMkNXNkpGLHNCRmhTSSxvQkFBQSxzQkFBNkQsQ0V5UzlELENBMU1MLGVGL0ZNLG9CQUFBLHNCQUE2RCxDVG1JL0QsMkNXcENKLGVGL0ZNLG9CQUFBLHNCQUE2RCxDRThIbEUsQ0EvQkQscUJDaERFLDRCSHRDRSxtQkFBQSxxQkFBNkQsQ1QwSDdELDJDV3BDSixxQkNoREUsNEJIdENFLG1CQUFBLHFCQUE2RCxDRW1HMUQsQ0FyQ1AscUJDckJFLFdBQW1CLENEdUJwQix1QkNuQkMsV0FBbUIsQ0R1QnBCLHdCQ25CQywrQkFEZ0gsQ0QwQmhILHdCQ3pCQSxnQ0FEZ0gsQ0QwQmhILHdCQ3pCQSwwQkFEZ0gsQ0QwQmhILHdCQ3pCQSxnQ0FEZ0gsQ0QwQmhILHdCQ3pCQSxnQ0FEZ0gsQ0QwQmhILHdCQ3pCQSwwQkFEZ0gsQ0QwQmhILHdCQ3pCQSxnQ0FEZ0gsQ0QwQmhILHdCQ3pCQSxnQ0FEZ0gsQ0QwQmhILHdCQ3pCQSwwQkFEZ0gsQ0QwQmhILHlCQ3pCQSxnQ0FEZ0gsQ0QwQmhILHlCQ3pCQSxnQ0FEZ0gsQ0QwQmhILHlCQ3pCQSwyQkFEZ0gsQ1owRTlHLDJDVzVESixxQkNyQkUsV0FBbUIsQ0R1QnBCLHVCQ25CQyxXQUFtQixDRHVCcEIsd0JDbkJDLCtCQURnSCxDRDBCaEgsd0JDekJBLGdDQURnSCxDRDBCaEgsd0JDekJBLDBCQURnSCxDRDBCaEgsd0JDekJBLGdDQURnSCxDRDBCaEgsd0JDekJBLGdDQURnSCxDRDBCaEgsd0JDekJBLDBCQURnSCxDRDBCaEgsd0JDekJBLGdDQURnSCxDRDBCaEgsd0JDekJBLGdDQURnSCxDRDBCaEgsd0JDekJBLDBCQURnSCxDRDBCaEgseUJDekJBLGdDQURnSCxDRDBCaEgseUJDekJBLGdDQURnSCxDRDBCaEgseUJDekJBLDJCQURnSCxDRGNsSCw0QkNyQkUsV0FBbUIsQ0R1QnBCLDhCQ25CQyxXQUFtQixDRHVCcEIseUJDbkJDLCtCQURnSCxDRDBCaEgseUJDekJBLGdDQURnSCxDRDBCaEgseUJDekJBLDBCQURnSCxDRDBCaEgseUJDekJBLGdDQURnSCxDRDBCaEgseUJDekJBLGdDQURn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RSxDQS9CRCxxQkNoREUsNEJIdENFLG1CQUFBLHFCQUE2RCxDVDBIN0QsMkNXcENKLHFCQ2hERSw0Qkh0Q0UsbUJBQUEscUJBQTZELENFbUcxRCxDQXJDUCxxQkNyQkUsV0FBbUIsQ0R1QnBCLHVCQ25CQyxXQUFtQixDRHVCcEIsd0JDbkJDLCtCQURnSCxDRDBCaEgsd0JDekJBLGdDQURnSCxDRDBCaEgsd0JDekJBLDBCQURnSCxDRDBCaEgsd0JDekJBLGdDQURnSCxDRDBCaEgsd0JDekJBLGdDQURnSCxDRDBCaEgsd0JDekJBLDBCQURnSCxDRDBCaEgsd0JDekJBLGdDQURnSCxDRDBCaEgsd0JDekJBLGdDQURnSCxDRDBCaEgsd0JDekJBLDBCQURnSCxDRDBCaEgseUJDekJBLGdDQURnSCxDRDBCaEgseUJDekJBLGdDQURnSCxDRDBCaEgseUJDekJBLDJCQURnSCxDWjBFOUcsMkNXNURKLHFCQ3JCRSxXQUFtQixDRHVCcEIsdUJDbkJDLFdBQW1CLENEdUJwQix3QkNuQkMsK0JBRGdILENEMEJoSCx3QkN6QkEsZ0NBRGdILENEMEJoSCx3QkN6QkEsMEJBRGdILENEMEJoSCx3QkN6QkEsZ0NBRGdILENEMEJoSCx3QkN6QkEsZ0NBRGdILENEMEJoSCx3QkN6QkEsMEJBRGdILENEMEJoSCx3QkN6QkEsZ0NBRGdILENEMEJoSCx3QkN6QkEsZ0NBRGdILENEMEJoSCx3QkN6QkEsMEJBRGdILENEMEJoSCx5QkN6QkEsZ0NBRGdILENEMEJoSCx5QkN6QkEsZ0NBRGdILENEMEJoSCx5QkN6QkEsMkJBRGdILENEY2xILDRCQ3JCRSxXQUFtQixDRHVCcEIsOEJDbkJDLFdBQW1CLENEdUJwQix5QkNuQkMsK0JBRGdILENEMEJoSCx5QkN6QkEsZ0NBRGdILENEMEJoSCx5QkN6QkEsMEJBRGdILENEMEJoSCx5QkN6QkEsZ0NBRGdILENEMEJoSCx5QkN6QkEsZ0NBRGdILENEMEJoSCx5QkN6QkEsMEJBRGdILENEMEJoSCx5QkN6QkEsZ0NBRGdILENEMEJoSCx5QkN6QkEsZ0NBRGdILENEMEJoSCx5QkN6QkEsMEJBRGdILENEMEJoSCwwQkN6QkEsZ0NBRGdILENEMEJoSCwwQkN6QkEsZ0NBRGdILENEMEJoSCwwQkN6QkEsMkJBRGdILENENEIvRyxDWDhDQywyQ1c1REosMkJDckJFLFdBQW1CLENEdUJwQiw2QkNuQkMsV0FBbUIsQ0R1QnBCLHdCQ25CQywrQkFEZ0gsQ0QwQmhILHdCQ3pCQSxnQ0FEZ0gsQ0QwQmhILHdCQ3pCQSwwQkFEZ0gsQ0QwQmhILHdCQ3pCQSxnQ0FEZ0gsQ0QwQmhILHdCQ3pCQSxnQ0FEZ0gsQ0QwQmhILHdCQ3pCQSwwQkFEZ0gsQ0QwQmhILHdCQ3pCQSxnQ0FEZ0gsQ0QwQmhILHdCQ3pCQSxnQ0FEZ0gsQ0QwQmhILHdCQ3pCQSwwQkFEZ0gsQ0QwQmhILHlCQ3pCQSxnQ0FEZ0gsQ0QwQmhILHlCQ3pCQSxnQ0FEZ0gsQ0QwQmhILHlCQ3pCQSwyQkFEZ0gsQ0Q0Qi9HLENBeVNELDBCSzNYSSw0QkFBbUMsQ2hCZ0lyQywyQ1cyUEYsMEJLM1hJLDRCQUFtQyxDTDZYdEMsQ1g3UEMsMkNXMlBGLDBCSzNYSSw0QkFBbUMsQ0w2WHRDLENYN1BDLDJDVytQQSxpQ0svWEUsNEJBQW1DLENMaVlwQyxDWGpRRCwyQ1crUEEsZ0NLL1hFLDRCQUFtQyxDTGlZcEMsQ016WUwsS0NzRUEsZ0JBbkNFLGtCQUNBLGdCQUFpQixDVjBHbkIseUJBRUUsY0FDQSxZQUdFLDBCQUFBLEFBQ0EsYUFBQSw0QkFBQSxBQUFRLGlCQUFSLEFBQVEsT0FBQSxDQUVYLFlBR0MsVUFBVyxDQUNaLDZDV2hLQyxnQkFDQSxjWnNFUyxDVWxFWCxVQ3lERSxzQkFDQSxvQkFIK0QsQ2xCaUY3RCwyQ2lCeElKLFVDeURFLHNCQUNBLG9CQUgrRCxDRHJDOUQsQ2pCc0hDLDJDaUJ4SUosVUN5REUsc0JBQ0Esb0JBSCtELENEckM5RCxDQWxCSCxtQkFlTSxlQUNBLGFBQWMsQ0FoQnBCLGNDc0VBLGNBSGEsQ0RuRWIsbUJBeUJNLGtCQUNBLGdCQUFpQixDQTFCdkIseUJDc0VBLGNBSGEsQ0RuRWIscURFTEUsc0JBQ0Esb0JBSHFDLENGT3ZDLHVERUxFLHNCQUNBLG9CQUhxQyxDRmdEOUIsaUJHdERULFdDOENBLFdGdENFLHNCQUNBLG9CQUhxQyxDbkIrSW5DLDJDaUJ4RkosaUJFckRFLHNCQUNBLG9CQUhxQyxDRitEdEMsQ0loQkMsMkVBQ0UsV2hCdURzRCxDZ0J0RHZELHFFQ3BCRCxVakJ5RXVELENpQnhFeEQsaUNMc0NDLFVBQVcsQ0FDWiwyQ0FJQyxlQUNBLGNBQ0EsZ0JBQ0EsY0FBZSxDQUNoQixTR25GRCxjQ2VxRCxDSjJFaEQsY0t6Rkgsa0JBQ0EsYUFIbUQsQ0xpRzlDLGNLL0ZMLGtCQUNBLGNBSG1ELENMcUc5QyxnQkt4RVAsY0RoQmdDLENKNEU1QixTR3hGSixlQ2VxRCxDSjJFaEQsY0t6Rkgsa0JBQ0EsY0FIbUQsQ0xpRzlDLGNLL0ZMLGtCQUNBLGVBSG1ELENMcUc5QyxnQkt4RVAsb0JEYnFELENKeUVqRCxTR3hGSixTQ2VxRCxDSjJFaEQsY0t6Rkgsa0JBQ0EsUUFIbUQsQ0xpRzlDLGNLL0ZMLGtCQUNBLFNBSG1ELENMcUc5QyxnQkt4RVAscUJEYnFELENKeUVqRCxTR3hGSixlQ2VxRCxDSjJFaEQsY0t6Rkgsa0JBQ0EsY0FIbUQsQ0xpRzlDLGNLL0ZMLGtCQUNBLGVBSG1ELENMcUc5QyxnQkt4RVAsZURicUQsQ0p5RWpELFNHeEZKLGVDZXFELENKMkVoRCxjS3pGSCxrQkFDQSxjQUhtRCxDTGlHOUMsY0svRkwsa0JBQ0EsZUFIbUQsQ0xxRzlDLGdCS3hFUCxxQkRicUQsQ0p5RWpELFNHeEZKLFNDZXFELENKMkVoRCxjS3pGSCxrQkFDQSxRQUhtRCxDTGlHOUMsY0svRkwsa0JBQ0EsU0FIbUQsQ0xxRzlDLGdCS3hFUCxxQkRicUQsQ0p5RWpELFNHeEZKLGVDZXFELENKMkVoRCxjS3pGSCxrQkFDQSxjQUhtRCxDTGlHOUMsY0svRkwsa0JBQ0EsZUFIbUQsQ0xxRzlDLGdCS3hFUCxlRGJxRCxDSnlFakQsU0d4RkosZUNlcUQsQ0oyRWhELGNLekZILGtCQUNBLGNBSG1ELENMaUc5QyxjSy9GTCxrQkFDQSxlQUhtRCxDTHFHOUMsZ0JLeEVQLHFCRGJxRCxDSnlFakQsU0d4RkosU0NlcUQsQ0oyRWhELGNLekZILGtCQUNBLFFBSG1ELENMaUc5QyxjSy9GTCxrQkFDQSxTQUhtRCxDTHFHOUMsZ0JLeEVQLHFCRGJxRCxDSnlFakQsVUd4RkosZUNlcUQsQ0oyRWhELGVLekZILGtCQUNBLGNBSG1ELENMaUc5QyxlSy9GTCxrQkFDQSxlQUhtRCxDTHFHOUMsZ0JLeEVQLGVEYnFELENKeUVqRCxVR3hGSixlQ2VxRCxDSjJFaEQsZUt6Rkgsa0JBQ0EsY0FIbUQsQ0xpRzlDLGVLL0ZMLGtCQUNBLGVBSG1ELENMcUc5QyxpQkt4RVAscUJEYnFELENKeUVqRCxVR3hGSixVQ2VxRCxDSjJFaEQsaUJLOURMLHFCRGJxRCxDSjZGaEQseUNNcEdILFdBQ0EsVUFBdUIsQ053R3JCLHlFTWpGQSxVQUFXLENOaUZYLDZFTTdFQSxVQUFXLENONkVYLCtETXpFQSxVbEJvRXFELENZS3JELHlDTXpHRixXQUNBLFNBQXVCLENOd0dyQix5RU1qRkEsVUFBVyxDTmlGWCw2RU03RUEsVUFBVyxDTjZFWCwrRE16RUEsVWxCb0VxRCxDWUtyRCx5Q016R0YsV0FDQSxlQUF1QixDTndHckIseUVNakZBLFVBQVcsQ05pRlgsNkVNN0VBLFVBQVcsQ042RVgsK0RNekVBLFVsQm9FcUQsQ1lLckQseUNNekdGLFdBQ0EsU0FBdUIsQ053R3JCLHlFTWpGQSxVQUFXLENOaUZYLDZFTTdFQSxVQUFXLENONkVYLCtETXpFQSxVbEJvRXFELENZS3JELHlDTXpHRixXQUNBLFNBQXVCLENOd0dyQix5RU1qRkEsVUFBVyxDTmlGWCw2RU03RUEsVUFBVyxDTjZFWCwrRE16RUEsVWxCb0VxRCxDWUtyRCx5Q016R0YsV0FDQSxlQUF1QixDTndHckIseUVNakZBLFVBQVcsQ05pRlgsNkVNN0VBLFVBQVcsQ042RVgsK0RNekVBLFVsQm9FcUQsQ1lLckQseUNNekdGLFdBQ0EsZUFBdUIsQ053R3JCLHlFTWpGQSxVQUFXLENOaUZYLDZFTTdFQSxVQUFXLENONkVYLCtETXpFQSxVbEJvRXFELENZS3JELHlDTXpHRixXQUNBLFdBQXVCLENOd0dyQix5RU1qRkEsVUFBVyxDTmlGWCw2RU03RUEsVUFBVyxDTjZFWCwrRE16RUEsVWxCb0VxRCxDWVd2RCxpREUvR0EsZ0JBQ0EsY1pzRVMsQ1V3Q1QscUJBSUksZUFDQSxhQUFjLENBQ2Ysa0NBSUQsZUFDQSxhQUFjLENBQ2YscURFM0hELHNCQUNBLG9CQUhxQyxDRmdJb0IsZ0JLN0h6RCxrQkFDQSxnQkFBaUIsQ0FMakIsNkRBQ0UsV0FDQSxVQUFXLENBQ1osOENBV0gsZ0JBQ0EsV0FDQSxlQUNBLGFBQWMsQ3RCK0hWLDJDaUI3REEsVUd4RkosY0NlcUQsQ0oyRWhELGVLekZILGtCQUNBLGFBSG1ELENMaUc5QyxlSy9GTCxrQkFDQSxjQUhtRCxDTHFHOUMsaUJLeEVQLGNEaEJnQyxDSjRFNUIsVUd4RkosZUNlcUQsQ0oyRWhELGVLekZILGtCQUNBLGNBSG1ELENMaUc5QyxlSy9GTCxrQkFDQSxlQUhtRCxDTHFHOUMsaUJLeEVQLG9CRGJxRCxDSnlFakQsVUd4RkosU0NlcUQsQ0oyRWhELGVLekZILGtCQUNBLFFBSG1ELENMaUc5QyxlSy9GTCxrQkFDQSxTQUhtRCxDTHFHOUMsaUJLeEVQLHFCRGJxRCxDSnlFakQsVUd4RkosZUNlcUQsQ0oyRWhELGVLekZILGtCQUNBLGNBSG1ELENMaUc5QyxlSy9GTCxrQkFDQSxlQUhtRCxDTHFHOUMsaUJLeEVQLGVEYnFELENKeUVqRCxVR3hGSixlQ2VxRCxDSjJFaEQsZUt6Rkgsa0JBQ0EsY0FIbUQsQ0xpRzlDLGVLL0ZMLGtCQUNBLGVBSG1ELENMcUc5QyxpQkt4RVAscUJEYnFELENKeUVqRCxVR3hGSixTQ2VxRCxDSjJFaEQsZUt6Rkgsa0JBQ0EsUUFIbUQsQ0xpRzlDLGVLL0ZMLGtCQUNBLFNBSG1ELENMcUc5QyxpQkt4RVAscUJEYnFELENKeUVqRCxVR3hGSixlQ2VxRCxDSjJFaEQsZUt6Rkgsa0JBQ0EsY0FIbUQsQ0xpRzlDLGVLL0ZMLGtCQUNBLGVBSG1ELENMcUc5QyxpQkt4RVAsZURicUQsQ0p5RWpELFVHeEZKLGVDZXFELENKMkVoRCxlS3pGSCxrQkFDQSxjQUhtRCxDTGlHOUMsZUsvRkwsa0JBQ0EsZUFIbUQsQ0xxRzlDLGlCS3hFUCxxQkRicUQsQ0p5RWpELFVHeEZKLFNDZXFELENKMkVoRCxlS3pGSCxrQkFDQSxRQUhtRCxDTGlHOUMsZUsvRkwsa0JBQ0EsU0FIbUQsQ0xxRzlDLGlCS3hFUCxxQkRicUQsQ0p5RWpELFdHeEZKLGVDZXFELENKMkVoRCxnQkt6Rkgsa0JBQ0EsY0FIbUQsQ0xpRzlDLGdCSy9GTCxrQkFDQSxlQUhtRCxDTHFHOUMsaUJLeEVQLGVEYnFELENKeUVqRCxXR3hGSixlQ2VxRCxDSjJFaEQsZ0JLekZILGtCQUNBLGNBSG1ELENMaUc5QyxnQksvRkwsa0JBQ0EsZUFIbUQsQ0xxRzlDLGtCS3hFUCxxQkRicUQsQ0p5RWpELFdHeEZKLFVDZXFELENKMkVoRCxrQks5REwscUJEYnFELENKNkZoRCwyQ01wR0gsV0FDQSxVQUF1QixDTndHckIsMkVNakZBLFVBQVcsQ05pRlgsK0VNN0VBLFVBQVcsQ042RVgsaUVNekVBLFVsQm9FcUQsQ1lLckQsMkNNekdGLFdBQ0EsU0FBdUIsQ053R3JCLDJFTWpGQSxVQUFXLENOaUZYLCtFTTdFQSxVQUFXLENONkVYLGlFTXpFQSxVbEJvRXFELENZS3JELDJDTXpHRixXQUNBLGVBQXVCLENOd0dyQiwyRU1qRkEsVUFBVyxDTmlGWCwrRU03RUEsVUFBVyxDTjZFWCxpRU16RUEsVWxCb0VxRCxDWUtyRCwyQ016R0YsV0FDQSxTQUF1QixDTndHckIsMkVNakZBLFVBQVcsQ05pRlgsK0VNN0VBLFVBQVcsQ042RVgsaUVNekVBLFVsQm9FcUQsQ1lLckQsMkNNekdGLFdBQ0EsU0FBdUIsQ053R3JCLDJFTWpGQSxVQUFXLENOaUZYLCtFTTdFQSxVQUFXLENONkVYLGlFTXpFQSxVbEJvRXFELENZS3JELDJDTXpHRixXQUNBLGVBQXVCLENOd0dyQiwyRU1qRkEsVUFBVyxDTmlGWCwrRU03RUEsVUFBVyxDTjZFWCxpRU16RUEsVWxCb0VxRCxDWUtyRCwyQ016R0YsV0FDQSxlQUF1QixDTndHckIsMkVNakZBLFVBQVcsQ05pRlgsK0VNN0VBLFVBQVcsQ042RVgsaUVNekVBLFVsQm9FcUQsQ1lLckQsMkNNekdGLFdBQ0EsV0FBdUIsQ053R3JCLDJFTWpGQSxVQUFXLENOaUZYLCtFTTdFQSxVQUFXLENONkVYLGlFTXpFQSxVbEJvRXFELENZV3ZELG1ERS9HQSxnQkFDQSxjWnNFUyxDVXdDVCxzQkFJSSxlQUNBLGFBQWMsQ0FDZixtQ0FJRCxlQUNBLGFBQWMsQ0FDZix1REUzSEQsc0JBQ0Esb0JBSHFDLENGZ0lvQixpQks3SHpELGtCQUNBLGdCQUFpQixDQUxqQiwrREFDRSxXQUNBLFVBQVcsQ0FDWixpREFXSCxnQkFDQSxXQUNBLGVBQ0EsYUFBYyxDTDZIWCxDakJFQywyQ2lCN0RBLFNHeEZKLGNDZXFELENKMkVoRCxjS3pGSCxrQkFDQSxhQUhtRCxDTGlHOUMsY0svRkwsa0JBQ0EsY0FIbUQsQ0xxRzlDLGdCS3hFUCxjRGhCZ0MsQ0o0RTVCLFNHeEZKLGVDZXFELENKMkVoRCxjS3pGSCxrQkFDQSxjQUhtRCxDTGlHOUMsY0svRkwsa0JBQ0EsZUFIbUQsQ0xxRzlDLGdCS3hFUCxvQkRicUQsQ0p5RWpELFNHeEZKLFNDZXFELENKMkVoRCxjS3pGSCxrQkFDQSxRQUhtRCxDTGlHOUMsY0svRkwsa0JBQ0EsU0FIbUQsQ0xxRzlDLGdCS3hFUCxxQkRicUQsQ0p5RWpELFNHeEZKLGVDZXFELENKMkVoRCxjS3pGSCxrQkFDQSxjQUhtRCxDTGlHOUMsY0svRkwsa0JBQ0EsZUFIbUQsQ0xxRzlDLGdCS3hFUCxlRGJxRCxDSnlFakQsU0d4RkosZUNlcUQsQ0oyRWhELGNLekZILGtCQUNBLGNBSG1ELENMaUc5QyxjSy9GTCxrQkFDQSxlQUhtRCxDTHFHOUMsZ0JLeEVQLHFCRGJxRCxDSnlFakQsU0d4RkosU0NlcUQsQ0oyRWhELGNLekZILGtCQUNBLFFBSG1ELENMaUc5QyxjSy9GTCxrQkFDQSxTQUhtRCxDTHFHOUMsZ0JLeEVQLHFCRGJxRCxDSnlFakQsU0d4RkosZUNlcUQsQ0oyRWhELGNLekZILGtCQUNBLGNBSG1ELENMaUc5QyxjSy9GTCxrQkFDQSxlQUhtRCxDTHFHOUMsZ0JLeEVQLGVEYnFELENKeUVqRCxTR3hGSixlQ2VxRCxDSjJFaEQsY0t6Rkgsa0JBQ0EsY0FIbUQsQ0xpRzlDLGNLL0ZMLGtCQUNBLGVBSG1ELENMcUc5QyxnQkt4RVAscUJEYnFELENKeUVqRCxTR3hGSixTQ2VxRCxDSjJFaEQsY0t6Rkgsa0JBQ0EsUUFIbUQsQ0xpRzlDLGNLL0ZMLGtCQUNBLFNBSG1ELENMcUc5QyxnQkt4RVAscUJEYnFELENKeUVqRCxVR3hGSixlQ2VxRCxDSjJFaEQsZUt6Rkgsa0JBQ0EsY0FIbUQsQ0xpRzlDLGVLL0ZMLGtCQUNBLGVBSG1ELENMcUc5QyxnQkt4RVAsZURicUQsQ0p5RWpELFVHeEZKLGVDZXFELENKMkVoRCxlS3pGSCxrQkFDQSxjQUhtRCxDTGlHOUMsZUsvRkwsa0JBQ0EsZUFIbUQsQ0xxRzlDLGlCS3hFUCxxQkRicUQsQ0p5RWpELFVHeEZKLFVDZXFELENKMkVoRCxpQks5REwscUJEYnFELENKNkZoRCx5Q01wR0gsV0FDQSxVQUF1QixDTndHckIseUVNakZBLFVBQVcsQ05pRlgsNkVNN0VBLFVBQVcsQ042RVgsK0RNekVBLFVsQm9FcUQsQ1lLckQseUNNekdGLFdBQ0EsU0FBdUIsQ053R3JCLHlFTWpGQSxVQUFXLENOaUZYLDZFTTdFQSxVQUFXLENONkVYLCtETXpFQSxVbEJvRXFELENZS3JELHlDTXpHRixXQUNBLGVBQXVCLENOd0dyQix5RU1qRkEsVUFBVyxDTmlGWCw2RU03RUEsVUFBVyxDTjZFWCwrRE16RUEsVWxCb0VxRCxDWUtyRCx5Q016R0YsV0FDQSxTQUF1QixDTndHckIseUVNakZBLFVBQVcsQ05pRlgsNkVNN0VBLFVBQVcsQ042RVgsK0RNekVBLFVsQm9FcUQsQ1lLckQseUNNekdGLFdBQ0EsU0FBdUIsQ053R3JCLHlFTWpGQSxVQUFXLENOaUZYLDZFTTdFQSxVQUFXLENONkVYLCtETXpFQSxVbEJvRXFELENZS3JELHlDTXpHRixXQUNBLGVBQXVCLENOd0dy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akMwRCxBL0JpQ25ELG9EK0JoQ0UsYS9CZ0NULEMrQmpDMEQsQS9CaUNuRCxxRCtCaENFLGEvQmdDVCxDK0JqQzBELEEvQmlDbkQsMkMrQmhDRSxhL0JnQ1QsQ0FBTyxrQitCTEssYS9CS1osQ0FBTyxZK0JDSCxhQXpCRSxrQkFDbUIsbUI5QmdDdUIsaUJBQUEsaUJETWhDLGFBZmhCLENBQU8sdUIrQklBLGFBQ0QsQ0FBSyxzQkNpWVAscUJDNVhVLHNCQUNDLGtCakNvTlksb0JBRlIscUJBQ0Msd0JpQ3BNSCw2QkFDSyxxQmhDbEIwQix3RUFBQSxBRHdPZ0IsZ0VBQUEsaUJBUHhELGNpQzNNRCxrQkFDSSxlQUNILHlCakNyQ0MsVUFVVixDQUFPLHdFZ0NnWUYsUzlCM1FBLENBQUMsb0UrQmxESSx5QmpDeUp5RCxVQTVObkUsQ0FBTyxnQ2dDZ1lGLGVoQzlKTCxDQUFNLGtDZ0M4SkQsZ0JoQzdKSixDQUFPLGtDZ0M2SkgsaUJoQzNKSixDQUFPLHdDZ0MySkgsY0M5VkssV0FDSCxlQUNJLGFBQ0YsQ0FBQyxzQ0QyVkwseUJoQzFZSyxhQVNWLENBQU8sb0dpQ29FRyx5QkFOc0UsYWpDOURoRixDQUFPLDBDZ0NpWUYseUJoQ3pZTyxhQVFaLENBQU8sNEdpQ29FRyx5QkFOc0UsYWpDOURoRixDQUFPLHNDZ0NpWUYseUJoQ3hZSyxhQU9WLENBQU8sb0dpQ29FRyx5QkFOc0UsYWpDOURoRixDQUFPLHNDZ0NpWUYseUJoQ3ZZSyxhQU1WLENBQU8sb0dpQ29FRyx5QkFOc0UsYWpDOURoRixDQUFPLGtDZ0NpWUYseUJoQ3RZRyxhQUtSLENBQU8sNEZpQ29FRyx5QkFOc0UsYWpDOURoRixDQUFPLGtGaUM0T0MsWWpDSGMsa0JpQzdHcEIsQ0FBVyxzU0FFQSx5QmpDdklILFVBVVYsQ0FBTyxrSGlDK09FLFlqQ1BhLGtCaUM3R3BCLENBQVcsc1lBRUEseUJqQ3ZJSCxhQVNWLENBQU8sMEhpQ2dQSSxZakNQVyxrQmlDN0dwQixDQUFXLDhaQUVBLHlCakN0SUQsYUFRWixDQUFPLGtIaUNnUEUsWWpDUGEsa0JpQzdHcEIs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QUEsQ0FBQSx1QkFBNkMsa0J3RW5GekQsWUFrQk0sa0JKQU0sc0JJWUYsY3hFcUQrQyxrQitCekJqRCxVeUMxQk8sU0FDTCxrQkFDQSx3QkFFQSxzQkFDQSxheEU4Q0UsY3dFN0NGLG1CeEU2Q0UsaUJBQTZDLEN3RTFDL0Msb0NBQ2tCLHVCL0V5SEgsV0FBVyxNK0VuS3BDLFlBa0JFLGtCQTBCdUIsUUFFWCxtQ0FBQSxBdkV3TEYsMEJBQUEsQ0FBQSxDQUFRLG1CQUVQLGFBQUEsQ0FBQSx1QnVFckxILGNBbkRWLHFCQXFETSxpQkFFSSxDQUFBLGlCQUFTLHlCQXZEbkIsc0JBNkRNLENBQUEsb0N4RXNCbUQsaUJQZ0Z0QyxZQUFlLENBQUEsQ0FBRSx3QitFbkcxQixjQWhFVixpQkFvRUUsbUJBQ2tCLGlCeEVtQlAsY0FMRCxrQndFWE8sQ0FBQSxzQkFFYixvQkExRU4sZUE2RUUsQ0FBUyw4Q0E3RVgsU0FrRkUsbUJBQ0EsaUJBQ1cseUJBRVQsZUFDQSxDQUFBLDBCQUNBLFNBQWEsbUJBR2YsZUFDUSxDQUFFLHlDL0V1RU4sMEJBQThCLGtCK0VuS3BDLENBQUEsQ0FBQSw0QnhFbUZZLGtCd0VuRlosa0JBcUdpQixDQUNiLDhDQXRHSixrQkFBQSxDQUFBLDRCeEVtRlksY3dFbkZaLFdBOEdFLGtCQUNFLGdCQUNPLGlCeEU3QkMsU3dFK0JSLG1CeEUvQlEsbURBQUEsQXdFbUNSLDJDQUFBLG1CQUF3QixtQkFDeEIsYXhFcENRLENBQUEsdUR3RW5GWixhQThHTyxDeEUzQkssQXdFMkJMLGtEQTlHUCxhQThHTyxDeEUzQkssQXdFMkJMLG1EQTlHUCxhQThHTyxDeEUzQkssQXdFMkJMLHlDQTlHUCxhQThHTyxDQUFBIiwiZmlsZSI6ImFwcC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBicmVha3BvaW50c1xuLy8vL1xuXG4vLy8gQSBsaXN0IG9mIG5hbWVkIGJyZWFrcG9pbnRzLiBZb3UgY2FuIHVzZSB0aGVzZSB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBxdWlja2x5IGNyZWF0ZSBtZWRpYSBxdWVyaWVzLlxuLy8vIEB0eXBlIE1hcFxuJGJyZWFrcG9pbnRzOiAoXG4gIHNtYWxsOiAwLFxuICBtZWRpdW06IDY0MHB4LFxuICBsYXJnZTogMTAyNHB4LFxuICB4bGFyZ2U6IDEyMDBweCxcbiAgeHhsYXJnZTogMTQ0MHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBsYXJnZXN0IG5hbWVkIGJyZWFrcG9pbnQgaW4gd2hpY2ggdG8gaW5jbHVkZSBwcmludCBhcyBhIG1lZGlhIHR5cGVcbi8vLyBAdHlwZSBLZXl3b3JkXG4kcHJpbnQtYnJlYWtwb2ludDogbGFyZ2UgIWRlZmF1bHQ7XG5cbiQtemYtemVyby1icmVha3BvaW50OiBzbWFsbCAhZGVmYXVsdDtcblxuJC16Zi1icmVha3BvaW50cy1rZXlzOiBtYXAtdG8tbGlzdCgkYnJlYWtwb2ludHMsICdrZXlzJyk7XG5cbkBpZiBudGgobWFwLXZhbHVlcygkYnJlYWtwb2ludHMpLCAxKSAhPSAwIHtcbiAgQGVycm9yICdZb3VyIHNtYWxsZXN0IGJyZWFrcG9pbnQgKGRlZmluZWQgaW4gJGJyZWFrcG9pbnRzKSBtdXN0IGJlIHNldCB0byBcIjBcIi4nO1xufVxuQGVsc2Uge1xuICAkLXpmLXplcm8tYnJlYWtwb2ludDogbnRoKG1hcC1rZXlzKCRicmVha3BvaW50cyksIDEpO1xufVxuXG4vLy8gQWxsIG9mIHRoZSBuYW1lcyBpbiB0aGlzIGxpc3Qgd2lsbCBiZSBvdXRwdXQgYXMgY2xhc3NlcyBpbiB5b3VyIENTUywgbGlrZSBgLnNtYWxsLTEyYCwgYC5tZWRpdW0tNmAsIGFuZCBzbyBvbi4gRWFjaCB2YWx1ZSBpbiB0aGlzIGxpc3QgbXVzdCBhbHNvIGJlIGluIHRoZSBgJGJyZWFrcG9pbnRzYCBtYXAuXG4vLy8gQHR5cGUgTGlzdFxuJGJyZWFrcG9pbnQtY2xhc3NlczogKHNtYWxsIG1lZGl1bSBsYXJnZSkgIWRlZmF1bHQ7XG5cbi8vLyBHZW5lcmF0ZXMgYSBtZWRpYSBxdWVyeSBzdHJpbmcgbWF0Y2hpbmcgdGhlIGlucHV0IHZhbHVlLiBSZWZlciB0byB0aGUgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHNlZSB3aGF0IHRoZSBwb3NzaWJsZSBpbnB1dHMgYXJlLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbCBbc21hbGxdIC0gQnJlYWtwb2ludCBuYW1lLCBvciBweCwgcmVtLCBvciBlbSB2YWx1ZSB0byBwcm9jZXNzLlxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQoJHZhbDogJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgLy8gU2l6ZSBvciBrZXl3b3JkXG4gICRicDogbnRoKCR2YWwsIDEpO1xuICAvLyBWYWx1ZSBmb3IgbWF4LXdpZHRoIG1lZGlhIHF1ZXJpZXNcbiAgJGJwLW1heDogMDtcbiAgLy8gRGlyZWN0aW9uIG9mIG1lZGlhIHF1ZXJ5ICh1cCwgZG93biwgb3Igb25seSlcbiAgJGRpcjogaWYobGVuZ3RoKCR2YWwpID4gMSwgbnRoKCR2YWwsIDIpLCB1cCk7XG4gIC8vIEV2ZW50dWFsIG91dHB1dFxuICAkc3RyOiAnJztcbiAgLy8gSXMgaXQgYSBuYW1lZCBtZWRpYSBxdWVyeT9cbiAgJG5hbWVkOiBmYWxzZTtcblxuICAvLyBPcmllbnRhdGlvbiBtZWRpYSBxdWVyaWVzIGhhdmUgYSB1bmlxdWUgc3ludGF4XG4gIEBpZiAkYnAgPT0gJ2xhbmRzY2FwZScgb3IgJGJwID09ICdwb3J0cmFpdCcge1xuICAgIEByZXR1cm4gJyhvcmllbnRhdGlvbjogI3skYnB9KSc7XG4gIH1cbiAgQGVsc2UgaWYgJGJwID09ICdyZXRpbmEnIHtcbiAgICBAcmV0dXJuICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpJztcbiAgfVxuXG4gIC8vIFRyeSB0byBwdWxsIGEgbmFtZWQgYnJlYWtwb2ludCBvdXQgb2YgdGhlICRicmVha3BvaW50cyBtYXBcbiAgQGlmIHR5cGUtb2YoJGJwKSA9PSAnc3RyaW5nJyB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJGJwKSB7XG4gICAgICBAaWYgJGRpciA9PSAnb25seScgb3IgJGRpciA9PSAnZG93bicge1xuICAgICAgICAkYnAtbWF4OiAtemYtbWFwLW5leHQoJGJyZWFrcG9pbnRzLCAkYnApO1xuICAgICAgfVxuXG4gICAgICAkYnA6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkYnApO1xuICAgICAgJG5hbWVkOiB0cnVlO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkYnA6IDA7XG4gICAgICBAd2FybiAnYnJlYWtwb2ludCgpOiBcIiN7JHZhbH1cIiBpcyBub3QgZGVmaW5lZCBpbiB5b3VyICRicmVha3BvaW50cyBzZXR0aW5nLic7XG4gICAgfVxuICB9XG5cbiAgLy8gQ29udmVydCBhbnkgcGl4ZWwsIHJlbSwgb3IgdW5pdGxlc3MgdmFsdWUgdG8gZW1cbiAgJGJwOiAtemYtYnAtdG8tZW0oJGJwKTtcbiAgQGlmICRicC1tYXgge1xuICAgICRicC1tYXg6IC16Zi1icC10by1lbSgkYnAtbWF4KSAtICgxLzE2KTtcbiAgfVxuXG4gIC8vIENvbmRpdGlvbnMgdG8gc2tpcCBtZWRpYSBxdWVyeSBjcmVhdGlvblxuICAvLyAtIEl0J3MgYSBuYW1lZCBicmVha3BvaW50IHRoYXQgcmVzb2x2ZWQgdG8gXCIwIGRvd25cIiBvciBcIjAgdXBcIlxuICAvLyAtIEl0J3MgYSBudW1lcmljIGJyZWFrcG9pbnQgdGhhdCByZXNvbHZlZCB0byBcIjAgXCIgKyBhbnl0aGluZ1xuICBAaWYgJGJwID4gMGVtIG9yICRkaXIgPT0gJ29ubHknIG9yICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAvLyBgb25seWAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWluLXdpZHRoOiBuKSBhbmQgKG1heC13aWR0aDogbilgXG4gICAgQGlmICRkaXIgPT0gJ29ubHknIHtcbiAgICAgIC8vIE9ubHkgbmFtZWQgbWVkaWEgcXVlcmllcyBjYW4gaGF2ZSBhbiBcIm9ubHlcIiByYW5nZVxuICAgICAgQGlmICRuYW1lZCA9PSB0cnVlIHtcbiAgICAgICAgLy8gT25seSB1c2UgXCJtaW4td2lkdGhcIiBpZiB0aGUgZmxvb3IgaXMgZ3JlYXRlciB0aGFuIDBcbiAgICAgICAgQGlmICRicCA+IDBlbSB7XG4gICAgICAgICAgJHN0cjogJHN0ciArICcobWluLXdpZHRoOiAjeyRicH0pJztcblxuICAgICAgICAgIC8vIE9ubHkgYWRkIFwiYW5kXCIgdG8gdGhlIG1lZGlhIHF1ZXJ5IGlmIHRoZXJlJ3MgYSBjZWlsaW5nXG4gICAgICAgICAgQGlmICRicC1tYXggIT0gbnVsbCB7XG4gICAgICAgICAgICAkc3RyOiAkc3RyICsgJyBhbmQgJztcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBPbmx5IHVzZSBcIm1heC13aWR0aFwiIGlmIHRoZXJlJ3MgYSBjZWlsaW5nXG4gICAgICAgIEBpZiAkYnAtbWF4ICE9IG51bGwge1xuICAgICAgICAgICRzdHI6ICRzdHIgKyAnKG1heC13aWR0aDogI3skYnAtbWF4fSknO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIEB3YXJuICdicmVha3BvaW50KCk6IE9ubHkgbmFtZWQgbWVkaWEgcXVlcmllcyBjYW4gaGF2ZSBhbiBgb25seWAgcmFuZ2UuJztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBgZG93bmAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWF4LXdpZHRoOiBuKWBcbiAgICBAZWxzZSBpZiAkZGlyID09ICdkb3duJyB7XG4gICAgICAkbWF4OiBpZigkbmFtZWQsICRicC1tYXgsICRicCk7XG5cbiAgICAgIC8vIFNraXAgbWVkaWEgcXVlcnkgY3JlYXRpb24gaWYgaW5wdXQgdmFsdWUgaXMgZXhhY3RseSBcIjAgZG93blwiLFxuICAgICAgLy8gdW5sZXNzIHRoZSBmdW5jdGlvbiB3YXMgY2FsbGVkIGFzIFwic21hbGwgZG93blwiLCBpbiB3aGljaCBjYXNlIGl0J3MganVzdCBcInNtYWxsIG9ubHlcIlxuICAgICAgQGlmICRuYW1lZCBvciAkYnAgPiAwZW0ge1xuICAgICAgICBAaWYgJG1heCAhPSBudWxsIHtcbiAgICAgICAgICAkc3RyOiAkc3RyICsgJyhtYXgtd2lkdGg6ICN7JG1heH0pJztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGB1cGAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWluLXdpZHRoOiBuKWBcbiAgICBAZWxzZSBpZiAkYnAgPiAwZW0ge1xuICAgICAgJHN0cjogJHN0ciArICcobWluLXdpZHRoOiAjeyRicH0pJztcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRzdHI7XG59XG5cbi8vLyBXcmFwcyBhIG1lZGlhIHF1ZXJ5IGFyb3VuZCB0aGUgY29udGVudCB5b3UgcHV0IGluc2lkZSB0aGUgbWl4aW4uIFRoaXMgbWl4aW4gYWNjZXB0cyBhIG51bWJlciBvZiB2YWx1ZXM6XG4vLy8gIC0gSWYgYSBzdHJpbmcgaXMgcGFzc2VkLCB0aGUgbWl4aW4gd2lsbCBsb29rIGZvciBpdCBpbiB0aGUgYCRicmVha3BvaW50c2AgbWFwLCBhbmQgdXNlIGEgbWVkaWEgcXVlcnkgdGhlcmUuXG4vLy8gIC0gSWYgYSBwaXhlbCB2YWx1ZSBpcyBwYXNzZWQsIGl0IHdpbGwgYmUgY29udmVydGVkIHRvIGFuIGVtIHZhbHVlIHVzaW5nIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgYXMgdGhlIGJhc2UuXG4vLy8gIC0gSWYgYSByZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdW5pdCB3aWxsIGJlIGNoYW5nZWQgdG8gZW0uXG4vLy8gIC0gSWYgYW4gZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdmFsdWUgd2lsbCBiZSB1c2VkIGFzLWlzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbHVlIC0gQnJlYWtwb2ludCBuYW1lLCBvciBweCwgcmVtLCBvciBlbSB2YWx1ZSB0byBwcm9jZXNzLlxuLy8vXG4vLy8gQG91dHB1dCBJZiB0aGUgYnJlYWtwb2ludCBpcyBcIjBweCBhbmQgbGFyZ2VyXCIsIG91dHB1dHMgdGhlIGNvbnRlbnQgYXMtaXMuIE90aGVyd2lzZSwgb3V0cHV0cyB0aGUgY29udGVudCB3cmFwcGVkIGluIGEgbWVkaWEgcXVlcnkuXG5AbWl4aW4gYnJlYWtwb2ludCgkdmFsdWUpIHtcbiAgJHN0cjogYnJlYWtwb2ludCgkdmFsdWUpO1xuICAkYnA6IGluZGV4KCQtemYtYnJlYWtwb2ludHMta2V5cywgJHZhbHVlKTtcbiAgJHBicDogaW5kZXgoJC16Zi1icmVha3BvaW50cy1rZXlzLCAkcHJpbnQtYnJlYWtwb2ludCk7XG5cbiAgJG9sZC16Zi1zaXplOiBudWxsO1xuXG4gIC8vIE1ha2UgYnJlYWtwb2ludCBzaXplIGF2YWlsYWJsZSBhcyBhIHZhcmlhYmxlXG4gIEBpZiBnbG9iYWwtdmFyaWFibGUtZXhpc3RzKC16Zi1zaXplKSB7XG4gICAgJG9sZC16Zi1zaXplOiAkLXpmLXNpemU7XG4gIH1cbiAgJC16Zi1zaXplOiBudGgoJHZhbHVlLCAxKSAhZ2xvYmFsOyAvLyBnZXQgdGhlIGZpcnN0IHZhbHVlIHRvIGFjY291bnQgZm9yIGBvbmx5YCBhbmQgYGRvd25gIGtleXdvcmRzXG5cbiAgLy8gSWYgJHN0ciBpcyBzdGlsbCBhbiBlbXB0eSBzdHJpbmcsIG5vIG1lZGlhIHF1ZXJ5IGlzIG5lZWRlZFxuICBAaWYgJHN0ciA9PSAnJyB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cblxuICAvLyBPdGhlcndpc2UsIHdyYXAgdGhlIGNvbnRlbnQgaW4gYSBtZWRpYSBxdWVyeVxuICBAZWxzZSB7XG4gICAgLy8gRm9yIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiBvciBlcXVhbCB0byAkcHJpbnQtYnJlYWtwb2ludCwgYWRkIHByaW50IHRvIHRoZSBtZWRpYSB0eXBlc1xuICAgIEBpZiAkYnAgIT0gbnVsbCBhbmQgJGJwIDw9ICRwYnAge1xuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kICN7JHN0cn0ge1xuICAgICAgICBAY29udGVudDtcbiAgICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kICN7JHN0cn0ge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgJG9sZC16Zi1zaXplICE9IG51bGwge1xuICAgIC8vIFJlc3RvcmUgdGhlIG9sZCBicmVha3BvaW50IHNpemVcbiAgICAkLXpmLXNpemU6ICRvbGQtemYtc2l6ZSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkLXpmLXNpemU6IG51bGwgIWdsb2JhbDtcbiAgfVxufVxuXG4vLy8gQ29udmVycyB0aGUgYnJlYWtwb2ludHMgbWFwIHRvIGEgVVJMLWVuY29kZWQgc3RyaW5nLCBsaWtlIHRoaXM6IGBrZXkxPXZhbHVlMSZrZXkyPXZhbHVlMmAuIFRoZSB2YWx1ZSBpcyB0aGVuIGRyb3BwZWQgaW50byB0aGUgQ1NTIGZvciBhIHNwZWNpYWwgYDxtZXRhPmAgdGFnLCB3aGljaCBpcyByZWFkIGJ5IHRoZSBGb3VuZGF0aW9uIEphdmFTY3JpcHQuIFRoaXMgaXMgaG93IHdlIHRyYW5zZmVyIHZhbHVlcyBmcm9tIFNhc3MgdG8gSmF2YVNjcmlwdCwgc28gdGhleSBjYW4gYmUgZGVmaW5lZCBpbiBvbmUgcGxhY2UuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byBjb252ZXJ0LlxuLy8vXG4vLy8gQHJldHVybnMge1N0cmluZ30gQSBzdHJpbmcgY29udGFpbmluZyB0aGUgbWFwJ3MgY29udGVudHMuXG5AZnVuY3Rpb24gLXpmLWJwLXNlcmlhbGl6ZSgkbWFwKSB7XG4gICRzdHI6ICcnO1xuICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJG1hcCB7XG4gICAgJHN0cjogJHN0ciArICRrZXkgKyAnPScgKyAtemYtYnAtdG8tZW0oJHZhbHVlKSArICcmJztcbiAgfVxuICAkc3RyOiBzdHItc2xpY2UoJHN0ciwgMSwgLTIpO1xuXG4gIEByZXR1cm4gJHN0cjtcbn1cblxuLy8vIEZpbmQgdGhlIG5leHQga2V5IGluIGEgbWFwLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gdHJhdmVyc2UuXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGtleSAtIEtleSB0byB1c2UgYXMgYSBzdGFydGluZyBwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtNaXhlZH0gVGhlIHZhbHVlIGZvciB0aGUga2V5IGFmdGVyIGAka2V5YCwgaWYgYCRrZXlgIHdhcyBmb3VuZC4gSWYgYCRrZXlgIHdhcyBub3QgZm91bmQsIG9yIGAka2V5YCB3YXMgdGhlIGxhc3QgdmFsdWUgaW4gdGhlIG1hcCwgcmV0dXJucyBgbnVsbGAuXG5AZnVuY3Rpb24gLXpmLW1hcC1uZXh0KCRtYXAsICRrZXkpIHtcblxuICAvLyBTdG9yZSB0aGUga2V5cyBvZiB0aGUgbWFwIGFzIGEgbGlzdFxuICAkdmFsdWVzOiBtYXAta2V5cygkbWFwKTtcblxuICAkaTogMDtcblxuICAvLyBJZiB0aGUgS2V5IEV4aXN0cywgR2V0IHRoZSBpbmRleCBvZiB0aGUga2V5IHdpdGhpbiB0aGUgbWFwIGFuZCBhZGQgMSB0byBpdCBmb3IgdGhlIG5leHQgYnJlYWtwb2ludCBpbiB0aGUgbWFwXG4gIEBpZiAobWFwLWhhcy1rZXkoJG1hcCwgJGtleSkpIHtcbiAgICAkaTogaW5kZXgoJHZhbHVlcywgJGtleSkgKyAxO1xuICB9XG5cbiAgLy8gSWYgdGhlIGtleSBkb2Vzbid0IGV4aXN0LCBvciBpdCdzIHRoZSBsYXN0IGtleSBpbiB0aGUgbWFwLCByZXR1cm4gbnVsbFxuICBAaWYgKCRpID4gbGVuZ3RoKCRtYXApIG9yICRpID09IDApIHtcbiAgICBAcmV0dXJuIG51bGw7XG4gIH1cbiAgLy8gT3RoZXJ3aXNlLCByZXR1cm4gdGhlIHZhbHVlXG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgbnRoKCR2YWx1ZXMsICRpKSk7XG4gIH1cblxufVxuXG4vLy8gUmV0dXJuIGEgbGlzdCBvZiBvdXIgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuICRrZXkuIFVzZWZ1bCBmb3IgZGVhbGluZyB3aXRoXG4vLy8gcmVzcG9uc2l2ZSBndXR0ZXJzIGZvciB0aGUgZ3JpZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAka2V5IC0gS2V5IHRvIHVzZSBhcyBsYXN0IGJyZWFrcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7QXJyYXl9IFRoZSBsaXN0IG9mIGJyZWFrcG9pbnRzIHVwIHRvIGFuZC4gSWYgJGtleSBpcyBhdXRvLCByZXR1cm5zIGJyZWFrcG9pbnRzIGFib3ZlIHRoZSB6ZXJvXG5AZnVuY3Rpb24gLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigka2V5KSB7XG4gICRsaXN0OiAoKTtcbiAgJGZvdW5kX2tleTogZmFsc2U7XG5cbiAgQGVhY2ggJG5hbWUgaW4gJC16Zi1icmVha3BvaW50cy1rZXlzIHtcbiAgICBAaWYgKCRuYW1lID09ICRrZXkpIHtcbiAgICAgICRmb3VuZF9rZXk6IHRydWU7XG4gICAgfVxuICAgIEBpZiBub3QgJGZvdW5kX2tleSB7XG4gICAgICAkbGlzdDogYXBwZW5kKCRsaXN0LCAkbmFtZSk7XG4gICAgfVxuICB9XG4gIEByZXR1cm4gJGxpc3Q7XG59XG5cbi8vLyBSZXR1cm4gYSBsaXN0IG9mIG91ciBuYW1lZCBicmVha3BvaW50cyBsZXNzIHRoYW4gJGtleS4gVXNlZnVsIGZvciBkZWFsaW5nIHdpdGhcbi8vLyByZXNwb25zaXZlIGd1dHRlcnMgZm9yIHRoZSBncmlkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW5nIC0gYSBuYW1lZCBvciBub24tbmFtZWQgYnJlYWtwb2luZy5cbi8vL1xuLy8vIEByZXR1cm5zIHtBcnJheX0gVGhlIGxpc3Qgb2YgYnJlYWtwb2ludHMgdXAgdG8gYW5kLiBJZiAka2V5IGlzIGF1dG8sIHJldHVybnMgYnJlYWtwb2ludHMgYWJvdmUgdGhlIHplcm9cbkBmdW5jdGlvbiAtemYtY2xvc2VzdC1uYW1lZC1icmVha3BvaW50KCRicmVha3BvaW50KSB7XG4gICRsYXN0OiAkLXpmLXplcm8tYnJlYWtwb2ludDtcbiAgJGZvdW5kOiBmYWxzZTtcblxuICAkdmFsdWU6IHVuaXRsZXNzLWNhbGMoJGJyZWFrcG9pbnQsIDFweCk7XG4gIEBlYWNoICRrZXksICR2YWwgaW4gJGJyZWFrcG9pbnRzIHtcbiAgICBAaWYgbm90ICRmb3VuZCB7XG4gICAgICBAaWYgdW5pdGxlc3MtY2FsYygkdmFsKSA+ICR2YWx1ZSB7XG4gICAgICAgICRmb3VuZDogdHJ1ZTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkbGFzdDogJGtleTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRsYXN0O1xufVxuXG4vLy8gR2V0IGEgdmFsdWUgZm9yIGEgYnJlYWtwb2ludCBmcm9tIGEgcmVzcG9uc2l2ZSBjb25maWcgbWFwIG9yIHNpbmdsZSB2YWx1ZS5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBzaW5nbGUgdmFsdWUsIHJldHVybiBpdCByZWdhcmRsZXNzIG9mIGAkdmFsdWVgLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIG1hcCBhbmQgaGFzIHRoZSBrZXkgYCR2YWx1ZWAsIHRoZSBleGFjdCBicmVha3BvaW50IHZhbHVlIGlzIHJldHVybmVkLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIG1hcCBhbmQgZG9lcyAqbm90KiBoYXZlIHRoZSBicmVha3BvaW50LCB0aGUgdmFsdWUgbWF0Y2hpbmcgdGhlIG5leHQgbG93ZXN0IGJyZWFrcG9pbnQgaW4gdGhlIGNvbmZpZyBtYXAgaXMgcmV0dXJuZWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXAgLSBSZXNwb25zaXZlIGNvbmZpZyBtYXAgb3Igc2luZ2xlIHZhbHVlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHZhbHVlIC0gQnJlYWtwb2ludCBuYW1lIHRvIHVzZS5cbi8vL1xuLy8vIEByZXR1cm4ge01peGVkfSBUaGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlLlxuQGZ1bmN0aW9uIC16Zi1nZXQtYnAtdmFsKCRtYXAsICR2YWx1ZSkge1xuICAvLyBJZiB0aGUgZ2l2ZW4gbWFwIGlzIGEgc2luZ2xlIHZhbHVlLCByZXR1cm4gaXRcbiAgQGlmIHR5cGUtb2YoJG1hcCkgPT0gJ251bWJlcicge1xuICAgIEByZXR1cm4gJG1hcDtcbiAgfVxuXG5cbiAgLy8gQ2hlY2sgaWYgdGhlIGJyZWFrcG9pbnQgbmFtZSBleGlzdHMgZ2xvYmFsbHlcbiAgQGlmIG5vdCBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICR2YWx1ZSkge1xuICAgIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ251bWJlcicge1xuICAgICAgJHZhbHVlOiAtemYtY2xvc2VzdC1uYW1lZC1icmVha3BvaW50KCR2YWx1ZSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICBAcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG4gIC8vIENoZWNrIGlmIHRoZSBicmVha3BvaW50IG5hbWUgZXhpc3RzIGluIHRoZSBsb2NhbCBjb25maWcgbWFwXG4gIEBlbHNlIGlmIG1hcC1oYXMta2V5KCRtYXAsICR2YWx1ZSkge1xuICAgIC8vIElmIGl0IGRvZXMsIGp1c3QgcmV0dXJuIHRoZSB2YWx1ZVxuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCAkdmFsdWUpO1xuICB9XG4gIC8vIE90aGVyd2lzZSwgZmluZCB0aGUgbmV4dCBsb3dlc3QgYnJlYWtwb2ludCBhbmQgcmV0dXJuIHRoYXQgdmFsdWVcbiAgQGVsc2Uge1xuICAgICRhbmNob3I6IG51bGw7XG4gICAgJGZvdW5kOiBmYWxzZTtcblxuICAgIEBlYWNoICRrZXksICR2YWwgaW4gJGJyZWFrcG9pbnRzIHtcbiAgICAgIEBpZiBub3QgJGZvdW5kIHtcbiAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRtYXAsICRrZXkpIHtcbiAgICAgICAgICAkYW5jaG9yOiAka2V5O1xuICAgICAgICB9XG4gICAgICAgIEBpZiAka2V5ID09ICR2YWx1ZSB7XG4gICAgICAgICAgJGZvdW5kOiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsICRhbmNob3IpO1xuICB9XG59XG5cbiRzbWFsbC11cDogJyc7XG4kc21hbGwtb25seTogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHNtYWxsKSB7XG4gICRzbWFsbC11cDogc2NyZWVuO1xuICAkc21hbGwtb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoc21hbGwgb25seSl9Jyk7XG59XG5cbiRtZWRpdW0tdXA6ICcnO1xuJG1lZGl1bS1vbmx5OiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbWVkaXVtKSB7XG4gICRtZWRpdW0tdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSl9Jyk7XG4gICRtZWRpdW0tb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtIG9ubHkpfScpO1xufVxuXG4kbGFyZ2UtdXA6ICcnO1xuJGxhcmdlLW9ubHk6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBsYXJnZSkge1xuICAkbGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlKX0nKTtcbiAgJGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlIG9ubHkpfScpO1xufVxuXG4keGxhcmdlLXVwOiAnJztcbiR4bGFyZ2Utb25seTogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHhsYXJnZSkge1xuICAkeGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2UpfScpO1xuICAkeGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHhsYXJnZSBvbmx5KX0nKTtcbn1cblxuJHh4bGFyZ2UtdXA6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCB4eGxhcmdlKSB7XG4gICR4eGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4eGxhcmdlKX0nKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHJldmVhbFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIGEgbW9kYWwuXG4vLy8gQHR5cGUgQ29sb3JcbiRyZXZlYWwtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB3aWR0aCBvZiBhIG1vZGFsLCB3aXRoIG5vIGNsYXNzIGFwcGxpZWQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXdpZHRoOiA2MDBweCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWF4aW11bSB3aWR0aCBvZiBhIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1tYXgtd2lkdGg6ICRnbG9iYWwtd2lkdGggIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGFyb3VuZCBhIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3IgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyB6LWluZGV4IGZvciBtb2RhbHMuIFRoZSBvdmVybGF5IHVzZXMgdGhpcyB2YWx1ZSwgd2hpbGUgdGhlIG1vZGFsIGl0c2VsZiB1c2VzIHRoaXMgdmFsdWUgcGx1cyBvbmUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXppbmRleDogMTAwNSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgbW9kYWwgb3ZlcmxheXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC40NSkgIWRlZmF1bHQ7XG5cblxuLy8gUGxhY2Vob2xkZXIgc2VsZWN0b3IgZm9yIG1lZGl1bS1hbmQtdXAgbW9kYWxzXG4vLyBQcmV2ZW50cyBkdXBsaWNhdGUgQ1NTIHdoZW4gZGVmaW5pbmcgbXVsdGlwbGUgUmV2ZWFsIHNpemVzXG5AaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAlcmV2ZWFsLWNlbnRlcmVkIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiBhdXRvO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICB9XG59XG5cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIG1vZGFsIG92ZXJsYXkuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIG92ZXJsYXkuXG5AbWl4aW4gcmV2ZWFsLW92ZXJsYXkoJGJhY2tncm91bmQ6ICRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kKSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkcmV2ZWFsLXppbmRleDtcblxuICBkaXNwbGF5OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xufVxuXG4vLy8gQWRkcyBiYXNlIHN0eWxlcyBmb3IgYSBtb2RhbC5cbkBtaXhpbiByZXZlYWwtbW9kYWwtYmFzZSB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgei1pbmRleDogJHJldmVhbC16aW5kZXggKyAxO1xuICAvLyBXb3JrYXJvdW5kIGFuZHJvaWQgYnJvd3NlciB6LWluZGV4IGJ1Z1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogJHJldmVhbC1wYWRkaW5nO1xuXG4gIGJvcmRlcjogJHJldmVhbC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRyZXZlYWwtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmV2ZWFsLWJhY2tncm91bmQ7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBtaW4taGVpZ2h0OiAwO1xuICB9XG5cbiAgLy8gTWFrZSBzdXJlIHJvd3MgZG9uJ3QgaGF2ZSBhIG1pbi13aWR0aCBvbiB0aGVtXG4gIC5jb2x1bW4ge1xuICAgIG1pbi13aWR0aDogMDtcbiAgfVxuXG4gIC8vIFN0cmlwIG1hcmdpbnMgZnJvbSB0aGUgbGFzdCBpdGVtIGluIHRoZSBtb2RhbFxuICA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBBZGp1c3RzIHRoZSB3aWR0aCBvZiBhIG1vZGFsLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggLSBXaWR0aCBvZiB0aGUgbW9kYWwuIEdlbmVyYWxseSBhIHBlcmNlbnRhZ2UuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXgtd2lkdGggWyRyZXZlYWwtbWF4LXdpZHRoXSAtIE1heGltdW0gd2lkdGggb2YgdGhlIG1vZGFsLlxuQG1peGluIHJldmVhbC1tb2RhbC13aWR0aChcbiAgJHdpZHRoOiAkcmV2ZWFsLXdpZHRoLFxuICAkbWF4LXdpZHRoOiAkcmV2ZWFsLW1heC13aWR0aFxuKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgQGV4dGVuZCAlcmV2ZWFsLWNlbnRlcmVkO1xuICAgIHdpZHRoOiAkd2lkdGg7XG4gICAgbWF4LXdpZHRoOiAkbWF4LXdpZHRoO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgZnVsbC1zY3JlZW4gbW9kYWwsIHdoaWNoIHN0cmV0Y2hlcyB0aGUgZnVsbCB3aWR0aCBhbmQgaGVpZ2h0IG9mIHRoZSB3aW5kb3cuXG5AbWl4aW4gcmV2ZWFsLW1vZGFsLWZ1bGxzY3JlZW4ge1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG5cbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBoZWlnaHQ6IDEwMHZoOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLWR1cGxpY2F0ZS1wcm9wZXJ0aWVzXG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICBtYXJnaW4tbGVmdDogMDtcblxuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXJldmVhbCB7XG5cbiAgLy8vIERpc2FibGVzIHRoZSBzY3JvbGwgd2hlbiBSZXZlYWwgaXMgc2hvd24gdG8gcHJldmVudCB0aGUgYmFja2dyb3VuZCBmcm9tIHNoaWZ0aW5nXG4gIGh0bWwuaXMtcmV2ZWFsLW9wZW4ge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG5cbiAgICBib2R5IHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cbiAgfVxuXG4gIC8vIE92ZXJsYXlcbiAgLnJldmVhbC1vdmVybGF5IHtcbiAgICBAaW5jbHVkZSByZXZlYWwtb3ZlcmxheTtcbiAgfVxuXG4gIC8vIE1vZGFsIGNvbnRhaW5lclxuICAucmV2ZWFsIHtcbiAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtYmFzZTtcbiAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoJHJldmVhbC13aWR0aCk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMTAwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG5cbiAgICAvLyBSZW1vdmUgcGFkZGluZ1xuICAgICYuY29sbGFwc2Uge1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAvLyBTaXppbmcgY2xhc3Nlc1xuICAgICYudGlueSAgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoMzAlKTsgfVxuICAgICYuc21hbGwgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoNTAlKTsgfVxuICAgICYubGFyZ2UgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoOTAlKTsgfVxuXG4gICAgLy8gRnVsbC1zY3JlZW4gbW9kZVxuICAgICYuZnVsbCB7XG4gICAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtZnVsbHNjcmVlbjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtemVyby1icmVha3BvaW50IG9ubHkpIHtcbiAgICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC1mdWxsc2NyZWVuO1xuICAgIH1cblxuICAgICYud2l0aG91dC1vdmVybGF5IHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEhlbHBlciBmdW5jdGlvbiBmb3IgdGhlIG5vcm1hbGl6ZSgpIG1peGluLlxuQGZ1bmN0aW9uIF9ub3JtYWxpemUtaW5jbHVkZSgkc2VjdGlvbiwgJGV4Y2x1ZGU6IG51bGwpIHtcbiAgLy8gSW5pdGlhbGl6ZSB0aGUgZ2xvYmFsIHZhcmlhYmxlcyBuZWVkZWQgYnkgdGhpcyBmdW5jdGlvbi5cbiAgQGlmIG5vdCBnbG9iYWxfdmFyaWFibGVfZXhpc3RzKF9ub3JtYWxpemUtaW5jbHVkZSkge1xuICAgICRfbm9ybWFsaXplLWluY2x1ZGU6ICgpICFnbG9iYWw7XG4gICAgJF9ub3JtYWxpemUtZXhjbHVkZTogKCkgIWdsb2JhbDtcbiAgfVxuICAvLyBTaW5jZSB3ZSBhcmUgZ2l2ZW4gMiBwYXJhbWV0ZXJzLCBzZXQgdGhlIGdsb2JhbCB2YXJpYWJsZXMuXG4gIEBpZiAkZXhjbHVkZSAhPSBudWxsIHtcbiAgICAkaW5jbHVkZTogJHNlY3Rpb247XG4gICAgLy8gU2FzcyBkb2Vzbid0IGhhdmUgc3RhdGljIHZhcmlhYmxlcywgc28gdGhlIHdvcmstYXJvdW5kIGlzIHRvIHN0dWZmIHRoZXNlXG4gICAgLy8gdmFsdWVzIGludG8gZ2xvYmFsIHZhcmlhYmxlcyBzbyB3ZSBjYW4gYWNjZXNzIHRoZW0gaW4gZnV0dXJlIGNhbGxzLlxuICAgICRfbm9ybWFsaXplLWluY2x1ZGU6IGlmKHR5cGUtb2YoJGluY2x1ZGUpID09ICdsaXN0JywgJGluY2x1ZGUsICgkaW5jbHVkZSkpICFnbG9iYWw7XG4gICAgJF9ub3JtYWxpemUtZXhjbHVkZTogaWYodHlwZS1vZigkZXhjbHVkZSkgPT0gJ2xpc3QnLCAkZXhjbHVkZSwgKCRleGNsdWRlKSkgIWdsb2JhbDtcbiAgICBAcmV0dXJuIHRydWU7XG4gIH1cblxuICAvLyBDaGVjayBpZiAkc2VjdGlvbiBpcyBpbiB0aGUgJGluY2x1ZGUgbGlzdC5cbiAgQGlmIGluZGV4KCRfbm9ybWFsaXplLWluY2x1ZGUsICRzZWN0aW9uKSB7XG4gICAgQHJldHVybiB0cnVlO1xuICB9XG4gIC8vIElmICRpbmNsdWRlIGlzIHNldCB0byAoYWxsKSwgbWFrZSBzdXJlICRzZWN0aW9uIGlzIG5vdCBpbiAkZXhjbHVkZS5cbiAgQGVsc2UgaWYgbm90IGluZGV4KCRfbm9ybWFsaXplLWV4Y2x1ZGUsICRzZWN0aW9uKSBhbmQgaW5kZXgoJF9ub3JtYWxpemUtaW5jbHVkZSwgYWxsKSB7XG4gICAgQHJldHVybiB0cnVlO1xuICB9XG4gIEByZXR1cm4gZmFsc2U7XG59XG5cbkBtaXhpbiBub3JtYWxpemUoJGluY2x1ZGU6IChhbGwpLCAkZXhjbHVkZTogKCkpIHtcbiAgLy8gSW5pdGlhbGl6ZSB0aGUgaGVscGVyIGZ1bmN0aW9uIGJ5IHBhc3NpbmcgaXQgdGhpcyBtaXhpbidzIHBhcmFtZXRlcnMuXG4gICRpbml0OiBfbm9ybWFsaXplLWluY2x1ZGUoJGluY2x1ZGUsICRleGNsdWRlKTtcblxuICAvLyBJZiB3ZSd2ZSBjdXN0b21pemVkIGFueSBmb250IHZhcmlhYmxlcywgd2UnbGwgbmVlZCBleHRyYSBwcm9wZXJ0aWVzLlxuICBAaWYgJGJhc2UtZm9udC1zaXplICE9IDE2cHhcbiAgICBvciAkYmFzZS1saW5lLWhlaWdodCAhPSAyNHB4XG4gICAgb3IgJGJhc2UtdW5pdCAhPSAnZW0nXG4gICAgb3IgJGgxLWZvbnQtc2l6ZSAhPSAyICAgICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGgyLWZvbnQtc2l6ZSAhPSAxLjUgICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGgzLWZvbnQtc2l6ZSAhPSAxLjE3ICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGg0LWZvbnQtc2l6ZSAhPSAxICAgICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGg1LWZvbnQtc2l6ZSAhPSAwLjgzICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGg2LWZvbnQtc2l6ZSAhPSAwLjY3ICogJGJhc2UtZm9udC1zaXplIHtcbiAgICAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobTogdHJ1ZSAhZ2xvYmFsO1xuICB9XG5cbiAgLyohIG5vcm1hbGl6ZS1zY3NzIHwgTUlUL0dQTHYyIExpY2Vuc2UgfCBiaXQubHkvbm9ybWFsaXplLXNjc3MgKi9cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGRvY3VtZW50KSB7XG4gICAgLyogRG9jdW1lbnRcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogMS4gQ2hhbmdlIHRoZSBkZWZhdWx0IGZvbnQgZmFtaWx5IGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAgICAgKiAzLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluXG4gICAgICogICAgSUUgb24gV2luZG93cyBQaG9uZSBhbmQgaW4gaU9TLlxuICAgICAqL1xuXG4gICAgaHRtbCB7XG4gICAgICBmb250LWZhbWlseTogJGJhc2UtZm9udC1mYW1pbHk7IC8qIDEgKi9cbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIC8vIENvcnJlY3Qgb2xkIGJyb3dzZXIgYnVnIHRoYXQgcHJldmVudGVkIGFjY2Vzc2libGUgcmVzaXppbmcgb2YgdGV4dFxuICAgICAgICAvLyB3aGVuIHJvb3QgZm9udC1zaXplIGlzIHNldCB3aXRoIHB4IG9yIGVtLlxuICAgICAgICBmb250LXNpemU6ICgkYmFzZS1mb250LXNpemUgLyAxNnB4KSAqIDEwMCU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAoJGJhc2UtbGluZS1oZWlnaHQgLyAkYmFzZS1mb250LXNpemUpICogMWVtOyAvKiAyICovXG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAyICovXG4gICAgICB9XG4gICAgICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMyAqL1xuICAgICAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAzICovXG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShzZWN0aW9ucykge1xuICAgIC8qIFNlY3Rpb25zXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqL1xuXG4gICAgYm9keSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBhcnRpY2xlLFxuICAgIGFzaWRlLFxuICAgIGZvb3RlcixcbiAgICBoZWFkZXIsXG4gICAgbmF2LFxuICAgIHNlY3Rpb24ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICAgICAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gICAgICovXG5cbiAgICBoMSB7XG4gICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoMS1mb250LXNpemUpO1xuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRoMS1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICAvKiBTZXQgMSB1bml0IG9mIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgdG9wIGFuZCBib3R0b20gbWFyZ2lucy4gKi9cbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoMS1mb250LXNpemUpO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBtYXJnaW46IDAuNjdlbSAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICBoMiB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGgyLWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDItZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoMi1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBoMyB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGgzLWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDMtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoMy1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBoNCB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGg0LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDQtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoNC1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBoNSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGg1LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDUtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoNS1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBoNiB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGg2LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDYtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoNi1mb250LXNpemUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoZ3JvdXBpbmcpIHtcbiAgICAvKiBHcm91cGluZyBjb250ZW50XG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAvKipcbiAgICAgICAqIFNldCAxIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtIG9uIHRoZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW4uXG4gICAgICAgKi9cblxuICAgICAgYmxvY2txdW90ZSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAkaW5kZW50LWFtb3VudCk7XG4gICAgICB9XG5cbiAgICAgIGRsLFxuICAgICAgb2wsXG4gICAgICB1bCB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwKTtcbiAgICAgIH1cblxuICAgICAgLyoqXG4gICAgICAgKiBUdXJuIG9mZiBtYXJnaW5zIG9uIG5lc3RlZCBsaXN0cy5cbiAgICAgICAqL1xuXG4gICAgICBvbCxcbiAgICAgIHVsIHtcbiAgICAgICAgb2wsXG4gICAgICAgIHVsIHtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgZGQge1xuICAgICAgICBtYXJnaW46IDAgMCAwICRpbmRlbnQtYW1vdW50O1xuICAgICAgfVxuXG4gICAgICBvbCxcbiAgICAgIHVsIHtcbiAgICAgICAgcGFkZGluZzogMCAwIDAgJGluZGVudC1hbW91bnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBmaWdjYXB0aW9uLFxuICAgIGZpZ3VyZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgbWFyZ2luIGluIElFIDguXG4gICAgICovXG5cbiAgICBmaWd1cmUge1xuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxICRpbmRlbnQtYW1vdW50KTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbWFyZ2luOiAxZW0gJGluZGVudC1hbW91bnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAgICAgKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAgICAgKi9cblxuICAgIGhyIHtcbiAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAxICovXG4gICAgICBoZWlnaHQ6IDA7IC8qIDEgKi9cbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gICAgICovXG5cbiAgICBtYWluIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAvKipcbiAgICAgICAqIFNldCAxIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtIG9uIHRoZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW4uXG4gICAgICAgKi9cblxuICAgICAgcCxcbiAgICAgIHByZSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIHByZSB7XG4gICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgICAgIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShsaW5rcykge1xuICAgIC8qIExpbmtzXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIDEuIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAgICAgKiAyLiBSZW1vdmUgZ2FwcyBpbiBsaW5rcyB1bmRlcmxpbmUgaW4gaU9TIDgrIGFuZCBTYWZhcmkgOCsuXG4gICAgICovXG5cbiAgICBhIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvKiAxICovXG4gICAgICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbi1za2lwOiBvYmplY3RzOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlIHRoZSBvdXRsaW5lIG9uIGZvY3VzZWQgbGlua3Mgd2hlbiB0aGV5IGFyZSBhbHNvIGFjdGl2ZSBvciBob3ZlcmVkXG4gICAgICogaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICovXG5cbiAgICBhOmFjdGl2ZSxcbiAgICBhOmhvdmVyIHtcbiAgICAgIG91dGxpbmUtd2lkdGg6IDA7XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZSh0ZXh0KSB7XG4gICAgLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIEZpcmVmb3ggMzktLlxuICAgICAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gICAgICovXG5cbiAgICBhYmJyW3RpdGxlXSB7XG4gICAgICBib3JkZXItYm90dG9tOiBub25lOyAvKiAxICovXG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLyogMiAqL1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHJldmVudCB0aGUgZHVwbGljYXRlIGFwcGxpY2F0aW9uIG9mIGBib2xkZXJgIGJ5IHRoZSBuZXh0IHJ1bGUgaW4gU2FmYXJpIDYuXG4gICAgICovXG5cbiAgICBiLFxuICAgIHN0cm9uZyB7XG4gICAgICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICAgICAqL1xuXG4gICAgYixcbiAgICBzdHJvbmcge1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIGNvZGUsXG4gICAga2JkLFxuICAgIHNhbXAge1xuICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gICAgICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBmb250IHN0eWxlIGluIEFuZHJvaWQgNC4zLS5cbiAgICAgKi9cblxuICAgIGRmbiB7XG4gICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGJhY2tncm91bmQgYW5kIGNvbG9yIGluIElFIDktLlxuICAgICAqL1xuXG4gICAgbWFyayB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwO1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBzbWFsbCB7XG4gICAgICBmb250LXNpemU6IDgwJTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAgICAgKiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBzdWIsXG4gICAgc3VwIHtcbiAgICAgIGZvbnQtc2l6ZTogNzUlO1xuICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gICAgfVxuXG4gICAgc3ViIHtcbiAgICAgIGJvdHRvbTogLTAuMjVlbTtcbiAgICB9XG5cbiAgICBzdXAge1xuICAgICAgdG9wOiAtMC41ZW07XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShlbWJlZGRlZCkge1xuICAgIC8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBhdWRpbyxcbiAgICB2aWRlbyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gaU9TIDQtNy5cbiAgICAgKi9cblxuICAgIGF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAtLlxuICAgICAqL1xuXG4gICAgaW1nIHtcbiAgICAgIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBIaWRlIHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAgICAgKi9cblxuICAgIHN2Zzpub3QoOnJvb3QpIHtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShmb3Jtcykge1xuICAgIC8qIEZvcm1zXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICogMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuICAgICAqL1xuXG4gICAgYnV0dG9uLFxuICAgIGlucHV0LFxuICAgIG9wdGdyb3VwLFxuICAgIHNlbGVjdCxcbiAgICB0ZXh0YXJlYSB7XG4gICAgICBmb250LWZhbWlseTogJGJhc2UtZm9udC1mYW1pbHk7IC8qIDEgKi9cbiAgICAgIGZvbnQtc2l6ZTogMTAwJTsgLyogMSAqL1xuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICgkYmFzZS1saW5lLWhlaWdodCAvICRiYXNlLWZvbnQtc2l6ZSkgKiAxZW07IC8qIDEgKi9cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cbiAgICAgIH1cbiAgICAgIG1hcmdpbjogMDsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICAgICAqL1xuXG4gICAgYnV0dG9uIHtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICAgICAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAgICAgKi9cblxuICAgIGJ1dHRvbixcbiAgICBzZWxlY3QgeyAvKiAxICovXG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBQcmV2ZW50IGEgV2ViS2l0IGJ1ZyB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2AgYW5kIGB2aWRlb2BcbiAgICAgKiAgICBjb250cm9scyBpbiBBbmRyb2lkIDQuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIGJ1dHRvbixcbiAgICBodG1sIFt0eXBlPVwiYnV0dG9uXCJdLCAvKiAxICovXG4gICAgW3R5cGU9XCJyZXNldFwiXSxcbiAgICBbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMiAqL1xuICAgIH1cblxuICAgIGJ1dHRvbixcbiAgICBbdHlwZT1cImJ1dHRvblwiXSxcbiAgICBbdHlwZT1cInJlc2V0XCJdLFxuICAgIFt0eXBlPVwic3VibWl0XCJdIHtcblxuICAgICAgLyoqXG4gICAgICAgKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICAgICAgICovXG5cbiAgICAgICY6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgICAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB9XG5cbiAgICAgIC8qKlxuICAgICAgICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICAgICAgICovXG5cbiAgICAgICY6LW1vei1mb2N1c3Jpbmcge1xuICAgICAgICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAgICAgKi9cblxuICAgIGlucHV0IHtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLS5cbiAgICAgKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAtLlxuICAgICAqL1xuXG4gICAgW3R5cGU9XCJjaGVja2JveFwiXSxcbiAgICBbdHlwZT1cInJhZGlvXCJdIHtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgICAgIHBhZGRpbmc6IDA7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gICAgICovXG5cbiAgICBbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiAgICBbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gICAgICovXG5cbiAgICBbdHlwZT1cInNlYXJjaFwiXSB7XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICAgICAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8qIDIgKi9cblxuICAgICAgLyoqXG4gICAgICAgKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgYW5kIGNhbmNlbCBidXR0b25zIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuICAgICAgICovXG5cbiAgICAgICY6Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG4gICAgICAmOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gICAgICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICAgICAqL1xuXG4gICAgOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xuICAgICAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoYW5nZSB0aGUgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqL1xuXG4gICAgZmllbGRzZXQge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcbiAgICAgIG1hcmdpbjogMCAycHg7XG4gICAgICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gICAgICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICAgICAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgbGVnZW5kIHtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgICAgIGRpc3BsYXk6IHRhYmxlOyAvKiAxICovXG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IC8qIDEgKi9cbiAgICAgIHBhZGRpbmc6IDA7IC8qIDMgKi9cbiAgICAgIGNvbG9yOiBpbmhlcml0OyAvKiAyICovXG4gICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvKiAxICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICogMi4gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAgICAgKi9cblxuICAgIHByb2dyZXNzIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLyogMSAqL1xuICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRS5cbiAgICAgKi9cblxuICAgIHRleHRhcmVhIHtcbiAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoaW50ZXJhY3RpdmUpIHtcbiAgICAvKiBJbnRlcmFjdGl2ZVxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFLCBhbmQgRmlyZWZveC5cbiAgICAgKi9cblxuICAgIGRldGFpbHMge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLypcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBzdW1tYXJ5IHtcbiAgICAgIGRpc3BsYXk6IGxpc3QtaXRlbTtcbiAgICB9XG5cbiAgICAvKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuXG4gICAgbWVudSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgLypcbiAgICAgICAgICogMS4gU2V0IDEgdW5pdCBvZiB2ZXJ0aWNhbCByaHl0aG0gb24gdGhlIHRvcCBhbmQgYm90dG9tIG1hcmdpbi5cbiAgICAgICAgICogMi4gU2V0IGNvbnNpc3RlbnQgc3BhY2UgZm9yIHRoZSBsaXN0IHN0eWxlIGltYWdlLlxuICAgICAgICAgKi9cblxuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCk7IC8qIDEgKi9cbiAgICAgICAgcGFkZGluZzogMCAwIDAgJGluZGVudC1hbW91bnQ7IC8qIDIgKi9cblxuICAgICAgICAvKipcbiAgICAgICAgICogVHVybiBvZmYgbWFyZ2lucyBvbiBuZXN0ZWQgbGlzdHMuXG4gICAgICAgICAqL1xuXG4gICAgICAgIG1lbnUgJixcbiAgICAgICAgb2wgJixcbiAgICAgICAgdWwgJiB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShzY3JpcHRpbmcpIHtcbiAgICAvKiBTY3JpcHRpbmdcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBjYW52YXMge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICAgICAqL1xuXG4gICAgdGVtcGxhdGUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGhpZGRlbikge1xuICAgIC8qIEhpZGRlblxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC0uXG4gICAgICovXG5cbiAgICBbaGlkZGVuXSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIFZlcnRpY2FsIFJoeXRobVxuLy9cbi8vIFRoaXMgaXMgdGhlIG1pbmltYWwgYW1vdW50IG9mIGNvZGUgbmVlZGVkIHRvIGNyZWF0ZSB2ZXJ0aWNhbCByaHl0aG0gaW4gb3VyXG4vLyBDU1MuIElmIHlvdSBhcmUgbG9va2luZyBmb3IgYSByb2J1c3Qgc29sdXRpb24sIGxvb2sgYXQgdGhlIGV4Y2VsbGVudCBUeXBleVxuLy8gbGlicmFyeS4gQHNlZSBodHRwczovL2dpdGh1Yi5jb20vanB0YXJhbnRvL3R5cGV5XG5cbkBmdW5jdGlvbiBub3JtYWxpemUtcmh5dGhtKCR2YWx1ZSwgJHJlbGF0aXZlLXRvOiAkYmFzZS1mb250LXNpemUsICR1bml0OiAkYmFzZS11bml0KSB7XG4gIEBpZiB1bml0KCR2YWx1ZSkgIT0gcHgge1xuICAgIEBlcnJvciBcIlRoZSBub3JtYWxpemUgdmVydGljYWwtcmh5dGhtIG1vZHVsZSBvbmx5IHN1cHBvcnRzIHB4IGlucHV0cy4gVGhlIHR5cGV5IGxpYnJhcnkgaXMgYmV0dGVyLlwiO1xuICB9XG4gIEBpZiAkdW5pdCA9PSByZW0ge1xuICAgIEByZXR1cm4gKCR2YWx1ZSAvICRiYXNlLWZvbnQtc2l6ZSkgKiAxcmVtO1xuICB9XG4gIEBlbHNlIGlmICR1bml0ID09IGVtIHtcbiAgICBAcmV0dXJuICgkdmFsdWUgLyAkcmVsYXRpdmUtdG8pICogMWVtO1xuICB9XG4gIEBlbHNlIHsgLy8gJHVuaXQgPT0gcHhcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxufVxuXG5AbWl4aW4gbm9ybWFsaXplLWZvbnQtc2l6ZSgkdmFsdWUsICRyZWxhdGl2ZS10bzogJGJhc2UtZm9udC1zaXplKSB7XG4gIEBpZiB1bml0KCR2YWx1ZSkgIT0gJ3B4JyB7XG4gICAgQGVycm9yIFwibm9ybWFsaXplLWZvbnQtc2l6ZSgpIG9ubHkgc3VwcG9ydHMgcHggaW5wdXRzLiBUaGUgdHlwZXkgbGlicmFyeSBpcyBiZXR0ZXIuXCI7XG4gIH1cbiAgZm9udC1zaXplOiBub3JtYWxpemUtcmh5dGhtKCR2YWx1ZSwgJHJlbGF0aXZlLXRvKTtcbn1cblxuQG1peGluIG5vcm1hbGl6ZS1yaHl0aG0oJHByb3BlcnR5LCAkdmFsdWVzLCAkcmVsYXRpdmUtdG86ICRiYXNlLWZvbnQtc2l6ZSkge1xuICAkdmFsdWUtbGlzdDogJHZhbHVlcztcbiAgJHNlcDogc3BhY2U7XG4gIEBpZiB0eXBlLW9mKCR2YWx1ZXMpID09ICdsaXN0JyB7XG4gICAgJHNlcDogbGlzdC1zZXBhcmF0b3IoJHZhbHVlcyk7XG4gIH1cbiAgQGVsc2Uge1xuICAgICR2YWx1ZS1saXN0OiBhcHBlbmQoKCksICR2YWx1ZXMpO1xuICB9XG5cbiAgJG5vcm1hbGl6ZWQtdmFsdWVzOiAoKTtcbiAgQGVhY2ggJHZhbHVlIGluICR2YWx1ZS1saXN0IHtcbiAgICBAaWYgdW5pdGxlc3MoJHZhbHVlKSBhbmQgJHZhbHVlICE9IDAge1xuICAgICAgJHZhbHVlOiAkdmFsdWUgKiBub3JtYWxpemUtcmh5dGhtKCRiYXNlLWxpbmUtaGVpZ2h0LCAkcmVsYXRpdmUtdG8pO1xuICAgIH1cbiAgICAkbm9ybWFsaXplZC12YWx1ZXM6IGFwcGVuZCgkbm9ybWFsaXplZC12YWx1ZXMsICR2YWx1ZSwgJHNlcCk7XG4gIH1cbiAgI3skcHJvcGVydHl9OiAkbm9ybWFsaXplZC12YWx1ZXM7XG59XG5cbkBtaXhpbiBub3JtYWxpemUtbWFyZ2luKCR2YWx1ZXMsICRyZWxhdGl2ZS10bzogJGJhc2UtZm9udC1zaXplKSB7XG4gIEBpbmNsdWRlIG5vcm1hbGl6ZS1yaHl0aG0obWFyZ2luLCAkdmFsdWVzLCAkcmVsYXRpdmUtdG8pO1xufVxuXG5AbWl4aW4gbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRmb250LXNpemUsICRtaW4tbGluZS1wYWRkaW5nOiAycHgpIHtcbiAgJGxpbmVzOiBjZWlsKCRmb250LXNpemUgLyAkYmFzZS1saW5lLWhlaWdodCk7XG4gIC8vIElmIGxpbmVzIGFyZSBjcmFtcGVkIGluY2x1ZGUgc29tZSBleHRyYSBsZWFkaW5nLlxuICBAaWYgKCRsaW5lcyAqICRiYXNlLWxpbmUtaGVpZ2h0IC0gJGZvbnQtc2l6ZSkgPCAoJG1pbi1saW5lLXBhZGRpbmcgKiAyKSB7XG4gICAgJGxpbmVzOiAkbGluZXMgKyAxO1xuICB9XG4gIEBpbmNsdWRlIG5vcm1hbGl6ZS1yaHl0aG0obGluZS1oZWlnaHQsICRsaW5lcywgJGZvbnQtc2l6ZSk7XG59XG4iLCIvL1xuLy8gVmFyaWFibGVzXG4vL1xuLy8gWW91IGNhbiBvdmVycmlkZSB0aGUgZGVmYXVsdCB2YWx1ZXMgYnkgc2V0dGluZyB0aGUgdmFyaWFibGVzIGluIHlvdXIgU2Fzc1xuLy8gYmVmb3JlIGltcG9ydGluZyB0aGUgbm9ybWFsaXplLXNjc3MgbGlicmFyeS5cblxuLy8gVGhlIGZvbnQgc2l6ZSBzZXQgb24gdGhlIHJvb3QgaHRtbCBlbGVtZW50LlxuJGJhc2UtZm9udC1zaXplOiAxNnB4ICFkZWZhdWx0O1xuXG4vLyBUaGUgYmFzZSBsaW5lIGhlaWdodCBkZXRlcm1pbmVzIHRoZSBiYXNpYyB1bml0IG9mIHZlcnRpY2FsIHJoeXRobS5cbiRiYXNlLWxpbmUtaGVpZ2h0OiAyNHB4ICFkZWZhdWx0O1xuXG4vLyBUaGUgbGVuZ3RoIHVuaXQgaW4gd2hpY2ggdG8gb3V0cHV0IHZlcnRpY2FsIHJoeXRobSB2YWx1ZXMuXG4vLyBTdXBwb3J0ZWQgdmFsdWVzOiBweCwgZW0sIHJlbS5cbiRiYXNlLXVuaXQ6ICdlbScgIWRlZmF1bHQ7XG5cbi8vIFRoZSBkZWZhdWx0IGZvbnQgZmFtaWx5LlxuJGJhc2UtZm9udC1mYW1pbHk6IHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG5cbi8vIFRoZSBmb250IHNpemVzIGZvciBoMS1oNi5cbiRoMS1mb250LXNpemU6IDIgICAgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kaDItZm9udC1zaXplOiAxLjUgICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGgzLWZvbnQtc2l6ZTogMS4xNyAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoNC1mb250LXNpemU6IDEgICAgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kaDUtZm9udC1zaXplOiAwLjgzICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGg2LWZvbnQtc2l6ZTogMC42NyAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcblxuLy8gVGhlIGFtb3VudCBsaXN0cyBhbmQgYmxvY2txdW90ZXMgYXJlIGluZGVudGVkLlxuJGluZGVudC1hbW91bnQ6IDQwcHggIWRlZmF1bHQ7XG5cbi8vIFRoZSBmb2xsb3dpbmcgdmFyaWFibGUgY29udHJvbHMgd2hldGhlciBub3JtYWxpemUtc2NzcyB3aWxsIG91dHB1dFxuLy8gZm9udC1zaXplcywgbGluZS1oZWlnaHRzIGFuZCBibG9jay1sZXZlbCB0b3AvYm90dG9tIG1hcmdpbnMgdGhhdCBmb3JtIGEgYmFzaWNcbi8vIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgcGFnZSwgd2hpY2ggZGlmZmVycyBmcm9tIHRoZSBvcmlnaW5hbCBOb3JtYWxpemUuY3NzLlxuLy8gSG93ZXZlciwgY2hhbmdpbmcgYW55IG9mIHRoZSB2YXJpYWJsZXMgYWJvdmUgd2lsbCBjYXVzZVxuLy8gJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0gdG8gYmUgYXV0b21hdGljYWxseSBzZXQgdG8gdHJ1ZS5cbiRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtOiBmYWxzZSAhZGVmYXVsdDtcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZSBmb3JjZS1hdHRyaWJ1dGUtbmVzdGluZywgZm9yY2UtcHNldWRvLW5lc3RpbmcsIG5vLWNvbG9yLWxpdGVyYWxzLCBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ2xvYmFsXG4vLy8vXG5cbkBpbXBvcnQgJ3V0aWwvdXRpbCc7XG5cbi8vLyBGb250IHNpemUgYXR0cmlidXRlIGFwcGxpZWQgdG8gYDxodG1sPmAgYW5kIGA8Ym9keT5gLiBXZSB1c2UgMTAwJSBieSBkZWZhdWx0IHNvIHRoZSB2YWx1ZSBpcyBpbmhlcml0ZWQgZnJvbSB0aGUgdXNlcidzIGJyb3dzZXIgc2V0dGluZ3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB3aWR0aCBvZiB5b3VyIHNpdGUuIFVzZWQgYnkgdGhlIGdyaWQgdG8gZGV0ZXJtaW5lIHJvdyB3aWR0aC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtd2lkdGg6IHJlbS1jYWxjKDEyMDApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3IgYWxsIHR5cGUuIGAkZ2xvYmFsLWxpbmVoZWlnaHRgIGlzIDI0cHggd2hpbGUgYCRnbG9iYWwtZm9udC1zaXplYCBpcyAxNnB4XG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWxpbmVoZWlnaHQ6IDEuNSAhZGVmYXVsdDtcblxuLy8vIENvbG9ycyB1c2VkIGZvciBidXR0b25zLCBjYWxsb3V0cywgbGlua3MsIGV0Yy4gVGhlcmUgbXVzdCBhbHdheXMgYmUgYSBjb2xvciBjYWxsZWQgYHByaW1hcnlgLlxuLy8vIEB0eXBlIE1hcFxuJGZvdW5kYXRpb24tcGFsZXR0ZTogKFxuICBwcmltYXJ5OiAjMTc3OWJhLFxuICBzZWNvbmRhcnk6ICM3Njc2NzYsXG4gIHN1Y2Nlc3M6ICMzYWRiNzYsXG4gIHdhcm5pbmc6ICNmZmFlMDAsXG4gIGFsZXJ0OiAjY2M0YjM3LFxuKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGxpZ2h0IGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsaWdodC1ncmF5OiAjZTZlNmU2ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgbWVkaXVtIGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRtZWRpdW0tZ3JheTogI2NhY2FjYSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGRhcmsgZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRhcmstZ3JheTogIzhhOGE4YSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGJsYWNrIHVpIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kYmxhY2s6ICMwYTBhMGEgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciB3aGl0ZSB1aSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJHdoaXRlOiAjZmVmZWZlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBDb2xvclxuJGJvZHktYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBDb2xvclxuJGJvZHktZm9udC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdGFjayBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBMaXN0XG4kYm9keS1mb250LWZhbWlseTogJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuXG4vLy8gU2V0IHRvIGB0cnVlYCB0byBlbmFibGUgYW50aWFsaWFzZWQgdHlwZSwgdXNpbmcgdGhlIGAtd2Via2l0LWZvbnQtc21vb3RoaW5nYCBhbmQgYC1tb3otb3N4LWZvbnQtc21vb3RoaW5nYCBDU1MgcHJvcGVydGllcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYm9keS1hbnRpYWxpYXNlZDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBtYXJnaW4gb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIHBhZGRpbmcgb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBwb3NpdGlvbmluZyBvbiBjb21wb25lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1wb3NpdGlvbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCBmb250IHdlaWdodCB1c2VkIGZvciBub3JtYWwgdHlwZS5cbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXG4kZ2xvYmFsLXdlaWdodC1ub3JtYWw6IG5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCBmb250IHdlaWdodCB1c2VkIGZvciBib2xkIHR5cGUuXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGdsb2JhbC13ZWlnaHQtYm9sZDogYm9sZCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBhbGwgZWxlbWVudHMgdGhhdCBoYXZlIGEgYm9yZGVyIHJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcmFkaXVzOiAwICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIGFsbCBtZW51IHN0eWxlcy4gQ2FuIGJlIG92ZXJ3cml0dGVuIGF0IGluZGl2aWR1YWwgbWVudSBjb21wb25lbnQgbGV2ZWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLW1lbnUtcGFkZGluZzogMC43cmVtIDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgYWxsIG1lbnUgc3R5bGVzLiBOZXN0ZWQgbWFyZ2luIGZvciBzdWJtZW51LlxuJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIHRoZSB0ZXh0IGRpcmVjdGlvbiBvZiB0aGUgQ1NTLiBDYW4gYmUgZWl0aGVyIGBsdHJgIG9yIGBydGxgLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRnbG9iYWwtdGV4dC1kaXJlY3Rpb246IGx0ciAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZXMgZmxleGJveCBmb3IgY29tcG9uZW50cyB0aGF0IHN1cHBvcnQgaXQuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGdsb2JhbC1mbGV4Ym94OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gRW5hYmxlZCByZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBwcm90b3R5cGVzIGlmIGFwcGxpY2FibGVcbi8vLyBAdHlwZSBCb29sZWFuXG4kZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50czogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBCdXR0b24gY3Vyc29yJ3MgdmFsdWUsIGBhdXRvYCBieSBkZWZhdWx0XG4vLy8gQHR5cGUgS2V5d29yZFxuJGdsb2JhbC1idXR0b24tY3Vyc29yOiBhdXRvICFkZWZhdWx0O1xuXG5AaWYgbm90IG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpIHtcbiAgQGVycm9yICdJbiAkZm91bmRhdGlvbi1wYWxldHRlLCB5b3UgbXVzdCBoYXZlIGEgY29sb3IgbmFtZWQgXCJwcmltYXJ5XCIuJztcbn1cblxuLy8gSW50ZXJuYWwgdmFyaWFibGVzIHVzZWQgZm9yIHRleHQgZGlyZWN0aW9uXG4kZ2xvYmFsLWxlZnQ6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCByaWdodCwgbGVmdCk7XG4kZ2xvYmFsLXJpZ2h0OiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgbGVmdCwgcmlnaHQpO1xuXG4vLyBJbnRlcm5hbCB2YXJpYWJsZSB0aGF0IGNvbnRhaW5zIHRoZSBmbGV4IGp1c3RpZnlpbmcgb3B0aW9uc1xuJC16Zi1mbGV4LWp1c3RpZnk6IC16Zi1mbGV4LWp1c3RpZnkoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbik7XG5cbi8vLyBHbG9iYWwgdG9sZXJhbmNlIGZvciBjb2xvciBwaWNrIGNvbnRyYXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZTogMCAhZGVmYXVsdDtcblxuLy8gSW50ZXJuYWwgdmFyaWFibGVzIHVzZWQgZm9yIGNvbG9yc1xuQGluY2x1ZGUgYWRkLWZvdW5kYXRpb24tY29sb3JzO1xuXG5AbWl4aW4gZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzIHtcbiAgQGluY2x1ZGUgLXpmLW5vcm1hbGl6ZTtcblxuICAvLyBUaGVzZSBzdHlsZXMgYXJlIGFwcGxpZWQgdG8gYSA8bWV0YT4gdGFnLCB3aGljaCBpcyByZWFkIGJ5IHRoZSBGb3VuZGF0aW9uIEphdmFTY3JpcHRcbiAgLmZvdW5kYXRpb24tbXEge1xuICAgIGZvbnQtZmFtaWx5OiAnI3stemYtYnAtc2VyaWFsaXplKCRicmVha3BvaW50cyl9JztcbiAgfVxuXG4gIGh0bWwge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIFNldCBib3gtc2l6aW5nIGdsb2JhbGx5IHRvIGhhbmRsZSBwYWRkaW5nIGFuZCBib3JkZXIgd2lkdGhzXG4gICosXG4gICo6OmJlZm9yZSxcbiAgKjo6YWZ0ZXIge1xuICAgIGJveC1zaXppbmc6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBEZWZhdWx0IGJvZHkgc3R5bGVzXG4gIGJvZHkge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcblxuICAgIGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQ7XG4gICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG5cbiAgICBAaWYgKCRib2R5LWFudGlhbGlhc2VkKSB7XG4gICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgfVxuICB9XG5cbiAgaW1nIHtcbiAgICAvLyBHZXQgcmlkIG9mIGdhcCB1bmRlciBpbWFnZXMgYnkgbWFraW5nIHRoZW0gZGlzcGxheTogaW5saW5lLWJsb2NrOyBieSBkZWZhdWx0XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAvLyBHcmlkIGRlZmF1bHRzIHRvIGdldCBpbWFnZXMgYW5kIGVtYmVkcyB0byB3b3JrIHByb3Blcmx5XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljO1xuICB9XG5cbiAgLy8gTWFrZSBzdXJlIHRleHRhcmVhIHRha2VzIG9uIGhlaWdodCBhdXRvbWF0aWNhbGx5XG4gIHRleHRhcmVhIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWluLWhlaWdodDogNTBweDtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gIC8vIE1ha2Ugc2VsZWN0IGVsZW1lbnRzIGFyZSAxMDAlIHdpZHRoIGJ5IGRlZmF1bHRcbiAgc2VsZWN0IHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgLy8gU3R5bGVzIEdvb2dsZSBNYXBzIGFuZCBNYXBRdWVzdCBlbWJlZHMgcHJvcGVybHlcbiAgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1pZHNcbiAgLm1hcF9jYW52YXMsXG4gIC5tcWEtZGlzcGxheSB7XG4gICAgaW1nLFxuICAgIGVtYmVkLFxuICAgIG9iamVjdCB7XG4gICAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCA8YnV0dG9uPiBzdHlsZXMgY3JlYXRlZCBieSBtb3N0IGJyb3dzZXJzXG4gIGJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY3Vyc29yOiAkZ2xvYmFsLWJ1dHRvbi1jdXJzb3I7XG4gIH1cblxuICAvLyBQcmV2ZW50IHRleHQgb3ZlcmZsb3cgb24gcHJlXG4gIHByZSB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gIH1cblxuICAvLyBNYWtlIHJlc2V0IGluaGVyaXQgZm9udC1mYW1pbHkgaW5zdGVhZCBvZiBzZXR0aW5ncyBzYW5zLXNlcmlmXG4gIGJ1dHRvbixcbiAgaW5wdXQsXG4gIG9wdGdyb3VwLFxuICBzZWxlY3QsXG4gIHRleHRhcmVhIHtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIEludGVybmFsIGNsYXNzZXMgdG8gc2hvdy9oaWRlIGVsZW1lbnRzIGluIEphdmFTY3JpcHRcbiAgLmlzLXZpc2libGUge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuaXMtaGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIExvYWRzIG5vcm1hbGl6ZS5jc3MuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AbWl4aW4gLXpmLW5vcm1hbGl6ZSB7XG4gIEBpbmNsdWRlIG5vcm1hbGl6ZSgpO1xufVxuIiwiLy8gIEZvdW5kYXRpb24gZm9yIFNpdGVzIFNldHRpbmdzXG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vXG4vLyAgVGFibGUgb2YgQ29udGVudHM6XG4vL1xuLy8gICAxLiBHbG9iYWxcbi8vICAgMi4gQnJlYWtwb2ludHNcbi8vICAgMy4gVGhlIEdyaWRcbi8vICAgNC4gQmFzZSBUeXBvZ3JhcGh5XG4vLyAgIDUuIFR5cG9ncmFwaHkgSGVscGVyc1xuLy8gICA2LiBBYmlkZVxuLy8gICA3LiBBY2NvcmRpb25cbi8vICAgOC4gQWNjb3JkaW9uIE1lbnVcbi8vICAgOS4gQmFkZ2Vcbi8vICAxMC4gQnJlYWRjcnVtYnNcbi8vICAxMS4gQnV0dG9uXG4vLyAgMTIuIEJ1dHRvbiBHcm91cFxuLy8gIDEzLiBDYWxsb3V0XG4vLyAgMTQuIENhcmRcbi8vICAxNS4gQ2xvc2UgQnV0dG9uXG4vLyAgMTYuIERyaWxsZG93blxuLy8gIDE3LiBEcm9wZG93blxuLy8gIDE4LiBEcm9wZG93biBNZW51XG4vLyAgMTkuIEZsZXhib3ggVXRpbGl0aWVzXG4vLyAgMjAuIEZvcm1zXG4vLyAgMjEuIExhYmVsXG4vLyAgMjIuIE1lZGlhIE9iamVjdFxuLy8gIDIzLiBNZW51XG4vLyAgMjQuIE1ldGVyXG4vLyAgMjUuIE9mZi1jYW52YXNcbi8vICAyNi4gT3JiaXRcbi8vICAyNy4gUGFnaW5hdGlvblxuLy8gIDI4LiBQcm9ncmVzcyBCYXJcbi8vICAyOS4gUHJvdG90eXBlIEFycm93XG4vLyAgMzAuIFByb3RvdHlwZSBCb3JkZXItQm94XG4vLyAgMzEuIFByb3RvdHlwZSBCb3JkZXItTm9uZVxuLy8gIDMyLiBQcm90b3R5cGUgQm9yZGVyZWRcbi8vICAzMy4gUHJvdG90eXBlIERpc3BsYXlcbi8vICAzNC4gUHJvdG90eXBlIEZvbnQtU3R5bGluZ1xuLy8gIDM1LiBQcm90b3R5cGUgTGlzdC1TdHlsZS1UeXBlXG4vLyAgMzYuIFByb3RvdHlwZSBPdmVyZmxvd1xuLy8gIDM3LiBQcm90b3R5cGUgUG9zaXRpb25cbi8vICAzOC4gUHJvdG90eXBlIFJvdW5kZWRcbi8vICAzOS4gUHJvdG90eXBlIFNlcGFyYXRvclxuLy8gIDQwLiBQcm90b3R5cGUgU2hhZG93XG4vLyAgNDEuIFByb3RvdHlwZSBTaXppbmdcbi8vICA0Mi4gUHJvdG90eXBlIFNwYWNpbmdcbi8vICA0My4gUHJvdG90eXBlIFRleHQtRGVjb3JhdGlvblxuLy8gIDQ0LiBQcm90b3R5cGUgVGV4dC1UcmFuc2Zvcm1hdGlvblxuLy8gIDQ1LiBQcm90b3R5cGUgVGV4dC1VdGlsaXRpZXNcbi8vICA0Ni4gUmVzcG9uc2l2ZSBFbWJlZFxuLy8gIDQ3LiBSZXZlYWxcbi8vICA0OC4gU2xpZGVyXG4vLyAgNDkuIFN3aXRjaFxuLy8gIDUwLiBUYWJsZVxuLy8gIDUxLiBUYWJzXG4vLyAgNTIuIFRodW1ibmFpbFxuLy8gIDUzLiBUaXRsZSBCYXJcbi8vICA1NC4gVG9vbHRpcFxuLy8gIDU1LiBUb3AgQmFyXG4vLyAgNTYuIFh5IEdyaWRcblxuQGltcG9ydCAndXRpbC91dGlsJztcblxuLy8gMS4gR2xvYmFsXG4vLyAtLS0tLS0tLS1cblxuJHByaW1hcnktY29sb3I6ICM2OGJiYzg7XG4vLyAkZ3JleTogIzU4NTg1YjtcblxuXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJTtcbiRnbG9iYWwtd2lkdGg6IHJlbS1jYWxjKDEyMDApO1xuJGdsb2JhbC1saW5laGVpZ2h0OiAxLjU7XG4kZm91bmRhdGlvbi1wYWxldHRlOiAoXG4gIHByaW1hcnk6ICM2OGJiYzgsXG4gIHNlY29uZGFyeTogI2YwNTg2MSxcbiAgc3VjY2VzczogIzc5YmM0YyxcbiAgd2FybmluZzogI2Y2OGUzNSxcbiAgYWxlcnQ6ICNmMDU4NjEsXG4pO1xuJGxpZ2h0LWdyYXk6ICNlNmU2ZTY7XG4kbWVkaXVtLWdyYXk6ICNjYWNhY2E7XG4kZGFyay1ncmF5OiAjOGE4YThhO1xuJGJsYWNrOiAjMGEwYTBhO1xuJHdoaXRlOiAjZmZmZmZmO1xuJGJvZHktYmFja2dyb3VuZDogJHdoaXRlO1xuJGJvZHktZm9udC1jb2xvcjogJGJsYWNrO1xuJGJvZHktZm9udC1mYW1pbHk6ICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiRib2R5LWFudGlhbGlhc2VkOiB0cnVlO1xuJGdsb2JhbC1tYXJnaW46IDFyZW07XG4kZ2xvYmFsLXBhZGRpbmc6IDFyZW07XG4kZ2xvYmFsLXBvc2l0aW9uOiAxcmVtO1xuJGdsb2JhbC13ZWlnaHQtbm9ybWFsOiBub3JtYWw7XG4kZ2xvYmFsLXdlaWdodC1ib2xkOiBib2xkO1xuJGdsb2JhbC1yYWRpdXM6IHJlbS1jYWxjKDQpO1xuJGdsb2JhbC1tZW51LXBhZGRpbmc6IDAuN3JlbSAxcmVtO1xuJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW46IDFyZW07XG4kZ2xvYmFsLXRleHQtZGlyZWN0aW9uOiBsdHI7XG4kZ2xvYmFsLWZsZXhib3g6IHRydWU7XG4kZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50czogZmFsc2U7XG4kZ2xvYmFsLWJ1dHRvbi1jdXJzb3I6IGF1dG87XG4kZ2xvYmFsLWNvbG9yLXBpY2stY29udHJhc3QtdG9sZXJhbmNlOiAwO1xuJHByaW50LXRyYW5zcGFyZW50LWJhY2tncm91bmRzOiB0cnVlO1xuXG5AaW5jbHVkZSBhZGQtZm91bmRhdGlvbi1jb2xvcnM7XG5cblxuLy8gJGJyZWFrcG9pbnRzOiAoXG4vLyAgICAgc21hbGw6IDAsXG4vLyAgICAgc21hbGwtcGhvbmU6IDMyMHB4LFxuLy8gICAgIG1lZGl1bTogNzY5cHgsXG4vLyAgICAgbGFyZ2U6IDEwMjVweCxcbi8vICAgICB4bGFyZ2U6IDEyMDBweCxcbi8vICAgICB4eGxhcmdlOiAxNDQwcHgsXG4vLyAgICAgeHh4bGFyZ2U6IDE5MjBweCxcbi8vICAgICBuYXY6IDc2MHB4LFxuLy8gICAgIG5hdi1iaWc6IDEzNDBweCxcbi8vICk7XG4vLyAkcHJpbnQtYnJlYWtwb2ludDogbGFyZ2U7XG4vLyAkYnJlYWtwb2ludC1jbGFzc2VzOiAoc21hbGwgbWVkaXVtIG5hdiBsYXJnZSk7XG5cbi8vIDIuIEJyZWFrcG9pbnRzXG4vLyAtLS0tLS0tLS0tLS0tLVxuXG4kYnJlYWtwb2ludHM6IChcbiAgLy8geHNtYWxsOiAwLFxuICBzbWFsbDogMCxcbiAgbWVkaXVtOiA2NDBweCxcbiAgbGFyZ2U6IDEwMjRweCxcbiAgeGxhcmdlOiAxMjAwcHgsXG4gIHh4bGFyZ2U6IDE0NDBweCxcbik7XG4kcHJpbnQtYnJlYWtwb2ludDogbGFyZ2U7XG4kYnJlYWtwb2ludC1jbGFzc2VzOiAoc21hbGwgbWVkaXVtIGxhcmdlKTtcblxuLy8gMy4gVGhlIEdyaWRcbi8vIC0tLS0tLS0tLS0tXG5cbiRncmlkLXJvdy13aWR0aDogJGdsb2JhbC13aWR0aDtcbiRncmlkLWNvbHVtbi1jb3VudDogMTI7XG4kZ3JpZC1jb2x1bW4tZ3V0dGVyOiAoXG4gIHNtYWxsOiAyMHB4LFxuICBtZWRpdW06IDIwcHgsXG4pO1xuJGdyaWQtY29sdW1uLWFsaWduLWVkZ2U6IHRydWU7XG4kZ3JpZC1jb2x1bW4tYWxpYXM6ICdjb2x1bW5zJztcbiRibG9jay1ncmlkLW1heDogODtcblxuLy8gNC4gQmFzZSBUeXBvZ3JhcGh5XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS1cblxuJGhlYWRlci1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG4kaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kaGVhZGVyLWZvbnQtc3R5bGU6IG5vcm1hbDtcbiRmb250LWZhbWlseS1tb25vc3BhY2U6IENvbnNvbGFzLCAnTGliZXJhdGlvbiBNb25vJywgQ291cmllciwgbW9ub3NwYWNlO1xuJGhlYWRlci1jb2xvcjogaW5oZXJpdDtcbiRoZWFkZXItbGluZWhlaWdodDogMS40O1xuJGhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW07XG4kaGVhZGVyLXN0eWxlczogKFxuICBzbWFsbDogKFxuICAgICdoMSc6ICgnZm9udC1zaXplJzogMjQpLFxuICAgICdoMic6ICgnZm9udC1zaXplJzogMjApLFxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMTkpLFxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMTgpLFxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMTcpLFxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTYpLFxuICApLFxuICBtZWRpdW06IChcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDQ4KSxcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDQwKSxcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDMxKSxcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDI1KSxcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDIwKSxcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE2KSxcbiAgKSxcbik7XG4kaGVhZGVyLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4kc21hbGwtZm9udC1zaXplOiA4MCU7XG4kaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I6ICRtZWRpdW0tZ3JheTtcbiRwYXJhZ3JhcGgtbGluZWhlaWdodDogMS42O1xuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAxcmVtO1xuJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuJGNvZGUtY29sb3I6ICRibGFjaztcbiRjb2RlLWZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlO1xuJGNvZGUtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRjb2RlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGNvZGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGNvZGUtcGFkZGluZzogcmVtLWNhbGMoMiA1IDEpO1xuJGFuY2hvci1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kYW5jaG9yLWNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkYW5jaG9yLWNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKTtcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI6IG5vbmU7XG4kaHItd2lkdGg6ICRnbG9iYWwtd2lkdGg7XG4kaHItYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGhyLW1hcmdpbjogcmVtLWNhbGMoMjApIGF1dG87XG4kbGlzdC1saW5laGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XG4kbGlzdC1tYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG4kbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xuJGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGU7XG4kbGlzdC1zaWRlLW1hcmdpbjogMS4yNXJlbTtcbiRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjogMS4yNXJlbTtcbiRkZWZubGlzdC1tYXJnaW4tYm90dG9tOiAxcmVtO1xuJGRlZm5saXN0LXRlcm0td2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTogMC4zcmVtO1xuJGJsb2NrcXVvdGUtY29sb3I6ICRkYXJrLWdyYXk7XG4kYmxvY2txdW90ZS1wYWRkaW5nOiByZW0tY2FsYyg5IDIwIDAgMTkpO1xuJGJsb2NrcXVvdGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGNpdGUtZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4kY2l0ZS1jb2xvcjogJGRhcmstZ3JheTtcbiRjaXRlLXBzZXVkby1jb250ZW50OiAnXFwyMDE0IFxcMDAyMCc7XG4ka2V5c3Ryb2tlLWZvbnQ6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XG4ka2V5c3Ryb2tlLWNvbG9yOiAkYmxhY2s7XG4ka2V5c3Ryb2tlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGtleXN0cm9rZS1wYWRkaW5nOiByZW0tY2FsYygyIDQgMCk7XG4ka2V5c3Ryb2tlLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kYWJici11bmRlcmxpbmU6IDFweCBkb3R0ZWQgJGJsYWNrO1xuXG4vLyA1LiBUeXBvZ3JhcGh5IEhlbHBlcnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kbGVhZC1mb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplICogMS4yNTtcbiRsZWFkLWxpbmVoZWlnaHQ6IDEuNjtcbiRzdWJoZWFkZXItbGluZWhlaWdodDogMS40O1xuJHN1YmhlYWRlci1jb2xvcjogJGRhcmstZ3JheTtcbiRzdWJoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRzdWJoZWFkZXItbWFyZ2luLXRvcDogMC4ycmVtO1xuJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW07XG4kc3RhdC1mb250LXNpemU6IDIuNXJlbTtcblxuLy8gNi4gQWJpZGVcbi8vIC0tLS0tLS0tXG5cbiRhYmlkZS1pbnB1dHM6IHRydWU7XG4kYWJpZGUtbGFiZWxzOiB0cnVlO1xuJGlucHV0LWJhY2tncm91bmQtaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KTtcbiRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCk7XG4kaW5wdXQtZXJyb3ItY29sb3I6IGdldC1jb2xvcihhbGVydCk7XG4kaW5wdXQtZXJyb3ItZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4kaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG5cbi8vIDcuIEFjY29yZGlvblxuLy8gLS0tLS0tLS0tLS0tXG5cbiRhY2NvcmRpb24tYmFja2dyb3VuZDogJHdoaXRlO1xuJGFjY29yZGlvbi1wbHVzbWludXM6IHRydWU7XG4kYWNjb3JkaW9uLXRpdGxlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuJGFjY29yZGlvbi1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRhY2NvcmRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheTtcbiRhY2NvcmRpb24taXRlbS1wYWRkaW5nOiAxLjI1cmVtIDFyZW07XG4kYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xuJGFjY29yZGlvbi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmc6IDFyZW07XG5cbi8vIDguIEFjY29yZGlvbiBNZW51XG4vLyAtLS0tLS0tLS0tLS0tLS0tLVxuXG4kYWNjb3JkaW9ubWVudS1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcbiRhY2NvcmRpb25tZW51LW5lc3RlZC1tYXJnaW46ICRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luO1xuJGFjY29yZGlvbm1lbnUtc3VibWVudS1wYWRkaW5nOiAkYWNjb3JkaW9ubWVudS1wYWRkaW5nO1xuJGFjY29yZGlvbm1lbnUtYXJyb3dzOiB0cnVlO1xuJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGFjY29yZGlvbm1lbnUtaXRlbS1iYWNrZ3JvdW5kOiBudWxsO1xuJGFjY29yZGlvbm1lbnUtYm9yZGVyOiBudWxsO1xuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtYmFja2dyb3VuZDogbnVsbDtcbiRhY2NvcmRpb24tc3VibWVudS10b2dnbGUtYm9yZGVyOiAkYWNjb3JkaW9ubWVudS1ib3JkZXI7XG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aDogNDBweDtcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWhlaWdodDogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg7XG4kYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplOiA2cHg7XG5cbi8vIDkuIEJhZGdlXG4vLyAtLS0tLS0tLVxuXG4kYmFkZ2UtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kYmFkZ2UtY29sb3I6ICR3aGl0ZTtcbiRiYWRnZS1jb2xvci1hbHQ6ICRibGFjaztcbiRiYWRnZS1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlO1xuJGJhZGdlLXBhZGRpbmc6IDAuM2VtO1xuJGJhZGdlLW1pbndpZHRoOiAyLjFlbTtcbiRiYWRnZS1mb250LXNpemU6IDAuNnJlbTtcblxuLy8gMTAuIEJyZWFkY3J1bWJzXG4vLyAtLS0tLS0tLS0tLS0tLS1cblxuJGJyZWFkY3J1bWJzLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDA7XG4kYnJlYWRjcnVtYnMtaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDExKTtcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWN1cnJlbnQ6ICRibGFjaztcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXk7XG4kYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW46IDAuNzVyZW07XG4kYnJlYWRjcnVtYnMtaXRlbS11cHBlcmNhc2U6IHRydWU7XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3I6IHRydWU7XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbTogJy8nO1xuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW0tcnRsOiAnXFxcXCc7XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItY29sb3I6ICRtZWRpdW0tZ3JheTtcblxuLy8gMTEuIEJ1dHRvblxuLy8gLS0tLS0tLS0tLVxuXG4kYnV0dG9uLWZvbnQtZmFtaWx5OiBpbmhlcml0O1xuJGJ1dHRvbi1wYWRkaW5nOiAxLjE1ZW0gMi41ZW07XG4kYnV0dG9uLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDA7XG4kYnV0dG9uLWZpbGw6IHNvbGlkO1xuJGJ1dHRvbi1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJ1dHRvbi1iYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtMTUlKTtcbiRidXR0b24tY29sb3I6ICR3aGl0ZTtcbiRidXR0b24tY29sb3ItYWx0OiAkYmxhY2s7XG4kYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kYnV0dG9uLWhvbGxvdy1ib3JkZXItd2lkdGg6IDFweDtcbiRidXR0b24tc2l6ZXM6IChcbiAgdGlueTogMC42cmVtLFxuICBzbWFsbDogMC43NXJlbSxcbiAgZGVmYXVsdDogMC45cmVtLFxuICBsYXJnZTogMS4yNXJlbSxcbik7XG4kYnV0dG9uLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGU7XG4kYnV0dG9uLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjU7XG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAtMjAlO1xuJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzOiAtNTAlO1xuJGJ1dHRvbi10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LCBjb2xvciAwLjI1cyBlYXNlLW91dDtcbiRidXR0b24tcmVzcG9uc2l2ZS1leHBhbmRlZDogZmFsc2U7XG5cbi8vIDEyLiBCdXR0b24gR3JvdXBcbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJGJ1dHRvbmdyb3VwLW1hcmdpbjogMXJlbTtcbiRidXR0b25ncm91cC1zcGFjaW5nOiAxcHg7XG4kYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3I6ICcuYnV0dG9uJztcbiRidXR0b25ncm91cC1leHBhbmQtbWF4OiA2O1xuJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoOiB0cnVlO1xuXG4vLyAxMy4gQ2FsbG91dFxuLy8gLS0tLS0tLS0tLS1cblxuJGNhbGxvdXQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGNhbGxvdXQtYmFja2dyb3VuZC1mYWRlOiA4NSU7XG4kY2FsbG91dC1ib3JkZXI6IDFweCBzb2xpZCByZ2JhKCRibGFjaywgMC4yNSk7XG4kY2FsbG91dC1tYXJnaW46IDAgMCAxcmVtIDA7XG4kY2FsbG91dC1wYWRkaW5nOiAxcmVtO1xuJGNhbGxvdXQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRjYWxsb3V0LWZvbnQtY29sb3ItYWx0OiAkYm9keS1iYWNrZ3JvdW5kO1xuJGNhbGxvdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRjYWxsb3V0LWxpbmstdGludDogMzAlO1xuXG4vLyAxNC4gQ2FyZFxuLy8gLS0tLS0tLS1cblxuJGNhcmQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGNhcmQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRjYXJkLWRpdmlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kY2FyZC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiRjYXJkLXNoYWRvdzogbm9uZTtcbiRjYXJkLWJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGNhcmQtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xuJGNhcmQtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG5cbi8vIDE1LiBDbG9zZSBCdXR0b25cbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJGNsb3NlYnV0dG9uLXBvc2l0aW9uOiByaWdodCB0b3A7XG4kY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWw6IChcbiAgc21hbGw6IDAuNjZyZW0sXG4gIG1lZGl1bTogMXJlbSxcbik7XG4kY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsOiAoXG4gIHNtYWxsOiAwLjMzZW0sXG4gIG1lZGl1bTogMC41cmVtLFxuKTtcbiRjbG9zZWJ1dHRvbi1zaXplOiAoXG4gIHNtYWxsOiAxLjVlbSxcbiAgbWVkaXVtOiAyZW0sXG4pO1xuJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQ6IDE7XG4kY2xvc2VidXR0b24tY29sb3I6ICRkYXJrLWdyYXk7XG4kY2xvc2VidXR0b24tY29sb3ItaG92ZXI6ICRibGFjaztcblxuLy8gMTYuIERyaWxsZG93blxuLy8gLS0tLS0tLS0tLS0tLVxuXG4kZHJpbGxkb3duLXRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBsaW5lYXI7XG4kZHJpbGxkb3duLWFycm93czogdHJ1ZTtcbiRkcmlsbGRvd24tcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XG4kZHJpbGxkb3duLW5lc3RlZC1tYXJnaW46IDA7XG4kZHJpbGxkb3duLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRkcmlsbGRvd24tc3VibWVudS1wYWRkaW5nOiAkZHJpbGxkb3duLXBhZGRpbmc7XG4kZHJpbGxkb3duLXN1Ym1lbnUtYmFja2dyb3VuZDogJHdoaXRlO1xuJGRyaWxsZG93bi1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kZHJpbGxkb3duLWFycm93LXNpemU6IDZweDtcblxuLy8gMTcuIERyb3Bkb3duXG4vLyAtLS0tLS0tLS0tLS1cblxuJGRyb3Bkb3duLXBhZGRpbmc6IDFyZW07XG4kZHJvcGRvd24tYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcbiRkcm9wZG93bi1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kZHJvcGRvd24tZm9udC1zaXplOiAxcmVtO1xuJGRyb3Bkb3duLXdpZHRoOiAzMDBweDtcbiRkcm9wZG93bi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGRyb3Bkb3duLXNpemVzOiAoXG4gIHRpbnk6IDEwMHB4LFxuICBzbWFsbDogMjAwcHgsXG4gIGxhcmdlOiA0MDBweCxcbik7XG5cbi8vIDE4LiBEcm9wZG93biBNZW51XG4vLyAtLS0tLS0tLS0tLS0tLS0tLVxuXG4kZHJvcGRvd25tZW51LWFycm93czogdHJ1ZTtcbiRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3I6ICRhbmNob3ItY29sb3I7XG4kZHJvcGRvd25tZW51LWFycm93LXNpemU6IDZweDtcbiRkcm9wZG93bm1lbnUtYXJyb3ctcGFkZGluZzogMS41cmVtO1xuJGRyb3Bkb3dubWVudS1taW4td2lkdGg6IDIwMHB4O1xuJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kZHJvcGRvd25tZW51LXN1Ym1lbnUtYmFja2dyb3VuZDogJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kO1xuJGRyb3Bkb3dubWVudS1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcbiRkcm9wZG93bm1lbnUtbmVzdGVkLW1hcmdpbjogMDtcbiRkcm9wZG93bm1lbnUtc3VibWVudS1wYWRkaW5nOiAkZHJvcGRvd25tZW51LXBhZGRpbmc7XG4kZHJvcGRvd25tZW51LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRkcm9wZG93bi1tZW51LWl0ZW0tY29sb3ItYWN0aXZlOiBnZXQtY29sb3IocHJpbWFyeSk7XG4kZHJvcGRvd24tbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiB0cmFuc3BhcmVudDtcblxuLy8gMTkuIEZsZXhib3ggVXRpbGl0aWVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJGZsZXgtc291cmNlLW9yZGVyaW5nLWNvdW50OiA2O1xuJGZsZXhib3gtcmVzcG9uc2l2ZS1icmVha3BvaW50czogdHJ1ZTtcblxuLy8gMjAuIEZvcm1zXG4vLyAtLS0tLS0tLS1cblxuJGZpZWxkc2V0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRmaWVsZHNldC1wYWRkaW5nOiByZW0tY2FsYygyMCk7XG4kZmllbGRzZXQtbWFyZ2luOiByZW0tY2FsYygxOCAwKTtcbiRsZWdlbmQtcGFkZGluZzogcmVtLWNhbGMoMCAzKTtcbiRmb3JtLXNwYWNpbmc6IHJlbS1jYWxjKDE2KTtcbiRoZWxwdGV4dC1jb2xvcjogJGJsYWNrO1xuJGhlbHB0ZXh0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuJGhlbHB0ZXh0LWZvbnQtc3R5bGU6IGl0YWxpYztcbiRpbnB1dC1wcmVmaXgtY29sb3I6ICRibGFjaztcbiRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kaW5wdXQtcHJlZml4LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRpbnB1dC1wcmVmaXgtcGFkZGluZzogMXJlbTtcbiRmb3JtLWxhYmVsLWNvbG9yOiAkYmxhY2s7XG4kZm9ybS1sYWJlbC1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kZm9ybS1sYWJlbC1saW5lLWhlaWdodDogMS44O1xuJHNlbGVjdC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kc2VsZWN0LXRyaWFuZ2xlLWNvbG9yOiAkZGFyay1ncmF5O1xuJHNlbGVjdC1yYWRpdXM6IDA7XG4kaW5wdXQtY29sb3I6ICRibGFjaztcbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogJG1lZGl1bS1ncmF5O1xuJGlucHV0LWZvbnQtZmFtaWx5OiBpbmhlcml0O1xuJGlucHV0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuJGlucHV0LWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kaW5wdXQtbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodDtcbiRpbnB1dC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kaW5wdXQtYmFja2dyb3VuZC1mb2N1czogJHdoaXRlO1xuJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ6ICRsaWdodC1ncmF5O1xuJGlucHV0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRpbnB1dC1ib3JkZXItZm9jdXM6IDFweCBzb2xpZCAkZGFyay1ncmF5O1xuJGlucHV0LXBhZGRpbmc6ICRmb3JtLXNwYWNpbmcgLyAyIHJlbS1jYWxjKDE4KTtcbiRpbnB1dC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKCRibGFjaywgMC4xKTtcbiRpbnB1dC1zaGFkb3ctZm9jdXM6IDAgMCA1cHggJG1lZGl1bS1ncmF5O1xuJGlucHV0LWN1cnNvci1kaXNhYmxlZDogbm90LWFsbG93ZWQ7XG4kaW5wdXQtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7XG4kaW5wdXQtbnVtYmVyLXNwaW5uZXJzOiB0cnVlO1xuJGlucHV0LXJhZGl1czogMDtcbiRmb3JtLWJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAyMS4gTGFiZWxcbi8vIC0tLS0tLS0tLVxuXG4kbGFiZWwtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kbGFiZWwtY29sb3I6ICR3aGl0ZTtcbiRsYWJlbC1jb2xvci1hbHQ6ICRibGFjaztcbiRsYWJlbC1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlO1xuJGxhYmVsLWZvbnQtc2l6ZTogMC44cmVtO1xuJGxhYmVsLXBhZGRpbmc6IDAuMzMzMzNyZW0gMC41cmVtO1xuJGxhYmVsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDIyLiBNZWRpYSBPYmplY3Rcbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJG1lZGlhb2JqZWN0LW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xuJG1lZGlhb2JqZWN0LWltYWdlLXdpZHRoLXN0YWNrZWQ6IDEwMCU7XG5cbi8vIDIzLiBNZW51XG4vLyAtLS0tLS0tLVxuXG4kbWVudS1tYXJnaW46IDA7XG4kbWVudS1uZXN0ZWQtbWFyZ2luOiAkZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjtcbiRtZW51LWl0ZW1zLXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xuJG1lbnUtc2ltcGxlLW1hcmdpbjogMXJlbTtcbiRtZW51LWl0ZW0tY29sb3ItYWN0aXZlOiAkd2hpdGU7XG4kbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiBnZXQtY29sb3IocHJpbWFyeSk7XG4kbWVudS1pY29uLXNwYWNpbmc6IDAuMjVyZW07XG4kbWVudS1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5O1xuJG1lbnUtc3RhdGUtYmFjay1jb21wYXQ6IHRydWU7XG4kbWVudS1jZW50ZXJlZC1iYWNrLWNvbXBhdDogdHJ1ZTtcbiRtZW51LWljb25zLWJhY2stY29tcGF0OiB0cnVlO1xuXG4vLyAyNC4gTWV0ZXJcbi8vIC0tLS0tLS0tLVxuXG4kbWV0ZXItaGVpZ2h0OiAxcmVtO1xuJG1ldGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kbWV0ZXItYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJG1ldGVyLWZpbGwtZ29vZDogJHN1Y2Nlc3MtY29sb3I7XG4kbWV0ZXItZmlsbC1tZWRpdW06ICR3YXJuaW5nLWNvbG9yO1xuJG1ldGVyLWZpbGwtYmFkOiAkYWxlcnQtY29sb3I7XG5cbi8vIDI1LiBPZmYtY2FudmFzXG4vLyAtLS0tLS0tLS0tLS0tLVxuXG4kb2ZmY2FudmFzLXNpemVzOiAoXG4gIHNtYWxsOiAyNTBweCxcbik7XG4kb2ZmY2FudmFzLXZlcnRpY2FsLXNpemVzOiAoXG4gIHNtYWxsOiAyNTBweCxcbik7XG4kb2ZmY2FudmFzLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJG9mZmNhbnZhcy1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoJGJsYWNrLCAwLjcpO1xuJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZTogMjBweDtcbiRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yOiByZ2JhKCRibGFjaywgMC4yNSk7XG4kb2ZmY2FudmFzLW92ZXJsYXktemluZGV4OiAxMTtcbiRvZmZjYW52YXMtcHVzaC16aW5kZXg6IDEyO1xuJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleDogMTM7XG4kb2ZmY2FudmFzLXJldmVhbC16aW5kZXg6IDEyO1xuJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aDogMC41cztcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc6IGVhc2U7XG4kb2ZmY2FudmFzLWZpeGVkLXJldmVhbDogdHJ1ZTtcbiRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kOiByZ2JhKCR3aGl0ZSwgMC4yNSk7XG4kbWFpbmNvbnRlbnQtY2xhc3M6ICdvZmYtY2FudmFzLWNvbnRlbnQnO1xuXG4vLyAyNi4gT3JiaXRcbi8vIC0tLS0tLS0tLVxuXG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZC1hY3RpdmU6ICRkYXJrLWdyYXk7XG4kb3JiaXQtYnVsbGV0LWRpYW1ldGVyOiAxLjJyZW07XG4kb3JiaXQtYnVsbGV0LW1hcmdpbjogMC4xcmVtO1xuJG9yYml0LWJ1bGxldC1tYXJnaW4tdG9wOiAwLjhyZW07XG4kb3JiaXQtYnVsbGV0LW1hcmdpbi1ib3R0b206IDAuOHJlbTtcbiRvcmJpdC1jYXB0aW9uLWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjUpO1xuJG9yYml0LWNhcHRpb24tcGFkZGluZzogMXJlbTtcbiRvcmJpdC1jb250cm9sLWJhY2tncm91bmQtaG92ZXI6IHJnYmEoJGJsYWNrLCAwLjUpO1xuJG9yYml0LWNvbnRyb2wtcGFkZGluZzogMXJlbTtcbiRvcmJpdC1jb250cm9sLXppbmRleDogMTA7XG5cbi8vIDI3LiBQYWdpbmF0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLVxuXG4kcGFnaW5hdGlvbi1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiRwYWdpbmF0aW9uLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJHBhZ2luYXRpb24taXRlbS1jb2xvcjogJGJsYWNrO1xuJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nOiByZW0tY2FsYygzIDEwKTtcbiRwYWdpbmF0aW9uLWl0ZW0tc3BhY2luZzogcmVtLWNhbGMoMSk7XG4kcGFnaW5hdGlvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheTtcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50OiAkcHJpbWFyeS1jb2xvcjtcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItY3VycmVudDogJHdoaXRlO1xuJHBhZ2luYXRpb24taXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5O1xuJHBhZ2luYXRpb24tZWxsaXBzaXMtY29sb3I6ICRibGFjaztcbiRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtczogZmFsc2U7XG4kcGFnaW5hdGlvbi1tb2JpbGUtY3VycmVudC1pdGVtOiBmYWxzZTtcbiRwYWdpbmF0aW9uLWFycm93czogdHJ1ZTtcblxuLy8gMjguIFByb2dyZXNzIEJhclxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvZ3Jlc3MtaGVpZ2h0OiAxcmVtO1xuJHByb2dyZXNzLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRwcm9ncmVzcy1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiRwcm9ncmVzcy1tZXRlci1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRwcm9ncmVzcy1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAyOS4gUHJvdG90eXBlIEFycm93XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtYXJyb3ctZGlyZWN0aW9uczogKFxuICBkb3duLFxuICB1cCxcbiAgcmlnaHQsXG4gIGxlZnRcbik7XG4kcHJvdG90eXBlLWFycm93LXNpemU6IDAuNDM3NXJlbTtcbiRwcm90b3R5cGUtYXJyb3ctY29sb3I6ICRibGFjaztcblxuLy8gMzAuIFByb3RvdHlwZSBCb3JkZXItQm94XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1ib3JkZXItYm94LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcblxuLy8gMzEuIFByb3RvdHlwZSBCb3JkZXItTm9uZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWJvcmRlci1ub25lLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcblxuLy8gMzIuIFByb3RvdHlwZSBCb3JkZXJlZFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWJvcmRlcmVkLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtYm9yZGVyLXdpZHRoOiByZW0tY2FsYygxKTtcbiRwcm90b3R5cGUtYm9yZGVyLXR5cGU6IHNvbGlkO1xuJHByb3RvdHlwZS1ib3JkZXItY29sb3I6ICRtZWRpdW0tZ3JheTtcblxuLy8gMzMuIFByb3RvdHlwZSBEaXNwbGF5XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1kaXNwbGF5LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtZGlzcGxheTogKFxuICBpbmxpbmUsXG4gIGlubGluZS1ibG9jayxcbiAgYmxvY2ssXG4gIHRhYmxlLFxuICB0YWJsZS1jZWxsXG4pO1xuXG4vLyAzNC4gUHJvdG90eXBlIEZvbnQtU3R5bGluZ1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1mb250LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtd2lkZS1sZXR0ZXItc3BhY2luZzogcmVtLWNhbGMoNCk7XG4kcHJvdG90eXBlLWZvbnQtbm9ybWFsOiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kcHJvdG90eXBlLWZvbnQtYm9sZDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcblxuLy8gMzUuIFByb3RvdHlwZSBMaXN0LVN0eWxlLVR5cGVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtbGlzdC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXN0eWxlLXR5cGUtdW5vcmRlcmVkOiAoXG4gIGRpc2MsXG4gIGNpcmNsZSxcbiAgc3F1YXJlXG4pO1xuJHByb3RvdHlwZS1zdHlsZS10eXBlLW9yZGVyZWQ6IChcbiAgZGVjaW1hbCxcbiAgbG93ZXItYWxwaGEsXG4gIGxvd2VyLWxhdGluLFxuICBsb3dlci1yb21hbixcbiAgdXBwZXItYWxwaGEsXG4gIHVwcGVyLWxhdGluLFxuICB1cHBlci1yb21hblxuKTtcblxuLy8gMzYuIFByb3RvdHlwZSBPdmVyZmxvd1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLW92ZXJmbG93LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtb3ZlcmZsb3c6IChcbiAgdmlzaWJsZSxcbiAgaGlkZGVuLFxuICBzY3JvbGxcbik7XG5cbi8vIDM3LiBQcm90b3R5cGUgUG9zaXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1wb3NpdGlvbi1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXBvc2l0aW9uOiAoXG4gIHN0YXRpYyxcbiAgcmVsYXRpdmUsXG4gIGFic29sdXRlLFxuICBmaXhlZFxuKTtcbiRwcm90b3R5cGUtcG9zaXRpb24tei1pbmRleDogOTc1O1xuXG4vLyAzOC4gUHJvdG90eXBlIFJvdW5kZWRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXJvdW5kZWQtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1ib3JkZXItcmFkaXVzOiByZW0tY2FsYygzKTtcblxuLy8gMzkuIFByb3RvdHlwZSBTZXBhcmF0b3Jcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtc2VwYXJhdG9yLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWFsaWduOiBjZW50ZXI7XG4kcHJvdG90eXBlLXNlcGFyYXRvci1oZWlnaHQ6IHJlbS1jYWxjKDIpO1xuJHByb3RvdHlwZS1zZXBhcmF0b3Itd2lkdGg6IDNyZW07XG4kcHJvdG90eXBlLXNlcGFyYXRvci1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRwcm90b3R5cGUtc2VwYXJhdG9yLW1hcmdpbi10b3A6ICRnbG9iYWwtbWFyZ2luO1xuXG4vLyA0MC4gUHJvdG90eXBlIFNoYWRvd1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1zaGFkb3ctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1ib3gtc2hhZG93OiAwIDJweCA1cHggMCByZ2JhKDAsMCwwLC4xNiksXG4gICAgICAgICAgICAgICAgICAgICAgIDAgMnB4IDEwcHggMCByZ2JhKDAsMCwwLC4xMik7XG5cbi8vIDQxLiBQcm90b3R5cGUgU2l6aW5nXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXNpemluZy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXNpemluZzogKFxuICB3aWR0aCxcbiAgaGVpZ2h0XG4pO1xuJHByb3RvdHlwZS1zaXplczogKFxuICAyNTogMjUlLFxuICA1MDogNTAlLFxuICA3NTogNzUlLFxuICAxMDA6IDEwMCVcbik7XG5cbi8vIDQyLiBQcm90b3R5cGUgU3BhY2luZ1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtc3BhY2luZy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXNwYWNlcnMtY291bnQ6IDM7XG5cbi8vIDQzLiBQcm90b3R5cGUgVGV4dC1EZWNvcmF0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWRlY29yYXRpb24tYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS10ZXh0LWRlY29yYXRpb246IChcbiAgb3ZlcmxpbmUsXG4gIHVuZGVybGluZSxcbiAgbGluZS10aHJvdWdoLFxuKTtcblxuLy8gNDQuIFByb3RvdHlwZSBUZXh0LVRyYW5zZm9ybWF0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS10cmFuc2Zvcm1hdGlvbi1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXRleHQtdHJhbnNmb3JtYXRpb246IChcbiAgbG93ZXJjYXNlLFxuICB1cHBlcmNhc2UsXG4gIGNhcGl0YWxpemVcbik7XG5cbi8vIDQ1LiBQcm90b3R5cGUgVGV4dC1VdGlsaXRpZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS11dGlsaXRpZXMtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS10ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblxuLy8gNDYuIFJlc3BvbnNpdmUgRW1iZWRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRyZXNwb25zaXZlLWVtYmVkLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE2KTtcbiRyZXNwb25zaXZlLWVtYmVkLXJhdGlvczogKFxuICBkZWZhdWx0OiA0IGJ5IDMsXG4gIHdpZGVzY3JlZW46IDE2IGJ5IDksXG4pO1xuXG4vLyA0Ny4gUmV2ZWFsXG4vLyAtLS0tLS0tLS0tXG5cbiRyZXZlYWwtYmFja2dyb3VuZDogJHdoaXRlO1xuJHJldmVhbC13aWR0aDogNjAwcHg7XG4kcmV2ZWFsLW1heC13aWR0aDogJGdsb2JhbC13aWR0aDtcbiRyZXZlYWwtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xuJHJldmVhbC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kcmV2ZWFsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kcmV2ZWFsLXppbmRleDogMTAwNTtcbiRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC40NSk7XG5cbi8vIDQ4LiBTbGlkZXJcbi8vIC0tLS0tLS0tLS1cblxuJHNsaWRlci13aWR0aC12ZXJ0aWNhbDogMC41cmVtO1xuJHNsaWRlci10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiRzbGlkZXItaGVpZ2h0OiAwLjVyZW07XG4kc2xpZGVyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJHNsaWRlci1maWxsLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRzbGlkZXItaGFuZGxlLWhlaWdodDogMS40cmVtO1xuJHNsaWRlci1oYW5kbGUtd2lkdGg6IDEuNHJlbTtcbiRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJHNsaWRlci1vcGFjaXR5LWRpc2FibGVkOiAwLjI1O1xuJHNsaWRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyA0OS4gU3dpdGNoXG4vLyAtLS0tLS0tLS0tXG5cbiRzd2l0Y2gtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJHN3aXRjaC1iYWNrZ3JvdW5kLWFjdGl2ZTogJHByaW1hcnktY29sb3I7XG4kc3dpdGNoLWhlaWdodDogMnJlbTtcbiRzd2l0Y2gtaGVpZ2h0LXRpbnk6IDEuNXJlbTtcbiRzd2l0Y2gtaGVpZ2h0LXNtYWxsOiAxLjc1cmVtO1xuJHN3aXRjaC1oZWlnaHQtbGFyZ2U6IDIuNXJlbTtcbiRzd2l0Y2gtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRzd2l0Y2gtbWFyZ2luOiAkZ2xvYmFsLW1hcmdpbjtcbiRzd2l0Y2gtcGFkZGxlLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRzd2l0Y2gtcGFkZGxlLW9mZnNldDogMC4yNXJlbTtcbiRzd2l0Y2gtcGFkZGxlLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQ7XG5cbi8vIDUwLiBUYWJsZVxuLy8gLS0tLS0tLS0tXG5cbiR0YWJsZS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kdGFibGUtY29sb3Itc2NhbGU6IDUlO1xuJHRhYmxlLWJvcmRlcjogMHB4IHNvbGlkIHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xuJHRhYmxlLXBhZGRpbmc6IHJlbS1jYWxjKDggMTAgMTApO1xuJHRhYmxlLWhvdmVyLXNjYWxlOiAyJTtcbiR0YWJsZS1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKTtcbiR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSArICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtaXMtc3RyaXBlZDogdHJ1ZTtcbiR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgLyAyKTtcbiR0YWJsZS1zdHJpcGU6IGV2ZW47XG4kdGFibGUtaGVhZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlIC8gMik7XG4kdGFibGUtaGVhZC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtaGVhZC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLWZvb3QtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSk7XG4kdGFibGUtZm9vdC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtZm9vdC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLWhlYWQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiR0YWJsZS1mb290LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQ6IGZhbHNlO1xuJHRhYmxlLXN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bTtcblxuLy8gNTEuIFRhYnNcbi8vIC0tLS0tLS0tXG5cbiR0YWItbWFyZ2luOiAwO1xuJHRhYi1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kdGFiLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiR0YWItYmFja2dyb3VuZC1hY3RpdmU6ICRsaWdodC1ncmF5O1xuJHRhYi1hY3RpdmUtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJHRhYi1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuJHRhYi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICR3aGl0ZTtcbiR0YWItaXRlbS1wYWRkaW5nOiAxLjI1cmVtIDEuNXJlbTtcbiR0YWItZXhwYW5kLW1heDogNjtcbiR0YWItY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kdGFiLWNvbnRlbnQtYm9yZGVyOiAkbGlnaHQtZ3JheTtcbiR0YWItY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiR0YWItY29udGVudC1wYWRkaW5nOiAxcmVtO1xuXG4vLyA1Mi4gVGh1bWJuYWlsXG4vLyAtLS0tLS0tLS0tLS0tXG5cbiR0aHVtYm5haWwtYm9yZGVyOiBzb2xpZCA0cHggJHdoaXRlO1xuJHRodW1ibmFpbC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiR0aHVtYm5haWwtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgkYmxhY2ssIDAuMik7XG4kdGh1bWJuYWlsLXNoYWRvdy1ob3ZlcjogMCAwIDZweCAxcHggcmdiYSgkcHJpbWFyeS1jb2xvciwgMC41KTtcbiR0aHVtYm5haWwtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAyMDBtcyBlYXNlLW91dDtcbiR0aHVtYm5haWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gNTMuIFRpdGxlIEJhclxuLy8gLS0tLS0tLS0tLS0tLVxuXG4kdGl0bGViYXItYmFja2dyb3VuZDogJGJsYWNrO1xuJHRpdGxlYmFyLWNvbG9yOiAkd2hpdGU7XG4kdGl0bGViYXItcGFkZGluZzogMC41cmVtO1xuJHRpdGxlYmFyLXRleHQtZm9udC13ZWlnaHQ6IGJvbGQ7XG4kdGl0bGViYXItaWNvbi1jb2xvcjogJHdoaXRlO1xuJHRpdGxlYmFyLWljb24tY29sb3ItaG92ZXI6ICRtZWRpdW0tZ3JheTtcbiR0aXRsZWJhci1pY29uLXNwYWNpbmc6IDAuMjVyZW07XG5cbi8vIDU0LiBUb29sdGlwXG4vLyAtLS0tLS0tLS0tLVxuXG4kaGFzLXRpcC1jdXJzb3I6IGhlbHA7XG4kaGFzLXRpcC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiRoYXMtdGlwLWJvcmRlci1ib3R0b206IGRvdHRlZCAxcHggJGRhcmstZ3JheTtcbiR0b29sdGlwLWJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiR0b29sdGlwLWNvbG9yOiAkd2hpdGU7XG4kdG9vbHRpcC1wYWRkaW5nOiAwLjc1cmVtO1xuJHRvb2x0aXAtbWF4LXdpZHRoOiAxMHJlbTtcbiR0b29sdGlwLWZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZTtcbiR0b29sdGlwLXBpcC13aWR0aDogMC43NXJlbTtcbiR0b29sdGlwLXBpcC1oZWlnaHQ6ICR0b29sdGlwLXBpcC13aWR0aCAqIDAuODY2O1xuJHRvb2x0aXAtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gNTUuIFRvcCBCYXJcbi8vIC0tLS0tLS0tLS0tXG5cbiR0b3BiYXItcGFkZGluZzogMC41cmVtO1xuJHRvcGJhci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiR0b3BiYXItc3VibWVudS1iYWNrZ3JvdW5kOiAkdG9wYmFyLWJhY2tncm91bmQ7XG4kdG9wYmFyLXRpdGxlLXNwYWNpbmc6IDAuNXJlbSAxcmVtIDAuNXJlbSAwO1xuJHRvcGJhci1pbnB1dC13aWR0aDogMjAwcHg7XG4kdG9wYmFyLXVuc3RhY2stYnJlYWtwb2ludDogbWVkaXVtO1xuXG4vLyA1Ni4gWHkgR3JpZFxuLy8gLS0tLS0tLS0tLS1cblxuJHh5LWdyaWQ6IHRydWU7XG4kZ3JpZC1jb250YWluZXI6ICRnbG9iYWwtd2lkdGg7XG4kZ3JpZC1jb2x1bW5zOiAxMjtcbiRncmlkLW1hcmdpbi1ndXR0ZXJzOiAoXG4gIHNtYWxsOiAyMHB4LFxuICBtZWRpdW06IDIwcHhcbik7XG4kZ3JpZC1wYWRkaW5nLWd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzO1xuJGdyaWQtY29udGFpbmVyLXBhZGRpbmc6ICRncmlkLXBhZGRpbmctZ3V0dGVycztcbiRncmlkLWNvbnRhaW5lci1tYXg6ICRnbG9iYWwtd2lkdGg7XG4keHktYmxvY2stZ3JpZC1tYXg6IDg7XG5cbiRoZWFkaW5nLXNoYWRvdzogMCAxcHggMnB4IHJnYmEoYmxhY2ssIDAuNSk7XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuJGdsb2JhbC1mb250LXNpemU6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vLyBSZW1vdmVzIHRoZSB1bml0IChlLmcuIHB4LCBlbSwgcmVtKSBmcm9tIGEgdmFsdWUsIHJldHVybmluZyB0aGUgbnVtYmVyIG9ubHkuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG51bSAtIE51bWJlciB0byBzdHJpcCB1bml0IGZyb20uXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgc2FtZSBudW1iZXIsIHNhbnMgdW5pdC5cbkBmdW5jdGlvbiBzdHJpcC11bml0KCRudW0pIHtcbiAgQHJldHVybiAkbnVtIC8gKCRudW0gKiAwICsgMSk7XG59XG5cbi8vLyBDb252ZXJ0cyBvbmUgb3IgbW9yZSBwaXhlbCB2YWx1ZXMgaW50byBtYXRjaGluZyByZW0gdmFsdWVzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJHZhbHVlcyAtIE9uZSBvciBtb3JlIHZhbHVlcyB0byBjb252ZXJ0LiBCZSBzdXJlIHRvIHNlcGFyYXRlIHRoZW0gd2l0aCBzcGFjZXMgYW5kIG5vdCBjb21tYXMuIElmIHlvdSBuZWVkIHRvIGNvbnZlcnQgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCwgd3JhcCB0aGUgbGlzdCBpbiBwYXJlbnRoZXNlcy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgW251bGxdIC0gVGhlIGJhc2UgdmFsdWUgdG8gdXNlIHdoZW4gY2FsY3VsYXRpbmcgdGhlIGByZW1gLiBJZiB5b3UncmUgdXNpbmcgRm91bmRhdGlvbiBvdXQgb2YgdGhlIGJveCwgdGhpcyBpcyAxNnB4LiBJZiB0aGlzIHBhcmFtZXRlciBpcyBgbnVsbGAsIHRoZSBmdW5jdGlvbiB3aWxsIHJlZmVyZW5jZSB0aGUgYCRiYXNlLWZvbnQtc2l6ZWAgdmFyaWFibGUgYXMgdGhlIGJhc2UuXG4vLy9cbi8vLyBAcmV0dXJucyB7TGlzdH0gQSBsaXN0IG9mIGNvbnZlcnRlZCB2YWx1ZXMuXG5AZnVuY3Rpb24gcmVtLWNhbGMoJHZhbHVlcywgJGJhc2U6IG51bGwpIHtcbiAgJHJlbS12YWx1ZXM6ICgpO1xuICAkY291bnQ6IGxlbmd0aCgkdmFsdWVzKTtcblxuICAvLyBJZiBubyBiYXNlIGlzIGRlZmluZWQsIGRlZmVyIHRvIHRoZSBnbG9iYWwgZm9udCBzaXplXG4gIEBpZiAkYmFzZSA9PSBudWxsIHtcbiAgICAkYmFzZTogJGdsb2JhbC1mb250LXNpemU7XG4gIH1cblxuICAvLyBJZiB0aGUgYmFzZSBmb250IHNpemUgaXMgYSAlLCB0aGVuIG11bHRpcGx5IGl0IGJ5IDE2cHhcbiAgLy8gVGhpcyBpcyBiZWNhdXNlIDEwMCUgZm9udCBzaXplID0gMTZweCBpbiBtb3N0IGFsbCBicm93c2Vyc1xuICBAaWYgdW5pdCgkYmFzZSkgPT0gJyUnIHtcbiAgICAkYmFzZTogKCRiYXNlIC8gMTAwJSkgKiAxNnB4O1xuICB9XG5cbiAgLy8gVXNpbmcgcmVtIGFzIGJhc2UgYWxsb3dzIGNvcnJlY3Qgc2NhbGluZ1xuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ3JlbScge1xuICAgICRiYXNlOiBzdHJpcC11bml0KCRiYXNlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgJGNvdW50ID09IDEge1xuICAgIEByZXR1cm4gLXpmLXRvLXJlbSgkdmFsdWVzLCAkYmFzZSk7XG4gIH1cblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRjb3VudCB7XG4gICAgJHJlbS12YWx1ZXM6IGFwcGVuZCgkcmVtLXZhbHVlcywgLXpmLXRvLXJlbShudGgoJHZhbHVlcywgJGkpLCAkYmFzZSkpO1xuICB9XG5cbiAgQHJldHVybiAkcmVtLXZhbHVlcztcbn1cblxuLy8gQ29udmVydHMgYSB1bml0bGVzcywgcGl4ZWwsIG9yIHJlbSB2YWx1ZSB0byBlbSwgZm9yIHVzZSBpbiBicmVha3BvaW50cy5cbkBmdW5jdGlvbiAtemYtYnAtdG8tZW0oJHZhbHVlKSB7XG4gIC8vIFBpeGVsIGFuZCB1bml0bGVzcyB2YWx1ZXMgYXJlIGNvbnZlcnRlZCB0byByZW1zXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ3B4JyBvciB1bml0bGVzcygkdmFsdWUpIHtcbiAgICAkdmFsdWU6IHJlbS1jYWxjKCR2YWx1ZSwgJGJhc2U6IDE2cHgpO1xuICB9XG5cbiAgLy8gVGhlbiB0aGUgdmFsdWUgaXMgY29udmVydGVkIHRvIGVtc1xuICBAcmV0dXJuIHN0cmlwLXVuaXQoJHZhbHVlKSAqIDFlbTtcbn1cblxuLy8vIENvbnZlcnRzIGEgcGl4ZWwgdmFsdWUgdG8gbWF0Y2hpbmcgcmVtIHZhbHVlLiAqQW55KiB2YWx1ZSBwYXNzZWQsIHJlZ2FyZGxlc3Mgb2YgdW5pdCwgaXMgYXNzdW1lZCB0byBiZSBhIHBpeGVsIHZhbHVlLiBCeSBkZWZhdWx0LCB0aGUgYmFzZSBwaXhlbCB2YWx1ZSB1c2VkIHRvIGNhbGN1bGF0ZSB0aGUgcmVtIHZhbHVlIGlzIHRha2VuIGZyb20gdGhlIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgdmFyaWFibGUuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gUGl4ZWwgdmFsdWUgdG8gY29udmVydC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgW251bGxdIC0gQmFzZSBmb3IgcGl4ZWwgY29udmVyc2lvbi5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IEEgbnVtYmVyIGluIHJlbXMsIGNhbGN1bGF0ZWQgYmFzZWQgb24gdGhlIGdpdmVuIHZhbHVlIGFuZCB0aGUgYmFzZSBwaXhlbCB2YWx1ZS4gcmVtIHZhbHVlcyBhcmUgcGFzc2VkIHRocm91Z2ggYXMgaXMuXG5AZnVuY3Rpb24gLXpmLXRvLXJlbSgkdmFsdWUsICRiYXNlOiBudWxsKSB7XG4gIC8vIENoZWNrIGlmIHRoZSB2YWx1ZSBpcyBhIG51bWJlclxuICBAaWYgdHlwZS1vZigkdmFsdWUpICE9ICdudW1iZXInIHtcbiAgICBAd2FybiBpbnNwZWN0KCR2YWx1ZSkgKyAnIHdhcyBwYXNzZWQgdG8gcmVtLWNhbGMoKSwgd2hpY2ggaXMgbm90IGEgbnVtYmVyLic7XG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH1cblxuICAvLyBUcmFuc2Zvcm0gZW0gaW50byByZW0gaWYgc29tZW9uZSBoYW5kcyBvdmVyICdlbSdzXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ2VtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgKiAxcmVtO1xuICB9XG5cbiAgLy8gQ2FsY3VsYXRlIHJlbSBpZiB1bml0cyBmb3IgJHZhbHVlIGlzIG5vdCByZW0gb3IgZW1cbiAgQGlmIHVuaXQoJHZhbHVlKSAhPSAncmVtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgLyBzdHJpcC11bml0KCRiYXNlKSAqIDFyZW07XG4gIH1cblxuICAvLyBUdXJuIDByZW0gaW50byAwXG4gIEBpZiAkdmFsdWUgPT0gMHJlbSB7XG4gICAgJHZhbHVlOiAwO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG5cbi8vLyBDb252ZXJ0cyBhIHBpeGVsLCBwZXJjZW50YWdlLCByZW0gb3IgZW0gdmFsdWUgdG8gYSB1bml0bGVzcyB2YWx1ZSBiYXNlZCBvbiBhIGdpdmVuIGZvbnQgc2l6ZS4gSWRlYWwgZm9yIHdvcmtpbmcgb3V0IHVuaXRsZXNzIGxpbmUgaGVpZ2h0cy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBWYWx1ZSB0byBjb252ZXJ0IHRvIGEgdW5pdGxlc3MgbGluZSBoZWlnaHRcbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgLSBUaGUgZm9udCBzaXplIHRvIHVzZSB0byB3b3JrIG91dCB0aGUgbGluZSBoZWlnaHQgLSBkZWZhdWx0cyB0byAkZ2xvYmFsLWZvbnQtc2l6ZVxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfSAtIFVuaXRsZXNzIG51bWJlclxuQGZ1bmN0aW9uIHVuaXRsZXNzLWNhbGMoJHZhbHVlLCAkYmFzZTogbnVsbCkge1xuXG4gIC8vIElmIG5vIGJhc2UgaXMgZGVmaW5lZCwgZGVmZXIgdG8gdGhlIGdsb2JhbCBmb250IHNpemVcbiAgQGlmICRiYXNlID09IG51bGwge1xuICAgICRiYXNlOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIEZpcnN0LCBsZXRzIGNvbnZlcnQgb3VyICRiYXNlIHRvIHBpeGVsc1xuXG4gIC8vIElmIHRoZSBiYXNlIGZvbnQgc2l6ZSBpcyBhICUsIHRoZW4gbXVsdGlwbHkgaXQgYnkgMTZweFxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJyUnIHtcbiAgICAkYmFzZTogKCRiYXNlIC8gMTAwJSkgKiAxNnB4O1xuICB9XG5cbiAgQGlmIHVuaXQoJGJhc2UpID09ICdyZW0nIHtcbiAgICAkYmFzZTogc3RyaXAtdW5pdCgkYmFzZSkgKiAxNnB4O1xuICB9XG5cbiAgQGlmIHVuaXQoJGJhc2UpID09ICdlbScge1xuICAgICRiYXNlOiBzdHJpcC11bml0KCRiYXNlKSAqIDE2cHg7XG4gIH1cblxuICAvLyBOb3cgbGV0cyBjb252ZXJ0IG91ciB2YWx1ZSB0byBwaXhlbHMgdG9vXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJyUnIHtcbiAgICAkdmFsdWU6ICgkdmFsdWUgLyAxMDAlKSAqICRiYXNlO1xuICB9XG5cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncmVtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgKiAkYmFzZTtcbiAgfVxuXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ2VtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgKiAkYmFzZTtcbiAgfVxuXG4gIC8vICdweCdcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncHgnIHtcbiAgICBAcmV0dXJuIHN0cmlwLXVuaXQoJHZhbHVlKSAvIHN0cmlwLXVuaXQoJGJhc2UpO1xuICB9XG5cbiAgLy8gYXNzdW1lIHRoYXQgbGluZS1oZWlnaHRzIGdyZWF0ZXJuIHRoZW4gMTAgYXJlIG1lYW50IHRvIGJlIGFic29sdXRlIGluICdweCdcbiAgQGlmIHVuaXRsZXNzKCR2YWx1ZSkgYW5kICgkdmFsdWUgPiAxMCkge1xuICAgIEByZXR1cm4gJHZhbHVlIC8gc3RyaXAtdW5pdCgkYmFzZSk7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gQ3JlYXRlcyBhbiBpbm5lciBib3gtc2hhZG93IGZvciBvbmx5IG9uZSBzaWRlXG4vLy8gXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2lkZSAtIFNpZGUgdGhlIHNoYWRvdyBpcyBzdXBwb3NlZCB0byBhcHBlYXIuIENhbiBiZSBgdG9wYCwgYGxlZnRgLCBgcmlnaHRgIG9yIGBib3R0b21gLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc2l6ZSAtIFdpZHRoIGZvciB0aGUgdGFyZ2V0IHNpZGUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3Igb2YgdGhlIHNoYWRvdy5cbkBtaXhpbiBpbm5lci1zaWRlLXNoYWRvdyhcbiAgJHNpZGU6IGJvdHRvbSxcbiAgJHNpemU6IDIwcHgsXG4gICRjb2xvcjogcmdiYSgkYmxhY2ssIDAuMjUpXG4pIHtcblxuICAkaGVscGVyOiByb3VuZCgkc2l6ZSAqIDAuNjUpO1xuXG4gIEBpZiAoJHNpZGUgPT0gdG9wKSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAkaGVscGVyICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH0gQGVsc2UgaWYgKCRzaWRlID09IGxlZnQpIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAkaGVscGVyIDAgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfSBAZWxzZSBpZiAoJHNpZGUgPT0gcmlnaHQpIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAoLTEpKiRoZWxwZXIgMCAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9IEBlbHNlIGlmICgkc2lkZSA9PSBib3R0b20pIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwICgtMSkqJGhlbHBlciAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgQ1NTIHRyaWFuZ2xlLCB3aGljaCBjYW4gYmUgdXNlZCBmb3IgZHJvcGRvd24gYXJyb3dzLCBkcm9wZG93biBwaXBzLCBhbmQgbW9yZS4gVXNlIHRoaXMgbWl4aW4gaW5zaWRlIGEgYCY6OmJlZm9yZWAgb3IgYCY6OmFmdGVyYCBzZWxlY3RvciwgdG8gYXR0YWNoIHRoZSB0cmlhbmdsZSB0byBhbiBleGlzdGluZyBlbGVtZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0cmlhbmdsZS1zaXplIC0gV2lkdGggb2YgdGhlIHRyaWFuZ2xlLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICR0cmlhbmdsZS1jb2xvciAtIENvbG9yIG9mIHRoZSB0cmlhbmdsZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR0cmlhbmdsZS1kaXJlY3Rpb24gLSBEaXJlY3Rpb24gdGhlIHRyaWFuZ2xlIHBvaW50cy4gQ2FuIGJlIGB1cGAsIGByaWdodGAsIGBkb3duYCwgb3IgYGxlZnRgLlxuQG1peGluIGNzcy10cmlhbmdsZShcbiAgJHRyaWFuZ2xlLXNpemUsXG4gICR0cmlhbmdsZS1jb2xvcixcbiAgJHRyaWFuZ2xlLWRpcmVjdGlvblxuKSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuXG4gIGJvcmRlcjogaW5zZXQgJHRyaWFuZ2xlLXNpemU7XG5cbiAgY29udGVudDogJyc7XG5cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IGRvd24pIHtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogJHRyaWFuZ2xlLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSB1cCkge1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3I7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IHJpZ2h0KSB7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvcjtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gbGVmdCkge1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBtZW51IGljb24gd2l0aCBhIHNldCB3aWR0aCwgaGVpZ2h0LCBudW1iZXIgb2YgYmFycywgYW5kIGNvbG9ycy4gVGhlIG1peGluIHVzZXMgdGhlIGhlaWdodCBvZiB0aGUgaWNvbiBhbmQgdGhlIHdlaWdodCBvZiB0aGUgYmFycyB0byBkZXRlcm1pbmUgc3BhY2luZy4gPGRpdiBjbGFzcz1cImRvY3MtZXhhbXBsZS1idXJnZXJcIj48L2Rpdj5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJsYWNrXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yLWhvdmVyIFskZGFyay1ncmF5XSAtIENvbG9yIHRvIHVzZSB3aGVuIHRoZSBpY29uIGlzIGhvdmVyZWQgb3Zlci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIFsyMHB4XSAtIFdpZHRoIG9mIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkaGVpZ2h0IFsxNnB4XSAtIEhlaWdodCBvZiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdlaWdodCBbMnB4XSAtIEhlaWdodCBvZiBpbmRpdmlkdWFsIGJhcnMgaW4gdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXJzIFszXSAtIE51bWJlciBvZiBiYXJzIGluIHRoZSBpY29uLlxuQG1peGluIGhhbWJ1cmdlcihcbiAgJGNvbG9yOiAkYmxhY2ssXG4gICRjb2xvci1ob3ZlcjogJGRhcmstZ3JheSxcbiAgJHdpZHRoOiAyMHB4LFxuICAkaGVpZ2h0OiAxNnB4LFxuICAkd2VpZ2h0OiAycHgsXG4gICRiYXJzOiAzXG4pIHtcbiAgLy8gYm94LXNoYWRvdyBDU1Mgb3V0cHV0XG4gICRzaGFkb3c6ICgpO1xuICAkaG92ZXItc2hhZG93OiAoKTtcblxuICAvLyBTcGFjaW5nIGJldHdlZW4gYmFycyBpcyBjYWxjdWxhdGVkIGJhc2VkIG9uIHRoZSB0b3RhbCBoZWlnaHQgb2YgdGhlIGljb24gYW5kIHRoZSB3ZWlnaHQgb2YgZWFjaCBiYXJcbiAgJHNwYWNpbmc6ICgkaGVpZ2h0IC0gKCR3ZWlnaHQgKiAkYmFycykpIC8gKCRiYXJzIC0gMSk7XG5cbiAgQGlmIHVuaXQoJHNwYWNpbmcpID09ICdweCcge1xuICAgICRzcGFjaW5nOiBmbG9vcigkc3BhY2luZyk7XG4gIH1cblxuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRiYXJzIHtcbiAgICAkb2Zmc2V0OiAoJHdlaWdodCArICRzcGFjaW5nKSAqICgkaSAtIDEpO1xuICAgICRzaGFkb3c6IGFwcGVuZCgkc2hhZG93LCAwICRvZmZzZXQgMCAkY29sb3IsIGNvbW1hKTtcbiAgfVxuXG4gIC8vIEljb24gY29udGFpbmVyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB3aWR0aDogJHdpZHRoO1xuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAvLyBJY29uIGJhcnNcbiAgJjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogJHdlaWdodDtcblxuICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICBib3gtc2hhZG93OiAkc2hhZG93O1xuXG4gICAgY29udGVudDogJyc7XG4gIH1cblxuICAvLyBIb3ZlciBzdGF0ZVxuICBAaWYgJGNvbG9yLWhvdmVyIHtcbiAgICAvLyBHZW5lcmF0ZSBDU1NcbiAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRiYXJzIHtcbiAgICAgICRvZmZzZXQ6ICgkd2VpZ2h0ICsgJHNwYWNpbmcpICogKCRpIC0gMSk7XG4gICAgICAkaG92ZXItc2hhZG93OiBhcHBlbmQoJGhvdmVyLXNoYWRvdywgMCAkb2Zmc2V0IDAgJGNvbG9yLWhvdmVyLCBjb21tYSk7XG4gICAgfVxuXG4gICAgJjpob3Zlcjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWhvdmVyO1xuICAgICAgYm94LXNoYWRvdzogJGhvdmVyLXNoYWRvdztcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgYSBkb3dud2FyZC1mYWNpbmcgdHJpYW5nbGUgYXMgYSBiYWNrZ3JvdW5kIGltYWdlIHRvIGFuIGVsZW1lbnQuIFRoZSBpbWFnZSBpcyBmb3JtYXR0ZWQgYXMgYW4gU1ZHLCBtYWtpbmcgaXQgZWFzeSB0byBjaGFuZ2UgdGhlIGNvbG9yLiBCZWNhdXNlIEludGVybmV0IEV4cGxvcmVyIGRvZXNuJ3Qgc3VwcG9ydCBlbmNvZGVkIFNWR3MgYXMgYmFja2dyb3VuZCBpbWFnZXMsIGEgUE5HIGZhbGxiYWNrIGlzIGFsc28gaW5jbHVkZWQuXG4vLy8gVGhlcmUgYXJlIHR3byBQTkcgZmFsbGJhY2tzOiBhIGJsYWNrIHRyaWFuZ2xlIGFuZCBhIHdoaXRlIHRyaWFuZ2xlLiBUaGUgb25lIHVzZWQgZGVwZW5kcyBvbiB0aGUgbGlnaHRuZXNzIG9mIHRoZSBpbnB1dCBjb2xvci5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJsYWNrXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIHRyaWFuZ2xlLlxuQG1peGluIGJhY2tncm91bmQtdHJpYW5nbGUoJGNvbG9yOiAkYmxhY2spIHtcbiAgJHJnYjogJ3JnYiUyOCN7cm91bmQocmVkKCRjb2xvcikpfSwgI3tyb3VuZChncmVlbigkY29sb3IpKX0sICN7cm91bmQoYmx1ZSgkY29sb3IpKX0lMjknO1xuXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2ZXJzaW9uPScxLjEnIHdpZHRoPSczMicgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDMyIDI0Jz48cG9seWdvbiBwb2ludHM9JzAsMCAzMiwwIDE2LDI0JyBzdHlsZT0nZmlsbDogI3skcmdifSc+PC9wb2x5Z29uPjwvc3ZnPlwiKTtcblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjBcXDApIHtcbiAgICBAaWYgbGlnaHRuZXNzKCRjb2xvcikgPCA2MCUge1xuICAgICAgLy8gV2hpdGUgdHJpYW5nbGVcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFJcEpSRUZVZU5yRWtja05nREFNQkJmUmtFdDBPYlJCQmRzR1hVRGdtUWZLNFhoSDJtOGN6UUFBeTI3UjN0c3c0UWZlMng4dU9PNm9ZTGI2R2xPb3IzR0Yrc3dVUkFPbVVKK1J3dEVKczlXdlRHRVl4QlhxSTFNUUFaaENmVVFLUnpETVZqK1R3ckFJVjZqdlNVRWtZQXIxTFNrY3lUQmIvVitLWWZYN3hBZXVzcTNzTER0R0gza0VHQUNQV0lmbE5aZmhSUUFBQUFCSlJVNUVya0pnZ2c9PScpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAvLyBCbGFjayB0cmlhbmdsZVxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQU1CSlJFRlVlTnJFbGxzT2hDQU1SVnN6QzlJbHpVN0tDbVZIVEpzb01XWU1VdHB5djlCZ2J1WFFCNVpTZGdCWVlZNHljZ0Jpdms4S1lGc1FNZk1pVFRCUDRvM25VekNLek9hYkxKYkx5Mi9nMzFldkdrQWdpblI0L1plZ0tINXFYM2JKQ3NjQTN0MHgza2dPNXRRRnloaEZmNTB4UnFGTGJ5TVVOSlF6Z3lqR1Mvd2dDcHZLcWtSQnB1V3JFNFY5ZCsxRTRkUFVYcUlnMTA3U1FPRS8yRFJReE13VER5Z0lJblZERVQ5VDNsQ29qLzZqL1ZDbUdqWk9sMmxLcFo4QUF3RFFQN3pJaW1ER0ZRQUFBQUJKUlU1RXJrSmdnZz09Jyk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBcHBsaWVzIHRoZSBtaWNybyBjbGVhcmZpeCBoYWNrIHBvcHVsYXJpemVkIGJ5IE5pY29sYXMgR2FsbGFnaGVyLiBJbmNsdWRlIHRoaXMgbWl4aW4gb24gYSBjb250YWluZXIgaWYgaXRzIGNoaWxkcmVuIGFyZSBhbGwgZmxvYXRlZCwgdG8gZ2l2ZSB0aGUgY29udGFpbmVyIGEgcHJvcGVyIGhlaWdodC5cbi8vLyBUaGUgY2xlYXJmaXggaXMgYXVnbWVudGVkIHdpdGggc3BlY2lmaWMgc3R5bGVzIHRvIHByZXZlbnQgYm9yZGVycyBpbiBmbGV4Ym94IGVudmlyb25tZW50c1xuLy8vIEBsaW5rIGh0dHA6Ly9uaWNvbGFzZ2FsbGFnaGVyLmNvbS9taWNyby1jbGVhcmZpeC1oYWNrLyBNaWNybyBDbGVhcmZpeCBIYWNrXG4vLy8gQGxpbmsgaHR0cDovL2RhbmlzYWRlc2lnbmVyLmNvbS9ibG9nL2ZsZXhib3gtY2xlYXItZml4LXBzZXVkby1lbGVtZW50cy8gRmxleGJveCBmaXhcbkBtaXhpbiBjbGVhcmZpeCB7XG4gICY6OmJlZm9yZSxcbiAgJjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJztcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleC1iYXNpczogMDtcbiAgICAgIG9yZGVyOiAxO1xuICAgIH1cbiAgfVxuXG4gICY6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxufVxuXG4vLy8gQWRkcyBDU1MgZm9yIGEgXCJxdWFudGl0eSBxdWVyeVwiIHNlbGVjdG9yIHRoYXQgYXV0b21hdGljYWxseSBzaXplcyBlbGVtZW50cyBiYXNlZCBvbiBob3cgbWFueSB0aGVyZSBhcmUgaW5zaWRlIGEgY29udGFpbmVyLlxuLy8vIEBsaW5rIGh0dHA6Ly9hbGlzdGFwYXJ0LmNvbS9hcnRpY2xlL3F1YW50aXR5LXF1ZXJpZXMtZm9yLWNzcyBRdWFudGl0eSBRdWVyaWVzIGZvciBDU1Ncbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWF4IC0gTWF4aW11bSBudW1iZXIgb2YgaXRlbXMgdG8gZGV0ZWN0LiBUaGUgaGlnaGVyIHRoaXMgbnVtYmVyIGlzLCB0aGUgbW9yZSBDU1MgdGhhdCdzIHJlcXVpcmVkIHRvIGNvdmVyIGVhY2ggbnVtYmVyIG9mIGl0ZW1zLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGVsZW0gW2xpXSAtIFRhZyB0byB1c2UgZm9yIHNpYmxpbmcgc2VsZWN0b3JzLlxuQG1peGluIGF1dG8td2lkdGgoJG1heCwgJGVsZW06IGxpKSB7XG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJG1heCB7XG4gICAgJjpudGgtbGFzdC1jaGlsZCgjeyRpfSk6Zmlyc3QtY2hpbGQsXG4gICAgJjpudGgtbGFzdC1jaGlsZCgjeyRpfSk6Zmlyc3QtY2hpbGQgfiAjeyRlbGVtfSB7XG4gICAgICB3aWR0aDogcGVyY2VudGFnZSgxIC8gJGkpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gUmVtb3ZlcyB0aGUgZm9jdXMgcmluZyBhcm91bmQgYW4gZWxlbWVudCB3aGVuIGEgbW91c2UgaW5wdXQgaXMgZGV0ZWN0ZWQuXG5AbWl4aW4gZGlzYWJsZS1tb3VzZS1vdXRsaW5lIHtcbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddICYge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cbn1cblxuLy8vIE1ha2VzIGFuIGVsZW1lbnQgdmlzdWFsbHkgaGlkZGVuLCBidXQgc3RpbGwgYWNjZXNzaWJsZSB0byBrZXlib2FyZHMgYW5kIGFzc2lzdGl2ZSBkZXZpY2VzLlxuLy8vIEBsaW5rIGh0dHA6Ly9zbm9vay5jYS9hcmNoaXZlcy9odG1sX2FuZF9jc3MvaGlkaW5nLWNvbnRlbnQtZm9yLWFjY2Vzc2liaWxpdHkgSGlkaW5nIENvbnRlbnQgZm9yIEFjY2Vzc2liaWxpdHlcbi8vLyBAbGluayBodHRwOi8vaHVnb2dpcmF1ZGVsLmNvbS8yMDE2LzEwLzEzL2Nzcy1oaWRlLWFuZC1zZWVrL1xuQG1peGluIGVsZW1lbnQtaW52aXNpYmxlIHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAsMCwwLDApO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjbGlwLXBhdGg6IGluc2V0KDUwJSk7XG4gIGJvcmRlcjogMDtcbn1cblxuLy8vIFJldmVyc2VzIHRoZSBDU1Mgb3V0cHV0IGNyZWF0ZWQgYnkgdGhlIGBlbGVtZW50LWludmlzaWJsZSgpYCBtaXhpbi5cbkBtaXhpbiBlbGVtZW50LWludmlzaWJsZS1vZmYge1xuICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBjbGlwOiBhdXRvO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICBjbGlwLXBhdGg6IG5vbmU7XG59XG5cbi8vLyBWZXJ0aWNhbGx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIHZlcnRpY2FsLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuLy8vIEhvcml6b250YWxseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiBob3Jpem9udGFsLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG59XG5cbi8vLyBBYnNvbHV0ZWx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIGFic29sdXRlLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG59XG5cbi8vLyBJdGVyYXRlcyB0aHJvdWdoIGJyZWFrcG9pbnRzIGRlZmluZWQgaW4gYCRicmVha3BvaW50LWNsYXNzZXNgIGFuZCBwcmludHMgdGhlIENTUyBpbnNpZGUgdGhlIG1peGluIGF0IGVhY2ggYnJlYWtwb2ludCdzIG1lZGlhIHF1ZXJ5LiBVc2UgdGhpcyB3aXRoIHRoZSBncmlkLCBvciBhbnkgb3RoZXIgY29tcG9uZW50IHRoYXQgaGFzIHJlc3BvbnNpdmUgY2xhc3Nlcy5cbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHNtYWxsIFt0cnVlXSAtIElmIGBmYWxzZWAsIHRoZSBtaXhpbiB3aWxsIHNraXAgdGhlIGBzbWFsbGAgYnJlYWtwb2ludC4gVXNlIHRoaXMgd2l0aCBjb21wb25lbnRzIHRoYXQgZG9uJ3QgcHJlZml4IGNsYXNzZXMgd2l0aCBgc21hbGwtYCwgb25seSBgbWVkaXVtLWAgYW5kIHVwLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGF1dG8taW5zZXJ0LWJyZWFrcG9pbnRzIFt0cnVlXSAtIElmIGBmYWxzZWAsIHRoZSBtaXhpbiB3aWxsIGl0ZXJhdGUgb3ZlciBicmVha3BvaW50cyB3aXRob3V0IGRvaW5nIHRoZSBtZWRpYSBxdWVyeSBpdHNlbGYuIFVzZWZ1bCBmb3IgbW9yZSBjb21wbGV4IG1lZGlhIHF1ZXJ5IGdlbmVyYXRpb24gYXMgaW4gdGhlIG1hcmdpbiBncmlkLlxuQG1peGluIC16Zi1lYWNoLWJyZWFrcG9pbnQoJHNtYWxsOiB0cnVlLCAkYXV0by1pbnNlcnQtYnJlYWtwb2ludHM6IHRydWUpIHtcbiAgJGxpc3Q6ICRicmVha3BvaW50LWNsYXNzZXM7XG5cbiAgQGlmIG5vdCAkc21hbGwge1xuICAgICRsaXN0OiBzbC1yZW1vdmUoJGxpc3QsICQtemYtemVyby1icmVha3BvaW50KTtcbiAgfVxuXG4gIEBlYWNoICRuYW1lIGluICRsaXN0IHtcbiAgICAkLXpmLXNpemU6ICRuYW1lICFnbG9iYWw7XG5cbiAgICBAaWYgJGF1dG8taW5zZXJ0LWJyZWFrcG9pbnRzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gR2VuZXJhdGUgdGhlIGBAY29udGVudGAgcGFzc2VkIHRvIHRoZSBtaXhpbiB3aXRoIGEgdmFsdWUgYCQtemYtYnAtdmFsdWVgIHJlbGF0ZWQgdG8gYSBicmVha3BvaW50LCBkZXBlbmRpbmcgb24gdGhlIGAkbmFtZWAgcGFyYW1ldGVyOlxuLy8vIC0gRm9yIGEgc2luZ2xlIHZhbHVlLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhpcyB2YWx1ZS5cbi8vLyAtIEZvciBhIGJyZWFrcG9pbnQgbmFtZSwgYCQtemYtYnAtdmFsdWVgIGlzIHRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUgaW4gYCRtYXBgLlxuLy8vIC0gRm9yIFwiYXV0b1wiLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZSBpbiBgJG1hcGAgYW5kIGlzIHBhc3NlZCB0byBgQGNvbnRlbnRgLCB3aGljaCBpcyBtYWRlIHJlc3BvbnNpdmUgZm9yIGVhY2ggYnJlYWtwb2ludCBvZiBgJG1hcGAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8QXJyYXl8S2V5d29yZH0gJG5hbWUgW2F1dG9dIC0gU2luZ2xlIHZhbHVlLCBicmVha3BvaW50IG5hbWUsIG9yIGxpc3Qgb2YgYnJlYWtwb2ludCBuYW1lcyB0byB1c2UuIFwiYXV0b1wiIGJ5IGRlZmF1bHQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkbWFwIC0gTWFwIG9mIGJyZWFrcG9pbnRzIGFuZCB2YWx1ZXMgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZS5cbkBtaXhpbiAtemYtYnJlYWtwb2ludC12YWx1ZShcbiAgJG5hbWU6IGF1dG8sXG4gICRtYXA6IG51bGxcbikge1xuICBAaWYgJG5hbWUgPT0gYXV0byBhbmQgdHlwZS1vZigkbWFwKSA9PSAnbWFwJyB7XG4gICAgLy8gXCJhdXRvXCJcbiAgICBAZWFjaCAkaywgJHYgaW4gJG1hcCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRrKSB7XG4gICAgICAgIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKCR2LCAkbWFwKSB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC8vIGJyZWFrcG9pbnQgbmFtZVxuICAgIEBpZiB0eXBlLW9mKCRuYW1lKSA9PSAnc3RyaW5nJyB7XG4gICAgICAkbmFtZTogLXpmLWdldC1icC12YWwoJG1hcCwgJG5hbWUpO1xuICAgIH1cblxuICAgIC8vIGJyZWFrcG9pbnQgdmFsdWVcbiAgICAkLXpmLWJwLXZhbHVlOiAkbmFtZSAhZ2xvYmFsO1xuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBDcmVhdGUgZ3V0dGVycyBmb3IgYSBjZWxsL2NvbnRhaW5lci5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUeXBlIG9mIGd1dHRlciB0byBvdXRwdXQuIEFjY2VwdHMgZWl0aGVyIG1hcmdpbiBvciBwYWRkaW5nLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbcmlnaHQgbGVmdF0gLSBUaGUgcG9zaXRpb24gdG8gYXBwbHkgZ3V0dGVycyB0by4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkbmVnYXRpdmUgW2ZhbHNlXSAtIFdoZXRoZXIgdG8gYXBwbHkgdGhlIGd1dHRlciBhcyBhIG5lZ2F0aXZlIHZhbHVlLiBDb21tb25seSB1c2VkIGZvciBuZXN0ZWQgZ3JpZHMuXG5AbWl4aW4geHktZ3V0dGVycyhcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogcmlnaHQgbGVmdCxcbiAgJG5lZ2F0aXZlOiBmYWxzZVxuKSB7XG4gICRvcGVyYXRvcjogaWYoJG5lZ2F0aXZlLCAnLScsICcnKTtcblxuICAvLyBJZiB3ZSBoYXZlIGRlY2xhcmVkIG5lZ2F0aXZlIGd1dHRlcnMsIGZvcmNlIHR5cGUgdG8gYG1hcmdpbi5cbiAgJGd1dHRlci10eXBlOiBpZigkbmVnYXRpdmUsICdtYXJnaW4nLCAkZ3V0dGVyLXR5cGUpO1xuXG4gIC8vIE91dHB1dCBvdXIgbWFyZ2luIGd1dHRlcnMuXG4gIEBpZiAodHlwZS1vZigkZ3V0dGVycykgPT0gJ21hcCcpIHtcbiAgICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZShhdXRvLCAkZ3V0dGVycykge1xuICAgICAgJGd1dHRlcjogcmVtLWNhbGMoJC16Zi1icC12YWx1ZSkgLyAyO1xuXG4gICAgICAvLyBMb29wIHRocm91Z2ggZWFjaCBndXR0ZXIgcG9zaXRpb25cbiAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgI3skZ3V0dGVyLXR5cGV9LSN7JHZhbHVlfTogdW5xdW90ZShcIiN7JG9wZXJhdG9yfSN7JGd1dHRlcn1cIik7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlaWYgKHR5cGUtb2YoJGd1dHRlcnMpID09ICdudW1iZXInKSB7XG4gICAgJGd1dHRlcjogcmVtLWNhbGMoJGd1dHRlcnMpIC8gMjtcblxuICAgIC8vIExvb3AgdGhyb3VnaCBlYWNoIGd1dHRlciBwb3NpdGlvblxuICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICN7JGd1dHRlci10eXBlfS0jeyR2YWx1ZX06IHVucXVvdGUoXCIjeyRvcGVyYXRvcn0jeyRndXR0ZXJ9XCIpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gQ3JlYXRlcyBhIG1heCB3aWR0aCBjb250YWluZXIsIGRlc2lnbmVkIHRvIGhvdXNlIHlvdXIgZ3JpZCBjb250ZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbJGdyaWQtY29udGFpbmVyXSAtIGEgd2lkdGggdG8gbGltaXQgdGhlIGNvbnRhaW5lciB0by5cbkBtaXhpbiB4eS1ncmlkLWNvbnRhaW5lcihcbiAgJHdpZHRoOiAkZ3JpZC1jb250YWluZXIsXG4gICRwYWRkaW5nOiAkZ3JpZC1jb250YWluZXItcGFkZGluZ1xuKSB7XG4gIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlcnM6ICRwYWRkaW5nLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuXG4gIG1heC13aWR0aDogJHdpZHRoO1xuICBtYXJnaW46IDAgYXV0bztcbn1cblxuLy8vIENyZWF0ZXMgYSBjb250YWluZXIgZm9yIHlvdXIgZmxleCBjZWxscy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpcmVjdGlvbiBbaG9yaXpvbnRhbF0gLSBFaXRoZXIgaG9yaXpvbnRhbCBvciB2ZXJ0aWNhbCBkaXJlY3Rpb24gb2YgY2VsbHMgd2l0aGluLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHdyYXAgW3RydWVdIC0gSWYgdGhlIGNlbGxzIHdpdGhpbiBzaG91bGQgd3JhcCBvciBub3QuXG5AbWl4aW4geHktZ3JpZChcbiAgJGRpcmVjdGlvbjogaG9yaXpvbnRhbCxcbiAgJHdyYXA6IHRydWVcbikge1xuICAkZGlyZWN0aW9uOiBpZigkZGlyZWN0aW9uID09ICdob3Jpem9udGFsJywgcm93LCBjb2x1bW4pO1xuICAkd3JhcDogaWYoJHdyYXAsIHdyYXAsIG5vd3JhcCk7XG5cbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiAkZGlyZWN0aW9uICR3cmFwO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLyBNYXJnaW4gR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktYmFzZS1ncmlkLWNsYXNzZXMge1xuXG4gIC8vIEdyaWQgQ29udGFpbmVyXG4gIC5ncmlkLWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXI7XG5cbiAgICAmLmZsdWlkIHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29udGFpbmVyKDEwMCUpO1xuICAgIH1cblxuICAgICYuZnVsbCB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbnRhaW5lcigxMDAlLCAwKTtcbiAgICB9XG4gIH1cblxuICAvLyBCYXNlIGdyaWQgc3R5bGVzXG4gIC5ncmlkLXgge1xuICAgIEBpbmNsdWRlIHh5LWdyaWQ7XG4gIH1cblxuICAuY2VsbCB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKCk7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoJGdyaWQtY29sdW1ucywgZmFsc2UsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG5cbiAgICAmLmF1dG8ge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKGF1dG8pO1xuICAgIH1cblxuICAgICYuc2hyaW5rIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShzaHJpbmspO1xuICAgIH1cblxuICB9XG4gIC5ncmlkLXgge1xuICAgID4gLmF1dG8ge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoYXV0bywgZmFsc2UpO1xuICAgIH1cblxuICAgID4gLnNocmluayB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhzaHJpbmssIGZhbHNlKTtcbiAgICB9XG4gIH1cblxuICAvLyBBdXRvIHdpZHRoXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgLy8gVGhpcyBpcyBhIGJpdCBvZiBhIGhhY2svd29ya2Fyb3VuZCwgc2VlIHRoZXNlIGlzc3VlcyAmIFBScyBmb3IgdGhlIGJhY2tzdG9yeTpcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20venVyYi9mb3VuZGF0aW9uLXNpdGVzL2lzc3Vlcy8xMDI0NFxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS96dXJiL2ZvdW5kYXRpb24tc2l0ZXMvcHVsbC8xMDIyMiBhbmRcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20venVyYi9mb3VuZGF0aW9uLXNpdGVzL3B1bGwvMTAxNjRcbiAgICAuZ3JpZC14IHtcbiAgICAgICRzdHI6IFwiPiAuI3skLXpmLXNpemV9LXNocmluaywgPiAuI3skLXpmLXNpemV9LWZ1bGxcIjtcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgICRzdHI6ICRzdHIgKyBcIiwgPiAuI3skLXpmLXNpemV9LSN7JGl9XCJcbiAgICAgIH1cbiAgICAgICN7JHN0cn0ge1xuICAgICAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgQGlmIG5vdCgkLXpmLXNpemUgPT0gc21hbGwpIHtcbiAgICAgIC5ncmlkLXggPiAuI3skLXpmLXNpemV9LWF1dG8ge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2UoYXV0byk7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKGF1dG8sIGZhbHNlKTtcbiAgICAgIH1cblxuICAgICAgLmdyaWQteCA+IC4jeyQtemYtc2l6ZX0tc2hyaW5rIHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKHNocmluayk7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKHNocmluaywgZmFsc2UpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgICAuZ3JpZC14ID4gLiN7JC16Zi1zaXplfS0jeyRpfSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCRpLCBmYWxzZSwgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCB3aWR0aCB3aGVuIHVzaW5nIGAuZ3JpZC1tYXJnaW4teGAgbm90IG9uIGAuZ3JpZC14YFxuICAuZ3JpZC1tYXJnaW4teDpub3QoLmdyaWQteCkgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cblxuICAvLyBSZXNldCBoZWlnaHQgd2hlbiB1c2luZyBgLmdyaWQtbWFyZ2luLXlgIG5vdCBvbiBgLmdyaWQteWBcbiAgLmdyaWQtbWFyZ2luLXk6bm90KC5ncmlkLXkpID4gLmNlbGwge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxufVxuXG5AbWl4aW4gLXh5LWJyZWFrcG9pbnQtY2VsbC1jbGFzc2VzKCRjbGFzcy1icmVha3BvaW50LCAkZ3V0dGVyLWJyZWFrcG9pbnQsICR2ZXJ0aWNhbCkge1xuICAkcHJlZml4OiBpZigkY2xhc3MtYnJlYWtwb2ludCA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCwgJycsICcjeyRjbGFzcy1icmVha3BvaW50fS0nKTtcbiAgPiAuI3skcHJlZml4fWF1dG8ge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKGF1dG8sIGZhbHNlLCAkYnJlYWtwb2ludDogJGd1dHRlci1icmVha3BvaW50LCAkdmVydGljYWw6ICR2ZXJ0aWNhbCk7XG4gIH1cblxuICA+IC4jeyRwcmVmaXh9c2hyaW5rIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhzaHJpbmssIGZhbHNlLCAkYnJlYWtwb2ludDogJGd1dHRlci1icmVha3BvaW50LCAkdmVydGljYWw6ICR2ZXJ0aWNhbCk7XG4gIH1cblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAkY2xhc3NuYW1lOiBpZigkdmVydGljYWwsICcuI3skY2xhc3MtYnJlYWtwb2ludH0tI3skaX0nLCAnLiN7JGNsYXNzLWJyZWFrcG9pbnR9LSN7JGl9Jyk7XG5cbiAgICA+ICN7JGNsYXNzbmFtZX0ge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoJGksIGZhbHNlLCAkYnJlYWtwb2ludDogJGd1dHRlci1icmVha3BvaW50LCAkdmVydGljYWw6ICR2ZXJ0aWNhbCk7XG4gICAgfVxuICB9XG59XG5cbi8vIE1hcmdpbiBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS1tYXJnaW4tZ3JpZC1jbGFzc2VzKFxuICAkZ3V0dGVyLXBvc2l0aW9uOiBsZWZ0IHJpZ2h0LFxuICAkdmVydGljYWw6IGZhbHNlLFxuICAkd3JhcHBpbmctc2VsZWN0b3I6ICcuZ3JpZC1tYXJnaW4teCdcbil7XG4gICN7JHdyYXBwaW5nLXNlbGVjdG9yfSB7XG4gICAgQGluY2x1ZGUgeHktZ3V0dGVycygkbmVnYXRpdmU6IHRydWUsICRndXR0ZXItcG9zaXRpb246ICRndXR0ZXItcG9zaXRpb24pO1xuXG4gICAgLy8gQmFzZSBjZWxsIHN0eWxlc1xuICAgID4gLmNlbGwge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoJHZlcnRpY2FsOiAkdmVydGljYWwpO1xuICAgIH1cblxuICAgIC8vIGJhc2Ugc3R5bGVzIG5lZWQgdG8gYWxsIGJlIGJlZm9yZSB0aGUgYXV0byBhbmQgc2hyaW5rIHN0eWxlc1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgICBAaWYodHlwZS1vZigkZ3JpZC1tYXJnaW4tZ3V0dGVycykgPT0gJ21hcCcgYW5kIG1hcC1oYXMta2V5KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkLXpmLXNpemUpIGFuZCAkLXpmLXNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgPiAuY2VsbCB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSwgJHZlcnRpY2FsOiAkdmVydGljYWwpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcblxuICAgICAgLy8gVGhpcyBpcyBwdXJlbHkgZm9yIHJlc3BvbnNpdmUgZ3V0dGVycyAtIHRoZSBtYXJnaW4gZ3JpZCBoYXMgdG8gZ28gYmFjayBhbmQgYWRqdXN0IHdpZHRocyAob3IgaGVpZ2h0cylcbiAgICAgIC8vIGZvciBwcmlvciBicmVha3BvaW50cyBiYXNlZCBvbiB0aGUgcmVzcG9uc2l2ZSBndXR0ZXIuXG4gICAgICBAaWYodHlwZS1vZigkZ3JpZC1tYXJnaW4tZ3V0dGVycykgPT0gJ21hcCcgYW5kIG1hcC1oYXMta2V5KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkLXpmLXNpemUpKSB7XG4gICAgICAgIEBlYWNoICRicCBpbiAtemYtYnJlYWtwb2ludHMtbGVzcy10aGFuKCQtemYtc2l6ZSkge1xuICAgICAgICAgIEBpZihtYXAtaGFzLWtleSgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJGJwKSkge1xuICAgICAgICAgICAgQGluY2x1ZGUgLXh5LWJyZWFrcG9pbnQtY2VsbC1jbGFzc2VzKCRicCwgJC16Zi1zaXplLCAkdmVydGljYWwpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSAteHktYnJlYWtwb2ludC1jZWxsLWNsYXNzZXMoJC16Zi1zaXplLCAkLXpmLXNpemUsICR2ZXJ0aWNhbCk7XG4gICAgfVxuICB9XG59XG5cbi8vIFBhZGRpbmcgR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktcGFkZGluZy1ncmlkLWNsYXNzZXMge1xuICAuZ3JpZC1wYWRkaW5nLXgge1xuXG4gICAgLy8gTmVnYXRpdmUgbWFyZ2luIGZvciBuZXN0ZWQgZ3JpZHNcbiAgICAuZ3JpZC1wYWRkaW5nLXgge1xuICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkbmVnYXRpdmU6IHRydWUpO1xuICAgIH1cblxuICAgIC8vIE5lZ2F0aXZlIG1hcmdpbiBmb3IgZ3JpZHMgd2l0aGluIGBncmlkLWNvbnRhaW5lci9ncmlkLWNvbnRhaW5lci5mbHVpZGBcbiAgICAvLyBUaGlzIGFsbG93cyBtYXJnaW4gYW5kIHBhZGRpbmcgZ3JpZHMgdG8gbGluZSB1cCB3aXRoIGVhY2hvdGhlclxuICAgIC5ncmlkLWNvbnRhaW5lcjpub3QoLmZ1bGwpID4gJiB7XG4gICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRuZWdhdGl2ZTogdHJ1ZSk7XG4gICAgfVxuXG4gICAgLy8gQmFzZSBjZWxsIHN0eWxlc1xuICAgID4gLmNlbGwge1xuICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyczogJGdyaWQtcGFkZGluZy1ndXR0ZXJzLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBCbG9jayBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS1ibG9jay1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkOiB0cnVlLCAkcGFkZGluZy1ncmlkOiB0cnVlKSB7XG4gIEBpZiAkcGFkZGluZy1ncmlkIHtcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJHh5LWJsb2NrLWdyaWQtbWF4IHtcbiAgICAgICAgLiN7JC16Zi1zaXplfS11cC0jeyRpfSB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1sYXlvdXQoJGksICcuY2VsbCcsIGZhbHNlLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICRtYXJnaW4tZ3JpZCB7XG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICR4eS1ibG9jay1ncmlkLW1heCB7XG4gICAgICAgIC8vIFRoaXMgaXMgcHVyZWx5IGZvciByZXNwb25zaXZlIGd1dHRlcnMgLSB0aGUgbWFyZ2luIGdyaWQgaGFzIHRvIGdvIGJhY2sgYW5kIGFkanVzdCB3aWR0aHMgKG9yIGhlaWdodHMpXG4gICAgICAgIC8vIGZvciBwcmlvciBicmVha3BvaW50cyBiYXNlZCBvbiB0aGUgcmVzcG9uc2l2ZSBndXR0ZXIuXG4gICAgICAgIEBpZih0eXBlLW9mKCRncmlkLW1hcmdpbi1ndXR0ZXJzKSA9PSAnbWFwJyBhbmQgbWFwLWhhcy1rZXkoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICQtemYtc2l6ZSkpIHtcbiAgICAgICAgICBAZWFjaCAkYnAgaW4gLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigkLXpmLXNpemUpIHtcbiAgICAgICAgICAgIEBpZihtYXAtaGFzLWtleSgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJGJwKSkge1xuICAgICAgICAgICAgICAuZ3JpZC1tYXJnaW4teC4jeyRicH0tdXAtI3skaX0ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtbGF5b3V0KCRpLCAnLmNlbGwnLCBmYWxzZSwgJGd1dHRlci10eXBlOiBtYXJnaW4sICRicmVha3BvaW50OiAkYnApO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICR4eS1ibG9jay1ncmlkLW1heCB7XG4gICAgICAgIC5ncmlkLW1hcmdpbi14LiN7JC16Zi1zaXplfS11cC0jeyRpfSB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1sYXlvdXQoJGksICcuY2VsbCcsIGZhbHNlLCAkZ3V0dGVyLXR5cGU6IG1hcmdpbiwgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gQ29sbGFwc2UgY2xhc3Nlc1xuQG1peGluIHh5LWNvbGxhcHNlLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQ6IHRydWUsICRwYWRkaW5nLWdyaWQ6IHRydWUpIHtcbiAgQGVhY2ggJGJwIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkbWFyZ2luLWdyaWQge1xuICAgICAgLiN7JGJwfS1tYXJnaW4tY29sbGFwc2Uge1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbGxhcHNlKCRndXR0ZXItdHlwZTogbWFyZ2luLCAkbWluLWJyZWFrcG9pbnQ6ICRicCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRwYWRkaW5nLWdyaWQge1xuICAgICAgLiN7JGJwfS1wYWRkaW5nLWNvbGxhcHNlIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb2xsYXBzZSgkZ3V0dGVyLXR5cGU6IHBhZGRpbmcsICRtaW4tYnJlYWtwb2ludDogJGJwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gT2Zmc2V0IGNsYXNzZXNcbkBtaXhpbiB4eS1vZmZzZXQtY2VsbC1jbGFzc2VzIHtcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgIC8vIE9mZnNldHNcbiAgICAgICRvOiAkaSAtIDE7XG5cbiAgICAgIC4jeyQtemYtc2l6ZX0tb2Zmc2V0LSN7JG99IHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1vZmZzZXQoJG8sICRndXR0ZXJzOiAkZ3JpZC1wYWRkaW5nLWd1dHRlcnMsICRndXR0ZXItdHlwZTogcGFkZGluZywgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIC5ncmlkLW1hcmdpbi14ID4gLiN7JC16Zi1zaXplfS1vZmZzZXQtI3skb30ge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLW9mZnNldCgkbywgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIFZlcnRpY2FsIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LXZlcnRpY2FsLWdyaWQtY2xhc3NlcyhcbiAgJG1hcmdpbi1ncmlkOiB0cnVlLFxuICAkcGFkZGluZy1ncmlkOiB0cnVlXG4pIHtcblxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgIEBpZiBub3QoJC16Zi1zaXplID09IHNtYWxsKSB7XG4gICAgfVxuICB9XG5cbiAgLmdyaWQteSB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZCh2ZXJ0aWNhbCwgZmFsc2UpO1xuXG5cbiAgICA+IC5jZWxsIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtcmVzZXQoKTtcbiAgICB9XG5cbiAgICA+IC5hdXRvIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKGF1dG8sIGZhbHNlLCAkYnJlYWtwb2ludDogJC16Zi1zaXplLCAkdmVydGljYWw6IHRydWUpO1xuICAgIH1cblxuICAgID4gLnNocmluayB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhzaHJpbmssIGZhbHNlLCAkYnJlYWtwb2ludDogJC16Zi1zaXplLCAkdmVydGljYWw6IHRydWUpO1xuICAgIH1cblxuXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAgIC8vIFRoaXMgaXMgYSBiaXQgb2YgYSBoYWNrL3dvcmthcm91bmQsIHNlZSB0aGVzZSBpc3N1ZXMgYW5kIFBScyBmb3IgdGhlIGJhY2tzdG9yeTpcbiAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS96dXJiL2ZvdW5kYXRpb24tc2l0ZXMvaXNzdWVzLzEwMjQ0XG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20venVyYi9mb3VuZGF0aW9uLXNpdGVzL3B1bGwvMTAyMjIgYW5kXG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20venVyYi9mb3VuZGF0aW9uLXNpdGVzL3B1bGwvMTAxNjRcbiAgICAgICRzdHI6IFwiPiAuI3skLXpmLXNpemV9LXNocmluaywgPiAuI3skLXpmLXNpemV9LWZ1bGxcIjtcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgICRzdHI6ICRzdHIgKyBcIiwgPiAuI3skLXpmLXNpemV9LSN7JGl9XCJcbiAgICAgIH1cbiAgICAgICN7JHN0cn0ge1xuICAgICAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgICBAaWYgbm90KCQtemYtc2l6ZSA9PSBzbWFsbCkge1xuICAgICAgICA+IC4jeyQtemYtc2l6ZX0tYXV0byB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKGF1dG8pO1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKGF1dG8sIGZhbHNlLCAkYnJlYWtwb2ludDogJC16Zi1zaXplLCAkdmVydGljYWw6IHRydWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgPiAuI3skLXpmLXNpemV9LXNocmluayB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoc2hyaW5rLCBmYWxzZSwgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSwgJHZlcnRpY2FsOiB0cnVlKTtcbiAgICAgICAgfVxuXG4gICAgICB9XG5cbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgICAgPiAuI3skLXpmLXNpemV9LSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYygkaSwgZmFsc2UsICR2ZXJ0aWNhbDogdHJ1ZSwgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgfVxuICB9XG5cbiAgQGlmICRwYWRkaW5nLWdyaWQge1xuICAgIC5ncmlkLXBhZGRpbmcteSB7XG4gICAgICAvLyBOZWdhdGl2ZSBtYXJnaW4gZm9yIG5lc3RlZCBncmlkc1xuICAgICAgLmdyaWQtcGFkZGluZy15IHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkbmVnYXRpdmU6IHRydWUsICRndXR0ZXItcG9zaXRpb246IHRvcCBib3R0b20pO1xuICAgICAgfVxuXG4gICAgICAvLyBCYXNlIGNlbGwgc3R5bGVzXG4gICAgICA+IC5jZWxsIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyczogJGdyaWQtcGFkZGluZy1ndXR0ZXJzLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcsICRndXR0ZXItcG9zaXRpb246IHRvcCBib3R0b20pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkbWFyZ2luLWdyaWQge1xuICAgIEBpbmNsdWRlIHh5LW1hcmdpbi1ncmlkLWNsYXNzZXModG9wIGJvdHRvbSwgdHJ1ZSwgJy5ncmlkLW1hcmdpbi15Jyk7XG4gIH1cblxufVxuXG5AbWl4aW4geHktZnJhbWUtZ3JpZC1jbGFzc2VzKCR2ZXJ0aWNhbC1ncmlkOiB0cnVlLCAkbWFyZ2luLWdyaWQ6IHRydWUpIHtcbiAgLy8gRnJhbWVkIGdyaWQgc3R5bGVzXG4gIC5ncmlkLWZyYW1lIHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lO1xuICB9XG5cbiAgLmNlbGwgLmdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiAxMDAlOyAvLyBTYW1lIGFzIGluY2x1ZGUgd2l0aCAkbmVzdGVkLCBidXQgd2l0aCBsZXNzIGNzc1xuICB9XG5cbiAgLmNlbGwtYmxvY2sge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2soKTtcbiAgfVxuXG4gIC5jZWxsLWJsb2NrLXkge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2sodHJ1ZSk7XG4gIH1cblxuXG4gIC5jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jay1jb250YWluZXIoKTtcbiAgfVxuXG5cbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludChmYWxzZSkge1xuXG4gICAgLiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWU7XG4gICAgfVxuXG4gICAgLmNlbGwgLiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgIHdpZHRoOiAxMDAlOyAvLyBTYW1lIGFzIGluY2x1ZGUgd2l0aCAkbmVzdGVkLCBidXQgd2l0aCBsZXNzIGNzc1xuICAgIH1cblxuICAgIC4jeyQtemYtc2l6ZX0tY2VsbC1ibG9jayB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrKCk7XG4gICAgfVxuXG4gICAgLiN7JC16Zi1zaXplfS1jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrLWNvbnRhaW5lcigpO1xuICAgIH1cblxuICAgIC4jeyQtemYtc2l6ZX0tY2VsbC1ibG9jay15IHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2sodHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgQGlmICR2ZXJ0aWNhbC1ncmlkIHtcbiAgICAuZ3JpZC15IHtcbiAgICAgICYuZ3JpZC1mcmFtZSB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKHRydWUpO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KGZhbHNlKSB7XG4gICAgICAgICYuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWUodHJ1ZSk7XG4gICAgICAgIH1cblxuICAgICAgfVxuICAgIH1cbiAgICAuY2VsbCB7XG4gICAgICAuZ3JpZC15LmdyaWQtZnJhbWUge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7IC8vIFNhbWUgYXMgaW5jbHVkZSB3aXRoICRuZXN0ZWQsIGJ1dCB3aXRoIGxlc3MgY3NzXG4gICAgICB9XG4gICAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KGZhbHNlKSB7XG4gICAgICAgIC5ncmlkLXkuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xuICAgICAgICAgIGhlaWdodDogMTAwJTsgLy8gU2FtZSBhcyBpbmNsdWRlIHdpdGggJG5lc3RlZCwgYnV0IHdpdGggbGVzcyBjc3NcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAaWYgJG1hcmdpbi1ncmlkIHtcbiAgICBAaW5jbHVkZSB4eS1tYXJnaW4tZ3JpZC1jbGFzc2VzKHRvcCBib3R0b20sIHRydWUsICcuZ3JpZC1tYXJnaW4teScpO1xuICAgIC5ncmlkLWZyYW1lLmdyaWQtbWFyZ2luLXkge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSh0cnVlLCBmYWxzZSwgJGdyaWQtbWFyZ2luLWd1dHRlcnMsICRpbmNsdWRlLWJhc2U6IGZhbHNlKTtcbiAgICB9XG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludChmYWxzZSkge1xuICAgICAgLmdyaWQtbWFyZ2luLXkuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKHRydWUsIGZhbHNlLCAkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJC16Zi1zaXplLCBmYWxzZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEZpbmFsIGNsYXNzZXNcbkBtaXhpbiBmb3VuZGF0aW9uLXh5LWdyaWQtY2xhc3NlcyhcbiAgJGJhc2UtZ3JpZDogdHJ1ZSxcbiAgJG1hcmdpbi1ncmlkOiB0cnVlLFxuICAkcGFkZGluZy1ncmlkOiB0cnVlLFxuICAkYmxvY2stZ3JpZDogdHJ1ZSxcbiAgJGNvbGxhcHNlOiB0cnVlLFxuICAkb2Zmc2V0OiB0cnVlLFxuICAkdmVydGljYWwtZ3JpZDogdHJ1ZSxcbiAgJGZyYW1lLWdyaWQ6IHRydWVcbikge1xuXG4gIC8vIEJhc2UgZ3JpZCBzdHlsZXNcbiAgQGlmKCRiYXNlLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1iYXNlLWdyaWQtY2xhc3NlcygpO1xuICB9XG5cbiAgLy8gTWFyZ2luIGdyaWRcbiAgQGlmKCRtYXJnaW4tZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LW1hcmdpbi1ncmlkLWNsYXNzZXMoKTtcbiAgfVxuXG4gIC8vIFBhZGRpbmcgZ3JpZFxuICBAaWYoJHBhZGRpbmctZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LXBhZGRpbmctZ3JpZC1jbGFzc2VzKCk7XG4gIH1cblxuICAvLyBCbG9jayBncmlkXG4gIEBpZigkYmxvY2stZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LWJsb2NrLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQsICRwYWRkaW5nLWdyaWQpO1xuICB9XG5cbiAgLy8gQ29sbGFwc2UgZ3V0dGVyc1xuICBAaWYoJGNvbGxhcHNlKSB7XG4gICAgQGluY2x1ZGUgeHktY29sbGFwc2UtZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZCwgJHBhZGRpbmctZ3JpZCk7XG4gIH1cblxuICAvLyBPZmZzZXQgZ3V0dGVyc1xuICBAaWYoJG9mZnNldCkge1xuICAgIEBpbmNsdWRlIHh5LW9mZnNldC1jZWxsLWNsYXNzZXMoKTtcbiAgfVxuXG4gIC8vIFZlcnRpY2FsIGdyaWRcbiAgQGlmKCR2ZXJ0aWNhbC1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktdmVydGljYWwtZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZCwgJHBhZGRpbmctZ3JpZCk7XG4gIH1cblxuICBAaWYgKCRmcmFtZS1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktZnJhbWUtZ3JpZC1jbGFzc2VzKCR2ZXJ0aWNhbC1ncmlkLCAkbWFyZ2luLWdyaWQpXG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIENhbGN1bGF0ZSB0aGUgcGVyY2VudGFnZSBzaXplIG9mIGEgY2VsbC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRzaXplIFskZ3JpZC1jb2x1bW5zXSAtIFNpemUgdG8gbWFrZSB0aGUgY2VsbC4gWW91IGNhbiBwYXNzIGEgdmFsdWUgaW4gbXVsdGlwbGUgZm9ybWF0cywgc3VjaCBhcyBgNmAsIGA1MCVgLCBgMSBvZiAyIG9yIDEvMy5cbkBmdW5jdGlvbiB4eS1jZWxsLXNpemUoXG4gICRzaXplOiAkZ3JpZC1jb2x1bW5zXG4pIHtcbiAgLy8gUGFyc2luZyBwZXJjZW50cywgZGVjaW1hbHMsIG4gb2YgbiBhbmQgbnVtYmVyIGNvdW50c1xuICBAaWYgdHlwZS1vZigkc2l6ZSkgPT0gJ251bWJlcicge1xuICAgIEBpZiB1bml0KCRzaXplKSA9PSAnJScge1xuICAgICAgJHNpemU6ICRzaXplO1xuICAgIH1cbiAgICBAZWxzZSBpZiAkc2l6ZSA8IDEge1xuICAgICAgJHNpemU6IHBlcmNlbnRhZ2UoJHNpemUpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkc2l6ZTogcGVyY2VudGFnZSgkc2l6ZSAvICRncmlkLWNvbHVtbnMpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFBhcnNpbmcgXCJuIG9mIG5cIiBvciBcIm4vblwiIGV4cHJlc3Npb25zXG4gIEBlbHNlaWYgdHlwZS1vZigkc2l6ZSkgPT0gJ2xpc3QnIHtcbiAgICBAaWYgbGVuZ3RoKCRzaXplKSAhPSAzIHtcbiAgICAgIEBlcnJvciAnV3Jvbmcgc3ludGF4IGZvciB4eS1jZWxsLXNpemUoKS4gVXNlIHRoZSBmb3JtYXQgXCJuIG9mIG5cIiBvciBcIm4vblwiLic7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRzaXplOiBwZXJjZW50YWdlKG50aCgkc2l6ZSwgMSkgLyBudGgoJHNpemUsIDMpKTtcbiAgICB9XG4gIH1cbiAgLy8gQW55dGhpbmcgZWxzZSBpcyBpbmNvcnJlY3RcbiAgQGVsc2Uge1xuICAgIEBlcnJvciAnV3Jvbmcgc3ludGF4IGZvciB4eS1jZWxsLXNpemUoKS4gVXNlIGEgbnVtYmVyLCBkZWNpbWFsLCBwZXJjZW50YWdlLCBvciBcIm4gb2YgblwiIC8gXCJuL25cIi4nO1xuICB9XG5cbiAgQHJldHVybiAkc2l6ZTtcbn1cblxuLy8vIFNldHMgYmFzZSBmbGV4IHByb3BlcnRpZXMgZm9yIGNlbGxzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIEFjY2VwdHMgYGZ1bGxgLCBgYXV0b2AsIGBzaHJpbmtgIG9yIGBncm93YC5cbkBtaXhpbiB4eS1jZWxsLWJhc2UoJHNpemU6IGZ1bGwpIHtcbiAgQGlmKCRzaXplID09ICdmdWxsJykge1xuICAgIC8vIFRoaXMgaXMgdGhlIGJhc2Ugc3R5bGUsIGFsbCBvdGhlcnMgaW5oZXJpdCBmcm9tIGl0XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgbWluLWhlaWdodDogMHB4O1xuICAgIG1pbi13aWR0aDogMHB4O1xuICB9XG4gIEBlbHNlaWYgKCRzaXplID09ICdhdXRvJykge1xuICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gIH1cbiAgQGVsc2VpZiAoJHNpemUgPT0gJ3NocmluaycpIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgfVxuICBAZWxzZWlmICgkc2l6ZSA9PSAnZ3JvdycpIHtcbiAgICBmbGV4OiAxIDAgYXV0bztcbiAgfVxufVxuXG4vLy8gUmVzZXRzIGEgY2VsbHMgd2lkdGggKG9yIGhlaWdodCBpZiB2ZXJ0aWNhbCBpcyB0cnVlKSBhcyB3ZWxsIGFzIHN0cmlwcyBpdHMgZ3V0dGVycy5cbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbkBtaXhpbiB4eS1jZWxsLXJlc2V0KCR2ZXJ0aWNhbDogdHJ1ZSkge1xuICAkZGlyZWN0aW9uOiBpZigkdmVydGljYWwgPT0gdHJ1ZSwgd2lkdGgsIGhlaWdodCk7XG4gICN7JGRpcmVjdGlvbn06IGF1dG87XG4gIG1heC0jeyRkaXJlY3Rpb259OiBub25lO1xufVxuXG4vLyBTZXRzIG91ciBjZWxsIHdpZHRocyBvciBoZWlnaHRzIGRlcGVuZGluZyBvbiBndXR0ZXIgdHlwZS5cbkBtaXhpbiAteHktY2VsbC1wcm9wZXJ0aWVzKCRzaXplLCAkbWFyZ2luLWd1dHRlciwgJHZlcnRpY2FsKSB7XG4gICRkaXJlY3Rpb246IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCBoZWlnaHQsIHdpZHRoKTtcbiAgQGlmKCRzaXplID09ICdmdWxsJykge1xuICAgICR2YWw6IGlmKCRtYXJnaW4tZ3V0dGVyID09IDAsIDEwMCUsIGNhbGMoMTAwJSAtICN7cmVtLWNhbGMoJG1hcmdpbi1ndXR0ZXIpfSkpO1xuICAgICN7JGRpcmVjdGlvbn06ICR2YWw7XG4gIH1cbiAgQGVsc2VpZiAoJHNpemUgPT0gJ2F1dG8nKSB7XG4gICAgI3skZGlyZWN0aW9ufTogYXV0bztcbiAgICAkdmFsOiBpZigkbWFyZ2luLWd1dHRlciA9PSAwLCAxMDAlLCBjYWxjKDEwMCUgLSAje3JlbS1jYWxjKCRtYXJnaW4tZ3V0dGVyKX0pKTtcbiAgfVxuICBAZWxzZWlmICgkc2l6ZSA9PSAnc2hyaW5rJykge1xuICAgICN7JGRpcmVjdGlvbn06IGF1dG87XG4gIH1cbiAgQGVsc2Uge1xuICAgICR2YWw6IGlmKCRtYXJnaW4tZ3V0dGVyID09IDAsICN7eHktY2VsbC1zaXplKCRzaXplKX0sIGNhbGMoI3t4eS1jZWxsLXNpemUoJHNpemUpfSAtICN7cmVtLWNhbGMoJG1hcmdpbi1ndXR0ZXIpfSkpO1xuICAgICN7JGRpcmVjdGlvbn06ICR2YWw7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBjZWxsIGZvciB5b3VyIGdyaWQuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIENhbiBiZSBgZnVsbGAgKGRlZmF1bHQpIGZvciAxMDAlIHdpZHRoLCBgYXV0b2AgdG8gdXNlIHVwIGF2YWlsYWJsZSBzcGFjZSBhbmQgYHNocmlua2AgdG8gdXNlIHVwIG9ubHkgcmVxdWlyZWQgc3BhY2UuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZ3V0dGVyLW91dHB1dCBbdHJ1ZV0gLSBXaGV0aGVyIG9yIG5vdCB0byBvdXRwdXQgZ3V0dGVyc1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbcmlnaHQgbGVmdF0gLSBUaGUgcG9zaXRpb24gdG8gYXBwbHkgZ3V0dGVycyB0by4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbkBtaXhpbiB4eS1jZWxsKFxuICAkc2l6ZTogZnVsbCxcbiAgJGd1dHRlci1vdXRwdXQ6IHRydWUsXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IHJpZ2h0IGxlZnQsXG4gICRicmVha3BvaW50OiBudWxsLFxuICAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgQGlmKCRicmVha3BvaW50ID09IG51bGwpIHtcbiAgICAvLyBJZiBgJGJwLXNpemVgIGlzIGF2YWlsYWJsZSB0aGVuIHVzZSB0aGlzLCBvdGhlcndpc2UgcmV2ZXJ0IHRvIHRoZSBzbWFsbGVzdCBicC5cbiAgICBAaWYodmFyaWFibGUtZXhpc3RzKC16Zi1zaXplKSBhbmQgdHlwZS1vZigkLXpmLXNpemUpICE9ICdudW1iZXInKSBhbmQgJC16Zi1zaXplICE9IG51bGwge1xuICAgICAgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJGJyZWFrcG9pbnQ6ICQtemYtemVyby1icmVha3BvaW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIEdldCBvdXIgZ3V0dGVycyBmcm9tIG1hcCBpZiBhdmFpbGFibGUsIGlmIG5vdCBtYXAganVzdCByZXR1cm4gdGhlIHZhbHVlLlxuICAkZ3V0dGVyOiAtemYtZ2V0LWJwLXZhbCgkZ3V0dGVycywgJGJyZWFrcG9pbnQpO1xuXG4gIC8vIEJhc2UgZmxleCBwcm9wZXJ0aWVzXG4gIEBpbmNsdWRlIHh5LWNlbGwtYmFzZSgkc2l6ZSk7XG5cbiAgQGlmKCRndXR0ZXItdHlwZSA9PSAnbWFyZ2luJykge1xuICAgIEBpbmNsdWRlIC14eS1jZWxsLXByb3BlcnRpZXMoJHNpemUsICRndXR0ZXIsICR2ZXJ0aWNhbCk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpbmNsdWRlIC14eS1jZWxsLXByb3BlcnRpZXMoJHNpemUsIDAsICR2ZXJ0aWNhbCk7XG4gIH1cblxuICBAaWYgJGd1dHRlci1vdXRwdXQge1xuICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlciwgJGd1dHRlci10eXBlLCAkZ3V0dGVyLXBvc2l0aW9uKTtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIHNpbmdsZSBicmVha3BvaW50IHNpemVkIGdyaWQuIFVzZWQgdG8gZ2VuZXJhdGUgb3VyIGdyaWQgY2xhc3Nlcy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQ2FuIGJlIGBmdWxsYCAoZGVmYXVsdCkgZm9yIDEwMCUgd2lkdGgsIGBhdXRvYCB0byB1c2UgdXAgYXZhaWxhYmxlIHNwYWNlIGFuZCBgc2hyaW5rYCB0byB1c2UgdXAgb25seSByZXF1aXJlZCBzcGFjZS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRndXR0ZXItb3V0cHV0IFt0cnVlXSAtIFdoZXRoZXIgb3Igbm90IHRvIG91dHB1dCBndXR0ZXJzXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbkBtaXhpbiB4eS1jZWxsLXN0YXRpYyhcbiAgJHNpemU6IGZ1bGwsXG4gICRndXR0ZXItb3V0cHV0OiB0cnVlLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkYnJlYWtwb2ludDogJC16Zi16ZXJvLWJyZWFrcG9pbnQsXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuXG4gICRndXR0ZXI6IC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkYnJlYWtwb2ludCk7XG4gICRndXR0ZXItcG9zaXRpb246IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCB0b3AgYm90dG9tLCBsZWZ0IHJpZ2h0KTtcblxuICBAaWYoJGd1dHRlci10eXBlID09ICdtYXJnaW4nKSB7XG4gICAgQGluY2x1ZGUgLXh5LWNlbGwtcHJvcGVydGllcygkc2l6ZSwgJGd1dHRlciwgJHZlcnRpY2FsKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGluY2x1ZGUgLXh5LWNlbGwtcHJvcGVydGllcygkc2l6ZSwgMCwgJHZlcnRpY2FsKTtcbiAgfVxuXG4gIC8vIElmIHdlIHdhbnQgdG8gb3V0cHV0IHRoZSBndXR0ZXJzXG4gIEBpZigkZ3V0dGVyLW91dHB1dCkge1xuICAgIC8vIFRPRE86IEZpZ3VyZSBvdXQgaWYgd2UgbmVlZCB0byBwYXNzIGJyZWFrcG9pbnQgaW4gaGVyZSB0b28uXG4gICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyLCAkZ3V0dGVyLXR5cGUsICRndXR0ZXItcG9zaXRpb24pO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBTaXplcyBjaGlsZCBlbGVtZW50cyBzbyB0aGF0IGAkbmAgbnVtYmVyIG9mIGl0ZW1zIGFwcGVhciBvbiBlYWNoIHJvdy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbiAtIE51bWJlciBvZiBlbGVtZW50cyB0byBkaXNwbGF5IHBlciByb3cuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJy5jZWxsJ10gLSBTZWxlY3RvcihzKSB0byB1c2UgZm9yIGNoaWxkIGVsZW1lbnRzLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGd1dHRlci1vdXRwdXQgW3RydWVdIC0gV2hldGhlciBvciBub3QgdG8gb3V0cHV0IGd1dHRlcnNcbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVHlwZSBvZiBndXR0ZXIgdG8gb3V0cHV0LiBBY2NlcHRzIGBtYXJnaW5gIG9yIGBwYWRkaW5nYC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW3JpZ2h0IGxlZnRdIC0gVGhlIHBvc2l0aW9uIHRvIGFwcGx5IGd1dHRlcnMgdG8uIEFjY2VwdHMgYHRvcGAsIGBib3R0b21gLCBgbGVmdGAsIGByaWdodGAgaW4gYW55IGNvbWJpbmF0aW9uLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbkBtaXhpbiB4eS1ncmlkLWxheW91dChcbiAgJG4sXG4gICRzZWxlY3RvcjogJy5jZWxsJyxcbiAgJGd1dHRlci1vdXRwdXQ6IHRydWUsXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IHJpZ2h0IGxlZnQsXG4gICRicmVha3BvaW50OiAkLXpmLXplcm8tYnJlYWtwb2ludCxcbiAgJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG4gICRzaXplOiBwZXJjZW50YWdlKDEvJG4pO1xuXG4gICYgPiAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwoJHNpemUsICRndXR0ZXItb3V0cHV0LCAkZ3V0dGVycywgJGd1dHRlci10eXBlLCAkZ3V0dGVyLXBvc2l0aW9uLCAkYnJlYWtwb2ludCwgJHZlcnRpY2FsKTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gQ29sbGFwc2VzIHRoZSBncmlkIGEgY2VsbHMgd2l0aGluIGl0LlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbLmNlbGxdIC0gVGhlIGNoaWxkIGVsZW1lbnQgdG8gcmVtb3ZlIHRoZSBndXR0ZXIgZnJvbS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFRoZSB0eXBlIG9mIGd1dHRlciB0byByZW1vdmUuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtyaWdodCBsZWZ0XSAtIFRoZSBwb3NpdGlvbnMgdG8gcmVtb3ZlIGd1dHRlcnMgZnJvbS4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uXG5AbWl4aW4geHktZ3JpZC1jb2xsYXBzZShcbiAgJHNlbGVjdG9yOiAnLmNlbGwnLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogcmlnaHQgbGVmdCxcbiAgJG1pbi1icmVha3BvaW50OiAkLXpmLXplcm8tYnJlYWtwb2ludFxuKSB7XG4gIC8vIEZpcnN0LCBsZXRzIG5lZ2F0ZSBhbnkgbWFyZ2lucyBvbiB0aGUgdG9wIGxldmVsXG4gIEBpZiAoJGd1dHRlci10eXBlID09ICdtYXJnaW4nKSB7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRtaW4tYnJlYWtwb2ludCkge1xuICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICBtYXJnaW4tI3skdmFsdWV9OiAwO1xuICAgICAgfVxuXG4gICAgICA+ICN7JHNlbGVjdG9yfSB7XG4gICAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgICBtYXJnaW4tI3skdmFsdWV9OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJGV4Y2x1ZGVkLWJwczogLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigkbWluLWJyZWFrcG9pbnQpO1xuXG4gICAgLy8gT3V0cHV0IG5ldyB3aWR0aHMgdG8gbm90IGluY2x1ZGUgZ3V0dGVyc1xuICAgIEBlYWNoICRicCBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpZihzbC1jb250YWluKCRleGNsdWRlZC1icHMsICRicCkpIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbWluLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAgICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICAgICAgICAgPiAuI3skYnB9LSN7JGl9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoJGksICRndXR0ZXItb3V0cHV0OiBmYWxzZSwgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicCkge1xuICAgICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgICAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgICAgICAgICA+IC4jeyRicH0tI3skaX0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYygkaSwgJGd1dHRlci1vdXRwdXQ6IGZhbHNlLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbWluLWJyZWFrcG9pbnQpIHtcbiAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgbWFyZ2luLSN7JHZhbHVlfTogMDtcbiAgICAgIH1cblxuICAgICAgPiAjeyRzZWxlY3Rvcn0ge1xuICAgICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAgICAgcGFkZGluZy0jeyR2YWx1ZX06IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIE9mZnNldHMgYSBjb2x1bW4gdG8gdGhlIHJpZ2h0L2JvdHRvbSBieSBgJG5gIGNvbHVtbnMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkbiAtIFNpemUgdG8gb2Zmc2V0IGJ5LiBZb3UgY2FuIHBhc3MgaW4gYW55IHZhbHVlIGFjY2VwdGVkIGJ5IHRoZSBgemYtY2VsbCgpYCBtaXhpbiwgc3VjaCBhcyBgNmAsIGA1MCVgLCBvciBgMSBvZiAyYC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIFNldHMgdGhlIGRpcmVjdGlvbiBvZiB0aGUgb2Zmc2V0LiBJZiBzZXQgdG8gdHJ1ZSB3aWxsIGFwcGx5IG1hcmdpbi10b3AgaW5zdGVhZC5cbkBtaXhpbiB4eS1jZWxsLW9mZnNldChcbiAkbixcbiAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gJGJyZWFrcG9pbnQ6ICQtemYtemVyby1icmVha3BvaW50LFxuICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICAkZGlyZWN0aW9uOiBpZigkdmVydGljYWwsICd0b3AnLCAkZ2xvYmFsLWxlZnQpO1xuXG4gIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKCRicmVha3BvaW50LCAkZ3V0dGVycykge1xuICAgICRndXR0ZXI6IHJlbS1jYWxjKCQtemYtYnAtdmFsdWUpIC8gMjtcbiAgICAkc2l6ZTogaWYoJGd1dHRlci10eXBlID09ICdtYXJnaW4nLCBjYWxjKCN7eHktY2VsbC1zaXplKCRuKX0gKyAjeyRndXR0ZXJ9KSwgI3t4eS1jZWxsLXNpemUoJG4pfSk7XG5cbiAgICBtYXJnaW4tI3skZGlyZWN0aW9ufTogI3skc2l6ZX07XG4gIH1cbn1cbiIsIi8vLyBNb2RpZmllcyBhIGdyaWQgdG8gZ2l2ZSBpdCBcImZyYW1lXCIgYmVoYXZpb3IgKG5vIG92ZXJmbG93LCBubyB3cmFwLCBzdHJldGNoIGJlaGF2aW9yKVxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIElzIGdyaWQgdmVydGljYWwgb3IgaG9yaXpvbnRhbC4gU2hvdWxkIG1hdGNoIGdyaWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkbmVzdGVkIFtmYWxzZV0gLSBJcyBncmlkIG5lc3RlZCBvciBub3QuIElmIG5lc3RlZCBpcyB0cnVlIHRoaXMgc2V0cyB0aGUgZnJhbWUgdG8gMTAwJSBoZWlnaHQsIG90aGVyd2lzZSB3aWxsIGJlIDEwMHZoLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgW251bGxdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGluY2x1ZGUtYmFzZSBbdHJ1ZV0gLSBJbmNsdWRlIHRoZSBiYXNlIHN0eWxlcyB0aGF0IGRvbid0IHZhcnkgcGVyIGJyZWFrcG9pbnQuXG5AbWl4aW4geHktZ3JpZC1mcmFtZShcbiAgJHZlcnRpY2FsOiBmYWxzZSxcbiAgJG5lc3RlZDogZmFsc2UsXG4gICRndXR0ZXJzOiBudWxsLFxuICAkYnJlYWtwb2ludDogbnVsbCxcbiAgJGluY2x1ZGUtYmFzZTogdHJ1ZVxuKSB7XG5cbiAgQGlmICRpbmNsdWRlLWJhc2Uge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICB9XG5cbiAgQGlmICRicmVha3BvaW50ID09IG51bGwgYW5kIHR5cGUtb2YoJGd1dHRlcnMpID09ICdtYXAnIHtcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSgkdmVydGljYWwsICRuZXN0ZWQsICRndXR0ZXJzLCAkLXpmLXNpemUsIGZhbHNlKTtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIC8vIEdldCBvdXIgZ3V0dGVycyBpZiBhcHBsaWNhYmxlXG4gICAgJGd1dHRlcjogLXpmLWdldC1icC12YWwoJGd1dHRlcnMsICRicmVha3BvaW50KTtcblxuICAgIC8vIElmIHdlIGhhdmUgYSBndXR0ZXIsIGFkZCBpdCB0byB0aGUgd2lkdGgvaGVpZ2h0XG4gICAgQGlmICRndXR0ZXIge1xuICAgICAgQGlmICR2ZXJ0aWNhbCA9PSB0cnVlIHtcbiAgICAgICAgJHVuaXQ6IGlmKCRuZXN0ZWQgPT0gdHJ1ZSwgMTAwJSwgMTAwdmgpO1xuICAgICAgICAkZ3V0dGVyOiByZW0tY2FsYygkZ3V0dGVyKTtcbiAgICAgICAgaGVpZ2h0OiBjYWxjKCN7JHVuaXR9ICsgI3skZ3V0dGVyfSk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJHVuaXQ6IGlmKCRuZXN0ZWQgPT0gdHJ1ZSwgMTAwJSwgMTAwdncpO1xuICAgICAgICAkZ3V0dGVyOiByZW0tY2FsYygkZ3V0dGVyKTtcbiAgICAgICAgd2lkdGg6IGNhbGMoI3skdW5pdH0gKyAjeyRndXR0ZXJ9KTtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGlmICR2ZXJ0aWNhbCA9PSB0cnVlIHtcbiAgICAgICAgaGVpZ2h0OiBpZigkbmVzdGVkID09IHRydWUsIDEwMCUsIDEwMHZoKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICB3aWR0aDogaWYoJG5lc3RlZCA9PSB0cnVlLCAxMDAlLCAxMDB2dyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBNb2RpZmllcyBhIGNlbGwgdG8gZ2l2ZSBpdCBcImJsb2NrXCIgYmVoYXZpb3IgKG92ZXJmbG93IGF1dG8sIGluZXJ0aWFsIHNjcm9sbGluZylcbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBJcyBncmlkIHZlcnRpY2FsIG9yIGhvcml6b250YWwuIFNob3VsZCBtYXRjaCBncmlkLlxuQG1peGluIHh5LWNlbGwtYmxvY2soXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICAkcHJvcGVydHk6IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCAnb3ZlcmZsb3cteScsICdvdmVyZmxvdy14Jyk7XG5cbiAgQGlmICR2ZXJ0aWNhbCA9PSB0cnVlIHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9IEBlbHNlIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuXG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgLW1zLW92ZXJmbG93LXN0eXBlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7XG59XG5cbi8vLyBDb250YWluZXIgZm9yIGluc2lkZSBhIGdyaWQgZnJhbWUgY29udGFpbmluZyBtdWx0aXBsZSBibG9ja3MuIFR5cGljYWxseSB1c2VkXG4vLy8gYXMgYSBtb2RpZmllciBmb3IgYSBgLmNlbGxgIHRvIGFsbG93IHRoZSBjZWxsIHRvIHBhc3MgYWxvbmcgZmxleCBzaXppbmdcbi8vLyBjb25zdHJhaW50cyAvIGZyb20gcGFyZW50cyB0byBjaGlsZHJlbi5cbkBtaXhpbiB4eS1jZWxsLWJsb2NrLWNvbnRhaW5lcigpIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWF4LWhlaWdodDogMTAwJTtcblxuICA+IC5ncmlkLXgge1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIE91dHB1dHMgQ1NTIGNsYXNzZXMgZm9yIHRoZSBncmlkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQG1peGluIGZvdW5kYXRpb24tZ3JpZChcbiAgJHJvdzogJ3JvdycsXG4gICRjb2x1bW46ICdjb2x1bW4nLFxuICAkY29sdW1uLXJvdzogJ2NvbHVtbi1yb3cnLFxuICAkZ3V0dGVyOiAnZ3V0dGVyJyxcbiAgJHB1c2g6ICdwdXNoJyxcbiAgJHB1bGw6ICdwdWxsJyxcbiAgJGNlbnRlcjogJ2NlbnRlcmVkJyxcbiAgJHVuY2VudGVyOiAndW5jZW50ZXJlZCcsXG4gICRjb2xsYXBzZTogJ2NvbGxhcHNlJyxcbiAgJHVuY29sbGFwc2U6ICd1bmNvbGxhcHNlJyxcbiAgJG9mZnNldDogJ29mZnNldCcsXG4gICRlbmQ6ICdlbmQnLFxuICAkZXhwYW5kZWQ6ICdleHBhbmRlZCcsXG4gICRibG9jazogJ2Jsb2NrJ1xuKSB7XG4gIC8vIFJvd1xuICAuI3skcm93fSB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3c7XG5cbiAgICAvLyBDb2xsYXBzaW5nXG4gICAgJi4jeyRjb2xsYXBzZX0ge1xuICAgICAgPiAuI3skY29sdW1ufSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLWNvbGxhcHNlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIE5lc3RpbmdcbiAgICAmIC4jeyRyb3d9IHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtcm93LW5lc3QoJGdyaWQtY29sdW1uLWd1dHRlcik7XG5cbiAgICAgICYuI3skY29sbGFwc2V9IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBFeHBhbmRlZCAoZnVsbC13aWR0aCkgcm93XG4gICAgJi4jeyRleHBhbmRlZH0ge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3ctc2l6ZShleHBhbmQpO1xuXG4gICAgICAuI3skcm93fSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpub3QoLiN7JGV4cGFuZGVkfSkgLiN7JHJvd30ge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3ctc2l6ZShleHBhbmQpO1xuICAgIH1cblxuICAgIEBpZiB0eXBlLW9mKCRncmlkLWNvbHVtbi1ndXR0ZXIpID09ICdtYXAnIHtcbiAgICAgIC8vIFN0YXRpYyAodW5yZXNwb25zaXZlKSByb3cgZ3V0dGVyc1xuICAgICAgLy9cbiAgICAgIEBlYWNoICRicmVha3BvaW50LCAkdmFsdWUgaW4gJGdyaWQtY29sdW1uLWd1dHRlciB7XG4gICAgICAgICYuI3skZ3V0dGVyfS0jeyRicmVha3BvaW50fSB7XG4gICAgICAgICAgPiAuI3skY29sdW1ufSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1ndXR0ZXIoJHZhbHVlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBDb2x1bW5cbiAgLiN7JGNvbHVtbn0ge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sO1xuXG4gICAgQGlmICRncmlkLWNvbHVtbi1hbGlnbi1lZGdlIHtcbiAgICAgICYuI3skZW5kfSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLWVuZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBDb2x1bW4gcm93XG4gIC8vIFRoZSBkb3VibGUgLnJvdyBjbGFzcyBpcyBuZWVkZWQgdG8gYnVtcCB1cCB0aGUgc3BlY2lmaWNpdHlcbiAgLiN7JGNvbHVtbn0uI3skcm93fS4jeyRyb3d9IHtcbiAgICBmbG9hdDogbm9uZTtcbiAgfVxuXG4gIC8vIFRvIHByb3Blcmx5IG5lc3QgYSBjb2x1bW4gcm93LCBwYWRkaW5nIGFuZCBtYXJnaW4gaXMgcmVtb3ZlZFxuICAuI3skcm93fSAuI3skY29sdW1ufS4jeyRyb3d9LiN7JHJvd30ge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxuXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1uLWNvdW50IHtcbiAgICAgIC8vIENvbHVtbiB3aWR0aFxuICAgICAgLiN7JC16Zi1zaXplfS0jeyRpfSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLXNpemUoJGkpO1xuICAgICAgfVxuXG4gICAgICAvLyBTb3VyY2Ugb3JkZXJpbmdcbiAgICAgIEBpZiAkaSA8ICRncmlkLWNvbHVtbi1jb3VudCB7XG4gICAgICAgIC4jeyQtemYtc2l6ZX0tI3skcHVzaH0tI3skaX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLXBvcygkaSk7XG4gICAgICAgIH1cblxuICAgICAgICAuI3skLXpmLXNpemV9LSN7JHB1bGx9LSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1wb3MoLSRpKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBPZmZzZXRzXG4gICAgICAkbzogJGkgLSAxO1xuXG4gICAgICAuI3skLXpmLXNpemV9LSN7JG9mZnNldH0tI3skb30ge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1vZmYoJG8pO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEJsb2NrIGdyaWRcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRibG9jay1ncmlkLW1heCB7XG4gICAgICAuI3skLXpmLXNpemV9LXVwLSN7JGl9IHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1sYXlvdXQoJGksICcuI3skY29sdW1ufScpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFJlc3BvbnNpdmUgY29sbGFwc2luZ1xuICAgIC4jeyQtemYtc2l6ZX0tI3skY29sbGFwc2V9IHtcbiAgICAgID4gLiN7JGNvbHVtbn0geyBAaW5jbHVkZSBncmlkLWNvbC1jb2xsYXBzZTsgfVxuXG4gICAgICAuI3skcm93fSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLiN7JGV4cGFuZGVkfS4jeyRyb3d9IC4jeyQtemYtc2l6ZX0tI3skY29sbGFwc2V9LiN7JHJvd30ge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuXG4gICAgLiN7JC16Zi1zaXplfS0jeyR1bmNvbGxhcHNlfSB7XG4gICAgICA+IC4jeyRjb2x1bW59IHsgQGluY2x1ZGUgZ3JpZC1jb2wtZ3V0dGVyKCQtemYtc2l6ZSk7IH1cbiAgICB9XG5cbiAgICAvLyBQb3NpdGlvbmluZ1xuICAgIC4jeyQtemYtc2l6ZX0tI3skY2VudGVyfSB7XG4gICAgICBAaW5jbHVkZSBncmlkLWNvbC1wb3MoY2VudGVyKTtcbiAgICB9XG5cbiAgICAvLyBHdXR0ZXIgYWRqdXN0bWVudFxuICAgIC4jeyQtemYtc2l6ZX0tI3skdW5jZW50ZXJ9LFxuICAgIC4jeyQtemYtc2l6ZX0tI3skcHVzaH0tMCxcbiAgICAuI3skLXpmLXNpemV9LSN7JHB1bGx9LTAge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtdW5wb3M7XG4gICAgfVxuICB9XG5cbiAgLy8gQmxvY2sgZ3JpZCBjb2x1bW5zXG4gIC4jeyRjb2x1bW59LSN7JGJsb2NrfSB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tbWFyZ2luO1xuICB9XG5cbiAgQGlmICRjb2x1bW4gPT0gJ2NvbHVtbicgYW5kIGhhcy12YWx1ZSgkZ3JpZC1jb2x1bW4tYWxpYXMpIHtcbiAgICAuI3skZ3JpZC1jb2x1bW4tYWxpYXN9IHtcbiAgICAgIC8vIHNhc3MtbGludDpkaXNhYmxlLWJsb2NrIHBsYWNlaG9sZGVyLWluLWV4dGVuZFxuICAgICAgQGV4dGVuZCAuY29sdW1uO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gQ2hhbmdlIHRoZSBiZWhhdmlvciBvZiBjb2x1bW5zIGRlZmluZWQgaW5zaWRlIHRoaXMgbWl4aW4gdG8gdXNlIGEgZGlmZmVyZW50IGNvbHVtbiBjb3VudC5cbi8vLyBAY29udGVudFxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRjb2x1bW5zIC0gTnVtYmVyIG9mIGNvbHVtbnMgdG8gdXNlLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHJvb3QgW2ZhbHNlXVxuLy8vICAgSWYgYGZhbHNlYCwgc2VsZWN0b3JzIGluc2lkZSB0aGlzIG1peGluIHdpbGwgbmVzdCBpbnNpZGUgdGhlIHBhcmVudCBzZWxlY3Rvci5cbi8vLyAgIElmIGB0cnVlYCwgc2VsZWN0b3JzIHdpbGwgbm90IG5lc3QuXG5AbWl4aW4gZ3JpZC1jb250ZXh0KFxuICAkY29sdW1ucyxcbiAgJHJvb3Q6IGZhbHNlXG4pIHtcbiAgLy8gU3RvcmUgdGhlIGN1cnJlbnQgY29sdW1uIGNvdW50IHNvIGl0IGNhbiBiZSByZS1zZXQgbGF0ZXJcbiAgJG9sZC1ncmlkLWNvbHVtbi1jb3VudDogJGdyaWQtY29sdW1uLWNvdW50O1xuICAkZ3JpZC1jb2x1bW4tY291bnQ6ICRjb2x1bW5zICFnbG9iYWw7XG5cbiAgQGlmICRyb290IHtcbiAgICBAYXQtcm9vdCB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG5cbiAgLy8gUmVzdG9yZSB0aGUgb2xkIGNvbHVtbiBjb3VudFxuICAkZ3JpZC1jb2x1bW4tY291bnQ6ICRvbGQtZ3JpZC1jb2x1bW4tY291bnQgIWdsb2JhbDtcbn1cblxuLy8vIENyZWF0ZXMgYSBncmlkIHJvdy5cbi8vLyBAY29udGVudFxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRjb2x1bW5zIFtudWxsXSAtIENvbHVtbiBjb3VudCBmb3IgdGhpcyByb3cuIGBudWxsYCB3aWxsIHVzZSB0aGUgZGVmYXVsdCBjb2x1bW4gY291bnQuXG4vLy8gQHBhcmFtIHtLZXl3b3Jkc30gJGJlaGF2aW9yIFtudWxsXVxuLy8vICAgTW9kaWZpY2F0aW9ucyB0byB0aGUgZGVmYXVsdCBncmlkIHN0eWxlcy4gYG5lc3RgIGluZGljYXRlcyB0aGUgcm93IHdpbGwgYmUgcGxhY2VkIGluc2lkZSBhbm90aGVyIHJvdy4gYGNvbGxhcHNlYCBpbmRpY2F0ZXMgdGhhdCB0aGUgY29sdW1ucyBpbnNpZGUgdGhpcyByb3cgd2lsbCBub3QgaGF2ZSBwYWRkaW5nLiBgbmVzdCBjb2xsYXBzZWAgY29tYmluZXMgYm90aCBiZWhhdmlvcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgWyRncmlkLXJvdy13aWR0aF0gTWF4aW11bSBzaXplIG9mIHRoZSByb3cuIFNldCB0byBgZXhwYW5kYCB0byBtYWtlIHRoZSByb3cgdGFraW5nIHRoZSBmdWxsIHdpZHRoLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGNmIFt0cnVlXSAtIFdoZXRoZXIgb3Igbm90IHRvIGluY2x1ZGUgYSBjbGVhcmZpeC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIEd1dHRlciBtYXAgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZSB3aGVuIGludmVydGluZyBtYXJnaW5zLiBSZXNwb25zaXZlIGd1dHRlciBzZXR0aW5ncyBieSBkZWZhdWx0LlxuQG1peGluIGdyaWQtcm93KFxuICAkY29sdW1uczogbnVsbCxcbiAgJGJlaGF2aW9yOiBudWxsLFxuICAkc2l6ZTogJGdyaWQtcm93LXdpZHRoLFxuICAkY2Y6IHRydWUsXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgJG1hcmdpbjogYXV0bztcblxuICBAaWYgaW5kZXgoJGJlaGF2aW9yLCBuZXN0KSAhPSBudWxsIHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdy1uZXN0KCRndXR0ZXJzKTtcblxuICAgIEBpZiBpbmRleCgkYmVoYXZpb3IsIGNvbGxhcHNlKSAhPSBudWxsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3ctc2l6ZSgkc2l6ZSk7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG5cbiAgQGlmICRjZiB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIH1cblxuICBAaWYgJGNvbHVtbnMgIT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb250ZXh0KCRjb2x1bW5zKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEludmVydHMgdGhlIG1hcmdpbnMgb2YgYSByb3cgdG8gbmVzdCBpdCBpbnNpZGUgb2YgYSBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIEd1dHRlciBtYXAgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZSB3aGVuIGludmVydGluZyBtYXJnaW5zLiBSZXNwb25zaXZlIGd1dHRlciBzZXR0aW5ncyBieSBkZWZhdWx0LlxuQG1peGluIGdyaWQtcm93LW5lc3QoJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXIpIHtcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgJG1hcmdpbjogcmVtLWNhbGMoLXpmLWdldC1icC12YWwoJGd1dHRlcnMsICQtemYtc2l6ZSkpIC8gMiAqIC0xO1xuXG4gICAgbWFyZ2luLXJpZ2h0OiAkbWFyZ2luO1xuICAgIG1hcmdpbi1sZWZ0OiAkbWFyZ2luO1xuICB9XG59XG5cbi8vLyBTZXQgYSBncmlkIHJvdyBzaXplXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbJGdyaWQtcm93LXdpZHRoXSBNYXhpbXVtIHNpemUgb2YgdGhlIHJvdy4gU2V0IHRvIGBleHBhbmRgIHRvIG1ha2UgdGhlIHJvdyB0YWtpbmcgdGhlIGZ1bGwgd2lkdGguXG5AbWl4aW4gZ3JpZC1yb3ctc2l6ZSgkc2l6ZTogJGdyaWQtcm93LXdpZHRoKSB7XG4gIEBpZiAkc2l6ZSA9PSBleHBhbmQge1xuICAgICRzaXplOiBub25lO1xuICB9XG5cbiAgbWF4LXdpZHRoOiAkc2l6ZTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIFNldCB0aGUgZ3V0dGVycyBvbiBhIGNvbHVtblxuLy8vIEBwYXJhbSB7TnVtYmVyfEtleXdvcmR9ICRndXR0ZXIgW2F1dG9dXG4vLy8gICBTcGFjaW5nIGJldHdlZW4gY29sdW1ucywgYWNjZXB0cyBtdWx0aXBsZSB2YWx1ZXM6XG4vLy8gICAtIEEgc2luZ2xlIHZhbHVlIHdpbGwgbWFrZSB0aGUgZ3V0dGVyIHRoYXQgZXhhY3Qgc2l6ZS5cbi8vLyAgIC0gQSBicmVha3BvaW50IG5hbWUgd2lsbCBtYWtlIHRoZSBndXR0ZXIgdGhlIGNvcnJlc3BvbmRpbmcgc2l6ZSBpbiB0aGUgJGd1dHRlcnMgbWFwLlxuLy8vICAgLSBcImF1dG9cIiB3aWxsIG1ha2UgdGhlIGd1dHRlciByZXNwb25zaXZlLCB1c2luZyB0aGUgJGd1dHRlcnMgbWFwIHZhbHVlcy5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIEd1dHRlciBtYXAgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZS4gUmVzcG9uc2l2ZSBndXR0ZXIgc2V0dGluZ3MgYnkgZGVmYXVsdC5cbkBtaXhpbiBncmlkLWNvbHVtbi1ndXR0ZXIoXG4gICRndXR0ZXI6IGF1dG8sXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoJGd1dHRlciwgJGd1dHRlcnMpIHtcbiAgICAkcGFkZGluZzogcmVtLWNhbGMoJC16Zi1icC12YWx1ZSkgLyAyO1xuXG4gICAgcGFkZGluZy1yaWdodDogJHBhZGRpbmc7XG4gICAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZztcbiAgfVxufVxuXG4vLy8gQ29sbGFwc2UgdGhlIGd1dHRlcnMgb24gYSBjb2x1bW4gYnkgcmVtb3ZpbmcgdGhlIHBhZGRpbmcuICoqTm90ZToqKiBvbmx5IHVzZSB0aGlzIG1peGluIHdpdGhpbiBhIGJyZWFrcG9pbnQuIFRvIGNvbGxhcHNlIGEgY29sdW1uJ3MgZ3V0dGVycyBvbiBhbGwgc2NyZWVuIHNpemVzLCB1c2UgdGhlIGAkZ3V0dGVyYCBwYXJhbWV0ZXIgb2YgdGhlIGBncmlkLWNvbHVtbigpYCBtaXhpbiBpbnN0ZWFkLlxuQG1peGluIGdyaWQtY29sdW1uLWNvbGxhcHNlIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tZ3V0dGVyKDApO1xufVxuXG4vLy8gVW4tY29sbGFwc2UgdGhlIGd1dHRlcnMgb24gYSBjb2x1bW4gYnkgcmUtYWRkaW5nIHRoZSBwYWRkaW5nLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRndXR0ZXIgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gU3BhY2luZyBiZXR3ZWVuIGNvbHVtbnMuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tdW5jb2xsYXBzZSgkZ3V0dGVyOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyKSB7XG4gIEB3YXJuICdUaGlzIG1peGluIGlzIGJlaW5nIHJlcGxhY2VkIGJ5IGdyaWQtY29sdW1uLWd1dHRlcigpLiBncmlkLWNvbHVtbi11bmNvbGxhcHNlKCkgd2lsbCBiZSByZW1vdmVkIGluIEZvdW5kYXRpb24gNi40Lic7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWd1dHRlcigkZ3V0dGVyczogJGd1dHRlcik7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1ndXR0ZXIoKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLWd1dHRlclxuQG1peGluIGdyaWQtY29sLWd1dHRlcihcbiAgJGd1dHRlcjogYXV0byxcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1ndXR0ZXIoJGd1dHRlciwgJGd1dHRlcnMpO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tY29sbGFwc2UoKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLWNvbGxhcHNlXG5AbWl4aW4gZ3JpZC1jb2wtY29sbGFwc2Uge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1jb2xsYXBzZTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLXVuY29sbGFwc2UoKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXVuY29sbGFwc2VcbkBtaXhpbiBncmlkLWNvbC11bmNvbGxhcHNlKCRndXR0ZXI6ICRncmlkLWNvbHVtbi1ndXR0ZXIpIHtcbiAgQHdhcm4gJ1RoaXMgbWl4aW4gaXMgYmVpbmcgcmVwbGFjZWQgYnkgZ3JpZC1jb2wtZ3V0dGVyKCkuIGdyaWQtY29sLXVuY29sbGFwc2UoKSB3aWxsIGJlIHJlbW92ZWQgaW4gRm91bmRhdGlvbiA2LjQuJztcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tdW5jb2xsYXBzZSgkZ3V0dGVyKTtcbn1cblxuLy8vIFNldHMgYm90dG9tIG1hcmdpbiBvbiBncmlkIGNvbHVtbnMgdG8gbWF0Y2ggZ3V0dGVyc1xuLy8vIEBwYXJhbSB7TnVtYmVyfEtleXdvcmR9ICRtYXJnaW4gW2F1dG9dXG4vLy8gICBUaGUgYm90dG9tIG1hcmdpbiBvbiBncmlkIGNvbHVtbnMsIGFjY2VwdHMgbXVsdGlwbGUgdmFsdWVzOlxuLy8vICAgLSBBIHNpbmdsZSB2YWx1ZSB3aWxsIG1ha2UgdGhlIG1hcmdpbiB0aGF0IGV4YWN0IHNpemUuXG4vLy8gICAtIEEgYnJlYWtwb2ludCBuYW1lIHdpbGwgbWFrZSB0aGUgbWFyZ2luIHRoZSBjb3JyZXNwb25kaW5nIHNpemUgaW4gdGhlICRtYXJnaW5zIG1hcC5cbi8vLyAgIC0gXCJhdXRvXCIgd2lsbCBtYWtlIHRoZSBtYXJnaW4gcmVzcG9uc2l2ZSwgdXNpbmcgdGhlICRtYXJnaW5zIG1hcCB2YWx1ZXMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkbWFyZ2lucyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZS4gUmVzcG9uc2l2ZSBndXR0ZXIgc2V0dGluZ3MgYnkgZGVmYXVsdC5cbkBtaXhpbiBncmlkLWNvbHVtbi1tYXJnaW4gKFxuICAkbWFyZ2luOiBhdXRvLFxuICAkbWFyZ2luczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKCRtYXJnaW4sICRtYXJnaW5zKSB7XG4gICAgJG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKCQtemYtYnAtdmFsdWUpO1xuICAgIG1hcmdpbi1ib3R0b206ICRtYXJnaW4tYm90dG9tO1xuXG4gICAgPiA6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gU2V0IHRoZSB3aWR0aCBvZiBhIGdyaWQgY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJHdpZHRoIFskZ3JpZC1jb2x1bW4tY291bnRdIC0gV2lkdGggdG8gbWFrZSB0aGUgY29sdW1uLiBZb3UgY2FuIHBhc3MgaW4gYW55IHZhbHVlIGFjY2VwdGVkIGJ5IHRoZSBgZ3JpZC1jb2x1bW4oKWAgZnVuY3Rpb24sIHN1Y2ggYXMgYDZgLCBgNTAlYCwgb3IgYDEgb2YgMmAuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tc2l6ZShcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudFxuKSB7XG4gIHdpZHRoOiBncmlkLWNvbHVtbigkY29sdW1ucyk7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1zaXplKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1zaXplXG5AbWl4aW4gZ3JpZC1jb2wtc2l6ZShcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudFxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXNpemUoJGNvbHVtbnMpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gQ2FsY3VsYXRlcyB0aGUgd2lkdGggb2YgYSBjb2x1bW4gYmFzZWQgb24gYSBudW1iZXIgb2YgZmFjdG9ycy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRjb2x1bW5zXG4vLy8gICBXaWR0aCBvZiB0aGUgY29sdW1uLiBBY2NlcHRzIG11bHRpcGxlIHZhbHVlczpcbi8vLyAgIC0gQSBwZXJjZW50YWdlIHZhbHVlIHdpbGwgbWFrZSB0aGUgY29sdW1uIHRoYXQgZXhhY3Qgc2l6ZS5cbi8vLyAgIC0gQSBzaW5nbGUgZGlnaXQgd2lsbCBtYWtlIHRoZSBjb2x1bW4gc3BhbiB0aGF0IG51bWJlciBvZiBjb2x1bW5zIHdpZGUsIHRha2luZyBpbnRvIGFjY291bnQgdGhlIGNvbHVtbiBjb3VudCBvZiB0aGUgcGFyZW50IHJvdy5cbi8vLyAgIC0gQSBsaXN0IG9mIHRoZSBmb3JtYXQgXCJ4IG9mIHlcIiAod2l0aG91dCBxdW90ZXMpIHdpbGwgbWFrZSBhIGNvbHVtbiB0aGF0IGlzICp4KiBjb2x1bW5zIHdpZGUsIGFzc3VtaW5nICp5KiB0b3RhbCBjb2x1bW5zIGZvciB0aGUgcGFyZW50LlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gQSBjYWxjdWxhdGVkIHBlcmNlbnRhZ2UgdmFsdWUuXG5AZnVuY3Rpb24gZ3JpZC1jb2x1bW4oJGNvbHVtbnMpIHtcbiAgJHdpZHRoOiAwJTtcblxuICAvLyBQYXJzaW5nIHBlcmNlbnRzLCBkZWNpbWFscywgYW5kIGNvbHVtbiBjb3VudHNcbiAgQGlmIHR5cGUtb2YoJGNvbHVtbnMpID09ICdudW1iZXInIHtcbiAgICBAaWYgdW5pdCgkY29sdW1ucykgPT0gJyUnIHtcbiAgICAgICR3aWR0aDogJGNvbHVtbnM7XG4gICAgfVxuICAgIEBlbHNlIGlmICRjb2x1bW5zIDwgMSB7XG4gICAgICAkd2lkdGg6IHBlcmNlbnRhZ2UoJGNvbHVtbnMpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkd2lkdGg6IHBlcmNlbnRhZ2UoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW4tY291bnQpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFBhcnNpbmcgXCJuIG9mIG5cIiBleHByZXNzaW9uc1xuICBAZWxzZSBpZiB0eXBlLW9mKCRjb2x1bW5zKSA9PSAnbGlzdCcge1xuICAgIEBpZiBsZW5ndGgoJGNvbHVtbnMpICE9IDMge1xuICAgICAgQGVycm9yICdXcm9uZyBzeW50YXggZm9yIGdyaWQtY29sdW1uKCkuIFVzZSB0aGUgZm9ybWF0IFwibiBvZiBuXCIuJztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJHdpZHRoOiBwZXJjZW50YWdlKG50aCgkY29sdW1ucywgMSkgLyBudGgoJGNvbHVtbnMsIDMpKTtcbiAgICB9XG4gIH1cblxuICAvLyBBbnl0aGluZyBlbHNlIGlzIGluY29ycmVjdFxuICBAZWxzZSB7XG4gICAgQGVycm9yICdXcm9uZyBzeW50YXggZm9yIGdyaWQtY29sdW1uKCkuIFVzZSBhIG51bWJlciwgZGVjaW1hbCwgcGVyY2VudGFnZSwgb3IgXCJuIG9mIG5cIi4nO1xuICB9XG5cbiAgQHJldHVybiAkd2lkdGg7XG59XG5cbi8vLyBDcmVhdGVzIGEgZ3JpZCBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge01peGVkfSAkY29sdW1ucyBbJGdyaWQtY29sdW1uLWNvdW50XSAtIFdpZHRoIG9mIHRoZSBjb2x1bW4uIFJlZmVyIHRvIHRoZSBgZ3JpZC1jb2x1bW4oKWAgZnVuY3Rpb24gdG8gc2VlIHBvc3NpYmxlIHZhbHVlcy5cbi8vLyBAcGFyYW0ge01peGVkfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBTcGFjaW5nIGJldHdlZW4gY29sdW1ucy4gUmVmZXIgdG8gdGhlIGBncmlkLWNvbHVtbi1ndXR0ZXIoKWAgZnVuY3Rpb24gdG8gc2VlIHBvc3NpYmxlIHZhbHVlcy5cbkBtaXhpbiBncmlkLWNvbHVtbihcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudCxcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1zaXplKCRjb2x1bW5zKTtcbiAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcblxuICAvLyBHdXR0ZXJzXG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWd1dHRlcigkZ3V0dGVyczogJGd1dHRlcnMpO1xuXG4gIC8vIExhc3QgY29sdW1uIGFsaWdubWVudFxuICBAaWYgJGdyaWQtY29sdW1uLWFsaWduLWVkZ2Uge1xuICAgICY6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogJGdsb2JhbC1yaWdodDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBncmlkIGNvbHVtbiByb3cuIFRoaXMgaXMgdGhlIGVxdWl2YWxlbnQgb2YgYWRkaW5nIGAucm93YCBhbmQgYC5jb2x1bW5gIHRvIHRoZSBzYW1lIGVsZW1lbnQuXG4vLy9cbi8vLyBAcGFyYW0ge01peGVkfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBXaWR0aCBvZiB0aGUgZ3V0dGVycyBvbiBlaXRoZXIgc2lkZSBvZiB0aGUgY29sdW1uIHJvdy4gUmVmZXIgdG8gdGhlIGBncmlkLWNvbHVtbi1ndXR0ZXIoKWAgZnVuY3Rpb24gdG8gc2VlIHBvc3NpYmxlIHZhbHVlcy5cbkBtaXhpbiBncmlkLWNvbHVtbi1yb3coXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1yb3c7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uKCRndXR0ZXJzOiAkZ3V0dGVycyk7XG5cbiAgJixcbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgfVxufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4oKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uXG5AZnVuY3Rpb24gZ3JpZC1jb2woXG4gICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW4tY291bnRcbikge1xuICBAcmV0dXJuIGdyaWQtY29sdW1uKCRjb2x1bW5zKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtblxuQG1peGluIGdyaWQtY29sKFxuICAkY29sdW1uczogJGdyaWQtY29sdW1uLWNvdW50LFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uKCRjb2x1bW5zLCAkZ3V0dGVycyk7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1yb3coKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXJvd1xuQG1peGluIGdyaWQtY29sLXJvdyhcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1yb3coJGd1dHRlcnMpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gUmVwb3NpdGlvbiBhIGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfEtleXdvcmR9ICRwb3NpdGlvbiAtIERpcmVjdGlvbiBhbmQgYW1vdW50IHRvIG1vdmUuIFRoZSBjb2x1bW4gd2lsbCBtb3ZlIGVxdWFsIHRvIHRoZSB3aWR0aCBvZiB0aGUgY29sdW1uIGNvdW50IHNwZWNpZmllZC4gQSBwb3NpdGl2ZSBudW1iZXIgd2lsbCBwdXNoIHRoZSBjb2x1bW4gdG8gdGhlIHJpZ2h0LCB3aGlsZSBhIG5lZ2F0aXZlIG51bWJlciB3aWxsIHB1bGwgaXQgdG8gdGhlIGxlZnQuIFNldCB0byBjZW50ZXIgdG8gY2VudGVyIHRoZSBjb2x1bW4uXG5AbWl4aW4gZ3JpZC1jb2x1bW4tcG9zaXRpb24oJHBvc2l0aW9uKSB7XG4gIEBpZiB0eXBlLW9mKCRwb3NpdGlvbikgPT0gJ251bWJlcicge1xuICAgICRvZmZzZXQ6IHBlcmNlbnRhZ2UoJHBvc2l0aW9uIC8gJGdyaWQtY29sdW1uLWNvdW50KTtcblxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAjeyRnbG9iYWwtbGVmdH06ICRvZmZzZXQ7XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IGNlbnRlciB7XG4gICAgJiwgJjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgfVxuICBAZWxzZSB7XG4gICAgQHdhcm4gJ1dyb25nIHN5bnRheCBmb3IgZ3JpZC1jb2x1bW4tcG9zaXRpb24oKS4gRW50ZXIgYSBwb3NpdGl2ZSBvciBuZWdhdGl2ZSBudW1iZXIsIG9yIGNlbnRlci4nO1xuICB9XG59XG5cbi8vLyBSZXNldCBhIHBvc2l0aW9uIGRlZmluaXRpb24uXG5AbWl4aW4gZ3JpZC1jb2x1bW4tdW5wb3NpdGlvbiB7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIGZsb2F0OiAkZ2xvYmFsLWxlZnQ7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG5cbi8vLyBPZmZzZXRzIGEgY29sdW1uIHRvIHRoZSByaWdodCBieSBgJG5gIGNvbHVtbnMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJG4gLSBXaWR0aCB0byBvZmZzZXQgYnkuIFlvdSBjYW4gcGFzcyBpbiBhbnkgdmFsdWUgYWNjZXB0ZWQgYnkgdGhlIGBncmlkLWNvbHVtbigpYCBtaXhpbiwgc3VjaCBhcyBgNmAsIGA1MCVgLCBvciBgMSBvZiAyYC5cbkBtaXhpbiBncmlkLWNvbHVtbi1vZmZzZXQoJG4pIHtcbiAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogZ3JpZC1jb2x1bW4oJG4pO1xufVxuXG4vLy8gRGlzYWJsZSB0aGUgZGVmYXVsdCBiZWhhdmlvciBvZiB0aGUgbGFzdCBjb2x1bW4gaW4gYSByb3cgYWxpZ25pbmcgdG8gdGhlIG9wcG9zaXRlIGVkZ2UuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tZW5kIHtcbiAgLy8gVGhpcyBleHRyYSBzcGVjaWZpY2l0eSBpcyByZXF1aXJlZCBmb3IgdGhlIHByb3BlcnR5IHRvIGJlIGFwcGxpZWRcbiAgJjpsYXN0LWNoaWxkOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiAkZ2xvYmFsLWxlZnQ7XG4gIH1cbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLXBvc2l0aW9uKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1wb3NpdGlvblxuQG1peGluIGdyaWQtY29sLXBvcygkcG9zaXRpb24pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tcG9zaXRpb24oJHBvc2l0aW9uKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLXVucG9zaXRpb24oKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXVucG9zaXRpb25cbkBtaXhpbiBncmlkLWNvbC11bnBvcyB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXVucG9zaXRpb247XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1vZmZzZXQoKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLW9mZnNldFxuQG1peGluIGdyaWQtY29sLW9mZigkbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1vZmZzZXQoJG4pO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tZW5kKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1lbmRcbkBtaXhpbiBncmlkLWNvbC1lbmQge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1lbmQ7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBTaXplcyBjaGlsZCBlbGVtZW50cyBzbyB0aGF0IGAkbmAgbnVtYmVyIG9mIGl0ZW1zIGFwcGVhciBvbiBlYWNoIHJvdy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbiAtIE51bWJlciBvZiBlbGVtZW50cyB0byBkaXNwbGF5IHBlciByb3cuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJy5jb2x1bW4nXSAtIFNlbGVjdG9yKHMpIHRvIHVzZSBmb3IgY2hpbGQgZWxlbWVudHMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJGd1dHRlclxuLy8vICAgVGhlIGd1dHRlciB0byBhcHBseSB0byBjaGlsZCBlbGVtZW50cy4gQWNjZXB0cyBtdWx0aXBsZSB2YWx1ZXM6XG4vLy8gICAtICRncmlkLWNvbHVtbi1ndXR0ZXIgd2lsbCB1c2UgdGhlIHZhbHVlcyBpbiB0aGUgJGdyaWQtY29sdW1uLWd1dHRlciBtYXAsIGluY2x1ZGluZyBicmVha3BvaW50IHNpemVzLlxuLy8vICAgLSBBIGZpeGVkIG51bWVyaWMgdmFsdWUgd2lsbCBhcHBseSB0aGlzIGd1dHRlciB0byBhbGwgYnJlYWtwb2ludHMuXG5AbWl4aW4gZ3JpZC1sYXlvdXQoXG4gICRuLFxuICAkc2VsZWN0b3I6ICcuY29sdW1uJyxcbiAgJGd1dHRlcjogbnVsbFxuKSB7XG4gICYgPiAjeyRzZWxlY3Rvcn0ge1xuICAgIGZsb2F0OiAkZ2xvYmFsLWxlZnQ7XG4gICAgd2lkdGg6IHBlcmNlbnRhZ2UoMS8kbik7XG5cbiAgICAvLyBJZiBhICRndXR0ZXIgdmFsdWUgaXMgcGFzc2VkXG4gICAgQGlmKCRndXR0ZXIpIHtcbiAgICAgIC8vIEd1dHRlcnNcbiAgICAgIEBpZiB0eXBlLW9mKCRndXR0ZXIpID09ICdtYXAnIHtcbiAgICAgICAgQGVhY2ggJGJyZWFrcG9pbnQsICR2YWx1ZSBpbiAkZ3V0dGVyIHtcbiAgICAgICAgICAkcGFkZGluZzogcmVtLWNhbGMoJHZhbHVlKSAvIDI7XG5cbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicmVha3BvaW50KSB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZztcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJHBhZGRpbmc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiB0eXBlLW9mKCRndXR0ZXIpID09ICdudW1iZXInIGFuZCBzdHJpcC11bml0KCRndXR0ZXIpID4gMCB7XG4gICAgICAgICRwYWRkaW5nOiByZW0tY2FsYygkZ3V0dGVyKSAvIDI7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lO1xuICAgIH1cblxuICAgICY6bnRoLW9mLXR5cGUoI3skbn1uKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogJGdsb2JhbC1sZWZ0O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBleHRyYSBDU1MgdG8gYmxvY2sgZ3JpZCBjaGlsZHJlbiBzbyB0aGUgbGFzdCBpdGVtcyBpbiB0aGUgcm93IGNlbnRlciBhdXRvbWF0aWNhbGx5LiBBcHBseSB0aGlzIHRvIHRoZSBjb2x1bW5zLCBub3QgdGhlIHJvdy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbiAtIE51bWJlciBvZiBpdGVtcyB0aGF0IGFwcGVhciBpbiBlYWNoIHJvdy5cbkBtaXhpbiBncmlkLWxheW91dC1jZW50ZXItbGFzdCgkbikge1xuICBAZm9yICRpIGZyb20gMSB0byAkbiB7XG4gICAgQGlmICRpID09IDEge1xuICAgICAgJjpudGgtY2hpbGQoI3skbn1uKzEpOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tbGVmdDogKDEwMCAtIDEwMC8kbiAqICRpKSAvIDIgKiAxJTtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJjpudGgtY2hpbGQoI3skbn1uKzEpOm50aC1sYXN0LWNoaWxkKCN7JGl9KSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAoMTAwIC0gMTAwLyRuICogJGkpIC8gMiAqIDElO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgRmxleGJveCBVdGlsaXRpZXNcbi8vLy9cbi8vXG4vLy8gRGVmYXVsdCB2YWx1ZSBmb3IgdGhlIGNvdW50IG9mIHNvdXJjZSBvcmRlcmluZ2Bcbi8vLyBAdHlwZSBOdW1iZXJcbiRmbGV4LXNvdXJjZS1vcmRlcmluZy1jb3VudDogNiAhZGVmYXVsdDtcblxuLy8vIFF1aWNrbHkgZGlzYWJsZS9lbmFibGUgUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgVmFuaWxsYSBGbGV4IEhlbHBlcnMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGZsZXhib3gtcmVzcG9uc2l2ZS1icmVha3BvaW50czogdHJ1ZSAhZGVmYXVsdDtcblxuQG1peGluIGZsZXgtaGVscGVycyB7XG4gIC5mbGV4LWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgZmxleDtcbiAgfVxuXG4gIC5mbGV4LWNoaWxkLWF1dG8ge1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICB9XG5cbiAgLmZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgZmxleDogMSAwIGF1dG87XG4gIH1cblxuICAuZmxleC1jaGlsZC1zaHJpbmsge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICB9XG5cbiAgQGVhY2ggJGRpciwgJHByb3AgaW4gJC16Zi1mbGV4LWRpcmVjdGlvbiB7XG4gICAgLmZsZXgtZGlyLSN7JGRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oJHByb3ApO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJGZsZXhib3gtcmVzcG9uc2l2ZS1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LWZsZXgtY29udGFpbmVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXg7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LWZsZXgtY2hpbGQtYXV0byB7XG4gICAgICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tZmxleC1jaGlsZC1ncm93IHtcbiAgICAgICAgICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWNoaWxkLXNocmluayB7XG4gICAgICAgICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAZWFjaCAkZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtZGlyZWN0aW9uIHtcbiAgICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWRpci0jeyRkaXJ9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oJHByb3ApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mbGV4LWNsYXNzZXMge1xuICAvLyBIb3Jpem9udGFsIGFsaWdubWVudCB1c2luZyBqdXN0aWZ5LWNvbnRlbnRcbiAgQGVhY2ggJGhkaXIsICRwcm9wIGluICQtemYtZmxleC1qdXN0aWZ5IHtcbiAgICAuYWxpZ24tI3skaGRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeDogJGhkaXIpO1xuICAgIH1cbiAgfVxuICBcbiAgLy8gSG9yaXpvbnRhbCBhbGlnbm1lbnQgU3BlY2lmaWNhbGx5IGZvciBWZXJ0aWNhbCBNZW51XG4gIEBlYWNoICRoZGlyLCAkcHJvcCBpbiBtYXAtcmVtb3ZlKCQtemYtZmxleC1qdXN0aWZ5LCAnanVzdGlmeScsICdzcGFjZWQnKSB7XG4gICAgLmFsaWduLSN7JGhkaXJ9IHtcbiAgICAgICYudmVydGljYWwubWVudSA+IGxpID4gYSB7IFxuICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR4OiAkaGRpcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gVmVydGljYWwgYWxpZ25tZW50IHVzaW5nIGFsaWduLWl0ZW1zIGFuZCBhbGlnbi1zZWxmXG4gIEBlYWNoICR2ZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtYWxpZ24ge1xuICAgIC5hbGlnbi0jeyR2ZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR5OiAkdmRpcik7XG4gICAgfVxuXG4gICAgLmFsaWduLXNlbGYtI3skdmRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1zZWxmKCR5OiAkdmRpcik7XG4gICAgfVxuICB9XG5cbiAgLy8gQ2VudHJhbCBhbGlnbm1lbnQgb2YgY29udGVudFxuICAuYWxpZ24tY2VudGVyLW1pZGRsZSB7XG4gICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeDogY2VudGVyLCAkeTogbWlkZGxlKTtcbiAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gIH1cblxuICAvLyBTb3VyY2Ugb3JkZXJpbmdcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZmxleC1zb3VyY2Utb3JkZXJpbmctY291bnQge1xuICAgICAgLiN7JC16Zi1zaXplfS1vcmRlci0jeyRpfSB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtb3JkZXIoJGkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFZhbmlsbGEgRmxleGJveCBIZWxwZXJzXG4gIEBpbmNsdWRlIGZsZXgtaGVscGVycztcbn1cbiIsIkBmdW5jdGlvbiAtemYtZmxleC1qdXN0aWZ5KCR0ZXh0LWRpcmVjdGlvbil7XG4gICQtemYtZmxleC1qdXN0aWZ5OiAoXG4gICAgJ2xlZnQnOiBpZigkdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCBmbGV4LWVuZCwgZmxleC1zdGFydCksXG4gICAgJ3JpZ2h0JzogaWYoJHRleHQtZGlyZWN0aW9uID09IHJ0bCwgZmxleC1zdGFydCwgZmxleC1lbmQpLFxuICAgICdjZW50ZXInOiBjZW50ZXIsXG4gICAgJ2p1c3RpZnknOiBzcGFjZS1iZXR3ZWVuLFxuICAgICdzcGFjZWQnOiBzcGFjZS1hcm91bmQsXG4gICk7XG5cbiAgQHJldHVybiAkLXpmLWZsZXgtanVzdGlmeTtcbn1cblxuXG4kLXpmLWZsZXgtYWxpZ246IChcbiAgJ3RvcCc6IGZsZXgtc3RhcnQsXG4gICdib3R0b20nOiBmbGV4LWVuZCxcbiAgJ21pZGRsZSc6IGNlbnRlcixcbiAgJ3N0cmV0Y2gnOiBzdHJldGNoLFxuKTtcblxuJC16Zi1mbGV4LWRpcmVjdGlvbjogKFxuICAncm93Jzogcm93LFxuICAncm93LXJldmVyc2UnOiByb3ctcmV2ZXJzZSxcbiAgJ2NvbHVtbic6IGNvbHVtbixcbiAgJ2NvbHVtbi1yZXZlcnNlJzogY29sdW1uLXJldmVyc2UsXG4pO1xuXG4vLy8gRW5hYmxlcyBmbGV4Ym94IGJ5IGFkZGluZyBgZGlzcGxheTogZmxleGAgdG8gdGhlIGVsZW1lbnQuXG5AbWl4aW4gZmxleCB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi8vLyBIb3Jpem9udGFsbHkgb3IgdmVydGljYWxseSBhbGlnbnMgdGhlIGl0ZW1zIHdpdGhpbiBhIGZsZXggY29udGFpbmVyLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeCBbbnVsbF0gLSBIb3Jpem9udGFsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgbGVmdGAsIGByaWdodGAsIGBjZW50ZXJgLCBganVzdGlmeWAsIG9yIGBzcGFjZWRgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgaG9yaXpvbnRhbCBhbGlnbm1lbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeSBbbnVsbF0gLSBWZXJ0aWNhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYHRvcGAsIGBib3R0b21gLCBgbWlkZGxlYCwgb3IgYHN0cmV0Y2hgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgdmVydGljYWwgYWxpZ25tZW50LlxuQG1peGluIGZsZXgtYWxpZ24oJHg6IG51bGwsICR5OiBudWxsKSB7XG4gIEBpZiAkeCB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCQtemYtZmxleC1qdXN0aWZ5LCAkeCkge1xuICAgICAgJHg6IG1hcC1nZXQoJC16Zi1mbGV4LWp1c3RpZnksICR4KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1yb3ctYWxpZ24oKTogI3skeH0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIGhvcml6b250YWwgYWxpZ25tZW50LiBVc2UgbGVmdCwgcmlnaHQsIGNlbnRlciwganVzdGlmeSwgb3Igc3BhY2VkLic7XG4gICAgfVxuICB9XG5cbiAgQGlmICR5IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWFsaWduLCAkeSkge1xuICAgICAgJHk6IG1hcC1nZXQoJC16Zi1mbGV4LWFsaWduLCAkeSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtcm93LWFsaWduKCk6ICN7JHl9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciB2ZXJ0aWNhbCBhbGlnbm1lbnQuIFVzZSB0b3AsIGJvdHRvbSwgbWlkZGxlLCBvciBzdHJldGNoLic7XG4gICAgfVxuICB9XG5cbiAganVzdGlmeS1jb250ZW50OiAkeDtcbiAgYWxpZ24taXRlbXM6ICR5O1xufVxuXG4vLy8gVmVydGljYWxseSBhbGlnbiBhIHNpbmdsZSBjb2x1bW4gd2l0aGluIGEgZmxleCByb3cuIEFwcGx5IHRoaXMgbWl4aW4gdG8gYSBmbGV4IGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHkgW251bGxdIC0gVmVydGljYWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGB0b3BgLCBgYm90dG9tYCwgYG1pZGRsZWAsIG9yIGBzdHJldGNoYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IHZlcnRpY2FsIGFsaWdubWVudC5cbkBtaXhpbiBmbGV4LWFsaWduLXNlbGYoJHk6IG51bGwpIHtcbiAgQGlmICR5IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWFsaWduLCAkeSkge1xuICAgICAgJHk6IG1hcC1nZXQoJC16Zi1mbGV4LWFsaWduLCAkeSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtY29sdW1uLWFsaWduKCk6ICN7JHl9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciBhbGlnbm1lbnQuIFVzZSB0b3AsIGJvdHRvbSwgbWlkZGxlLCBvciBzdHJldGNoLic7XG4gICAgfVxuICB9XG5cbiAgYWxpZ24tc2VsZjogJHk7XG59XG5cbi8vLyBDaGFuZ2VzIHRoZSBzb3VyY2Ugb3JkZXIgb2YgYSBmbGV4IGNoaWxkLiBDaGlsZHJlbiB3aXRoIGxvd2VyIG51bWJlcnMgYXBwZWFyIGZpcnN0IGluIHRoZSBsYXlvdXQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRvcmRlciBbMF0gLSBPcmRlciBudW1iZXIgdG8gYXBwbHkuXG5AbWl4aW4gZmxleC1vcmRlcigkb3JkZXI6IDApIHtcbiAgb3JkZXI6ICRvcmRlcjtcbn1cblxuLy8vIENoYW5nZSBmbGV4LWRpcmVjdGlvblxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpcmVjdGlvbiBbcm93XSAtIEZsZXggZGlyZWN0aW9uIHRvIHVzZS4gQ2FuIGJlXG4vLy8gICAtIHJvdyAoZGVmYXVsdCk6IHNhbWUgYXMgdGV4dCBkaXJlY3Rpb25cbi8vLyAgIC0gcm93LXJldmVyc2U6IG9wcG9zaXRlIHRvIHRleHQgZGlyZWN0aW9uXG4vLy8gICAtIGNvbHVtbjogc2FtZSBhcyByb3cgYnV0IHRvcCB0byBib3R0b21cbi8vLyAgIC0gY29sdW1uLXJldmVyc2U6IHNhbWUgYXMgcm93LXJldmVyc2UgdG9wIHRvIGJvdHRvbVxuQG1peGluIGZsZXgtZGlyZWN0aW9uKCRkaXJlY3Rpb246IHJvdykge1xuICBmbGV4LWRpcmVjdGlvbjogJGRpcmVjdGlvbjtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHktYmFzZVxuLy8vL1xuXG4vLyBCYXNlIFR5cG9ncmFwaHlcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG4vLyBUaGVzZSBhcmUgc3R5bGVzIGFwcGxpZWQgdG8gYmFzaWMgSFRNTCB0YWdzLCBpbmNsdWRpbmc6XG4vLyAgIC0gUGFyYWdyYXBocyA8cD5cbi8vICAgLSBCb2xkL2l0YWxpY3MgPGI+IDxzdHJvbmc+IDxpPiA8ZW0+XG4vLyAgIC0gU21hbGwgdGV4dCA8c21hbGw+XG4vLyAgIC0gSGVhZGluZ3MgPGgxPi08aDY+XG4vLyAgIC0gQW5jaG9ycyA8YT5cbi8vICAgLSBEaXZpZGVycyA8aHI+XG4vLyAgIC0gTGlzdHMgPHVsPiA8b2w+IDxkbD5cbi8vICAgLSBCbG9ja3F1b3RlcyA8YmxvY2txdW90ZT5cbi8vICAgLSBDb2RlIGJsb2NrcyA8Y29kZT5cbi8vICAgLSBBYmJyZXZpYXRpb25zIDxhYmJyPlxuLy8gICAtIENpdGF0aW9ucyA8Y2l0ZT5cbi8vICAgLSBLZXlzdHJva2VzIDxrYmQ+XG5cbi8vLyBGb250IGZhbWlseSBmb3IgaGVhZGVyIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRoZWFkZXItZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3R5bGUgKGUuZy4gaXRhbGljaXplZCkgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItZm9udC1zdHlsZTogbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdGFjayB1c2VkIGZvciBlbGVtZW50cyB0aGF0IHVzZSBtb25vc3BhY2VkIHR5cGUsIHN1Y2ggYXMgY29kZSBzYW1wbGVzXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogQ29uc29sYXMsICdMaWJlcmF0aW9uIE1vbm8nLCBDb3VyaWVyLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIENvbG9yXG4kaGVhZGVyLWNvbG9yOiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoZWFkZXItbGluZWhlaWdodDogMS40ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJGhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBTdHlsZXMgZm9yIGhlYWRpbmdzIGF0IHZhcmlvdXMgc2NyZWVuIHNpemVzLiBFYWNoIGtleSBpcyBhIGJyZWFrcG9pbnQsIGFuZCBlYWNoIHZhbHVlIGlzIGEgbWFwIG9mIGhlYWRpbmcgc3R5bGVzLlxuLy8vIEB0eXBlIE1hcFxuJGhlYWRlci1zdHlsZXM6IChcbiAgc21hbGw6IChcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDI0KSxcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDIwKSxcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDE5KSxcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDE4KSxcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDE3KSxcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE2KSxcbiAgKSxcbiAgbWVkaXVtOiAoXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiA0OCksXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiA0MCksXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAzMSksXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAyNSksXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAyMCksXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXG4gICksXG4pICFkZWZhdWx0O1xuXG4vLyAkaGVhZGVyLXN0eWxlcyBtYXAgaXMgYnVpbHQgZnJvbSAkaGVhZGVyLXNpemVzIGluIG9yZGVyIHRvIGVuc3VyZSBkb3dud2FyZCBjb21wYXRpYmlsaXR5XG4vLyB3aGVuICRoZWFkZXItc2l6ZXMgaXMgZGVwcmVjaWF0ZWQsICRoZWFkZXItc3R5bGVzIG5lZWRzIHRvIGdldCAhZGVmYXVsdCB2YWx1ZXMgbGlrZSBzZXR0aW5ncy5zY3NzXG5AZnVuY3Rpb24gYnVpbGRfZnJvbV9oZWFkZXItc2l6ZXMoJGhlYWRlci1zaXplcykge1xuICBAd2FybiAnTm90ZSwgdGhhdCAkaGVhZGVyLXNpemVzIGhhcyBiZWVuIHJlcGxhY2VkIHdpdGggJGhlYWRlci1zdHlsZXMuICRoZWFkZXItc2l6ZXMgc3RpbGwgd29ya3MsIGJ1dCBpdCBpcyBnb2luZyB0byBiZSBkZXByZWNpYXRlZC4nO1xuICAkaGVhZGVyLXN0eWxlczogKCk7XG4gIEBlYWNoICRzaXplLCAkaGVhZGVycyBpbiAkaGVhZGVyLXNpemVzIHtcbiAgICAkaGVhZGVyLW1hcDogKCk7XG4gICAgQGVhY2ggJGhlYWRlciwgJGZvbnQtc2l6ZSBpbiAkaGVhZGVycyB7XG4gICAgICAkaGVhZGVyLW1hcDogbWFwLW1lcmdlKCRoZWFkZXItbWFwLCAoJGhlYWRlcjogKCdmb250LXNpemUnOiAkZm9udC1zaXplKSkpOyAgXG4gICAgfVxuICAgICRoZWFkZXItc3R5bGVzOiBtYXAtbWVyZ2UoJGhlYWRlci1zdHlsZXMsICgkc2l6ZTogJGhlYWRlci1tYXApKTtcbiAgfVxuICBAcmV0dXJuICRoZWFkZXItc3R5bGVzO1xufVxuXG4vLyBJZiBpdCBleGlzdHMgJGhlYWRlcnMtc2l6ZXMgaXMgdXNlZCB0byBidWlsZCAkaGVhZGVyLXN0eWxlcy4gU2VlIHRoZSBkb2N1bWVudGF0aW9uLlxuQGlmIHZhcmlhYmxlLWV4aXN0cyhoZWFkZXItc2l6ZXMpIHtcbiAgJGhlYWRlci1zdHlsZXM6IGJ1aWxkX2Zyb21faGVhZGVyLXNpemVzKCRoZWFkZXItc2l6ZXMpO1xufVxuXG4vLy8gVGV4dCByZW5kZXJpbmcgbWV0aG9kIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kaGVhZGVyLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgYDxzbWFsbD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJHNtYWxsLWZvbnQtc2l6ZTogODAlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgYDxzbWFsbD5gIGVsZW1lbnRzIHdoZW4gcGxhY2VkIGluc2lkZSBoZWFkZXJzLlxuLy8vIEB0eXBlIENvbG9yXG4kaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IG9mIHRleHQgaW5zaWRlIGA8cD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhcmFncmFwaC1saW5laGVpZ2h0OiAxLjYgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIG9mIHBhcmFncmFwaHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFyYWdyYXBoLW1hcmdpbi1ib3R0b206IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IHJlbmRlcmluZyBtZXRob2QgZm9yIHBhcmFncmFwaCB0ZXh0LlxuLy8vIEB0eXBlIFN0cmluZ1xuJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5ICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjb2RlLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlseSBvZiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGNvZGUtZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiB0ZXh0IGluIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRjb2RlLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGNvZGUtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBMaXN0XG4kY29kZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGFyb3VuZCB0ZXh0IG9mIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kY29kZS1wYWRkaW5nOiByZW0tY2FsYygyIDUgMSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBsaW5rcy5cbi8vLyBAdHlwZSBDb2xvclxuJGFuY2hvci1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBsaW5rcyBvbiBob3Zlci5cbi8vLyBAdHlwZSBDb2xvclxuJGFuY2hvci1jb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGFuY2hvci1jb2xvciwgJGxpZ2h0bmVzczogLTE0JSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgZGVjb3JhdGlvbiBmb3IgbGlua3MuXG4vLy8gQHR5cGUgU3RyaW5nXG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbjogbm9uZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBkZWNvcmF0aW9uIGZvciBsaW5rcyBvbiBob3Zlci5cbi8vLyBAdHlwZSBTdHJpbmdcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyOiBub25lICFkZWZhdWx0O1xuXG4vLy8gTWF4aW11bSB3aWR0aCBvZiBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaHItd2lkdGg6ICRnbG9iYWwtd2lkdGggIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBmb3IgYSBkaXZpZGVyLlxuLy8vIEB0eXBlIExpc3RcbiRoci1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBmb3IgYSBkaXZpZGVyLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRoci1tYXJnaW46IHJlbS1jYWxjKDIwKSBhdXRvICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgZm9yIGl0ZW1zIGluIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LWxpbmVoZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodCAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gZm9yIGl0ZW1zIGluIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LW1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbSAhZGVmYXVsdDtcblxuLy8vIEJ1bGxldCB0eXBlIHRvIHVzZSBmb3IgdW5vcmRlcmVkIGxpc3RzIChlLmcuLCBgc3F1YXJlYCwgYGNpcmNsZWAsIGBkaXNjYCkuXG4vLy8gQHR5cGUgU3RyaW5nXG4kbGlzdC1zdHlsZS10eXBlOiBkaXNjICFkZWZhdWx0O1xuXG4vLy8gUG9zaXRpb25pbmcgZm9yIGJ1bGxldHMgb24gdW5vcmRlcmVkIGxpc3QgaXRlbXMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZSAhZGVmYXVsdDtcblxuLy8vIExlZnQgKG9yIHJpZ2h0KSBtYXJnaW4gZm9yIGxpc3RzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3Qtc2lkZS1tYXJnaW46IDEuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0IChvciByaWdodCkgbWFyZ2luIGZvciBhIGxpc3QgaW5zaWRlIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjogMS4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gZm9yIGA8ZGw+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkZWZubGlzdC1tYXJnaW4tYm90dG9tOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgZm9yIGA8ZHQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRkZWZubGlzdC10ZXJtLXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiBgPGR0PmAgYW5kIGA8ZGQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b206IDAuM3JlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgYDxibG9ja3F1b3RlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRibG9ja3F1b3RlLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYSBgPGJsb2NrcXVvdGU+YCBlbGVtZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRibG9ja3F1b3RlLXBhZGRpbmc6IHJlbS1jYWxjKDkgMjAgMCAxOSkgIWRlZmF1bHQ7XG5cbi8vLyBTaWRlIGJvcmRlciBmb3IgYDxibG9ja3F1b3RlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTGlzdFxuJGJsb2NrcXVvdGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIGZvciBgPGNpdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjaXRlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBmb3IgYDxjaXRlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjaXRlLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUHNldWRvIGNvbnRlbnQgZm9yIGA8Y2l0ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGNpdGUtcHNldWRvLWNvbnRlbnQ6ICdcXDIwMTQgXFwwMDIwJyAhZGVmYXVsdDtcblxuLy8vIEZvbnQgZmFtaWx5IGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRrZXlzdHJva2UtZm9udDogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3IgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRrZXlzdHJva2UtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRrZXlzdHJva2UtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRrZXlzdHJva2UtcGFkZGluZzogcmVtLWNhbGMoMiA0IDApICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4ka2V5c3Ryb2tlLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gYm9yZGVyIHN0eWxlIGZvciBgPGFiYnI+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBMaXN0XG4kYWJici11bmRlcmxpbmU6IDFweCBkb3R0ZWQgJGJsYWNrICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi10eXBvZ3JhcGh5LWJhc2Uge1xuICAvLyBUeXBvZ3JhcGh5IHJlc2V0c1xuICBkaXYsXG4gIGRsLFxuICBkdCxcbiAgZGQsXG4gIHVsLFxuICBvbCxcbiAgbGksXG4gIGgxLFxuICBoMixcbiAgaDMsXG4gIGg0LFxuICBoNSxcbiAgaDYsXG4gIHByZSxcbiAgZm9ybSxcbiAgcCxcbiAgYmxvY2txdW90ZSxcbiAgdGgsXG4gIHRkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC8vIFBhcmFncmFwaHNcbiAgcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuXG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIGxpbmUtaGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XG4gICAgdGV4dC1yZW5kZXJpbmc6ICRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc7XG4gIH1cblxuICAvLyBFbXBoYXNpemVkIHRleHRcbiAgZW0sXG4gIGkge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFN0cm9uZyB0ZXh0XG4gIHN0cm9uZyxcbiAgYiB7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBTbWFsbCB0ZXh0XG4gIHNtYWxsIHtcbiAgICBmb250LXNpemU6ICRzbWFsbC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBIZWFkaW5nc1xuICBoMSwgLmgxLFxuICBoMiwgLmgyLFxuICBoMywgLmgzLFxuICBoNCwgLmg0LFxuICBoNSwgLmg1LFxuICBoNiwgLmg2IHtcbiAgICBmb250LWZhbWlseTogJGhlYWRlci1mb250LWZhbWlseTtcbiAgICBmb250LXN0eWxlOiAkaGVhZGVyLWZvbnQtc3R5bGU7XG4gICAgZm9udC13ZWlnaHQ6ICRoZWFkZXItZm9udC13ZWlnaHQ7XG4gICAgY29sb3I6ICRoZWFkZXItY29sb3I7XG4gICAgdGV4dC1yZW5kZXJpbmc6ICRoZWFkZXItdGV4dC1yZW5kZXJpbmc7XG5cbiAgICBzbWFsbCB7XG4gICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgIGNvbG9yOiAkaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLy8gSGVhZGluZyBzdHlsZXNcbiAgQGVhY2ggJHNpemUsICRoZWFkZXJzIGluICRoZWFkZXItc3R5bGVzIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICBAZWFjaCAkaGVhZGVyLCAkaGVhZGVyLWRlZnMgaW4gJGhlYWRlcnMge1xuICAgICAgICAkZm9udC1zaXplLXRlbXA6IDFyZW07XG4gICAgICAgICN7JGhlYWRlcn0sIC4jeyRoZWFkZXJ9IHtcblxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGZvbnQtc2l6ZSkge1xuICAgICAgICAgICAgJGZvbnQtc2l6ZS10ZW1wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgZm9udC1zaXplKSk7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtdGVtcDtcbiAgICAgICAgICB9IEBlbHNlIGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgZnMpIHtcbiAgICAgICAgICAgICRmb250LXNpemUtdGVtcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGZzKSk7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtdGVtcDtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS10ZW1wO1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBsaW5lLWhlaWdodCkge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHVuaXRsZXNzLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGxpbmUtaGVpZ2h0KSwgJGZvbnQtc2l6ZS10ZW1wKTtcbiAgICAgICAgICB9IEBlbHNlIGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbGgpIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB1bml0bGVzcy1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBsaCksICRmb250LXNpemUtdGVtcCk7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdW5pdGxlc3MtY2FsYygkaGVhZGVyLWxpbmVoZWlnaHQsICRmb250LXNpemUtdGVtcCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbWFyZ2luLXRvcCkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG1hcmdpbi10b3ApKTtcbiAgICAgICAgICB9IEBlbHNlIGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbXQpIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtdCkpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbWFyZ2luLWJvdHRvbSkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG1hcmdpbi1ib3R0b20pKTtcbiAgICAgICAgICB9IEBlbHNlIGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbWIpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtYikpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoJGhlYWRlci1tYXJnaW4tYm90dG9tKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBMaW5rc1xuICBhIHtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICBjb2xvcjogJGFuY2hvci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uO1xuXG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAkYW5jaG9yLWNvbG9yLWhvdmVyO1xuICAgICAgQGlmICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyICE9ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgYm9yZGVyOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIEhvcml6b250YWwgcnVsZVxuICBociB7XG4gICAgY2xlYXI6IGJvdGg7XG5cbiAgICBtYXgtd2lkdGg6ICRoci13aWR0aDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgbWFyZ2luOiAkaHItbWFyZ2luO1xuXG4gICAgYm9yZGVyLXRvcDogMDtcbiAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogJGhyLWJvcmRlcjtcbiAgICBib3JkZXItbGVmdDogMDtcbiAgfVxuXG4gIC8vIExpc3RzXG4gIHVsLFxuICBvbCxcbiAgZGwge1xuICAgIG1hcmdpbi1ib3R0b206ICRsaXN0LW1hcmdpbi1ib3R0b207XG4gICAgbGlzdC1zdHlsZS1wb3NpdGlvbjogJGxpc3Qtc3R5bGUtcG9zaXRpb247XG4gICAgbGluZS1oZWlnaHQ6ICRsaXN0LWxpbmVoZWlnaHQ7XG4gIH1cblxuICAvLyBMaXN0IGl0ZW1zXG4gIGxpIHtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBVbm9yZGVyZWQgbGlzdHNcbiAgdWwge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRsaXN0LXNpZGUtbWFyZ2luO1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogJGxpc3Qtc3R5bGUtdHlwZTtcbiAgfVxuXG4gIC8vIE9yZGVyZWQgbGlzdHNcbiAgb2wge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRsaXN0LXNpZGUtbWFyZ2luO1xuICB9XG5cbiAgLy8gTmVzdGVkIHVub3JkZXJlZC9vcmRlcmVkIGxpc3RzXG4gIHVsLCBvbCB7XG4gICAgJiAmIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gRGVmaW5pdGlvbiBsaXN0c1xuICBkbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGRlZm5saXN0LW1hcmdpbi1ib3R0b207XG5cbiAgICBkdCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAkZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tO1xuICAgICAgZm9udC13ZWlnaHQ6ICRkZWZubGlzdC10ZXJtLXdlaWdodDtcbiAgICB9XG4gIH1cblxuICAvLyBCbG9ja3F1b3Rlc1xuICBibG9ja3F1b3RlIHtcbiAgICBtYXJnaW46IDAgMCAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG4gICAgcGFkZGluZzogJGJsb2NrcXVvdGUtcGFkZGluZztcbiAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAkYmxvY2txdW90ZS1ib3JkZXI7XG5cbiAgICAmLCBwIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XG4gICAgICBjb2xvcjogJGJsb2NrcXVvdGUtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLy8gQ2l0YXRpb25zXG4gIGNpdGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogJGNpdGUtZm9udC1zaXplO1xuICAgIGNvbG9yOiAkY2l0ZS1jb2xvcjtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICRjaXRlLXBzZXVkby1jb250ZW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIEFiYnJldmlhdGlvbnNcbiAgYWJiciwgYWJiclt0aXRsZV0ge1xuICAgIGJvcmRlci1ib3R0b206ICRhYmJyLXVuZGVybGluZTtcbiAgICBjdXJzb3I6IGhlbHA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgLy8gRmlndXJlc1xuICBmaWd1cmUge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuICBcbiAgLy8gQ29kZVxuICBjb2RlIHtcbiAgICBwYWRkaW5nOiAkY29kZS1wYWRkaW5nO1xuXG4gICAgYm9yZGVyOiAkY29kZS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvZGUtYmFja2dyb3VuZDtcblxuICAgIGZvbnQtZmFtaWx5OiAkY29kZS1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJGNvZGUtZm9udC13ZWlnaHQ7XG4gICAgY29sb3I6ICRjb2RlLWNvbG9yO1xuICB9XG5cbiAgLy8gS2V5c3Ryb2tlc1xuICBrYmQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAka2V5c3Ryb2tlLXBhZGRpbmc7XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka2V5c3Ryb2tlLWJhY2tncm91bmQ7XG5cbiAgICBmb250LWZhbWlseTogJGtleXN0cm9rZS1mb250O1xuICAgIGNvbG9yOiAka2V5c3Ryb2tlLWNvbG9yO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgka2V5c3Ryb2tlLXJhZGl1cykge1xuICAgICAgYm9yZGVyLXJhZGl1czogJGtleXN0cm9rZS1yYWRpdXM7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0eXBvZ3JhcGh5LWhlbHBlcnNcbi8vLy9cblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBsZWFkIHBhcmFncmFwaHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGVhZC1mb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplICogMS4yNSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIGxlYWQgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsZWFkLWxpbmVoZWlnaHQ6IDEuNiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJHN1YmhlYWRlci1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kc3ViaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRvcCBtYXJnaW4gZm9yIHN1YmhoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN1YmhlYWRlci1tYXJnaW4tdG9wOiAwLjJyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBzdGF0aXN0aWMgbnVtYmVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdGF0LWZvbnQtc2l6ZTogMi41cmVtICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi10eXBvZ3JhcGh5LWhlbHBlcnMge1xuICAvLyBVc2UgdG8gY3JlYXRlIGEgc3ViaGVhZGluZyB1bmRlciBhIG1haW4gaGVhZGVyXG4gIC8vIE1ha2Ugc3VyZSB5b3UgcGFpciB0aGUgdHdvIGVsZW1lbnRzIGluIGEgPGhlYWRlcj4gZWxlbWVudCwgbGlrZSB0aGlzOlxuICAvLyA8aGVhZGVyPlxuICAvLyAgIDxoMT5IZWFkaW5nPC9oMT5cbiAgLy8gICA8aDI+U3ViaGVhZGluZzwvaDI+XG4gIC8vIDwvaGVhZGVyPlxuICAuc3ViaGVhZGVyIHtcbiAgICBtYXJnaW4tdG9wOiAkc3ViaGVhZGVyLW1hcmdpbi10b3A7XG4gICAgbWFyZ2luLWJvdHRvbTogJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tO1xuXG4gICAgZm9udC13ZWlnaHQ6ICRzdWJoZWFkZXItZm9udC13ZWlnaHQ7XG4gICAgbGluZS1oZWlnaHQ6ICRzdWJoZWFkZXItbGluZWhlaWdodDtcbiAgICBjb2xvcjogJHN1YmhlYWRlci1jb2xvcjtcbiAgfVxuXG4gIC8vIFVzZSB0byBzdHlsZSBhbiBpbnRyb2R1Y3RvcnkgbGVhZCwgZGVjaywgYmx1cmIsIGV0Yy5cbiAgLmxlYWQge1xuICAgIGZvbnQtc2l6ZTogJGxlYWQtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGVhZC1saW5laGVpZ2h0O1xuICB9XG5cbiAgLy8gVXNlIHRvIHN0eWxlIGEgbGFyZ2UgbnVtYmVyIHRvIGRpc3BsYXkgYSBzdGF0aXN0aWNcbiAgLnN0YXQge1xuICAgIGZvbnQtc2l6ZTogJHN0YXQtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuXG4gICAgcCArICYge1xuICAgICAgbWFyZ2luLXRvcDogLTFyZW07XG4gICAgfVxuICB9XG5cbiAgdWwsIG9sIHtcbiAgICAvLyBVc2UgdG8gcmVtb3ZlIG51bWJlcnMgZnJvbSBvcmRlcmVkIGxpc3QgJiBidWxsZXRzIGZyb20gdW5vcmRlcmVkIGxpc3RcbiAgICAmLm5vLWJ1bGxldCB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AbWl4aW4gZm91bmRhdGlvbi10ZXh0LWFsaWdubWVudCB7XG4gIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgIEBlYWNoICRhbGlnbiBpbiAobGVmdCwgcmlnaHQsIGNlbnRlciwganVzdGlmeSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS10ZXh0LSN7JGFsaWdufSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiAkYWxpZ247XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAudGV4dC0jeyRhbGlnbn0ge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogJGFsaWduO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLyBJZiBgdHJ1ZWAsIGFsbCBlbGVtZW50cyB3aWxsIGhhdmUgdHJhbnNwYXJlbnQgYmFja2dyb3VuZHMgd2hlbiBwcmludGVkLCB0byBzYXZlIG9uIGluay5cbi8vLyBAdHlwZSBCb29sZWFuXG4vLy8gQGdyb3VwIGdsb2JhbFxuJHByaW50LXRyYW5zcGFyZW50LWJhY2tncm91bmRzOiB0cnVlICFkZWZhdWx0O1xuJHByaW50LWhyZWZzOiB0cnVlICFkZWZhdWx0O1xuXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZS1hbGxcblxuQG1peGluIGZvdW5kYXRpb24tcHJpbnQtc3R5bGVzIHtcbiAgLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiAgQG1lZGlhIHByaW50IHtcbiAgICAqIHtcbiAgICAgIEBpZiAkcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHMge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgfVxuXG4gICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG5cbiAgICAgIGNvbG9yOiBibGFjayAhaW1wb3J0YW50OyAvLyBCbGFjayBwcmludHMgZmFzdGVyOiBoNWJwLmNvbS9zXG4gICAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgICAuaGlkZS1mb3ItcHJpbnQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICAgIHRhYmxlLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICAgIHRoZWFkLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgICB0Ym9keS5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9XG4gICAgdHIuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICAgIHRkLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gICAgdGguc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cblxuICAgIC8vIERpc3BsYXkgdGhlIFVSTCBvZiBhIGxpbmsgYWZ0ZXIgdGhlIHRleHRcbiAgICBhLFxuICAgIGE6dmlzaXRlZCB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO31cbiAgICBAaWYgJHByaW50LWhyZWZzIHtcbiAgICAgIGFbaHJlZl06YWZ0ZXIgeyBjb250ZW50OiAnICgnIGF0dHIoaHJlZikgJyknOyB9XG4gICAgfVxuXG4gICAgLy8gRG9uJ3QgZGlzcGxheSB0aGUgVVJMIGZvciBpbWFnZXMgb3IgSmF2YVNjcmlwdC9pbnRlcm5hbCBsaW5rc1xuICAgIC5pciBhOmFmdGVyLFxuICAgIGFbaHJlZl49J2phdmFzY3JpcHQ6J106YWZ0ZXIsXG4gICAgYVtocmVmXj0nIyddOmFmdGVyIHsgY29udGVudDogJyc7IH1cblxuICAgIC8vIERpc3BsYXkgd2hhdCBhbiBhYmJyZXZpYXRpb24gc3RhbmRzIGZvciBhZnRlciB0aGUgdGV4dFxuICAgIGFiYnJbdGl0bGVdOmFmdGVyIHsgY29udGVudDogJyAoJyBhdHRyKHRpdGxlKSAnKSc7IH1cblxuICAgIC8vIFByZXZlbnQgcGFnZSBicmVha3MgaW4gdGhlIG1pZGRsZSBvZiBhIGJsb2NrcXVvdGUgb3IgcHJlZm9ybWF0dGVkIHRleHQgYmxvY2tcbiAgICBwcmUsXG4gICAgYmxvY2txdW90ZSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkZGFyay1ncmF5O1xuICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgIH1cblxuICAgIC8vIGg1YnAuY29tL3RcbiAgICB0aGVhZCB7IGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDsgfVxuXG4gICAgdHIsXG4gICAgaW1nIHsgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG5cbiAgICBpbWcgeyBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuXG4gICAgQHBhZ2UgeyBtYXJnaW46IDAuNWNtOyB9XG5cbiAgICBwLFxuICAgIGgyLFxuICAgIGgzIHtcbiAgICAgIG9ycGhhbnM6IDM7XG4gICAgICB3aWRvd3M6IDM7XG4gICAgfVxuXG4gICAgLy8gQXZvaWQgcGFnZSBicmVha3MgYWZ0ZXIgYSBoZWFkaW5nXG4gICAgaDIsXG4gICAgaDMgeyBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDsgfVxuXG4gICAgLy8gSGVscGVyIHRvIHJlLWFsbG93IHBhZ2UgYnJlYWtzIGluIHRoZSBtaWRkbGUgb2YgY2VydGFpbiBlbGVtZW50cyAoZS5nLiBwcmUsIGJsb2NrcXVvdGUsIHRyKVxuICAgIC5wcmludC1icmVhay1pbnNpZGUge1xuICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF1dG87XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gRm9udCBjb2xvciBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGNvbG9yIG9mIHBsYWNlaG9sZGVyIHRleHQgd2l0aGluIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgZmFtaWx5IG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEZvbnRcbiRpbnB1dC1mb250LWZhbWlseTogaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRpbnB1dC1mb250LXNpemU6IHJlbS1jYWxjKDE2KSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRpbnB1dC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGlucHV0LWxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBmb2N1c2VkIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1mb2N1czogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBkaXNhYmxlZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGZvY3VzZWQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1ib3JkZXItZm9jdXM6IDFweCBzb2xpZCAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXBhZGRpbmc6ICRmb3JtLXNwYWNpbmcgLyAyICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyBpbnNpZGUgdGV4dCBpbnB1dHMgd2hlbiBub3QgZm9jdXNlZC5cbi8vLyBAdHlwZSBTaGFkb3dcbiRpbnB1dC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKCRibGFjaywgMC4xKSAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgb3V0c2lkZSB0ZXh0IGlucHV0cyB3aGVuIGZvY3VzZWQuXG4vLy8gQHR5cGUgU2hhZG93XG4kaW5wdXQtc2hhZG93LWZvY3VzOiAwIDAgNXB4ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEN1cnNvciB0byB1c2Ugd2hlbiBob3ZlcmluZyBvdmVyIGEgZGlzYWJsZWQgdGV4dCBpbnB1dC5cbi8vLyBAdHlwZSBDdXJzb3JcbiRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ6IG5vdC1hbGxvd2VkICFkZWZhdWx0O1xuXG4vLy8gUHJvcGVydGllcyB0byB0cmFuc2l0aW9uIG9uIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiRpbnB1dC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZXMgdGhlIHVwL2Rvd24gYnV0dG9ucyB0aGF0IENocm9tZSBhbmQgRmlyZWZveCBhZGQgdG8gYDxpbnB1dCB0eXBlPSdudW1iZXInPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGlucHV0LW51bWJlci1zcGlubmVyczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFJhZGl1cyBmb3IgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kaW5wdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZm9yIGZvcm0gYnV0dG9ucywgZGVmYXVsdGVkIHRvIGdsb2JhbC1yYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZm9ybS1idXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuQG1peGluIGZvcm0tZWxlbWVudCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICogdW5pdGxlc3MtY2FsYygkaW5wdXQtbGluZS1oZWlnaHQpKSArIChnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ3RvcCcpICsgZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICdib3R0b20nKSkgLSByZW0tY2FsYygxKTtcblxuICBkaXNwbGF5OiBibG9jaztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJGhlaWdodDtcbiAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkaW5wdXQtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZDtcbiAgYm94LXNoYWRvdzogJGlucHV0LXNoYWRvdztcblxuICBmb250LWZhbWlseTogJGlucHV0LWZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtY29sb3I7XG5cbiAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuICB9XG5cbiAgLy8gRm9jdXMgc3RhdGVcbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXI6ICRpbnB1dC1ib3JkZXItZm9jdXM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZm9jdXM7XG4gICAgYm94LXNoYWRvdzogJGlucHV0LXNoYWRvdy1mb2N1cztcblxuICAgIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXRleHQge1xuICAvLyBUZXh0IGlucHV0c1xuICAje3RleHQtaW5wdXRzKCl9LFxuICB0ZXh0YXJlYSB7XG4gICAgQGluY2x1ZGUgZm9ybS1lbGVtZW50O1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gIH1cblxuICAvLyBUZXh0IGFyZWFzXG4gIHRleHRhcmVhIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG5cbiAgICAmW3Jvd3NdIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG4gIH1cblxuICBpbnB1dCxcbiAgdGV4dGFyZWEge1xuICAgIC8vIFBsYWNlaG9sZGVyIHRleHRcbiAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yO1xuICAgIH1cblxuICAgIC8vIERpc2FibGVkL3JlYWRvbmx5IHN0YXRlXG4gICAgJjpkaXNhYmxlZCxcbiAgICAmW3JlYWRvbmx5XSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDtcbiAgICAgIGN1cnNvcjogJGlucHV0LWN1cnNvci1kaXNhYmxlZDtcbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCBzdHlsZXMgb24gYnV0dG9uLWxpa2UgaW5wdXRzXG4gIFt0eXBlPSdzdWJtaXQnXSxcbiAgW3R5cGU9J2J1dHRvbiddIHtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6ICRmb3JtLWJ1dHRvbi1yYWRpdXM7XG4gIH1cblxuICAvLyBSZXNldCBOb3JtYWxpemUgc2V0dGluZyBjb250ZW50LWJveCB0byBzZWFyY2ggZWxlbWVudHNcbiAgaW5wdXRbdHlwZT0nc2VhcmNoJ10geyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG5cbiAgLy8gTnVtYmVyIGlucHV0IHN0eWxlc1xuICBbdHlwZT0nbnVtYmVyJ10ge1xuICAgIEBpZiBub3QgJGlucHV0LW51bWJlci1zcGlubmVycyB7XG4gICAgICAtbW96LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4XG5cbiAgICAgICY6Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG4gICAgICAmOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1jaGVja2JveCB7XG4gIFt0eXBlPSdmaWxlJ10sXG4gIFt0eXBlPSdjaGVja2JveCddLFxuICBbdHlwZT0ncmFkaW8nXSB7XG4gICAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgfVxuXG4gIC8vIFN0eWxlcyBmb3IgaW5wdXQvbGFiZWwgc2libGluZ3NcbiAgW3R5cGU9J2NoZWNrYm94J10gKyBsYWJlbCxcbiAgW3R5cGU9J3JhZGlvJ10gKyBsYWJlbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcblxuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRmb3JtLXNwYWNpbmc7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICZbZm9yXSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICB9XG5cbiAgLy8gU3R5bGVzIGZvciBpbnB1dHMgaW5zaWRlIGxhYmVsc1xuICBsYWJlbCA+IFt0eXBlPSdjaGVja2JveCddLFxuICBsYWJlbCA+IFt0eXBlPSdyYWRpbyddIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGZvcm0tc3BhY2luZyAqIDAuNTtcbiAgfVxuXG4gIC8vIE5vcm1hbGl6ZSBmaWxlIGlucHV0IHdpZHRoXG4gIFt0eXBlPSdmaWxlJ10ge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gQ29sb3IgZm9yIGZvcm0gbGFiZWxzLlxuLy8vIEB0eXBlIENvbG9yXG4kZm9ybS1sYWJlbC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIGZvciBmb3JtIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmb3JtLWxhYmVsLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgZm9yIGZvcm0gbGFiZWxzLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBmb3IgZm9ybSBsYWJlbHMuIFRoZSBoaWdoZXIgdGhlIG51bWJlciwgdGhlIG1vcmUgc3BhY2UgYmV0d2VlbiB0aGUgbGFiZWwgYW5kIGl0cyBpbnB1dCBmaWVsZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0OiAxLjggIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLWxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMDtcblxuICBmb250LXNpemU6ICRmb3JtLWxhYmVsLWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkZm9ybS1sYWJlbC1jb2xvcjtcbn1cblxuQG1peGluIGZvcm0tbGFiZWwtbWlkZGxlIHtcbiAgJGlucHV0LWJvcmRlci13aWR0aDogZ2V0LWJvcmRlci12YWx1ZSgkaW5wdXQtYm9yZGVyLCB3aWR0aCk7XG5cbiAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgcGFkZGluZzogKCRmb3JtLXNwYWNpbmcgLyAyICsgcmVtLWNhbGMoJGlucHV0LWJvcmRlci13aWR0aCkpIDA7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tbGFiZWwge1xuICBsYWJlbCB7XG4gICAgQGluY2x1ZGUgZm9ybS1sYWJlbDtcblxuICAgICYubWlkZGxlIHtcbiAgICAgIEBpbmNsdWRlIGZvcm0tbGFiZWwtbWlkZGxlO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGhlbHAgdGV4dC5cbi8vLyBAdHlwZSBDb2xvclxuJGhlbHB0ZXh0LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgaGVscCB0ZXh0LlxuLy8vIEB0eXBlIE51bWJlclxuJGhlbHB0ZXh0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHN0eWxlIGZvciBoZWxwIHRleHQuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGhlbHB0ZXh0LWZvbnQtc3R5bGU6IGl0YWxpYyAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1oZWxwdGV4dCB7XG4gIC5oZWxwLXRleHQge1xuICAgICRtYXJnaW4tdG9wOiAoJGZvcm0tc3BhY2luZyAqIDAuNSkgKiAtMTtcblxuICAgIG1hcmdpbi10b3A6ICRtYXJnaW4tdG9wO1xuICAgIGZvbnQtc2l6ZTogJGhlbHB0ZXh0LWZvbnQtc2l6ZTtcbiAgICBmb250LXN0eWxlOiAkaGVscHRleHQtZm9udC1zdHlsZTtcbiAgICBjb2xvcjogJGhlbHB0ZXh0LWNvbG9yO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gQ29sb3Igb2YgbGFiZWxzIHByZWZpeGVkIHRvIGFuIGlucHV0LlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcHJlZml4LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgbGFiZWxzIHByZWZpeGVkIHRvIGFuIGlucHV0LlxuLy8vIEB0eXBlIEJvcmRlclxuJGlucHV0LXByZWZpeC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0L3JpZ2h0IHBhZGRpbmcgb2YgYW4gcHJlL3Bvc3RmaXhlZCBpbnB1dCBsYWJlbFxuJGlucHV0LXByZWZpeC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXByZXBvc3RmaXgge1xuICAkaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSAqICRpbnB1dC1saW5lLWhlaWdodCkgKyAoZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICd0b3AnKSArIGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAnYm90dG9tJykpIC0gcmVtLWNhbGMoMSk7O1xuXG4gIC5pbnB1dC1ncm91cCB7XG4gICAgZGlzcGxheTogaWYoJGdsb2JhbC1mbGV4Ym94LCBmbGV4LCB0YWJsZSk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZztcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgfVxuXG4gICAgPiA6Zmlyc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLXJhZGl1czogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIDAgJGlucHV0LXJhZGl1cyAkaW5wdXQtcmFkaXVzIDAsICRpbnB1dC1yYWRpdXMgMCAwICRpbnB1dC1yYWRpdXMpO1xuICAgIH1cblxuICAgID4gOmxhc3QtY2hpbGQge1xuICAgICAgPiAqIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsICRpbnB1dC1yYWRpdXMgMCAwICRpbnB1dC1yYWRpdXMsIDAgJGlucHV0LXJhZGl1cyAkaW5wdXQtcmFkaXVzIDApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICVpbnB1dC1ncm91cC1jaGlsZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtbGFiZWwge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIHBhZGRpbmc6IDAgJGlucHV0LXByZWZpeC1wYWRkaW5nO1xuICAgIGJvcmRlcjogJGlucHV0LXByZWZpeC1ib3JkZXI7XG4gICAgYmFja2dyb3VuZDogJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kO1xuXG4gICAgY29sb3I6ICRpbnB1dC1wcmVmaXgtY29sb3I7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiAxJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC1wcmVmaXgtYm9yZGVyKSB7XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgICAgbWluLXdpZHRoOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogMSU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgYSxcbiAgICBpbnB1dCxcbiAgICBidXR0b24sXG4gICAgbGFiZWwge1xuICAgICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG5cbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGhlaWdodDogJGhlaWdodDtcbiAgICAgIH1cbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gICAgfVxuICB9XG5cbiAgLy8gU3BlY2lmaWNpdHkgYnVtcCBuZWVkZWQgdG8gcHJldmVudCBvdmVycmlkZSBieSBidXR0b25zXG4gIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAuaW5wdXQtZ3JvdXAgLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIERlZmF1bHQgYm9yZGVyIGFyb3VuZCBjdXN0b20gZmllbGRzZXRzLlxuLy8vIEB0eXBlIEJvcmRlclxuJGZpZWxkc2V0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgY3VzdG9tIGZpZWxkc2V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmaWVsZHNldC1wYWRkaW5nOiByZW0tY2FsYygyMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBhcm91bmQgY3VzdG9tIGZpZWxkc2V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmaWVsZHNldC1tYXJnaW46IHJlbS1jYWxjKDE4IDApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGJldHdlZW4gdGhlIGxlZ2VuZCB0ZXh0IGFuZCBmaWVsZHNldCBib3JkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGVnZW5kLXBhZGRpbmc6IHJlbS1jYWxjKDAgMykgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmaWVsZHNldCB7XG4gIG1hcmdpbjogJGZpZWxkc2V0LW1hcmdpbjtcbiAgcGFkZGluZzogJGZpZWxkc2V0LXBhZGRpbmc7XG4gIGJvcmRlcjogJGZpZWxkc2V0LWJvcmRlcjtcblxuICBsZWdlbmQge1xuICAgIC8vIENvdmVycyB1cCB0aGUgZmllbGRzZXQncyBib3JkZXIgdG8gY3JlYXRlIGFydGlmaWNpYWwgcGFkZGluZ1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiByZW0tY2FsYygtMyk7XG4gICAgcGFkZGluZzogJGxlZ2VuZC1wYWRkaW5nO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tZmllbGRzZXQge1xuICBmaWVsZHNldCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgbGVnZW5kIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZyAqIDAuNTtcbiAgfVxuXG4gIC5maWVsZHNldCB7XG4gICAgQGluY2x1ZGUgZmllbGRzZXQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBzZWxlY3QgbWVudXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgdGhlIGRyb3Bkb3duIHRyaWFuZ2xlIGluc2lkZSBzZWxlY3QgbWVudXMuIFNldCB0byBgdHJhbnNwYXJlbnRgIHRvIHJlbW92ZSBpdCBlbnRpcmVseS5cbi8vLyBAdHlwZSBDb2xvclxuJHNlbGVjdC10cmlhbmdsZS1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciBzZWxlY3QgbWVudXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuQG1peGluIGZvcm0tc2VsZWN0IHtcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKiB1bml0bGVzcy1jYWxjKCRpbnB1dC1saW5lLWhlaWdodCkpICsgKGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAndG9wJykgKyBnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ2JvdHRvbScpKSAtIHJlbS1jYWxjKDEpO1xuXG4gIGhlaWdodDogJGhlaWdodDtcbiAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmc7XG5cbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkc2VsZWN0LXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNlbGVjdC1iYWNrZ3JvdW5kO1xuXG4gIGZvbnQtZmFtaWx5OiAkaW5wdXQtZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcblxuICBAaWYgJHNlbGVjdC10cmlhbmdsZS1jb2xvciAhPSB0cmFuc3BhcmVudCB7XG4gICAgQGluY2x1ZGUgYmFja2dyb3VuZC10cmlhbmdsZSgkc2VsZWN0LXRyaWFuZ2xlLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLW9yaWdpbjogY29udGVudC1ib3g7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogJGdsb2JhbC1yaWdodCAoLSRmb3JtLXNwYWNpbmcpIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogOXB4IDZweDtcblxuICAgIHBhZGRpbmctI3skZ2xvYmFsLXJpZ2h0fTogKCRmb3JtLXNwYWNpbmcgKiAxLjUpO1xuICB9XG5cbiAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuICB9XG5cbiAgLy8gRm9jdXMgc3RhdGVcbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXI6ICRpbnB1dC1ib3JkZXItZm9jdXM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZm9jdXM7XG4gICAgYm94LXNoYWRvdzogJGlucHV0LXNoYWRvdy1mb2N1cztcblxuICAgIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuICAgIH1cbiAgfVxuXG4gIC8vIERpc2FibGVkIHN0YXRlXG4gICY6ZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkO1xuICAgIGN1cnNvcjogJGlucHV0LWN1cnNvci1kaXNhYmxlZDtcbiAgfVxuXG4gIC8vIEhpZGUgdGhlIGRyb3Bkb3duIGFycm93IHNob3duIGluIG5ld2VyIElFIHZlcnNpb25zXG4gICY6Oi1tcy1leHBhbmQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAmW211bHRpcGxlXSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1zZWxlY3Qge1xuICBzZWxlY3Qge1xuICAgIEBpbmNsdWRlIGZvcm0tc2VsZWN0O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBhYmlkZVxuLy8vL1xuXG4vLy8gU2V0cyBpZiBlcnJvciBzdHlsZXMgc2hvdWxkIGJlIGFkZGVkIHRvIGlucHV0cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWJpZGUtaW5wdXRzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBpZiBlcnJvciBzdHlsZXMgc2hvdWxkIGJlIGFkZGVkIHRvIGxhYmVscy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWJpZGUtbGFiZWxzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciB0byB1c2UgZm9yIGludmFsaWQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCkgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB0byB1c2UgZm9yIGxhYmVscyBvZiBpbnZhbGlkIGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgZm9ybSBlcnJvciB0ZXh0LlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtZXJyb3ItY29sb3I6IGdldC1jb2xvcihhbGVydCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgZm9ybSBlcnJvciB0ZXh0LlxuLy8vIEB0eXBlIE51bWJlclxuJGlucHV0LWVycm9yLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHdlaWdodCBmb3IgZm9ybSBlcnJvciB0ZXh0LlxuLy8vIEB0eXBlIEtleXdvcmRcbiRpbnB1dC1lcnJvci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8vIFN0eWxlcyB0aGUgYmFja2dyb3VuZCBhbmQgYm9yZGVyIG9mIGFuIGlucHV0IGZpZWxkIHRvIGhhdmUgYW4gZXJyb3Igc3RhdGUuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGFsZXJ0LWNvbG9yXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIGJhY2tncm91bmQgYW5kIGJvcmRlci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhY2tncm91bmQtbGlnaHRlbiBbMTAlXSAtIExpZ2h0bmVzcyBsZXZlbCBvZiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbkBtaXhpbiBmb3JtLWlucHV0LWVycm9yKFxuICAkYmFja2dyb3VuZDogJGlucHV0LWJhY2tncm91bmQtaW52YWxpZCxcbiAgJGJhY2tncm91bmQtbGlnaHRlbjogMTAlXG4pIHtcbiAgJjpub3QoOmZvY3VzKSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtaXgoJGJhY2tncm91bmQsICR3aGl0ZSwgJGJhY2tncm91bmQtbGlnaHRlbik7XG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBlcnJvciBzdHlsZXMgdG8gYSBmb3JtIGVsZW1lbnQsIHVzaW5nIHRoZSB2YWx1ZXMgaW4gdGhlIHNldHRpbmdzIGZpbGUuXG5AbWl4aW4gZm9ybS1lcnJvciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1hcmdpbi10b3A6ICRmb3JtLXNwYWNpbmcgKiAtMC41O1xuICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nO1xuXG4gIGZvbnQtc2l6ZTogJGlucHV0LWVycm9yLWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1lcnJvci1mb250LXdlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1lcnJvci1jb2xvcjtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1lcnJvciB7XG4gIEBpZiAkYWJpZGUtaW5wdXRzIHtcbiAgICAvLyBFcnJvciBjbGFzcyBmb3IgaW52YWxpZCBpbnB1dHNcbiAgICAuaXMtaW52YWxpZC1pbnB1dCB7XG4gICAgICBAaW5jbHVkZSBmb3JtLWlucHV0LWVycm9yO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkYWJpZGUtbGFiZWxzIHtcbiAgICAvLyBFcnJvciBjbGFzcyBmb3IgbGFiZWxzIG9mIGludmFsaWQgb3V0cHV0c1xuICAgIC5pcy1pbnZhbGlkLWxhYmVsIHtcbiAgICAgIGNvbG9yOiAkZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkO1xuICAgIH1cbiAgfVxuXG4gIC8vIEZvcm0gZXJyb3IgZWxlbWVudFxuICAuZm9ybS1lcnJvciB7XG4gICAgQGluY2x1ZGUgZm9ybS1lcnJvcjtcblxuICAgICYuaXMtdmlzaWJsZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbn1cbiIsIkBjaGFyc2V0ICd1dGYtOCc7XG5cbkBpbXBvcnQgJ3NldHRpbmdzJztcbkBpbXBvcnQgJ2ZvdW5kYXRpb24nO1xuQGltcG9ydCAnbW90aW9uLXVpJztcblxuJHB1YmxpY19wYXRoOiBcIi4uLy4uL2Fzc2V0cy9cIjtcblxuQGluY2x1ZGUgZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzO1xuQGluY2x1ZGUgZm91bmRhdGlvbi14eS1ncmlkLWNsYXNzZXM7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWdyaWQ7XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1ncmlkO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWNsYXNzZXM7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXR5cG9ncmFwaHk7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWZvcm1zO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b247XG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbjtcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uLW1lbnU7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWJhZGdlO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1icmVhZGNydW1icztcbkBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uLWdyb3VwO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1jYWxsb3V0O1xuQGluY2x1ZGUgZm91bmRhdGlvbi1jYXJkO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1jbG9zZS1idXR0b247XG5AaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnU7XG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnUtaWNvbjtcbkBpbmNsdWRlIGZvdW5kYXRpb24tZHJpbGxkb3duLW1lbnU7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bi1tZW51O1xuQGluY2x1ZGUgZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1sYWJlbDtcbkBpbmNsdWRlIGZvdW5kYXRpb24tbWVkaWEtb2JqZWN0O1xuQGluY2x1ZGUgZm91bmRhdGlvbi1vZmYtY2FudmFzO1xuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1vcmJpdDtcbkBpbmNsdWRlIGZvdW5kYXRpb24tcGFnaW5hdGlvbjtcbkBpbmNsdWRlIGZvdW5kYXRpb24tcHJvZ3Jlc3MtYmFyO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1zbGlkZXI7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXN0aWNreTtcbkBpbmNsdWRlIGZvdW5kYXRpb24tcmV2ZWFsO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1zd2l0Y2g7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXRhYmxlO1xuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi10YWJzO1xuQGluY2x1ZGUgZm91bmRhdGlvbi10aHVtYm5haWw7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXRpdGxlLWJhcjtcbkBpbmNsdWRlIGZvdW5kYXRpb24tdG9vbHRpcDtcbkBpbmNsdWRlIGZvdW5kYXRpb24tdG9wLWJhcjtcbkBpbmNsdWRlIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1mbG9hdC1jbGFzc2VzO1xuXG5cbkBpbXBvcnQgXCJtaXhpbnNcIjtcbkBpbXBvcnQgXCJmb250c1wiO1xuQGltcG9ydCBcImFuaW1hdGlvbnNcIjtcbkBpbXBvcnQgXCJmYW5jeWJveFwiO1xuXG5cbkBpbXBvcnQgXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvc2xpY2stY2Fyb3VzZWwvc2xpY2svc2xpY2suc2Nzc1wiO1xuQGltcG9ydCBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9hb3Mvc3JjL3Nhc3MvYW9zLnNjc3NcIjtcbkBpbXBvcnQgXCJzbGljay10aGVtZS1yZWdpc1wiO1xuXG5cblxuJGJsYWNrOiAjMDAwMDAwO1xuJHdoaXRlOiAjZmZmZmZmO1xuJGJsdWU6ICMwMGJjZGU7XG4kZ3JlZW46ICM3OWJjNGM7XG4kZ3JlZW4tbGlnaHQ6ICNjYWRkNWU7XG4keWVsbG93OiAjZmZjYzAyO1xuJG9yYW5nZTogI2Y2OGUzNTtcbiRncmV5OiAjNTg1ODViO1xuJGdyZXktbGlnaHQ6ICNlZmVmZWY7XG4kZ3JleS1tZWRpdW06ICNjY2NjY2M7XG4kcHVycGxlOiAjODI0OThkO1xuJHB1cnBsZS1saWdodDogIzllNzZiNDtcbiRwdXJwbGUtdGhyZWU6ICM3Njg0YzE7XG4kcHVycGxlLWZvdXI6ICM3ODlkZDI7XG4kYmx1ZS1saWdodDogIzY3YmJjODtcbiRibHVlLW1lZGl1bTogIzU3QjlEQjtcbiRibHVlLWRhcms6ICMwMDM2NTU7XG4kdGVhbDogIzczY2JjOTtcbiRncmVlbi10cmVlOiAjODdjNzczO1xuJHJlZDogI2YwNTg2MTtcblxuJHZpYzogJGdyZWVuLWxpZ2h0O1xuJHFsZDogJHllbGxvdztcbiRuc3c6ICRibHVlO1xuJGFjdDogJHB1cnBsZS1saWdodDtcbiR3YTogJHRlYWw7XG4kbnQ6ICRibHVlLWxpZ2h0O1xuJHRhczogJGdyZWVuLXRyZWU7XG4kc2E6ICRwdXJwbGUtZm91cjtcblxuXG4kYm9keS10ZXh0LWNvbG9yOiAkZ3JleTtcbiRsaW5rLWNvbG9yOiAkYmxhY2s7XG4kbGluay1jb2xvci1ob3ZlcjogbGlnaHRlbigkZ3JleSwgMzUlKTtcbiRoZWFkaW5ncy1jb2xvcjogJGdyZXk7XG5cblxuXG5cbi8vICRncmlkLXBhZGRpbmc6IHJlbS1jYWxjKDIyKTtcblxuXG4kZXJyb3I6ICRyZWQ7XG5cbmh0bWwge1xuICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbn1cblxuaHRtbCwgYm9keSB7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdG1hcmdpbjogMDtcblx0Zm9udC1mYW1pbHk6ICRmb250LWJvZHk7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcblx0LXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICBcdHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICBjb2xvcjogJGJvZHktdGV4dC1jb2xvcjtcblx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuXHRsZXR0ZXItc3BhY2luZzogMDtcbn1cblxuYm9keSB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgJi5uYXYtb3BlbiB7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ud3JhcHBlciB7XG4gICAgaGVpZ2h0OiAxMDAlO1xufVxuXG46OnNlbGVjdGlvbiB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgkZ3JleSwgNTAlKTtcbiAgICBjb2xvcjogJHdoaXRlO1xufVxuXG46Oi1tb3otc2VsZWN0aW9uIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKCRncmV5LCA1MCUpO1xuICAgIGNvbG9yOiAkd2hpdGU7XG59XG5cbi8vIGEge1xuLy8gXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4vLyBcdGNvbG9yOiAkbGluay1jb2xvcjtcbi8vIFx0dHJhbnNpdGlvbjogY29sb3IgMC40cyBlYXNlLWluLW91dDtcbi8vICAgICAmOmhvdmVyLFxuLy8gICAgICY6Zm9jdXMge1xuLy8gXHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbi8vIFx0XHRjb2xvcjogJGxpbmstY29sb3ItaG92ZXI7XG4vLyBcdH1cbi8vIH1cblxucCB7XG5cdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuXHRsaW5lLWhlaWdodDogMi4wO1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIyKTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wMWVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgJisgcCB7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKC02KTtcbiAgICB9XG59XG5cbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1oZWFkaW5ncztcbiAgICBmb250LXdlaWdodDogNzAwO1xuXHRsZXR0ZXItc3BhY2luZzogMC4wNWVtO1xuXHRsaW5lLWhlaWdodDogMS4zO1xuXHRtYXJnaW4tdG9wOiAwO1xuXHRjb2xvcjogJGhlYWRpbmdzLWNvbG9yO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgLy8gZm9udC13ZWlnaHQ6IDkwMDtcbiAgICBzdHJvbmcge1xuICAgICAgICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgICB9XG4gICAgYSB7XG4gICAgICAgIGNvbG9yOiAkaGVhZGluZ3MtY29sb3I7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICRoZWFkaW5ncy1jb2xvcjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG4uaGVhZGluZyB7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LWhlYWRpbmdzO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDI1ZW07XG59XG5cbi5oZWFkaW5nLXByaW1hcnkge1xuICAgIC8vIGZvbnQtZmFtaWx5OiAkbWFpc29uLWRlbWk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMDtcblxufVxuXG4uaGVhZGluZy1zZWNvbmRhcnkge1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1oZWFkaW5ncztcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAwO1xufVxuXG5oMSB7XG5cdGZvbnQtc2l6ZTogcmVtLWNhbGMoMzQpO1xuXHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg0Mik7XG59XG5cbmgyIHtcblx0Zm9udC1zaXplOiByZW0tY2FsYygyNik7XG5cdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIyKTtcbn1cblxuaDMge1xuXHRmb250LXNpemU6IHJlbS1jYWxjKDE5KTtcblx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjIpO1xuICAgIGNvbG9yOiAkYmx1ZTtcbiAgICBmb250LXdlaWdodDogNDAwO1xufVxuXG5oNCB7XG5cdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuXHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMik7XG59XG5cbmg1IHtcblx0Zm9udC1zaXplOiByZW0tY2FsYygxMik7XG5cdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIyKTtcbn1cblxuaDYge1xuXHRmb250LXNpemU6IHJlbS1jYWxjKDEwKTtcblx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjIpO1xufVxuXG4uaDItc3ViLWhlYWRpbmcge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjEpO1xuXHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMik7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxucCB7XG4gICAgJisgaDIge1xuICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygyMikgKiAyO1xuICAgIH1cbiAgICAmKyBoMyB7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDIyKSAqIDI7XG4gICAgfVxuICAgICYrIGg0IHtcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMjIpICogMjtcbiAgICB9XG4gICAgJisgaDUge1xuICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygyMikgKiAyO1xuICAgIH1cbiAgICAmKyAuaDItc3ViLWhlYWRpbmcge1xuICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygyMikgKiAyO1xuICAgIH1cbiAgICAmKyAub3V0ZXItYWNjb3JkaW9uLXJlZ2lzIHtcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMjIpICogMjtcbiAgICB9XG59XG5cbmJsb2NrcXVvdGUge1xuXHRmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcblx0bGluZS1oZWlnaHQ6IDEuMjtcblx0bWFyZ2luOiByZW0tY2FsYyggMCAwIDI0IDApO1xufVxuXG5lbSwgaSB7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuXG4uY29udGVudCB7XG4gICAgdWw6bm90KC5nZm9ybV9maWVsZHMpOm5vdCguZ2ZpZWxkX2NoZWNrYm94KTpub3QoLmdmaWVsZF9yYWRpbyk6bm90KC5jaG9zZW4tcmVzdWx0cyk6bm90KC5uYXYtZm9vdGVyKTpub3QoLmFjY29yZGlvbi1yZWdpcyk6bm90KC5hY2NvcmRpb24tZmFxcy1yZWdpcyk6bm90KC5pbmZvLWljb25zLXBhbmVsKTpub3QoLmp1bXAtbGlua3MpOm5vdCguc2hhcmUtaWNvbnMpOm5vdCgucGFnZS1udW1iZXJzKTpub3QoLm1vbnRoLXNlbGVjdG9yKTpub3QoLnNsaWNrLWRvdHMpOm5vdCgucHJvcGVydHktbGlzdCk6bm90KC50YWJzKTpub3QoLnRhYnMtaW50ZXJpb3IpOm5vdCgucm9vbS1mZWF0dXJlcyk6bm90KC5pbmxpbmUtY29udGVudC1uYXYpOm5vdCguaW5saW5lLW5hdilcbiAgICB7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDMyKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMzIpO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYyg2MCk7XG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYygyMCk7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMik7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGxpZ2h0ZW4oJGdyZXksIDUlKTtcbiAgICAgICAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoNCk7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiByZW0tY2FsYyg0KTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgICAgICAgICAgbGVmdDogcmVtLWNhbGMoMSk7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogcmVtLWNhbGMoOSk7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogcmVtLWNhbGMoNik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgb2wge1xuICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygzMik7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDMyKTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoNjApO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgbGkge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTIpO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG5cblxuaW5wdXRbdHlwZT0ndGV4dCddLFxuaW5wdXRbdHlwZT0nZW1haWwnXSxcbmlucHV0W3R5cGU9J251bWJlciddLFxuc2VsZWN0IHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGhlaWdodDogcmVtLWNhbGMoNDgpO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjAyNWVtO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgIGNvbG9yOiAkZ3JleTtcbiAgICBib3JkZXItY29sb3I6IGxpZ2h0ZW4oJGdyZXksIDE1JSk7XG4gICAgJjpmb2N1cyB7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgfVxuICAgICY6ZGlzYWJsZWQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGNvbG9yOiBsaWdodGVuKCRncmV5LCA1MCUpO1xuICAgICAgICBib3JkZXItY29sb3I6ICNiY2JlYmY7XG4gICAgfVxufVxuXG50ZXh0YXJlYSB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wMjVlbTtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICBjb2xvcjogJGdyZXk7XG4gICAgYm9yZGVyLWNvbG9yOiBsaWdodGVuKCRncmV5LCAxNSUpO1xuICAgICY6Zm9jdXMge1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgIH1cbiAgICAmOmRpc2FibGVkIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICBjb2xvcjogbGlnaHRlbigkZ3JleSwgNTAlKTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjYmNiZWJmO1xuICAgIH1cbn1cblxuXG5zZWxlY3Qge1xuXHR1c2VyLXNlbGVjdDogbm9uZTtcblx0b3V0bGluZTogbm9uZTtcblx0QGluY2x1ZGUgc3ZnLWJnKCAnc2VsZWN0LWFycm93LWdyZXknLCAkcG9zaXRpb246IHJpZ2h0IDUwJSApO1xuXHRiYWNrZ3JvdW5kLXNpemU6IDM1cHggOXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcblx0Jjo6LW1zLWV4cGFuZCB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuICAgICYucmV2ZXJzZSB7XG4gICAgICAgIEBpbmNsdWRlIHN2Zy1iZyggJ3NlbGVjdC1hcnJvdy13aGl0ZScsICRwb3NpdGlvbjogcmlnaHQgNTAlICk7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMzVweCA5cHg7XG4gICAgfVxufVxuXG5cblxuLmJ1dHRvbiwgLmdmb3JtX2J1dHRvbiB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlLWxpZ2h0O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgNDAwbXMgZWFzZS1pbi1vdXQsIGNvbG9yIDQwMG1zIGVhc2UtaW4tb3V0O1xuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYmx1ZS1saWdodCwgNSUpO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgIH1cbiAgICAmLnRpbnkge1xuICAgICAgICAvLyBmb250LWZhbWlseTogJG1haXNvbi1kZW1pO1xuICAgIH1cblxuICAgICYuY3RhLFxuICAgICYuc2Vjb25kYXJ5IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHJlZDtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJHJlZCwgNSUpO1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgfVxuICAgICAgICAmLnJldmVyc2Uge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBjb2xvcjogJHJlZDtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHJlZDtcbiAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJHJlZCwgNSUpO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi52aWRlbyB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYyg1MCk7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWFycm93LXNvbGlkLXJpZ2h0O1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRpY29uLWZvbnQ7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDUyKTtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygzMik7XG4gICAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoMzIpO1xuICAgICAgICAgICAgaGVpZ2h0OiByZW0tY2FsYygzMik7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiByZW0tY2FsYygxNSk7XG4gICAgICAgICAgICB0b3A6IHJlbS1jYWxjKDcpO1xuICAgICAgICB9XG4gICAgfVxuICAgICYuY2FsbCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYyg1MCk7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXBob25lO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRpY29uLWZvbnQ7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDMyKTtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygzMik7XG4gICAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoMzIpO1xuICAgICAgICAgICAgaGVpZ2h0OiByZW0tY2FsYygzMik7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiByZW0tY2FsYygxNSk7XG4gICAgICAgICAgICB0b3A6IHJlbS1jYWxjKDcpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uYnV0dG9uICsgLmJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDIwKTtcbiAgICB9XG5cbn1cblxuLmdmb3JtX2J1dHRvbiB7XG4gICAgQGV4dGVuZCAuYnV0dG9uO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRyZWQ7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJHJlZCwgNSUpO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgIH1cbn1cblxudGFibGUge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xufVxuXG5cblxuXG4vLyBMT0dPICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyAubG9nby1wYW5lbCB7XG4vLyAgICAgZGlzcGxheTogYmxvY2s7XG4vLyAgICAgd2lkdGg6IHJlbS1jYWxjKDEyNCk7XG4vLyAgICAgaGVpZ2h0OiByZW0tY2FsYygzMik7XG4vLyAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuLy8gICAgIG91dGxpbmU6IG5vbmU7XG4vLyAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDIwKTtcbi8vICAgICAmLmFsdCB7XG4vLyAgICAgICAgIHdpZHRoOiByZW0tY2FsYygzMDApO1xuLy8gICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDUwKTtcbi8vICAgICB9XG4vLyB9XG5cbi8vIC5sb2dvLXBhbmVsIG9iamVjdCxcbi8vIC5pbnRyby1sb2dvLXBhbmVsIG9iamVjdCB7XG4vLyAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4vLyB9XG5cblxuXG4vLyBMT0dPICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4ubG9nbyB7XG4gICAgd2lkdGg6IHJlbS1jYWxjKDc0KTtcbiAgICBoZWlnaHQ6IHJlbS1jYWxjKDkyKTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgJi5hbHQge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgLy8gd2lkdGg6IHJlbS1jYWxjKDIwMCk7XG4gICAgICAgIGhlaWdodDogcmVtLWNhbGMoNDgpO1xuICAgICAgICAvLyBoZWlnaHQ6IHJlbS1jYWxjKDMzKTtcbiAgICB9XG59XG5cbi5sb2dvLXBhbmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoMjEgMTAgMTApO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICB3aWR0aDogcmVtLWNhbGMoOTQpO1xuICAgIGhlaWdodDogcmVtLWNhbGMoMTMwKTtcbiAgICAmLmFsdCB7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDE2IDEwIDEwKTtcbiAgICAgICAgLy8gcGFkZGluZzogcmVtLWNhbGMoMjAgMCAyMCAwKTtcbiAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDIwMCk7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgLy8gaGVpZ2h0OiA3NXB4O1xuICAgICAgICAvLyBoZWlnaHQ6IGNhbGMoMzNweCArIDQycHgpO1xuICAgIH1cbiAgICBvYmplY3Qge1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG59XG5cblxuLy8gSEVBREVSICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi5oZWFkZXItb3V0ZXIsXG4uaGVhZGVyLW91dGVyLWZpeGVkIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgei1pbmRleDogMTAxO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyAvLyBGaXggZm9yIGhlYWRlciBvdmVybGFwcGluZyBicmVhZGNydW1icyAtIGRpc2FibGVkIG9uIGluZGl2aWR1YWwgZWxlbWVudHMgYmVsb3dcbiAgICAubG9nby1maXhlZCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgIH1cblxuICAgICYuZml4ZWQge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAycHggNHB4IDAgcmdiYSgwLCAwLCAwLCAwLjEpO1xuICAgICAgICAgICAgYW5pbWF0aW9uOiBmaXhlZC1zaG93IDQwMG1zIGN1YmljLWJlemllcigwLjIzLCAxLCAwLjMyLCAxKTtcbiAgICAgICAgICAgIC5uYXYtb3BlbiAmIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmxvZ28tdG9wIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmxvZ28tZml4ZWQge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYuc3VibWVudS1maXhlZCB7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgfVxuICAgIC5uYXYtb3BlbiAmIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgJi5maXhlZCB7XG4gICAgICAgICAgICAgICAgLmxvZ28tdG9wIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAubG9nby1maXhlZCB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAvLyBEaXNhYmxlIHBvaW50ZXItZXZlbnRzOiBub25lXG4gICAgLmxvZ28tdG9wLFxuICAgIC5sb2dvLWZpeGVkLFxuICAgIC5sb2dvLXBhbmVsLFxuICAgIC5oYW1idXJnZXIsXG4gICAgLnBob25lLW51bWJlciB7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7XG4gICAgfVxufVxuXG4uaGVhZGVyIHtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIHRleHQtc2hhZG93OiAkaGVhZGluZy1zaGFkb3c7XG5cbiAgICAgICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAkaGVhZGluZy1zaGFkb3c7XG5cbiAgICAgICAgICAgICY6OmJlZm9yZSxcbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAkaGVhZGluZy1zaGFkb3c7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5oZWFkZXItbWlkZGxlIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgaDIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoNjApO1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgLmZpeGVkICYge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmhlYWRlci1yaWdodCB7XG4gICAgdWwge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBsaSB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnBob25lLW51bWJlciB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgY29sb3I6ICRncmV5O1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDAuODtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcblxuICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIzKTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDcpO1xuICAgICAgICB9XG4gICAgICAgIC5maXhlZCAmIHtcbiAgICAgICAgICAgIGNvbG9yOiAkZ3JleTtcbiAgICAgICAgICAgIC5uYXYtb3BlbiAmIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICB9XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXBob25lO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRpY29uLWZvbnQ7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDQyKTtcbiAgICAgICAgICAgIGNvbG9yOiAkZ3JleTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDQpO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5maXhlZCAmIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGdyZXk7XG4gICAgICAgICAgICAgICAgLm5hdi1vcGVuICYge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG4vLyBCUkVBRENSVU1CUyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmJyZWFkY3J1bWJzLmFsbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg2KTtcbiAgICB9XG4gICAgbGkge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICAgICAgfVxuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCk6YWZ0ZXIge1xuICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICB9XG4gICAgICAgICY6bnRoLWxhc3QtY2hpbGQoMik6YWZ0ZXIge1xuICAgICAgICAgICAgZGlzcGxheTpub25lO1xuICAgICAgICB9XG4gICAgICAgICY6bGFzdC1jaGlsZCB7IGRpc3BsYXk6bm9uZTsgfVxuICAgIH1cbiAgICBhIHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgIGJvcmRlci1ib3R0b206IHJlbS1jYWxjKDEpIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogcmVtLWNhbGMoMSkgc29saWQgJHdoaXRlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uYnJlYWRjcnVtYnMge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNik7XG4gICAgfVxuICAgIGxpIHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjA1ZW07XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgICAgIH1cbiAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpOmFmdGVyIHtcbiAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBhIHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgIGJvcmRlci1ib3R0b206IHJlbS1jYWxjKDEpIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogcmVtLWNhbGMoMSkgc29saWQgJHdoaXRlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5cbi8vIEJBTk5FUiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG5cbi5vdXRlci1iYW5uZXItbmF2IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogNjA7XG4gICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMjApO1xuICAgIC5iYW5uZXItbmF2LWJ0biB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjA1ZW07XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tYXJyb3ctdXAtc21hbGw7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJGljb24tZm9udDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKC0yKTtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoNCk7XG4gICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDgpO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDMwMG1zIGVhc2Utb3V0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJhbm5lci1uYXYge1xuICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygxMCk7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGdyZXksIDEuMCk7XG4gICAgICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYyg1KTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDUpO1xuICAgICAgICBtYXJnaW4tbGVmdDogLSByZW0tY2FsYyhtYXAtZ2V0KCRncmlkLWNvbHVtbi1ndXR0ZXIsIG1lZGl1bSkpIC8gMjtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtIHJlbS1jYWxjKG1hcC1nZXQoJGdyaWQtY29sdW1uLWd1dHRlciwgbWVkaXVtKSkgLyAyO1xuICAgICAgICB0cmFuc2l0aW9uOiBoZWlnaHQgNDAwbXMgZWFzZS1pbi1vdXQsIG9wYWNpdHkgNDAwbXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0b3A6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgei1pbmRleDogMTEwO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyg0MCk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIC8vIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgICAgIH1cblxuICAgICAgICAuYmFubmVyLW5hdi1pdGVtIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoMTApO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygxMCk7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyg1KTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDUpO1xuICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTApO1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogY2FsYyg1MCUgLSAyMHB4KTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygyOCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgLy8gd2lkdGg6IGNhbGMoMTYuNjY2JSAtIDIwcHgpO1xuICAgICAgICAgICAgICAgIC5ob21lICYge1xuICAgICAgICAgICAgICAgICAgICAvLyB3aWR0aDogY2FsYygyMCUgLSAyMHB4KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuaGVhZGluZyB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuODtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDExO1xuXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmJnIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRibGFjaywgMC41KTtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiByZW0tY2FsYyg1KTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAxMDtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gNDAwbXMgZWFzZS1vdXQsIGJhY2tncm91bmQtY29sb3IgNDAwbXMgZWFzZS1vdXQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAuYmcge1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMCk7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGJsYWNrLCAwLjYpO1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjE1KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAmLmNsb3NlZCB7XG4gICAgICAgIC5iYW5uZXItbmF2IHtcbiAgICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIH1cbiAgICAgICAgLmJhbm5lci1uYXYtYnRuIHtcbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuLmJhbm5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtc2hhZG93OiAkaGVhZGluZy1zaGFkb3c7XG5cbiAgICAmLmludGVyaW9yIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg2MCk7XG4gICAgICAgIC5jdGEtcGFuZWwge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgei1pbmRleDogMTA7XG5cblxuICAgICAgICAgICAgLmJ1dHRvbi5jdGEge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgaGVpZ2h0OiAxMDB2aDtcbiAgICB9XG5cbiAgICAuaGVhZGluZy1wcmltYXJ5IHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDApO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogLjA1ZW07XG4gICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlLWluLW91dDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IHJlbS1jYWxjKDEpIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgICAgIHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XG4gICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IHJlbS1jYWxjKDEpIHNvbGlkICR3aGl0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgIH1cbiAgICB9XG4gICAgLmhlYWRpbmctc2Vjb25kYXJ5IHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyg0MCk7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjAyNWVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBAaW5jbHVkZSByZXNwb25zaXZlLWZvbnQoNXZ3LCAzMHB4LCA0MHB4LCA0MHB4KTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBiYW5uZXItc2xpbSgkYmFzZTogdHJ1ZSkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBCRkRDO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg2MCk7XG5cbiAgICAgICAgLmhlYWRpbmctc2Vjb25kYXJ5IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzApO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5cblxuLmJhbm5lci1wYW5lbCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIC8qIGhlaWdodDogcmVtLWNhbGMoMjgwKTsgKi9cbiAgICB6LWluZGV4OiA1O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgIGhlaWdodDogcmVtLWNhbGMoMjgwKTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgaGVpZ2h0OiByZW0tY2FsYyg0MDkpO1xuICAgIH1cblxuICAgIC8qIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7ICovXG4gICAgLyogICAgIGhlaWdodDogcmVtLWNhbGMoMzIwKTsgKi9cbiAgICAvKiB9ICovXG5cbiAgICBAaW5jbHVkZSBiYW5uZXItc2xpbSB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICAubWlkZGxlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1heC13aWR0aDogcmVtLWNhbGMoMTIwMCk7XG4gICAgICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMobWFwLWdldCgkZ3JpZC1jb2x1bW4tZ3V0dGVyLCBtZWRpdW0pKSAvIDI7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKG1hcC1nZXQoJGdyaWQtY29sdW1uLWd1dHRlciwgbWVkaXVtKSkgLyAyO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMjAwKTtcbiAgICAgICAgICAgIC8vbWFyZ2luLXRvcDogMTAlO1xuXG4gICAgICAgICAgICAuaG9tZSAmIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygyNTApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LWhlaWdodDogNzAwcHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDMlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmJhbm5lci5pbnRlcmlvciAmIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyg2MCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgfVxufVxuXG5cbi5iYW5uZXItYmcge1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gMTAwcHgpO1xuICAgIG1pbi1oZWlnaHQ6IHJlbS1jYWxjKDI4MCk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAuYmFubmVyLmludGVyaW9yICYge1xuICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDI4MCk7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgaGVpZ2h0OiByZW0tY2FsYyg0MDkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYmFubmVyLXNsaW0ge1xuICAgICAgICBtaW4taGVpZ2h0OiAwO1xuICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDE2MCk7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoMjIwKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgb2JqZWN0LXBvc2l0aW9uOiBtaWRkbGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICB9XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgLy8gaGVpZ2h0OiAxMDAlO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IDM7XG4gICAgfVxuXG59XG5cbi5iYW5uZXItYmctbm8tb3ZlcmxheSB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxMDBweCk7XG4gICAgbWluLWhlaWdodDogcmVtLWNhbGMoMjgwKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIC5iYW5uZXIuaW50ZXJpb3IgJiB7XG4gICAgICAgIGhlaWdodDogcmVtLWNhbGMoMjgwKTtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDQwOSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYmFubmVyLmludGVyaW9yLm5ld3Nyb29tICYge1xuICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDE4MCk7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgaGVpZ2h0OiByZW0tY2FsYygzMDkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgb2JqZWN0LXBvc2l0aW9uOiBtaWRkbGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICB9XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogMztcbiAgICB9XG5cbn1cbi5jdGEtcGFuZWwge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogNDtcbiAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygtMTI1KTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKC02MCk7XG4gICAgfVxuXG4gICAgLmJhbm5lciAmIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG5cbiAgICAuYnV0dG9uLmN0YSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMTM7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDQwKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKC0yOCk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5pbnRlcmlvciB7XG4gICAgLmN0YS1wYW5lbCB7XG4gICAgICAgIHotaW5kZXg6IDEwOyBcbiAgICB9XG59XG5cblxuLm91dGVyLWZpbmQtcGFuZWwsXG4ub3V0ZXItc3RhbmRhcmQtcGFuZWwge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIC5jb250ZW50ICYge1xuICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyg4MCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDgwKTtcbiAgICB9XG4gICAgLmN0YS1wYW5lbCAmIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC02MSUpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5cbi5maW5kLXBhbmVsLFxuLnN0YW5kYXJkLXBhbmVsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JleS1saWdodDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDMwIDIwKTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICAuY3RhLXBhbmVsICYge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRibGFjaywgMC4yKTtcbiAgICB9XG4gICAgLmZpbmQtcGFuZWwtaGVhZGluZyB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNyk7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAuMDVlbTtcbiAgICAgICAgY29sb3I6ICRncmV5O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg4KTtcbiAgICAgICAgLmN0YS1wYW5lbCAmIHtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZmluZCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgfVxuICAgICAgICBpbnB1dDpub3QoLmJ1dHRvbiksIHNlbGVjdCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY29sLTEge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTYpO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgd2lkdGg6IDQzLjA4NSU7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgICAgIC5wb3N0Y29kZSB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA0OHB4KTtcbiAgICAgICAgfVxuICAgICAgICAuYnRuLWxvY2F0aW9uIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiByZW0tY2FsYyg0OCk7XG4gICAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDQ4KTtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IHJlbS1jYWxjKDEpIHNvbGlkIGxpZ2h0ZW4oJGdyZXksIDUwJSk7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogcmVtLWNhbGMoMSkgc29saWQgbGlnaHRlbigkZ3JleSwgNTAlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAkaWNvbi1sb2NhdGlvbjtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGljb24tZm9udDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDQ4KTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDQ4KTtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGdyZXk7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygzMik7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDQ4KTtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAuY29sLTIge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTYpO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgd2lkdGg6IDMyLjU3OSU7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5jb2wtMyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgd2lkdGg6IDI0LjMzNSU7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgfVxuICAgICAgICAuYnV0dG9uLFxuICAgICAgICAuYnV0dG9uLnNlY29uZGFyeSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5zdGFuZGFyZC1wYW5lbCB7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoMjAgMjApO1xuICAgIC5zdGFuZGFyZC1wYW5lbC1oZWFkaW5nLFxuICAgIC5zdGFuZGFyZC1wYW5lbC1oZWFkaW5nLXNlY29uZGFyeSB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDI1ZW07XG4gICAgfVxuXG4gICAgLnN0YW5kYXJkLXBhbmVsLWhlYWRpbmctc2Vjb25kYXJ5IHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMSk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjAyNWVtO1xuICAgIH1cblxuICAgIC5zdGFuZGFyZC1wYW5lbC1saW5rIHtcbiAgICAgICAgY29sb3I6ICRncmV5O1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgbWFyZ2luOiByZW0tY2FsYygyMCAwIDApO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wMjVlbTtcbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5idXR0b24ge1xuICAgICAgICBtYXJnaW46IHJlbS1jYWxjKDMwIDAgMCAwKTtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIG1hcmdpbjogcmVtLWNhbGMoMCAyMCAwIDApO1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICB9XG4gICAgfVxufVxuXG5cblxuLmNvbnRlbnQge1xuICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDIwKTtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg4MCk7XG4gICAgLmhvbWUgJiB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG4gICAgZmlndXJlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNTIpO1xuICAgIH1cbiAgICAud3lzaXd5Zy1wYW5lbCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmV5LWxpZ2h0O1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygyNCA0MCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE2KTtcbiAgICB9XG59XG5cblxuLm91dGVyLWFjY29yZGlvbi1yZWdpcyxcbi50eHQtYmxvY2ssXG4uYWNmLWdyaWQtYmxvY2ssXG4udHh0LWJsb2NrLXJlYWRtb3JlLFxuLnR3by1jb2x1bW4tY29udGVudCB7XG4gICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMjIpO1xufVxuXG4uc3RhbmRhcmQtY29udGVudCArIC50eHQtYmxvY2stcmVhZG1vcmUge1xuICAgIG1hcmdpbi10b3A6IDA7XG59XG5cblxuXG5cbi8vIFNVUEVSIEZPT1RFUiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uc3VwZXItZm9vdGVyLW91dGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjY2NjY5O1xufVxuXG4uc3VwZXItZm9vdGVyIHtcbiAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyg4MCk7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMzIpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIC5zdXBlci1mb290ZXItaGVhZGluZyB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wMjVlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTIpO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgICYuc29jaWFsLWhlYWRpbmcge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoNDYpO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdWwge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDUyKTtcbiAgICAgICAgbGkge1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg2KTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICAgICAgdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBhOm5vdCguYnV0dG9uKSB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDMwMG1zIGVhc2UtaW4tb3V0O1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XG4gICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICAgICAgY29sb3I6IHJnYmEoJHdoaXRlLCAwLjUpO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgaW5wdXRbdHlwZT0ndGV4dCddLFxuICAgIGlucHV0W3R5cGU9J2VtYWlsJ10sXG4gICAgaW5wdXRbdHlwZT0nbnVtYmVyJ10sXG4gICAgc2VsZWN0IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJHdoaXRlO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAvLyBAaW5jbHVkZSBwbGFjZWhvbGRlciB7XG4gICAgICAgIC8vICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAvLyB9XG4gICAgfVxuICAgIC5idXR0b24ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cblxuICAgIC5nZm9ybV93cmFwcGVyIHtcbiAgICAgICAgLmdmaWVsZC5maWVsZF9zdWJsYWJlbF9iZWxvdyxcbiAgICAgICAgLmdmaWVsZCAuZ2lucHV0X2Z1bGwsXG4gICAgICAgIC5nZmllbGQuZ2ZfbGVmdF9oYWxmLFxuICAgICAgICAuZ2ZpZWxkLmdmX3JpZ2h0X2hhbGYsXG4gICAgICAgIC5nZmllbGQuZ2ZfbGVmdF90aGlyZCxcbiAgICAgICAgLmdmaWVsZC5nZl9taWRkbGVfdGhpcmQsXG4gICAgICAgIC5nZmllbGQuZ2ZfcmlnaHRfdGhpcmQsXG4gICAgICAgIC5nZmllbGQuZ2ZfbGVmdF9xdWFydGVyLFxuICAgICAgICAuZ2ZpZWxkLmdmX21pZGRsZV9xdWFydGVyLFxuICAgICAgICAuZ2ZpZWxkLmdmX3JpZ2h0X3F1YXJ0ZXIge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgLmdmb3JtX2NvbmZpcm1hdGlvbl9tZXNzYWdlIHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciAuZ2ZpZWxkX2Rlc2NyaXB0aW9uLnZhbGlkYXRpb25fbWVzc2FnZSB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgfVxuXG59XG5cbi5zb2NpYWwtb3V0ZXIge1xuICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDQ2KTtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygzMik7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG59XG5cbnVsLnNvY2lhbCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNik7XG4gICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoOCk7XG4gICAgICAgIHdpZHRoOiAzMnB4O1xuICAgICAgICBoZWlnaHQ6IDMycHg7XG4gICAgICAgICYuaWNvbi1zb2NpYWwgYSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogMzJweDtcbiAgICAgICAgICAgIGhlaWdodDogMzJweDtcbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgIHRleHQtaW5kZW50OiAtMTAwMDBlbTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRpY29uLWZvbnQ7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAzMnB4O1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgICAgICAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgICAgICAgICAgICAgdGV4dC1pbmRlbnQ6IDA7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDMycHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAzMnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYuaWNvbi1pbnN0YWdyYW0gYSB7XG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJGljb24taW5zdGFncmFtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYuaWNvbi10d2l0dGVyIGEge1xuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXR3aXR0ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJi5pY29uLWZhY2Vib29rIGEge1xuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWZhY2Vib29rO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYuaWNvbi1saW5rZWRpbiBhIHtcbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAkaWNvbi1saW5rZWRpbjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLmljb24teW91dHViZSBhIHtcbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAkaWNvbi15b3V0dWJlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYuaWNvbi1lbWFpbCBhIHtcbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAkaWNvbi1lbWFpbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG5cbi8vIEZPT1RFUiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG5cbi5mb290ZXItb3V0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRncmV5O1xufVxuXG4uZm9vdGVyLW91dGVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDI1KTtcbiAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygyNSk7XG4gICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDM4KTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICB9XG4gICAgLmhvbWUgJiB7XG4gICAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgfVxufVxuXG5cblxuLmZvb3RlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYygyNSk7XG4gICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDI1KTtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIGEge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgIH1cbiAgICAuZm9vdGVyLWxpbmtzIHtcbiAgICAgICAgdWwge1xuICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg0OCk7XG4gICAgICAgICAgICAgICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoMjApO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5cblxuLy8gRkVBVFVSRUQgUEFORUxTICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi5mZWF0dXJlZC1wYW5lbHMge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoODApO1xuICAgICY+IC5jZWxsOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg2Mik7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmZlYXR1cmVkLWNvbnRlbnQge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygxNik7XG4gICAgfVxuICAgIC5mZWF0dXJlZC1saW5rIHtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAzNTBtcyBlYXNlLWluLW91dDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTtcbiAgICB9XG4gICAgLmZlYXR1cmVkLWRhdGUge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgICAgICBjb2xvcjogIzdmN2Y3ZjtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTYpXG4gICAgfVxuICAgIC5oZWFkaW5nIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGNvbG9yOiAkZ3JleTtcbiAgICB9XG4gICAgaDQge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE5KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNik7XG4gICAgfVxuICAgIHAge1xuICAgICAgICBsaW5lLWhlaWdodDogMS40O1xuICAgIH1cblxufVxuXG5cblxuLy8gR0FMTEVSWSAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4uZ2FsbGVyeSB7XG4gICAgLy8gcGFkZGluZy10b3A6IHJlbS1jYWxjKDgwKTtcbiAgICAvLyBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoNzApO1xuICAgIC5zZWN0aW9uLWhlYWRpbmcge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xuICAgIH1cbiAgICAuaXRlbSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgLml0ZW0taW5uZXIge1xuICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgICAgIG1hcmdpbjogcmVtLWNhbGMoMCAwKTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JleS1saWdodDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLml0ZW0taW1nLW91dGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICB9XG5cbiAgICAgICAgLml0ZW0tZGVzYyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDI2IDE0KTtcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5pdGVtLWltZyB7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgNDUwbXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtMXB4O1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICAuaGVhZGluZyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgICAgIGNvbG9yOiAkZ3JleTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgLml0ZW0taW5uZXIge1xuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxLjA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGltZy5pdGVtLWltZyB7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNik7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuICAgIH1cblxufVxuXG5cbi8vIFJFU0lERU5DRVMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4ucmVzaWRlbmNlcyB7XG4gICAgLy8gcGFkZGluZy10b3A6IHJlbS1jYWxjKDgwKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoNzApO1xuICAgIC5zZWN0aW9uLWhlYWRpbmcge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xuICAgIH1cbiAgICAucHJvcGVydHktbGlzdCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICAuaXRlbSB7XG4gICAgICAgIC8vIGhlaWdodDogMTAwJTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuICAgICAgICAuaXRlbS1pbm5lciB7XG4gICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAgICAgbWFyZ2luOiByZW0tY2FsYygwIDApO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZmxvdzogY29sdW1uIHdyYXA7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JleS1saWdodDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLml0ZW0taW1nLW91dGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLml0ZW0tZGVzYyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDQwIDE0IDMwKTtcbiAgICAgICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuXG4gICAgICAgIH1cblxuXG4gICAgICAgIC5pdGVtLWltZyB7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgNDUwbXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtMXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmhlYWRpbmcge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgICAgIGNvbG9yOiAkZ3JleTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjIpO1xuICAgICAgICB9XG5cbiAgICAgICAgLml0ZW0tbG9jYXRpb24ge1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDg1ZW07XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNik7XG4gICAgICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICAgICAgY29sb3I6ICRncmV5O1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgLml0ZW0taW5uZXIge1xuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxLjA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGltZy5pdGVtLWltZyB7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNik7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYudHlwZSxcbiAgICAmLmZlYXR1cmVkIHtcbiAgICAgICAgLml0ZW0taW5uZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZXk7XG4gICAgICAgIH1cbiAgICAgICAgLml0ZW0ge1xuICAgICAgICAgICAgLmhlYWRpbmcsXG4gICAgICAgICAgICAuaXRlbS1sb2NhdGlvbiB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAmLnR5cGUge1xuICAgICAgICAuaXRlbSB7XG4gICAgICAgICAgICBoNCB7XG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAucHJvcGVydHktbGlzdCB7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygwIDEwKTtcbiAgICAgICAgICAgICAgICBzdHJvbmcge1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxufVxuXG4uY2VudGVyZWQtY29udGVudCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4ucmVzaWRlbmNlLWRldGFpbC1wYW5lbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuXG4gICAgLnNsaWNrLXNsaWRlIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG5cbiAgICAucmVzaWRlbmNlLW1hcC1vdXRlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmV5O1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAzMnB4KTtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLnJlc2lkZW5jZS1tYXAge1xuICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgaGVpZ2h0OiA2OS4zNzUlO1xuICAgIH1cblxuICAgIC5yZXNpZGVuY2UtbWFwLWRldGFpbHMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JleTtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTAgMjApO1xuICAgICAgICBmbGV4OiAwLjU7XG4gICAgICAgIC8vIG1pbi1oZWlnaHQ6IDMwLjYyNSU7XG4gICAgICAgIC5yZXNpZGVuY2UtbmFtZSB7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgfVxuICAgICAgICBhZGRyZXNzIHtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuXG59XG5cbi5yZXNpZGVuY2UtZGV0YWlsLXBhbmVsLWN0YSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoNDApO1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDQwKTtcbn1cblxuXG4vLyBNT0JJTEUgTkFWSUdBVElPTiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmhhbWJ1cmdlciB7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoNik7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5LCBmaWx0ZXI7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4xNXM7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgICBmb250OiBpbmhlcml0O1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogMDtcbiAgICBtYXJnaW46IHJlbS1jYWxjKDAgMTQgMCAwKTtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAvLyAmOmhvdmVyIHtcbiAgICAvLyAgICAgb3BhY2l0eTogMC43O1xuICAgIC8vIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICBtYXJnaW46IHJlbS1jYWxjKDYgMTIgMCAwKTtcbiAgICB9XG59XG5cbi5oYW1idXJnZXItbGFiZWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoMTApO1xuICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDIpO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgNDAwbXMgZWFzZTtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG4gICAgLmFjdGl2ZSAmIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG4gICAgLmZpeGVkICYge1xuICAgICAgICBjb2xvcjogJGdyZXk7XG4gICAgICAgIC5uYXYtb3BlbiAmIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxufVxuXG4uaGFtYnVyZ2VyLWJveCB7XG4gICAgd2lkdGg6IHJlbS1jYWxjKDM0KTtcbiAgICBoZWlnaHQ6IHJlbS1jYWxjKDIyKTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uaGFtYnVyZ2VyLWlubmVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0b3A6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygtMik7XG59XG4uaGFtYnVyZ2VyLWlubmVyLFxuLmhhbWJ1cmdlci1pbm5lcjpiZWZvcmUsXG4uaGFtYnVyZ2VyLWlubmVyOmFmdGVyIHtcbiAgICB3aWR0aDogcmVtLWNhbGMoMzQpO1xuICAgIGhlaWdodDogcmVtLWNhbGMoNCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZXk7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgIH1cbiAgICAuZml4ZWQgJiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmV5O1xuICAgICAgICAubmF2LW9wZW4gJiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4xNXM7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2U7XG59XG5cbi5oYW1idXJnZXItaW5uZXIge1xuICAgICY6YmVmb3JlLFxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gICAgJjpiZWZvcmUge1xuICAgICAgICB0b3A6IHJlbS1jYWxjKC05KTtcbiAgICB9XG4gICAgJjphZnRlciB7XG4gICAgICAgIGJvdHRvbTogcmVtLWNhbGMoLTkpO1xuICAgIH1cbn1cblxuXG5cblxuLmhhbWJ1cmdlci1zcGluIC5oYW1idXJnZXItaW5uZXIge1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMjJzO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjFzIDAuMjVzIGVhc2UtaW4sIG9wYWNpdHkgMC4xcyBlYXNlLWluO1xuICAgIH1cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgdHJhbnNpdGlvbjogYm90dG9tIDAuMXMgMC4yNXMgZWFzZS1pbiwgdHJhbnNmb3JtIDAuMjJzIGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgIH1cbn1cblxuXG4uaGFtYnVyZ2VyLXNwaW4uYWN0aXZlIC5oYW1idXJnZXItaW5uZXIge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDIyNWRlZyk7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMC4xMnM7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgICY6YmVmb3JlIHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2l0aW9uOiB0b3AgMC4xcyBlYXNlLW91dCwgb3BhY2l0eSAwLjFzIDAuMTJzIGVhc2Utb3V0O1xuICAgIH1cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgICAgICB0cmFuc2l0aW9uOiBib3R0b20gMC4xcyBlYXNlLW91dCwgdHJhbnNmb3JtIDAuMjJzIDAuMTJzIGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgIH1cbn1cblxuXG5cbi5oYW1idXJnZXItc3F1ZWV6ZSAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjA3NXM7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgICY6YmVmb3JlIHtcbiAgICAgICAgdHJhbnNpdGlvbjogdG9wIDAuMDc1cyAwLjEycyBlYXNlLCBvcGFjaXR5IDAuMDc1cyBlYXNlO1xuICAgIH1cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgdHJhbnNpdGlvbjogYm90dG9tIDAuMDc1cyAwLjEycyBlYXNlLCB0cmFuc2Zvcm0gMC4wNzVzIGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgIH1cbn1cblxuXG4uaGFtYnVyZ2VyLXNxdWVlemUuYWN0aXZlIC5oYW1idXJnZXItaW5uZXIge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjEycztcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgJjpiZWZvcmUge1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjA3NXMgZWFzZSwgb3BhY2l0eSAwLjA3NXMgMC4xMnMgZWFzZTtcbiAgICB9XG4gICAgJjphZnRlciB7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICAgICAgdHJhbnNpdGlvbjogYm90dG9tIDAuMDc1cyBlYXNlLCB0cmFuc2Zvcm0gMC4wNzVzIDAuMTJzIGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgIH1cbn1cblxuXG5cblxuXG5cbi8vIE1BSU4gTkFWICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cblxuLm5hdi1vdmVybGF5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JleTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgei1pbmRleDogMTAwO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmV5O1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgJi5vcGVuIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGFuaW1hdGlvbjogbmF2LW92ZXJsYXktc2hvdyAxMDAwbXMgZWFzZTtcbiAgICB9XG4gICAgJi5jbG9zZSB7XG4gICAgICAgIGFuaW1hdGlvbjogbmF2LW92ZXJsYXktaGlkZSA1MDBtcyBlYXNlO1xuICAgIH1cbn1cblxuXG4ubmF2LW1haW4ge1xuICAgIHotaW5kZXg6IDEwMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBtYXJnaW4tdG9wOiAxMjBweDtcbiAgICAgICAgLy9oZWlnaHQ6IHJlbS1jYWxjKDgwMCk7XG4gICAgICAgIG1heC13aWR0aDogcmVtLWNhbGMoMTIwMCk7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIH1cbiAgICBhIHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygzMCk7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDYwKTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICBsaS5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQge1xuICAgICAgICAgICAgJj4gYTphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJGljb24tYXJyb3ctZG93bi1zbWFsbDtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGljb24tZm9udDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICByaWdodDogcmVtLWNhbGMoMjApO1xuICAgICAgICAgICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICZbYXJpYS1leHBhbmRlZD0ndHJ1ZSddIHtcbiAgICAgICAgICAgICAgICAmPiBhOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogJGljb24tYXJyb3ctdXAtc21hbGw7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICYrIGxpIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IHJlbS1jYWxjKDEpIHNvbGlkIGxpZ2h0ZW4oJGdyZXksIDEwJSk7XG4gICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdWwgbGkge1xuICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDE4IDIwKTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgLy8gY29sb3I6ICRncmV5O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdWwge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICB3aWR0aDogMzMuMzMzJTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgdWwge1xuICAgICAgICAgICAgbGVmdDogMTAwJTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkZ3JleSwgMTUlKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDEpO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHdoaXRlLCAuMyk7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICAvLyBsZWZ0OiAtMi41dnc7XG5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLm9wZW4ge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdWwge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkZ3JleSwgMjAlKTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB1bCBsaSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wNWVtO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMS40O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMSk7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1dmg7XG4gICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA1dmg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiByZW0tY2FsYygzKSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IHJlbS1jYWxjKDMpIHNvbGlkICRyZWQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG5cbiAgICAgICAgfVxuXG5cbiAgICB9XG5cbiAgICB1bCBsaSBsaSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNyk7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1LjZ2aDtcbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYyg2MCk7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYyg2MCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHN2Zy1iZyggJ2Fycm93LXJpZ2h0LXNtYWxsLXdoaXRlJywgJHBvc2l0aW9uOiA5MCUgNTAlICk7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxOHB4IDE4cHg7XG5cbiAgICAgICAgICAgICAgICAvLyAgYTphZnRlciB7XG4gICAgICAgICAgICAgICAgLy8gICAgIGNvbnRlbnQ6ICRpY29uLWFycm93LXJpZ2h0LXNtYWxsO1xuICAgICAgICAgICAgICAgIC8vICAgICBmb250LWZhbWlseTogJGljb24tZm9udDtcbiAgICAgICAgICAgICAgICAvLyAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgICAgICAvLyAgICAgd2lkdGg6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICAgICAgICAvLyAgICAgaGVpZ2h0OiByZW0tY2FsYygyMCk7XG4gICAgICAgICAgICAgICAgLy8gICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgLy8gfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGEge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogcmVtLWNhbGMoMikgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogcmVtLWNhbGMoMikgc29saWQgJHdoaXRlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5cblxuLy8gVEFCUyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uaW5saW5lLW5hdi1vdXRlcixcbi50YWJzLW91dGVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luOiByZW0tY2FsYygyMCAwIDQyKTtcbn1cblxuXG4udGFicyB7XG4gICAgLy8gZGlzcGxheTogZmxleDtcbiAgICAvLyBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIC8vIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIC8vIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbGkge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTAgMjApO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogJGdyZXk7XG4gICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgICAgICY6bnRoLW9mLXR5cGUoMikuaXMtYWN0aXZlIH4gaHIge1xuICAgICAgICAgICAgbGVmdDogY2FsYyg1MCUgKyAxOHB4KTtcbiAgICAgICAgfVxuICAgICAgICAmOm50aC1vZi10eXBlKDEpOmhvdmVyIH4gaHIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJHJlZDtcbiAgICAgICAgICAgIGxlZnQ6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bnRoLW9mLXR5cGUoMik6aG92ZXIgfiBociB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkcmVkO1xuICAgICAgICAgICAgbGVmdDogY2FsYyg1MCUgKyAxOHB4KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBociB7XG4gICAgICBoZWlnaHQ6IHJlbS1jYWxjKDMpO1xuICAgICAgd2lkdGg6IGNhbGMoNTElIC0gODBweCk7XG4gICAgICBwYWRkaW5nOiByZW0tY2FsYygwIDIwKTtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgYmFja2dyb3VuZDogJHJlZDtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIHRyYW5zaXRpb246IC4zcyBlYXNlLWluLW91dDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogcmVtLWNhbGMoNik7XG4gICAgICBsZWZ0OiByZW0tY2FsYygxOCk7XG4gICAgfVxufVxuXG4udGFicy1jb250ZW50IHtcbiAgICAudGFicy1wYW5lbCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICYuaXMtYWN0aXZlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5cblxuLy8gSU5MSU5FIE5BViAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmlubGluZS1jb250ZW50LW5hdiB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG5cbi5pbmxpbmUtbmF2LW91dGVyIHt9XG5cblxuLmlubGluZS1uYXYyIHtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBsaSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wNWVtO1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxMCAyMCk7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiAkZ3JleTtcbiAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICAgICAgJjpudGgtb2YtdHlwZSgxKS5pcy1hY3RpdmUgfiBociB7XG4gICAgICAgICAgICBsZWZ0OiByZW0tY2FsYygxOCk7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygzMS4zMzMlIC0gODBweCk7XG4gICAgICAgIH1cblxuICAgICAgICAmOm50aC1vZi10eXBlKDIpLmlzLWFjdGl2ZSB+IGhyIHtcbiAgICAgICAgICAgIGxlZnQ6IGNhbGMoMzMuMzMzJSArIDRweCk7XG4gICAgICAgICAgICB3aWR0aDogY2FsYyg0MC4zMzMlIC0gODBweCk7XG4gICAgICAgIH1cbiAgICAgICAgJjpudGgtb2YtdHlwZSgzKS5pcy1hY3RpdmUgfiBociB7XG4gICAgICAgICAgICBsZWZ0OiBjYWxjKDY2LjY2NiUgKyAyMnB4KTtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDMzLjMzMyUgLSA4MHB4KTtcbiAgICAgICAgfVxuXG5cbiAgICAgICAgJjpudGgtb2YtdHlwZSgxKTpob3ZlciB+IGhyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRyZWQ7XG4gICAgICAgICAgICBsZWZ0OiByZW0tY2FsYygxOCk7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygzMS4zMzMlIC0gODBweCk7XG4gICAgICAgIH1cbiAgICAgICAgJjpudGgtb2YtdHlwZSgyKTpob3ZlciB+IGhyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRyZWQ7XG4gICAgICAgICAgICBsZWZ0OiBjYWxjKDMzLjMzMyUgKyA0cHgpO1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoNDAuMzMzJSAtIDgwcHgpO1xuICAgICAgICB9XG4gICAgICAgICY6bnRoLW9mLXR5cGUoMyk6aG92ZXIgfiBociB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkcmVkO1xuICAgICAgICAgICAgbGVmdDogY2FsYyg2Ni42NjYlICsgMjJweCk7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygzMy4zMzMlIC0gODBweCk7XG4gICAgICAgIH1cblxuXG4gICAgfVxuICAgIGhyIHtcbiAgICAgIGhlaWdodDogcmVtLWNhbGMoMyk7XG4gICAgICB3aWR0aDogY2FsYygzMy4zMzMlIC0gODBweCk7XG4gICAgICBwYWRkaW5nOiByZW0tY2FsYygwIDIwKTtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgYmFja2dyb3VuZDogJHJlZDtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIHRyYW5zaXRpb246IC4zcyBlYXNlLWluLW91dDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogcmVtLWNhbGMoNik7XG4gICAgICBsZWZ0OiByZW0tY2FsYygxOCk7XG4gICAgfVxufVxuXG5cbi8vIEpVTVAgTElOS1MgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLmp1bXAtbGlua3Mtb3V0ZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgbWluLWhlaWdodDogcmVtLWNhbGMoODYpO1xuICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKC02MCk7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNDApO1xufVxuXG4uanVtcC1saW5rcy1maXhlZCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IDkwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRncmV5LWxpZ2h0O1xuICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYygyMik7XG4gICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDE4KTtcblxuICAgICYuZml4ZWQge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgLy8gb3BhY2l0eTogMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgICAgIHRvcDogcmVtLWNhbGMoNzUpO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAycHggNHB4IDAgcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgICAgICAgICAgIC8vIGFuaW1hdGlvbjogZml4ZWQtc2hvdy1zdWJtZW51IDgwMG1zIGN1YmljLWJlemllcigwLjIzLCAxLCAwLjMyLCAxKSAyMDBtcyBmb3J3YXJkcztcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmlubGluZS1uYXYsXG4uanVtcC1saW5rcyB7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBsaSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wNWVtO1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxMCAyMCk7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxMCAxNSk7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxMCAyMCk7XG4gICAgICAgIH1cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogJGdyZXk7XG4gICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoMyk7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRyZWQ7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgYm90dG9tOiByZW0tY2FsYygtNCk7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogd2lkdGggMzUwbXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYuaXMtYWN0aXZlIHtcbiAgICAgICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuW2RhdGEtbWFnZWxsYW4tdGFyZ2V0XSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogcmVtLWNhbGMoLTE0MCk7XG59XG5cblxuXG4vLyBJTlRFUklPUiBTVUIgTUVOVSAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRncmV5LWFsdDogIzAwMDtcblxuLmludGVyaW9yLXN1Yi1tZW51IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoLTI0KTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGdyZXksIDAlKTtcbiAgICAvLyBib3JkZXItYm90dG9tOiByZW0tY2FsYygxKSBzb2xpZCBkYXJrZW4oJGdyZXktbGlnaHQsIDQlKTtcbiAgICAuc3ViLW1lbnUtbGlzdCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMzAgMCk7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIC8vIGhlaWdodDogMDtcbiAgICAgICAgLy8gb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYyg0MCAwKTtcbiAgICAgICAgfVxuICAgICAgICBsaSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjAyNWVtO1xuICAgICAgICAgICAgLy8gZm9udC1mYW1pbHk6ICRyZXBsaWNhLWJvbGQ7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgbWFyZ2luOiByZW0tY2FsYygwIDE2IDI2KTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogcmVtLWNhbGMoMTIgMjQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDIwMG1zIGVhc2UtaW4tb3V0O1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoMyk7XG4gICAgICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IHJlbS1jYWxjKDEpO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmVkO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIC8vIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIGJvdHRvbTogcmVtLWNhbGMoLTQpO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCgwKTtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCA1MDBtcyBlYXNlLWluLW91dDtcbiAgICAgICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IGRhcmtlbigkd2hpdGUsIDApO1xuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoMyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoMSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLmN1cnJlbnQtbWVudS1pdGVtIHtcbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRncmV5LWFsdDtcbiAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDEpO1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZXktYWx0O1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm90dG9tOiByZW0tY2FsYygtNCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgJi5hY3RpdmUgLnN1Yi1tZW51LWxpc3Qge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cblxuXG4gICAgLnN1Yi1tZW51LWJ1dHRvbiB7XG4gICAgICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYyg0Mik7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wMjVlbTtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLnRvdWNoLWJ1dHRvbiB7XG4gICAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoMTYpO1xuICAgICAgICAgICAgaGVpZ2h0OiByZW0tY2FsYygxNik7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmVkO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDI1MG1zIGVhc2Utb3V0IDBzO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogLSByZW0tY2FsYyg1KTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYyg2KTtcbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAkaWNvbi1wbHVzO1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkaWNvbi1mb250O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygxNik7XG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYub3BlbiB7XG4gICAgICAgICAgICAudG91Y2gtYnV0dG9uIHtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMjUwbXMgZWFzZS1vdXQgMHM7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTE4MGRlZyk7XG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAkaWNvbi1taW51cztcbiAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRpY29uLWZvbnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICB9XG59XG5cblxuXG5cbi8vIFNUQVRFIEZJTFRFUiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLnN0YXRlLWZpbHRlciB7XG4gICAgYm9yZGVyLXRvcDogcmVtLWNhbGMoMSkgc29saWQgJGdyZXk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDI0KTtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyNCk7XG4gICAgLnN0YXRlLWZpbHRlci1oZWFkaW5nIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjA1ZW07XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdG9wOiByZW0tY2FsYygtMTIpO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMCAyNSk7XG4gICAgfVxuICAgIC5zdGF0ZS1maWx0ZXItaW5wdXRzIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgLml0ZW0ge1xuICAgICAgICAgICAgbWFyZ2luOiByZW0tY2FsYygxMCk7XG4gICAgICAgIH1cbiAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgY29sb3I6ICRncmV5O1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDI1ZW07XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG4vLyBDVVNUT00gQ0hFQ0tCT1ggIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbmlucHV0W3R5cGU9Y2hlY2tib3hdIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgbWFyZ2luOiAwIDAgMXJlbTtcbn1cblxuXG5pbnB1dFt0eXBlPWNoZWNrYm94XStsYWJlbDpiZWZvcmUge1xuICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMTQpO1xuICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygtMzQpO1xuICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKC0xKTtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGZvbnQtZmFtaWx5OiAkaWNvbi1mb250O1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgd2lkdGg6IHJlbS1jYWxjKDIwKTtcbiAgICBoZWlnaHQ6IHJlbS1jYWxjKDIwKTtcbiAgICB0ZXh0LWluZGVudDogcmVtLWNhbGMoMyk7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAkYmx1ZTtcbiAgICAvLyBmb250LXdlaWdodDogNTAwO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyMCk7XG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAuMnM7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMC41cmVtICRncmV5LWxpZ2h0O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRncmV5LWxpZ2h0O1xuICAgIGJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDMwKTtcbn1cblxuaW5wdXRbdHlwZT1jaGVja2JveF06Y2hlY2tlZCtsYWJlbDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRpY29uLWNoZWNrYm94O1xufVxuXG5pbnB1dFt0eXBlPWNoZWNrYm94XStsYWJlbCB7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDQwKTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5cbi8vIEZMRVhCT1ggU0xJQ0sgU0xJREVSIEZJWFxuXG4uc2xpY2stcGFyZW50IHtcblx0bWluLWhlaWdodDogMDtcblx0bWluLXdpZHRoOiAwO1xufVxuXG4uc2xpZGVyLXJlc2lkZW5jZSB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4uc2xpZGVyLXJlc2lkZW5jZS5zbGljay1pbml0aWFsaXplZCB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbn1cblxuLnNsaWRlci1yZXNpZGVuY2Uge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxufVxuXG5cbi8vIENUQSBDQUxMIFVTICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uY3RhLWNhbGwtdXMge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyg4MCk7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoODApO1xuICAgIHAge1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDAgMzApO1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKSB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA3MCU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDEpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZXk7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5zZWN0aW9uLWhlYWRpbmcge1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDM0KTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgICAgY29sb3I6ICRibHVlO1xuICAgICAgICBhW2hyZWZePXRlbF0ge1xuICAgICAgICAgICAgY29sb3I6ICRibHVlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5cblxuLy8gQ1RBIFFVT1RFICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi5jdGEtcXVvdGUtb3V0ZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IHJlbS1jYWxjKDU5Myk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgLmN0YS1xdW90ZS1wb3Mge1xuICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICBmbGV4LWJhc2lzOiAwO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDonJztcbiAgICAgICAgbWluLWhlaWdodDogaW5oZXJpdDtcbiAgICAgICAgZm9udC1zaXplOiAwO1xuICAgIH1cblxuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGJsYWNrLCAwLjYpO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB6LWluZGV4OiAzO1xuICAgIH1cbn1cblxuLmN0YS1xdW90ZS1pbm5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYyg1MCk7XG59XG5cblxuLmN0YS1xdW90ZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDQ7XG4gICAgYmxvY2txdW90ZSB7XG4gICAgICAgIC8vIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzIpO1xuICAgICAgICBAaW5jbHVkZSByZXNwb25zaXZlLWZvbnQoM3Z3LCAxOHB4LCAyOHB4LCAyOHB4KTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vcm1hbDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoNDApO1xuICAgICAgICBwYWRkaW5nLXRvcDogNiU7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogNCU7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDUwKTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDYwKTtcbiAgICAgICAgfVxuXG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogb3Blbi1xdW90ZTtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICBmb250LXNpemU6IDIuOGVtO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5xdW90ZS1kZXRhaWxzIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiByZW0tY2FsYyg0MCk7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgfVxuICAgICAgICAucXVvdGUtYXV0aG9yIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjEpO1xuICAgICAgICB9XG4gICAgICAgIC5xdW90ZS1sb2NhdGlvbiB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuYnRuLWNvbnRhaW5lciB7XG4gICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoNDApO1xuICAgIH1cbn1cblxuXG4kYmFjay10by10b3Atc2l6ZTogcmVtLWNhbGMoNTApO1xuXG5cbi8vIEJBQ0sgVE8gVE9QICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uYmFjay10by10b3Atb3V0ZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBoZWlnaHQ6IHJlbS1jYWxjKDUwKTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLmJhY2stdG8tdG9wIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIHJpZ2h0OiAtICRiYWNrLXRvLXRvcC1zaXplO1xuICAgIHdpZHRoOiAkYmFjay10by10b3Atc2l6ZTtcbiAgICBoZWlnaHQ6ICRiYWNrLXRvLXRvcC1zaXplO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRncmV5LCAwLjgpO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRleHQtaW5kZW50OiByZW0tY2FsYygtNjAwKTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRyYW5zaXRpb246IHJpZ2h0IDQwMG1zIGN1YmljLWJlemllcigwLjQ3LCAwLCAwLjc0NSwgMC43MTUpLCBiYWNrZ3JvdW5kLWNvbG9yIDIwMG1zIGVhc2UtaW4tb3V0O1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkaWNvbi1mb250O1xuICAgICAgICBjb250ZW50OiAkaWNvbi1hcnJvdy11cC1zbWFsbDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgd2lkdGg6ICRiYWNrLXRvLXRvcC1zaXplO1xuICAgICAgICBoZWlnaHQ6ICRiYWNrLXRvLXRvcC1zaXplO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI0KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRiYWNrLXRvLXRvcC1zaXplO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICB0ZXh0LWluZGVudDogMDtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxufVxuXG5bZGF0YS1hb3M9XCJiYWNrLXRvLXRvcC1jaGFuZ2VcIl0ge1xuICAgICYuYW9zLWFuaW1hdGUgLmJhY2stdG8tdG9wIHtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgfVxufVxuXG5cbi50d28tY29sdW1uLWNvbnRlbnQge1xuICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYyg2MCk7XG4gICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDYwKTtcblxuICAgICYuZmxleC1jb250ZW50LWJnIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZXktbGlnaHQ7XG4gICAgfVxuXG4gICAgLnR4dC1hcmVhIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTYpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnR4dC1hcmVhW2NsYXNzKj1cIm9yZGVyLTJcIl0ge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDMwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC50eHQtYXJlYVtjbGFzcyo9XCJvcmRlci0xXCJdIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoMzApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnR4dC1hcmVhLWZ1bGwge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoNjApO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5pbWctYXJlYSxcbiAgICAubWFwLWFyZWEge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaW1nLWFyZWEgaW1nIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgJi5jdXN0b20ge1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcblxuICAgICAgICAuaW1nLWFyZWEge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBSRVNJREVOQ0UgTUFQIFRXTyBDT0xVTU4gTEFZT1VUXG5cbiAgICAucmVzaWRlbmNlLW1hcCB7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuXG4gICAgLnJlc2lkZW5jZS1tYXAtZGV0YWlscyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmV5O1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygwIDIwKTtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZmxleC1ncm93OiAyO1xuICAgICAgICBtaW4taGVpZ2h0OiByZW0tY2FsYyg4Nik7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICAmLnR4dC1hcmVhLXRvLXNpZGUge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiA0LjUlO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA0LjUlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnJlc2lkZW5jZS1uYW1lIHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbnNpdmUtZm9udCgxdncsIDEzcHgsIDE1cHgsIDE1cHgpO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5yZXNpZGVuY2UtYWRkcmVzcyB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbnNpdmUtZm9udCgxdncsIDEzcHgsIDE1cHgsIDE1cHgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnJlc2lkZW5jZS1tYXAtb3V0ZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG1heC1oZWlnaHQ6IHJlbS1jYWxjKDMyMSk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmV5O1xuICAgIH1cblxuXG59XG5cblxuLnR3by1jb2x1bW4tY29udGVudCB7XG4gICAgJi5mbGV4LWNvbnRlbnQtYmcge1xuICAgICAgICAmKyAuZmVhdHVyZWQtcGFuZWxzLFxuICAgICAgICAmKyAudHh0LWJsb2NrLFxuICAgICAgICAmKyAub3V0ZXItYWNjb3JkaW9uLXJlZ2lzIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDgwKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmFjZi10aXRsZS1vbmx5IHtcbiAgICBoMiB7XG4gICAgICAgIC8vIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxufVxuXG4uZW1iZWQtY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1ib3R0b206IDU2LjI1JTtcbiAgICBoZWlnaHQ6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGlmcmFtZSwgb2JqZWN0LCBlbWJlZCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cbn1cblxuXG5cbi8vIFRYVCBCTE9DSyBSRUFEIE1PUkUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4udHh0LWJsb2NrLXJlYWRtb3JlIHtcbiAgICAvLyBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg4MCk7XG59XG5cblxuLnJlYWRtb3JlLWNvbnRlbnQtY29udGludWVkIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICAmLm9wZW4ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgYW5pbWF0aW9uOiBuYXYtb3ZlcmxheS1zaG93IDEwMDBtcyBlYXNlO1xuICAgIH1cbiAgICAmLmNsb3NlIHtcbiAgICAgICAgYW5pbWF0aW9uOiBuYXYtb3ZlcmxheS1oaWRlIDUwMG1zIGVhc2U7XG4gICAgfVxufVxuXG5cblxuLy8gQ1VTVE9NIEFDQ09SRElPTiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uYWNjb3JkaW9uLW1haW4tdGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE2KTtcbn1cblxuLmFjY29yZGlvbi1yZWdpcyB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDUyKTtcbiAgICA+IGxpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNCk7XG4gICAgfVxuICAgIC5hY2NvcmRpb24tdGl0bGUtcmVnaXMge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDIwIDIwIDE2IDUwKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZXktbGlnaHQ7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBjb2xvcjogJGdyZXk7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMzAgMzAgMzAgODUpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICB9XG4gICAgICAgIHN0cm9uZyB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgfVxuXG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRpY29uLWZvbnQ7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1wbHVzO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtIHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgIGNvbG9yOiAkYmx1ZS1saWdodDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgbGVmdDogcmVtLWNhbGMoMzIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmFjY29yZGlvbi10aXRsZS1kZXRhaWxzIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDJlbTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuODtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDIpO1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgIGNvbG9yOiAkYmx1ZS1saWdodDtcbiAgICAgICAgfVxuXG4gICAgfVxuICAgIC5hY2NvcmRpb24tY29udGVudC1yZWdpcyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDMyIDE2KTtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDU2KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuaXMtYWN0aXZlIHtcbiAgICAgICAgLmFjY29yZGlvbi10aXRsZS1yZWdpcyB7XG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJGljb24tbWludXM7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIENVU1RPTSBGQVFTIEFDQ09SRElPTiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uYWNjb3JkaW9uLWZhcXMtcmVnaXMge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg1Mik7XG4gICAgPiBsaSB7XG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDNweDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JleS1saWdodDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgaGVpZ2h0OiAzcHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JleS1saWdodDtcbiAgICAgICAgfVxuICAgICAgICAmLnByZXYtYWNjLWl0ZW06YWZ0ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5hY2NvcmRpb24tdGl0bGUtcmVnaXMge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDQwKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgY29sb3I6ICRncmV5O1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDU2KTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICB9XG4gICAgICAgIHN0cm9uZyB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgfVxuXG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb3JtYXRhO1xuICAgICAgICAgICAgY29udGVudDogJ1EuJztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6IHJlbS1jYWxjKDMyKTtcbiAgICAgICAgICAgIHRvcDogcmVtLWNhbGMoNTApO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogLSByZW0tY2FsYygxMCk7XG4gICAgICAgICAgICBjb2xvcjogJGdyZXk7XG4gICAgICAgIH1cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJGljb24tZm9udDtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXBsdXM7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICByaWdodDogcmVtLWNhbGMoMzIpO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtIHJlbS1jYWxjKDkpO1xuICAgICAgICAgICAgY29sb3I6ICRyZWQ7XG4gICAgICAgIH1cbiAgICAgICAgLmFjY29yZGlvbi10aXRsZS1kZXRhaWxzIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTApO1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDJlbTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuODtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDQpO1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgfVxuXG4gICAgfVxuICAgIC5hY2NvcmRpb24tY29udGVudC1yZWdpcyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDE2IDM0KTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTYgMzQpO1xuICAgICAgICB9XG4gICAgICAgIC5jb250ZW50LWlubmVyIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMjQpO1xuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9ybWF0YTtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnQS4nO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIHRvcDogcmVtLWNhbGMoMik7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRncmV5O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICB9XG4gICAgLmlzLWFjdGl2ZSB7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRncmV5O1xuICAgICAgICB9XG4gICAgICAgIC5hY2NvcmRpb24tdGl0bGUtcmVnaXMge1xuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJGljb24tbWludXM7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuLy8gSElHSExJR0hUIFBBTkVMUyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uaGlnaGxpZ2h0cyB7XG4gICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDMyKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMzIpO1xuICAgIC5pdGVtcyB7XG4gICAgICAgIGgzIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMjQpO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTYpO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5pdGVtIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZXktbGlnaHQ7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDApO1xuICAgICAgICB9XG5cbiAgICAgICAgLml0ZW0taW5uZXIge1xuICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoJGdsb2JhbC1wYWRkaW5nIDApO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAgICAgICAgIGg0IHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIxKTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSByZXNwb25zaXZlLWZvbnQoMnZ3LCAxNnB4LCAyMXB4LCAyMXB4KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoJGdsb2JhbC1wYWRkaW5nKSByZW0tY2FsYygkZ2xvYmFsLXBhZGRpbmcpIDAgcmVtLWNhbGMoJGdsb2JhbC1wYWRkaW5nKTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygkZ2xvYmFsLXBhZGRpbmcpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAmLnZpZXctbW9yZSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIgKiAkZ2xvYmFsLXBhZGRpbmcpO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxNik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pdGVtLWRlc2Mge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygwICRnbG9iYWwtcGFkZGluZyAkZ2xvYmFsLXBhZGRpbmcpO1xuICAgICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjQpO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLml0ZW0taW1nLW91dGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIgKiAkZ2xvYmFsLXBhZGRpbmcpO1xuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLml0ZW0taW1nIHtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCA0NTBtcyBlYXNlLWluLW91dDtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IHJlbS1jYWxjKDEpIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoLTEpO1xuICAgICAgICB9XG4gICAgICAgIC5pdGVtLWJhc2Uge31cbiAgICB9XG5cbn1cblxuXG5cbi8vIFJPT00gVFlQRVMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4ucm9vbS10eXBlcyB7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTYpO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDcwKTtcbiAgICB9XG4gICAgLnJvb20tZmVhdHVyZXMge1xuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBsaSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgICAgIEBpbmNsdWRlIGF1dG8td2lkdGgoNiwgbGkpO1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAvLyBtYXJnaW4tbGVmdDogcmVtLWNhbGMoMTYpO1xuICAgICAgICAgICAgLy8gbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygxNik7XG5cbiAgICAgICAgICAgIC5yb29tLWZlYXR1cmVzLWljb25zIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDgwKTtcbiAgICAgICAgICAgICAgICAvLyBoZWlnaHQ6IHJlbS1jYWxjKDgwKTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBoMyB7XG4gICAgICAgIC8vIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjUuODkpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg1Nik7XG4gICAgfVxuXG4gICAgLmZsb29yLXBsYW4ge1xuICAgICAgICBib3JkZXI6IHJlbS1jYWxjKDEpIHNvbGlkIGRhcmtlbigkZ3JleS1saWdodCwgOCUpO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIGRvd24pIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDQ4KTtcbiAgICAgICAgfVxuICAgIH1cblxufVxuXG4kbnVtYmVyLXNwYWNpbmc6IDBlbTtcblxuXG4vLyBST09NIENPU1RTIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuXG4vLyBHT09HTEUgQVVUT0NPTVBMRVRFICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4ucGFjLWNvbnRhaW5lciB7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGJvcmRlcjogbm9uZTtcbn1cblxuLnBhYy1pdGVtLXF1ZXJ5IHtcbiAgICBjb2xvcjogJGdyZXk7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LWJvZHk7XG59XG5cbi5wYWMtaWNvbiB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL21hcC1tYXJrZXJAMngucG5nXCIpICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMCAhaW1wb3J0YW50O1xuXG59XG5cbi5wYWMtaXRlbSB7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoOCAxNik7XG4gICAgYm9yZGVyOiBub25lO1xuXG59XG5cbi5wYWMtaXRlbS1zZWxlY3RlZCxcbi5wYWMtaXRlbS1zZWxlY3RlZDpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VmZWZlZjtcbiAgICAvLyBjb2xvcjogJHdoaXRlO1xuICAgIC8vIC5wYWMtaXRlbS1xdWVyeSB7XG4gICAgLy8gICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgLy8gfVxufVxuXG4ucGFjLWNvbnRhaW5lcjphZnRlciB7XG4gICAgY29udGVudDpub25lICFpbXBvcnRhbnQ7XG59XG5cblxuLm1hcC1leHBhbmRpbmctcGFuZWwge1xuICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgIC52YWxpZGF0aW9uX2Vycm9yIHtcbiAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgIG1hcmdpbjogMCBhdXRvIHJlbS1jYWxjKDYwKTtcbiAgICAgICAgIG1heC13aWR0aDogcmVtLWNhbGMoMTE4MCk7XG4gICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgY29sb3I6ICNmMDU4NjE7XG4gICAgICAgICBwYWRkaW5nOiAxLjg3NXJlbSAxLjI1cmVtO1xuICAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgIGZvbnQtc2l6ZTogLjgxMjVyZW07XG4gICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0ZXh0LXRvcDtcbiAgICAgICAgIGJhY2tncm91bmQ6ICNmZGU0ZTY7XG4gICAgICAgICBib3JkZXI6IC4wNjI1cmVtIHNvbGlkICNmMDU4NjE7XG4gICAgICAgICBib3JkZXItcmFkaXVzOiAuMjVyZW07XG4gICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgIH1cbiAgICAgI21hcCB7XG4gICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg2MCk7XG4gICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgIH1cbn1cblxuI21hcCB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIC5jbHVzdGVyIGltZyB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIH1cblxufVxuXG4jYm9keUNvbnRlbnQge1xuICAgIHAge1xuICAgICAgICBsaW5lLWhlaWdodDogMS40O1xuICAgICAgICAmLmFkZHJlc3Mge1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjdyZW07XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gICAgICAgIH1cbiAgICAgICAgJi5waG9uZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuN3JlbTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwLjVyZW07XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuLmdtLXN0eWxlIHtcblxuICAgIC5nbS1zdHlsZS1pdyB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDI1NXB4IWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiBhdXRvIWltcG9ydGFudDtcbiAgICAgICAgbGVmdDogMCFpbXBvcnRhbnQ7XG4gICAgICAgIHRvcDogMTVweCFpbXBvcnRhbnQ7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW4haW1wb3J0YW50O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JleTtcbiAgICAgICAgaDEge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNykgIWltcG9ydGFudDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDI0KTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEwKTtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIH1cbiAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjAyZW07XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg2KTtcbiAgICAgICAgfVxuICAgICAgICAjc2l0ZU5vdGljZSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDIwMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuYm9keUNvbnRlbnR7XG4gICAgICAgICAgICBwYWRkaW5nIDowIDE2cHggMTBweDtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKnN0eWxlIHRoZSBhbm5veWluZyBsaXR0bGUgYXJyb3cgYXQgdGhlIGJvdHRvbSovXG4gICAgZGl2IGRpdiBkaXYgZGl2IGRpdiBkaXYgZGl2IGRpdiBkaXYge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JleSAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgfVxuICAgIC5nbS1zdHlsZS1pdy10OjphZnRlcntcbiAgICAgICAgYmFja2dyb3VuZDokZ3JleTtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgLmdtLXN0eWxlLWl3LWQge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG5cblxuXG5mb3JtIGxhYmVsIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wNWVtO1xuICAgIGNvbG9yOiAkZ3JleTtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XG4gICAgLmdmaWVsZF9yZXF1aXJlZCB7XG4gICAgICAgIGNvbG9yOiAkcmVkO1xuICAgIH1cbn1cblxuXG5cbiAvLyBHUkFWSVRZIEZPUk1TIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLmdmb3JtX3dyYXBwZXIge1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDQ4KTtcblxuXHQuZ2Zvcm1fYm9keSB7XG5cdFx0Ly8gYmFja2dyb3VuZC1jb2xvcjogcGluaztcbiAgICB9XG5cbiAgICAuZ2Zvcm1fdGl0bGUge1xuICAgICAgICBjb2xvcjogJGdyZXk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xuXHQgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjIpO1xuICAgIH1cblxuICAgIC5nZm9ybV9oZWFkaW5nIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygzMik7XG4gICAgICAgIC5nZm9ybV9kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBociB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgLmdmb3JtX3BhZ2VfZm9vdGVyIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgXHRib3JkZXItdG9wOiByZW0tY2FsYygyKSBzb2xpZCAkZ3JleS1saWdodDtcbiAgICBcdGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDQwKTtcbiAgICAgICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDQwKTtcbiAgICB9XG5cbiAgICAmLmdmb3JtX3ZhbGlkYXRpb25fZXJyb3IgLmdmaWVsZCB7XG4gICAgICAgICYuZmllbGRfc3VibGFiZWxfYmVsb3csXG5cdFx0LmdpbnB1dF9mdWxsLFxuXHRcdCYuZ2ZfbGVmdF9oYWxmLFxuXHRcdCYuZ2ZfcmlnaHRfaGFsZixcblx0XHQmLmdmX2xlZnRfdGhpcmQsXG5cdFx0Ji5nZl9taWRkbGVfdGhpcmQsXG5cdFx0Ji5nZl9yaWdodF90aGlyZCxcblx0XHQmLmdmX2xlZnRfcXVhcnRlcixcblx0XHQmLmdmX21pZGRsZV9xdWFydGVyLFxuICAgICAgICAmLmdmX3JpZ2h0X3F1YXJ0ZXIsXG4gICAgICAgICYuZ2ZfbGVmdF90d290aGlyZCxcbiAgICAgICAgJi5nZl9yaWdodF90d290aGlyZCB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg0OCk7XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgICYuYm9vay1hLXRvdXItZm9ybV93cmFwcGVyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAuaGlkZGVuX2xhYmVsID4gbGFiZWwuZ2ZpZWxkX2xhYmVsLCBsYWJlbC5oaWRkZW5fc3ViX2xhYmVsICwgLmhpZGRlbl9sYWJlbCA+IC5jbGVhci1tdWx0aSA+IC5naW5wdXRfY29udGFpbmVyID4gaSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLmNsZWFyLW11bHRpIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIC5naW5wdXRfY29udGFpbmVyX3RpbWUge1xuICAgICAgICAgICAgd2lkdGg6IDMxJTtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB1bC5nZm9ybV9maWVsZHMge1xuXHRcdG1hcmdpbjogMDtcblx0XHRwYWRkaW5nOiAwO1xuXHR9XG5cbiAgICAuZ2ZpZWxkX3JhZGlvIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuXHRcdHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgW3R5cGU9J2NoZWNrYm94J10gKyBsYWJlbCxcbiAgICBbdHlwZT0ncmFkaW8nXSArIGxhYmVsIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICB9XG5cblxuXG4gICAgLmdmaWVsZF9kZXNjcmlwdGlvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgIH1cblxuICAgIC5maWVsZF9kZXNjcmlwdGlvbl9iZWxvdyB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgIH1cblxuICAgIC5maWVsZF9kZXNjcmlwdGlvbl9hYm92ZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgLnZhbGlkYXRpb25fbWVzc2FnZSB7XG4gICAgICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgICAgICBib3R0b206IHJlbS1jYWxjKDQpO1xuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAuZ2lucHV0X2NvdW50ZXIge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICB9XG5cbiAgICBpbnB1dFt0eXBlPVwidGV4dFwiXSArIC5naW5wdXRfY291bnRlcixcbiAgICB0ZXh0YXJlYSArIC5naW5wdXRfY291bnRlcixcbiAgICAuZ2lucHV0X2NvbnRhaW5lciArIC5nZmllbGRfZGVzY3JpcHRpb24ge1xuICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyg0KTtcbiAgICB9XG5cblxuICAgIC5nZmllbGRfY2hlY2tib3gge1xuICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyg4KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTYpO1xuICAgICAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0gKyBsYWJlbCB7XG4gICAgICAgICAgICAvLyBAaW5jbHVkZSBnb3RoYW0oKTtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgbGkuZ2ZfbGlzdF9pbmxpbmUge1xuICAgICAgICB1bC5nZmllbGRfY2hlY2tib3ggbGksXG4gICAgICAgIHVsLmdmaWVsZF9yYWRpbyBsaSB7XG4gICAgICAgICAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICAgICAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIG1hcmdpbjogcmVtLWNhbGMoMCAxMCAxMCAwKTtcbiAgICAgICAgICAgIGRpc3BsYXk6IC1tb3otaW5saW5lLXN0YWNrO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG5cbiAgICAgICAgdWwuZ2ZpZWxkX2NoZWNrYm94IGxpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZ2ZpZWxkX3Zpc2liaWxpdHlfaGlkZGVue1xuICAgICAgICBkaXNwbGF5Om5vbmU7XG4gICAgfVxuXG4gICAgLmdmb3JtX3ByZXZpb3VzX2J1dHRvbiB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cblxuICAgIC5nZm9ybV9uZXh0X2J1dHRvbiB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG5cbiAgICAuZ2Zvcm1fcHJldmlvdXNfYnV0dG9uLFxuICAgIC5nZm9ybV9uZXh0X2J1dHRvbiB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMzIpO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygzMik7XG4gICAgICAgIG1pbi13aWR0aDogcmVtLWNhbGMoMjIwKTtcbiAgICB9XG5cbiAgICAuZ2ZfcHJvZ3Jlc3NiYXJfd3JhcHBlciB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICByZW0tY2FsYyg0MCk7XG4gICAgICAgIC5nZl9wcm9ncmVzc2Jhcl90aXRsZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgfVxuICAgICAgICAuZ2ZfcHJvZ3Jlc3NiYXIge1xuICAgICAgICAgICAgLy8gYm9yZGVyOiAxcHggc29saWQgZGFya2VuKCRncmV5LWxpZ2h0LCAxMCUpO1xuICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMCk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JleS1saWdodDtcbiAgICAgICAgICAgIC5nZl9wcm9ncmVzc2Jhcl9wZXJjZW50YWdlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkYmx1ZTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRibHVlICwgJGdyZWVuKTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMiA0KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmZpbGV1cGxvYWQge1xuICAgICAgICAuZ2lucHV0X2NvbnRhaW5lcl9maWxldXBsb2FkIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDM1KTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgfVxuICAgICAgICBpbnB1dFt0eXBlPVwiZmlsZVwiXSB7XG4gICAgICAgICAgICB3aWR0aDogMC4xcHg7XG4gICAgICAgIFx0aGVpZ2h0OiAwLjFweDtcbiAgICAgICAgXHRvcGFjaXR5OiAwO1xuICAgICAgICBcdG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIFx0cG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBcdHotaW5kZXg6IC0xO1xuICAgICAgICB9XG5cbiAgICAgICAgaW5wdXRbdHlwZT1cImZpbGVcIl0gKyBsYWJlbCB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmVlbjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDE0IDMyKTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDM1KTtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMzIpO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDI1MG1zIGVhc2UtaW4tb3V0O1xuICAgICAgICB9XG5cbiAgICAgICAgaW5wdXRbdHlwZT1cImZpbGVcIl06Zm9jdXMgKyBsYWJlbCxcbiAgICAgICAgaW5wdXRbdHlwZT1cImZpbGVcIl0gKyBsYWJlbDpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4gICAgICAgIH1cbiAgICB9XG5cblx0LmdzZWN0aW9uIHtcblx0XHQuZ3NlY3Rpb25fdGl0bGUge1xuXHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygzMCk7XG5cdFx0fVxuXG5cdFx0LmdzZWN0aW9uX2Rlc2NyaXB0aW9uIHtcblx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTApO1xuXHRcdH1cblx0fVxuXG5cblx0LmdmaWVsZCB7XG5cdFx0bGlzdC1zdHlsZS10eXBlOiBub25lO1xuXHRcdC8vIG1hcmdpbi1ib3R0b206IDM1cHg7XG5cbiAgICAgICAgLmdmaWVsZF9jaGVja2JveCB7XG5cdFx0XHRtYXJnaW4tbGVmdDogMDtcblx0XHRcdHBhZGRpbmctbGVmdDogMDtcblx0XHRcdGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblxuXHRcdFx0aW5wdXRbdHlwZT1cImNoZWNrYm94XCJdICsgbGFiZWwsXG5cdFx0XHRpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCArIGxhYmVsIHtcblx0XHRcdFx0dGV4dC10cmFuc2Zvcm06IG5vbmU7XG5cdFx0XHR9XG5cdFx0fVxuXG5cblxuXHRcdCYuZGl2aWRlci1saW5lIHtcblx0XHRcdEBpbmNsdWRlIGdyaWQtY29sdW1uKCAxMiApO1xuXHRcdFx0aGVpZ2h0OiAxcHg7XG5cdFx0XHQvLyBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1ib3JkZXI7XG5cdFx0XHRtYXJnaW46IHJlbS1jYWxjKDAgMCAzNSk7XG5cblx0XHRcdC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQoIHNtYWxsX29ubHkgKSB7XG5cdFx0XHQvLyBcdG1hcmdpbjogMjVweCAwIDUwcHggMDtcblx0XHRcdC8vIH1cblx0XHR9XG5cblx0XHQmLmRpdmlkZXItbGluZSArIC50b3Atc3BhY2luZyB7XG5cdFx0XHRtYXJnaW4tdG9wOiAwO1xuXHRcdH1cblxuXHRcdCYudG9wLXNwYWNpbmcge1xuXHRcdFx0bWFyZ2luLXRvcDogcmVtLWNhbGMoNjApO1xuXHRcdH1cblxuXG5cdFx0LmdpbnB1dF9mdWxsIHtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygzNSk7XG5cdFx0fVxuXG5cdFx0Ji5maWVsZF9zdWJsYWJlbF9iZWxvdyB7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdGZsb2F0OiBsZWZ0O1xuXHRcdFx0Ji5nZm9ybV9oaWRkZW4ge1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCYuZmllbGRfc3VibGFiZWxfYmVsb3csXG5cdFx0LmdpbnB1dF9mdWxsLFxuXHRcdCYuZ2ZfbGVmdF9oYWxmLFxuXHRcdCYuZ2ZfcmlnaHRfaGFsZixcblx0XHQmLmdmX2xlZnRfdGhpcmQsXG5cdFx0Ji5nZl9taWRkbGVfdGhpcmQsXG5cdFx0Ji5nZl9yaWdodF90aGlyZCxcblx0XHQmLmdmX2xlZnRfcXVhcnRlcixcblx0XHQmLmdmX21pZGRsZV9xdWFydGVyLFxuICAgICAgICAmLmdmX3JpZ2h0X3F1YXJ0ZXIsXG4gICAgICAgICYuZ2ZfbGVmdF90d290aGlyZCxcbiAgICAgICAgJi5nZl9yaWdodF90d290aGlyZCB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyNCk7XG5cbiAgICAgICAgfVxuXG4gICAgICAgICYuZmllbGRfc3VibGFiZWxfYmVsb3cge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgfVxuXG5cblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG5cdFx0XHQmLmdmX2xlZnRfaGFsZixcblx0XHRcdCYuZ2ZfcmlnaHRfaGFsZiB7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHR3aWR0aDogNTAlO1xuXHRcdFx0XHRmbG9hdDogbGVmdDtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjQpO1xuXHRcdFx0fVxuXG5cdFx0XHQmLmdmX2xlZnRfaGFsZiB7XG5cdFx0XHRcdHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDE1KTtcblx0XHRcdH1cblxuXHRcdFx0Ji5nZl9yaWdodF9oYWxmIHtcblx0XHRcdFx0cGFkZGluZy1sZWZ0OiByZW0tY2FsYygxNSk7XG5cdFx0XHR9XG5cblx0XHRcdCYuZ2ZfbGVmdF90aGlyZCxcblx0XHRcdCYuZ2ZfbWlkZGxlX3RoaXJkLFxuXHRcdFx0Ji5nZl9yaWdodF90aGlyZCB7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHR3aWR0aDogMzMuMzMzJTtcblx0XHRcdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDI0KTtcblx0XHRcdH1cblxuXHRcdFx0Ji5nZl9sZWZ0X3RoaXJkIHtcblx0XHRcdFx0cGFkZGluZy1yaWdodDogcmVtLWNhbGMoMTUpO1xuXHRcdFx0fVxuXG5cdFx0XHQmLmdmX3JpZ2h0X3RoaXJkIHtcblx0XHRcdFx0cGFkZGluZy1sZWZ0OiByZW0tY2FsYygxNSk7XG5cdFx0XHR9XG5cbiAgICAgICAgICAgICYuZ2ZfbWlkZGxlX3RoaXJke1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMTUpO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDE1KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5nZl9sZWZ0X3R3b3RoaXJkLFxuXHRcdFx0Ji5nZl9yaWdodF90d290aGlyZCB7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHR3aWR0aDogNjYuNjY2JTtcblx0XHRcdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDI0KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5nZl9sZWZ0X3R3b3RoaXJkIHtcblx0XHRcdFx0cGFkZGluZy1yaWdodDogcmVtLWNhbGMoMTUpO1xuXHRcdFx0fVxuXG5cdFx0XHQmLmdmX3JpZ2h0X3R3b3RoaXJkIHtcblx0XHRcdFx0cGFkZGluZy1sZWZ0OiByZW0tY2FsYygxNSk7XG5cdFx0XHR9XG5cblx0XHRcdCYuZ2ZfbGVmdF9xdWFydGVyLFxuXHRcdFx0Ji5nZl9taWRkbGVfcXVhcnRlcixcblx0XHRcdCYuZ2ZfcmlnaHRfcXVhcnRlciB7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHR3aWR0aDogMjUlO1xuXHRcdFx0XHRmbG9hdDogbGVmdDtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjQpO1xuXG5cdFx0XHR9XG5cblx0XHRcdCYuZ2ZfbGVmdF9xdWFydGVyIHtcblx0XHRcdFx0cGFkZGluZy1yaWdodDogcmVtLWNhbGMoMTUpO1xuXHRcdFx0fVxuXG5cdFx0XHQmLmdmX3JpZ2h0X3F1YXJ0ZXIge1xuXHRcdFx0XHRwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDE1KTtcblx0XHRcdH1cbiAgICAgICAgICAgICYuZ2ZfbWlkZGxlX3F1YXJ0ZXIge1xuXHRcdFx0XHRwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDE1KTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygxNSk7XG5cdFx0XHR9XG5cdFx0fVxuXG5cblx0XHQuZ2lucHV0X2NvbXBsZXgge1xuICAgICAgICAgICAgaW5wdXRbdHlwZT1cInRleHRcIl0gKyBsYWJlbCxcbiAgICAgICAgICAgIHNlbGVjdCArIGxhYmVsIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyg4KTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgc3BhbjpudGgtbGFzdC1vZi10eXBlKC1uKzIpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgfVxuXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuXHRcdFx0XHQuZ2lucHV0X2xlZnQsXG5cdFx0XHRcdC5naW5wdXRfcmlnaHQsXG5cdFx0XHRcdC5uYW1lX2ZpcnN0LFxuXHRcdFx0XHQubmFtZV9sYXN0LFxuICAgICAgICAgICAgICAgIC5hZGRyZXNzX2xpbmVfMSxcbiAgICAgICAgICAgICAgICAuYWRkcmVzc19saW5lXzIge1xuXHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdHdpZHRoOiA1MCU7XG5cdFx0XHRcdFx0ZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDI0KTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdC5naW5wdXRfbGVmdCxcblx0XHRcdFx0Lm5hbWVfZmlyc3QsXG4gICAgICAgICAgICAgICAgLmFkZHJlc3NfbGluZV8xIHtcblx0XHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygxNSk7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQuZ2lucHV0X3JpZ2h0LFxuXHRcdFx0XHQubmFtZV9sYXN0LFxuICAgICAgICAgICAgICAgIC5hZGRyZXNzX2xpbmVfMiB7XG5cdFx0XHRcdFx0cGFkZGluZy1sZWZ0OiByZW0tY2FsYygxNSk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cblxuICAgIH1cblxuXG4gICAgLnZhbGlkYXRpb25fZXJyb3IsIC5nZmllbGRfY3JlZGl0Y2FyZF93YXJuaW5nX21lc3NhZ2Uge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTQpO1xuXHRcdFx0Ym94LXNoYWRvdzogbm9uZTtcblx0XHRcdGNvbG9yOiAkcmVkO1xuXHRcdFx0cGFkZGluZzogcmVtLWNhbGMoMzAgMjApO1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMzIpO1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0Ly8gZm9udC1mYW1pbHk6ICRyZXBsaWNhLWJvbGQ7XG5cdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdFx0dmVydGljYWwtYWxpZ246IHRleHQtdG9wO1xuXHRcdFx0YmFja2dyb3VuZDogbGlnaHRlbigkcmVkLCAzMCUpO1xuICAgICAgICAgICAgYm9yZGVyOiByZW0tY2FsYygxKSBzb2xpZCAkcmVkO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogcmVtLWNhbGMoNCk7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdGNvbnRlbnQ6IFwiIVwiO1xuXHRcdFx0XHR3aWR0aDogcmVtLWNhbGMoMTkpO1xuXHRcdFx0XHRoZWlnaHQ6IHJlbS1jYWxjKDE5KTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMTkpO1xuXHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYyg4KTtcblx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiByZW0tY2FsYygxKSBzb2xpZCAkcmVkO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDUwKTtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHJlZDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDExKTtcbiAgICAgICAgICAgICAgICB0ZXh0LWluZGVudDogcmVtLWNhbGMoLTEpO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC5nZmllbGRfZGVzY3JpcHRpb24udmFsaWRhdGlvbl9tZXNzYWdlIHtcblx0XHRcdGNvbG9yOiAkZ3JleTtcblx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0XHRtYXJnaW4tdG9wOiAwO1xuXHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygxMSk7XG5cdFx0XHRhIHtcblx0XHRcdFx0Y29sb3I6ICRyZWQ7XG5cdFx0XHR9XG5cdFx0fVxuXG4gICAgICAgIC5nZmllbGRfZXJyb3Ige1xuXHRcdFx0IGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuXHRcdFx0IGlucHV0W3R5cGU9XCJlbWFpbFwiXSxcblx0XHRcdCB0ZXh0YXJlYSxcblx0XHRcdCBzZWxlY3Qge1xuXHRcdFx0XHRib3JkZXItY29sb3I6ICRyZWQ7XG5cdFx0XHR9XG4gICAgICAgIH1cblxuICAgICAgICAuY2FwdGNoYV9yaWdodCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMzA0cHg7XG4gICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgLmdpbnB1dF9yZWNhcHRjaGEge1xuICAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgICAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygyKTtcbiAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cblxuXG5cbn1cblxuLmdmb3JtX2Zvb3RlciB7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0Y2xlYXI6IGJvdGg7XG4gICAgLmdmb3JtX2J1dHRvbiB7XG4gICAgICAgIC8vIHBhZGRpbmctbGVmdDogNnJlbTtcbiAgICAgICAgLy8gcGFkZGluZy1yaWdodDogNnJlbTtcbiAgICB9XG59XG5cblxuLy8gRkFOQ1lCT1ggQ1VTVE9NIFRIVU1CUyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmZhbmN5Ym94LWJnIHtcbiAgICBiYWNrZ3JvdW5kOiAkYmxhY2s7XG59XG5cbi5mYW5jeWJveC1pcy1vcGVuIC5mYW5jeWJveC1iZyB7XG5cdG9wYWNpdHk6IDAuODtcbn1cblxuLmZhbmN5Ym94LXRodW1icyB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKCR3aGl0ZSwgMC4wNSk7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodCA6IDA7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDEwIDEwIDUgMTApO1xuICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDE0MCk7XG4gICAgICAgIG92ZXJmbG93OiBzY3JvbGw7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMS4wKTtcbiAgICAgICAgJj4gdWwge1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5mYW5jeWJveC10aHVtYnMgPiB1bCA+IGxpOmJlZm9yZSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkcmVkO1xufVxuXG5cbkBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG5cbiAgICAuZmFuY3lib3gtdGh1bWJzPnVsPmxpIHtcbiAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDE1OCk7XG4gICAgICAgIGhlaWdodDogcmVtLWNhbGMoMTA1KTtcblxuICAgIH1cblxuICAgIC5mYW5jeWJveC1pbmZvYmFyIHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgLy8gdG9wOiByZW0tY2FsYygxMik7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgIH1cblxuICAgIC5mYW5jeWJveC1zaG93LXRodW1icyAuZmFuY3lib3gtaW5uZXIge1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm90dG9tOiByZW0tY2FsYygxNDApO1xuICAgIH1cblxuICB9XG5cblxuLmZhbmN5Ym94LWJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbn1cblxuLmZhbmN5Ym94LWJ1dHRvbi0tYXJyb3dfbGVmdCxcbi5mYW5jeWJveC1idXR0b24tLWFycm93X3JpZ2h0IHtcbiAgICBjb250ZW50OiAnJztcbiAgICBmb250LWZhbWlseTogJGljb24tZm9udDtcbiAgICBjb2xvcjogI2NjYztcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDMyKTtcbiAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoNDApO1xuICAgIHN2ZyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG4uZmFuY3lib3gtbmF2aWdhdGlvbiAuZmFuY3lib3gtYnV0dG9uLS1hcnJvd19sZWZ0IHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICRpY29uLWFycm93LWxlZnQtc21hbGw7XG4gICAgfVxufVxuLmZhbmN5Ym94LW5hdmlnYXRpb24gLmZhbmN5Ym94LWJ1dHRvbi0tYXJyb3dfcmlnaHQge1xuICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJGljb24tYXJyb3ctcmlnaHQtc21hbGw7XG4gICAgfVxufVxuXG5cblxuXG4ubmV3cy1saXN0aW5nLXBhZ2luYXRpb24ge1xuICAgIC5uZXdzLXBhZ2luYXRpb24ge1xuICAgICAgICAuZmVhdHVyZWQtbGluayB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICAgICAgLm5leHQge1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4gIC8vIEJMT0cgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAjYmxvZyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICYubmV3c3Jvb20ge1xuICAgICAgICBtYXJnaW46IDBweDtcbiAgICB9XG4gICAgLnNpbmdsZSB7XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGlmcmFtZSB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJsb2ctZmVhdHVyZWQge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIC5ibG9nLWZlYXR1cmVkX19vdmVybGF5IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsMC41KTtcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDJyZW0gc29saWQgZ3JlZW47XG4gICAgICAgICAgICBwYWRkaW5nOiAycmVtO1xuICAgICAgICAgICAgYSwgYTpob3ZlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBoMyB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgICBhIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgICAgICYubmV3c3Jvb20ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygzMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYmxvZy1oaWdobGlnaHRzLWNvbnRhaW5lciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmV5LWxpZ2h0O1xuICAgICAgICBwYWRkaW5nOiAycmVtIDAgMCAwO1xuICAgIH1cblxuXG4gICAgLmJsb2ctaGlnaGxpZ2h0IHtcbiAgICAgICAgLmJsb2ctaGlnaGxpZ2h0X19pbWFnZSB7XG4gICAgICAgICAgICAvLyBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgICAgICAgICAgaDQge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuYmxvZy1oaWdobGlnaHRfX292ZXJsYXkge1xuICAgICAgICAgICAgLy8gcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgLy8gYm90dG9tOiAwO1xuICAgICAgICAgICAgLy8gbGVmdDogMDtcbiAgICAgICAgICAgIC8vIHJpZ2h0OiAwO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogYmx1ZTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAuNXJlbTtcbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgLmJsb2ctcG9zdHMtY29udGFpbmVyIHtcbiAgICAgICAgcGFkZGluZzogMnJlbSAwO1xuICAgIH1cblxuICAgIC5ibG9nLW5hdiB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMTE7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgaDMge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgICAgICBjb2xvcjogJGdyZXk7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICB9XG4gICAgICAgIG5hdiB7XG4gICAgICAgICAgICB1bCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDI0KTtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGdyZXk7XG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wNWVtO1xuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGdyZXk7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDMpO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDMwMG1zIGVhc2UtaW4tb3V0O1xuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbGlnaHRlbigkZ3JleSwgMjUlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucG9zdC1kYXRlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wNWVtO1xuICAgICAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoNSk7XG4gICAgfVxuXG4gICAgLmluZGl2aWR1YWwtcG9zdCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDQ4KTtcblxuICAgICAgICAucG9zdC1pbWFnZSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygzMik7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGgzIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEyKTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAzMDBtcyBlYXNlLWluLW91dDtcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IGxpZ2h0ZW4oJGdyZXksIDE1JSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5saW5rLW1vcmUge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTtcbiAgICAgICAgfVxuICAgICAgICAmLmJsb2ctZmVhdHVyZWQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNDgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnBvc3QtcGFnZSB7XG4gICAgICAgIC5pbWctZml0IHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDMyKTtcbiAgICAgICAgfVxuICAgICAgICAuYmxvZy1mZWF0dXJlZCB7XG4gICAgICAgICAgICAuaW1nLWZpdCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucG9zdC1jb250cm9scyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYyg0KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjgpO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygyKTtcbiAgICB9XG5cbiAgICAucG9zdC1zaGFyZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB1bCB7XG4gICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYygxMSk7XG4gICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJi5pY29uLXNvY2lhbCBhIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoMzApO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDMwKTtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IGxpZ2h0ZW4oJGdyZXksIDAlKTtcbiAgICAgICAgICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWluZGVudDogLTEwMDAwZW07XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkaWNvbi1mb250O1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygzMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgICAgICAgICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgICAgICAgICAgICAgICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtaW5kZW50OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDMwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoMzApO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5pY29uLWZhY2Vib29rIGEge1xuICAgICAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJGljb24tZmFjZWJvb2stc3F1YXJlZDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjM2I1OTk4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICYuaWNvbi10d2l0dGVyIGEge1xuICAgICAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJGljb24tdHdpdHRlci1zcXVhcmVkO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICMwMGFjZWQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJi5pY29uLWxpbmtlZGluIGEge1xuICAgICAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJGljb24tbGlua2VkaW4tc3F1YXJlZDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjMGU3NmE4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uYWRkdGhpc19uYXRpdmVfdG9vbGJveCB7XG4gICAgbWFyZ2luLXRvcDogMjVweDtcbn1cblxuLmNvbnRlbnQgLmFjdGl2ZS1zaWRlYmFyIHtcbiAgICBjb2xvcjogJGdyZXk7XG4gICAgYm9yZGVyLWJvdHRvbTogcmVtLWNhbGMoMykgc29saWQgbGlnaHRlbigkcmVkLCAwKTtcbn1cblxuLmNvbnRlbnQgYS5ibG9nLXRpdGxlc3tcbiAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cbi5jb250ZW50IC5ibG9nLXRpdGxlczpob3Zlcixcbi5jb250ZW50IC5ibG9nLXRpdGxlczpmb2N1cyxcbi5jb250ZW50IC5ibG9nLXRpdGxlczphY3RpdmUge1xuICAgIGNvbG9yOiAkZ3JleTtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuXG4vLyBSRUxBVEVEIFBPU1RTIFNMSURFUiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uc2xpZGVyLXJlbGF0ZWQtcG9zdHMge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIC5pdGVtIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGEuaXRlbS1pbm5lciB7XG4gICAgICAgICAgICBtYXJnaW46IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICBoNSB7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMjUwbXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICAgICAgaDUge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGxpbmstY29sb3ItaG92ZXI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pdGVtLWltZy1vdXRlciB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNik7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgLmllOCAmIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDIyOSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zbGljay1kb3RzIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxpIGJ1dHRvbjpiZWZvcmUge1xuICAgICAgICAgICAgY29sb3I6ICRncmV5O1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDMwMG1zIGVhc2UtaW4tb3V0O1xuICAgICAgICB9XG4gICAgICAgIGxpLnNsaWNrLWFjdGl2ZSBidXR0b246YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbG9yOiAkYmx1ZTtcbiAgICAgICAgfVxuXG4gICAgfVxufVxuXG4ucndkLWJyZWFrIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoMTE2MCB1cCkge1xuICAgICAgICBkaXNwbGF5OiBpbmhlcml0O1xuICAgIH1cbn1cblxuLmdpbnB1dF9yZWNhcHRjaGEge1xuICAgIC8vIGRpc3BsYXk6IG5vbmU7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTYpO1xufVxuLmJ1dHRvbi5wcm9jZXNzaW5ne1xuICAgIHBhZGRpbmc6MS4xNWVtIDEwcHg7O1xuICAgIGN1cnNvcjogd2FpdDtcbiAgLy8gIHBhZGRpbmctYm90dG9tOiAxLjE1ZW07XG59XG5cbi5idXR0b24ucHJvY2Vzc2luZzpiZWZvcmV7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBjb250ZW50OiAnICc7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy93aGl0ZS1sb2FkaW5nLnN2Z1wiKTtcbiAgYmFja2dyb3VuZC1zaXplOiAxM3B4IDEzcHg7XG4gIGhlaWdodDogMTNweDtcbiAgd2lkdGg6IDEzcHg7XG4gIG1hcmdpbi10b3A6IDNweDtcbiAgbWFyZ2luLXJpZ2h0OiA1cHg7XG59XG5cbi8qKiBGaXggZm9yIGJyZWFkY3J1bWIgb24gbG9jYXRpb24gcGFnZXMgKi9cbi5icmVhZGNydW1iLWxvY2F0aW9ucyB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cbmJvZHkucGFyZW50LWxvY2F0aW9ucyB7XG4gIC5oZWFkZXItcmlnaHQge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcbiAgICAgIG1hcmdpbi10b3A6IC02MHB4O1xuICAgIH1cbiAgfVxuXG4gIC5icmVhZGNydW1iLWxvY2F0aW9ucyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA2MHB4O1xuICAgICAgei1pbmRleDogMjAwO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIHRvcDogNTBweDtcbiAgICB9XG4gIH1cblxuICAuYmFubmVyLXBhbmVsIC5icmVhZGNydW1icyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG4gIH1cblxuICAuaGVhZGluZy1zZWNvbmRhcnkge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICB9XG4gIH1cblxuICAuY3RhLXBhbmVsIHtcbiAgICBtYXJnaW4tdG9wOiA2MHB4O1xuICB9XG59XG5cbkBpbXBvcnQgXCJtb2R1bGVzL2ZlYXR1cmVzLWxpc3RcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL3Jvb20tY29zdHNcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL2NhbGN1bGF0b3JcIjtcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJ1dHRvblxuLy8vL1xuXG4vLy8gRm9udCBmYW1pbHkgZm9yIGJ1dHRvbiBlbGVtZW50cy5cbi8vLyBAdHlwZSBGb250XG4kYnV0dG9uLWZvbnQtZmFtaWx5OiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLXBhZGRpbmc6IDAuODVlbSAxZW0gIWRlZmF1bHQ7XG5cbi8vLyBNYXJnaW4gYXJvdW5kIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmaWxsIGZvciBidXR0b25zLiBDYW4gZWl0aGVyIGJlIGBzb2xpZGAgb3IgYGhvbGxvd2AuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGJ1dHRvbi1maWxsOiBzb2xpZCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBDb2xvclxuJGJ1dHRvbi1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJ1dHRvbi1iYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtMTUlKSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3IgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQWx0ZXJuYXRpdmUgZm9udCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLWNvbG9yLWFsdDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgYnV0dG9ucywgZGVmYXVsdGVkIHRvIGdsb2JhbC1yYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgd2lkdGggZm9yIGhvbGxvdyBvdXRsaW5lIGJ1dHRvbnNcbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24taG9sbG93LWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuXG4vLy8gU2l6ZXMgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTWFwXG4kYnV0dG9uLXNpemVzOiAoXG4gIHRpbnk6IDAuNnJlbSxcbiAgc21hbGw6IDAuNzVyZW0sXG4gIGRlZmF1bHQ6IDAuOXJlbSxcbiAgbGFyZ2U6IDEuMjVyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JpbmcgY2xhc3Nlcy4gQSBtYXAgb2YgY2xhc3NlcyB0byBvdXRwdXQgaW4geW91ciBDU1MsIGxpa2UgYC5zZWNvbmRhcnlgLCBgLnN1Y2Nlc3NgLCBhbmQgc28gb24uXG4vLy8gQHR5cGUgTWFwXG4kYnV0dG9uLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGUgIWRlZmF1bHQ7XG5cbi8vLyBvcGFjaXR5IGZvciBhIGRpc2FibGVkIGJ1dHRvbi5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGxpZ2h0bmVzcyBvbiBob3ZlciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3M6IC0yMCUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBsaWdodG5lc3Mgb24gaG92ZXIgZm9yIGhvbGxvdyBidXR0b25zLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzOiAtNTAlICFkZWZhdWx0O1xuXG4vLyBJbnRlcm5hbDogZmxpcCBmcm9tIG1hcmdpbi1yaWdodCB0byBtYXJnaW4tbGVmdCBmb3IgZGVmYXVsdHNcbkBpZiAkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09ICdydGwnIHtcbiAgJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbn1cblxuLy8vIHRyYW5zaXRpb25zIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQgIWRlZmF1bHQ7XG5cbi8vLyBBZGRpdGlvbmFsIHJlc3BvbnNpdmUgY2xhc3NlcyBmb3IgLmV4cGFuZGVkXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJ1dHRvbi1yZXNwb25zaXZlLWV4cGFuZGVkOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gVE9ETzogRG9jdW1lbnQgYnV0dG9uLWJhc2UoKSBtaXhpblxuQG1peGluIGJ1dHRvbi1iYXNlIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbjogJGJ1dHRvbi1tYXJnaW47XG4gIGZvbnQtZmFtaWx5OiAkYnV0dG9uLWZvbnQtZmFtaWx5O1xuXG4gIEBpZiAodHlwZS1vZigkYnV0dG9uLXBhZGRpbmcpID09ICdtYXAnKSB7XG4gICAgQGVhY2ggJHNpemUsICRwYWRkaW5nIGluICRidXR0b24tcGFkZGluZyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIHBhZGRpbmc6ICRwYWRkaW5nO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgcGFkZGluZzogJGJ1dHRvbi1wYWRkaW5nO1xuICB9XG5cbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gIHRyYW5zaXRpb246ICRidXR0b24tdHJhbnNpdGlvbjtcbiAgZm9udC1zaXplOiBtYXAtZ2V0KCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi8vLyBFeHBhbmRzIGEgYnV0dG9uIHRvIG1ha2UgaXQgZnVsbC13aWR0aC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRleHBhbmQgW3RydWVdIC0gU2V0IHRvIGB0cnVlYCB0byBlbmFibGUgdGhlIGV4cGFuZCBiZWhhdmlvci4gU2V0IHRvIGBmYWxzZWAgdG8gcmV2ZXJzZSB0aGlzIGJlaGF2aW9yLlxuQG1peGluIGJ1dHRvbi1leHBhbmQoJGV4cGFuZDogdHJ1ZSkge1xuICBAaWYgJGV4cGFuZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWFyZ2luOiAkYnV0dG9uLW1hcmdpbjtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgdmlzdWFsIHN0eWxlIG9mIGEgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kLWhvdmVyIFskYnV0dG9uLWJhY2tncm91bmQtaG92ZXJdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uIG9uIGhvdmVyLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBob3ZlciBjb2xvci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbkBtaXhpbiBidXR0b24tc3R5bGUoXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXIsXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvcixcbiAgJGJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzXG4pIHtcbiAgQGlmICRjb2xvciA9PSBhdXRvIHtcbiAgICAkY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGJhY2tncm91bmQsICgkYnV0dG9uLWNvbG9yLCAkYnV0dG9uLWNvbG9yLWFsdCkpO1xuICB9XG5cbiAgQGlmICRiYWNrZ3JvdW5kLWhvdmVyID09IGF1dG8ge1xuICAgICRiYWNrZ3JvdW5kLWhvdmVyOiBzY2FsZS1jb2xvcigkYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogJGJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzKTtcbiAgfVxuXG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBjb2xvcjogJGNvbG9yO1xuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cbn1cblxuLy8vIFJlbW92ZXMgYmFja2dyb3VuZCBmaWxsIG9uIGhvdmVyIGFuZCBmb2N1cyBmb3IgaG9sbG93IGJ1dHRvbnMuXG5AbWl4aW4gYnV0dG9uLWhvbGxvdyB7XG4gICYsXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgJi5kaXNhYmxlZCxcbiAgJltkaXNhYmxlZF0ge1xuICAgICYsXG4gICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGJ1dHRvbi1ob2xsb3ctc3R5bGUoXG4gICRjb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkaG92ZXItbGlnaHRuZXNzOiAkYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3MsXG4gICRib3JkZXItd2lkdGg6ICRidXR0b24taG9sbG93LWJvcmRlci13aWR0aFxuKSB7XG4gICRjb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkaG92ZXItbGlnaHRuZXNzKTtcblxuICBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgJGNvbG9yO1xuICBjb2xvcjogJGNvbG9yO1xuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLWhvdmVyO1xuICAgIGNvbG9yOiAkY29sb3ItaG92ZXI7XG4gICAgJi5kaXNhYmxlZCxcbiAgICAmW2Rpc2FibGVkXSB7XG4gICAgICBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgJGNvbG9yO1xuICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgZGlzYWJsZWQgc3R5bGVzIHRvIGEgYnV0dG9uIGJ5IGZhZGluZyB0aGUgZWxlbWVudCwgcmVzZXRpbmcgdGhlIGN1cnNvciwgYW5kIGRpc2FibGluZyBwb2ludGVyIGV2ZW50cy5cbi8vLyBAcGFyYW0gW0NvbG9yXSAkYmFja2dyb3VuZCBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGRpc2FibGVkIGJ1dHRvbi5cbi8vLyBAcGFyYW0gW0NvbG9yXSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgZGlzYWJsZWQgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbkBtaXhpbiBidXR0b24tZGlzYWJsZWQoXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvclxuKSB7XG4gIEBpZiAkY29sb3IgPT0gYXV0byB7XG4gICAgJGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRiYWNrZ3JvdW5kLCAoJGJ1dHRvbi1jb2xvciwgJGJ1dHRvbi1jb2xvci1hbHQpKTtcbiAgfVxuXG4gIG9wYWNpdHk6ICRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcblxuICAmLCAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG59XG5cbi8vLyBBZGRzIGEgZHJvcGRvd24gYXJyb3cgdG8gYSBidXR0b24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzaXplIFswLjRlbV0gLSBTaXplIG9mIHRoZSBhcnJvdy4gV2UgcmVjb21tZW5kIHVzaW5nIGFuIGBlbWAgdmFsdWUgc28gdGhlIHRyaWFuZ2xlIHNjYWxlcyB3aGVuIHVzZWQgaW5zaWRlIGRpZmZlcmVudCBzaXplcyBvZiBidXR0b25zLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbd2hpdGVdIC0gQ29sb3Igb2YgdGhlIGFycm93LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkb2Zmc2V0IFskYnV0dG9uLXBhZGRpbmddIC0gRGlzdGFuY2UgYmV0d2VlbiB0aGUgYXJyb3cgYW5kIHRoZSB0ZXh0IG9mIHRoZSBidXR0b24uIERlZmF1bHRzIHRvIHdoYXRldmVyIHRoZSByaWdodCBwYWRkaW5nIG9mIGEgYnV0dG9uIGlzLlxuQG1peGluIGJ1dHRvbi1kcm9wZG93bihcbiAgJHNpemU6IDAuNGVtLFxuICAkY29sb3I6ICR3aGl0ZSxcbiAgJG9mZnNldDogZ2V0LXNpZGUoJGJ1dHRvbi1wYWRkaW5nLCByaWdodClcbikge1xuICAmOjphZnRlciB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRzaXplLCAkY29sb3IsIGRvd24pO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDAuNGVtOyAvLyBBbGlnbnMgdGhlIGFycm93IHdpdGggdGhlIHRleHQgb2YgdGhlIGJ1dHRvblxuXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZsb2F0OiAjeyRnbG9iYWwtcmlnaHR9O1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRvZmZzZXQ7XG4gIH1cbn1cblxuLy8vIEFkZHMgYWxsIHN0eWxlcyBmb3IgYSBidXR0b24uIEZvciBtb3JlIGdyYW51bGFyIGNvbnRyb2wgb3ZlciBzdHlsZXMsIHVzZSB0aGUgaW5kaXZpZHVhbCBidXR0b24gbWl4aW5zLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGV4cGFuZCBbZmFsc2VdIC0gU2V0IHRvIGB0cnVlYCB0byBtYWtlIHRoZSBidXR0b24gZnVsbC13aWR0aC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZC1ob3ZlciBbJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbiBvbiBob3Zlci4gU2V0IHRvIGBhdXRvYCB0byBoYXZlIHRoZSBtaXhpbiBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgaG92ZXIgY29sb3IuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYnV0dG9uLWNvbG9yXSAtIFRleHQgY29sb3Igb2YgdGhlIGJ1dHRvbi4gU2V0IHRvIGBhdXRvYCB0byBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgY29sb3IgYmFzZWQgb24gdGhlIGJhY2tncm91bmQgY29sb3IuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3R5bGUgW3NvbGlkXSAtIFNldCB0byBgaG9sbG93YCB0byBjcmVhdGUgYSBob2xsb3cgYnV0dG9uLiBUaGUgY29sb3IgZGVmaW5lZCBpbiBgJGJhY2tncm91bmRgIHdpbGwgYmUgdXNlZCBhcyB0aGUgcHJpbWFyeSBjb2xvciBvZiB0aGUgYnV0dG9uLlxuQG1peGluIGJ1dHRvbihcbiAgJGV4cGFuZDogZmFsc2UsXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXIsXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvcixcbiAgJHN0eWxlOiAkYnV0dG9uLWZpbGxcbikge1xuICBAaW5jbHVkZSBidXR0b24tYmFzZTtcblxuICBAaWYgJHN0eWxlID09IHNvbGlkIHtcbiAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJhY2tncm91bmQsICRiYWNrZ3JvdW5kLWhvdmVyLCAkY29sb3IpO1xuICB9XG4gIEBlbHNlIGlmICRzdHlsZSA9PSBob2xsb3cge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3c7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkYmFja2dyb3VuZCk7XG4gIH1cblxuICBAaWYgJGV4cGFuZCB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1idXR0b24ge1xuICAuYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBidXR0b247XG5cbiAgICAvLyBTaXplc1xuICAgIEBlYWNoICRzaXplLCAkdmFsdWUgaW4gbWFwLXJlbW92ZSgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KSB7XG4gICAgICAmLiN7JHNpemV9IHtcbiAgICAgICAgZm9udC1zaXplOiAkdmFsdWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5leHBhbmRlZCB7IEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7IH1cblxuICAgIEBpZiAkYnV0dG9uLXJlc3BvbnNpdmUtZXhwYW5kZWQge1xuICAgICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoI3skc2l6ZX0gb25seSkge1xuICAgICAgICAgICYuI3skc2l6ZX0tb25seS1leHBhbmRlZCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZXhwYW5kO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoI3skc2l6ZX0gZG93bikge1xuICAgICAgICAgICAgJi4jeyRzaXplfS1kb3duLWV4cGFuZGVkIHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCN7JHNpemV9KSB7XG4gICAgICAgICAgICAmLiN7JHNpemV9LWV4cGFuZGVkIHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBDb2xvcnNcbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICBAaWYgJGJ1dHRvbi1maWxsICE9IGhvbGxvdyB7XG4gICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkY29sb3IsIGF1dG8sIGF1dG8pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGNvbG9yKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuI3skbmFtZX0uZHJvcGRvd246OmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEaXNhYmxlZCBzdHlsZVxuICAgICYuZGlzYWJsZWQsXG4gICAgJltkaXNhYmxlZF0ge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLWRpc2FibGVkO1xuXG4gICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1kaXNhYmxlZCgkY29sb3IsIGF1dG8pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSG9sbG93IHN0eWxlXG4gICAgQGlmICRidXR0b24tZmlsbCAhPSBob2xsb3cge1xuICAgICAgJi5ob2xsb3cge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93O1xuICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlO1xuXG4gICAgICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGNvbG9yKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBDbGVhciBzdHlsZVxuICAgIEBpZiAkYnV0dG9uLWZpbGwgIT0gY2xlYXIge1xuICAgICAgJi5jbGVhciB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3c7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGU7XG5cbiAgICAgICAgJiwgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgICAgJiwgJi5kaXNhYmxlZCwgJltkaXNhYmxlZF0ge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRjb2xvcik7XG5cbiAgICAgICAgICAgICYsICY6aG92ZXIsXG4gICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgJixcbiAgICAgICAgICAgICAgJi5kaXNhYmxlZCxcbiAgICAgICAgICAgICAgJltkaXNhYmxlZF0ge1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEcm9wZG93biBhcnJvd1xuICAgICYuZHJvcGRvd24ge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLWRyb3Bkb3duO1xuXG4gICAgICBAaWYgJGJ1dHRvbi1maWxsID09IGhvbGxvdyB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkYnV0dG9uLWJhY2tncm91bmQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5ob2xsb3cge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG5cbiAgICAgICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQnV0dG9uIHdpdGggZHJvcGRvd24gYXJyb3cgb25seVxuICAgICYuYXJyb3ctb25seTo6YWZ0ZXIge1xuICAgICAgdG9wOiAtMC4xZW07XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgfVxuICB9XG4gIGEuYnV0dG9uIHtcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYmFkZ2Vcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgYmFkZ2VzLlxuLy8vIEB0eXBlIENvbG9yXG4kYmFkZ2UtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3IgZm9yIGJhZGdlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJhZGdlLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBBbHRlcm5hdGUgdGV4dCBjb2xvciBmb3IgYmFkZ2VzLlxuLy8vIEB0eXBlIENvbG9yXG4kYmFkZ2UtY29sb3ItYWx0OiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvcmluZyBjbGFzc2VzLiBBIG1hcCBvZiBjbGFzc2VzIHRvIG91dHB1dCBpbiB5b3VyIENTUywgbGlrZSBgLnNlY29uZGFyeWAsIGAuc3VjY2Vzc2AsIGFuZCBzbyBvbi5cbi8vLyBAdHlwZSBNYXBcbiRiYWRnZS1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBiYWRnZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYmFkZ2UtcGFkZGluZzogMC4zZW0gIWRlZmF1bHQ7XG5cbi8vLyBNaW5pbXVtIHdpZHRoIG9mIGEgYmFkZ2UuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYmFkZ2UtbWlud2lkdGg6IDIuMWVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGJhZGdlcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRiYWRnZS1mb250LXNpemU6IDAuNnJlbSAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlcyB0aGUgYmFzZSBzdHlsZXMgZm9yIGEgYmFkZ2UuXG5AbWl4aW4gYmFkZ2Uge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1pbi13aWR0aDogJGJhZGdlLW1pbndpZHRoO1xuICBwYWRkaW5nOiAkYmFkZ2UtcGFkZGluZztcblxuICBib3JkZXItcmFkaXVzOiA1MCU7XG5cbiAgZm9udC1zaXplOiAkYmFkZ2UtZm9udC1zaXplO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJhZGdlIHtcbiAgLmJhZGdlIHtcbiAgICBAaW5jbHVkZSBiYWRnZTtcblxuICAgIGJhY2tncm91bmQ6ICRiYWRnZS1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYmFkZ2UtY29sb3I7XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRiYWRnZS1wYWxldHRlIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgICAgIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRjb2xvciwgKCRiYWRnZS1jb2xvciwgJGJhZGdlLWNvbG9yLWFsdCkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnJlYWRjcnVtYnNcbi8vLy9cblxuLy8vIE1hcmdpbiBhcm91bmQgYSBicmVhZGNydW1icyBjb250YWluZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnJlYWRjcnVtYnMtbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiBicmVhZGNydW1iIGxpbmtzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJyZWFkY3J1bWJzLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMSkgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBicmVhZGNydW1iIGxpbmtzLlxuLy8vIEB0eXBlIENvbG9yXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiB0aGUgYWN0aXZlIGJyZWFkY3J1bWIgbGluay5cbi8vLyBAdHlwZSBDb2xvclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItY3VycmVudDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gT3BhY2l0eSBvZiBkaXNhYmxlZCBicmVhZGNydW1iIGxpbmtzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiBiZXR3ZWVuIGJyZWFkY3J1bWIgaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW46IDAuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIG1ha2VzIGJyZWFkY3J1bWIgbGlua3MgdXBwZXJjYXNlLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRicmVhZGNydW1icy1pdGVtLXVwcGVyY2FzZTogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgYWRkcyBhIHNlcGVyYXRvciBiZXR3ZWVuIGJyZWFkY3J1bWIgbGlua3MuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yOiB0cnVlICFkZWZhdWx0O1xuXG4vLyBJZiBpdCBleGlzdHMgJGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2ggaXMgdXNlZCB0byBidWlsZCAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3IuIFNlZSB0aGUgZG9jdW1lbnRhdGlvbi5cbkBpZiB2YXJpYWJsZS1leGlzdHMoYnJlYWRjcnVtYnMtaXRlbS1zbGFzaCkge1xuICAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3I6ICRicmVhZGNydW1icy1pdGVtLXNsYXNoO1xufVxuXG4vLy8gVXNlZCBjaGFyYWN0ZXIgZm9yIHRoZSBicmVhZGNydW1iIHNlcGFyYXRvci5cbi8vLyBAdHlwZSBDb250ZW50XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbTogJy8nICFkZWZhdWx0O1xuXG4vLy8gVXNlZCBjaGFyYWN0ZXIgZm9yIHRoZSBicmVhZGNydW1iIHNlcGFyYXRvciBpbiBydGwgbW9kZS5cbi8vLyBAdHlwZSBDb250ZW50XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbS1ydGw6ICdcXFxcJyAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGJyZWFkY3J1bWIgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vIElmIGl0IGV4aXN0cyAkYnJlYWRjcnVtYnMtaXRlbS1zbGFzaC1jb2xvciBpcyB1c2VkIHRvIGJ1aWxkICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1jb2xvci4gU2VlIHRoZSBkb2N1bWVudGF0aW9uLlxuQGlmIHZhcmlhYmxlLWV4aXN0cyhicmVhZGNydW1icy1pdGVtLXNsYXNoLWNvbG9yKSB7XG4gICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1jb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2gtY29sb3I7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBicmVhZGNydW1icyBjb250YWluZXIsIGFsb25nIHdpdGggdGhlIHN0eWxlcyBmb3IgdGhlIGA8bGk+YCBhbmQgYDxhPmAgZWxlbWVudHMgaW5zaWRlIG9mIGl0LlxuQG1peGluIGJyZWFkY3J1bWJzLWNvbnRhaW5lciB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXJnaW46ICRicmVhZGNydW1icy1tYXJnaW47XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgLy8gSXRlbSB3cmFwcGVyXG4gIGxpIHtcbiAgICBmbG9hdDogI3skZ2xvYmFsLWxlZnR9O1xuXG4gICAgZm9udC1zaXplOiAkYnJlYWRjcnVtYnMtaXRlbS1mb250LXNpemU7XG4gICAgY29sb3I6ICRicmVhZGNydW1icy1pdGVtLWNvbG9yLWN1cnJlbnQ7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuXG4gICAgQGlmICRicmVhZGNydW1icy1pdGVtLXVwcGVyY2FzZSB7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cblxuICAgIEBpZiAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3Ige1xuICAgICAgLy8gTmVlZCB0byBlc2NhcGUgdGhlIGJhY2tzbGFzaFxuICAgICAgJHNlcGFyYXRvcjogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSAnbHRyJywgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW0sICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtLXJ0bCk7XG5cbiAgICAgICY6bm90KDpsYXN0LWNoaWxkKTo6YWZ0ZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1hcmdpbjogMCAkYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW47XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIGNvbnRlbnQ6ICRzZXBhcmF0b3I7XG4gICAgICAgIGNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItY29sb3I7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW47XG4gICAgfVxuICB9XG5cbiAgLy8gUGFnZSBsaW5rc1xuICBhIHtcbiAgICBjb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3I7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1icmVhZGNydW1icyB7XG4gIC5icmVhZGNydW1icyB7XG4gICAgQGluY2x1ZGUgYnJlYWRjcnVtYnMtY29udGFpbmVyO1xuXG4gICAgLmRpc2FibGVkIHtcbiAgICAgIGNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1kaXNhYmxlZDtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBidXR0b24tZ3JvdXBcbi8vLy9cblxuLy8vIE1hcmdpbiBmb3IgYnV0dG9uIGdyb3Vwcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b25ncm91cC1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBNYXJnaW4gYmV0d2VlbiBidXR0b25zIGluIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbmdyb3VwLXNwYWNpbmc6IDFweCAhZGVmYXVsdDtcblxuLy8vIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgYSBidXR0b24gZ3JvdXAuXG4vLy8gQHR5cGUgU3RyaW5nXG4kYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3I6ICcuYnV0dG9uJyAhZGVmYXVsdDtcblxuLy8vIE1heGltdW0gbnVtYmVyIG9mIGJ1dHRvbnMgdGhhdCBjYW4gYmUgaW4gYW4gZXZlbi13aWR0aCBidXR0b24gZ3JvdXAuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uZ3JvdXAtZXhwYW5kLW1heDogNiAhZGVmYXVsdDtcblxuLy8vIERldGVybWluZXMgaWYgJGJ1dHRvbi1yYWRpdXMgaXMgYXBwbGllZCB0byBlYWNoIGJ1dHRvbiBvciB0aGUgYnV0dG9uIGdyb3VwIGFzIGEgd2hvbGUuIFVzZSAkZ2xvYmFsLXJhZGl1cyBpbiBfc2V0dGluZ3Muc2NzcyB0byBjaGFuZ2UgcmFkaXVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEFkZCBzdHlsZXMgZm9yIGEgYnV0dG9uIGdyb3VwIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGNoaWxkLXNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSBhIGJ1dHRvbiBncm91cC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNwYWNpbmcgWyRidXR0b25ncm91cC1zcGFjaW5nXSAtIFNwYWNpbmcgYmV0d2VlbiBidXR0b25zIGluIGEgYnV0dG9uIGdyb3VwLlxuQG1peGluIGJ1dHRvbi1ncm91cChcbiAgJGNoaWxkLXNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3IsXG4gICRzcGFjaW5nOiAkYnV0dG9uZ3JvdXAtc3BhY2luZ1xuKSB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXJnaW4tYm90dG9tOiAkYnV0dG9uZ3JvdXAtbWFyZ2luO1xuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIH1cbiAgQGVsc2Uge1xuICAgIGZvbnQtc2l6ZTogMDtcbiAgfVxuXG4gICN7JGNoaWxkLXNlbGVjdG9yfSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkc3BhY2luZztcbiAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZztcbiAgICBmb250LXNpemU6IG1hcC1nZXQoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCk7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICB9XG5cbiAgICBAaWYgbm90ICRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaCB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICAgICAgfVxuICAgIH1cblxuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgZnVsbC13aWR0aCBidXR0b24gZ3JvdXAsIG1ha2luZyBlYWNoIGJ1dHRvbiBlcXVhbCB3aWR0aC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSBhIGJ1dHRvbiBncm91cC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNwYWNpbmcgWyRidXR0b25ncm91cC1zcGFjaW5nXSAtIFNwYWNpbmcgYmV0d2VlbiBidXR0b25zIGluIGEgYnV0dG9uIGdyb3VwLlxuQG1peGluIGJ1dHRvbi1ncm91cC1leHBhbmQoXG4gICRzZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yLFxuICAkc3BhY2luZzogJGJ1dHRvbmdyb3VwLXNwYWNpbmcsXG4gICRjb3VudDogbnVsbFxuKSB7XG4gIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogLSRzcGFjaW5nO1xuXG4gICAgJjo6YmVmb3JlLFxuICAgICY6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgI3skc2VsZWN0b3J9IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIC8vIE9uZSBjaGlsZFxuICAgICAgJjpmaXJzdC1jaGlsZDpsYXN0LWNoaWxkIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgIC8vIFR3byBvciBtb3JlIGNoaWxkcmVlblxuICAgICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYnV0dG9uZ3JvdXAtZXhwYW5kLW1heCB7XG4gICAgICAgICY6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoI3skaX0pIHtcbiAgICAgICAgICAmLCAmOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKCN7JGl9KSB+ICN7JHNlbGVjdG9yfSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygje3BlcmNlbnRhZ2UoMSAvICRpKX0gLSAjeyRzcGFjaW5nfSk7XG4gICAgICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmc7XG5cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkc3BhY2luZyAqIC0kYnV0dG9uZ3JvdXAtZXhwYW5kLW1heDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIFN0YWNrcyB0aGUgYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSB0aGUgYnV0dG9uIGdyb3VwLlxuQG1peGluIGJ1dHRvbi1ncm91cC1zdGFjayhcbiAgJHNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3Jcbikge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cblxuICAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuXG4gICAgQGlmIG5vdCAkYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2gge1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcblxuICAgICAgJjpmaXJzdC1jaGlsZHtcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgfVxuICAgIH1cblxuICB9XG59XG5cbi8vLyBVbi1zdGFja3MgdGhlIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgdGhlIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAtdW5zdGFjayhcbiAgJHNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3Jcbikge1xuICAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICBAaWYgbm90ICRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaCB7XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tYnV0dG9uLWdyb3VwIHtcbiAgLmJ1dHRvbi1ncm91cCB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwO1xuXG4gICAgLy8gU2l6ZXNcbiAgICBAZWFjaCAkc2l6ZSwgJHZhbHVlIGluIG1hcC1yZW1vdmUoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCkge1xuICAgICAgJi4jeyRzaXplfSAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICBmb250LXNpemU6ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBFdmVuLXdpZHRoIEdyb3VwXG4gICAgJi5leHBhbmRlZCB7IEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1leHBhbmQ7IH1cblxuICAgIC8vIENvbG9yc1xuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSB7XG4gICAgICBAaWYgJGJ1dHRvbi1maWxsICE9IGhvbGxvdyB7XG4gICAgICAgICYuI3skbmFtZX0gI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGNvbG9yLCBhdXRvLCBhdXRvKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICAmLiN7JG5hbWV9ICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdztcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRjb2xvcik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YWNrZWQsXG4gICAgJi5zdGFja2VkLWZvci1zbWFsbCxcbiAgICAmLnN0YWNrZWQtZm9yLW1lZGl1bSB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtc3RhY2s7XG4gICAgfVxuXG4gICAgJi5zdGFja2VkLWZvci1zbWFsbCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtdW5zdGFjaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YWNrZWQtZm9yLW1lZGl1bSB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC11bnN0YWNrO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuc3RhY2tlZC1mb3Itc21hbGwuZXhwYW5kZWQgeyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIGZvcmNlLWVsZW1lbnQtbmVzdGluZ1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGNhbGxvdXRcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvci5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmYWRlIHZhbHVlIGZvciBjYWxsb3V0IGJhY2tncm91bmRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGNhbGxvdXQtYmFja2dyb3VuZC1mYWRlOiA4NSUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBzdHlsZSBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgTGlzdFxuJGNhbGxvdXQtYm9yZGVyOiAxcHggc29saWQgcmdiYSgkYmxhY2ssIDAuMjUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjYWxsb3V0LW1hcmdpbjogMCAwIDFyZW0gMCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgaW5uZXIgcGFkZGluZyBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2FsbG91dC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgY2FsbG91dHMsIGlmIHRoZSBjYWxsb3V0IGhhcyBhIGRhcmsgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtZm9udC1jb2xvci1hbHQ6ICRib2R5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciByYWRpdXMgZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQW1vdW50IHRvIHRpbnQgbGlua3MgdXNlZCB3aXRoaW4gY29sb3JlZCBwYW5lbHMuIFNldCB0byBgZmFsc2VgIHRvIGRpc2FibGUgdGhpcyBmZWF0dXJlLlxuLy8vIEB0eXBlIE51bWJlciB8IEJvb2xlYW5cbiRjYWxsb3V0LWxpbmstdGludDogMzAlICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBiYXNpYyBzdHlsZXMgZm9yIGEgY2FsbG91dCwgaW5jbHVkaW5nIHBhZGRpbmcgYW5kIG1hcmdpbi5cbkBtaXhpbiBjYWxsb3V0LWJhc2UoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAkY2FsbG91dC1tYXJnaW47XG4gIHBhZGRpbmc6ICRjYWxsb3V0LXBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkY2FsbG91dC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRjYWxsb3V0LXJhZGl1cztcblxuICAvLyBSZXNwZWN0IHRoZSBwYWRkaW5nLCBmb29sLlxuICA+IDpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuXG4gID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEdlbmVyYXRlIHF1aWNrIHN0eWxlcyBmb3IgYSBjYWxsb3V0IHVzaW5nIGEgc2luZ2xlIGNvbG9yIGFzIGEgYmFzZWxpbmUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskY2FsbG91dC1iYWNrZ3JvdW5kXSAtIENvbG9yIHRvIHVzZS5cbkBtaXhpbiBjYWxsb3V0LXN0eWxlKCRjb2xvcjogJGNhbGxvdXQtYmFja2dyb3VuZCkge1xuICAkYmFja2dyb3VuZDogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkY2FsbG91dC1iYWNrZ3JvdW5kLWZhZGUpO1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkYmFja2dyb3VuZCwgKCRjYWxsb3V0LWZvbnQtY29sb3IsICRjYWxsb3V0LWZvbnQtY29sb3ItYWx0KSk7XG59XG5cbkBtaXhpbiBjYWxsb3V0LXNpemUoJHBhZGRpbmcpIHtcbiAgcGFkZGluZy10b3A6ICRwYWRkaW5nO1xuICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZztcbiAgcGFkZGluZy1ib3R0b206ICRwYWRkaW5nO1xuICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nO1xufVxuXG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjYWxsb3V0LlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGNhbGxvdXQtYmFja2dyb3VuZF0gLSBDb2xvciB0byB1c2UuXG5AbWl4aW4gY2FsbG91dCgkY29sb3I6ICRjYWxsb3V0LWJhY2tncm91bmQpIHtcbiAgQGluY2x1ZGUgY2FsbG91dC1iYXNlO1xuICBAaW5jbHVkZSBjYWxsb3V0LXN0eWxlKCRjb2xvcik7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWNhbGxvdXQge1xuICAuY2FsbG91dCB7XG4gICAgQGluY2x1ZGUgY2FsbG91dDtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgQGluY2x1ZGUgY2FsbG91dC1zdHlsZSgkY29sb3IpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuc21hbGwge1xuICAgICAgQGluY2x1ZGUgY2FsbG91dC1zaXplKDAuNXJlbSk7XG4gICAgfVxuXG4gICAgJi5sYXJnZSB7XG4gICAgICBAaW5jbHVkZSBjYWxsb3V0LXNpemUoM3JlbSk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBjYXJkXG4vLy8vXG5cbi8vLyBEZWZ1YWx0IGJhY2tncm91bmQgY29sb3IuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYXJkLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgY2FyZHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYXJkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYXJkLWRpdmlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBzdHlsZS5cbi8vLyBAdHlwZSBMaXN0XG4kY2FyZC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY2FyZCBzaGFkb3cuXG4vLy8gQHR5cGUgTGlzdFxuJGNhcmQtc2hhZG93OiBub25lICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgcmFkaXVzLlxuLy8vIEB0eXBlIExpc3RcbiRjYXJkLWJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nLlxuLy8vIEB0eXBlIE51bWJlclxuJGNhcmQtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luLlxuLy8vIEB0eXBlIG51bWJlclxuJGNhcmQtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjYXJkIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGNhcmQuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gZm9udCBjb2xvciBvZiB0aGUgY2FyZC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1hcmdpbiAtIEJvdHRvbSBtYXJnaW4gb2YgdGhlIGNhcmQuXG4vLy8gQHBhcmFtIHtMaXN0fSAkYm9yZGVyIC0gQm9yZGVyIGFyb3VuZCB0aGUgY2FyZC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRyYWRpdXMgLSBib3JkZXIgcmFkaXVzIG9mIHRoZSBjYXJkLlxuLy8vIEBwYXJhbSB7TGlzdH0gJHNoYWRvdyAtIGJveCBzaGFkb3cgb2YgdGhlIGNhcmQuXG5AbWl4aW4gY2FyZC1jb250YWluZXIoXG4gICRiYWNrZ3JvdW5kOiAkY2FyZC1iYWNrZ3JvdW5kLFxuICAkY29sb3I6ICRjYXJkLWZvbnQtY29sb3IsXG4gICRtYXJnaW46ICRjYXJkLW1hcmdpbi1ib3R0b20sXG4gICRib3JkZXI6ICRjYXJkLWJvcmRlcixcbiAgJHJhZGl1czogJGNhcmQtYm9yZGVyLXJhZGl1cyxcbiAgJHNoYWRvdzogJGNhcmQtc2hhZG93XG4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgfVxuXG4gIG1hcmdpbi1ib3R0b206ICRtYXJnaW47XG5cbiAgYm9yZGVyOiAkYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuXG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICBib3gtc2hhZG93OiAkc2hhZG93O1xuXG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgJiA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjYXJkIGRpdmlkZXIuXG5AbWl4aW4gY2FyZC1kaXZpZGVyKFxuICAkYmFja2dyb3VuZDogJGNhcmQtZGl2aWRlci1iYWNrZ3JvdW5kLFxuICAkcGFkZGluZzogJGNhcmQtcGFkZGluZ1xuKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cblxuICBwYWRkaW5nOiAkcGFkZGluZztcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG5cbiAgJiA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjYXJkIHNlY3Rpb24uXG5AbWl4aW4gY2FyZC1zZWN0aW9uKFxuICAkcGFkZGluZzogJGNhcmQtcGFkZGluZ1xuKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXg6IDEgMCBhdXRvO1xuICB9XG5cbiAgcGFkZGluZzogJHBhZGRpbmc7XG5cbiAgJiA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWNhcmQge1xuICAuY2FyZCB7XG4gICAgQGluY2x1ZGUgY2FyZC1jb250YWluZXI7XG4gIH1cblxuICAuY2FyZC1kaXZpZGVyIHtcbiAgICBAaW5jbHVkZSBjYXJkLWRpdmlkZXI7XG4gIH1cblxuICAuY2FyZC1zZWN0aW9uIHtcbiAgICBAaW5jbHVkZSBjYXJkLXNlY3Rpb247XG4gIH1cblxuICAvLyBGb3IgSUUgMTEgLSBGbGV4YnVnXG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9waGlsaXB3YWx0b24vZmxleGJ1Z3MvaXNzdWVzLzc1XG4gIC5jYXJkLWltYWdlIHtcbiAgICBtaW4taGVpZ2h0OiAxcHg7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGNsb3NlLWJ1dHRvblxuLy8vL1xuXG4vLy8gRGVmYXVsdCBwb3NpdGlvbiBvZiB0aGUgY2xvc2UgYnV0dG9uLiBUaGUgZmlyc3QgdmFsdWUgc2hvdWxkIGJlIGByaWdodGAgb3IgYGxlZnRgLCBhbmQgdGhlIHNlY29uZCB2YWx1ZSBzaG91bGQgYmUgYHRvcGAgb3IgYGJvdHRvbWAuXG4vLy8gQHR5cGUgTGlzdFxuJGNsb3NlYnV0dG9uLXBvc2l0aW9uOiByaWdodCB0b3AgIWRlZmF1bHQ7XG5cbi8vLyBSaWdodCAob3IgbGVmdCkgb2Zmc2V0KHMpIGZvciBhIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBOdW1iZXJ8TWFwXG4kY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWw6IChcbiAgc21hbGw6IDAuNjZyZW0sXG4gIG1lZGl1bTogMXJlbSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBUb3AgKG9yIGJvdHRvbSkgb2Zmc2V0KHMpIGZvciBhIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBOdW1iZXJ8TWFwXG4kY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsOiAoXG4gIHNtYWxsOiAwLjMzZW0sXG4gIG1lZGl1bTogMC41cmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplKHMpIG9mIHRoZSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgTnVtYmVyfE1hcFxuJGNsb3NlYnV0dG9uLXNpemU6IChcbiAgc21hbGw6IDEuNWVtLFxuICBtZWRpdW06IDJlbSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgbGluZS1oZWlnaHQgb2YgdGhlIGNsb3NlIGJ1dHRvbi4gSXQgYWZmZWN0cyB0aGUgc3BhY2luZyBvZiB0aGUgZWxlbWVudC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjbG9zZWJ1dHRvbi1saW5laGVpZ2h0OiAxICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIENvbG9yXG4kY2xvc2VidXR0b24tY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSBjbG9zZSBidXR0b24gd2hlbiBiZWluZyBob3ZlcmVkIG9uLlxuLy8vIEB0eXBlIENvbG9yXG4kY2xvc2VidXR0b24tY29sb3ItaG92ZXI6ICRibGFjayAhZGVmYXVsdDtcblxuXG4vLy8gR2V0IHRoZSBzaXplIGFuZCBwb3NpdGlvbiBmb3IgYSBjbG9zZSBidXR0b24uIElmIHRoZSBpbnB1dCB2YWx1ZSBpcyBhIG51bWJlciwgdGhlIG51bWJlciBpcyByZXR1cm5lZC4gSWYgdGhlIGlucHV0IHZhbHVlIGlzIGEgY29uZmlnIG1hcCBhbmQgdGhlIG1hcCBoYXMgdGhlIGtleSBgJHNpemVgLCB0aGUgdmFsdWUgaXMgcmV0dXJuZWQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICR2YWx1ZSAtIEEgbnVtYmVyIG9yIG1hcCB0aGF0IHJlcHJlc2VudHMgdGhlIHNpemUgb3IgcG9zaXRpb24gdmFsdWUocykgb2YgdGhlIGNsb3NlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gVGhlIHNpemUgb2YgdGhlIGNsb3NlIGJ1dHRvbiB0byB1c2UuXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IFRoZSBnaXZlbiBudW1iZXIgb3IgdGhlIHZhbHVlIGZvdW5kIGluIHRoZSBtYXAuXG5AZnVuY3Rpb24gLXpmLWdldC1zaXplLXZhbCgkdmFsdWUsICRzaXplKSB7XG4gIC8vIENoZWNrIGlmIHRoZSB2YWx1ZSBpcyBhIG51bWJlclxuICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdudW1iZXInIHtcbiAgICAvLyBJZiBpdCBpcywganVzdCByZXR1cm4gdGhlIG51bWJlclxuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG5cbiAgLy8gQ2hlY2sgaWYgdGhlIHNpemUgbmFtZSBleGlzdHMgaW4gdGhlIHZhbHVlIG1hcFxuICBAZWxzZSBpZiBtYXAtaGFzLWtleSgkdmFsdWUsICRzaXplKSB7XG4gICAgLy8gSWYgaXQgZG9lcywgcmV0dXJuIHRoZSB2YWx1ZVxuICAgIEByZXR1cm4gbWFwLWdldCgkdmFsdWUsICRzaXplKTtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgc2l6ZSBhbmQgcG9zaXRpb24gb2YgYSBjbG9zZSBidXR0b24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSBbbWVkaXVtXSAtIFRoZSBzaXplIHRvIHVzZS4gU2V0IHRvIGBzbWFsbGAgdG8gY3JlYXRlIGEgc21hbGwgY2xvc2UgYnV0dG9uLiBUaGUgJ21lZGl1bScgdmFsdWVzIGRlZmluZWQgaW4gYCRjbG9zZWJ1dHRvbi0qYCB2YXJpYWJsZXMgd2lsbCBiZSB1c2VkIGFzIHRoZSBkZWZhdWx0IHNpemUgYW5kIHBvc2l0aW9uIG9mIHRoZSBjbG9zZSBidXR0b24uXG5AbWl4aW4gY2xvc2UtYnV0dG9uLXNpemUoJHNpemUpIHtcbiAgJHg6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDEpO1xuICAkeTogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMik7XG5cbiAgI3skeH06IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLW9mZnNldC1ob3Jpem9udGFsLCAkc2l6ZSk7XG4gICN7JHl9OiAtemYtZ2V0LXNpemUtdmFsKCRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWwsICRzaXplKTtcbiAgZm9udC1zaXplOiAtemYtZ2V0LXNpemUtdmFsKCRjbG9zZWJ1dHRvbi1zaXplLCAkc2l6ZSk7XG4gIGxpbmUtaGVpZ2h0OiAtemYtZ2V0LXNpemUtdmFsKCRjbG9zZWJ1dHRvbi1saW5laGVpZ2h0LCAkc2l6ZSk7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjbG9zZSBidXR0b24sIHVzaW5nIHRoZSBzdHlsZXMgaW4gdGhlIHNldHRpbmdzIHZhcmlhYmxlcy5cbkBtaXhpbiBjbG9zZS1idXR0b24ge1xuICAkeDogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMSk7XG4gICR5OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAyKTtcblxuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29sb3I6ICRjbG9zZWJ1dHRvbi1jb2xvcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkY2xvc2VidXR0b24tY29sb3ItaG92ZXI7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tY2xvc2UtYnV0dG9uIHtcbiAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgY2xvc2UtYnV0dG9uO1xuXG4gICAgJi5zbWFsbCB7IEBpbmNsdWRlIGNsb3NlLWJ1dHRvbi1zaXplKHNtYWxsKSB9XG4gICAgJiwgJi5tZWRpdW0geyBAaW5jbHVkZSBjbG9zZS1idXR0b24tc2l6ZShtZWRpdW0pIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgbWVudVxuLy8vL1xuXG4vLy8gTWFyZ2luIG9mIGEgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LW1hcmdpbjogMCAhZGVmYXVsdDtcblxuLy8vIExlZnQtaGFuZCBtYXJnaW4gb2YgYSBuZXN0ZWQgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LW5lc3RlZC1tYXJnaW46ICRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBmb3IgaXRlbXMgaW4gYSBwaWxsIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1pdGVtcy1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIG1hcmdpbiBmb3IgaXRlbXMgaW4gYSBzaW1wbGUgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LXNpbXBsZS1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGFuIGFjdGl2ZSBtZW51IGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRtZW51LWl0ZW0tY29sb3ItYWN0aXZlOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIGFjdGl2ZSBtZW51IGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IGdldC1jb2xvcihwcmltYXJ5KSAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiBhbiBpY29uIGFuZCB0ZXh0IGluIGEgbWVudSBpdGVtLlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtaWNvbi1zcGFjaW5nOiAwLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgYW4gaG92ZXJlZCBtZW51IGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrd2FyZCBjb21wYXRpYmlsaXR5IGZvciBtZW51IHN0YXRlLiBJZiB0cnVlLCB0aGlzIGR1cGxpY2F0ZSBgYWN0aXZlYCB3aXRoIGBpcy1hY3RpdmVgLiBcbi8vLyBCdXQgcGxlYXNlIG5vdGUgdGhhdCBgYWN0aXZlYCB3aWxsIGJlIHJlbW92ZWQgaW4gdXBjb21pbmcgdmVyc2lvbnMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJG1lbnUtc3RhdGUtYmFjay1jb21wYXQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrd2FyZCBjb21wYXRpYmlsaXR5IGZvciBtZW51IGNlbnRlcmVkLiBJZiB0cnVlLCB0aGlzIGR1cGxpY2F0ZSBgLm1lbnUtY2VudGVyZWQgPiAubWVudWAgd2l0aCBgLm1lbnUuYWxpZ24tY2VudGVyYC4gXG4vLy8gQnV0IHBsZWFzZSBub3RlIHRoYXQgYG1lbnUtY2VudGVyZWRgIHdpbGwgYmUgcmVtb3ZlZCBpbiB1cGNvbWluZyB2ZXJzaW9ucy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kbWVudS1jZW50ZXJlZC1iYWNrLWNvbXBhdDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2t3YXJkIGNvbXBhdGliaWxpdHkgZm9yIHVzaW5nIGBpY29uLSpgIGNsYXNzZXMgd2l0aG91dCBgLmljb25zYCBjbGFzc2VzXG4vLy8gQnV0IHBsZWFzZSBub3RlIHRoYXQgdGhpcyBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IHdpbGwgYmUgcmVtb3ZlZCBpbiB1cGNvbWluZyB2ZXJzaW9ucy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kbWVudS1pY29ucy1iYWNrLWNvbXBhdDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIENyZWF0ZXMgdGhlIGJhc2Ugc3R5bGVzIGZvciBhIE1lbnUuXG5AbWl4aW4gbWVudS1iYXNlIHtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cblxuICBsaSB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICB9XG5cbiAgYSxcbiAgLmJ1dHRvbiB7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6ICRtZW51LWl0ZW1zLXBhZGRpbmc7XG4gIH1cblxuICAvLyBSZXNldCBzdHlsZXMgb2YgaW5uZXIgZWxlbWVudHNcbiAgaW5wdXQsXG4gIHNlbGVjdCxcbiAgYSxcbiAgYnV0dG9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgaW5wdXQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxufVxuXG4vLy8gRXhwYW5kcyB0aGUgaXRlbXMgb2YgYSBNZW51LCBzbyBlYWNoIGl0ZW0gaXMgdGhlIHNhbWUgd2lkdGguXG5AbWl4aW4gbWVudS1leHBhbmQge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBsaSB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICA+IGxpIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWxpZ24gbWVudSBpdGVtcy5cbkBtaXhpbiBtZW51LWFsaWduKCRhbGlnbm1lbnQpIHtcbiAgQGlmICRhbGlnbm1lbnQgPT0gbGVmdCB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtbGVmdDtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGFsaWdubWVudCA9PSByaWdodCB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cbiAgICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLnZlcnRpY2FsIGxpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtcmlnaHQ7XG5cbiAgICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtcmlnaHQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1yaWdodDtcblxuICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLWxlZnQ7XG4gICAgICB9XG5cbiAgICAgICYudmVydGljYWwge1xuICAgICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1yaWdodDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkYWxpZ25tZW50ID09IGNlbnRlciB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtbGVmdDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIGRpcmVjdGlvbiBvZiBhIE1lbnUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIFtob3Jpem9udGFsXSAtIERpcmVjdGlvbiBvZiB0aGUgTWVudS4gQ2FuIGJlIGBob3Jpem9udGFsYCBvciBgdmVydGljYWxgLlxuQG1peGluIG1lbnUtZGlyZWN0aW9uKCRkaXI6IGhvcml6b250YWwpIHtcbiAgQGlmICRkaXIgPT0gaG9yaXpvbnRhbCB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGRpciA9PSB2ZXJ0aWNhbCB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAd2FybiAnVGhlIGRpcmVjdGlvbiB1c2VkIGZvciBtZW51LWRpcmVjdGlvbigpIG11c3QgYmUgaG9yaXpvbnRhbCBvciB2ZXJ0aWNhbC4nO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgc2ltcGxlIE1lbnUsIHdoaWNoIGhhcyBubyBwYWRkaW5nIG9yIGhvdmVyIHN0YXRlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciBbJGdsb2JhbC1sZWZ0XSAtIERpcmVjdGlvbiBvZiB0aGUgbWVudS4gVGhpcyBlZmZlY3RzIHRoZSBzaWRlIG9mIHRoZSBgPGxpPmAgdGhhdCByZWNlaXZlcyB0aGUgbWFyZ2luLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWFyZ2luIFskbWVudS1zaW1wbGUtbWFyZ2luXSAtIFRoZSBtYXJnaW4gdG8gYXBwbHkgdG8gZWFjaCBgPGxpPmAuXG5AbWl4aW4gbWVudS1zaW1wbGUoJGRpcjogJGdsb2JhbC1sZWZ0LCAkbWFyZ2luOiAkbWVudS1zaW1wbGUtbWFyZ2luKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cblxuICBsaSArIGxpIHtcbiAgICBtYXJnaW4tI3skZGlyfTogJG1hcmdpbjtcbiAgfVxuXG4gIGEge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIG5lc3RlZCBNZW51LCBieSBhZGRpbmcgYG1hcmdpbi1sZWZ0YCB0byB0aGUgbWVudS5cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkbWFyZ2luIFskbWVudS1uZXN0ZWQtbWFyZ2luXSAtIExlbmd0aCBvZiB0aGUgbWFyZ2luLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJG5lc3RlZC1hbGlnbm1lbnQgW2xlZnRdIC0gQWxpZ25tZW50IG9mIHRoZSBuZXN0ZWQgY2xhc3NcbkBtaXhpbiBtZW51LW5lc3RlZChcbiAgJG1hcmdpbjogJG1lbnUtbmVzdGVkLW1hcmdpbixcbiAgJG5lc3RlZC1hbGlnbm1lbnQ6IGxlZnRcbikge1xuICBAaWYgJG5lc3RlZC1hbGlnbm1lbnQgPT0gcmlnaHQge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkbWFyZ2luO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gIH1cbiAgQGVsc2Uge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRtYXJnaW47XG4gIH1cblxufVxuXG4vLy8gQWRkcyBiYXNpYyBzdHlsZXMgZm9yIGljb25zIGluIG1lbnVzLlxuQG1peGluIG1lbnUtaWNvbnMoKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGEge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIGltZyxcbiAgICBpLFxuICAgIHN2ZyB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgICArIHNwYW4ge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBwb3NpdGlvbiBjbGFzc2VzIGZvciBpY29ucyB3aXRoaW4gYSBtZW51LlxuQG1peGluIG1lbnUtaWNvbi1wb3NpdGlvbigkcG9zaXRpb246IGxlZnQsICRzcGFjaW5nOiAkbWVudS1pY29uLXNwYWNpbmcpIHtcbiAgQGlmICRwb3NpdGlvbiA9PSBsZWZ0IHtcbiAgICBsaSBhIHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICB9XG5cbiAgICAgIGltZyxcbiAgICAgIGksXG4gICAgICBzdmcge1xuICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmc7XG5cbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gcmlnaHQge1xuICAgIGxpIGEge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgIH1cblxuICAgICAgaW1nLFxuICAgICAgaSxcbiAgICAgIHN2ZyB7XG4gICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRzcGFjaW5nO1xuXG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHRvcCB7XG4gICAgbGkgYSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG5cbiAgICAgIGltZyxcbiAgICAgIGksXG4gICAgICBzdmcge1xuICAgICAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luOiAwIGF1dG8gJHNwYWNpbmc7XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmc7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSBib3R0b20ge1xuICAgIGxpIGEge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICBpLFxuICAgICAgc3ZnIHtcbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbjogJHNwYWNpbmcgYXV0byAwO1xuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWVudS10ZXh0IHtcbiAgcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XG5cbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogaW5oZXJpdDtcbn1cblxuQG1peGluIG1lbnUtc3RhdGUtYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgY29sb3I6ICRtZW51LWl0ZW0tY29sb3ItYWN0aXZlO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1tZW51IHtcbiAgLm1lbnUge1xuICAgIEBpbmNsdWRlIG1lbnUtYmFzZTtcblxuICAgIC8vIERlZmF1bHQgb3JpZW50YXRpb246IGhvcml6b250YWxcbiAgICAmLCAmLmhvcml6b250YWwge1xuICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG4gICAgfVxuXG4gICAgLy8gVmVydGljYWwgb3JpZW50YXRpb24gbW9kaWZpZXJcbiAgICAmLnZlcnRpY2FsIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICB9XG5cbiAgICAvLyBFdmVuLXdpZHRoIG1vZGlmaWVyIGZvciBob3Jpem9udGFsIG9yaWVudGF0aW9uXG4gICAgJi5leHBhbmRlZCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWV4cGFuZDtcbiAgICB9XG5cbiAgICAvLyBTaW1wbGVcbiAgICAmLnNpbXBsZSB7XG4gICAgICBAaW5jbHVkZSBtZW51LXNpbXBsZTtcbiAgICB9XG5cbiAgICAvLyBCcmVha3BvaW50IHNwZWNpZmljIHZlcnNpb25zXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgkc21hbGw6IGZhbHNlKSB7XG4gICAgICAmLiN7JC16Zi1zaXplfS1ob3Jpem9udGFsIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG4gICAgICB9XG5cbiAgICAgICYuI3skLXpmLXNpemV9LXZlcnRpY2FsIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgICAgfVxuXG4gICAgICAmLiN7JC16Zi1zaXplfS1leHBhbmRlZCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtZXhwYW5kO1xuICAgICAgfVxuXG4gICAgICAmLiN7JC16Zi1zaXplfS1zaW1wbGUge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWV4cGFuZDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBOZXN0aW5nXG4gICAgJi5uZXN0ZWQge1xuICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQ7XG4gICAgfVxuXG4gICAgLy8gSWNvbiBCYXNlIFN0eWxlc1xuICAgICYuaWNvbnMge1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29ucztcbiAgICB9XG5cbiAgICAvLyBCYWNrd2FyZCBDb21wYXRpYmlsaXR5IGZvciBhY3RpdmUgc3RhdGVcbiAgICBAaWYgJG1lbnUtaWNvbnMtYmFjay1jb21wYXQge1xuICAgICAgJi5pY29uLXRvcCxcbiAgICAgICYuaWNvbi1yaWdodCxcbiAgICAgICYuaWNvbi1ib3R0b20sXG4gICAgICAmLmljb24tbGVmdCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbnM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSWNvbiBMZWZ0XG4gICAgJi5pY29uLWxlZnQge1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29uLXBvc2l0aW9uKGxlZnQpO1xuICAgIH1cblxuICAgIC8vIEljb24gUmlnaHRcbiAgICAmLmljb24tcmlnaHQge1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29uLXBvc2l0aW9uKHJpZ2h0KTtcbiAgICB9XG5cbiAgICAvLyBJY29uIFRvcFxuICAgICYuaWNvbi10b3Age1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29uLXBvc2l0aW9uKHRvcCk7XG4gICAgfVxuXG4gICAgLy8gSWNvbiBCb3R0b21cbiAgICAmLmljb24tYm90dG9tIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1wb3NpdGlvbihib3R0b20pO1xuICAgIH1cblxuICAgIC8vIEFjdGl2ZSBzdGF0ZVxuICAgIC5pcy1hY3RpdmUgPiBhIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtc3RhdGUtYWN0aXZlO1xuICAgIH1cbiAgICBcbiAgICAvLyBCYWNrd2FyZCBDb21wYXRpYmlsaXR5IGZvciBhY3RpdmUgc3RhdGVcbiAgICBAaWYgJG1lbnUtc3RhdGUtYmFjay1jb21wYXQge1xuICAgICAgLmFjdGl2ZSA+IGEge1xuICAgICAgICBAaW5jbHVkZSBtZW51LXN0YXRlLWFjdGl2ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBBbGlnbiBsZWZ0XG4gICAgJi5hbGlnbi0jeyRnbG9iYWwtbGVmdH0ge1xuICAgICAgQGluY2x1ZGUgbWVudS1hbGlnbihsZWZ0KTtcbiAgICB9XG5cbiAgICAvLyBBbGlnbiByaWdodFxuICAgICYuYWxpZ24tI3skZ2xvYmFsLXJpZ2h0fSB7XG4gICAgICBAaW5jbHVkZSBtZW51LWFsaWduKHJpZ2h0KTtcblxuICAgICAgLm5lc3RlZCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRuZXN0ZWQtYWxpZ25tZW50OiByaWdodCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQWxpZ24gY2VudGVyXG4gICAgJi5hbGlnbi1jZW50ZXIge1xuICAgICAgQGluY2x1ZGUgbWVudS1hbGlnbihjZW50ZXIpO1xuICAgIH1cblxuICAgIC5tZW51LXRleHQge1xuICAgICAgQGluY2x1ZGUgbWVudS10ZXh0O1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkbWVudS1jZW50ZXJlZC1iYWNrLWNvbXBhdCB7XG4gICAgLm1lbnUtY2VudGVyZWQge1xuICAgICAgPiAubWVudSB7XG4gICAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICBAaW5jbHVkZSBtZW51LWFsaWduKGNlbnRlcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUHJldmVudCBGT1VDIHdoZW4gdXNpbmcgdGhlIFJlc3BvbnNpdmUgTWVudSBwbHVnaW5cbiAgLm5vLWpzIFtkYXRhLXJlc3BvbnNpdmUtbWVudV0gdWwge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGRyaWxsZG93blxuLy8vL1xuXG4vLy8gVHJhbnNpdGlvbiBwcm9wZXJ0eSB0byB1c2UgZm9yIGFuaW1hdGluZyBtZW51cy5cbi8vLyBAdHlwZSBUcmFuc2l0aW9uXG4kZHJpbGxkb3duLXRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBsaW5lYXIgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIGFycm93cyB0byBkcmlsbGRvd24gaXRlbXMgd2l0aCBzdWJtZW51cywgYXMgd2VsbCBhcyB0aGUgYmFjayBidXR0b24uXG4vLy8gQHR5cGUgQm9vbGVhblxuJGRyaWxsZG93bi1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyaWxsZG93biBtZW51IGl0ZW0gcGFkZGluZy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcmlsbGRvd24tcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyaWxsZG93biBtZW51IG5lc3RlZCBtYXJnaW5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcmlsbGRvd24tbmVzdGVkLW1hcmdpbjogMCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGRyaWxsZG93biB0b3AgbGV2ZWwgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcmlsbGRvd24tYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcmlsbGRvd24gbWVudSBpdGVtIHBhZGRpbmcgaW4gdGhlIHN1Ym1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJpbGxkb3duLXN1Ym1lbnUtcGFkZGluZzogJGRyaWxsZG93bi1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgZHJpbGxkb3duIHN1Ym1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJpbGxkb3duLXN1Ym1lbnUtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcmlsbGRvd24gYXJyb3cgY29sb3IgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBDb2xvclxuJGRyaWxsZG93bi1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyaWxsZG93biBhcnJvdyBzaXplIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kZHJpbGxkb3duLWFycm93LXNpemU6IDZweCAhZGVmYXVsdDtcblxuQG1peGluIHpmLWRyaWxsZG93bi1sZWZ0LXJpZ2h0LWFycm93cyB7XG4gIC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBtYXJnaW4tdG9wOiAtMSAqICRkcmlsbGRvd24tYXJyb3ctc2l6ZTtcbiAgICAgICN7JGdsb2JhbC1yaWdodH06IDFyZW07XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyaWxsZG93bi1hcnJvdy1zaXplLCAkZHJpbGxkb3duLWFycm93LWNvbG9yLCAkZ2xvYmFsLXJpZ2h0KTtcbiAgICB9XG4gIH1cblxuICAmLmFsaWduLWxlZnQgLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAxcmVtO1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJvcGRvd25tZW51LWFycm93LXNpemUsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIHJpZ2h0KTtcbiAgfVxuXG4gICYuYWxpZ24tcmlnaHQgLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxcmVtO1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJvcGRvd25tZW51LWFycm93LXNpemUsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIGxlZnQpO1xuICB9XG5cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZHJpbGxkb3duLW1lbnUge1xuICAvLyBBcHBsaWVkIHRvIHRoZSBNZW51IGNvbnRhaW5lclxuICAuaXMtZHJpbGxkb3duIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIGxpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgICYuYW5pbWF0ZS1oZWlnaHQge1xuICAgICAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuNXM7XG4gICAgfVxuICB9XG5cbiAgLy8gVGhlIHRvcCBsZXZlbCA8dWw+XG4gIC5kcmlsbGRvd24ge1xuICAgIGEge1xuICAgICAgcGFkZGluZzogJGRyaWxsZG93bi1wYWRkaW5nO1xuICAgICAgYmFja2dyb3VuZDogJGRyaWxsZG93bi1iYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgIC8vIEFwcGxpZWQgdG8gc3VibWVudSA8dWw+c1xuICAgIC5pcy1kcmlsbGRvd24tc3VibWVudSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICAjeyRnbG9iYWwtbGVmdH06IDEwMCU7XG4gICAgICB6LWluZGV4OiAtMTtcblxuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kOiAkZHJpbGxkb3duLXN1Ym1lbnUtYmFja2dyb3VuZDtcbiAgICAgIHRyYW5zaXRpb246ICRkcmlsbGRvd24tdHJhbnNpdGlvbjtcblxuICAgICAgJi5pcy1hY3RpdmUge1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gbHRyLCAtMTAwJSwgMTAwJSkpO1xuICAgICAgfVxuXG4gICAgICAmLmlzLWNsb3Npbmcge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBsdHIsIDEwMCUsIC0xMDAlKSk7XG4gICAgICB9XG5cbiAgICAgIC8vIFN1Ym1lbnUgaXRlbSBwYWRkaW5nXG4gICAgICBhIHtcbiAgICAgICAgcGFkZGluZzogJGRyaWxsZG93bi1zdWJtZW51LXBhZGRpbmc7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm5lc3RlZC5pcy1kcmlsbGRvd24tc3VibWVudSB7XG4gICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZCgkZHJpbGxkb3duLW5lc3RlZC1tYXJnaW4pO1xuICAgIH1cblxuICAgIC5kcmlsbGRvd24tc3VibWVudS1jb3Zlci1wcmV2aW91cyB7XG4gICAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIEBpZiAkZHJpbGxkb3duLWFycm93cyB7XG4gICAgICBAaW5jbHVkZSB6Zi1kcmlsbGRvd24tbGVmdC1yaWdodC1hcnJvd3M7XG5cbiAgICAgIC5qcy1kcmlsbGRvd24tYmFjayA+IGE6OmJlZm9yZSB7XG4gICAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJpbGxkb3duLWFycm93LXNpemUsICRkcmlsbGRvd24tYXJyb3ctY29sb3IsICRnbG9iYWwtbGVmdCk7XG4gICAgICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH0td2lkdGg6IDA7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDAuNzVyZW07IC8vIENyZWF0ZXMgc3BhY2UgYmV0d2VlbiB0aGUgYXJyb3cgYW5kIHRoZSB0ZXh0XG5cbiAgICAgICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fS13aWR0aDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGRyb3Bkb3duXG4vLy8vXG5cbi8vLyBQYWRkaW5nIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBMaXN0XG4kZHJvcGRvd24tcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd24tYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTGlzdFxuJGRyb3Bkb3duLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTGlzdFxuJGRyb3Bkb3duLWZvbnQtc2l6ZTogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFdpZHRoIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bi13aWR0aDogMzAwcHggIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3duLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBTaXplcyBmb3IgZHJvcGRvd24gcGFuZXMuIEVhY2ggc2l6ZSBpcyBhIENTUyBjbGFzcyB5b3UgY2FuIGFwcGx5LlxuLy8vIEB0eXBlIE1hcFxuJGRyb3Bkb3duLXNpemVzOiAoXG4gIHRpbnk6IDEwMHB4LFxuICBzbWFsbDogMjAwcHgsXG4gIGxhcmdlOiA0MDBweCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBBcHBsaWVzIHN0eWxlcyBmb3IgYSBiYXNpYyBkcm9wZG93bi5cbkBtaXhpbiBkcm9wZG93bi1jb250YWluZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEwO1xuXG4gIHdpZHRoOiAkZHJvcGRvd24td2lkdGg7XG4gIHBhZGRpbmc6ICRkcm9wZG93bi1wYWRkaW5nO1xuXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgZGlzcGxheTogbm9uZTtcbiAgYm9yZGVyOiAkZHJvcGRvd24tYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkZHJvcGRvd24tcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZHJvcGRvd24tYmFja2dyb3VuZDtcblxuICBmb250LXNpemU6ICRkcm9wZG93bi1mb250LXNpemU7XG5cblxuICAvLyBBbGxvdyBhbiBpbnRlcm1pdHRlbnQgc3RhdGUgdG8gZG8gcG9zaXRpb25pbmcgYmVmb3JlIG1ha2luZyB2aXNpYmxlLlxuICAmLmlzLW9wZW5pbmcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgJi5pcy1vcGVuIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWRyb3Bkb3duIHtcbiAgLmRyb3Bkb3duLXBhbmUge1xuICAgIEBpbmNsdWRlIGRyb3Bkb3duLWNvbnRhaW5lcjtcbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkZHJvcGRvd24tc2l6ZXMge1xuICAgIC5kcm9wZG93bi1wYW5lLiN7JG5hbWV9IHtcbiAgICAgIHdpZHRoOiAkc2l6ZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGRyb3Bkb3duLW1lbnVcbi8vLy9cblxuLy8vIEVuYWJsZXMgYXJyb3dzIGZvciBpdGVtcyB3aXRoIGRyb3Bkb3duIG1lbnVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRkcm9wZG93bm1lbnUtYXJyb3dzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcm9wZG93biBtZW51IGFycm93IGNvbG9yIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3I6ICRhbmNob3ItY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyb3Bkb3duIG1lbnUgYXJyb3cgc2l6ZSBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIExlbmd0aFxuJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplOiA2cHggIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyb3Bkb3duIG1lbnUgYXJyb3cgcGFkZGluZyBmb3IgYWxpZ25pbmcgdGhlIGFycm93IGNvcnJlY3RseS5cbi8vLyBAdHlwZSBMZW5ndGhcbiRkcm9wZG93bm1lbnUtYXJyb3ctcGFkZGluZzogMS41cmVtICFkZWZhdWx0O1xuXG4vLy8gTWluaW11bSB3aWR0aCBvZiBkcm9wZG93biBzdWItbWVudXMuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kZHJvcGRvd25tZW51LW1pbi13aWR0aDogMjAwcHggIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0b3AgbGV2ZWwgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bm1lbnUtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgZHJvcGRvd25zLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd25tZW51LXN1Ym1lbnUtYmFja2dyb3VuZDogJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBmb3IgdG9wIGxldmVsIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3dubWVudS1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJvcGRvd24gbWVudSBuZXN0ZWQgbWFyZ2luXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd25tZW51LW5lc3RlZC1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciBzdWItbWVudSBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bm1lbnUtc3VibWVudS1wYWRkaW5nOiAkZHJvcGRvd25tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgZm9yIGRyb3Bkb3duIHN1Yi1tZW51cy5cbi8vLyBAdHlwZSBMaXN0XG4kZHJvcGRvd25tZW51LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8gQm9yZGVyIHdpZHRoIGZvciBkcm9wZG93biBzdWItbWVudXMuXG4vLyBVc2VkIHRvIGFkanVzdCB0b3AgbWFyZ2luIG9mIGEgc3ViLW1lbnUgaWYgYSBib3JkZXIgaXMgdXNlZC5cbi8vIEB0eXBlIExlbmd0aFxuJGRyb3Bkb3dubWVudS1ib3JkZXItd2lkdGg6IG50aCgkZHJvcGRvd25tZW51LWJvcmRlciwgMSk7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGFuIGFjdGl2ZSBkcm9wZG93biBtZW51IGl0ZW0uIEV4cGxpY2l0IG92ZXJyaWRlIGZvciBtZW51IGRlZmF1bHRzXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bi1tZW51LWl0ZW0tY29sb3ItYWN0aXZlOiBnZXQtY29sb3IocHJpbWFyeSkgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIGFjdGl2ZSBkcm9wZG93biBtZW51IGl0ZW0uIEV4cGxpY2l0IG92ZXJyaWRlIGZvciBtZW51IGRlZmF1bHRzXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bi1tZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG5AbWl4aW4gemYtZHJvcGRvd24tbGVmdC1yaWdodC1hcnJvd3Mge1xuICA+IGE6OmFmdGVyIHtcbiAgICAjeyRnbG9iYWwtcmlnaHR9OiAxNHB4O1xuICB9XG5cbiAgJi5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDVweDtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCBsZWZ0KTtcbiAgfVxuXG4gICYub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgcmlnaHQpO1xuICB9XG59XG5cbkBtaXhpbiBkcm9wZG93bi1tZW51LWRpcmVjdGlvbigkZGlyOiBob3Jpem9udGFsKSB7XG4gIEBpZiAkZGlyID09IGhvcml6b250YWwge1xuICAgID4gbGkub3BlbnMtbGVmdCB7XG4gICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IGxpLm9wZW5zLXJpZ2h0IHtcbiAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkZHJvcGRvd25tZW51LWFycm93cyB7XG4gICAgICA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZy0jeyRnbG9iYWwtcmlnaHR9OiAkZHJvcGRvd25tZW51LWFycm93LXBhZGRpbmc7XG4gICAgICB9XG5cbiAgICAgID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJvcGRvd25tZW51LWFycm93LXNpemUsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIGRvd24pO1xuICAgICAgICAjeyRnbG9iYWwtcmlnaHR9OiA1cHg7XG4gICAgICAgICN7JGdsb2JhbC1sZWZ0fTogYXV0bztcbiAgICAgICAgbWFyZ2luLXRvcDogLTEgKiAoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplIC8gMik7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRkaXIgPT0gdmVydGljYWwge1xuICAgID4gbGkge1xuICAgICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICB0b3A6IDA7XG4gICAgICB9XG5cbiAgICAgICYub3BlbnMtbGVmdCB7XG4gICAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICAgIHJpZ2h0OiAxMDAlO1xuICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYub3BlbnMtcmlnaHQge1xuICAgICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgICBsZWZ0OiAxMDAlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpZiAkZHJvcGRvd25tZW51LWFycm93cyB7XG4gICAgICAgIEBpbmNsdWRlIHpmLWRyb3Bkb3duLWxlZnQtcmlnaHQtYXJyb3dzO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQHdhcm4gJ1RoZSBkaXJlY3Rpb24gdXNlZCBmb3IgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oKSBtdXN0IGJlIGhvcml6b250YWwgb3IgdmVydGljYWwuJztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1kcm9wZG93bi1tZW51IHtcbiAgLmRyb3Bkb3duLm1lbnUge1xuICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuXG4gICAgYSB7XG4gICAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gICAgICBwYWRkaW5nOiAkZHJvcGRvd25tZW51LXBhZGRpbmc7XG4gICAgfVxuXG4gICAgLy8gQWN0aXZlIHN0YXRlXG4gICAgLmlzLWFjdGl2ZSA+IGEge1xuICAgICAgYmFja2dyb3VuZDogJGRyb3Bkb3duLW1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgICAgIGNvbG9yOiAkZHJvcGRvd24tbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTtcbiAgICB9XG5cbiAgICAubm8tanMgJiB1bCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5uZXN0ZWQuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZCgkZHJvcGRvd25tZW51LW5lc3RlZC1tYXJnaW4pO1xuICAgIH1cblxuICAgICYudmVydGljYWwge1xuICAgICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgIH1cblxuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICAgICYuI3skc2l6ZX0taG9yaXpvbnRhbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWRpcmVjdGlvbihob3Jpem9udGFsKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmLiN7JHNpemV9LXZlcnRpY2FsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmFsaWduLXJpZ2h0IHtcbiAgICAgIC5pcy1kcm9wZG93bi1zdWJtZW51LmZpcnN0LXN1YiB7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmlzLWRyb3Bkb3duLW1lbnUudmVydGljYWwge1xuICAgIHdpZHRoOiAxMDBweDtcblxuICAgICYuYWxpZ24tcmlnaHQge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgYTo6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICAjeyRnbG9iYWwtcmlnaHR9OiA1cHg7XG4gICAgICAjeyRnbG9iYWwtbGVmdH06IGF1dG87XG4gICAgICBtYXJnaW4tdG9wOiAtMSAqICRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZTtcbiAgICB9XG5cbiAgICAmLm9wZW5zLWlubmVyID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuXG4gICAgICB0b3A6IDEwMCU7XG4gICAgICBAaWYgJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSAncnRsJyB7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgICYub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgIHJpZ2h0OiAxMDAlO1xuICAgICAgbGVmdDogYXV0bztcbiAgICB9XG5cbiAgICAmLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICBsZWZ0OiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgICN7JGdsb2JhbC1sZWZ0fTogMTAwJTtcbiAgICB6LWluZGV4OiAxO1xuXG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBtaW4td2lkdGg6ICRkcm9wZG93bm1lbnUtbWluLXdpZHRoO1xuXG4gICAgYm9yZGVyOiAkZHJvcGRvd25tZW51LWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kOiAkZHJvcGRvd25tZW51LXN1Ym1lbnUtYmFja2dyb3VuZDtcblxuICAgIC5kcm9wZG93biAmIGEge1xuICAgICAgcGFkZGluZzogJGRyb3Bkb3dubWVudS1zdWJtZW51LXBhZGRpbmc7XG4gICAgfVxuXG4gICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IHtcbiAgICAgIEBpZiAkZHJvcGRvd25tZW51LWFycm93cyB7XG4gICAgICAgIEBpbmNsdWRlIHpmLWRyb3Bkb3duLWxlZnQtcmlnaHQtYXJyb3dzO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAodHlwZS1vZigkZHJvcGRvd25tZW51LWJvcmRlci13aWR0aCkgPT0gJ251bWJlcicpIHtcbiAgICAgIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgbWFyZ2luLXRvcDogKC0kZHJvcGRvd25tZW51LWJvcmRlci13aWR0aCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgPiBsaSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAvLyBbVE9ET10gQ3V0IGJhY2sgc3BlY2lmaWNpdHlcbiAgICAvLyY6bm90KC5qcy1kcm9wZG93bi1ub2hvdmVyKSA+IC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudDpob3ZlciA+ICYsIC8vIHdoeSBpcyB0aGlzIGxpbmUgbmVlZGVkPyBPcGVuaW5nIGlzIGhhbmRsZWQgYnkgSlMgYW5kIHRoaXMgY2F1c2VzIHNvbWUgdWdseSBmbGlja2VyaW5nIHdoZW4gdGhlIHN1YiBpcyByZS1wb3NpdGlvbmVkIGF1dG9tYXRpY2FsbHkuLi5cbiAgICAmLmpzLWRyb3Bkb3duLWFjdGl2ZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHJlc3BvbnNpdmUtZW1iZWRcbi8vLy9cblxuLy8vIE1hcmdpbiBiZWxvdyBhIHJlc3BvbnNpdmUgZW1iZWQgY29udGFpbmVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHJlc3BvbnNpdmUtZW1iZWQtbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuXG4vLy8gQXNwZWN0IHJhdGlvcyB1c2VkIHRvIGRldGVybWluZSBwYWRkaW5nLWJvdHRvbSBvZiByZXNwb25zaXZlIGVtYmVkIGNvbnRhaW5lcnMuXG4vLy8gQHR5cGUgTWFwXG4kcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3M6IChcbiAgZGVmYXVsdDogNCBieSAzLFxuICB3aWRlc2NyZWVuOiAxNiBieSA5LFxuKSAhZGVmYXVsdDtcblxuLy8gV0FSTklORzogV2lsbCBiZSByZW1vdmVkIGluIHZlcnNpb24gNi40XG4kcmVzcG9uc2l2ZS1lbWJlZC1yYXRpbzogZGVmYXVsdDtcblxuLy8vIENyZWF0ZXMgYSByZXNwb25zaXZlIGVtYmVkIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge1N0cmluZ3xMaXN0fSAkcmF0aW8gW2RlZmF1bHRdIC0gUmF0aW8gb2YgdGhlIGNvbnRhaW5lci4gQ2FuIGJlIGEga2V5IGZyb20gdGhlIGAkcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3NgIG1hcCBvciBhIGxpc3QgZm9ybWF0dGVkIGFzIGB4IGJ5IHlgLlxuQG1peGluIHJlc3BvbnNpdmUtZW1iZWQoJHJhdGlvOiBkZWZhdWx0KSB7XG4gIEBpZiB0eXBlLW9mKCRyYXRpbykgPT0gJ3N0cmluZycge1xuICAgICRyYXRpbzogbWFwLWdldCgkcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3MsICRyYXRpbyk7XG4gIH1cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbi1ib3R0b206ICRyZXNwb25zaXZlLWVtYmVkLW1hcmdpbi1ib3R0b207XG4gIHBhZGRpbmctYm90dG9tOiByYXRpby10by1wZXJjZW50YWdlKCRyYXRpbyk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgaWZyYW1lLFxuICBvYmplY3QsXG4gIGVtYmVkLFxuICB2aWRlbyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICAjeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQge1xuICAucmVzcG9uc2l2ZS1lbWJlZCxcbiAgLmZsZXgtdmlkZW8ge1xuICAgIEBpbmNsdWRlIHJlc3BvbnNpdmUtZW1iZWQoJHJhdGlvOiBkZWZhdWx0KTtcblxuICAgICRyYXRpb3M6IG1hcC1yZW1vdmUoJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zLGRlZmF1bHQpO1xuXG4gICAgQGVhY2ggJG5hbWUsICRyYXRpbyBpbiAkcmF0aW9zIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmF0aW8tdG8tcGVyY2VudGFnZSgkcmF0aW8pO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mbGV4LXZpZGVvIHtcbiAgQHdhcm4gJ1RoaXMgbWl4aW4gaXMgYmVpbmcgcmVwbGFjZWQgYnkgZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkKCkuIGZvdW5kYXRpb24tZmxleC12aWRlbygpIHdpbGwgYmUgcmVtb3ZlZCBpbiBGb3VuZGF0aW9uIDYuNC4nO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQ7XG59XG5cbkBtaXhpbiBmbGV4LXZpZGVvKCRyYXRpbzogJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW8pIHtcbiAgQHdhcm4gJ1RoaXMgbWl4aW4gaXMgYmVpbmcgcmVwbGFjZWQgYnkgcmVzcG9uc2l2ZS1lbWJlZCgpLiBmbGV4LXZpZGVvKCkgd2lsbCBiZSByZW1vdmVkIGluIEZvdW5kYXRpb24gNi40Lic7XG4gIEBpbmNsdWRlIHJlc3BvbnNpdmUtZW1iZWQoJHJhdGlvKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gRmluZHMgdGhlIGdyZWF0ZXN0IGNvbW1vbiBkaXZpc29yIG9mIHR3byBpbnRlZ2Vycy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYSAtIEZpcnN0IG51bWJlciB0byBjb21wYXJlLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYiAtIFNlY29uZCBudW1iZXIgdG8gY29tcGFyZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBncmVhdGVzdCBjb21tb24gZGl2aXNvci5cbkBmdW5jdGlvbiBnY2QoJGEsICRiKSB7XG4gIC8vIEZyb206IGh0dHA6Ly9yb3NldHRhY29kZS5vcmcvd2lraS9HcmVhdGVzdF9jb21tb25fZGl2aXNvciNKYXZhU2NyaXB0XG4gIEBpZiAoJGIgIT0gMCkge1xuICAgIEByZXR1cm4gZ2NkKCRiLCAkYSAlICRiKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiBhYnMoJGEpO1xuICB9XG59XG5cbi8vLyBIYW5kbGVzIGRlY2ltYWwgZXhwb25lbnRzIGJ5IHRyeWluZyB0byBjb252ZXJ0IHRoZW0gaW50byBhIGZyYWN0aW9uIGFuZCB0aGVuIHVzZSBhIG50aC1yb290LWFsZ29yaXRobSBmb3IgcGFydHMgb2YgdGhlIGNhbGN1bGF0aW9uXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgLSBUaGUgYmFzZSBudW1iZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRleHBvbmVudCAtIFRoZSBleHBvbmVudC5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBwcm9kdWN0IG9mIHRoZSBleHBvbmVudGlhdGlvbi5cbkBmdW5jdGlvbiBwb3coJGJhc2UsICRleHBvbmVudCwgJHByZWM6IDE2KSB7XG4gIEBpZiAoZmxvb3IoJGV4cG9uZW50KSAhPSAkZXhwb25lbnQpIHtcbiAgICAkcHJlYzIgOiBwb3coMTAsICRwcmVjKTtcbiAgICAkZXhwb25lbnQ6IHJvdW5kKCRleHBvbmVudCAqICRwcmVjMik7XG4gICAgJGRlbm9taW5hdG9yOiBnY2QoJGV4cG9uZW50LCAkcHJlYzIpO1xuICAgIEByZXR1cm4gbnRoLXJvb3QocG93KCRiYXNlLCAkZXhwb25lbnQgLyAkZGVub21pbmF0b3IpLCAkcHJlYzIgLyAkZGVub21pbmF0b3IsICRwcmVjKTtcbiAgfVxuXG4gICR2YWx1ZTogJGJhc2U7XG4gIEBpZiAkZXhwb25lbnQgPiAxIHtcbiAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRleHBvbmVudCB7XG4gICAgICAkdmFsdWU6ICR2YWx1ZSAqICRiYXNlO1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkZXhwb25lbnQgPCAxIHtcbiAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoIC0kZXhwb25lbnQge1xuICAgICAgJHZhbHVlOiAkdmFsdWUgLyAkYmFzZTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cblxuQGZ1bmN0aW9uIG50aC1yb290KCRudW0sICRuOiAyLCAkcHJlYzogMTIpIHtcbiAgLy8gRnJvbTogaHR0cDovL3Jvc2V0dGFjb2RlLm9yZy93aWtpL050aF9yb290I0phdmFTY3JpcHRcbiAgJHg6IDE7XG5cbiAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAkcHJlYyB7XG4gICAgJHg6IDEgLyAkbiAqICgoJG4gLSAxKSAqICR4ICsgKCRudW0gLyBwb3coJHgsICRuIC0gMSkpKTtcbiAgfVxuXG4gIEByZXR1cm4gJHg7XG59XG5cbi8vLyBDYWxjdWxhdGVzIHRoZSBoZWlnaHQgYXMgYSBwZXJjZW50YWdlIG9mIHRoZSB3aWR0aCBmb3IgYSBnaXZlbiByYXRpby5cbi8vLyBAcGFyYW0ge0xpc3R9ICRyYXRpbyAtIFJhdGlvIHRvIHVzZSB0byBjYWxjdWxhdGUgdGhlIGhlaWdodCwgZm9ybWF0dGVkIGFzIGB4IGJ5IHlgLlxuLy8vIEByZXR1cm4ge051bWJlcn0gQSBwZXJjZW50YWdlIHZhbHVlIGZvciB0aGUgaGVpZ2h0IHJlbGF0aXZlIHRvIHRoZSB3aWR0aCBvZiBhIHJlc3BvbnNpdmUgY29udGFpbmVyLlxuQGZ1bmN0aW9uIHJhdGlvLXRvLXBlcmNlbnRhZ2UoJHJhdGlvKSB7XG4gICR3OiBudGgoJHJhdGlvLCAxKTtcbiAgJGg6IG50aCgkcmF0aW8sIDMpO1xuICBAcmV0dXJuICRoIC8gJHcgKiAxMDAlO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgbGFiZWxcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgbGFiZWxzLlxuLy8vIEB0eXBlIENvbG9yXG4kbGFiZWwtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3IgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGxhYmVsLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBBbHRlcm5hdGUgdGV4dCBjb2xvciBmb3IgbGFiZWxzLlxuLy8vIEB0eXBlIENvbG9yXG4kbGFiZWwtY29sb3ItYWx0OiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvcmluZyBjbGFzc2VzLiBBIG1hcCBvZiBjbGFzc2VzIHRvIG91dHB1dCBpbiB5b3VyIENTUywgbGlrZSBgLnNlY29uZGFyeWAsIGAuc3VjY2Vzc2AsIGFuZCBzbyBvbi5cbi8vLyBAdHlwZSBNYXBcbiRsYWJlbC1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsYWJlbC1mb250LXNpemU6IDAuOHJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxhYmVsLXBhZGRpbmc6IDAuMzMzMzNyZW0gMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgb2YgbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxhYmVsLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBHZW5lcmF0ZXMgYmFzZSBzdHlsZXMgZm9yIGEgbGFiZWwuXG5AbWl4aW4gbGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6ICRsYWJlbC1wYWRkaW5nO1xuXG4gIGJvcmRlci1yYWRpdXM6ICRsYWJlbC1yYWRpdXM7XG5cbiAgZm9udC1zaXplOiAkbGFiZWwtZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogMTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1sYWJlbCB7XG4gIC5sYWJlbCB7XG4gICAgQGluY2x1ZGUgbGFiZWw7XG5cbiAgICBiYWNrZ3JvdW5kOiAkbGFiZWwtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGxhYmVsLWNvbG9yO1xuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkbGFiZWwtcGFsZXR0ZSB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgICAgICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkY29sb3IsICgkbGFiZWwtY29sb3IsICRsYWJlbC1jb2xvci1hbHQpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIG1lZGlhLW9iamVjdFxuLy8vL1xuXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBhIG1lZGlhIG9iamVjdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZWRpYW9iamVjdC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIExlZnQgYW5kIHJpZ2h0IHBhZGRpbmcgb24gc2VjdGlvbnMgd2l0aGluIGEgbWVkaWEgb2JqZWN0LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gV2lkdGggb2YgaW1hZ2VzIHdpdGhpbiBhIG1lZGlhIG9iamVjdCwgd2hlbiB0aGUgb2JqZWN0IGlzIHN0YWNrZWQgdmVydGljYWxseS4gU2V0IHRvICdhdXRvJyB0byB1c2UgdGhlIGltYWdlJ3MgbmF0dXJhbCB3aWR0aC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZWRpYW9iamVjdC1pbWFnZS13aWR0aC1zdGFja2VkOiAxMDAlICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgbWVkaWEgb2JqZWN0IGNvbnRhaW5lci5cbkBtaXhpbiBtZWRpYS1vYmplY3QtY29udGFpbmVyIHtcbiAgZGlzcGxheTogaWYoJGdsb2JhbC1mbGV4Ym94LCBmbGV4LCBibG9jayk7XG4gIG1hcmdpbi1ib3R0b206ICRtZWRpYW9iamVjdC1tYXJnaW4tYm90dG9tO1xuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3Igc2VjdGlvbnMgd2l0aGluIGEgbWVkaWEgb2JqZWN0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcGFkZGluZyBbJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZ10gLSBQYWRkaW5nIGJldHdlZW4gc2VjdGlvbnMuXG5AbWl4aW4gbWVkaWEtb2JqZWN0LXNlY3Rpb24oJHBhZGRpbmc6ICRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmcpIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleDogMCAxIGF1dG87XG4gIH1cbiAgQGVsc2Uge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgfVxuXG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIHBhZGRpbmctI3skZ2xvYmFsLXJpZ2h0fTogJHBhZGRpbmc7XG4gIH1cblxuICAmOmxhc3QtY2hpbGQ6bm90KDpudGgtY2hpbGQoMikpIHtcbiAgICBwYWRkaW5nLSN7JGdsb2JhbC1sZWZ0fTogJHBhZGRpbmc7XG4gIH1cblxuICA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyB0byBzdGFjayBzZWN0aW9ucyBvZiBhIG1lZGlhIG9iamVjdC4gQXBwbHkgdGhpcyB0byB0aGUgc2VjdGlvbiBlbGVtZW50cywgbm90IHRoZSBjb250YWluZXIuXG5AbWl4aW4gbWVkaWEtb2JqZWN0LXN0YWNrIHtcbiAgcGFkZGluZzogMDtcbiAgcGFkZGluZy1ib3R0b206ICRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmc7XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC1iYXNpczogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cbiAgQGVsc2Uge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgaW1nIHtcbiAgICB3aWR0aDogJG1lZGlhb2JqZWN0LWltYWdlLXdpZHRoLXN0YWNrZWQ7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tbWVkaWEtb2JqZWN0IHtcbiAgLm1lZGlhLW9iamVjdCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtb2JqZWN0LWNvbnRhaW5lcjtcblxuICAgIGltZyB7XG4gICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgfVxuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAmLnN0YWNrLWZvci0jeyQtemYtemVyby1icmVha3BvaW50fSB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJC16Zi16ZXJvLWJyZWFrcG9pbnQgb25seSkge1xuICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYuc3RhY2stZm9yLSN7JC16Zi16ZXJvLWJyZWFrcG9pbnR9IC5tZWRpYS1vYmplY3Qtc2VjdGlvbiB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtemVyby1icmVha3BvaW50IG9ubHkpIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtb2JqZWN0LXN0YWNrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5tZWRpYS1vYmplY3Qtc2VjdGlvbiB7XG4gICAgQGluY2x1ZGUgbWVkaWEtb2JqZWN0LXNlY3Rpb247XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICYubWFpbi1zZWN0aW9uIHtcbiAgICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJi5taWRkbGUge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgfVxuXG4gICAgICAmLmJvdHRvbSB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBvZmYtY2FudmFzXG4vLy8vXG5cbi8vLyBXaWR0aCBtYXAgb2YgYSBsZWZ0L3JpZ2h0IG9mZi1jYW52YXMgcGFuZWwuXG4vLy8gQHR5cGUgTWFwXG4kb2ZmY2FudmFzLXNpemVzOiAoXG4gIHNtYWxsOiAyNTBweCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgbWFwIG9mIGEgdG9wL2JvdHRvbSBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIE1hcFxuJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplczogKFxuICBzbWFsbDogMjUwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhbiBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIENvbG9yXG4kb2ZmY2FudmFzLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyBmb3IgdGhlIG9mZi1jYW52YXMgb3ZlcmxhcCBwYW5lbC5cbi8vLyBAdHlwZSBTaGFkb3dcbiRvZmZjYW52YXMtc2hhZG93OiAwIDAgMTBweCByZ2JhKCRibGFjaywgMC43KSAhZGVmYXVsdDtcblxuLy8vIElubmVyIGJveCBzaGFkb3cgc2l6ZSBmb3IgdGhlIG9mZi1jYW52YXMgcHVzaCBwYW5lbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemU6IDIwcHggIWRlZmF1bHQ7XG5cbi8vLyBJbm5lciBib3ggc2hhZG93IGNvbG9yIGZvciB0aGUgb2ZmLWNhbnZhcyBwdXNoIHBhbmVsLlxuLy8vIEB0eXBlIENvbG9yXG4kb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcjogcmdiYSgkYmxhY2ssIDAuMjUpICFkZWZhdWx0O1xuXG4vLy8gWi1pbmRleCBvZiBhbiBvZmYtY2FudmFzIGNvbnRlbnQgb3ZlcmxheS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXg6IDExICFkZWZhdWx0O1xuXG4vLy8gWi1pbmRleCBvZiBhbiBvZmYtY2FudmFzIHBhbmVsIHdpdGggdGhlIGBwdXNoYCB0cmFuc2l0aW9uLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1wdXNoLXppbmRleDogMTIgIWRlZmF1bHQ7XG5cbi8vLyBaLWluZGV4IG9mIGFuIG9mZi1jYW52YXMgcGFuZWwgd2l0aCB0aGUgYG92ZXJsYXBgIHRyYW5zaXRpb24uXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4OiAxMyAhZGVmYXVsdDtcblxuLy8vIFotaW5kZXggb2YgYW4gb2ZmLWNhbnZhcyBwYW5lbCB1c2luZyB0aGUgYHJldmVhbC1mb3ItKmAgY2xhc3NlcyBvciBtaXhpbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtcmV2ZWFsLXppbmRleDogMTIgIWRlZmF1bHQ7XG5cbi8vLyBMZW5ndGggb2YgdGhlIGFuaW1hdGlvbiBvbiBhbiBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aDogMC41cyAhZGVmYXVsdDtcblxuLy8vIFRpbWluZyBmdW5jdGlvbiBvZiB0aGUgYW5pbWF0aW9uIG9uIGFuIG9mZi1jYW52YXMgcGFuZWwuXG4vLy8gQHR5cGUgS2V5d29yZFxuJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZzogZWFzZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgYSByZXZlYWxlZCBvZmYtY2FudmFzIHdpbGwgYmUgZml4ZWQtcG9zaXRpb24sIGFuZCBzY3JvbGwgd2l0aCB0aGUgc2NyZWVuLlxuLy8vIEB0eXBlIEJvb2xcbiRvZmZjYW52YXMtZml4ZWQtcmV2ZWFsOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgdGhlIG92ZXJsYXkgdGhhdCBhcHBlYXJzIHdoZW4gYW4gb2ZmLWNhbnZhcyBwYW5lbCBpcyBvcGVuLlxuLy8vIEB0eXBlIENvbG9yXG4kb2ZmY2FudmFzLWV4aXQtYmFja2dyb3VuZDogcmdiYSgkd2hpdGUsIDAuMjUpICFkZWZhdWx0O1xuXG4vLy8gQ1NTIGNsYXNzIHVzZWQgZm9yIHRoZSBtYWluIGNvbnRlbnQgYXJlYS4gVGhlIG9mZi1jYW52YXMgbWl4aW5zIHVzZSB0aGlzIHRvIHRhcmdldCB0aGUgcGFnZSBjb250ZW50LlxuJG1haW5jb250ZW50LWNsYXNzOiAnb2ZmLWNhbnZhcy1jb250ZW50JyAhZGVmYXVsdDtcblxuLy8vIEFkZHMgYmFzZWxpbmUgc3R5bGVzIGZvciBvZmYtY2FudmFzLiBUaGlzIENTUyBpcyByZXF1aXJlZCB0byBtYWtlIHRoZSBvdGhlciBwaWVjZXMgd29yay5cbkBtaXhpbiBvZmYtY2FudmFzLWJhc2ljcyB7XG5cbiAgLy8vIFRyYW5zZm9ybSBkZXByZWNhdGVkIHNpemUgc2V0dGluZ3MgaW50byBtYXAgJiBzaG93IHdhcm5pbmdcbiAgQGlmIHZhcmlhYmxlLWV4aXN0cyhvZmZjYW52YXMtc2l6ZSkge1xuICAgICRvZmZjYW52YXMtc2l6ZXM6IChzbWFsbDogJG9mZmNhbnZhcy1zaXplLCBtZWRpdW06ICRvZmZjYW52YXMtc2l6ZSkgIWdsb2JhbDtcbiAgICBAd2FybiAnJG9mZmNhbnZhcy1zaXplIGlzIGRlcHJlY2F0ZWQgYW5kIG5vdCB1c2VkIGFueW1vcmUhIFBsZWFzZSB1cGRhdGUgeW91ciBzZXR0aW5ncyBhbmQgdXNlIHRoZSBtYXAgJG9mZmNhbnZhcy1zaXplcyBpbnN0ZWFkJztcbiAgfVxuICBAaWYgdmFyaWFibGUtZXhpc3RzKG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplKSB7XG4gICAgJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplczogKHNtYWxsOiAkb2ZmY2FudmFzLXZlcnRpY2FsLXNpemUsIG1lZGl1bTogJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplKSAhZ2xvYmFsO1xuICAgIEB3YXJuICckb2ZmY2FudmFzLXZlcnRpY2FsLXNpemUgaXMgZGVwcmVjYXRlZCBhbmQgbm90IHVzZWQgYW55bW9yZSEgUGxlYXNlIHVwZGF0ZSB5b3VyIHNldHRpbmdzIGFuZCB1c2UgdGhlIG1hcCAkb2ZmY2FudmFzLXZlcnRpY2FsLXNpemVzIGluc3RlYWQnO1xuICB9XG5cbiAgLy8gQ2hlY2tzIHRoZSB6LWluZGV4ZXMgYW5kIGluY3JlYXNlIHRoZW0gZHVlIHRvIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5LlxuICAvLyBUaGlzIGlzIG5lY2Vzc2FyeSBiZWNhdXNlIHRoZSBvdmVybGF5J3Mgei1pbmRleCBpcyBuZXcgc2luY2UgdjYuNCBhbmQgbWF5IGJlIGlkZW50aWNhbCB0byB0aGUgdXNlciBjdXN0b20gc2V0dGluZ3Mgb2YgdGhlIHB1c2ggei1pbmRleC5cbiAgQGlmICRvZmZjYW52YXMtcHVzaC16aW5kZXggPD0gJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleCB7ICRvZmZjYW52YXMtcHVzaC16aW5kZXg6ICRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXggKyAxICFnbG9iYWw7IH1cbiAgQGlmICRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXggPD0gJG9mZmNhbnZhcy1wdXNoLXppbmRleCB7ICRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXg6ICRvZmZjYW52YXMtcHVzaC16aW5kZXggKyAxICFnbG9iYWw7IH1cbiAgQGlmICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleCA8PSAkb2ZmY2FudmFzLW92ZXJsYXktemluZGV4IHsgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4OiAkb2ZmY2FudmFzLW92ZXJsYXktemluZGV4ICsgMSAhZ2xvYmFsOyB9XG5cbiAgLy8gSGlkZXMgb3ZlcmZsb3cgb24gYm9keSB3aGVuIGFuIG9mZi1jYW52YXMgcGFuZWwgaXMgb3Blbi5cbiAgLmlzLW9mZi1jYW52YXMtb3BlbiB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gIC8vIE9mZi1jYW52YXMgb3ZlcmxheSAoZ2VuZXJhdGVkIGJ5IEphdmFTY3JpcHQpXG4gIC5qcy1vZmYtY2FudmFzLW92ZXJsYXkge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAkb2ZmY2FudmFzLW92ZXJsYXktemluZGV4O1xuXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoICRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmcsIHZpc2liaWxpdHkgJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aCAkb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nO1xuXG4gICAgYmFja2dyb3VuZDogJG9mZmNhbnZhcy1leGl0LWJhY2tncm91bmQ7XG5cbiAgICBvcGFjaXR5OiAwO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcblxuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAmLmlzLXZpc2libGUge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgfVxuXG4gICAgJi5pcy1jbG9zYWJsZSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuXG4gICAgJi5pcy1vdmVybGF5LWFic29sdXRlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB9XG5cbiAgICAmLmlzLW92ZXJsYXktZml4ZWQge1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgIH1cbiAgfVxufVxuXG4vLyBBZGRzIGJhc2ljIHN0eWxlcyBmb3IgYW4gb2ZmLWNhbnZhcyB3cmFwcGVyLlxuQG1peGluIG9mZi1jYW52YXMtd3JhcHBlcigpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vLy8gQWRkcyBiYXNpYyBzdHlsZXMgZm9yIGFuIG9mZi1jYW52YXMgcGFuZWwuXG5AbWl4aW4gb2ZmLWNhbnZhcy1iYXNlKFxuICAkYmFja2dyb3VuZDogJG9mZmNhbnZhcy1iYWNrZ3JvdW5kLFxuICAkdHJhbnNpdGlvbjogJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aCAkb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nLFxuICAkZml4ZWQ6IHRydWVcbikge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG5cbiAgQGlmICRmaXhlZCA9PSB0cnVlIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gIH1cbiAgQGVsc2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgfVxuXG4gIC8vIFNldCB0aGUgb2ZmLWNhbnZhcyB6LWluZGV4LlxuICB6LWluZGV4OiAkb2ZmY2FudmFzLXB1c2gtemluZGV4O1xuXG4gIC8vIEluY3JlYXNlIENTUyBzcGVjaWZpY2l0eVxuICAmLmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgei1pbmRleDogJG9mZmNhbnZhcy1wdXNoLXppbmRleDtcbiAgfVxuXG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkdHJhbnNpdGlvbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuXG4gIC8vIEhpZGUgaW5hY3RpdmUgb2ZmLWNhbnZhcyB3aXRoaW4gdGhlIGNvbnRlbnQgdGhhdCBoYXZlIHRoZSBzYW1lIHBvc2l0aW9uXG4gICYuaXMtY2xvc2VkIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cblxuICAvLyBPdmVybGFwIG9ubHkgc3R5bGVzLlxuICAmLmlzLXRyYW5zaXRpb24tb3ZlcmxhcCB7XG4gICAgei1pbmRleDogJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleDtcblxuICAgICYuaXMtb3BlbiB7XG4gICAgICBib3gtc2hhZG93OiAkb2ZmY2FudmFzLXNoYWRvdztcbiAgICB9XG4gIH1cblxuICAvLyBTZXRzIHRyYW5zZm9ybSB0byAwIHRvIHNob3cgYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbiAgJi5pcy1vcGVuIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgdG8gcG9zaXRpb24gYW4gb2ZmLWNhbnZhcyBwYW5lbCB0byB0aGUgbGVmdC9yaWdodC90b3AvYm90dG9tLlxuQG1peGluIG9mZi1jYW52YXMtcG9zaXRpb24oXG4gICRwb3NpdGlvbjogbGVmdCxcbiAgJG9yaWVudGF0aW9uOiBob3Jpem9udGFsLFxuICAkc2l6ZXM6IGlmKCRvcmllbnRhdGlvbiA9PSBob3Jpem9udGFsLCAkb2ZmY2FudmFzLXNpemVzLCAkb2ZmY2FudmFzLXZlcnRpY2FsLXNpemVzKVxuKSB7XG4gIEBpZiAkcG9zaXRpb24gPT0gbGVmdCB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG5cbiAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgd2lkdGg6ICRzaXplO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLSRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBwb3NpdGlvbiBmb3IgbmVzdGVkIG9mZi1jYW52YXMgZWxlbWVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30gLm9mZi1jYW52YXMucG9zaXRpb24tI3skcG9zaXRpb259IHtcblxuICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLSRzaXplKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIG9wZW4gcG9zaXRpb24gZm9yIHRoZSBjb250ZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfS5pcy1vcGVuLSN7JHBvc2l0aW9ufSB7XG4gICAgICAmLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJHNpemUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gcmlnaHQge1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcblxuICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICB3aWR0aDogJHNpemU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgkc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgcG9zaXRpb24gZm9yIG5lc3RlZCBvZmYtY2FudmFzIGVsZW1lbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9IC5vZmYtY2FudmFzLnBvc2l0aW9uLSN7JHBvc2l0aW9ufSB7XG5cbiAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRzaXplKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIG9wZW4gcG9zaXRpb24gZm9yIHRoZSBjb250ZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfS5pcy1vcGVuLSN7JHBvc2l0aW9ufSB7XG4gICAgICAmLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLSRzaXplKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHRvcCB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcblxuICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICBoZWlnaHQ6ICRzaXplO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBwb3NpdGlvbiBmb3IgbmVzdGVkIG9mZi1jYW52YXMgZWxlbWVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30gLm9mZi1jYW52YXMucG9zaXRpb24tI3skcG9zaXRpb259IHtcbiAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBvcGVuIHBvc2l0aW9uIGZvciB0aGUgY29udGVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30uaXMtb3Blbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRzaXplKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IGJvdHRvbSB7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcblxuICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICBoZWlnaHQ6ICRzaXplO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIHBvc2l0aW9uIGZvciBuZXN0ZWQgb2ZmLWNhbnZhcyBlbGVtZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAub2ZmLWNhbnZhcy5wb3NpdGlvbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJHNpemUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgb3BlbiBwb3NpdGlvbiBmb3IgdGhlIGNvbnRlbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9LmlzLW9wZW4tI3skcG9zaXRpb259IHtcbiAgICAgICYuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJHNpemUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIElmICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUgaXMgc2V0LCBhZGQgaW5uZXIgYm94LXNoYWRvdy5cbiAgLy8gVGhpcyBtaW1pY3MgdGhlIG9mZi1jYW52YXMgcGFuZWwgaGF2aW5nIGEgbG93ZXIgei1pbmRleCwgd2l0aG91dCBoYXZpbmcgdG8gaGF2ZSBvbmUuXG4gIEBpZiAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplIHtcbiAgICAmLmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgICBAaWYgJHBvc2l0aW9uID09IGxlZnQge1xuICAgICAgICBAaW5jbHVkZSBpbm5lci1zaWRlLXNoYWRvdyhyaWdodCwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3IpO1xuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHJpZ2h0IHtcbiAgICAgICAgQGluY2x1ZGUgaW5uZXItc2lkZS1zaGFkb3cobGVmdCwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3IpO1xuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHRvcCB7XG4gICAgICAgIEBpbmNsdWRlIGlubmVyLXNpZGUtc2hhZG93KGJvdHRvbSwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3IpO1xuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJHBvc2l0aW9uID09IGJvdHRvbSB7XG4gICAgICAgIEBpbmNsdWRlIGlubmVyLXNpZGUtc2hhZG93KHRvcCwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3IpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG59XG5cbi8vLyBTZXRzIHRoZSBzdHlsZXMgZm9yIHRoZSBjb250ZW50IGNvbnRhaW5lci5cbkBtaXhpbiBvZmYtY2FudmFzLWNvbnRlbnQoKSB7XG4gIHRyYW5zZm9ybTogbm9uZTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZztcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gIC8vIFRyYW5zZm9ybSBzY29wZSB1bnRpbCB0aGUgZWxlbWVudCBpcyBjbG9zZWQgKG1ha2VzIHN1cmUgdHJhbnNpdGlvbmVuZCBnZXRzIHRyaWdnZXJlZClcbiAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgfVxuXG4gIC8vIENvbnNpZGVyIGVsZW1lbnQgJiBjb250ZW50LCBuZXN0ZWQgaW4gYW5vdGhlciBjb250ZW50XG4gIC5vZmYtY2FudmFzLmlzLW9wZW4ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyB0aGF0IHJldmVhbCBhbiBvZmYtY2FudmFzIHBhbmVsLlxuQG1peGluIG9mZi1jYW52YXMtcmV2ZWFsKFxuJHBvc2l0aW9uOiBsZWZ0LFxuJHppbmRleDogJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4LFxuJGNvbnRlbnQ6ICRtYWluY29udGVudC1jbGFzcyxcbiRicmVha3BvaW50OiBzbWFsbFxuKSB7XG4gIHRyYW5zZm9ybTogbm9uZTtcbiAgei1pbmRleDogJHppbmRleDtcbiAgdHJhbnNpdGlvbjogbm9uZTtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcblxuICBAaWYgbm90ICRvZmZjYW52YXMtZml4ZWQtcmV2ZWFsIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cblxuICAuY2xvc2UtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLy8gQ29uc2lkZXIgcmV2ZWFsZWQgZWxlbWVudCBpcyBuZXN0ZWQgaW4gY29udGVudFxuICAuI3skbWFpbmNvbnRlbnQtY2xhc3N9ICYge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuXG4gIEBhdC1yb290IC4jeyRjb250ZW50fS5oYXMtcmV2ZWFsLSN7JHBvc2l0aW9ufSB7XG4gICAgbWFyZ2luLSN7JHBvc2l0aW9ufTogLXpmLWdldC1icC12YWwoJG9mZmNhbnZhcy1zaXplcywgJGJyZWFrcG9pbnQpO1xuICB9XG5cbiAgLy8gYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgKHByaW9yIHRvIHY2LjQpXG4gICYgfiAuI3skY29udGVudH0ge1xuICAgIG1hcmdpbi0jeyRwb3NpdGlvbn06IC16Zi1nZXQtYnAtdmFsKCRvZmZjYW52YXMtc2l6ZXMsICRicmVha3BvaW50KTtcbiAgfVxufVxuXG4vLy8gT3ZlcnJpZGVzIHRoZSBvZmYtY2FudmFzIHN0eWxlc1xuQG1peGluIGluLWNhbnZhcygpIHtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBwb3NpdGlvbjogc3RhdGljO1xuICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICB3aWR0aDogaW5oZXJpdDtcbiAgb3ZlcmZsb3c6IGluaGVyaXQ7XG4gIHRyYW5zaXRpb246IGluaGVyaXQ7XG5cbiAgLy8gSW5jcmVhc2UgQ1NTIHNwZWNpZmljaXR5XG4gICYucG9zaXRpb24tbGVmdCxcbiAgJi5wb3NpdGlvbi1yaWdodCxcbiAgJi5wb3NpdGlvbi10b3AsXG4gICYucG9zaXRpb24tYm90dG9tIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuXG4gIC5jbG9zZS1idXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tb2ZmLWNhbnZhcyB7XG4gIEBpbmNsdWRlIG9mZi1jYW52YXMtYmFzaWNzO1xuXG4gIC8vIE9mZi1jYW52YXMgd3JhcHBlclxuICAub2ZmLWNhbnZhcy13cmFwcGVyIHtcbiAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXdyYXBwZXI7XG4gIH1cblxuICAvLyBPZmYtY2FudmFzIGNvbnRhaW5lclxuICAub2ZmLWNhbnZhcyB7XG4gICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1iYXNlO1xuXG4gICAgLy8gRm9yY2UgcG9zaXRpb24gYWJzb2x1dGUgZm9yIG5lc3RlZCBvZmYtY2FudmFzIGJlY2F1c2UgZml4ZWQgZG9lc24ndCB3b3JrIGZvciBwdXNoIHRyYW5zaXRpb24gd2l0aGluIHRoZSB0cmFuc2Zvcm0gc2NvcGUuXG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAmIHtcbiAgICAgIC8vIE5PVEU6IHNpbmNlIG92ZXJsYXAgdHJhbnNpdGlvbiBpcyBjdXJyZW50bHkgZm9yY2VkIGlmIG5lc3RlZCwgdGhlcmUncyBubyBuZWVkIHRvIGZvcmNlIHBvc2l0aW9uIGFic29sdXRlIHVudGlsIG5lc3RlZCBwdXNoIHRyYW5zaXRpb24gaXMgc3VwcG9ydGVkLlxuICAgICAgLy8gcG9zaXRpb246IGFic29sdXRlO1xuICAgIH1cbiAgfVxuXG4gIC8vIE9mZi1jYW52YXMgY29udGFpbmVyIHdpdGggYWJzb2x1dGUgcG9zaXRpb25cbiAgLm9mZi1jYW52YXMtYWJzb2x1dGUge1xuICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtYmFzZSgkZml4ZWQ6IGZhbHNlKTtcbiAgfVxuXG4gIC8vIE9mZi1jYW52YXMgcG9zaXRpb24gY2xhc3Nlc1xuICAucG9zaXRpb24tbGVmdCAgICB7IEBpbmNsdWRlIG9mZi1jYW52YXMtcG9zaXRpb24obGVmdCwgICBob3Jpem9udGFsKTsgfVxuICAucG9zaXRpb24tcmlnaHQgICB7IEBpbmNsdWRlIG9mZi1jYW52YXMtcG9zaXRpb24ocmlnaHQsICBob3Jpem9udGFsKTsgfVxuICAucG9zaXRpb24tdG9wICAgICB7IEBpbmNsdWRlIG9mZi1jYW52YXMtcG9zaXRpb24odG9wLCAgICB2ZXJ0aWNhbCk7IH1cbiAgLnBvc2l0aW9uLWJvdHRvbSAgeyBAaW5jbHVkZSBvZmYtY2FudmFzLXBvc2l0aW9uKGJvdHRvbSwgdmVydGljYWwpOyB9XG5cbiAgLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1jb250ZW50O1xuICB9XG5cbiAgLy8gUmV2ZWFsIG9mZi1jYW52YXMgcGFuZWwgb24gbGFyZ2VyIHNjcmVlbnNcbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJG5hbWUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbChsZWZ0LCAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXgsICRtYWluY29udGVudC1jbGFzcywgJG5hbWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtcmV2ZWFsKHJpZ2h0LCAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXgsICRtYWluY29udGVudC1jbGFzcywgJG5hbWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbCh0b3AsICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleCwgJG1haW5jb250ZW50LWNsYXNzLCAkbmFtZSk7XG4gICAgICAgIH1cblxuICAgICAgICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtcmV2ZWFsKGJvdHRvbSwgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4LCAkbWFpbmNvbnRlbnQtY2xhc3MsICRuYW1lKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIE1vdmUgaW4tY2FudmFzIGZvciBsYXJnZXIgc2NyZWVuc1xuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkbmFtZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGluLWNhbnZhcztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwYWdpbmF0aW9uXG4vLy8vXG5cbi8vLyBGb250IHNpemUgb2YgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luIG9mIHRoZSBwYWdpbmF0aW9uIG9iamVjdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBvZiBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nOiByZW0tY2FsYygzIDEwKSAhZGVmYXVsdDtcblxuLy8vIFJpZ2h0IG1hcmdpbiB0byBzZXBhcmF0ZSBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24taXRlbS1zcGFjaW5nOiByZW0tY2FsYygxKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgcGFnaW5hdGlvbiBpdGVtcyBvbiBob3Zlci5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgcGFnaW5hdGlvbiBpdGVtIGZvciB0aGUgY3VycmVudCBwYWdlLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtY3VycmVudDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIHRoZSBwYWdpbmF0aW9uIGl0ZW0gZm9yIHRoZSBjdXJyZW50IHBhZ2UuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItY3VycmVudDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBhIGRpc2FibGVkIHBhZ2luYXRpb24gaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgdGhlIGVsbGlwc2lzIGluIGEgcGFnaW5hdGlvbiBtZW51LlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1lbGxpcHNpcy1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gSWYgYGZhbHNlYCwgZG9uJ3QgZGlzcGxheSBwYWdlIG51bWJlciBsaW5rcyBvbiBtb2JpbGUsIG9ubHkgbmV4dC9wcmV2aW91cyBsaW5rc1xuLy8vIGFuZCBvcHRpb25hbGx5IGN1cnJlbnQgcGFnZSBudW1iZXIuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgZGlzcGxheSB0aGUgY3VycmVudCBwYWdlIG51bWJlciBvbiBtb2JpbGUgZXZlbiBpZiBgJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zYCBpcyBzZXQgdG8gYGZhbHNlYC5cbi8vLyBUaGlzIHBhcmFtZXRlciB3aWxsIG9ubHkgb3ZlcnJpZGUgdGhlIHZpc2liaWxpdHkgc2V0dGluZyBvZiB0aGUgY3VycmVudCBpdGVtIGZvciBgJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zOiBmYWxzZTtgLFxuLy8vIGl0IHdpbGwgbm90IGFmZmVjdCB0aGUgY3VycmVudCBwYWdlIG51bWJlciB2aXNpYmlsaXR5IHdoZW4gYCRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtc2AgaXMgc2V0IHRvIGB0cnVlYC5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcGFnaW5hdGlvbi1tb2JpbGUtY3VycmVudC1pdGVtOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgYXJyb3dzIGFyZSBhZGRlZCB0byB0aGUgbmV4dCBhbmQgcHJldmlvdXMgbGlua3Mgb2YgcGFnaW5hdGlvbi5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcGFnaW5hdGlvbi1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBwYWdpbmF0aW9uIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byBhIGA8dWw+YC5cbkBtaXhpbiBwYWdpbmF0aW9uLWNvbnRhaW5lciAoXG4gICRtYXJnaW4tYm90dG9tOiAkcGFnaW5hdGlvbi1tYXJnaW4tYm90dG9tLFxuICAkZm9udC1zaXplOiAkcGFnaW5hdGlvbi1mb250LXNpemUsXG4gICRzcGFjaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXNwYWNpbmcsXG4gICRyYWRpdXM6ICRwYWdpbmF0aW9uLXJhZGl1cyxcbiAgJGNvbG9yOiAkcGFnaW5hdGlvbi1pdGVtLWNvbG9yLFxuICAkcGFkZGluZzogJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyXG4pIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gIG1hcmdpbi1ib3R0b206ICRtYXJnaW4tYm90dG9tO1xuXG4gIC8vIExpc3QgaXRlbVxuICBsaSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nO1xuICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuXG4gICAgQGlmICRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtcyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICY6bGFzdC1jaGlsZCxcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9XG5cbiAgICAgIEBpZiAkcGFnaW5hdGlvbi1tb2JpbGUtY3VycmVudC1pdGVtIHtcbiAgICAgICAgJi5jdXJyZW50IHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFBhZ2UgbGlua3NcbiAgYSxcbiAgYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAkcGFkZGluZztcbiAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICAgIGNvbG9yOiAkY29sb3I7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBjdXJyZW50IHBhZ2luYXRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byBhbiBgPGE+YC5cbkBtaXhpbiBwYWdpbmF0aW9uLWl0ZW0tY3VycmVudCAoXG4gICRwYWRkaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmcsXG4gICRiYWNrZ3JvdW5kLWN1cnJlbnQ6ICRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50LFxuICAkY29sb3ItY3VycmVudDogJHBhZ2luYXRpb24taXRlbS1jb2xvci1jdXJyZW50XG4pIHtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWN1cnJlbnQ7XG4gIGNvbG9yOiAkY29sb3ItY3VycmVudDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgZGlzYWJsZWQgcGFnaW5hdGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIGFuIGA8YT5gLlxuQG1peGluIHBhZ2luYXRpb24taXRlbS1kaXNhYmxlZCAoXG4gICRwYWRkaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmcsXG4gICRjb2xvcjogJHBhZ2luYXRpb24taXRlbS1jb2xvci1kaXNhYmxlZFxuKSB7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICBjb2xvcjogJGNvbG9yO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gZWxsaXBzaXMgZm9yIHVzZSBpbiBhIHBhZ2luYXRpb24gbGlzdC5cbkBtaXhpbiBwYWdpbmF0aW9uLWVsbGlwc2lzIChcbiAgJHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZyxcbiAgJGNvbG9yOiAkcGFnaW5hdGlvbi1lbGxpcHNpcy1jb2xvclxuKSB7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICBjb250ZW50OiAnXFwyMDI2JztcbiAgY29sb3I6ICRjb2xvcjtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcGFnaW5hdGlvbiB7XG4gIC5wYWdpbmF0aW9uIHtcbiAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWNvbnRhaW5lcjtcblxuICAgIC5jdXJyZW50IHtcbiAgICAgIEBpbmNsdWRlIHBhZ2luYXRpb24taXRlbS1jdXJyZW50O1xuICAgIH1cblxuICAgIC5kaXNhYmxlZCB7XG4gICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgLmVsbGlwc2lzOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWVsbGlwc2lzO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkcGFnaW5hdGlvbi1hcnJvd3Mge1xuICAgIC5wYWdpbmF0aW9uLXByZXZpb3VzIGE6OmJlZm9yZSxcbiAgICAucGFnaW5hdGlvbi1wcmV2aW91cy5kaXNhYmxlZDo6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwLjVyZW07XG4gICAgICBjb250ZW50OiAnXFwwMGFiJztcbiAgICB9XG5cbiAgICAucGFnaW5hdGlvbi1uZXh0IGE6OmFmdGVyLFxuICAgIC5wYWdpbmF0aW9uLW5leHQuZGlzYWJsZWQ6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDAuNXJlbTtcbiAgICAgIGNvbnRlbnQ6ICdcXDAwYmInO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBwcm9ncmVzcyBiYXIgY29udGFpbmVyLlxuQG1peGluIHByb2dyZXNzLWNvbnRhaW5lciB7XG4gIGhlaWdodDogJHByb2dyZXNzLWhlaWdodDtcbiAgbWFyZ2luLWJvdHRvbTogJHByb2dyZXNzLW1hcmdpbi1ib3R0b207XG4gIGJvcmRlci1yYWRpdXM6ICRwcm9ncmVzcy1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1iYWNrZ3JvdW5kO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBpbm5lciBtZXRlciBvZiBhIHByb2dyZXNzIGJhci5cbkBtaXhpbiBwcm9ncmVzcy1tZXRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZ3Jlc3MtbWV0ZXItYmFja2dyb3VuZDtcblxuICBAaWYgaGFzLXZhbHVlKCRwcm9ncmVzcy1yYWRpdXMpIHtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRleHQgaW4gdGhlIHByb2dyZXNzIG1ldGVyLlxuQG1peGluIHByb2dyZXNzLW1ldGVyLXRleHQge1xuICBAaW5jbHVkZSBhYnNvbHV0ZS1jZW50ZXI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogJHdoaXRlO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gIEBpZiBoYXMtdmFsdWUoJHByb2dyZXNzLXJhZGl1cykge1xuICAgIGJvcmRlci1yYWRpdXM6ICRwcm9ncmVzcy1yYWRpdXM7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvZ3Jlc3MtYmFyIHtcbiAgLy8gUHJvZ3Jlc3MgYmFyXG4gIC5wcm9ncmVzcyB7XG4gICAgQGluY2x1ZGUgcHJvZ3Jlc3MtY29udGFpbmVyO1xuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkZm91bmRhdGlvbi1wYWxldHRlIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIElubmVyIG1ldGVyXG4gIC5wcm9ncmVzcy1tZXRlciB7XG4gICAgQGluY2x1ZGUgcHJvZ3Jlc3MtbWV0ZXI7XG4gIH1cblxuICAvLyBJbm5lciBtZXRlciB0ZXh0XG4gIC5wcm9ncmVzcy1tZXRlci10ZXh0IHtcbiAgICBAaW5jbHVkZSBwcm9ncmVzcy1tZXRlci10ZXh0O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8gW1RPRE9dIENoZWNrIGhvdyBwbHVnaW4gY29uZmlybXMgZGlzYWJsZWQgb3IgdmVydGljYWwgc3RhdHVzXG4vLyBbVE9ET10gQ2hlY2sgaWYgdHJhbnNpdGlvbjogYWxsOyBpcyBuZWNlc3NhcnlcblxuLy8vL1xuLy8vIEBncm91cCBzbGlkZXJcbi8vLy9cblxuLy8vIERlZmF1bHQgc2xpZGVyIHdpZHRoIG9mIGEgdmVydGljYWwgc2xpZGVyLiAoRG9lc24ndCBhcHBseSB0byB0aGUgbmF0aXZlIHNsaWRlci4pXG4vLy8gQHR5cGUgTnVtYmVyXG4kc2xpZGVyLXdpZHRoLXZlcnRpY2FsOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUcmFuc2l0aW9uIHByb3BlcnRpZXMgdG8gYXBwbHkgdG8gdGhlIHNsaWRlciBoYW5kbGUgYW5kIGZpbGwuIChEb2Vzbid0IGFwcGx5IHRvIHRoZSBuYXRpdmUgc2xpZGVyLilcbi8vLyBAdHlwZSBUcmFuc2l0aW9uXG4kc2xpZGVyLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4vLy8gQWRkcyB0aGUgZ2VuZXJhbCBzdHlsZXMgZm9yIHNsaWRlcnMuXG5AbWl4aW4gc2xpZGVyLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAkc2xpZGVyLWhlaWdodDtcbiAgbWFyZ2luLXRvcDogMS4yNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMi4yNXJlbTtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2xpZGVyLWJhY2tncm91bmQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHRvdWNoLWFjdGlvbjogbm9uZTtcbn1cblxuLy8vIEFkZHMgdGhlIGdlbmVyYWwgc3R5bGVzIGZvciBhY3RpdmUgZmlsbCBmb3Igc2xpZGVycy5cbkBtaXhpbiBzbGlkZXItZmlsbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRzbGlkZXItaGVpZ2h0O1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICRzbGlkZXItZmlsbC1iYWNrZ3JvdW5kO1xuICB0cmFuc2l0aW9uOiAkc2xpZGVyLXRyYW5zaXRpb247XG5cbiAgJi5pcy1kcmFnZ2luZyB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDBzIGxpbmVhcjtcbiAgfVxufVxuXG4vLy8gQWRkcyB0aGUgZ2VuZXJhbCBzdHlsZXMgZm9yIHRoZSBzbGlkZXIgaGFuZGxlcy5cbkBtaXhpbiBzbGlkZXItaGFuZGxlIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBAaW5jbHVkZSB2ZXJ0aWNhbC1jZW50ZXI7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDE7XG5cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogJHNsaWRlci1oYW5kbGUtd2lkdGg7XG4gIGhlaWdodDogJHNsaWRlci1oYW5kbGUtaGVpZ2h0O1xuXG4gIGJvcmRlci1yYWRpdXM6ICRzbGlkZXItcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kO1xuICB0cmFuc2l0aW9uOiAkc2xpZGVyLXRyYW5zaXRpb247XG4gIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHNjYWxlLWNvbG9yKCRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQsICRsaWdodG5lc3M6IC0xNSUpO1xuICB9XG5cbiAgJi5pcy1kcmFnZ2luZyB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDBzIGxpbmVhcjtcbiAgfVxufVxuXG5AbWl4aW4gc2xpZGVyLWRpc2FibGVkIHtcbiAgb3BhY2l0eTogJHNsaWRlci1vcGFjaXR5LWRpc2FibGVkO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG5AbWl4aW4gc2xpZGVyLXZlcnRpY2FsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogJHNsaWRlci13aWR0aC12ZXJ0aWNhbDtcbiAgaGVpZ2h0OiAxMi41cmVtO1xuICBtYXJnaW46IDAgMS4yNXJlbTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLCAtMSk7XG5cbiAgLnNsaWRlci1maWxsIHtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6ICRzbGlkZXItd2lkdGgtdmVydGljYWw7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgfVxuXG4gIC5zbGlkZXItaGFuZGxlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB3aWR0aDogJHNsaWRlci1oYW5kbGUtaGVpZ2h0O1xuICAgIGhlaWdodDogJHNsaWRlci1oYW5kbGUtd2lkdGg7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXNsaWRlciB7XG4gIC8vIENvbnRhaW5lclxuICAuc2xpZGVyIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItY29udGFpbmVyO1xuICB9XG5cbiAgLy8gRmlsbCBhcmVhXG4gIC5zbGlkZXItZmlsbCB7XG4gICAgQGluY2x1ZGUgc2xpZGVyLWZpbGw7XG4gIH1cblxuICAvLyBEcmFnZ2FibGUgaGFuZGxlXG4gIC5zbGlkZXItaGFuZGxlIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItaGFuZGxlO1xuICB9XG5cbiAgLy8gRGlzYWJsZWQgc3RhdGVcbiAgLnNsaWRlci5kaXNhYmxlZCxcbiAgLnNsaWRlcltkaXNhYmxlZF0ge1xuICAgIEBpbmNsdWRlIHNsaWRlci1kaXNhYmxlZDtcbiAgfVxuXG4gIC8vIFZlcnRpY2FsIHNsaWRlclxuICAuc2xpZGVyLnZlcnRpY2FsIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItdmVydGljYWw7XG4gIH1cblxuICAvLyBSVEwgc3VwcG9ydFxuICBAaWYgJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwge1xuICAgIC5zbGlkZXI6bm90KC52ZXJ0aWNhbCkge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgtMSwgMSk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQG1peGluIGZvdW5kYXRpb24tc3RpY2t5IHtcbiAgLnN0aWNreS1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC5zdGlja3kge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICAuc3RpY2t5LmlzLXN0dWNrIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgei1pbmRleDogNTtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgICYuaXMtYXQtdG9wIHtcbiAgICAgIHRvcDogMDtcbiAgICB9XG5cbiAgICAmLmlzLWF0LWJvdHRvbSB7XG4gICAgICBib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgLnN0aWNreS5pcy1hbmNob3JlZCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IGF1dG87XG5cbiAgICAmLmlzLWF0LWJvdHRvbSB7XG4gICAgICBib3R0b206IDA7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBzd2l0Y2hcbi8vLy9cblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYSBzd2l0Y2guXG4vLy8gQHR5cGUgQ29sb3JcbiRzd2l0Y2gtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBhY3RpdmUgY29sb3Igb2YgYSBzd2l0Y2guXG4vLy8gQHR5cGUgQ29sb3JcbiRzd2l0Y2gtYmFja2dyb3VuZC1hY3RpdmU6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG9mIGEgc3dpdGNoLCB3aXRoIG5vIGNsYXNzIGFwcGxpZWQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLWhlaWdodDogMnJlbSAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBvZiBhIHN3aXRjaCB3aXRoIC50aW55IGNsYXNzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1oZWlnaHQtdGlueTogMS41cmVtICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG9mIGEgc3dpdGNoIHdpdGggLnNtYWxsIGNsYXNzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1oZWlnaHQtc21hbGw6IDEuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgb2YgYSBzd2l0Y2ggd2l0aCAubGFyZ2UgY2xhc3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLWhlaWdodC1sYXJnZTogMi41cmVtICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBvZiB0aGUgc3dpdGNoXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBib3JkZXIgYXJvdW5kIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLW1hcmdpbjogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgc3dpdGNoIGNvbnRhaW5lciBhbmQgcGFkZGxlLlxuLy8vIEB0eXBlIENvbG9yXG4kc3dpdGNoLXBhZGRsZS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gYSBzd2l0Y2ggcGFkZGxlIGFuZCB0aGUgZWRnZSBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtcGFkZGxlLW9mZnNldDogMC4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIGJvcmRlciByYWRpdXMgb2YgdGhlIHN3aXRjaCBwYWRkbGVcbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtcGFkZGxlLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBzd2l0Y2ggdHJhbnNpdGlvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dCAhZGVmYXVsdDtcblxuLy8gbWFrZSB0aGVtIHZhcmlhYmxlc1xuLy8gYXNrIGFib3V0IGFjY2Vzc2liaWxpdHkgb24gbGFiZWxcbi8vIGNoYW5nZSBjbGFzcyBuYW1lIGZvciB0ZXh0XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzd2l0Y2ggY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIGEgY29udGFpbmVyIGNsYXNzLlxuQG1peGluIHN3aXRjaC1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1ib3R0b206ICRzd2l0Y2gtbWFyZ2luO1xuICBvdXRsaW5lOiAwO1xuXG4gIC8vIFRoZXNlIHByb3BlcnRpZXMgY2FzY2FkZSBkb3duIHRvIHRoZSBzd2l0Y2ggdGV4dFxuICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAkd2hpdGU7XG5cbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzd2l0Y2ggaW5wdXQuIEFwcGx5IHRoaXMgdG8gYW4gYDxpbnB1dD5gIHdpdGhpbiBhIHN3aXRjaC5cbkBtaXhpbiBzd2l0Y2gtaW5wdXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGJhY2tncm91bmQgYW5kIHBhZGRsZSBvZiBhIHN3aXRjaC4gQXBwbHkgdGhpcyB0byBhIGA8bGFiZWw+YCB3aXRoaW4gYSBzd2l0Y2guXG5AbWl4aW4gc3dpdGNoLXBhZGRsZSB7XG4gICRzd2l0Y2gtd2lkdGg6ICRzd2l0Y2gtaGVpZ2h0ICogMjtcbiAgJHBhZGRsZS1oZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0IC0gKCRzd2l0Y2gtcGFkZGxlLW9mZnNldCAqIDIpO1xuICAkcGFkZGxlLXdpZHRoOiAkc3dpdGNoLWhlaWdodCAtICgkc3dpdGNoLXBhZGRsZS1vZmZzZXQgKiAyKTtcbiAgJHBhZGRsZS1hY3RpdmUtb2ZmZXN0OiAkc3dpdGNoLXdpZHRoIC0gJHBhZGRsZS13aWR0aCAtICRzd2l0Y2gtcGFkZGxlLW9mZnNldDtcblxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogJHN3aXRjaC13aWR0aDtcbiAgaGVpZ2h0OiAkc3dpdGNoLWhlaWdodDtcblxuICBib3JkZXItcmFkaXVzOiAkc3dpdGNoLXJhZGl1cztcbiAgYmFja2dyb3VuZDogJHN3aXRjaC1iYWNrZ3JvdW5kO1xuICB0cmFuc2l0aW9uOiAkc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uO1xuXG4gIC8vIFJlc2V0dGluZyB0aGVzZSA8bGFiZWw+IHByZXNldHMgc28gdHlwZSBzdHlsZXMgY2FzY2FkZSBkb3duXG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICBjb2xvcjogaW5oZXJpdDtcblxuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgLy8gTmVlZGVkIHRvIG92ZXJyaWRlIHNwZWNpZmljaXR5XG4gIGlucHV0ICsgJiB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLy8gVGhlIHBhZGRsZSBpdHNlbGZcbiAgJjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6ICRzd2l0Y2gtcGFkZGxlLW9mZnNldDtcbiAgICAjeyRnbG9iYWwtbGVmdH06ICRzd2l0Y2gtcGFkZGxlLW9mZnNldDtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAkcGFkZGxlLXdpZHRoO1xuICAgIGhlaWdodDogJHBhZGRsZS1oZWlnaHQ7XG5cbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIGJvcmRlci1yYWRpdXM6ICRzd2l0Y2gtcGFkZGxlLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kOiAkc3dpdGNoLXBhZGRsZS1iYWNrZ3JvdW5kO1xuICAgIHRyYW5zaXRpb246ICRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb247XG4gICAgY29udGVudDogJyc7XG4gIH1cblxuICAvLyBDaGFuZ2UgdGhlIHZpc3VhbCBzdHlsZSB3aGVuIHRoZSBzd2l0Y2ggaXMgYWN0aXZlXG4gIGlucHV0OmNoZWNrZWQgfiAmIHtcbiAgICBiYWNrZ3JvdW5kOiAkc3dpdGNoLWJhY2tncm91bmQtYWN0aXZlO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgI3skZ2xvYmFsLWxlZnR9OiAkcGFkZGxlLWFjdGl2ZS1vZmZlc3Q7XG4gICAgfVxuICB9XG5cbiAgaW5wdXQ6Zm9jdXMgfiAmIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIH1cbn1cblxuLy8vIEFkZHMgYmFzZSBzdHlsZXMgZm9yIGFjdGl2ZS9pbmFjdGl2ZSB0ZXh0IGluc2lkZSBhIHN3aXRjaC4gQXBwbHkgdGhpcyB0byB0ZXh0IGVsZW1lbnRzIGluc2lkZSB0aGUgc3dpdGNoIGA8bGFiZWw+YC5cbkBtaXhpbiBzd2l0Y2gtdGV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgYWN0aXZlIHN0YXRlIHRleHQgd2l0aGluIGEgc3dpdGNoLlxuQG1peGluIHN3aXRjaC10ZXh0LWFjdGl2ZSB7XG4gICN7JGdsb2JhbC1sZWZ0fTogOCU7XG4gIGRpc3BsYXk6IG5vbmU7XG5cbiAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsID4gJiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgaW5hY3RpdmUgc3RhdGUgdGV4dCB3aXRoaW4gYSBzd2l0Y2guXG5AbWl4aW4gc3dpdGNoLXRleHQtaW5hY3RpdmUge1xuICAjeyRnbG9iYWwtcmlnaHR9OiAxNSU7XG5cbiAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsID4gJiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4vLy8gQ2hhbmdlcyB0aGUgc2l6ZSBvZiBhIHN3aXRjaCBieSBtb2RpZnlpbmcgdGhlIHNpemUgb2YgdGhlIGJvZHkgYW5kIHBhZGRsZS4gQXBwbHkgdGhpcyB0byBhIHN3aXRjaCBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRmb250LXNpemUgWzFyZW1dIC0gRm9udCBzaXplIG9mIGxhYmVsIHRleHQgd2l0aGluIHRoZSBzd2l0Y2guXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzd2l0Y2gtaGVpZ2h0IFsycmVtXSAtIEhlaWdodCBvZiB0aGUgc3dpdGNoIGJvZHkuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRwYWRkbGUtb2Zmc2V0IFswLjI1cmVtXSAtIFNwYWNpbmcgYmV0d2VlbiB0aGUgc3dpdGNoIHBhZGRsZSBhbmQgdGhlIGVkZ2Ugb2YgdGhlIHN3aXRjaCBib2R5LlxuQG1peGluIHN3aXRjaC1zaXplKFxuICAkZm9udC1zaXplOiAxcmVtLFxuICAkc3dpdGNoLWhlaWdodDogMnJlbSxcbiAgJHBhZGRsZS1vZmZzZXQ6IDAuMjVyZW1cbikge1xuXG4gICRzd2l0Y2gtd2lkdGg6ICRzd2l0Y2gtaGVpZ2h0ICogMjtcbiAgJHBhZGRsZS13aWR0aDogJHN3aXRjaC1oZWlnaHQgLSAoJHBhZGRsZS1vZmZzZXQgKiAyKTtcbiAgJHBhZGRsZS1oZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0IC0gKCRwYWRkbGUtb2Zmc2V0ICogMik7XG4gICRwYWRkbGUtYWN0aXZlLW9mZmVzdDogJHN3aXRjaC13aWR0aCAtICRwYWRkbGUtd2lkdGggLSAkcGFkZGxlLW9mZnNldDtcblxuICBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0O1xuXG4gIC5zd2l0Y2gtcGFkZGxlIHtcbiAgICB3aWR0aDogJHN3aXRjaC13aWR0aDtcbiAgICBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0O1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgfVxuXG4gIC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgdG9wOiAkcGFkZGxlLW9mZnNldDtcbiAgICAjeyRnbG9iYWwtbGVmdH06ICRwYWRkbGUtb2Zmc2V0O1xuICAgIHdpZHRoOiAkcGFkZGxlLXdpZHRoO1xuICAgIGhlaWdodDogJHBhZGRsZS1oZWlnaHQ7XG4gIH1cblxuICBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICAjeyRnbG9iYWwtbGVmdH06ICRwYWRkbGUtYWN0aXZlLW9mZmVzdDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1zd2l0Y2gge1xuICAvLyBDb250YWluZXIgY2xhc3NcbiAgLnN3aXRjaCB7XG4gICAgaGVpZ2h0OiAkc3dpdGNoLWhlaWdodDtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtY29udGFpbmVyO1xuICB9XG5cbiAgLy8gPGlucHV0PiBlbGVtZW50XG4gIC5zd2l0Y2gtaW5wdXQge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1pbnB1dDtcbiAgfVxuXG4gIC8vIDxsYWJlbD4gZWxlbWVudFxuICAuc3dpdGNoLXBhZGRsZSB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXBhZGRsZTtcbiAgfVxuXG4gIC8vIEJhc2UgbGFiZWwgdGV4dCBzdHlsZXNcbiAgJXN3aXRjaC10ZXh0IHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtdGV4dDtcbiAgfVxuXG4gIC8vIEFjdGl2ZSBsYWJlbCB0ZXh0IHN0eWxlc1xuICAuc3dpdGNoLWFjdGl2ZSB7XG4gICAgQGV4dGVuZCAlc3dpdGNoLXRleHQ7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXRleHQtYWN0aXZlO1xuICB9XG5cbiAgLy8gSW5hY3RpdmUgbGFiZWwgdGV4dCBzdHlsZXNcbiAgLnN3aXRjaC1pbmFjdGl2ZSB7XG4gICAgQGV4dGVuZCAlc3dpdGNoLXRleHQ7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXRleHQtaW5hY3RpdmU7XG4gIH1cblxuICAvLyBTd2l0Y2ggc2l6ZXNcbiAgLnN3aXRjaC50aW55IHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtc2l6ZShyZW0tY2FsYygxMCksICRzd2l0Y2gtaGVpZ2h0LXRpbnksICRzd2l0Y2gtcGFkZGxlLW9mZnNldCk7XG4gIH1cblxuICAuc3dpdGNoLnNtYWxsIHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtc2l6ZShyZW0tY2FsYygxMiksICRzd2l0Y2gtaGVpZ2h0LXNtYWxsLCAkc3dpdGNoLXBhZGRsZS1vZmZzZXQpO1xuICB9XG5cbiAgLnN3aXRjaC5sYXJnZSB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXNpemUocmVtLWNhbGMoMTYpLCAkc3dpdGNoLWhlaWdodC1sYXJnZSwgJHN3aXRjaC1wYWRkbGUtb2Zmc2V0KTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vIHNhc3MtbGludDpkaXNhYmxlIGZvcmNlLWVsZW1lbnQtbmVzdGluZywgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuXG4vLy8vXG4vLy8gQGdyb3VwIHRhYmxlXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciB0YWJsZSBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtYmFja2dyb3VuZDogJHdoaXRlICAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc2NhbGUgZm9yIGRhcmtlbmluZyB0aGUgc3RyaXBlZCB0YWJsZSByb3dzIGFuZCB0aGUgdGFibGUgYm9yZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYmxlLWNvbG9yLXNjYWxlOiA1JSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc3R5bGUgZm9yIHRhYmxlIGJvcmRlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtYm9yZGVyOiAxcHggc29saWQgc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIHRhYmxlLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYmxlLXBhZGRpbmc6IHJlbS1jYWxjKDggMTAgMTApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzY2FsZSBmb3IgZGFya2VuaW5nIHRoZSB0YWJsZSByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYmxlLWhvdmVyLXNjYWxlOiAyJSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2Ygc3RhbmRhcmQgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHN0cmlwZWQgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtcm93LXN0cmlwZS1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgKyAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCB0YWJsZXMgYXJlIHN0cmlwZWQgYnkgZGVmYXVsdCBhbmQgYW4gLnVuc3RyaXBlZCBjbGFzcyBpcyBjcmVhdGVkLiBJZiBgZmFsc2VgLCBhIC5zdHJpcGVkIGNsYXNzIGlzIGNyZWF0ZWQuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHRhYmxlLWlzLXN0cmlwZWQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIHN0cmlwZWQgcm93cy5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBzaG93aW5nIHRoZSBzdHJpcGUgb24gcm93cyBvZiB0aGUgdGFibGVzLCBleGNsdWRpbmcgdGhlIGhlYWRlciBhbmQgZm9vdGVyLiBJZiBldmVuLCB0aGUgZXZlbiByb3dzIHdpbGwgaGF2ZSBhIGJhY2tncm91bmQgY29sb3IuIElmIG9kZCwgdGhlIG9kZCByb3dzIHdpbGwgaGF2ZSBhIGJhY2tncm91bmQgY29sb3IuIElmIGVtcHR5LCBvciBhbnkgb3RoZXIgdmFsdWUsIHRoZSB0YWJsZSByb3dzIHdpbGwgaGF2ZSBubyBzdHJpcGluZy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kdGFibGUtc3RyaXBlOiBldmVuICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgaGVhZGVyIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1oZWFkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgLyAyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgaGVhZGVyIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLWhlYWQtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWhlYWQtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGZvb3RlciBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtZm9vdC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgZm9vdGVyIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLWZvb3Qtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWZvb3QtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgaGVhZGVyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtaGVhZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBmb290ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1mb290LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBzaG93aW5nIHRoZSBoZWFkZXIgd2hlbiB1c2luZyBzdGFja2VkIHRhYmxlcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQ6IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gQnJlYWtwb2ludCBhdCB3aGljaCBzdGFja2VkIHRhYmxlIHN3aXRjaGVzIGZyb20gbW9iaWxlIHRvIGRlc2t0b3Agdmlldy5cbi8vLyBAdHlwZSBCcmVha3BvaW50XG4kdGFibGUtc3RhY2stYnJlYWtwb2ludDogbWVkaXVtICFkZWZhdWx0O1xuXG5AbWl4aW4gLXpmLXRhYmxlLXN0cmlwZSgkc3RyaXBlOiAkdGFibGUtc3RyaXBlKSB7XG4gIHRyIHtcbiAgICAvLyBJZiBzdHJpcGUgaXMgc2V0IHRvIGV2ZW4sIGRhcmtlbiB0aGUgZXZlbiByb3dzLlxuICAgIEBpZiAkc3RyaXBlID09IGV2ZW4ge1xuICAgICAgJjpudGgtY2hpbGQoZXZlbikge1xuICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIElmIHN0cmlwZSBpcyBzZXQgdG8gb2RkLCBkYXJrZW4gdGhlIG9kZCByb3dzLlxuICAgIEBlbHNlIGlmICRzdHJpcGUgPT0gb2RkIHtcbiAgICAgICY6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gLXpmLXRhYmxlLXVuc3RyaXBlKCkge1xuICB0ciB7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICBib3JkZXItYm90dG9tOiAkdGFibGUtYm9yZGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1iYWNrZ3JvdW5kO1xuICB9XG59XG5cbkBtaXhpbiAtemYtdGFibGUtY2hpbGRyZW4tc3R5bGVzKCRzdHJpcGU6ICR0YWJsZS1zdHJpcGUsICRpcy1zdHJpcGVkOiAkdGFibGUtaXMtc3RyaXBlZCkge1xuICB0aGVhZCxcbiAgdGJvZHksXG4gIHRmb290IHtcbiAgICBib3JkZXI6ICR0YWJsZS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJhY2tncm91bmQ7XG4gIH1cblxuICAvLyBDYXB0aW9uXG4gIGNhcHRpb24ge1xuICAgIHBhZGRpbmc6ICR0YWJsZS1wYWRkaW5nO1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICB9XG5cbiAgLy8gVGFibGUgaGVhZFxuICB0aGVhZCB7XG4gICAgYmFja2dyb3VuZDogJHRhYmxlLWhlYWQtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHRhYmxlLWhlYWQtZm9udC1jb2xvcjtcbiAgfVxuXG4gIC8vIFRhYmxlIGZvb3RcbiAgdGZvb3Qge1xuICAgIGJhY2tncm91bmQ6ICR0YWJsZS1mb290LWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICR0YWJsZS1mb290LWZvbnQtY29sb3I7XG4gIH1cblxuICAvLyBUYWJsZSBoZWFkIGFuZCBmb290XG4gIHRoZWFkLFxuICB0Zm9vdCB7XG4gICAgLy8gUm93cyB3aXRoaW4gaGVhZCBhbmQgZm9vdFxuICAgIHRyIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIC8vIENlbGxzIHdpdGhpbiBoZWFkIGFuZCBmb290XG4gICAgdGgsXG4gICAgdGQge1xuICAgICAgcGFkZGluZzogJHRhYmxlLXBhZGRpbmc7XG4gICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICAgIHRleHQtYWxpZ246ICN7JGdsb2JhbC1sZWZ0fTtcbiAgICB9XG4gIH1cblxuICAvLyBUYWJsZSByb3dzXG4gIHRib2R5IHtcbiAgICB0aCxcbiAgICB0ZCB7XG4gICAgICBwYWRkaW5nOiAkdGFibGUtcGFkZGluZztcbiAgICB9XG4gIH1cblxuICAvLyBJZiB0YWJsZXMgYXJlIHN0cmlwZWRcbiAgQGlmICRpcy1zdHJpcGVkID09IHRydWUge1xuICAgIHRib2R5IHtcbiAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS1zdHJpcGUoJHN0cmlwZSk7XG4gICAgfVxuXG4gICAgJi51bnN0cmlwZWQge1xuICAgICAgdGJvZHkge1xuICAgICAgICBAaW5jbHVkZSAtemYtdGFibGUtdW5zdHJpcGUoKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gSWYgdGFibGVzIGFyZSBub3Qgc3RyaXBlZFxuICBAZWxzZSBpZiAkaXMtc3RyaXBlZCA9PSBmYWxzZSB7XG4gICAgdGJvZHkge1xuICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXVuc3RyaXBlKCk7XG4gICAgfVxuXG4gICAgJi5zdHJpcGVkIHtcbiAgICAgIHRib2R5IHtcbiAgICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXN0cmlwZSgkc3RyaXBlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgdGhlIGdlbmVyYWwgc3R5bGVzIGZvciB0YWJsZXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RyaXBlIFskdGFibGUtc3RyaXBlXSAtIFVzZXMga2V5d29yZHMgZXZlbiwgb2RkLCBvciBub25lIHRvIGRhcmtlbiByb3dzIG9mIHRoZSB0YWJsZS4gVGhlIGRlZmF1bHQgdmFsdWUgaXMgZXZlbi5cbkBtaXhpbiB0YWJsZShcbiAgJHN0cmlwZTogJHRhYmxlLXN0cmlwZSxcbiAgJG5lc3Q6IGZhbHNlXG4pIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuICBAaWYgJG5lc3Qge1xuICAgIEBpbmNsdWRlIC16Zi10YWJsZS1jaGlsZHJlbi1zdHlsZXMoJHN0cmlwZSk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBhdC1yb290IHtcbiAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS1jaGlsZHJlbi1zdHlsZXMoJHN0cmlwZSk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHRoZSBhYmlsaXR5IHRvIGhvcml6b250YWxseSBzY3JvbGwgdGhlIHRhYmxlIHdoZW4gdGhlIGNvbnRlbnQgb3ZlcmZsb3dzIGhvcml6b250YWxseS5cbkBtaXhpbiB0YWJsZS1zY3JvbGwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXg6IGF1dG87XG59XG5cbi8vLyBTbGlnaHRseSBkYXJrZW5zIHRoZSB0YWJsZSByb3dzIG9uIGhvdmVyLlxuQG1peGluIHRhYmxlLWhvdmVyIHtcbiAgdGhlYWQgdHIge1xuICAgIC8vRGFya2VucyB0aGUgdGFibGUgaGVhZGVyIHJvd3Mgb24gaG92ZXIuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtaGVhZC1yb3ctaG92ZXI7XG4gICAgfVxuICB9XG5cbiAgdGZvb3QgdHIge1xuICAgIC8vRGFya2VucyB0aGUgdGFibGUgZm9vdGVyIHJvd3Mgb24gaG92ZXIuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtZm9vdC1yb3ctaG92ZXI7XG4gICAgfVxuICB9XG5cbiAgdGJvZHkgdHIge1xuICAgIC8vRGFya2VucyB0aGUgbm9uLXN0cmlwZWQgdGFibGUgcm93cyBvbiBob3Zlci5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctaG92ZXI7XG4gICAgfVxuICB9XG5cbiAgQGlmICR0YWJsZS1pcy1zdHJpcGVkID09IHRydWUge1xuICAgIC8vIERhcmtlbnMgdGhlIGV2ZW4gc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBpZigkdGFibGUtc3RyaXBlID09IGV2ZW4pIHtcbiAgICAgICY6bm90KC51bnN0cmlwZWQpIHRyOm50aC1vZi10eXBlKGV2ZW4pOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGFya2VucyB0aGUgb2RkIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAZWxzZWlmKCR0YWJsZS1zdHJpcGUgPT0gb2RkKSB7XG4gICAgICAmOm5vdCgudW5zdHJpcGVkKSB0cjpudGgtb2YtdHlwZShvZGQpOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGVsc2UgaWYgJHRhYmxlLWlzLXN0cmlwZWQgPT0gZmFsc2Uge1xuICAgIC8vIERhcmtlbnMgdGhlIGV2ZW4gc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBpZigkdGFibGUtc3RyaXBlID09IGV2ZW4pIHtcbiAgICAgICYuc3RyaXBlZCB0cjpudGgtb2YtdHlwZShldmVuKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERhcmtlbnMgdGhlIG9kZCBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGVsc2VpZigkdGFibGUtc3RyaXBlID09IG9kZCkge1xuICAgICAgJi5zdHJpcGVkIHRyOm50aC1vZi10eXBlKG9kZCk6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHN0YWNrZWQgdGFibGUuIFVzZWZ1bCBmb3Igc21hbGwtc2NyZWVuIGxheW91dHMuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkaGVhZGVyIFskc2hvdy1oZWFkZXItZm9yLXN0YWNrZWRdIC0gU2hvdyB0aGUgZmlyc3QgdGggb2YgaGVhZGVyIHdoZW4gc3RhY2tlZC5cbkBtaXhpbiB0YWJsZS1zdGFjaygkaGVhZGVyOiAkc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQpIHtcbiAgQGlmICRoZWFkZXIge1xuICAgIHRoZWFkIHtcbiAgICAgIHRoIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICB0aGVhZCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIHRmb290IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgdHIsXG4gIHRoLFxuICB0ZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICB0ZCB7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10YWJsZSgkbmVzdDogZmFsc2UpIHtcbiAgdGFibGUge1xuICAgIEBpbmNsdWRlIHRhYmxlKCRuZXN0OiAkbmVzdCk7XG4gIH1cblxuICB0YWJsZS5zdGFjayB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGUtc3RhY2stYnJlYWtwb2ludCBkb3duKSB7XG4gICAgICBAaW5jbHVkZSB0YWJsZS1zdGFjaztcbiAgICB9XG4gIH1cblxuICB0YWJsZS5zY3JvbGwge1xuICAgIEBpbmNsdWRlIHRhYmxlLXNjcm9sbDtcbiAgfVxuXG4gIHRhYmxlLmhvdmVyIHtcbiAgICBAaW5jbHVkZSB0YWJsZS1ob3ZlcjtcbiAgfVxuXG4gIC50YWJsZS1zY3JvbGwge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG5cbiAgICB0YWJsZSB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdtYXRoJztcblxuJGNvbnRyYXN0LXdhcm5pbmdzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gQ2hlY2tzIHRoZSBsdW1pbmFuY2Ugb2YgYCRjb2xvcmAuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciB0byBjaGVjayB0aGUgbHVtaW5hbmNlIG9mLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIGx1bWluYW5jZSBvZiBgJGNvbG9yYC5cbkBmdW5jdGlvbiBjb2xvci1sdW1pbmFuY2UoJGNvbG9yKSB7XG4gIC8vIEFkYXB0ZWQgZnJvbTogaHR0cHM6Ly9naXRodWIuY29tL0xlYVZlcm91L2NvbnRyYXN0LXJhdGlvL2Jsb2IvZ2gtcGFnZXMvY29sb3IuanNcbiAgLy8gRm9ybXVsYTogaHR0cDovL3d3dy53My5vcmcvVFIvMjAwOC9SRUMtV0NBRzIwLTIwMDgxMjExLyNyZWxhdGl2ZWx1bWluYW5jZWRlZlxuICAkcmdiYTogcmVkKCRjb2xvciksIGdyZWVuKCRjb2xvciksIGJsdWUoJGNvbG9yKTtcbiAgJHJnYmEyOiAoKTtcblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIDMge1xuICAgICRyZ2I6IG50aCgkcmdiYSwgJGkpO1xuICAgICRyZ2I6ICRyZ2IgLyAyNTU7XG5cbiAgICAkcmdiOiBpZigkcmdiIDwgMC4wMzkyOCwgJHJnYiAvIDEyLjkyLCBwb3coKCRyZ2IgKyAwLjA1NSkgLyAxLjA1NSwgMi40KSk7XG5cbiAgICAkcmdiYTI6IGFwcGVuZCgkcmdiYTIsICRyZ2IpO1xuICB9XG5cbiAgQHJldHVybiAwLjIxMjYgKiBudGgoJHJnYmEyLCAxKSArIDAuNzE1MiAqIG50aCgkcmdiYTIsIDIpICsgMC4wNzIyICogbnRoKCRyZ2JhMiwgMyk7XG59XG5cbi8vLyBDaGVja3MgdGhlIGNvbnRyYXN0IHJhdGlvIG9mIHR3byBjb2xvcnMuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IxIC0gRmlyc3QgY29sb3IgdG8gY29tcGFyZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IyIC0gU2Vjb25kIGNvbG9yIHRvIGNvbXBhcmUuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgY29udHJhc3QgcmF0aW8gb2YgdGhlIGNvbXBhcmVkIGNvbG9ycy5cbkBmdW5jdGlvbiBjb2xvci1jb250cmFzdCgkY29sb3IxLCAkY29sb3IyKSB7XG4gIC8vIEFkYXB0ZWQgZnJvbTogaHR0cHM6Ly9naXRodWIuY29tL0xlYVZlcm91L2NvbnRyYXN0LXJhdGlvL2Jsb2IvZ2gtcGFnZXMvY29sb3IuanNcbiAgLy8gRm9ybXVsYTogaHR0cDovL3d3dy53My5vcmcvVFIvMjAwOC9SRUMtV0NBRzIwLTIwMDgxMjExLyNjb250cmFzdC1yYXRpb2RlZlxuICAkbHVtaW5hbmNlMTogY29sb3ItbHVtaW5hbmNlKCRjb2xvcjEpICsgMC4wNTtcbiAgJGx1bWluYW5jZTI6IGNvbG9yLWx1bWluYW5jZSgkY29sb3IyKSArIDAuMDU7XG4gICRyYXRpbzogJGx1bWluYW5jZTEgLyAkbHVtaW5hbmNlMjtcblxuICBAaWYgJGx1bWluYW5jZTIgPiAkbHVtaW5hbmNlMSB7XG4gICAgJHJhdGlvOiAxIC8gJHJhdGlvO1xuICB9XG5cbiAgJHJhdGlvOiByb3VuZCgkcmF0aW8gKiAxMCkgLyAxMDtcblxuICBAcmV0dXJuICRyYXRpbztcbn1cblxuLy8vIENoZWNrcyB0aGUgbHVtaW5hbmNlIG9mIGAkYmFzZWAsIGFuZCByZXR1cm5zIHRoZSBjb2xvciBmcm9tIGAkY29sb3JzYCAobGlzdCBvZiBjb2xvcnMpIHRoYXQgaGFzIHRoZSBtb3N0IGNvbnRyYXN0LlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhc2UgLSBDb2xvciB0byBjaGVjayBsdW1pbmFuY2UuXG4vLy8gQHBhcmFtIHtMaXN0fSAkY29sb3JzIFsoJHdoaXRlLCAkYmxhY2spXSAtIENvbG9ycyB0byBjb21wYXJlLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdG9sZXJhbmNlIFskZ2xvYmFsLWNvbG9yLXBpY2stY29udHJhc3QtdG9sZXJhbmNlXSAtIENvbnRyYXN0IHRvbGVyYW5jZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gdGhlIGNvbG9yIGZyb20gYCRjb2xvcnNgIChsaXN0IG9mIGNvbG9ycykgdGhhdCBoYXMgdGhlIG1vc3QgY29udHJhc3QuXG5AZnVuY3Rpb24gY29sb3ItcGljay1jb250cmFzdCgkYmFzZSwgJGNvbG9yczogKCR3aGl0ZSwgJGJsYWNrKSwgJHRvbGVyYW5jZTogJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZSkge1xuICAkY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgMSkpO1xuICAkYmVzdDogbnRoKCRjb2xvcnMsIDEpO1xuXG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggbGVuZ3RoKCRjb2xvcnMpIHtcbiAgICAkY3VycmVudC1jb250cmFzdDogY29sb3ItY29udHJhc3QoJGJhc2UsIG50aCgkY29sb3JzLCAkaSkpO1xuICAgIEBpZiAoJGN1cnJlbnQtY29udHJhc3QgLSAkY29udHJhc3QgPiAkdG9sZXJhbmNlKSB7XG4gICAgICAkY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgJGkpKTtcbiAgICAgICRiZXN0OiBudGgoJGNvbG9ycywgJGkpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJGNvbnRyYXN0LXdhcm5pbmdzIGFuZCAkY29udHJhc3QgPCAzKSB7XG4gICAgQHdhcm4gXCJDb250cmFzdCByYXRpbyBvZiAjeyRiZXN0fSBvbiAjeyRiYXNlfSBpcyBwcmV0dHkgYmFkLCBqdXN0ICN7JGNvbnRyYXN0fVwiO1xuICB9XG5cbiAgQHJldHVybiAkYmVzdDtcbn1cblxuLy8vIFNjYWxlcyBhIGNvbG9yIHRvIGJlIGRhcmtlciBpZiBpdCdzIGxpZ2h0LCBvciBsaWdodGVyIGlmIGl0J3MgZGFyay4gVXNlIHRoaXMgZnVuY3Rpb24gdG8gdGludCBhIGNvbG9yIGFwcHJvcHJpYXRlIHRvIGl0cyBsaWdodG5lc3MuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciB0byBzY2FsZS5cbi8vLyBAcGFyYW0ge1BlcmNlbnRhZ2V9ICRzY2FsZSBbNSVdIC0gQW1vdW50IHRvIHNjYWxlIHVwIG9yIGRvd24uXG4vLy8gQHBhcmFtIHtQZXJjZW50YWdlfSAkdGhyZXNob2xkIFs0MCVdIC0gVGhyZXNob2xkIG9mIGxpZ2h0bmVzcyB0byBjaGVjayBhZ2FpbnN0LlxuLy8vXG4vLy8gQHJldHVybnMge0NvbG9yfSBBIHNjYWxlZCBjb2xvci5cbkBmdW5jdGlvbiBzbWFydC1zY2FsZSgkY29sb3IsICRzY2FsZTogNSUsICR0aHJlc2hvbGQ6IDQwJSkge1xuICBAaWYgbGlnaHRuZXNzKCRjb2xvcikgPiAkdGhyZXNob2xkIHtcbiAgICAkc2NhbGU6IC0kc2NhbGU7XG4gIH1cbiAgQHJldHVybiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6ICRzY2FsZSk7XG59XG5cbi8vLyBHZXQgY29sb3IgZnJvbSBmb3VuZGF0aW9uLXBhbGV0dGVcbi8vL1xuLy8vIEBwYXJhbSB7a2V5fSBjb2xvciBrZXkgZnJvbSBmb3VuZGF0aW9uLXBhbGV0dGVcbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gY29sb3IgZnJvbSBmb3VuZGF0aW9uLXBhbGV0dGVcbkBmdW5jdGlvbiBnZXQtY29sb3IoJGtleSkge1xuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgJGtleSkge1xuICAgIEByZXR1cm4gbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCAka2V5KTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGVycm9yICdnaXZlbiAka2V5IGlzIG5vdCBhdmFpbGFibGUgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSc7XG4gIH1cbn1cblxuLy8vIFRyYW5zZmVycyB0aGUgY29sb3JzIGluIHRoZSBgJGZvdW5kYXRpb24tcGFsZXR0ZWBtYXAgaW50byB2YXJpYWJsZXMsIHN1Y2ggYXMgYCRwcmltYXJ5LWNvbG9yYCBhbmQgYCRzZWNvbmRhcnktY29sb3JgLiBDYWxsIHRoaXMgbWl4aW4gYmVsb3cgdGhlIEdsb2JhbCBzZWN0aW9uIG9mIHlvdXIgc2V0dGluZ3MgZmlsZSB0byBwcm9wZXJseSBtaWdyYXRlIHlvdXIgY29kZWJhc2UuXG5AbWl4aW4gYWRkLWZvdW5kYXRpb24tY29sb3JzKCkge1xuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkge1xuICAgICRwcmltYXJ5LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICRwcmltYXJ5LWNvbG9yOiAjMTc3OWJhICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSkge1xuICAgICRzZWNvbmRhcnktY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkc2Vjb25kYXJ5LWNvbG9yOiAjNzY3Njc2ICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHN1Y2Nlc3MpIHtcbiAgICAkc3VjY2Vzcy1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzdWNjZXNzKSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkc3VjY2Vzcy1jb2xvcjogIzNhZGI3NiAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCB3YXJuaW5nKSB7XG4gICAgJHdhcm5pbmctY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2FybmluZykgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJHdhcm5pbmctY29sb3I6ICNmZmFlMDAgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpIHtcbiAgICAkYWxlcnQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICRhbGVydC1jb2xvcjogI2NjNGIzNyAhZ2xvYmFsO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0aHVtYm5haWxcbi8vLy9cblxuLy8vIEJvcmRlciBhcm91bmQgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBCb3JkZXJcbiR0aHVtYm5haWwtYm9yZGVyOiBzb2xpZCA0cHggJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBmb3IgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBMZW5ndGhcbiR0aHVtYm5haWwtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IHVuZGVyIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgU2hhZG93XG4kdGh1bWJuYWlsLXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoJGJsYWNrLCAwLjIpICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyB1bmRlciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIFNoYWRvd1xuJHRodW1ibmFpbC1zaGFkb3ctaG92ZXI6IDAgMCA2cHggMXB4IHJnYmEoJHByaW1hcnktY29sb3IsIDAuNSkgIWRlZmF1bHQ7XG5cbi8vLyBUcmFuc2l0aW9uIHByb3BydGllcyBmb3IgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBUcmFuc2l0aW9uXG4kdGh1bWJuYWlsLXRyYW5zaXRpb246IGJveC1zaGFkb3cgMjAwbXMgZWFzZS1vdXQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3IgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0aHVtYm5haWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEFkZHMgdGh1bWJuYWlsIHN0eWxlcyB0byBhbiBlbGVtZW50LlxuQG1peGluIHRodW1ibmFpbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAkdGh1bWJuYWlsLW1hcmdpbi1ib3R0b207XG5cbiAgYm9yZGVyOiAkdGh1bWJuYWlsLWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHRodW1ibmFpbC1yYWRpdXM7XG4gIGJveC1zaGFkb3c6ICR0aHVtYm5haWwtc2hhZG93O1xuXG4gIGxpbmUtaGVpZ2h0OiAwO1xufVxuXG5AbWl4aW4gdGh1bWJuYWlsLWxpbmsge1xuICB0cmFuc2l0aW9uOiAkdGh1bWJuYWlsLXRyYW5zaXRpb247XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYm94LXNoYWRvdzogJHRodW1ibmFpbC1zaGFkb3ctaG92ZXI7XG4gIH1cblxuICBpbWFnZSB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10aHVtYm5haWwge1xuICAudGh1bWJuYWlsIHtcbiAgICBAaW5jbHVkZSB0aHVtYm5haWw7XG4gIH1cblxuICBhLnRodW1ibmFpbCB7XG4gICAgQGluY2x1ZGUgdGh1bWJuYWlsLWxpbms7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRpdGxlLWJhclxuLy8vL1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRpdGxlYmFyLWJhY2tncm91bmQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRleHQgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGl0bGViYXItY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIExlbmd0aFxuJHRpdGxlYmFyLXBhZGRpbmc6IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIHRleHQgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIFdlaWdodFxuJHRpdGxlYmFyLXRleHQtZm9udC13ZWlnaHQ6IGJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBtZW51IGljb25zIGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRpdGxlYmFyLWljb24tY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIG1lbnUgaWNvbnMgaW5zaWRlIGEgdGl0bGUgYmFyIG9uIGhvdmVyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGl0bGViYXItaWNvbi1jb2xvci1ob3ZlcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBiZXR3ZWVuIHRoZSBtZW51IGljb24gYW5kIHRleHQgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIExlbmd0aFxuJHRpdGxlYmFyLWljb24tc3BhY2luZzogMC4yNXJlbSAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tdGl0bGUtYmFyIHtcbiAgLnRpdGxlLWJhciB7XG4gICAgcGFkZGluZzogJHRpdGxlYmFyLXBhZGRpbmc7XG4gICAgYmFja2dyb3VuZDogJHRpdGxlYmFyLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICR0aXRsZWJhci1jb2xvcjtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIH1cblxuICAgIC5tZW51LWljb24ge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJHRpdGxlYmFyLWljb24tc3BhY2luZztcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkdGl0bGViYXItaWNvbi1zcGFjaW5nO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIC50aXRsZS1iYXItbGVmdCxcbiAgICAudGl0bGUtYmFyLXJpZ2h0IHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgfVxuXG4gICAgLnRpdGxlLWJhci1yaWdodCB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC50aXRsZS1iYXItbGVmdCB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG5cbiAgICAudGl0bGUtYmFyLXJpZ2h0IHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC50aXRsZS1iYXItdGl0bGUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGZvbnQtd2VpZ2h0OiAkdGl0bGViYXItdGV4dC1mb250LXdlaWdodDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdG9vbHRpcFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBjdXJzb3Igb2YgdGhlIGRlZmluZWQgdGVybS5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaGFzLXRpcC1jdXJzb3I6IGhlbHAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgd2VpZ2h0IG9mIHRoZSBkZWZpbmVkIHRlcm0uXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGhhcy10aXAtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBib3R0b20gb2YgdGhlIGRlZmluZWQgdGVybS5cbi8vLyBAdHlwZSBMaXN0XG4kaGFzLXRpcC1ib3JkZXItYm90dG9tOiBkb3R0ZWQgMXB4ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSB0b29sdGlwIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0b29sdGlwLWJhY2tncm91bmQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIHRvb2x0aXAgZm9udC5cbi8vLyBAdHlwZSBDb2xvclxuJHRvb2x0aXAtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBvZiB0aGUgdG9vbHRpcCBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtcGFkZGluZzogMC43NXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWF4IHdpZHRoIGZvciB0b29sdGlwcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLW1heC13aWR0aDogMTByZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBvZiB0aGUgdG9vbHRpcCB0ZXh0LiBCeSBkZWZhdWx0LCB3ZSByZWNvbW1lbmQgYSBzbWFsbGVyIGZvbnQgc2l6ZSB0aGFuIHRoZSBib2R5IGNvcHkuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1mb250LXNpemU6ICRzbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBpcCB3aWR0aCBmb3IgdG9vbHRpcHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1waXAtd2lkdGg6IDAuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBpcCBoZWlnaHQgZm9yIHRvb2x0aXBzLiBUaGlzIGlzIGhlbHBmdWwgZm9yIGNhbGN1bGF0aW5nIHRoZSBkaXN0YW5jZSBvZiB0aGUgdG9vbHRpcCBmcm9tIHRoZSB0b29sdGlwIHdvcmQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1waXAtaGVpZ2h0OiAkdG9vbHRpcC1waXAtd2lkdGggKiAwLjg2NiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciB0b29sdGlwcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBoYXMtdGlwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgYm9yZGVyLWJvdHRvbTogJGhhcy10aXAtYm9yZGVyLWJvdHRvbTtcbiAgZm9udC13ZWlnaHQ6ICRoYXMtdGlwLWZvbnQtd2VpZ2h0O1xuICBjdXJzb3I6ICRoYXMtdGlwLWN1cnNvcjtcbn1cblxuQG1peGluIHRvb2x0aXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogY2FsYygxMDAlICsgI3skdG9vbHRpcC1waXAtaGVpZ2h0fSk7XG4gIHotaW5kZXg6IDEyMDA7XG5cbiAgbWF4LXdpZHRoOiAkdG9vbHRpcC1tYXgtd2lkdGg7XG4gIHBhZGRpbmc6ICR0b29sdGlwLXBhZGRpbmc7XG5cbiAgYm9yZGVyLXJhZGl1czogJHRvb2x0aXAtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yO1xuICBmb250LXNpemU6ICR0b29sdGlwLWZvbnQtc2l6ZTtcbiAgY29sb3I6ICR0b29sdGlwLWNvbG9yO1xuXG4gICY6OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICB9XG5cbiAgJi5ib3R0b20ge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvb2x0aXAtcGlwLXdpZHRoLCAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLCB1cCk7XG4gICAgICBib3R0b206IDEwMCU7XG4gICAgfVxuXG4gICAgJi5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgfVxuICB9XG5cbiAgJi50b3Age1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvb2x0aXAtcGlwLXdpZHRoLCAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLCBkb3duKTtcbiAgICAgIHRvcDogMTAwJTtcbiAgICAgIGJvdHRvbTogYXV0bztcbiAgICB9XG5cbiAgICAmLmFsaWduLWNlbnRlcjo6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICB9XG4gIH1cblxuICAmLmxlZnQge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvb2x0aXAtcGlwLXdpZHRoLCAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLCByaWdodCk7XG4gICAgICBsZWZ0OiAxMDAlO1xuICAgIH1cblxuICAgICYuYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgfVxuICB9XG5cbiAgJi5yaWdodCB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9vbHRpcC1waXAtd2lkdGgsICR0b29sdGlwLWJhY2tncm91bmQtY29sb3IsIGxlZnQpO1xuICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgIH1cblxuICAgICYuYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgfVxuICB9XG5cbiAgJi5hbGlnbi10b3A6OmJlZm9yZSB7XG4gICAgYm90dG9tOiBhdXRvO1xuICAgIHRvcDogMTAlO1xuICB9XG5cbiAgJi5hbGlnbi1ib3R0b206OmJlZm9yZSB7XG4gICAgYm90dG9tOiAxMCU7XG4gICAgdG9wOiBhdXRvO1xuICB9XG5cbiAgJi5hbGlnbi1sZWZ0OjpiZWZvcmUge1xuICAgIGxlZnQ6IDEwJTtcbiAgICByaWdodDogYXV0bztcbiAgfVxuXG4gICYuYWxpZ24tcmlnaHQ6OmJlZm9yZSB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMTAlO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRvb2x0aXAge1xuICAuaGFzLXRpcCB7XG4gICAgQGluY2x1ZGUgaGFzLXRpcDtcbiAgfVxuXG4gIC50b29sdGlwIHtcbiAgICBAaW5jbHVkZSB0b29sdGlwO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0b3AtYmFyXG4vLy8vXG5cbi8vLyBQYWRkaW5nIGZvciB0aGUgdG9wIGJhci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b3BiYXItcGFkZGluZzogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgdGhlIHRvcCBiYXIuIFRoaXMgY29sb3IgYWxzbyBjYXNjYWRlcyB0byBtZW51cyB3aXRoaW4gdGhlIHRvcCBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0b3BiYXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIHN1Ym1lbnVzIHdpdGhpbiB0aGUgdG9wIGJhci4gVXNlZnVsbCBpZiAkdG9wYmFyLWJhY2tncm91bmQgaXMgdHJhbnNwYXJlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0b3BiYXItc3VibWVudS1iYWNrZ3JvdW5kOiAkdG9wYmFyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGZvciB0aGUgdG9wIGJhciB0aXRsZS5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b3BiYXItdGl0bGUtc3BhY2luZzogMC41cmVtIDFyZW0gMC41cmVtIDAgIWRlZmF1bHQ7XG5cbi8vLyBNYXhpbXVtIHdpZHRoIG9mIGA8aW5wdXQ+YCBlbGVtZW50cyBpbnNpZGUgdGhlIHRvcCBiYXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9wYmFyLWlucHV0LXdpZHRoOiAyMDBweCAhZGVmYXVsdDtcblxuLy8vIEJyZWFrcG9pbnQgYXQgd2hpY2ggdG9wIGJhciBzd2l0Y2hlcyBmcm9tIG1vYmlsZSB0byBkZXNrdG9wIHZpZXcuXG4vLy8gQHR5cGUgQnJlYWtwb2ludFxuJHRvcGJhci11bnN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHRvcCBiYXIgY29udGFpbmVyLlxuQG1peGluIHRvcC1iYXItY29udGFpbmVyIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIH1cblxuICBwYWRkaW5nOiAkdG9wYmFyLXBhZGRpbmc7XG5cbiAgJixcbiAgdWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0b3BiYXItYmFja2dyb3VuZDtcbiAgfVxuXG4gIC8vIENoZWNrIGlmICR0b3BiYXItYmFja2dyb3VuZCBpcyBkaWZmZXJudCBmcm9tICR0b3BiYXItYmFja2dyb3VuZC1zdWJtZW51XG4gIEBpZiAoJHRvcGJhci1iYWNrZ3JvdW5kICE9ICR0b3BiYXItc3VibWVudS1iYWNrZ3JvdW5kKSB7XG4gICAgdWwgdWwge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQ7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzdHJhaW4gd2lkdGggb2YgaW5wdXRzIGJ5IGRlZmF1bHQgdG8gbWFrZSB0aGVtIGVhc2llciB0byBhcnJhbmdlXG4gIGlucHV0IHtcbiAgICBtYXgtd2lkdGg6ICR0b3BiYXItaW5wdXQtd2lkdGg7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDFyZW07XG4gIH1cblxuICAvLyBUaGUgYWJvdmUgc3R5bGVzIHNob3VsZG4ndCBhcHBseSB0byBpbnB1dCBncm91cCBmaWVsZHNcbiAgLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgfVxuXG4gIGlucHV0LmJ1dHRvbiB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG59XG5cbi8vLyBNYWtlcyBzZWN0aW9ucyBvZiBhIHRvcCBiYXIgc3RhY2sgb24gdG9wIG9mIGVhY2ggb3RoZXIuXG5AbWl4aW4gdG9wLWJhci1zdGFja2VkIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgLy8gU3ViLXNlY3Rpb25zXG4gICAgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC8vIFN1Yi1zZWN0aW9uc1xuICAgIC50b3AtYmFyLWxlZnQsXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG59XG5cbi8vLyBVbmRvZXMgdGhlIENTUyBhcHBsaWVkIGJ5IHRoZSBgdG9wLWJhci1zdGFja2VkKClgIG1peGluLlxuQG1peGluIHRvcC1iYXItdW5zdGFjayB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuXG4gICAgLnRvcC1iYXItbGVmdCB7XG4gICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICB9XG5cbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdG9wLWJhciB7XG4gIC8vIFRvcCBiYXIgY29udGFpbmVyXG4gIC50b3AtYmFyIHtcbiAgICBAaW5jbHVkZSB0b3AtYmFyLWNvbnRhaW5lcjtcblxuICAgIC8vIFN0YWNrIG9uIHNtYWxsIHNjcmVlbnMgYnkgZGVmYXVsdFxuICAgIEBpbmNsdWRlIHRvcC1iYXItc3RhY2tlZDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRvcGJhci11bnN0YWNrLWJyZWFrcG9pbnQpIHtcbiAgICAgIEBpbmNsdWRlIHRvcC1iYXItdW5zdGFjaztcbiAgICB9XG5cbiAgICAvLyBHZW5lcmF0ZSBjbGFzc2VzIGZvciBzdGFja2luZyBvbiBlYWNoIHNjcmVlbiBzaXplIChkZWZpbmVkIGluICRicmVha3BvaW50LWNsYXNzZXMpXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAmLnN0YWNrZWQtZm9yLSN7JHNpemV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIGRvd24pIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRvcC1iYXItc3RhY2tlZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBTdWItc2VjdGlvbnNcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgLnRvcC1iYXItdGl0bGUge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICBtYXJnaW46ICR0b3BiYXItdGl0bGUtc3BhY2luZztcbiAgICB9XG5cbiAgICAudG9wLWJhci1sZWZ0LFxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLnRvcC1iYXItdGl0bGUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBwYWRkaW5nOiAkdG9wYmFyLXRpdGxlLXNwYWNpbmc7XG5cbiAgICAgIC5tZW51LWljb24ge1xuICAgICAgICBib3R0b206IDJweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudG9wLWJhci1sZWZ0IHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cblxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8gSGlkZSBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIG9ubHkgZGlzcGxheWluZyBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBzaG93LWZvcigkc2l6ZSkge1xuICAkc2l6ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRzaXplKTtcbiAgJHNpemU6IC16Zi1icC10by1lbSgkc2l6ZSkgLSAoMSAvIDE2KTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIGRvd24pIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIEhpZGUgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBvbmx5IGRpc3BsYXlpbmcgaXQgd2l0aGluIGEgY2VydGFpbiBicmVha3BvaW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gc2hvdy1mb3Itb25seSgkc2l6ZSkge1xuICAkbG93ZXItYm91bmQtc2l6ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRzaXplKTtcbiAgJHVwcGVyLWJvdW5kLXNpemU6IC16Zi1tYXAtbmV4dCgkYnJlYWtwb2ludHMsICRzaXplKTtcblxuICAvLyBtb3JlIG9mdGVuIHRoYW4gbm90IHRoaXMgd2lsbCBiZSBjb3JyZWN0LCBqdXN0IG9uZSB0aW1lIHJvdW5kIHRoZSBsb29wIGl0IHdvbid0IHNvIHNldCBpbiBzY29wZSBoZXJlXG4gICRsb3dlci1ib3VuZDogLXpmLWJwLXRvLWVtKCRsb3dlci1ib3VuZC1zaXplKSAtICgxIC8gMTYpO1xuICAvLyB0ZXN0IGFjdHVhbCBsb3dlci1ib3VuZC1zaXplLCBpZiAwIHNldCBpdCB0byAwZW1cbiAgQGlmIHN0cmlwLXVuaXQoJGxvd2VyLWJvdW5kLXNpemUpID09IDAge1xuICAgICRsb3dlci1ib3VuZDogLXpmLWJwLXRvLWVtKCRsb3dlci1ib3VuZC1zaXplKTtcbiAgfVxuXG4gIEBpZiAkdXBwZXItYm91bmQtc2l6ZSA9PSBudWxsIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbG93ZXItYm91bmQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgICR1cHBlci1ib3VuZDogLXpmLWJwLXRvLWVtKCR1cHBlci1ib3VuZC1zaXplKTtcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsb3dlci1ib3VuZCksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHVwcGVyLWJvdW5kKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cblxuLy8vIFNob3cgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBhbmQgaGlkZSBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBoaWRlLWZvcigkc2l6ZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBTaG93IGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgYW5kIGhpZGUgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gaGlkZS1mb3Itb25seSgkc2l6ZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIG9ubHkpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzIHtcbiAgLy8gQmFzaWMgaGlkaW5nIGNsYXNzZXNcbiAgLmhpZGUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5pbnZpc2libGUge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIC8vIFJlc3BvbnNpdmUgdmlzaWJpbGl0eSBjbGFzc2VzXG4gIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAuaGlkZS1mb3ItI3skc2l6ZX0ge1xuICAgICAgICBAaW5jbHVkZSBoaWRlLWZvcigkc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIC5zaG93LWZvci0jeyRzaXplfSB7XG4gICAgICAgIEBpbmNsdWRlIHNob3ctZm9yKCRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaGlkZS1mb3ItI3skc2l6ZX0tb25seSB7XG4gICAgICBAaW5jbHVkZSBoaWRlLWZvci1vbmx5KCRzaXplKTtcbiAgICB9XG5cbiAgICAuc2hvdy1mb3ItI3skc2l6ZX0tb25seSB7XG4gICAgICBAaW5jbHVkZSBzaG93LWZvci1vbmx5KCRzaXplKTtcbiAgICB9XG4gIH1cblxuICAvLyBTY3JlZW4gcmVhZGVyIHZpc2liaWxpdHkgY2xhc3Nlc1xuICAvLyBOZWVkIGEgXCJoaWRlLWZvci1zclwiIGNsYXNzPyBBZGQgYXJpYS1oaWRkZW49J3RydWUnIHRvIHRoZSBlbGVtZW50XG4gIC5zaG93LWZvci1zcixcbiAgLnNob3ctb24tZm9jdXMge1xuICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlO1xuICB9XG5cbiAgLy8gT25seSBkaXNwbGF5IHRoZSBlbGVtZW50IHdoZW4gaXQncyBmb2N1c2VkXG4gIC5zaG93LW9uLWZvY3VzIHtcbiAgICAmOmFjdGl2ZSxcbiAgICAmOmZvY3VzIHtcbiAgICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlLW9mZjtcbiAgICB9XG4gIH1cblxuICAvLyBMYW5kc2NhcGUgYW5kIHBvcnRyYWl0IHZpc2liaWxpdHlcbiAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYW5kc2NhcGUpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChwb3J0cmFpdCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYW5kc2NhcGUpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHBvcnRyYWl0KSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZmxvYXRcbi8vLy9cblxuQG1peGluIGZvdW5kYXRpb24tZmxvYXQtY2xhc3NlcyB7XG4gIC5mbG9hdC1sZWZ0IHtcbiAgICBmbG9hdDogbGVmdCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmZsb2F0LXJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5mbG9hdC1jZW50ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgfVxuXG4gIC5jbGVhcmZpeCB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIH1cbn1cbiIsIkBrZXlmcmFtZXMgbmF2LW92ZXJsYXktc2hvdyB7XG4gICAgMCUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAvLyB0b3A6IC0xMDAlO1xuICAgIH1cbiAgICAxJSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRvcDogMDtcbiAgICB9XG59XG5Aa2V5ZnJhbWVzIG5hdi1vdmVybGF5LWhpZGUge1xuICAgIDAlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICAgIDk5JSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgZml4ZWQtc2hvdyB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0b3A6IC0xMDAlO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdG9wOiAwO1xuICAgIH1cbn1cbkBrZXlmcmFtZXMgZml4ZWQtaGlkZSB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgZml4ZWQtc2hvdy1zdWJtZW51IHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRvcDogLTEwMCU7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0b3A6IDc1cHg7XG4gICAgfVxufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuYm9keS5mYW5jeWJveC1hY3RpdmUge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbmJvZHkuZmFuY3lib3gtaW9zZml4IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDsgfVxuXG4uZmFuY3lib3gtaXMtaGlkZGVuIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC05OTk5cHg7XG4gIGxlZnQ6IC05OTk5cHg7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uZmFuY3lib3gtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHotaW5kZXg6IDk5OTkyO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFJvYm90bywgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBBcmlhbCwgc2Fucy1zZXJpZiwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiU2Vnb2UgVUkgU3ltYm9sXCI7IH1cblxuLmZhbmN5Ym94LW91dGVyLFxuLmZhbmN5Ym94LWlubmVyLFxuLmZhbmN5Ym94LWJnLFxuLmZhbmN5Ym94LXN0YWdlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7IH1cblxuLmZhbmN5Ym94LW91dGVyIHtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOyB9XG5cbi5mYW5jeWJveC1iZyB7XG4gIGJhY2tncm91bmQ6ICMxZTFlMWU7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IGluaGVyaXQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40NywgMCwgMC43NCwgMC43MSk7IH1cblxuLmZhbmN5Ym94LWlzLW9wZW4gLmZhbmN5Ym94LWJnIHtcbiAgb3BhY2l0eTogMC44NztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIyLCAwLjYxLCAwLjM2LCAxKTsgfVxuXG4uZmFuY3lib3gtaW5mb2Jhcixcbi5mYW5jeWJveC10b29sYmFyLFxuLmZhbmN5Ym94LWNhcHRpb24td3JhcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlyZWN0aW9uOiBsdHI7XG4gIHotaW5kZXg6IDk5OTk3O1xuICBvcGFjaXR5OiAwO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgLjI1cywgdmlzaWJpbGl0eSAwcyBsaW5lYXIgLjI1cztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG4uZmFuY3lib3gtc2hvdy1pbmZvYmFyIC5mYW5jeWJveC1pbmZvYmFyLFxuLmZhbmN5Ym94LXNob3ctdG9vbGJhciAuZmFuY3lib3gtdG9vbGJhcixcbi5mYW5jeWJveC1zaG93LWNhcHRpb24gLmZhbmN5Ym94LWNhcHRpb24td3JhcCB7XG4gIG9wYWNpdHk6IDE7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgLjI1cywgdmlzaWJpbGl0eSAwczsgfVxuXG4uZmFuY3lib3gtaW5mb2JhciB7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBwYWRkaW5nOiAwIDEwcHg7XG4gIGhlaWdodDogNDRweDtcbiAgbWluLXdpZHRoOiA0NHB4O1xuICBsaW5lLWhlaWdodDogNDRweDtcbiAgY29sb3I6ICNjY2M7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogc3VicGl4ZWwtYW50aWFsaWFzZWQ7XG4gIG1peC1ibGVuZC1tb2RlOiBleGNsdXNpb247IH1cblxuLmZhbmN5Ym94LXRvb2xiYXIge1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxuLmZhbmN5Ym94LXN0YWdlIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZGlyZWN0aW9uOiBsdHI7XG4gIHotaW5kZXg6IDk5OTk0O1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cblxuLmZhbmN5Ym94LWlzLWNsb3NpbmcgLmZhbmN5Ym94LXN0YWdlIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxuLmZhbmN5Ym94LXNsaWRlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIG91dGxpbmU6IG5vbmU7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgei1pbmRleDogOTk5OTQ7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgZGlzcGxheTogbm9uZTtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgLXdlYmtpdC10cmFuc2Zvcm07XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5LCAtd2Via2l0LXRyYW5zZm9ybTsgfVxuXG4uZmFuY3lib3gtc2xpZGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDA7IH1cblxuLmZhbmN5Ym94LWlzLXNsaWRpbmcgLmZhbmN5Ym94LXNsaWRlLFxuLmZhbmN5Ym94LXNsaWRlLS1wcmV2aW91cyxcbi5mYW5jeWJveC1zbGlkZS0tY3VycmVudCxcbi5mYW5jeWJveC1zbGlkZS0tbmV4dCB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5mYW5jeWJveC1zbGlkZS0taW1hZ2Uge1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG4uZmFuY3lib3gtc2xpZGUtLWltYWdlOjpiZWZvcmUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5mYW5jeWJveC1zbGlkZS0tdmlkZW8gLmZhbmN5Ym94LWNvbnRlbnQsXG4uZmFuY3lib3gtc2xpZGUtLXZpZGVvIGlmcmFtZSB7XG4gIGJhY2tncm91bmQ6ICMwMDA7IH1cblxuLmZhbmN5Ym94LXNsaWRlLS1tYXAgLmZhbmN5Ym94LWNvbnRlbnQsXG4uZmFuY3lib3gtc2xpZGUtLW1hcCBpZnJhbWUge1xuICBiYWNrZ3JvdW5kOiAjRTVFM0RGOyB9XG5cbi5mYW5jeWJveC1zbGlkZS0tbmV4dCB7XG4gIHotaW5kZXg6IDk5OTk1OyB9XG5cbi5mYW5jeWJveC1zbGlkZSA+ICoge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMjRweDtcbiAgbWFyZ2luOiA0NHB4IDAgNDRweDtcbiAgYm9yZGVyLXdpZHRoOiAwO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBvdmVyZmxvdzogYXV0bztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgXG5cbiAgLy8gQ2FsY3VsYXRvclxuICAmW2lkXj1cImNhbGN1bGF0b3JcIl0ge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIG92ZXJmbG93OiBpbml0aWFsO1xuXG4gICAgLmZhbmN5Ym94LWNsb3NlLXNtYWxsIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIHRvcDogcmVtLWNhbGMoLTE1KTtcbiAgICAgIHJpZ2h0OiByZW0tY2FsYygyMCk7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgY29sb3I6ICR3aGl0ZTtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJ0Nsb3NlJztcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgfVxuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIG1hcmdpbjogcmVtLWNhbGMoMCAwIDAgNSk7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDUwKTtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmZhbmN5Ym94LXNsaWRlID4gdGl0bGUsXG4uZmFuY3lib3gtc2xpZGUgPiBzdHlsZSxcbi5mYW5jeWJveC1zbGlkZSA+IG1ldGEsXG4uZmFuY3lib3gtc2xpZGUgPiBsaW5rLFxuLmZhbmN5Ym94LXNsaWRlID4gc2NyaXB0LFxuLmZhbmN5Ym94LXNsaWRlID4gYmFzZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmZhbmN5Ym94LXNsaWRlIC5mYW5jeWJveC1pbWFnZS13cmFwIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwO1xuICB6LWluZGV4OiA5OTk5NTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5LCAtd2Via2l0LXRyYW5zZm9ybTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHksIC13ZWJraXQtdHJhbnNmb3JtOyB9XG5cbi5mYW5jeWJveC1jYW4tem9vbU91dCAuZmFuY3lib3gtaW1hZ2Utd3JhcCB7XG4gIGN1cnNvcjogLXdlYmtpdC16b29tLW91dDtcbiAgY3Vyc29yOiB6b29tLW91dDsgfVxuXG4uZmFuY3lib3gtY2FuLXpvb21JbiAuZmFuY3lib3gtaW1hZ2Utd3JhcCB7XG4gIGN1cnNvcjogLXdlYmtpdC16b29tLWluO1xuICBjdXJzb3I6IHpvb20taW47IH1cblxuLmZhbmN5Ym94LWNhbi1kcmFnIC5mYW5jeWJveC1pbWFnZS13cmFwIHtcbiAgY3Vyc29yOiAtd2Via2l0LWdyYWI7XG4gIGN1cnNvcjogZ3JhYjsgfVxuXG4uZmFuY3lib3gtaXMtZHJhZ2dpbmcgLmZhbmN5Ym94LWltYWdlLXdyYXAge1xuICBjdXJzb3I6IC13ZWJraXQtZ3JhYmJpbmc7XG4gIGN1cnNvcjogZ3JhYmJpbmc7IH1cblxuLmZhbmN5Ym94LWltYWdlLFxuLmZhbmN5Ym94LXNwYWNlYmFsbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBtYXgtaGVpZ2h0OiBub25lO1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lOyB9XG5cbi5mYW5jeWJveC1zcGFjZWJhbGwge1xuICB6LWluZGV4OiAxOyB9XG5cbi5mYW5jeWJveC1zbGlkZS0taWZyYW1lIC5mYW5jeWJveC1jb250ZW50IHtcbiAgcGFkZGluZzogMDtcbiAgd2lkdGg6IDgwJTtcbiAgaGVpZ2h0OiA4MCU7XG4gIG1heC13aWR0aDogY2FsYygxMDAlIC0gMTAwcHgpO1xuICBtYXgtaGVpZ2h0OiBjYWxjKDEwMCUgLSA4OHB4KTtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGJhY2tncm91bmQ6ICNmZmY7IH1cblxuLmZhbmN5Ym94LWlmcmFtZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZDogI2ZmZjsgfVxuXG4uZmFuY3lib3gtZXJyb3Ige1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDQwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDM4MHB4O1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBjdXJzb3I6IGRlZmF1bHQ7IH1cblxuLmZhbmN5Ym94LWVycm9yIHAge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGNvbG9yOiAjNDQ0O1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4OyB9XG5cbi8qIEJ1dHRvbnMgKi9cbi5mYW5jeWJveC1idXR0b24ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIHdpZHRoOiA0NHB4O1xuICBoZWlnaHQ6IDQ0cHg7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMTBweDtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDMwLCAzMCwgMzAsIDAuNik7XG4gIHRyYW5zaXRpb246IGNvbG9yIC4zcyBlYXNlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG91dGxpbmU6IG5vbmU7IH1cblxuLmZhbmN5Ym94LWJ1dHRvbixcbi5mYW5jeWJveC1idXR0b246dmlzaXRlZCxcbi5mYW5jeWJveC1idXR0b246bGluayB7XG4gIGNvbG9yOiAjY2NjOyB9XG5cbi5mYW5jeWJveC1idXR0b246Zm9jdXMsXG4uZmFuY3lib3gtYnV0dG9uOmhvdmVyIHtcbiAgY29sb3I6ICNmZmY7IH1cblxuLmZhbmN5Ym94LWJ1dHRvbltkaXNhYmxlZF0ge1xuICBjb2xvcjogI2NjYztcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBvcGFjaXR5OiAwLjY7IH1cblxuLmZhbmN5Ym94LWJ1dHRvbiBzdmcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgc2hhcGUtcmVuZGVyaW5nOiBnZW9tZXRyaWNQcmVjaXNpb247IH1cblxuLmZhbmN5Ym94LWJ1dHRvbiBzdmcgcGF0aCB7XG4gIGZpbGw6IGN1cnJlbnRDb2xvcjtcbiAgc3Ryb2tlOiBjdXJyZW50Q29sb3I7XG4gIHN0cm9rZS1saW5lam9pbjogcm91bmQ7XG4gIHN0cm9rZS13aWR0aDogMzsgfVxuXG4uZmFuY3lib3gtYnV0dG9uLS1zaGFyZSBzdmcgcGF0aCB7XG4gIHN0cm9rZS13aWR0aDogMTsgfVxuXG4uZmFuY3lib3gtYnV0dG9uLS1wbGF5IHN2ZyBwYXRoOm50aC1jaGlsZCgyKSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmZhbmN5Ym94LWJ1dHRvbi0tcGF1c2Ugc3ZnIHBhdGg6bnRoLWNoaWxkKDEpIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uZmFuY3lib3gtYnV0dG9uLS16b29tIHN2ZyBwYXRoIHtcbiAgZmlsbDogdHJhbnNwYXJlbnQ7IH1cblxuLyogTmF2aWdhdGlvbiBhcnJvd3MgKi9cbi5mYW5jeWJveC1uYXZpZ2F0aW9uIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uZmFuY3lib3gtc2hvdy1uYXYgLmZhbmN5Ym94LW5hdmlnYXRpb24ge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4uZmFuY3lib3gtbmF2aWdhdGlvbiBidXR0b24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBtYXJnaW46IC01MHB4IDAgMCAwO1xuICB6LWluZGV4OiA5OTk5NztcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIHdpZHRoOiA2MHB4O1xuICBoZWlnaHQ6IDEwMHB4O1xuICBwYWRkaW5nOiAxN3B4OyB9XG5cbi5mYW5jeWJveC1uYXZpZ2F0aW9uIGJ1dHRvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMzBweDtcbiAgcmlnaHQ6IDEwcHg7XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIGJhY2tncm91bmQ6IHJnYmEoMzAsIDMwLCAzMCwgMC42KTsgfVxuXG4uZmFuY3lib3gtbmF2aWdhdGlvbiAuZmFuY3lib3gtYnV0dG9uLS1hcnJvd19sZWZ0IHtcbiAgbGVmdDogMDsgfVxuXG4uZmFuY3lib3gtbmF2aWdhdGlvbiAuZmFuY3lib3gtYnV0dG9uLS1hcnJvd19yaWdodCB7XG4gIHJpZ2h0OiAwOyB9XG5cbi8qIENsb3NlIGJ1dHRvbiBvbiB0aGUgdG9wIHJpZ2h0IGNvcm5lciBvZiBodG1sIGNvbnRlbnQgKi9cbi5mYW5jeWJveC1jbG9zZS1zbWFsbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgd2lkdGg6IDQ0cHg7XG4gIGhlaWdodDogNDRweDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB6LWluZGV4OiAxMDtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi5mYW5jeWJveC1jbG9zZS1zbWFsbDphZnRlciB7XG4gIGNvbnRlbnQ6ICfDlyc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1cHg7XG4gIHJpZ2h0OiA1cHg7XG4gIHdpZHRoOiAzMHB4O1xuICBoZWlnaHQ6IDMwcHg7XG4gIGZvbnQ6IDIwcHgvMzBweCBBcmlhbCxcIkhlbHZldGljYSBOZXVlXCIsSGVsdmV0aWNhLHNhbnMtc2VyaWY7XG4gIGNvbG9yOiAjODg4O1xuICBmb250LXdlaWdodDogMzAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYm9yZGVyLXdpZHRoOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuMjVzO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB6LWluZGV4OiAyOyB9XG5cbi5mYW5jeWJveC1jbG9zZS1zbWFsbDpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7IH1cblxuLmZhbmN5Ym94LWNsb3NlLXNtYWxsOmZvY3VzOmFmdGVyIHtcbiAgb3V0bGluZTogMXB4IGRvdHRlZCAjODg4OyB9XG5cbi5mYW5jeWJveC1jbG9zZS1zbWFsbDpob3ZlcjphZnRlciB7XG4gIGNvbG9yOiAjNTU1O1xuICBiYWNrZ3JvdW5kOiAjZWVlOyB9XG5cbi5mYW5jeWJveC1zbGlkZS0taW1hZ2UgLmZhbmN5Ym94LWNsb3NlLXNtYWxsLFxuLmZhbmN5Ym94LXNsaWRlLS1pZnJhbWUgLmZhbmN5Ym94LWNsb3NlLXNtYWxsIHtcbiAgdG9wOiAwO1xuICByaWdodDogLTQ0cHg7IH1cblxuLmZhbmN5Ym94LXNsaWRlLS1pbWFnZSAuZmFuY3lib3gtY2xvc2Utc21hbGw6YWZ0ZXIsXG4uZmFuY3lib3gtc2xpZGUtLWlmcmFtZSAuZmFuY3lib3gtY2xvc2Utc21hbGw6YWZ0ZXIge1xuICBmb250LXNpemU6IDM1cHg7XG4gIGNvbG9yOiAjYWFhOyB9XG5cbi5mYW5jeWJveC1zbGlkZS0taW1hZ2UgLmZhbmN5Ym94LWNsb3NlLXNtYWxsOmhvdmVyOmFmdGVyLFxuLmZhbmN5Ym94LXNsaWRlLS1pZnJhbWUgLmZhbmN5Ym94LWNsb3NlLXNtYWxsOmhvdmVyOmFmdGVyIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG5cbi5mYW5jeWJveC1pcy1zY2FsaW5nIC5mYW5jeWJveC1jbG9zZS1zbWFsbCxcbi5mYW5jeWJveC1pcy16b29tYWJsZS5mYW5jeWJveC1jYW4tZHJhZyAuZmFuY3lib3gtY2xvc2Utc21hbGwge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qIENhcHRpb24gKi9cbi5mYW5jeWJveC1jYXB0aW9uLXdyYXAge1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBwYWRkaW5nOiA2MHB4IDJ2dyAwIDJ2dztcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgdHJhbnNwYXJlbnQgMCUsIHJnYmEoMCwgMCwgMCwgMC4xKSAyMCUsIHJnYmEoMCwgMCwgMCwgMC4yKSA0MCUsIHJnYmEoMCwgMCwgMCwgMC42KSA4MCUsIHJnYmEoMCwgMCwgMCwgMC44KSAxMDAlKTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuLmZhbmN5Ym94LWNhcHRpb24ge1xuICBwYWRkaW5nOiAzMHB4IDA7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNCk7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgY29sb3I6ICNmZmY7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IG5vbmU7IH1cblxuLmZhbmN5Ym94LWNhcHRpb24gYSxcbi5mYW5jeWJveC1jYXB0aW9uIGJ1dHRvbixcbi5mYW5jeWJveC1jYXB0aW9uIHNlbGVjdCB7XG4gIHBvaW50ZXItZXZlbnRzOiBhbGw7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLyogRml4IElFMTEgKi8gfVxuXG4uZmFuY3lib3gtY2FwdGlvbiBhIHtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbi8qIExvYWRpbmcgaW5kaWNhdG9yICovXG4uZmFuY3lib3gtc2xpZGUgPiAuZmFuY3lib3gtbG9hZGluZyB7XG4gIGJvcmRlcjogNnB4IHNvbGlkIHJnYmEoMTAwLCAxMDAsIDEwMCwgMC40KTtcbiAgYm9yZGVyLXRvcDogNnB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC42KTtcbiAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgaGVpZ2h0OiA1MHB4O1xuICB3aWR0aDogNTBweDtcbiAgLXdlYmtpdC1hbmltYXRpb246IGZhbmN5Ym94LXJvdGF0ZSAuOHMgaW5maW5pdGUgbGluZWFyO1xuICBhbmltYXRpb246IGZhbmN5Ym94LXJvdGF0ZSAuOHMgaW5maW5pdGUgbGluZWFyO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICBtYXJnaW4tdG9wOiAtMzBweDtcbiAgbWFyZ2luLWxlZnQ6IC0zMHB4O1xuICB6LWluZGV4OiA5OTk5OTsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFuY3lib3gtcm90YXRlIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNTlkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhbmN5Ym94LXJvdGF0ZSB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNTlkZWcpOyB9IH1cblxuLyogVHJhbnNpdGlvbiBlZmZlY3RzICovXG4uZmFuY3lib3gtYW5pbWF0ZWQge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAsIDAsIDAuMjUsIDEpOyB9XG5cbi8qIHRyYW5zaXRpb25FZmZlY3Q6IHNsaWRlICovXG4uZmFuY3lib3gtZngtc2xpZGUuZmFuY3lib3gtc2xpZGUtLXByZXZpb3VzIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmZhbmN5Ym94LWZ4LXNsaWRlLmZhbmN5Ym94LXNsaWRlLS1uZXh0IHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5mYW5jeWJveC1meC1zbGlkZS5mYW5jeWJveC1zbGlkZS0tY3VycmVudCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4vKiB0cmFuc2l0aW9uRWZmZWN0OiBmYWRlICovXG4uZmFuY3lib3gtZngtZmFkZS5mYW5jeWJveC1zbGlkZS0tcHJldmlvdXMsXG4uZmFuY3lib3gtZngtZmFkZS5mYW5jeWJveC1zbGlkZS0tbmV4dCB7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xOSwgMSwgMC4yMiwgMSk7IH1cblxuLmZhbmN5Ym94LWZ4LWZhZGUuZmFuY3lib3gtc2xpZGUtLWN1cnJlbnQge1xuICBvcGFjaXR5OiAxOyB9XG5cbi8qIHRyYW5zaXRpb25FZmZlY3Q6IHpvb20taW4tb3V0ICovXG4uZmFuY3lib3gtZngtem9vbS1pbi1vdXQuZmFuY3lib3gtc2xpZGUtLXByZXZpb3VzIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS41LCAxLjUsIDEuNSk7XG4gIHRyYW5zZm9ybTogc2NhbGUzZCgxLjUsIDEuNSwgMS41KTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uZmFuY3lib3gtZngtem9vbS1pbi1vdXQuZmFuY3lib3gtc2xpZGUtLW5leHQge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjUsIDAuNSwgMC41KTtcbiAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNSwgMC41LCAwLjUpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5mYW5jeWJveC1meC16b29tLWluLW91dC5mYW5jeWJveC1zbGlkZS0tY3VycmVudCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLyogdHJhbnNpdGlvbkVmZmVjdDogcm90YXRlICovXG4uZmFuY3lib3gtZngtcm90YXRlLmZhbmN5Ym94LXNsaWRlLS1wcmV2aW91cyB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTM2MGRlZyk7XG4gIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgtMzYwZGVnKTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTM2MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmZhbmN5Ym94LWZ4LXJvdGF0ZS5mYW5jeWJveC1zbGlkZS0tbmV4dCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmZhbmN5Ym94LWZ4LXJvdGF0ZS5mYW5jeWJveC1zbGlkZS0tY3VycmVudCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLyogdHJhbnNpdGlvbkVmZmVjdDogY2lyY3VsYXIgKi9cbi5mYW5jeWJveC1meC1jaXJjdWxhci5mYW5jeWJveC1zbGlkZS0tcHJldmlvdXMge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLCAwLCAwKSB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gIHRyYW5zZm9ybTogc2NhbGUzZCgwLCAwLCAwKSB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmZhbmN5Ym94LWZ4LWNpcmN1bGFyLmZhbmN5Ym94LXNsaWRlLS1uZXh0IHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMCwgMCwgMCkgdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gIHRyYW5zZm9ybTogc2NhbGUzZCgwLCAwLCAwKSB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uZmFuY3lib3gtZngtY2lyY3VsYXIuZmFuY3lib3gtc2xpZGUtLWN1cnJlbnQge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpIHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICBvcGFjaXR5OiAxOyB9XG5cbi8qIHRyYW5zaXRpb25FZmZlY3Q6IHR1YmUgKi9cbi5mYW5jeWJveC1meC10dWJlLmZhbmN5Ym94LXNsaWRlLS1wcmV2aW91cyB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCkgc2NhbGUoMC4xKSBza2V3KC0xMGRlZyk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApIHNjYWxlKDAuMSkgc2tldygtMTBkZWcpOyB9XG5cbi5mYW5jeWJveC1meC10dWJlLmZhbmN5Ym94LXNsaWRlLS1uZXh0IHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHNjYWxlKDAuMSkgc2tldygxMGRlZyk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2NhbGUoMC4xKSBza2V3KDEwZGVnKTsgfVxuXG4uZmFuY3lib3gtZngtdHViZS5mYW5jeWJveC1zbGlkZS0tY3VycmVudCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKSBzY2FsZSgxKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKSBzY2FsZSgxKTsgfVxuXG4vKiBTaGFyZSAqL1xuLmZhbmN5Ym94LXNoYXJlIHtcbiAgcGFkZGluZzogMzBweDtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBiYWNrZ3JvdW5kOiAjZjRmNGY0O1xuICBtYXgtd2lkdGg6IDkwJTsgfVxuXG4uZmFuY3lib3gtc2hhcmUgaDEge1xuICBjb2xvcjogIzIyMjtcbiAgbWFyZ2luOiAwIDAgMjBweCAwO1xuICBmb250LXNpemU6IDMzcHg7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uZmFuY3lib3gtc2hhcmUgcCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5mYW5jeWJveC1zaGFyZSBwOmZpcnN0LW9mLXR5cGUge1xuICBtYXJnaW4tcmlnaHQ6IC0xMHB4OyB9XG5cbi5mYW5jeWJveC1zaGFyZV9idXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgbWFyZ2luOiAwIDEwcHggMTBweCAwO1xuICBwYWRkaW5nOiAxMHB4IDIwcHg7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBib3gtc2hhZG93OiAwIDJweCAycHggMCByZ2JhKDAsIDAsIDAsIDAuMTYpO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAyM3B4O1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBtaW4td2lkdGg6IDE0MHB4O1xuICBjb2xvcjogIzcwNzA3MDtcbiAgdHJhbnNpdGlvbjogYWxsIC4yczsgfVxuXG4uZmFuY3lib3gtc2hhcmVfYnV0dG9uOmZvY3VzLFxuLmZhbmN5Ym94LXNoYXJlX2J1dHRvbjpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY29sb3I6ICMzMzM7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDJweCAwIHJnYmEoMCwgMCwgMCwgMC4zKTsgfVxuXG4uZmFuY3lib3gtc2hhcmVfYnV0dG9uIHN2ZyB7XG4gIG1hcmdpbi1yaWdodDogNXB4O1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAyMHB4O1xuICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC1ib3R0b207IH1cblxuLmZhbmN5Ym94LXNoYXJlIGlucHV0IHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogNXB4IDAgMCAwO1xuICBwYWRkaW5nOiAxMHB4IDE1cHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkN2Q3ZDc7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgYmFja2dyb3VuZDogI2ViZWJlYjtcbiAgY29sb3I6ICM1ZDViNWI7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgb3V0bGluZTogbm9uZTsgfVxuXG4vKiBUaHVtYnMgKi9cbi5mYW5jeWJveC10aHVtYnMge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICByaWdodDogMDtcbiAgd2lkdGg6IDIxMnB4O1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDJweCAycHggNHB4IDJweDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgei1pbmRleDogOTk5OTU7IH1cblxuLmZhbmN5Ym94LXRodW1icy14IHtcbiAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICBvdmVyZmxvdy14OiBhdXRvOyB9XG5cbi5mYW5jeWJveC1zaG93LXRodW1icyAuZmFuY3lib3gtdGh1bWJzIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLmZhbmN5Ym94LXNob3ctdGh1bWJzIC5mYW5jeWJveC1pbm5lciB7XG4gIHJpZ2h0OiAyMTJweDsgfVxuXG4uZmFuY3lib3gtdGh1bWJzID4gdWwge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIGZvbnQtc2l6ZTogMDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG4uZmFuY3lib3gtdGh1bWJzLXggPiB1bCB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLmZhbmN5Ym94LXRodW1icy15ID4gdWw6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgd2lkdGg6IDdweDsgfVxuXG4uZmFuY3lib3gtdGh1bWJzLXkgPiB1bDo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBib3gtc2hhZG93OiBpbnNldCAwIDAgNnB4IHJnYmEoMCwgMCwgMCwgMC4zKTsgfVxuXG4uZmFuY3lib3gtdGh1bWJzLXkgPiB1bDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICBiYWNrZ3JvdW5kOiAjMmEyYTJhO1xuICBib3JkZXItcmFkaXVzOiAxMHB4OyB9XG5cbi5mYW5jeWJveC10aHVtYnMgPiB1bCA+IGxpIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMnB4O1xuICB3aWR0aDogMTAwcHg7XG4gIGhlaWdodDogNzVweDtcbiAgbWF4LXdpZHRoOiBjYWxjKDUwJSAtIDRweCk7XG4gIG1heC1oZWlnaHQ6IGNhbGMoMTAwJSAtIDhweCk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBvdXRsaW5lOiBub25lO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbmxpLmZhbmN5Ym94LXRodW1icy1sb2FkaW5nIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjEpOyB9XG5cbi5mYW5jeWJveC10aHVtYnMgPiB1bCA+IGxpID4gaW1nIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgbWF4LWhlaWdodDogbm9uZTtcbiAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lOyB9XG5cbi5mYW5jeWJveC10aHVtYnMgPiB1bCA+IGxpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgYm9yZGVyOiA0cHggc29saWQgIzRlYTdmOTtcbiAgei1pbmRleDogOTk5OTE7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuXG4uZmFuY3lib3gtdGh1bWJzID4gdWwgPiBsaS5mYW5jeWJveC10aHVtYnMtYWN0aXZlOmJlZm9yZSB7XG4gIG9wYWNpdHk6IDE7IH1cblxuLyogU3R5bGluZyBmb3IgU21hbGwtU2NyZWVuIERldmljZXMgKi9cbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gIC5mYW5jeWJveC10aHVtYnMge1xuICAgIHdpZHRoOiAxMTBweDsgfVxuICAuZmFuY3lib3gtc2hvdy10aHVtYnMgLmZhbmN5Ym94LWlubmVyIHtcbiAgICByaWdodDogMTEwcHg7IH1cbiAgLmZhbmN5Ym94LXRodW1icyA+IHVsID4gbGkge1xuICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gMTBweCk7IH0gfVxuIiwiLyogU2xpZGVyICovXG5cbi5zbGljay1zbGlkZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1raHRtbC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbXMtdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgICB0b3VjaC1hY3Rpb246IHBhbi15O1xuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4uc2xpY2stbGlzdCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG5cbiAgICAmLmRyYWdnaW5nIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBjdXJzb3I6IGhhbmQ7XG4gICAgfVxufVxuLnNsaWNrLXNsaWRlciAuc2xpY2stdHJhY2ssXG4uc2xpY2stc2xpZGVyIC5zbGljay1saXN0IHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbn1cblxuLnNsaWNrLXRyYWNrIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuXG4gICAgJjpiZWZvcmUsXG4gICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICB9XG5cbiAgICAuc2xpY2stbG9hZGluZyAmIHtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cbn1cbi5zbGljay1zbGlkZSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDFweDtcbiAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuICAgIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgICAmLnNsaWNrLWxvYWRpbmcgaW1nIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgJi5kcmFnZ2luZyBpbWcge1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG5cbiAgICAuc2xpY2staW5pdGlhbGl6ZWQgJiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC5zbGljay1sb2FkaW5nICYge1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgfVxuXG4gICAgLnNsaWNrLXZlcnRpY2FsICYge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICB9XG59XG4uc2xpY2stYXJyb3cuc2xpY2staGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuIiwiLy8gR2VuZXJhdGUgRHVyYXRpb24gJiYgRGVsYXlcbltkYXRhLWFvc10ge1xuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIDYwIHtcbiAgICBib2R5W2RhdGEtYW9zLWR1cmF0aW9uPScjeyRpICogNTB9J10gJixcbiAgICAmW2RhdGEtYW9zXVtkYXRhLWFvcy1kdXJhdGlvbj0nI3skaSAqIDUwfSddIHtcbiAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246ICN7JGkgKiA1MH1tcztcbiAgICB9XG5cbiAgICBib2R5W2RhdGEtYW9zLWRlbGF5PScjeyRpICogNTB9J10gJixcbiAgICAmW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nI3skaSAqIDUwfSddIHtcbiAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDA7XG5cbiAgICAgICYuYW9zLWFuaW1hdGUge1xuICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAjeyRpICogNTB9bXM7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIkYW9zLWVhc2luZzogKFxuICBsaW5lYXI6IGN1YmljLWJlemllciguMjUwLCAuMjUwLCAuNzUwLCAuNzUwKSxcblxuICBlYXNlOiBjdWJpYy1iZXppZXIoLjI1MCwgLjEwMCwgLjI1MCwgMSksXG4gIGVhc2UtaW46IGN1YmljLWJlemllciguNDIwLCAwLCAxLCAxKSxcbiAgZWFzZS1vdXQ6IGN1YmljLWJlemllciguMDAwLCAwLCAuNTgwLCAxKSxcbiAgZWFzZS1pbi1vdXQ6IGN1YmljLWJlemllciguNDIwLCAwLCAuNTgwLCAxKSxcblxuICBlYXNlLWluLWJhY2s6IGN1YmljLWJlemllciguNiwgLS4yOCwgLjczNSwgLjA0NSksXG4gIGVhc2Utb3V0LWJhY2s6IGN1YmljLWJlemllciguMTc1LCAuODg1LCAuMzIsIDEuMjc1KSxcbiAgZWFzZS1pbi1vdXQtYmFjazogY3ViaWMtYmV6aWVyKC42OCwgLS41NSwgLjI2NSwgMS41NSksXG5cbiAgZWFzZS1pbi1zaW5lOiBjdWJpYy1iZXppZXIoLjQ3LCAwLCAuNzQ1LCAuNzE1KSxcbiAgZWFzZS1vdXQtc2luZTogY3ViaWMtYmV6aWVyKC4zOSwgLjU3NSwgLjU2NSwgMSksXG4gIGVhc2UtaW4tb3V0LXNpbmU6IGN1YmljLWJlemllciguNDQ1LCAuMDUsIC41NSwgLjk1KSxcblxuICBlYXNlLWluLXF1YWQ6IGN1YmljLWJlemllciguNTUsIC4wODUsIC42OCwgLjUzKSxcbiAgZWFzZS1vdXQtcXVhZDogY3ViaWMtYmV6aWVyKC4yNSwgLjQ2LCAuNDUsIC45NCksXG4gIGVhc2UtaW4tb3V0LXF1YWQ6IGN1YmljLWJlemllciguNDU1LCAuMDMsIC41MTUsIC45NTUpLFxuXG4gIGVhc2UtaW4tY3ViaWM6IGN1YmljLWJlemllciguNTUsIC4wODUsIC42OCwgLjUzKSxcbiAgZWFzZS1vdXQtY3ViaWM6IGN1YmljLWJlemllciguMjUsIC40NiwgLjQ1LCAuOTQpLFxuICBlYXNlLWluLW91dC1jdWJpYzogY3ViaWMtYmV6aWVyKC40NTUsIC4wMywgLjUxNSwgLjk1NSksXG5cbiAgZWFzZS1pbi1xdWFydDogY3ViaWMtYmV6aWVyKC41NSwgLjA4NSwgLjY4LCAuNTMpLFxuICBlYXNlLW91dC1xdWFydDogY3ViaWMtYmV6aWVyKC4yNSwgLjQ2LCAuNDUsIC45NCksXG4gIGVhc2UtaW4tb3V0LXF1YXJ0OiBjdWJpYy1iZXppZXIoLjQ1NSwgLjAzLCAuNTE1LCAuOTU1KVxuKTtcblxuLy8gRWFzaW5ncyBpbXBsZW1lbnRhdGlvbnNcbi8vIERlZmF1bHQgdGltaW5nIGZ1bmN0aW9uOiAnZWFzZSdcblxuW2RhdGEtYW9zXSB7XG4gIEBlYWNoICRrZXksICR2YWwgaW4gJGFvcy1lYXNpbmcge1xuICAgIGJvZHlbZGF0YS1hb3MtZWFzaW5nPVwiI3ska2V5fVwiXSAmLFxuICAgICZbZGF0YS1hb3NdW2RhdGEtYW9zLWVhc2luZz1cIiN7JGtleX1cIl0ge1xuICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICR2YWw7XG4gICAgfVxuICB9XG59XG4iLCIvLyBBbmltYXRpb25zIHZhcmlhYmxlc1xuJGFvcy1kaXN0YW5jZTogMTAwcHggIWRlZmF1bHQ7XG5cblxuXG5cbi8qKlxuICogRmFkZSBhbmltYXRpb25zOlxuICogZmFkZVxuICogZmFkZS11cCwgZmFkZS1kb3duLCBmYWRlLWxlZnQsIGZhZGUtcmlnaHRcbiAqIGZhZGUtdXAtcmlnaHQsIGZhZGUtdXAtbGVmdCwgZmFkZS1kb3duLXJpZ2h0LCBmYWRlLWRvd24tbGVmdFxuICovXG5cbltkYXRhLWFvc149J2ZhZGUnXVtkYXRhLWFvc149J2ZhZGUnXSB7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHksIHRyYW5zZm9ybTtcblxuICAmLmFvcy1hbmltYXRlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICB9XG59XG5cbltkYXRhLWFvcz0nZmFkZS11cCddIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgJGFvcy1kaXN0YW5jZSk7XG59XG5cbltkYXRhLWFvcz0nZmFkZS1kb3duJ10ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtJGFvcy1kaXN0YW5jZSk7XG59XG5cbltkYXRhLWFvcz0nZmFkZS1yaWdodCddIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLSRhb3MtZGlzdGFuY2UsIDApO1xufVxuXG5bZGF0YS1hb3M9J2ZhZGUtbGVmdCddIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoJGFvcy1kaXN0YW5jZSwgMCk7XG59XG5cbltkYXRhLWFvcz0nZmFkZS11cC1yaWdodCddIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLSRhb3MtZGlzdGFuY2UsICRhb3MtZGlzdGFuY2UpO1xufVxuXG5bZGF0YS1hb3M9J2ZhZGUtdXAtbGVmdCddIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoJGFvcy1kaXN0YW5jZSwgJGFvcy1kaXN0YW5jZSk7XG59XG5cbltkYXRhLWFvcz0nZmFkZS1kb3duLXJpZ2h0J10ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtJGFvcy1kaXN0YW5jZSwgLSRhb3MtZGlzdGFuY2UpO1xufVxuXG5bZGF0YS1hb3M9J2ZhZGUtZG93bi1sZWZ0J10ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgkYW9zLWRpc3RhbmNlLCAtJGFvcy1kaXN0YW5jZSk7XG59XG5cblxuXG5cbi8qKlxuICogWm9vbSBhbmltYXRpb25zOlxuICogem9vbS1pbiwgem9vbS1pbi11cCwgem9vbS1pbi1kb3duLCB6b29tLWluLWxlZnQsIHpvb20taW4tcmlnaHRcbiAqIHpvb20tb3V0LCB6b29tLW91dC11cCwgem9vbS1vdXQtZG93biwgem9vbS1vdXQtbGVmdCwgem9vbS1vdXQtcmlnaHRcbiAqL1xuXG5bZGF0YS1hb3NePSd6b29tJ11bZGF0YS1hb3NePSd6b29tJ10ge1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5LCB0cmFuc2Zvcm07XG5cbiAgJi5hb3MtYW5pbWF0ZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKSBzY2FsZSgxKTtcbiAgfVxufVxuXG5bZGF0YS1hb3M9J3pvb20taW4nXSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoLjYpO1xufVxuXG5bZGF0YS1hb3M9J3pvb20taW4tdXAnXSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsICRhb3MtZGlzdGFuY2UpIHNjYWxlKC42KTtcbn1cblxuW2RhdGEtYW9zPSd6b29tLWluLWRvd24nXSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC0kYW9zLWRpc3RhbmNlKSBzY2FsZSguNik7XG59XG5cbltkYXRhLWFvcz0nem9vbS1pbi1yaWdodCddIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLSRhb3MtZGlzdGFuY2UsIDApIHNjYWxlKC42KTtcbn1cblxuW2RhdGEtYW9zPSd6b29tLWluLWxlZnQnXSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKCRhb3MtZGlzdGFuY2UsIDApIHNjYWxlKC42KTtcbn1cblxuW2RhdGEtYW9zPSd6b29tLW91dCddIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjIpO1xufVxuXG5bZGF0YS1hb3M9J3pvb20tb3V0LXVwJ10ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAkYW9zLWRpc3RhbmNlKSBzY2FsZSgxLjIpO1xufVxuXG5bZGF0YS1hb3M9J3pvb20tb3V0LWRvd24nXSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC0kYW9zLWRpc3RhbmNlKSBzY2FsZSgxLjIpO1xufVxuXG5bZGF0YS1hb3M9J3pvb20tb3V0LXJpZ2h0J10ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtJGFvcy1kaXN0YW5jZSwgMCkgc2NhbGUoMS4yKTtcbn1cblxuW2RhdGEtYW9zPSd6b29tLW91dC1sZWZ0J10ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgkYW9zLWRpc3RhbmNlLCAwKSBzY2FsZSgxLjIpO1xufVxuXG5cblxuXG4vKipcbiAqIFNsaWRlIGFuaW1hdGlvbnNcbiAqL1xuXG5bZGF0YS1hb3NePSdzbGlkZSddW2RhdGEtYW9zXj0nc2xpZGUnXSB7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcblxuICAmLmFvcy1hbmltYXRlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgfVxufVxuXG5bZGF0YS1hb3M9J3NsaWRlLXVwJ10ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG59XG5cbltkYXRhLWFvcz0nc2xpZGUtZG93biddIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbn1cblxuW2RhdGEtYW9zPSdzbGlkZS1yaWdodCddIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbn1cblxuW2RhdGEtYW9zPSdzbGlkZS1sZWZ0J10ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG59XG5cblxuXG5cbi8qKlxuICogRmxpcCBhbmltYXRpb25zOlxuICogZmxpcC1sZWZ0LCBmbGlwLXJpZ2h0LCBmbGlwLXVwLCBmbGlwLWRvd25cbiAqL1xuXG5bZGF0YS1hb3NePSdmbGlwJ11bZGF0YS1hb3NePSdmbGlwJ10ge1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcbn1cblxuW2RhdGEtYW9zPSdmbGlwLWxlZnQnXSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjUwMHB4KSByb3RhdGVZKC0xMDBkZWcpO1xuICAmLmFvcy1hbmltYXRlIHt0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDI1MDBweCkgcm90YXRlWSgwKTt9XG59XG5cbltkYXRhLWFvcz0nZmxpcC1yaWdodCddIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyNTAwcHgpIHJvdGF0ZVkoMTAwZGVnKTtcbiAgJi5hb3MtYW5pbWF0ZSB7dHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyNTAwcHgpIHJvdGF0ZVkoMCk7fVxufVxuXG5bZGF0YS1hb3M9J2ZsaXAtdXAnXSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjUwMHB4KSByb3RhdGVYKC0xMDBkZWcpO1xuICAmLmFvcy1hbmltYXRlIHt0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDI1MDBweCkgcm90YXRlWCgwKTt9XG59XG5cbltkYXRhLWFvcz0nZmxpcC1kb3duJ10ge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDI1MDBweCkgcm90YXRlWCgxMDBkZWcpO1xuICAmLmFvcy1hbmltYXRlIHt0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDI1MDBweCkgcm90YXRlWCgwKTt9XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vIERlZmF1bHQgVmFyaWFibGVzXG4vLyBAaW1wb3J0IFwic3JjL2Nzcy9zY3NzL21peGluc1wiO1xuJHNsaWNrLWZvbnQtcGF0aDogXCIuLy4uL2ZvbnRzL1wiICFkZWZhdWx0O1xuJHNsaWNrLWZvbnQtZmFtaWx5OiBcInJlZ2lzXCIgIWRlZmF1bHQ7XG4kc2xpY2stbG9hZGVyLXBhdGg6IFwiLi8uLi9pbWcvXCIgIWRlZmF1bHQ7XG4kc2xpY2stYXJyb3ctY29sb3I6ICM1ODU5NWIgIWRlZmF1bHQ7XG4kc2xpY2stYXJyb3ctY29sb3ItYWx0OiB3aGl0ZSAhZGVmYXVsdDtcbiRzbGljay1kb3QtY29sb3I6ICNmZmZmZmYgIWRlZmF1bHQ7XG4kc2xpY2stZG90LWNvbG9yLWFjdGl2ZTogIzY4YmJjOCAhZGVmYXVsdDtcbi8vICRzbGljay1wcmV2LWNoYXJhY3RlcjogXCLihpBcIiAhZGVmYXVsdDtcbiRzbGljay1wcmV2LWNoYXJhY3RlcjogXCJcXGU4MDFcIiAhZGVmYXVsdDtcbiRzbGljay1wcmV2LWNoYXJhY3Rlci1hbHQ6IFwiXFxlODAxXCIgIWRlZmF1bHQ7XG4vLyAkc2xpY2stbmV4dC1jaGFyYWN0ZXI6IFwi4oaSXCIgIWRlZmF1bHQ7XG4kc2xpY2stbmV4dC1jaGFyYWN0ZXI6IFwiXFxlODAyXCIgIWRlZmF1bHQ7XG4kc2xpY2stbmV4dC1jaGFyYWN0ZXItYWx0OiBcIlxcZTgwMlwiICFkZWZhdWx0O1xuJHNsaWNrLWRvdC1jaGFyYWN0ZXI6IFwi4oCiXCIgIWRlZmF1bHQ7XG4kc2xpY2stZG90LXNpemU6IDQwcHggIWRlZmF1bHQ7XG4kc2xpY2stb3BhY2l0eS1kZWZhdWx0OiAxICFkZWZhdWx0O1xuJHNsaWNrLW9wYWNpdHktb24taG92ZXI6IDAuNzUgIWRlZmF1bHQ7XG4kc2xpY2stb3BhY2l0eS1ub3QtYWN0aXZlOiAwLjI1ICFkZWZhdWx0O1xuXG5AZnVuY3Rpb24gc2xpY2staW1hZ2UtdXJsKCR1cmwpIHtcbiAgICBAaWYgZnVuY3Rpb24tZXhpc3RzKGltYWdlLXVybCkge1xuICAgICAgICBAcmV0dXJuIGltYWdlLXVybCgkdXJsKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgICBAcmV0dXJuIHVybCgkc2xpY2stbG9hZGVyLXBhdGggKyAkdXJsKTtcbiAgICB9XG59XG5cbkBmdW5jdGlvbiBzbGljay1mb250LXVybCgkdXJsKSB7XG4gICAgQGlmIGZ1bmN0aW9uLWV4aXN0cyhmb250LXVybCkge1xuICAgICAgICBAcmV0dXJuIGZvbnQtdXJsKCR1cmwpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAgIEByZXR1cm4gdXJsKCRzbGljay1mb250LXBhdGggKyAkdXJsKTtcbiAgICB9XG59XG5cbi8qIFNsaWRlciAqL1xuXG4uc2xpY2stbGlzdCB7XG4gICAgLnNsaWNrLWxvYWRpbmcgJiB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmYgc2xpY2staW1hZ2UtdXJsKFwiYWpheC1sb2FkZXIuZ2lmXCIpIGNlbnRlciBjZW50ZXIgbm8tcmVwZWF0O1xuICAgIH1cbn1cblxuLyogSWNvbnMgKi9cbkBpZiAkc2xpY2stZm9udC1mYW1pbHkgPT0gXCJyZWdpc1wiIHtcbiAgICBAZm9udC1mYWNlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwicmVnaXNcIjtcbiAgICAgICAgc3JjOiBzbGljay1mb250LXVybChcIi4uL2ZvbnRzL3JlZ2lzLmVvdFwiKTtcbiAgICAgICAgc3JjOiBzbGljay1mb250LXVybChcIi4uL2ZvbnRzL3JlZ2lzLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHNsaWNrLWZvbnQtdXJsKFwiLi4vZm9udHMvcmVnaXMud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCBzbGljay1mb250LXVybChcIi4uL2ZvbnRzL3JlZ2lzLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgc2xpY2stZm9udC11cmwoXCIuLi9mb250cy9yZWdpcy5zdmcjcmVnaXNcIikgZm9ybWF0KFwic3ZnXCIpO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgfVxufVxuXG4vKiBBcnJvd3MgKi9cblxuLnNsaWNrLXByZXYsXG4uc2xpY2stbmV4dCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogNzBweDtcbiAgICB3aWR0aDogNzBweDtcbiAgICBsaW5lLWhlaWdodDogMHB4O1xuICAgIGZvbnQtc2l6ZTogMHB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgdG9wOiA1MCU7XG4gICAgbWFyZ2luLXRvcDogLTEwcHhcXDk7IC8qbHRlIElFIDgqL1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6ICRzbGljay1vcGFjaXR5LW9uLWhvdmVyO1xuICAgICAgICB9XG4gICAgfVxuICAgICYuc2xpY2stZGlzYWJsZWQ6YmVmb3JlIHtcbiAgICAgICAgb3BhY2l0eTogJHNsaWNrLW9wYWNpdHktbm90LWFjdGl2ZTtcbiAgICB9XG59XG5cbi5zbGljay1wcmV2OmJlZm9yZSwgLnNsaWNrLW5leHQ6YmVmb3JlIHtcbiAgICBmb250LWZhbWlseTogJHNsaWNrLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtc2l6ZTogNzBweDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjb2xvcjogJHNsaWNrLWFycm93LWNvbG9yO1xuICAgIG9wYWNpdHk6ICRzbGljay1vcGFjaXR5LWRlZmF1bHQ7XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICAuc2xpZGVyLXJlc2lkZW5jZSAmIHtcbiAgICAgICAgY29sb3I6ICRzbGljay1hcnJvdy1jb2xvci1hbHQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgICB9XG59XG5cbi5zbGljay1wcmV2IHtcbiAgICBsZWZ0OiAtODVweDtcbiAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICByaWdodDogLTg1cHg7XG4gICAgfVxuICAgIC5zbGlkZXItcmVzaWRlbmNlICYge1xuICAgICAgICBsZWZ0OiAxMHB4O1xuICAgICAgICB6LWluZGV4OiAyMDtcbiAgICAgICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgICAgICAgIHJpZ2h0OiAxMHB4O1xuICAgICAgICB9XG4gICAgfVxuICAgICY6YmVmb3JlIHtcbiAgICAgICAgLy8gQGluY2x1ZGUgc3ZnLWJnKCAnYXJyb3ctbGVmdC10aHVtYicsICRwb3NpdGlvbjogMCAwICk7XG4gICAgICAgIC8vIGJhY2tncm91bmQtc2l6ZTogMjBweCAyMHB4O1xuICAgICAgICBjb250ZW50OiAkc2xpY2stcHJldi1jaGFyYWN0ZXI7XG4gICAgICAgIC8vIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHdpZHRoOiA3MHB4O1xuICAgICAgICBoZWlnaHQ6IDcwcHg7XG5cbiAgICAgICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRzbGljay1uZXh0LWNoYXJhY3RlcjtcbiAgICAgICAgfVxuICAgICAgICAuc2xpZGVyLXJlc2lkZW5jZSAmIHtcbiAgICAgICAgICAgIHdpZHRoOiAzMnB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAzMnB4O1xuICAgICAgICAgICAgY29udGVudDogJHNsaWNrLXByZXYtY2hhcmFjdGVyLWFsdDtcbiAgICAgICAgICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJHNsaWNrLW5leHQtY2hhcmFjdGVyLWFsdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnNsaWNrLW5leHQge1xuICAgIHJpZ2h0OiAtODVweDtcbiAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICBsZWZ0OiAtODVweDtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgfVxuICAgIC5zbGlkZXItcmVzaWRlbmNlICYge1xuICAgICAgICByaWdodDogMTBweDtcbiAgICAgICAgei1pbmRleDogMjA7XG4gICAgICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgICAgICBsZWZ0OiAxMHB4O1xuICAgICAgICB9XG4gICAgfVxuICAgICY6YmVmb3JlIHtcbiAgICAgICAgLy8gQGluY2x1ZGUgc3ZnLWJnKCAnYXJyb3ctcmlnaHQtdGh1bWInLCAkcG9zaXRpb246IDAgMCApO1xuICAgICAgICAvLyBiYWNrZ3JvdW5kLXNpemU6IDIwcHggMjBweDtcbiAgICAgICAgY29udGVudDogJHNsaWNrLW5leHQtY2hhcmFjdGVyO1xuICAgICAgICAvLyBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB3aWR0aDogNzBweDtcbiAgICAgICAgaGVpZ2h0OiA3MHB4O1xuXG4gICAgICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgICAgICBjb250ZW50OiAkc2xpY2stcHJldi1jaGFyYWN0ZXI7XG4gICAgICAgIH1cbiAgICAgICAgLnNsaWRlci1yZXNpZGVuY2UgJiB7XG4gICAgICAgICAgICB3aWR0aDogMzJweDtcbiAgICAgICAgICAgIGhlaWdodDogMzJweDtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRzbGljay1uZXh0LWNoYXJhY3Rlci1hbHQ7XG4gICAgICAgICAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICRzbGljay1wcmV2LWNoYXJhY3Rlci1hbHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qIERvdHMgKi9cblxuLnNsaWNrLXNsaWRlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbn1cblxuLnNsaWNrLWRvdHMge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IC02NXB4O1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIC5zbGlkZXItcmVzaWRlbmNlICYge1xuICAgICAgICBib3R0b206IDIwcHg7XG4gICAgICAgIHotaW5kZXg6IDIwO1xuICAgIH1cbiAgICBsaSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICBtYXJnaW46IDAgNXB4O1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDBweDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMHB4O1xuICAgICAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgcGFkZGluZzogNXB4O1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6ICRzbGljay1vcGFjaXR5LW9uLWhvdmVyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgY29udGVudDogJHNsaWNrLWRvdC1jaGFyYWN0ZXI7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkc2xpY2stZm9udC1mYW1pbHk7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkc2xpY2stZG90LXNpemU7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkc2xpY2stZG90LWNvbG9yO1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6ICRzbGljay1vcGFjaXR5LW5vdC1hY3RpdmU7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAgICAgICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLnNsaWNrLWFjdGl2ZSBidXR0b246YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbG9yOiAkc2xpY2stZG90LWNvbG9yLWFjdGl2ZTtcbiAgICAgICAgICAgIG9wYWNpdHk6ICRzbGljay1vcGFjaXR5LWRlZmF1bHQ7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIkZm9udF9wYXRoOiBcIi4uL2ZvbnRzL1wiO1xuXG4vLyBBRERFRCBUTyBJTkRJVklEVUFMIFNUWUxFU0hFRVQgSU4gSEVBREVSXG5cbi8vIEBmb250LWZhY2Uge1xuLy8gICAgIGZvbnQtZmFtaWx5OiAncmVnaXMnO1xuLy8gICAgIHNyYzogdXJsKCcjeyRmb250X3BhdGh9cmVnaXMuZW90Jyk7XG4vLyAgICAgc3JjOiB1cmwoJyN7JGZvbnRfcGF0aH1yZWdpcy5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLCB1cmwoJyN7JGZvbnRfcGF0aH1yZWdpcy53b2ZmJykgZm9ybWF0KCd3b2ZmJyksIHVybCgnI3skZm9udF9wYXRofXJlZ2lzLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSwgdXJsKCcjeyRmb250X3BhdGh9cmVnaXMuc3ZnI3JlZ2lzJykgZm9ybWF0KCdzdmcnKTtcbi8vICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuLy8gICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbi8vIH1cblxuJGZvcm1hdGE6IEZvcm1hdGEsIFRhaG9tYSwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcblxuJGZvbnQtYm9keTogRm9ybWF0YSwgVGFob21hLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuXG4kZm9udC1oZWFkaW5nczogJGZvcm1hdGE7XG5cblxuXG5cbi8qIEljb25zICovXG5cbiRpY29uLWZvbnQ6IHJlZ2lzO1xuXG5cbiRpY29uLWluc3RhZ3JhbTogJ1xcZTgxMic7XG4kaWNvbi1saW5rZWRpbjogJ1xcZTgxMSc7XG4kaWNvbi15b3V0dWJlOiAnXFxlNzI4JztcbiRpY29uLWZhY2Vib29rOiAnXFxlODE0JztcbiRpY29uLXR3aXR0ZXI6ICdcXGU4MTAnO1xuJGljb24tZW1haWw6ICdcXGU3NDAnO1xuXG4kaWNvbi1hcnJvdy1kb3duLXNtYWxsOiAnXFxlODAwJztcbiRpY29uLWFycm93LWxlZnQtc21hbGw6ICdcXGU4MDEnO1xuJGljb24tYXJyb3ctcmlnaHQtc21hbGw6ICdcXGU4MDInO1xuJGljb24tYXJyb3ctc29saWQtbGVmdDogJ1xcZTgwMyc7XG4kaWNvbi1hcnJvdy1zb2xpZC1yaWdodDogJ1xcZTgwNCc7XG4kaWNvbi1hcnJvdy11cC1zbWFsbDogJ1xcZTgwNSc7XG4kaWNvbi1sb2NhdGlvbjogJ1xcZTgwNic7XG4kaWNvbi1taW51czogJ1xcZTgwNyc7XG4kaWNvbi1waG9uZTogJ1xcZTgwOCc7XG4kaWNvbi1wbHVzOiAnXFxlODA5JztcbiRpY29uLXRpY2s6ICdcXGU4MGEnO1xuJGljb24tY2hlY2tib3g6ICdcXGU4MGInO1xuXG4kaWNvbi10d2l0dGVyLXNxdWFyZWQ6ICdcXGU4MGQnOyBcbiRpY29uLWZhY2Vib29rLXNxdWFyZWQ6ICdcXGU4MGMnO1xuJGljb24tbGlua2VkaW4tc3F1YXJlZDogJ1xcZTgxMyc7XG5cbiIsIkBtaXhpbiB2ZXJ0aWNhbC1hbGlnbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuQG1peGluIG1pZGRsZS1hbGlnbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoLTUwJSk7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG59XG5cbkBtaXhpbiBpbWctaGlkZGVuLXR4dCB7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHRleHQtaW5kZW50OiAtMjAwMDBlbTtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG5AbWl4aW4gaW1nLWZsZXgge1xuXHR3aWR0aDogMTAwJTtcblx0bWF4LXdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IGF1dG87XG59XG5cbkBtaXhpbiBzdmctYmctaW1hZ2UoJG5hbWUpIHtcblx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCcjeyRwdWJsaWNfcGF0aH1pbWcvI3skbmFtZX0ucG5nJyk7XG5cdGJhY2tncm91bmQtaW1hZ2U6IG5vbmUsIHVybCgnI3skcHVibGljX3BhdGh9aW1nLyN7JG5hbWV9LnN2ZycpO1xufVxuXG5AbWl4aW4gc3ZnLWJnKCRuYW1lLCAkZXh0ZW5zaW9uOiBwbmcsICRjb2xvcjogdHJhbnNwYXJlbnQsICRwb3NpdGlvbjogMCAwLCAkcmVwZWF0OiBuby1yZXBlYXQpIHtcblx0YmFja2dyb3VuZDogdXJsKCcjeyRwdWJsaWNfcGF0aH1pbWcvI3skbmFtZX0uI3skZXh0ZW5zaW9ufScpICRjb2xvciAkcG9zaXRpb24gJHJlcGVhdDtcblx0YmFja2dyb3VuZDogbm9uZSwgdXJsKCcjeyRwdWJsaWNfcGF0aH1pbWcvI3skbmFtZX0uc3ZnJykgJGNvbG9yICRwb3NpdGlvbiAkcmVwZWF0O1xufVxuXG4vLy9cbi8vLyBWaWV3cG9ydCBzaXplZCB0eXBvZ3JhcGh5IHdpdGggbWluaW11bSBhbmQgbWF4aW11bSB2YWx1ZXNcbi8vL1xuLy8vIEBhdXRob3IgRWR1YXJkbyBCb3VjYXMgKEBlZHVhcmRvYm91Y2FzKVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICAgJHJlc3BvbnNpdmUgIC0gVmlld3BvcnQtYmFzZWQgc2l6ZVxuLy8vIEBwYXJhbSB7TnVtYmVyfSAgICRtaW4gICAgICAgICAtIE1pbmltdW0gZm9udCBzaXplIChweClcbi8vLyBAcGFyYW0ge051bWJlcn0gICAkbWF4ICAgICAgICAgLSBNYXhpbXVtIGZvbnQgc2l6ZSAocHgpXG4vLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG9wdGlvbmFsKVxuLy8vIEBwYXJhbSB7TnVtYmVyfSAgICRmYWxsYmFjayAgICAtIEZhbGxiYWNrIGZvciB2aWV3cG9ydC1cbi8vLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYXNlZCB1bml0cyAob3B0aW9uYWwpXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gNXZ3IGZvbnQgc2l6ZSAod2l0aCA1MHB4IGZhbGxiYWNrKSxcbi8vLyAgICAgICAgICAgICAgICAgbWludW11bSBvZiAzNXB4IGFuZCBtYXhpbXVtIG9mIDE1MHB4XG4vLy8gIEBpbmNsdWRlIHJlc3BvbnNpdmUtZm9udCg1dncsIDM1cHgsIDE1MHB4LCA1MHB4KTtcbi8vL1xuXG5AbWl4aW4gcmVzcG9uc2l2ZS1mb250KCRyZXNwb25zaXZlLCAkbWluLCAkbWF4OiBmYWxzZSwgJGZhbGxiYWNrOiBmYWxzZSkge1xuICAkcmVzcG9uc2l2ZS11bml0bGVzczogJHJlc3BvbnNpdmUgLyAoJHJlc3BvbnNpdmUgLSAkcmVzcG9uc2l2ZSArIDEpO1xuICAkZGltZW5zaW9uOiBpZih1bml0KCRyZXNwb25zaXZlKSA9PSAndmgnLCAnaGVpZ2h0JywgJ3dpZHRoJyk7XG4gICRtaW4tYnJlYWtwb2ludDogJG1pbiAvICRyZXNwb25zaXZlLXVuaXRsZXNzICogMTAwO1xuXG4gIEBtZWRpYSAobWF4LSN7JGRpbWVuc2lvbn06ICN7JG1pbi1icmVha3BvaW50fSkge1xuICAgIGZvbnQtc2l6ZTogJG1pbjtcbiAgfVxuXG4gIEBpZiAkbWF4IHtcbiAgICAkbWF4LWJyZWFrcG9pbnQ6ICRtYXggLyAkcmVzcG9uc2l2ZS11bml0bGVzcyAqIDEwMDtcblxuICAgIEBtZWRpYSAobWluLSN7JGRpbWVuc2lvbn06ICN7JG1heC1icmVha3BvaW50fSkge1xuICAgICAgZm9udC1zaXplOiAkbWF4O1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkZmFsbGJhY2sge1xuICAgIGZvbnQtc2l6ZTogJGZhbGxiYWNrO1xuICB9XG5cbiAgZm9udC1zaXplOiAkcmVzcG9uc2l2ZTtcbn1cblxuXG5AbWl4aW4gYmFubmVyLXNsaW0oJGJhc2U6IGZhbHNlKSB7XG4gICRjbGFzc25hbWU6ICdiYW5uZXItc2xpbSc7XG4gIEBpZigkYmFzZSkge1xuICAgICYuI3skY2xhc3NuYW1lfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC5iYW5uZXIuI3skY2xhc3NuYW1lfSAmIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuIiwiJGJhc2U6ICdmZWF0dXJlcy1saXN0JztcblxuLiN7JGJhc2V9IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtaW4taGVpZ2h0OiByZW0tY2FsYyg0ODApO1xuICBtYXJnaW46IHJlbS1jYWxjKDMwKSAwO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICBtYXJnaW46IHJlbS1jYWxjKDUwKSAwO1xuICB9XG5cbiAgJl9fbGVmdCB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgcGFkZGluZzogcmVtLWNhbGMoMzUpO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgJGdyZXktbWVkaXVtO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgIH1cbiAgfVxuXG4gICZfX3JpZ2h0IHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgJl9fdGl0bGUge1xuICAgIGJvcmRlci1ib3R0b206IHJlbS1jYWxjKDQpIHNvbGlkICRncmVlbjtcbiAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDQwKTtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDIxKTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG5cbiAgJl9faXRlbXMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG5cbiAgJl9faXRlbSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDI1KTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBjb2xvcjogJGJsdWUtbGlnaHQ7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnM7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IHJlbS1jYWxjKDMpO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiByZW0tY2FsYygxNSk7XG4gICAgICBoZWlnaHQ6IHJlbS1jYWxjKDE1KTtcbiAgICAgIGJvcmRlci10b3A6IDNweCBzb2xpZCAkcmVkO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAzcHggc29saWQgJHJlZDtcbiAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNDAlKSByb3RhdGUoNDVkZWcpO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnM7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRncmV5LW1lZGl1bTtcblxuICAgICAgYSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygyMCkgMDtcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoLTIyKTtcbiAgICAgIH1cblxuICAgICAgJi4tdG9nZ2xlIHtcbiAgICAgICAgY29sb3I6ICRncmV5O1xuICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICBcbiAgICAgICAgLiN7JGJhc2V9X19kZXRhaWwtc21hbGwge1xuICAgICAgICAgIG1heC1oZWlnaHQ6IHJlbS1jYWxjKDk5OSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi4tdG9nZ2xlOjpiZWZvcmUge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxMzVkZWcpO1xuICAgICAgICB0b3A6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgd2lkdGg6IDUwJTtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgIH1cblxuICAgICAgJi4tYWN0aXZlIHtcbiAgICAgICAgY29sb3I6ICRncmV5O1xuICAgICAgfVxuXG4gICAgICAmLi1hY3RpdmU6OmJlZm9yZSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB9XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDI1KTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB9XG4gIH1cblxuICAmX19kZXRhaWwtc21hbGwge1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzO1xuICAgIG1hcmdpbjogMCByZW0tY2FsYygtMTUpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgbWF4LWhlaWdodDogcmVtLWNhbGMoMCk7XG4gICAgXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gICZfX2RldGFpbC1sYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICAvKlxuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICovXG5cbiAgICAmLi1hY3RpdmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAvKlxuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7XG4gICAgICAqL1xuICAgIH1cbiAgfVxuXG4gICZfX3RleHQge1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDI1KTtcbiAgICBiYWNrZ3JvdW5kOiAkYmx1ZS1tZWRpdW07XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgY29sb3I6ICR3aGl0ZTtcblxuICAgIHAge1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgfVxuXG4gICZfX2ltYWdlIHtcbiAgICBpbWcge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG4gIH1cbn1cbiIsIi5yb29tLWNvc3RzIHtcblxuXG4gIHAge1xuICAgICAgLmNvbnRlbnQgJiB7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxKTtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG5cbiAgICAgICAgICAmLnJvb20tY29zdHMtZGlzY2xhaW1lciB7XG4gICAgICAgICAgICAgIG1hcmdpbjogcmVtLWNhbGMoLTUgMCAzNSk7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgICAgICAgIH1cbiAgICAgIH1cblxuICB9XG5cbiAgLnJvb20tY29zdHMtZGVwb3NpdCxcbiAgLnJvb20tY29zdHMtYW1vdW50IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyg1KTtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDM0KTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgfVxuXG4gIC5vciB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JleTtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDYwKTtcbiAgICAgIHdpZHRoOiByZW0tY2FsYyg1Nik7XG4gICAgICBoZWlnaHQ6IHJlbS1jYWxjKDU2KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYyg1Nik7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBib3JkZXI6IDE2cHggc29saWQgJHdoaXRlO1xuICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIH1cblxuICAuYnV0dG9uIHtcbiAgICBtYXJnaW46IHJlbS1jYWxjKDAgMCAtMTApO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgfVxuICB9XG5cbn1cblxuIiwiXG4vLyBDQUxDVUxBVE9SIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuXG4uY2FsY3VsYXRvciB7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiByZW0tY2FsYygyMCk7XG4gIGJhY2tncm91bmQ6ICR3aGl0ZTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgd2lkdGg6IHJlbS1jYWxjKDgwMCk7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoMzAgMTAwKTtcbiAgfVxuXG4gIC5jYWxjdWxhdG9yLXRpdGxlIHtcbiAgICAgIGgzIHtcbiAgICAgICAgICBtYXJnaW46IHJlbS1jYWxjKDAgMCAxMCk7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNik7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgIH1cbiAgfVxuICAucmFkIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmV5O1xuICAgICAgcGFkZGluZzogcmVtLWNhbGMoMzIgMzIgNDgpO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygzMik7XG4gICAgICAgICAgYm9yZGVyLXJpZ2h0OiByZW0tY2FsYyg2KSBzb2xpZCAkd2hpdGU7XG4gICAgICB9XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBmb250LWZhbWlseTogJGljb24tZm9udDtcbiAgICAgICAgICBjb250ZW50OiAkaWNvbi1wbHVzO1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjgpO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICBjb2xvcjogJGdyZXk7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHJpZ2h0OiA1MCU7XG4gICAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICAgIGJvdHRvbTogLSByZW0tY2FsYygyOSk7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtIHJlbS1jYWxjKDMxKTtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiByZW0tY2FsYyg2MCk7XG4gICAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDU2KTtcbiAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDU2KTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoNTYpO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICAgIHJpZ2h0OiAtMHB4O1xuICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgICAgICAgICAgQGluY2x1ZGUgdmVydGljYWwtY2VudGVyO1xuICAgICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHAge1xuICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgfVxuICAgICAgbGFiZWwge1xuICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB9XG5cbiAgfVxuICAuZGFwIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmV5LWxpZ2h0O1xuICAgICAgcGFkZGluZzogcmVtLWNhbGMoNDggMzIgMzIpO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDMyKTtcbiAgICAgIH1cbiAgfVxuXG4gIC5kYXAtYW1vdW50IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiByZW0tY2FsYygyMCAwKTtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoNDIpO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAkbnVtYmVyLXNwYWNpbmc7XG4gIH1cblxuICAucmFkLWluZm8ge1xuICAgIG1hcmdpbjogcmVtLWNhbGMoMCAwIDE1KTtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICB9XG5cbiAgLmRhcC10aXRsZSxcbiAgLnJhZC10aXRsZSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgfVxuXG4gIC5kYXAtc3VidGl0bGUge1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICBsaW5lLWhlaWdodDogMS40O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMTApO1xuICAgIH1cbiAgfVxuXG4gIC5yYWQtZGlzY2xhaW1lciB7XG4gICAgbWFyZ2luOiByZW0tY2FsYyg0MCAwIDApO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICB9XG5cbiAgLmJ1dHRvbiB7XG4gICAgbWFyZ2luOiByZW0tY2FsYygxMCAwIDApO1xuICB9XG5cbiAgaW5wdXQuaW5wdXQtcmFkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDQ0MCk7XG4gICAgaGVpZ2h0OiByZW0tY2FsYyg1NCk7XG4gICAgbWFyZ2luOiByZW0tY2FsYygxMCAwKTtcbiAgICBib3JkZXI6IDA7XG4gICAgYmFja2dyb3VuZDogJGdyZXktbGlnaHQ7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggM3B4IHJnYmEoYmxhY2ssIDAuNSk7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBjb2xvcjogJGdyZXk7XG5cbiAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogJGdyZXk7XG4gICAgfVxuICB9XG59XG4iXX0= */
