@media print, screen and (min-width: 40em){.reveal,.reveal.tiny,.reveal.small,.reveal.large{right:auto;left:auto;margin:0 auto}}/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}h1{font-size:2em;margin:0.67em 0}hr{-webkit-box-sizing:content-box;box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace, monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em}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}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[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}fieldset{padding:0.35em 0.75em 0.625em}legend{-webkit-box-sizing:border-box;box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[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-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}.foundation-mq{font-family:"small=0em&medium=40em&large=80em&xlarge=90em&xxlarge=100em"}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:#202020;font-family:"HelveticaRegular","Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-weight:normal;line-height:1.5;color:#B3B3B3;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img{display:inline-block;vertical-align:middle;max-width:100%;height:auto;-ms-interpolation-mode:bicubic}textarea{height:auto;min-height:50px;border-radius:0}select{-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;border-radius:0}.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:0;background:transparent;line-height:1;cursor:auto}[data-whatinput='mouse'] button{outline:0}pre{overflow:auto}button,input,optgroup,select,textarea{font-family:inherit}.is-visible{display:block !important}.is-hidden{display:none !important}.grid-container{padding-right:.625rem;padding-left:.625rem;max-width:90rem;margin:0 auto}@media print, screen and (min-width: 40em){.grid-container{padding-right:1.875rem;padding-left:1.875rem}}.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:1.875rem;padding-left:1.875rem}}.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: 80em){.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{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:8.33333%}.grid-x>.small-2{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:16.66667%}.grid-x>.small-3{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.grid-x>.small-4{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:33.33333%}.grid-x>.small-5{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:41.66667%}.grid-x>.small-6{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.grid-x>.small-7{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:58.33333%}.grid-x>.small-8{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:66.66667%}.grid-x>.small-9{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.grid-x>.small-10{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:83.33333%}.grid-x>.small-11{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:91.66667%}.grid-x>.small-12{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;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{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:8.33333%}.grid-x>.medium-2{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:16.66667%}.grid-x>.medium-3{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.grid-x>.medium-4{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:33.33333%}.grid-x>.medium-5{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:41.66667%}.grid-x>.medium-6{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.grid-x>.medium-7{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:58.33333%}.grid-x>.medium-8{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:66.66667%}.grid-x>.medium-9{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.grid-x>.medium-10{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:83.33333%}.grid-x>.medium-11{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:91.66667%}.grid-x>.medium-12{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:100%}}@media print, screen and (min-width: 80em){.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{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:8.33333%}.grid-x>.large-2{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:16.66667%}.grid-x>.large-3{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.grid-x>.large-4{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:33.33333%}.grid-x>.large-5{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:41.66667%}.grid-x>.large-6{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.grid-x>.large-7{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:58.33333%}.grid-x>.large-8{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:66.66667%}.grid-x>.large-9{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.grid-x>.large-10{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:83.33333%}.grid-x>.large-11{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:91.66667%}.grid-x>.large-12{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;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:-1.875rem;margin-right:-1.875rem}}.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% - 3.75rem);margin-left:1.875rem;margin-right:1.875rem}}.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% - 3.75rem)}.grid-margin-x>.small-2{width:calc(16.66667% - 3.75rem)}.grid-margin-x>.small-3{width:calc(25% - 3.75rem)}.grid-margin-x>.small-4{width:calc(33.33333% - 3.75rem)}.grid-margin-x>.small-5{width:calc(41.66667% - 3.75rem)}.grid-margin-x>.small-6{width:calc(50% - 3.75rem)}.grid-margin-x>.small-7{width:calc(58.33333% - 3.75rem)}.grid-margin-x>.small-8{width:calc(66.66667% - 3.75rem)}.grid-margin-x>.small-9{width:calc(75% - 3.75rem)}.grid-margin-x>.small-10{width:calc(83.33333% - 3.75rem)}.grid-margin-x>.small-11{width:calc(91.66667% - 3.75rem)}.grid-margin-x>.small-12{width:calc(100% - 3.75rem)}.grid-margin-x>.medium-auto{width:auto}.grid-margin-x>.medium-shrink{width:auto}.grid-margin-x>.medium-1{width:calc(8.33333% - 3.75rem)}.grid-margin-x>.medium-2{width:calc(16.66667% - 3.75rem)}.grid-margin-x>.medium-3{width:calc(25% - 3.75rem)}.grid-margin-x>.medium-4{width:calc(33.33333% - 3.75rem)}.grid-margin-x>.medium-5{width:calc(41.66667% - 3.75rem)}.grid-margin-x>.medium-6{width:calc(50% - 3.75rem)}.grid-margin-x>.medium-7{width:calc(58.33333% - 3.75rem)}.grid-margin-x>.medium-8{width:calc(66.66667% - 3.75rem)}.grid-margin-x>.medium-9{width:calc(75% - 3.75rem)}.grid-margin-x>.medium-10{width:calc(83.33333% - 3.75rem)}.grid-margin-x>.medium-11{width:calc(91.66667% - 3.75rem)}.grid-margin-x>.medium-12{width:calc(100% - 3.75rem)}}@media print, screen and (min-width: 80em){.grid-margin-x>.large-auto{width:auto}.grid-margin-x>.large-shrink{width:auto}.grid-margin-x>.large-1{width:calc(8.33333% - 3.75rem)}.grid-margin-x>.large-2{width:calc(16.66667% - 3.75rem)}.grid-margin-x>.large-3{width:calc(25% - 3.75rem)}.grid-margin-x>.large-4{width:calc(33.33333% - 3.75rem)}.grid-margin-x>.large-5{width:calc(41.66667% - 3.75rem)}.grid-margin-x>.large-6{width:calc(50% - 3.75rem)}.grid-margin-x>.large-7{width:calc(58.33333% - 3.75rem)}.grid-margin-x>.large-8{width:calc(66.66667% - 3.75rem)}.grid-margin-x>.large-9{width:calc(75% - 3.75rem)}.grid-margin-x>.large-10{width:calc(83.33333% - 3.75rem)}.grid-margin-x>.large-11{width:calc(91.66667% - 3.75rem)}.grid-margin-x>.large-12{width:calc(100% - 3.75rem)}}.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:-1.875rem;margin-left:-1.875rem}}.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:-1.875rem;margin-left:-1.875rem}}.grid-padding-x>.cell{padding-right:.625rem;padding-left:.625rem}@media print, screen and (min-width: 40em){.grid-padding-x>.cell{padding-right:1.875rem;padding-left:1.875rem}}.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: 80em){.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% - 3.75rem)}.grid-margin-x.small-up-2>.cell{width:calc(50% - 3.75rem)}.grid-margin-x.small-up-3>.cell{width:calc(33.33333% - 3.75rem)}.grid-margin-x.small-up-4>.cell{width:calc(25% - 3.75rem)}.grid-margin-x.small-up-5>.cell{width:calc(20% - 3.75rem)}.grid-margin-x.small-up-6>.cell{width:calc(16.66667% - 3.75rem)}.grid-margin-x.small-up-7>.cell{width:calc(14.28571% - 3.75rem)}.grid-margin-x.small-up-8>.cell{width:calc(12.5% - 3.75rem)}.grid-margin-x.medium-up-1>.cell{width:calc(100% - 3.75rem)}.grid-margin-x.medium-up-2>.cell{width:calc(50% - 3.75rem)}.grid-margin-x.medium-up-3>.cell{width:calc(33.33333% - 3.75rem)}.grid-margin-x.medium-up-4>.cell{width:calc(25% - 3.75rem)}.grid-margin-x.medium-up-5>.cell{width:calc(20% - 3.75rem)}.grid-margin-x.medium-up-6>.cell{width:calc(16.66667% - 3.75rem)}.grid-margin-x.medium-up-7>.cell{width:calc(14.28571% - 3.75rem)}.grid-margin-x.medium-up-8>.cell{width:calc(12.5% - 3.75rem)}}@media print, screen and (min-width: 80em){.grid-margin-x.large-up-1>.cell{width:calc(100% - 3.75rem)}.grid-margin-x.large-up-2>.cell{width:calc(50% - 3.75rem)}.grid-margin-x.large-up-3>.cell{width:calc(33.33333% - 3.75rem)}.grid-margin-x.large-up-4>.cell{width:calc(25% - 3.75rem)}.grid-margin-x.large-up-5>.cell{width:calc(20% - 3.75rem)}.grid-margin-x.large-up-6>.cell{width:calc(16.66667% - 3.75rem)}.grid-margin-x.large-up-7>.cell{width:calc(14.28571% - 3.75rem)}.grid-margin-x.large-up-8>.cell{width:calc(12.5% - 3.75rem)}}.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: 80em){.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: 80em){.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: 80em){.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: 80em){.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: 80em){.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: 80em){.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: 80em){.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% + 1.875rem)}.medium-offset-1{margin-left:8.33333%}.grid-margin-x>.medium-offset-1{margin-left:calc(8.33333% + 1.875rem)}.medium-offset-2{margin-left:16.66667%}.grid-margin-x>.medium-offset-2{margin-left:calc(16.66667% + 1.875rem)}.medium-offset-3{margin-left:25%}.grid-margin-x>.medium-offset-3{margin-left:calc(25% + 1.875rem)}.medium-offset-4{margin-left:33.33333%}.grid-margin-x>.medium-offset-4{margin-left:calc(33.33333% + 1.875rem)}.medium-offset-5{margin-left:41.66667%}.grid-margin-x>.medium-offset-5{margin-left:calc(41.66667% + 1.875rem)}.medium-offset-6{margin-left:50%}.grid-margin-x>.medium-offset-6{margin-left:calc(50% + 1.875rem)}.medium-offset-7{margin-left:58.33333%}.grid-margin-x>.medium-offset-7{margin-left:calc(58.33333% + 1.875rem)}.medium-offset-8{margin-left:66.66667%}.grid-margin-x>.medium-offset-8{margin-left:calc(66.66667% + 1.875rem)}.medium-offset-9{margin-left:75%}.grid-margin-x>.medium-offset-9{margin-left:calc(75% + 1.875rem)}.medium-offset-10{margin-left:83.33333%}.grid-margin-x>.medium-offset-10{margin-left:calc(83.33333% + 1.875rem)}.medium-offset-11{margin-left:91.66667%}.grid-margin-x>.medium-offset-11{margin-left:calc(91.66667% + 1.875rem)}}@media print, screen and (min-width: 80em){.large-offset-0{margin-left:0%}.grid-margin-x>.large-offset-0{margin-left:calc(0% + 1.875rem)}.large-offset-1{margin-left:8.33333%}.grid-margin-x>.large-offset-1{margin-left:calc(8.33333% + 1.875rem)}.large-offset-2{margin-left:16.66667%}.grid-margin-x>.large-offset-2{margin-left:calc(16.66667% + 1.875rem)}.large-offset-3{margin-left:25%}.grid-margin-x>.large-offset-3{margin-left:calc(25% + 1.875rem)}.large-offset-4{margin-left:33.33333%}.grid-margin-x>.large-offset-4{margin-left:calc(33.33333% + 1.875rem)}.large-offset-5{margin-left:41.66667%}.grid-margin-x>.large-offset-5{margin-left:calc(41.66667% + 1.875rem)}.large-offset-6{margin-left:50%}.grid-margin-x>.large-offset-6{margin-left:calc(50% + 1.875rem)}.large-offset-7{margin-left:58.33333%}.grid-margin-x>.large-offset-7{margin-left:calc(58.33333% + 1.875rem)}.large-offset-8{margin-left:66.66667%}.grid-margin-x>.large-offset-8{margin-left:calc(66.66667% + 1.875rem)}.large-offset-9{margin-left:75%}.grid-margin-x>.large-offset-9{margin-left:calc(75% + 1.875rem)}.large-offset-10{margin-left:83.33333%}.grid-margin-x>.large-offset-10{margin-left:calc(83.33333% + 1.875rem)}.large-offset-11{margin-left:91.66667%}.grid-margin-x>.large-offset-11{margin-left:calc(91.66667% + 1.875rem)}}.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: 80em){.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: 80em){.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:-1.875rem;margin-bottom:-1.875rem}}.grid-padding-y>.cell{padding-top:.625rem;padding-bottom:.625rem}@media print, screen and (min-width: 40em){.grid-padding-y>.cell{padding-top:1.875rem;padding-bottom:1.875rem}}.grid-margin-y{margin-top:-.625rem;margin-bottom:-.625rem}@media print, screen and (min-width: 40em){.grid-margin-y{margin-top:-1.875rem;margin-bottom:-1.875rem}}.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% - 3.75rem);margin-top:1.875rem;margin-bottom:1.875rem}}.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% - 3.75rem)}.grid-margin-y>.small-2{height:calc(16.66667% - 3.75rem)}.grid-margin-y>.small-3{height:calc(25% - 3.75rem)}.grid-margin-y>.small-4{height:calc(33.33333% - 3.75rem)}.grid-margin-y>.small-5{height:calc(41.66667% - 3.75rem)}.grid-margin-y>.small-6{height:calc(50% - 3.75rem)}.grid-margin-y>.small-7{height:calc(58.33333% - 3.75rem)}.grid-margin-y>.small-8{height:calc(66.66667% - 3.75rem)}.grid-margin-y>.small-9{height:calc(75% - 3.75rem)}.grid-margin-y>.small-10{height:calc(83.33333% - 3.75rem)}.grid-margin-y>.small-11{height:calc(91.66667% - 3.75rem)}.grid-margin-y>.small-12{height:calc(100% - 3.75rem)}.grid-margin-y>.medium-auto{height:auto}.grid-margin-y>.medium-shrink{height:auto}.grid-margin-y>.medium-1{height:calc(8.33333% - 3.75rem)}.grid-margin-y>.medium-2{height:calc(16.66667% - 3.75rem)}.grid-margin-y>.medium-3{height:calc(25% - 3.75rem)}.grid-margin-y>.medium-4{height:calc(33.33333% - 3.75rem)}.grid-margin-y>.medium-5{height:calc(41.66667% - 3.75rem)}.grid-margin-y>.medium-6{height:calc(50% - 3.75rem)}.grid-margin-y>.medium-7{height:calc(58.33333% - 3.75rem)}.grid-margin-y>.medium-8{height:calc(66.66667% - 3.75rem)}.grid-margin-y>.medium-9{height:calc(75% - 3.75rem)}.grid-margin-y>.medium-10{height:calc(83.33333% - 3.75rem)}.grid-margin-y>.medium-11{height:calc(91.66667% - 3.75rem)}.grid-margin-y>.medium-12{height:calc(100% - 3.75rem)}}@media print, screen and (min-width: 80em){.grid-margin-y>.large-auto{height:auto}.grid-margin-y>.large-shrink{height:auto}.grid-margin-y>.large-1{height:calc(8.33333% - 3.75rem)}.grid-margin-y>.large-2{height:calc(16.66667% - 3.75rem)}.grid-margin-y>.large-3{height:calc(25% - 3.75rem)}.grid-margin-y>.large-4{height:calc(33.33333% - 3.75rem)}.grid-margin-y>.large-5{height:calc(41.66667% - 3.75rem)}.grid-margin-y>.large-6{height:calc(50% - 3.75rem)}.grid-margin-y>.large-7{height:calc(58.33333% - 3.75rem)}.grid-margin-y>.large-8{height:calc(66.66667% - 3.75rem)}.grid-margin-y>.large-9{height:calc(75% - 3.75rem)}.grid-margin-y>.large-10{height:calc(83.33333% - 3.75rem)}.grid-margin-y>.large-11{height:calc(91.66667% - 3.75rem)}.grid-margin-y>.large-12{height:calc(100% - 3.75rem)}}.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-style:-ms-autohiding-scrollbar}.cell-block-y{overflow-y:auto;max-height:100%;min-height:100%;-webkit-overflow-scrolling:touch;-ms-overflow-style:-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-style:-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%;min-height:100%;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}}@media print, screen and (min-width: 80em){.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-style:-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%;min-height:100%;-webkit-overflow-scrolling:touch;-ms-overflow-style:-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: 80em){.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: 80em){.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:-1.875rem;margin-bottom:-1.875rem}}.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% - 3.75rem);margin-top:1.875rem;margin-bottom:1.875rem}}.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% - 3.75rem)}.grid-margin-y>.small-2{height:calc(16.66667% - 3.75rem)}.grid-margin-y>.small-3{height:calc(25% - 3.75rem)}.grid-margin-y>.small-4{height:calc(33.33333% - 3.75rem)}.grid-margin-y>.small-5{height:calc(41.66667% - 3.75rem)}.grid-margin-y>.small-6{height:calc(50% - 3.75rem)}.grid-margin-y>.small-7{height:calc(58.33333% - 3.75rem)}.grid-margin-y>.small-8{height:calc(66.66667% - 3.75rem)}.grid-margin-y>.small-9{height:calc(75% - 3.75rem)}.grid-margin-y>.small-10{height:calc(83.33333% - 3.75rem)}.grid-margin-y>.small-11{height:calc(91.66667% - 3.75rem)}.grid-margin-y>.small-12{height:calc(100% - 3.75rem)}.grid-margin-y>.medium-auto{height:auto}.grid-margin-y>.medium-shrink{height:auto}.grid-margin-y>.medium-1{height:calc(8.33333% - 3.75rem)}.grid-margin-y>.medium-2{height:calc(16.66667% - 3.75rem)}.grid-margin-y>.medium-3{height:calc(25% - 3.75rem)}.grid-margin-y>.medium-4{height:calc(33.33333% - 3.75rem)}.grid-margin-y>.medium-5{height:calc(41.66667% - 3.75rem)}.grid-margin-y>.medium-6{height:calc(50% - 3.75rem)}.grid-margin-y>.medium-7{height:calc(58.33333% - 3.75rem)}.grid-margin-y>.medium-8{height:calc(66.66667% - 3.75rem)}.grid-margin-y>.medium-9{height:calc(75% - 3.75rem)}.grid-margin-y>.medium-10{height:calc(83.33333% - 3.75rem)}.grid-margin-y>.medium-11{height:calc(91.66667% - 3.75rem)}.grid-margin-y>.medium-12{height:calc(100% - 3.75rem)}}@media print, screen and (min-width: 80em){.grid-margin-y>.large-auto{height:auto}.grid-margin-y>.large-shrink{height:auto}.grid-margin-y>.large-1{height:calc(8.33333% - 3.75rem)}.grid-margin-y>.large-2{height:calc(16.66667% - 3.75rem)}.grid-margin-y>.large-3{height:calc(25% - 3.75rem)}.grid-margin-y>.large-4{height:calc(33.33333% - 3.75rem)}.grid-margin-y>.large-5{height:calc(41.66667% - 3.75rem)}.grid-margin-y>.large-6{height:calc(50% - 3.75rem)}.grid-margin-y>.large-7{height:calc(58.33333% - 3.75rem)}.grid-margin-y>.large-8{height:calc(66.66667% - 3.75rem)}.grid-margin-y>.large-9{height:calc(75% - 3.75rem)}.grid-margin-y>.large-10{height:calc(83.33333% - 3.75rem)}.grid-margin-y>.large-11{height:calc(91.66667% - 3.75rem)}.grid-margin-y>.large-12{height:calc(100% - 3.75rem)}}.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 + 3.75rem)}}@media print, screen and (min-width: 80em){.grid-frame.grid-margin-y{height:calc(100vh + 3.75rem)}}@media print, screen and (min-width: 40em){.grid-margin-y.medium-grid-frame{height:calc(100vh + 3.75rem)}}@media print, screen and (min-width: 80em){.grid-margin-y.large-grid-frame{height:calc(100vh + 3.75rem)}}.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: 80em){.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: 80em){.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.5;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:"HelveticaMediumExtended","Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-style:normal;font-weight:normal;color:#fefefe;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:#9C9C9C}h1,.h1{font-size:1.5rem;line-height:1.2;margin-top:0;margin-bottom:0}h2,.h2{font-size:.9375rem;line-height:1.2;margin-top:0;margin-bottom:0}h3,.h3{font-size:1rem;line-height:1.2;margin-top:0;margin-bottom:0}h4,.h4{font-size:.75rem;line-height:1.2;margin-top:0;margin-bottom:0}h5,.h5{font-size:1.0625rem;line-height:1.2;margin-top:0;margin-bottom:0}h6,.h6{font-size:1rem;line-height:1.2;margin-top:0;margin-bottom:0}@media print, screen and (min-width: 40em){h1,.h1{font-size:2.125rem}h2,.h2{font-size:1.375rem}h3,.h3{font-size:1rem}h4,.h4{font-size:.75rem}h5,.h5{font-size:1.25rem}h6,.h6{font-size:1rem}}@media print, screen and (min-width: 80em){h1,.h1{font-size:2.25rem}h2,.h2{font-size:1.375rem}h3,.h3{font-size:1rem}h4,.h4{font-size:.75rem}h5,.h5{font-size:1.25rem}h6,.h6{font-size:1rem}}a{line-height:inherit;color:#fefefe;text-decoration:none;cursor:pointer}a:hover,a:focus{color:#dadada}a img{border:0}hr{clear:both;max-width:90rem;height:0;margin:1.25rem auto;border-top:0;border-right:0;border-bottom:1px solid #858383;border-left:0}ul,ol,dl{margin-bottom:1rem;list-style-position:outside;line-height:1.5}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 #9C9C9C}blockquote,blockquote p{line-height:1.5;color:#202020}cite{display:block;font-size:.8125rem;color:#202020}cite:before{content:"— "}abbr,abbr[title]{border-bottom:1px dotted #000;cursor:help;text-decoration:none}figure{margin:0}code{padding:.125rem .3125rem .0625rem;border:1px solid #9C9C9C;background-color:#B3B3B3;font-family:Consolas,"Liberation Mono",Courier,monospace;font-weight:normal;color:#000}kbd{margin:0;padding:.125rem .25rem 0;background-color:#B3B3B3;font-family:Consolas,"Liberation Mono",Courier,monospace;color:#000}.subheader{margin-top:.2rem;margin-bottom:.5rem;font-weight:normal;line-height:1.4;color:#202020}.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: 80em){.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 #202020;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.4375rem;margin:0 0 1rem;padding:.5rem;border:none;border-radius:0;background-color:rgba(0,0,0,0);-webkit-box-shadow:none;box-shadow:none;font-family:"HelveticaExtended","HelveticaRegular",Helvetica,Roboto,Arial,sans-serif;font-size:1rem;font-weight:normal;line-height:1.5;color:#fefefe;-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:none;background-color:none;-webkit-box-shadow:none;box-shadow:none;-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:disabled,input[readonly],textarea:disabled,textarea[readonly]{background-color:#B3B3B3;cursor:not-allowed}[type='submit'],[type='button']{-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:0}input[type='search']{-webkit-box-sizing:border-box;box-sizing:border-box}::-webkit-input-placeholder{color:#9C9C9C}:-ms-input-placeholder{color:#9C9C9C}::-ms-input-placeholder{color:#9C9C9C}::placeholder{color:#9C9C9C}[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:#000}label.middle{margin:0 0 1rem;padding:.5rem 0}.help-text{margin-top:-.5rem;font-size:.8125rem;font-style:italic;color:#000}.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,.input-group>:first-child.input-group-button>*{border-radius:0 0 0 0}.input-group>:last-child,.input-group>:last-child.input-group-button>*{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:none;background:rgba(0,0,0,0);color:#5F5F5F;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-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{-ms-flex-item-align:stretch;align-self:stretch;height:auto;padding-top:0;padding-bottom:0;font-size:1rem}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 #9C9C9C}.fieldset legend{margin:0;margin-left:-.1875rem;padding:0 .1875rem}select{height:2.4375rem;margin:0 0 1rem;padding:.5rem;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;border-radius:0;background-color:#fefefe;font-family:"HelveticaExtended","HelveticaRegular",Helvetica,Roboto,Arial,sans-serif;font-size:1rem;font-weight:normal;line-height:1.5;color:#fefefe;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%2832, 32, 32%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:none;background-color:none;-webkit-box-shadow:none;box-shadow:none;-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:#B3B3B3;cursor:not-allowed}select::-ms-expand{display:none}select[multiple]{height:auto;background-image:none}.is-invalid-input:not(:focus){border-color:#cc4b37;background-color:#f9ecea}.is-invalid-input:not(:focus)::-webkit-input-placeholder{color:#cc4b37}.is-invalid-input:not(:focus):-ms-input-placeholder{color:#cc4b37}.is-invalid-input:not(:focus)::-ms-input-placeholder{color:#cc4b37}.is-invalid-input:not(:focus)::placeholder{color:#cc4b37}.is-invalid-label{color:#cc4b37}.form-error{display:none;margin-top:-.5rem;margin-bottom:1rem;font-size:.75rem;font-weight:bold;color:#cc4b37}.form-error.is-visible{display:block}.button{display:inline-block;vertical-align:middle;margin:0;padding:0.85em 1em;border:1px solid transparent;border-radius:0;-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-family:"HelveticaMediumExtended","Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-size:0.9rem;-webkit-appearance:none;line-height:1;text-align:center;cursor:pointer;background-color:#505050;color:#fefefe}[data-whatinput='mouse'] .button{outline:0}.button:hover,.button:focus{background-color:#444;color:#fefefe}.button.tiny{font-size:.6rem}.button.small{font-size:.75rem}.button.large{font-size:1.25rem}.button.expanded{display:block;width:100%;margin-right:0;margin-left:0}.button.primary{background-color:#505050;color:#fefefe}.button.primary:hover,.button.primary:focus{background-color:#404040;color:#fefefe}.button.secondary{background-color:#9C9C9C;color:#000}.button.secondary:hover,.button.secondary:focus{background-color:#7d7d7d;color:#000}.button.success{background-color:#3adb76;color:#000}.button.success:hover,.button.success:focus{background-color:#22bb5b;color:#000}.button.warning{background-color:#ffae00;color:#000}.button.warning:hover,.button.warning:focus{background-color:#cc8b00;color:#000}.button.alert{background-color:#cc4b37;color:#000}.button.alert:hover,.button.alert:focus{background-color:#a53b2a;color:#000}.button.disabled,.button[disabled]{opacity:.25;cursor:not-allowed}.button.disabled,.button.disabled:hover,.button.disabled:focus,.button[disabled],.button[disabled]:hover,.button[disabled]:focus{background-color:#505050;color:#fefefe}.button.disabled.primary,.button[disabled].primary{opacity:.25;cursor:not-allowed}.button.disabled.primary,.button.disabled.primary:hover,.button.disabled.primary:focus,.button[disabled].primary,.button[disabled].primary:hover,.button[disabled].primary:focus{background-color:#505050;color:#fefefe}.button.disabled.secondary,.button[disabled].secondary{opacity:.25;cursor:not-allowed}.button.disabled.secondary,.button.disabled.secondary:hover,.button.disabled.secondary:focus,.button[disabled].secondary,.button[disabled].secondary:hover,.button[disabled].secondary:focus{background-color:#9C9C9C;color:#000}.button.disabled.success,.button[disabled].success{opacity:.25;cursor:not-allowed}.button.disabled.success,.button.disabled.success:hover,.button.disabled.success:focus,.button[disabled].success,.button[disabled].success:hover,.button[disabled].success:focus{background-color:#3adb76;color:#000}.button.disabled.warning,.button[disabled].warning{opacity:.25;cursor:not-allowed}.button.disabled.warning,.button.disabled.warning:hover,.button.disabled.warning:focus,.button[disabled].warning,.button[disabled].warning:hover,.button[disabled].warning:focus{background-color:#ffae00;color:#000}.button.disabled.alert,.button[disabled].alert{opacity:.25;cursor:not-allowed}.button.disabled.alert,.button.disabled.alert:hover,.button.disabled.alert:focus,.button[disabled].alert,.button[disabled].alert:hover,.button[disabled].alert:focus{background-color:#cc4b37;color:#000}.button.hollow{border:1px solid #505050;color:#505050}.button.hollow,.button.hollow:hover,.button.hollow:focus{background-color:transparent}.button.hollow.disabled,.button.hollow.disabled:hover,.button.hollow.disabled:focus,.button.hollow[disabled],.button.hollow[disabled]:hover,.button.hollow[disabled]:focus{background-color:transparent}.button.hollow:hover,.button.hollow:focus{border-color:#282828;color:#282828}.button.hollow:hover.disabled,.button.hollow:hover[disabled],.button.hollow:focus.disabled,.button.hollow:focus[disabled]{border:1px solid #505050;color:#505050}.button.hollow.primary{border:1px solid #505050;color:#505050}.button.hollow.primary:hover,.button.hollow.primary:focus{border-color:#282828;color:#282828}.button.hollow.primary:hover.disabled,.button.hollow.primary:hover[disabled],.button.hollow.primary:focus.disabled,.button.hollow.primary:focus[disabled]{border:1px solid #505050;color:#505050}.button.hollow.secondary{border:1px solid #9C9C9C;color:#9C9C9C}.button.hollow.secondary:hover,.button.hollow.secondary:focus{border-color:#4e4e4e;color:#4e4e4e}.button.hollow.secondary:hover.disabled,.button.hollow.secondary:hover[disabled],.button.hollow.secondary:focus.disabled,.button.hollow.secondary:focus[disabled]{border:1px solid #9C9C9C;color:#9C9C9C}.button.hollow.success{border:1px solid #3adb76;color:#3adb76}.button.hollow.success:hover,.button.hollow.success:focus{border-color:#157539;color:#157539}.button.hollow.success:hover.disabled,.button.hollow.success:hover[disabled],.button.hollow.success:focus.disabled,.button.hollow.success:focus[disabled]{border:1px solid #3adb76;color:#3adb76}.button.hollow.warning{border:1px solid #ffae00;color:#ffae00}.button.hollow.warning:hover,.button.hollow.warning:focus{border-color:#805700;color:#805700}.button.hollow.warning:hover.disabled,.button.hollow.warning:hover[disabled],.button.hollow.warning:focus.disabled,.button.hollow.warning:focus[disabled]{border:1px solid #ffae00;color:#ffae00}.button.hollow.alert{border:1px solid #cc4b37;color:#cc4b37}.button.hollow.alert:hover,.button.hollow.alert:focus{border-color:#67251a;color:#67251a}.button.hollow.alert:hover.disabled,.button.hollow.alert:hover[disabled],.button.hollow.alert:focus.disabled,.button.hollow.alert:focus[disabled]{border:1px solid #cc4b37;color:#cc4b37}.button.clear{border:1px solid #505050;color:#505050}.button.clear,.button.clear:hover,.button.clear:focus{background-color:transparent}.button.clear.disabled,.button.clear.disabled:hover,.button.clear.disabled:focus,.button.clear[disabled],.button.clear[disabled]:hover,.button.clear[disabled]:focus{background-color:transparent}.button.clear:hover,.button.clear:focus{border-color:#282828;color:#282828}.button.clear:hover.disabled,.button.clear:hover[disabled],.button.clear:focus.disabled,.button.clear:focus[disabled]{border:1px solid #505050;color:#505050}.button.clear,.button.clear.disabled,.button.clear[disabled],.button.clear:hover,.button.clear:hover.disabled,.button.clear:hover[disabled],.button.clear:focus,.button.clear:focus.disabled,.button.clear:focus[disabled]{border-color:transparent}.button.clear.primary{border:1px solid #505050;color:#505050}.button.clear.primary:hover,.button.clear.primary:focus{border-color:#282828;color:#282828}.button.clear.primary:hover.disabled,.button.clear.primary:hover[disabled],.button.clear.primary:focus.disabled,.button.clear.primary:focus[disabled]{border:1px solid #505050;color:#505050}.button.clear.primary,.button.clear.primary.disabled,.button.clear.primary[disabled],.button.clear.primary:hover,.button.clear.primary:hover.disabled,.button.clear.primary:hover[disabled],.button.clear.primary:focus,.button.clear.primary:focus.disabled,.button.clear.primary:focus[disabled]{border-color:transparent}.button.clear.secondary{border:1px solid #9C9C9C;color:#9C9C9C}.button.clear.secondary:hover,.button.clear.secondary:focus{border-color:#4e4e4e;color:#4e4e4e}.button.clear.secondary:hover.disabled,.button.clear.secondary:hover[disabled],.button.clear.secondary:focus.disabled,.button.clear.secondary:focus[disabled]{border:1px solid #9C9C9C;color:#9C9C9C}.button.clear.secondary,.button.clear.secondary.disabled,.button.clear.secondary[disabled],.button.clear.secondary:hover,.button.clear.secondary:hover.disabled,.button.clear.secondary:hover[disabled],.button.clear.secondary:focus,.button.clear.secondary:focus.disabled,.button.clear.secondary:focus[disabled]{border-color:transparent}.button.clear.success{border:1px solid #3adb76;color:#3adb76}.button.clear.success:hover,.button.clear.success:focus{border-color:#157539;color:#157539}.button.clear.success:hover.disabled,.button.clear.success:hover[disabled],.button.clear.success:focus.disabled,.button.clear.success:focus[disabled]{border:1px solid #3adb76;color:#3adb76}.button.clear.success,.button.clear.success.disabled,.button.clear.success[disabled],.button.clear.success:hover,.button.clear.success:hover.disabled,.button.clear.success:hover[disabled],.button.clear.success:focus,.button.clear.success:focus.disabled,.button.clear.success:focus[disabled]{border-color:transparent}.button.clear.warning{border:1px solid #ffae00;color:#ffae00}.button.clear.warning:hover,.button.clear.warning:focus{border-color:#805700;color:#805700}.button.clear.warning:hover.disabled,.button.clear.warning:hover[disabled],.button.clear.warning:focus.disabled,.button.clear.warning:focus[disabled]{border:1px solid #ffae00;color:#ffae00}.button.clear.warning,.button.clear.warning.disabled,.button.clear.warning[disabled],.button.clear.warning:hover,.button.clear.warning:hover.disabled,.button.clear.warning:hover[disabled],.button.clear.warning:focus,.button.clear.warning:focus.disabled,.button.clear.warning:focus[disabled]{border-color:transparent}.button.clear.alert{border:1px solid #cc4b37;color:#cc4b37}.button.clear.alert:hover,.button.clear.alert:focus{border-color:#67251a;color:#67251a}.button.clear.alert:hover.disabled,.button.clear.alert:hover[disabled],.button.clear.alert:focus.disabled,.button.clear.alert:focus[disabled]{border:1px solid #cc4b37;color:#cc4b37}.button.clear.alert,.button.clear.alert.disabled,.button.clear.alert[disabled],.button.clear.alert:hover,.button.clear.alert:hover.disabled,.button.clear.alert:hover[disabled],.button.clear.alert:focus,.button.clear.alert:focus.disabled,.button.clear.alert:focus[disabled]{border-color:transparent}.button.dropdown::after{display:block;width:0;height:0;border:inset .4em;content:'';border-bottom-width:0;border-top-style:solid;border-color:#fefefe transparent transparent;position:relative;top:0.4em;display:inline-block;float:right;margin-left:1em}.button.dropdown.hollow::after{border-top-color:#505050}.button.dropdown.hollow.primary::after{border-top-color:#505050}.button.dropdown.hollow.secondary::after{border-top-color:#9C9C9C}.button.dropdown.hollow.success::after{border-top-color:#3adb76}.button.dropdown.hollow.warning::after{border-top-color:#ffae00}.button.dropdown.hollow.alert::after{border-top-color:#cc4b37}.button.arrow-only::after{top:-0.1em;float:none;margin-left:0}a.button:hover,a.button:focus{text-decoration:none}.accordion{margin-left:0;background:#fefefe;list-style-type:none}.accordion[disabled] .accordion-title{cursor:not-allowed}.accordion-item:first-child>:first-child{border-radius:0 0 0 0}.accordion-item:last-child>:last-child{border-radius:0 0 0 0}.accordion-title{position:relative;display:block;padding:1.25rem 1rem;border:1px solid #B3B3B3;border-bottom:0;font-size:.75rem;line-height:1;color:#505050}.accordion-title :last-child:not(.is-active)>.accordion-title :last-child{border-bottom:1px solid #B3B3B3;border-radius:0 0 0 0}.accordion-title:hover,.accordion-title:focus{background-color:#B3B3B3}.accordion-title::before{position:absolute;top:50%;right:1rem;margin-top:-0.5rem;content:'+'}.is-active>.accordion-title::before{content:'\2013'}.accordion-content{display:none;padding:1rem;border:1px solid #B3B3B3;border-bottom:0;background-color:#fefefe;color:#B3B3B3}:last-child>.accordion-content:last-child{border-bottom:1px solid #B3B3B3}.accordion-menu li{width:100%}.accordion-menu a{padding:0}.accordion-menu .is-accordion-submenu a{padding:0}.accordion-menu .nested.is-accordion-submenu{margin-right:0;margin-left:0}.accordion-menu.align-right .nested.is-accordion-submenu{margin-right:0;margin-left:0}.is-accordion-submenu-parent{position:relative}.has-submenu-toggle>a{margin-right:40px}.submenu-toggle{position:absolute;top:0;right:0;width:40px;height:40px;cursor:pointer}.submenu-toggle::after{display:block;width:0;height:0;border:inset 6px;content:'';border-bottom-width:0;border-top-style:solid;border-color:#505050 transparent transparent;top:0;bottom:0;margin:auto}.submenu-toggle[aria-expanded='true']::after{-webkit-transform:scaleY(-1);transform:scaleY(-1);-webkit-transform-origin:50% 50%;transform-origin:50% 50%}.submenu-toggle-text{position:absolute !important;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0}.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{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{margin-right:0}.button-group.tiny .button{font-size:.6rem}.button-group.small .button{font-size:.75rem}.button-group.large .button{font-size:1.25rem}.button-group.expanded .button{-webkit-box-flex:1;-ms-flex:1 1 0px;flex:1 1 0px}.button-group.primary .button{background-color:#505050;color:#fefefe}.button-group.primary .button:hover,.button-group.primary .button:focus{background-color:#404040;color:#fefefe}.button-group.secondary .button{background-color:#9C9C9C;color:#000}.button-group.secondary .button:hover,.button-group.secondary .button:focus{background-color:#7d7d7d;color:#000}.button-group.success .button{background-color:#3adb76;color:#000}.button-group.success .button:hover,.button-group.success .button:focus{background-color:#22bb5b;color:#000}.button-group.warning .button{background-color:#ffae00;color:#000}.button-group.warning .button:hover,.button-group.warning .button:focus{background-color:#cc8b00;color:#000}.button-group.alert .button{background-color:#cc4b37;color:#000}.button-group.alert .button:hover,.button-group.alert .button:focus{background-color:#a53b2a;color:#000}.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-for-small .button,.button-group.stacked-for-medium .button{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%}.button-group.stacked .button:last-child,.button-group.stacked-for-small .button:last-child,.button-group.stacked-for-medium .button:last-child{margin-bottom:0}.button-group.stacked.expanded .button,.button-group.stacked-for-small.expanded .button,.button-group.stacked-for-medium.expanded .button{-webkit-box-flex:1;-ms-flex:1 1 0px;flex:1 1 0px}@media print, screen and (min-width: 40em){.button-group.stacked-for-small .button{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;margin-bottom:0}}@media print, screen and (min-width: 80em){.button-group.stacked-for-medium .button{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;margin-bottom:0}}@media screen and (max-width: 39.99875em){.button-group.stacked-for-small.expanded{display:block}.button-group.stacked-for-small.expanded .button{display:block;margin-right:0}}@media screen and (max-width: 79.99875em){.button-group.stacked-for-medium.expanded{display:block}.button-group.stacked-for-medium.expanded .button{display:block;margin-right:0}}.callout{position:relative;margin:0 0 1rem 0;padding:1rem;border:1px solid rgba(0,0,0,0.25);border-radius:0;background-color:#fff;color:#202020}.callout>:first-child{margin-top:0}.callout>:last-child{margin-bottom:0}.callout.primary{background-color:#e5e5e5;color:#202020}.callout.secondary{background-color:#f0f0f0;color:#202020}.callout.success{background-color:#e1faea;color:#202020}.callout.warning{background-color:#fff3d9;color:#202020}.callout.alert{background-color:#f7e4e1;color:#202020}.callout.small{padding-top:.5rem;padding-right:.5rem;padding-bottom:.5rem;padding-left:.5rem}.callout.large{padding-top:3rem;padding-right:3rem;padding-bottom:3rem;padding-left:3rem}.close-button{position:absolute;color:#202020;cursor:pointer}[data-whatinput='mouse'] .close-button{outline:0}.close-button:hover,.close-button:focus{color:#000}.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{line-height:1;text-decoration:none;display:block;padding:.8125rem}.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: 80em){.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:#505050;color:#fefefe}.menu .active>a{background:#505050;color:#fefefe}.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}.menu-icon{position:relative;display:inline-block;vertical-align:middle;width:20px;height:16px;cursor:pointer}.menu-icon::after{position:absolute;top:0;left:0;display:block;width:100%;height:2px;background:#fefefe;-webkit-box-shadow:0 7px 0 #fefefe,0 14px 0 #fefefe;box-shadow:0 7px 0 #fefefe,0 14px 0 #fefefe;content:''}.menu-icon:hover::after{background:#9C9C9C;-webkit-box-shadow:0 7px 0 #9C9C9C,0 14px 0 #9C9C9C;box-shadow:0 7px 0 #9C9C9C,0 14px 0 #9C9C9C}.menu-icon.dark{position:relative;display:inline-block;vertical-align:middle;width:20px;height:16px;cursor:pointer}.menu-icon.dark::after{position:absolute;top:0;left:0;display:block;width:100%;height:2px;background:#000;-webkit-box-shadow:0 7px 0 #000,0 14px 0 #000;box-shadow:0 7px 0 #000,0 14px 0 #000;content:''}.menu-icon.dark:hover::after{background:#202020;-webkit-box-shadow:0 7px 0 #202020,0 14px 0 #202020;box-shadow:0 7px 0 #202020,0 14px 0 #202020}.dropdown-pane{position:absolute;z-index:10;display:none;width:300px;padding:1rem;visibility:hidden;border:1px solid #9C9C9C;border-radius:0;background-color:#202020;font-size:1rem}.dropdown-pane.is-opening{display:block}.dropdown-pane.is-open{display:block;visibility:visible}.dropdown-pane.tiny{width:100px}.dropdown-pane.small{width:200px}.dropdown-pane.large{width:400px}.dropdown.menu>li.opens-left>.is-dropdown-submenu{top:100%;right:0;left:auto}.dropdown.menu>li.opens-right>.is-dropdown-submenu{top:100%;right:auto;left:0}.dropdown.menu a{background:rgba(0,0,0,0);padding:0}[data-whatinput='mouse'] .dropdown.menu a{outline:0}.dropdown.menu .is-active>a{background:rgba(0,0,0,0);color:#505050}.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{top:0;right:100%;left:auto}.dropdown.menu.vertical>li.opens-right>.is-dropdown-submenu{right:auto;left:100%}@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-vertical>li .is-dropdown-submenu{top:0}.dropdown.menu.medium-vertical>li.opens-left>.is-dropdown-submenu{top:0;right:100%;left:auto}.dropdown.menu.medium-vertical>li.opens-right>.is-dropdown-submenu{right:auto;left:100%}}@media print, screen and (min-width: 80em){.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-vertical>li .is-dropdown-submenu{top:0}.dropdown.menu.large-vertical>li.opens-left>.is-dropdown-submenu{top:0;right:100%;left:auto}.dropdown.menu.large-vertical>li.opens-right>.is-dropdown-submenu{right:auto;left:100%}}.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:none;background:#000}.dropdown .is-dropdown-submenu a{padding:0}.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:0;font-size:.8rem;line-height:1;white-space:nowrap;cursor:default;background:#505050;color:#fefefe}.label.primary{background:#505050;color:#fefefe}.label.secondary{background:#9C9C9C;color:#000}.label.success{background:#3adb76;color:#000}.label.warning{background:#ffae00;color:#000}.label.alert{background:#cc4b37;color:#000}.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.99875em){.media-object.stack-for-small{-ms-flex-wrap:wrap;flex-wrap:wrap}}.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 screen and (max-width: 39.99875em){.stack-for-small .media-object-section{padding:0;padding-bottom:1rem;-ms-flex-preferred-size:100%;flex-basis:100%;max-width:100%}.stack-for-small .media-object-section img{width:100%}}.media-object-section.main-section{-webkit-box-flex:1;-ms-flex:1 1 0px;flex:1 1 0px}.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:0;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:0;color:#000}.pagination a:hover,.pagination button:hover{background:#B3B3B3}.pagination .current{padding:.1875rem .625rem;background:#505050;color:#fefefe;cursor:default}.pagination .disabled{padding:.1875rem .625rem;color:#9C9C9C;cursor:not-allowed}.pagination .disabled:hover{background:transparent}.pagination .ellipsis::after{padding:.1875rem .625rem;content:'\2026';color:#000}.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'}.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:hidden}html.is-reveal-open.zf-has-scroll{overflow-y:scroll}html.is-reveal-open body{overflow-y:hidden}.reveal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1005;display:none;background-color:rgba(0,0,0,0.45);overflow-y:auto}.reveal{z-index:1006;-webkit-backface-visibility:hidden;backface-visibility:hidden;display:none;padding:1rem;border:1px solid #9C9C9C;border-radius:0;background-color:#fefefe;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{min-width:0}.reveal>:last-child{margin-bottom:0}@media print, screen and (min-width: 40em){.reveal{width:600px;max-width:90rem}}.reveal.collapse{padding:0}@media print, screen and (min-width: 40em){.reveal.tiny{width:30%;max-width:90rem}}@media print, screen and (min-width: 40em){.reveal.small{width:50%;max-width:90rem}}@media print, screen and (min-width: 40em){.reveal.large{width:90%;max-width:90rem}}.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.99875em){.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:#fefefe;-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:0;background:#9C9C9C;-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:0;background:#fefefe;-webkit-transition:all 0.25s ease-out;transition:all 0.25s ease-out;content:''}input:checked ~ .switch-paddle{background:#505050}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:0}thead,tbody,tfoot{border:1px solid #9C9C9C;background-color:rgba(0,0,0,0)}caption{padding:.5rem .625rem .625rem;font-weight:bold}thead{background:rgba(0,0,0,0);color:#B3B3B3}tfoot{background:rgba(0,0,0,0);color:#B3B3B3}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{border-bottom:0;border-bottom:1px solid #9C9C9C;background-color:rgba(0,0,0,0)}table.striped tbody tr:nth-child(even){border-bottom:0;background-color:rgba(0,0,0,0)}@media screen and (max-width: 79.99875em){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:rgba(0,0,0,0)}table.hover tfoot tr:hover{background-color:rgba(0,0,0,0)}table.hover tbody tr:hover{background-color:rgba(0,0,0,0)}table.hover.striped tr:nth-of-type(even):hover{background-color:#9C9C9C}.table-scroll{overflow-x:auto}.tabs{margin:0;border:1px solid #B3B3B3;background:#fefefe;list-style-type:none}.tabs::before,.tabs::after{display:table;content:' ';-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.tabs::after{clear:both}.tabs.vertical>li{display:block;float:none;width:auto}.tabs.simple>li>a{padding:0}.tabs.simple>li>a:hover{background:transparent}.tabs.primary{background:#505050}.tabs.primary>li>a{color:#fefefe}.tabs.primary>li>a:hover,.tabs.primary>li>a:focus{background:#595959}.tabs-title{float:left}.tabs-title>a{display:block;padding:1.25rem 1.5rem;font-size:.75rem;line-height:1;color:#505050}[data-whatinput='mouse'] .tabs-title>a{outline:0}.tabs-title>a:hover{background:#fefefe;color:#454545}.tabs-title>a:focus,.tabs-title>a[aria-selected='true']{background:#B3B3B3;color:#505050}.tabs-content{border:1px solid #B3B3B3;border-top:0;background:#fefefe;color:#B3B3B3;-webkit-transition:all 0.5s ease;transition:all 0.5s ease}.tabs-content.vertical{border:1px solid #B3B3B3;border-left:0}.tabs-panel{display:none;padding:1rem}.tabs-panel.is-active{display:block}.thumbnail{display:inline-block;max-width:100%;margin-bottom:1rem;border:solid 4px #fefefe;border-radius:0;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,0.2);box-shadow:0 0 0 1px rgba(0,0,0,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(80,80,80,0.5);box-shadow:0 0 6px 1px rgba(80,80,80,0.5)}a.thumbnail image{-webkit-box-shadow:none;box-shadow:none}.hide{display:none !important}.invisible{visibility:hidden}@media screen and (max-width: 39.99875em){.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.99875em){.show-for-medium{display:none !important}}@media screen and (min-width: 40em) and (max-width: 79.99875em){.hide-for-medium-only{display:none !important}}@media screen and (max-width: 39.99875em), screen and (min-width: 80em){.show-for-medium-only{display:none !important}}@media print, screen and (min-width: 80em){.hide-for-large{display:none !important}}@media screen and (max-width: 79.99875em){.show-for-large{display:none !important}}@media screen and (min-width: 80em) and (max-width: 89.99875em){.hide-for-large-only{display:none !important}}@media screen and (max-width: 79.99875em), screen and (min-width: 90em){.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;border:0}.show-on-focus:active,.show-on-focus:focus{position:static !important;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal}.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}.text-hide{font:0/0 a !important;color:transparent !important;text-shadow:none !important;background-color:transparent !important;border:0 !important}.text-truncate{max-width:100% !important;overflow:hidden !important;text-overflow:ellipsis;white-space:nowrap !important}.text-nowrap{white-space:nowrap !important}.text-wrap{word-wrap:break-word !important}@media print, screen and (min-width: 40em){.medium-text-hide{font:0/0 a !important;color:transparent !important;text-shadow:none !important;background-color:transparent !important;border:0 !important}.medium-text-truncate{max-width:100% !important;overflow:hidden !important;text-overflow:ellipsis;white-space:nowrap !important}.medium-text-nowrap{white-space:nowrap !important}.medium-text-wrap{word-wrap:break-word !important}}@media print, screen and (min-width: 80em){.large-text-hide{font:0/0 a !important;color:transparent !important;text-shadow:none !important;background-color:transparent !important;border:0 !important}.large-text-truncate{max-width:100% !important;overflow:hidden !important;text-overflow:ellipsis;white-space:nowrap !important}.large-text-nowrap{white-space:nowrap !important}.large-text-wrap{word-wrap:break-word !important}}.text-lowercase{text-transform:lowercase !important}.text-uppercase{text-transform:uppercase !important}.text-capitalize{text-transform:capitalize !important}@media print, screen and (min-width: 40em){.medium-text-lowercase{text-transform:lowercase !important}.medium-text-uppercase{text-transform:uppercase !important}.medium-text-capitalize{text-transform:capitalize !important}}@media print, screen and (min-width: 80em){.large-text-lowercase{text-transform:lowercase !important}.large-text-uppercase{text-transform:uppercase !important}.large-text-capitalize{text-transform:capitalize !important}}.text-overline{text-decoration:overline !important}.text-underline{text-decoration:underline !important}.text-line-through{text-decoration:line-through !important}@media print, screen and (min-width: 40em){.medium-text-overline{text-decoration:overline !important}.medium-text-underline{text-decoration:underline !important}.medium-text-line-through{text-decoration:line-through !important}}@media print, screen and (min-width: 80em){.large-text-overline{text-decoration:overline !important}.large-text-underline{text-decoration:underline !important}.large-text-line-through{text-decoration:line-through !important}}.font-wide{letter-spacing:.25rem}.font-normal{font-weight:normal}.font-bold{font-weight:bold}.font-italic{font-style:italic !important}@media print, screen and (min-width: 40em){.medium-font-wide{letter-spacing:.25rem}.medium-font-normal{font-weight:normal}.medium-font-bold{font-weight:bold}.medium-font-italic{font-style:italic !important}}@media print, screen and (min-width: 80em){.large-font-wide{letter-spacing:.25rem}.large-font-normal{font-weight:normal}.large-font-bold{font-weight:bold}.large-font-italic{font-style:italic !important}}ul.list-disc{list-style-type:disc !important}ul.list-circle{list-style-type:circle !important}ul.list-square{list-style-type:square !important}@media print, screen and (min-width: 40em){ul.medium-list-disc{list-style-type:disc !important}ul.medium-list-circle{list-style-type:circle !important}ul.medium-list-square{list-style-type:square !important}}@media print, screen and (min-width: 80em){ul.large-list-disc{list-style-type:disc !important}ul.large-list-circle{list-style-type:circle !important}ul.large-list-square{list-style-type:square !important}}ol.list-decimal{list-style-type:decimal !important}ol.list-lower-alpha{list-style-type:lower-alpha !important}ol.list-lower-latin{list-style-type:lower-latin !important}ol.list-lower-roman{list-style-type:lower-roman !important}ol.list-upper-alpha{list-style-type:upper-alpha !important}ol.list-upper-latin{list-style-type:upper-latin !important}ol.list-upper-roman{list-style-type:upper-roman !important}@media print, screen and (min-width: 40em){ol.medium-list-decimal{list-style-type:decimal !important}ol.medium-list-lower-alpha{list-style-type:lower-alpha !important}ol.medium-list-lower-latin{list-style-type:lower-latin !important}ol.medium-list-lower-roman{list-style-type:lower-roman !important}ol.medium-list-upper-alpha{list-style-type:upper-alpha !important}ol.medium-list-upper-latin{list-style-type:upper-latin !important}ol.medium-list-upper-roman{list-style-type:upper-roman !important}}@media print, screen and (min-width: 80em){ol.large-list-decimal{list-style-type:decimal !important}ol.large-list-lower-alpha{list-style-type:lower-alpha !important}ol.large-list-lower-latin{list-style-type:lower-latin !important}ol.large-list-lower-roman{list-style-type:lower-roman !important}ol.large-list-upper-alpha{list-style-type:upper-alpha !important}ol.large-list-upper-latin{list-style-type:upper-latin !important}ol.large-list-upper-roman{list-style-type:upper-roman !important}}.rounded{border-radius:5000px !important}.rounded:after{border-radius:50%}.radius{border-radius:.1875rem}@media print, screen and (min-width: 40em){.medium-rounded{border-radius:5000px !important}.medium-radius{border-radius:.1875rem}}@media print, screen and (min-width: 80em){.large-rounded{border-radius:5000px !important}.large-radius{border-radius:.1875rem}}.bordered{border:.0625rem solid #9C9C9C}@media print, screen and (min-width: 40em){.medium-bordered{border:.0625rem solid #9C9C9C}}@media print, screen and (min-width: 80em){.large-bordered{border:.0625rem solid #9C9C9C}}.shadow{-webkit-box-shadow:0 2px 5px 0 rgba(0,0,0,0.16),0 2px 10px 0 rgba(0,0,0,0.12);box-shadow:0 2px 5px 0 rgba(0,0,0,0.16),0 2px 10px 0 rgba(0,0,0,0.12)}@media print, screen and (min-width: 40em){.medium-shadow{-webkit-box-shadow:0 2px 5px 0 rgba(0,0,0,0.16),0 2px 10px 0 rgba(0,0,0,0.12);box-shadow:0 2px 5px 0 rgba(0,0,0,0.16),0 2px 10px 0 rgba(0,0,0,0.12)}}@media print, screen and (min-width: 80em){.large-shadow{-webkit-box-shadow:0 2px 5px 0 rgba(0,0,0,0.16),0 2px 10px 0 rgba(0,0,0,0.12);box-shadow:0 2px 5px 0 rgba(0,0,0,0.16),0 2px 10px 0 rgba(0,0,0,0.12)}}.arrow-down{display:block;width:0;height:0;border:inset .4375rem;content:'';border-bottom-width:0;border-top-style:solid;border-color:#000 transparent transparent}.arrow-up{display:block;width:0;height:0;border:inset .4375rem;content:'';border-top-width:0;border-bottom-style:solid;border-color:transparent transparent #000}.arrow-right{display:block;width:0;height:0;border:inset .4375rem;content:'';border-right-width:0;border-left-style:solid;border-color:transparent transparent transparent #000}.arrow-left{display:block;width:0;height:0;border:inset .4375rem;content:'';border-left-width:0;border-right-style:solid;border-color:transparent #000 transparent transparent}.separator-center{text-align:center !important}.separator-center::before,.separator-center::after{display:table;content:' ';-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.separator-center::after{clear:both}.separator-center::after{position:relative !important;width:3rem;border-bottom:.125rem solid #505050;margin:1rem auto 0}.separator-left{text-align:left !important}.separator-left::before,.separator-left::after{display:table;content:' ';-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.separator-left::after{clear:both}.separator-left::after{position:relative !important;width:3rem;border-bottom:.125rem solid #505050;margin:1rem auto 0;margin-left:0 !important}.separator-right{text-align:right !important}.separator-right::before,.separator-right::after{display:table;content:' ';-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.separator-right::after{clear:both}.separator-right::after{position:relative !important;width:3rem;border-bottom:.125rem solid #505050;margin:1rem auto 0;margin-right:0 !important}@media print, screen and (min-width: 40em){.medium-separator-center{text-align:center !important}.medium-separator-center::before,.medium-separator-center::after{display:table;content:' ';-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.medium-separator-center::after{clear:both}.medium-separator-center::after{position:relative !important;width:3rem;border-bottom:.125rem solid #505050;margin:1rem auto 0}.medium-separator-left{text-align:left !important}.medium-separator-left::before,.medium-separator-left::after{display:table;content:' ';-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.medium-separator-left::after{clear:both}.medium-separator-left::after{position:relative !important;width:3rem;border-bottom:.125rem solid #505050;margin:1rem auto 0;margin-left:0 !important}.medium-separator-right{text-align:right !important}.medium-separator-right::before,.medium-separator-right::after{display:table;content:' ';-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.medium-separator-right::after{clear:both}.medium-separator-right::after{position:relative !important;width:3rem;border-bottom:.125rem solid #505050;margin:1rem auto 0;margin-right:0 !important}}@media print, screen and (min-width: 80em){.large-separator-center{text-align:center !important}.large-separator-center::before,.large-separator-center::after{display:table;content:' ';-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.large-separator-center::after{clear:both}.large-separator-center::after{position:relative !important;width:3rem;border-bottom:.125rem solid #505050;margin:1rem auto 0}.large-separator-left{text-align:left !important}.large-separator-left::before,.large-separator-left::after{display:table;content:' ';-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.large-separator-left::after{clear:both}.large-separator-left::after{position:relative !important;width:3rem;border-bottom:.125rem solid #505050;margin:1rem auto 0;margin-left:0 !important}.large-separator-right{text-align:right !important}.large-separator-right::before,.large-separator-right::after{display:table;content:' ';-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.large-separator-right::after{clear:both}.large-separator-right::after{position:relative !important;width:3rem;border-bottom:.125rem solid #505050;margin:1rem auto 0;margin-right:0 !important}}.overflow-visible{overflow:visible !important}.overflow-x-visible{overflow-x:visible !important}.overflow-y-visible{overflow-y:visible !important}.overflow-hidden{overflow:hidden !important}.overflow-x-hidden{overflow-x:hidden !important}.overflow-y-hidden{overflow-y:hidden !important}.overflow-scroll{overflow:scroll !important}.overflow-x-scroll{overflow-x:scroll !important}.overflow-y-scroll{overflow-y:scroll !important}@media print, screen and (min-width: 40em){.medium-overflow-visible{overflow:visible !important}.medium-overflow-x-visible{overflow-x:visible !important}.medium-overflow-y-visible{overflow-y:visible !important}.medium-overflow-hidden{overflow:hidden !important}.medium-overflow-x-hidden{overflow-x:hidden !important}.medium-overflow-y-hidden{overflow-y:hidden !important}.medium-overflow-scroll{overflow:scroll !important}.medium-overflow-x-scroll{overflow-x:scroll !important}.medium-overflow-y-scroll{overflow-y:scroll !important}}@media print, screen and (min-width: 80em){.large-overflow-visible{overflow:visible !important}.large-overflow-x-visible{overflow-x:visible !important}.large-overflow-y-visible{overflow-y:visible !important}.large-overflow-hidden{overflow:hidden !important}.large-overflow-x-hidden{overflow-x:hidden !important}.large-overflow-y-hidden{overflow-y:hidden !important}.large-overflow-scroll{overflow:scroll !important}.large-overflow-x-scroll{overflow-x:scroll !important}.large-overflow-y-scroll{overflow-y:scroll !important}}.display-inline{display:inline !important}.display-inline-block{display:inline-block !important}.display-block{display:block !important}.display-table{display:table !important}.display-table-cell{display:table-cell !important}@media print, screen and (min-width: 40em){.medium-display-inline{display:inline !important}.medium-display-inline-block{display:inline-block !important}.medium-display-block{display:block !important}.medium-display-table{display:table !important}.medium-display-table-cell{display:table-cell !important}}@media print, screen and (min-width: 80em){.large-display-inline{display:inline !important}.large-display-inline-block{display:inline-block !important}.large-display-block{display:block !important}.large-display-table{display:table !important}.large-display-table-cell{display:table-cell !important}}.position-static{position:static !important}.position-relative{position:relative !important}.position-absolute{position:absolute !important}.position-fixed{position:fixed !important}.position-fixed-top{position:fixed !important;top:0rem !important;right:0rem !important;left:0rem !important;z-index:975}.position-fixed-bottom{position:fixed !important;right:0rem !important;bottom:0rem !important;left:0rem !important;z-index:975}@media print, screen and (min-width: 40em){.medium-position-static{position:static !important}.medium-position-relative{position:relative !important}.medium-position-absolute{position:absolute !important}.medium-position-fixed{position:fixed !important}.medium-position-fixed-top{position:fixed !important;top:0rem !important;right:0rem !important;left:0rem !important;z-index:975}.medium-position-fixed-bottom{position:fixed !important;right:0rem !important;bottom:0rem !important;left:0rem !important;z-index:975}}@media print, screen and (min-width: 80em){.large-position-static{position:static !important}.large-position-relative{position:relative !important}.large-position-absolute{position:absolute !important}.large-position-fixed{position:fixed !important}.large-position-fixed-top{position:fixed !important;top:0rem !important;right:0rem !important;left:0rem !important;z-index:975}.large-position-fixed-bottom{position:fixed !important;right:0rem !important;bottom:0rem !important;left:0rem !important;z-index:975}}.border-box{-webkit-box-sizing:border-box !important;box-sizing:border-box !important}@media print, screen and (min-width: 40em){.medium-border-box{-webkit-box-sizing:border-box !important;box-sizing:border-box !important}}@media print, screen and (min-width: 80em){.large-border-box{-webkit-box-sizing:border-box !important;box-sizing:border-box !important}}.border-none{border:none !important}@media print, screen and (min-width: 40em){.medium-border-none{border:none !important}}@media print, screen and (min-width: 80em){.large-border-none{border:none !important}}.width-25{width:25% !important}.width-50{width:50% !important}.width-75{width:75% !important}.width-100{width:100% !important}.height-25{height:25% !important}.height-50{height:50% !important}.height-75{height:75% !important}.height-100{height:100% !important}.max-width-100{max-width:100% !important}.max-height-100{max-height:100% !important}@media print, screen and (min-width: 40em){.medium-width-25{width:25% !important}.medium-width-50{width:50% !important}.medium-width-75{width:75% !important}.medium-width-100{width:100% !important}.medium-height-25{height:25% !important}.medium-height-50{height:50% !important}.medium-height-75{height:75% !important}.medium-height-100{height:100% !important}}@media print, screen and (min-width: 80em){.large-width-25{width:25% !important}.large-width-50{width:50% !important}.large-width-75{width:75% !important}.large-width-100{width:100% !important}.large-height-25{height:25% !important}.large-height-50{height:50% !important}.large-height-75{height:75% !important}.large-height-100{height:100% !important}}.margin-0{margin:0rem}.margin-top-0{margin-top:0rem !important}.margin-right-0{margin-right:0rem !important}.margin-bottom-0{margin-bottom:0rem !important}.margin-left-0{margin-left:0rem !important}.margin-horizontal-0{margin-right:0rem !important;margin-left:0rem !important}.margin-vertical-0{margin-top:0rem !important;margin-bottom:0rem !important}.padding-0{padding:0rem}.padding-top-0{padding-top:0rem !important}.padding-right-0{padding-right:0rem !important}.padding-bottom-0{padding-bottom:0rem !important}.padding-left-0{padding-left:0rem !important}.padding-horizontal-0{padding-right:0rem !important;padding-left:0rem !important}.padding-vertical-0{padding-top:0rem !important;padding-bottom:0rem !important}@media print, screen and (min-width: 40em){.medium-margin-0{margin:0rem}.medium-margin-top-0{margin:0}.medium-margin-right-0{margin:0}.medium-margin-bottom-0{margin:0}.medium-margin-left-0{margin:0}.medium-margin-horizontal-0{margin:0}.medium-margin-vertical-0{margin:0}.medium-padding-0{padding:0rem}.medium-padding-top-0{padding:0}.medium-padding-right-0{padding:0}.medium-padding-bottom-0{padding:0}.medium-padding-left-0{padding:0}.medium-padding-horizontal-0{padding:0}.medium-padding-vertical-0{padding:0}}@media print, screen and (min-width: 80em){.large-margin-0{margin:0rem}.large-margin-top-0{margin:0}.large-margin-right-0{margin:0}.large-margin-bottom-0{margin:0}.large-margin-left-0{margin:0}.large-margin-horizontal-0{margin:0}.large-margin-vertical-0{margin:0}.large-padding-0{padding:0rem}.large-padding-top-0{padding:0}.large-padding-right-0{padding:0}.large-padding-bottom-0{padding:0}.large-padding-left-0{padding:0}.large-padding-horizontal-0{padding:0}.large-padding-vertical-0{padding:0}}.margin-1{margin:1rem}.margin-top-1{margin-top:1rem !important}.margin-right-1{margin-right:1rem !important}.margin-bottom-1{margin-bottom:1rem !important}.margin-left-1{margin-left:1rem !important}.margin-horizontal-1{margin-right:1rem !important;margin-left:1rem !important}.margin-vertical-1{margin-top:1rem !important;margin-bottom:1rem !important}.padding-1{padding:1rem}.padding-top-1{padding-top:1rem !important}.padding-right-1{padding-right:1rem !important}.padding-bottom-1{padding-bottom:1rem !important}.padding-left-1{padding-left:1rem !important}.padding-horizontal-1{padding-right:1rem !important;padding-left:1rem !important}.padding-vertical-1{padding-top:1rem !important;padding-bottom:1rem !important}@media print, screen and (min-width: 40em){.medium-margin-1{margin:1rem}.medium-margin-top-1{margin:1}.medium-margin-right-1{margin:1}.medium-margin-bottom-1{margin:1}.medium-margin-left-1{margin:1}.medium-margin-horizontal-1{margin:1}.medium-margin-vertical-1{margin:1}.medium-padding-1{padding:1rem}.medium-padding-top-1{padding:1}.medium-padding-right-1{padding:1}.medium-padding-bottom-1{padding:1}.medium-padding-left-1{padding:1}.medium-padding-horizontal-1{padding:1}.medium-padding-vertical-1{padding:1}}@media print, screen and (min-width: 80em){.large-margin-1{margin:1rem}.large-margin-top-1{margin:1}.large-margin-right-1{margin:1}.large-margin-bottom-1{margin:1}.large-margin-left-1{margin:1}.large-margin-horizontal-1{margin:1}.large-margin-vertical-1{margin:1}.large-padding-1{padding:1rem}.large-padding-top-1{padding:1}.large-padding-right-1{padding:1}.large-padding-bottom-1{padding:1}.large-padding-left-1{padding:1}.large-padding-horizontal-1{padding:1}.large-padding-vertical-1{padding:1}}.margin-2{margin:2rem}.margin-top-2{margin-top:2rem !important}.margin-right-2{margin-right:2rem !important}.margin-bottom-2{margin-bottom:2rem !important}.margin-left-2{margin-left:2rem !important}.margin-horizontal-2{margin-right:2rem !important;margin-left:2rem !important}.margin-vertical-2{margin-top:2rem !important;margin-bottom:2rem !important}.padding-2{padding:2rem}.padding-top-2{padding-top:2rem !important}.padding-right-2{padding-right:2rem !important}.padding-bottom-2{padding-bottom:2rem !important}.padding-left-2{padding-left:2rem !important}.padding-horizontal-2{padding-right:2rem !important;padding-left:2rem !important}.padding-vertical-2{padding-top:2rem !important;padding-bottom:2rem !important}@media print, screen and (min-width: 40em){.medium-margin-2{margin:2rem}.medium-margin-top-2{margin:2}.medium-margin-right-2{margin:2}.medium-margin-bottom-2{margin:2}.medium-margin-left-2{margin:2}.medium-margin-horizontal-2{margin:2}.medium-margin-vertical-2{margin:2}.medium-padding-2{padding:2rem}.medium-padding-top-2{padding:2}.medium-padding-right-2{padding:2}.medium-padding-bottom-2{padding:2}.medium-padding-left-2{padding:2}.medium-padding-horizontal-2{padding:2}.medium-padding-vertical-2{padding:2}}@media print, screen and (min-width: 80em){.large-margin-2{margin:2rem}.large-margin-top-2{margin:2}.large-margin-right-2{margin:2}.large-margin-bottom-2{margin:2}.large-margin-left-2{margin:2}.large-margin-horizontal-2{margin:2}.large-margin-vertical-2{margin:2}.large-padding-2{padding:2rem}.large-padding-top-2{padding:2}.large-padding-right-2{padding:2}.large-padding-bottom-2{padding:2}.large-padding-left-2{padding:2}.large-padding-horizontal-2{padding:2}.large-padding-vertical-2{padding:2}}.margin-3{margin:3rem}.margin-top-3{margin-top:3rem !important}.margin-right-3{margin-right:3rem !important}.margin-bottom-3{margin-bottom:3rem !important}.margin-left-3{margin-left:3rem !important}.margin-horizontal-3{margin-right:3rem !important;margin-left:3rem !important}.margin-vertical-3{margin-top:3rem !important;margin-bottom:3rem !important}.padding-3{padding:3rem}.padding-top-3{padding-top:3rem !important}.padding-right-3{padding-right:3rem !important}.padding-bottom-3{padding-bottom:3rem !important}.padding-left-3{padding-left:3rem !important}.padding-horizontal-3{padding-right:3rem !important;padding-left:3rem !important}.padding-vertical-3{padding-top:3rem !important;padding-bottom:3rem !important}@media print, screen and (min-width: 40em){.medium-margin-3{margin:3rem}.medium-margin-top-3{margin:3}.medium-margin-right-3{margin:3}.medium-margin-bottom-3{margin:3}.medium-margin-left-3{margin:3}.medium-margin-horizontal-3{margin:3}.medium-margin-vertical-3{margin:3}.medium-padding-3{padding:3rem}.medium-padding-top-3{padding:3}.medium-padding-right-3{padding:3}.medium-padding-bottom-3{padding:3}.medium-padding-left-3{padding:3}.medium-padding-horizontal-3{padding:3}.medium-padding-vertical-3{padding:3}}@media print, screen and (min-width: 80em){.large-margin-3{margin:3rem}.large-margin-top-3{margin:3}.large-margin-right-3{margin:3}.large-margin-bottom-3{margin:3}.large-margin-left-3{margin:3}.large-margin-horizontal-3{margin:3}.large-margin-vertical-3{margin:3}.large-padding-3{padding:3rem}.large-padding-top-3{padding:3}.large-padding-right-3{padding:3}.large-padding-bottom-3{padding:3}.large-padding-left-3{padding:3}.large-padding-horizontal-3{padding:3}.large-padding-vertical-3{padding:3}}.slide-in-down.mui-enter{-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:translateY(-100%);transform:translateY(-100%);-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;-webkit-backface-visibility:hidden;backface-visibility:hidden}.slide-in-down.mui-enter.mui-enter-active{-webkit-transform:translateY(0);transform:translateY(0)}.slide-in-left.mui-enter{-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:translateX(-100%);transform:translateX(-100%);-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;-webkit-backface-visibility:hidden;backface-visibility:hidden}.slide-in-left.mui-enter.mui-enter-active{-webkit-transform:translateX(0);transform:translateX(0)}.slide-in-up.mui-enter{-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:translateY(100%);transform:translateY(100%);-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;-webkit-backface-visibility:hidden;backface-visibility:hidden}.slide-in-up.mui-enter.mui-enter-active{-webkit-transform:translateY(0);transform:translateY(0)}.slide-in-right.mui-enter{-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:translateX(100%);transform:translateX(100%);-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;-webkit-backface-visibility:hidden;backface-visibility:hidden}.slide-in-right.mui-enter.mui-enter-active{-webkit-transform:translateX(0);transform:translateX(0)}.slide-out-down.mui-leave{-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:translateY(0);transform:translateY(0);-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;-webkit-backface-visibility:hidden;backface-visibility:hidden}.slide-out-down.mui-leave.mui-leave-active{-webkit-transform:translateY(100%);transform:translateY(100%)}.slide-out-right.mui-leave{-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:translateX(0);transform:translateX(0);-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;-webkit-backface-visibility:hidden;backface-visibility:hidden}.slide-out-right.mui-leave.mui-leave-active{-webkit-transform:translateX(100%);transform:translateX(100%)}.slide-out-up.mui-leave{-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:translateY(0);transform:translateY(0);-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;-webkit-backface-visibility:hidden;backface-visibility:hidden}.slide-out-up.mui-leave.mui-leave-active{-webkit-transform:translateY(-100%);transform:translateY(-100%)}.slide-out-left.mui-leave{-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:translateX(0);transform:translateX(0);-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;-webkit-backface-visibility:hidden;backface-visibility:hidden}.slide-out-left.mui-leave.mui-leave-active{-webkit-transform:translateX(-100%);transform:translateX(-100%)}.fade-in.mui-enter{-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:linear;transition-timing-function:linear;opacity:0;-webkit-transition-property:opacity;transition-property:opacity}.fade-in.mui-enter.mui-enter-active{opacity:1}.fade-out.mui-leave{-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:linear;transition-timing-function:linear;opacity:1;-webkit-transition-property:opacity;transition-property:opacity}.fade-out.mui-leave.mui-leave-active{opacity:0}.hinge-in-from-top.mui-enter{-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:perspective(2000px) rotateX(-90deg);transform:perspective(2000px) rotateX(-90deg);-webkit-transform-origin:top;transform-origin:top;-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;opacity:0}.hinge-in-from-top.mui-enter.mui-enter-active{-webkit-transform:perspective(2000px) rotate(0deg);transform:perspective(2000px) rotate(0deg);opacity:1}.hinge-in-from-right.mui-enter{-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:perspective(2000px) rotateY(-90deg);transform:perspective(2000px) rotateY(-90deg);-webkit-transform-origin:right;transform-origin:right;-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;opacity:0}.hinge-in-from-right.mui-enter.mui-enter-active{-webkit-transform:perspective(2000px) rotate(0deg);transform:perspective(2000px) rotate(0deg);opacity:1}.hinge-in-from-bottom.mui-enter{-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:perspective(2000px) rotateX(90deg);transform:perspective(2000px) rotateX(90deg);-webkit-transform-origin:bottom;transform-origin:bottom;-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;opacity:0}.hinge-in-from-bottom.mui-enter.mui-enter-active{-webkit-transform:perspective(2000px) rotate(0deg);transform:perspective(2000px) rotate(0deg);opacity:1}.hinge-in-from-left.mui-enter{-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:perspective(2000px) rotateY(90deg);transform:perspective(2000px) rotateY(90deg);-webkit-transform-origin:left;transform-origin:left;-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;opacity:0}.hinge-in-from-left.mui-enter.mui-enter-active{-webkit-transform:perspective(2000px) rotate(0deg);transform:perspective(2000px) rotate(0deg);opacity:1}.hinge-in-from-middle-x.mui-enter{-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:perspective(2000px) rotateX(-90deg);transform:perspective(2000px) rotateX(-90deg);-webkit-transform-origin:center;transform-origin:center;-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;opacity:0}.hinge-in-from-middle-x.mui-enter.mui-enter-active{-webkit-transform:perspective(2000px) rotate(0deg);transform:perspective(2000px) rotate(0deg);opacity:1}.hinge-in-from-middle-y.mui-enter{-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:perspective(2000px) rotateY(-90deg);transform:perspective(2000px) rotateY(-90deg);-webkit-transform-origin:center;transform-origin:center;-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;opacity:0}.hinge-in-from-middle-y.mui-enter.mui-enter-active{-webkit-transform:perspective(2000px) rotate(0deg);transform:perspective(2000px) rotate(0deg);opacity:1}.hinge-out-from-top.mui-leave{-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:perspective(2000px) rotate(0deg);transform:perspective(2000px) rotate(0deg);-webkit-transform-origin:top;transform-origin:top;-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;opacity:1}.hinge-out-from-top.mui-leave.mui-leave-active{-webkit-transform:perspective(2000px) rotateX(90deg);transform:perspective(2000px) rotateX(90deg);opacity:0}.hinge-out-from-right.mui-leave{-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:perspective(2000px) rotate(0deg);transform:perspective(2000px) rotate(0deg);-webkit-transform-origin:right;transform-origin:right;-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;opacity:1}.hinge-out-from-right.mui-leave.mui-leave-active{-webkit-transform:perspective(2000px) rotateY(90deg);transform:perspective(2000px) rotateY(90deg);opacity:0}.hinge-out-from-bottom.mui-leave{-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:perspective(2000px) rotate(0deg);transform:perspective(2000px) rotate(0deg);-webkit-transform-origin:bottom;transform-origin:bottom;-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;opacity:1}.hinge-out-from-bottom.mui-leave.mui-leave-active{-webkit-transform:perspective(2000px) rotateX(-90deg);transform:perspective(2000px) rotateX(-90deg);opacity:0}.hinge-out-from-left.mui-leave{-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:perspective(2000px) rotate(0deg);transform:perspective(2000px) rotate(0deg);-webkit-transform-origin:left;transform-origin:left;-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;opacity:1}.hinge-out-from-left.mui-leave.mui-leave-active{-webkit-transform:perspective(2000px) rotateY(-90deg);transform:perspective(2000px) rotateY(-90deg);opacity:0}.hinge-out-from-middle-x.mui-leave{-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:perspective(2000px) rotate(0deg);transform:perspective(2000px) rotate(0deg);-webkit-transform-origin:center;transform-origin:center;-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;opacity:1}.hinge-out-from-middle-x.mui-leave.mui-leave-active{-webkit-transform:perspective(2000px) rotateX(90deg);transform:perspective(2000px) rotateX(90deg);opacity:0}.hinge-out-from-middle-y.mui-leave{-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:perspective(2000px) rotate(0deg);transform:perspective(2000px) rotate(0deg);-webkit-transform-origin:center;transform-origin:center;-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;opacity:1}.hinge-out-from-middle-y.mui-leave.mui-leave-active{-webkit-transform:perspective(2000px) rotateY(90deg);transform:perspective(2000px) rotateY(90deg);opacity:0}.scale-in-up.mui-enter{-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:scale(.5);transform:scale(.5);-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;opacity:0}.scale-in-up.mui-enter.mui-enter-active{-webkit-transform:scale(1);transform:scale(1);opacity:1}.scale-in-down.mui-enter{-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:scale(1.5);transform:scale(1.5);-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;opacity:0}.scale-in-down.mui-enter.mui-enter-active{-webkit-transform:scale(1);transform:scale(1);opacity:1}.scale-out-up.mui-leave{-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:scale(1);transform:scale(1);-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;opacity:1}.scale-out-up.mui-leave.mui-leave-active{-webkit-transform:scale(1.5);transform:scale(1.5);opacity:0}.scale-out-down.mui-leave{-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:scale(1);transform:scale(1);-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;opacity:1}.scale-out-down.mui-leave.mui-leave-active{-webkit-transform:scale(.5);transform:scale(.5);opacity:0}.spin-in.mui-enter{-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:rotate(-.75turn);transform:rotate(-.75turn);-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;opacity:0}.spin-in.mui-enter.mui-enter-active{-webkit-transform:rotate(0);transform:rotate(0);opacity:1}.spin-out.mui-leave{-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:rotate(0);transform:rotate(0);-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;opacity:1}.spin-out.mui-leave.mui-leave-active{-webkit-transform:rotate(.75turn);transform:rotate(.75turn);opacity:0}.spin-in-ccw.mui-enter{-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:rotate(.75turn);transform:rotate(.75turn);-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;opacity:0}.spin-in-ccw.mui-enter.mui-enter-active{-webkit-transform:rotate(0);transform:rotate(0);opacity:1}.spin-out-ccw.mui-leave{-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:rotate(0);transform:rotate(0);-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;opacity:1}.spin-out-ccw.mui-leave.mui-leave-active{-webkit-transform:rotate(-.75turn);transform:rotate(-.75turn);opacity:0}.slow{-webkit-transition-duration:750ms !important;transition-duration:750ms !important}.fast{-webkit-transition-duration:250ms !important;transition-duration:250ms !important}.linear{-webkit-transition-timing-function:linear !important;transition-timing-function:linear !important}.ease{-webkit-transition-timing-function:ease !important;transition-timing-function:ease !important}.ease-in{-webkit-transition-timing-function:ease-in !important;transition-timing-function:ease-in !important}.ease-out{-webkit-transition-timing-function:ease-out !important;transition-timing-function:ease-out !important}.ease-in-out{-webkit-transition-timing-function:ease-in-out !important;transition-timing-function:ease-in-out !important}.bounce-in{-webkit-transition-timing-function:cubic-bezier(0.485, 0.155, 0.24, 1.245) !important;transition-timing-function:cubic-bezier(0.485, 0.155, 0.24, 1.245) !important}.bounce-out{-webkit-transition-timing-function:cubic-bezier(0.485, 0.155, 0.515, 0.845) !important;transition-timing-function:cubic-bezier(0.485, 0.155, 0.515, 0.845) !important}.bounce-in-out{-webkit-transition-timing-function:cubic-bezier(0.76, -0.245, 0.24, 1.245) !important;transition-timing-function:cubic-bezier(0.76, -0.245, 0.24, 1.245) !important}.short-delay{-webkit-transition-delay:300ms !important;transition-delay:300ms !important}.long-delay{-webkit-transition-delay:700ms !important;transition-delay:700ms !important}.shake{-webkit-animation-name:shake-7;animation-name:shake-7}@-webkit-keyframes shake-7{0%,10%,20%,30%,40%,50%,60%,70%,80%,90%{-webkit-transform:translateX(7%);transform:translateX(7%)}5%,15%,25%,35%,45%,55%,65%,75%,85%,95%{-webkit-transform:translateX(-7%);transform:translateX(-7%)}}@keyframes shake-7{0%,10%,20%,30%,40%,50%,60%,70%,80%,90%{-webkit-transform:translateX(7%);transform:translateX(7%)}5%,15%,25%,35%,45%,55%,65%,75%,85%,95%{-webkit-transform:translateX(-7%);transform:translateX(-7%)}}.spin-cw{-webkit-animation-name:spin-cw-1turn;animation-name:spin-cw-1turn}@-webkit-keyframes spin-cw-1turn{0%{-webkit-transform:rotate(-1turn);transform:rotate(-1turn)}100%{-webkit-transform:rotate(0);transform:rotate(0)}}@keyframes spin-cw-1turn{0%{-webkit-transform:rotate(-1turn);transform:rotate(-1turn)}100%{-webkit-transform:rotate(0);transform:rotate(0)}}.spin-ccw{-webkit-animation-name:spin-ccw-1turn;animation-name:spin-ccw-1turn}@-webkit-keyframes spin-ccw-1turn{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(-1turn);transform:rotate(-1turn)}}@keyframes spin-ccw-1turn{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(-1turn);transform:rotate(-1turn)}}.wiggle{-webkit-animation-name:wiggle-7deg;animation-name:wiggle-7deg}@-webkit-keyframes wiggle-7deg{40%,50%,60%{-webkit-transform:rotate(7deg);transform:rotate(7deg)}35%,45%,55%,65%{-webkit-transform:rotate(-7deg);transform:rotate(-7deg)}0%,30%,70%,100%{-webkit-transform:rotate(0);transform:rotate(0)}}@keyframes wiggle-7deg{40%,50%,60%{-webkit-transform:rotate(7deg);transform:rotate(7deg)}35%,45%,55%,65%{-webkit-transform:rotate(-7deg);transform:rotate(-7deg)}0%,30%,70%,100%{-webkit-transform:rotate(0);transform:rotate(0)}}.shake,.spin-cw,.spin-ccw,.wiggle{-webkit-animation-duration:500ms;animation-duration:500ms}.infinite{-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.slow{-webkit-animation-duration:750ms !important;animation-duration:750ms !important}.fast{-webkit-animation-duration:250ms !important;animation-duration:250ms !important}.linear{-webkit-animation-timing-function:linear !important;animation-timing-function:linear !important}.ease{-webkit-animation-timing-function:ease !important;animation-timing-function:ease !important}.ease-in{-webkit-animation-timing-function:ease-in !important;animation-timing-function:ease-in !important}.ease-out{-webkit-animation-timing-function:ease-out !important;animation-timing-function:ease-out !important}.ease-in-out{-webkit-animation-timing-function:ease-in-out !important;animation-timing-function:ease-in-out !important}.bounce-in{-webkit-animation-timing-function:cubic-bezier(0.485, 0.155, 0.24, 1.245) !important;animation-timing-function:cubic-bezier(0.485, 0.155, 0.24, 1.245) !important}.bounce-out{-webkit-animation-timing-function:cubic-bezier(0.485, 0.155, 0.515, 0.845) !important;animation-timing-function:cubic-bezier(0.485, 0.155, 0.515, 0.845) !important}.bounce-in-out{-webkit-animation-timing-function:cubic-bezier(0.76, -0.245, 0.24, 1.245) !important;animation-timing-function:cubic-bezier(0.76, -0.245, 0.24, 1.245) !important}.short-delay{-webkit-animation-delay:300ms !important;animation-delay:300ms !important}.long-delay{-webkit-animation-delay:700ms !important;animation-delay:700ms !important}a{-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}a:focus{outline:none}button{-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out;font-family:"HelveticaMediumExtended","Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;cursor:pointer}button:focus{outline:none}div:focus{outline:none}img:focus{outline:none}[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{background-color:trasnsparent;border:none;border-bottom:1px solid #5F5F5F;padding-left:0;padding-bottom:0;margin-bottom:0}[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{border-bottom:1px solid #5F5F5F}h1,h2,h3,h4{text-transform:uppercase}h1{font-size:1.5625rem}@media print, screen and (min-width: 80em){h1{font-size:2.25rem}}table,thead,tbody,th,tr,td{background-color:transparent}img:not([src]){background-color:#252525;width:100%;padding-bottom:55%;text-indent:100%;white-space:nowrap;overflow:hidden}img[data-src],img[data-srcset]{display:block;min-height:1px}section{position:relative}tr.even,tr.odd{background:transparent}tbody tr:nth-child(even){background-color:#000 !important}div.krumo-root{position:absolute;width:100%;z-index:99999}.section-padding{padding-top:1.5625rem;padding-bottom:3.125rem}.section-padding-2x{padding-top:3.125rem;padding-bottom:3.125rem}.section-dark{background-color:#1D1D1D}.section-light{background:#2E2E2E}.section-title-absolute{position:absolute;left:.625rem;top:.625rem;z-index:10}@media print, screen and (min-width: 40em){.section-title-absolute{left:25px;top:25px}}.news-featured h2{line-height:.9375rem}@media print, screen and (min-width: 40em){.news-featured h2{line-height:1.25rem}}.news-featured h2,.news-featured h3,.news-featured h4{margin:0;padding-bottom:.125rem}.news-featured h2 a,.news-featured h3 a,.news-featured h4 a{color:#fefefe}.news-featured .post-image{margin-bottom:.9375rem;position:relative}.news-featured .post-image img{width:100%}.news-featured .post-overlay{opacity:0;z-index:-10;height:100%;width:100%;position:absolute;left:0;top:0;background-color:rgba(0,0,0,0.6);font-size:1.125rem;line-height:1.3125rem;-webkit-transition:all .5s ease-in-out .1s;transition:all .5s ease-in-out .1s}.news-featured .post-overlay .grid-x{height:100%}@media print, screen and (min-width: 40em){.news-featured .post-image:hover .post-overlay{opacity:1;z-index:10}}.news-featured .post-read-link{color:#fefefe;font-size:1rem;display:block;text-transform:uppercase;margin-top:1rem;font-family:"HelveticaMediumExtended","Helvetica Neue",Helvetica,Roboto,Arial,sans-serif}.news-featured .post-meta{color:#B3B3B3;text-transform:uppercase;margin-top:.125rem;line-height:.875rem;font-size:.8125rem}.news-featured .post-meta a{color:#B3B3B3}.news-featured .post-meta a:hover{text-decoration:underline}@media print, screen and (min-width: 40em){.news-featured .post-meta{margin-top:.3125rem;font-size:.9375rem;line-height:1.125rem}}.sidebar-sticky-block-container{position:relative;overflow:hidden}.sidebar-sticky-block{opacity:0;padding-top:1.5625rem;margin-top:1.5625rem;position:relative;-webkit-transition:opacity 1s ease-in-out;transition:opacity 1s ease-in-out}.sidebar-sticky-block:before{content:'';position:absolute;height:1px;width:700px;top:0;left:-70px;background-color:#858383}@media print, screen and (min-width: 40em){.sidebar-sticky-block{left:5000px;-webkit-transition:left .4s ease-in-out .1s;transition:left .4s ease-in-out .1s;position:absolute;padding-top:0;margin-top:0;border:none;opacity:0;-webkit-transition:all .5s ease-in-out;transition:all .5s ease-in-out}.sidebar-sticky-block:before{display:none}.sidebar-sticky-block .featured-block{opacity:.4;-webkit-transition:opacity 1s ease-in-out .5s;transition:opacity 1s ease-in-out .5s}.sidebar-sticky-block .featured-block:hover{opacity:1}.sidebar-sticky-block .news-featured-content:not(:last-child){margin-bottom:1.25rem}}@media print, screen and (min-width: 80em){.sidebar-sticky-block .featured-block{max-width:18.75rem}}.unpublished-node{background:#51443A}.readmore{position:relative}.readmore .readmore-container{max-height:25rem;position:relative;overflow:hidden;-webkit-transition:all 1s ease-in-out .1s;transition:all 1s ease-in-out .1s}.readmore .readmore-toggle{text-align:center;margin-top:-10.625rem;width:100%;position:relative;padding-top:8.4375rem;padding-bottom:1.25rem;background:-webkit-gradient(linear, left top, left bottom, from(rgba(0,0,0,0)), color-stop(58%, #202020));background:linear-gradient(to bottom, rgba(0,0,0,0) 0%, #202020 58%);-webkit-transition:all 1s ease-in-out;transition:all 1s ease-in-out;opacity:1}.readmore .less{display:none}.readmore.expanded .readmore-container{height:auto}.readmore.expanded .readmore-toggle{margin-top:0;padding-top:1.25rem}.readmore.expanded .more{display:none}.readmore.expanded .less{display:block !important}.ad{position:relative}.ad.ad-left{text-align:right}.ad-item{text-align:left;margin-left:auto;margin-right:auto;margin-bottom:.9375rem;background-position:center;background-size:cover;background-repeat:no-repeat;max-width:18.75rem}@media screen and (max-width: 39.99875em){.ad-item{margin-top:1.25rem;margin-bottom:1.25rem}}.ad-item img{width:100%}.ad-item .adsbygoogle{height:600px !important}@media print, screen and (min-width: 40em){.ad-item .adsbygoogle{width:8.5rem !important}}@media print, screen and (min-width: 80em){.ad-item .adsbygoogle{width:14.5rem !important}}@media screen and (min-width: 90em){.ad-item .adsbygoogle{width:15.125rem !important}}@media screen and (min-width: 100em){.ad-item .adsbygoogle{height:18.75rem !important}}@media print, screen and (min-width: 40em){.ad-push-bottom{padding-top:50rem}}@media print, screen and (min-width: 40em){.ad-pull-up{margin-bottom:8rem}}.form-item .description{color:#B3B3B3;margin-top:.1875rem;font-size:.6875rem}.form-item .form-required{float:left;margin-right:5px}.form-item .form-group{margin:0}.input-group{margin-bottom:0}.input-group-label{padding-right:0}.video-container{position:relative;height:0;margin-bottom:1rem;padding-bottom:60%;overflow:hidden}.video-container iframe,.video-container video{position:absolute;top:0;left:0;width:100%;height:100%;max-height:550px}.relative{position:relative}.height-100{height:100%}.grid-height-100{height:100%}@media print, screen and (min-width: 40em){.grid-height-100>.cell{height:100%}}.no-padding{padding:0 !important}.no-margin{margin:0 !important}.padding-bottom{padding-bottom:1.875rem}@media screen and (min-width: 90em){.padding-bottom{padding-bottom:3.125rem}}.padding-bottom-half{padding-bottom:1.5625rem}.padding-top{padding-top:1.875rem}@media screen and (min-width: 90em){.padding-top{padding-top:3.125rem}}.rtejustify{text-align:justify !important}.rteright{text-align:right}.rteindent1{margin-left:2.5rem}.element-invisible{position:absolute !important;clip:rect(1px, 1px, 1px, 1px);overflow:hidden;height:1px;width:1px;word-wrap:normal}.color-body{color:#B3B3B3}.cursor-pointer{cursor:pointer}.input-group-label{border-bottom:1px solid #5F5F5F}.admin-menu .topbar.topbar-fixed{top:95px}@media print, screen and (min-width: 40em){.admin-menu .topbar.topbar-fixed{top:60px}}@media print, screen and (min-width: 80em){.admin-menu .topbar.topbar-fixed{top:20px}}@media screen and (max-width: 39.99875em){.small-padding-collapse{padding-left:0 !important;padding-right:0 !important}}html.is-reveal-open,html.is-reveal-open body{position:initial}@media screen and (max-width: 39.99875em){.reveal{top:0 !important;height:100vh !important;overflow-y:scroll !important;-webkit-overflow-scrolling:touch}}.webform-progressbar{display:none}.close-button{z-index:999}.ajax-progress-throbber{display:none}img[data-src],img[data-srcset]{display:block;min-height:1px}.news-grid-container{padding-right:.625rem;padding-left:.625rem;max-width:1776px;margin:0 auto;overflow:hidden}.news-grid-container .news-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}@media print, screen and (min-width: 40em){.news-grid-container{padding-right:.625rem;padding-left:.625rem;max-width:1776px;margin:0 auto}.news-grid-container .news-cell-left{width:calc(20% - 1.25rem);margin-right:.625rem;margin-left:.625rem}.news-grid-container .news-cell-central{width:calc(60% - 1.25rem);margin-right:.625rem;margin-left:.625rem}.news-grid-container .news-offset-central{margin-left:calc(20% + .625rem)}.news-grid-container .news-cell-right{width:calc(20% - 1.25rem);margin-right:.625rem;margin-left:.625rem}}@media screen and (min-width: 90em){.news-grid-container{padding-right:.9375rem;padding-left:.9375rem;max-width:1776px;margin:0 auto}.news-grid-container .news-cell-left{width:calc(20% - 2.5rem);margin-right:1.25rem;margin-left:1.25rem}.news-grid-container .news-cell-central{width:calc(60% - 2.5rem);margin-right:1.25rem;margin-left:1.25rem}.news-grid-container .news-offset-central{margin-left:calc(20% + 1.25rem)}.news-grid-container .news-cell-right{width:calc(20% - 2.5rem);margin-right:1.25rem;margin-left:1.25rem}}.header{padding:4.5rem 0 2.25rem 0}@media print, screen and (min-width: 80em){.header{padding:8.25rem 0 3.75rem 0}}.main{color:#B3B3B3}.main .push-topbar{margin-top:5rem}.featured-green-news{background-size:cover;background-position:center;position:relative;color:#fefefe}.featured-green-news .grid-y{height:36.25rem;position:relative;z-index:2}.featured-green-news h2 a,.featured-green-news h3 a{color:#fefefe}.featured-green-news p{font-size:1.125rem}.featured-green-news .post-meta{font-size:1rem;text-transform:uppercase}.featured-green-news::after{content:'';position:absolute;background-color:#5B9150;top:0;left:0;width:100%;height:100%;z-index:0;opacity:.5}.more-news .more-news-button{color:#fefefe;text-transform:uppercase;padding:.3125rem .625rem;font-size:.875rem;text-decoration:underline}.section-others h4{margin-bottom:1.875rem}.section-others h4 a{color:#fefefe}.section-others h2{font-size:.9375rem;text-transform:uppercase}.section-others h2 a{color:#fefefe}@media print, screen and (min-width: 40em){.section-others h2{margin-bottom:1.25rem;font-size:1.1875rem}}.section-others p{font-size:.875rem;color:#9C9C9C}@media print, screen and (min-width: 40em){.section-others p{font-size:.9375rem}}.section-others:hover .fullslider-nav{opacity:1}.section-home-archive{border-top:1px solid #858383;padding-top:.625rem}.section-home-archive .archive-categories-menu{padding-top:.9375rem}@media print, screen and (min-width: 40em){.section-home-archive .archive-categories-menu{padding-top:.3125rem}}.section-home-archive .archive-categories-menu ul a{font-family:"HelveticaMediumExtended","Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;color:#9C9C9C;text-transform:uppercase;font-size:.75rem;line-height:1.2;padding:.625rem}@media print, screen and (min-width: 40em){.section-home-archive .archive-categories-menu ul a{padding:.625rem .75rem}}@media screen and (min-width: 90em){.section-home-archive .archive-categories-menu ul a{padding:.625rem .9375rem}}.section-home-archive .archive-categories-menu ul a:hover,.section-home-archive .archive-categories-menu ul a.active{color:#fefefe}.section-home-archive .archive-categories-menu ul a:hover span,.section-home-archive .archive-categories-menu ul a.active span{border-bottom:1px solid #fefefe}.section-home-archive .more-categories-filter-button{color:#fefefe}.section-home-archive .more-categories-filter-menu{text-align:left;margin:0;padding:0}.section-home-archive .more-categories-filter-menu li{list-style:none}.section-home-archive .more-categories-filter-menu li a{padding:.3125rem}.section-home-archive .owl-item{opacity:0;-webkit-transition:opacity .5s ease-in-out;transition:opacity .5s ease-in-out}.section-home-archive .owl-item.active{opacity:1 !important}.section-home-archive:hover .fullslider-nav{opacity:1}.section-news-body .news-lead-text{font-size:1.125rem;line-height:1.5625rem}@media print, screen and (min-width: 40em){.section-news-body .news-lead-text{font-size:1.25rem;line-height:1.5625rem}}@media screen and (min-width: 90em){.section-news-body .news-lead-text{font-size:1.4375rem;line-height:1.6875rem}}@media print, screen and (min-width: 40em){.section-news-body .news-lead-text .body{max-width:90%;margin:auto}}.section-news-body .news-lead-text a{color:#fefefe !important}.section-news-body .news-image-toggler .news-image-toggler-img{width:100%}.section-news-body .toggler-icon{position:absolute;top:20px;right:20px;height:2.5rem;-webkit-transition:-webkit-transform .5s ease-in-out;transition:-webkit-transform .5s ease-in-out;transition:transform .5s ease-in-out;transition:transform .5s ease-in-out, -webkit-transform .5s ease-in-out;cursor:pointer}.section-news-body .toggler-icon:hover{-webkit-transform:scale(1.1, 1.1);transform:scale(1.1, 1.1)}.section-news-body .news-body{font-size:1.0625rem;line-height:1.375rem;padding-bottom:1.25rem}@media print, screen and (min-width: 40em){.section-news-body .news-body{font-size:1.25rem;line-height:1.5625rem}}@media print, screen and (min-width: 40em){.section-news-body .news-body .body{max-width:90%;margin:0 auto 1.25rem}}.section-news-body .news-body .body a{color:#fefefe !important}.section-news-body .news-video{padding:.3125rem}.section-news-body .news-gallery .cell{padding-left:.3125rem;padding-right:.3125rem}.section-news-body .news-gallery img{padding-top:.3125rem;padding-bottom:.3125rem}.section-news-body .news-gallery .news-gallery-hidden{max-height:0;overflow:hidden;-webkit-transition:all 1s ease-in-out .1s;transition:all 1s ease-in-out .1s}.section-news-body .news-gallery .news-gallery-toggle{padding-top:100px;margin-top:-175px;margin-bottom:-100px;z-index:10;position:relative;background:-webkit-gradient(linear, left top, left bottom, from(rgba(0,0,0,0)), color-stop(25%, #202020));background:linear-gradient(to bottom, rgba(0,0,0,0) 0%, #202020 25%);padding-bottom:60px;-webkit-transition:all 1s ease-in-out .1s;transition:all 1s ease-in-out .1s}.section-news-body .news-gallery .less{display:none}.section-news-body .news-gallery.expanded .news-gallery-toggle{-webkit-transition:all 1s ease-in-out .1s;transition:all 1s ease-in-out .1s;margin-top:0;margin-bottom:0;padding-bottom:0}.section-news-body .news-gallery.expanded .more{display:none}.section-news-body .news-gallery.expanded .less{display:block !important}.section-news-credits .grid-credit{padding-bottom:1.25rem;margin-bottom:1.25rem;border-bottom:1px solid #535353}.section-news-credits .grid-credit:last-child{border-bottom:none;margin-bottom:0}.section-news-credits .grid-credit .credit-label{font-size:.6875rem;font-family:"HelveticaMediumExtended","Helvetica Neue",Helvetica,Roboto,Arial,sans-serif}@media print, screen and (min-width: 40em){.section-news-credits .grid-credit .credit-label{padding-left:0;font-size:1rem;line-height:20px}}.section-news-credits .grid-credit .credit-text{font-size:.8125rem}@media print, screen and (min-width: 40em){.section-news-credits .grid-credit .credit-text{font-size:1rem;line-height:20px}}.section-news-credits .grid-credit .needs-collapsing .text{max-height:3.75rem;overflow:hidden;-webkit-transition:all .6s ease-in-out;transition:all .6s ease-in-out}.section-news-credits .grid-credit .needs-collapsing .collapse-toggle.hidden .less{display:none}.section-news-credits .grid-credit .needs-collapsing .collapse-toggle:not(.hidden) .more{display:none}.section-news-credits .news-autor .autor-name{font-size:1.125rem;font-family:"HelveticaMediumExtended","Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;margin-bottom:1.25rem}.section-news-credits .news-autor .autor-name a{color:#fefefe}@media print, screen and (min-width: 40em){.section-news-credits .news-autor .autor-name{font-size:1rem}}@media print, screen and (min-width: 40em){.section-news-credits .news-autor .autor-image{padding-left:0}}@media screen and (max-width: 39.99875em){.section-news-credits .news-autor .autor-image img{position:relative;margin:auto}}.section-news-credits .news-autor .body{font-size:1.125rem;line-height:24px;color:#BDBDBD}.section-news-credits .news-autor .body a{color:#fefefe !important}.section-news-credits .news-autor .body p{font-size:1.125rem;line-height:24px}.section-news-credits .news-autor .readmore-toggle{background:-webkit-gradient(linear, left top, left bottom, from(rgba(0,0,0,0)), color-stop(58%, #2f2f2f));background:linear-gradient(to bottom, rgba(0,0,0,0) 0%, #2f2f2f 58%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#202020', GradientType=0)}.section-our-selection:hover .fullslider-nav{opacity:1}.section-taxonomy-term-list{padding-top:1.875rem;padding-bottom:1.875rem}.section-taxonomy-term-list h3{color:#F57F23;margin-bottom:1rem}.section-taxonomy-term-list .category-menu ul{margin:0;padding:0}.section-taxonomy-term-list .category-menu ul li{list-style:none;display:inline-block;margin:0 .3125rem;font-family:"HelveticaMediumExtended","Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;line-height:1.875rem}.section-taxonomy-term-list .category-menu ul a{color:#fefefe;font-size:.875rem;border-bottom:1px solid}@media print, screen and (min-width: 40em){.section-taxonomy-term-list .category-menu ul a{font-size:1rem}}@media print, screen and (min-width: 40em){.section-taxonomy-nodes .grid-customised>.cell:nth-child(odd){padding-right:.625rem}.section-taxonomy-nodes .grid-customised>.cell:nth-child(even){padding-left:.625rem}}@media screen and (min-width: 90em){.section-taxonomy-nodes .grid-customised>.cell:nth-child(odd){padding-right:1.25rem}.section-taxonomy-nodes .grid-customised>.cell:nth-child(even){padding-left:1.25rem}}.section-search-inputs{padding-top:1.875rem;padding-bottom:1.875rem}.section-search-inputs h3{color:#F57F23;margin-bottom:1rem}.section-search-inputs .grid-search-categories ul{margin:0;padding:0}.section-search-inputs .grid-search-categories ul li{list-style:none;display:inline-block;margin:0 .3125rem;font-family:"HelveticaMediumExtended","Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;line-height:2.0625rem}.section-search-inputs .grid-search-categories ul label{cursor:pointer;display:block;color:#fefefe;padding:0;font-size:.875rem;margin:8px 0;line-height:1}@media print, screen and (min-width: 40em){.section-search-inputs .grid-search-categories ul label{font-size:1.0625rem}}.section-search-inputs .grid-search-categories ul label.checked{border-bottom:1px solid #fefefe}.section-search-inputs .grid-search-filters{padding-top:1.875rem}@media print, screen and (min-width: 40em){.section-search-inputs .grid-search-filters .cell:not(:last-child){padding-right:.9375rem}}@media print, screen and (min-width: 40em){.section-admin-actions.absolute{position:absolute;top:60px;left:0;z-index:50}}.section-errors .error-number{font-size:60px;font-family:"HelveticaMediumExtended","Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-weight:bolder;color:#EAEAEA;letter-spacing:-0.7px;margin-bottom:1rem}@media print, screen and (min-width: 40em){.section-errors .error-number{line-height:100px;font-size:10.625rem}}.section-author .view-mopis-articles-author li{margin-bottom:.5rem}.section-author .view-mopis-articles-author li a{color:#B3B3B3}.section-author .view-mopis-articles-author li a:hover{color:#fefefe}.section-publish-project .field-name-field-cuerpo{margin-bottom:1.375rem}.section-publish-project .field-name-field-nota-legal{margin-top:1.375rem;font-size:.875rem;color:#7A7A7A}@media print, screen and (min-width: 40em){.section-publish-project .field-name-field-nota-legal{max-width:60%}}.main-footer{background-color:#000}.main-footer .logo img{max-width:16.125rem}.main-footer .social-menu{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}@media print, screen and (min-width: 40em){.main-footer .social-menu{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}}.main-footer .social-menu img{-webkit-filter:invert(100%);filter:invert(100%);width:1.5625rem}.main-footer .grid-footer-nav{padding-top:6.25rem;padding-bottom:6.25rem}.main-footer .footer-nav ul{text-align:center;margin:0}.main-footer .footer-nav ul li{list-style:none;line-height:1.25rem;font-size:1.0625rem;font-weight:600}@media print, screen and (min-width: 40em){.main-footer .footer-nav ul li{font-size:1rem;font-weight:normal}}.main-footer .footer-nav ul li a{color:#6C6C6C;padding:.3125rem .9375rem}.main-footer .footer-nav ul li a.active{color:#fefefe}.main-footer .footer-nav .language-link{display:block;line-height:1.25rem;font-size:1.0625rem;font-weight:600}@media print, screen and (min-width: 40em){.main-footer .footer-nav .language-link{font-size:1rem;font-weight:normal}}.main-footer .footer-nav .language-link a{color:#6C6C6C;padding:.3125rem .9375rem}@media print, screen and (min-width: 40em){.main-footer .footer-nav ul{display:inline-block}.main-footer .footer-nav ul li{display:inline-block}.main-footer .footer-nav .language-link{display:inline-block}}.main-footer .grid-footer-credits{padding-bottom:1rem}.main-footer .footer-credits{color:#F5F5F5;font-size:.6875rem;text-transform:uppercase}.node-type-p-gina-de-blog .section-home-archive{border-top:none !important;border-bottom:1px solid #858383}.topbar{z-index:999 !important;width:100%;margin-top:0 !important;font-family:"HelveticaMediumExtended","Helvetica Neue",Helvetica,Roboto,Arial,sans-serif}.topbar .topbar-grid{padding-top:.625rem;padding-bottom:.625rem}@media print, screen and (min-width: 40em){.topbar .topbar-grid{padding-top:.625rem;padding-bottom:.625rem}}.topbar.topbar-fixed{top:0;position:fixed;-webkit-transform:translateY(0);transform:translateY(0);-webkit-transition:background-color 0.2s ease-in-out, -webkit-transform 0.2s ease-in-out;transition:background-color 0.2s ease-in-out, -webkit-transform 0.2s ease-in-out;transition:transform 0.2s ease-in-out, background-color 0.2s ease-in-out;transition:transform 0.2s ease-in-out, background-color 0.2s ease-in-out, -webkit-transform 0.2s ease-in-out;width:100%}.topbar.nav-up{-webkit-transform:translateY(-100%);transform:translateY(-100%)}.topbar.nav-down:not(.is-top){background-color:rgba(0,0,0,0.8)}.topbar a{color:#fefefe}.topbar a:focus,.topbar a:hover{color:#fefefe}.topbar .logo img{width:16.125rem;max-width:100%;padding:.3125rem .5rem .3125rem 0}@media print, screen and (min-width: 40em){.topbar .logo img{padding:0.85em 1em;padding-left:0}}.topbar .button{margin-bottom:0;padding:.3125rem .5rem}@media print, screen and (min-width: 40em){.topbar .button{padding:0.85em 1em}}.topbar .topbar-right .button{text-transform:uppercase}.small-terms-modal{background-color:#000;color:#fefefe;height:50vh !important;top:20px !important;width:95%;margin:auto;min-height:50vh;text-align:center;z-index:1010}.small-terms-modal a{color:#fefefe}.small-terms-modal .button{color:#fefefe;border-color:#fefefe}body:not(.front):not(.node-type-p-gina-de-blog) .topbar{border-bottom:1px solid #979797}.owl-stage{display:-webkit-box;display:-ms-flexbox;display:flex}.fullslider{position:relative}.fullslider .fullslider-heading{font-size:.9375rem;line-height:1.0625rem}@media print, screen and (min-width: 40em){.fullslider .fullslider-heading{font-size:1.8125rem;line-height:1.75rem}}@media print, screen and (min-width: 80em){.fullslider .fullslider-heading{font-size:1.9375rem;line-height:1.875rem}}.fullslider .fullslider-nav{cursor:pointer;-webkit-transition:opacity .5s ease-in-out;transition:opacity .5s ease-in-out;position:absolute;text-align:right;right:5px;top:50%;margin-top:-26px;height:3.4375rem;width:3.125rem;z-index:20}@media print, screen and (min-width: 40em){.fullslider .fullslider-nav{opacity:0;right:0;margin-right:1.25rem}}.fullslider:hover .fullslider-nav{opacity:1}.fullslider .fullslider-prev{-webkit-transform:rotate(180deg);transform:rotate(180deg);left:5px}@media print, screen and (min-width: 40em){.fullslider .fullslider-prev{left:0;margin-left:1.25rem}}.fullslider .fullslider-numbers{display:none;position:absolute;bottom:20px;z-index:10;left:0;padding-left:20px;font-family:"HelveticaMediumExtended","Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;text-align:center}@media print, screen and (min-width: 40em){.fullslider .fullslider-numbers{display:block !important}}.fullslider .fullslider-numbers .fullslider-number{display:list-item;color:#fefefe;list-style:none;font-size:1.125rem;opacity:.5}.fullslider .fullslider-numbers .fullslider-number.active{opacity:1}.fullslider-container .fullslider-grid{height:100%;z-index:2;position:absolute;width:100%}.fullslider-container .fullslider-slider-item{width:100%;background-size:auto 100%;background-position:center;background-repeat:no-repeat;background-color:gray;height:100vh;max-height:56.25rem !important;text-align:center;color:#fefefe;position:relative}.fullslider-container .fullslider-slider-item h2 a{color:#fefefe}.fullslider-container .fullslider-slider-item .post-meta{color:#B3B3B3;text-transform:uppercase;line-height:.9375rem;margin-top:.25rem}.fullslider-container .fullslider-slider-item .post-meta a{color:#B3B3B3}.fullslider-container .fullslider-slider-item .post-meta a:hover{text-decoration:underline}@media print, screen and (min-width: 40em){.fullslider-container .fullslider-slider-item .post-meta{margin-top:.5rem;line-height:1.125rem}}.fullslider-container .fullslider-slider-item:not(.no-filter):before{content:'';position:absolute;z-index:0;bottom:top;left:0;width:100%;height:250px;background:-webkit-gradient(linear, left top, left bottom, from(rgba(0,0,0,0.59)), to(rgba(0,0,0,0)));background:linear-gradient(to bottom, rgba(0,0,0,0.59) 0%, rgba(0,0,0,0) 100%)}.fullslider-container .fullslider-slider-item:not(.no-filter):after{content:'';position:absolute;z-index:0;bottom:0;left:0;width:100%;height:250px;background:-webkit-gradient(linear, left top, left bottom, from(rgba(0,0,0,0)), color-stop(96%, rgba(0,0,0,0.96)), to(#000));background:linear-gradient(to bottom, rgba(0,0,0,0) 0%, rgba(0,0,0,0.96) 96%, #000 100%)}.fullslider-container.fullslider-image-cover .fullslider-slider-item{background-size:cover !important}.fullslider-container .owl-nav{display:none}.absolute-fullslider-controls .fullslider-nav{cursor:pointer;-webkit-transition:opacity .5s ease-in-out;transition:opacity .5s ease-in-out;position:absolute;right:5px;top:50%;margin-top:-26px;height:3.4375rem;width:3.125rem;z-index:20;opacity:1}.absolute-fullslider-controls .fullslider-nav img{display:block;margin-left:auto}@media print, screen and (min-width: 40em){.absolute-fullslider-controls .fullslider-nav{opacity:0;right:25px}}.absolute-fullslider-controls .fullslider-prev{-webkit-transform:rotate(180deg);transform:rotate(180deg);left:5px;text-align:right}.absolute-fullslider-controls .fullslider-prev img{display:block;margin-left:auto}@media print, screen and (min-width: 40em){.absolute-fullslider-controls .fullslider-prev{left:25px}}.news-images-carousel-slider .news-images-carousel-image{margin-left:auto;margin-right:auto;width:auto !important}.news-images-carousel-slider .owl-stage{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.news-images-carousel-slider .owl-item img{max-height:85vh}.news-images-carousel-slider .owl-item:not(.active) .item:before{content:'';position:absolute;z-index:0;top:0;right:0;width:200px;height:100%;background:-webkit-gradient(linear, left top, right top, from(rgba(125,185,232,0)), to(rgba(0,0,0,0.5)));background:linear-gradient(to right, rgba(125,185,232,0) 0%, rgba(0,0,0,0.5) 100%);filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#007db9e8', endColorstr='#80000000',GradientType=1 )}.news-images-carousel-slider .owl-item:not(.active) .item:after{content:'';position:absolute;z-index:0;top:0;left:0;width:200px;height:100%;background:-webkit-gradient(linear, left top, right top, from(rgba(0,0,0,0.5)), to(rgba(0,0,0,0)));background:linear-gradient(to right, rgba(0,0,0,0.5) 0%, rgba(0,0,0,0) 100%);filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#80000000', endColorstr='#00000000',GradientType=1 )}.hero{overflow:hidden;max-height:100vh;height:0;padding-bottom:100%}@media print, screen and (min-width: 40em){.hero{padding-bottom:60%}}@media print, screen and (min-width: 80em){.hero{padding-bottom:44.27%}}.hero .owl-carousel{position:absolute;left:0;top:0;width:100%;height:100%}.hero .fullslider-slider-item{height:0;padding-bottom:100%}@media print, screen and (min-width: 40em){.hero .fullslider-slider-item{padding-bottom:60%}}@media print, screen and (min-width: 80em){.hero .fullslider-slider-item{padding-bottom:44.27%}}.preload-hero{width:100%;background-size:auto 100%;background-position:center;background-repeat:no-repeat;background-color:gray;max-height:56.1875rem !important}.preload-hero:not(.no-filter):before{content:'';position:absolute;z-index:0;bottom:top;left:0;width:100%;height:250px;background:-webkit-gradient(linear, left top, left bottom, from(rgba(0,0,0,0.59)), to(rgba(0,0,0,0)));background:linear-gradient(to bottom, rgba(0,0,0,0.59) 0%, rgba(0,0,0,0) 100%)}.preload-hero:not(.no-filter):after{content:'';position:absolute;z-index:0;bottom:0;left:0;width:100%;height:250px;background:-webkit-gradient(linear, left top, left bottom, from(rgba(0,0,0,0)), color-stop(96%, rgba(0,0,0,0.96)), to(#000));background:linear-gradient(to bottom, rgba(0,0,0,0) 0%, rgba(0,0,0,0.96) 96%, #000 100%)}.button{cursor:pointer;border:none;text-transform:uppercase}.button.white{color:#fefefe}.button.white:focus,.button.white:hover{color:#fefefe}.button.white-bg{background:#fefefe;color:#000;border-color:#fefefe}.close-button{padding:.625rem;top:0;right:0}.close-button img{width:1.5625rem}@media print, screen and (min-width: 40em){.close-button{right:1.5625rem;padding:1.5625rem}.close-button img{width:2.1875rem}}.more-button{color:#fefefe;text-transform:uppercase;padding:.3125rem 0 .125rem 0;font-size:.875rem;border-bottom:1px solid #fefefe;font-family:"HelveticaMediumExtended","Helvetica Neue",Helvetica,Roboto,Arial,sans-serif}.more-button:hover,.more-button:focus{color:#fefefe;border-color:transparent}.button.hollow{border:1px solid #fefefe;border-radius:3px}.button.hollow:hover{border:1px solid #fefefe}.user-forms input[type=text],.user-forms input[type=password],.user-forms input[type=email],.user-forms textarea{height:3.375rem;padding:1rem 0 12px 1rem;border:1px solid #666666;background-color:#292929;font-size:1.375rem;font-family:"HelveticaRegular","Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;margin-bottom:1.5rem;max-width:28.125rem}.user-forms input[type=text]:focus,.user-forms input[type=password]:focus,.user-forms input[type=email]:focus,.user-forms textarea:focus{border-color:#fefefe}.user-forms textarea{height:100%;max-width:100% !important}.user-forms input[type=submit]{background:transparent;border:none;border-bottom:1px solid #fefefe;font-size:1.125rem;display:block;margin:auto;text-transform:uppercase;color:#fefefe;font-family:"HelveticaMediumExtended","Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;padding:0}.user-forms .action-link{color:#696969;margin-top:6.25rem;text-align:center;display:block;font-size:1.125rem;text-decoration:underline}.user-forms .description,.user-forms .form-required,.user-forms label{display:none}.news-images-carousel-reveal{background-color:rgba(0,0,0,0.95);color:#fefefe;padding:0}.news-images-carousel-reveal .news-images-carousel-title{margin-top:1.875rem;font-size:.9375rem}.news-images-carousel-reveal .close-button{color:#fefefe}.menu-reveal{background-color:rgba(0,0,0,0.95);color:#fefefe;padding:0 !important}@media screen and (max-height: 520px){.menu-reveal .grid-frame{height:auto !important}}.menu-reveal .menu-reveal-padding{padding-top:.625rem}@media print, screen and (min-width: 40em){.menu-reveal .menu-reveal-padding{padding-top:1.25rem;padding-bottom:1.25rem}}.menu-reveal .logo img{padding-top:.625rem;max-width:8.75rem;width:100%}@media print, screen and (min-width: 40em){.menu-reveal .logo img{padding-top:.625rem;max-width:16.125rem}}@media print, screen and (min-width: 40em){.menu-reveal .menu-reveal-main{margin-top:2.5rem}}@media print, screen and (min-width: 80em){.menu-reveal .menu-reveal-main{margin:0}}.menu-reveal .menu-label{font-family:"HelveticaMediumExtended","Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;text-transform:uppercase;color:#969696;font-size:.75rem;margin-bottom:.1875rem}@media print, screen and (min-width: 40em){.menu-reveal .menu-label{font-size:.875rem;margin-bottom:1.0625rem}}@media print, screen and (min-width: 40em){.menu-reveal .main-nav{margin-bottom:0}}.menu-reveal .main-nav ul{margin:0}.menu-reveal .main-nav ul li{list-style:none;line-height:1.375rem;font-size:1.375rem;font-family:"HelveticaExtended","HelveticaRegular",Helvetica,Roboto,Arial,sans-serif;-webkit-transition:font-family .3s ease-in-out;transition:font-family .3s ease-in-out}@media print, screen and (min-width: 40em){.menu-reveal .main-nav ul li{font-size:1.875rem;line-height:1.875rem}}@media print, screen and (min-width: 80em){.menu-reveal .main-nav ul li{font-size:2.5rem;line-height:2.5rem}}.menu-reveal .main-nav ul li:hover{font-family:"HelveticaMediumExtendedObl","Helvetica Neue",Helvetica,Roboto,Arial,sans-serif}.menu-reveal .main-nav ul li a{color:#fefefe}.menu-reveal .main-nav .language-link{line-height:1;font-size:1.5625rem;font-family:"HelveticaExtended","HelveticaRegular",Helvetica,Roboto,Arial,sans-serif}@media print, screen and (min-width: 40em){.menu-reveal .main-nav .language-link{font-size:1.875rem;line-height:1.875rem}}@media print, screen and (min-width: 80em){.menu-reveal .main-nav .language-link{font-size:2.5rem;line-height:2.5rem}}.menu-reveal .main-nav .language-link:hover{font-family:"HelveticaMediumExtendedObl","Helvetica Neue",Helvetica,Roboto,Arial,sans-serif}.menu-reveal .main-nav .language-link a{color:#fefefe}.menu-reveal .type-menu{margin-top:.625rem}.menu-reveal .type-menu li{margin:0}.menu-reveal .type-menu li a{padding:0}.menu-reveal .type-menu ul ul{-webkit-column-count:2;column-count:2;-webkit-column-gap:7%;column-gap:7%;width:210%;height:100%;display:block}@media print, screen and (min-width: 40em){.menu-reveal .type-menu ul ul li{font-size:1.125rem}}@media print, screen and (min-width: 40em){.menu-reveal .type-menu{margin-top:1.125rem}}.menu-reveal .type-menu .submenu{margin-left:1.5625rem}@media print, screen and (min-width: 80em){.menu-reveal .custom-padding{padding-top:6vw}}@media screen and (min-width: 100em){.menu-reveal .custom-padding{padding-top:10vw}}@media print, screen and (min-width: 80em){.menu-reveal .border-left{padding-left:2.1875rem;border-left:1px solid #383838}}@media screen and (max-width: 39.99875em){.menu-reveal .small-border-top{padding-top:.625rem;border-top:1px solid #383838}}.menu-reveal .categories-menu{line-height:1;font-family:"HelveticaMediumExtended","Helvetica Neue",Helvetica,Roboto,Arial,sans-serif}.menu-reveal .categories-menu ul{margin:0}.menu-reveal .categories-menu ul li{list-style:none;line-height:1.125rem;font-size:.875rem;font-family:"HelveticaExtended","HelveticaRegular",Helvetica,Roboto,Arial,sans-serif;text-transform:uppercase;-webkit-transition:font-family .3s ease-in-out;transition:font-family .3s ease-in-out}@media print, screen and (min-width: 80em){.menu-reveal .categories-menu ul li{font-size:1.375rem;line-height:1.5rem}}.menu-reveal .categories-menu ul li:hover{font-family:"HelveticaMediumExtendedObl","Helvetica Neue",Helvetica,Roboto,Arial,sans-serif}.menu-reveal .categories-menu ul li a{color:#D7D7D7}.menu-reveal .social-menu a{opacity:.9;padding:.625rem .25rem .3125rem .25rem}.menu-reveal .social-menu a img{-webkit-filter:invert(100%);filter:invert(100%);width:1.25rem}@media print, screen and (min-width: 40em){.menu-reveal .social-menu a{padding:.9375rem .625rem 0 .625rem}.menu-reveal .social-menu a img{width:2.1875rem}}.menu-reveal .social-menu li:first-child a{padding-left:0}.menu-reveal .social-menu li:last-child a{padding-right:0}.menu-reveal .newsletter-form .hidden{opacity:0}.menu-reveal .newsletter-form *{-webkit-transition:opacity .4s ease-in-out;transition:opacity .4s ease-in-out}.menu-reveal .newsletter-form .newsletter-input-text{font-family:"HelveticaMediumExtended","Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-size:.75rem;color:#fefefe;text-transform:uppercase}@media print, screen and (min-width: 40em){.menu-reveal .newsletter-form .newsletter-input-text{font-size:1.125rem}.menu-reveal .newsletter-form .newsletter-input-text a{padding-bottom:.1875rem;border-bottom:1px solid #fefefe}}.menu-reveal .newsletter-form input[type=text],.menu-reveal .newsletter-form input[type=email]{display:inline-block;font-family:"HelveticaMediumExtended","Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;background:transparent;border:none;border-bottom:1px solid #fefefe;max-width:80%;color:#CBCBCB;font-size:.625rem;height:30px;padding-left:0;-webkit-box-shadow:none;box-shadow:none;margin:0}@media print, screen and (min-width: 40em){.menu-reveal .newsletter-form input[type=text],.menu-reveal .newsletter-form input[type=email]{font-size:1.125rem;height:1.25rem}}@media screen and (min-width: 90em){.menu-reveal .newsletter-form input[type=text],.menu-reveal .newsletter-form input[type=email]{max-width:460px}}.menu-reveal .newsletter-form input[type=text]::-webkit-input-placeholder{font-family:"HelveticaMediumExtended","Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-size:.625rem;color:#CBCBCB}@media print, screen and (min-width: 40em){.menu-reveal .newsletter-form input[type=text]::-webkit-input-placeholder{font-size:1.125rem}}.menu-reveal .newsletter-form .newsletter-legal{color:#fefefe;margin-bottom:.3125rem}@media print, screen and (min-width: 40em){.menu-reveal .newsletter-form .newsletter-legal{margin-bottom:.625rem}}@media print, screen and (min-width: 80em){.menu-reveal .newsletter-form .newsletter-legal{margin-bottom:1.125rem}}.menu-reveal .newsletter-form .newsletter-legal label,.menu-reveal .newsletter-form .newsletter-legal a{color:#CBCBCB}.menu-reveal .newsletter-form .newsletter-legal a{padding-bottom:2px;border-bottom:1px solid #373737}.menu-reveal .newsletter-form .newsletter-legal input[type=checkbox]{border:1px solid #fefefe;background:none;appereance:none;-webkit-appearance:none;height:.9375rem;width:.9375rem;margin:0 .1875rem -.0625rem 0;display:inline-block}.menu-reveal .newsletter-form .newsletter-legal input[type=checkbox]:checked{background-color:#fefefe}.menu-reveal .newsletter-form .newsletter-submit{color:#fefefe;display:inline-block;text-transform:uppercase;margin-left:.3125rem;font-size:.75rem}@media print, screen and (min-width: 40em){.menu-reveal .newsletter-form .newsletter-submit{font-size:1.125rem}}.search-reveal{background-color:rgba(0,0,0,0.95);color:#fefefe;padding:0}.search-reveal .close-button{color:#fefefe}.search-reveal .grid-reveal-search{height:100%}.search-reveal .grid-reveal-search #search-input{background:transparent;border:none;border-bottom:1px solid #979797;font-size:1.5625rem;color:#fefefe;-webkit-box-shadow:none;box-shadow:none;margin:0;padding:1.5625rem 0}@media print, screen and (min-width: 40em){.search-reveal .grid-reveal-search #search-input{font-size:2.5rem}}.search-reveal .grid-reveal-search #search-input:focus{-webkit-box-shadow:none;box-shadow:none}.search-reveal .grid-reveal-search #search-input::-webkit-input-placeholder{font-size:2.5rem;color:#fefefe}.will-fade-in{-webkit-animation:fadein 1s ease-in-out;animation:fadein 1s ease-in-out}.will-slide-up-fade{opacity:0}.will-slide-up-fade.in{-webkit-animation:slideUpFade 1.5s cubic-bezier(0.57, 0.01, 0.13, 0.98);animation:slideUpFade 1.5s cubic-bezier(0.57, 0.01, 0.13, 0.98);opacity:1}.will-slide-up-fade-container:hover .will-slide-up-fade-hover{-webkit-animation:slideUpFade 1.5s cubic-bezier(0.57, 0.01, 0.13, 0.98);animation:slideUpFade 1.5s cubic-bezier(0.57, 0.01, 0.13, 0.98)}@-webkit-keyframes fadein{from{opacity:0}to{opacity:1}}@keyframes fadein{from{opacity:0}to{opacity:1}}@-webkit-keyframes slideUpFade{0%{-webkit-transform:translateY(110px);transform:translateY(110px);opacity:0}100%{-webkit-transform:translateY(0);transform:translateY(0);opacity:1}}@keyframes slideUpFade{0%{-webkit-transform:translateY(110px);transform:translateY(110px);opacity:0}100%{-webkit-transform:translateY(0);transform:translateY(0);opacity:1}}ul.pager{padding-top:5rem;padding-bottom:5rem;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin:auto;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}ul.pager li{list-style:none;color:#fefefe;padding:.3125rem .5rem;line-height:1}@media print, screen and (min-width: 40em){ul.pager li{padding:.3125rem .8125rem;line-height:40px;text-align:center}}ul.pager li a{color:#6E6E6E}@media print, screen and (min-width: 40em){ul.pager .pager-current{border:1px solid #fefefe;border-radius:50%;width:50px;height:50px}}ul.pager .pager-next a,ul.pager .pager-last a,ul.pager .pager-first a,ul.pager .pager-previous a{color:#fefefe;border:1px solid #fefefe;border-radius:.1875rem;padding:.625rem}ul.pager .pager-ellipsis{display:none}.ll-skin-lugo{font-size:90%}.ll-skin-lugo .ui-widget{font-family:"Helvetica","Trebuchet MS",Tahoma,Verdana,Arial,sans-serif;background:#1c1c1c;border:none;border-radius:0;-webkit-box-shadow:0 0 3px #292c32;box-shadow:0 0 3px #292c32}.ll-skin-lugo .ui-datepicker{padding:0}.ll-skin-lugo .ui-datepicker-header{margin-top:5px;font-size:80%;border:none;border-top:1px solid #000;border-bottom:1px solid #000;background:#333;color:#fff;font-size:14px;font-weight:bold;text-shadow:0 1px 2px rgba(0,0,0,0.7);border-radius:0;-webkit-border-radius:0;-moz-border-radius:0;-webkit-box-shadow:inset 0 0 3px rgba(255,255,255,0.1);box-shadow:inset 0 0 3px rgba(255,255,255,0.1)}.ll-skin-lugo .ui-datepicker-header .ui-state-hover{background:transparent;border-color:transparent;cursor:pointer}.ll-skin-lugo .ui-datepicker .ui-datepicker-next span{background-image:url(../../images/ui-icons_ffffff_256x240.png);background-position:-32px -16px}.ll-skin-lugo .ui-datepicker .ui-datepicker-prev span{background-image:url(../../images/ui-icons_ffffff_256x240.png);background-position:-96px -16px}.ll-skin-lugo .ui-datepicker table{margin:0}.ll-skin-lugo .ui-datepicker th{color:#b7b7b7;font-size:9px;text-transform:uppercase}.ll-skin-lugo .ui-datepicker td{border-top:1px solid #2c2c2c;border-right:1px solid #2c2c2c;padding:0;background:#000}.ll-skin-lugo .ui-datepicker td:last-child{border-right:none}.ll-skin-lugo td .ui-state-default{border:none;text-align:center;padding:.7em 0;margin:0;font-size:12px;font-weight:bold;color:#e7e7e7;text-shadow:0 1px 2px #000;background-color:#373737;-webkit-box-shadow:inset 0 0 3px rgba(255,255,255,0.2);box-shadow:inset 0 0 3px rgba(255,255,255,0.2);background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEwMCAxMDAiIHByZXNlcnZlQXNwZWN0UmF0aW89Im5vbmUiPjxsaW5lYXJHcmFkaWVudCBpZD0iaGF0MCIgZ3JhZGllbnRVbml0cz0ib2JqZWN0Qm91bmRpbmdCb3giIHgxPSI1MCUiIHkxPSIxMDAlIiB4Mj0iNTAlIiB5Mj0iLTEuNDIxMDg1NDcxNTIwMmUtMTQlIj4KPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzM3MzczNyIgc3RvcC1vcGFjaXR5PSIxIi8+CjxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iIzQyNDI0MiIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgIDwvbGluZWFyR3JhZGllbnQ+Cgo8cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMTAwIiBoZWlnaHQ9IjEwMCIgZmlsbD0idXJsKCNoYXQwKSIgLz4KPC9zdmc+);background-image:-webkit-gradient(linear, left bottom, left top, from(#373737), to(#424242));background-image:linear-gradient(bottom, #373737 0%, #424242 100%)}.ll-skin-lugo td.ui-state-disabled .ui-state-default{background:#666;color:#ccc;text-shadow:none}.ll-skin-lugo td .ui-state-hover{background-color:#373737;-webkit-box-shadow:inset 0 0 4px rgba(0,0,0,0.2);box-shadow:inset 0 0 4px rgba(0,0,0,0.2);background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEwMCAxMDAiIHByZXNlcnZlQXNwZWN0UmF0aW89Im5vbmUiPjxsaW5lYXJHcmFkaWVudCBpZD0iaGF0MCIgZ3JhZGllbnRVbml0cz0ib2JqZWN0Qm91bmRpbmdCb3giIHgxPSI1MCUiIHkxPSIxMDAlIiB4Mj0iNTAlIiB5Mj0iLTEuNDIxMDg1NDcxNTIwMmUtMTQlIj4KPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzQyNDI0MiIgc3RvcC1vcGFjaXR5PSIxIi8+CjxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iIzM3MzczNyIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgIDwvbGluZWFyR3JhZGllbnQ+Cgo8cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMTAwIiBoZWlnaHQ9IjEwMCIgZmlsbD0idXJsKCNoYXQwKSIgLz4KPC9zdmc+);background-image:-webkit-gradient(linear, left bottom, left top, from(#424242), to(#373737));background-image:linear-gradient(bottom, #424242 0%, #373737 100%)}.ll-skin-lugo td .ui-state-active{background:#3f6b8a;-webkit-box-shadow:inset 0 0 5px rgba(7,15,21,0.9);box-shadow:inset 0 0 5px rgba(7,15,21,0.9)}.site-cookies{background-color:#000;color:#fefefe;position:fixed;left:0;bottom:0;z-index:999;-webkit-transform:translateY(600px);transform:translateY(600px);width:100%;-webkit-transition:-webkit-transform .8s ease-in-out;transition:-webkit-transform .8s ease-in-out;transition:transform .8s ease-in-out;transition:transform .8s ease-in-out, -webkit-transform .8s ease-in-out}@media print, screen and (min-width: 40em){.site-cookies{left:1.5625rem;width:27.5rem}}.site-cookies.expanded{-webkit-transform:translateY(0);transform:translateY(0)}.site-cookies .wrapper{padding:1.25rem}.site-cookies .text{max-width:80%;line-height:23px}.site-cookies .actions{margin-top:1.25rem;margin-bottom:1.25rem}.site-cookies .close-button{right:0;padding:1.25rem}.site-old-metalocus{color:#fefefe;font-family:Verdana, Geneva, 'DejaVu Sans', Arial, Helvetica, sans-serif}.site-old-metalocus .topbar{background-color:#202020;border-bottom:1px solid #979797}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmNzcyIsInNvdXJjZXMiOlsiYXBwLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3VuZGF0aW9uLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy92ZW5kb3Ivbm9ybWFsaXplLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL19taXNzaW5nLWRlcGVuZGVuY2llcy5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvaGVscGVycy9fdHJ1ZS5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL19jb250YWluLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvX3B1cmdlLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvX3JlbW92ZS5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL19yZXBsYWNlLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvX3RvLWxpc3Quc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX3V0aWwuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX21hdGguc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX3VuaXQuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX3ZhbHVlLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19kaXJlY3Rpb24uc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX2NvbG9yLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19zZWxlY3Rvci5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fZmxleC5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fYnJlYWtwb2ludC5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fbWl4aW5zLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL190eXBvZ3JhcGh5LnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9fZ2xvYmFsLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fZm9ybXMuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL190ZXh0LnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fY2hlY2tib3guc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19sYWJlbC5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2hlbHAtdGV4dC5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2lucHV0LWdyb3VwLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fZmllbGRzZXQuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19zZWxlY3Quc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19yYW5nZS5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX3Byb2dyZXNzLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fbWV0ZXIuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19lcnJvci5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fdHlwb2dyYXBoeS5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fYmFzZS5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9faGVscGVycy5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fYWxpZ25tZW50LnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19wcmludC5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZ3JpZC5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fcm93LnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19jb2x1bW4uc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX3NpemUuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX3Bvc2l0aW9uLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19ndXR0ZXIuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2NsYXNzZXMuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2xheW91dC5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZmxleC1ncmlkLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL194eS1ncmlkLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19ndXR0ZXJzLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19ncmlkLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jZWxsLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19mcmFtZS5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fcG9zaXRpb24uc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2xheW91dC5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY29sbGFwc2Uuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnV0dG9uLWdyb3VwLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19jbG9zZS1idXR0b24uc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2xhYmVsLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19wcm9ncmVzcy1iYXIuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3NsaWRlci5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fc3dpdGNoLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190YWJsZS5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYmFkZ2Uuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2JyZWFkY3J1bWJzLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19jYWxsb3V0LnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19jYXJkLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19kcm9wZG93bi5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fcGFnaW5hdGlvbi5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdG9vbHRpcC5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYWNjb3JkaW9uLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19tZWRpYS1vYmplY3Quc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX29yYml0LnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19yZXNwb25zaXZlLWVtYmVkLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190YWJzLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190aHVtYm5haWwuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX21lbnUuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX21lbnUtaWNvbi5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYWNjb3JkaW9uLW1lbnUuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2RyaWxsZG93bi5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZHJvcGRvd24tbWVudS5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fb2ZmLWNhbnZhcy5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fcmV2ZWFsLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19zdGlja3kuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RpdGxlLWJhci5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdG9wLWJhci5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZmxvYXQuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2ZsZXguc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Zpc2liaWxpdHkuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fcHJvdG90eXBlLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX3JlbGF0aW9uLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX2JveC5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19yb3RhdGUuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fdGV4dC11dGlsaXRpZXMuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fdGV4dC10cmFuc2Zvcm1hdGlvbi5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL190ZXh0LWRlY29yYXRpb24uc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fZm9udC1zdHlsaW5nLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX2xpc3Qtc3R5bGUtdHlwZS5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19yb3VuZGVkLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX2JvcmRlcmVkLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX3NoYWRvdy5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19hcnJvdy5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19zZXBhcmF0b3Iuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fb3ZlcmZsb3cuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fZGlzcGxheS5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19wb3NpdGlvbi5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19ib3JkZXItYm94LnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX2JvcmRlci1ub25lLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX3NpemluZy5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19zcGFjaW5nLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL21vdGlvbi11aS9zcmMvbW90aW9uLXVpLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL21vdGlvbi11aS9zcmMvX3NldHRpbmdzLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL21vdGlvbi11aS9zcmMvdXRpbC9fYW5pbWF0aW9uLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL21vdGlvbi11aS9zcmMvdXRpbC9fYXJncy5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9tb3Rpb24tdWkvc3JjL3V0aWwvX2Z1bmN0aW9uLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL21vdGlvbi11aS9zcmMvdXRpbC9fa2V5ZnJhbWUuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvbW90aW9uLXVpL3NyYy91dGlsL19zZWxlY3Rvci5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9tb3Rpb24tdWkvc3JjL3V0aWwvX3Nlcmllcy5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9tb3Rpb24tdWkvc3JjL3V0aWwvX3RyYW5zaXRpb24uc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvbW90aW9uLXVpL3NyYy91dGlsL191bml0LnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL21vdGlvbi11aS9zcmMvdXRpbC9fc3RyaW5nLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL21vdGlvbi11aS9zcmMvZWZmZWN0cy9fZmFkZS5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9tb3Rpb24tdWkvc3JjL2VmZmVjdHMvX2hpbmdlLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL21vdGlvbi11aS9zcmMvZWZmZWN0cy9fc3Bpbi5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9tb3Rpb24tdWkvc3JjL2VmZmVjdHMvX3pvb20uc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvbW90aW9uLXVpL3NyYy9lZmZlY3RzL19zaGFrZS5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9tb3Rpb24tdWkvc3JjL2VmZmVjdHMvX3NsaWRlLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL21vdGlvbi11aS9zcmMvZWZmZWN0cy9fd2lnZ2xlLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL21vdGlvbi11aS9zcmMvdHJhbnNpdGlvbnMvX2ZhZGUuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvbW90aW9uLXVpL3NyYy90cmFuc2l0aW9ucy9faGluZ2Uuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvbW90aW9uLXVpL3NyYy90cmFuc2l0aW9ucy9fem9vbS5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL19zbGlkZS5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL19zcGluLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL21vdGlvbi11aS9zcmMvX2NsYXNzZXMuc2NzcyIsIl9zZXR0aW5ncy5zY3NzIiwiY29tbW9ucy9fbWl4aW5zLnNjc3MiLCJjb21tb25zL19lbGVtZW50cy5zY3NzIiwiY29tbW9ucy9fY29tbW9ucy5zY3NzIiwibGF5b3V0cy9fbmV3cy5zY3NzIiwic2VjdGlvbnMvX2hlYWRlci5zY3NzIiwic2VjdGlvbnMvX21haW4uc2NzcyIsInNlY3Rpb25zL19zZWN0aW9ucy5zY3NzIiwic2VjdGlvbnMvX2Zvb3Rlci5zY3NzIiwibW9kdWxlcy9fcGFnZXMuc2NzcyIsIm1vZHVsZXMvX3RvcGJhci5zY3NzIiwibW9kdWxlcy9fc2xpZGVycy5zY3NzIiwibW9kdWxlcy9faGVyby5zY3NzIiwibW9kdWxlcy9fYnV0dG9ucy5zY3NzIiwibW9kdWxlcy9fZm9ybXMuc2NzcyIsIm1vZHVsZXMvX3JldmVhbHMuc2NzcyIsIm1vZHVsZXMvX2VmZmVjdHMuc2NzcyIsIm1vZHVsZXMvX3BhZ2VyLnNjc3MiLCJtb2R1bGVzL19kYXRlcGlja2VyX3RoZW1lLnNjc3MiLCJtb2R1bGVzL19jb29raWVzLnNjc3MiLCJtb2R1bGVzL19tZXRhbG9jdXN0aGVtZS5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIkBpbXBvcnQgXCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3VuZGF0aW9uXCI7XG5AaW1wb3J0IFwiLi4vYm93ZXJfY29tcG9uZW50cy9tb3Rpb24tdWkvc3JjL21vdGlvbi11aVwiO1xuXG5AaW1wb3J0IFwic2V0dGluZ3NcIjtcblxuQGluY2x1ZGUgZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzO1xuQGluY2x1ZGUgZm91bmRhdGlvbi14eS1ncmlkLWNsYXNzZXM7XG5cbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1ncmlkO1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtZ3JpZDtcbkBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1jbGFzc2VzO1xuQGluY2x1ZGUgZm91bmRhdGlvbi10eXBvZ3JhcGh5O1xuQGluY2x1ZGUgZm91bmRhdGlvbi1mb3JtcztcbkBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb247XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbi1tZW51O1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLWJhZGdlO1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLWJyZWFkY3J1bWJzO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b24tZ3JvdXA7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWNhbGxvdXQ7XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tY2FyZDtcbkBpbmNsdWRlIGZvdW5kYXRpb24tY2xvc2UtYnV0dG9uO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51O1xuQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51LWljb247XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tZHJpbGxkb3duLW1lbnU7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bi1tZW51O1xuQGluY2x1ZGUgZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1sYWJlbDtcbkBpbmNsdWRlIGZvdW5kYXRpb24tbWVkaWEtb2JqZWN0O1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLW9mZi1jYW52YXM7XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tb3JiaXQ7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXBhZ2luYXRpb247XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tcHJvZ3Jlc3MtYmFyO1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLXNsaWRlcjtcbkBpbmNsdWRlIGZvdW5kYXRpb24tc3RpY2t5O1xuQGluY2x1ZGUgZm91bmRhdGlvbi1yZXZlYWw7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXN3aXRjaDtcbkBpbmNsdWRlIGZvdW5kYXRpb24tdGFibGU7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXRhYnM7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXRodW1ibmFpbDtcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi10aXRsZS1iYXI7XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tdG9vbHRpcDtcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi10b3AtYmFyO1xuQGluY2x1ZGUgZm91bmRhdGlvbi12aXNpYmlsaXR5LWNsYXNzZXM7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWZsb2F0LWNsYXNzZXM7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS1jbGFzc2VzO1xuXG5AaW5jbHVkZSBtb3Rpb24tdWktdHJhbnNpdGlvbnM7XG5AaW5jbHVkZSBtb3Rpb24tdWktYW5pbWF0aW9ucztcblxuQGltcG9ydCBcImNvbW1vbnMvbWl4aW5zXCI7XG5AaW1wb3J0IFwiY29tbW9ucy9lbGVtZW50c1wiO1xuQGltcG9ydCBcImNvbW1vbnMvY29tbW9uc1wiO1xuXG5AaW1wb3J0IFwibGF5b3V0cy9uZXdzXCI7XG5cbkBpbXBvcnQgXCJzZWN0aW9ucy9oZWFkZXJcIjtcbkBpbXBvcnQgXCJzZWN0aW9ucy9tYWluXCI7XG5AaW1wb3J0IFwic2VjdGlvbnMvc2VjdGlvbnNcIjtcbkBpbXBvcnQgXCJzZWN0aW9ucy9mb290ZXJcIjtcblxuQGltcG9ydCBcIm1vZHVsZXMvcGFnZXNcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL3RvcGJhclwiO1xuQGltcG9ydCBcIm1vZHVsZXMvc2xpZGVyc1wiO1xuQGltcG9ydCBcIm1vZHVsZXMvaGVyb1wiO1xuQGltcG9ydCBcIm1vZHVsZXMvYnV0dG9uc1wiO1xuQGltcG9ydCBcIm1vZHVsZXMvZm9ybXNcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL3JldmVhbHNcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL2VmZmVjdHNcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL3BhZ2VyXCI7XG5AaW1wb3J0IFwibW9kdWxlcy9kYXRlcGlja2VyX3RoZW1lXCI7XG5AaW1wb3J0IFwibW9kdWxlcy9jb29raWVzXCI7XG5AaW1wb3J0IFwibW9kdWxlcy9tZXRhbG9jdXN0aGVtZVwiOyIsIi8qKlxuICogRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuICogVmVyc2lvbiA2LjUuMC1yYy4yXG4gKiBmb3VuZGF0aW9uLnp1cmIuY29tXG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcbiAqL1xuXG4vLyBEZXBlbmRlbmNpZXNcbkBpbXBvcnQgJ3ZlbmRvci9ub3JtYWxpemUnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL21pc3NpbmctZGVwZW5kZW5jaWVzJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvaGVscGVycy90cnVlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL2NvbnRhaW4nO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcHVyZ2UnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcmVtb3ZlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3JlcGxhY2UnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvdG8tbGlzdCc7XG5cbi8vIC0tLSBTZXR0aW5ncyAtLS1cbi8vIGltcG9ydCB5b3VyIG93biBgc2V0dGluZ3NgIGhlcmUgb3Jcbi8vIGltcG9ydCBhbmQgbW9kaWZ5IHRoZSBkZWZhdWx0IHNldHRpbmdzIHRocm91Z2hcbi8vIEBpbXBvcnQgJ3NldHRpbmdzL3NldHRpbmdzJztcblxuLy8gLS0tIENvbXBvbmVudHMgLS0tXG4vLyBVdGlsaXRpZXNcbkBpbXBvcnQgJ3V0aWwvdXRpbCc7XG4vLyBHbG9iYWwgc3R5bGVzXG5AaW1wb3J0ICdnbG9iYWwnO1xuQGltcG9ydCAnZm9ybXMvZm9ybXMnO1xuQGltcG9ydCAndHlwb2dyYXBoeS90eXBvZ3JhcGh5JztcblxuLy8gR3JpZHNcbkBpbXBvcnQgJ2dyaWQvZ3JpZCc7XG5AaW1wb3J0ICd4eS1ncmlkL3h5LWdyaWQnO1xuLy8gR2VuZXJpYyBjb21wb25lbnRzXG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbi1ncm91cCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Nsb3NlLWJ1dHRvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2xhYmVsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcHJvZ3Jlc3MtYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc2xpZGVyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc3dpdGNoJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGFibGUnO1xuLy8gQmFzaWMgY29tcG9uZW50c1xuQGltcG9ydCAnY29tcG9uZW50cy9iYWRnZSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2JyZWFkY3J1bWJzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2FsbG91dCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2NhcmQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcm9wZG93bic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3BhZ2luYXRpb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy90b29sdGlwJztcblxuLy8gQ29udGFpbmVyc1xuQGltcG9ydCAnY29tcG9uZW50cy9hY2NvcmRpb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9tZWRpYS1vYmplY3QnO1xuQGltcG9ydCAnY29tcG9uZW50cy9vcmJpdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Jlc3BvbnNpdmUtZW1iZWQnO1xuQGltcG9ydCAnY29tcG9uZW50cy90YWJzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGh1bWJuYWlsJztcbi8vIE1lbnUtYmFzZWQgY29udGFpbmVyc1xuQGltcG9ydCAnY29tcG9uZW50cy9tZW51JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVudS1pY29uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYWNjb3JkaW9uLW1lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcmlsbGRvd24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcm9wZG93bi1tZW51JztcblxuLy8gTGF5b3V0IGNvbXBvbmVudHNcbkBpbXBvcnQgJ2NvbXBvbmVudHMvb2ZmLWNhbnZhcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3JldmVhbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3N0aWNreSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RpdGxlLWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RvcC1iYXInO1xuXG4vLyBIZWxwZXJzXG5AaW1wb3J0ICdjb21wb25lbnRzL2Zsb2F0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmxleCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Zpc2liaWxpdHknO1xuQGltcG9ydCAncHJvdG90eXBlL3Byb3RvdHlwZSc7XG5cblxuQG1peGluIGZvdW5kYXRpb24tZXZlcnl0aGluZyhcbiAgJGZsZXg6IHRydWUsXG4gICRwcm90b3R5cGU6IGZhbHNlXG4pIHtcbiAgQGlmICRmbGV4IHtcbiAgICAkZ2xvYmFsLWZsZXhib3g6IHRydWUgIWdsb2JhbDtcbiAgfVxuXG4gIC8vIEdsb2JhbCBzdHlsZXNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZvcm1zO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXR5cG9ncmFwaHk7XG5cbiAgLy8gR3JpZHNcbiAgQGlmIG5vdCAkZmxleCB7XG4gICAgQGluY2x1ZGUgZm91bmRhdGlvbi1ncmlkO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaWYgJHh5LWdyaWQge1xuICAgICAgQGluY2x1ZGUgZm91bmRhdGlvbi14eS1ncmlkLWNsYXNzZXM7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1ncmlkO1xuICAgIH1cbiAgfVxuXG4gIC8vIEdlbmVyaWMgY29tcG9uZW50c1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b24tZ3JvdXA7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2xvc2UtYnV0dG9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWxhYmVsO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb2dyZXNzLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zbGlkZXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc3dpdGNoO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRhYmxlO1xuICAvLyBCYXNpYyBjb21wb25lbnRzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYmFkZ2U7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnJlYWRjcnVtYnM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2FsbG91dDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jYXJkO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXBhZ2luYXRpb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdG9vbHRpcDtcblxuICAvLyBDb250YWluZXJzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lZGlhLW9iamVjdDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1vcmJpdDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRhYnM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGh1bWJuYWlsO1xuICAvLyBNZW51LWJhc2VkIGNvbnRhaW5lcnNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnUtaWNvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcmlsbGRvd24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bi1tZW51O1xuXG4gIC8vIExheW91dCBjb21wb25lbnRzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tb2ZmLWNhbnZhcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1yZXZlYWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc3RpY2t5O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRpdGxlLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10b3AtYmFyO1xuXG4gIC8vIEhlbHBlcnNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbG9hdC1jbGFzc2VzO1xuICBAaWYgJGZsZXggeyBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtY2xhc3NlczsgfVxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXZpc2liaWxpdHktY2xhc3NlcztcbiAgQGlmICRwcm90b3R5cGUgeyBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS1jbGFzc2VzOyB9XG59XG4iLCJAbWl4aW4gZm91bmRhdGlvbi1ub3JtYWxpemUoKSB7XG4gIC8qISBub3JtYWxpemUuY3NzIHY4LjAuMCB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cblxuICAvLyBEb2N1bWVudFxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIDEuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAgLy8gMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuXG5cbiAgaHRtbCB7XG4gICAgbGluZS1oZWlnaHQ6IDEuMTU7IC8vIDFcbiAgICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8vIDJcbiAgfVxuXG4gIC8vIFNlY3Rpb25zXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxuXG4gIGJvZHkge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIC8vIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAgLy8gYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cblxuICBoMSB7XG4gICAgZm9udC1zaXplOiAyZW07XG4gICAgbWFyZ2luOiAwLjY3ZW0gMDtcbiAgfVxuXG4gIC8vIEdyb3VwaW5nIGNvbnRlbnRcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICAvLyAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cblxuICBociB7XG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8vIDFcbiAgICBoZWlnaHQ6IDA7IC8vIDFcbiAgICBvdmVyZmxvdzogdmlzaWJsZTsgLy8gMlxuICB9XG5cbiAgLy8gMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgLy8gMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuXG4gIHByZSB7XG4gICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvLyAxXG4gICAgZm9udC1zaXplOiAxZW07IC8vIDJcbiAgfVxuXG4gIC8vIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuXG4gIGEge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgLy8gMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIENocm9tZSA1Ny1cbiAgLy8gMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cblxuICBhYmJyW3RpdGxlXSB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLy8gMVxuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyAvLyAyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvLyAyXG4gIH1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuXG4gIGIsXG4gIHN0cm9uZyB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbiAgfVxuXG4gIC8vIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gIC8vIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cblxuICBjb2RlLFxuICBrYmQsXG4gIHNhbXAge1xuICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLy8gMVxuICAgIGZvbnQtc2l6ZTogMWVtOyAvLyAyXG4gIH1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cblxuICBzbWFsbCB7XG4gICAgZm9udC1zaXplOiA4MCU7XG4gIH1cblxuICAvLyBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAgLy8gYWxsIGJyb3dzZXJzLlxuXG4gIHN1YixcbiAgc3VwIHtcbiAgICBmb250LXNpemU6IDc1JTtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICB9XG5cbiAgc3ViIHtcbiAgICBib3R0b206IC0wLjI1ZW07XG4gIH1cblxuICBzdXAge1xuICAgIHRvcDogLTAuNWVtO1xuICB9XG5cbiAgLy8gRW1iZWRkZWQgY29udGVudFxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAuXG5cbiAgaW1nIHtcbiAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIH1cblxuICAvLyBGb3Jtc1xuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzLlxuICAvLyAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG5cbiAgYnV0dG9uLFxuICBpbnB1dCxcbiAgb3B0Z3JvdXAsXG4gIHNlbGVjdCxcbiAgdGV4dGFyZWEge1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0OyAvLyAxXG4gICAgZm9udC1zaXplOiAxMDAlOyAvLyAxXG4gICAgbGluZS1oZWlnaHQ6IDEuMTU7IC8vIDFcbiAgICBtYXJnaW46IDA7IC8vIDJcbiAgfVxuXG4gIC8vIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICAvLyAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuXG4gIGJ1dHRvbixcbiAgaW5wdXQgeyAvLyAxXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAgLy8gMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuXG4gIGJ1dHRvbixcbiAgc2VsZWN0IHsgLy8gMVxuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICB9XG5cbiAgLy8gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cblxuICBidXR0b24sXG4gIFt0eXBlPVwiYnV0dG9uXCJdLFxuICBbdHlwZT1cInJlc2V0XCJdLFxuICBbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuXG4gIGJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbiAgW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG4gIFt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG4gIFt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC8vIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cblxuICBidXR0b246LW1vei1mb2N1c3JpbmcsXG4gIFt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuICBbdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuICBbdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gICAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xuICB9XG5cbiAgLy8gQ29ycmVjdCB0aGUgcGFkZGluZyBpbiBGaXJlZm94LlxuXG4gIGZpZWxkc2V0IHtcbiAgICBwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07XG4gIH1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICAvLyAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gIC8vIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAgLy8gICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG5cbiAgbGVnZW5kIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvLyAxXG4gICAgY29sb3I6IGluaGVyaXQ7IC8vIDJcbiAgICBkaXNwbGF5OiB0YWJsZTsgLy8gMVxuICAgIG1heC13aWR0aDogMTAwJTsgLy8gMVxuICAgIHBhZGRpbmc6IDA7IC8vIDNcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvLyAxXG4gIH1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuXG4gIHByb2dyZXNzIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDEwKy5cblxuICB0ZXh0YXJlYSB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gIH1cblxuICAvLyAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC5cbiAgLy8gMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLlxuXG4gIFt0eXBlPVwiY2hlY2tib3hcIl0sXG4gIFt0eXBlPVwicmFkaW9cIl0ge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8vIDFcbiAgICBwYWRkaW5nOiAwOyAvLyAyXG4gIH1cblxuICAvLyBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG5cbiAgW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG4gIFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAgLy8gMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG5cbiAgW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvLyAxXG4gICAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8vIDJcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cblxuICBbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB9XG5cbiAgLy8gMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAgLy8gMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuXG4gIDo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvLyAxXG4gICAgZm9udDogaW5oZXJpdDsgLy8gMlxuICB9XG5cbiAgLy8gSW50ZXJhY3RpdmVcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSAxMCssIGFuZCBGaXJlZm94LlxuXG4gIGRldGFpbHMge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuXG4gIHN1bW1hcnkge1xuICAgIGRpc3BsYXk6IGxpc3QtaXRlbTtcbiAgfVxuXG4gIC8vIE1pc2NcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMCsuXG5cbiAgdGVtcGxhdGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC5cblxuICBbaGlkZGVuXSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuIiwiLy8vXG4vLy8gQ2hlY2tzIHdoZXRoZXIgYCRmdW5jdGlvbnNgIGV4aXN0IGluIGdsb2JhbCBzY29wZS5cbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtBcmdMaXN0fSAkZnVuY3Rpb25zIC0gbGlzdCBvZiBmdW5jdGlvbnMgdG8gY2hlY2sgZm9yXG4vLy9cbi8vLyBAcmV0dXJuIHtCb29sfSBXaGV0aGVyIG9yIG5vdCB0aGVyZSBhcmUgbWlzc2luZyBkZXBlbmRlbmNpZXNcbi8vL1xuIFxuQGZ1bmN0aW9uIHNsLW1pc3NpbmctZGVwZW5kZW5jaWVzKCRmdW5jdGlvbnMuLi4pIHtcbiAgJG1pc3NpbmctZGVwZW5kZW5jaWVzOiAoKTtcbiAgXG4gIEBlYWNoICRmdW5jdGlvbiBpbiAkZnVuY3Rpb25zIHtcbiAgICBAaWYgbm90IGZ1bmN0aW9uLWV4aXN0cygkZnVuY3Rpb24pIHtcbiAgICAgICRtaXNzaW5nLWRlcGVuZGVuY2llczogYXBwZW5kKCRtaXNzaW5nLWRlcGVuZGVuY2llcywgJGZ1bmN0aW9uLCBjb21tYSk7XG4gICAgfVxuICB9XG4gIFxuICBAaWYgbGVuZ3RoKCRtaXNzaW5nLWRlcGVuZGVuY2llcykgPiAwIHtcbiAgICBAZXJyb3IgJ1VubWV0IGRlcGVuZGVuY2llcyEgVGhlIGZvbGxvd2luZyBmdW5jdGlvbnMgYXJlIHJlcXVpcmVkOiAjeyRtaXNzaW5nLWRlcGVuZGVuY2llc30uJztcbiAgfVxuXG4gIEByZXR1cm4gbGVuZ3RoKCRtaXNzaW5nLWRlcGVuZGVuY2llcykgPiAwO1xufVxuIiwiLy8vXG4vLy8gUmV0dXJucyB0cnV0aGluZXNzIG9mIGAkdmFsdWVgLlxuLy8vXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0geyp9ICR2YWx1ZSAtIHZhbHVlIHRvIGNoZWNrXG4vLy9cbi8vLyBAcmV0dXJuIHtCb29sfVxuLy8vXG4gXG5AZnVuY3Rpb24gc2wtaXMtdHJ1ZSgkdmFsdWUpIHtcbiAgQHJldHVybiBpZigkdmFsdWUgPT0gbnVsbCwgZmFsc2UsICR2YWx1ZSBhbmQgJHZhbHVlICE9IG51bGwgYW5kICR2YWx1ZSAhPSAnJyBhbmQgJHZhbHVlICE9ICgpKTtcbn1cbiIsIi8vL1xuLy8vIFJldHVybnMgd2hldGhlciBgJGxpc3RgIGNvbnRhaW5zIGAkdmFsdWVgLlxuLy8vXG4vLy8gQGlnbm9yZSBEb2N1bWVudGF0aW9uOiBodHRwOi8vYXQtaW1wb3J0LmdpdGh1Yi5pby9TYXNzeUxpc3RzL2RvY3VtZW50YXRpb24vI2Z1bmN0aW9uLXNsLWNvbnRhaW5cbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gICAgJGxpc3QgIC0gbGlzdCB0byBjaGVja1xuLy8vIEBwYXJhbSB7Kn0gICAgICAgJHZhbHVlIC0gdmFsdWUgdG8gbG9vayBmb3Jcbi8vL1xuLy8vIEBleGFtcGxlXG4vLy8gc2wtY29udGFpbihhIGIgYywgYSlcbi8vLyAvLyB0cnVlXG4vLy9cbi8vLyBAZXhhbXBsZVxuLy8vIHNsLWNvbnRhaW4oYSBiIGMsIHopXG4vLy8gLy8gZmFsc2Vcbi8vL1xuLy8vIEByZXR1cm4ge0Jvb2x9XG4vLy9cblxuQGZ1bmN0aW9uIHNsLWNvbnRhaW4oJGxpc3QsICR2YWx1ZSkge1xuICBAcmV0dXJuIG5vdCBub3QgaW5kZXgoJGxpc3QsICR2YWx1ZSk7XG59XG5cbi8vL1xuLy8vIEByZXF1aXJlcyBzbC1jb250YWluXG4vLy8gQGFsaWFzIHNsLWNvbnRhaW5cbi8vL1xuIFxuQGZ1bmN0aW9uIHNsLWluY2x1ZGUoJGxpc3QsICR2YWx1ZSkge1xuICBAcmV0dXJuIHNsLWNvbnRhaW4oJGxpc3QsICR2YWx1ZSk7XG59XG4iLCIvLy8gUmVtb3ZlcyBhbGwgZmFsc2UgYW5kIG51bGwgdmFsdWVzIGZyb20gYCRsaXN0YC5cbi8vL1xuLy8vIEBpZ25vcmUgRG9jdW1lbnRhdGlvbjogaHR0cDovL2F0LWltcG9ydC5naXRodWIuaW8vU2Fzc3lMaXN0cy9kb2N1bWVudGF0aW9uLyNmdW5jdGlvbi1zbC1wdXJnZVxuLy8vXG4vLy8gQHJlcXVpcmVzIHNsLWlzLXRydWVcbi8vLyBAcmVxdWlyZXMgc2wtdG8tbGlzdFxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkbGlzdCAtIGxpc3QgdG8gcHVyZ2Vcbi8vL1xuLy8vIEBleGFtcGxlXG4vLy8gc2wtcHVyZ2UobnVsbCBhIGZhbHNlIGIpXG4vLy8gLy8gYSBiXG4vLy9cbi8vLyBAcmV0dXJuIHtMaXN0fVxuLy8vXG5cbkBmdW5jdGlvbiBzbC1wdXJnZSgkbGlzdCkge1xuICAkXzogc2wtbWlzc2luZy1kZXBlbmRlbmNpZXMoJ3NsLWlzLXRydWUnLCAnc2wtdG8tbGlzdCcpO1xuICBcbiAgJHJlc3VsdDogKCk7XG5cbiAgQGVhY2ggJGl0ZW0gaW4gJGxpc3Qge1xuICAgIEBpZiBzbC1pcy10cnVlKCRpdGVtKSB7XG4gICAgICAkcmVzdWx0OiBhcHBlbmQoJHJlc3VsdCwgJGl0ZW0sIGxpc3Qtc2VwYXJhdG9yKCRsaXN0KSk7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiBzbC10by1saXN0KCRyZXN1bHQpO1xufVxuXG4vLy9cbi8vLyBAcmVxdWlyZXMgc2wtcHVyZ2Vcbi8vLyBAYWxpYXMgc2wtcHVyZ2Vcbi8vL1xuIFxuQGZ1bmN0aW9uIHNsLWNsZWFuKCRsaXN0KSB7XG4gIEByZXR1cm4gc2wtcHVyZ2UoJGxpc3QpO1xufVxuIiwiLy8vXG4vLy8gUmVtb3ZlcyB2YWx1ZShzKSBgJHZhbHVlYCBmcm9tIGAkbGlzdGAuXG4vLy9cbi8vLyBAaWdub3JlIERvY3VtZW50YXRpb246IGh0dHA6Ly9hdC1pbXBvcnQuZ2l0aHViLmlvL1Nhc3N5TGlzdHMvZG9jdW1lbnRhdGlvbi8jZnVuY3Rpb24tc2wtcmVtb3ZlXG4vLy9cbi8vLyBAcmVxdWlyZXMgc2wtcmVwbGFjZVxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAgICAkbGlzdCAgICAgIC0gbGlzdCB0byB1cGRhdGVcbi8vLyBAcGFyYW0geyp9ICAgICAgICR2YWx1ZSAgICAgLSB2YWx1ZSB0byByZW1vdmVcbi8vL1xuLy8vIEBleGFtcGxlXG4vLy8gc2wtcmVtb3ZlKGEgYiBjLCBhKVxuLy8vIC8vIGIgY1xuLy8vXG4vLy8gQHJldHVybiB7TGlzdH1cbi8vL1xuXG5AZnVuY3Rpb24gc2wtcmVtb3ZlKCRsaXN0LCAkdmFsdWUpIHtcbiAgJF86IHNsLW1pc3NpbmctZGVwZW5kZW5jaWVzKCdzbC1yZXBsYWNlJyk7XG5cbiAgQHJldHVybiBzbC1yZXBsYWNlKCRsaXN0LCAkdmFsdWUsIG51bGwpO1xufVxuXG4vLy9cbi8vLyBAcmVxdWlyZXMgc2wtcmVtb3ZlXG4vLy8gQGFsaWFzIHNsLXJlbW92ZVxuLy8vXG5cbkBmdW5jdGlvbiBzbC13aXRob3V0KCRsaXN0LCAkdmFsdWUpIHtcbiAgQHJldHVybiBzbC1yZW1vdmUoJGxpc3QsICR2YWx1ZSk7XG59XG4iLCIvLy9cbi8vLyBSZXBsYWNlcyBgJG9sZGAgYnkgYCRuZXdgIGluIGAkbGlzdGAuXG4vLy9cbi8vLyBAaWdub3JlIERvY3VtZW50YXRpb246IGh0dHA6Ly9hdC1pbXBvcnQuZ2l0aHViLmlvL1Nhc3N5TGlzdHMvZG9jdW1lbnRhdGlvbi8jZnVuY3Rpb24tc2wtcmVwbGFjZVxuLy8vXG4vLy8gQHJlcXVpcmVzIHNsLWlzLXRydWVcbi8vLyBAcmVxdWlyZXMgc2wtcHVyZ2Vcbi8vLyBAcmVxdWlyZXMgc2wtdG8tbGlzdFxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAgICAkbGlzdCAgLSBsaXN0IHRvIHVwZGF0ZVxuLy8vIEBwYXJhbSB7Kn0gICAgICAgJG9sZCAgIC0gdmFsdWUgdG8gcmVwbGFjZVxuLy8vIEBwYXJhbSB7Kn0gICAgICAgJHZhbHVlIC0gbmV3IHZhbHVlIGZvciAkb2xkXG4vLy9cbi8vLyBAZXhhbXBsZVxuLy8vIHNsLXJlcGxhY2UoYSBiIGMsIGIsIHopXG4vLy8gLy8gYSB6IGNcbi8vL1xuLy8vIEBleGFtcGxlXG4vLy8gc2wtcmVwbGFjZShhIGIgYywgeSwgeilcbi8vLyAvLyBhIGIgY1xuLy8vIFxuLy8vIEByZXR1cm4ge0xpc3R9XG4vLy9cbiBcbkBmdW5jdGlvbiBzbC1yZXBsYWNlKCRsaXN0LCAkb2xkLCAkdmFsdWUpIHtcbiAgJF86IHNsLW1pc3NpbmctZGVwZW5kZW5jaWVzKCdzbC1pcy10cnVlJywgJ3NsLXB1cmdlJywgJ3NsLXRvLWxpc3QnKTtcblxuICAkcnVubmluZzogdHJ1ZTtcblxuICBAd2hpbGUgJHJ1bm5pbmcge1xuICAgICRpbmRleDogaW5kZXgoJGxpc3QsICRvbGQpO1xuXG4gICAgQGlmIG5vdCAkaW5kZXgge1xuICAgICAgJHJ1bm5pbmc6IGZhbHNlO1xuICAgIH1cblxuICAgIEBlbHNlIHtcbiAgICAgICRsaXN0OiBzZXQtbnRoKCRsaXN0LCAkaW5kZXgsICR2YWx1ZSk7XG4gICAgfVxuXG4gIH1cblxuICAkbGlzdDogaWYoc2wtaXMtdHJ1ZSgkdmFsdWUpLCAkbGlzdCwgc2wtcHVyZ2UoJGxpc3QpKTtcbiAgXG4gIEByZXR1cm4gc2wtdG8tbGlzdCgkbGlzdCk7XG59XG4iLCIvLy9cbi8vLyBDYXN0cyBgJHZhbHVlYCBpbnRvIGEgbGlzdC5cbi8vL1xuLy8vIEBpZ25vcmUgRG9jdW1lbnRhdGlvbjogaHR0cDovL2F0LWltcG9ydC5naXRodWIuaW8vU2Fzc3lMaXN0cy9kb2N1bWVudGF0aW9uLyNmdW5jdGlvbi1zbC10by1saXN0XG4vLy9cbi8vLyBAcGFyYW0geyp9ICR2YWx1ZSAtIHZhbHVlIHRvIGNhc3QgdG8gbGlzdFxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VwYXJhdG9yIFtzcGFjZV0gLSBzZXBhcmF0b3IgdG8gdXNlXG4vLy9cbi8vLyBAZXhhbXBsZVxuLy8vIHNsLXRvLWxpc3QoYSBiIGMsIGNvbW1hKVxuLy8vIC8vIGEsIGIsIGNcbi8vLyBcbi8vLyBAcmV0dXJuIHtMaXN0fVxuLy8vXG5cbkBmdW5jdGlvbiBzbC10by1saXN0KCR2YWx1ZSwgJHNlcGFyYXRvcjogbGlzdC1zZXBhcmF0b3IoJHZhbHVlKSkge1xuICBAcmV0dXJuIGpvaW4oKCksICR2YWx1ZSwgJHNlcGFyYXRvcik7XG59XG5cbi8vL1xuLy8vIEByZXF1aXJlcyBzbC10by1saXN0XG4vLy8gQGFsaWFzIHNsLXRvLWxpc3Rcbi8vL1xuXG5AZnVuY3Rpb24gc2wtbGlzdGlmeSgkdmFsdWUpIHtcbiAgQHJldHVybiBzbC10by1saXN0KCR2YWx1ZSk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnbWF0aCc7XG5AaW1wb3J0ICd1bml0JztcbkBpbXBvcnQgJ3ZhbHVlJztcbkBpbXBvcnQgJ2RpcmVjdGlvbic7XG5AaW1wb3J0ICdjb2xvcic7XG5AaW1wb3J0ICdzZWxlY3Rvcic7XG5AaW1wb3J0ICdmbGV4JztcbkBpbXBvcnQgJ2JyZWFrcG9pbnQnO1xuQGltcG9ydCAnbWl4aW5zJztcbkBpbXBvcnQgJ3R5cG9ncmFwaHknO1xuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBGaW5kcyB0aGUgZ3JlYXRlc3QgY29tbW9uIGRpdmlzb3Igb2YgdHdvIGludGVnZXJzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRhIC0gRmlyc3QgbnVtYmVyIHRvIGNvbXBhcmUuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiIC0gU2Vjb25kIG51bWJlciB0byBjb21wYXJlLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIGdyZWF0ZXN0IGNvbW1vbiBkaXZpc29yLlxuQGZ1bmN0aW9uIGdjZCgkYSwgJGIpIHtcbiAgLy8gRnJvbTogaHR0cDovL3Jvc2V0dGFjb2RlLm9yZy93aWtpL0dyZWF0ZXN0X2NvbW1vbl9kaXZpc29yI0phdmFTY3JpcHRcbiAgQGlmICgkYiAhPSAwKSB7XG4gICAgQHJldHVybiBnY2QoJGIsICRhICUgJGIpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIGFicygkYSk7XG4gIH1cbn1cblxuLy8vIEhhbmRsZXMgZGVjaW1hbCBleHBvbmVudHMgYnkgdHJ5aW5nIHRvIGNvbnZlcnQgdGhlbSBpbnRvIGEgZnJhY3Rpb24gYW5kIHRoZW4gdXNlIGEgbnRoLXJvb3QtYWxnb3JpdGhtIGZvciBwYXJ0cyBvZiB0aGUgY2FsY3VsYXRpb25cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSAtIFRoZSBiYXNlIG51bWJlci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGV4cG9uZW50IC0gVGhlIGV4cG9uZW50LlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIHByb2R1Y3Qgb2YgdGhlIGV4cG9uZW50aWF0aW9uLlxuQGZ1bmN0aW9uIHBvdygkYmFzZSwgJGV4cG9uZW50LCAkcHJlYzogMTYpIHtcbiAgQGlmIChmbG9vcigkZXhwb25lbnQpICE9ICRleHBvbmVudCkge1xuICAgICRwcmVjMiA6IHBvdygxMCwgJHByZWMpO1xuICAgICRleHBvbmVudDogcm91bmQoJGV4cG9uZW50ICogJHByZWMyKTtcbiAgICAkZGVub21pbmF0b3I6IGdjZCgkZXhwb25lbnQsICRwcmVjMik7XG4gICAgQHJldHVybiBudGgtcm9vdChwb3coJGJhc2UsICRleHBvbmVudCAvICRkZW5vbWluYXRvciksICRwcmVjMiAvICRkZW5vbWluYXRvciwgJHByZWMpO1xuICB9XG5cbiAgJHZhbHVlOiAkYmFzZTtcbiAgQGlmICRleHBvbmVudCA+IDEge1xuICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGV4cG9uZW50IHtcbiAgICAgICR2YWx1ZTogJHZhbHVlICogJGJhc2U7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRleHBvbmVudCA8IDEge1xuICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggLSRleHBvbmVudCB7XG4gICAgICAkdmFsdWU6ICR2YWx1ZSAvICRiYXNlO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuXG5AZnVuY3Rpb24gbnRoLXJvb3QoJG51bSwgJG46IDIsICRwcmVjOiAxMikge1xuICAvLyBGcm9tOiBodHRwOi8vcm9zZXR0YWNvZGUub3JnL3dpa2kvTnRoX3Jvb3QjSmF2YVNjcmlwdFxuICAkeDogMTtcblxuICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICRwcmVjIHtcbiAgICAkeDogMSAvICRuICogKCgkbiAtIDEpICogJHggKyAoJG51bSAvIHBvdygkeCwgJG4gLSAxKSkpO1xuICB9XG5cbiAgQHJldHVybiAkeDtcbn1cblxuLy8vIENhbGN1bGF0ZXMgdGhlIGhlaWdodCBhcyBhIHBlcmNlbnRhZ2Ugb2YgdGhlIHdpZHRoIGZvciBhIGdpdmVuIHJhdGlvLlxuLy8vIEBwYXJhbSB7TGlzdH0gJHJhdGlvIC0gUmF0aW8gdG8gdXNlIHRvIGNhbGN1bGF0ZSB0aGUgaGVpZ2h0LCBmb3JtYXR0ZWQgYXMgYHggYnkgeWAuXG4vLy8gQHJldHVybiB7TnVtYmVyfSBBIHBlcmNlbnRhZ2UgdmFsdWUgZm9yIHRoZSBoZWlnaHQgcmVsYXRpdmUgdG8gdGhlIHdpZHRoIG9mIGEgcmVzcG9uc2l2ZSBjb250YWluZXIuXG5AZnVuY3Rpb24gcmF0aW8tdG8tcGVyY2VudGFnZSgkcmF0aW8pIHtcbiAgJHc6IG50aCgkcmF0aW8sIDEpO1xuICAkaDogbnRoKCRyYXRpbywgMyk7XG4gIEByZXR1cm4gJGggLyAkdyAqIDEwMCU7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuJGdsb2JhbC1mb250LXNpemU6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vLyBSZW1vdmVzIHRoZSB1bml0IChlLmcuIHB4LCBlbSwgcmVtKSBmcm9tIGEgdmFsdWUsIHJldHVybmluZyB0aGUgbnVtYmVyIG9ubHkuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG51bSAtIE51bWJlciB0byBzdHJpcCB1bml0IGZyb20uXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgc2FtZSBudW1iZXIsIHNhbnMgdW5pdC5cbkBmdW5jdGlvbiBzdHJpcC11bml0KCRudW0pIHtcbiAgQHJldHVybiAkbnVtIC8gKCRudW0gKiAwICsgMSk7XG59XG5cbi8vLyBDb252ZXJ0cyBvbmUgb3IgbW9yZSBwaXhlbCB2YWx1ZXMgaW50byBtYXRjaGluZyByZW0gdmFsdWVzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJHZhbHVlcyAtIE9uZSBvciBtb3JlIHZhbHVlcyB0byBjb252ZXJ0LiBCZSBzdXJlIHRvIHNlcGFyYXRlIHRoZW0gd2l0aCBzcGFjZXMgYW5kIG5vdCBjb21tYXMuIElmIHlvdSBuZWVkIHRvIGNvbnZlcnQgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCwgd3JhcCB0aGUgbGlzdCBpbiBwYXJlbnRoZXNlcy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgW251bGxdIC0gVGhlIGJhc2UgdmFsdWUgdG8gdXNlIHdoZW4gY2FsY3VsYXRpbmcgdGhlIGByZW1gLiBJZiB5b3UncmUgdXNpbmcgRm91bmRhdGlvbiBvdXQgb2YgdGhlIGJveCwgdGhpcyBpcyAxNnB4LiBJZiB0aGlzIHBhcmFtZXRlciBpcyBgbnVsbGAsIHRoZSBmdW5jdGlvbiB3aWxsIHJlZmVyZW5jZSB0aGUgYCRnbG9iYWwtZm9udC1zaXplYCB2YXJpYWJsZSBhcyB0aGUgYmFzZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtMaXN0fSBBIGxpc3Qgb2YgY29udmVydGVkIHZhbHVlcy5cbkBmdW5jdGlvbiByZW0tY2FsYygkdmFsdWVzLCAkYmFzZTogbnVsbCkge1xuICAkcmVtLXZhbHVlczogKCk7XG4gICRjb3VudDogbGVuZ3RoKCR2YWx1ZXMpO1xuXG4gIC8vIElmIG5vIGJhc2UgaXMgZGVmaW5lZCwgZGVmZXIgdG8gdGhlIGdsb2JhbCBmb250IHNpemVcbiAgQGlmICRiYXNlID09IG51bGwge1xuICAgICRiYXNlOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIElmIHRoZSBiYXNlIGZvbnQgc2l6ZSBpcyBhICUsIHRoZW4gbXVsdGlwbHkgaXQgYnkgMTZweFxuICAvLyBUaGlzIGlzIGJlY2F1c2UgMTAwJSBmb250IHNpemUgPSAxNnB4IGluIG1vc3QgYWxsIGJyb3dzZXJzXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnJScge1xuICAgICRiYXNlOiAoJGJhc2UgLyAxMDAlKSAqIDE2cHg7XG4gIH1cblxuICAvLyBVc2luZyByZW0gYXMgYmFzZSBhbGxvd3MgY29ycmVjdCBzY2FsaW5nXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAncmVtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIEBpZiAkY291bnQgPT0gMSB7XG4gICAgQHJldHVybiAtemYtdG8tcmVtKCR2YWx1ZXMsICRiYXNlKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvdW50IHtcbiAgICAkcmVtLXZhbHVlczogYXBwZW5kKCRyZW0tdmFsdWVzLCAtemYtdG8tcmVtKG50aCgkdmFsdWVzLCAkaSksICRiYXNlKSk7XG4gIH1cblxuICBAcmV0dXJuICRyZW0tdmFsdWVzO1xufVxuXG4vLyBDb252ZXJ0cyBhIHVuaXRsZXNzLCBwaXhlbCwgb3IgcmVtIHZhbHVlIHRvIGVtLCBmb3IgdXNlIGluIGJyZWFrcG9pbnRzLlxuQGZ1bmN0aW9uIC16Zi1icC10by1lbSgkdmFsdWUpIHtcbiAgLy8gUGl4ZWwgYW5kIHVuaXRsZXNzIHZhbHVlcyBhcmUgY29udmVydGVkIHRvIHJlbXNcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncHgnIG9yIHVuaXRsZXNzKCR2YWx1ZSkge1xuICAgICR2YWx1ZTogcmVtLWNhbGMoJHZhbHVlLCAkYmFzZTogMTZweCk7XG4gIH1cblxuICAvLyBUaGVuIHRoZSB2YWx1ZSBpcyBjb252ZXJ0ZWQgdG8gZW1zXG4gIEByZXR1cm4gc3RyaXAtdW5pdCgkdmFsdWUpICogMWVtO1xufVxuXG4vLy8gQ29udmVydHMgYSBwaXhlbCB2YWx1ZSB0byBtYXRjaGluZyByZW0gdmFsdWUuICpBbnkqIHZhbHVlIHBhc3NlZCwgcmVnYXJkbGVzcyBvZiB1bml0LCBpcyBhc3N1bWVkIHRvIGJlIGEgcGl4ZWwgdmFsdWUuIEJ5IGRlZmF1bHQsIHRoZSBiYXNlIHBpeGVsIHZhbHVlIHVzZWQgdG8gY2FsY3VsYXRlIHRoZSByZW0gdmFsdWUgaXMgdGFrZW4gZnJvbSB0aGUgYCRnbG9iYWwtZm9udC1zaXplYCB2YXJpYWJsZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBQaXhlbCB2YWx1ZSB0byBjb252ZXJ0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSBbbnVsbF0gLSBCYXNlIGZvciBwaXhlbCBjb252ZXJzaW9uLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gQSBudW1iZXIgaW4gcmVtcywgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgZ2l2ZW4gdmFsdWUgYW5kIHRoZSBiYXNlIHBpeGVsIHZhbHVlLiByZW0gdmFsdWVzIGFyZSBwYXNzZWQgdGhyb3VnaCBhcyBpcy5cbkBmdW5jdGlvbiAtemYtdG8tcmVtKCR2YWx1ZSwgJGJhc2U6IG51bGwpIHtcbiAgLy8gQ2hlY2sgaWYgdGhlIHZhbHVlIGlzIGEgbnVtYmVyXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgIT0gJ251bWJlcicge1xuICAgIEB3YXJuIGluc3BlY3QoJHZhbHVlKSArICcgd2FzIHBhc3NlZCB0byByZW0tY2FsYygpLCB3aGljaCBpcyBub3QgYSBudW1iZXIuJztcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxuXG4gIC8vIFRyYW5zZm9ybSBlbSBpbnRvIHJlbSBpZiBzb21lb25lIGhhbmRzIG92ZXIgJ2VtJ3NcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqIDFyZW07XG4gIH1cblxuICAvLyBDYWxjdWxhdGUgcmVtIGlmIHVuaXRzIGZvciAkdmFsdWUgaXMgbm90IHJlbSBvciBlbVxuICBAaWYgdW5pdCgkdmFsdWUpICE9ICdyZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAvIHN0cmlwLXVuaXQoJGJhc2UpICogMXJlbTtcbiAgfVxuXG4gIC8vIFR1cm4gMHJlbSBpbnRvIDBcbiAgQGlmICR2YWx1ZSA9PSAwcmVtIHtcbiAgICAkdmFsdWU6IDA7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cblxuLy8vIENvbnZlcnRzIGEgcGl4ZWwsIHBlcmNlbnRhZ2UsIHJlbSBvciBlbSB2YWx1ZSB0byBhIHVuaXRsZXNzIHZhbHVlIGJhc2VkIG9uIGEgZ2l2ZW4gZm9udCBzaXplLiBJZGVhbCBmb3Igd29ya2luZyBvdXQgdW5pdGxlc3MgbGluZSBoZWlnaHRzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGNvbnZlcnQgdG8gYSB1bml0bGVzcyBsaW5lIGhlaWdodFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSAtIFRoZSBmb250IHNpemUgdG8gdXNlIHRvIHdvcmsgb3V0IHRoZSBsaW5lIGhlaWdodCAtIGRlZmF1bHRzIHRvICRnbG9iYWwtZm9udC1zaXplXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gVW5pdGxlc3MgbnVtYmVyXG5AZnVuY3Rpb24gdW5pdGxlc3MtY2FsYygkdmFsdWUsICRiYXNlOiBudWxsKSB7XG5cbiAgLy8gSWYgbm8gYmFzZSBpcyBkZWZpbmVkLCBkZWZlciB0byB0aGUgZ2xvYmFsIGZvbnQgc2l6ZVxuICBAaWYgJGJhc2UgPT0gbnVsbCB7XG4gICAgJGJhc2U6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gRmlyc3QsIGxldHMgY29udmVydCBvdXIgJGJhc2UgdG8gcGl4ZWxzXG5cbiAgLy8gSWYgdGhlIGJhc2UgZm9udCBzaXplIGlzIGEgJSwgdGhlbiBtdWx0aXBseSBpdCBieSAxNnB4XG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnJScge1xuICAgICRiYXNlOiAoJGJhc2UgLyAxMDAlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ3JlbScge1xuICAgICRiYXNlOiBzdHJpcC11bml0KCRiYXNlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ2VtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIC8vIE5vdyBsZXQncyBjb252ZXJ0IG91ciB2YWx1ZSB0byBwaXhlbHMgdG9vXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJyUnIHtcbiAgICAkdmFsdWU6ICgkdmFsdWUgLyAxMDAlKSAqICRiYXNlO1xuICB9XG5cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncmVtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgKiAkYmFzZTtcbiAgfVxuXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ2VtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgKiAkYmFzZTtcbiAgfVxuXG4gIC8vICdweCdcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncHgnIHtcbiAgICBAcmV0dXJuIHN0cmlwLXVuaXQoJHZhbHVlKSAvIHN0cmlwLXVuaXQoJGJhc2UpO1xuICB9XG5cbiAgLy8gYXNzdW1lIHRoYXQgbGluZS1oZWlnaHRzIGdyZWF0ZXIgdGhhbiAxMCBhcmUgbWVhbnQgdG8gYmUgYWJzb2x1dGUgaW4gJ3B4J1xuICBAaWYgdW5pdGxlc3MoJHZhbHVlKSBhbmQgKCR2YWx1ZSA+IDEwKSB7XG4gICAgQHJldHVybiAkdmFsdWUgLyBzdHJpcC11bml0KCRiYXNlKTtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBEZXRlcm1pbmUgaWYgYSB2YWx1ZSBpcyBub3QgZmFsc2V5LCBpbiBDU1MgdGVybXMuIEZhbHNleSB2YWx1ZXMgYXJlIGBudWxsYCwgYG5vbmVgLCBgMGAgd2l0aCBhbnkgdW5pdCwgb3IgYW4gZW1wdHkgbGlzdC5cbi8vL1xuLy8vIEBwYXJhbSB7TWl4ZWR9ICR2YWwgLSBWYWx1ZSB0byBjaGVjay5cbi8vL1xuLy8vIEByZXR1cm5zIHtCb29sZWFufSBgdHJ1ZWAgaWYgYCR2YWxgIGlzIG5vdCBmYWxzZXkuXG5AZnVuY3Rpb24gaGFzLXZhbHVlKCR2YWwpIHtcbiAgQGlmICR2YWwgPT0gbnVsbCBvciAkdmFsID09IG5vbmUge1xuICAgIEByZXR1cm4gZmFsc2U7XG4gIH1cbiAgQGlmIHR5cGUtb2YoJHZhbCkgPT0gJ251bWJlcicgYW5kIHN0cmlwLXVuaXQoJHZhbCkgPT0gMCB7XG4gICAgQHJldHVybiBmYWxzZTtcbiAgfVxuICBAaWYgdHlwZS1vZigkdmFsKSA9PSAnbGlzdCcgYW5kIGxlbmd0aCgkdmFsKSA9PSAwIHtcbiAgICBAcmV0dXJuIGZhbHNlO1xuICB9XG4gIEByZXR1cm4gdHJ1ZTtcbn1cblxuLy8vIERldGVybWluZSBhIHRvcC9yaWdodC9ib3R0b20vcmlnaHQgdmFsdWUgb24gYSBwYWRkaW5nLCBtYXJnaW4sIGV0Yy4gcHJvcGVydHksIG5vIG1hdHRlciBob3cgbWFueSB2YWx1ZXMgd2VyZSBwYXNzZWQgaW4uIFVzZSB0aGlzIGZ1bmN0aW9uIGlmIHlvdSBuZWVkIHRvIGtub3cgdGhlIHNwZWNpZmljIHNpZGUgb2YgYSB2YWx1ZSwgYnV0IGRvbid0IGtub3cgaWYgdGhlIHZhbHVlIGlzIHVzaW5nIGEgc2hvcnRoYW5kIGZvcm1hdC5cbi8vL1xuLy8vIEBwYXJhbSB7TGlzdHxOdW1iZXJ9ICR2YWwgLSBWYWx1ZSB0byBhbmFseXplLiBTaG91bGQgYmUgYSBzaG9ydGhhbmQgc2l6aW5nIHByb3BlcnR5LCBlLmcuIFwiMWVtIDJlbSAxZW1cIlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpZGUgLSBTaWRlIHRvIHJldHVybi4gU2hvdWxkIGJlIGB0b3BgLCBgcmlnaHRgLCBgYm90dG9tYCwgb3IgYGxlZnRgLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gQSBzaW5nbGUgdmFsdWUgYmFzZWQgb24gYCR2YWxgIGFuZCBgJHNpZGVgLlxuQGZ1bmN0aW9uIGdldC1zaWRlKCR2YWwsICRzaWRlKSB7XG4gICRsZW5ndGg6IGxlbmd0aCgkdmFsKTtcblxuICBAaWYgJGxlbmd0aCA9PSAxIHtcbiAgICBAcmV0dXJuICR2YWw7XG4gIH1cbiAgQGlmICRsZW5ndGggPT0gMiB7XG4gICAgQHJldHVybiBtYXAtZ2V0KChcbiAgICAgIHRvcDogbnRoKCR2YWwsIDEpLFxuICAgICAgYm90dG9tOiBudGgoJHZhbCwgMSksXG4gICAgICBsZWZ0OiBudGgoJHZhbCwgMiksXG4gICAgICByaWdodDogbnRoKCR2YWwsIDIpLFxuICAgICksICRzaWRlKTtcbiAgfVxuICBAaWYgJGxlbmd0aCA9PSAzIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoKFxuICAgICAgdG9wOiBudGgoJHZhbCwgMSksXG4gICAgICBsZWZ0OiBudGgoJHZhbCwgMiksXG4gICAgICByaWdodDogbnRoKCR2YWwsIDIpLFxuICAgICAgYm90dG9tOiBudGgoJHZhbCwgMyksXG4gICAgKSwgJHNpZGUpO1xuICB9XG4gIEBpZiAkbGVuZ3RoID09IDQge1xuICAgIEByZXR1cm4gbWFwLWdldCgoXG4gICAgICB0b3A6IG50aCgkdmFsLCAxKSxcbiAgICAgIHJpZ2h0OiBudGgoJHZhbCwgMiksXG4gICAgICBib3R0b206IG50aCgkdmFsLCAzKSxcbiAgICAgIGxlZnQ6IG50aCgkdmFsLCA0KSxcbiAgICApLCAkc2lkZSk7XG4gIH1cbn1cblxuLy8vIEdpdmVuIGJvcmRlciAkdmFsLCBmaW5kIGEgc3BlY2lmaWMgZWxlbWVudCBvZiB0aGUgYm9yZGVyLCB3aGljaCBpcyAkZWxlbS4gVGhlIHBvc3NpYmxlIHZhbHVlcyBmb3IgJGVsZW0gYXJlIHdpZHRoLCBzdHlsZSwgYW5kIGNvbG9yLlxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkdmFsIC0gQm9yZGVyIHZhbHVlIHRvIGZpbmQgYSB2YWx1ZSBpbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRlbGVtIC0gQm9yZGVyIGNvbXBvbmVudCB0byBleHRyYWN0LlxuLy8vXG4vLy8gQHJldHVybnMge01peGVkfSBJZiB0aGUgdmFsdWUgZXhpc3RzLCByZXR1cm5zIHRoZSB2YWx1ZS4gSWYgdGhlIHZhbHVlIGlzIG5vdCBpbiB0aGUgYm9yZGVyIGRlZmluaXRpb24sIHRoZSBmdW5jdGlvbiB3aWxsIHJldHVybiBhIDBweCB3aWR0aCwgc29saWQgc3R5bGUsIG9yIGJsYWNrIGJvcmRlci5cbkBmdW5jdGlvbiBnZXQtYm9yZGVyLXZhbHVlKCR2YWwsICRlbGVtKSB7XG4gIC8vIEZpbmQgdGhlIHdpZHRoLCBzdHlsZSwgb3IgY29sb3IgYW5kIHJldHVybiBpdFxuICBAZWFjaCAkdiBpbiAkdmFsIHtcbiAgICAkdHlwZTogdHlwZS1vZigkdik7XG4gICAgQGlmICRlbGVtID09IHdpZHRoIGFuZCAkdHlwZSA9PSAnbnVtYmVyJyB7XG4gICAgICBAcmV0dXJuICR2O1xuICAgIH1cbiAgICBAaWYgJGVsZW0gPT0gc3R5bGUgYW5kICR0eXBlID09ICdzdHJpbmcnIHtcbiAgICAgIEByZXR1cm4gJHY7XG4gICAgfVxuICAgIEBpZiAkZWxlbSA9PSBjb2xvciBhbmQgJHR5cGUgPT0gJ2NvbG9yJyB7XG4gICAgICBAcmV0dXJuICR2O1xuICAgIH1cbiAgfVxuXG4gIC8vIERlZmF1bHRzXG4gICRkZWZhdWx0czogKFxuICAgIHdpZHRoOiAwLFxuICAgIHN0eWxlOiBzb2xpZCxcbiAgICBjb2xvcjogIzAwMCxcbiAgKTtcblxuICBAcmV0dXJuIG1hcC1nZXQoJGRlZmF1bHRzLCAkZWxlbSk7XG59XG5cbi8vLyBGaW5kcyBhIHZhbHVlIGluIGEgbmVzdGVkIG1hcC5cbi8vLyBAbGluayBodHRwczovL2Nzcy10cmlja3MuY29tL3NuaXBwZXRzL3Nhc3MvZGVlcC1nZXRzZXQtbWFwcy8gRGVlcCBHZXQvU2V0IGluIE1hcHNcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHB1bGwgYSB2YWx1ZSBmcm9tLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAka2V5cy4uLiAtIEtleXMgdG8gdXNlIHdoZW4gbG9va2luZyBmb3IgYSB2YWx1ZS5cbi8vLyBAcmV0dXJucyB7TWl4ZWR9IFRoZSB2YWx1ZSBmb3VuZCBpbiB0aGUgbWFwLlxuQGZ1bmN0aW9uIG1hcC1kZWVwLWdldCgkbWFwLCAka2V5cy4uLikge1xuICBAZWFjaCAka2V5IGluICRrZXlzIHtcbiAgICAkbWFwOiBtYXAtZ2V0KCRtYXAsICRrZXkpO1xuICB9XG4gIEByZXR1cm4gJG1hcDtcbn1cblxuLy8vIENhc3RzIGEgbWFwIGludG8gYSBsaXN0LlxuLy8vIEBsaW5rIGh0dHA6Ly9odWdvZ2lyYXVkZWwuY29tLzIwMTQvMDQvMjgvY2FzdGluZy1tYXAtaW50by1saXN0L1xuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gcHVsbCBhIHZhbHVlIGZyb20uXG4vLy9cbi8vLyBAcmV0dXJucyB7TGlzdH0gRGVwZW5kaW5nIG9uIHRoZSBmbGFnLCByZXR1cm5zIGVpdGhlciAka2V5cyBvciAkdmFsdWVzIG9yIGJvdGguXG5AZnVuY3Rpb24gbWFwLXRvLWxpc3QoJG1hcCwgJGtlZXA6ICdib3RoJykge1xuICAka2VlcDogaWYoaW5kZXgoJ2tleXMnICd2YWx1ZXMnLCAka2VlcCksICRrZWVwLCAnYm90aCcpO1xuXG4gIEBpZiB0eXBlLW9mKCRtYXApID09ICdtYXAnIHtcbiAgICAka2V5czogKCk7XG4gICAgJHZhbHVlczogKCk7XG5cbiAgICBAZWFjaCAka2V5LCAkdmFsIGluICRtYXAge1xuICAgICAgJGtleXM6IGFwcGVuZCgka2V5cywgJGtleSk7XG4gICAgICAkdmFsdWVzOiBhcHBlbmQoJHZhbHVlcywgJHZhbCk7XG4gICAgfVxuXG4gICAgQGlmICRrZWVwID09ICdrZXlzJyB7XG4gICAgICBAcmV0dXJuICRrZXlzO1xuICAgIH1cbiAgICBAZWxzZSBpZiAka2VlcCA9PSAndmFsdWVzJyB7XG4gICAgICBAcmV0dXJuICR2YWx1ZXM7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEByZXR1cm4gemlwKCRrZXlzLCAkdmFsdWVzKTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuIGlmKHR5cGUtb2YoJG1hcCkgIT0gJ2xpc3QnLCAoJHZhbHVlLCksICRtYXApO1xuXG59XG5cbi8vLyBTYWZlbHkgcmV0dXJuIGEgdmFsdWUgZnJvbSBhIG1hcC5cbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHJldHJpZXZlIGEgdmFsdWUgZnJvbS5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGtleSAtIE5hbWUgb2YgdGhlIG1hcCBrZXkuXG4vLy9cbi8vLyBAcmV0dXJucyB7TGlzdH0gRm91bmQgdmFsdWUuXG5AZnVuY3Rpb24gbWFwLXNhZmUtZ2V0KCRtYXAsICRrZXkpIHtcbiAgQGlmICh0eXBlLW9mKCRtYXApID09ICdtYXAnIG9yICh0eXBlLW9mKCRtYXApID09ICdsaXN0JyBhbmQgbGVuZ3RoKCRtYXApID09IDApKSB7XG4gICAgQGlmIChtYXAtaGFzLWtleSgkbWFwLCAka2V5KSkge1xuICAgICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsICRrZXkpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAZXJyb3IgJ0tleTogYCN7JGtleX1gIGlzIG5vdCBhdmFpbGFibGUgaW4gYCN7JG1hcH1gJztcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBlcnJvciAnYCN7JG1hcH1gIGlzIG5vdCBhIHZhbGlkIG1hcCc7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gUmV0dXJucyB0aGUgb3Bwb3NpdGUgZGlyZWN0aW9uIG9mICRkaXJcbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciAtIFVzZWQgZGlyZWN0aW9uIGJldHdlZW4gXCJ0b3BcIiwgXCJyaWdodFwiLCBcImJvdHRvbVwiIGFuZCBcImxlZnRcIi5cbi8vLyBAcmV0dXJuIHtLZXl3b3JkfSBPcHBvc2l0ZSBkaXJlY3Rpb24gb2YgJGRpclxuQGZ1bmN0aW9uIGRpcmVjdGlvbi1vcHBvc2l0ZShcbiAgJGRpclxuKSB7XG4gICRkaXJzOiAodG9wLCByaWdodCwgYm90dG9tLCBsZWZ0KTtcbiAgJHBsYWNlOiBpbmRleCgkZGlycywgJGRpcik7XG5cbiAgQGlmICRwbGFjZSA9PSBudWxsIHtcbiAgICBAZXJyb3IgJ2RpcmVjdGlvbi1vcHBvc2l0ZTogSW52YWxpZCAkZGlyIHBhcmFtZXRlciwgZXhwZWN0ZWQgYSB2YWx1ZSBmcm9tIFwiI3skZGlyc31cIiwgZm91bmQgXCIjeyRkaXJ9XCIuJztcbiAgICBAcmV0dXJuIG51bGw7XG4gIH1cblxuICAvLyBDYWxjdWxhdGUgdGhlIG9wcG9zaXRlIHBsYWNlIGluIGEgY2lyY2xlLCB3aXRoIGEgc3RhcnRpbmcgaW5kZXggb2YgMVxuICAkbGVuZ3RoOiBsZW5ndGgoJGRpcnMpO1xuICAkZGVtaTogJGxlbmd0aCAvIDI7XG4gICRvcHBvc2l0ZS1wbGFjZTogKCgkcGxhY2UgKyAkZGVtaSAtIDEpICUgJGxlbmd0aCkgKyAxO1xuXG4gIEByZXR1cm4gbnRoKCRkaXJzLCAkb3Bwb3NpdGUtcGxhY2UpO1xufVxuXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnbWF0aCc7XG5cbiRjb250cmFzdC13YXJuaW5nczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIENoZWNrcyB0aGUgbHVtaW5hbmNlIG9mIGAkY29sb3JgLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3IgdG8gY2hlY2sgdGhlIGx1bWluYW5jZSBvZi5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBsdW1pbmFuY2Ugb2YgYCRjb2xvcmAuXG5AZnVuY3Rpb24gY29sb3ItbHVtaW5hbmNlKCRjb2xvcikge1xuICAvLyBBZGFwdGVkIGZyb206IGh0dHBzOi8vZ2l0aHViLmNvbS9MZWFWZXJvdS9jb250cmFzdC1yYXRpby9ibG9iL2doLXBhZ2VzL2NvbG9yLmpzXG4gIC8vIEZvcm11bGE6IGh0dHA6Ly93d3cudzMub3JnL1RSLzIwMDgvUkVDLVdDQUcyMC0yMDA4MTIxMS8jcmVsYXRpdmVsdW1pbmFuY2VkZWZcbiAgJHJnYmE6IHJlZCgkY29sb3IpLCBncmVlbigkY29sb3IpLCBibHVlKCRjb2xvcik7XG4gICRyZ2JhMjogKCk7XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAzIHtcbiAgICAkcmdiOiBudGgoJHJnYmEsICRpKTtcbiAgICAkcmdiOiAkcmdiIC8gMjU1O1xuXG4gICAgJHJnYjogaWYoJHJnYiA8IDAuMDM5MjgsICRyZ2IgLyAxMi45MiwgcG93KCgkcmdiICsgMC4wNTUpIC8gMS4wNTUsIDIuNCkpO1xuXG4gICAgJHJnYmEyOiBhcHBlbmQoJHJnYmEyLCAkcmdiKTtcbiAgfVxuXG4gIEByZXR1cm4gMC4yMTI2ICogbnRoKCRyZ2JhMiwgMSkgKyAwLjcxNTIgKiBudGgoJHJnYmEyLCAyKSArIDAuMDcyMiAqIG50aCgkcmdiYTIsIDMpO1xufVxuXG4vLy8gQ2hlY2tzIHRoZSBjb250cmFzdCByYXRpbyBvZiB0d28gY29sb3JzLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yMSAtIEZpcnN0IGNvbG9yIHRvIGNvbXBhcmUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yMiAtIFNlY29uZCBjb2xvciB0byBjb21wYXJlLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIGNvbnRyYXN0IHJhdGlvIG9mIHRoZSBjb21wYXJlZCBjb2xvcnMuXG5AZnVuY3Rpb24gY29sb3ItY29udHJhc3QoJGNvbG9yMSwgJGNvbG9yMikge1xuICAvLyBBZGFwdGVkIGZyb206IGh0dHBzOi8vZ2l0aHViLmNvbS9MZWFWZXJvdS9jb250cmFzdC1yYXRpby9ibG9iL2doLXBhZ2VzL2NvbG9yLmpzXG4gIC8vIEZvcm11bGE6IGh0dHA6Ly93d3cudzMub3JnL1RSLzIwMDgvUkVDLVdDQUcyMC0yMDA4MTIxMS8jY29udHJhc3QtcmF0aW9kZWZcbiAgJGx1bWluYW5jZTE6IGNvbG9yLWx1bWluYW5jZSgkY29sb3IxKSArIDAuMDU7XG4gICRsdW1pbmFuY2UyOiBjb2xvci1sdW1pbmFuY2UoJGNvbG9yMikgKyAwLjA1O1xuICAkcmF0aW86ICRsdW1pbmFuY2UxIC8gJGx1bWluYW5jZTI7XG5cbiAgQGlmICRsdW1pbmFuY2UyID4gJGx1bWluYW5jZTEge1xuICAgICRyYXRpbzogMSAvICRyYXRpbztcbiAgfVxuXG4gICRyYXRpbzogcm91bmQoJHJhdGlvICogMTApIC8gMTA7XG5cbiAgQHJldHVybiAkcmF0aW87XG59XG5cbi8vLyBDaGVja3MgdGhlIGx1bWluYW5jZSBvZiBgJGJhc2VgLCBhbmQgcmV0dXJucyB0aGUgY29sb3IgZnJvbSBgJGNvbG9yc2AgKGxpc3Qgb2YgY29sb3JzKSB0aGF0IGhhcyB0aGUgbW9zdCBjb250cmFzdC5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYXNlIC0gQ29sb3IgdG8gY2hlY2sgbHVtaW5hbmNlLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGNvbG9ycyBbKCR3aGl0ZSwgJGJsYWNrKV0gLSBDb2xvcnMgdG8gY29tcGFyZS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRvbGVyYW5jZSBbJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZV0gLSBDb250cmFzdCB0b2xlcmFuY2UuXG4vLy9cbi8vLyBAcmV0dXJucyB7Q29sb3J9IHRoZSBjb2xvciBmcm9tIGAkY29sb3JzYCAobGlzdCBvZiBjb2xvcnMpIHRoYXQgaGFzIHRoZSBtb3N0IGNvbnRyYXN0LlxuQGZ1bmN0aW9uIGNvbG9yLXBpY2stY29udHJhc3QoJGJhc2UsICRjb2xvcnM6ICgkd2hpdGUsICRibGFjayksICR0b2xlcmFuY2U6ICRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2UpIHtcbiAgJGNvbnRyYXN0OiBjb2xvci1jb250cmFzdCgkYmFzZSwgbnRoKCRjb2xvcnMsIDEpKTtcbiAgJGJlc3Q6IG50aCgkY29sb3JzLCAxKTtcblxuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoIGxlbmd0aCgkY29sb3JzKSB7XG4gICAgJGN1cnJlbnQtY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgJGkpKTtcbiAgICBAaWYgKCRjdXJyZW50LWNvbnRyYXN0IC0gJGNvbnRyYXN0ID4gJHRvbGVyYW5jZSkge1xuICAgICAgJGNvbnRyYXN0OiBjb2xvci1jb250cmFzdCgkYmFzZSwgbnRoKCRjb2xvcnMsICRpKSk7XG4gICAgICAkYmVzdDogbnRoKCRjb2xvcnMsICRpKTtcbiAgICB9XG4gIH1cblxuICBAaWYgKCRjb250cmFzdC13YXJuaW5ncyBhbmQgJGNvbnRyYXN0IDwgMykge1xuICAgIEB3YXJuIFwiQ29udHJhc3QgcmF0aW8gb2YgI3skYmVzdH0gb24gI3skYmFzZX0gaXMgcHJldHR5IGJhZCwganVzdCAjeyRjb250cmFzdH1cIjtcbiAgfVxuXG4gIEByZXR1cm4gJGJlc3Q7XG59XG5cbi8vLyBTY2FsZXMgYSBjb2xvciB0byBiZSBkYXJrZXIgaWYgaXQncyBsaWdodCwgb3IgbGlnaHRlciBpZiBpdCdzIGRhcmsuIFVzZSB0aGlzIGZ1bmN0aW9uIHRvIHRpbnQgYSBjb2xvciBhcHByb3ByaWF0ZSB0byBpdHMgbGlnaHRuZXNzLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3IgdG8gc2NhbGUuXG4vLy8gQHBhcmFtIHtQZXJjZW50YWdlfSAkc2NhbGUgWzUlXSAtIEFtb3VudCB0byBzY2FsZSB1cCBvciBkb3duLlxuLy8vIEBwYXJhbSB7UGVyY2VudGFnZX0gJHRocmVzaG9sZCBbNDAlXSAtIFRocmVzaG9sZCBvZiBsaWdodG5lc3MgdG8gY2hlY2sgYWdhaW5zdC5cbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gQSBzY2FsZWQgY29sb3IuXG5AZnVuY3Rpb24gc21hcnQtc2NhbGUoJGNvbG9yLCAkc2NhbGU6IDUlLCAkdGhyZXNob2xkOiA0MCUpIHtcbiAgQGlmIGxpZ2h0bmVzcygkY29sb3IpID4gJHRocmVzaG9sZCB7XG4gICAgJHNjYWxlOiAtJHNjYWxlO1xuICB9XG4gIEByZXR1cm4gc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkc2NhbGUpO1xufVxuXG4vLy8gR2V0IGNvbG9yIGZyb20gZm91bmRhdGlvbi1wYWxldHRlXG4vLy9cbi8vLyBAcGFyYW0ge2tleX0gY29sb3Iga2V5IGZyb20gZm91bmRhdGlvbi1wYWxldHRlXG4vLy9cbi8vLyBAcmV0dXJucyB7Q29sb3J9IGNvbG9yIGZyb20gZm91bmRhdGlvbi1wYWxldHRlXG5AZnVuY3Rpb24gZ2V0LWNvbG9yKCRrZXkpIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsICRrZXkpIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgJGtleSk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBlcnJvciAnZ2l2ZW4gJGtleSBpcyBub3QgYXZhaWxhYmxlIGluICRmb3VuZGF0aW9uLXBhbGV0dGUnO1xuICB9XG59XG5cbi8vLyBUcmFuc2ZlcnMgdGhlIGNvbG9ycyBpbiB0aGUgYCRmb3VuZGF0aW9uLXBhbGV0dGVgIG1hcCBpbnRvIHZhcmlhYmxlcywgc3VjaCBhcyBgJHByaW1hcnktY29sb3JgIGFuZCBgJHNlY29uZGFyeS1jb2xvcmAuIENhbGwgdGhpcyBtaXhpbiBiZWxvdyB0aGUgR2xvYmFsIHNlY3Rpb24gb2YgeW91ciBzZXR0aW5ncyBmaWxlIHRvIHByb3Blcmx5IG1pZ3JhdGUgeW91ciBjb2RlYmFzZS5cbkBtaXhpbiBhZGQtZm91bmRhdGlvbi1jb2xvcnMoKSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSB7XG4gICAgJHByaW1hcnktY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJHByaW1hcnktY29sb3I6ICMxNzc5YmEgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KSB7XG4gICAgJHNlY29uZGFyeS1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICRzZWNvbmRhcnktY29sb3I6ICM3Njc2NzYgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc3VjY2Vzcykge1xuICAgICRzdWNjZXNzLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHN1Y2Nlc3MpICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICRzdWNjZXNzLWNvbG9yOiAjM2FkYjc2ICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdhcm5pbmcpIHtcbiAgICAkd2FybmluZy1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3YXJuaW5nKSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkd2FybmluZy1jb2xvcjogI2ZmYWUwMCAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCkge1xuICAgICRhbGVydC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCkgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJGFsZXJ0LWNvbG9yOiAjY2M0YjM3ICFnbG9iYWw7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gR2VuZXJhdGVzIGEgc2VsZWN0b3Igd2l0aCBldmVyeSB0ZXh0IGlucHV0IHR5cGUuIFlvdSBjYW4gYWxzbyBmaWx0ZXIgdGhlIGxpc3QgdG8gb25seSBvdXRwdXQgYSBzdWJzZXQgb2YgdGhvc2Ugc2VsZWN0b3JzLlxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fEtleXdvcmR9ICR0eXBlcyBbKCldIC0gQSBsaXN0IG9mIHRleHQgaW5wdXQgdHlwZXMgdG8gdXNlLiBMZWF2ZSBibGFuayB0byB1c2UgYWxsIG9mIHRoZW0uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkbW9kaWZpZXIgWycnXSAtIEEgbW9kaWZpZXIgdG8gYmUgYXBwbGllZCB0byBlYWNoIHRleHQgaW5wdXQgdHlwZSAoZS5nLiBhIGNsYXNzIG9yIGEgcHNldWRvLWNsYXNzKS4gTGVhdmUgYmxhbmsgdG8gaWdub3JlLlxuQGZ1bmN0aW9uIHRleHQtaW5wdXRzKCR0eXBlczogKCksICRtb2RpZmllcjogJycpIHtcbiAgJHJldHVybjogKCk7XG5cbiAgJGFsbC10eXBlczpcbiAgICB0ZXh0XG4gICAgcGFzc3dvcmRcbiAgICBkYXRlXG4gICAgZGF0ZXRpbWVcbiAgICBkYXRldGltZS1sb2NhbFxuICAgIG1vbnRoXG4gICAgd2Vla1xuICAgIGVtYWlsXG4gICAgbnVtYmVyXG4gICAgc2VhcmNoXG4gICAgdGVsXG4gICAgdGltZVxuICAgIHVybFxuICAgIGNvbG9yO1xuXG4gIEBpZiBub3QgaGFzLXZhbHVlKCR0eXBlcykge1xuICAgICR0eXBlczogJGFsbC10eXBlcztcbiAgfVxuXG4gIEBlYWNoICR0eXBlIGluICR0eXBlcyB7XG4gICAgJHJldHVybjogYXBwZW5kKCRyZXR1cm4sIHVucXVvdGUoJ1t0eXBlPVxcJyN7JHR5cGV9XFwnXSN7JG1vZGlmaWVyfScpLCBjb21tYSk7XG4gIH1cblxuICBAcmV0dXJuICRyZXR1cm47XG59XG4iLCJAZnVuY3Rpb24gLXpmLWZsZXgtanVzdGlmeSgkdGV4dC1kaXJlY3Rpb24pe1xuICAkLXpmLWZsZXgtanVzdGlmeTogKFxuICAgICdsZWZ0JzogaWYoJHRleHQtZGlyZWN0aW9uID09IHJ0bCwgZmxleC1lbmQsIGZsZXgtc3RhcnQpLFxuICAgICdyaWdodCc6IGlmKCR0ZXh0LWRpcmVjdGlvbiA9PSBydGwsIGZsZXgtc3RhcnQsIGZsZXgtZW5kKSxcbiAgICAnY2VudGVyJzogY2VudGVyLFxuICAgICdqdXN0aWZ5Jzogc3BhY2UtYmV0d2VlbixcbiAgICAnc3BhY2VkJzogc3BhY2UtYXJvdW5kLFxuICApO1xuXG4gIEByZXR1cm4gJC16Zi1mbGV4LWp1c3RpZnk7XG59XG5cblxuJC16Zi1mbGV4LWFsaWduOiAoXG4gICd0b3AnOiBmbGV4LXN0YXJ0LFxuICAnYm90dG9tJzogZmxleC1lbmQsXG4gICdtaWRkbGUnOiBjZW50ZXIsXG4gICdzdHJldGNoJzogc3RyZXRjaCxcbik7XG5cbiQtemYtZmxleC1kaXJlY3Rpb246IChcbiAgJ3Jvdyc6IHJvdyxcbiAgJ3Jvdy1yZXZlcnNlJzogcm93LXJldmVyc2UsXG4gICdjb2x1bW4nOiBjb2x1bW4sXG4gICdjb2x1bW4tcmV2ZXJzZSc6IGNvbHVtbi1yZXZlcnNlLFxuKTtcblxuLy8vIEVuYWJsZXMgZmxleGJveCBieSBhZGRpbmcgYGRpc3BsYXk6IGZsZXhgIHRvIHRoZSBlbGVtZW50LlxuQG1peGluIGZsZXgge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4vLy8gSG9yaXpvbnRhbGx5IG9yIHZlcnRpY2FsbHkgYWxpZ25zIHRoZSBpdGVtcyB3aXRoaW4gYSBmbGV4IGNvbnRhaW5lci5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHggW251bGxdIC0gSG9yaXpvbnRhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYGxlZnRgLCBgcmlnaHRgLCBgY2VudGVyYCwgYGp1c3RpZnlgLCBvciBgc3BhY2VkYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IGhvcml6b250YWwgYWxpZ25tZW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHkgW251bGxdIC0gVmVydGljYWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGB0b3BgLCBgYm90dG9tYCwgYG1pZGRsZWAsIG9yIGBzdHJldGNoYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IHZlcnRpY2FsIGFsaWdubWVudC5cbkBtaXhpbiBmbGV4LWFsaWduKCR4OiBudWxsLCAkeTogbnVsbCkge1xuICBAaWYgJHgge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkLXpmLWZsZXgtanVzdGlmeSwgJHgpIHtcbiAgICAgICR4OiBtYXAtZ2V0KCQtemYtZmxleC1qdXN0aWZ5LCAkeCk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtcm93LWFsaWduKCk6ICN7JHh9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciBob3Jpem9udGFsIGFsaWdubWVudC4gVXNlIGxlZnQsIHJpZ2h0LCBjZW50ZXIsIGp1c3RpZnksIG9yIHNwYWNlZC4nO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkeSB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCQtemYtZmxleC1hbGlnbiwgJHkpIHtcbiAgICAgICR5OiBtYXAtZ2V0KCQtemYtZmxleC1hbGlnbiwgJHkpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAd2FybiAnZmxleC1ncmlkLXJvdy1hbGlnbigpOiAjeyR5fSBpcyBub3QgYSB2YWxpZCB2YWx1ZSBmb3IgdmVydGljYWwgYWxpZ25tZW50LiBVc2UgdG9wLCBib3R0b20sIG1pZGRsZSwgb3Igc3RyZXRjaC4nO1xuICAgIH1cbiAgfVxuXG4gIGp1c3RpZnktY29udGVudDogJHg7XG4gIGFsaWduLWl0ZW1zOiAkeTtcbn1cblxuLy8vIFZlcnRpY2FsbHkgYWxpZ24gYSBzaW5nbGUgY29sdW1uIHdpdGhpbiBhIGZsZXggcm93LiBBcHBseSB0aGlzIG1peGluIHRvIGEgZmxleCBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR5IFtudWxsXSAtIFZlcnRpY2FsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgdG9wYCwgYGJvdHRvbWAsIGBtaWRkbGVgLCBvciBgc3RyZXRjaGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCB2ZXJ0aWNhbCBhbGlnbm1lbnQuXG5AbWl4aW4gZmxleC1hbGlnbi1zZWxmKCR5OiBudWxsKSB7XG4gIEBpZiAkeSB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCQtemYtZmxleC1hbGlnbiwgJHkpIHtcbiAgICAgICR5OiBtYXAtZ2V0KCQtemYtZmxleC1hbGlnbiwgJHkpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAd2FybiAnZmxleC1ncmlkLWNvbHVtbi1hbGlnbigpOiAjeyR5fSBpcyBub3QgYSB2YWxpZCB2YWx1ZSBmb3IgYWxpZ25tZW50LiBVc2UgdG9wLCBib3R0b20sIG1pZGRsZSwgb3Igc3RyZXRjaC4nO1xuICAgIH1cbiAgfVxuXG4gIGFsaWduLXNlbGY6ICR5O1xufVxuXG4vLy8gQ2hhbmdlcyB0aGUgc291cmNlIG9yZGVyIG9mIGEgZmxleCBjaGlsZC4gQ2hpbGRyZW4gd2l0aCBsb3dlciBudW1iZXJzIGFwcGVhciBmaXJzdCBpbiB0aGUgbGF5b3V0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkb3JkZXIgWzBdIC0gT3JkZXIgbnVtYmVyIHRvIGFwcGx5LlxuQG1peGluIGZsZXgtb3JkZXIoJG9yZGVyOiAwKSB7XG4gIG9yZGVyOiAkb3JkZXI7XG59XG5cbi8vLyBDaGFuZ2UgZmxleC1kaXJlY3Rpb25cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXJlY3Rpb24gW3Jvd10gLSBGbGV4IGRpcmVjdGlvbiB0byB1c2UuIENhbiBiZVxuLy8vICAgLSByb3cgKGRlZmF1bHQpOiBzYW1lIGFzIHRleHQgZGlyZWN0aW9uXG4vLy8gICAtIHJvdy1yZXZlcnNlOiBvcHBvc2l0ZSB0byB0ZXh0IGRpcmVjdGlvblxuLy8vICAgLSBjb2x1bW46IHNhbWUgYXMgcm93IGJ1dCB0b3AgdG8gYm90dG9tXG4vLy8gICAtIGNvbHVtbi1yZXZlcnNlOiBzYW1lIGFzIHJvdy1yZXZlcnNlIHRvcCB0byBib3R0b21cbkBtaXhpbiBmbGV4LWRpcmVjdGlvbigkZGlyZWN0aW9uOiByb3cpIHtcbiAgZmxleC1kaXJlY3Rpb246ICRkaXJlY3Rpb247XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBicmVha3BvaW50c1xuLy8vL1xuXG4vLy8gQSBsaXN0IG9mIG5hbWVkIGJyZWFrcG9pbnRzLiBZb3UgY2FuIHVzZSB0aGVzZSB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBxdWlja2x5IGNyZWF0ZSBtZWRpYSBxdWVyaWVzLlxuLy8vIEB0eXBlIE1hcFxuJGJyZWFrcG9pbnRzOiAoXG4gIHNtYWxsOiAwLFxuICBtZWRpdW06IDY0MHB4LFxuICBsYXJnZTogMTAyNHB4LFxuICB4bGFyZ2U6IDEyMDBweCxcbiAgeHhsYXJnZTogMTQ0MHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBsYXJnZXN0IG5hbWVkIGJyZWFrcG9pbnQgaW4gd2hpY2ggdG8gaW5jbHVkZSBwcmludCBhcyBhIG1lZGlhIHR5cGVcbi8vLyBAdHlwZSBLZXl3b3JkXG4kcHJpbnQtYnJlYWtwb2ludDogbGFyZ2UgIWRlZmF1bHQ7XG5cbiQtemYtemVyby1icmVha3BvaW50OiBzbWFsbCAhZGVmYXVsdDtcblxuJC16Zi1icmVha3BvaW50cy1rZXlzOiBtYXAtdG8tbGlzdCgkYnJlYWtwb2ludHMsICdrZXlzJyk7XG5cbkBpZiBudGgobWFwLXZhbHVlcygkYnJlYWtwb2ludHMpLCAxKSAhPSAwIHtcbiAgQGVycm9yICdUaGUgZmlyc3Qga2V5IGluIHRoZSAkYnJlYWtwb2ludHMgbWFwIG11c3QgaGF2ZSBhIHZhbHVlIG9mIFwiMFwiLic7XG59XG5AZWxzZSB7XG4gICQtemYtemVyby1icmVha3BvaW50OiBudGgobWFwLWtleXMoJGJyZWFrcG9pbnRzKSwgMSk7XG59XG5cbi8vLyBBbGwgb2YgdGhlIG5hbWVzIGluIHRoaXMgbGlzdCB3aWxsIGJlIG91dHB1dCBhcyBjbGFzc2VzIGluIHlvdXIgQ1NTLCBsaWtlIGAuc21hbGwtMTJgLCBgLm1lZGl1bS02YCwgYW5kIHNvIG9uLiBFYWNoIHZhbHVlIGluIHRoaXMgbGlzdCBtdXN0IGFsc28gYmUgaW4gdGhlIGAkYnJlYWtwb2ludHNgIG1hcC5cbi8vLyBAdHlwZSBMaXN0XG4kYnJlYWtwb2ludC1jbGFzc2VzOiAoc21hbGwgbWVkaXVtIGxhcmdlKSAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlcyBhIG1lZGlhIHF1ZXJ5IHN0cmluZyBtYXRjaGluZyB0aGUgaW5wdXQgdmFsdWUuIFJlZmVyIHRvIHRoZSBkb2N1bWVudGF0aW9uIGZvciB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gc2VlIHdoYXQgdGhlIHBvc3NpYmxlIGlucHV0cyBhcmUuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsIFtzbWFsbF0gLSBCcmVha3BvaW50IG5hbWUsIG9yIHB4LCByZW0sIG9yIGVtIHZhbHVlIHRvIHByb2Nlc3MuXG5AZnVuY3Rpb24gYnJlYWtwb2ludCgkdmFsOiAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAvLyBTaXplIG9yIGtleXdvcmRcbiAgJGJwOiBudGgoJHZhbCwgMSk7XG4gIC8vIFZhbHVlIGZvciBtYXgtd2lkdGggbWVkaWEgcXVlcmllc1xuICAkYnAtbWF4OiAwO1xuICAvLyBEaXJlY3Rpb24gb2YgbWVkaWEgcXVlcnkgKHVwLCBkb3duLCBvciBvbmx5KVxuICAkZGlyOiBpZihsZW5ndGgoJHZhbCkgPiAxLCBudGgoJHZhbCwgMiksIHVwKTtcbiAgLy8gRXZlbnR1YWwgb3V0cHV0XG4gICRzdHI6ICcnO1xuICAvLyBJcyBpdCBhIG5hbWVkIG1lZGlhIHF1ZXJ5P1xuICAkbmFtZWQ6IGZhbHNlO1xuXG4gIC8vIE9yaWVudGF0aW9uIG1lZGlhIHF1ZXJpZXMgaGF2ZSBhIHVuaXF1ZSBzeW50YXhcbiAgQGlmICRicCA9PSAnbGFuZHNjYXBlJyBvciAkYnAgPT0gJ3BvcnRyYWl0JyB7XG4gICAgQHJldHVybiAnKG9yaWVudGF0aW9uOiAjeyRicH0pJztcbiAgfVxuICBAZWxzZSBpZiAkYnAgPT0gJ3JldGluYScge1xuICAgIEByZXR1cm4gJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSknO1xuICB9XG5cbiAgLy8gVHJ5IHRvIHB1bGwgYSBuYW1lZCBicmVha3BvaW50IG91dCBvZiB0aGUgJGJyZWFrcG9pbnRzIG1hcFxuICBAaWYgdHlwZS1vZigkYnApID09ICdzdHJpbmcnIHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkYnApIHtcbiAgICAgIEBpZiAkZGlyID09ICdvbmx5JyBvciAkZGlyID09ICdkb3duJyB7XG4gICAgICAgICRicC1tYXg6IC16Zi1tYXAtbmV4dCgkYnJlYWtwb2ludHMsICRicCk7XG4gICAgICB9XG5cbiAgICAgICRicDogbWFwLWdldCgkYnJlYWtwb2ludHMsICRicCk7XG4gICAgICAkbmFtZWQ6IHRydWU7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRicDogMDtcbiAgICAgIEB3YXJuICdicmVha3BvaW50KCk6IFwiI3skdmFsfVwiIGlzIG5vdCBkZWZpbmVkIGluIHlvdXIgJGJyZWFrcG9pbnRzIHNldHRpbmcuJztcbiAgICB9XG4gIH1cblxuICAvLyBDb252ZXJ0IGFueSBwaXhlbCwgcmVtLCBvciB1bml0bGVzcyB2YWx1ZSB0byBlbVxuICAkYnA6IC16Zi1icC10by1lbSgkYnApO1xuICAvLyBNYXggdmFsdWUgaXMgMC4ycHggdW5kZXIgdGhlIG5leHQgYnJlYWtwb2ludCAoMC4wMiAvIDE2ID0gMC4wMDEyNSkuXG4gIC8vIFVzZSBhIHByZWNpc2lvbiB1bmRlciAxcHggdG8gc3VwcG9ydCBicm93c2VyIHpvb20sIGJ1dCBub3QgdG8gbG93IHRvIGF2b2lkIHJvdW5kaW5nLlxuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3p1cmIvZm91bmRhdGlvbi1zaXRlcy9pc3N1ZXMvMTEzMTNcbiAgQGlmICRicC1tYXgge1xuICAgICRicC1tYXg6IC16Zi1icC10by1lbSgkYnAtbWF4KSAtIC4wMDEyNTtcbiAgfVxuXG4gIC8vIENvbmRpdGlvbnMgdG8gc2tpcCBtZWRpYSBxdWVyeSBjcmVhdGlvblxuICAvLyAtIEl0J3MgYSBuYW1lZCBicmVha3BvaW50IHRoYXQgcmVzb2x2ZWQgdG8gXCIwIGRvd25cIiBvciBcIjAgdXBcIlxuICAvLyAtIEl0J3MgYSBudW1lcmljIGJyZWFrcG9pbnQgdGhhdCByZXNvbHZlZCB0byBcIjAgXCIgKyBhbnl0aGluZ1xuICBAaWYgJGJwID4gMGVtIG9yICRkaXIgPT0gJ29ubHknIG9yICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAvLyBgb25seWAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWluLXdpZHRoOiBuKSBhbmQgKG1heC13aWR0aDogbilgXG4gICAgQGlmICRkaXIgPT0gJ29ubHknIHtcbiAgICAgIC8vIE9ubHkgbmFtZWQgbWVkaWEgcXVlcmllcyBjYW4gaGF2ZSBhbiBcIm9ubHlcIiByYW5nZVxuICAgICAgQGlmICRuYW1lZCA9PSB0cnVlIHtcbiAgICAgICAgLy8gT25seSB1c2UgXCJtaW4td2lkdGhcIiBpZiB0aGUgZmxvb3IgaXMgZ3JlYXRlciB0aGFuIDBcbiAgICAgICAgQGlmICRicCA+IDBlbSB7XG4gICAgICAgICAgJHN0cjogJHN0ciArICcobWluLXdpZHRoOiAjeyRicH0pJztcblxuICAgICAgICAgIC8vIE9ubHkgYWRkIFwiYW5kXCIgdG8gdGhlIG1lZGlhIHF1ZXJ5IGlmIHRoZXJlJ3MgYSBjZWlsaW5nXG4gICAgICAgICAgQGlmICRicC1tYXggIT0gbnVsbCB7XG4gICAgICAgICAgICAkc3RyOiAkc3RyICsgJyBhbmQgJztcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBPbmx5IHVzZSBcIm1heC13aWR0aFwiIGlmIHRoZXJlJ3MgYSBjZWlsaW5nXG4gICAgICAgIEBpZiAkYnAtbWF4ICE9IG51bGwge1xuICAgICAgICAgICRzdHI6ICRzdHIgKyAnKG1heC13aWR0aDogI3skYnAtbWF4fSknO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIEB3YXJuICdicmVha3BvaW50KCk6IE9ubHkgbmFtZWQgbWVkaWEgcXVlcmllcyBjYW4gaGF2ZSBhbiBgb25seWAgcmFuZ2UuJztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBgZG93bmAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWF4LXdpZHRoOiBuKWBcbiAgICBAZWxzZSBpZiAkZGlyID09ICdkb3duJyB7XG4gICAgICAkbWF4OiBpZigkbmFtZWQsICRicC1tYXgsICRicCk7XG5cbiAgICAgIC8vIFNraXAgbWVkaWEgcXVlcnkgY3JlYXRpb24gaWYgaW5wdXQgdmFsdWUgaXMgZXhhY3RseSBcIjAgZG93blwiLFxuICAgICAgLy8gdW5sZXNzIHRoZSBmdW5jdGlvbiB3YXMgY2FsbGVkIGFzIFwic21hbGwgZG93blwiLCBpbiB3aGljaCBjYXNlIGl0J3MganVzdCBcInNtYWxsIG9ubHlcIlxuICAgICAgQGlmICRuYW1lZCBvciAkYnAgPiAwZW0ge1xuICAgICAgICBAaWYgJG1heCAhPSBudWxsIHtcbiAgICAgICAgICAkc3RyOiAkc3RyICsgJyhtYXgtd2lkdGg6ICN7JG1heH0pJztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGB1cGAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWluLXdpZHRoOiBuKWBcbiAgICBAZWxzZSBpZiAkYnAgPiAwZW0ge1xuICAgICAgJHN0cjogJHN0ciArICcobWluLXdpZHRoOiAjeyRicH0pJztcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRzdHI7XG59XG5cbi8vLyBXcmFwcyBhIG1lZGlhIHF1ZXJ5IGFyb3VuZCB0aGUgY29udGVudCB5b3UgcHV0IGluc2lkZSB0aGUgbWl4aW4uIFRoaXMgbWl4aW4gYWNjZXB0cyBhIG51bWJlciBvZiB2YWx1ZXM6XG4vLy8gIC0gSWYgYSBzdHJpbmcgaXMgcGFzc2VkLCB0aGUgbWl4aW4gd2lsbCBsb29rIGZvciBpdCBpbiB0aGUgYCRicmVha3BvaW50c2AgbWFwLCBhbmQgdXNlIGEgbWVkaWEgcXVlcnkgdGhlcmUuXG4vLy8gIC0gSWYgYSBwaXhlbCB2YWx1ZSBpcyBwYXNzZWQsIGl0IHdpbGwgYmUgY29udmVydGVkIHRvIGFuIGVtIHZhbHVlIHVzaW5nIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgYXMgdGhlIGJhc2UuXG4vLy8gIC0gSWYgYSByZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdW5pdCB3aWxsIGJlIGNoYW5nZWQgdG8gZW0uXG4vLy8gIC0gSWYgYW4gZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdmFsdWUgd2lsbCBiZSB1c2VkIGFzLWlzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbHVlIC0gQnJlYWtwb2ludCBuYW1lLCBvciBweCwgcmVtLCBvciBlbSB2YWx1ZSB0byBwcm9jZXNzLlxuLy8vXG4vLy8gQG91dHB1dCBJZiB0aGUgYnJlYWtwb2ludCBpcyBcIjBweCBhbmQgbGFyZ2VyXCIsIG91dHB1dHMgdGhlIGNvbnRlbnQgYXMtaXMuIE90aGVyd2lzZSwgb3V0cHV0cyB0aGUgY29udGVudCB3cmFwcGVkIGluIGEgbWVkaWEgcXVlcnkuXG5AbWl4aW4gYnJlYWtwb2ludCgkdmFsdWUpIHtcbiAgJHN0cjogYnJlYWtwb2ludCgkdmFsdWUpO1xuICAkYnA6IGluZGV4KCQtemYtYnJlYWtwb2ludHMta2V5cywgJHZhbHVlKTtcbiAgJHBicDogaW5kZXgoJC16Zi1icmVha3BvaW50cy1rZXlzLCAkcHJpbnQtYnJlYWtwb2ludCk7XG5cbiAgJG9sZC16Zi1zaXplOiBudWxsO1xuXG4gIC8vIE1ha2UgYnJlYWtwb2ludCBzaXplIGF2YWlsYWJsZSBhcyBhIHZhcmlhYmxlXG4gIEBpZiBnbG9iYWwtdmFyaWFibGUtZXhpc3RzKC16Zi1zaXplKSB7XG4gICAgJG9sZC16Zi1zaXplOiAkLXpmLXNpemU7XG4gIH1cbiAgJC16Zi1zaXplOiBudGgoJHZhbHVlLCAxKSAhZ2xvYmFsOyAvLyBnZXQgdGhlIGZpcnN0IHZhbHVlIHRvIGFjY291bnQgZm9yIGBvbmx5YCBhbmQgYGRvd25gIGtleXdvcmRzXG5cbiAgLy8gSWYgJHN0ciBpcyBzdGlsbCBhbiBlbXB0eSBzdHJpbmcsIG5vIG1lZGlhIHF1ZXJ5IGlzIG5lZWRlZFxuICBAaWYgJHN0ciA9PSAnJyB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cblxuICAvLyBPdGhlcndpc2UsIHdyYXAgdGhlIGNvbnRlbnQgaW4gYSBtZWRpYSBxdWVyeVxuICBAZWxzZSB7XG4gICAgLy8gRm9yIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiBvciBlcXVhbCB0byAkcHJpbnQtYnJlYWtwb2ludCwgYWRkIHByaW50IHRvIHRoZSBtZWRpYSB0eXBlc1xuICAgIEBpZiAkYnAgIT0gbnVsbCBhbmQgJGJwIDw9ICRwYnAge1xuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kICN7JHN0cn0ge1xuICAgICAgICBAY29udGVudDtcbiAgICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kICN7JHN0cn0ge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAkLXpmLXNpemU6ICRvbGQtemYtc2l6ZSAhZ2xvYmFsO1xufVxuXG4vLy8gQ29udmVycyB0aGUgYnJlYWtwb2ludHMgbWFwIHRvIGEgVVJMLWVuY29kZWQgc3RyaW5nLCBsaWtlIHRoaXM6IGBrZXkxPXZhbHVlMSZrZXkyPXZhbHVlMmAuIFRoZSB2YWx1ZSBpcyB0aGVuIGRyb3BwZWQgaW50byB0aGUgQ1NTIGZvciBhIHNwZWNpYWwgYDxtZXRhPmAgdGFnLCB3aGljaCBpcyByZWFkIGJ5IHRoZSBGb3VuZGF0aW9uIEphdmFTY3JpcHQuIFRoaXMgaXMgaG93IHdlIHRyYW5zZmVyIHZhbHVlcyBmcm9tIFNhc3MgdG8gSmF2YVNjcmlwdCwgc28gdGhleSBjYW4gYmUgZGVmaW5lZCBpbiBvbmUgcGxhY2UuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byBjb252ZXJ0LlxuLy8vXG4vLy8gQHJldHVybnMge1N0cmluZ30gQSBzdHJpbmcgY29udGFpbmluZyB0aGUgbWFwJ3MgY29udGVudHMuXG5AZnVuY3Rpb24gLXpmLWJwLXNlcmlhbGl6ZSgkbWFwKSB7XG4gICRzdHI6ICcnO1xuICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJG1hcCB7XG4gICAgJHN0cjogJHN0ciArICRrZXkgKyAnPScgKyAtemYtYnAtdG8tZW0oJHZhbHVlKSArICcmJztcbiAgfVxuICAkc3RyOiBzdHItc2xpY2UoJHN0ciwgMSwgLTIpO1xuXG4gIEByZXR1cm4gJHN0cjtcbn1cblxuLy8vIEZpbmQgdGhlIG5leHQga2V5IGluIGEgbWFwLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gdHJhdmVyc2UuXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGtleSAtIEtleSB0byB1c2UgYXMgYSBzdGFydGluZyBwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtNaXhlZH0gVGhlIHZhbHVlIGZvciB0aGUga2V5IGFmdGVyIGAka2V5YCwgaWYgYCRrZXlgIHdhcyBmb3VuZC4gSWYgYCRrZXlgIHdhcyBub3QgZm91bmQsIG9yIGAka2V5YCB3YXMgdGhlIGxhc3QgdmFsdWUgaW4gdGhlIG1hcCwgcmV0dXJucyBgbnVsbGAuXG5AZnVuY3Rpb24gLXpmLW1hcC1uZXh0KCRtYXAsICRrZXkpIHtcblxuICAvLyBTdG9yZSB0aGUga2V5cyBvZiB0aGUgbWFwIGFzIGEgbGlzdFxuICAkdmFsdWVzOiBtYXAta2V5cygkbWFwKTtcblxuICAkaTogMDtcblxuICAvLyBJZiB0aGUgS2V5IEV4aXN0cywgR2V0IHRoZSBpbmRleCBvZiB0aGUga2V5IHdpdGhpbiB0aGUgbWFwIGFuZCBhZGQgMSB0byBpdCBmb3IgdGhlIG5leHQgYnJlYWtwb2ludCBpbiB0aGUgbWFwXG4gIEBpZiAobWFwLWhhcy1rZXkoJG1hcCwgJGtleSkpIHtcbiAgICAkaTogaW5kZXgoJHZhbHVlcywgJGtleSkgKyAxO1xuICB9XG5cbiAgLy8gSWYgdGhlIGtleSBkb2Vzbid0IGV4aXN0LCBvciBpdCdzIHRoZSBsYXN0IGtleSBpbiB0aGUgbWFwLCByZXR1cm4gbnVsbFxuICBAaWYgKCRpID4gbGVuZ3RoKCRtYXApIG9yICRpID09IDApIHtcbiAgICBAcmV0dXJuIG51bGw7XG4gIH1cbiAgLy8gT3RoZXJ3aXNlLCByZXR1cm4gdGhlIHZhbHVlXG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgbnRoKCR2YWx1ZXMsICRpKSk7XG4gIH1cblxufVxuXG4vLy8gUmV0dXJuIGEgbGlzdCBvZiBvdXIgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuICRrZXkuIFVzZWZ1bCBmb3IgZGVhbGluZyB3aXRoXG4vLy8gcmVzcG9uc2l2ZSBndXR0ZXJzIGZvciB0aGUgZ3JpZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAka2V5IC0gS2V5IHRvIHVzZSBhcyBsYXN0IGJyZWFrcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7QXJyYXl9IFRoZSBsaXN0IG9mIGJyZWFrcG9pbnRzIHVwIHRvIGFuZC4gSWYgJGtleSBpcyBhdXRvLCByZXR1cm5zIGJyZWFrcG9pbnRzIGFib3ZlIHRoZSB6ZXJvXG5AZnVuY3Rpb24gLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigka2V5KSB7XG4gICRsaXN0OiAoKTtcbiAgJGZvdW5kX2tleTogZmFsc2U7XG5cbiAgQGVhY2ggJG5hbWUgaW4gJC16Zi1icmVha3BvaW50cy1rZXlzIHtcbiAgICBAaWYgKCRuYW1lID09ICRrZXkpIHtcbiAgICAgICRmb3VuZF9rZXk6IHRydWU7XG4gICAgfVxuICAgIEBpZiBub3QgJGZvdW5kX2tleSB7XG4gICAgICAkbGlzdDogYXBwZW5kKCRsaXN0LCAkbmFtZSk7XG4gICAgfVxuICB9XG4gIEByZXR1cm4gJGxpc3Q7XG59XG5cbi8vLyBSZXR1cm4gYSBsaXN0IG9mIG91ciBuYW1lZCBicmVha3BvaW50cyBsZXNzIHRoYW4gJGtleS4gVXNlZnVsIGZvciBkZWFsaW5nIHdpdGhcbi8vLyByZXNwb25zaXZlIGd1dHRlcnMgZm9yIHRoZSBncmlkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IC0gYSBuYW1lZCBvciBub24tbmFtZWQgYnJlYWtwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtBcnJheX0gVGhlIGxpc3Qgb2YgYnJlYWtwb2ludHMgdXAgdG8gYW5kLiBJZiAka2V5IGlzIGF1dG8sIHJldHVybnMgYnJlYWtwb2ludHMgYWJvdmUgdGhlIHplcm9cbkBmdW5jdGlvbiAtemYtY2xvc2VzdC1uYW1lZC1icmVha3BvaW50KCRicmVha3BvaW50KSB7XG4gICRsYXN0OiAkLXpmLXplcm8tYnJlYWtwb2ludDtcbiAgJGZvdW5kOiBmYWxzZTtcblxuICAkdmFsdWU6IHVuaXRsZXNzLWNhbGMoJGJyZWFrcG9pbnQsIDFweCk7XG4gIEBlYWNoICRrZXksICR2YWwgaW4gJGJyZWFrcG9pbnRzIHtcbiAgICBAaWYgbm90ICRmb3VuZCB7XG4gICAgICBAaWYgdW5pdGxlc3MtY2FsYygkdmFsKSA+ICR2YWx1ZSB7XG4gICAgICAgICRmb3VuZDogdHJ1ZTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkbGFzdDogJGtleTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRsYXN0O1xufVxuXG4vLy8gR2V0IGEgdmFsdWUgZm9yIGEgYnJlYWtwb2ludCBmcm9tIGEgcmVzcG9uc2l2ZSBjb25maWcgbWFwIG9yIHNpbmdsZSB2YWx1ZS5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBzaW5nbGUgdmFsdWUsIHJldHVybiBpdCByZWdhcmRsZXNzIG9mIGAkdmFsdWVgLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIG1hcCBhbmQgaGFzIHRoZSBrZXkgYCR2YWx1ZWAsIHRoZSBleGFjdCBicmVha3BvaW50IHZhbHVlIGlzIHJldHVybmVkLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIG1hcCBhbmQgZG9lcyAqbm90KiBoYXZlIHRoZSBicmVha3BvaW50LCB0aGUgdmFsdWUgbWF0Y2hpbmcgdGhlIG5leHQgbG93ZXN0IGJyZWFrcG9pbnQgaW4gdGhlIGNvbmZpZyBtYXAgaXMgcmV0dXJuZWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXAgLSBSZXNwb25zaXZlIGNvbmZpZyBtYXAgb3Igc2luZ2xlIHZhbHVlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHZhbHVlIC0gQnJlYWtwb2ludCBuYW1lIHRvIHVzZS5cbi8vL1xuLy8vIEByZXR1cm4ge01peGVkfSBUaGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlLlxuQGZ1bmN0aW9uIC16Zi1nZXQtYnAtdmFsKCRtYXAsICR2YWx1ZSkge1xuICAvLyBJZiB0aGUgZ2l2ZW4gbWFwIGlzIGEgc2luZ2xlIHZhbHVlLCByZXR1cm4gaXRcbiAgQGlmIHR5cGUtb2YoJG1hcCkgPT0gJ251bWJlcicge1xuICAgIEByZXR1cm4gJG1hcDtcbiAgfVxuXG5cbiAgLy8gQ2hlY2sgaWYgdGhlIGJyZWFrcG9pbnQgbmFtZSBleGlzdHMgZ2xvYmFsbHlcbiAgQGlmIG5vdCBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICR2YWx1ZSkge1xuICAgIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ251bWJlcicge1xuICAgICAgJHZhbHVlOiAtemYtY2xvc2VzdC1uYW1lZC1icmVha3BvaW50KCR2YWx1ZSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICBAcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG4gIC8vIENoZWNrIGlmIHRoZSBicmVha3BvaW50IG5hbWUgZXhpc3RzIGluIHRoZSBsb2NhbCBjb25maWcgbWFwXG4gIEBlbHNlIGlmIG1hcC1oYXMta2V5KCRtYXAsICR2YWx1ZSkge1xuICAgIC8vIElmIGl0IGRvZXMsIGp1c3QgcmV0dXJuIHRoZSB2YWx1ZVxuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCAkdmFsdWUpO1xuICB9XG4gIC8vIE90aGVyd2lzZSwgZmluZCB0aGUgbmV4dCBsb3dlc3QgYnJlYWtwb2ludCBhbmQgcmV0dXJuIHRoYXQgdmFsdWVcbiAgQGVsc2Uge1xuICAgICRhbmNob3I6IG51bGw7XG4gICAgJGZvdW5kOiBmYWxzZTtcblxuICAgIEBlYWNoICRrZXksICR2YWwgaW4gJGJyZWFrcG9pbnRzIHtcbiAgICAgIEBpZiBub3QgJGZvdW5kIHtcbiAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRtYXAsICRrZXkpIHtcbiAgICAgICAgICAkYW5jaG9yOiAka2V5O1xuICAgICAgICB9XG4gICAgICAgIEBpZiAka2V5ID09ICR2YWx1ZSB7XG4gICAgICAgICAgJGZvdW5kOiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsICRhbmNob3IpO1xuICB9XG59XG5cbiRzbWFsbC11cDogJyc7XG4kc21hbGwtb25seTogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHNtYWxsKSB7XG4gICRzbWFsbC11cDogc2NyZWVuO1xuICAkc21hbGwtb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoc21hbGwgb25seSl9Jyk7XG59XG5cbiRtZWRpdW0tdXA6ICcnO1xuJG1lZGl1bS1vbmx5OiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbWVkaXVtKSB7XG4gICRtZWRpdW0tdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSl9Jyk7XG4gICRtZWRpdW0tb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtIG9ubHkpfScpO1xufVxuXG4kbGFyZ2UtdXA6ICcnO1xuJGxhcmdlLW9ubHk6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBsYXJnZSkge1xuICAkbGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlKX0nKTtcbiAgJGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlIG9ubHkpfScpO1xufVxuXG4keGxhcmdlLXVwOiAnJztcbiR4bGFyZ2Utb25seTogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHhsYXJnZSkge1xuICAkeGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2UpfScpO1xuICAkeGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHhsYXJnZSBvbmx5KX0nKTtcbn1cblxuJHh4bGFyZ2UtdXA6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCB4eGxhcmdlKSB7XG4gICR4eGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4eGxhcmdlKX0nKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gQ3JlYXRlcyBhbiBpbm5lciBib3gtc2hhZG93IGZvciBvbmx5IG9uZSBzaWRlXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaWRlIC0gU2lkZSB0aGUgc2hhZG93IGlzIHN1cHBvc2VkIHRvIGFwcGVhci4gQ2FuIGJlIGB0b3BgLCBgbGVmdGAsIGByaWdodGAgb3IgYGJvdHRvbWAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzaXplIC0gV2lkdGggZm9yIHRoZSB0YXJnZXQgc2lkZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciBvZiB0aGUgc2hhZG93LlxuQG1peGluIGlubmVyLXNpZGUtc2hhZG93KFxuICAkc2lkZTogYm90dG9tLFxuICAkc2l6ZTogMjBweCxcbiAgJGNvbG9yOiByZ2JhKCRibGFjaywgMC4yNSlcbikge1xuXG4gICRoZWxwZXI6IHJvdW5kKCRzaXplICogMC42NSk7XG5cbiAgQGlmICgkc2lkZSA9PSB0b3ApIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwICRoZWxwZXIgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfSBAZWxzZSBpZiAoJHNpZGUgPT0gbGVmdCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0ICRoZWxwZXIgMCAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9IEBlbHNlIGlmICgkc2lkZSA9PSByaWdodCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0ICgtMSkqJGhlbHBlciAwICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH0gQGVsc2UgaWYgKCRzaWRlID09IGJvdHRvbSkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgKC0xKSokaGVscGVyICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBDU1MgdHJpYW5nbGUsIHdoaWNoIGNhbiBiZSB1c2VkIGZvciBkcm9wZG93biBhcnJvd3MsIGRyb3Bkb3duIHBpcHMsIGFuZCBtb3JlLiBVc2UgdGhpcyBtaXhpbiBpbnNpZGUgYSBgJjo6YmVmb3JlYCBvciBgJjo6YWZ0ZXJgIHNlbGVjdG9yLCB0byBhdHRhY2ggdGhlIHRyaWFuZ2xlIHRvIGFuIGV4aXN0aW5nIGVsZW1lbnQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRyaWFuZ2xlLXNpemUgLSBXaWR0aCBvZiB0aGUgdHJpYW5nbGUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJHRyaWFuZ2xlLWNvbG9yIC0gQ29sb3Igb2YgdGhlIHRyaWFuZ2xlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHRyaWFuZ2xlLWRpcmVjdGlvbiAtIERpcmVjdGlvbiB0aGUgdHJpYW5nbGUgcG9pbnRzLiBDYW4gYmUgYHVwYCwgYHJpZ2h0YCwgYGRvd25gLCBvciBgbGVmdGAuXG5AbWl4aW4gY3NzLXRyaWFuZ2xlKFxuICAkdHJpYW5nbGUtc2l6ZSxcbiAgJHRyaWFuZ2xlLWNvbG9yLFxuICAkdHJpYW5nbGUtZGlyZWN0aW9uXG4pIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG5cbiAgYm9yZGVyOiBpbnNldCAkdHJpYW5nbGUtc2l6ZTtcblxuICBjb250ZW50OiAnJztcblxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gZG93bikge1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IHVwKSB7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvcjtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gcmlnaHQpIHtcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBsZWZ0KSB7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIG1lbnUgaWNvbiB3aXRoIGEgc2V0IHdpZHRoLCBoZWlnaHQsIG51bWJlciBvZiBiYXJzLCBhbmQgY29sb3JzLiBUaGUgbWl4aW4gdXNlcyB0aGUgaGVpZ2h0IG9mIHRoZSBpY29uIGFuZCB0aGUgd2VpZ2h0IG9mIHRoZSBiYXJzIHRvIGRldGVybWluZSBzcGFjaW5nLiA8ZGl2IGNsYXNzPVwiZG9jcy1leGFtcGxlLWJ1cmdlclwiPjwvZGl2PlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3ItaG92ZXIgWyRkYXJrLWdyYXldIC0gQ29sb3IgdG8gdXNlIHdoZW4gdGhlIGljb24gaXMgaG92ZXJlZCBvdmVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWzIwcHhdIC0gV2lkdGggb2YgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRoZWlnaHQgWzE2cHhdIC0gSGVpZ2h0IG9mIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2VpZ2h0IFsycHhdIC0gSGVpZ2h0IG9mIGluZGl2aWR1YWwgYmFycyBpbiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhcnMgWzNdIC0gTnVtYmVyIG9mIGJhcnMgaW4gdGhlIGljb24uXG5AbWl4aW4gaGFtYnVyZ2VyKFxuICAkY29sb3I6ICRibGFjayxcbiAgJGNvbG9yLWhvdmVyOiAkZGFyay1ncmF5LFxuICAkd2lkdGg6IDIwcHgsXG4gICRoZWlnaHQ6IDE2cHgsXG4gICR3ZWlnaHQ6IDJweCxcbiAgJGJhcnM6IDNcbikge1xuICAvLyBib3gtc2hhZG93IENTUyBvdXRwdXRcbiAgJHNoYWRvdzogKCk7XG4gICRob3Zlci1zaGFkb3c6ICgpO1xuXG4gIC8vIFNwYWNpbmcgYmV0d2VlbiBiYXJzIGlzIGNhbGN1bGF0ZWQgYmFzZWQgb24gdGhlIHRvdGFsIGhlaWdodCBvZiB0aGUgaWNvbiBhbmQgdGhlIHdlaWdodCBvZiBlYWNoIGJhclxuICAkc3BhY2luZzogKCRoZWlnaHQgLSAoJHdlaWdodCAqICRiYXJzKSkgLyAoJGJhcnMgLSAxKTtcblxuICBAaWYgdW5pdCgkc3BhY2luZykgPT0gJ3B4JyB7XG4gICAgJHNwYWNpbmc6IGZsb29yKCRzcGFjaW5nKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xuICAgICRvZmZzZXQ6ICgkd2VpZ2h0ICsgJHNwYWNpbmcpICogKCRpIC0gMSk7XG4gICAgJHNoYWRvdzogYXBwZW5kKCRzaGFkb3csIDAgJG9mZnNldCAwICRjb2xvciwgY29tbWEpO1xuICB9XG5cbiAgLy8gSWNvbiBjb250YWluZXJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAkd2lkdGg7XG4gIGhlaWdodDogJGhlaWdodDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gIC8vIEljb24gYmFyc1xuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAkd2VpZ2h0O1xuXG4gICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG5cbiAgICBjb250ZW50OiAnJztcbiAgfVxuXG4gIC8vIEhvdmVyIHN0YXRlXG4gIEBpZiAkY29sb3ItaG92ZXIge1xuICAgIC8vIEdlbmVyYXRlIENTU1xuICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xuICAgICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcbiAgICAgICRob3Zlci1zaGFkb3c6IGFwcGVuZCgkaG92ZXItc2hhZG93LCAwICRvZmZzZXQgMCAkY29sb3ItaG92ZXIsIGNvbW1hKTtcbiAgICB9XG5cbiAgICAmOmhvdmVyOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItaG92ZXI7XG4gICAgICBib3gtc2hhZG93OiAkaG92ZXItc2hhZG93O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBhIGRvd253YXJkLWZhY2luZyB0cmlhbmdsZSBhcyBhIGJhY2tncm91bmQgaW1hZ2UgdG8gYW4gZWxlbWVudC4gVGhlIGltYWdlIGlzIGZvcm1hdHRlZCBhcyBhbiBTVkcsIG1ha2luZyBpdCBlYXN5IHRvIGNoYW5nZSB0aGUgY29sb3IuIEJlY2F1c2UgSW50ZXJuZXQgRXhwbG9yZXIgZG9lc24ndCBzdXBwb3J0IGVuY29kZWQgU1ZHcyBhcyBiYWNrZ3JvdW5kIGltYWdlcywgYSBQTkcgZmFsbGJhY2sgaXMgYWxzbyBpbmNsdWRlZC5cbi8vLyBUaGVyZSBhcmUgdHdvIFBORyBmYWxsYmFja3M6IGEgYmxhY2sgdHJpYW5nbGUgYW5kIGEgd2hpdGUgdHJpYW5nbGUuIFRoZSBvbmUgdXNlZCBkZXBlbmRzIG9uIHRoZSBsaWdodG5lc3Mgb2YgdGhlIGlucHV0IGNvbG9yLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgdHJpYW5nbGUuXG5AbWl4aW4gYmFja2dyb3VuZC10cmlhbmdsZSgkY29sb3I6ICRibGFjaykge1xuICAkcmdiOiAncmdiJTI4I3tyb3VuZChyZWQoJGNvbG9yKSl9LCAje3JvdW5kKGdyZWVuKCRjb2xvcikpfSwgI3tyb3VuZChibHVlKCRjb2xvcikpfSUyOSc7XG5cbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZlcnNpb249JzEuMScgd2lkdGg9JzMyJyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMzIgMjQnPjxwb2x5Z29uIHBvaW50cz0nMCwwIDMyLDAgMTYsMjQnIHN0eWxlPSdmaWxsOiAjeyRyZ2J9Jz48L3BvbHlnb24+PC9zdmc+XCIpO1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MFxcMCkge1xuICAgIEBpZiBsaWdodG5lc3MoJGNvbG9yKSA8IDYwJSB7XG4gICAgICAvLyBXaGl0ZSB0cmlhbmdsZVxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQUlwSlJFRlVlTnJFa2NrTmdEQU1CQmZSa0V0ME9iUkJCZHNHWFVEZ21RZks0WGhIMm04Y3pRQUF5MjdSM3RzdzRRZmUyeDh1T082b1lMYjZHbE9vcjNHRitzd1VSQU9tVUorUnd0RUpzOVd2VEdFWXhCWHFJMU1RQVpoQ2ZVUUtSekRNVmorVHdyQUlWNmp2U1VFa1lBcjFMU2tjeVRCYi9WK0tZZlg3eEFldXNxM3NMRHRHSDNrRUdBQ1BXSWZsTlpmaFJRQUFBQUJKUlU1RXJrSmdnZz09Jyk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIC8vIEJsYWNrIHRyaWFuZ2xlXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBTUJKUkVGVWVOckVsbHNPaENBTVJWc3pDOUlselU3S0NtVkhUSnNvTVdZTVV0cHl2OUJnYnVYUUI1WlNkZ0JZWVk0eWNnQml2azhLWUZzUU1mTWlUVEJQNG8zblV6Q0t6T2FiTEpiTHkyL2czMWV2R2tBZ2luUjQvWmVnS0g1cVgzYkpDc2NBM3QweDNrZ081dFFGeWhoRmY1MHhScUZMYnlNVU5KUXpneWpHUy93Z0Nwdktxa1JCcHVXckU0VjlkKzFFNGRQVVhxSWcxMDdTUU9FLzJEUlF4TXdURHlnSUluVkRFVDlUM2xDb2ovNmovVkNtR2paT2wybEtwWjhBQXdEUVA3eklpbURHRlFBQUFBQkpSVTVFcmtKZ2dnPT0nKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFwcGxpZXMgdGhlIG1pY3JvIGNsZWFyZml4IGhhY2sgcG9wdWxhcml6ZWQgYnkgTmljb2xhcyBHYWxsYWdoZXIuIEluY2x1ZGUgdGhpcyBtaXhpbiBvbiBhIGNvbnRhaW5lciBpZiBpdHMgY2hpbGRyZW4gYXJlIGFsbCBmbG9hdGVkLCB0byBnaXZlIHRoZSBjb250YWluZXIgYSBwcm9wZXIgaGVpZ2h0LlxuLy8vIFRoZSBjbGVhcmZpeCBpcyBhdWdtZW50ZWQgd2l0aCBzcGVjaWZpYyBzdHlsZXMgdG8gcHJldmVudCBib3JkZXJzIGluIGZsZXhib3ggZW52aXJvbm1lbnRzXG4vLy8gQGxpbmsgaHR0cDovL25pY29sYXNnYWxsYWdoZXIuY29tL21pY3JvLWNsZWFyZml4LWhhY2svIE1pY3JvIENsZWFyZml4IEhhY2tcbi8vLyBAbGluayBodHRwOi8vZGFuaXNhZGVzaWduZXIuY29tL2Jsb2cvZmxleGJveC1jbGVhci1maXgtcHNldWRvLWVsZW1lbnRzLyBGbGV4Ym94IGZpeFxuQG1peGluIGNsZWFyZml4IHtcbiAgJjo6YmVmb3JlLFxuICAmOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4LWJhc2lzOiAwO1xuICAgICAgb3JkZXI6IDE7XG4gICAgfVxuICB9XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG59XG5cbi8vLyBBZGRzIENTUyBmb3IgYSBcInF1YW50aXR5IHF1ZXJ5XCIgc2VsZWN0b3IgdGhhdCBhdXRvbWF0aWNhbGx5IHNpemVzIGVsZW1lbnRzIGJhc2VkIG9uIGhvdyBtYW55IHRoZXJlIGFyZSBpbnNpZGUgYSBjb250YWluZXIuXG4vLy8gQGxpbmsgaHR0cDovL2FsaXN0YXBhcnQuY29tL2FydGljbGUvcXVhbnRpdHktcXVlcmllcy1mb3ItY3NzIFF1YW50aXR5IFF1ZXJpZXMgZm9yIENTU1xuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXggLSBNYXhpbXVtIG51bWJlciBvZiBpdGVtcyB0byBkZXRlY3QuIFRoZSBoaWdoZXIgdGhpcyBudW1iZXIgaXMsIHRoZSBtb3JlIENTUyB0aGF0J3MgcmVxdWlyZWQgdG8gY292ZXIgZWFjaCBudW1iZXIgb2YgaXRlbXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZWxlbSBbbGldIC0gVGFnIHRvIHVzZSBmb3Igc2libGluZyBzZWxlY3RvcnMuXG5AbWl4aW4gYXV0by13aWR0aCgkbWF4LCAkZWxlbTogbGkpIHtcbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkbWF4IHtcbiAgICAmOm50aC1sYXN0LWNoaWxkKCN7JGl9KTpmaXJzdC1jaGlsZCxcbiAgICAmOm50aC1sYXN0LWNoaWxkKCN7JGl9KTpmaXJzdC1jaGlsZCB+ICN7JGVsZW19IHtcbiAgICAgIHdpZHRoOiBwZXJjZW50YWdlKDEgLyAkaSk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBSZW1vdmVzIHRoZSBmb2N1cyByaW5nIGFyb3VuZCBhbiBlbGVtZW50IHdoZW4gYSBtb3VzZSBpbnB1dCBpcyBkZXRlY3RlZC5cbkBtaXhpbiBkaXNhYmxlLW1vdXNlLW91dGxpbmUge1xuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gJiB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxufVxuXG4vLy8gTWFrZXMgYW4gZWxlbWVudCB2aXN1YWxseSBoaWRkZW4sIGJ1dCBzdGlsbCBhY2Nlc3NpYmxlIHRvIGtleWJvYXJkcyBhbmQgYXNzaXN0aXZlIGRldmljZXMuXG4vLy8gQGxpbmsgaHR0cDovL3Nub29rLmNhL2FyY2hpdmVzL2h0bWxfYW5kX2Nzcy9oaWRpbmctY29udGVudC1mb3ItYWNjZXNzaWJpbGl0eSBIaWRpbmcgQ29udGVudCBmb3IgQWNjZXNzaWJpbGl0eVxuLy8vIEBsaW5rIGh0dHA6Ly9odWdvZ2lyYXVkZWwuY29tLzIwMTYvMTAvMTMvY3NzLWhpZGUtYW5kLXNlZWsvXG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwwLDAsMCk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJvcmRlcjogMDtcbn1cblxuLy8vIFJldmVyc2VzIHRoZSBDU1Mgb3V0cHV0IGNyZWF0ZWQgYnkgdGhlIGBlbGVtZW50LWludmlzaWJsZSgpYCBtaXhpbi5cbkBtaXhpbiBlbGVtZW50LWludmlzaWJsZS1vZmYge1xuICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBjbGlwOiBhdXRvO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xufVxuXG4vLy8gVmVydGljYWxseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiB2ZXJ0aWNhbC1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbi8vLyBIb3Jpem9udGFsbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gaG9yaXpvbnRhbC1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xufVxuXG4vLy8gQWJzb2x1dGVseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiBhYnNvbHV0ZS1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xufVxuXG4vLy8gSXRlcmF0ZXMgdGhyb3VnaCBicmVha3BvaW50cyBkZWZpbmVkIGluIGAkYnJlYWtwb2ludC1jbGFzc2VzYCBhbmQgcHJpbnRzIHRoZSBDU1MgaW5zaWRlIHRoZSBtaXhpbiBhdCBlYWNoIGJyZWFrcG9pbnQncyBtZWRpYSBxdWVyeS4gVXNlIHRoaXMgd2l0aCB0aGUgZ3JpZCwgb3IgYW55IG90aGVyIGNvbXBvbmVudCB0aGF0IGhhcyByZXNwb25zaXZlIGNsYXNzZXMuXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRzbWFsbCBbdHJ1ZV0gLSBJZiBgZmFsc2VgLCB0aGUgbWl4aW4gd2lsbCBza2lwIHRoZSBgc21hbGxgIGJyZWFrcG9pbnQuIFVzZSB0aGlzIHdpdGggY29tcG9uZW50cyB0aGF0IGRvbid0IHByZWZpeCBjbGFzc2VzIHdpdGggYHNtYWxsLWAsIG9ubHkgYG1lZGl1bS1gIGFuZCB1cC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRhdXRvLWluc2VydC1icmVha3BvaW50cyBbdHJ1ZV0gLSBJZiBgZmFsc2VgLCB0aGUgbWl4aW4gd2lsbCBpdGVyYXRlIG92ZXIgYnJlYWtwb2ludHMgd2l0aG91dCBkb2luZyB0aGUgbWVkaWEgcXVlcnkgaXRzZWxmLiBVc2VmdWwgZm9yIG1vcmUgY29tcGxleCBtZWRpYSBxdWVyeSBnZW5lcmF0aW9uIGFzIGluIHRoZSBtYXJnaW4gZ3JpZC5cbkBtaXhpbiAtemYtZWFjaC1icmVha3BvaW50KCRzbWFsbDogdHJ1ZSwgJGF1dG8taW5zZXJ0LWJyZWFrcG9pbnRzOiB0cnVlKSB7XG4gICRsaXN0OiAkYnJlYWtwb2ludC1jbGFzc2VzO1xuXG4gIEBpZiBub3QgJHNtYWxsIHtcbiAgICAkbGlzdDogc2wtcmVtb3ZlKCRsaXN0LCAkLXpmLXplcm8tYnJlYWtwb2ludCk7XG4gIH1cblxuICBAZWFjaCAkbmFtZSBpbiAkbGlzdCB7XG4gICAgJG9sZC16Zi1zaXplOiBudWxsO1xuICAgIEBpZiBnbG9iYWwtdmFyaWFibGUtZXhpc3RzKC16Zi1zaXplKSB7XG4gICAgICAkb2xkLXpmLXNpemU6ICQtemYtc2l6ZTtcbiAgICB9XG4gICAgJC16Zi1zaXplOiAkbmFtZSAhZ2xvYmFsO1xuXG4gICAgQGlmICRhdXRvLWluc2VydC1icmVha3BvaW50cyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG5cbiAgICAkLXpmLXNpemU6ICRvbGQtemYtc2l6ZSAhZ2xvYmFsO1xuICB9XG59XG5cbi8vLyBHZW5lcmF0ZSB0aGUgYEBjb250ZW50YCBwYXNzZWQgdG8gdGhlIG1peGluIHdpdGggYSB2YWx1ZSBgJC16Zi1icC12YWx1ZWAgcmVsYXRlZCB0byBhIGJyZWFrcG9pbnQsIGRlcGVuZGluZyBvbiB0aGUgYCRuYW1lYCBwYXJhbWV0ZXI6XG4vLy8gLSBGb3IgYSBzaW5nbGUgdmFsdWUsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGlzIHZhbHVlLlxuLy8vIC0gRm9yIGEgYnJlYWtwb2ludCBuYW1lLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZSBpbiBgJG1hcGAuXG4vLy8gLSBGb3IgXCJhdXRvXCIsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlIGluIGAkbWFwYCBhbmQgaXMgcGFzc2VkIHRvIGBAY29udGVudGAsIHdoaWNoIGlzIG1hZGUgcmVzcG9uc2l2ZSBmb3IgZWFjaCBicmVha3BvaW50IG9mIGAkbWFwYC5cbi8vLyBAcGFyYW0ge051bWJlcnxBcnJheXxLZXl3b3JkfSAkbmFtZSBbYXV0b10gLSBTaW5nbGUgdmFsdWUsIGJyZWFrcG9pbnQgbmFtZSwgb3IgbGlzdCBvZiBicmVha3BvaW50IG5hbWVzIHRvIHVzZS4gXCJhdXRvXCIgYnkgZGVmYXVsdC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXAgLSBNYXAgb2YgYnJlYWtwb2ludHMgYW5kIHZhbHVlcyBvciBzaW5nbGUgdmFsdWUgdG8gdXNlLlxuQG1peGluIC16Zi1icmVha3BvaW50LXZhbHVlKFxuICAkbmFtZTogYXV0byxcbiAgJG1hcDogbnVsbFxuKSB7XG4gIEBpZiAkbmFtZSA9PSBhdXRvIGFuZCB0eXBlLW9mKCRtYXApID09ICdtYXAnIHtcbiAgICAvLyBcImF1dG9cIlxuICAgIEBlYWNoICRrLCAkdiBpbiAkbWFwIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGspIHtcbiAgICAgICAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoJHYsICRtYXApIHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLy8gYnJlYWtwb2ludCBuYW1lXG4gICAgQGlmIHR5cGUtb2YoJG5hbWUpID09ICdzdHJpbmcnIHtcbiAgICAgICRuYW1lOiAtemYtZ2V0LWJwLXZhbCgkbWFwLCAkbmFtZSk7XG4gICAgfVxuXG4gICAgLy8gYnJlYWtwb2ludCB2YWx1ZVxuICAgICQtemYtYnAtdmFsdWU6ICRuYW1lICFnbG9iYWw7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4kLXpmLWZvbnQtc3RhY2s6IChcbiAgJ2dlb3JnaWEnOiAoR2VvcmdpYSwgXCJVUlcgQm9va21hbiBMXCIsIHNlcmlmKSxcbiAgJ2hlbHZldGljYSc6IChIZWx2ZXRpY2EsIEFyaWFsLCBcIk5pbWJ1cyBTYW5zIExcIiwgc2Fucy1zZXJpZiksXG4gICdsdWNpZGEtZ3JhbmRlJzogKFwiTHVjaWRhIEdyYW5kZVwiLCBcIkx1Y2lkYSBTYW5zIFVuaWNvZGVcIiwgXCJCaXRzdHJlYW0gVmVyYSBTYW5zXCIsIHNhbnMtc2VyaWYpLFxuICAnbW9ub3NwYWNlJzogKFwiQ291cmllciBOZXdcIiwgQ291cmllciwgXCJOaW1idXMgU2FucyBMXCIsIG1vbm9zcGFjZSksXG4gICdzeXN0ZW0nOiAoLWFwcGxlLXN5c3RlbSwgc3lzdGVtLXVpLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgXCJSb2JvdG9cIiwgXCJPeHlnZW5cIiwgXCJVYnVudHVcIiwgXCJDYW50YXJlbGxcIiwgXCJGaXJhIFNhbnNcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmKSxcbiAgJ3ZlcmRhbmEnOiAoVmVyZGFuYSwgR2VuZXZhLCBcIkRlamFWdSBTYW5zXCIsIHNhbnMtc2VyaWYpLFxuKTtcblxuLy8vIFJldHVybiBhIGZvbnQgc3RhY2sgbGlzdCBmcm9tIGEgbWFwLiBFcXVpdmFsZW50IHRvIGBtYXAtc2FmZS1nZXQoJG5hbWUsICQtemYtZm9udC1zdGFjaylgLlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzdGFjayAtIE5hbWUgb2YgdGhlIGZvbnQgc3RhY2suXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgWyQtemYtZm9udC1zdGFja10gLSBNYXAgb2YgZm9udCBzdGFja3MgdG8gcmV0cmlldmUgYSBsaXN0IGZyb20uXG4vLy9cbi8vLyBAcmV0dXJucyB7TGlzdH0gRm91bmQgZm9udCBzdGFjay5cbkBmdW5jdGlvbiBmb250LXN0YWNrKCRzdGFjaywgJG1hcDogJC16Zi1mb250LXN0YWNrKSB7XG4gIEByZXR1cm4gbWFwLXNhZmUtZ2V0KCRtYXAsICRzdGFjayk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8gc2Fzcy1saW50OmRpc2FibGUgbm8tY29sb3ItbGl0ZXJhbHMsIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcblxuLy8vL1xuLy8vIEBncm91cCBnbG9iYWxcbi8vLy9cblxuQGltcG9ydCAndXRpbC91dGlsJztcblxuLy8vIEZvbnQgc2l6ZSBhdHRyaWJ1dGUgYXBwbGllZCB0byBgPGh0bWw+YCBhbmQgYDxib2R5PmAuIFdlIHVzZSAxMDAlIGJ5IGRlZmF1bHQgc28gdGhlIHZhbHVlIGlzIGluaGVyaXRlZCBmcm9tIHRoZSB1c2VyJ3MgYnJvd3NlciBzZXR0aW5ncy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtZm9udC1zaXplOiAxMDAlICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHdpZHRoIG9mIHlvdXIgc2l0ZS4gVXNlZCBieSB0aGUgZ3JpZCB0byBkZXRlcm1pbmUgcm93IHdpZHRoLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC13aWR0aDogcmVtLWNhbGMoMTIwMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGxpbmUgaGVpZ2h0IGZvciBhbGwgdHlwZS4gYCRnbG9iYWwtbGluZWhlaWdodGAgaXMgMjRweCB3aGlsZSBgJGdsb2JhbC1mb250LXNpemVgIGlzIDE2cHhcbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbGluZWhlaWdodDogMS41ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JzIHVzZWQgZm9yIGJ1dHRvbnMsIGNhbGxvdXRzLCBsaW5rcywgZXRjLiBUaGVyZSBtdXN0IGFsd2F5cyBiZSBhIGNvbG9yIGNhbGxlZCBgcHJpbWFyeWAuXG4vLy8gQHR5cGUgTWFwXG4kZm91bmRhdGlvbi1wYWxldHRlOiAoXG4gIHByaW1hcnk6ICMxNzc5YmEsXG4gIHNlY29uZGFyeTogIzc2NzY3NixcbiAgc3VjY2VzczogIzNhZGI3NixcbiAgd2FybmluZzogI2ZmYWUwMCxcbiAgYWxlcnQ6ICNjYzRiMzcsXG4pICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgbGlnaHQgZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGxpZ2h0LWdyYXk6ICNlNmU2ZTYgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBtZWRpdW0gZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJG1lZGl1bS1ncmF5OiAjY2FjYWNhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgZGFyayBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kZGFyay1ncmF5OiAjOGE4YThhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgYmxhY2sgdWkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRibGFjazogIzBhMGEwYSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIHdoaXRlIHVpIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kd2hpdGU6ICNmZWZlZmUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIENvbG9yXG4kYm9keS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIENvbG9yXG4kYm9keS1mb250LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHN0YWNrIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIExpc3RcbiRib2R5LWZvbnQtZmFtaWx5OiAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG5cbi8vLyBTZXQgdG8gYHRydWVgIHRvIGVuYWJsZSBhbnRpYWxpYXNlZCB0eXBlLCB1c2luZyB0aGUgYC13ZWJraXQtZm9udC1zbW9vdGhpbmdgIGFuZCBgLW1vei1vc3gtZm9udC1zbW9vdGhpbmdgIENTUyBwcm9wZXJ0aWVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRib2R5LWFudGlhbGlhc2VkOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIG1hcmdpbiBvbiBjb21wb25lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgcGFkZGluZyBvbiBjb21wb25lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIHBvc2l0aW9uaW5nIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXBvc2l0aW9uOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIGZvbnQgd2VpZ2h0IHVzZWQgZm9yIG5vcm1hbCB0eXBlLlxuLy8vIEB0eXBlIEtleXdvcmQgfCBOdW1iZXJcbiRnbG9iYWwtd2VpZ2h0LW5vcm1hbDogbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIGZvbnQgd2VpZ2h0IHVzZWQgZm9yIGJvbGQgdHlwZS5cbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXG4kZ2xvYmFsLXdlaWdodC1ib2xkOiBib2xkICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIGFsbCBlbGVtZW50cyB0aGF0IGhhdmUgYSBib3JkZXIgcmFkaXVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1yYWRpdXM6IDAgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgYWxsIG1lbnUgc3R5bGVzLiBDYW4gYmUgb3ZlcndyaXR0ZW4gYXQgaW5kaXZpZHVhbCBtZW51IGNvbXBvbmVudCBsZXZlbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbWVudS1wYWRkaW5nOiAwLjdyZW0gMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBhbGwgbWVudSBzdHlsZXMuIE5lc3RlZCBtYXJnaW4gZm9yIHN1Ym1lbnUuXG4kZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFNldHMgdGhlIHRleHQgZGlyZWN0aW9uIG9mIHRoZSBDU1MuIENhbiBiZSBlaXRoZXIgYGx0cmAgb3IgYHJ0bGAuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGdsb2JhbC10ZXh0LWRpcmVjdGlvbjogbHRyICFkZWZhdWx0O1xuXG4vLy8gRW5hYmxlcyBmbGV4Ym94IGZvciBjb21wb25lbnRzIHRoYXQgc3VwcG9ydCBpdC5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZ2xvYmFsLWZsZXhib3g6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBFbmFibGVkIHJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIHByb3RvdHlwZXMgaWYgYXBwbGljYWJsZVxuLy8vIEB0eXBlIEJvb2xlYW5cbiRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIEJ1dHRvbiBjdXJzb3IncyB2YWx1ZSwgYGF1dG9gIGJ5IGRlZmF1bHRcbi8vLyBAdHlwZSBLZXl3b3JkXG4kZ2xvYmFsLWJ1dHRvbi1jdXJzb3I6IGF1dG8gIWRlZmF1bHQ7XG5cbkBpZiBub3QgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkge1xuICBAZXJyb3IgJ0luICRmb3VuZGF0aW9uLXBhbGV0dGUsIHlvdSBtdXN0IGhhdmUgYSBjb2xvciBuYW1lZCBcInByaW1hcnlcIi4nO1xufVxuXG4vLyBJbnRlcm5hbCB2YXJpYWJsZXMgdXNlZCBmb3IgdGV4dCBkaXJlY3Rpb25cbiRnbG9iYWwtbGVmdDogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIHJpZ2h0LCBsZWZ0KTtcbiRnbG9iYWwtcmlnaHQ6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCBsZWZ0LCByaWdodCk7XG5cbi8vIEludGVybmFsIHZhcmlhYmxlIHRoYXQgY29udGFpbnMgdGhlIGZsZXgganVzdGlmeWluZyBvcHRpb25zXG4kLXpmLWZsZXgtanVzdGlmeTogLXpmLWZsZXgtanVzdGlmeSgkZ2xvYmFsLXRleHQtZGlyZWN0aW9uKTtcblxuLy8vIEdsb2JhbCB0b2xlcmFuY2UgZm9yIGNvbG9yIHBpY2sgY29udHJhc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWNvbG9yLXBpY2stY29udHJhc3QtdG9sZXJhbmNlOiAwICFkZWZhdWx0O1xuXG4vLyBJbnRlcm5hbCB2YXJpYWJsZXMgdXNlZCBmb3IgY29sb3JzXG5AaW5jbHVkZSBhZGQtZm91bmRhdGlvbi1jb2xvcnM7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWdsb2JhbC1zdHlsZXMge1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW5vcm1hbGl6ZTtcblxuICAvLyBUaGVzZSBzdHlsZXMgYXJlIGFwcGxpZWQgdG8gYSA8bWV0YT4gdGFnLCB3aGljaCBpcyByZWFkIGJ5IHRoZSBGb3VuZGF0aW9uIEphdmFTY3JpcHRcbiAgLmZvdW5kYXRpb24tbXEge1xuICAgIGZvbnQtZmFtaWx5OiAnI3stemYtYnAtc2VyaWFsaXplKCRicmVha3BvaW50cyl9JztcbiAgfVxuXG4gIGh0bWwge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIFNldCBib3gtc2l6aW5nIGdsb2JhbGx5IHRvIGhhbmRsZSBwYWRkaW5nIGFuZCBib3JkZXIgd2lkdGhzXG4gICosXG4gICo6OmJlZm9yZSxcbiAgKjo6YWZ0ZXIge1xuICAgIGJveC1zaXppbmc6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBEZWZhdWx0IGJvZHkgc3R5bGVzXG4gIGJvZHkge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcblxuICAgIGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQ7XG4gICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG5cbiAgICBAaWYgKCRib2R5LWFudGlhbGlhc2VkKSB7XG4gICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4ZXNcbiAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeGVzXG4gICAgfVxuICB9XG5cbiAgaW1nIHtcbiAgICAvLyBHZXQgcmlkIG9mIGdhcCB1bmRlciBpbWFnZXMgYnkgbWFraW5nIHRoZW0gZGlzcGxheTogaW5saW5lLWJsb2NrOyBieSBkZWZhdWx0XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAvLyBHcmlkIGRlZmF1bHRzIHRvIGdldCBpbWFnZXMgYW5kIGVtYmVkcyB0byB3b3JrIHByb3Blcmx5XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljO1xuICB9XG5cbiAgLy8gTWFrZSBzdXJlIHRleHRhcmVhIHRha2VzIG9uIGhlaWdodCBhdXRvbWF0aWNhbGx5XG4gIHRleHRhcmVhIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWluLWhlaWdodDogNTBweDtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gIC8vIE1ha2Ugc2VsZWN0IGVsZW1lbnRzIGFyZSAxMDAlIHdpZHRoIGJ5IGRlZmF1bHRcbiAgc2VsZWN0IHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgLy8gU3R5bGVzIEdvb2dsZSBNYXBzIGFuZCBNYXBRdWVzdCBlbWJlZHMgcHJvcGVybHlcbiAgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1pZHNcbiAgLm1hcF9jYW52YXMsXG4gIC5tcWEtZGlzcGxheSB7XG4gICAgaW1nLFxuICAgIGVtYmVkLFxuICAgIG9iamVjdCB7XG4gICAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCA8YnV0dG9uPiBzdHlsZXMgY3JlYXRlZCBieSBtb3N0IGJyb3dzZXJzXG4gIGJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY3Vyc29yOiAkZ2xvYmFsLWJ1dHRvbi1jdXJzb3I7XG4gIH1cblxuICAvLyBQcmV2ZW50IHRleHQgb3ZlcmZsb3cgb24gcHJlXG4gIHByZSB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gIH1cblxuICAvLyBNYWtlIHJlc2V0IGluaGVyaXQgZm9udC1mYW1pbHkgaW5zdGVhZCBvZiBzZXR0aW5ncyBzYW5zLXNlcmlmXG4gIGJ1dHRvbixcbiAgaW5wdXQsXG4gIG9wdGdyb3VwLFxuICBzZWxlY3QsXG4gIHRleHRhcmVhIHtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIEludGVybmFsIGNsYXNzZXMgdG8gc2hvdy9oaWRlIGVsZW1lbnRzIGluIEphdmFTY3JpcHRcbiAgLmlzLXZpc2libGUge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuaXMtaGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBHbG9iYWwgc3BhY2luZyBmb3IgZm9ybSBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmb3JtLXNwYWNpbmc6IHJlbS1jYWxjKDE2KSAhZGVmYXVsdDtcblxuQGltcG9ydCAndGV4dCc7XG5AaW1wb3J0ICdjaGVja2JveCc7XG5AaW1wb3J0ICdsYWJlbCc7XG5AaW1wb3J0ICdoZWxwLXRleHQnO1xuQGltcG9ydCAnaW5wdXQtZ3JvdXAnO1xuQGltcG9ydCAnZmllbGRzZXQnO1xuQGltcG9ydCAnc2VsZWN0JztcbkBpbXBvcnQgJ3JhbmdlJztcbkBpbXBvcnQgJ3Byb2dyZXNzJztcbkBpbXBvcnQgJ21ldGVyJztcbkBpbXBvcnQgJ2Vycm9yJztcblxuQG1peGluIGZvdW5kYXRpb24tZm9ybXMge1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZvcm0tdGV4dDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mb3JtLWNoZWNrYm94O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZvcm0tbGFiZWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZm9ybS1oZWxwdGV4dDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mb3JtLXByZXBvc3RmaXg7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZm9ybS1maWVsZHNldDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mb3JtLXNlbGVjdDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mb3JtLWVycm9yO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIEZvbnQgY29sb3Igb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBvZiBwbGFjZWhvbGRlciB0ZXh0IHdpdGhpbiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlseSBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBGb250XG4kaW5wdXQtZm9udC1mYW1pbHk6IGluaGVyaXQgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaW5wdXQtZm9udC1zaXplOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaW5wdXQtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRpbnB1dC1saW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgZm9jdXNlZCBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQtZm9jdXM6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgZGlzYWJsZWQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kaW5wdXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCBmb2N1c2VkIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYm9yZGVyLWZvY3VzOiAxcHggc29saWQgJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wYWRkaW5nOiAkZm9ybS1zcGFjaW5nIC8gMiAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgaW5zaWRlIHRleHQgaW5wdXRzIHdoZW4gbm90IGZvY3VzZWQuXG4vLy8gQHR5cGUgU2hhZG93XG4kaW5wdXQtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSgkYmxhY2ssIDAuMSkgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IG91dHNpZGUgdGV4dCBpbnB1dHMgd2hlbiBmb2N1c2VkLlxuLy8vIEB0eXBlIFNoYWRvd1xuJGlucHV0LXNoYWRvdy1mb2N1czogMCAwIDVweCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBDdXJzb3IgdG8gdXNlIHdoZW4gaG92ZXJpbmcgb3ZlciBhIGRpc2FibGVkIHRleHQgaW5wdXQuXG4vLy8gQHR5cGUgQ3Vyc29yXG4kaW5wdXQtY3Vyc29yLWRpc2FibGVkOiBub3QtYWxsb3dlZCAhZGVmYXVsdDtcblxuLy8vIFByb3BlcnRpZXMgdG8gdHJhbnNpdGlvbiBvbiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBUcmFuc2l0aW9uXG4kaW5wdXQtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbi8vLyBFbmFibGVzIHRoZSB1cC9kb3duIGJ1dHRvbnMgdGhhdCBDaHJvbWUgYW5kIEZpcmVmb3ggYWRkIHRvIGA8aW5wdXQgdHlwZT0nbnVtYmVyJz5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRpbnB1dC1udW1iZXItc3Bpbm5lcnM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBSYWRpdXMgZm9yIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEJvcmRlclxuJGlucHV0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGZvciBmb3JtIGJ1dHRvbnMsIGRlZmF1bHRlZCB0byBnbG9iYWwtcmFkaXVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLWVsZW1lbnQge1xuICAkaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSAqIHVuaXRsZXNzLWNhbGMoJGlucHV0LWxpbmUtaGVpZ2h0KSkgKyAoZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICd0b3AnKSArIGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAnYm90dG9tJykpIC0gcmVtLWNhbGMoMSk7XG5cbiAgZGlzcGxheTogYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nO1xuXG4gIGJvcmRlcjogJGlucHV0LWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJGlucHV0LXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQ7XG4gIGJveC1zaGFkb3c6ICRpbnB1dC1zaGFkb3c7XG5cbiAgZm9udC1mYW1pbHk6ICRpbnB1dC1mb250LWZhbWlseTtcbiAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGlucHV0LWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGlucHV0LWNvbG9yO1xuXG4gIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgfVxuXG4gIC8vIEZvY3VzIHN0YXRlXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLWZvY3VzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzO1xuICAgIGJveC1zaGFkb3c6ICRpbnB1dC1zaGFkb3ctZm9jdXM7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS10ZXh0IHtcbiAgLy8gVGV4dCBpbnB1dHNcbiAgI3t0ZXh0LWlucHV0cygpfSxcbiAgdGV4dGFyZWEge1xuICAgIEBpbmNsdWRlIGZvcm0tZWxlbWVudDtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICB9XG5cbiAgLy8gVGV4dCBhcmVhc1xuICB0ZXh0YXJlYSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuXG4gICAgJltyb3dzXSB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuICB9XG5cbiAgaW5wdXQsXG4gIHRleHRhcmVhIHtcbiAgICAvLyBEaXNhYmxlZC9yZWFkb25seSBzdGF0ZVxuICAgICY6ZGlzYWJsZWQsXG4gICAgJltyZWFkb25seV0ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ7XG4gICAgICBjdXJzb3I6ICRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgc3R5bGVzIG9uIGJ1dHRvbi1saWtlIGlucHV0c1xuICBbdHlwZT0nc3VibWl0J10sXG4gIFt0eXBlPSdidXR0b24nXSB7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAkZm9ybS1idXR0b24tcmFkaXVzO1xuICB9XG5cbiAgLy8gUmVzZXQgTm9ybWFsaXplIHNldHRpbmcgY29udGVudC1ib3ggdG8gc2VhcmNoIGVsZW1lbnRzXG4gIGlucHV0W3R5cGU9J3NlYXJjaCddIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgfVxuXG4gIC8vIE51bWJlciBpbnB1dCBzdHlsZXNcbiAgW3R5cGU9J251bWJlciddIHtcbiAgICBAaWYgbm90ICRpbnB1dC1udW1iZXItc3Bpbm5lcnMge1xuICAgICAgLW1vei1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeGVzXG5cbiAgICAgICY6Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG4gICAgICAmOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUGxhY2Vob2xkZXIgdGV4dFxuICA6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWNoZWNrYm94IHtcbiAgW3R5cGU9J2ZpbGUnXSxcbiAgW3R5cGU9J2NoZWNrYm94J10sXG4gIFt0eXBlPSdyYWRpbyddIHtcbiAgICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICB9XG5cbiAgLy8gU3R5bGVzIGZvciBpbnB1dC9sYWJlbCBzaWJsaW5nc1xuICBbdHlwZT0nY2hlY2tib3gnXSArIGxhYmVsLFxuICBbdHlwZT0ncmFkaW8nXSArIGxhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuXG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGZvcm0tc3BhY2luZyAqIDAuNTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGZvcm0tc3BhY2luZztcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgJltmb3JdIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gIH1cblxuICAvLyBTdHlsZXMgZm9yIGlucHV0cyBpbnNpZGUgbGFiZWxzXG4gIGxhYmVsID4gW3R5cGU9J2NoZWNrYm94J10sXG4gIGxhYmVsID4gW3R5cGU9J3JhZGlvJ10ge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkZm9ybS1zcGFjaW5nICogMC41O1xuICB9XG5cbiAgLy8gTm9ybWFsaXplIGZpbGUgaW5wdXQgd2lkdGhcbiAgW3R5cGU9J2ZpbGUnXSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBDb2xvciBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRmb3JtLWxhYmVsLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGZvcm0gbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tbGFiZWwtZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IGZvciBmb3JtIGxhYmVscy4gVGhlIGhpZ2hlciB0aGUgbnVtYmVyLCB0aGUgbW9yZSBzcGFjZSBiZXR3ZWVuIHRoZSBsYWJlbCBhbmQgaXRzIGlucHV0IGZpZWxkLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ6IDEuOCAhZGVmYXVsdDtcblxuQG1peGluIGZvcm0tbGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuXG4gIGZvbnQtc2l6ZTogJGZvcm0tbGFiZWwtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkZm9ybS1sYWJlbC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yO1xufVxuXG5AbWl4aW4gZm9ybS1sYWJlbC1taWRkbGUge1xuICAkaW5wdXQtYm9yZGVyLXdpZHRoOiBnZXQtYm9yZGVyLXZhbHVlKCRpbnB1dC1ib3JkZXIsIHdpZHRoKTtcblxuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICBwYWRkaW5nOiAoJGZvcm0tc3BhY2luZyAvIDIgKyByZW0tY2FsYygkaW5wdXQtYm9yZGVyLXdpZHRoKSkgMDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1sYWJlbCB7XG4gIGxhYmVsIHtcbiAgICBAaW5jbHVkZSBmb3JtLWxhYmVsO1xuXG4gICAgJi5taWRkbGUge1xuICAgICAgQGluY2x1ZGUgZm9ybS1sYWJlbC1taWRkbGU7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgaGVscCB0ZXh0LlxuLy8vIEB0eXBlIENvbG9yXG4kaGVscHRleHQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBoZWxwIHRleHQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaGVscHRleHQtZm9udC1zaXplOiByZW0tY2FsYygxMykgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc3R5bGUgZm9yIGhlbHAgdGV4dC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaGVscHRleHQtZm9udC1zdHlsZTogaXRhbGljICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWhlbHB0ZXh0IHtcbiAgLmhlbHAtdGV4dCB7XG4gICAgJG1hcmdpbi10b3A6ICgkZm9ybS1zcGFjaW5nICogMC41KSAqIC0xO1xuXG4gICAgbWFyZ2luLXRvcDogJG1hcmdpbi10b3A7XG4gICAgZm9udC1zaXplOiAkaGVscHRleHQtZm9udC1zaXplO1xuICAgIGZvbnQtc3R5bGU6ICRoZWxwdGV4dC1mb250LXN0eWxlO1xuICAgIGNvbG9yOiAkaGVscHRleHQtY29sb3I7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBDb2xvciBvZiBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wcmVmaXgtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgbGFiZWxzIHByZWZpeGVkIHRvIGFuIGlucHV0LlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcHJlZml4LWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQm9yZGVyXG4kaW5wdXQtcHJlZml4LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIExlZnQvcmlnaHQgcGFkZGluZyBvZiBhbiBwcmUvcG9zdGZpeGVkIGlucHV0IGxhYmVsXG4kaW5wdXQtcHJlZml4LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tcHJlcG9zdGZpeCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICogJGlucHV0LWxpbmUtaGVpZ2h0KSArIChnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ3RvcCcpICsgZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICdib3R0b20nKSkgLSByZW0tY2FsYygxKTtcblxuICAuaW5wdXQtZ3JvdXAge1xuICAgIGRpc3BsYXk6IGlmKCRnbG9iYWwtZmxleGJveCwgZmxleCwgdGFibGUpO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmc7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIH1cblxuICAgID4gOmZpcnN0LWNoaWxkIHtcbiAgICAgICYsICYuaW5wdXQtZ3JvdXAtYnV0dG9uID4gKiB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCAwICRpbnB1dC1yYWRpdXMgJGlucHV0LXJhZGl1cyAwLCAkaW5wdXQtcmFkaXVzIDAgMCAkaW5wdXQtcmFkaXVzKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IDpsYXN0LWNoaWxkIHtcbiAgICAgICYsICYuaW5wdXQtZ3JvdXAtYnV0dG9uID4gKiB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCAkaW5wdXQtcmFkaXVzIDAgMCAkaW5wdXQtcmFkaXVzLCAwICRpbnB1dC1yYWRpdXMgJGlucHV0LXJhZGl1cyAwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAlaW5wdXQtZ3JvdXAtY2hpbGQge1xuICAgIG1hcmdpbjogMDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwLWxhYmVsIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICBwYWRkaW5nOiAwICRpbnB1dC1wcmVmaXgtcGFkZGluZztcbiAgICBib3JkZXI6ICRpbnB1dC1wcmVmaXgtYm9yZGVyO1xuICAgIGJhY2tncm91bmQ6ICRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDtcblxuICAgIGNvbG9yOiAkaW5wdXQtcHJlZml4LWNvbG9yO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogMSU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtcHJlZml4LWJvcmRlcikge1xuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1maWVsZCB7XG4gICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICAgIG1pbi13aWR0aDogMDtcbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgd2lkdGg6IDElO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIGEsXG4gICAgaW5wdXQsXG4gICAgYnV0dG9uLFxuICAgIGxhYmVsIHtcbiAgICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuXG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gICAgICB9XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNwZWNpZmljaXR5IGJ1bXAgbmVlZGVkIHRvIHByZXZlbnQgb3ZlcnJpZGUgYnkgYnV0dG9uc1xuICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgLmlucHV0LWdyb3VwIHtcbiAgICAgIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIERlZmF1bHQgYm9yZGVyIGFyb3VuZCBjdXN0b20gZmllbGRzZXRzLlxuLy8vIEB0eXBlIEJvcmRlclxuJGZpZWxkc2V0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgY3VzdG9tIGZpZWxkc2V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmaWVsZHNldC1wYWRkaW5nOiByZW0tY2FsYygyMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBhcm91bmQgY3VzdG9tIGZpZWxkc2V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmaWVsZHNldC1tYXJnaW46IHJlbS1jYWxjKDE4IDApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGJldHdlZW4gdGhlIGxlZ2VuZCB0ZXh0IGFuZCBmaWVsZHNldCBib3JkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGVnZW5kLXBhZGRpbmc6IHJlbS1jYWxjKDAgMykgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmaWVsZHNldCB7XG4gIG1hcmdpbjogJGZpZWxkc2V0LW1hcmdpbjtcbiAgcGFkZGluZzogJGZpZWxkc2V0LXBhZGRpbmc7XG4gIGJvcmRlcjogJGZpZWxkc2V0LWJvcmRlcjtcblxuICBsZWdlbmQge1xuICAgIC8vIENvdmVycyB1cCB0aGUgZmllbGRzZXQncyBib3JkZXIgdG8gY3JlYXRlIGFydGlmaWNpYWwgcGFkZGluZ1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiByZW0tY2FsYygtMyk7XG4gICAgcGFkZGluZzogJGxlZ2VuZC1wYWRkaW5nO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tZmllbGRzZXQge1xuICBmaWVsZHNldCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgbGVnZW5kIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZyAqIDAuNTtcbiAgfVxuXG4gIC5maWVsZHNldCB7XG4gICAgQGluY2x1ZGUgZmllbGRzZXQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBzZWxlY3QgbWVudXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgdGhlIGRyb3Bkb3duIHRyaWFuZ2xlIGluc2lkZSBzZWxlY3QgbWVudXMuIFNldCB0byBgdHJhbnNwYXJlbnRgIHRvIHJlbW92ZSBpdCBlbnRpcmVseS5cbi8vLyBAdHlwZSBDb2xvclxuJHNlbGVjdC10cmlhbmdsZS1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciBzZWxlY3QgbWVudXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuQG1peGluIGZvcm0tc2VsZWN0IHtcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKiB1bml0bGVzcy1jYWxjKCRpbnB1dC1saW5lLWhlaWdodCkpICsgKGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAndG9wJykgKyBnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ2JvdHRvbScpKSAtIHJlbS1jYWxjKDEpO1xuXG4gIGhlaWdodDogJGhlaWdodDtcbiAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmc7XG5cbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkc2VsZWN0LXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNlbGVjdC1iYWNrZ3JvdW5kO1xuXG4gIGZvbnQtZmFtaWx5OiAkaW5wdXQtZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcblxuICBAaWYgJHNlbGVjdC10cmlhbmdsZS1jb2xvciAhPSB0cmFuc3BhcmVudCB7XG4gICAgQGluY2x1ZGUgYmFja2dyb3VuZC10cmlhbmdsZSgkc2VsZWN0LXRyaWFuZ2xlLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLW9yaWdpbjogY29udGVudC1ib3g7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogJGdsb2JhbC1yaWdodCAoLSRmb3JtLXNwYWNpbmcpIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogOXB4IDZweDtcblxuICAgIHBhZGRpbmctI3skZ2xvYmFsLXJpZ2h0fTogKCRmb3JtLXNwYWNpbmcgKiAxLjUpO1xuICB9XG5cbiAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuICB9XG5cbiAgLy8gRm9jdXMgc3RhdGVcbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXI6ICRpbnB1dC1ib3JkZXItZm9jdXM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZm9jdXM7XG4gICAgYm94LXNoYWRvdzogJGlucHV0LXNoYWRvdy1mb2N1cztcblxuICAgIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuICAgIH1cbiAgfVxuXG4gIC8vIERpc2FibGVkIHN0YXRlXG4gICY6ZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkO1xuICAgIGN1cnNvcjogJGlucHV0LWN1cnNvci1kaXNhYmxlZDtcbiAgfVxuXG4gIC8vIEhpZGUgdGhlIGRyb3Bkb3duIGFycm93IHNob3duIGluIG5ld2VyIElFIHZlcnNpb25zXG4gICY6Oi1tcy1leHBhbmQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAmW211bHRpcGxlXSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1zZWxlY3Qge1xuICBzZWxlY3Qge1xuICAgIEBpbmNsdWRlIGZvcm0tc2VsZWN0O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBzbGlkZXJcbi8vLy9cblxuLy8vIERlZmF1bHQgaGVpZ2h0IG9mIHRoZSBzbGlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc2xpZGVyLWhlaWdodDogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBzbGlkZXIncyB0cmFjay5cbi8vLyBAdHlwZSBDb2xvclxuJHNsaWRlci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIGFjdGl2ZSBmaWxsIGNvbG9yIG9mIHRoZSBzbGlkZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiRzbGlkZXItZmlsbC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGhlaWdodCBvZiB0aGUgaGFuZGxlIG9mIHRoZSBzbGlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc2xpZGVyLWhhbmRsZS1oZWlnaHQ6IDEuNHJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgd2lkdGggb2YgdGhlIGhhbmRsZSBvZiB0aGUgc2xpZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHNsaWRlci1oYW5kbGUtd2lkdGg6IDEuNHJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIGhhbmRsZSBmb3IgdGhlIHNsaWRlci5cbi8vLyBAdHlwZSBDb2xvclxuJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZhZGUgYW1vdW50IG9mIGEgZGlzYWJsZWQgc2xpZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHNsaWRlci1vcGFjaXR5LWRpc2FibGVkOiAwLjI1ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIHNsaWRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzbGlkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tcmFuZ2UtaW5wdXQge1xuICBpbnB1dFt0eXBlPSdyYW5nZSddIHsgIC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgICRtYXJnaW46ICgkc2xpZGVyLWhhbmRsZS1oZWlnaHQgLSAkc2xpZGVyLWhlaWdodCkgLyAyO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi10b3A6ICRtYXJnaW47XG4gICAgbWFyZ2luLWJvdHRvbTogJG1hcmdpbjtcblxuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyOiAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgIEBpZiBoYXMtdmFsdWUoJHNsaWRlci1yYWRpdXMpIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRzbGlkZXItcmFkaXVzO1xuICAgIH1cblxuICAgICY6Zm9jdXMge1xuICAgICAgb3V0bGluZTogMDtcbiAgICB9XG5cbiAgICAmW2Rpc2FibGVkXSB7XG4gICAgICBvcGFjaXR5OiAkc2xpZGVyLW9wYWNpdHktZGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgLy8gc2Fzcy1saW50OmRpc2FibGUgbm8tdmVuZG9yLXByZWZpeFxuXG4gICAgLy8gQ2hyb21lL1NhZmFyaVxuICAgICY6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrIHtcbiAgICAgIGhlaWdodDogJHNsaWRlci1oZWlnaHQ7XG4gICAgICBiYWNrZ3JvdW5kOiAkc2xpZGVyLWJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgJjo6LXdlYmtpdC1zbGlkZXItdGh1bWIge1xuICAgICAgd2lkdGg6ICRzbGlkZXItaGFuZGxlLXdpZHRoO1xuICAgICAgaGVpZ2h0OiAkc2xpZGVyLWhhbmRsZS1oZWlnaHQ7XG4gICAgICBtYXJnaW4tdG9wOiAtJG1hcmdpbjtcblxuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xuICAgICAgYmFja2dyb3VuZDogJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZDtcblxuICAgICAgQGlmIGhhcy12YWx1ZSgkc2xpZGVyLXJhZGl1cykge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkc2xpZGVyLXJhZGl1cztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBGaXJlZm94XG4gICAgJjo6LW1vei1yYW5nZS10cmFjayB7XG4gICAgICBoZWlnaHQ6ICRzbGlkZXItaGVpZ2h0O1xuICAgICAgLW1vei1hcHBlYXJhbmNlOiBub25lOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xuICAgICAgYmFja2dyb3VuZDogJHNsaWRlci1iYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgICY6Oi1tb3otcmFuZ2UtdGh1bWIge1xuICAgICAgd2lkdGg6ICRzbGlkZXItaGFuZGxlLXdpZHRoO1xuICAgICAgaGVpZ2h0OiAkc2xpZGVyLWhhbmRsZS1oZWlnaHQ7XG4gICAgICBtYXJnaW4tdG9wOiAtJG1hcmdpbjtcblxuICAgICAgLW1vei1hcHBlYXJhbmNlOiBub25lOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xuICAgICAgYmFja2dyb3VuZDogJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZDtcblxuICAgICAgQGlmIGhhcy12YWx1ZSgkc2xpZGVyLXJhZGl1cykge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkc2xpZGVyLXJhZGl1cztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBJbnRlcm5ldCBFeHBsb3JlclxuICAgICY6Oi1tcy10cmFjayB7XG4gICAgICBoZWlnaHQ6ICRzbGlkZXItaGVpZ2h0O1xuXG4gICAgICBib3JkZXI6IDA7XG4gICAgICBib3JkZXItdG9wOiAkbWFyZ2luIHNvbGlkICRib2R5LWJhY2tncm91bmQ7XG4gICAgICBib3JkZXItYm90dG9tOiAkbWFyZ2luIHNvbGlkICRib2R5LWJhY2tncm91bmQ7XG4gICAgICBiYWNrZ3JvdW5kOiAkc2xpZGVyLWJhY2tncm91bmQ7XG5cbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgICY6Oi1tcy10aHVtYiB7XG4gICAgICB3aWR0aDogJHNsaWRlci1oYW5kbGUtd2lkdGg7XG4gICAgICBoZWlnaHQ6ICRzbGlkZXItaGFuZGxlLWhlaWdodDtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGJhY2tncm91bmQ6ICRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQ7XG5cbiAgICAgIEBpZiBoYXMtdmFsdWUoJHNsaWRlci1yYWRpdXMpIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJHNsaWRlci1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjo6LW1zLWZpbGwtbG93ZXIge1xuICAgICAgYmFja2dyb3VuZDogJHNsaWRlci1maWxsLWJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgJjo6LW1zLWZpbGwtdXBwZXIge1xuICAgICAgYmFja2dyb3VuZDogJHNsaWRlci1iYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgIEBhdC1yb290IHtcbiAgICAgIG91dHB1dCB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjVlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRzbGlkZXItaGFuZGxlLWhlaWdodDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb2dyZXNzLWJhclxuLy8vL1xuXG4vLy8gSGVpZ2h0IG9mIGEgcHJvZ3Jlc3MgYmFyLlxuLy8vIEB0eXBlIE51bWJlclxuJHByb2dyZXNzLWhlaWdodDogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYSBwcm9ncmVzcyBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiRwcm9ncmVzcy1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIG9mIGEgcHJvZ3Jlc3MgYmFyLlxuLy8vIEB0eXBlIE51bWJlclxuJHByb2dyZXNzLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBhIHByb2dyZXNzIGJhcidzIG1ldGVyLlxuLy8vIEB0eXBlIENvbG9yXG4kcHJvZ3Jlc3MtbWV0ZXItYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBvZiBhIHByb2dyZXNzIGJhci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwcm9ncmVzcy1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm9ncmVzcy1lbGVtZW50IHtcbiAgcHJvZ3Jlc3Mge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogJHByb2dyZXNzLWhlaWdodDtcbiAgICBtYXJnaW4tYm90dG9tOiAkcHJvZ3Jlc3MtbWFyZ2luLWJvdHRvbTtcblxuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRwcm9ncmVzcy1yYWRpdXMpIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRwcm9ncmVzcy1yYWRpdXM7XG4gICAgfVxuXG4gICAgLy8gRm9yIEZpcmVmb3hcbiAgICBib3JkZXI6IDA7XG4gICAgYmFja2dyb3VuZDogJHByb2dyZXNzLWJhY2tncm91bmQ7XG5cbiAgICAmOjotd2Via2l0LXByb2dyZXNzLWJhciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkcHJvZ3Jlc3MtYmFja2dyb3VuZDtcblxuICAgICAgQGlmIGhhcy12YWx1ZSgkcHJvZ3Jlc3MtcmFkaXVzKSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRwcm9ncmVzcy1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjo6LXdlYmtpdC1wcm9ncmVzcy12YWx1ZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkcHJvZ3Jlc3MtbWV0ZXItYmFja2dyb3VuZDtcblxuICAgICAgQGlmIGhhcy12YWx1ZSgkcHJvZ3Jlc3MtcmFkaXVzKSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRwcm9ncmVzcy1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjo6LW1vei1wcm9ncmVzcy1iYXIge1xuICAgICAgYmFja2dyb3VuZDogJHByb2dyZXNzLW1ldGVyLWJhY2tncm91bmQ7XG5cbiAgICAgIEBpZiBoYXMtdmFsdWUoJHByb2dyZXNzLXJhZGl1cykge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkcHJvZ3Jlc3MtcmFkaXVzO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgLy8gSW50ZXJuZXQgRXhwbG9yZXIgc2V0cyB0aGUgZmlsbCB3aXRoIGNvbG9yXG4gICAgICAgIGNvbG9yOiAkY29sb3I7XG5cbiAgICAgICAgJjo6LXdlYmtpdC1wcm9ncmVzcy12YWx1ZSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6LW1vei1wcm9ncmVzcy1iYXIge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEZvciBJRSBhbmQgRWRnZVxuICAgICY6Oi1tcy1maWxsIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4ZXNcbiAgICAgIEBpZiBoYXMtdmFsdWUoJHByb2dyZXNzLXJhZGl1cykge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkcHJvZ3Jlc3MtcmFkaXVzO1xuICAgICAgfVxuXG4gICAgICBib3JkZXI6IDA7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBtZXRlclxuLy8vL1xuXG4vLy8gSGVpZ2h0IG9mIGEgYDxtZXRlcj5gIGVsZW1lbnQuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kbWV0ZXItaGVpZ2h0OiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBvZiBhIGA8bWV0ZXI+YCBlbGVtZW50LlxuLy8vIEB0eXBlIExlbmd0aFxuJG1ldGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGEgYDxtZXRlcj5gIGVsZW1lbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRtZXRlci1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBNZXRlciBmaWxsIGZvciBhbiBvcHRpbWFsIHZhbHVlIGluIGEgYDxtZXRlcj5gIGVsZW1lbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRtZXRlci1maWxsLWdvb2Q6ICRzdWNjZXNzLWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gTWV0ZXIgZmlsbCBmb3IgYW4gYXZlcmFnZSB2YWx1ZSBpbiBhIGA8bWV0ZXI+YCBlbGVtZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kbWV0ZXItZmlsbC1tZWRpdW06ICR3YXJuaW5nLWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gTWV0ZXIgZmlsbCBmb3IgYSBzdWJvcHRpbWFsIHZhbHVlIGluIGEgYDxtZXRlcj5gIGVsZW1lbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRtZXRlci1maWxsLWJhZDogJGFsZXJ0LWNvbG9yICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi1tZXRlci1lbGVtZW50IHtcbiAgbWV0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogJG1ldGVyLWhlaWdodDtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuXG4gICAgLy8gRGlzYWJsZSBgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lYCBmcm9tIGdldHRpbmcgcHJlZml4ZWQsXG4gICAgLy8gV2UgaGF2ZSBkaXNhYmxlZCBhdXRvcHJlZml4ZXIgZmlyc3QgYW5kIGFyZSBqdXN0IG9ubHkgdXNpbmcgXG4gICAgLy8gYC1tb3otYXBwZWFyYW5jZTogbm9uZWAgYXMgYSBwcmVmaXggYW5kIG5lZ2xlY3RpbmcgdGhlIHdlYmtpdC5cbiAgICBcbiAgICAvKiEgYXV0b3ByZWZpeGVyOiBvZmYgKi9cbiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeGVzXG4gICAgYXBwZWFyYW5jZTogbm9uZTtcblxuICAgIEBpZiBoYXMtdmFsdWUoJG1ldGVyLXJhZGl1cykge1xuICAgICAgYm9yZGVyLXJhZGl1czogJG1ldGVyLXJhZGl1cztcbiAgICB9XG5cbiAgICAvLyBGb3IgRmlyZWZveFxuICAgIGJvcmRlcjogMDtcbiAgICBiYWNrZ3JvdW5kOiAkbWV0ZXItYmFja2dyb3VuZDtcblxuICAgIC8vIENocm9tZS9TYWZhcmkvRWRnZVxuICAgICY6Oi13ZWJraXQtbWV0ZXItYmFyIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIEBpZiBoYXMtdmFsdWUoJG1ldGVyLXJhZGl1cykge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkbWV0ZXItcmFkaXVzO1xuICAgICAgfVxuXG4gICAgICBiYWNrZ3JvdW5kOiAkbWV0ZXItYmFja2dyb3VuZDtcbiAgICB9XG5cbiAgICAmOjotd2Via2l0LW1ldGVyLWlubmVyLWVsZW1lbnQge1xuICAgICAgQGlmIGhhcy12YWx1ZSgkbWV0ZXItcmFkaXVzKSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRtZXRlci1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjo6LXdlYmtpdC1tZXRlci1vcHRpbXVtLXZhbHVlIHtcbiAgICAgIGJhY2tncm91bmQ6ICRtZXRlci1maWxsLWdvb2Q7XG5cbiAgICAgIEBpZiBoYXMtdmFsdWUoJG1ldGVyLXJhZGl1cykge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkbWV0ZXItcmFkaXVzO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6Oi13ZWJraXQtbWV0ZXItc3Vib3B0aW11bS12YWx1ZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkbWV0ZXItZmlsbC1tZWRpdW07XG5cbiAgICAgIEBpZiBoYXMtdmFsdWUoJG1ldGVyLXJhZGl1cykge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkbWV0ZXItcmFkaXVzO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6Oi13ZWJraXQtbWV0ZXItZXZlbi1sZXNzLWdvb2QtdmFsdWUge1xuICAgICAgYmFja2dyb3VuZDogJG1ldGVyLWZpbGwtYmFkO1xuXG4gICAgICBAaWYgaGFzLXZhbHVlKCRtZXRlci1yYWRpdXMpIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJG1ldGVyLXJhZGl1cztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOjotbW96LW1ldGVyLWJhciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcblxuICAgICAgQGlmIGhhcy12YWx1ZSgkbWV0ZXItcmFkaXVzKSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRtZXRlci1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjotbW96LW1ldGVyLW9wdGltdW06Oi1tb3otbWV0ZXItYmFyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRtZXRlci1maWxsLWdvb2Q7XG4gICAgfVxuXG4gICAgJjotbW96LW1ldGVyLXN1Yi1vcHRpbXVtOjotbW96LW1ldGVyLWJhciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkbWV0ZXItZmlsbC1tZWRpdW07XG4gICAgfVxuXG4gICAgJjotbW96LW1ldGVyLXN1Yi1zdWItb3B0aW11bTo6LW1vei1tZXRlci1iYXIge1xuICAgICAgYmFja2dyb3VuZDogJG1ldGVyLWZpbGwtYmFkO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYWJpZGVcbi8vLy9cblxuLy8vIFNldHMgaWYgZXJyb3Igc3R5bGVzIHNob3VsZCBiZSBhZGRlZCB0byBpbnB1dHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFiaWRlLWlucHV0czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgaWYgZXJyb3Igc3R5bGVzIHNob3VsZCBiZSBhZGRlZCB0byBsYWJlbHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFiaWRlLWxhYmVsczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgdG8gdXNlIGZvciBpbnZhbGlkIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdG8gdXNlIGZvciBsYWJlbHMgb2YgaW52YWxpZCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWVycm9yLWNvbG9yOiBnZXQtY29sb3IoYWxlcnQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRpbnB1dC1lcnJvci1mb250LXNpemU6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBTdHlsZXMgdGhlIGJhY2tncm91bmQgYW5kIGJvcmRlciBvZiBhbiBpbnB1dCBmaWVsZCB0byBoYXZlIGFuIGVycm9yIHN0YXRlLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRhbGVydC1jb2xvcl0gLSBDb2xvciB0byB1c2UgZm9yIHRoZSBiYWNrZ3JvdW5kIGFuZCBib3JkZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYWNrZ3JvdW5kLWxpZ2h0ZW4gWzEwJV0gLSBMaWdodG5lc3MgbGV2ZWwgb2YgdGhlIGJhY2tncm91bmQgY29sb3IuXG5AbWl4aW4gZm9ybS1pbnB1dC1lcnJvcihcbiAgJGJhY2tncm91bmQ6ICRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQsXG4gICRiYWNrZ3JvdW5kLWxpZ2h0ZW46IDEwJVxuKSB7XG4gICY6bm90KDpmb2N1cykge1xuICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWl4KCRiYWNrZ3JvdW5kLCAkd2hpdGUsICRiYWNrZ3JvdW5kLWxpZ2h0ZW4pO1xuXG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBlcnJvciBzdHlsZXMgdG8gYSBmb3JtIGVsZW1lbnQsIHVzaW5nIHRoZSB2YWx1ZXMgaW4gdGhlIHNldHRpbmdzIGZpbGUuXG5AbWl4aW4gZm9ybS1lcnJvciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1hcmdpbi10b3A6ICRmb3JtLXNwYWNpbmcgKiAtMC41O1xuICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nO1xuXG4gIGZvbnQtc2l6ZTogJGlucHV0LWVycm9yLWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1lcnJvci1mb250LXdlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1lcnJvci1jb2xvcjtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1lcnJvciB7XG4gIEBpZiAkYWJpZGUtaW5wdXRzIHtcbiAgICAvLyBFcnJvciBjbGFzcyBmb3IgaW52YWxpZCBpbnB1dHNcbiAgICAuaXMtaW52YWxpZC1pbnB1dCB7XG4gICAgICBAaW5jbHVkZSBmb3JtLWlucHV0LWVycm9yO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkYWJpZGUtbGFiZWxzIHtcbiAgICAvLyBFcnJvciBjbGFzcyBmb3IgbGFiZWxzIG9mIGludmFsaWQgb3V0cHV0c1xuICAgIC5pcy1pbnZhbGlkLWxhYmVsIHtcbiAgICAgIGNvbG9yOiAkZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkO1xuICAgIH1cbiAgfVxuXG4gIC8vIEZvcm0gZXJyb3IgZWxlbWVudFxuICAuZm9ybS1lcnJvciB7XG4gICAgQGluY2x1ZGUgZm9ybS1lcnJvcjtcblxuICAgICYuaXMtdmlzaWJsZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHlcbi8vLy9cblxuLy8gQmFzZSB0eXBvZ3JhcGh5IHN0eWxlcyAodGFncyBvbmx5KVxuQGltcG9ydCAnYmFzZSc7XG5cbi8vIFR5cG9ncmFwaHkgaGVscGVyIGNsYXNzZXMgKGNsYXNzZXMgb25seSlcbkBpbXBvcnQgJ2hlbHBlcnMnO1xuXG4vLyBUZXh0IGFsaWdubWVudCBjbGFzc2VzXG5AaW1wb3J0ICdhbGlnbm1lbnQnO1xuXG4vLyBQcmludCBzdHlsZXNcbkBpbXBvcnQgJ3ByaW50JztcblxuQG1peGluIGZvdW5kYXRpb24tdHlwb2dyYXBoeSB7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdHlwb2dyYXBoeS1iYXNlO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXR5cG9ncmFwaHktaGVscGVycztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10ZXh0LWFsaWdubWVudDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wcmludC1zdHlsZXM7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0eXBvZ3JhcGh5LWJhc2Vcbi8vLy9cblxuLy8gQmFzZSBUeXBvZ3JhcGh5XG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuLy8gVGhlc2UgYXJlIHN0eWxlcyBhcHBsaWVkIHRvIGJhc2ljIEhUTUwgdGFncywgaW5jbHVkaW5nOlxuLy8gICAtIFBhcmFncmFwaHMgPHA+XG4vLyAgIC0gQm9sZC9pdGFsaWNzIDxiPiA8c3Ryb25nPiA8aT4gPGVtPlxuLy8gICAtIFNtYWxsIHRleHQgPHNtYWxsPlxuLy8gICAtIEhlYWRpbmdzIDxoMT4tPGg2PlxuLy8gICAtIEFuY2hvcnMgPGE+XG4vLyAgIC0gRGl2aWRlcnMgPGhyPlxuLy8gICAtIExpc3RzIDx1bD4gPG9sPiA8ZGw+XG4vLyAgIC0gQmxvY2txdW90ZXMgPGJsb2NrcXVvdGU+XG4vLyAgIC0gQ29kZSBibG9ja3MgPGNvZGU+XG4vLyAgIC0gQWJicmV2aWF0aW9ucyA8YWJicj5cbi8vICAgLSBDaXRhdGlvbnMgPGNpdGU+XG4vLyAgIC0gS2V5c3Ryb2tlcyA8a2JkPlxuXG4vLy8gRm9udCBmYW1pbHkgZm9yIGhlYWRlciBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4kaGVhZGVyLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHN0eWxlIChlLmcuIGl0YWxpY2l6ZWQpIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kaGVhZGVyLWZvbnQtc3R5bGU6IG5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3RhY2sgdXNlZCBmb3IgZWxlbWVudHMgdGhhdCB1c2UgbW9ub3NwYWNlZCB0eXBlLCBzdWNoIGFzIGNvZGUgc2FtcGxlc1xuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRmb250LWZhbWlseS1tb25vc3BhY2U6IENvbnNvbGFzLCAnTGliZXJhdGlvbiBNb25vJywgQ291cmllciwgbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJGhlYWRlci1jb2xvcjogaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNCAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gU3R5bGVzIGZvciBoZWFkaW5ncyBhdCB2YXJpb3VzIHNjcmVlbiBzaXplcy4gRWFjaCBrZXkgaXMgYSBicmVha3BvaW50LCBhbmQgZWFjaCB2YWx1ZSBpcyBhIG1hcCBvZiBoZWFkaW5nIHN0eWxlcy5cbi8vLyBAdHlwZSBNYXBcbiRoZWFkZXItc3R5bGVzOiAoXG4gIHNtYWxsOiAoXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiAyNCksXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiAyMCksXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAxOSksXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAxOCksXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAxNyksXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXG4gICksXG4gIG1lZGl1bTogKFxuICAgICdoMSc6ICgnZm9udC1zaXplJzogNDgpLFxuICAgICdoMic6ICgnZm9udC1zaXplJzogNDApLFxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMzEpLFxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMjUpLFxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMjApLFxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTYpLFxuICApLFxuKSAhZGVmYXVsdDtcblxuLy8gJGhlYWRlci1zdHlsZXMgbWFwIGlzIGJ1aWx0IGZyb20gJGhlYWRlci1zaXplcyBpbiBvcmRlciB0byBlbnN1cmUgZG93bndhcmQgY29tcGF0aWJpbGl0eVxuLy8gd2hlbiAkaGVhZGVyLXNpemVzIGlzIGRlcHJlY2lhdGVkLCAkaGVhZGVyLXN0eWxlcyBuZWVkcyB0byBnZXQgIWRlZmF1bHQgdmFsdWVzIGxpa2Ugc2V0dGluZ3Muc2Nzc1xuQGZ1bmN0aW9uIGJ1aWxkX2Zyb21faGVhZGVyLXNpemVzKCRoZWFkZXItc2l6ZXMpIHtcbiAgQHdhcm4gJ05vdGUsIHRoYXQgJGhlYWRlci1zaXplcyBoYXMgYmVlbiByZXBsYWNlZCB3aXRoICRoZWFkZXItc3R5bGVzLiAkaGVhZGVyLXNpemVzIHN0aWxsIHdvcmtzLCBidXQgaXQgaXMgZ29pbmcgdG8gYmUgZGVwcmVjaWF0ZWQuJztcbiAgJGhlYWRlci1zdHlsZXM6ICgpO1xuICBAZWFjaCAkc2l6ZSwgJGhlYWRlcnMgaW4gJGhlYWRlci1zaXplcyB7XG4gICAgJGhlYWRlci1tYXA6ICgpO1xuICAgIEBlYWNoICRoZWFkZXIsICRmb250LXNpemUgaW4gJGhlYWRlcnMge1xuICAgICAgJGhlYWRlci1tYXA6IG1hcC1tZXJnZSgkaGVhZGVyLW1hcCwgKCRoZWFkZXI6ICgnZm9udC1zaXplJzogJGZvbnQtc2l6ZSkpKTtcbiAgICB9XG4gICAgJGhlYWRlci1zdHlsZXM6IG1hcC1tZXJnZSgkaGVhZGVyLXN0eWxlcywgKCRzaXplOiAkaGVhZGVyLW1hcCkpO1xuICB9XG4gIEByZXR1cm4gJGhlYWRlci1zdHlsZXM7XG59XG5cbi8vIElmIGl0IGV4aXN0cyAkaGVhZGVycy1zaXplcyBpcyB1c2VkIHRvIGJ1aWxkICRoZWFkZXItc3R5bGVzLiBTZWUgdGhlIGRvY3VtZW50YXRpb24uXG5AaWYgdmFyaWFibGUtZXhpc3RzKGhlYWRlci1zaXplcykge1xuICAkaGVhZGVyLXN0eWxlczogYnVpbGRfZnJvbV9oZWFkZXItc2l6ZXMoJGhlYWRlci1zaXplcyk7XG59XG5cbi8vLyBUZXh0IHJlbmRlcmluZyBtZXRob2Qgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiBgPHNtYWxsPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc21hbGwtZm9udC1zaXplOiA4MCUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBgPHNtYWxsPmAgZWxlbWVudHMgd2hlbiBwbGFjZWQgaW5zaWRlIGhlYWRlcnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRoZWFkZXItc21hbGwtZm9udC1jb2xvcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgb2YgdGV4dCBpbnNpZGUgYDxwPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFyYWdyYXBoLWxpbmVoZWlnaHQ6IDEuNiAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgcmVuZGVyaW5nIG1ldGhvZCBmb3IgcGFyYWdyYXBoIHRleHQuXG4vLy8gQHR5cGUgU3RyaW5nXG4kcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHkgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGNvZGUtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgZmFtaWx5IG9mIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4kY29kZS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIHRleHQgaW4gY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGNvZGUtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIENvbG9yXG4kY29kZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIExpc3RcbiRjb2RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgYXJvdW5kIHRleHQgb2YgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRjb2RlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNSAxKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGxpbmtzLlxuLy8vIEB0eXBlIENvbG9yXG4kYW5jaG9yLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGxpbmtzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIENvbG9yXG4kYW5jaG9yLWNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkYW5jaG9yLWNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBkZWNvcmF0aW9uIGZvciBsaW5rcy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uOiBub25lICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGRlY29yYXRpb24gZm9yIGxpbmtzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI6IG5vbmUgIWRlZmF1bHQ7XG5cbi8vLyBNYXhpbXVtIHdpZHRoIG9mIGEgZGl2aWRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoci13aWR0aDogJGdsb2JhbC13aWR0aCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGZvciBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTGlzdFxuJGhyLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWFyZ2luIGZvciBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGhyLW1hcmdpbjogcmVtLWNhbGMoMjApIGF1dG8gIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBmb3IgaXRlbXMgaW4gYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbGluZWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBmb3IgaXRlbXMgaW4gYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tICFkZWZhdWx0O1xuXG4vLy8gQnVsbGV0IHR5cGUgdG8gdXNlIGZvciB1bm9yZGVyZWQgbGlzdHMgKGUuZy4sIGBzcXVhcmVgLCBgY2lyY2xlYCwgYGRpc2NgKS5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsaXN0LXN0eWxlLXR5cGU6IGRpc2MgIWRlZmF1bHQ7XG5cbi8vLyBQb3NpdGlvbmluZyBmb3IgYnVsbGV0cyBvbiB1bm9yZGVyZWQgbGlzdCBpdGVtcy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlICFkZWZhdWx0O1xuXG4vLy8gTGVmdCAob3IgcmlnaHQpIG1hcmdpbiBmb3IgbGlzdHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1zaWRlLW1hcmdpbjogMS4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIExlZnQgKG9yIHJpZ2h0KSBtYXJnaW4gZm9yIGEgbGlzdCBpbnNpZGUgYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luOiAxLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBmb3IgYDxkbD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRlZm5saXN0LW1hcmdpbi1ib3R0b206IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBmb3IgYDxkdD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGRlZm5saXN0LXRlcm0td2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBiZXR3ZWVuIGA8ZHQ+YCBhbmQgYDxkZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTogMC4zcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBgPGJsb2NrcXVvdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGJsb2NrcXVvdGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBhIGA8YmxvY2txdW90ZT5gIGVsZW1lbnQuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGJsb2NrcXVvdGUtcGFkZGluZzogcmVtLWNhbGMoOSAyMCAwIDE5KSAhZGVmYXVsdDtcblxuLy8vIFNpZGUgYm9yZGVyIGZvciBgPGJsb2NrcXVvdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBMaXN0XG4kYmxvY2txdW90ZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGA8Y2l0ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGNpdGUtZm9udC1zaXplOiByZW0tY2FsYygxMykgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIGZvciBgPGNpdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGNpdGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQc2V1ZG8gY29udGVudCBmb3IgYDxjaXRlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kY2l0ZS1wc2V1ZG8tY29udGVudDogJ1xcMjAxNCBcXDAwMjAnICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbHkgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGtleXN0cm9rZS1mb250OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGtleXN0cm9rZS1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGtleXN0cm9rZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGtleXN0cm9rZS1wYWRkaW5nOiByZW0tY2FsYygyIDQgMCkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRrZXlzdHJva2UtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBib3JkZXIgc3R5bGUgZm9yIGA8YWJicj5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIExpc3RcbiRhYmJyLXVuZGVybGluZTogMXB4IGRvdHRlZCAkYmxhY2sgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXR5cG9ncmFwaHktYmFzZSB7XG4gIC8vIFR5cG9ncmFwaHkgcmVzZXRzXG4gIGRpdixcbiAgZGwsXG4gIGR0LFxuICBkZCxcbiAgdWwsXG4gIG9sLFxuICBsaSxcbiAgaDEsXG4gIGgyLFxuICBoMyxcbiAgaDQsXG4gIGg1LFxuICBoNixcbiAgcHJlLFxuICBmb3JtLFxuICBwLFxuICBibG9ja3F1b3RlLFxuICB0aCxcbiAgdGQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLy8gUGFyYWdyYXBoc1xuICBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG5cbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgbGluZS1oZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiAgICB0ZXh0LXJlbmRlcmluZzogJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZztcbiAgfVxuXG4gIC8vIEVtcGhhc2l6ZWQgdGV4dFxuICBlbSxcbiAgaSB7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gU3Ryb25nIHRleHRcbiAgc3Ryb25nLFxuICBiIHtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFNtYWxsIHRleHRcbiAgc21hbGwge1xuICAgIGZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIEhlYWRpbmdzXG4gIGgxLCAuaDEsXG4gIGgyLCAuaDIsXG4gIGgzLCAuaDMsXG4gIGg0LCAuaDQsXG4gIGg1LCAuaDUsXG4gIGg2LCAuaDYge1xuICAgIGZvbnQtZmFtaWx5OiAkaGVhZGVyLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtc3R5bGU6ICRoZWFkZXItZm9udC1zdHlsZTtcbiAgICBmb250LXdlaWdodDogJGhlYWRlci1mb250LXdlaWdodDtcbiAgICBjb2xvcjogJGhlYWRlci1jb2xvcjtcbiAgICB0ZXh0LXJlbmRlcmluZzogJGhlYWRlci10ZXh0LXJlbmRlcmluZztcblxuICAgIHNtYWxsIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgY29sb3I6ICRoZWFkZXItc21hbGwtZm9udC1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAvLyBIZWFkaW5nIHN0eWxlc1xuICBAZWFjaCAkc2l6ZSwgJGhlYWRlcnMgaW4gJGhlYWRlci1zdHlsZXMge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgIEBlYWNoICRoZWFkZXIsICRoZWFkZXItZGVmcyBpbiAkaGVhZGVycyB7XG4gICAgICAgICRmb250LXNpemUtdGVtcDogMXJlbTtcbiAgICAgICAgI3skaGVhZGVyfSwgLiN7JGhlYWRlcn0ge1xuXG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgZm9udC1zaXplKSB7XG4gICAgICAgICAgICAkZm9udC1zaXplLXRlbXA6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBmb250LXNpemUpKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS10ZW1wO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBmcykge1xuICAgICAgICAgICAgJGZvbnQtc2l6ZS10ZW1wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgZnMpKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS10ZW1wO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXRlbXA7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGxpbmUtaGVpZ2h0KSB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdW5pdGxlc3MtY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbGluZS1oZWlnaHQpLCAkZm9udC1zaXplLXRlbXApO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBsaCkge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHVuaXRsZXNzLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGxoKSwgJGZvbnQtc2l6ZS10ZW1wKTtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB1bml0bGVzcy1jYWxjKCRoZWFkZXItbGluZWhlaWdodCwgJGZvbnQtc2l6ZS10ZW1wKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtYXJnaW4tdG9wKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbWFyZ2luLXRvcCkpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtdCkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG10KSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtYXJnaW4tYm90dG9tKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbWFyZ2luLWJvdHRvbSkpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtYikge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG1iKSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygkaGVhZGVyLW1hcmdpbi1ib3R0b20pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIExpbmtzXG4gIGEge1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgIGNvbG9yOiAkYW5jaG9yLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGFuY2hvci10ZXh0LWRlY29yYXRpb247XG5cbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6ICRhbmNob3ItY29sb3ItaG92ZXI7XG4gICAgICBAaWYgJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXIgIT0gJGFuY2hvci10ZXh0LWRlY29yYXRpb24ge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIGltZyB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gSG9yaXpvbnRhbCBydWxlXG4gIGhyIHtcbiAgICBjbGVhcjogYm90aDtcblxuICAgIG1heC13aWR0aDogJGhyLXdpZHRoO1xuICAgIGhlaWdodDogMDtcbiAgICBtYXJnaW46ICRoci1tYXJnaW47XG5cbiAgICBib3JkZXItdG9wOiAwO1xuICAgIGJvcmRlci1yaWdodDogMDtcbiAgICBib3JkZXItYm90dG9tOiAkaHItYm9yZGVyO1xuICAgIGJvcmRlci1sZWZ0OiAwO1xuICB9XG5cbiAgLy8gTGlzdHNcbiAgdWwsXG4gIG9sLFxuICBkbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGxpc3QtbWFyZ2luLWJvdHRvbTtcbiAgICBsaXN0LXN0eWxlLXBvc2l0aW9uOiAkbGlzdC1zdHlsZS1wb3NpdGlvbjtcbiAgICBsaW5lLWhlaWdodDogJGxpc3QtbGluZWhlaWdodDtcbiAgfVxuXG4gIC8vIExpc3QgaXRlbXNcbiAgbGkge1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFVub3JkZXJlZCBsaXN0c1xuICB1bCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3Qtc2lkZS1tYXJnaW47XG4gICAgbGlzdC1zdHlsZS10eXBlOiAkbGlzdC1zdHlsZS10eXBlO1xuICB9XG5cbiAgLy8gT3JkZXJlZCBsaXN0c1xuICBvbCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3Qtc2lkZS1tYXJnaW47XG4gIH1cblxuICAvLyBOZXN0ZWQgdW5vcmRlcmVkL29yZGVyZWQgbGlzdHNcbiAgdWwsIG9sIHtcbiAgICAmICYge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAvLyBEZWZpbml0aW9uIGxpc3RzXG4gIGRsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTtcblxuICAgIGR0IHtcbiAgICAgIG1hcmdpbi1ib3R0b206ICRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b207XG4gICAgICBmb250LXdlaWdodDogJGRlZm5saXN0LXRlcm0td2VpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC8vIEJsb2NrcXVvdGVzXG4gIGJsb2NrcXVvdGUge1xuICAgIG1hcmdpbjogMCAwICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcbiAgICBwYWRkaW5nOiAkYmxvY2txdW90ZS1wYWRkaW5nO1xuICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06ICRibG9ja3F1b3RlLWJvcmRlcjtcblxuICAgICYsIHAge1xuICAgICAgbGluZS1oZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiAgICAgIGNvbG9yOiAkYmxvY2txdW90ZS1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAvLyBDaXRhdGlvbnNcbiAgY2l0ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAkY2l0ZS1mb250LXNpemU7XG4gICAgY29sb3I6ICRjaXRlLWNvbG9yO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogJGNpdGUtcHNldWRvLWNvbnRlbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gQWJicmV2aWF0aW9uc1xuICBhYmJyLCBhYmJyW3RpdGxlXSB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGFiYnItdW5kZXJsaW5lO1xuICAgIGN1cnNvcjogaGVscDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICAvLyBGaWd1cmVzXG4gIGZpZ3VyZSB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLy8gQ29kZVxuICBjb2RlIHtcbiAgICBwYWRkaW5nOiAkY29kZS1wYWRkaW5nO1xuXG4gICAgYm9yZGVyOiAkY29kZS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvZGUtYmFja2dyb3VuZDtcblxuICAgIGZvbnQtZmFtaWx5OiAkY29kZS1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJGNvZGUtZm9udC13ZWlnaHQ7XG4gICAgY29sb3I6ICRjb2RlLWNvbG9yO1xuICB9XG5cbiAgLy8gS2V5c3Ryb2tlc1xuICBrYmQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAka2V5c3Ryb2tlLXBhZGRpbmc7XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka2V5c3Ryb2tlLWJhY2tncm91bmQ7XG5cbiAgICBmb250LWZhbWlseTogJGtleXN0cm9rZS1mb250O1xuICAgIGNvbG9yOiAka2V5c3Ryb2tlLWNvbG9yO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgka2V5c3Ryb2tlLXJhZGl1cykge1xuICAgICAgYm9yZGVyLXJhZGl1czogJGtleXN0cm9rZS1yYWRpdXM7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0eXBvZ3JhcGh5LWhlbHBlcnNcbi8vLy9cblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBsZWFkIHBhcmFncmFwaHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGVhZC1mb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplICogMS4yNSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIGxlYWQgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsZWFkLWxpbmVoZWlnaHQ6IDEuNiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJHN1YmhlYWRlci1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kc3ViaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRvcCBtYXJnaW4gZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLW1hcmdpbi10b3A6IDAuMnJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIHN0YXRpc3RpYyBudW1iZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN0YXQtZm9udC1zaXplOiAyLjVyZW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXR5cG9ncmFwaHktaGVscGVycyB7XG4gIC8vIFVzZSB0byBjcmVhdGUgYSBzdWJoZWFkaW5nIHVuZGVyIGEgbWFpbiBoZWFkZXJcbiAgLy8gTWFrZSBzdXJlIHlvdSBwYWlyIHRoZSB0d28gZWxlbWVudHMgaW4gYSA8aGVhZGVyPiBlbGVtZW50LCBsaWtlIHRoaXM6XG4gIC8vIDxoZWFkZXI+XG4gIC8vICAgPGgxPkhlYWRpbmc8L2gxPlxuICAvLyAgIDxoMj5TdWJoZWFkaW5nPC9oMj5cbiAgLy8gPC9oZWFkZXI+XG4gIC5zdWJoZWFkZXIge1xuICAgIG1hcmdpbi10b3A6ICRzdWJoZWFkZXItbWFyZ2luLXRvcDtcbiAgICBtYXJnaW4tYm90dG9tOiAkc3ViaGVhZGVyLW1hcmdpbi1ib3R0b207XG5cbiAgICBmb250LXdlaWdodDogJHN1YmhlYWRlci1mb250LXdlaWdodDtcbiAgICBsaW5lLWhlaWdodDogJHN1YmhlYWRlci1saW5laGVpZ2h0O1xuICAgIGNvbG9yOiAkc3ViaGVhZGVyLWNvbG9yO1xuICB9XG5cbiAgLy8gVXNlIHRvIHN0eWxlIGFuIGludHJvZHVjdG9yeSBsZWFkLCBkZWNrLCBibHVyYiwgZXRjLlxuICAubGVhZCB7XG4gICAgZm9udC1zaXplOiAkbGVhZC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRsZWFkLWxpbmVoZWlnaHQ7XG4gIH1cblxuICAvLyBVc2UgdG8gc3R5bGUgYSBsYXJnZSBudW1iZXIgdG8gZGlzcGxheSBhIHN0YXRpc3RpY1xuICAuc3RhdCB7XG4gICAgZm9udC1zaXplOiAkc3RhdC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgICBwICsgJiB7XG4gICAgICBtYXJnaW4tdG9wOiAtMXJlbTtcbiAgICB9XG4gIH1cblxuICB1bCwgb2wge1xuICAgIC8vIFVzZSB0byByZW1vdmUgbnVtYmVycyBmcm9tIG9yZGVyZWQgbGlzdCAmIGJ1bGxldHMgZnJvbSB1bm9yZGVyZWQgbGlzdFxuICAgICYubm8tYnVsbGV0IHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRleHQtYWxpZ25tZW50IHtcbiAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgQGVhY2ggJGFsaWduIGluIChsZWZ0LCByaWdodCwgY2VudGVyLCBqdXN0aWZ5KSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LXRleHQtI3skYWxpZ259IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246ICRhbGlnbjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgIC50ZXh0LSN7JGFsaWdufSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiAkYWxpZ247XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vIElmIGB0cnVlYCwgYWxsIGVsZW1lbnRzIHdpbGwgaGF2ZSB0cmFuc3BhcmVudCBiYWNrZ3JvdW5kcyB3aGVuIHByaW50ZWQsIHRvIHNhdmUgb24gaW5rLlxuLy8vIEB0eXBlIEJvb2xlYW5cbi8vLyBAZ3JvdXAgZ2xvYmFsXG4kcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHM6IHRydWUgIWRlZmF1bHQ7XG4kcHJpbnQtaHJlZnM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIHNhc3MtbGludDpkaXNhYmxlLWFsbFxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcmludC1zdHlsZXMge1xuICAuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICBAbWVkaWEgcHJpbnQge1xuICAgICoge1xuICAgICAgQGlmICRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kcyB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICB9XG5cbiAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcblxuICAgICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7IC8vIEJsYWNrIHByaW50cyBmYXN0ZXI6IGg1YnAuY29tL3NcbiAgICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAgIC5oaWRlLWZvci1wcmludCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4gICAgdGFibGUuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gICAgdGhlYWQuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfVxuICAgIHRib2R5LnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtcm93LWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgICB0ci5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gICAgdGQuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgICB0aC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuXG4gICAgLy8gRGlzcGxheSB0aGUgVVJMIG9mIGEgbGluayBhZnRlciB0aGUgdGV4dFxuICAgIGEsXG4gICAgYTp2aXNpdGVkIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7fVxuICAgIEBpZiAkcHJpbnQtaHJlZnMge1xuICAgICAgYVtocmVmXTphZnRlciB7IGNvbnRlbnQ6ICcgKCcgYXR0cihocmVmKSAnKSc7IH1cbiAgICB9XG5cbiAgICAvLyBEb24ndCBkaXNwbGF5IHRoZSBVUkwgZm9yIGltYWdlcyBvciBKYXZhU2NyaXB0L2ludGVybmFsIGxpbmtzXG4gICAgLmlyIGE6YWZ0ZXIsXG4gICAgYVtocmVmXj0namF2YXNjcmlwdDonXTphZnRlcixcbiAgICBhW2hyZWZePScjJ106YWZ0ZXIgeyBjb250ZW50OiAnJzsgfVxuXG4gICAgLy8gRGlzcGxheSB3aGF0IGFuIGFiYnJldmlhdGlvbiBzdGFuZHMgZm9yIGFmdGVyIHRoZSB0ZXh0XG4gICAgYWJiclt0aXRsZV06YWZ0ZXIgeyBjb250ZW50OiAnICgnIGF0dHIodGl0bGUpICcpJzsgfVxuXG4gICAgLy8gUHJldmVudCBwYWdlIGJyZWFrcyBpbiB0aGUgbWlkZGxlIG9mIGEgYmxvY2txdW90ZSBvciBwcmVmb3JtYXR0ZWQgdGV4dCBibG9ja1xuICAgIHByZSxcbiAgICBibG9ja3F1b3RlIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRkYXJrLWdyYXk7XG4gICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgfVxuXG4gICAgLy8gaDVicC5jb20vdFxuICAgIHRoZWFkIHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwOyB9XG5cbiAgICB0cixcbiAgICBpbWcgeyBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cblxuICAgIGltZyB7IG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG5cbiAgICBAcGFnZSB7IG1hcmdpbjogMC41Y207IH1cblxuICAgIHAsXG4gICAgaDIsXG4gICAgaDMge1xuICAgICAgb3JwaGFuczogMztcbiAgICAgIHdpZG93czogMztcbiAgICB9XG5cbiAgICAvLyBBdm9pZCBwYWdlIGJyZWFrcyBhZnRlciBhIGhlYWRpbmdcbiAgICBoMixcbiAgICBoMyB7IHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkOyB9XG5cbiAgICAvLyBIZWxwZXIgdG8gcmUtYWxsb3cgcGFnZSBicmVha3MgaW4gdGhlIG1pZGRsZSBvZiBjZXJ0YWluIGVsZW1lbnRzIChlLmcuIHByZSwgYmxvY2txdW90ZSwgdHIpXG4gICAgLnByaW50LWJyZWFrLWluc2lkZSB7XG4gICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXV0bztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIFRoZSBtYXhpbXVtIHdpZHRoIG9mIGEgcm93LlxuLy8vIEB0eXBlIE51bWJlclxuJGdyaWQtcm93LXdpZHRoOiAkZ2xvYmFsLXdpZHRoICFkZWZhdWx0O1xuXG4vLy8gVGhlIGRlZmF1bHQgY29sdW1uIGNvdW50IG9mIGEgZ3JpZC4gQ2hhbmdpbmcgdGhpcyB2YWx1ZSBhZmZlY3RzIHRoZSBsb2dpYyBvZiB0aGUgZ3JpZCBtaXhpbnMsIGFuZCB0aGUgbnVtYmVyIG9mIENTUyBjbGFzc2VzIG91dHB1dC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRncmlkLWNvbHVtbi1jb3VudDogMTIgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYW1vdW50IG9mIHNwYWNlIGJldHdlZW4gY29sdW1ucyBhdCBkaWZmZXJlbnQgc2NyZWVuIHNpemVzLiBUbyB1c2UganVzdCBvbmUgc2l6ZSwgc2V0IHRoZSB2YXJpYWJsZSB0byBhIG51bWJlciBpbnN0ZWFkIG9mIGEgbWFwLlxuLy8vIEB0eXBlIE1hcCB8IExlbmd0aFxuLy8vIEBzaW5jZSA2LjEuMFxuJGdyaWQtY29sdW1uLWd1dHRlcjogKFxuICBzbWFsbDogMjBweCxcbiAgbWVkaXVtOiAzMHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgdGhlIGxhc3QgY29sdW1uIGluIGEgcm93IHdpbGwgYWxpZ24gdG8gdGhlIG9wcG9zaXRlIGVkZ2Ugb2YgdGhlIHJvdy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZ3JpZC1jb2x1bW4tYWxpZ24tZWRnZTogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNlbGVjdG9yIHVzZWQgZm9yIGFuIGFsaWFzIG9mIGNvbHVtbiAod2l0aCBAZXh0ZW5kKS4gSWYgYGZhbHNlYCwgbm8gYWxpYXMgaXMgY3JlYXRlZC5cbi8vLyBAdHlwZSBTdHJpbmdcbiRncmlkLWNvbHVtbi1hbGlhczogJ2NvbHVtbnMnICFkZWZhdWx0O1xuXG4vLy8gVGhlIGhpZ2hlc3QgbnVtYmVyIG9mIGAueC11cGAgY2xhc3NlcyBhdmFpbGFibGUgd2hlbiB1c2luZyB0aGUgYmxvY2sgZ3JpZCBDU1MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYmxvY2stZ3JpZC1tYXg6IDggIWRlZmF1bHQ7XG5cbi8vIEludGVybmFsIHZhbHVlIHRvIHN0b3JlIHRoZSBlbmQgY29sdW1uIGZsb2F0IGRpcmVjdGlvblxuJC16Zi1lbmQtZmxvYXQ6IGlmKCRncmlkLWNvbHVtbi1hbGlnbi1lZGdlLCAkZ2xvYmFsLXJpZ2h0LCAkZ2xvYmFsLWxlZnQpO1xuXG5AaW1wb3J0ICdyb3cnO1xuQGltcG9ydCAnY29sdW1uJztcbkBpbXBvcnQgJ3NpemUnO1xuQGltcG9ydCAncG9zaXRpb24nO1xuQGltcG9ydCAnZ3V0dGVyJztcbkBpbXBvcnQgJ2NsYXNzZXMnO1xuQGltcG9ydCAnbGF5b3V0JztcblxuQGltcG9ydCAnZmxleC1ncmlkJztcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIENoYW5nZSB0aGUgYmVoYXZpb3Igb2YgY29sdW1ucyBkZWZpbmVkIGluc2lkZSB0aGlzIG1peGluIHRvIHVzZSBhIGRpZmZlcmVudCBjb2x1bW4gY291bnQuXG4vLy8gQGNvbnRlbnRcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkY29sdW1ucyAtIE51bWJlciBvZiBjb2x1bW5zIHRvIHVzZS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRyb290IFtmYWxzZV1cbi8vLyAgIElmIGBmYWxzZWAsIHNlbGVjdG9ycyBpbnNpZGUgdGhpcyBtaXhpbiB3aWxsIG5lc3QgaW5zaWRlIHRoZSBwYXJlbnQgc2VsZWN0b3IuXG4vLy8gICBJZiBgdHJ1ZWAsIHNlbGVjdG9ycyB3aWxsIG5vdCBuZXN0LlxuQG1peGluIGdyaWQtY29udGV4dChcbiAgJGNvbHVtbnMsXG4gICRyb290OiBmYWxzZVxuKSB7XG4gIC8vIFN0b3JlIHRoZSBjdXJyZW50IGNvbHVtbiBjb3VudCBzbyBpdCBjYW4gYmUgcmUtc2V0IGxhdGVyXG4gICRvbGQtZ3JpZC1jb2x1bW4tY291bnQ6ICRncmlkLWNvbHVtbi1jb3VudDtcbiAgJGdyaWQtY29sdW1uLWNvdW50OiAkY29sdW1ucyAhZ2xvYmFsO1xuXG4gIEBpZiAkcm9vdCB7XG4gICAgQGF0LXJvb3QgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxuXG4gIC8vIFJlc3RvcmUgdGhlIG9sZCBjb2x1bW4gY291bnRcbiAgJGdyaWQtY29sdW1uLWNvdW50OiAkb2xkLWdyaWQtY29sdW1uLWNvdW50ICFnbG9iYWw7XG59XG5cbi8vLyBDcmVhdGVzIGEgZ3JpZCByb3cuXG4vLy8gQGNvbnRlbnRcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkY29sdW1ucyBbbnVsbF0gLSBDb2x1bW4gY291bnQgZm9yIHRoaXMgcm93LiBgbnVsbGAgd2lsbCB1c2UgdGhlIGRlZmF1bHQgY29sdW1uIGNvdW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZHN9ICRiZWhhdmlvciBbbnVsbF1cbi8vLyAgIE1vZGlmaWNhdGlvbnMgdG8gdGhlIGRlZmF1bHQgZ3JpZCBzdHlsZXMuIGBuZXN0YCBpbmRpY2F0ZXMgdGhlIHJvdyB3aWxsIGJlIHBsYWNlZCBpbnNpZGUgYW5vdGhlciByb3cuIGBjb2xsYXBzZWAgaW5kaWNhdGVzIHRoYXQgdGhlIGNvbHVtbnMgaW5zaWRlIHRoaXMgcm93IHdpbGwgbm90IGhhdmUgcGFkZGluZy4gYG5lc3QgY29sbGFwc2VgIGNvbWJpbmVzIGJvdGggYmVoYXZpb3JzLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFskZ3JpZC1yb3ctd2lkdGhdIE1heGltdW0gc2l6ZSBvZiB0aGUgcm93LiBTZXQgdG8gYGV4cGFuZGAgdG8gbWFrZSB0aGUgcm93IHRha2luZyB0aGUgZnVsbCB3aWR0aC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRjZiBbdHJ1ZV0gLSBXaGV0aGVyIG9yIG5vdCB0byBpbmNsdWRlIGEgY2xlYXJmaXguXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBHdXR0ZXIgbWFwIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2Ugd2hlbiBpbnZlcnRpbmcgbWFyZ2lucy4gUmVzcG9uc2l2ZSBndXR0ZXIgc2V0dGluZ3MgYnkgZGVmYXVsdC5cbkBtaXhpbiBncmlkLXJvdyhcbiAgJGNvbHVtbnM6IG51bGwsXG4gICRiZWhhdmlvcjogbnVsbCxcbiAgJHNpemU6ICRncmlkLXJvdy13aWR0aCxcbiAgJGNmOiB0cnVlLFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gICRtYXJnaW46IGF1dG87XG5cbiAgQGlmIGluZGV4KCRiZWhhdmlvciwgbmVzdCkgIT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3ctbmVzdCgkZ3V0dGVycyk7XG5cbiAgICBAaWYgaW5kZXgoJGJlaGF2aW9yLCBjb2xsYXBzZSkgIT0gbnVsbCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpbmNsdWRlIGdyaWQtcm93LXNpemUoJHNpemUpO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgfVxuXG4gIEBpZiAkY2Yge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICB9XG5cbiAgQGlmICRjb2x1bW5zICE9IG51bGwge1xuICAgIEBpbmNsdWRlIGdyaWQtY29udGV4dCgkY29sdW1ucykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBJbnZlcnRzIHRoZSBtYXJnaW5zIG9mIGEgcm93IHRvIG5lc3QgaXQgaW5zaWRlIG9mIGEgY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBHdXR0ZXIgbWFwIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2Ugd2hlbiBpbnZlcnRpbmcgbWFyZ2lucy4gUmVzcG9uc2l2ZSBndXR0ZXIgc2V0dGluZ3MgYnkgZGVmYXVsdC5cbkBtaXhpbiBncmlkLXJvdy1uZXN0KCRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyKSB7XG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgICRtYXJnaW46IHJlbS1jYWxjKC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkLXpmLXNpemUpKSAvIDIgKiAtMTtcblxuICAgIG1hcmdpbi1yaWdodDogJG1hcmdpbjtcbiAgICBtYXJnaW4tbGVmdDogJG1hcmdpbjtcbiAgfVxufVxuXG4vLy8gU2V0IGEgZ3JpZCByb3cgc2l6ZVxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgWyRncmlkLXJvdy13aWR0aF0gTWF4aW11bSBzaXplIG9mIHRoZSByb3cuIFNldCB0byBgZXhwYW5kYCB0byBtYWtlIHRoZSByb3cgdGFraW5nIHRoZSBmdWxsIHdpZHRoLlxuQG1peGluIGdyaWQtcm93LXNpemUoJHNpemU6ICRncmlkLXJvdy13aWR0aCkge1xuICBAaWYgJHNpemUgPT0gZXhwYW5kIHtcbiAgICAkc2l6ZTogbm9uZTtcbiAgfVxuXG4gIG1heC13aWR0aDogJHNpemU7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBDYWxjdWxhdGVzIHRoZSB3aWR0aCBvZiBhIGNvbHVtbiBiYXNlZCBvbiBhIG51bWJlciBvZiBmYWN0b3JzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJGNvbHVtbnNcbi8vLyAgIFdpZHRoIG9mIHRoZSBjb2x1bW4uIEFjY2VwdHMgbXVsdGlwbGUgdmFsdWVzOlxuLy8vICAgLSBBIHBlcmNlbnRhZ2UgdmFsdWUgd2lsbCBtYWtlIHRoZSBjb2x1bW4gdGhhdCBleGFjdCBzaXplLlxuLy8vICAgLSBBIHNpbmdsZSBkaWdpdCB3aWxsIG1ha2UgdGhlIGNvbHVtbiBzcGFuIHRoYXQgbnVtYmVyIG9mIGNvbHVtbnMgd2lkZSwgdGFraW5nIGludG8gYWNjb3VudCB0aGUgY29sdW1uIGNvdW50IG9mIHRoZSBwYXJlbnQgcm93LlxuLy8vICAgLSBBIGxpc3Qgb2YgdGhlIGZvcm1hdCBcInggb2YgeVwiICh3aXRob3V0IHF1b3Rlcykgd2lsbCBtYWtlIGEgY29sdW1uIHRoYXQgaXMgKngqIGNvbHVtbnMgd2lkZSwgYXNzdW1pbmcgKnkqIHRvdGFsIGNvbHVtbnMgZm9yIHRoZSBwYXJlbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBBIGNhbGN1bGF0ZWQgcGVyY2VudGFnZSB2YWx1ZS5cbkBmdW5jdGlvbiBncmlkLWNvbHVtbigkY29sdW1ucykge1xuICAkd2lkdGg6IDAlO1xuXG4gIC8vIFBhcnNpbmcgcGVyY2VudHMsIGRlY2ltYWxzLCBhbmQgY29sdW1uIGNvdW50c1xuICBAaWYgdHlwZS1vZigkY29sdW1ucykgPT0gJ251bWJlcicge1xuICAgIEBpZiB1bml0KCRjb2x1bW5zKSA9PSAnJScge1xuICAgICAgJHdpZHRoOiAkY29sdW1ucztcbiAgICB9XG4gICAgQGVsc2UgaWYgJGNvbHVtbnMgPCAxIHtcbiAgICAgICR3aWR0aDogcGVyY2VudGFnZSgkY29sdW1ucyk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICR3aWR0aDogcGVyY2VudGFnZSgkY29sdW1ucyAvICRncmlkLWNvbHVtbi1jb3VudCk7XG4gICAgfVxuICB9XG5cbiAgLy8gUGFyc2luZyBcIm4gb2YgblwiIGV4cHJlc3Npb25zXG4gIEBlbHNlIGlmIHR5cGUtb2YoJGNvbHVtbnMpID09ICdsaXN0JyB7XG4gICAgQGlmIGxlbmd0aCgkY29sdW1ucykgIT0gMyB7XG4gICAgICBAZXJyb3IgJ1dyb25nIHN5bnRheCBmb3IgZ3JpZC1jb2x1bW4oKS4gVXNlIHRoZSBmb3JtYXQgXCJuIG9mIG5cIi4nO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkd2lkdGg6IHBlcmNlbnRhZ2UobnRoKCRjb2x1bW5zLCAxKSAvIG50aCgkY29sdW1ucywgMykpO1xuICAgIH1cbiAgfVxuXG4gIC8vIEFueXRoaW5nIGVsc2UgaXMgaW5jb3JyZWN0XG4gIEBlbHNlIHtcbiAgICBAZXJyb3IgJ1dyb25nIHN5bnRheCBmb3IgZ3JpZC1jb2x1bW4oKS4gVXNlIGEgbnVtYmVyLCBkZWNpbWFsLCBwZXJjZW50YWdlLCBvciBcIm4gb2YgblwiLic7XG4gIH1cblxuICBAcmV0dXJuICR3aWR0aDtcbn1cblxuLy8vIENyZWF0ZXMgYSBncmlkIGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7TWl4ZWR9ICRjb2x1bW5zIFskZ3JpZC1jb2x1bW4tY291bnRdIC0gV2lkdGggb2YgdGhlIGNvbHVtbi4gUmVmZXIgdG8gdGhlIGBncmlkLWNvbHVtbigpYCBmdW5jdGlvbiB0byBzZWUgcG9zc2libGUgdmFsdWVzLlxuLy8vIEBwYXJhbSB7TWl4ZWR9ICRndXR0ZXJzIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIFNwYWNpbmcgYmV0d2VlbiBjb2x1bW5zLiBSZWZlciB0byB0aGUgYGdyaWQtY29sdW1uLWd1dHRlcigpYCBmdW5jdGlvbiB0byBzZWUgcG9zc2libGUgdmFsdWVzLlxuQG1peGluIGdyaWQtY29sdW1uKFxuICAkY29sdW1uczogJGdyaWQtY29sdW1uLWNvdW50LFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXNpemUoJGNvbHVtbnMpO1xuICBmbG9hdDogJGdsb2JhbC1sZWZ0O1xuXG4gIC8vIEd1dHRlcnNcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tZ3V0dGVyKCRndXR0ZXJzOiAkZ3V0dGVycyk7XG5cbiAgLy8gUG9zaXRpb25cbiAgQGluY2x1ZGUgZ3JpZC1jb2wtcG9zKGF1dG8pO1xufVxuXG4vLy8gQ3JlYXRlcyBhIGdyaWQgY29sdW1uIHJvdy4gVGhpcyBpcyB0aGUgZXF1aXZhbGVudCBvZiBhZGRpbmcgYC5yb3dgIGFuZCBgLmNvbHVtbmAgdG8gdGhlIHNhbWUgZWxlbWVudC5cbi8vL1xuLy8vIEBwYXJhbSB7TWl4ZWR9ICRndXR0ZXJzIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIFdpZHRoIG9mIHRoZSBndXR0ZXJzIG9uIGVpdGhlciBzaWRlIG9mIHRoZSBjb2x1bW4gcm93LiBSZWZlciB0byB0aGUgYGdyaWQtY29sdW1uLWd1dHRlcigpYCBmdW5jdGlvbiB0byBzZWUgcG9zc2libGUgdmFsdWVzLlxuQG1peGluIGdyaWQtY29sdW1uLXJvdyhcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSBncmlkLXJvdztcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oJGd1dHRlcnM6ICRndXR0ZXJzKTtcblxuICAmLFxuICAmOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBub25lO1xuICB9XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW5cbkBmdW5jdGlvbiBncmlkLWNvbChcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudFxuKSB7XG4gIEByZXR1cm4gZ3JpZC1jb2x1bW4oJGNvbHVtbnMpO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4oKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uXG5AbWl4aW4gZ3JpZC1jb2woXG4gICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW4tY291bnQsXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oJGNvbHVtbnMsICRndXR0ZXJzKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLXJvdygpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tcm93XG5AbWl4aW4gZ3JpZC1jb2wtcm93KFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXJvdygkZ3V0dGVycyk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBTZXQgdGhlIHdpZHRoIG9mIGEgZ3JpZCBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkd2lkdGggWyRncmlkLWNvbHVtbi1jb3VudF0gLSBXaWR0aCB0byBtYWtlIHRoZSBjb2x1bW4uIFlvdSBjYW4gcGFzcyBpbiBhbnkgdmFsdWUgYWNjZXB0ZWQgYnkgdGhlIGBncmlkLWNvbHVtbigpYCBmdW5jdGlvbiwgc3VjaCBhcyBgNmAsIGA1MCVgLCBvciBgMSBvZiAyYC5cbkBtaXhpbiBncmlkLWNvbHVtbi1zaXplKFxuICAkY29sdW1uczogJGdyaWQtY29sdW1uLWNvdW50XG4pIHtcbiAgd2lkdGg6IGdyaWQtY29sdW1uKCRjb2x1bW5zKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLXNpemUoKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXNpemVcbkBtaXhpbiBncmlkLWNvbC1zaXplKFxuICAkY29sdW1uczogJGdyaWQtY29sdW1uLWNvdW50XG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tc2l6ZSgkY29sdW1ucyk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBSZXBvc2l0aW9uIGEgY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8S2V5d29yZH0gJHBvc2l0aW9uIC0gSXQgY2FuIGJlOlxuLy8vICAgKiBBIG51bWJlcjogVGhlIGNvbHVtbiB3aWxsIG1vdmUgZXF1YWwgdG8gdGhlIHdpZHRoIG9mIHRoZSBjb2x1bW4gY291bnRcbi8vLyAgICAgc3BlY2lmaWVkLiBBIHBvc2l0aXZlIG51bWJlciB3aWxsIHB1c2ggdGhlIGNvbHVtbiB0byB0aGUgcmlnaHQsIHdoaWxlXG4vLy8gICAgIGEgbmVnYXRpdmUgbnVtYmVyIHdpbGwgcHVsbCBpdCB0byB0aGUgbGVmdC5cbi8vLyAgICogYGNlbnRlcmA6IENvbHVtbiB3aWxsIGJlIGNlbnRlcmVkXG4vLy8gICAqIGBhdXRvYDogQ29sdW1uIHdpbGwgYmUgcHVzaGVkIHRvIHRoZSBsZWZ0IChvciB0byB0aGUgcmlnaHQgZm9yIHRoZSBsYXN0IGNvbHVtbikuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tcG9zaXRpb24oJHBvc2l0aW9uKSB7XG4gIC8vIEF1dG8gcG9zaXRpb25pbmdcbiAgQGlmICRwb3NpdGlvbiA9PSBhdXRvIHtcbiAgICAmLCAmOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcbiAgICAgIGNsZWFyOiBub25lO1xuICAgIH1cblxuICAgIC8vIExhc3QgY29sdW1uIGFsaWdubWVudFxuICAgIEBpZiAkZ3JpZC1jb2x1bW4tYWxpZ24tZWRnZSB7XG4gICAgICAmOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICBmbG9hdDogJGdsb2JhbC1yaWdodDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBQdXNoL3B1bGxcbiAgQGVsc2UgaWYgdHlwZS1vZigkcG9zaXRpb24pID09ICdudW1iZXInIHtcbiAgICAkb2Zmc2V0OiBwZXJjZW50YWdlKCRwb3NpdGlvbiAvICRncmlkLWNvbHVtbi1jb3VudCk7XG5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAkb2Zmc2V0O1xuICB9XG5cbiAgLy8gQ2VudGVyIHBvc2l0aW9uaW5nXG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSBjZW50ZXIge1xuICAgICYsICY6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cblxuICBAZWxzZSB7XG4gICAgQHdhcm4gJ1dyb25nIHN5bnRheCBmb3IgZ3JpZC1jb2x1bW4tcG9zaXRpb24oKS4gRW50ZXIgYSBwb3NpdGl2ZSBvciBuZWdhdGl2ZSBudW1iZXIsIFwiY2VudGVyXCIgb3IgXCJhdXRvXCIuJztcbiAgfVxufVxuXG4vLy8gUmVzZXQgYSBwb3NpdGlvbiBkZWZpbml0aW9uLlxuQG1peGluIGdyaWQtY29sdW1uLXVucG9zaXRpb24ge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1wb3NpdGlvbihhdXRvKTtcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbn1cblxuLy8vIE9mZnNldHMgYSBjb2x1bW4gdG8gdGhlIHJpZ2h0IGJ5IGAkbmAgY29sdW1ucy5cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkbiAtIFdpZHRoIHRvIG9mZnNldCBieS4gWW91IGNhbiBwYXNzIGluIGFueSB2YWx1ZSBhY2NlcHRlZCBieSB0aGUgYGdyaWQtY29sdW1uKClgIG1peGluLCBzdWNoIGFzIGA2YCwgYDUwJWAsIG9yIGAxIG9mIDJgLlxuQG1peGluIGdyaWQtY29sdW1uLW9mZnNldCgkbikge1xuICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiBncmlkLWNvbHVtbigkbik7XG59XG5cbi8vLyBEaXNhYmxlIHRoZSBkZWZhdWx0IGJlaGF2aW9yIG9mIHRoZSBsYXN0IGNvbHVtbiBpbiBhIHJvdyBhbGlnbmluZyB0byB0aGUgb3Bwb3NpdGUgZWRnZS5cbkBtaXhpbiBncmlkLWNvbHVtbi1lbmQge1xuICAvLyBUaGlzIGV4dHJhIHNwZWNpZmljaXR5IGlzIHJlcXVpcmVkIGZvciB0aGUgcHJvcGVydHkgdG8gYmUgYXBwbGllZFxuICAmOmxhc3QtY2hpbGQ6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcbiAgfVxufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tcG9zaXRpb24oKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXBvc2l0aW9uXG5AbWl4aW4gZ3JpZC1jb2wtcG9zKCRwb3NpdGlvbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1wb3NpdGlvbigkcG9zaXRpb24pO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tdW5wb3NpdGlvbigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tdW5wb3NpdGlvblxuQG1peGluIGdyaWQtY29sLXVucG9zIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tdW5wb3NpdGlvbjtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLW9mZnNldCgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tb2Zmc2V0XG5AbWl4aW4gZ3JpZC1jb2wtb2ZmKCRuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLW9mZnNldCgkbik7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1lbmQoKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLWVuZFxuQG1peGluIGdyaWQtY29sLWVuZCB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWVuZDtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIFNldCB0aGUgZ3V0dGVycyBvbiBhIGNvbHVtblxuLy8vIEBwYXJhbSB7TnVtYmVyfEtleXdvcmR9ICRndXR0ZXIgW2F1dG9dXG4vLy8gICBTcGFjaW5nIGJldHdlZW4gY29sdW1ucywgYWNjZXB0cyBtdWx0aXBsZSB2YWx1ZXM6XG4vLy8gICAtIEEgc2luZ2xlIHZhbHVlIHdpbGwgbWFrZSB0aGUgZ3V0dGVyIHRoYXQgZXhhY3Qgc2l6ZS5cbi8vLyAgIC0gQSBicmVha3BvaW50IG5hbWUgd2lsbCBtYWtlIHRoZSBndXR0ZXIgdGhlIGNvcnJlc3BvbmRpbmcgc2l6ZSBpbiB0aGUgJGd1dHRlcnMgbWFwLlxuLy8vICAgLSBcImF1dG9cIiB3aWxsIG1ha2UgdGhlIGd1dHRlciByZXNwb25zaXZlLCB1c2luZyB0aGUgJGd1dHRlcnMgbWFwIHZhbHVlcy5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIEd1dHRlciBtYXAgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZS4gUmVzcG9uc2l2ZSBndXR0ZXIgc2V0dGluZ3MgYnkgZGVmYXVsdC5cbkBtaXhpbiBncmlkLWNvbHVtbi1ndXR0ZXIoXG4gICRndXR0ZXI6IGF1dG8sXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoJGd1dHRlciwgJGd1dHRlcnMpIHtcbiAgICAkcGFkZGluZzogcmVtLWNhbGMoJC16Zi1icC12YWx1ZSkgLyAyO1xuXG4gICAgcGFkZGluZy1yaWdodDogJHBhZGRpbmc7XG4gICAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZztcbiAgfVxufVxuXG4vLy8gQ29sbGFwc2UgdGhlIGd1dHRlcnMgb24gYSBjb2x1bW4gYnkgcmVtb3ZpbmcgdGhlIHBhZGRpbmcuICoqTm90ZToqKiBvbmx5IHVzZSB0aGlzIG1peGluIHdpdGhpbiBhIGJyZWFrcG9pbnQuIFRvIGNvbGxhcHNlIGEgY29sdW1uJ3MgZ3V0dGVycyBvbiBhbGwgc2NyZWVuIHNpemVzLCB1c2UgdGhlIGAkZ3V0dGVyYCBwYXJhbWV0ZXIgb2YgdGhlIGBncmlkLWNvbHVtbigpYCBtaXhpbiBpbnN0ZWFkLlxuQG1peGluIGdyaWQtY29sdW1uLWNvbGxhcHNlIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tZ3V0dGVyKDApO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tZ3V0dGVyKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1ndXR0ZXJcbkBtaXhpbiBncmlkLWNvbC1ndXR0ZXIoXG4gICRndXR0ZXI6IGF1dG8sXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tZ3V0dGVyKCRndXR0ZXIsICRndXR0ZXJzKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLWNvbGxhcHNlKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1jb2xsYXBzZVxuQG1peGluIGdyaWQtY29sLWNvbGxhcHNlIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tY29sbGFwc2U7XG59XG5cbi8vLyBTZXRzIGJvdHRvbSBtYXJnaW4gb24gZ3JpZCBjb2x1bW5zIHRvIG1hdGNoIGd1dHRlcnNcbi8vLyBAcGFyYW0ge051bWJlcnxLZXl3b3JkfSAkbWFyZ2luIFthdXRvXVxuLy8vICAgVGhlIGJvdHRvbSBtYXJnaW4gb24gZ3JpZCBjb2x1bW5zLCBhY2NlcHRzIG11bHRpcGxlIHZhbHVlczpcbi8vLyAgIC0gQSBzaW5nbGUgdmFsdWUgd2lsbCBtYWtlIHRoZSBtYXJnaW4gdGhhdCBleGFjdCBzaXplLlxuLy8vICAgLSBBIGJyZWFrcG9pbnQgbmFtZSB3aWxsIG1ha2UgdGhlIG1hcmdpbiB0aGUgY29ycmVzcG9uZGluZyBzaXplIGluIHRoZSAkbWFyZ2lucyBtYXAuXG4vLy8gICAtIFwiYXV0b1wiIHdpbGwgbWFrZSB0aGUgbWFyZ2luIHJlc3BvbnNpdmUsIHVzaW5nIHRoZSAkbWFyZ2lucyBtYXAgdmFsdWVzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJG1hcmdpbnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2UuIFJlc3BvbnNpdmUgZ3V0dGVyIHNldHRpbmdzIGJ5IGRlZmF1bHQuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tbWFyZ2luIChcbiAgJG1hcmdpbjogYXV0byxcbiAgJG1hcmdpbnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZSgkbWFyZ2luLCAkbWFyZ2lucykge1xuICAgICRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygkLXpmLWJwLXZhbHVlKTtcbiAgICBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLWJvdHRvbTtcblxuICAgID4gOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIE91dHB1dHMgQ1NTIGNsYXNzZXMgZm9yIHRoZSBncmlkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQG1peGluIGZvdW5kYXRpb24tZ3JpZChcbiAgJHJvdzogJ3JvdycsXG4gICRjb2x1bW46ICdjb2x1bW4nLFxuICAkY29sdW1uLXJvdzogJ2NvbHVtbi1yb3cnLFxuICAkZ3V0dGVyOiAnZ3V0dGVyJyxcbiAgJHB1c2g6ICdwdXNoJyxcbiAgJHB1bGw6ICdwdWxsJyxcbiAgJGNlbnRlcjogJ2NlbnRlcmVkJyxcbiAgJHVuY2VudGVyOiAndW5jZW50ZXJlZCcsXG4gICRjb2xsYXBzZTogJ2NvbGxhcHNlJyxcbiAgJHVuY29sbGFwc2U6ICd1bmNvbGxhcHNlJyxcbiAgJG9mZnNldDogJ29mZnNldCcsXG4gICRlbmQ6ICdlbmQnLFxuICAkZXhwYW5kZWQ6ICdleHBhbmRlZCcsXG4gICRibG9jazogJ2Jsb2NrJ1xuKSB7XG4gIC8vIFJvd1xuICAuI3skcm93fSB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3c7XG5cbiAgICAvLyBDb2xsYXBzaW5nXG4gICAgJi4jeyRjb2xsYXBzZX0ge1xuICAgICAgPiAuI3skY29sdW1ufSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLWNvbGxhcHNlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIE5lc3RpbmdcbiAgICAmIC4jeyRyb3d9IHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtcm93LW5lc3QoJGdyaWQtY29sdW1uLWd1dHRlcik7XG5cbiAgICAgICYuI3skY29sbGFwc2V9IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBFeHBhbmRlZCAoZnVsbC13aWR0aCkgcm93XG4gICAgJi4jeyRleHBhbmRlZH0ge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3ctc2l6ZShleHBhbmQpO1xuXG4gICAgICAuI3skcm93fSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpub3QoLiN7JGV4cGFuZGVkfSkgLiN7JHJvd30ge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3ctc2l6ZShleHBhbmQpO1xuICAgIH1cblxuICAgIEBpZiB0eXBlLW9mKCRncmlkLWNvbHVtbi1ndXR0ZXIpID09ICdtYXAnIHtcbiAgICAgIC8vIFN0YXRpYyAodW5yZXNwb25zaXZlKSByb3cgZ3V0dGVyc1xuICAgICAgLy9cbiAgICAgIEBlYWNoICRicmVha3BvaW50LCAkdmFsdWUgaW4gJGdyaWQtY29sdW1uLWd1dHRlciB7XG4gICAgICAgICYuI3skZ3V0dGVyfS0jeyRicmVha3BvaW50fSB7XG4gICAgICAgICAgPiAuI3skY29sdW1ufSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1ndXR0ZXIoJHZhbHVlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBDb2x1bW5cbiAgLiN7JGNvbHVtbn0ge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sO1xuXG4gICAgQGlmICRncmlkLWNvbHVtbi1hbGlnbi1lZGdlIHtcbiAgICAgICYuI3skZW5kfSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLWVuZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBDb2x1bW4gcm93XG4gIC8vIFRoZSBkb3VibGUgLnJvdyBjbGFzcyBpcyBuZWVkZWQgdG8gYnVtcCB1cCB0aGUgc3BlY2lmaWNpdHlcbiAgLiN7JGNvbHVtbn0uI3skcm93fS4jeyRyb3d9IHtcbiAgICBmbG9hdDogbm9uZTtcbiAgfVxuXG4gIC8vIFRvIHByb3Blcmx5IG5lc3QgYSBjb2x1bW4gcm93LCBwYWRkaW5nIGFuZCBtYXJnaW4gaXMgcmVtb3ZlZFxuICAuI3skcm93fSAuI3skY29sdW1ufS4jeyRyb3d9LiN7JHJvd30ge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxuXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1uLWNvdW50IHtcbiAgICAgIC8vIENvbHVtbiB3aWR0aFxuICAgICAgLiN7JC16Zi1zaXplfS0jeyRpfSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLXNpemUoJGkpO1xuICAgICAgfVxuXG4gICAgICAvLyBTb3VyY2Ugb3JkZXJpbmdcbiAgICAgIEBpZiAkaSA8ICRncmlkLWNvbHVtbi1jb3VudCB7XG4gICAgICAgIC4jeyQtemYtc2l6ZX0tI3skcHVzaH0tI3skaX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLXBvcygkaSk7XG4gICAgICAgIH1cblxuICAgICAgICAuI3skLXpmLXNpemV9LSN7JHB1bGx9LSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1wb3MoLSRpKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBPZmZzZXRzXG4gICAgICAkbzogJGkgLSAxO1xuXG4gICAgICAuI3skLXpmLXNpemV9LSN7JG9mZnNldH0tI3skb30ge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1vZmYoJG8pO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEJsb2NrIGdyaWRcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRibG9jay1ncmlkLW1heCB7XG4gICAgICAuI3skLXpmLXNpemV9LXVwLSN7JGl9IHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1sYXlvdXQoJGksICcuI3skY29sdW1ufScpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFJlc3BvbnNpdmUgY29sbGFwc2luZ1xuICAgIC4jeyQtemYtc2l6ZX0tI3skY29sbGFwc2V9IHtcbiAgICAgID4gLiN7JGNvbHVtbn0geyBAaW5jbHVkZSBncmlkLWNvbC1jb2xsYXBzZTsgfVxuXG4gICAgICAuI3skcm93fSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLiN7JGV4cGFuZGVkfS4jeyRyb3d9IC4jeyQtemYtc2l6ZX0tI3skY29sbGFwc2V9LiN7JHJvd30ge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuXG4gICAgLiN7JC16Zi1zaXplfS0jeyR1bmNvbGxhcHNlfSB7XG4gICAgICA+IC4jeyRjb2x1bW59IHsgQGluY2x1ZGUgZ3JpZC1jb2wtZ3V0dGVyKCQtemYtc2l6ZSk7IH1cbiAgICB9XG5cbiAgICAvLyBQb3NpdGlvbmluZ1xuICAgIC4jeyQtemYtc2l6ZX0tI3skY2VudGVyfSB7XG4gICAgICBAaW5jbHVkZSBncmlkLWNvbC1wb3MoY2VudGVyKTtcbiAgICB9XG5cbiAgICAvLyBHdXR0ZXIgYWRqdXN0bWVudFxuICAgIC4jeyQtemYtc2l6ZX0tI3skdW5jZW50ZXJ9LFxuICAgIC4jeyQtemYtc2l6ZX0tI3skcHVzaH0tMCxcbiAgICAuI3skLXpmLXNpemV9LSN7JHB1bGx9LTAge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtdW5wb3M7XG4gICAgfVxuICB9XG5cbiAgLy8gQmxvY2sgZ3JpZCBjb2x1bW5zXG4gIC4jeyRjb2x1bW59LSN7JGJsb2NrfSB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tbWFyZ2luO1xuICB9XG5cbiAgQGlmICRjb2x1bW4gPT0gJ2NvbHVtbicgYW5kIGhhcy12YWx1ZSgkZ3JpZC1jb2x1bW4tYWxpYXMpIHtcbiAgICAuI3skZ3JpZC1jb2x1bW4tYWxpYXN9IHtcbiAgICAgIC8vIHNhc3MtbGludDpkaXNhYmxlLWJsb2NrIHBsYWNlaG9sZGVyLWluLWV4dGVuZFxuICAgICAgQGV4dGVuZCAuY29sdW1uO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gU2l6ZXMgY2hpbGQgZWxlbWVudHMgc28gdGhhdCBgJG5gIG51bWJlciBvZiBpdGVtcyBhcHBlYXIgb24gZWFjaCByb3cuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG4gLSBOdW1iZXIgb2YgZWxlbWVudHMgdG8gZGlzcGxheSBwZXIgcm93LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWycuY29sdW1uJ10gLSBTZWxlY3RvcihzKSB0byB1c2UgZm9yIGNoaWxkIGVsZW1lbnRzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRndXR0ZXJcbi8vLyAgIFRoZSBndXR0ZXIgdG8gYXBwbHkgdG8gY2hpbGQgZWxlbWVudHMuIEFjY2VwdHMgbXVsdGlwbGUgdmFsdWVzOlxuLy8vICAgLSAkZ3JpZC1jb2x1bW4tZ3V0dGVyIHdpbGwgdXNlIHRoZSB2YWx1ZXMgaW4gdGhlICRncmlkLWNvbHVtbi1ndXR0ZXIgbWFwLCBpbmNsdWRpbmcgYnJlYWtwb2ludCBzaXplcy5cbi8vLyAgIC0gQSBmaXhlZCBudW1lcmljIHZhbHVlIHdpbGwgYXBwbHkgdGhpcyBndXR0ZXIgdG8gYWxsIGJyZWFrcG9pbnRzLlxuQG1peGluIGdyaWQtbGF5b3V0KFxuICAkbixcbiAgJHNlbGVjdG9yOiAnLmNvbHVtbicsXG4gICRndXR0ZXI6IG51bGxcbikge1xuICAmID4gI3skc2VsZWN0b3J9IHtcbiAgICBmbG9hdDogJGdsb2JhbC1sZWZ0O1xuICAgIHdpZHRoOiBwZXJjZW50YWdlKDEvJG4pO1xuXG4gICAgLy8gSWYgYSAkZ3V0dGVyIHZhbHVlIGlzIHBhc3NlZFxuICAgIEBpZigkZ3V0dGVyKSB7XG4gICAgICAvLyBHdXR0ZXJzXG4gICAgICBAaWYgdHlwZS1vZigkZ3V0dGVyKSA9PSAnbWFwJyB7XG4gICAgICAgIEBlYWNoICRicmVha3BvaW50LCAkdmFsdWUgaW4gJGd1dHRlciB7XG4gICAgICAgICAgJHBhZGRpbmc6IHJlbS1jYWxjKCR2YWx1ZSkgLyAyO1xuXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnJlYWtwb2ludCkge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogJHBhZGRpbmc7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2UgaWYgdHlwZS1vZigkZ3V0dGVyKSA9PSAnbnVtYmVyJyBhbmQgc3RyaXAtdW5pdCgkZ3V0dGVyKSA+IDAge1xuICAgICAgICAkcGFkZGluZzogcmVtLWNhbGMoJGd1dHRlcikgLyAyO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZztcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTtcbiAgICB9XG5cbiAgICAmOm50aC1vZi10eXBlKCN7JG59bisxKSB7XG4gICAgICBjbGVhcjogYm90aDtcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgZXh0cmEgQ1NTIHRvIGJsb2NrIGdyaWQgY2hpbGRyZW4gc28gdGhlIGxhc3QgaXRlbXMgaW4gdGhlIHJvdyBjZW50ZXIgYXV0b21hdGljYWxseS4gQXBwbHkgdGhpcyB0byB0aGUgY29sdW1ucywgbm90IHRoZSByb3cuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG4gLSBOdW1iZXIgb2YgaXRlbXMgdGhhdCBhcHBlYXIgaW4gZWFjaCByb3cuXG5AbWl4aW4gZ3JpZC1sYXlvdXQtY2VudGVyLWxhc3QoJG4pIHtcbiAgQGZvciAkaSBmcm9tIDEgdG8gJG4ge1xuICAgIEBpZiAkaSA9PSAxIHtcbiAgICAgICY6bnRoLWNoaWxkKCN7JG59bisxKTpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICgxMDAgLSAxMDAvJG4gKiAkaSkgLyAyICogMSU7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICY6bnRoLWNoaWxkKCN7JG59bisxKTpudGgtbGFzdC1jaGlsZCgjeyRpfSkge1xuICAgICAgICBtYXJnaW4tbGVmdDogKDEwMCAtIDEwMC8kbiAqICRpKSAvIDIgKiAxJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZsZXgtZ3JpZFxuLy8vL1xuXG4vLy8gQ3JlYXRlcyBhIGNvbnRhaW5lciBmb3IgYSBmbGV4IGdyaWQgcm93LlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfExpc3R9ICRiZWhhdmlvciBbbnVsbF1cbi8vLyAgIE1vZGlmaWNhdGlvbnMgdG8gdGhlIGRlZmF1bHQgZ3JpZCBzdHlsZXMuIGBuZXN0YCBpbmRpY2F0ZXMgdGhlIHJvdyB3aWxsIGJlIHBsYWNlZCBpbnNpZGUgYW5vdGhlciByb3cuIGBjb2xsYXBzZWAgaW5kaWNhdGVzIHRoYXQgdGhlIGNvbHVtbnMgaW5zaWRlIHRoaXMgcm93IHdpbGwgbm90IGhhdmUgcGFkZGluZy4gYG5lc3QgY29sbGFwc2VgIGNvbWJpbmVzIGJvdGggYmVoYXZpb3JzLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFskZ3JpZC1yb3ctd2lkdGhdIE1heGltdW0gc2l6ZSBvZiB0aGUgcm93LiBTZXQgdG8gYGV4cGFuZGAgdG8gbWFrZSB0aGUgcm93IHRha2luZyB0aGUgZnVsbCB3aWR0aC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGNvbHVtbnMgW251bGxdIC0gTnVtYmVyIG9mIGNvbHVtbnMgdG8gdXNlIGZvciB0aGlzIHJvdy4gSWYgc2V0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpLCB0aGUgZ2xvYmFsIGNvbHVtbiBjb3VudCB3aWxsIGJlIHVzZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkYmFzZSBbdHJ1ZV0gLSBTZXQgdG8gYGZhbHNlYCB0byBwcmV2ZW50IGJhc2ljIHN0eWxlcyBmcm9tIGJlaW5nIG91dHB1dC4gVXNlZnVsIGlmIHlvdSdyZSBjYWxsaW5nIHRoaXMgbWl4aW4gb24gdGhlIHNhbWUgZWxlbWVudCB0d2ljZSwgYXMgaXQgcHJldmVudHMgZHVwbGljYXRlIENTUyBvdXRwdXQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkd3JhcCBbdHJ1ZV0gLSBTZXQgdG8gYGZhbHNlYCB0byBoYXZlIHJvdyB3cmFwcGluZyBiZWhhdmlvciBzZXQgdG8gbm93cmFwXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBHdXR0ZXIgbWFwIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2Ugd2hlbiBpbnZlcnRpbmcgbWFyZ2lucywgaW4gY2FzZSB0aGUgcm93IGlzIG5lc3RlZC4gUmVzcG9uc2l2ZSBndXR0ZXIgc2V0dGluZ3MgYnkgZGVmYXVsdC5cbkBtaXhpbiBmbGV4LWdyaWQtcm93KFxuICAkYmVoYXZpb3I6IG51bGwsXG4gICRzaXplOiAkZ3JpZC1yb3ctd2lkdGgsXG4gICRjb2x1bW5zOiBudWxsLFxuICAkYmFzZTogdHJ1ZSxcbiAgJHdyYXA6IHRydWUsXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgJG1hcmdpbjogYXV0bztcbiAgJHdyYXA6IGlmKCR3cmFwLCB3cmFwLCBub3dyYXApO1xuXG4gIEBpZiBpbmRleCgkYmVoYXZpb3IsIG5lc3QpICE9IG51bGwge1xuICAgIEBpbmNsdWRlIGdyaWQtcm93LW5lc3QoJGd1dHRlcnMpO1xuXG4gICAgQGlmIGluZGV4KCRiZWhhdmlvciwgY29sbGFwc2UpICE9IG51bGwge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdy1zaXplKCRzaXplKTtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cblxuICBAaWYgJGJhc2Uge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgJHdyYXA7XG4gIH1cblxuICBAaWYgJGNvbHVtbnMgIT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb250ZXh0KCRjb2x1bW5zLCAkYmFzZSkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBDYWxjdWxhdGVzIHRoZSBgZmxleGAgcHJvcGVydHkgZm9yIGEgZmxleCBncmlkIGNvbHVtbi4gSXQgYWNjZXB0cyBhbGwgb2YgdGhlIHNhbWUgdmFsdWVzIGFzIHRoZSBiYXNpYyBgZ3JpZC1jb2x1bW4oKWAgZnVuY3Rpb24sIGFsb25nIHdpdGggdHdvIGV4dHJhczpcbi8vLyAgIC0gYGV4cGFuZGAgKHRoZSBkZWZhdWx0KSB3aWxsIG1ha2UgdGhlIGNvbHVtbiBleHBhbmQgdG8gZmlsbCBzcGFjZS5cbi8vLyAgIC0gYHNocmlua2Agd2lsbCBtYWtlIHRoZSBjb2x1bW4gY29udHJhY3QsIHNvIGl0IG9ubHkgdGFrZXMgdXAgdGhlIGhvcml6b250YWwgc3BhY2UgaXQgbmVlZHMuXG4vLy9cbi8vLyBAcGFyYW0ge01peGVkfSAkY29sdW1ucyBbZXhwYW5kXSAtIFdpZHRoIG9mIHRoZSBjb2x1bW4uXG5AZnVuY3Rpb24gZmxleC1ncmlkLWNvbHVtbigkY29sdW1uczogZXhwYW5kKSB7XG4gICRmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuXG4gIEBpZiAkY29sdW1ucyA9PSBzaHJpbmsge1xuICAgICRmbGV4OiAwIDAgYXV0bztcbiAgfVxuICBAZWxzZSBpZiAkY29sdW1ucyAhPSBleHBhbmQge1xuICAgICRmbGV4OiAwIDAgZ3JpZC1jb2x1bW4oJGNvbHVtbnMpO1xuICB9XG5cbiAgQHJldHVybiAkZmxleDtcbn1cblxuLy8vIENyZWF0ZXMgYSBjb2x1bW4gZm9yIGEgZmxleCBncmlkLiBCeSBkZWZhdWx0LCB0aGUgY29sdW1uIHdpbGwgc3RyZXRjaCB0byB0aGUgZnVsbCB3aWR0aCBvZiBpdHMgY29udGFpbmVyLCBidXQgdGhpcyBjYW4gYmUgb3ZlcnJpZGRlbiB3aXRoIHNpemluZyBjbGFzc2VzLCBvciBieSB1c2luZyB0aGUgYHVuc3RhY2tgIGNsYXNzIG9uIHRoZSBwYXJlbnQgZmxleCByb3cuXG4vLy9cbi8vLyBAcGFyYW0ge01peGVkfSAkY29sdW1ucyBbZXhwYW5kXSAtIFdpZHRoIG9mIHRoZSBjb2x1bW4uIFJlZmVyIHRvIHRoZSBgZmxleC1ncmlkLWNvbHVtbigpYCBmdW5jdGlvbiB0byBzZWUgcG9zc2libGUgdmFsdWVzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycyB3aWR0aC4gU2VlIHRoZSBgZ3JpZC1jb2x1bW4tZ3V0dGVyYCBtaXhpbi5cbkBtaXhpbiBmbGV4LWdyaWQtY29sdW1uKFxuICAkY29sdW1uczogZXhwYW5kLFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIC8vIEJhc2UgcHJvcGVydGllc1xuICBAaW5jbHVkZSBmbGV4LWdyaWQtc2l6ZSgkY29sdW1ucyk7XG5cbiAgLy8gR3V0dGVyc1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1ndXR0ZXIoJGd1dHRlcnM6ICRndXR0ZXJzKTtcblxuICAvLyBmaXhlcyByZWNlbnQgQ2hyb21lIHZlcnNpb24gbm90IGxpbWl0aW5nIGNoaWxkIHdpZHRoXG4gIC8vIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzM0OTM0NTg2L3doaXRlLXNwYWNlLW5vd3JhcC1hbmQtZmxleGJveC1kaWQtbm90LXdvcmstaW4tY2hyb21lXG4gIEBpZiAkY29sdW1ucyA9PSBleHBhbmQge1xuICAgIG1pbi13aWR0aDogMDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGJsb2NrIGdyaWQgZm9yIGEgZmxleCBncmlkIHJvdy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbiAtIE51bWJlciBvZiBjb2x1bW5zIHRvIGRpc3BsYXkgb24gZWFjaCByb3cuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciAtIFNlbGVjdG9yIHRvIHVzZSB0byB0YXJnZXQgY29sdW1ucyB3aXRoaW4gdGhlIHJvdy5cbkBtaXhpbiBmbGV4LWdyaWQtbGF5b3V0KFxuICAkbixcbiAgJHNlbGVjdG9yOiAnLmNvbHVtbidcbikge1xuICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgPiAjeyRzZWxlY3Rvcn0ge1xuICAgICRwY3Q6IHBlcmNlbnRhZ2UoMS8kbik7XG5cbiAgICBmbGV4OiAwIDAgJHBjdDtcbiAgICBtYXgtd2lkdGg6ICRwY3Q7XG4gIH1cbn1cblxuLy8vIENoYW5nZXMgdGhlIHdpZHRoIGZsZXggZ3JpZCBjb2x1bW4uXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGNvbHVtbnMgW2V4cGFuZF0gLSBXaWR0aCBvZiB0aGUgY29sdW1uLiBSZWZlciB0byB0aGUgYGZsZXgtZ3JpZC1jb2x1bW4oKWAgZnVuY3Rpb24gdG8gc2VlIHBvc3NpYmxlIHZhbHVlcy5cbkBtaXhpbiBmbGV4LWdyaWQtc2l6ZSgkY29sdW1uczogbnVsbCkge1xuICAkY29sdW1uczogJGNvbHVtbnMgb3IgZXhwYW5kO1xuXG4gIGZsZXg6IGZsZXgtZ3JpZC1jb2x1bW4oJGNvbHVtbnMpO1xuXG4gIC8vIG1heC13aWR0aCBmaXhlcyBJRSAxMC8xMSBub3QgcmVzcGVjdGluZyB0aGUgZmxleC1iYXNpcyBwcm9wZXJ0eVxuICBAaWYgJGNvbHVtbnMgIT0gZXhwYW5kIGFuZCAkY29sdW1ucyAhPSBzaHJpbmsge1xuICAgIG1heC13aWR0aDogZ3JpZC1jb2x1bW4oJGNvbHVtbnMpO1xuICB9XG59XG5cblxuQG1peGluIGZvdW5kYXRpb24tZmxleC1ncmlkIHtcbiAgLy8gUm93XG4gIC5yb3cge1xuICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1yb3c7XG5cbiAgICAvLyBOZXN0aW5nIGJlaGF2aW9yXG4gICAgJiAucm93IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1yb3cobmVzdCwgJGJhc2U6IGZhbHNlKTtcblxuICAgICAgJi5jb2xsYXBzZSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRXhwYW5kZWQgcm93XG4gICAgJi5leHBhbmRlZCB7XG4gICAgICBAaW5jbHVkZSBncmlkLXJvdy1zaXplKGV4cGFuZCk7XG5cbiAgICAgIC5yb3cge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6bm90KC5leHBhbmRlZCkgLnJvdyB7XG4gICAgICBAaW5jbHVkZSBncmlkLXJvdy1zaXplKGV4cGFuZCk7XG4gICAgfVxuXG4gICAgJi5jb2xsYXBzZSB7XG4gICAgICA+IC5jb2x1bW4ge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1jb2xsYXBzZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBVbmRvIG5lZ2F0aXZlIG1hcmdpbnNcbiAgICAvLyBGcm9tIGNvbGxhcHNlZCBjaGlsZFxuICAgICYuaXMtY29sbGFwc2UtY2hpbGQsXG4gICAgJi5jb2xsYXBzZSA+IC5jb2x1bW4gPiAucm93IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIENvbHVtblxuICAuY29sdW1uIHtcbiAgICBAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uO1xuICB9XG5cbiAgLy8gQ29sdW1uIHJvd1xuICAvLyBUaGUgZG91YmxlIC5yb3cgY2xhc3MgaXMgbmVlZGVkIHRvIGJ1bXAgdXAgdGhlIHNwZWNpZmljaXR5XG4gIC5jb2x1bW4ucm93LnJvdyB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAvLyBUbyBwcm9wZXJseSBuZXN0IGEgY29sdW1uIHJvdywgcGFkZGluZyBhbmQgbWFyZ2luIGlzIHJlbW92ZWRcbiAgLnJvdyAuY29sdW1uLnJvdy5yb3cge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxuXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1uLWNvdW50IHtcbiAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgIC4jeyQtemYtc2l6ZX0tI3skaX0ge1xuICAgICAgICBmbGV4OiBmbGV4LWdyaWQtY29sdW1uKCRpKTtcbiAgICAgICAgbWF4LXdpZHRoOiBncmlkLWNvbHVtbigkaSk7XG4gICAgICB9XG5cbiAgICAgIC8vIE9mZnNldHNcbiAgICAgICRvOiAkaSAtIDE7XG5cbiAgICAgIC4jeyQtemYtc2l6ZX0tb2Zmc2V0LSN7JG99IHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tb2Zmc2V0KCRvKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBCbG9jayBncmlkXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkYmxvY2stZ3JpZC1tYXgge1xuICAgICAgLiN7JC16Zi1zaXplfS11cC0jeyRpfSB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1sYXlvdXQoJGkpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkLXpmLXNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgLy8gU2l6aW5nIChleHBhbmQpXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtc2l6ZSkge1xuICAgICAgICAuI3skLXpmLXNpemV9LWV4cGFuZCB7XG4gICAgICAgICAgZmxleDogZmxleC1ncmlkLWNvbHVtbigpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIEF1dG8tc3RhY2tpbmcvdW5zdGFja2luZ1xuICAgICAgQGF0LXJvb3QgKHdpdGhvdXQ6IG1lZGlhKSB7XG4gICAgICAgIC5yb3cuI3skLXpmLXNpemV9LXVuc3RhY2sge1xuICAgICAgICAgID4gLmNvbHVtbiB7XG4gICAgICAgICAgICBmbGV4OiBmbGV4LWdyaWQtY29sdW1uKDEwMCUpO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtc2l6ZSkge1xuICAgICAgICAgICAgICBmbGV4OiBmbGV4LWdyaWQtY29sdW1uKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gUmVzcG9uc2l2ZSBjb2xsYXBzaW5nXG4gICAgLiN7JC16Zi1zaXplfS1jb2xsYXBzZSB7XG4gICAgICA+IC5jb2x1bW4geyBAaW5jbHVkZSBncmlkLWNvbC1jb2xsYXBzZTsgfVxuICAgIH1cblxuICAgIC4jeyQtemYtc2l6ZX0tdW5jb2xsYXBzZSB7XG4gICAgICA+IC5jb2x1bW4geyBAaW5jbHVkZSBncmlkLWNvbC1ndXR0ZXIoJC16Zi1zaXplKTsgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFNpemluZyAoc2hyaW5rKVxuICAuc2hyaW5rIHtcbiAgICBmbGV4OiBmbGV4LWdyaWQtY29sdW1uKHNocmluayk7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLy8gQmxvY2sgZ3JpZCBjb2x1bW5zXG4gIC5jb2x1bW4tYmxvY2sge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uLW1hcmdpbjtcbiAgfVxuXG4gIC5jb2x1bW5zIHtcbiAgICBAZXh0ZW5kIC5jb2x1bW47IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgcGxhY2Vob2xkZXItaW4tZXh0ZW5kXG5cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gRW5hYmxlcyB0aGUgWFkgZ3JpZC5cbi8vLyBAdHlwZSBCb29sZWFuXG4keHktZ3JpZDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFRoZSBtYXhpbXVtIHdpZHRoIG9mIGEgZ3JpZCBjb250YWluZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ3JpZC1jb250YWluZXI6ICRnbG9iYWwtd2lkdGggIWRlZmF1bHQ7XG5cbi8vLyBUaGUgbnVtYmVyIG9mIGNvbHVtbnMgdXNlZCBpbiB0aGUgZ3JpZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRncmlkLWNvbHVtbnM6IDEyICFkZWZhdWx0O1xuXG4vLy8gVGhlIGFtb3VudCBvZiBtYXJnaW4gYmV0d2VlbiBjZWxscyBhdCBkaWZmZXJlbnQgc2NyZWVuIHNpemVzIHdoZW4gdXNpbmcgdGhlIG1hcmdpbiBncmlkLiBUbyB1c2UganVzdCBvbmUgc2l6ZSwgc2V0IHRoZSB2YXJpYWJsZSB0byBhIG51bWJlciBpbnN0ZWFkIG9mIGEgbWFwLlxuLy8vIEB0eXBlIE1hcCB8IExlbmd0aFxuJGdyaWQtbWFyZ2luLWd1dHRlcnM6IChcbiAgc21hbGw6IDIwcHgsXG4gIG1lZGl1bTogMzBweFxuKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBhbW91bnQgb2YgcGFkZGluZyBpbiBjZWxscyBhdCBkaWZmZXJlbnQgc2NyZWVuIHNpemVzIHdoZW4gdXNpbmcgdGhlIHBhZGRpbmcgZ3JpZC4gVG8gdXNlIGp1c3Qgb25lIHNpemUsIHNldCB0aGUgdmFyaWFibGUgdG8gYSBudW1iZXIgaW5zdGVhZCBvZiBhIG1hcC5cbi8vLyBAdHlwZSBNYXAgfCBMZW5ndGhcbiRncmlkLXBhZGRpbmctZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYW1vdW50IG9mIHBhZGRpbmcgdG8gdXNlIHdoZW4gcGFkZGluZyB0aGUgZ3JpZC1jb250YWluZXIuXG4vLy8gQHR5cGUgTWFwIHwgTGVuZ3RoXG4kZ3JpZC1jb250YWluZXItcGFkZGluZzogJGdyaWQtcGFkZGluZy1ndXR0ZXJzICFkZWZhdWx0O1xuXG4vLy8gVGhlIG1heGltdW0gd2lkdGggdG8gYXBwbHkgdG8gYSBncmlkIGNvbnRhaW5lclxuLy8vIEB0eXBlIE51bWJlclxuJGdyaWQtY29udGFpbmVyLW1heDogJGdsb2JhbC13aWR0aCAhZGVmYXVsdDtcblxuLy8vIFRoZSBtYXhpbXVtIG51bWJlciBvZiBjZWxscyBpbiBhbiBYWSBibG9jayBncmlkLlxuLy8vIEB0eXBlIE51bWJlclxuJHh5LWJsb2NrLWdyaWQtbWF4OiA4ICFkZWZhdWx0O1xuXG5AaW1wb3J0ICdndXR0ZXJzJztcbkBpbXBvcnQgJ2dyaWQnO1xuQGltcG9ydCAnY2VsbCc7XG5AaW1wb3J0ICdmcmFtZSc7XG5AaW1wb3J0ICdwb3NpdGlvbic7XG5AaW1wb3J0ICdsYXlvdXQnO1xuQGltcG9ydCAnY29sbGFwc2UnO1xuQGltcG9ydCAnY2xhc3Nlcyc7XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBDcmVhdGUgZ3V0dGVycyBmb3IgYSBjZWxsL2NvbnRhaW5lci5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUeXBlIG9mIGd1dHRlciB0byBvdXRwdXQuIEFjY2VwdHMgZWl0aGVyIG1hcmdpbiBvciBwYWRkaW5nLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbcmlnaHQgbGVmdF0gLSBUaGUgcG9zaXRpb24gdG8gYXBwbHkgZ3V0dGVycyB0by4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkbmVnYXRpdmUgW2ZhbHNlXSAtIFdoZXRoZXIgdG8gYXBwbHkgdGhlIGd1dHRlciBhcyBhIG5lZ2F0aXZlIHZhbHVlLiBDb21tb25seSB1c2VkIGZvciBuZXN0ZWQgZ3JpZHMuXG5AbWl4aW4geHktZ3V0dGVycyhcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogcmlnaHQgbGVmdCxcbiAgJG5lZ2F0aXZlOiBmYWxzZVxuKSB7XG4gICRvcGVyYXRvcjogaWYoJG5lZ2F0aXZlLCAnLScsICcnKTtcblxuICAvLyBJZiB3ZSBoYXZlIGRlY2xhcmVkIG5lZ2F0aXZlIGd1dHRlcnMsIGZvcmNlIHR5cGUgdG8gYG1hcmdpbi5cbiAgJGd1dHRlci10eXBlOiBpZigkbmVnYXRpdmUsICdtYXJnaW4nLCAkZ3V0dGVyLXR5cGUpO1xuXG4gIC8vIE91dHB1dCBvdXIgbWFyZ2luIGd1dHRlcnMuXG4gIEBpZiAodHlwZS1vZigkZ3V0dGVycykgPT0gJ21hcCcpIHtcbiAgICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZShhdXRvLCAkZ3V0dGVycykge1xuICAgICAgJGd1dHRlcjogcmVtLWNhbGMoJC16Zi1icC12YWx1ZSkgLyAyO1xuXG4gICAgICAvLyBMb29wIHRocm91Z2ggZWFjaCBndXR0ZXIgcG9zaXRpb25cbiAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgI3skZ3V0dGVyLXR5cGV9LSN7JHZhbHVlfTogdW5xdW90ZShcIiN7JG9wZXJhdG9yfSN7JGd1dHRlcn1cIik7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICh0eXBlLW9mKCRndXR0ZXJzKSA9PSAnbnVtYmVyJykge1xuICAgICRndXR0ZXI6IHJlbS1jYWxjKCRndXR0ZXJzKSAvIDI7XG5cbiAgICAvLyBMb29wIHRocm91Z2ggZWFjaCBndXR0ZXIgcG9zaXRpb25cbiAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAjeyRndXR0ZXItdHlwZX0tI3skdmFsdWV9OiB1bnF1b3RlKFwiI3skb3BlcmF0b3J9I3skZ3V0dGVyfVwiKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIENyZWF0ZXMgYSBtYXggd2lkdGggY29udGFpbmVyLCBkZXNpZ25lZCB0byBob3VzZSB5b3VyIGdyaWQgY29udGVudC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWyRncmlkLWNvbnRhaW5lcl0gLSBhIHdpZHRoIHRvIGxpbWl0IHRoZSBjb250YWluZXIgdG8uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRwYWRkaW5nIFskZ3JpZC1jb250YWluZXItcGFkZGluZ10gLSBwYWRkaW5ncyBvZiB0aGUgY29udGFpbmVyLlxuQG1peGluIHh5LWdyaWQtY29udGFpbmVyKFxuICAkd2lkdGg6ICRncmlkLWNvbnRhaW5lcixcbiAgJHBhZGRpbmc6ICRncmlkLWNvbnRhaW5lci1wYWRkaW5nXG4pIHtcbiAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyczogJHBhZGRpbmcsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG5cbiAgbWF4LXdpZHRoOiAkd2lkdGg7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuXG4vLy8gQ3JlYXRlcyBhIGNvbnRhaW5lciBmb3IgeW91ciBmbGV4IGNlbGxzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyZWN0aW9uIFtob3Jpem9udGFsXSAtIEVpdGhlciBob3Jpem9udGFsIG9yIHZlcnRpY2FsIGRpcmVjdGlvbiBvZiBjZWxscyB3aXRoaW4uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkd3JhcCBbdHJ1ZV0gLSBJZiB0aGUgY2VsbHMgd2l0aGluIHNob3VsZCB3cmFwIG9yIG5vdC5cbkBtaXhpbiB4eS1ncmlkKFxuICAkZGlyZWN0aW9uOiBob3Jpem9udGFsLFxuICAkd3JhcDogdHJ1ZVxuKSB7XG4gICRkaXJlY3Rpb246IGlmKCRkaXJlY3Rpb24gPT0gJ2hvcml6b250YWwnLCByb3csIGNvbHVtbik7XG4gICR3cmFwOiBpZigkd3JhcCwgd3JhcCwgbm93cmFwKTtcblxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6ICRkaXJlY3Rpb24gJHdyYXA7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBDYWxjdWxhdGUgdGhlIHBlcmNlbnRhZ2Ugc2l6ZSBvZiBhIGNlbGwuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkc2l6ZSBbJGdyaWQtY29sdW1uc10gLSBTaXplIHRvIG1ha2UgdGhlIGNlbGwuIFlvdSBjYW4gcGFzcyBhIHZhbHVlIGluIG11bHRpcGxlIGZvcm1hdHMsIHN1Y2ggYXMgYDZgLCBgNTAlYCwgYDEgb2YgMmAgb3IgYDEvM2AuXG5AZnVuY3Rpb24geHktY2VsbC1zaXplKFxuICAkc2l6ZTogJGdyaWQtY29sdW1uc1xuKSB7XG4gIC8vIFBhcnNpbmcgcGVyY2VudHMsIGRlY2ltYWxzLCBuIG9mIG4gYW5kIG51bWJlciBjb3VudHNcbiAgQGlmIHR5cGUtb2YoJHNpemUpID09ICdudW1iZXInIHtcbiAgICBAaWYgdW5pdCgkc2l6ZSkgPT0gJyUnIHtcbiAgICAgICRzaXplOiAkc2l6ZTtcbiAgICB9XG4gICAgQGVsc2UgaWYgJHNpemUgPCAxIHtcbiAgICAgICRzaXplOiBwZXJjZW50YWdlKCRzaXplKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJHNpemU6IHBlcmNlbnRhZ2UoJHNpemUgLyAkZ3JpZC1jb2x1bW5zKTtcbiAgICB9XG4gIH1cblxuICAvLyBQYXJzaW5nIFwibiBvZiBuXCIgb3IgXCJuL25cIiBleHByZXNzaW9uc1xuICBAZWxzZSBpZiB0eXBlLW9mKCRzaXplKSA9PSAnbGlzdCcge1xuICAgIEBpZiBsZW5ndGgoJHNpemUpICE9IDMge1xuICAgICAgQGVycm9yICdXcm9uZyBzeW50YXggZm9yIHh5LWNlbGwtc2l6ZSgpLiBVc2UgdGhlIGZvcm1hdCBcIm4gb2YgblwiIG9yIFwibi9uXCIuJztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJHNpemU6IHBlcmNlbnRhZ2UobnRoKCRzaXplLCAxKSAvIG50aCgkc2l6ZSwgMykpO1xuICAgIH1cbiAgfVxuICAvLyBBbnl0aGluZyBlbHNlIGlzIGluY29ycmVjdFxuICBAZWxzZSB7XG4gICAgQGVycm9yICdXcm9uZyBzeW50YXggZm9yIHh5LWNlbGwtc2l6ZSgpLiBVc2UgYSBudW1iZXIsIGRlY2ltYWwsIHBlcmNlbnRhZ2UsIG9yIFwibiBvZiBuXCIgLyBcIm4vblwiLic7XG4gIH1cblxuICBAcmV0dXJuICRzaXplO1xufVxuXG4vLy8gU2V0cyBiYXNlIGZsZXggcHJvcGVydGllcyBmb3IgY2VsbHMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQWNjZXB0cyBgZnVsbGAsIGBhdXRvYCwgYHNocmlua2Agb3IgYGdyb3dgLlxuQG1peGluIHh5LWNlbGwtYmFzZSgkc2l6ZTogZnVsbCkge1xuICBAaWYoJHNpemUgPT0gJ2Z1bGwnKSB7XG4gICAgLy8gVGhpcyBpcyB0aGUgYmFzZSBzdHlsZSwgYWxsIG90aGVycyBpbmhlcml0IGZyb20gaXRcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICBtaW4taGVpZ2h0OiAwcHg7XG4gICAgbWluLXdpZHRoOiAwcHg7XG4gIH1cbiAgQGVsc2UgaWYgKCRzaXplID09ICdhdXRvJykge1xuICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gIH1cbiAgQGVsc2UgaWYgKCRzaXplID09ICdzaHJpbmsnKSB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gIH1cbiAgQGVsc2UgaWYgKCRzaXplID09ICdncm93Jykge1xuICAgIGZsZXg6IDEgMCBhdXRvO1xuICB9XG59XG5cbi8vLyBSZXNldHMgYSBjZWxscyB3aWR0aCAob3IgaGVpZ2h0IGlmIHZlcnRpY2FsIGlzIHRydWUpIGFzIHdlbGwgYXMgc3RyaXBzIGl0cyBndXR0ZXJzLlxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuQG1peGluIHh5LWNlbGwtcmVzZXQoJHZlcnRpY2FsOiB0cnVlKSB7XG4gICRkaXJlY3Rpb246IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCB3aWR0aCwgaGVpZ2h0KTtcbiAgI3skZGlyZWN0aW9ufTogYXV0bztcbiAgbWF4LSN7JGRpcmVjdGlvbn06IG5vbmU7XG59XG5cbi8vIFNldHMgb3VyIGNlbGwgd2lkdGhzIG9yIGhlaWdodHMgZGVwZW5kaW5nIG9uIGd1dHRlciB0eXBlLlxuQG1peGluIC14eS1jZWxsLXByb3BlcnRpZXMoJHNpemUsICRtYXJnaW4tZ3V0dGVyLCAkdmVydGljYWwpIHtcbiAgJGRpcmVjdGlvbjogaWYoJHZlcnRpY2FsID09IHRydWUsIGhlaWdodCwgd2lkdGgpO1xuICBAaWYoJHNpemUgPT0gJ2Z1bGwnKSB7XG4gICAgJHZhbDogaWYoJG1hcmdpbi1ndXR0ZXIgPT0gMCwgMTAwJSwgY2FsYygxMDAlIC0gI3tyZW0tY2FsYygkbWFyZ2luLWd1dHRlcil9KSk7XG4gICAgI3skZGlyZWN0aW9ufTogJHZhbDtcbiAgfVxuICBAZWxzZSBpZiAoJHNpemUgPT0gJ2F1dG8nKSB7XG4gICAgI3skZGlyZWN0aW9ufTogYXV0bztcbiAgICAkdmFsOiBpZigkbWFyZ2luLWd1dHRlciA9PSAwLCAxMDAlLCBjYWxjKDEwMCUgLSAje3JlbS1jYWxjKCRtYXJnaW4tZ3V0dGVyKX0pKTtcbiAgfVxuICBAZWxzZSBpZiAoJHNpemUgPT0gJ3NocmluaycpIHtcbiAgICAjeyRkaXJlY3Rpb259OiBhdXRvO1xuICB9XG4gIEBlbHNlIHtcbiAgICAkdmFsOiBpZigkbWFyZ2luLWd1dHRlciA9PSAwLCAje3h5LWNlbGwtc2l6ZSgkc2l6ZSl9LCBjYWxjKCN7eHktY2VsbC1zaXplKCRzaXplKX0gLSAje3JlbS1jYWxjKCRtYXJnaW4tZ3V0dGVyKX0pKTtcbiAgICAjeyRkaXJlY3Rpb259OiAkdmFsO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgY2VsbCBmb3IgeW91ciBncmlkLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgW2Z1bGxdIC0gVGhlIHNpemUgb2YgeW91ciBjZWxsLiBDYW4gYmUgYGZ1bGxgIChkZWZhdWx0KSBmb3IgMTAwJSB3aWR0aCwgYGF1dG9gIHRvIHVzZSB1cCBhdmFpbGFibGUgc3BhY2UgYW5kIGBzaHJpbmtgIHRvIHVzZSB1cCBvbmx5IHJlcXVpcmVkIHNwYWNlLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGd1dHRlci1vdXRwdXQgW3RydWVdIC0gV2hldGhlciBvciBub3QgdG8gb3V0cHV0IGd1dHRlcnNcbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW3JpZ2h0IGxlZnRdIC0gVGhlIHBvc2l0aW9uIHRvIGFwcGx5IGd1dHRlcnMgdG8uIEFjY2VwdHMgYHRvcGAsIGBib3R0b21gLCBgbGVmdGAsIGByaWdodGAgaW4gYW55IGNvbWJpbmF0aW9uLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gU2V0IHRvIHRydWUgdG8gb3V0cHV0IHZlcnRpY2FsIChoZWlnaHQpIHN0eWxlcyByYXRoZXIgdGhhbiB3aWR0aHMuXG5AbWl4aW4geHktY2VsbChcbiAgJHNpemU6IGZ1bGwsXG4gICRndXR0ZXItb3V0cHV0OiB0cnVlLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiByaWdodCBsZWZ0LFxuICAkYnJlYWtwb2ludDogbnVsbCxcbiAgJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG4gICRicC1pcy1mYWxsYmFjazogZmFsc2U7XG5cbiAgQGlmKCRicmVha3BvaW50ID09IG51bGwpIHtcbiAgICAvLyBJZiBgJGJwLXNpemVgIGlzIGF2YWlsYWJsZSB0aGVuIHVzZSB0aGlzLCBvdGhlcndpc2UgcmV2ZXJ0IHRvIHRoZSBzbWFsbGVzdCBicC5cbiAgICBAaWYodmFyaWFibGUtZXhpc3RzKC16Zi1zaXplKSBhbmQgdHlwZS1vZigkLXpmLXNpemUpICE9ICdudW1iZXInKSBhbmQgJC16Zi1zaXplICE9IG51bGwge1xuICAgICAgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJGJyZWFrcG9pbnQ6ICQtemYtemVyby1icmVha3BvaW50O1xuICAgICAgJGJwLWlzLWZhbGxiYWNrOiB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIC8vIEdldCB0aGUgZ3V0dGVyIGZvciB0aGUgZ2l2ZW4gYnJlYWtwb2ludC92YWx1ZS5cbiAgJGd1dHRlcjogLXpmLWdldC1icC12YWwoJGd1dHRlcnMsICRicmVha3BvaW50KTtcbiAgLy8gSWYgdGhlIGJyZWFrcG9pbnQgaXMgYSBmYWxsYmFjaywgdXNlIGEgZmFsbGJhY2sgZ3V0dGVyIGFzIHdlbGxcbiAgQGlmICgkYnAtaXMtZmFsbGJhY2sgPT0gdHJ1ZSBhbmQgJGd1dHRlciA9PSBudWxsKSB7XG4gICAgJGd1dHRlcjogMDtcbiAgfVxuXG4gIEBpZigkZ3V0dGVyICE9IG51bGwpIHtcbiAgICAvLyBCYXNlIGZsZXggcHJvcGVydGllc1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZSgkc2l6ZSk7XG5cbiAgICBAaWYoJGd1dHRlci10eXBlID09ICdtYXJnaW4nKSB7XG4gICAgICBAaW5jbHVkZSAteHktY2VsbC1wcm9wZXJ0aWVzKCRzaXplLCAkZ3V0dGVyLCAkdmVydGljYWwpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAaW5jbHVkZSAteHktY2VsbC1wcm9wZXJ0aWVzKCRzaXplLCAwLCAkdmVydGljYWwpO1xuICAgIH1cblxuICAgIEBpZiAkZ3V0dGVyLW91dHB1dCB7XG4gICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXIsICRndXR0ZXItdHlwZSwgJGd1dHRlci1wb3NpdGlvbik7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAd2FybiAneHktY2VsbDogbm8gZ3V0dGVycyB3ZXJlIGZvdW5kIGluIGAkZ3V0dGVyc2AgZm9yIFwiJGJyZWFrcG9pbnQ6ICN7JGJyZWFrcG9pbnR9XCIsIGNlbGwgd2FzIG5vdCBnZW5lcmF0ZWRgJ1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgc2luZ2xlIGJyZWFrcG9pbnQgc2l6ZWQgZ3JpZC4gVXNlZCB0byBnZW5lcmF0ZSBvdXIgZ3JpZCBjbGFzc2VzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgW2Z1bGxdIC0gVGhlIHNpemUgb2YgeW91ciBjZWxsLiBDYW4gYmUgYGZ1bGxgIChkZWZhdWx0KSBmb3IgMTAwJSB3aWR0aCwgYGF1dG9gIHRvIHVzZSB1cCBhdmFpbGFibGUgc3BhY2UgYW5kIGBzaHJpbmtgIHRvIHVzZSB1cCBvbmx5IHJlcXVpcmVkIHNwYWNlLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGd1dHRlci1vdXRwdXQgW3RydWVdIC0gV2hldGhlciBvciBub3QgdG8gb3V0cHV0IGd1dHRlcnNcbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuQG1peGluIHh5LWNlbGwtc3RhdGljKFxuICAkc2l6ZTogZnVsbCxcbiAgJGd1dHRlci1vdXRwdXQ6IHRydWUsXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRicmVha3BvaW50OiAkLXpmLXplcm8tYnJlYWtwb2ludCxcbiAgJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG5cbiAgJGd1dHRlcjogLXpmLWdldC1icC12YWwoJGd1dHRlcnMsICRicmVha3BvaW50KTtcbiAgJGd1dHRlci1wb3NpdGlvbjogaWYoJHZlcnRpY2FsID09IHRydWUsIHRvcCBib3R0b20sIGxlZnQgcmlnaHQpO1xuXG4gIEBpZigkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicpIHtcbiAgICBAaW5jbHVkZSAteHktY2VsbC1wcm9wZXJ0aWVzKCRzaXplLCAkZ3V0dGVyLCAkdmVydGljYWwpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaW5jbHVkZSAteHktY2VsbC1wcm9wZXJ0aWVzKCRzaXplLCAwLCAkdmVydGljYWwpO1xuICB9XG5cbiAgLy8gSWYgd2Ugd2FudCB0byBvdXRwdXQgdGhlIGd1dHRlcnNcbiAgQGlmKCRndXR0ZXItb3V0cHV0KSB7XG4gICAgLy8gVE9ETzogRmlndXJlIG91dCBpZiB3ZSBuZWVkIHRvIHBhc3MgYnJlYWtwb2ludCBpbiBoZXJlIHRvby5cbiAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXIsICRndXR0ZXItdHlwZSwgJGd1dHRlci1wb3NpdGlvbik7XG4gIH1cbn1cbiIsIi8vLyBNb2RpZmllcyBhIGdyaWQgdG8gZ2l2ZSBpdCBcImZyYW1lXCIgYmVoYXZpb3IgKG5vIG92ZXJmbG93LCBubyB3cmFwLCBzdHJldGNoIGJlaGF2aW9yKVxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIElzIGdyaWQgdmVydGljYWwgb3IgaG9yaXpvbnRhbC4gU2hvdWxkIG1hdGNoIGdyaWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkbmVzdGVkIFtmYWxzZV0gLSBJcyBncmlkIG5lc3RlZCBvciBub3QuIElmIG5lc3RlZCBpcyB0cnVlIHRoaXMgc2V0cyB0aGUgZnJhbWUgdG8gMTAwJSBoZWlnaHQsIG90aGVyd2lzZSB3aWxsIGJlIDEwMHZoLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgW251bGxdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGluY2x1ZGUtYmFzZSBbdHJ1ZV0gLSBJbmNsdWRlIHRoZSBiYXNlIHN0eWxlcyB0aGF0IGRvbid0IHZhcnkgcGVyIGJyZWFrcG9pbnQuXG5AbWl4aW4geHktZ3JpZC1mcmFtZShcbiAgJHZlcnRpY2FsOiBmYWxzZSxcbiAgJG5lc3RlZDogZmFsc2UsXG4gICRndXR0ZXJzOiBudWxsLFxuICAkYnJlYWtwb2ludDogbnVsbCxcbiAgJGluY2x1ZGUtYmFzZTogdHJ1ZVxuKSB7XG5cbiAgQGlmICRpbmNsdWRlLWJhc2Uge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICB9XG5cbiAgQGlmICRicmVha3BvaW50ID09IG51bGwgYW5kIHR5cGUtb2YoJGd1dHRlcnMpID09ICdtYXAnIHtcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSgkdmVydGljYWwsICRuZXN0ZWQsICRndXR0ZXJzLCAkLXpmLXNpemUsIGZhbHNlKTtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIC8vIEdldCBvdXIgZ3V0dGVycyBpZiBhcHBsaWNhYmxlXG4gICAgJGd1dHRlcjogLXpmLWdldC1icC12YWwoJGd1dHRlcnMsICRicmVha3BvaW50KTtcblxuICAgIC8vIElmIHdlIGhhdmUgYSBndXR0ZXIsIGFkZCBpdCB0byB0aGUgd2lkdGgvaGVpZ2h0XG4gICAgQGlmICRndXR0ZXIge1xuICAgICAgQGlmICR2ZXJ0aWNhbCA9PSB0cnVlIHtcbiAgICAgICAgJHVuaXQ6IGlmKCRuZXN0ZWQgPT0gdHJ1ZSwgMTAwJSwgMTAwdmgpO1xuICAgICAgICAkZ3V0dGVyOiByZW0tY2FsYygkZ3V0dGVyKTtcbiAgICAgICAgaGVpZ2h0OiBjYWxjKCN7JHVuaXR9ICsgI3skZ3V0dGVyfSk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJHVuaXQ6IGlmKCRuZXN0ZWQgPT0gdHJ1ZSwgMTAwJSwgMTAwdncpO1xuICAgICAgICAkZ3V0dGVyOiByZW0tY2FsYygkZ3V0dGVyKTtcbiAgICAgICAgd2lkdGg6IGNhbGMoI3skdW5pdH0gKyAjeyRndXR0ZXJ9KTtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGlmICR2ZXJ0aWNhbCA9PSB0cnVlIHtcbiAgICAgICAgaGVpZ2h0OiBpZigkbmVzdGVkID09IHRydWUsIDEwMCUsIDEwMHZoKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICB3aWR0aDogaWYoJG5lc3RlZCA9PSB0cnVlLCAxMDAlLCAxMDB2dyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBNb2RpZmllcyBhIGNlbGwgdG8gZ2l2ZSBpdCBcImJsb2NrXCIgYmVoYXZpb3IgKG92ZXJmbG93IGF1dG8sIGluZXJ0aWFsIHNjcm9sbGluZylcbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBJcyBncmlkIHZlcnRpY2FsIG9yIGhvcml6b250YWwuIFNob3VsZCBtYXRjaCBncmlkLlxuQG1peGluIHh5LWNlbGwtYmxvY2soXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICAkcHJvcGVydHk6IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCAnb3ZlcmZsb3cteScsICdvdmVyZmxvdy14Jyk7XG5cbiAgQGlmICR2ZXJ0aWNhbCA9PSB0cnVlIHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgfSBAZWxzZSB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cblxuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyO1xufVxuXG4vLy8gQ29udGFpbmVyIGZvciBpbnNpZGUgYSBncmlkIGZyYW1lIGNvbnRhaW5pbmcgbXVsdGlwbGUgYmxvY2tzLiBUeXBpY2FsbHkgdXNlZFxuLy8vIGFzIGEgbW9kaWZpZXIgZm9yIGEgYC5jZWxsYCB0byBhbGxvdyB0aGUgY2VsbCB0byBwYXNzIGFsb25nIGZsZXggc2l6aW5nXG4vLy8gY29uc3RyYWludHMgLyBmcm9tIHBhcmVudHMgdG8gY2hpbGRyZW4uXG5AbWl4aW4geHktY2VsbC1ibG9jay1jb250YWluZXIoKSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG5cbiAgPiAuZ3JpZC14IHtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBPZmZzZXRzIGEgY29sdW1uIHRvIHRoZSByaWdodC9ib3R0b20gYnkgYCRuYCBjb2x1bW5zLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJG4gLSBTaXplIHRvIG9mZnNldCBieS4gWW91IGNhbiBwYXNzIGluIGFueSB2YWx1ZSBhY2NlcHRlZCBieSB0aGUgYHpmLWNlbGwoKWAgbWl4aW4sIHN1Y2ggYXMgYDZgLCBgNTAlYCwgb3IgYDEgb2YgMmAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIE1hcCBvZiBndXR0ZXJzIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2UgZm9yIHJlc3BvbnNpdmUgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSBUaGUgdHlwZSBvZiBndXR0ZXIgdG8gdXNlLiBDYW4gYmUgYG1hcmdpbmAgb3IgYHBhZGRpbmdgXG4vLy8gQHBhcmFtIHtOdW1iZXJ8QXJyYXl8S2V5d29yZH0gJGJyZWFrcG9pbnQgWyQtemYtemVyby1icmVha3BvaW50XSAtIFNpbmdsZSB2YWx1ZSwgYnJlYWtwb2ludCBuYW1lLCBvciBsaXN0IG9mIGJyZWFrcG9pbnQgbmFtZXMgdG8gdXNlIGZvciBgJGd1dHRlcnNgLiBTZWUgYC16Zi1icmVha3BvaW50LXZhbHVlKClgLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gU2V0cyB0aGUgZGlyZWN0aW9uIG9mIHRoZSBvZmZzZXQuIElmIHNldCB0byB0cnVlIHdpbGwgYXBwbHkgbWFyZ2luLXRvcCBpbnN0ZWFkLlxuQG1peGluIHh5LWNlbGwtb2Zmc2V0KFxuICRuLFxuICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAkYnJlYWtwb2ludDogJC16Zi16ZXJvLWJyZWFrcG9pbnQsXG4gJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG4gICRkaXJlY3Rpb246IGlmKCR2ZXJ0aWNhbCwgJ3RvcCcsICRnbG9iYWwtbGVmdCk7XG5cbiAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoJGJyZWFrcG9pbnQsICRndXR0ZXJzKSB7XG4gICAgJGd1dHRlcjogcmVtLWNhbGMoJC16Zi1icC12YWx1ZSkgLyAyO1xuICAgICRzaXplOiBpZigkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicsIGNhbGMoI3t4eS1jZWxsLXNpemUoJG4pfSArICN7JGd1dHRlcn0pLCAje3h5LWNlbGwtc2l6ZSgkbil9KTtcblxuICAgIG1hcmdpbi0jeyRkaXJlY3Rpb259OiAjeyRzaXplfTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gU2l6ZXMgY2hpbGQgZWxlbWVudHMgc28gdGhhdCBgJG5gIG51bWJlciBvZiBpdGVtcyBhcHBlYXIgb24gZWFjaCByb3cuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG4gLSBOdW1iZXIgb2YgZWxlbWVudHMgdG8gZGlzcGxheSBwZXIgcm93LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWycuY2VsbCddIC0gU2VsZWN0b3IocykgdG8gdXNlIGZvciBjaGlsZCBlbGVtZW50cy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRndXR0ZXItb3V0cHV0IFt0cnVlXSAtIFdoZXRoZXIgb3Igbm90IHRvIG91dHB1dCBndXR0ZXJzXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFR5cGUgb2YgZ3V0dGVyIHRvIG91dHB1dC4gQWNjZXB0cyBgbWFyZ2luYCBvciBgcGFkZGluZ2AuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtyaWdodCBsZWZ0XSAtIFRoZSBwb3NpdGlvbiB0byBhcHBseSBndXR0ZXJzIHRvLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIGJyZWFrcG9pbnQgdG8gdXNlIGZvciB0aGUgY2VsbCBnZW5lcmF0aW9uLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbkBtaXhpbiB4eS1ncmlkLWxheW91dChcbiAgJG4sXG4gICRzZWxlY3RvcjogJy5jZWxsJyxcbiAgJGd1dHRlci1vdXRwdXQ6IHRydWUsXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IHJpZ2h0IGxlZnQsXG4gICRicmVha3BvaW50OiBudWxsLFxuICAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgJHNpemU6IHBlcmNlbnRhZ2UoMS8kbik7XG5cbiAgJiA+ICN7JHNlbGVjdG9yfSB7XG4gICAgQGluY2x1ZGUgeHktY2VsbCgkc2l6ZSwgJGd1dHRlci1vdXRwdXQsICRndXR0ZXJzLCAkZ3V0dGVyLXR5cGUsICRndXR0ZXItcG9zaXRpb24sICRicmVha3BvaW50LCAkdmVydGljYWwpO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBDb2xsYXBzZXMgdGhlIGdyaWQgYSBjZWxscyB3aXRoaW4gaXQuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFsuY2VsbF0gLSBUaGUgY2hpbGQgZWxlbWVudCB0byByZW1vdmUgdGhlIGd1dHRlciBmcm9tLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVGhlIHR5cGUgb2YgZ3V0dGVyIHRvIHJlbW92ZS5cbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW3JpZ2h0IGxlZnRdIC0gVGhlIHBvc2l0aW9ucyB0byByZW1vdmUgZ3V0dGVycyBmcm9tLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRtaW4tYnJlYWtwb2ludCBbJC16Zi16ZXJvLWJyZWFrcG9pbnRdIC0gTWluaW11bSBicmVha3BvaW50IGluIGAkYnJlYWtwb2ludC1jbGFzc2VzYCBmb3Igd2hpY2ggdG8gY29sbGFwc2UgdGhlIGd1dHRlci5cbkBtaXhpbiB4eS1ncmlkLWNvbGxhcHNlKFxuICAkc2VsZWN0b3I6ICcuY2VsbCcsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiByaWdodCBsZWZ0LFxuICAkbWluLWJyZWFrcG9pbnQ6ICQtemYtemVyby1icmVha3BvaW50XG4pIHtcbiAgLy8gRmlyc3QsIGxldHMgbmVnYXRlIGFueSBtYXJnaW5zIG9uIHRoZSB0b3AgbGV2ZWxcbiAgQGlmICgkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicpIHtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1pbi1icmVha3BvaW50KSB7XG4gICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAgIG1hcmdpbi0jeyR2YWx1ZX06IDA7XG4gICAgICB9XG5cbiAgICAgID4gI3skc2VsZWN0b3J9IHtcbiAgICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICAgIG1hcmdpbi0jeyR2YWx1ZX06IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAkZXhjbHVkZWQtYnBzOiAtemYtYnJlYWtwb2ludHMtbGVzcy10aGFuKCRtaW4tYnJlYWtwb2ludCk7XG5cbiAgICAvLyBPdXRwdXQgbmV3IHdpZHRocyB0byBub3QgaW5jbHVkZSBndXR0ZXJzXG4gICAgQGVhY2ggJGJwIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGlmKHNsLWNvbnRhaW4oJGV4Y2x1ZGVkLWJwcywgJGJwKSkge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRtaW4tYnJlYWtwb2ludCkge1xuICAgICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgICAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgICAgICAgICA+IC4jeyRicH0tI3skaX0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYygkaSwgJGd1dHRlci1vdXRwdXQ6IGZhbHNlLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwKSB7XG4gICAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgICAgICAgID4gLiN7JGJwfS0jeyRpfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCRpLCAkZ3V0dGVyLW91dHB1dDogZmFsc2UsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1pbi1icmVha3BvaW50KSB7XG4gICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAgIG1hcmdpbi0jeyR2YWx1ZX06IDA7XG4gICAgICB9XG5cbiAgICAgID4gI3skc2VsZWN0b3J9IHtcbiAgICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICAgIHBhZGRpbmctI3skdmFsdWV9OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vIE1hcmdpbiBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS1iYXNlLWdyaWQtY2xhc3NlcyB7XG5cbiAgLy8gR3JpZCBDb250YWluZXJcbiAgLmdyaWQtY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbnRhaW5lcjtcblxuICAgICYuZmx1aWQge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXIoMTAwJSk7XG4gICAgfVxuXG4gICAgJi5mdWxsIHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29udGFpbmVyKDEwMCUsIDApO1xuICAgIH1cbiAgfVxuXG4gIC8vIEJhc2UgZ3JpZCBzdHlsZXNcbiAgLmdyaWQteCB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZDtcbiAgfVxuXG4gIC5jZWxsIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2UoKTtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYygkZ3JpZC1jb2x1bW5zLCBmYWxzZSwgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcblxuICAgICYuYXV0byB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2UoYXV0byk7XG4gICAgfVxuXG4gICAgJi5zaHJpbmsge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKHNocmluayk7XG4gICAgfVxuXG4gIH1cbiAgLmdyaWQteCB7XG4gICAgPiAuYXV0byB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhhdXRvLCBmYWxzZSk7XG4gICAgfVxuXG4gICAgPiAuc2hyaW5rIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKHNocmluaywgZmFsc2UpO1xuICAgIH1cbiAgfVxuXG4gIC8vIEF1dG8gd2lkdGhcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAvLyBUaGlzIGlzIGEgYml0IG9mIGEgaGFjay93b3JrYXJvdW5kLCBzZWUgdGhlc2UgaXNzdWVzICYgUFJzIGZvciB0aGUgYmFja3N0b3J5OlxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS96dXJiL2ZvdW5kYXRpb24tc2l0ZXMvaXNzdWVzLzEwMjQ0XG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3p1cmIvZm91bmRhdGlvbi1zaXRlcy9wdWxsLzEwMjIyIGFuZFxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS96dXJiL2ZvdW5kYXRpb24tc2l0ZXMvcHVsbC8xMDE2NFxuICAgIC5ncmlkLXgge1xuICAgICAgJHN0cjogXCI+IC4jeyQtemYtc2l6ZX0tc2hyaW5rLCA+IC4jeyQtemYtc2l6ZX0tZnVsbFwiO1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgJHN0cjogJHN0ciArIFwiLCA+IC4jeyQtemYtc2l6ZX0tI3skaX1cIlxuICAgICAgfVxuICAgICAgI3skc3RyfSB7XG4gICAgICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICBAaWYgbm90KCQtemYtc2l6ZSA9PSBzbWFsbCkge1xuICAgICAgLmdyaWQteCA+IC4jeyQtemYtc2l6ZX0tYXV0byB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShhdXRvKTtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoYXV0bywgZmFsc2UpO1xuICAgICAgfVxuXG4gICAgICAuZ3JpZC14ID4gLiN7JC16Zi1zaXplfS1zaHJpbmsge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2Uoc2hyaW5rKTtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoc2hyaW5rLCBmYWxzZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgIC5ncmlkLXggPiAuI3skLXpmLXNpemV9LSN7JGl9IHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKHNocmluayk7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCRpLCBmYWxzZSwgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCB3aWR0aCB3aGVuIHVzaW5nIGAuZ3JpZC1tYXJnaW4teGAgbm90IG9uIGAuZ3JpZC14YFxuICAuZ3JpZC1tYXJnaW4teDpub3QoLmdyaWQteCkgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cblxuICAvLyBSZXNldCBoZWlnaHQgd2hlbiB1c2luZyBgLmdyaWQtbWFyZ2luLXlgIG5vdCBvbiBgLmdyaWQteWBcbiAgLmdyaWQtbWFyZ2luLXk6bm90KC5ncmlkLXkpID4gLmNlbGwge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxufVxuXG5AbWl4aW4gLXh5LWJyZWFrcG9pbnQtY2VsbC1jbGFzc2VzKCRjbGFzcy1icmVha3BvaW50LCAkZ3V0dGVyLWJyZWFrcG9pbnQsICR2ZXJ0aWNhbCkge1xuICAkcHJlZml4OiBpZigkY2xhc3MtYnJlYWtwb2ludCA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCwgJycsICcjeyRjbGFzcy1icmVha3BvaW50fS0nKTtcbiAgPiAuI3skcHJlZml4fWF1dG8ge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKGF1dG8sIGZhbHNlLCAkYnJlYWtwb2ludDogJGd1dHRlci1icmVha3BvaW50LCAkdmVydGljYWw6ICR2ZXJ0aWNhbCk7XG4gIH1cblxuICA+IC4jeyRwcmVmaXh9c2hyaW5rIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhzaHJpbmssIGZhbHNlLCAkYnJlYWtwb2ludDogJGd1dHRlci1icmVha3BvaW50LCAkdmVydGljYWw6ICR2ZXJ0aWNhbCk7XG4gIH1cblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAkY2xhc3NuYW1lOiBpZigkdmVydGljYWwsICcuI3skY2xhc3MtYnJlYWtwb2ludH0tI3skaX0nLCAnLiN7JGNsYXNzLWJyZWFrcG9pbnR9LSN7JGl9Jyk7XG5cbiAgICA+ICN7JGNsYXNzbmFtZX0ge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoJGksIGZhbHNlLCAkYnJlYWtwb2ludDogJGd1dHRlci1icmVha3BvaW50LCAkdmVydGljYWw6ICR2ZXJ0aWNhbCk7XG4gICAgfVxuICB9XG59XG5cbi8vIE1hcmdpbiBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS1tYXJnaW4tZ3JpZC1jbGFzc2VzKFxuICAkZ3V0dGVyLXBvc2l0aW9uOiBsZWZ0IHJpZ2h0LFxuICAkdmVydGljYWw6IGZhbHNlLFxuICAkd3JhcHBpbmctc2VsZWN0b3I6ICcuZ3JpZC1tYXJnaW4teCdcbil7XG4gICN7JHdyYXBwaW5nLXNlbGVjdG9yfSB7XG4gICAgQGluY2x1ZGUgeHktZ3V0dGVycygkbmVnYXRpdmU6IHRydWUsICRndXR0ZXItcG9zaXRpb246ICRndXR0ZXItcG9zaXRpb24pO1xuXG4gICAgLy8gQmFzZSBjZWxsIHN0eWxlc1xuICAgID4gLmNlbGwge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoJHZlcnRpY2FsOiAkdmVydGljYWwpO1xuICAgIH1cblxuICAgIC8vIGJhc2Ugc3R5bGVzIG5lZWQgdG8gYWxsIGJlIGJlZm9yZSB0aGUgYXV0byBhbmQgc2hyaW5rIHN0eWxlc1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgICBAaWYodHlwZS1vZigkZ3JpZC1tYXJnaW4tZ3V0dGVycykgPT0gJ21hcCcgYW5kIG1hcC1oYXMta2V5KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkLXpmLXNpemUpIGFuZCAkLXpmLXNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgPiAuY2VsbCB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSwgJHZlcnRpY2FsOiAkdmVydGljYWwpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcblxuICAgICAgLy8gVGhpcyBpcyBwdXJlbHkgZm9yIHJlc3BvbnNpdmUgZ3V0dGVycyAtIHRoZSBtYXJnaW4gZ3JpZCBoYXMgdG8gZ28gYmFjayBhbmQgYWRqdXN0IHdpZHRocyAob3IgaGVpZ2h0cylcbiAgICAgIC8vIGZvciBhbGwgcHJpb3IgYnJlYWtwb2ludHMuXG4gICAgICAvLyBBcyB0aGVpciBndXR0ZXIgaXMgZGVmaW5lZCB3aXRoIHRoZWlyIHdpZHRoL2hlaWdodCwgZXZlbiBicmVha3BvaW50IHdpdGhvdXQgYSBuZXcgbWFyZ2luIG11c3QgYmVcbiAgICAgIC8vIGdlbmVyYXRlZCB0byBub3QgaGF2aW5nIHRoZWlyIHdpZHRoL2hlaWdodCBvdmVycmlkZWQgYnkgcmUtYWRqdXN0ZWQgc21hbGxlciBicmVha3BvaW50cy5cbiAgICAgIEBpZih0eXBlLW9mKCRncmlkLW1hcmdpbi1ndXR0ZXJzKSA9PSAnbWFwJyBhbmQgbWFwLWhhcy1rZXkoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICQtemYtc2l6ZSkpIHtcbiAgICAgICAgQGVhY2ggJGJwIGluIC16Zi1icmVha3BvaW50cy1sZXNzLXRoYW4oJC16Zi1zaXplKSB7XG4gICAgICAgICAgQGluY2x1ZGUgLXh5LWJyZWFrcG9pbnQtY2VsbC1jbGFzc2VzKCRicCwgJC16Zi1zaXplLCAkdmVydGljYWwpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIC14eS1icmVha3BvaW50LWNlbGwtY2xhc3NlcygkLXpmLXNpemUsICQtemYtc2l6ZSwgJHZlcnRpY2FsKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gUGFkZGluZyBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS1wYWRkaW5nLWdyaWQtY2xhc3NlcyB7XG4gIC5ncmlkLXBhZGRpbmcteCB7XG5cbiAgICAvLyBOZWdhdGl2ZSBtYXJnaW4gZm9yIG5lc3RlZCBncmlkc1xuICAgIC5ncmlkLXBhZGRpbmcteCB7XG4gICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRuZWdhdGl2ZTogdHJ1ZSk7XG4gICAgfVxuXG4gICAgLy8gTmVnYXRpdmUgbWFyZ2luIGZvciBncmlkcyB3aXRoaW4gYGdyaWQtY29udGFpbmVyL2dyaWQtY29udGFpbmVyLmZsdWlkYFxuICAgIC8vIFRoaXMgYWxsb3dzIG1hcmdpbiBhbmQgcGFkZGluZyBncmlkcyB0byBsaW5lIHVwIHdpdGggZWFjaG90aGVyXG4gICAgLmdyaWQtY29udGFpbmVyOm5vdCguZnVsbCkgPiAmIHtcbiAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlKTtcbiAgICB9XG5cbiAgICAvLyBCYXNlIGNlbGwgc3R5bGVzXG4gICAgPiAuY2VsbCB7XG4gICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXJzOiAkZ3JpZC1wYWRkaW5nLWd1dHRlcnMsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG4gICAgfVxuICB9XG59XG5cbi8vIEJsb2NrIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LWJsb2NrLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQ6IHRydWUsICRwYWRkaW5nLWdyaWQ6IHRydWUpIHtcbiAgQGlmICRwYWRkaW5nLWdyaWQge1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkeHktYmxvY2stZ3JpZC1tYXgge1xuICAgICAgICAuI3skLXpmLXNpemV9LXVwLSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWxheW91dCgkbjogJGksICRzZWxlY3RvcjogJy5jZWxsJywgJGd1dHRlci1vdXRwdXQ6IGZhbHNlLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcsICRicmVha3BvaW50OiAkLXpmLXNpemUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICRtYXJnaW4tZ3JpZCB7XG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICR4eS1ibG9jay1ncmlkLW1heCB7XG4gICAgICAgIC8vIFRoaXMgaXMgcHVyZWx5IGZvciByZXNwb25zaXZlIGd1dHRlcnMgLSB0aGUgbWFyZ2luIGdyaWQgaGFzIHRvIGdvIGJhY2sgYW5kIGFkanVzdCB3aWR0aHMgKG9yIGhlaWdodHMpXG4gICAgICAgIC8vIGZvciBwcmlvciBicmVha3BvaW50cyBiYXNlZCBvbiB0aGUgcmVzcG9uc2l2ZSBndXR0ZXIuXG4gICAgICAgIEBpZih0eXBlLW9mKCRncmlkLW1hcmdpbi1ndXR0ZXJzKSA9PSAnbWFwJyBhbmQgbWFwLWhhcy1rZXkoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICQtemYtc2l6ZSkpIHtcbiAgICAgICAgICBAZWFjaCAkYnAgaW4gLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigkLXpmLXNpemUpIHtcbiAgICAgICAgICAgIEBpZihtYXAtaGFzLWtleSgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJGJwKSkge1xuICAgICAgICAgICAgICAuZ3JpZC1tYXJnaW4teC4jeyRicH0tdXAtI3skaX0ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtbGF5b3V0KCRuOiAkaSwgJHNlbGVjdG9yOiAnLmNlbGwnLCAkZ3V0dGVyLW91dHB1dDogZmFsc2UsICRndXR0ZXItdHlwZTogbWFyZ2luLCAkYnJlYWtwb2ludDogJC16Zi1zaXplKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkeHktYmxvY2stZ3JpZC1tYXgge1xuICAgICAgICAuZ3JpZC1tYXJnaW4teC4jeyQtemYtc2l6ZX0tdXAtI3skaX0ge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtbGF5b3V0KCRuOiAkaSwgJHNlbGVjdG9yOiAnLmNlbGwnLCAkZ3V0dGVyLW91dHB1dDogZmFsc2UsICRndXR0ZXItdHlwZTogbWFyZ2luLCAkYnJlYWtwb2ludDogJC16Zi1zaXplKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBDb2xsYXBzZSBjbGFzc2VzXG5AbWl4aW4geHktY29sbGFwc2UtZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZDogdHJ1ZSwgJHBhZGRpbmctZ3JpZDogdHJ1ZSkge1xuICBAZWFjaCAkYnAgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGlmICRtYXJnaW4tZ3JpZCB7XG4gICAgICAuI3skYnB9LW1hcmdpbi1jb2xsYXBzZSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29sbGFwc2UoJGd1dHRlci10eXBlOiBtYXJnaW4sICRtaW4tYnJlYWtwb2ludDogJGJwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJHBhZGRpbmctZ3JpZCB7XG4gICAgICAuI3skYnB9LXBhZGRpbmctY29sbGFwc2Uge1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbGxhcHNlKCRndXR0ZXItdHlwZTogcGFkZGluZywgJG1pbi1icmVha3BvaW50OiAkYnApO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBPZmZzZXQgY2xhc3Nlc1xuQG1peGluIHh5LW9mZnNldC1jZWxsLWNsYXNzZXMge1xuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgLy8gT2Zmc2V0c1xuICAgICAgJG86ICRpIC0gMTtcblxuICAgICAgLiN7JC16Zi1zaXplfS1vZmZzZXQtI3skb30ge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLW9mZnNldCgkbywgJGd1dHRlcnM6ICRncmlkLXBhZGRpbmctZ3V0dGVycywgJGd1dHRlci10eXBlOiBwYWRkaW5nLCAkYnJlYWtwb2ludDogJC16Zi1zaXplKTtcbiAgICAgIH1cblxuICAgICAgLmdyaWQtbWFyZ2luLXggPiAuI3skLXpmLXNpemV9LW9mZnNldC0jeyRvfSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtb2Zmc2V0KCRvLCAkYnJlYWtwb2ludDogJC16Zi1zaXplKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gVmVydGljYWwgR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktdmVydGljYWwtZ3JpZC1jbGFzc2VzKFxuICAkbWFyZ2luLWdyaWQ6IHRydWUsXG4gICRwYWRkaW5nLWdyaWQ6IHRydWVcbikge1xuXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgQGlmIG5vdCgkLXpmLXNpemUgPT0gc21hbGwpIHtcbiAgICB9XG4gIH1cblxuICAuZ3JpZC15IHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkKHZlcnRpY2FsLCBmYWxzZSk7XG5cblxuICAgID4gLmNlbGwge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1yZXNldCgpO1xuICAgIH1cblxuICAgID4gLmF1dG8ge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoYXV0bywgZmFsc2UsICR2ZXJ0aWNhbDogdHJ1ZSk7XG4gICAgfVxuXG4gICAgPiAuc2hyaW5rIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKHNocmluaywgZmFsc2UsICR2ZXJ0aWNhbDogdHJ1ZSk7XG4gICAgfVxuXG5cbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgICAgLy8gVGhpcyBpcyBhIGJpdCBvZiBhIGhhY2svd29ya2Fyb3VuZCwgc2VlIHRoZXNlIGlzc3VlcyBhbmQgUFJzIGZvciB0aGUgYmFja3N0b3J5OlxuICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3p1cmIvZm91bmRhdGlvbi1zaXRlcy9pc3N1ZXMvMTAyNDRcbiAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS96dXJiL2ZvdW5kYXRpb24tc2l0ZXMvcHVsbC8xMDIyMiBhbmRcbiAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS96dXJiL2ZvdW5kYXRpb24tc2l0ZXMvcHVsbC8xMDE2NFxuICAgICAgJHN0cjogXCI+IC4jeyQtemYtc2l6ZX0tc2hyaW5rLCA+IC4jeyQtemYtc2l6ZX0tZnVsbFwiO1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgJHN0cjogJHN0ciArIFwiLCA+IC4jeyQtemYtc2l6ZX0tI3skaX1cIlxuICAgICAgfVxuICAgICAgI3skc3RyfSB7XG4gICAgICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAgIEBpZiBub3QoJC16Zi1zaXplID09IHNtYWxsKSB7XG4gICAgICAgID4gLiN7JC16Zi1zaXplfS1hdXRvIHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2UoYXV0byk7XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoYXV0bywgZmFsc2UsICRicmVha3BvaW50OiAkLXpmLXNpemUsICR2ZXJ0aWNhbDogdHJ1ZSk7XG4gICAgICAgIH1cblxuICAgICAgICA+IC4jeyQtemYtc2l6ZX0tc2hyaW5rIHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhzaHJpbmssIGZhbHNlLCAkYnJlYWtwb2ludDogJC16Zi1zaXplLCAkdmVydGljYWw6IHRydWUpO1xuICAgICAgICB9XG5cbiAgICAgIH1cblxuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICAgICA+IC4jeyQtemYtc2l6ZX0tI3skaX0ge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCRpLCBmYWxzZSwgJHZlcnRpY2FsOiB0cnVlLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICB9XG4gIH1cblxuICBAaWYgJHBhZGRpbmctZ3JpZCB7XG4gICAgLmdyaWQtcGFkZGluZy15IHtcbiAgICAgIC8vIE5lZ2F0aXZlIG1hcmdpbiBmb3IgbmVzdGVkIGdyaWRzXG4gICAgICAuZ3JpZC1wYWRkaW5nLXkge1xuICAgICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRuZWdhdGl2ZTogdHJ1ZSwgJGd1dHRlci1wb3NpdGlvbjogdG9wIGJvdHRvbSk7XG4gICAgICB9XG5cbiAgICAgIC8vIEJhc2UgY2VsbCBzdHlsZXNcbiAgICAgID4gLmNlbGwge1xuICAgICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXJzOiAkZ3JpZC1wYWRkaW5nLWd1dHRlcnMsICRndXR0ZXItdHlwZTogcGFkZGluZywgJGd1dHRlci1wb3NpdGlvbjogdG9wIGJvdHRvbSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICRtYXJnaW4tZ3JpZCB7XG4gICAgQGluY2x1ZGUgeHktbWFyZ2luLWdyaWQtY2xhc3Nlcyh0b3AgYm90dG9tLCB0cnVlLCAnLmdyaWQtbWFyZ2luLXknKTtcbiAgfVxuXG59XG5cbkBtaXhpbiB4eS1mcmFtZS1ncmlkLWNsYXNzZXMoJHZlcnRpY2FsLWdyaWQ6IHRydWUsICRtYXJnaW4tZ3JpZDogdHJ1ZSkge1xuICAvLyBGcmFtZWQgZ3JpZCBzdHlsZXNcbiAgLmdyaWQtZnJhbWUge1xuICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWU7XG4gIH1cblxuICAuY2VsbCAuZ3JpZC1mcmFtZSB7XG4gICAgd2lkdGg6IDEwMCU7IC8vIFNhbWUgYXMgaW5jbHVkZSB3aXRoICRuZXN0ZWQsIGJ1dCB3aXRoIGxlc3MgY3NzXG4gIH1cblxuICAuY2VsbC1ibG9jayB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jaygpO1xuICB9XG5cbiAgLmNlbGwtYmxvY2steSB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jayh0cnVlKTtcbiAgfVxuXG5cbiAgLmNlbGwtYmxvY2stY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrLWNvbnRhaW5lcigpO1xuICB9XG5cblxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KGZhbHNlKSB7XG5cbiAgICAuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZTtcbiAgICB9XG5cbiAgICAuY2VsbCAuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xuICAgICAgd2lkdGg6IDEwMCU7IC8vIFNhbWUgYXMgaW5jbHVkZSB3aXRoICRuZXN0ZWQsIGJ1dCB3aXRoIGxlc3MgY3NzXG4gICAgfVxuXG4gICAgLiN7JC16Zi1zaXplfS1jZWxsLWJsb2NrIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2soKTtcbiAgICB9XG5cbiAgICAuI3skLXpmLXNpemV9LWNlbGwtYmxvY2stY29udGFpbmVyIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2stY29udGFpbmVyKCk7XG4gICAgfVxuXG4gICAgLiN7JC16Zi1zaXplfS1jZWxsLWJsb2NrLXkge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jayh0cnVlKTtcbiAgICB9XG4gIH1cblxuICBAaWYgJHZlcnRpY2FsLWdyaWQge1xuICAgIC5ncmlkLXkge1xuICAgICAgJi5ncmlkLWZyYW1lIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWUodHJ1ZSk7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoZmFsc2UpIHtcbiAgICAgICAgJi4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSh0cnVlKTtcbiAgICAgICAgfVxuXG4gICAgICB9XG4gICAgfVxuICAgIC5jZWxsIHtcbiAgICAgIC5ncmlkLXkuZ3JpZC1mcmFtZSB7XG4gICAgICAgIGhlaWdodDogMTAwJTsgLy8gU2FtZSBhcyBpbmNsdWRlIHdpdGggJG5lc3RlZCwgYnV0IHdpdGggbGVzcyBjc3NcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoZmFsc2UpIHtcbiAgICAgICAgLmdyaWQteS4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlOyAvLyBTYW1lIGFzIGluY2x1ZGUgd2l0aCAkbmVzdGVkLCBidXQgd2l0aCBsZXNzIGNzc1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBpZiAkbWFyZ2luLWdyaWQge1xuICAgIEBpbmNsdWRlIHh5LW1hcmdpbi1ncmlkLWNsYXNzZXModG9wIGJvdHRvbSwgdHJ1ZSwgJy5ncmlkLW1hcmdpbi15Jyk7XG4gICAgLmdyaWQtZnJhbWUuZ3JpZC1tYXJnaW4teSB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKHRydWUsIGZhbHNlLCAkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJGluY2x1ZGUtYmFzZTogZmFsc2UpO1xuICAgIH1cbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KGZhbHNlKSB7XG4gICAgICAuZ3JpZC1tYXJnaW4teS4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWUodHJ1ZSwgZmFsc2UsICRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkLXpmLXNpemUsIGZhbHNlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gRmluYWwgY2xhc3Nlc1xuQG1peGluIGZvdW5kYXRpb24teHktZ3JpZC1jbGFzc2VzKFxuICAkYmFzZS1ncmlkOiB0cnVlLFxuICAkbWFyZ2luLWdyaWQ6IHRydWUsXG4gICRwYWRkaW5nLWdyaWQ6IHRydWUsXG4gICRibG9jay1ncmlkOiB0cnVlLFxuICAkY29sbGFwc2U6IHRydWUsXG4gICRvZmZzZXQ6IHRydWUsXG4gICR2ZXJ0aWNhbC1ncmlkOiB0cnVlLFxuICAkZnJhbWUtZ3JpZDogdHJ1ZVxuKSB7XG5cbiAgLy8gQmFzZSBncmlkIHN0eWxlc1xuICBAaWYoJGJhc2UtZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LWJhc2UtZ3JpZC1jbGFzc2VzKCk7XG4gIH1cblxuICAvLyBNYXJnaW4gZ3JpZFxuICBAaWYoJG1hcmdpbi1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktbWFyZ2luLWdyaWQtY2xhc3NlcygpO1xuICB9XG5cbiAgLy8gUGFkZGluZyBncmlkXG4gIEBpZigkcGFkZGluZy1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktcGFkZGluZy1ncmlkLWNsYXNzZXMoKTtcbiAgfVxuXG4gIC8vIEJsb2NrIGdyaWRcbiAgQGlmKCRibG9jay1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktYmxvY2stZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZCwgJHBhZGRpbmctZ3JpZCk7XG4gIH1cblxuICAvLyBDb2xsYXBzZSBndXR0ZXJzXG4gIEBpZigkY29sbGFwc2UpIHtcbiAgICBAaW5jbHVkZSB4eS1jb2xsYXBzZS1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkLCAkcGFkZGluZy1ncmlkKTtcbiAgfVxuXG4gIC8vIE9mZnNldCBndXR0ZXJzXG4gIEBpZigkb2Zmc2V0KSB7XG4gICAgQGluY2x1ZGUgeHktb2Zmc2V0LWNlbGwtY2xhc3NlcygpO1xuICB9XG5cbiAgLy8gVmVydGljYWwgZ3JpZFxuICBAaWYoJHZlcnRpY2FsLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS12ZXJ0aWNhbC1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkLCAkcGFkZGluZy1ncmlkKTtcbiAgfVxuXG4gIEBpZiAoJGZyYW1lLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1mcmFtZS1ncmlkLWNsYXNzZXMoJHZlcnRpY2FsLWdyaWQsICRtYXJnaW4tZ3JpZClcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnV0dG9uXG4vLy8vXG5cbi8vLyBGb250IGZhbWlseSBmb3IgYnV0dG9uIGVsZW1lbnRzLlxuLy8vIEB0eXBlIEZvbnRcbiRidXR0b24tZm9udC1mYW1pbHk6IGluaGVyaXQgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tcGFkZGluZzogMC44NWVtIDFlbSAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiBhcm91bmQgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZpbGwgZm9yIGJ1dHRvbnMuIENhbiBlaXRoZXIgYmUgYHNvbGlkYCBvciBgaG9sbG93YC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kYnV0dG9uLWZpbGw6IHNvbGlkICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIENvbG9yXG4kYnV0dG9uLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvbiBob3ZlciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBDb2xvclxuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyOiBzY2FsZS1jb2xvcigkYnV0dG9uLWJhY2tncm91bmQsICRsaWdodG5lc3M6IC0xNSUpICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBBbHRlcm5hdGl2ZSBmb250IGNvbG9yIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tY29sb3ItYWx0OiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGZvciBidXR0b25zLCBkZWZhdWx0ZWQgdG8gZ2xvYmFsLXJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciB3aWR0aCBmb3IgaG9sbG93IG91dGxpbmUgYnV0dG9uc1xuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1ob2xsb3ctYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG5cbi8vLyBTaXplcyBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBNYXBcbiRidXR0b24tc2l6ZXM6IChcbiAgdGlueTogMC42cmVtLFxuICBzbWFsbDogMC43NXJlbSxcbiAgZGVmYXVsdDogMC45cmVtLFxuICBsYXJnZTogMS4yNXJlbSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvcmluZyBjbGFzc2VzLiBBIG1hcCBvZiBjbGFzc2VzIHRvIG91dHB1dCBpbiB5b3VyIENTUywgbGlrZSBgLnNlY29uZGFyeWAsIGAuc3VjY2Vzc2AsIGFuZCBzbyBvbi5cbi8vLyBAdHlwZSBNYXBcbiRidXR0b24tcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZSAhZGVmYXVsdDtcblxuLy8vIG9wYWNpdHkgZm9yIGEgZGlzYWJsZWQgYnV0dG9uLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDogMC4yNSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgbGlnaHRuZXNzIG9uIGhvdmVyIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzczogLTIwJSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIGxpZ2h0bmVzcyBvbiBob3ZlciBmb3IgaG9sbG93IGJ1dHRvbnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3M6IC01MCUgIWRlZmF1bHQ7XG5cbi8vIEludGVybmFsOiBmbGlwIGZyb20gbWFyZ2luLXJpZ2h0IHRvIG1hcmdpbi1sZWZ0IGZvciBkZWZhdWx0c1xuQGlmICRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gJ3J0bCcge1xuICAkYnV0dG9uLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xufVxuXG4vLy8gdHJhbnNpdGlvbnMgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LCBjb2xvciAwLjI1cyBlYXNlLW91dCAhZGVmYXVsdDtcblxuLy8vIEFkZGl0aW9uYWwgcmVzcG9uc2l2ZSBjbGFzc2VzIGZvciAuZXhwYW5kZWRcbi8vLyBAdHlwZSBCb29sZWFuXG4kYnV0dG9uLXJlc3BvbnNpdmUtZXhwYW5kZWQ6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBUT0RPOiBEb2N1bWVudCBidXR0b24tYmFzZSgpIG1peGluXG5AbWl4aW4gYnV0dG9uLWJhc2Uge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luOiAkYnV0dG9uLW1hcmdpbjtcblxuICBAaWYgKHR5cGUtb2YoJGJ1dHRvbi1wYWRkaW5nKSA9PSAnbWFwJykge1xuICAgIEBlYWNoICRzaXplLCAkcGFkZGluZyBpbiAkYnV0dG9uLXBhZGRpbmcge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBwYWRkaW5nOiAkcGFkZGluZztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIHBhZGRpbmc6ICRidXR0b24tcGFkZGluZztcbiAgfVxuXG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgdHJhbnNpdGlvbjogJGJ1dHRvbi10cmFuc2l0aW9uO1xuICBmb250LWZhbWlseTogJGJ1dHRvbi1mb250LWZhbWlseTtcbiAgZm9udC1zaXplOiBtYXAtZ2V0KCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeGVzXG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLy8vIEV4cGFuZHMgYSBidXR0b24gdG8gbWFrZSBpdCBmdWxsLXdpZHRoLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGV4cGFuZCBbdHJ1ZV0gLSBTZXQgdG8gYHRydWVgIHRvIGVuYWJsZSB0aGUgZXhwYW5kIGJlaGF2aW9yLiBTZXQgdG8gYGZhbHNlYCB0byByZXZlcnNlIHRoaXMgYmVoYXZpb3IuXG5AbWl4aW4gYnV0dG9uLWV4cGFuZCgkZXhwYW5kOiB0cnVlKSB7XG4gIEBpZiAkZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbiAgQGVsc2Uge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXJnaW46ICRidXR0b24tbWFyZ2luO1xuICB9XG59XG5cbi8vLyBTZXRzIHRoZSB2aXN1YWwgc3R5bGUgb2YgYSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRidXR0b24tYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQtaG92ZXIgWyRidXR0b24tYmFja2dyb3VuZC1ob3Zlcl0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24gb24gaG92ZXIuIFNldCB0byBgYXV0b2AgdG8gaGF2ZSB0aGUgbWl4aW4gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGhvdmVyIGNvbG9yLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJ1dHRvbi1jb2xvcl0gLSBUZXh0IGNvbG9yIG9mIHRoZSBidXR0b24uIFNldCB0byBgYXV0b2AgdG8gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGNvbG9yIGJhc2VkIG9uIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuQG1peGluIGJ1dHRvbi1zdHlsZShcbiAgJGJhY2tncm91bmQ6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRidXR0b24tYmFja2dyb3VuZC1ob3ZlcixcbiAgJGNvbG9yOiAkYnV0dG9uLWNvbG9yLFxuICAkYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3M6ICRidXR0b24tYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3Ncbikge1xuICBAaWYgJGNvbG9yID09IGF1dG8ge1xuICAgICRjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkYmFja2dyb3VuZCwgKCRidXR0b24tY29sb3IsICRidXR0b24tY29sb3ItYWx0KSk7XG4gIH1cblxuICBAaWYgJGJhY2tncm91bmQtaG92ZXIgPT0gYXV0byB7XG4gICAgJGJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRiYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAkYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3MpO1xuICB9XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtaG92ZXI7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxufVxuXG4vLy8gUmVtb3ZlcyBiYWNrZ3JvdW5kIGZpbGwgb24gaG92ZXIgYW5kIGZvY3VzIGZvciBob2xsb3cgYnV0dG9ucy5cbkBtaXhpbiBidXR0b24taG9sbG93IHtcbiAgJixcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAmLmRpc2FibGVkLFxuICAmW2Rpc2FibGVkXSB7XG4gICAgJixcbiAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gYnV0dG9uLWhvbGxvdy1zdHlsZShcbiAgJGNvbG9yOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRob3Zlci1saWdodG5lc3M6ICRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzcyxcbiAgJGJvcmRlci13aWR0aDogJGJ1dHRvbi1ob2xsb3ctYm9yZGVyLXdpZHRoXG4pIHtcbiAgJGNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6ICRob3Zlci1saWdodG5lc3MpO1xuXG4gIGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCAkY29sb3I7XG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3ItaG92ZXI7XG4gICAgY29sb3I6ICRjb2xvci1ob3ZlcjtcbiAgICAmLmRpc2FibGVkLFxuICAgICZbZGlzYWJsZWRdIHtcbiAgICAgIGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCAkY29sb3I7XG4gICAgICBjb2xvcjogJGNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBkaXNhYmxlZCBzdHlsZXMgdG8gYSBidXR0b24gYnkgZmFkaW5nIHRoZSBlbGVtZW50LCByZXNldGluZyB0aGUgY3Vyc29yLCBhbmQgZGlzYWJsaW5nIHBvaW50ZXIgZXZlbnRzLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgZGlzYWJsZWQgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJ1dHRvbi1jb2xvcl0gLSBUZXh0IGNvbG9yIG9mIHRoZSBkaXNhYmxlZCBidXR0b24uIFNldCB0byBgYXV0b2AgdG8gaGF2ZSB0aGUgbWl4aW4gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGNvbG9yIGJhc2VkIG9uIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuQG1peGluIGJ1dHRvbi1kaXNhYmxlZChcbiAgJGJhY2tncm91bmQ6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGNvbG9yOiAkYnV0dG9uLWNvbG9yXG4pIHtcbiAgQGlmICRjb2xvciA9PSBhdXRvIHtcbiAgICAkY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGJhY2tncm91bmQsICgkYnV0dG9uLWNvbG9yLCAkYnV0dG9uLWNvbG9yLWFsdCkpO1xuICB9XG5cbiAgb3BhY2l0eTogJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICYsICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cbn1cblxuLy8vIEFkZHMgYSBkcm9wZG93biBhcnJvdyB0byBhIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNpemUgWzAuNGVtXSAtIFNpemUgb2YgdGhlIGFycm93LiBXZSByZWNvbW1lbmQgdXNpbmcgYW4gYGVtYCB2YWx1ZSBzbyB0aGUgdHJpYW5nbGUgc2NhbGVzIHdoZW4gdXNlZCBpbnNpZGUgZGlmZmVyZW50IHNpemVzIG9mIGJ1dHRvbnMuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFt3aGl0ZV0gLSBDb2xvciBvZiB0aGUgYXJyb3cuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRvZmZzZXQgWyRidXR0b24tcGFkZGluZ10gLSBEaXN0YW5jZSBiZXR3ZWVuIHRoZSBhcnJvdyBhbmQgdGhlIHRleHQgb2YgdGhlIGJ1dHRvbi4gRGVmYXVsdHMgdG8gd2hhdGV2ZXIgdGhlIHJpZ2h0IHBhZGRpbmcgb2YgYSBidXR0b24gaXMuXG5AbWl4aW4gYnV0dG9uLWRyb3Bkb3duKFxuICAkc2l6ZTogMC40ZW0sXG4gICRjb2xvcjogJHdoaXRlLFxuICAkb2Zmc2V0OiBnZXQtc2lkZSgkYnV0dG9uLXBhZGRpbmcsIHJpZ2h0KVxuKSB7XG4gICY6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHNpemUsICRjb2xvciwgZG93bik7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMC40ZW07IC8vIEFsaWducyB0aGUgYXJyb3cgd2l0aCB0aGUgdGV4dCBvZiB0aGUgYnV0dG9uXG5cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZmxvYXQ6ICN7JGdsb2JhbC1yaWdodH07XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJG9mZnNldDtcbiAgfVxufVxuXG4vLy8gQWRkcyBhbGwgc3R5bGVzIGZvciBhIGJ1dHRvbi4gRm9yIG1vcmUgZ3JhbnVsYXIgY29udHJvbCBvdmVyIHN0eWxlcywgdXNlIHRoZSBpbmRpdmlkdWFsIGJ1dHRvbiBtaXhpbnMuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZXhwYW5kIFtmYWxzZV0gLSBTZXQgdG8gYHRydWVgIHRvIG1ha2UgdGhlIGJ1dHRvbiBmdWxsLXdpZHRoLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kLWhvdmVyIFskYnV0dG9uLWJhY2tncm91bmQtaG92ZXJdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uIG9uIGhvdmVyLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBob3ZlciBjb2xvci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdHlsZSBbc29saWRdIC0gU2V0IHRvIGBob2xsb3dgIHRvIGNyZWF0ZSBhIGhvbGxvdyBidXR0b24uIFRoZSBjb2xvciBkZWZpbmVkIGluIGAkYmFja2dyb3VuZGAgd2lsbCBiZSB1c2VkIGFzIHRoZSBwcmltYXJ5IGNvbG9yIG9mIHRoZSBidXR0b24uXG5AbWl4aW4gYnV0dG9uKFxuICAkZXhwYW5kOiBmYWxzZSxcbiAgJGJhY2tncm91bmQ6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRidXR0b24tYmFja2dyb3VuZC1ob3ZlcixcbiAgJGNvbG9yOiAkYnV0dG9uLWNvbG9yLFxuICAkc3R5bGU6ICRidXR0b24tZmlsbFxuKSB7XG4gIEBpbmNsdWRlIGJ1dHRvbi1iYXNlO1xuXG4gIEBpZiAkc3R5bGUgPT0gc29saWQge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmFja2dyb3VuZCwgJGJhY2tncm91bmQtaG92ZXIsICRjb2xvcik7XG4gIH1cbiAgQGVsc2UgaWYgJHN0eWxlID09IGhvbGxvdyB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdztcbiAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRiYWNrZ3JvdW5kKTtcbiAgfVxuXG4gIEBpZiAkZXhwYW5kIHtcbiAgICBAaW5jbHVkZSBidXR0b24tZXhwYW5kO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJ1dHRvbiB7XG4gIC5idXR0b24ge1xuICAgIEBpbmNsdWRlIGJ1dHRvbjtcblxuICAgIC8vIFNpemVzXG4gICAgQGVhY2ggJHNpemUsICR2YWx1ZSBpbiBtYXAtcmVtb3ZlKCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpIHtcbiAgICAgICYuI3skc2l6ZX0ge1xuICAgICAgICBmb250LXNpemU6ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmV4cGFuZGVkIHsgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDsgfVxuXG4gICAgQGlmICRidXR0b24tcmVzcG9uc2l2ZS1leHBhbmRlZCB7XG4gICAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgjeyRzaXplfSBvbmx5KSB7XG4gICAgICAgICAgJi4jeyRzaXplfS1vbmx5LWV4cGFuZGVkIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgjeyRzaXplfSBkb3duKSB7XG4gICAgICAgICAgICAmLiN7JHNpemV9LWRvd24tZXhwYW5kZWQge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZXhwYW5kO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoI3skc2l6ZX0pIHtcbiAgICAgICAgICAgICYuI3skc2l6ZX0tZXhwYW5kZWQge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZXhwYW5kO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIENvbG9yc1xuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgIEBpZiAkYnV0dG9uLWZpbGwgIT0gaG9sbG93IHtcbiAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRjb2xvciwgYXV0bywgYXV0byk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkY29sb3IpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi4jeyRuYW1lfS5kcm9wZG93bjo6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERpc2FibGVkIHN0eWxlXG4gICAgJi5kaXNhYmxlZCxcbiAgICAmW2Rpc2FibGVkXSB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZGlzYWJsZWQ7XG5cbiAgICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWRpc2FibGVkKCRjb2xvciwgYXV0byk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBIb2xsb3cgc3R5bGVcbiAgICBAaWYgJGJ1dHRvbi1maWxsICE9IGhvbGxvdyB7XG4gICAgICAmLmhvbGxvdyB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3c7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGU7XG5cbiAgICAgICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkY29sb3IpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIENsZWFyIHN0eWxlXG4gICAgQGlmICRidXR0b24tZmlsbCAhPSBjbGVhciB7XG4gICAgICAmLmNsZWFyIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdztcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZTtcblxuICAgICAgICAmLCAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgICAgICAmLCAmLmRpc2FibGVkLCAmW2Rpc2FibGVkXSB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGNvbG9yKTtcblxuICAgICAgICAgICAgJiwgJjpob3ZlcixcbiAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAmLFxuICAgICAgICAgICAgICAmLmRpc2FibGVkLFxuICAgICAgICAgICAgICAmW2Rpc2FibGVkXSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERyb3Bkb3duIGFycm93XG4gICAgJi5kcm9wZG93biB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZHJvcGRvd247XG5cbiAgICAgIEBpZiAkYnV0dG9uLWZpbGwgPT0gaG9sbG93IHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRidXR0b24tYmFja2dyb3VuZDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLmhvbGxvdyB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkYnV0dG9uLWJhY2tncm91bmQ7XG4gICAgICAgIH1cblxuICAgICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBCdXR0b24gd2l0aCBkcm9wZG93biBhcnJvdyBvbmx5XG4gICAgJi5hcnJvdy1vbmx5OjphZnRlciB7XG4gICAgICB0b3A6IC0wLjFlbTtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICB9XG4gIH1cblxuICBhLmJ1dHRvbiB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBidXR0b24tZ3JvdXBcbi8vLy9cblxuLy8vIE1hcmdpbiBmb3IgYnV0dG9uIGdyb3Vwcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b25ncm91cC1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBNYXJnaW4gYmV0d2VlbiBidXR0b25zIGluIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbmdyb3VwLXNwYWNpbmc6IDFweCAhZGVmYXVsdDtcblxuLy8vIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgYSBidXR0b24gZ3JvdXAuXG4vLy8gQHR5cGUgU3RyaW5nXG4kYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3I6ICcuYnV0dG9uJyAhZGVmYXVsdDtcblxuLy8vIE1heGltdW0gbnVtYmVyIG9mIGJ1dHRvbnMgdGhhdCBjYW4gYmUgaW4gYW4gZXZlbi13aWR0aCBidXR0b24gZ3JvdXAuIChPbmx5IG5lZWRlZCB3aGVuICRnbG9iYWwtZmxleGJveDogZmFsc2U7KVxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXg6IDYgIWRlZmF1bHQ7XG5cbi8vLyBEZXRlcm1pbmVzIGlmICRidXR0b24tcmFkaXVzIGlzIGFwcGxpZWQgdG8gZWFjaCBidXR0b24gb3IgdGhlIGJ1dHRvbiBncm91cCBhcyBhIHdob2xlLiBVc2UgJGdsb2JhbC1yYWRpdXMgaW4gX3NldHRpbmdzLnNjc3MgdG8gY2hhbmdlIHJhZGl1cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2g6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBBZGQgc3R5bGVzIGZvciBhIGJ1dHRvbiBncm91cCBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRjaGlsZC1zZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgYSBidXR0b24gZ3JvdXAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzcGFjaW5nIFskYnV0dG9uZ3JvdXAtc3BhY2luZ10gLSBTcGFjaW5nIGJldHdlZW4gYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAoXG4gICRjaGlsZC1zZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yLFxuICAkc3BhY2luZzogJGJ1dHRvbmdyb3VwLXNwYWNpbmdcbikge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWFyZ2luLWJvdHRvbTogJGJ1dHRvbmdyb3VwLW1hcmdpbjtcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICB9XG4gIEBlbHNlIHtcbiAgICBmb250LXNpemU6IDA7XG4gIH1cblxuICAjeyRjaGlsZC1zZWxlY3Rvcn0ge1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmc7XG4gICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmc7XG4gICAgZm9udC1zaXplOiBtYXAtZ2V0KCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgfVxuXG4gICAgQGlmIG5vdCAkYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2gge1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcblxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGZ1bGwtd2lkdGggYnV0dG9uIGdyb3VwLCBtYWtpbmcgZWFjaCBidXR0b24gZXF1YWwgd2lkdGguXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgYSBidXR0b24gZ3JvdXAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzcGFjaW5nIFskYnV0dG9uZ3JvdXAtc3BhY2luZ10gLSBTcGFjaW5nIGJldHdlZW4gYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAtZXhwYW5kKFxuICAkc2VsZWN0b3I6ICRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcixcbiAgJHNwYWNpbmc6ICRidXR0b25ncm91cC1zcGFjaW5nLFxuICAkY291bnQ6IG51bGxcbikge1xuICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IC0kc3BhY2luZztcblxuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gICN7JHNlbGVjdG9yfSB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAvLyBPbmUgY2hpbGRcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAjeyRzcGFjaW5nfSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gVHdvIG9yIG1vcmUgY2hpbGRyZWVuXG4gICAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRidXR0b25ncm91cC1leHBhbmQtbWF4IHtcbiAgICAgICAgJjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgjeyRpfSkge1xuICAgICAgICAgICYsICY6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoI3skaX0pIH4gI3skc2VsZWN0b3J9IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKCN7cGVyY2VudGFnZSgxIC8gJGkpfSAtICN7JHNwYWNpbmd9KTtcbiAgICAgICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkc3BhY2luZztcblxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nICogLSRidXR0b25ncm91cC1leHBhbmQtbWF4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gU3RhY2tzIHRoZSBidXR0b25zIGluIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIHRoZSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwLXN0YWNrKFxuICAkc2VsZWN0b3I6ICRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvclxuKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuXG4gICN7JHNlbGVjdG9yfSB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG5cbiAgICBAaWYgbm90ICRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaCB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgfVxuICAgIH1cblxuICB9XG59XG5cbi8vLyBVbi1zdGFja3MgdGhlIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgdGhlIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAtdW5zdGFjayhcbiAgJHNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3Jcbikge1xuICAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgQGlmIG5vdCAkYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2gge1xuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAwO1xuICAgICAgfVxuICAgIH1cblxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJ1dHRvbi1ncm91cCB7XG4gIC5idXR0b24tZ3JvdXAge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cDtcblxuICAgIC8vIFNpemVzXG4gICAgQGVhY2ggJHNpemUsICR2YWx1ZSBpbiBtYXAtcmVtb3ZlKCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpIHtcbiAgICAgICYuI3skc2l6ZX0gI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9IHtcbiAgICAgICAgZm9udC1zaXplOiAkdmFsdWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRXZlbi13aWR0aCBHcm91cFxuICAgICYuZXhwYW5kZWQge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLWV4cGFuZDtcbiAgICB9XG5cbiAgICAvLyBDb2xvcnNcbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICBAaWYgJGJ1dHRvbi1maWxsICE9IGhvbGxvdyB7XG4gICAgICAgICYuI3skbmFtZX0gI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGNvbG9yLCBhdXRvLCBhdXRvKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICAmLiN7JG5hbWV9ICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdztcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRjb2xvcik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YWNrZWQsXG4gICAgJi5zdGFja2VkLWZvci1zbWFsbCxcbiAgICAmLnN0YWNrZWQtZm9yLW1lZGl1bSB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtc3RhY2s7XG5cbiAgICAgICYuZXhwYW5kZWQge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtZXhwYW5kO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuc3RhY2tlZC1mb3Itc21hbGwge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXVuc3RhY2s7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zdGFja2VkLWZvci1tZWRpdW0ge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtdW5zdGFjaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YWNrZWQtZm9yLXNtYWxsLmV4cGFuZGVkIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zdGFja2VkLWZvci1tZWRpdW0uZXhwYW5kZWQge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBjbG9zZS1idXR0b25cbi8vLy9cblxuLy8vIERlZmF1bHQgcG9zaXRpb24gb2YgdGhlIGNsb3NlIGJ1dHRvbi4gVGhlIGZpcnN0IHZhbHVlIHNob3VsZCBiZSBgcmlnaHRgIG9yIGBsZWZ0YCwgYW5kIHRoZSBzZWNvbmQgdmFsdWUgc2hvdWxkIGJlIGB0b3BgIG9yIGBib3R0b21gLlxuLy8vIEB0eXBlIExpc3RcbiRjbG9zZWJ1dHRvbi1wb3NpdGlvbjogcmlnaHQgdG9wICFkZWZhdWx0O1xuXG4vLy8gUmlnaHQgKG9yIGxlZnQpIG9mZnNldChzKSBmb3IgYSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgTnVtYmVyfE1hcFxuJGNsb3NlYnV0dG9uLW9mZnNldC1ob3Jpem9udGFsOiAoXG4gIHNtYWxsOiAwLjY2cmVtLFxuICBtZWRpdW06IDFyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gVG9wIChvciBib3R0b20pIG9mZnNldChzKSBmb3IgYSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgTnVtYmVyfE1hcFxuJGNsb3NlYnV0dG9uLW9mZnNldC12ZXJ0aWNhbDogKFxuICBzbWFsbDogMC4zM2VtLFxuICBtZWRpdW06IDAuNXJlbSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZShzKSBvZiB0aGUgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIE51bWJlcnxNYXBcbiRjbG9zZWJ1dHRvbi1zaXplOiAoXG4gIHNtYWxsOiAxLjVlbSxcbiAgbWVkaXVtOiAyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gVGhlIGxpbmUtaGVpZ2h0IG9mIHRoZSBjbG9zZSBidXR0b24uIEl0IGFmZmVjdHMgdGhlIHNwYWNpbmcgb2YgdGhlIGVsZW1lbnQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2xvc2VidXR0b24tbGluZWhlaWdodDogMSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBDb2xvclxuJGNsb3NlYnV0dG9uLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgY2xvc2UgYnV0dG9uIHdoZW4gYmVpbmcgaG92ZXJlZCBvbi5cbi8vLyBAdHlwZSBDb2xvclxuJGNsb3NlYnV0dG9uLWNvbG9yLWhvdmVyOiAkYmxhY2sgIWRlZmF1bHQ7XG5cblxuLy8vIEdldCB0aGUgc2l6ZSBhbmQgcG9zaXRpb24gZm9yIGEgY2xvc2UgYnV0dG9uLiBJZiB0aGUgaW5wdXQgdmFsdWUgaXMgYSBudW1iZXIsIHRoZSBudW1iZXIgaXMgcmV0dXJuZWQuIElmIHRoZSBpbnB1dCB2YWx1ZSBpcyBhIGNvbmZpZyBtYXAgYW5kIHRoZSBtYXAgaGFzIHRoZSBrZXkgYCRzaXplYCwgdGhlIHZhbHVlIGlzIHJldHVybmVkLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkdmFsdWUgLSBBIG51bWJlciBvciBtYXAgdGhhdCByZXByZXNlbnRzIHRoZSBzaXplIG9yIHBvc2l0aW9uIHZhbHVlKHMpIG9mIHRoZSBjbG9zZSBidXR0b24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIFRoZSBzaXplIG9mIHRoZSBjbG9zZSBidXR0b24gdG8gdXNlLlxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfSBUaGUgZ2l2ZW4gbnVtYmVyIG9yIHRoZSB2YWx1ZSBmb3VuZCBpbiB0aGUgbWFwLlxuQGZ1bmN0aW9uIC16Zi1nZXQtc2l6ZS12YWwoJHZhbHVlLCAkc2l6ZSkge1xuICAvLyBDaGVjayBpZiB0aGUgdmFsdWUgaXMgYSBudW1iZXJcbiAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnbnVtYmVyJyB7XG4gICAgLy8gSWYgaXQgaXMsIGp1c3QgcmV0dXJuIHRoZSBudW1iZXJcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxuXG4gIC8vIENoZWNrIGlmIHRoZSBzaXplIG5hbWUgZXhpc3RzIGluIHRoZSB2YWx1ZSBtYXBcbiAgQGVsc2UgaWYgbWFwLWhhcy1rZXkoJHZhbHVlLCAkc2l6ZSkge1xuICAgIC8vIElmIGl0IGRvZXMsIHJldHVybiB0aGUgdmFsdWVcbiAgICBAcmV0dXJuIG1hcC1nZXQoJHZhbHVlLCAkc2l6ZSk7XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIHNpemUgYW5kIHBvc2l0aW9uIG9mIGEgY2xvc2UgYnV0dG9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgW21lZGl1bV0gLSBUaGUgc2l6ZSB0byB1c2UuIFNldCB0byBgc21hbGxgIHRvIGNyZWF0ZSBhIHNtYWxsIGNsb3NlIGJ1dHRvbi4gVGhlICdtZWRpdW0nIHZhbHVlcyBkZWZpbmVkIGluIGAkY2xvc2VidXR0b24tKmAgdmFyaWFibGVzIHdpbGwgYmUgdXNlZCBhcyB0aGUgZGVmYXVsdCBzaXplIGFuZCBwb3NpdGlvbiBvZiB0aGUgY2xvc2UgYnV0dG9uLlxuQG1peGluIGNsb3NlLWJ1dHRvbi1zaXplKCRzaXplKSB7XG4gICR4OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAxKTtcbiAgJHk6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDIpO1xuXG4gICN7JHh9OiAtemYtZ2V0LXNpemUtdmFsKCRjbG9zZWJ1dHRvbi1vZmZzZXQtaG9yaXpvbnRhbCwgJHNpemUpO1xuICAjeyR5fTogLXpmLWdldC1zaXplLXZhbCgkY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsLCAkc2l6ZSk7XG4gIGZvbnQtc2l6ZTogLXpmLWdldC1zaXplLXZhbCgkY2xvc2VidXR0b24tc2l6ZSwgJHNpemUpO1xuICBsaW5lLWhlaWdodDogLXpmLWdldC1zaXplLXZhbCgkY2xvc2VidXR0b24tbGluZWhlaWdodCwgJHNpemUpO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY2xvc2UgYnV0dG9uLCB1c2luZyB0aGUgc3R5bGVzIGluIHRoZSBzZXR0aW5ncyB2YXJpYWJsZXMuXG5AbWl4aW4gY2xvc2UtYnV0dG9uIHtcbiAgJHg6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDEpO1xuICAkeTogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMik7XG5cbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbG9yOiAkY2xvc2VidXR0b24tY29sb3I7XG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogJGNsb3NlYnV0dG9uLWNvbG9yLWhvdmVyO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWNsb3NlLWJ1dHRvbiB7XG4gIC5jbG9zZS1idXR0b24ge1xuICAgIEBpbmNsdWRlIGNsb3NlLWJ1dHRvbjtcblxuICAgICYuc21hbGwgeyBAaW5jbHVkZSBjbG9zZS1idXR0b24tc2l6ZShzbWFsbCkgfVxuICAgICYsICYubWVkaXVtIHsgQGluY2x1ZGUgY2xvc2UtYnV0dG9uLXNpemUobWVkaXVtKSB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGxhYmVsXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGxhYmVsLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsYWJlbC1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQWx0ZXJuYXRlIHRleHQgY29sb3IgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGxhYmVsLWNvbG9yLWFsdDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JpbmcgY2xhc3Nlcy4gQSBtYXAgb2YgY2xhc3NlcyB0byBvdXRwdXQgaW4geW91ciBDU1MsIGxpa2UgYC5zZWNvbmRhcnlgLCBgLnN1Y2Nlc3NgLCBhbmQgc28gb24uXG4vLy8gQHR5cGUgTWFwXG4kbGFiZWwtcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGFiZWwtZm9udC1zaXplOiAwLjhyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsYWJlbC1wYWRkaW5nOiAwLjMzMzMzcmVtIDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIG9mIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsYWJlbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gR2VuZXJhdGVzIGJhc2Ugc3R5bGVzIGZvciBhIGxhYmVsLlxuQG1peGluIGxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAkbGFiZWwtcGFkZGluZztcblxuICBib3JkZXItcmFkaXVzOiAkbGFiZWwtcmFkaXVzO1xuXG4gIGZvbnQtc2l6ZTogJGxhYmVsLWZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tbGFiZWwge1xuICAubGFiZWwge1xuICAgIEBpbmNsdWRlIGxhYmVsO1xuXG4gICAgYmFja2dyb3VuZDogJGxhYmVsLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRsYWJlbC1jb2xvcjtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGxhYmVsLXBhbGV0dGUge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICAgICAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGNvbG9yLCAoJGxhYmVsLWNvbG9yLCAkbGFiZWwtY29sb3ItYWx0KSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHByb2dyZXNzIGJhciBjb250YWluZXIuXG5AbWl4aW4gcHJvZ3Jlc3MtY29udGFpbmVyIHtcbiAgaGVpZ2h0OiAkcHJvZ3Jlc3MtaGVpZ2h0O1xuICBtYXJnaW4tYm90dG9tOiAkcHJvZ3Jlc3MtbWFyZ2luLWJvdHRvbTtcbiAgYm9yZGVyLXJhZGl1czogJHByb2dyZXNzLXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByb2dyZXNzLWJhY2tncm91bmQ7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGlubmVyIG1ldGVyIG9mIGEgcHJvZ3Jlc3MgYmFyLlxuQG1peGluIHByb2dyZXNzLW1ldGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1tZXRlci1iYWNrZ3JvdW5kO1xuXG4gIEBpZiBoYXMtdmFsdWUoJHByb2dyZXNzLXJhZGl1cykge1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGV4dCBpbiB0aGUgcHJvZ3Jlc3MgbWV0ZXIuXG5AbWl4aW4gcHJvZ3Jlc3MtbWV0ZXItdGV4dCB7XG4gIEBpbmNsdWRlIGFic29sdXRlLWNlbnRlcjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAkd2hpdGU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgQGlmIGhhcy12YWx1ZSgkcHJvZ3Jlc3MtcmFkaXVzKSB7XG4gICAgYm9yZGVyLXJhZGl1czogJHByb2dyZXNzLXJhZGl1cztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm9ncmVzcy1iYXIge1xuICAvLyBQcm9ncmVzcyBiYXJcbiAgLnByb2dyZXNzIHtcbiAgICBAaW5jbHVkZSBwcm9ncmVzcy1jb250YWluZXI7XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRmb3VuZGF0aW9uLXBhbGV0dGUge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIC5wcm9ncmVzcy1tZXRlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gSW5uZXIgbWV0ZXJcbiAgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBAaW5jbHVkZSBwcm9ncmVzcy1tZXRlcjtcbiAgfVxuXG4gIC8vIElubmVyIG1ldGVyIHRleHRcbiAgLnByb2dyZXNzLW1ldGVyLXRleHQge1xuICAgIEBpbmNsdWRlIHByb2dyZXNzLW1ldGVyLXRleHQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLyBbVE9ET10gQ2hlY2sgaG93IHBsdWdpbiBjb25maXJtcyBkaXNhYmxlZCBvciB2ZXJ0aWNhbCBzdGF0dXNcbi8vIFtUT0RPXSBDaGVjayBpZiB0cmFuc2l0aW9uOiBhbGw7IGlzIG5lY2Vzc2FyeVxuXG4vLy8vXG4vLy8gQGdyb3VwIHNsaWRlclxuLy8vL1xuXG4vLy8gRGVmYXVsdCBzbGlkZXIgd2lkdGggb2YgYSB2ZXJ0aWNhbCBzbGlkZXIuIChEb2Vzbid0IGFwcGx5IHRvIHRoZSBuYXRpdmUgc2xpZGVyLilcbi8vLyBAdHlwZSBOdW1iZXJcbiRzbGlkZXItd2lkdGgtdmVydGljYWw6IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIFRyYW5zaXRpb24gcHJvcGVydGllcyB0byBhcHBseSB0byB0aGUgc2xpZGVyIGhhbmRsZSBhbmQgZmlsbC4gKERvZXNuJ3QgYXBwbHkgdG8gdGhlIG5hdGl2ZSBzbGlkZXIuKVxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiRzbGlkZXItdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHRoZSBnZW5lcmFsIHN0eWxlcyBmb3Igc2xpZGVycy5cbkBtaXhpbiBzbGlkZXItY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6ICRzbGlkZXItaGVpZ2h0O1xuICBtYXJnaW4tdG9wOiAxLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAyLjI1cmVtO1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICRzbGlkZXItYmFja2dyb3VuZDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgdG91Y2gtYWN0aW9uOiBub25lO1xufVxuXG4vLy8gQWRkcyB0aGUgZ2VuZXJhbCBzdHlsZXMgZm9yIGFjdGl2ZSBmaWxsIGZvciBzbGlkZXJzLlxuQG1peGluIHNsaWRlci1maWxsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG5cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJHNsaWRlci1oZWlnaHQ7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJHNsaWRlci1maWxsLWJhY2tncm91bmQ7XG4gIHRyYW5zaXRpb246ICRzbGlkZXItdHJhbnNpdGlvbjtcblxuICAmLmlzLWRyYWdnaW5nIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMHMgbGluZWFyO1xuICB9XG59XG5cbi8vLyBBZGRzIHRoZSBnZW5lcmFsIHN0eWxlcyBmb3IgdGhlIHNsaWRlciBoYW5kbGVzLlxuQG1peGluIHNsaWRlci1oYW5kbGUge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIEBpbmNsdWRlIHZlcnRpY2FsLWNlbnRlcjtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTtcblxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAkc2xpZGVyLWhhbmRsZS13aWR0aDtcbiAgaGVpZ2h0OiAkc2xpZGVyLWhhbmRsZS1oZWlnaHQ7XG5cbiAgYm9yZGVyLXJhZGl1czogJHNsaWRlci1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQ7XG4gIHRyYW5zaXRpb246ICRzbGlkZXItdHJhbnNpdGlvbjtcbiAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogc2NhbGUtY29sb3IoJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogLTE1JSk7XG4gIH1cblxuICAmLmlzLWRyYWdnaW5nIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMHMgbGluZWFyO1xuICB9XG59XG5cbkBtaXhpbiBzbGlkZXItZGlzYWJsZWQge1xuICBvcGFjaXR5OiAkc2xpZGVyLW9wYWNpdHktZGlzYWJsZWQ7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbkBtaXhpbiBzbGlkZXItdmVydGljYWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAkc2xpZGVyLXdpZHRoLXZlcnRpY2FsO1xuICBoZWlnaHQ6IDEyLjVyZW07XG4gIG1hcmdpbjogMCAxLjI1cmVtO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEsIC0xKTtcblxuICAuc2xpZGVyLWZpbGwge1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogJHNsaWRlci13aWR0aC12ZXJ0aWNhbDtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICB9XG5cbiAgLnNsaWRlci1oYW5kbGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogNTAlO1xuICAgIHdpZHRoOiAkc2xpZGVyLWhhbmRsZS1oZWlnaHQ7XG4gICAgaGVpZ2h0OiAkc2xpZGVyLWhhbmRsZS13aWR0aDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tc2xpZGVyIHtcbiAgLy8gQ29udGFpbmVyXG4gIC5zbGlkZXIge1xuICAgIEBpbmNsdWRlIHNsaWRlci1jb250YWluZXI7XG4gIH1cblxuICAvLyBGaWxsIGFyZWFcbiAgLnNsaWRlci1maWxsIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItZmlsbDtcbiAgfVxuXG4gIC8vIERyYWdnYWJsZSBoYW5kbGVcbiAgLnNsaWRlci1oYW5kbGUge1xuICAgIEBpbmNsdWRlIHNsaWRlci1oYW5kbGU7XG4gIH1cblxuICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAuc2xpZGVyLmRpc2FibGVkLFxuICAuc2xpZGVyW2Rpc2FibGVkXSB7XG4gICAgQGluY2x1ZGUgc2xpZGVyLWRpc2FibGVkO1xuICB9XG5cbiAgLy8gVmVydGljYWwgc2xpZGVyXG4gIC5zbGlkZXIudmVydGljYWwge1xuICAgIEBpbmNsdWRlIHNsaWRlci12ZXJ0aWNhbDtcbiAgfVxuXG4gIC8vIFJUTCBzdXBwb3J0XG4gIEBpZiAkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCB7XG4gICAgLnNsaWRlcjpub3QoLnZlcnRpY2FsKSB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKC0xLCAxKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHN3aXRjaFxuLy8vL1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhIHN3aXRjaC5cbi8vLyBAdHlwZSBDb2xvclxuJHN3aXRjaC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGFjdGl2ZSBjb2xvciBvZiBhIHN3aXRjaC5cbi8vLyBAdHlwZSBDb2xvclxuJHN3aXRjaC1iYWNrZ3JvdW5kLWFjdGl2ZTogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgb2YgYSBzd2l0Y2gsIHdpdGggbm8gY2xhc3MgYXBwbGllZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtaGVpZ2h0OiAycmVtICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG9mIGEgc3dpdGNoIHdpdGggLnRpbnkgY2xhc3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLWhlaWdodC10aW55OiAxLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgb2YgYSBzd2l0Y2ggd2l0aCAuc21hbGwgY2xhc3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLWhlaWdodC1zbWFsbDogMS43NXJlbSAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBvZiBhIHN3aXRjaCB3aXRoIC5sYXJnZSBjbGFzcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtaGVpZ2h0LWxhcmdlOiAyLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIG9mIHRoZSBzd2l0Y2hcbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIGJvcmRlciBhcm91bmQgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtbWFyZ2luOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRoZSBzd2l0Y2ggY29udGFpbmVyIGFuZCBwYWRkbGUuXG4vLy8gQHR5cGUgQ29sb3JcbiRzd2l0Y2gtcGFkZGxlLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiBhIHN3aXRjaCBwYWRkbGUgYW5kIHRoZSBlZGdlIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1wYWRkbGUtb2Zmc2V0OiAwLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gYm9yZGVyIHJhZGl1cyBvZiB0aGUgc3dpdGNoIHBhZGRsZVxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1wYWRkbGUtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIHN3aXRjaCB0cmFuc2l0aW9uLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0ICFkZWZhdWx0O1xuXG4vLyBtYWtlIHRoZW0gdmFyaWFibGVzXG4vLyBhc2sgYWJvdXQgYWNjZXNzaWJpbGl0eSBvbiBsYWJlbFxuLy8gY2hhbmdlIGNsYXNzIG5hbWUgZm9yIHRleHRcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHN3aXRjaCBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gYSBjb250YWluZXIgY2xhc3MuXG5AbWl4aW4gc3dpdGNoLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogJHN3aXRjaC1tYXJnaW47XG4gIG91dGxpbmU6IDA7XG5cbiAgLy8gVGhlc2UgcHJvcGVydGllcyBjYXNjYWRlIGRvd24gdG8gdGhlIHN3aXRjaCB0ZXh0XG4gIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICR3aGl0ZTtcblxuICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHN3aXRjaCBpbnB1dC4gQXBwbHkgdGhpcyB0byBhbiBgPGlucHV0PmAgd2l0aGluIGEgc3dpdGNoLlxuQG1peGluIHN3aXRjaC1pbnB1dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgb3BhY2l0eTogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgYmFja2dyb3VuZCBhbmQgcGFkZGxlIG9mIGEgc3dpdGNoLiBBcHBseSB0aGlzIHRvIGEgYDxsYWJlbD5gIHdpdGhpbiBhIHN3aXRjaC5cbkBtaXhpbiBzd2l0Y2gtcGFkZGxlIHtcbiAgJHN3aXRjaC13aWR0aDogJHN3aXRjaC1oZWlnaHQgKiAyO1xuICAkcGFkZGxlLWhlaWdodDogJHN3aXRjaC1oZWlnaHQgLSAoJHN3aXRjaC1wYWRkbGUtb2Zmc2V0ICogMik7XG4gICRwYWRkbGUtd2lkdGg6ICRzd2l0Y2gtaGVpZ2h0IC0gKCRzd2l0Y2gtcGFkZGxlLW9mZnNldCAqIDIpO1xuICAkcGFkZGxlLWFjdGl2ZS1vZmZlc3Q6ICRzd2l0Y2gtd2lkdGggLSAkcGFkZGxlLXdpZHRoIC0gJHN3aXRjaC1wYWRkbGUtb2Zmc2V0O1xuXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAkc3dpdGNoLXdpZHRoO1xuICBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0O1xuXG4gIGJvcmRlci1yYWRpdXM6ICRzd2l0Y2gtcmFkaXVzO1xuICBiYWNrZ3JvdW5kOiAkc3dpdGNoLWJhY2tncm91bmQ7XG4gIHRyYW5zaXRpb246ICRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb247XG5cbiAgLy8gUmVzZXR0aW5nIHRoZXNlIDxsYWJlbD4gcHJlc2V0cyBzbyB0eXBlIHN0eWxlcyBjYXNjYWRlIGRvd25cbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gIGNvbG9yOiBpbmhlcml0O1xuXG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAvLyBOZWVkZWQgdG8gb3ZlcnJpZGUgc3BlY2lmaWNpdHlcbiAgaW5wdXQgKyAmIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAvLyBUaGUgcGFkZGxlIGl0c2VsZlxuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogJHN3aXRjaC1wYWRkbGUtb2Zmc2V0O1xuICAgICN7JGdsb2JhbC1sZWZ0fTogJHN3aXRjaC1wYWRkbGUtb2Zmc2V0O1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6ICRwYWRkbGUtd2lkdGg7XG4gICAgaGVpZ2h0OiAkcGFkZGxlLWhlaWdodDtcblxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgYm9yZGVyLXJhZGl1czogJHN3aXRjaC1wYWRkbGUtcmFkaXVzO1xuICAgIGJhY2tncm91bmQ6ICRzd2l0Y2gtcGFkZGxlLWJhY2tncm91bmQ7XG4gICAgdHJhbnNpdGlvbjogJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbjtcbiAgICBjb250ZW50OiAnJztcbiAgfVxuXG4gIC8vIENoYW5nZSB0aGUgdmlzdWFsIHN0eWxlIHdoZW4gdGhlIHN3aXRjaCBpcyBhY3RpdmVcbiAgaW5wdXQ6Y2hlY2tlZCB+ICYge1xuICAgIGJhY2tncm91bmQ6ICRzd2l0Y2gtYmFja2dyb3VuZC1hY3RpdmU7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICAjeyRnbG9iYWwtbGVmdH06ICRwYWRkbGUtYWN0aXZlLW9mZmVzdDtcbiAgICB9XG4gIH1cblxuICBpbnB1dDpmb2N1cyB+ICYge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgfVxufVxuXG4vLy8gQWRkcyBiYXNlIHN0eWxlcyBmb3IgYWN0aXZlL2luYWN0aXZlIHRleHQgaW5zaWRlIGEgc3dpdGNoLiBBcHBseSB0aGlzIHRvIHRleHQgZWxlbWVudHMgaW5zaWRlIHRoZSBzd2l0Y2ggYDxsYWJlbD5gLlxuQG1peGluIHN3aXRjaC10ZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBhY3RpdmUgc3RhdGUgdGV4dCB3aXRoaW4gYSBzd2l0Y2guXG5AbWl4aW4gc3dpdGNoLXRleHQtYWN0aXZlIHtcbiAgI3skZ2xvYmFsLWxlZnR9OiA4JTtcbiAgZGlzcGxheTogbm9uZTtcblxuICBpbnB1dDpjaGVja2VkICsgbGFiZWwgPiAmIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBpbmFjdGl2ZSBzdGF0ZSB0ZXh0IHdpdGhpbiBhIHN3aXRjaC5cbkBtaXhpbiBzd2l0Y2gtdGV4dC1pbmFjdGl2ZSB7XG4gICN7JGdsb2JhbC1yaWdodH06IDE1JTtcblxuICBpbnB1dDpjaGVja2VkICsgbGFiZWwgPiAmIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi8vLyBDaGFuZ2VzIHRoZSBzaXplIG9mIGEgc3dpdGNoIGJ5IG1vZGlmeWluZyB0aGUgc2l6ZSBvZiB0aGUgYm9keSBhbmQgcGFkZGxlLiBBcHBseSB0aGlzIHRvIGEgc3dpdGNoIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGZvbnQtc2l6ZSBbMXJlbV0gLSBGb250IHNpemUgb2YgbGFiZWwgdGV4dCB3aXRoaW4gdGhlIHN3aXRjaC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHN3aXRjaC1oZWlnaHQgWzJyZW1dIC0gSGVpZ2h0IG9mIHRoZSBzd2l0Y2ggYm9keS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHBhZGRsZS1vZmZzZXQgWzAuMjVyZW1dIC0gU3BhY2luZyBiZXR3ZWVuIHRoZSBzd2l0Y2ggcGFkZGxlIGFuZCB0aGUgZWRnZSBvZiB0aGUgc3dpdGNoIGJvZHkuXG5AbWl4aW4gc3dpdGNoLXNpemUoXG4gICRmb250LXNpemU6IDFyZW0sXG4gICRzd2l0Y2gtaGVpZ2h0OiAycmVtLFxuICAkcGFkZGxlLW9mZnNldDogMC4yNXJlbVxuKSB7XG5cbiAgJHN3aXRjaC13aWR0aDogJHN3aXRjaC1oZWlnaHQgKiAyO1xuICAkcGFkZGxlLXdpZHRoOiAkc3dpdGNoLWhlaWdodCAtICgkcGFkZGxlLW9mZnNldCAqIDIpO1xuICAkcGFkZGxlLWhlaWdodDogJHN3aXRjaC1oZWlnaHQgLSAoJHBhZGRsZS1vZmZzZXQgKiAyKTtcbiAgJHBhZGRsZS1hY3RpdmUtb2ZmZXN0OiAkc3dpdGNoLXdpZHRoIC0gJHBhZGRsZS13aWR0aCAtICRwYWRkbGUtb2Zmc2V0O1xuXG4gIGhlaWdodDogJHN3aXRjaC1oZWlnaHQ7XG5cbiAgLnN3aXRjaC1wYWRkbGUge1xuICAgIHdpZHRoOiAkc3dpdGNoLXdpZHRoO1xuICAgIGhlaWdodDogJHN3aXRjaC1oZWlnaHQ7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICB9XG5cbiAgLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICB0b3A6ICRwYWRkbGUtb2Zmc2V0O1xuICAgICN7JGdsb2JhbC1sZWZ0fTogJHBhZGRsZS1vZmZzZXQ7XG4gICAgd2lkdGg6ICRwYWRkbGUtd2lkdGg7XG4gICAgaGVpZ2h0OiAkcGFkZGxlLWhlaWdodDtcbiAgfVxuXG4gIGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgICN7JGdsb2JhbC1sZWZ0fTogJHBhZGRsZS1hY3RpdmUtb2ZmZXN0O1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXN3aXRjaCB7XG4gIC8vIENvbnRhaW5lciBjbGFzc1xuICAuc3dpdGNoIHtcbiAgICBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0O1xuICAgIEBpbmNsdWRlIHN3aXRjaC1jb250YWluZXI7XG4gIH1cblxuICAvLyA8aW5wdXQ+IGVsZW1lbnRcbiAgLnN3aXRjaC1pbnB1dCB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLWlucHV0O1xuICB9XG5cbiAgLy8gPGxhYmVsPiBlbGVtZW50XG4gIC5zd2l0Y2gtcGFkZGxlIHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtcGFkZGxlO1xuICB9XG5cbiAgLy8gQmFzZSBsYWJlbCB0ZXh0IHN0eWxlc1xuICAlc3dpdGNoLXRleHQge1xuICAgIEBpbmNsdWRlIHN3aXRjaC10ZXh0O1xuICB9XG5cbiAgLy8gQWN0aXZlIGxhYmVsIHRleHQgc3R5bGVzXG4gIC5zd2l0Y2gtYWN0aXZlIHtcbiAgICBAZXh0ZW5kICVzd2l0Y2gtdGV4dDtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtdGV4dC1hY3RpdmU7XG4gIH1cblxuICAvLyBJbmFjdGl2ZSBsYWJlbCB0ZXh0IHN0eWxlc1xuICAuc3dpdGNoLWluYWN0aXZlIHtcbiAgICBAZXh0ZW5kICVzd2l0Y2gtdGV4dDtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtdGV4dC1pbmFjdGl2ZTtcbiAgfVxuXG4gIC8vIFN3aXRjaCBzaXplc1xuICAuc3dpdGNoLnRpbnkge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1zaXplKHJlbS1jYWxjKDEwKSwgJHN3aXRjaC1oZWlnaHQtdGlueSwgJHN3aXRjaC1wYWRkbGUtb2Zmc2V0KTtcbiAgfVxuXG4gIC5zd2l0Y2guc21hbGwge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1zaXplKHJlbS1jYWxjKDEyKSwgJHN3aXRjaC1oZWlnaHQtc21hbGwsICRzd2l0Y2gtcGFkZGxlLW9mZnNldCk7XG4gIH1cblxuICAuc3dpdGNoLmxhcmdlIHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtc2l6ZShyZW0tY2FsYygxNiksICRzd2l0Y2gtaGVpZ2h0LWxhcmdlLCAkc3dpdGNoLXBhZGRsZS1vZmZzZXQpO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8gc2Fzcy1saW50OmRpc2FibGUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuXG4vLy8vXG4vLy8gQGdyb3VwIHRhYmxlXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciB0YWJsZSBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtYmFja2dyb3VuZDogJHdoaXRlICAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc2NhbGUgZm9yIGRhcmtlbmluZyB0aGUgc3RyaXBlZCB0YWJsZSByb3dzIGFuZCB0aGUgdGFibGUgYm9yZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYmxlLWNvbG9yLXNjYWxlOiA1JSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc3R5bGUgZm9yIHRhYmxlIGJvcmRlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtYm9yZGVyOiAxcHggc29saWQgc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIHRhYmxlLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYmxlLXBhZGRpbmc6IHJlbS1jYWxjKDggMTAgMTApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzY2FsZSBmb3IgZGFya2VuaW5nIHRoZSB0YWJsZSByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYmxlLWhvdmVyLXNjYWxlOiAyJSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2Ygc3RhbmRhcmQgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHN0cmlwZWQgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtcm93LXN0cmlwZS1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgKyAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCB0YWJsZXMgYXJlIHN0cmlwZWQgYnkgZGVmYXVsdCBhbmQgYW4gLnVuc3RyaXBlZCBjbGFzcyBpcyBjcmVhdGVkLiBJZiBgZmFsc2VgLCBhIC5zdHJpcGVkIGNsYXNzIGlzIGNyZWF0ZWQuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHRhYmxlLWlzLXN0cmlwZWQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIHN0cmlwZWQgcm93cy5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBzaG93aW5nIHRoZSBzdHJpcGUgb24gcm93cyBvZiB0aGUgdGFibGVzLCBleGNsdWRpbmcgdGhlIGhlYWRlciBhbmQgZm9vdGVyLiBJZiBldmVuLCB0aGUgZXZlbiByb3dzIHdpbGwgaGF2ZSBhIGJhY2tncm91bmQgY29sb3IuIElmIG9kZCwgdGhlIG9kZCByb3dzIHdpbGwgaGF2ZSBhIGJhY2tncm91bmQgY29sb3IuIElmIGVtcHR5LCBvciBhbnkgb3RoZXIgdmFsdWUsIHRoZSB0YWJsZSByb3dzIHdpbGwgaGF2ZSBubyBzdHJpcGluZy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kdGFibGUtc3RyaXBlOiBldmVuICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgaGVhZGVyIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1oZWFkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgLyAyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgaGVhZGVyIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLWhlYWQtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWhlYWQtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGZvb3RlciBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtZm9vdC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgZm9vdGVyIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLWZvb3Qtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWZvb3QtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgaGVhZGVyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtaGVhZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBmb290ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1mb290LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBzaG93aW5nIHRoZSBoZWFkZXIgd2hlbiB1c2luZyBzdGFja2VkIHRhYmxlcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQ6IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gQnJlYWtwb2ludCBhdCB3aGljaCBzdGFja2VkIHRhYmxlIHN3aXRjaGVzIGZyb20gbW9iaWxlIHRvIGRlc2t0b3Agdmlldy5cbi8vLyBAdHlwZSBCcmVha3BvaW50XG4kdGFibGUtc3RhY2stYnJlYWtwb2ludDogbWVkaXVtICFkZWZhdWx0O1xuXG5AbWl4aW4gLXpmLXRhYmxlLXN0cmlwZSgkc3RyaXBlOiAkdGFibGUtc3RyaXBlKSB7XG4gIHRyIHtcbiAgICAvLyBJZiBzdHJpcGUgaXMgc2V0IHRvIGV2ZW4sIGRhcmtlbiB0aGUgZXZlbiByb3dzLlxuICAgIEBpZiAkc3RyaXBlID09IGV2ZW4ge1xuICAgICAgJjpudGgtY2hpbGQoZXZlbikge1xuICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIElmIHN0cmlwZSBpcyBzZXQgdG8gb2RkLCBkYXJrZW4gdGhlIG9kZCByb3dzLlxuICAgIEBlbHNlIGlmICRzdHJpcGUgPT0gb2RkIHtcbiAgICAgICY6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gLXpmLXRhYmxlLXVuc3RyaXBlKCkge1xuICB0ciB7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICBib3JkZXItYm90dG9tOiAkdGFibGUtYm9yZGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1iYWNrZ3JvdW5kO1xuICB9XG59XG5cbkBtaXhpbiAtemYtdGFibGUtY2hpbGRyZW4tc3R5bGVzKCRzdHJpcGU6ICR0YWJsZS1zdHJpcGUsICRpcy1zdHJpcGVkOiAkdGFibGUtaXMtc3RyaXBlZCkge1xuICB0aGVhZCxcbiAgdGJvZHksXG4gIHRmb290IHtcbiAgICBib3JkZXI6ICR0YWJsZS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJhY2tncm91bmQ7XG4gIH1cblxuICAvLyBDYXB0aW9uXG4gIGNhcHRpb24ge1xuICAgIHBhZGRpbmc6ICR0YWJsZS1wYWRkaW5nO1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICB9XG5cbiAgLy8gVGFibGUgaGVhZFxuICB0aGVhZCB7XG4gICAgYmFja2dyb3VuZDogJHRhYmxlLWhlYWQtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHRhYmxlLWhlYWQtZm9udC1jb2xvcjtcbiAgfVxuXG4gIC8vIFRhYmxlIGZvb3RcbiAgdGZvb3Qge1xuICAgIGJhY2tncm91bmQ6ICR0YWJsZS1mb290LWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICR0YWJsZS1mb290LWZvbnQtY29sb3I7XG4gIH1cblxuICAvLyBUYWJsZSBoZWFkIGFuZCBmb290XG4gIHRoZWFkLFxuICB0Zm9vdCB7XG4gICAgLy8gUm93cyB3aXRoaW4gaGVhZCBhbmQgZm9vdFxuICAgIHRyIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIC8vIENlbGxzIHdpdGhpbiBoZWFkIGFuZCBmb290XG4gICAgdGgsXG4gICAgdGQge1xuICAgICAgcGFkZGluZzogJHRhYmxlLXBhZGRpbmc7XG4gICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICAgIHRleHQtYWxpZ246ICN7JGdsb2JhbC1sZWZ0fTtcbiAgICB9XG4gIH1cblxuICAvLyBUYWJsZSByb3dzXG4gIHRib2R5IHtcbiAgICB0aCxcbiAgICB0ZCB7XG4gICAgICBwYWRkaW5nOiAkdGFibGUtcGFkZGluZztcbiAgICB9XG4gIH1cblxuICAvLyBJZiB0YWJsZXMgYXJlIHN0cmlwZWRcbiAgQGlmICRpcy1zdHJpcGVkID09IHRydWUge1xuICAgIHRib2R5IHtcbiAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS1zdHJpcGUoJHN0cmlwZSk7XG4gICAgfVxuXG4gICAgJi51bnN0cmlwZWQge1xuICAgICAgdGJvZHkge1xuICAgICAgICBAaW5jbHVkZSAtemYtdGFibGUtdW5zdHJpcGUoKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gSWYgdGFibGVzIGFyZSBub3Qgc3RyaXBlZFxuICBAZWxzZSBpZiAkaXMtc3RyaXBlZCA9PSBmYWxzZSB7XG4gICAgdGJvZHkge1xuICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXVuc3RyaXBlKCk7XG4gICAgfVxuXG4gICAgJi5zdHJpcGVkIHtcbiAgICAgIHRib2R5IHtcbiAgICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXN0cmlwZSgkc3RyaXBlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgdGhlIGdlbmVyYWwgc3R5bGVzIGZvciB0YWJsZXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RyaXBlIFskdGFibGUtc3RyaXBlXSAtIFVzZXMga2V5d29yZHMgZXZlbiwgb2RkLCBvciBub25lIHRvIGRhcmtlbiByb3dzIG9mIHRoZSB0YWJsZS4gVGhlIGRlZmF1bHQgdmFsdWUgaXMgZXZlbi5cbkBtaXhpbiB0YWJsZShcbiAgJHN0cmlwZTogJHRhYmxlLXN0cmlwZSxcbiAgJG5lc3Q6IGZhbHNlXG4pIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuICBAaWYgJG5lc3Qge1xuICAgIEBpbmNsdWRlIC16Zi10YWJsZS1jaGlsZHJlbi1zdHlsZXMoJHN0cmlwZSk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBhdC1yb290IHtcbiAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS1jaGlsZHJlbi1zdHlsZXMoJHN0cmlwZSk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHRoZSBhYmlsaXR5IHRvIGhvcml6b250YWxseSBzY3JvbGwgdGhlIHRhYmxlIHdoZW4gdGhlIGNvbnRlbnQgb3ZlcmZsb3dzIGhvcml6b250YWxseS5cbkBtaXhpbiB0YWJsZS1zY3JvbGwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXg6IGF1dG87XG59XG5cbi8vLyBTbGlnaHRseSBkYXJrZW5zIHRoZSB0YWJsZSByb3dzIG9uIGhvdmVyLlxuQG1peGluIHRhYmxlLWhvdmVyIHtcbiAgdGhlYWQgdHIge1xuICAgIC8vRGFya2VucyB0aGUgdGFibGUgaGVhZGVyIHJvd3Mgb24gaG92ZXIuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtaGVhZC1yb3ctaG92ZXI7XG4gICAgfVxuICB9XG5cbiAgdGZvb3QgdHIge1xuICAgIC8vRGFya2VucyB0aGUgdGFibGUgZm9vdGVyIHJvd3Mgb24gaG92ZXIuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtZm9vdC1yb3ctaG92ZXI7XG4gICAgfVxuICB9XG5cbiAgdGJvZHkgdHIge1xuICAgIC8vRGFya2VucyB0aGUgbm9uLXN0cmlwZWQgdGFibGUgcm93cyBvbiBob3Zlci5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctaG92ZXI7XG4gICAgfVxuICB9XG5cbiAgQGlmICR0YWJsZS1pcy1zdHJpcGVkID09IHRydWUge1xuICAgIC8vIERhcmtlbnMgdGhlIGV2ZW4gc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBpZigkdGFibGUtc3RyaXBlID09IGV2ZW4pIHtcbiAgICAgICY6bm90KC51bnN0cmlwZWQpIHRyOm50aC1vZi10eXBlKGV2ZW4pOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGFya2VucyB0aGUgb2RkIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAZWxzZSBpZigkdGFibGUtc3RyaXBlID09IG9kZCkge1xuICAgICAgJjpub3QoLnVuc3RyaXBlZCkgdHI6bnRoLW9mLXR5cGUob2RkKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBlbHNlIGlmICR0YWJsZS1pcy1zdHJpcGVkID09IGZhbHNlIHtcbiAgICAvLyBEYXJrZW5zIHRoZSBldmVuIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAaWYoJHRhYmxlLXN0cmlwZSA9PSBldmVuKSB7XG4gICAgICAmLnN0cmlwZWQgdHI6bnRoLW9mLXR5cGUoZXZlbik6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEYXJrZW5zIHRoZSBvZGQgc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBlbHNlIGlmKCR0YWJsZS1zdHJpcGUgPT0gb2RkKSB7XG4gICAgICAmLnN0cmlwZWQgdHI6bnRoLW9mLXR5cGUob2RkKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc3RhY2tlZCB0YWJsZS4gVXNlZnVsIGZvciBzbWFsbC1zY3JlZW4gbGF5b3V0cy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRoZWFkZXIgWyRzaG93LWhlYWRlci1mb3Itc3RhY2tlZF0gLSBTaG93IHRoZSBmaXJzdCB0aCBvZiBoZWFkZXIgd2hlbiBzdGFja2VkLlxuQG1peGluIHRhYmxlLXN0YWNrKCRoZWFkZXI6ICRzaG93LWhlYWRlci1mb3Itc3RhY2tlZCkge1xuICBAaWYgJGhlYWRlciB7XG4gICAgdGhlYWQge1xuICAgICAgdGgge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIHRoZWFkIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgdGZvb3Qge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICB0cixcbiAgdGgsXG4gIHRkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIHRkIHtcbiAgICBib3JkZXItdG9wOiAwO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRhYmxlKCRuZXN0OiBmYWxzZSkge1xuICB0YWJsZSB7XG4gICAgQGluY2x1ZGUgdGFibGUoJG5lc3Q6ICRuZXN0KTtcbiAgfVxuXG4gIHRhYmxlLnN0YWNrIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZS1zdGFjay1icmVha3BvaW50IGRvd24pIHtcbiAgICAgIEBpbmNsdWRlIHRhYmxlLXN0YWNrO1xuICAgIH1cbiAgfVxuXG4gIHRhYmxlLnNjcm9sbCB7XG4gICAgQGluY2x1ZGUgdGFibGUtc2Nyb2xsO1xuICB9XG5cbiAgdGFibGUuaG92ZXIge1xuICAgIEBpbmNsdWRlIHRhYmxlLWhvdmVyO1xuICB9XG5cbiAgLnRhYmxlLXNjcm9sbCB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcblxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBiYWRnZVxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBiYWRnZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRiYWRnZS1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBmb3IgYmFkZ2VzLlxuLy8vIEB0eXBlIENvbG9yXG4kYmFkZ2UtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEFsdGVybmF0ZSB0ZXh0IGNvbG9yIGZvciBiYWRnZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRiYWRnZS1jb2xvci1hbHQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIENvbG9yaW5nIGNsYXNzZXMuIEEgbWFwIG9mIGNsYXNzZXMgdG8gb3V0cHV0IGluIHlvdXIgQ1NTLCBsaWtlIGAuc2Vjb25kYXJ5YCwgYC5zdWNjZXNzYCwgYW5kIHNvIG9uLlxuLy8vIEB0eXBlIE1hcFxuJGJhZGdlLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGJhZGdlcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRiYWRnZS1wYWRkaW5nOiAwLjNlbSAhZGVmYXVsdDtcblxuLy8vIE1pbmltdW0gd2lkdGggb2YgYSBiYWRnZS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRiYWRnZS1taW53aWR0aDogMi4xZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgYmFkZ2VzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJhZGdlLWZvbnQtc2l6ZTogMC42cmVtICFkZWZhdWx0O1xuXG4vLy8gR2VuZXJhdGVzIHRoZSBiYXNlIHN0eWxlcyBmb3IgYSBiYWRnZS5cbkBtaXhpbiBiYWRnZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWluLXdpZHRoOiAkYmFkZ2UtbWlud2lkdGg7XG4gIHBhZGRpbmc6ICRiYWRnZS1wYWRkaW5nO1xuXG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcblxuICBmb250LXNpemU6ICRiYWRnZS1mb250LXNpemU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tYmFkZ2Uge1xuICAuYmFkZ2Uge1xuICAgIEBpbmNsdWRlIGJhZGdlO1xuXG4gICAgYmFja2dyb3VuZDogJGJhZGdlLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRiYWRnZS1jb2xvcjtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJhZGdlLXBhbGV0dGUge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICAgICAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGNvbG9yLCAoJGJhZGdlLWNvbG9yLCAkYmFkZ2UtY29sb3ItYWx0KSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBicmVhZGNydW1ic1xuLy8vL1xuXG4vLy8gTWFyZ2luIGFyb3VuZCBhIGJyZWFkY3J1bWJzIGNvbnRhaW5lci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRicmVhZGNydW1icy1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIGJyZWFkY3J1bWIgbGlua3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnJlYWRjcnVtYnMtaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDExKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGJyZWFkY3J1bWIgbGlua3MuXG4vLy8gQHR5cGUgQ29sb3JcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRoZSBhY3RpdmUgYnJlYWRjcnVtYiBsaW5rLlxuLy8vIEB0eXBlIENvbG9yXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1jdXJyZW50OiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBPcGFjaXR5IG9mIGRpc2FibGVkIGJyZWFkY3J1bWIgbGlua3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gTWFyZ2luIGJldHdlZW4gYnJlYWRjcnVtYiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRicmVhZGNydW1icy1pdGVtLW1hcmdpbjogMC43NXJlbSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgbWFrZXMgYnJlYWRjcnVtYiBsaW5rcyB1cHBlcmNhc2UuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJyZWFkY3J1bWJzLWl0ZW0tdXBwZXJjYXNlOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBhZGRzIGEgc2VwZXJhdG9yIGJldHdlZW4gYnJlYWRjcnVtYiBsaW5rcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3I6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIElmIGl0IGV4aXN0cyAkYnJlYWRjcnVtYnMtaXRlbS1zbGFzaCBpcyB1c2VkIHRvIGJ1aWxkICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci4gU2VlIHRoZSBkb2N1bWVudGF0aW9uLlxuQGlmIHZhcmlhYmxlLWV4aXN0cyhicmVhZGNydW1icy1pdGVtLXNsYXNoKSB7XG4gICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvcjogJGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2g7XG59XG5cbi8vLyBVc2VkIGNoYXJhY3RlciBmb3IgdGhlIGJyZWFkY3J1bWIgc2VwYXJhdG9yLlxuLy8vIEB0eXBlIENvbnRlbnRcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtOiAnLycgIWRlZmF1bHQ7XG5cbi8vLyBVc2VkIGNoYXJhY3RlciBmb3IgdGhlIGJyZWFkY3J1bWIgc2VwYXJhdG9yIGluIHJ0bCBtb2RlLlxuLy8vIEB0eXBlIENvbnRlbnRcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtLXJ0bDogJ1xcXFwnICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgYnJlYWRjcnVtYiBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItY29sb3I6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8gSWYgaXQgZXhpc3RzICRicmVhZGNydW1icy1pdGVtLXNsYXNoLWNvbG9yIGlzIHVzZWQgdG8gYnVpbGQgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yLiBTZWUgdGhlIGRvY3VtZW50YXRpb24uXG5AaWYgdmFyaWFibGUtZXhpc3RzKGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2gtY29sb3IpIHtcbiAgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1zbGFzaC1jb2xvcjtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGJyZWFkY3J1bWJzIGNvbnRhaW5lciwgYWxvbmcgd2l0aCB0aGUgc3R5bGVzIGZvciB0aGUgYDxsaT5gIGFuZCBgPGE+YCBlbGVtZW50cyBpbnNpZGUgb2YgaXQuXG5AbWl4aW4gYnJlYWRjcnVtYnMtY29udGFpbmVyIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbjogJGJyZWFkY3J1bWJzLW1hcmdpbjtcbiAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAvLyBJdGVtIHdyYXBwZXJcbiAgbGkge1xuICAgIGZsb2F0OiAjeyRnbG9iYWwtbGVmdH07XG5cbiAgICBmb250LXNpemU6ICRicmVhZGNydW1icy1pdGVtLWZvbnQtc2l6ZTtcbiAgICBjb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItY3VycmVudDtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG5cbiAgICBAaWYgJGJyZWFkY3J1bWJzLWl0ZW0tdXBwZXJjYXNlIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuXG4gICAgQGlmICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvciB7XG4gICAgICAvLyBOZWVkIHRvIGVzY2FwZSB0aGUgYmFja3NsYXNoXG4gICAgICAkc2VwYXJhdG9yOiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09ICdsdHInLCAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbSwgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW0tcnRsKTtcblxuICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBtYXJnaW46IDAgJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luO1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgY29udGVudDogJHNlcGFyYXRvcjtcbiAgICAgICAgICBjb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW47XG4gICAgfVxuICB9XG5cbiAgLy8gUGFnZSBsaW5rc1xuICBhIHtcbiAgICBjb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3I7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1icmVhZGNydW1icyB7XG4gIC5icmVhZGNydW1icyB7XG4gICAgQGluY2x1ZGUgYnJlYWRjcnVtYnMtY29udGFpbmVyO1xuXG4gICAgLmRpc2FibGVkIHtcbiAgICAgIGNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1kaXNhYmxlZDtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBjYWxsb3V0XG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZmFkZSB2YWx1ZSBmb3IgY2FsbG91dCBiYWNrZ3JvdW5kcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjYWxsb3V0LWJhY2tncm91bmQtZmFkZTogODUlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgc3R5bGUgZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIExpc3RcbiRjYWxsb3V0LWJvcmRlcjogMXB4IHNvbGlkIHJnYmEoJGJsYWNrLCAwLjI1KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2FsbG91dC1tYXJnaW46IDAgMCAxcmVtIDAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGlubmVyIHBhZGRpbmcgZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGNhbGxvdXQtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGNhbGxvdXRzLCBpZiB0aGUgY2FsbG91dCBoYXMgYSBkYXJrIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LWZvbnQtY29sb3ItYWx0OiAkYm9keS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgcmFkaXVzIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEFtb3VudCB0byB0aW50IGxpbmtzIHVzZWQgd2l0aGluIGNvbG9yZWQgcGFuZWxzLiBTZXQgdG8gYGZhbHNlYCB0byBkaXNhYmxlIHRoaXMgZmVhdHVyZS5cbi8vLyBAdHlwZSBOdW1iZXIgfCBCb29sZWFuXG4kY2FsbG91dC1saW5rLXRpbnQ6IDMwJSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgYmFzaWMgc3R5bGVzIGZvciBhIGNhbGxvdXQsIGluY2x1ZGluZyBwYWRkaW5nIGFuZCBtYXJnaW4uXG5AbWl4aW4gY2FsbG91dC1iYXNlKCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogJGNhbGxvdXQtbWFyZ2luO1xuICBwYWRkaW5nOiAkY2FsbG91dC1wYWRkaW5nO1xuXG4gIGJvcmRlcjogJGNhbGxvdXQtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkY2FsbG91dC1yYWRpdXM7XG5cbiAgLy8gUmVzcGVjdCB0aGUgcGFkZGluZywgZm9vbC5cbiAgPiA6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cblxuICA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBHZW5lcmF0ZSBxdWljayBzdHlsZXMgZm9yIGEgY2FsbG91dCB1c2luZyBhIHNpbmdsZSBjb2xvciBhcyBhIGJhc2VsaW5lLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGNhbGxvdXQtYmFja2dyb3VuZF0gLSBDb2xvciB0byB1c2UuXG5AbWl4aW4gY2FsbG91dC1zdHlsZSgkY29sb3I6ICRjYWxsb3V0LWJhY2tncm91bmQpIHtcbiAgJGJhY2tncm91bmQ6IHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJGNhbGxvdXQtYmFja2dyb3VuZC1mYWRlKTtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGJhY2tncm91bmQsICgkY2FsbG91dC1mb250LWNvbG9yLCAkY2FsbG91dC1mb250LWNvbG9yLWFsdCkpO1xufVxuXG5AbWl4aW4gY2FsbG91dC1zaXplKCRwYWRkaW5nKSB7XG4gIHBhZGRpbmctdG9wOiAkcGFkZGluZztcbiAgcGFkZGluZy1yaWdodDogJHBhZGRpbmc7XG4gIHBhZGRpbmctYm90dG9tOiAkcGFkZGluZztcbiAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZztcbn1cblxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY2FsbG91dC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRjYWxsb3V0LWJhY2tncm91bmRdIC0gQ29sb3IgdG8gdXNlLlxuQG1peGluIGNhbGxvdXQoJGNvbG9yOiAkY2FsbG91dC1iYWNrZ3JvdW5kKSB7XG4gIEBpbmNsdWRlIGNhbGxvdXQtYmFzZTtcbiAgQGluY2x1ZGUgY2FsbG91dC1zdHlsZSgkY29sb3IpO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1jYWxsb3V0IHtcbiAgLmNhbGxvdXQge1xuICAgIEBpbmNsdWRlIGNhbGxvdXQ7XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRmb3VuZGF0aW9uLXBhbGV0dGUge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIEBpbmNsdWRlIGNhbGxvdXQtc3R5bGUoJGNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnNtYWxsIHtcbiAgICAgIEBpbmNsdWRlIGNhbGxvdXQtc2l6ZSgwLjVyZW0pO1xuICAgIH1cblxuICAgICYubGFyZ2Uge1xuICAgICAgQGluY2x1ZGUgY2FsbG91dC1zaXplKDNyZW0pO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgY2FyZFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FyZC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGNhcmRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FyZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FyZC1kaXZpZGVyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgc3R5bGUuXG4vLy8gQHR5cGUgTGlzdFxuJGNhcmQtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNhcmQgc2hhZG93LlxuLy8vIEB0eXBlIExpc3RcbiRjYXJkLXNoYWRvdzogbm9uZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIHJhZGl1cy5cbi8vLyBAdHlwZSBMaXN0XG4kY2FyZC1ib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjYXJkLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbi5cbi8vLyBAdHlwZSBudW1iZXJcbiRjYXJkLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY2FyZCBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBjYXJkLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIGZvbnQgY29sb3Igb2YgdGhlIGNhcmQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXJnaW4gLSBCb3R0b20gbWFyZ2luIG9mIHRoZSBjYXJkLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGJvcmRlciAtIEJvcmRlciBhcm91bmQgdGhlIGNhcmQuXG4vLy8gQHBhcmFtIHtMaXN0fSAkcmFkaXVzIC0gYm9yZGVyIHJhZGl1cyBvZiB0aGUgY2FyZC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRzaGFkb3cgLSBib3ggc2hhZG93IG9mIHRoZSBjYXJkLlxuQG1peGluIGNhcmQtY29udGFpbmVyKFxuICAkYmFja2dyb3VuZDogJGNhcmQtYmFja2dyb3VuZCxcbiAgJGNvbG9yOiAkY2FyZC1mb250LWNvbG9yLFxuICAkbWFyZ2luOiAkY2FyZC1tYXJnaW4tYm90dG9tLFxuICAkYm9yZGVyOiAkY2FyZC1ib3JkZXIsXG4gICRyYWRpdXM6ICRjYXJkLWJvcmRlci1yYWRpdXMsXG4gICRzaGFkb3c6ICRjYXJkLXNoYWRvd1xuKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBmbGV4LWdyb3c6IDE7XG4gIH1cblxuICBtYXJnaW4tYm90dG9tOiAkbWFyZ2luO1xuXG4gIGJvcmRlcjogJGJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcblxuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgYm94LXNoYWRvdzogJHNoYWRvdztcblxuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjb2xvcjogJGNvbG9yO1xuXG4gICYgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY2FyZCBkaXZpZGVyLlxuQG1peGluIGNhcmQtZGl2aWRlcihcbiAgJGJhY2tncm91bmQ6ICRjYXJkLWRpdmlkZXItYmFja2dyb3VuZCxcbiAgJHBhZGRpbmc6ICRjYXJkLXBhZGRpbmdcbikge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICB9XG5cbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuXG4gICYgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY2FyZCBzZWN0aW9uLlxuQG1peGluIGNhcmQtc2VjdGlvbihcbiAgJHBhZGRpbmc6ICRjYXJkLXBhZGRpbmdcbikge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4OiAxIDAgYXV0bztcbiAgfVxuXG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuXG4gICYgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1jYXJkIHtcbiAgLmNhcmQge1xuICAgIEBpbmNsdWRlIGNhcmQtY29udGFpbmVyO1xuICB9XG5cbiAgLmNhcmQtZGl2aWRlciB7XG4gICAgQGluY2x1ZGUgY2FyZC1kaXZpZGVyO1xuICB9XG5cbiAgLmNhcmQtc2VjdGlvbiB7XG4gICAgQGluY2x1ZGUgY2FyZC1zZWN0aW9uO1xuICB9XG5cbiAgLy8gRm9yIElFIDExIC0gRmxleGJ1Z1xuICAvLyBodHRwczovL2dpdGh1Yi5jb20vcGhpbGlwd2FsdG9uL2ZsZXhidWdzL2lzc3Vlcy83NVxuICAuY2FyZC1pbWFnZSB7XG4gICAgbWluLWhlaWdodDogMXB4O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBkcm9wZG93blxuLy8vL1xuXG4vLy8gUGFkZGluZyBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTGlzdFxuJGRyb3Bkb3duLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3duLWJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bi1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bi1mb250LXNpemU6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBXaWR0aCBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd24td2lkdGg6IDMwMHB4ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gU2l6ZXMgZm9yIGRyb3Bkb3duIHBhbmVzLiBFYWNoIHNpemUgaXMgYSBDU1MgY2xhc3MgeW91IGNhbiBhcHBseS5cbi8vLyBAdHlwZSBNYXBcbiRkcm9wZG93bi1zaXplczogKFxuICB0aW55OiAxMDBweCxcbiAgc21hbGw6IDIwMHB4LFxuICBsYXJnZTogNDAwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gQXBwbGllcyBzdHlsZXMgZm9yIGEgYmFzaWMgZHJvcGRvd24uXG5AbWl4aW4gZHJvcGRvd24tY29udGFpbmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMDtcblxuICBkaXNwbGF5OiBub25lO1xuXG4gIHdpZHRoOiAkZHJvcGRvd24td2lkdGg7XG4gIHBhZGRpbmc6ICRkcm9wZG93bi1wYWRkaW5nO1xuXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYm9yZGVyOiAkZHJvcGRvd24tYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkZHJvcGRvd24tcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZHJvcGRvd24tYmFja2dyb3VuZDtcblxuICBmb250LXNpemU6ICRkcm9wZG93bi1mb250LXNpemU7XG5cblxuICAvLyBBbGxvdyBhbiBpbnRlcm1pdHRlbnQgc3RhdGUgdG8gZG8gcG9zaXRpb25pbmcgYmVmb3JlIG1ha2luZyB2aXNpYmxlLlxuICAmLmlzLW9wZW5pbmcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgJi5pcy1vcGVuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWRyb3Bkb3duIHtcbiAgLmRyb3Bkb3duLXBhbmUge1xuICAgIEBpbmNsdWRlIGRyb3Bkb3duLWNvbnRhaW5lcjtcbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkZHJvcGRvd24tc2l6ZXMge1xuICAgIC5kcm9wZG93bi1wYW5lIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICB3aWR0aDogJHNpemU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwYWdpbmF0aW9uXG4vLy8vXG5cbi8vLyBGb250IHNpemUgb2YgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luIG9mIHRoZSBwYWdpbmF0aW9uIG9iamVjdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBvZiBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nOiByZW0tY2FsYygzIDEwKSAhZGVmYXVsdDtcblxuLy8vIFJpZ2h0IG1hcmdpbiB0byBzZXBhcmF0ZSBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24taXRlbS1zcGFjaW5nOiByZW0tY2FsYygxKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgcGFnaW5hdGlvbiBpdGVtcyBvbiBob3Zlci5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgcGFnaW5hdGlvbiBpdGVtIGZvciB0aGUgY3VycmVudCBwYWdlLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtY3VycmVudDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIHRoZSBwYWdpbmF0aW9uIGl0ZW0gZm9yIHRoZSBjdXJyZW50IHBhZ2UuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItY3VycmVudDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBhIGRpc2FibGVkIHBhZ2luYXRpb24gaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgdGhlIGVsbGlwc2lzIGluIGEgcGFnaW5hdGlvbiBtZW51LlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1lbGxpcHNpcy1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gSWYgYGZhbHNlYCwgZG9uJ3QgZGlzcGxheSBwYWdlIG51bWJlciBsaW5rcyBvbiBtb2JpbGUsIG9ubHkgbmV4dC9wcmV2aW91cyBsaW5rc1xuLy8vIGFuZCBvcHRpb25hbGx5IGN1cnJlbnQgcGFnZSBudW1iZXIuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgZGlzcGxheSB0aGUgY3VycmVudCBwYWdlIG51bWJlciBvbiBtb2JpbGUgZXZlbiBpZiBgJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zYCBpcyBzZXQgdG8gYGZhbHNlYC5cbi8vLyBUaGlzIHBhcmFtZXRlciB3aWxsIG9ubHkgb3ZlcnJpZGUgdGhlIHZpc2liaWxpdHkgc2V0dGluZyBvZiB0aGUgY3VycmVudCBpdGVtIGZvciBgJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zOiBmYWxzZTtgLFxuLy8vIGl0IHdpbGwgbm90IGFmZmVjdCB0aGUgY3VycmVudCBwYWdlIG51bWJlciB2aXNpYmlsaXR5IHdoZW4gYCRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtc2AgaXMgc2V0IHRvIGB0cnVlYC5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcGFnaW5hdGlvbi1tb2JpbGUtY3VycmVudC1pdGVtOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgYXJyb3dzIGFyZSBhZGRlZCB0byB0aGUgbmV4dCBhbmQgcHJldmlvdXMgbGlua3Mgb2YgcGFnaW5hdGlvbi5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcGFnaW5hdGlvbi1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBwYWdpbmF0aW9uIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byBhIGA8dWw+YC5cbkBtaXhpbiBwYWdpbmF0aW9uLWNvbnRhaW5lciAoXG4gICRtYXJnaW4tYm90dG9tOiAkcGFnaW5hdGlvbi1tYXJnaW4tYm90dG9tLFxuICAkZm9udC1zaXplOiAkcGFnaW5hdGlvbi1mb250LXNpemUsXG4gICRzcGFjaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXNwYWNpbmcsXG4gICRyYWRpdXM6ICRwYWdpbmF0aW9uLXJhZGl1cyxcbiAgJGNvbG9yOiAkcGFnaW5hdGlvbi1pdGVtLWNvbG9yLFxuICAkcGFkZGluZzogJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyXG4pIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gIG1hcmdpbi1ib3R0b206ICRtYXJnaW4tYm90dG9tO1xuXG4gIC8vIExpc3QgaXRlbVxuICBsaSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nO1xuICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuXG4gICAgQGlmICRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtcyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICY6bGFzdC1jaGlsZCxcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9XG5cbiAgICAgIEBpZiAkcGFnaW5hdGlvbi1tb2JpbGUtY3VycmVudC1pdGVtIHtcbiAgICAgICAgJi5jdXJyZW50IHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFBhZ2UgbGlua3NcbiAgYSxcbiAgYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAkcGFkZGluZztcbiAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICAgIGNvbG9yOiAkY29sb3I7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBjdXJyZW50IHBhZ2luYXRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byBhbiBgPGE+YC5cbkBtaXhpbiBwYWdpbmF0aW9uLWl0ZW0tY3VycmVudCAoXG4gICRwYWRkaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmcsXG4gICRiYWNrZ3JvdW5kLWN1cnJlbnQ6ICRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50LFxuICAkY29sb3ItY3VycmVudDogJHBhZ2luYXRpb24taXRlbS1jb2xvci1jdXJyZW50XG4pIHtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWN1cnJlbnQ7XG4gIGNvbG9yOiAkY29sb3ItY3VycmVudDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgZGlzYWJsZWQgcGFnaW5hdGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIGFuIGA8YT5gLlxuQG1peGluIHBhZ2luYXRpb24taXRlbS1kaXNhYmxlZCAoXG4gICRwYWRkaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmcsXG4gICRjb2xvcjogJHBhZ2luYXRpb24taXRlbS1jb2xvci1kaXNhYmxlZFxuKSB7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICBjb2xvcjogJGNvbG9yO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gZWxsaXBzaXMgZm9yIHVzZSBpbiBhIHBhZ2luYXRpb24gbGlzdC5cbkBtaXhpbiBwYWdpbmF0aW9uLWVsbGlwc2lzIChcbiAgJHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZyxcbiAgJGNvbG9yOiAkcGFnaW5hdGlvbi1lbGxpcHNpcy1jb2xvclxuKSB7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICBjb250ZW50OiAnXFwyMDI2JztcbiAgY29sb3I6ICRjb2xvcjtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcGFnaW5hdGlvbiB7XG4gIC5wYWdpbmF0aW9uIHtcbiAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWNvbnRhaW5lcjtcblxuICAgIC5jdXJyZW50IHtcbiAgICAgIEBpbmNsdWRlIHBhZ2luYXRpb24taXRlbS1jdXJyZW50O1xuICAgIH1cblxuICAgIC5kaXNhYmxlZCB7XG4gICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgLmVsbGlwc2lzOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWVsbGlwc2lzO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkcGFnaW5hdGlvbi1hcnJvd3Mge1xuICAgIC5wYWdpbmF0aW9uLXByZXZpb3VzIGE6OmJlZm9yZSxcbiAgICAucGFnaW5hdGlvbi1wcmV2aW91cy5kaXNhYmxlZDo6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwLjVyZW07XG4gICAgICBjb250ZW50OiAnXFwwMGFiJztcbiAgICB9XG5cbiAgICAucGFnaW5hdGlvbi1uZXh0IGE6OmFmdGVyLFxuICAgIC5wYWdpbmF0aW9uLW5leHQuZGlzYWJsZWQ6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDAuNXJlbTtcbiAgICAgIGNvbnRlbnQ6ICdcXDAwYmInO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdG9vbHRpcFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBjdXJzb3Igb2YgdGhlIGRlZmluZWQgdGVybS5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaGFzLXRpcC1jdXJzb3I6IGhlbHAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgd2VpZ2h0IG9mIHRoZSBkZWZpbmVkIHRlcm0uXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGhhcy10aXAtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBib3R0b20gb2YgdGhlIGRlZmluZWQgdGVybS5cbi8vLyBAdHlwZSBMaXN0XG4kaGFzLXRpcC1ib3JkZXItYm90dG9tOiBkb3R0ZWQgMXB4ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSB0b29sdGlwIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0b29sdGlwLWJhY2tncm91bmQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIHRvb2x0aXAgZm9udC5cbi8vLyBAdHlwZSBDb2xvclxuJHRvb2x0aXAtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBvZiB0aGUgdG9vbHRpcCBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtcGFkZGluZzogMC43NXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWF4IHdpZHRoIGZvciB0b29sdGlwcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLW1heC13aWR0aDogMTByZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBvZiB0aGUgdG9vbHRpcCB0ZXh0LiBCeSBkZWZhdWx0LCB3ZSByZWNvbW1lbmQgYSBzbWFsbGVyIGZvbnQgc2l6ZSB0aGFuIHRoZSBib2R5IGNvcHkuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1mb250LXNpemU6ICRzbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBpcCB3aWR0aCBmb3IgdG9vbHRpcHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1waXAtd2lkdGg6IDAuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBpcCBoZWlnaHQgZm9yIHRvb2x0aXBzLiBUaGlzIGlzIGhlbHBmdWwgZm9yIGNhbGN1bGF0aW5nIHRoZSBkaXN0YW5jZSBvZiB0aGUgdG9vbHRpcCBmcm9tIHRoZSB0b29sdGlwIHdvcmQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1waXAtaGVpZ2h0OiAkdG9vbHRpcC1waXAtd2lkdGggKiAwLjg2NiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciB0b29sdGlwcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBoYXMtdGlwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgYm9yZGVyLWJvdHRvbTogJGhhcy10aXAtYm9yZGVyLWJvdHRvbTtcbiAgZm9udC13ZWlnaHQ6ICRoYXMtdGlwLWZvbnQtd2VpZ2h0O1xuICBjdXJzb3I6ICRoYXMtdGlwLWN1cnNvcjtcbn1cblxuQG1peGluIHRvb2x0aXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogY2FsYygxMDAlICsgI3skdG9vbHRpcC1waXAtaGVpZ2h0fSk7XG4gIHotaW5kZXg6IDEyMDA7XG5cbiAgbWF4LXdpZHRoOiAkdG9vbHRpcC1tYXgtd2lkdGg7XG4gIHBhZGRpbmc6ICR0b29sdGlwLXBhZGRpbmc7XG5cbiAgYm9yZGVyLXJhZGl1czogJHRvb2x0aXAtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yO1xuICBmb250LXNpemU6ICR0b29sdGlwLWZvbnQtc2l6ZTtcbiAgY29sb3I6ICR0b29sdGlwLWNvbG9yO1xuXG4gICY6OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICB9XG5cbiAgJi5ib3R0b20ge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvb2x0aXAtcGlwLXdpZHRoLCAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLCB1cCk7XG4gICAgICBib3R0b206IDEwMCU7XG4gICAgfVxuXG4gICAgJi5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgfVxuICB9XG5cbiAgJi50b3Age1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvb2x0aXAtcGlwLXdpZHRoLCAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLCBkb3duKTtcbiAgICAgIHRvcDogMTAwJTtcbiAgICAgIGJvdHRvbTogYXV0bztcbiAgICB9XG5cbiAgICAmLmFsaWduLWNlbnRlcjo6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICB9XG4gIH1cblxuICAmLmxlZnQge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvb2x0aXAtcGlwLXdpZHRoLCAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLCByaWdodCk7XG4gICAgICBsZWZ0OiAxMDAlO1xuICAgIH1cblxuICAgICYuYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgfVxuICB9XG5cbiAgJi5yaWdodCB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9vbHRpcC1waXAtd2lkdGgsICR0b29sdGlwLWJhY2tncm91bmQtY29sb3IsIGxlZnQpO1xuICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgIH1cblxuICAgICYuYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgfVxuICB9XG5cbiAgJi5hbGlnbi10b3A6OmJlZm9yZSB7XG4gICAgYm90dG9tOiBhdXRvO1xuICAgIHRvcDogMTAlO1xuICB9XG5cbiAgJi5hbGlnbi1ib3R0b206OmJlZm9yZSB7XG4gICAgYm90dG9tOiAxMCU7XG4gICAgdG9wOiBhdXRvO1xuICB9XG5cbiAgJi5hbGlnbi1sZWZ0OjpiZWZvcmUge1xuICAgIGxlZnQ6IDEwJTtcbiAgICByaWdodDogYXV0bztcbiAgfVxuXG4gICYuYWxpZ24tcmlnaHQ6OmJlZm9yZSB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMTAlO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRvb2x0aXAge1xuICAuaGFzLXRpcCB7XG4gICAgQGluY2x1ZGUgaGFzLXRpcDtcbiAgfVxuXG4gIC50b29sdGlwIHtcbiAgICBAaW5jbHVkZSB0b29sdGlwO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBhY2NvcmRpb25cbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiBhbiBhY2NvcmRpb24gZ3JvdXAuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBhZGRzIHBsdXMgYW5kIG1pbnVzIGljb25zIHRvIHRoZSBzaWRlIG9mIGVhY2ggYWNjb3JkaW9uIHRpdGxlLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhY2NvcmRpb24tcGx1c21pbnVzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIGFjY29yZGlvbiB0aXRsZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9uLXRpdGxlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIGZvciBpdGVtcyBpbiBhIE1lbnUuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24taXRlbS1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGl0ZW1zIGluIGEgTWVudS5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIG9mIGFuIGFjY29yZGlvbiBpdGVtLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRhY2NvcmRpb24taXRlbS1wYWRkaW5nOiAxLjI1cmVtIDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFuIGFjY29yZGlvbiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gdGhlIHNhbWUgZWxlbWVudCB0aGF0IGdldHMgYGRhdGEtYWNjb3JkaW9uYC5cbkBtaXhpbiBhY2NvcmRpb24tY29udGFpbmVyIChcbiAgJGJhY2tncm91bmQ6ICRhY2NvcmRpb24tYmFja2dyb3VuZFxuKSB7XG4gIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG5cbiAgJltkaXNhYmxlZF0ge1xuICAgIC5hY2NvcmRpb24tdGl0bGUge1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgYWNjb3JkaW9uIGl0ZW0uIEFwcGx5IHRoaXMgdG8gdGhlIGxpc3QgaXRlbSB3aXRoaW4gYW4gYWNjb3JkaW9uIHVsLlxuQG1peGluIGFjY29yZGlvbi1pdGVtIHtcbiAgJjpmaXJzdC1jaGlsZCA+IDpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXMgMCAwO1xuICB9XG5cbiAgJjpsYXN0LWNoaWxkID4gOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cztcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSB0aXRsZSBvZiBhbiBhY2NvcmRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byB0aGUgbGluayB3aXRoaW4gYW4gYWNjb3JkaW9uIGl0ZW0uXG5AbWl4aW4gYWNjb3JkaW9uLXRpdGxlIChcbiAgJHBhZGRpbmc6ICRhY2NvcmRpb24taXRlbS1wYWRkaW5nLFxuICAkZm9udC1zaXplOiAkYWNjb3JkaW9uLXRpdGxlLWZvbnQtc2l6ZSxcbiAgJGNvbG9yOiAkYWNjb3JkaW9uLWl0ZW0tY29sb3IsXG4gICRib3JkZXI6ICRhY2NvcmRpb24tY29udGVudC1ib3JkZXIsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYWNjb3JkaW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlclxuKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuXG4gIGJvcmRlcjogJGJvcmRlcjtcbiAgYm9yZGVyLWJvdHRvbTogMDtcblxuICBmb250LXNpemU6ICRmb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogJGNvbG9yO1xuXG4gIDpsYXN0LWNoaWxkIHtcbiAgICAmOm5vdCguaXMtYWN0aXZlKSA+ICYge1xuICAgICAgYm9yZGVyLWJvdHRvbTogJGJvcmRlcjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cztcbiAgICB9XG4gIH1cblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1ob3ZlcjtcbiAgfVxuXG4gIEBpZiAkYWNjb3JkaW9uLXBsdXNtaW51cyB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgICAgIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gICAgICBjb250ZW50OiAnKyc7XG4gICAgfVxuXG4gICAgLmlzLWFjdGl2ZSA+ICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnXFwyMDEzJztcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhY2NvcmRpb24gY29udGVudC4gQXBwbHkgdGhpcyB0byB0aGUgY29udGVudCBwYW5lIGJlbG93IGFuIGFjY29yZGlvbiBpdGVtJ3MgdGl0bGUuXG5AbWl4aW4gYWNjb3JkaW9uLWNvbnRlbnQgKFxuICAkcGFkZGluZzogJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmcsXG4gICRib3JkZXI6ICRhY2NvcmRpb24tY29udGVudC1ib3JkZXIsXG4gICRiYWNrZ3JvdW5kOiAkYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZCxcbiAgJGNvbG9yOiAkYWNjb3JkaW9uLWNvbnRlbnQtY29sb3Jcbikge1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAkcGFkZGluZztcblxuICBib3JkZXI6ICRib3JkZXI7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuXG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgOmxhc3QtY2hpbGQgPiAmOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b206ICRib3JkZXI7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tYWNjb3JkaW9uIHtcbiAgLmFjY29yZGlvbiB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC5hY2NvcmRpb24taXRlbSB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLWl0ZW07XG4gIH1cblxuICAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24tdGl0bGU7XG4gIH1cblxuICAuYWNjb3JkaW9uLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi1jb250ZW50O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBtZWRpYS1vYmplY3Rcbi8vLy9cblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgYSBtZWRpYSBvYmplY3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0IGFuZCByaWdodCBwYWRkaW5nIG9uIHNlY3Rpb25zIHdpdGhpbiBhIG1lZGlhIG9iamVjdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFdpZHRoIG9mIGltYWdlcyB3aXRoaW4gYSBtZWRpYSBvYmplY3QsIHdoZW4gdGhlIG9iamVjdCBpcyBzdGFja2VkIHZlcnRpY2FsbHkuIFNldCB0byAnYXV0bycgdG8gdXNlIHRoZSBpbWFnZSdzIG5hdHVyYWwgd2lkdGguXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVkaWFvYmplY3QtaW1hZ2Utd2lkdGgtc3RhY2tlZDogMTAwJSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIG1lZGlhIG9iamVjdCBjb250YWluZXIuXG5AbWl4aW4gbWVkaWEtb2JqZWN0LWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGlmKCRnbG9iYWwtZmxleGJveCwgZmxleCwgYmxvY2spO1xuICBtYXJnaW4tYm90dG9tOiAkbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTtcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgfVxuXG4gIGltZyB7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICB9XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgJi5zdGFjay1mb3ItI3skLXpmLXplcm8tYnJlYWtwb2ludH0ge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXplcm8tYnJlYWtwb2ludCBvbmx5KSB7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBzZWN0aW9ucyB3aXRoaW4gYSBtZWRpYSBvYmplY3QuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRwYWRkaW5nIFskbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nXSAtIFBhZGRpbmcgYmV0d2VlbiBzZWN0aW9ucy5cbkBtaXhpbiBtZWRpYS1vYmplY3Qtc2VjdGlvbigkcGFkZGluZzogJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZykge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgfVxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICB9XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgcGFkZGluZy0jeyRnbG9iYWwtcmlnaHR9OiAkcGFkZGluZztcbiAgfVxuXG4gICY6bGFzdC1jaGlsZDpub3QoOm50aC1jaGlsZCgyKSkge1xuICAgIHBhZGRpbmctI3skZ2xvYmFsLWxlZnR9OiAkcGFkZGluZztcbiAgfVxuXG4gID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICAuc3RhY2stZm9yLSN7JC16Zi16ZXJvLWJyZWFrcG9pbnR9ICYge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJC16Zi16ZXJvLWJyZWFrcG9pbnQgb25seSkge1xuICAgICAgQGluY2x1ZGUgbWVkaWEtb2JqZWN0LXN0YWNrO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICYubWFpbi1zZWN0aW9uIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAmLm1pZGRsZSB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cblxuICAgICYuYm90dG9tIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyB0byBzdGFjayBzZWN0aW9ucyBvZiBhIG1lZGlhIG9iamVjdC4gQXBwbHkgdGhpcyB0byB0aGUgc2VjdGlvbiBlbGVtZW50cywgbm90IHRoZSBjb250YWluZXIuXG5AbWl4aW4gbWVkaWEtb2JqZWN0LXN0YWNrIHtcbiAgcGFkZGluZzogMDtcbiAgcGFkZGluZy1ib3R0b206ICRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmc7XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC1iYXNpczogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cbiAgQGVsc2Uge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgaW1nIHtcbiAgICB3aWR0aDogJG1lZGlhb2JqZWN0LWltYWdlLXdpZHRoLXN0YWNrZWQ7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tbWVkaWEtb2JqZWN0IHtcbiAgLm1lZGlhLW9iamVjdCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtb2JqZWN0LWNvbnRhaW5lcjtcbiAgfVxuXG4gIC5tZWRpYS1vYmplY3Qtc2VjdGlvbiB7XG4gICAgQGluY2x1ZGUgbWVkaWEtb2JqZWN0LXNlY3Rpb247XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIG9yYml0XG4vLy8vXG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBPcmJpdCdzIGJ1bGxldHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBhY3RpdmUgY29sb3IgZm9yIE9yYml0J3MgYnVsbGV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kLWFjdGl2ZTogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZGlhbWV0ZXIgZm9yIE9yYml0J3MgYnVsbGV0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1idWxsZXQtZGlhbWV0ZXI6IDEuMnJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWFyZ2luIGJldHdlZW4gT3JiaXQncyBidWxsZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWJ1bGxldC1tYXJnaW46IDAuMXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZGlzdGFuY2UgZnJvbSBzbGlkZSByZWdpb24gZm9yIE9yYml0J3MgYnVsbGV0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1idWxsZXQtbWFyZ2luLXRvcDogMC44cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luIGZyb20gT3JiaXQncyBidWxsZXRzIHRvIHdoYXRldmVyIGNvbnRlbnQgbWF5IGx1cmsgYmVsb3cgaXQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtYnVsbGV0LW1hcmdpbi1ib3R0b206IDAuOHJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgT3JiaXQncyBjYXB0aW9uLlxuLy8vIEB0eXBlIENvbG9yXG4kb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC41KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgT3JiaXQncyBjYXB0aW9uLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWNhcHRpb24tcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgT3JiaXQncyBjb250cm9scyB3aGVuIGhvdmVyZWQuXG4vLy8gQHR5cGUgQ29sb3JcbiRvcmJpdC1jb250cm9sLWJhY2tncm91bmQtaG92ZXI6IHJnYmEoJGJsYWNrLCAwLjUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciBPcmJpdCdzIGNvbnRyb2xzLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWNvbnRyb2wtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgei1pbmRleCBmb3IgT3JiaXQncyBjb250cm9scy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1jb250cm9sLXppbmRleDogMTAgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIG91dGVyIE9yYml0IHdyYXBwZXIuIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdGAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtd3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgaW5uZXIgT3JiaXQgc2xpZGUgY29udGFpbmVyLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtY29udGFpbmVyYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDsgLy8gUHJldmVudCBGT1VDIGJ5IG5vdCBzaG93aW5nIHVudGlsIEpTIHNldHMgaGVpZ2h0XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgaW5kaXZpZHVhbCBzbGlkZXMgb2YgYW4gT3JiaXQgc2xpZGVyLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtc2xpZGVgIGNsYXNzLlxuQG1peGluIG9yYml0LXNsaWRlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAmLm5vLW1vdGlvbnVpIHtcbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gb3JiaXQtZmlndXJlIHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc2xpZGUgY29udGFpbmluZyBhbiBpbWFnZS4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LWltYWdlYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1pbWFnZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBvcmJpdCBzbGlkZSBjYXB0aW9uLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtY2FwdGlvbmAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtY2FwdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZzogJG9yYml0LWNhcHRpb24tcGFkZGluZztcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kO1xuICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kKTtcbn1cblxuLy8vIEFkZHMgYmFzZSBzdHlsZXMgZm9yIHRoZSBuZXh0L3ByZXZpb3VzIGJ1dHRvbnMgaW4gYW4gT3JiaXQgc2xpZGVyLiBUaGVzZSBzdHlsZXMgYXJlIHNoYXJlZCBiZXR3ZWVuIHRoZSBgLm9yYml0LW5leHRgIGFuZCBgLm9yYml0LXByZXZpb3VzYCBjbGFzc2VzIGluIHRoZSBkZWZhdWx0IENTUy5cbkBtaXhpbiBvcmJpdC1jb250cm9sIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBAaW5jbHVkZSB2ZXJ0aWNhbC1jZW50ZXI7XG4gIHotaW5kZXg6ICRvcmJpdC1jb250cm9sLXppbmRleDtcbiAgcGFkZGluZzogJG9yYml0LWNvbnRyb2wtcGFkZGluZztcbiAgY29sb3I6ICR3aGl0ZTtcblxuICAmOmhvdmVyLFxuICAmOmFjdGl2ZSxcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWNvbnRyb2wtYmFja2dyb3VuZC1ob3ZlcjtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBPcmJpdCBwcmV2aW91cyBidXR0b24uIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1wcmV2aW91c2AgY2xhc3MuXG5AbWl4aW4gb3JiaXQtcHJldmlvdXMge1xuICAjeyRnbG9iYWwtbGVmdH06IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIE9yYml0IG5leHQgYnV0dG9uLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtbmV4dGAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtbmV4dCB7XG4gICN7JGdsb2JhbC1sZWZ0fTogYXV0bztcbiAgI3skZ2xvYmFsLXJpZ2h0fTogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNvbnRhaW5lciBvZiBPcmJpdCBidWxsZXRzLiAvLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBPcmJpdCBwcmV2aW91cyBidXR0b24uIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1idWxsZXRzYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1idWxsZXRzIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi10b3A6ICRvcmJpdC1idWxsZXQtbWFyZ2luLXRvcDtcbiAgbWFyZ2luLWJvdHRvbTogJG9yYml0LWJ1bGxldC1tYXJnaW4tYm90dG9tO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgYnV0dG9uIHtcbiAgICB3aWR0aDogJG9yYml0LWJ1bGxldC1kaWFtZXRlcjtcbiAgICBoZWlnaHQ6ICRvcmJpdC1idWxsZXQtZGlhbWV0ZXI7XG4gICAgbWFyZ2luOiAkb3JiaXQtYnVsbGV0LW1hcmdpbjtcblxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtYnVsbGV0LWJhY2tncm91bmQ7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1idWxsZXQtYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tb3JiaXQge1xuICAub3JiaXQge1xuICAgIEBpbmNsdWRlIG9yYml0LXdyYXBwZXI7XG4gIH1cblxuICAub3JiaXQtY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1jb250YWluZXI7XG4gIH1cblxuICAub3JiaXQtc2xpZGUge1xuICAgIEBpbmNsdWRlIG9yYml0LXNsaWRlO1xuICB9XG5cbiAgLm9yYml0LWZpZ3VyZSB7XG4gICAgQGluY2x1ZGUgb3JiaXQtZmlndXJlO1xuICB9XG5cbiAgLm9yYml0LWltYWdlIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1pbWFnZTtcbiAgfVxuXG4gIC5vcmJpdC1jYXB0aW9uIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1jYXB0aW9uO1xuICB9XG5cbiAgJW9yYml0LWNvbnRyb2wge1xuICAgIEBpbmNsdWRlIG9yYml0LWNvbnRyb2w7XG4gIH1cblxuICAub3JiaXQtcHJldmlvdXMge1xuICAgIEBleHRlbmQgJW9yYml0LWNvbnRyb2w7XG4gICAgQGluY2x1ZGUgb3JiaXQtcHJldmlvdXM7XG4gIH1cblxuICAub3JiaXQtbmV4dCB7XG4gICAgQGV4dGVuZCAlb3JiaXQtY29udHJvbDtcbiAgICBAaW5jbHVkZSBvcmJpdC1uZXh0O1xuICB9XG5cbiAgLm9yYml0LWJ1bGxldHMge1xuICAgIEBpbmNsdWRlIG9yYml0LWJ1bGxldHM7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHJlc3BvbnNpdmUtZW1iZWRcbi8vLy9cblxuLy8vIE1hcmdpbiBiZWxvdyBhIHJlc3BvbnNpdmUgZW1iZWQgY29udGFpbmVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHJlc3BvbnNpdmUtZW1iZWQtbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuXG4vLy8gQXNwZWN0IHJhdGlvcyB1c2VkIHRvIGRldGVybWluZSBwYWRkaW5nLWJvdHRvbSBvZiByZXNwb25zaXZlIGVtYmVkIGNvbnRhaW5lcnMuXG4vLy8gQHR5cGUgTWFwXG4kcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3M6IChcbiAgZGVmYXVsdDogNCBieSAzLFxuICB3aWRlc2NyZWVuOiAxNiBieSA5LFxuKSAhZGVmYXVsdDtcblxuLy8vIENyZWF0ZXMgYSByZXNwb25zaXZlIGVtYmVkIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge1N0cmluZ3xMaXN0fSAkcmF0aW8gW2RlZmF1bHRdIC0gUmF0aW8gb2YgdGhlIGNvbnRhaW5lci4gQ2FuIGJlIGEga2V5IGZyb20gdGhlIGAkcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3NgIG1hcCBvciBhIGxpc3QgZm9ybWF0dGVkIGFzIGB4IGJ5IHlgLlxuQG1peGluIHJlc3BvbnNpdmUtZW1iZWQoJHJhdGlvOiBkZWZhdWx0KSB7XG4gIEBpZiB0eXBlLW9mKCRyYXRpbykgPT0gJ3N0cmluZycge1xuICAgICRyYXRpbzogbWFwLWdldCgkcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3MsICRyYXRpbyk7XG4gIH1cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbi1ib3R0b206ICRyZXNwb25zaXZlLWVtYmVkLW1hcmdpbi1ib3R0b207XG4gIHBhZGRpbmctYm90dG9tOiByYXRpby10by1wZXJjZW50YWdlKCRyYXRpbyk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgaWZyYW1lLFxuICBvYmplY3QsXG4gIGVtYmVkLFxuICB2aWRlbyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICAjeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQge1xuICAucmVzcG9uc2l2ZS1lbWJlZCxcbiAgLmZsZXgtdmlkZW8ge1xuICAgIEBpbmNsdWRlIHJlc3BvbnNpdmUtZW1iZWQoJHJhdGlvOiBkZWZhdWx0KTtcblxuICAgICRyYXRpb3M6IG1hcC1yZW1vdmUoJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zLGRlZmF1bHQpO1xuXG4gICAgQGVhY2ggJG5hbWUsICRyYXRpbyBpbiAkcmF0aW9zIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmF0aW8tdG8tcGVyY2VudGFnZSgkcmF0aW8pO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGFic1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gb2YgdGhlIHRhYiBiYXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFiLW1hcmdpbjogMCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiBhIHRhYiBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBvZiB0YWIgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBBY3RpdmUgYmFja2dyb3VuZCBjb2xvciBvZiBhIHRhYiBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItYmFja2dyb3VuZC1hY3RpdmU6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQWN0aXZlIGZvbnQgY29sb3Igb2YgdGFiIGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItYWN0aXZlLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiB0YWIgaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFiLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGl0ZW1zIGluIGEgTWVudS5cbiR0YWItaXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgb2YgYSB0YWIgaXRlbS5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWItaXRlbS1wYWRkaW5nOiAxLjI1cmVtIDEuNXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWNvbnRlbnQtYm9yZGVyOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kdGFiLWNvbnRlbnQtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHRhYiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gYSBgPHVsPmAuXG5AbWl4aW4gdGFicy1jb250YWluZXIgKFxuICAkbWFyZ2luOiAkdGFiLW1hcmdpbixcbiAgJGJhY2tncm91bmQ6ICR0YWItYmFja2dyb3VuZCxcbiAgJGJvcmRlci1jb2xvcjogJHRhYi1jb250ZW50LWJvcmRlclxuKSB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXJnaW46ICRtYXJnaW47XG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG59XG5cbi8vLyBBdWdtZW50cyBhIHRhYiBjb250YWluZXIgdG8gaGF2ZSB2ZXJ0aWNhbCB0YWJzLiBVc2UgdGhpcyBpbiBjb25qdW5jdGlvbiB3aXRoIGB0YWJzLWNvbnRhaW5lcigpYC5cbkBtaXhpbiB0YWJzLWNvbnRhaW5lci12ZXJ0aWNhbCB7XG4gID4gbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsb2F0OiBub25lO1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGxpbmtzIHdpdGhpbiBhIHRhYiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gdGhlIGA8bGk+YCBlbGVtZW50cyBpbnNpZGUgYSB0YWIgY29udGFpbmVyLlxuQG1peGluIHRhYnMtdGl0bGUgKFxuICAkcGFkZGluZzogJHRhYi1pdGVtLXBhZGRpbmcsXG4gICRmb250LXNpemU6ICR0YWItaXRlbS1mb250LXNpemUsXG4gICRjb2xvcjogJHRhYi1jb2xvcixcbiAgJGNvbG9yLWFjdGl2ZTogJHRhYi1hY3RpdmUtY29sb3IsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcixcbiAgJGJhY2tncm91bmQtYWN0aXZlOiAkdGFiLWJhY2tncm91bmQtYWN0aXZlXG4pIHtcbiAgZmxvYXQ6ICN7JGdsb2JhbC1sZWZ0fTtcblxuICA+IGEge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAkcGFkZGluZztcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY29sb3I6ICRjb2xvcjtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtaG92ZXI7XG4gICAgICBjb2xvcjogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKTtcbiAgICB9XG5cbiAgICAmOmZvY3VzLFxuICAgICZbYXJpYS1zZWxlY3RlZD0ndHJ1ZSddIHtcbiAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgICAgIGNvbG9yOiAkY29sb3ItYWN0aXZlO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSB3cmFwcGVyIHRoYXQgc3Vycm91bmRzIGEgdGFiIGdyb3VwJ3MgY29udGVudCBwYW5lcy5cbkBtaXhpbiB0YWJzLWNvbnRlbnQgKFxuICAkYmFja2dyb3VuZDogJHRhYi1jb250ZW50LWJhY2tncm91bmQsXG4gICRjb2xvcjogJHRhYi1jb250ZW50LWNvbG9yLFxuICAkYm9yZGVyLWNvbG9yOiAkdGFiLWNvbnRlbnQtYm9yZGVyXG4pIHtcbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgYm9yZGVyLXRvcDogMDtcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gIGNvbG9yOiAkY29sb3I7XG4gIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7XG59XG5cbi8vLyBBdWdtZW50cyBhIHRhYiBjb250ZW50IGNvbnRhaW5lciB0byBoYXZlIGEgdmVydGljYWwgc3R5bGUsIGJ5IHNoaWZ0aW5nIHRoZSBib3JkZXIgYXJvdW5kLiBVc2UgdGhpcyBpbiBjb25qdW5jdGlvbiB3aXRoIGB0YWJzLWNvbnRlbnQoKWAuXG5AbWl4aW4gdGFicy1jb250ZW50LXZlcnRpY2FsIChcbiAgJGJvcmRlci1jb2xvcjogJHRhYi1jb250ZW50LWJvcmRlclxuKSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gaW5kaXZpZHVhbCB0YWIgY29udGVudCBwYW5lbCB3aXRoaW4gdGhlIHRhYiBjb250ZW50IGNvbnRhaW5lci5cbkBtaXhpbiB0YWJzLXBhbmVsIChcbiAgJHBhZGRpbmc6ICR0YWItY29udGVudC1wYWRkaW5nXG4pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG5cbiAgJi5pcy1hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRhYnMge1xuICAudGFicyB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250YWluZXI7XG4gIH1cblxuICAvLyBWZXJ0aWNhbFxuICAudGFicy52ZXJ0aWNhbCB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250YWluZXItdmVydGljYWw7XG4gIH1cblxuICAvLyBTaW1wbGVcbiAgLnRhYnMuc2ltcGxlIHtcbiAgICA+IGxpID4gYSB7XG4gICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUHJpbWFyeSBjb2xvclxuICAudGFicy5wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcblxuICAgID4gbGkgPiBhIHtcbiAgICAgIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRwcmltYXJ5LWNvbG9yKTtcblxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkcHJpbWFyeS1jb2xvcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnRhYnMtdGl0bGUge1xuICAgIEBpbmNsdWRlIHRhYnMtdGl0bGU7XG4gIH1cblxuICAudGFicy1jb250ZW50IHtcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRlbnQ7XG4gIH1cblxuICAudGFicy1jb250ZW50LnZlcnRpY2FsIHtcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRlbnQtdmVydGljYWw7XG4gIH1cblxuICAudGFicy1wYW5lbCB7XG4gICAgQGluY2x1ZGUgdGFicy1wYW5lbDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGh1bWJuYWlsXG4vLy8vXG5cbi8vLyBCb3JkZXIgYXJvdW5kIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kdGh1bWJuYWlsLWJvcmRlcjogNHB4IHNvbGlkICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gZm9yIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kdGh1bWJuYWlsLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyB1bmRlciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIFNoYWRvd1xuJHRodW1ibmFpbC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKCRibGFjaywgMC4yKSAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgdW5kZXIgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBTaGFkb3dcbiR0aHVtYm5haWwtc2hhZG93LWhvdmVyOiAwIDAgNnB4IDFweCByZ2JhKCRwcmltYXJ5LWNvbG9yLCAwLjUpICFkZWZhdWx0O1xuXG4vLy8gVHJhbnNpdGlvbiBwcm9wcnRpZXMgZm9yIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgVHJhbnNpdGlvblxuJHRodW1ibmFpbC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDIwMG1zIGVhc2Utb3V0ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGh1bWJuYWlsLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHRodW1ibmFpbCBzdHlsZXMgdG8gYW4gZWxlbWVudC5cbkBtaXhpbiB0aHVtYm5haWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogJHRodW1ibmFpbC1tYXJnaW4tYm90dG9tO1xuXG4gIGJvcmRlcjogJHRodW1ibmFpbC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICR0aHVtYm5haWwtcmFkaXVzO1xuICBib3gtc2hhZG93OiAkdGh1bWJuYWlsLXNoYWRvdztcblxuICBsaW5lLWhlaWdodDogMDtcbn1cblxuQG1peGluIHRodW1ibmFpbC1saW5rIHtcbiAgdHJhbnNpdGlvbjogJHRodW1ibmFpbC10cmFuc2l0aW9uO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGJveC1zaGFkb3c6ICR0aHVtYm5haWwtc2hhZG93LWhvdmVyO1xuICB9XG5cbiAgaW1hZ2Uge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdGh1bWJuYWlsIHtcbiAgLnRodW1ibmFpbCB7XG4gICAgQGluY2x1ZGUgdGh1bWJuYWlsO1xuICB9XG5cbiAgYS50aHVtYm5haWwge1xuICAgIEBpbmNsdWRlIHRodW1ibmFpbC1saW5rO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBtZW51XG4vLy8vXG5cbi8vLyBNYXJnaW4gb2YgYSBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtbWFyZ2luOiAwICFkZWZhdWx0O1xuXG4vLy8gTGVmdC1oYW5kIG1hcmdpbiBvZiBhIG5lc3RlZCBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtbmVzdGVkLW1hcmdpbjogJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciBpdGVtcyBpbiBhIHBpbGwgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LWl0ZW1zLXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gbWFyZ2luIGZvciBpdGVtcyBpbiBhIHNpbXBsZSBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtc2ltcGxlLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgYW4gYWN0aXZlIG1lbnUgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJG1lbnUtaXRlbS1jb2xvci1hY3RpdmU6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYW4gYWN0aXZlIG1lbnUgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogZ2V0LWNvbG9yKHByaW1hcnkpICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBiZXR3ZWVuIGFuIGljb24gYW5kIHRleHQgaW4gYSBtZW51IGl0ZW0uXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1pY29uLXNwYWNpbmc6IDAuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCYWNrd2FyZCBjb21wYXRpYmlsaXR5IGZvciBtZW51IHN0YXRlLiBJZiB0cnVlLCB0aGlzIGR1cGxpY2F0ZSBgYWN0aXZlYCB3aXRoIGBpcy1hY3RpdmVgLiBcbi8vLyBCdXQgcGxlYXNlIG5vdGUgdGhhdCBgYWN0aXZlYCB3aWxsIGJlIHJlbW92ZWQgaW4gdXBjb21pbmcgdmVyc2lvbnMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJG1lbnUtc3RhdGUtYmFjay1jb21wYXQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrd2FyZCBjb21wYXRpYmlsaXR5IGZvciBtZW51IGNlbnRlcmVkLiBJZiB0cnVlLCB0aGlzIGR1cGxpY2F0ZSBgLm1lbnUtY2VudGVyZWQgPiAubWVudWAgd2l0aCBgLm1lbnUuYWxpZ24tY2VudGVyYC4gXG4vLy8gQnV0IHBsZWFzZSBub3RlIHRoYXQgYG1lbnUtY2VudGVyZWRgIHdpbGwgYmUgcmVtb3ZlZCBpbiB1cGNvbWluZyB2ZXJzaW9ucy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kbWVudS1jZW50ZXJlZC1iYWNrLWNvbXBhdDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2t3YXJkIGNvbXBhdGliaWxpdHkgZm9yIHVzaW5nIGBpY29uLSpgIGNsYXNzZXMgd2l0aG91dCBgLmljb25zYCBjbGFzc2VzXG4vLy8gQnV0IHBsZWFzZSBub3RlIHRoYXQgdGhpcyBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IHdpbGwgYmUgcmVtb3ZlZCBpbiB1cGNvbWluZyB2ZXJzaW9ucy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kbWVudS1pY29ucy1iYWNrLWNvbXBhdDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIENyZWF0ZXMgdGhlIGJhc2Ugc3R5bGVzIGZvciBhIE1lbnUuXG5AbWl4aW4gbWVudS1iYXNlIHtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cblxuICBsaSB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICB9XG5cbiAgYSxcbiAgLmJ1dHRvbiB7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6ICRtZW51LWl0ZW1zLXBhZGRpbmc7XG4gIH1cblxuICAvLyBSZXNldCBzdHlsZXMgb2YgaW5uZXIgZWxlbWVudHNcbiAgaW5wdXQsXG4gIHNlbGVjdCxcbiAgYSxcbiAgYnV0dG9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgaW5wdXQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxufVxuXG4vLy8gRXhwYW5kcyB0aGUgaXRlbXMgb2YgYSBNZW51LCBzbyBlYWNoIGl0ZW0gaXMgdGhlIHNhbWUgd2lkdGguXG5AbWl4aW4gbWVudS1leHBhbmQge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBsaSB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICA+IGxpIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWxpZ24gbWVudSBpdGVtcy5cbkBtaXhpbiBtZW51LWFsaWduKCRhbGlnbm1lbnQpIHtcbiAgQGlmICRhbGlnbm1lbnQgPT0gbGVmdCB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtbGVmdDtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGFsaWdubWVudCA9PSByaWdodCB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cbiAgICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLnZlcnRpY2FsIGxpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtcmlnaHQ7XG5cbiAgICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtcmlnaHQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1yaWdodDtcblxuICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLWxlZnQ7XG4gICAgICB9XG5cbiAgICAgICYudmVydGljYWwge1xuICAgICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1yaWdodDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkYWxpZ25tZW50ID09IGNlbnRlciB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtbGVmdDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIGRpcmVjdGlvbiBvZiBhIE1lbnUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIFtob3Jpem9udGFsXSAtIERpcmVjdGlvbiBvZiB0aGUgTWVudS4gQ2FuIGJlIGBob3Jpem9udGFsYCBvciBgdmVydGljYWxgLlxuQG1peGluIG1lbnUtZGlyZWN0aW9uKCRkaXI6IGhvcml6b250YWwpIHtcbiAgQGlmICRkaXIgPT0gaG9yaXpvbnRhbCB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGRpciA9PSB2ZXJ0aWNhbCB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAd2FybiAnVGhlIGRpcmVjdGlvbiB1c2VkIGZvciBtZW51LWRpcmVjdGlvbigpIG11c3QgYmUgaG9yaXpvbnRhbCBvciB2ZXJ0aWNhbC4nO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgc2ltcGxlIE1lbnUsIHdoaWNoIGhhcyBubyBwYWRkaW5nIG9yIGhvdmVyIHN0YXRlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciBbJGdsb2JhbC1sZWZ0XSAtIERpcmVjdGlvbiBvZiB0aGUgbWVudS4gVGhpcyBlZmZlY3RzIHRoZSBzaWRlIG9mIHRoZSBgPGxpPmAgdGhhdCByZWNlaXZlcyB0aGUgbWFyZ2luLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWFyZ2luIFskbWVudS1zaW1wbGUtbWFyZ2luXSAtIFRoZSBtYXJnaW4gdG8gYXBwbHkgdG8gZWFjaCBgPGxpPmAuXG5AbWl4aW4gbWVudS1zaW1wbGUoJGRpcjogJGdsb2JhbC1sZWZ0LCAkbWFyZ2luOiAkbWVudS1zaW1wbGUtbWFyZ2luKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cblxuICBsaSArIGxpIHtcbiAgICBtYXJnaW4tI3skZGlyfTogJG1hcmdpbjtcbiAgfVxuXG4gIGEge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIG5lc3RlZCBNZW51LCBieSBhZGRpbmcgYG1hcmdpbi1sZWZ0YCB0byB0aGUgbWVudS5cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkbWFyZ2luIFskbWVudS1uZXN0ZWQtbWFyZ2luXSAtIExlbmd0aCBvZiB0aGUgbWFyZ2luLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJG5lc3RlZC1hbGlnbm1lbnQgW2xlZnRdIC0gQWxpZ25tZW50IG9mIHRoZSBuZXN0ZWQgY2xhc3NcbkBtaXhpbiBtZW51LW5lc3RlZChcbiAgJG1hcmdpbjogJG1lbnUtbmVzdGVkLW1hcmdpbixcbiAgJG5lc3RlZC1hbGlnbm1lbnQ6IGxlZnRcbikge1xuICBAaWYgJG5lc3RlZC1hbGlnbm1lbnQgPT0gcmlnaHQge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkbWFyZ2luO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gIH1cbiAgQGVsc2Uge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRtYXJnaW47XG4gIH1cblxufVxuXG4vLy8gQWRkcyBiYXNpYyBzdHlsZXMgZm9yIGljb25zIGluIG1lbnVzLlxuQG1peGluIG1lbnUtaWNvbnMoKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGEge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIGltZyxcbiAgICBpLFxuICAgIHN2ZyB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgICArIHNwYW4ge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBwb3NpdGlvbiBjbGFzc2VzIGZvciBpY29ucyB3aXRoaW4gYSBtZW51LlxuQG1peGluIG1lbnUtaWNvbi1wb3NpdGlvbigkcG9zaXRpb246IGxlZnQsICRzcGFjaW5nOiAkbWVudS1pY29uLXNwYWNpbmcpIHtcbiAgQGlmICRwb3NpdGlvbiA9PSBsZWZ0IHtcbiAgICBsaSBhIHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICB9XG5cbiAgICAgIGltZyxcbiAgICAgIGksXG4gICAgICBzdmcge1xuICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmc7XG5cbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gcmlnaHQge1xuICAgIGxpIGEge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgIH1cblxuICAgICAgaW1nLFxuICAgICAgaSxcbiAgICAgIHN2ZyB7XG4gICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRzcGFjaW5nO1xuXG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHRvcCB7XG4gICAgbGkgYSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG5cbiAgICAgIGltZyxcbiAgICAgIGksXG4gICAgICBzdmcge1xuICAgICAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luOiAwIGF1dG8gJHNwYWNpbmc7XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmc7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSBib3R0b20ge1xuICAgIGxpIGEge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICBpLFxuICAgICAgc3ZnIHtcbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbjogJHNwYWNpbmcgYXV0byAwO1xuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWVudS10ZXh0IHtcbiAgcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XG5cbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogaW5oZXJpdDtcbn1cblxuQG1peGluIG1lbnUtc3RhdGUtYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgY29sb3I6ICRtZW51LWl0ZW0tY29sb3ItYWN0aXZlO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1tZW51IHtcbiAgLm1lbnUge1xuICAgIEBpbmNsdWRlIG1lbnUtYmFzZTtcblxuICAgIC8vIERlZmF1bHQgb3JpZW50YXRpb246IGhvcml6b250YWxcbiAgICAmLCAmLmhvcml6b250YWwge1xuICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG4gICAgfVxuXG4gICAgLy8gVmVydGljYWwgb3JpZW50YXRpb24gbW9kaWZpZXJcbiAgICAmLnZlcnRpY2FsIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICB9XG5cbiAgICAvLyBFdmVuLXdpZHRoIG1vZGlmaWVyIGZvciBob3Jpem9udGFsIG9yaWVudGF0aW9uXG4gICAgJi5leHBhbmRlZCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWV4cGFuZDtcbiAgICB9XG5cbiAgICAvLyBTaW1wbGVcbiAgICAmLnNpbXBsZSB7XG4gICAgICBAaW5jbHVkZSBtZW51LXNpbXBsZTtcbiAgICB9XG5cbiAgICAvLyBCcmVha3BvaW50IHNwZWNpZmljIHZlcnNpb25zXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgkc21hbGw6IGZhbHNlKSB7XG4gICAgICAmLiN7JC16Zi1zaXplfS1ob3Jpem9udGFsIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG4gICAgICB9XG5cbiAgICAgICYuI3skLXpmLXNpemV9LXZlcnRpY2FsIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgICAgfVxuXG4gICAgICAmLiN7JC16Zi1zaXplfS1leHBhbmRlZCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtZXhwYW5kO1xuICAgICAgfVxuXG4gICAgICAmLiN7JC16Zi1zaXplfS1zaW1wbGUge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWV4cGFuZDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBOZXN0aW5nXG4gICAgJi5uZXN0ZWQge1xuICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQ7XG4gICAgfVxuXG4gICAgLy8gSWNvbiBCYXNlIFN0eWxlc1xuICAgICYuaWNvbnMge1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29ucztcbiAgICB9XG5cbiAgICAvLyBCYWNrd2FyZCBDb21wYXRpYmlsaXR5IGZvciBhY3RpdmUgc3RhdGVcbiAgICBAaWYgJG1lbnUtaWNvbnMtYmFjay1jb21wYXQge1xuICAgICAgJi5pY29uLXRvcCxcbiAgICAgICYuaWNvbi1yaWdodCxcbiAgICAgICYuaWNvbi1ib3R0b20sXG4gICAgICAmLmljb24tbGVmdCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbnM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSWNvbiBMZWZ0XG4gICAgJi5pY29uLWxlZnQge1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29uLXBvc2l0aW9uKGxlZnQpO1xuICAgIH1cblxuICAgIC8vIEljb24gUmlnaHRcbiAgICAmLmljb24tcmlnaHQge1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29uLXBvc2l0aW9uKHJpZ2h0KTtcbiAgICB9XG5cbiAgICAvLyBJY29uIFRvcFxuICAgICYuaWNvbi10b3Age1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29uLXBvc2l0aW9uKHRvcCk7XG4gICAgfVxuXG4gICAgLy8gSWNvbiBCb3R0b21cbiAgICAmLmljb24tYm90dG9tIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1wb3NpdGlvbihib3R0b20pO1xuICAgIH1cblxuICAgIC8vIEFjdGl2ZSBzdGF0ZVxuICAgIC5pcy1hY3RpdmUgPiBhIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtc3RhdGUtYWN0aXZlO1xuICAgIH1cbiAgICBcbiAgICAvLyBCYWNrd2FyZCBDb21wYXRpYmlsaXR5IGZvciBhY3RpdmUgc3RhdGVcbiAgICBAaWYgJG1lbnUtc3RhdGUtYmFjay1jb21wYXQge1xuICAgICAgLmFjdGl2ZSA+IGEge1xuICAgICAgICBAaW5jbHVkZSBtZW51LXN0YXRlLWFjdGl2ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBBbGlnbiBsZWZ0XG4gICAgJi5hbGlnbi0jeyRnbG9iYWwtbGVmdH0ge1xuICAgICAgQGluY2x1ZGUgbWVudS1hbGlnbihsZWZ0KTtcbiAgICB9XG5cbiAgICAvLyBBbGlnbiByaWdodFxuICAgICYuYWxpZ24tI3skZ2xvYmFsLXJpZ2h0fSB7XG4gICAgICBAaW5jbHVkZSBtZW51LWFsaWduKHJpZ2h0KTtcblxuICAgICAgLm5lc3RlZCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRuZXN0ZWQtYWxpZ25tZW50OiByaWdodCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQWxpZ24gY2VudGVyXG4gICAgJi5hbGlnbi1jZW50ZXIge1xuICAgICAgQGluY2x1ZGUgbWVudS1hbGlnbihjZW50ZXIpO1xuICAgIH1cblxuICAgIC5tZW51LXRleHQge1xuICAgICAgQGluY2x1ZGUgbWVudS10ZXh0O1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkbWVudS1jZW50ZXJlZC1iYWNrLWNvbXBhdCB7XG4gICAgLm1lbnUtY2VudGVyZWQge1xuICAgICAgPiAubWVudSB7XG4gICAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICBAaW5jbHVkZSBtZW51LWFsaWduKGNlbnRlcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUHJldmVudCBGT1VDIHdoZW4gdXNpbmcgdGhlIFJlc3BvbnNpdmUgTWVudSBwbHVnaW5cbiAgLm5vLWpzIFtkYXRhLXJlc3BvbnNpdmUtbWVudV0gdWwge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbiIsIkBtaXhpbiBmb3VuZGF0aW9uLW1lbnUtaWNvbiB7XG4gIC5tZW51LWljb24ge1xuICAgIEBpbmNsdWRlIGhhbWJ1cmdlcigkY29sb3I6ICR0aXRsZWJhci1pY29uLWNvbG9yLCAkY29sb3ItaG92ZXI6ICR0aXRsZWJhci1pY29uLWNvbG9yLWhvdmVyKTtcbiAgfVxuXG4gIC5tZW51LWljb24uZGFyayB7XG4gICAgQGluY2x1ZGUgaGFtYnVyZ2VyO1xuICB9XG59XG4iLCIvLy8vXG4vLy8gQGdyb3VwIGFjY29yZGlvbi1tZW51XG4vLy8vXG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IHBhZGRpbmcuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9ubWVudS1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgbmVzdGVkIG1hcmdpblxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbm1lbnUtbmVzdGVkLW1hcmdpbjogJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IHN1Ym1lbnUgcGFkZGluZy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtcGFkZGluZzogJGFjY29yZGlvbm1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFNldHMgaWYgYWNjb3JkaW9uIG1lbnVzIGhhdmUgdGhlIGRlZmF1bHQgYXJyb3cgc3R5bGVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhY2NvcmRpb25tZW51LWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgYXJyb3cgY29sb3IgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBpdGVtIHBhZGRpbmcuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb25tZW51LWl0ZW0tYmFja2dyb3VuZDogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgaXRlbSBib3JkZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb25tZW51LWJvcmRlcjogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgaXRlbSBwYWRkaW5nLlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1iYWNrZ3JvdW5kOiBudWxsICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBpdGVtIHBhZGRpbmcuXG4vLy8gQHR5cGUgTGlzdFxuJGFjY29yZGlvbi1zdWJtZW51LXRvZ2dsZS1ib3JkZXI6ICRhY2NvcmRpb25tZW51LWJvcmRlciAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgc3VibWVudSB0b2dnbGUgYmFja2dyb3VuZCB3aWR0aC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoOiA0MHB4ICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBzdWJtZW51IHRvZ2dsZSBiYWNrZ3JvdW5kIGhlaWdodC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWhlaWdodDogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGggIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGFycm93IHNpemUgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBMZW5ndGhcbiRhY2NvcmRpb25tZW51LWFycm93LXNpemU6IDZweCAhZGVmYXVsdDtcblxuQG1peGluIHpmLWFjY29yZGlvbi1tZW51LWxlZnQtcmlnaHQtYXJyb3dzIHtcbiAgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudDpub3QoLmhhcy1zdWJtZW51LXRvZ2dsZSkgPiBhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGFjY29yZGlvbm1lbnUtYXJyb3ctc2l6ZSwgJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3IsIGRvd24pO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBtYXJnaW4tdG9wOiAtMSAqICgkYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplIC8gMik7XG4gICAgICAjeyRnbG9iYWwtcmlnaHR9OiAxcmVtO1xuICAgIH1cbiAgfVxuXG4gICYuYWxpZ24tbGVmdCAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiAxcmVtO1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cblxuICAmLmFsaWduLXJpZ2h0IC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMXJlbTtcbiAgfVxufVxuQG1peGluIGZvdW5kYXRpb24tYWNjb3JkaW9uLW1lbnUge1xuXG4gIC5hY2NvcmRpb24tbWVudSB7XG4gICAgQGlmICRhY2NvcmRpb25tZW51LWJvcmRlciB7XG4gICAgICBib3JkZXItYm90dG9tOiAkYWNjb3JkaW9ubWVudS1ib3JkZXI7XG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgQGlmICRhY2NvcmRpb25tZW51LWJvcmRlciB7XG4gICAgICAgIGJvcmRlci10b3A6ICRhY2NvcmRpb25tZW51LWJvcmRlcjtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAkYWNjb3JkaW9ubWVudS1ib3JkZXI7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAkYWNjb3JkaW9ubWVudS1ib3JkZXI7XG4gICAgICB9XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIEBpZiAkYWNjb3JkaW9ubWVudS1pdGVtLWJhY2tncm91bmQge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkYWNjb3JkaW9ubWVudS1pdGVtLWJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgICBwYWRkaW5nOiAkYWNjb3JkaW9ubWVudS1wYWRkaW5nO1xuICAgIH1cblxuICAgIC5pcy1hY2NvcmRpb24tc3VibWVudSBhIHtcbiAgICAgIHBhZGRpbmc6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtcGFkZGluZztcbiAgICB9XG5cbiAgICAubmVzdGVkLmlzLWFjY29yZGlvbi1zdWJtZW51IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRhY2NvcmRpb25tZW51LW5lc3RlZC1tYXJnaW4pO1xuICAgIH1cblxuICAgICYuYWxpZ24tI3skZ2xvYmFsLXJpZ2h0fSB7XG4gICAgICAubmVzdGVkLmlzLWFjY29yZGlvbi1zdWJtZW51IHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQoJGFjY29yZGlvbm1lbnUtbmVzdGVkLW1hcmdpbiwgcmlnaHQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkYWNjb3JkaW9ubWVudS1hcnJvd3Mge1xuICAgICAgQGluY2x1ZGUgemYtYWNjb3JkaW9uLW1lbnUtbGVmdC1yaWdodC1hcnJvd3M7XG5cbiAgICAgIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnRbYXJpYS1leHBhbmRlZD0ndHJ1ZSddID4gYTo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pcy1hY2NvcmRpb24tc3VibWVudSBsaSB7XG4gICAgQGlmICRhY2NvcmRpb25tZW51LWJvcmRlciB7XG4gICAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgICBib3JkZXItbGVmdDogMDtcbiAgICB9XG4gIH1cblxuICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAuaGFzLXN1Ym1lbnUtdG9nZ2xlID4gYSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoO1xuICB9XG5cbiAgLy8gU3VibWVudSB0b2dnbGVcbiAgLnN1Ym1lbnUtdG9nZ2xlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgICN7JGdsb2JhbC1yaWdodH06IDA7XG5cbiAgICB3aWR0aDogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg7XG4gICAgaGVpZ2h0OiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1oZWlnaHQ7XG5cbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAkYWNjb3JkaW9uLXN1Ym1lbnUtdG9nZ2xlLWJvcmRlcjtcblxuICAgIEBpZiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1iYWNrZ3JvdW5kIHtcbiAgICAgIGJhY2tncm91bmQ6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgLy8gQWRkIHRoZSBhcnJvdyB0byB0aGUgdG9nZ2xlXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKDZweCwgJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3IsIGRvd24pO1xuXG4gICAgICB0b3A6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgfVxuICB9XG5cbiAgLy8gUm90YXRlIHRoZSBhcnJvdyB3aGVuIG1lbnUgaXMgb3BlblxuICAuc3VibWVudS10b2dnbGVbYXJpYS1leHBhbmRlZD0ndHJ1ZSddOjphZnRlciB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVkoLTEpO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XG4gIH1cblxuICAuc3VibWVudS10b2dnbGUtdGV4dCB7XG4gICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGU7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGRyaWxsZG93blxuLy8vL1xuXG4vLy8gVHJhbnNpdGlvbiBwcm9wZXJ0eSB0byB1c2UgZm9yIGFuaW1hdGluZyBtZW51cy5cbi8vLyBAdHlwZSBUcmFuc2l0aW9uXG4kZHJpbGxkb3duLXRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBsaW5lYXIgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIGFycm93cyB0byBkcmlsbGRvd24gaXRlbXMgd2l0aCBzdWJtZW51cywgYXMgd2VsbCBhcyB0aGUgYmFjayBidXR0b24uXG4vLy8gQHR5cGUgQm9vbGVhblxuJGRyaWxsZG93bi1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyaWxsZG93biBtZW51IGl0ZW0gcGFkZGluZy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcmlsbGRvd24tcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyaWxsZG93biBtZW51IG5lc3RlZCBtYXJnaW5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcmlsbGRvd24tbmVzdGVkLW1hcmdpbjogMCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGRyaWxsZG93biB0b3AgbGV2ZWwgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcmlsbGRvd24tYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcmlsbGRvd24gbWVudSBpdGVtIHBhZGRpbmcgaW4gdGhlIHN1Ym1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJpbGxkb3duLXN1Ym1lbnUtcGFkZGluZzogJGRyaWxsZG93bi1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgZHJpbGxkb3duIHN1Ym1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJpbGxkb3duLXN1Ym1lbnUtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcmlsbGRvd24gYXJyb3cgY29sb3IgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBDb2xvclxuJGRyaWxsZG93bi1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyaWxsZG93biBhcnJvdyBzaXplIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kZHJpbGxkb3duLWFycm93LXNpemU6IDZweCAhZGVmYXVsdDtcblxuQG1peGluIHpmLWRyaWxsZG93bi1sZWZ0LXJpZ2h0LWFycm93cyB7XG4gIC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyaWxsZG93bi1hcnJvdy1zaXplLCAkZHJpbGxkb3duLWFycm93LWNvbG9yLCAkZ2xvYmFsLXJpZ2h0KTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbWFyZ2luLXRvcDogLTEgKiAkZHJpbGxkb3duLWFycm93LXNpemU7XG4gICAgICAjeyRnbG9iYWwtcmlnaHR9OiAxcmVtO1xuICAgIH1cbiAgfVxuXG4gICYuYWxpZ24tbGVmdCAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJvcGRvd25tZW51LWFycm93LXNpemUsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIHJpZ2h0KTtcbiAgICByaWdodDogMXJlbTtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG5cbiAgJi5hbGlnbi1yaWdodCAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJvcGRvd25tZW51LWFycm93LXNpemUsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIGxlZnQpO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDFyZW07XG4gIH1cblxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1kcmlsbGRvd24tbWVudSB7XG4gIC8vIEFwcGxpZWQgdG8gdGhlIE1lbnUgY29udGFpbmVyXG4gIC5pcy1kcmlsbGRvd24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgbGkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgJi5hbmltYXRlLWhlaWdodCB7XG4gICAgICB0cmFuc2l0aW9uOiBoZWlnaHQgMC41cztcbiAgICB9XG4gIH1cblxuICAvLyBUaGUgdG9wIGxldmVsIDx1bD5cbiAgLmRyaWxsZG93biB7XG4gICAgYSB7XG4gICAgICBwYWRkaW5nOiAkZHJpbGxkb3duLXBhZGRpbmc7XG4gICAgICBiYWNrZ3JvdW5kOiAkZHJpbGxkb3duLWJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgLy8gQXBwbGllZCB0byBzdWJtZW51IDx1bD5zXG4gICAgLmlzLWRyaWxsZG93bi1zdWJtZW51IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgICN7JGdsb2JhbC1sZWZ0fTogMTAwJTtcbiAgICAgIHotaW5kZXg6IC0xO1xuXG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQ6ICRkcmlsbGRvd24tc3VibWVudS1iYWNrZ3JvdW5kO1xuICAgICAgdHJhbnNpdGlvbjogJGRyaWxsZG93bi10cmFuc2l0aW9uO1xuXG4gICAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBsdHIsIC0xMDAlLCAxMDAlKSk7XG4gICAgICB9XG5cbiAgICAgICYuaXMtY2xvc2luZyB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IGx0ciwgMTAwJSwgLTEwMCUpKTtcbiAgICAgIH1cblxuICAgICAgLy8gU3VibWVudSBpdGVtIHBhZGRpbmdcbiAgICAgIGEge1xuICAgICAgICBwYWRkaW5nOiAkZHJpbGxkb3duLXN1Ym1lbnUtcGFkZGluZztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubmVzdGVkLmlzLWRyaWxsZG93bi1zdWJtZW51IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRkcmlsbGRvd24tbmVzdGVkLW1hcmdpbik7XG4gICAgfVxuXG4gICAgLmRyaWxsZG93bi1zdWJtZW51LWNvdmVyLXByZXZpb3VzIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgQGlmICRkcmlsbGRvd24tYXJyb3dzIHtcbiAgICAgIEBpbmNsdWRlIHpmLWRyaWxsZG93bi1sZWZ0LXJpZ2h0LWFycm93cztcblxuICAgICAgLmpzLWRyaWxsZG93bi1iYWNrID4gYTo6YmVmb3JlIHtcbiAgICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcmlsbGRvd24tYXJyb3ctc2l6ZSwgJGRyaWxsZG93bi1hcnJvdy1jb2xvciwgJGdsb2JhbC1sZWZ0KTtcbiAgICAgICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fS13aWR0aDogMDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMC43NXJlbTsgLy8gQ3JlYXRlcyBzcGFjZSBiZXR3ZWVuIHRoZSBhcnJvdyBhbmQgdGhlIHRleHRcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGRyb3Bkb3duLW1lbnVcbi8vLy9cblxuLy8vIEVuYWJsZXMgYXJyb3dzIGZvciBpdGVtcyB3aXRoIGRyb3Bkb3duIG1lbnVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRkcm9wZG93bm1lbnUtYXJyb3dzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcm9wZG93biBtZW51IGFycm93IGNvbG9yIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3I6ICRhbmNob3ItY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyb3Bkb3duIG1lbnUgYXJyb3cgc2l6ZSBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIExlbmd0aFxuJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplOiA2cHggIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyb3Bkb3duIG1lbnUgYXJyb3cgcGFkZGluZyBmb3IgYWxpZ25pbmcgdGhlIGFycm93IGNvcnJlY3RseS5cbi8vLyBAdHlwZSBMZW5ndGhcbiRkcm9wZG93bm1lbnUtYXJyb3ctcGFkZGluZzogMS41cmVtICFkZWZhdWx0O1xuXG4vLy8gTWluaW11bSB3aWR0aCBvZiBkcm9wZG93biBzdWItbWVudXMuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kZHJvcGRvd25tZW51LW1pbi13aWR0aDogMjAwcHggIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0b3AgbGV2ZWwgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bm1lbnUtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgZHJvcGRvd25zLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd25tZW51LXN1Ym1lbnUtYmFja2dyb3VuZDogJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBmb3IgdG9wIGxldmVsIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3dubWVudS1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJvcGRvd24gbWVudSBuZXN0ZWQgbWFyZ2luXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd25tZW51LW5lc3RlZC1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciBzdWItbWVudSBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bm1lbnUtc3VibWVudS1wYWRkaW5nOiAkZHJvcGRvd25tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgZm9yIGRyb3Bkb3duIHN1Yi1tZW51cy5cbi8vLyBAdHlwZSBMaXN0XG4kZHJvcGRvd25tZW51LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8gQm9yZGVyIHdpZHRoIGZvciBkcm9wZG93biBzdWItbWVudXMuXG4vLyBVc2VkIHRvIGFkanVzdCB0b3AgbWFyZ2luIG9mIGEgc3ViLW1lbnUgaWYgYSBib3JkZXIgaXMgdXNlZC5cbi8vIEB0eXBlIExlbmd0aFxuJGRyb3Bkb3dubWVudS1ib3JkZXItd2lkdGg6IG50aCgkZHJvcGRvd25tZW51LWJvcmRlciwgMSk7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGFuIGFjdGl2ZSBkcm9wZG93biBtZW51IGl0ZW0uIEV4cGxpY2l0IG92ZXJyaWRlIGZvciBtZW51IGRlZmF1bHRzXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bi1tZW51LWl0ZW0tY29sb3ItYWN0aXZlOiBnZXQtY29sb3IocHJpbWFyeSkgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIGFjdGl2ZSBkcm9wZG93biBtZW51IGl0ZW0uIEV4cGxpY2l0IG92ZXJyaWRlIGZvciBtZW51IGRlZmF1bHRzXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bi1tZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG5AbWl4aW4gemYtZHJvcGRvd24tbGVmdC1yaWdodC1hcnJvd3Mge1xuICA+IGE6OmFmdGVyIHtcbiAgICAjeyRnbG9iYWwtcmlnaHR9OiAxNHB4O1xuICB9XG5cbiAgJi5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJvcGRvd25tZW51LWFycm93LXNpemUsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIGxlZnQpO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDVweDtcbiAgfVxuXG4gICYub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgcmlnaHQpO1xuICB9XG59XG5cbkBtaXhpbiBkcm9wZG93bi1tZW51LWRpcmVjdGlvbigkZGlyOiBob3Jpem9udGFsKSB7XG4gIEBpZiAkZGlyID09IGhvcml6b250YWwge1xuICAgID4gbGkub3BlbnMtbGVmdCB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgPiBsaS5vcGVucy1yaWdodCB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRkcm9wZG93bm1lbnUtYXJyb3dzIHtcbiAgICAgID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZy0jeyRnbG9iYWwtcmlnaHR9OiAkZHJvcGRvd25tZW51LWFycm93LXBhZGRpbmc7XG4gICAgICB9XG5cbiAgICAgID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCBkb3duKTtcbiAgICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogNXB4O1xuICAgICAgICAjeyRnbG9iYWwtbGVmdH06IGF1dG87XG4gICAgICAgIG1hcmdpbi10b3A6IC0xICogKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSAvIDIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkZGlyID09IHZlcnRpY2FsIHtcbiAgICA+IGxpIHtcbiAgICAgIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgfVxuXG4gICAgICAmLm9wZW5zLWxlZnQge1xuICAgICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLm9wZW5zLXJpZ2h0IHtcbiAgICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgICAgbGVmdDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaWYgJGRyb3Bkb3dubWVudS1hcnJvd3Mge1xuICAgICAgICBAaW5jbHVkZSB6Zi1kcm9wZG93bi1sZWZ0LXJpZ2h0LWFycm93cztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEB3YXJuICdUaGUgZGlyZWN0aW9uIHVzZWQgZm9yIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKCkgbXVzdCBiZSBob3Jpem9udGFsIG9yIHZlcnRpY2FsLic7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZHJvcGRvd24tbWVudSB7XG4gIC5kcm9wZG93bi5tZW51IHtcbiAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWRpcmVjdGlvbihob3Jpem9udGFsKTtcblxuICAgIGEge1xuICAgICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICAgICAgYmFja2dyb3VuZDogJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kO1xuICAgICAgcGFkZGluZzogJGRyb3Bkb3dubWVudS1wYWRkaW5nO1xuICAgIH1cblxuICAgIC8vIEFjdGl2ZSBzdGF0ZVxuICAgIC5pcy1hY3RpdmUgPiBhIHtcbiAgICAgIGJhY2tncm91bmQ6ICRkcm9wZG93bi1tZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgICBjb2xvcjogJGRyb3Bkb3duLW1lbnUtaXRlbS1jb2xvci1hY3RpdmU7XG4gICAgfVxuXG4gICAgLm5vLWpzICYgdWwge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAubmVzdGVkLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQoJGRyb3Bkb3dubWVudS1uZXN0ZWQtbWFyZ2luKTtcbiAgICB9XG5cbiAgICAmLnZlcnRpY2FsIHtcbiAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICB9XG5cbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgICAmLiN7JHNpemV9LWhvcml6b250YWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi4jeyRzaXplfS12ZXJ0aWNhbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5hbGlnbi1yaWdodCB7XG4gICAgICAuaXMtZHJvcGRvd24tc3VibWVudS5maXJzdC1zdWIge1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pcy1kcm9wZG93bi1tZW51LnZlcnRpY2FsIHtcbiAgICB3aWR0aDogMTAwcHg7XG5cbiAgICAmLmFsaWduLXJpZ2h0IHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG4gIH1cblxuICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIGE6OmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogNXB4O1xuICAgICAgI3skZ2xvYmFsLWxlZnR9OiBhdXRvO1xuICAgICAgbWFyZ2luLXRvcDogLTEgKiAkZHJvcGRvd25tZW51LWFycm93LXNpemU7XG4gICAgfVxuXG4gICAgJi5vcGVucy1pbm5lciA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcblxuICAgICAgdG9wOiAxMDAlO1xuICAgICAgQGlmICRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gJ3J0bCcge1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICByaWdodDogMTAwJTtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgfVxuXG4gICAgJi5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgbGVmdDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICAjeyRnbG9iYWwtbGVmdH06IDEwMCU7XG4gICAgei1pbmRleDogMTtcblxuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbWluLXdpZHRoOiAkZHJvcGRvd25tZW51LW1pbi13aWR0aDtcblxuICAgIGJvcmRlcjogJGRyb3Bkb3dubWVudS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZDogJGRyb3Bkb3dubWVudS1zdWJtZW51LWJhY2tncm91bmQ7XG5cbiAgICAuZHJvcGRvd24gJiBhIHtcbiAgICAgIHBhZGRpbmc6ICRkcm9wZG93bm1lbnUtc3VibWVudS1wYWRkaW5nO1xuICAgIH1cblxuICAgIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCB7XG4gICAgICBAaWYgJGRyb3Bkb3dubWVudS1hcnJvd3Mge1xuICAgICAgICBAaW5jbHVkZSB6Zi1kcm9wZG93bi1sZWZ0LXJpZ2h0LWFycm93cztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgKHR5cGUtb2YoJGRyb3Bkb3dubWVudS1ib3JkZXItd2lkdGgpID09ICdudW1iZXInKSB7XG4gICAgICAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIG1hcmdpbi10b3A6ICgtJGRyb3Bkb3dubWVudS1ib3JkZXItd2lkdGgpO1xuICAgICAgfVxuICAgIH1cblxuICAgID4gbGkge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLy8gW1RPRE9dIEN1dCBiYWNrIHNwZWNpZmljaXR5XG4gICAgLy8mOm5vdCguanMtZHJvcGRvd24tbm9ob3ZlcikgPiAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQ6aG92ZXIgPiAmLCAvLyB3aHkgaXMgdGhpcyBsaW5lIG5lZWRlZD8gT3BlbmluZyBpcyBoYW5kbGVkIGJ5IEpTIGFuZCB0aGlzIGNhdXNlcyBzb21lIHVnbHkgZmxpY2tlcmluZyB3aGVuIHRoZSBzdWIgaXMgcmUtcG9zaXRpb25lZCBhdXRvbWF0aWNhbGx5Li4uXG4gICAgJi5qcy1kcm9wZG93bi1hY3RpdmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBvZmYtY2FudmFzXG4vLy8vXG5cbi8vLyBXaWR0aCBtYXAgb2YgYSBsZWZ0L3JpZ2h0IG9mZi1jYW52YXMgcGFuZWwuXG4vLy8gQHR5cGUgTWFwXG4kb2ZmY2FudmFzLXNpemVzOiAoXG4gIHNtYWxsOiAyNTBweCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgbWFwIG9mIGEgdG9wL2JvdHRvbSBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIE1hcFxuJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplczogKFxuICBzbWFsbDogMjUwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhbiBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIENvbG9yXG4kb2ZmY2FudmFzLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyBmb3IgdGhlIG9mZi1jYW52YXMgb3ZlcmxhcCBwYW5lbC5cbi8vLyBAdHlwZSBTaGFkb3dcbiRvZmZjYW52YXMtc2hhZG93OiAwIDAgMTBweCByZ2JhKCRibGFjaywgMC43KSAhZGVmYXVsdDtcblxuLy8vIElubmVyIGJveCBzaGFkb3cgc2l6ZSBmb3IgdGhlIG9mZi1jYW52YXMgcHVzaCBwYW5lbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemU6IDIwcHggIWRlZmF1bHQ7XG5cbi8vLyBJbm5lciBib3ggc2hhZG93IGNvbG9yIGZvciB0aGUgb2ZmLWNhbnZhcyBwdXNoIHBhbmVsLlxuLy8vIEB0eXBlIENvbG9yXG4kb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcjogcmdiYSgkYmxhY2ssIDAuMjUpICFkZWZhdWx0O1xuXG4vLy8gWi1pbmRleCBvZiBhbiBvZmYtY2FudmFzIGNvbnRlbnQgb3ZlcmxheS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXg6IDExICFkZWZhdWx0O1xuXG4vLy8gWi1pbmRleCBvZiBhbiBvZmYtY2FudmFzIHBhbmVsIHdpdGggdGhlIGBwdXNoYCB0cmFuc2l0aW9uLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1wdXNoLXppbmRleDogMTIgIWRlZmF1bHQ7XG5cbi8vLyBaLWluZGV4IG9mIGFuIG9mZi1jYW52YXMgcGFuZWwgd2l0aCB0aGUgYG92ZXJsYXBgIHRyYW5zaXRpb24uXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4OiAxMyAhZGVmYXVsdDtcblxuLy8vIFotaW5kZXggb2YgYW4gb2ZmLWNhbnZhcyBwYW5lbCB1c2luZyB0aGUgYHJldmVhbC1mb3ItKmAgY2xhc3NlcyBvciBtaXhpbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtcmV2ZWFsLXppbmRleDogMTIgIWRlZmF1bHQ7XG5cbi8vLyBMZW5ndGggb2YgdGhlIGFuaW1hdGlvbiBvbiBhbiBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aDogMC41cyAhZGVmYXVsdDtcblxuLy8vIFRpbWluZyBmdW5jdGlvbiBvZiB0aGUgYW5pbWF0aW9uIG9uIGFuIG9mZi1jYW52YXMgcGFuZWwuXG4vLy8gQHR5cGUgS2V5d29yZFxuJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZzogZWFzZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgYSByZXZlYWxlZCBvZmYtY2FudmFzIHdpbGwgYmUgZml4ZWQtcG9zaXRpb24sIGFuZCBzY3JvbGwgd2l0aCB0aGUgc2NyZWVuLlxuLy8vIEB0eXBlIEJvb2xcbiRvZmZjYW52YXMtZml4ZWQtcmV2ZWFsOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgdGhlIG92ZXJsYXkgdGhhdCBhcHBlYXJzIHdoZW4gYW4gb2ZmLWNhbnZhcyBwYW5lbCBpcyBvcGVuLlxuLy8vIEB0eXBlIENvbG9yXG4kb2ZmY2FudmFzLWV4aXQtYmFja2dyb3VuZDogcmdiYSgkd2hpdGUsIDAuMjUpICFkZWZhdWx0O1xuXG4vLy8gQ1NTIGNsYXNzIHVzZWQgZm9yIHRoZSBtYWluIGNvbnRlbnQgYXJlYS4gVGhlIG9mZi1jYW52YXMgbWl4aW5zIHVzZSB0aGlzIHRvIHRhcmdldCB0aGUgcGFnZSBjb250ZW50LlxuJG1haW5jb250ZW50LWNsYXNzOiAnb2ZmLWNhbnZhcy1jb250ZW50JyAhZGVmYXVsdDtcblxuLy8vIEFkZHMgYmFzZWxpbmUgc3R5bGVzIGZvciBvZmYtY2FudmFzLiBUaGlzIENTUyBpcyByZXF1aXJlZCB0byBtYWtlIHRoZSBvdGhlciBwaWVjZXMgd29yay5cbkBtaXhpbiBvZmYtY2FudmFzLWJhc2ljcyB7XG5cbiAgLy8vIFRyYW5zZm9ybSBkZXByZWNhdGVkIHNpemUgc2V0dGluZ3MgaW50byBtYXAgJiBzaG93IHdhcm5pbmdcbiAgQGlmIHZhcmlhYmxlLWV4aXN0cyhvZmZjYW52YXMtc2l6ZSkge1xuICAgICRvZmZjYW52YXMtc2l6ZXM6IChzbWFsbDogJG9mZmNhbnZhcy1zaXplLCBtZWRpdW06ICRvZmZjYW52YXMtc2l6ZSkgIWdsb2JhbDtcbiAgICBAd2FybiAnJG9mZmNhbnZhcy1zaXplIGlzIGRlcHJlY2F0ZWQgYW5kIG5vdCB1c2VkIGFueW1vcmUhIFBsZWFzZSB1cGRhdGUgeW91ciBzZXR0aW5ncyBhbmQgdXNlIHRoZSBtYXAgJG9mZmNhbnZhcy1zaXplcyBpbnN0ZWFkJztcbiAgfVxuICBAaWYgdmFyaWFibGUtZXhpc3RzKG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplKSB7XG4gICAgJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplczogKHNtYWxsOiAkb2ZmY2FudmFzLXZlcnRpY2FsLXNpemUsIG1lZGl1bTogJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplKSAhZ2xvYmFsO1xuICAgIEB3YXJuICckb2ZmY2FudmFzLXZlcnRpY2FsLXNpemUgaXMgZGVwcmVjYXRlZCBhbmQgbm90IHVzZWQgYW55bW9yZSEgUGxlYXNlIHVwZGF0ZSB5b3VyIHNldHRpbmdzIGFuZCB1c2UgdGhlIG1hcCAkb2ZmY2FudmFzLXZlcnRpY2FsLXNpemVzIGluc3RlYWQnO1xuICB9XG5cbiAgLy8gQ2hlY2tzIHRoZSB6LWluZGV4ZXMgYW5kIGluY3JlYXNlIHRoZW0gZHVlIHRvIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5LlxuICAvLyBUaGlzIGlzIG5lY2Vzc2FyeSBiZWNhdXNlIHRoZSBvdmVybGF5J3Mgei1pbmRleCBpcyBuZXcgc2luY2UgdjYuNCBhbmQgbWF5IGJlIGlkZW50aWNhbCB0byB0aGUgdXNlciBjdXN0b20gc2V0dGluZ3Mgb2YgdGhlIHB1c2ggei1pbmRleC5cbiAgQGlmICRvZmZjYW52YXMtcHVzaC16aW5kZXggPD0gJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleCB7ICRvZmZjYW52YXMtcHVzaC16aW5kZXg6ICRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXggKyAxICFnbG9iYWw7IH1cbiAgQGlmICRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXggPD0gJG9mZmNhbnZhcy1wdXNoLXppbmRleCB7ICRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXg6ICRvZmZjYW52YXMtcHVzaC16aW5kZXggKyAxICFnbG9iYWw7IH1cbiAgQGlmICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleCA8PSAkb2ZmY2FudmFzLW92ZXJsYXktemluZGV4IHsgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4OiAkb2ZmY2FudmFzLW92ZXJsYXktemluZGV4ICsgMSAhZ2xvYmFsOyB9XG5cbiAgLy8gSGlkZXMgb3ZlcmZsb3cgb24gYm9keSB3aGVuIGFuIG9mZi1jYW52YXMgcGFuZWwgaXMgb3Blbi5cbiAgLmlzLW9mZi1jYW52YXMtb3BlbiB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gIC8vIE9mZi1jYW52YXMgb3ZlcmxheSAoZ2VuZXJhdGVkIGJ5IEphdmFTY3JpcHQpXG4gIC5qcy1vZmYtY2FudmFzLW92ZXJsYXkge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAkb2ZmY2FudmFzLW92ZXJsYXktemluZGV4O1xuXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoICRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmcsIHZpc2liaWxpdHkgJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aCAkb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nO1xuXG4gICAgYmFja2dyb3VuZDogJG9mZmNhbnZhcy1leGl0LWJhY2tncm91bmQ7XG5cbiAgICBvcGFjaXR5OiAwO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcblxuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAmLmlzLXZpc2libGUge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgfVxuXG4gICAgJi5pcy1jbG9zYWJsZSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuXG4gICAgJi5pcy1vdmVybGF5LWFic29sdXRlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB9XG5cbiAgICAmLmlzLW92ZXJsYXktZml4ZWQge1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgIH1cbiAgfVxufVxuXG4vLyBBZGRzIGJhc2ljIHN0eWxlcyBmb3IgYW4gb2ZmLWNhbnZhcyB3cmFwcGVyLlxuQG1peGluIG9mZi1jYW52YXMtd3JhcHBlcigpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vLy8gQWRkcyBiYXNpYyBzdHlsZXMgZm9yIGFuIG9mZi1jYW52YXMgcGFuZWwuXG5AbWl4aW4gb2ZmLWNhbnZhcy1iYXNlKFxuICAkYmFja2dyb3VuZDogJG9mZmNhbnZhcy1iYWNrZ3JvdW5kLFxuICAkdHJhbnNpdGlvbjogJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aCAkb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nLFxuICAkZml4ZWQ6IHRydWVcbikge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG5cbiAgQGlmICRmaXhlZCA9PSB0cnVlIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gIH1cbiAgQGVsc2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgfVxuXG4gIC8vIFNldCB0aGUgb2ZmLWNhbnZhcyB6LWluZGV4LlxuICB6LWluZGV4OiAkb2ZmY2FudmFzLXB1c2gtemluZGV4O1xuXG4gIC8vIEluY3JlYXNlIENTUyBzcGVjaWZpY2l0eVxuICAmLmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgei1pbmRleDogJG9mZmNhbnZhcy1wdXNoLXppbmRleDtcbiAgfVxuXG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkdHJhbnNpdGlvbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuXG4gIC8vIEhpZGUgaW5hY3RpdmUgb2ZmLWNhbnZhcyB3aXRoaW4gdGhlIGNvbnRlbnQgdGhhdCBoYXZlIHRoZSBzYW1lIHBvc2l0aW9uXG4gICYuaXMtY2xvc2VkIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cblxuICAvLyBPdmVybGFwIG9ubHkgc3R5bGVzLlxuICAmLmlzLXRyYW5zaXRpb24tb3ZlcmxhcCB7XG4gICAgei1pbmRleDogJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleDtcblxuICAgICYuaXMtb3BlbiB7XG4gICAgICBib3gtc2hhZG93OiAkb2ZmY2FudmFzLXNoYWRvdztcbiAgICB9XG4gIH1cblxuICAvLyBTZXRzIHRyYW5zZm9ybSB0byAwIHRvIHNob3cgYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbiAgJi5pcy1vcGVuIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgdG8gcG9zaXRpb24gYW4gb2ZmLWNhbnZhcyBwYW5lbCB0byB0aGUgbGVmdC9yaWdodC90b3AvYm90dG9tLlxuQG1peGluIG9mZi1jYW52YXMtcG9zaXRpb24oXG4gICRwb3NpdGlvbjogbGVmdCxcbiAgJG9yaWVudGF0aW9uOiBob3Jpem9udGFsLFxuICAkc2l6ZXM6IGlmKCRvcmllbnRhdGlvbiA9PSBob3Jpem9udGFsLCAkb2ZmY2FudmFzLXNpemVzLCAkb2ZmY2FudmFzLXZlcnRpY2FsLXNpemVzKVxuKSB7XG4gIEBpZiAkcG9zaXRpb24gPT0gbGVmdCB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG5cbiAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgd2lkdGg6ICRzaXplO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLSRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBwb3NpdGlvbiBmb3IgbmVzdGVkIG9mZi1jYW52YXMgZWxlbWVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30gLm9mZi1jYW52YXMucG9zaXRpb24tI3skcG9zaXRpb259IHtcblxuICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLSRzaXplKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIG9wZW4gcG9zaXRpb24gZm9yIHRoZSBjb250ZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfS5pcy1vcGVuLSN7JHBvc2l0aW9ufSB7XG4gICAgICAmLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJHNpemUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gcmlnaHQge1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcblxuICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICB3aWR0aDogJHNpemU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgkc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgcG9zaXRpb24gZm9yIG5lc3RlZCBvZmYtY2FudmFzIGVsZW1lbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9IC5vZmYtY2FudmFzLnBvc2l0aW9uLSN7JHBvc2l0aW9ufSB7XG5cbiAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRzaXplKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIG9wZW4gcG9zaXRpb24gZm9yIHRoZSBjb250ZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfS5pcy1vcGVuLSN7JHBvc2l0aW9ufSB7XG4gICAgICAmLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLSRzaXplKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHRvcCB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcblxuICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICBoZWlnaHQ6ICRzaXplO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBwb3NpdGlvbiBmb3IgbmVzdGVkIG9mZi1jYW52YXMgZWxlbWVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30gLm9mZi1jYW52YXMucG9zaXRpb24tI3skcG9zaXRpb259IHtcbiAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBvcGVuIHBvc2l0aW9uIGZvciB0aGUgY29udGVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30uaXMtb3Blbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRzaXplKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IGJvdHRvbSB7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcblxuICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICBoZWlnaHQ6ICRzaXplO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIHBvc2l0aW9uIGZvciBuZXN0ZWQgb2ZmLWNhbnZhcyBlbGVtZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAub2ZmLWNhbnZhcy5wb3NpdGlvbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJHNpemUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgb3BlbiBwb3NpdGlvbiBmb3IgdGhlIGNvbnRlbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9LmlzLW9wZW4tI3skcG9zaXRpb259IHtcbiAgICAgICYuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJHNpemUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIElmICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUgaXMgc2V0LCBhZGQgaW5uZXIgYm94LXNoYWRvdy5cbiAgLy8gVGhpcyBtaW1pY3MgdGhlIG9mZi1jYW52YXMgcGFuZWwgaGF2aW5nIGEgbG93ZXIgei1pbmRleCwgd2l0aG91dCBoYXZpbmcgdG8gaGF2ZSBvbmUuXG4gIEBpZiAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplIHtcbiAgICAmLmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgICBAaWYgJHBvc2l0aW9uID09IGxlZnQge1xuICAgICAgICBAaW5jbHVkZSBpbm5lci1zaWRlLXNoYWRvdyhyaWdodCwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3IpO1xuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHJpZ2h0IHtcbiAgICAgICAgQGluY2x1ZGUgaW5uZXItc2lkZS1zaGFkb3cobGVmdCwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3IpO1xuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHRvcCB7XG4gICAgICAgIEBpbmNsdWRlIGlubmVyLXNpZGUtc2hhZG93KGJvdHRvbSwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3IpO1xuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJHBvc2l0aW9uID09IGJvdHRvbSB7XG4gICAgICAgIEBpbmNsdWRlIGlubmVyLXNpZGUtc2hhZG93KHRvcCwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3IpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG59XG5cbi8vLyBTZXRzIHRoZSBzdHlsZXMgZm9yIHRoZSBjb250ZW50IGNvbnRhaW5lci5cbkBtaXhpbiBvZmYtY2FudmFzLWNvbnRlbnQoKSB7XG4gIHRyYW5zZm9ybTogbm9uZTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZztcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gIC8vIFRyYW5zZm9ybSBzY29wZSB1bnRpbCB0aGUgZWxlbWVudCBpcyBjbG9zZWQgKG1ha2VzIHN1cmUgdHJhbnNpdGlvbmVuZCBnZXRzIHRyaWdnZXJlZClcbiAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgfVxuXG4gIC8vIENvbnNpZGVyIGVsZW1lbnQgJiBjb250ZW50LCBuZXN0ZWQgaW4gYW5vdGhlciBjb250ZW50XG4gIC5vZmYtY2FudmFzLmlzLW9wZW4ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyB0aGF0IHJldmVhbCBhbiBvZmYtY2FudmFzIHBhbmVsLlxuQG1peGluIG9mZi1jYW52YXMtcmV2ZWFsKFxuJHBvc2l0aW9uOiBsZWZ0LFxuJHppbmRleDogJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4LFxuJGNvbnRlbnQ6ICRtYWluY29udGVudC1jbGFzcyxcbiRicmVha3BvaW50OiBzbWFsbFxuKSB7XG4gIHRyYW5zZm9ybTogbm9uZTtcbiAgei1pbmRleDogJHppbmRleDtcbiAgdHJhbnNpdGlvbjogbm9uZTtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcblxuICBAaWYgbm90ICRvZmZjYW52YXMtZml4ZWQtcmV2ZWFsIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cblxuICAuY2xvc2UtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLy8gQ29uc2lkZXIgcmV2ZWFsZWQgZWxlbWVudCBpcyBuZXN0ZWQgaW4gY29udGVudFxuICAuI3skbWFpbmNvbnRlbnQtY2xhc3N9ICYge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuXG4gIEBhdC1yb290IC4jeyRjb250ZW50fS5oYXMtcmV2ZWFsLSN7JHBvc2l0aW9ufSB7XG4gICAgbWFyZ2luLSN7JHBvc2l0aW9ufTogLXpmLWdldC1icC12YWwoJG9mZmNhbnZhcy1zaXplcywgJGJyZWFrcG9pbnQpO1xuICB9XG5cbiAgLy8gYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgKHByaW9yIHRvIHY2LjQpXG4gICYgfiAuI3skY29udGVudH0ge1xuICAgIG1hcmdpbi0jeyRwb3NpdGlvbn06IC16Zi1nZXQtYnAtdmFsKCRvZmZjYW52YXMtc2l6ZXMsICRicmVha3BvaW50KTtcbiAgfVxufVxuXG4vLy8gT3ZlcnJpZGVzIHRoZSBvZmYtY2FudmFzIHN0eWxlc1xuQG1peGluIGluLWNhbnZhcygpIHtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBwb3NpdGlvbjogc3RhdGljO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICB3aWR0aDogYXV0bztcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIHRyYW5zaXRpb246IG5vbmU7XG5cbiAgLy8gSW5jcmVhc2UgQ1NTIHNwZWNpZmljaXR5XG4gICYucG9zaXRpb24tbGVmdCxcbiAgJi5wb3NpdGlvbi1yaWdodCxcbiAgJi5wb3NpdGlvbi10b3AsXG4gICYucG9zaXRpb24tYm90dG9tIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuXG4gIC5jbG9zZS1idXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tb2ZmLWNhbnZhcyB7XG4gIEBpbmNsdWRlIG9mZi1jYW52YXMtYmFzaWNzO1xuXG4gIC8vIE9mZi1jYW52YXMgd3JhcHBlclxuICAub2ZmLWNhbnZhcy13cmFwcGVyIHtcbiAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXdyYXBwZXI7XG4gIH1cblxuICAvLyBPZmYtY2FudmFzIGNvbnRhaW5lclxuICAub2ZmLWNhbnZhcyB7XG4gICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1iYXNlO1xuXG4gICAgLy8gRm9yY2UgcG9zaXRpb24gYWJzb2x1dGUgZm9yIG5lc3RlZCBvZmYtY2FudmFzIGJlY2F1c2UgZml4ZWQgZG9lc24ndCB3b3JrIGZvciBwdXNoIHRyYW5zaXRpb24gd2l0aGluIHRoZSB0cmFuc2Zvcm0gc2NvcGUuXG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAmIHtcbiAgICAgIC8vIE5PVEU6IHNpbmNlIG92ZXJsYXAgdHJhbnNpdGlvbiBpcyBjdXJyZW50bHkgZm9yY2VkIGlmIG5lc3RlZCwgdGhlcmUncyBubyBuZWVkIHRvIGZvcmNlIHBvc2l0aW9uIGFic29sdXRlIHVudGlsIG5lc3RlZCBwdXNoIHRyYW5zaXRpb24gaXMgc3VwcG9ydGVkLlxuICAgICAgLy8gcG9zaXRpb246IGFic29sdXRlO1xuICAgIH1cbiAgfVxuXG4gIC8vIE9mZi1jYW52YXMgY29udGFpbmVyIHdpdGggYWJzb2x1dGUgcG9zaXRpb25cbiAgLm9mZi1jYW52YXMtYWJzb2x1dGUge1xuICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtYmFzZSgkZml4ZWQ6IGZhbHNlKTtcbiAgfVxuXG4gIC8vIE9mZi1jYW52YXMgcG9zaXRpb24gY2xhc3Nlc1xuICAucG9zaXRpb24tbGVmdCAgICB7IEBpbmNsdWRlIG9mZi1jYW52YXMtcG9zaXRpb24obGVmdCwgICBob3Jpem9udGFsKTsgfVxuICAucG9zaXRpb24tcmlnaHQgICB7IEBpbmNsdWRlIG9mZi1jYW52YXMtcG9zaXRpb24ocmlnaHQsICBob3Jpem9udGFsKTsgfVxuICAucG9zaXRpb24tdG9wICAgICB7IEBpbmNsdWRlIG9mZi1jYW52YXMtcG9zaXRpb24odG9wLCAgICB2ZXJ0aWNhbCk7IH1cbiAgLnBvc2l0aW9uLWJvdHRvbSAgeyBAaW5jbHVkZSBvZmYtY2FudmFzLXBvc2l0aW9uKGJvdHRvbSwgdmVydGljYWwpOyB9XG5cbiAgLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1jb250ZW50O1xuICB9XG5cbiAgLy8gUmV2ZWFsIG9mZi1jYW52YXMgcGFuZWwgb24gbGFyZ2VyIHNjcmVlbnNcbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJG5hbWUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbChsZWZ0LCAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXgsICRtYWluY29udGVudC1jbGFzcywgJG5hbWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtcmV2ZWFsKHJpZ2h0LCAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXgsICRtYWluY29udGVudC1jbGFzcywgJG5hbWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbCh0b3AsICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleCwgJG1haW5jb250ZW50LWNsYXNzLCAkbmFtZSk7XG4gICAgICAgIH1cblxuICAgICAgICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtcmV2ZWFsKGJvdHRvbSwgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4LCAkbWFpbmNvbnRlbnQtY2xhc3MsICRuYW1lKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIE1vdmUgaW4tY2FudmFzIGZvciBsYXJnZXIgc2NyZWVuc1xuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkbmFtZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGluLWNhbnZhcztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCByZXZlYWxcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiBhIG1vZGFsLlxuLy8vIEB0eXBlIENvbG9yXG4kcmV2ZWFsLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgd2lkdGggb2YgYSBtb2RhbCwgd2l0aCBubyBjbGFzcyBhcHBsaWVkLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC13aWR0aDogNjAwcHggIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1heGltdW0gd2lkdGggb2YgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtbWF4LXdpZHRoOiAkZ2xvYmFsLXdpZHRoICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBhIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBhcm91bmQgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gei1pbmRleCBmb3IgbW9kYWxzLiBUaGUgb3ZlcmxheSB1c2VzIHRoaXMgdmFsdWUsIHdoaWxlIHRoZSBtb2RhbCBpdHNlbGYgdXNlcyB0aGlzIHZhbHVlIHBsdXMgb25lLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC16aW5kZXg6IDEwMDUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIG1vZGFsIG92ZXJsYXlzLlxuLy8vIEB0eXBlIENvbG9yXG4kcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNDUpICFkZWZhdWx0O1xuXG5cbi8vIFBsYWNlaG9sZGVyIHNlbGVjdG9yIGZvciBtZWRpdW0tYW5kLXVwIG1vZGFsc1xuLy8gUHJldmVudHMgZHVwbGljYXRlIENTUyB3aGVuIGRlZmluaW5nIG11bHRpcGxlIFJldmVhbCBzaXplc1xuLy8gVGhpcyBzaG91bGQgYmUgaW4gdGhlIHNhbWUgYnJlYWtwb2ludCB0aGVuIGBAbWl4aW4gcmV2ZWFsLW1vZGFsLXdpZHRoYFxuQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgJXJldmVhbC1jZW50ZXJlZCB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogYXV0bztcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxufVxuXG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBtb2RhbCBvdmVybGF5LlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBvdmVybGF5LlxuQG1peGluIHJldmVhbC1vdmVybGF5KCRiYWNrZ3JvdW5kOiAkcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZCkge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHJldmVhbC16aW5kZXg7XG5cbiAgZGlzcGxheTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIG92ZXJmbG93LXk6IGF1dG87XG59XG5cbi8vLyBBZGRzIGJhc2Ugc3R5bGVzIGZvciBhIG1vZGFsLlxuQG1peGluIHJldmVhbC1tb2RhbC1iYXNlIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICB6LWluZGV4OiAkcmV2ZWFsLXppbmRleCArIDE7XG4gIC8vIFdvcmthcm91bmQgYW5kcm9pZCBicm93c2VyIHotaW5kZXggYnVnXG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblxuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAkcmV2ZWFsLXBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkcmV2ZWFsLWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHJldmVhbC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRyZXZlYWwtYmFja2dyb3VuZDtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIG1pbi1oZWlnaHQ6IDA7XG4gIH1cblxuICAvLyBNYWtlIHN1cmUgcm93cyBkb24ndCBoYXZlIGEgbWluLXdpZHRoIG9uIHRoZW1cbiAgLmNvbHVtbiB7XG4gICAgbWluLXdpZHRoOiAwO1xuICB9XG5cbiAgLy8gU3RyaXAgbWFyZ2lucyBmcm9tIHRoZSBsYXN0IGl0ZW0gaW4gdGhlIG1vZGFsXG4gID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEFkanVzdHMgdGhlIHdpZHRoIG9mIGEgbW9kYWwuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCAtIFdpZHRoIG9mIHRoZSBtb2RhbC4gR2VuZXJhbGx5IGEgcGVyY2VudGFnZS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1heC13aWR0aCBbJHJldmVhbC1tYXgtd2lkdGhdIC0gTWF4aW11bSB3aWR0aCBvZiB0aGUgbW9kYWwuXG5AbWl4aW4gcmV2ZWFsLW1vZGFsLXdpZHRoKFxuICAkd2lkdGg6ICRyZXZlYWwtd2lkdGgsXG4gICRtYXgtd2lkdGg6ICRyZXZlYWwtbWF4LXdpZHRoXG4pIHtcbiAgLy8gRXh0ZW5kcyBtdXN0IGJlIG1hZGUgb3V0c2lkZSBvZiBicmVha3BvaW50cyBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIG5ld2VyIFNhc3MgdmVyc2lvbnMgKGxpYnNhc3MgdjMuNSlcbiAgQGV4dGVuZCAlcmV2ZWFsLWNlbnRlcmVkO1xuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIHdpZHRoOiAkd2lkdGg7XG4gICAgbWF4LXdpZHRoOiAkbWF4LXdpZHRoO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgZnVsbC1zY3JlZW4gbW9kYWwsIHdoaWNoIHN0cmV0Y2hlcyB0aGUgZnVsbCB3aWR0aCBhbmQgaGVpZ2h0IG9mIHRoZSB3aW5kb3cuXG5AbWl4aW4gcmV2ZWFsLW1vZGFsLWZ1bGxzY3JlZW4ge1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG5cbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBoZWlnaHQ6IDEwMHZoOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLWR1cGxpY2F0ZS1wcm9wZXJ0aWVzXG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICBtYXJnaW4tbGVmdDogMDtcblxuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXJldmVhbCB7XG5cbiAgLy8vIERpc2FibGVzIHRoZSBzY3JvbGwgd2hlbiBSZXZlYWwgaXMgc2hvd24gdG8gcHJldmVudCB0aGUgYmFja2dyb3VuZCBmcm9tIHNoaWZ0aW5nXG4gIGh0bWwuaXMtcmV2ZWFsLW9wZW4ge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdy15OiBoaWRkZW47XG5cbiAgICAmLnpmLWhhcy1zY3JvbGwge1xuICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgIH1cblxuICAgIGJvZHkgeyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgICB9XG4gIH1cblxuICAvLyBPdmVybGF5XG4gIC5yZXZlYWwtb3ZlcmxheSB7XG4gICAgQGluY2x1ZGUgcmV2ZWFsLW92ZXJsYXk7XG4gIH1cblxuICAvLyBNb2RhbCBjb250YWluZXJcbiAgLnJldmVhbCB7XG4gICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWJhc2U7XG4gICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKCRyZXZlYWwtd2lkdGgpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDEwMHB4O1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuXG4gICAgLy8gUmVtb3ZlIHBhZGRpbmdcbiAgICAmLmNvbGxhcHNlIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLy8gU2l6aW5nIGNsYXNzZXNcbiAgICAmLnRpbnkgIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKDMwJSk7IH1cbiAgICAmLnNtYWxsIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKDUwJSk7IH1cbiAgICAmLmxhcmdlIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKDkwJSk7IH1cblxuICAgIC8vIEZ1bGwtc2NyZWVuIG1vZGVcbiAgICAmLmZ1bGwge1xuICAgICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWZ1bGxzY3JlZW47XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXplcm8tYnJlYWtwb2ludCBvbmx5KSB7XG4gICAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtZnVsbHNjcmVlbjtcbiAgICB9XG5cbiAgICAmLndpdGhvdXQtb3ZlcmxheSB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQG1peGluIGZvdW5kYXRpb24tc3RpY2t5IHtcbiAgLnN0aWNreS1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC5zdGlja3kge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICAuc3RpY2t5LmlzLXN0dWNrIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgei1pbmRleDogNTtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgICYuaXMtYXQtdG9wIHtcbiAgICAgIHRvcDogMDtcbiAgICB9XG5cbiAgICAmLmlzLWF0LWJvdHRvbSB7XG4gICAgICBib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgLnN0aWNreS5pcy1hbmNob3JlZCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IGF1dG87XG5cbiAgICAmLmlzLWF0LWJvdHRvbSB7XG4gICAgICBib3R0b206IDA7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0aXRsZS1iYXJcbi8vLy9cblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0aXRsZWJhci1iYWNrZ3JvdW5kOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiB0ZXh0IGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRpdGxlYmFyLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBMZW5ndGhcbiR0aXRsZWJhci1wYWRkaW5nOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiB0ZXh0IGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBXZWlnaHRcbiR0aXRsZWJhci10ZXh0LWZvbnQtd2VpZ2h0OiBib2xkICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgbWVudSBpY29ucyBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0aXRsZWJhci1pY29uLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBtZW51IGljb25zIGluc2lkZSBhIHRpdGxlIGJhciBvbiBob3Zlci5cbi8vLyBAdHlwZSBDb2xvclxuJHRpdGxlYmFyLWljb24tY29sb3ItaG92ZXI6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiB0aGUgbWVudSBpY29uIGFuZCB0ZXh0IGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBMZW5ndGhcbiR0aXRsZWJhci1pY29uLXNwYWNpbmc6IDAuMjVyZW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRpdGxlLWJhciB7XG4gIC50aXRsZS1iYXIge1xuICAgIHBhZGRpbmc6ICR0aXRsZWJhci1wYWRkaW5nO1xuICAgIGJhY2tncm91bmQ6ICR0aXRsZWJhci1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkdGl0bGViYXItY29sb3I7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICB9XG5cbiAgICAubWVudS1pY29uIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICR0aXRsZWJhci1pY29uLXNwYWNpbmc7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHRpdGxlYmFyLWljb24tc3BhY2luZztcbiAgICB9XG4gIH1cblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAudGl0bGUtYmFyLWxlZnQsXG4gICAgLnRpdGxlLWJhci1yaWdodCB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgIH1cblxuICAgIC50aXRsZS1iYXItcmlnaHQge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAudGl0bGUtYmFyLWxlZnQge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuXG4gICAgLnRpdGxlLWJhci1yaWdodCB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG4gIH1cblxuICAudGl0bGUtYmFyLXRpdGxlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBmb250LXdlaWdodDogJHRpdGxlYmFyLXRleHQtZm9udC13ZWlnaHQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRvcC1iYXJcbi8vLy9cblxuLy8vIFBhZGRpbmcgZm9yIHRoZSB0b3AgYmFyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvcGJhci1wYWRkaW5nOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgdG9wIGJhci4gVGhpcyBjb2xvciBhbHNvIGNhc2NhZGVzIHRvIG1lbnVzIHdpdGhpbiB0aGUgdG9wIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRvcGJhci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igc3VibWVudXMgd2l0aGluIHRoZSB0b3AgYmFyLiBVc2VmdWxsIGlmICR0b3BiYXItYmFja2dyb3VuZCBpcyB0cmFuc3BhcmVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQ6ICR0b3BiYXItYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgZm9yIHRoZSB0b3AgYmFyIHRpdGxlLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvcGJhci10aXRsZS1zcGFjaW5nOiAwLjVyZW0gMXJlbSAwLjVyZW0gMCAhZGVmYXVsdDtcblxuLy8vIE1heGltdW0gd2lkdGggb2YgYDxpbnB1dD5gIGVsZW1lbnRzIGluc2lkZSB0aGUgdG9wIGJhci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b3BiYXItaW5wdXQtd2lkdGg6IDIwMHB4ICFkZWZhdWx0O1xuXG4vLy8gQnJlYWtwb2ludCBhdCB3aGljaCB0b3AgYmFyIHN3aXRjaGVzIGZyb20gbW9iaWxlIHRvIGRlc2t0b3Agdmlldy5cbi8vLyBAdHlwZSBCcmVha3BvaW50XG4kdG9wYmFyLXVuc3RhY2stYnJlYWtwb2ludDogbWVkaXVtICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgdG9wIGJhciBjb250YWluZXIuXG5AbWl4aW4gdG9wLWJhci1jb250YWluZXIge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgfVxuXG4gIHBhZGRpbmc6ICR0b3BiYXItcGFkZGluZztcblxuICAmLFxuICB1bCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRvcGJhci1iYWNrZ3JvdW5kO1xuICB9XG5cbiAgLy8gQ2hlY2sgaWYgJHRvcGJhci1iYWNrZ3JvdW5kIGlzIGRpZmZlcm50IGZyb20gJHRvcGJhci1iYWNrZ3JvdW5kLXN1Ym1lbnVcbiAgQGlmICgkdG9wYmFyLWJhY2tncm91bmQgIT0gJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQpIHtcbiAgICB1bCB1bCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9wYmFyLXN1Ym1lbnUtYmFja2dyb3VuZDtcbiAgICB9XG4gIH1cblxuICAvLyBSZXN0cmFpbiB3aWR0aCBvZiBpbnB1dHMgYnkgZGVmYXVsdCB0byBtYWtlIHRoZW0gZWFzaWVyIHRvIGFycmFuZ2VcbiAgaW5wdXQge1xuICAgIG1heC13aWR0aDogJHRvcGJhci1pbnB1dC13aWR0aDtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgfVxuXG4gIC8vIFRoZSBhYm92ZSBzdHlsZXMgc2hvdWxkbid0IGFwcGx5IHRvIGlucHV0IGdyb3VwIGZpZWxkc1xuICAuaW5wdXQtZ3JvdXAtZmllbGQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICB9XG5cbiAgaW5wdXQuYnV0dG9uIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbn1cblxuLy8vIE1ha2VzIHNlY3Rpb25zIG9mIGEgdG9wIGJhciBzdGFjayBvbiB0b3Agb2YgZWFjaCBvdGhlci5cbkBtaXhpbiB0b3AtYmFyLXN0YWNrZWQge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAvLyBTdWItc2VjdGlvbnNcbiAgICAudG9wLWJhci1sZWZ0LFxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLy8gU3ViLXNlY3Rpb25zXG4gICAgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFVuZG9lcyB0aGUgQ1NTIGFwcGxpZWQgYnkgdGhlIGB0b3AtYmFyLXN0YWNrZWQoKWAgbWl4aW4uXG5AbWl4aW4gdG9wLWJhci11bnN0YWNrIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG5cbiAgICAudG9wLWJhci1sZWZ0IHtcbiAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIH1cblxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAudG9wLWJhci1sZWZ0LFxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10b3AtYmFyIHtcbiAgLy8gVG9wIGJhciBjb250YWluZXJcbiAgLnRvcC1iYXIge1xuICAgIEBpbmNsdWRlIHRvcC1iYXItY29udGFpbmVyO1xuXG4gICAgLy8gU3RhY2sgb24gc21hbGwgc2NyZWVucyBieSBkZWZhdWx0XG4gICAgQGluY2x1ZGUgdG9wLWJhci1zdGFja2VkO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdG9wYmFyLXVuc3RhY2stYnJlYWtwb2ludCkge1xuICAgICAgQGluY2x1ZGUgdG9wLWJhci11bnN0YWNrO1xuICAgIH1cblxuICAgIC8vIEdlbmVyYXRlIGNsYXNzZXMgZm9yIHN0YWNraW5nIG9uIGVhY2ggc2NyZWVuIHNpemUgKGRlZmluZWQgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcylcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICYuc3RhY2tlZC1mb3ItI3skc2l6ZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgZG93bikge1xuICAgICAgICAgICAgQGluY2x1ZGUgdG9wLWJhci1zdGFja2VkO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFN1Yi1zZWN0aW9uc1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAudG9wLWJhci10aXRsZSB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIG1hcmdpbjogJHRvcGJhci10aXRsZS1zcGFjaW5nO1xuICAgIH1cblxuICAgIC50b3AtYmFyLWxlZnQsXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAudG9wLWJhci10aXRsZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHBhZGRpbmc6ICR0b3BiYXItdGl0bGUtc3BhY2luZztcblxuICAgICAgLm1lbnUtaWNvbiB7XG4gICAgICAgIGJvdHRvbTogMnB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC50b3AtYmFyLWxlZnQge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZmxvYXRcbi8vLy9cblxuQG1peGluIGZvdW5kYXRpb24tZmxvYXQtY2xhc3NlcyB7XG4gIC5mbG9hdC1sZWZ0IHtcbiAgICBmbG9hdDogbGVmdCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmZsb2F0LXJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5mbG9hdC1jZW50ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgfVxuXG4gIC5jbGVhcmZpeCB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIEZsZXhib3ggVXRpbGl0aWVzXG4vLy8vXG4vL1xuLy8vIERlZmF1bHQgdmFsdWUgZm9yIHRoZSBjb3VudCBvZiBzb3VyY2Ugb3JkZXJpbmdgXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmxleC1zb3VyY2Utb3JkZXJpbmctY291bnQ6IDYgIWRlZmF1bHQ7XG5cbi8vLyBRdWlja2x5IGRpc2FibGUvZW5hYmxlIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIFZhbmlsbGEgRmxleCBIZWxwZXJzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRmbGV4Ym94LXJlc3BvbnNpdmUtYnJlYWtwb2ludHM6IHRydWUgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmbGV4LWhlbHBlcnMge1xuICAuZmxleC1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIGZsZXg7XG4gIH1cblxuICAuZmxleC1jaGlsZC1hdXRvIHtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgfVxuXG4gIC5mbGV4LWNoaWxkLWdyb3cge1xuICAgIGZsZXg6IDEgMCBhdXRvO1xuICB9XG5cbiAgLmZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgfVxuXG4gIEBlYWNoICRkaXIsICRwcm9wIGluICQtemYtZmxleC1kaXJlY3Rpb24ge1xuICAgIC5mbGV4LWRpci0jeyRkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKCRwcm9wKTtcbiAgICB9XG4gIH1cblxuICBAaWYgKCRmbGV4Ym94LXJlc3BvbnNpdmUtYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWNvbnRhaW5lciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWNoaWxkLWF1dG8ge1xuICAgICAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LWZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgICAgICAgICBmbGV4OiAxIDAgYXV0bztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tZmxleC1jaGlsZC1zaHJpbmsge1xuICAgICAgICAgICAgZmxleDogMCAxIGF1dG87XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGVhY2ggJGRpciwgJHByb3AgaW4gJC16Zi1mbGV4LWRpcmVjdGlvbiB7XG4gICAgICAgICAgICAuI3skc2l6ZX0tZmxleC1kaXItI3skZGlyfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKCRwcm9wKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZmxleC1jbGFzc2VzIHtcbiAgLy8gSG9yaXpvbnRhbCBhbGlnbm1lbnQgdXNpbmcganVzdGlmeS1jb250ZW50XG4gIEBlYWNoICRoZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtanVzdGlmeSB7XG4gICAgLmFsaWduLSN7JGhkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHg6ICRoZGlyKTtcbiAgICB9XG4gIH1cbiAgXG4gIC8vIEhvcml6b250YWwgYWxpZ25tZW50IFNwZWNpZmljYWxseSBmb3IgVmVydGljYWwgTWVudVxuICBAZWFjaCAkaGRpciwgJHByb3AgaW4gbWFwLXJlbW92ZSgkLXpmLWZsZXgtanVzdGlmeSwgJ2p1c3RpZnknLCAnc3BhY2VkJykge1xuICAgIC5hbGlnbi0jeyRoZGlyfSB7XG4gICAgICAmLnZlcnRpY2FsIHtcbiAgICAgICAgJi5tZW51ID4gbGkgPiBhIHtcbiAgICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR4OiAkaGRpcik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBWZXJ0aWNhbCBhbGlnbm1lbnQgdXNpbmcgYWxpZ24taXRlbXMgYW5kIGFsaWduLXNlbGZcbiAgQGVhY2ggJHZkaXIsICRwcm9wIGluICQtemYtZmxleC1hbGlnbiB7XG4gICAgLmFsaWduLSN7JHZkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHk6ICR2ZGlyKTtcbiAgICB9XG5cbiAgICAuYWxpZ24tc2VsZi0jeyR2ZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduLXNlbGYoJHk6ICR2ZGlyKTtcbiAgICB9XG4gIH1cblxuICAvLyBDZW50cmFsIGFsaWdubWVudCBvZiBjb250ZW50XG4gIC5hbGlnbi1jZW50ZXItbWlkZGxlIHtcbiAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR4OiBjZW50ZXIsICR5OiBtaWRkbGUpO1xuICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxuXG4gIC8vIFNvdXJjZSBvcmRlcmluZ1xuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRmbGV4LXNvdXJjZS1vcmRlcmluZy1jb3VudCB7XG4gICAgICAuI3skLXpmLXNpemV9LW9yZGVyLSN7JGl9IHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1vcmRlcigkaSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gVmFuaWxsYSBGbGV4Ym94IEhlbHBlcnNcbiAgQGluY2x1ZGUgZmxleC1oZWxwZXJzO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLyBIaWRlIGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgb25seSBkaXNwbGF5aW5nIGl0IGFib3ZlIGEgY2VydGFpbiBzY3JlZW4gc2l6ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIHNob3ctZm9yKCRzaXplKSB7XG4gICRzaXplOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHNpemUpO1xuICAvLyBNYXggdmFsdWUgaXMgMC4ycHggdW5kZXIgdGhlIG5leHQgYnJlYWtwb2ludCAoMC4wMiAvIDE2ID0gMC4wMDEyNSkuXG4gIC8vIFVzZSBhIHByZWNpc2lvbiB1bmRlciAxcHggdG8gc3VwcG9ydCBicm93c2VyIHpvb20sIGJ1dCBub3QgdG8gbG93IHRvIGF2b2lkIHJvdW5kaW5nLlxuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3p1cmIvZm91bmRhdGlvbi1zaXRlcy9pc3N1ZXMvMTEzMTNcbiAgJHNpemU6IC16Zi1icC10by1lbSgkc2l6ZSkgLSAuMDAxMjU7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSBkb3duKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBIaWRlIGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgb25seSBkaXNwbGF5aW5nIGl0IHdpdGhpbiBhIGNlcnRhaW4gYnJlYWtwb2ludC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIHNob3ctZm9yLW9ubHkoJHNpemUpIHtcbiAgJGxvd2VyLWJvdW5kLXNpemU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkc2l6ZSk7XG4gICR1cHBlci1ib3VuZC1zaXplOiAtemYtbWFwLW5leHQoJGJyZWFrcG9pbnRzLCAkc2l6ZSk7XG5cbiAgLy8gbW9yZSBvZnRlbiB0aGFuIG5vdCB0aGlzIHdpbGwgYmUgY29ycmVjdCwganVzdCBvbmUgdGltZSByb3VuZCB0aGUgbG9vcCBpdCB3b24ndCBzbyBzZXQgaW4gc2NvcGUgaGVyZVxuICAkbG93ZXItYm91bmQ6IC16Zi1icC10by1lbSgkbG93ZXItYm91bmQtc2l6ZSkgLSAuMDAxMjU7XG4gIC8vIHRlc3QgYWN0dWFsIGxvd2VyLWJvdW5kLXNpemUsIGlmIDAgc2V0IGl0IHRvIDBlbVxuICBAaWYgc3RyaXAtdW5pdCgkbG93ZXItYm91bmQtc2l6ZSkgPT0gMCB7XG4gICAgJGxvd2VyLWJvdW5kOiAtemYtYnAtdG8tZW0oJGxvd2VyLWJvdW5kLXNpemUpO1xuICB9XG5cbiAgQGlmICR1cHBlci1ib3VuZC1zaXplID09IG51bGwge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsb3dlci1ib3VuZCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgJHVwcGVyLWJvdW5kOiAtemYtYnAtdG8tZW0oJHVwcGVyLWJvdW5kLXNpemUpO1xuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxvd2VyLWJvdW5kKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkdXBwZXItYm91bmQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLy8gU2hvdyBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIGFuZCBoaWRlIGl0IGFib3ZlIGEgY2VydGFpbiBzY3JlZW4gc2l6ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIGhpZGUtZm9yKCRzaXplKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIFNob3cgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBhbmQgaGlkZSBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBoaWRlLWZvci1vbmx5KCRzaXplKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgb25seSkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi12aXNpYmlsaXR5LWNsYXNzZXMge1xuICAvLyBCYXNpYyBoaWRpbmcgY2xhc3Nlc1xuICAuaGlkZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmludmlzaWJsZSB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG5cbiAgLy8gUmVzcG9uc2l2ZSB2aXNpYmlsaXR5IGNsYXNzZXNcbiAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgIC5oaWRlLWZvci0jeyRzaXplfSB7XG4gICAgICAgIEBpbmNsdWRlIGhpZGUtZm9yKCRzaXplKTtcbiAgICAgIH1cblxuICAgICAgLnNob3ctZm9yLSN7JHNpemV9IHtcbiAgICAgICAgQGluY2x1ZGUgc2hvdy1mb3IoJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5oaWRlLWZvci0jeyRzaXplfS1vbmx5IHtcbiAgICAgIEBpbmNsdWRlIGhpZGUtZm9yLW9ubHkoJHNpemUpO1xuICAgIH1cblxuICAgIC5zaG93LWZvci0jeyRzaXplfS1vbmx5IHtcbiAgICAgIEBpbmNsdWRlIHNob3ctZm9yLW9ubHkoJHNpemUpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNjcmVlbiByZWFkZXIgdmlzaWJpbGl0eSBjbGFzc2VzXG4gIC8vIE5lZWQgYSBcImhpZGUtZm9yLXNyXCIgY2xhc3M/IEFkZCBhcmlhLWhpZGRlbj0ndHJ1ZScgdG8gdGhlIGVsZW1lbnRcbiAgLnNob3ctZm9yLXNyLFxuICAuc2hvdy1vbi1mb2N1cyB7XG4gICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGU7XG4gIH1cblxuICAvLyBPbmx5IGRpc3BsYXkgdGhlIGVsZW1lbnQgd2hlbiBpdCdzIGZvY3VzZWRcbiAgLnNob3ctb24tZm9jdXMge1xuICAgICY6YWN0aXZlLFxuICAgICY6Zm9jdXMge1xuICAgICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGUtb2ZmO1xuICAgIH1cbiAgfVxuXG4gIC8vIExhbmRzY2FwZSBhbmQgcG9ydHJhaXQgdmlzaWJpbGl0eVxuICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAuaGlkZS1mb3ItcG9ydHJhaXQge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhbmRzY2FwZSkge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHBvcnRyYWl0KSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhbmRzY2FwZSkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQocG9ydHJhaXQpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGVcbi8vLy9cblxuLy8gUmVsYXRpb25hbCBNaXhpbnNcbkBpbXBvcnQgJ3JlbGF0aW9uJztcblxuLy8gQm94IE1peGluXG5AaW1wb3J0ICdib3gnO1xuXG4vLyBSb3RhdGUgTWl4aW5cbkBpbXBvcnQgJ3JvdGF0ZSc7XG5cbi8vIFRleHQgdXRpbGl0aWVzXG5AaW1wb3J0ICd0ZXh0LXV0aWxpdGllcyc7XG5cbi8vIFRleHQgdHJhbnNmb3JtYXRpb24gY2xhc3Nlc1xuQGltcG9ydCAndGV4dC10cmFuc2Zvcm1hdGlvbic7XG5cbi8vIFRleHQgRGVjb3JhdGlvbiBjbGFzc2VzXG5AaW1wb3J0ICd0ZXh0LWRlY29yYXRpb24nO1xuXG4vLyBGb250IFN0eWxpbmdcbkBpbXBvcnQgJ2ZvbnQtc3R5bGluZyc7XG5cbi8vIExpc3QgU3R5bGUgdHlwZVxuQGltcG9ydCAnbGlzdC1zdHlsZS10eXBlJztcblxuLy8gUm91bmRlZCBVdGlsaXR5XG5AaW1wb3J0ICdyb3VuZGVkJztcblxuLy8gQm9yZGVyZWQgVXRpbGl0eVxuQGltcG9ydCAnYm9yZGVyZWQnO1xuXG4vLyBTaGFkb3cgVXRpbGl0eVxuQGltcG9ydCAnc2hhZG93JztcblxuLy8gQXJyb3cgVXRpbGl0eVxuQGltcG9ydCAnYXJyb3cnO1xuXG4vLyBTZXBhcmF0b3IgVXRpbGl0eVxuQGltcG9ydCAnc2VwYXJhdG9yJztcblxuLy8gT3ZlcmZsb3cgaGVscGVyIGNsYXNzZXNcbkBpbXBvcnQgJ292ZXJmbG93JztcblxuLy8gRGlzcGxheSBjbGFzc2VzXG5AaW1wb3J0ICdkaXNwbGF5JztcblxuLy8gUG9zaXRpb24gSGVscGVyc1xuQGltcG9ydCAncG9zaXRpb24nO1xuXG4vLyBCb3JkZXIgYm94XG5AaW1wb3J0ICdib3JkZXItYm94JztcblxuLy8gQm9yZGVyIG5vbmUgVXRpbHR5XG5AaW1wb3J0ICdib3JkZXItbm9uZSc7XG5cbi8vIFNpemluZyBVdGlsaXRpZXNcbkBpbXBvcnQgJ3NpemluZyc7XG5cbi8vIFNwYWNpbmcgVXRpbGl0aWVzXG5AaW1wb3J0ICdzcGFjaW5nJztcblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLWNsYXNzZXMge1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS10ZXh0LXV0aWxpdGllcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wcm90b3R5cGUtdGV4dC10cmFuc2Zvcm1hdGlvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wcm90b3R5cGUtdGV4dC1kZWNvcmF0aW9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS1mb250LXN0eWxpbmc7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLWxpc3Qtc3R5bGUtdHlwZTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wcm90b3R5cGUtcm91bmRlZDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wcm90b3R5cGUtYm9yZGVyZWQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLXNoYWRvdztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wcm90b3R5cGUtYXJyb3c7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLXNlcGFyYXRvcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wcm90b3R5cGUtb3ZlcmZsb3c7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLWRpc3BsYXk7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLXBvc2l0aW9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS1ib3JkZXItYm94O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS1ib3JkZXItbm9uZTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wcm90b3R5cGUtc2l6aW5nO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS1zcGFjaW5nO1xufVxuIiwiLy8vIFNlbGVjdCBhbGwgY2hpbGRyZW4gZnJvbSB0aGUgZmlyc3QgdG8gYCRudW1gLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbnVtW10gRmlyc3QgYG5gIG51bWJlcnMgb2YgdG90YWwgY2hpbGRyZW4gXG5AbWl4aW4gZmlyc3QoJG51bSkge1xuICBAaWYgJG51bSA9PSAxIHtcbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgJjpudGgtY2hpbGQoLW4gKyAjeyRudW19KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFNlbGVjdCB0aGUgZmlyc3QgZXhhY3QgY2hpbGRcbkBtaXhpbiBmaXJzdC1jaGlsZCB7XG4gICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8vIFNlbGVjdCBhbGwgY2hpbGRyZW4gZnJvbSB0aGUgbGFzdCB0byBgJG51bWAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRudW1bXSBMYXN0IGBuYCBudW1iZXJzIG9mIHRvdGFsIGNoaWxkcmVuIFxuQG1peGluIGxhc3QoJG51bSkge1xuICAmOm50aC1sYXN0LWNoaWxkKC1uICsgI3skbnVtfSkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vLyBTZWxlY3QgdGhlIGxhc3QgZXhhY3QgY2hpbGRcbkBtaXhpbiBsYXN0LWNoaWxkIHtcbiAgJjpsYXN0LW9mLXR5cGUge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vLyBTZWxlY3QgY2hpbGRyZW4gZXZlcnkgYCRudW1gLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbnVtW10gRXZlcnkgYG5gIG51bWJlciBvZiBhbGwgY2hpbGRyZW5cbkBtaXhpbiBldmVyeSgkbnVtKSB7XG4gICY6bnRoLWNoaWxkKCN7JG51bX1uKSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8vIFNlbGVjdCBvbmx5IHRoZSBmaXJzdCBhbmQgbGFzdCBjaGlsZC5cbkBtaXhpbiBmaXJzdC1sYXN0IHtcbiAgJjpmaXJzdC1jaGlsZCxcbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLy8gU2VsZWN0IGFsbCBjaGlsZHJlbiBhZnRlciB0aGUgZmlyc3QgdG8gYCRudW1gLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbnVtW10gQWZ0ZXIgRmlyc3QgYG5gIG51bWJlcnMgb2YgdG90YWwgY2hpbGRyZW4gXG5AbWl4aW4gYWZ0ZXItZmlyc3QoJG51bSkge1xuICAmOm50aC1jaGlsZChuICsgI3skbnVtICsgMX0pIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLy8gU2VsZWN0IGFsbCBjaGlsZHJlbiBiZWZvcmUgYCRudW1gIGZyb20gdGhlIGxhc3QuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRudW1bXSBGcm9tIExhc3QgYG5gIG51bWJlcnMgb2YgdG90YWwgY2hpbGRyZW4gXG5AbWl4aW4gZnJvbS1sYXN0KCRudW0pIHtcbiAgJjpudGgtbGFzdC1jaGlsZCgjeyRudW19KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8vIFNlbGVjdCB0aGUgYCRudW1gIGNoaWxkIGZyb20gdGhlIGZpcnN0IGFuZCB0aGUgYCRudW1gIGNoaWxkIGZyb20gdGhlIGxhc3QuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRudW1bXSBgbmAgbnVtYmVyIGNhbGxlZCBmcm9tIGZpcnN0IGFuZCBsYXN0IFxuQG1peGluIGZyb20tZmlyc3QtbGFzdCgkbnVtKSB7XG4gICY6bnRoLWNoaWxkKCN7JG51bX0pLFxuICAmOm50aC1sYXN0LWNoaWxkKCN7JG51bX0pIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLy8gU2VsZWN0IGFsbCBjaGlsZHJlbiBidXQgYCRudW1gLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbnVtW10gYG5gIG51bWJlciB0aGF0IHNob3VsZCBiZSBleGNsdWRlZCBmcm9tIGFsbCBvdGhlciBjaGlsZHJlbiBcbkBtaXhpbiBhbGwtYnV0KCRudW0pIHtcbiAgJjpub3QoOm50aC1jaGlsZCgjeyRudW19KSkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vLyBTZWxlY3QgYWxsIGNoaWxkcmVuIGJldHdlZW4gdGhlIGAkbnVtYCBmaXJzdCBhbmQgdGhlIGAkbnVtYCBsYXN0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbnVtW10gYG5gIG51bWJlciBleGNsdWRlZCBmcm9tIGZpcnN0IGFuZCBsYXN0IGZyb20gYWxsIG90aGVyIGNoaWxkcmVuXG5AbWl4aW4gYWxsLWJ1dC1maXJzdC1sYXN0KCRudW0pIHtcbiAgJjpudGgtY2hpbGQobiArICN7JG51bX0pOm50aC1sYXN0LWNoaWxkKG4gKyAjeyRudW19KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8vIFdpbGwgb25seSBzZWxlY3QgdGhlIGNoaWxkIGlmIGl0J3MgdW5pcXVlLiBUaGF0IG1lYW5zIHRoYXQgaWYgdGhlcmUgYXJlIGF0IGxlYXN0IDIgY2hpbGRyZW4sIHRoZSBzdHlsZSB3aWxsIG5vdCBiZSBhcHBsaWVkLlxuQG1peGluIHVuaXF1ZSB7XG4gICY6b25seS1jaGlsZCB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8vIFdpbGwgb25seSBzZWxlY3QgY2hpbGRyZW4gaWYgdGhleSBhcmUgbm90IHVuaXF1ZS4gVGhhdCBtZWFucyB0aGF0IGlmIHRoZXJlIGFyZSBhdCBsZWFzdCAyIGNoaWxkcmVuLCB0aGUgc3R5bGUgd2lsbCBiZSBhcHBsaWVkLlxuQG1peGluIG5vdC11bmlxdWUoKSB7XG4gICY6bm90KDpvbmx5LWNoaWxkKSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8vIFNlbGVjdCBhbGwgY2hpbGRyZW4gYmV0d2VlbiBgJGZpcnN0YCBhbmQgYCRsYXN0YC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGZpcnN0W10gRmlyc3QgYG50aGAgbnVtYmVyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRsYXN0W10gTGFzdCBgbnRoYCBudW1iZXJcbkBtaXhpbiBiZXR3ZWVuKCRmaXJzdCwgJGxhc3QpIHtcbiAgJjpudGgtY2hpbGQobiArICN7JGZpcnN0fSk6bnRoLWNoaWxkKC1uICsgI3skbGFzdH0pIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLy8gU2VsZWN0IGFsbCBldmVuIGNoaWxkcmVuLlxuQG1peGluIGV2ZW4ge1xuICAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8vIFNlbGVjdCBhbGwgZXZlbiBjaGlsZHJlbiBiZXR3ZWVuIGAkZmlyc3RgIGFuZCBgJGxhc3RgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZmlyc3RbXSBGaXJzdCBgbnRoYCBudW1iZXJcbi8vLyBAcGFyYW0ge051bWJlcn0gJGxhc3RbXSBMYXN0IGBudGhgIG51bWJlclxuQG1peGluIGV2ZW4tYmV0d2VlbigkZmlyc3QsICRsYXN0KSB7XG4gICY6bnRoLWNoaWxkKGV2ZW4pOm50aC1jaGlsZChuICsgI3skZmlyc3R9KTpudGgtY2hpbGQoLW4gKyAjeyRsYXN0fSkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vLyBTZWxlY3QgYWxsIG9kZCBjaGlsZHJlbi5cbkBtaXhpbiBvZGQge1xuICAmOm50aC1jaGlsZChvZGQpIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLy8gU2VsZWN0IGFsbCBvZGQgY2hpbGRyZW4gYmV0d2VlbiBgJGZpcnN0YCBhbmQgYCRsYXN0YC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGZpcnN0W10gRmlyc3QgYG50aGAgbnVtYmVyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRsYXN0W10gTGFzdCBgbnRoYCBudW1iZXJcbkBtaXhpbiBvZGQtYmV0d2VlbigkZmlyc3QsICRsYXN0KSB7XG4gICY6bnRoLWNoaWxkKG9kZCk6bnRoLWNoaWxkKG4gKyAjeyRmaXJzdH0pOm50aC1jaGlsZCgtbiArICN7JGxhc3R9KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8vIFNlbGVjdCBhbGwgYCRudW1gIGNoaWxkcmVuIGJldHdlZW4gYCRmaXJzdGAgYW5kIGAkbGFzdGAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRudW1bXSBFdmVyeSBgbmAgbnVtYmVyIGJldHdlZW4gYCRmaXJzdGAgYW5kIGAkbGFzdGAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRmaXJzdFtdIEZpcnN0IGBuYCBudW1iZXJcbi8vLyBAcGFyYW0ge051bWJlcn0gJGxhc3RbXSBMYXN0IGBuYCBudW1iZXJcbkBtaXhpbiBudW1iZXItYmV0d2VlbigkbnVtLCAkZmlyc3QsICRsYXN0KSB7XG4gICY6bnRoLWNoaWxkKCN7JG51bX1uKTpudGgtY2hpbGQobiArICN7JGZpcnN0fSk6bnRoLWNoaWxkKC1uICsgI3skbGFzdH0pIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlLWJveFxuLy8vL1xuXG4vLy8gQm94IE1peGluOiBFYXNpbHkgY3JlYXRlIGEgc3F1YXJlLCByZWN0YW5nbGUgb3IgYSBjaXJjbGVcbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoW10gV2lkdGggb2YgdGhlIGJveFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkaGVpZ2h0WyR3aWR0aF0gSGVpZ2h0IG9mIHRoZSBib3gsIGRlZmF1bHRzIHRvIGAkd2lkdGhgIHRvIGVhc2lseSBtYWtlIGEgc3F1YXJlXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkY2lyY2xlW2ZhbHNlXSBNYWtlcyB0aGUgYm94IGEgY2lyY2xlLCBieSBkZWZhdWx0IGBmYWxzZWAuXG5AbWl4aW4gYm94KFxuICAkd2lkdGgsIFxuICAkaGVpZ2h0OiAkd2lkdGgsIFxuICAkY2lyY2xlOiBmYWxzZVxuKSB7XG4gIHdpZHRoOiAkd2lkdGg7XG4gIGhlaWdodDogJGhlaWdodDtcbiAgQGlmICRjaXJjbGUge1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJSAhaW1wb3J0YW50O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtcm90YXRlXG4vLy8vXG5cbi8vLyBSb3RhdGUgTWl4aW46IFJvdGF0ZSBhbiBlbGVtZW50IHRvIGEgY2VydGFpbiBkZWdcbi8vLyBAcGFyYW0ge051bWJlcn0gJGRlZ1tdIERlZ3JlZSBvZiByb3RhdGlvblxuQG1peGluIHJvdGF0ZSgkZGVnKSB7XG5cdHRyYW5zZm9ybTpyb3RhdGUoJGRlZyArIGRlZyk7XG59XG5cbi8vLyBSb3RhdGVYIE1peGluOiBSb3RhdGUgYW4gZWxlbWVudCB0byBhIGNlcnRhaW4gZGVnIG9uIFgtQXhpc1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZGVnW10gRGVncmVlIG9mIHJvdGF0aW9uXG5AbWl4aW4gcm90YXRlWCgkZGVnKSB7XG5cdHRyYW5zZm9ybTpyb3RhdGVYKCRkZWcgKyBkZWcpO1xufVxuXG4vLy8gUm90YXRlWSBNaXhpbjogUm90YXRlIGFuIGVsZW1lbnQgdG8gYSBjZXJ0YWluIGRlZyBvbiBZLUF4aXNcbi8vLyBAcGFyYW0ge051bWJlcn0gJGRlZ1tdIERlZ3JlZSBvZiByb3RhdGlvblxuQG1peGluIHJvdGF0ZVkoJGRlZykge1xuXHR0cmFuc2Zvcm06cm90YXRlWSgkZGVnICsgZGVnKTtcbn1cblxuLy8vIFJvdGF0ZVogTWl4aW46IFJvdGF0ZSBhbiBlbGVtZW50IHRvIGEgY2VydGFpbiBkZWcgb24gWi1BeGlzXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRkZWdbXSBEZWdyZWUgb2Ygcm90YXRpb25cbkBtaXhpbiByb3RhdGVaKCRkZWcpIHtcblx0dHJhbnNmb3JtOnJvdGF0ZVooJGRlZyArIGRlZyk7XG59IiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlLXRleHQtdXRpbGl0aWVzXG4vLy8vXG5cbi8vLyBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciB0ZXh0IHV0aWxpdGllc1xuLy8vIEB0eXBlIEJvb2xlYW5cbiRwcm90b3R5cGUtdXRpbGl0aWVzLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgVmFsdWUgZm9yIGB0ZXh0LW92ZXJmbG93YCB2YXJpYWJsZVxuLy8vIEB0eXBlIFN0cmluZ1xuJHByb3RvdHlwZS10ZXh0LW92ZXJmbG93OiBlbGxpcHNpcyAhZGVmYXVsdDtcblxuLy8vIEltYWdlIFJlcGxhY2VtZW50IHV0aWxpdHkuIGB0ZXh0LWhpZGVgXG5AbWl4aW4gdGV4dC1oaWRlIHtcbiAgZm9udDogMC8wIGEgIWltcG9ydGFudDtcbiAgY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMCAhaW1wb3J0YW50O1xufVxuXG4vLy8gVHJ1bmNhdGluZyB0aGUgdGV4dCwgZWxpcHNpcyBieSBkZWZhdWx0LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3ZlcmZsb3cgWyRwcm90b3R5cGUtdGV4dC1vdmVyZmxvd10gVGV4dCBUcnVuY2F0ZVxuQG1peGluIHRleHQtdHJ1bmNhdGUoXG4gICRvdmVyZmxvdzogJHByb3RvdHlwZS10ZXh0LW92ZXJmbG93XG4pIHtcbiAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgdGV4dC1vdmVyZmxvdzogJG92ZXJmbG93OyBcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50O1xufVxuXG4vLy8gTm8gd3JhcHBpbmcgb2YgdGhlIHRleHQuIGB0ZXh0LW5vd3JhcGBcbkBtaXhpbiB0ZXh0LW5vd3JhcCB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXAgIWltcG9ydGFudDtcbn1cblxuLy8vIFdyYXBwaW5nIG9mIHRoZSB0ZXh0LiBgdGV4dC13cmFwYFxuQG1peGluIHRleHQtd3JhcCB7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZCAhaW1wb3J0YW50O1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtdGV4dC11dGlsaXRpZXMge1xuICAudGV4dC1oaWRlIHtcbiAgICBAaW5jbHVkZSB0ZXh0LWhpZGU7XG4gIH1cblxuICAudGV4dC10cnVuY2F0ZSB7XG4gICAgQGluY2x1ZGUgdGV4dC10cnVuY2F0ZTtcbiAgfVxuXG4gIC50ZXh0LW5vd3JhcCB7XG4gICAgQGluY2x1ZGUgdGV4dC1ub3dyYXA7XG4gIH1cblxuICAudGV4dC13cmFwIHtcbiAgICBAaW5jbHVkZSB0ZXh0LXdyYXA7XG4gIH1cblxuICBAaWYgKCRwcm90b3R5cGUtdXRpbGl0aWVzLWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tdGV4dC1oaWRlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRleHQtaGlkZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tdGV4dC10cnVuY2F0ZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0ZXh0LXRydW5jYXRlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS10ZXh0LW5vd3JhcCB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0ZXh0LW5vd3JhcDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tdGV4dC13cmFwIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRleHQtd3JhcDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS10ZXh0LXRyYW5zZm9ybWF0aW9uXG4vLy8vXG5cbi8vLyBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciB0ZXh0IHRyYW5zZm9ybWF0aW9uIGNsYXNzZXNcbi8vLyBAdHlwZSBCb29sZWFuXG4kcHJvdG90eXBlLXRyYW5zZm9ybWF0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcblxuLy8vIE1hcCBjb250YWluaW5nIGFsbCB0aGUgYHRleHQtdHJhbnNmb3JtYXRpb25gIGNsYXNzZXNcbi8vLyBAdHlwZSBNYXBcbiRwcm90b3R5cGUtdGV4dC10cmFuc2Zvcm1hdGlvbjogKFxuICBsb3dlcmNhc2UsXG4gIHVwcGVyY2FzZSxcbiAgY2FwaXRhbGl6ZVxuKSAhZGVmYXVsdDtcblxuLy8vIFRleHQgVHJhbnNmb3JtYXRpb24sIGJ5IGRlZmF1bHQgY29taW5nIHRocm91Z2ggYSBtYXAgYCRwcm90b3R5cGUtdGV4dC10cmFuc2Zvcm1hdGlvbmBcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHRyYW5zZm9ybWF0aW9uIFtdIFRleHQgVHJhbnNmb3JtYXRpb25cbkBtaXhpbiB0ZXh0LXRyYW5zZm9ybSgkdHJhbnNmb3JtYXRpb24pIHtcbiAgdGV4dC10cmFuc2Zvcm06ICR0cmFuc2Zvcm1hdGlvbiAhaW1wb3J0YW50O1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtdGV4dC10cmFuc2Zvcm1hdGlvbiB7XG4gIEBlYWNoICR0cmFuc2Zvcm1hdGlvbiBpbiAkcHJvdG90eXBlLXRleHQtdHJhbnNmb3JtYXRpb24ge1xuICAgIC50ZXh0LSN7JHRyYW5zZm9ybWF0aW9ufSB7XG4gICAgICBAaW5jbHVkZSB0ZXh0LXRyYW5zZm9ybSgkdHJhbnNmb3JtYXRpb24pO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS10cmFuc2Zvcm1hdGlvbi1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gIFx0QGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBlYWNoICR0cmFuc2Zvcm1hdGlvbiBpbiAkcHJvdG90eXBlLXRleHQtdHJhbnNmb3JtYXRpb24ge1xuICAgICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICAuI3skc2l6ZX0tdGV4dC0jeyR0cmFuc2Zvcm1hdGlvbn0ge1xuICBcdFx0XHQgICAgICBAaW5jbHVkZSB0ZXh0LXRyYW5zZm9ybSgkdHJhbnNmb3JtYXRpb24pO1xuICBcdFx0XHQgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlLXRleHQtZGVjb3JhdGlvblxuLy8vL1xuXG4vLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgdGV4dCBkZWNvcmF0aW9uIGNsYXNzZXNcbi8vLyBAdHlwZSBCb29sZWFuXG4kcHJvdG90eXBlLWRlY29yYXRpb24tYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzICFkZWZhdWx0O1xuXG4vLy8gTWFwIGNvbnRhaW5pbmcgYWxsIHRoZSBgdGV4dC1kZWNvcmF0aW9uYCBjbGFzc2VzXG4vLy8gQHR5cGUgTWFwXG4kcHJvdG90eXBlLXRleHQtZGVjb3JhdGlvbjogKFxuICBvdmVybGluZSxcbiAgdW5kZXJsaW5lLFxuICBsaW5lLXRocm91Z2gsXG4pICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBEZWNvcmF0aW9uLCBieSBkZWZhdWx0IGNvbWluZyB0aHJvdWdoIGEgbWFwIGAkcHJvdG90eXBlLXRleHQtZGVjb3JhdGlvbmBcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGRlY29yYXRpb24gW10gVGV4dCBEZWNvcmF0aW9uXG5AbWl4aW4gdGV4dC1kZWNvcmF0aW9uKCRkZWNvcmF0aW9uKSB7XG4gIHRleHQtZGVjb3JhdGlvbjogJGRlY29yYXRpb24gIWltcG9ydGFudDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLXRleHQtZGVjb3JhdGlvbiB7XG4gIEBlYWNoICRkZWNvcmF0aW9uIGluICRwcm90b3R5cGUtdGV4dC1kZWNvcmF0aW9uIHtcbiAgICAudGV4dC0jeyRkZWNvcmF0aW9ufSB7XG4gICAgICBAaW5jbHVkZSB0ZXh0LWRlY29yYXRpb24oJGRlY29yYXRpb24pO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS1kZWNvcmF0aW9uLWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGVhY2ggJGRlY29yYXRpb24gaW4gJHByb3RvdHlwZS10ZXh0LWRlY29yYXRpb24ge1xuICAgICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICAuI3skc2l6ZX0tdGV4dC0jeyRkZWNvcmF0aW9ufSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHRleHQtZGVjb3JhdGlvbigkZGVjb3JhdGlvbik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtZm9udC1zdHlsaW5nXG4vLy8vXG5cbi8vLyBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBmb250IHN0eWxpbmcgdHlwZXNcbi8vLyBAdHlwZSBCb29sZWFuXG4kcHJvdG90eXBlLWZvbnQtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzICFkZWZhdWx0O1xuXG4vLy8gTGV0dGVyIHNwYWNpbmcgZm9yIGAuZm9udC13aWRlYFxuLy8vIEB0eXBlIE51bWJlclxuJHByb3RvdHlwZS13aWRlLWxldHRlci1zcGFjaW5nOiByZW0tY2FsYyg0KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgd2VpZ2h0IGZvciBgLmZvbnQtbm9ybWFsYCwgZGVmYXVsdGVkIHRvIGBnbG9iYWwtd2VpZ2h0LW5vcm1hbGBcbi8vLyBAdHlwZSBOdW1iZXJcbiRwcm90b3R5cGUtZm9udC1ub3JtYWw6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgd2VpZ2h0IGZvciBgLmZvbnQtYm9sZGAsIGRlZmF1bHRlZCB0byBgZ2xvYmFsLXdlaWdodC1ib2xkYFxuLy8vIEB0eXBlIE51bWJlclxuJHByb3RvdHlwZS1mb250LWJvbGQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdpZGUgbGV0dGVyIHNwYWNpbmchXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRsZXR0ZXItc3BhY2luZyBbJHByb3RvdHlwZS13aWRlLWxldHRlci1zcGFjaW5nXSBXaWRlIGxldHRlciBzcGFjaW5nIGZvciB0aGUgZm9udFxuQG1peGluIGZvbnQtd2lkZShcbiAgJGxldHRlci1zcGFjaW5nOiAkcHJvdG90eXBlLXdpZGUtbGV0dGVyLXNwYWNpbmdcbikge1xuICBsZXR0ZXItc3BhY2luZzogJGxldHRlci1zcGFjaW5nO1xufVxuXG4vLy8gRm9udCBXZWlnaHQgTm9ybWFsLCBkZWZhdWx0IHZhbHVlIGNvbWluZyB0aHJvdWdoIGBnbG9iYWwtd2VpZ2h0LW5vcm1hbGBcbi8vLyBAcGFyYW0ge051bWJlcn0gJHdlaWdodCBbJHByb3RvdHlwZS1mb250LW5vcm1hbF0gV2VpZ2h0IG9mIHRoZSBmb250IChub3JtYWwpXG5AbWl4aW4gZm9udC1ub3JtYWwoXG4gICR3ZWlnaHQ6ICRwcm90b3R5cGUtZm9udC1ub3JtYWxcbikge1xuICBmb250LXdlaWdodDogJHdlaWdodDtcbn1cblxuLy8vIEZvbnQgV2VpZ2h0IEJvbGQsIGRlZmF1bHQgdmFsdWUgY29taW5nIHRocm91Z2ggYGdsb2JhbC13ZWlnaHQtYm9sZGBcbi8vLyBAcGFyYW0ge051bWJlcn0gJHdlaWdodCBbJHByb3RvdHlwZS1mb250LWJvbGRdIFdlaWdodCBvZiB0aGUgZm9udCAoYm9sZClcbkBtaXhpbiBmb250LWJvbGQoXG4gICR3ZWlnaHQ6ICRwcm90b3R5cGUtZm9udC1ib2xkXG4pIHtcbiAgZm9udC13ZWlnaHQ6ICR3ZWlnaHQ7XG59XG5cbi8vLyBGb250IFN0eWxlIEl0YWxpY1xuQG1peGluIGZvbnQtaXRhbGljIHtcbiAgZm9udC1zdHlsZTogaXRhbGljICFpbXBvcnRhbnQ7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS1mb250LXN0eWxpbmcge1xuICAuZm9udC13aWRle1xuICAgIEBpbmNsdWRlIGZvbnQtd2lkZTtcbiAgfVxuXG4gIC5mb250LW5vcm1hbCB7XG4gICAgQGluY2x1ZGUgZm9udC1ub3JtYWw7XG4gIH1cblxuICAuZm9udC1ib2xkIHtcbiAgICBAaW5jbHVkZSBmb250LWJvbGQ7XG4gIH1cblxuICAuZm9udC1pdGFsaWMge1xuICAgIEBpbmNsdWRlIGZvbnQtaXRhbGljO1xuICB9XG5cbiAgQGlmICgkcHJvdG90eXBlLWZvbnQtYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS1mb250LXdpZGV7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXdpZGU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LWZvbnQtbm9ybWFsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtbm9ybWFsO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS1mb250LWJvbGQge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1ib2xkO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS1mb250LWl0YWxpYyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWl0YWxpYztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS1saXN0LXN0eWxlLXR5cGVcbi8vLy9cblxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIGxpc3Qgc3R5bGluZyB0eXBlc1xuLy8vIEB0eXBlIEJvb2xlYW5cbiRwcm90b3R5cGUtbGlzdC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vLyBNYXAgY29udGFpbmluZyBhbGwgdGhlIGBzdHlsZS10eXBlLXVub3JkZXJlZGAgY2xhc3Nlc1xuLy8vIEB0eXBlIE1hcFxuJHByb3RvdHlwZS1zdHlsZS10eXBlLXVub3JkZXJlZDogKFxuICBkaXNjLFxuICBjaXJjbGUsXG4gIHNxdWFyZVxuKSAhZGVmYXVsdDtcblxuLy8vIE1hcCBjb250YWluaW5nIGFsbCB0aGUgYHN0eWxlLXR5cGUtb3JkZXJlZGAgY2xhc3Nlc1xuLy8vIEB0eXBlIE1hcFxuJHByb3RvdHlwZS1zdHlsZS10eXBlLW9yZGVyZWQ6IChcbiAgZGVjaW1hbCxcbiAgbG93ZXItYWxwaGEsXG4gIGxvd2VyLWxhdGluLFxuICBsb3dlci1yb21hbixcbiAgdXBwZXItYWxwaGEsXG4gIHVwcGVyLWxhdGluLFxuICB1cHBlci1yb21hblxuKSAhZGVmYXVsdDtcblxuXG4vLy8gU3R5bGUgdHlwZSBmb3IgdW5vcmRlcmVkIExpc3RzLCBieSBkZWZhdWx0IGNvbWluZyB0aHJvdWdoIGEgbWFwIGAkcHJvdG90eXBlLXN0eWxlLXR5cGUtdW5vcmRlcmVkYFxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc3R5bGUtdHlwZS11bm9yZGVyZWQgW10gU3R5bGUgdHlwZSBmb3IgdW5vcmRlcmVkIExpc3RzXG5AbWl4aW4gc3R5bGUtdHlwZS11bm9yZGVyZWQoJHN0eWxlLXR5cGUtdW5vcmRlcmVkKSB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogJHN0eWxlLXR5cGUtdW5vcmRlcmVkICFpbXBvcnRhbnQ7XG59XG5cbi8vLyBTdHlsZSB0eXBlIGZvciBvcmRlcmVkIExpc3RzLCBieSBkZWZhdWx0IGNvbWluZyB0aHJvdWdoIGEgbWFwIGAkcHJvdG90eXBlLXN0eWxlLXR5cGUtb3JkZXJlZGBcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHN0eWxlLXR5cGUtb3JkZXJlZCBbXSBTdHlsZSB0eXBlIGZvciBvcmRlcmVkIExpc3RzXG5AbWl4aW4gc3R5bGUtdHlwZS1vcmRlcmVkKCRzdHlsZS10eXBlLW9yZGVyZWQpIHtcbiAgbGlzdC1zdHlsZS10eXBlOiAkc3R5bGUtdHlwZS1vcmRlcmVkICFpbXBvcnRhbnQ7XG59XG5cbkBtaXhpbiBsaXN0LXVub3JkZXJlZCB7XG4gIEBlYWNoICRzdHlsZS10eXBlLXVub3JkZXJlZCBpbiAkcHJvdG90eXBlLXN0eWxlLXR5cGUtdW5vcmRlcmVkIHtcbiAgICB1bC5saXN0LSN7JHN0eWxlLXR5cGUtdW5vcmRlcmVkfSB7XG4gICAgICBAaW5jbHVkZSBzdHlsZS10eXBlLXVub3JkZXJlZCgkc3R5bGUtdHlwZS11bm9yZGVyZWQpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS1saXN0LWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGVhY2ggJHN0eWxlLXR5cGUtdW5vcmRlcmVkIGluICRwcm90b3R5cGUtc3R5bGUtdHlwZS11bm9yZGVyZWQge1xuICAgICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICB1bC4jeyRzaXplfS1saXN0LSN7JHN0eWxlLXR5cGUtdW5vcmRlcmVkfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHN0eWxlLXR5cGUtdW5vcmRlcmVkKCRzdHlsZS10eXBlLXVub3JkZXJlZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBsaXN0LW9yZGVyZWQge1xuICBAZWFjaCAkc3R5bGUtdHlwZS1vcmRlcmVkIGluICRwcm90b3R5cGUtc3R5bGUtdHlwZS1vcmRlcmVkIHtcbiAgICBvbC5saXN0LSN7JHN0eWxlLXR5cGUtb3JkZXJlZH0ge1xuICAgICAgQGluY2x1ZGUgc3R5bGUtdHlwZS1vcmRlcmVkKCRzdHlsZS10eXBlLW9yZGVyZWQpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS1saXN0LWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGVhY2ggJHN0eWxlLXR5cGUtb3JkZXJlZCBpbiAkcHJvdG90eXBlLXN0eWxlLXR5cGUtb3JkZXJlZCB7XG4gICAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIG9sLiN7JHNpemV9LWxpc3QtI3skc3R5bGUtdHlwZS1vcmRlcmVkfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHN0eWxlLXR5cGUtb3JkZXJlZCgkc3R5bGUtdHlwZS1vcmRlcmVkKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLWxpc3Qtc3R5bGUtdHlwZSB7XG4gIEBpbmNsdWRlIGxpc3QtdW5vcmRlcmVkO1xuICBAaW5jbHVkZSBsaXN0LW9yZGVyZWQ7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtcm91bmRlZFxuLy8vL1xuXG4vLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3Igcm91bmRlZCB1dGlsaXR5LlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwcm90b3R5cGUtcm91bmRlZC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBgcHJvdG90eXBlLWJvcmRlci1yYWRpdXNgXG4vLy8gQHR5cGUgTnVtYmVyXG4kcHJvdG90eXBlLWJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDMpICFkZWZhdWx0O1xuXG4vLy8gUm91bmRlZCB1dGlsaXR5IChhbGwgY29ybmVycyk6IEFkZHMgcmFkaXVzIGNvcm5lcnMgKGFsbCBjb3JuZXJzKSB0byBhbiBlbGVtZW50IGJ5IGRlZmF1bHQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRyYWRpdXMgWyRwcm90b3R5cGUtYm9yZGVyLXJhZGl1c10gQm9yZGVyIHJhZGl1cyAoYWxsIGNvcm5lcnMpXG5AbWl4aW4gYm9yZGVyLXJhZGl1cyhcbiAgJHJhZGl1czogJHByb3RvdHlwZS1ib3JkZXItcmFkaXVzXG4pIHtcbiAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbn1cblxuLy8vIFJvdW5kZWQgc3F1YXJlIHV0aWxpdHkgb3IgcmVjdGFuZ2xlIHV0aWxpdHkgKGFsbCBjb3JuZXJzKTogUm91bmRzIGFsbCBjb3JuZXJzIHRvIGFuIGVsZW1lbnQgYnkgZGVmYXVsdCB0byBtYWtlIGEgcGlsbCBzaGFwZS5cbkBtaXhpbiBib3JkZXItcm91bmRlZCB7XG4gIGJvcmRlci1yYWRpdXM6IDUwMDBweCAhaW1wb3J0YW50O1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtcm91bmRlZCB7XG4gIC5yb3VuZGVkIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcm91bmRlZDtcbiAgICAmOmFmdGVyIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsgLy8gRm9yIHN3aXRjaGVzXG4gICAgfVxuICB9XG5cbiAgLnJhZGl1cyB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cztcbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS1yb3VuZGVkLWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tcm91bmRlZCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcm91bmRlZDtcbiAgICAgICAgICB9XG4gICAgICAgICAgLiN7JHNpemV9LXJhZGl1cyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlLWJvcmRlcmVkXG4vLy8vXG5cbi8vLyBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBib3JkZXJlZCB1dGlsaXR5LlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwcm90b3R5cGUtYm9yZGVyZWQtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB2YWx1ZSBmb3IgYHByb3RvdHlwZS1ib3JkZXItd2lkdGhgXG4vLy8gQHR5cGUgTnVtYmVyXG4kcHJvdG90eXBlLWJvcmRlci13aWR0aDogcmVtLWNhbGMoMSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBgcHJvdG90eXBlLWJvcmRlci10eXBlYFxuLy8vIEB0eXBlIFN0cmluZ1xuJHByb3RvdHlwZS1ib3JkZXItdHlwZTogc29saWQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBgcHJvdG90eXBlLWJvcmRlci1jb2xvcmAgZGVmYXVsdGVkIHRvIGBtZWRpdW0tZ3JheWBcbi8vLyBAdHlwZSBDb2xvclxuJHByb3RvdHlwZS1ib3JkZXItY29sb3I6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlcmVkIFV0aWxpdHk6IEFkZHMgYSBsaWdodCBib3JkZXIgdG8gYW4gZWxlbWVudCBieSBkZWZhdWx0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWyRwcm90b3R5cGUtYm9yZGVyLXdpZHRoXSBXaWR0aCBvZiB0aGUgYm9yZGVyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICR0eXBlIFskcHJvdG90eXBlLWJvcmRlci10eXBlXSBUeXBlIG9mIHRoZSBib3JkZXJcbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRwcm90b3R5cGUtYm9yZGVyLWNvbG9yXSBDb2xvciBvZiB0aGUgYm9yZGVyXG5AbWl4aW4gYm9yZGVyZWQoXG4gICR3aWR0aDogJHByb3RvdHlwZS1ib3JkZXItd2lkdGgsXG4gICR0eXBlOiAkcHJvdG90eXBlLWJvcmRlci10eXBlLFxuICAkY29sb3I6ICRwcm90b3R5cGUtYm9yZGVyLWNvbG9yXG4pIHtcbiAgYm9yZGVyOiAkd2lkdGggJHR5cGUgJGNvbG9yO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtYm9yZGVyZWQge1xuICAuYm9yZGVyZWQge1xuICAgIEBpbmNsdWRlIGJvcmRlcmVkO1xuICB9XG5cbiAgQGlmICgkcHJvdG90eXBlLWJvcmRlcmVkLWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tYm9yZGVyZWQge1xuICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyZWQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtc2hhZG93XG4vLy8vXG5cbi8vLyBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBzaGFkb3cgdXRpbGl0eS5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcHJvdG90eXBlLXNoYWRvdy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBgcHJvdG90eXBlLWJveC1zaGFkb3dgXG4vLy8gQHR5cGUgTnVtYmVyXG4kcHJvdG90eXBlLWJveC1zaGFkb3c6IDAgMnB4IDVweCAwIHJnYmEoMCwwLDAsLjE2KSxcbiAgICAgICAgICAgICAgICAgICAgICAgMCAycHggMTBweCAwIHJnYmEoMCwwLDAsLjEyKSAhZGVmYXVsdDtcblxuLy8vIFNoYWRvdyBVdGlsaXR5OiBBZGRzIGEgbGlnaHQgYm94IHNoYWRvdyB0byBhbiBlbGVtZW50IGJ5IGRlZmF1bHQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzaGFkb3cgWyRwcm90b3R5cGUtYm94LXNoYWRvd10gQm94IFNoYWRvdyBvZiBhIGNvbXBvbmVudFxuQG1peGluIHNoYWRvdyhcbiAgJHNoYWRvdzogJHByb3RvdHlwZS1ib3gtc2hhZG93XG4pIHtcbiAgYm94LXNoYWRvdzogJHNoYWRvdztcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLXNoYWRvdyB7XG4gIC5zaGFkb3cge1xuICAgIEBpbmNsdWRlIHNoYWRvdztcbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS1zaGFkb3ctYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS1zaGFkb3cge1xuICAgICAgICAgICAgQGluY2x1ZGUgc2hhZG93O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlLWFycm93XG4vLy8vXG5cbi8vLyBNYXAgY29udGFpbmluZyBhbGwgdGhlIGBhcnJvd2AgZGlyZWN0aW9uXG4vLy8gQHR5cGUgTWFwXG4kcHJvdG90eXBlLWFycm93LWRpcmVjdGlvbnM6IChcbiAgZG93bixcbiAgdXAsXG4gIHJpZ2h0LFxuICBsZWZ0XG4pICFkZWZhdWx0O1xuXG4vLy8gV2lkdGggb2YgdGhlIEFycm93LCBgMC40Mzc1cmVtYCBieSBkZWZhdWx0LlxuLy8vIEB0eXBlIE51bWJlclxuJHByb3RvdHlwZS1hcnJvdy1zaXplOiAwLjQzNzVyZW07XG5cbi8vLyBDb2xvciBvZiB0aGUgQXJyb3csIGAkYmxhY2tgIGJ5IGRlZmF1bHQuXG4vLy8gQHR5cGUgQ29sb3JcbiRwcm90b3R5cGUtYXJyb3ctY29sb3I6ICRibGFjaztcblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLWFycm93IHtcbiAgQGVhY2ggJHByb3RvdHlwZS1hcnJvdy1kaXJlY3Rpb24gaW4gJHByb3RvdHlwZS1hcnJvdy1kaXJlY3Rpb25zIHtcbiAgICAuYXJyb3ctI3skcHJvdG90eXBlLWFycm93LWRpcmVjdGlvbn0ge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKFxuICAgICAgICAkcHJvdG90eXBlLWFycm93LXNpemUsIFxuICAgICAgICAkcHJvdG90eXBlLWFycm93LWNvbG9yLCBcbiAgICAgICAgJHByb3RvdHlwZS1hcnJvdy1kaXJlY3Rpb25cbiAgICAgICk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtc2VwYXJhdG9yXG4vLy8vXG5cbi8vLyBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBzZXBhcmF0b3IuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHByb3RvdHlwZS1zZXBhcmF0b3ItYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBhbGlnbm1lbnQgb2YgYSBzZXBhcmF0b3IuXG4vLy8gQHR5cGUgU3RyaW5nXG4kcHJvdG90eXBlLXNlcGFyYXRvci1hbGlnbjogY2VudGVyICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG9mIGEgc2VwYXJhdG9yLlxuLy8vIEB0eXBlIE51bWJlclxuJHByb3RvdHlwZS1zZXBhcmF0b3ItaGVpZ2h0OiByZW0tY2FsYygyKSAhZGVmYXVsdDtcblxuLy8vIFdpZHRoIG9mIGEgc2VwYXJhdG9yLlxuLy8vIEB0eXBlIE51bWJlclxuJHByb3RvdHlwZS1zZXBhcmF0b3Itd2lkdGg6IDNyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIGEgc2VwYXJhdG9yLlxuLy8vIEB0eXBlIENvbG9yXG4kcHJvdG90eXBlLXNlcGFyYXRvci1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIFRvcCBNYXJnaW4gb2YgYSBzZXBhcmF0b3IuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcHJvdG90eXBlLXNlcGFyYXRvci1tYXJnaW4tdG9wOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIFRpdGxlIHNlcGFyYXRvciBVdGlsaXR5LCBtb3N0bHkgdXNlZCB0byBzdHlsZSB0aGUgbWFpbiBoZWFkaW5nIG9mIGEgc2VjdGlvblxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYWxpZ24gWyRwcm90b3R5cGUtc2VwYXJhdG9yLWFsaWduXSAtIHNlcGFyYXRvciBBbGlnbm1lbnRcbi8vLyBAcGFyYW0ge051bWJlcn0gJGhlaWdodCBbJHByb3RvdHlwZS1zZXBhcmF0b3ItaGVpZ2h0XSAtIFdpZHRoXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbJHByb3RvdHlwZS1zZXBhcmF0b3Itd2lkdGhdIC0gSGVpZ2h0XG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRwcm90b3R5cGUtc2VwYXJhdG9yLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdG9wIFskcHJvdG90eXBlLXNlcGFyYXRvci1tYXJnaW4tdG9wXSAtIE1hcmdpbiBUb3BcbkBtaXhpbiBzZXBhcmF0b3IgKFxuICAkYWxpZ246ICRwcm90b3R5cGUtc2VwYXJhdG9yLWFsaWduLFxuICAkaGVpZ2h0OiAkcHJvdG90eXBlLXNlcGFyYXRvci1oZWlnaHQsXG4gICR3aWR0aDogJHByb3RvdHlwZS1zZXBhcmF0b3Itd2lkdGgsXG4gICRiYWNrZ3JvdW5kOiAkcHJvdG90eXBlLXNlcGFyYXRvci1iYWNrZ3JvdW5kLFxuICAkdG9wOiAkcHJvdG90eXBlLXNlcGFyYXRvci1tYXJnaW4tdG9wXG4pIHtcbiAgdGV4dC1hbGlnbjogJGFsaWduICFpbXBvcnRhbnQ7XG5cdEBpbmNsdWRlIGNsZWFyZml4O1xuXG4gICY6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBwb3NpdGlvbihyZWxhdGl2ZSk7XG4gICAgd2lkdGg6ICR3aWR0aDtcbiAgICBib3JkZXItYm90dG9tOiAkaGVpZ2h0IHNvbGlkICRiYWNrZ3JvdW5kO1xuICAgIG1hcmdpbjogJHRvcCBhdXRvIDA7XG5cbiAgICBAaWYgJGFsaWduID09IGxlZnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBAaWYgJGFsaWduID09IHJpZ2h0IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtc2VwYXJhdG9yIHtcblx0LnNlcGFyYXRvci1jZW50ZXIge1xuXHRcdEBpbmNsdWRlIHNlcGFyYXRvcihjZW50ZXIpO1xuXHR9XG5cbiAgLnNlcGFyYXRvci1sZWZ0IHtcbiAgICBAaW5jbHVkZSBzZXBhcmF0b3IobGVmdCk7XG4gIH1cblxuICAuc2VwYXJhdG9yLXJpZ2h0IHtcbiAgICBAaW5jbHVkZSBzZXBhcmF0b3IocmlnaHQpO1xuICB9XG5cblx0QGlmICgkcHJvdG90eXBlLXNlcGFyYXRvci1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LXNlcGFyYXRvci1jZW50ZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgc2VwYXJhdG9yKGNlbnRlcik7XG4gICAgICAgICAgfVxuICAgICAgICAgIC4jeyRzaXplfS1zZXBhcmF0b3ItbGVmdCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzZXBhcmF0b3IobGVmdCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIC4jeyRzaXplfS1zZXBhcmF0b3ItcmlnaHQge1xuICAgICAgICAgICAgQGluY2x1ZGUgc2VwYXJhdG9yKHJpZ2h0KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS1vdmVyZmxvd1xuLy8vL1xuXG4vLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3Igb3ZlcmZsb3cgaGVscGVyIGNsYXNzZXNcbi8vLyBAdHlwZSBCb29sZWFuXG4kcHJvdG90eXBlLW92ZXJmbG93LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcblxuLy8vIE1hcCBjb250YWluaW5nIGFsbCB0aGUgYG92ZXJmbG93YCBjbGFzc2VzXG4vLy8gQHR5cGUgTWFwXG4kcHJvdG90eXBlLW92ZXJmbG93OiAoXG4gIHZpc2libGUsXG4gIGhpZGRlbixcbiAgc2Nyb2xsXG4pICFkZWZhdWx0O1xuXG4vLy8gT3ZlcmZsb3cgY2xhc3NlcywgYnkgZGVmYXVsdCBjb21pbmcgdGhyb3VnaCBhIG1hcCBgJHByb3RvdHlwZS1vdmVyZmxvd2Bcbi8vLyBAcGFyYW0ge1N0cmluZ30gJG92ZXJmbG93IFtdIE92ZXJmbG93IGNsYXNzZXNcbkBtaXhpbiBvdmVyZmxvdygkb3ZlcmZsb3cpIHtcbiAgb3ZlcmZsb3c6ICRvdmVyZmxvdyAhaW1wb3J0YW50O1xufVxuXG4vLy8gT3ZlcmZsb3cgY2xhc3NlcyBvbiBob3Jpem9udGFsIGF4aXMsIGJ5IGRlZmF1bHQgY29taW5nIHRocm91Z2ggYSBtYXAgYCRwcm90b3R5cGUtb3ZlcmZsb3dgXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvdmVyZmxvdyBbXSBPdmVyZmxvdyBjbGFzc2VzIChob3Jpem9udGFsIGF4aXMpXG5AbWl4aW4gb3ZlcmZsb3cteCgkb3ZlcmZsb3cpIHtcbiAgb3ZlcmZsb3cteDogJG92ZXJmbG93ICFpbXBvcnRhbnQ7XG59XG5cbi8vLyBPdmVyZmxvdyBjbGFzc2VzIG9uIHZlcnRpY2FsIGF4aXMsIGJ5IGRlZmF1bHQgY29taW5nIHRocm91Z2ggYSBtYXAgYCRwcm90b3R5cGUtb3ZlcmZsb3dgXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvdmVyZmxvdyBbXSBPdmVyZmxvdyBjbGFzc2VzICh2ZXJ0aWNhbCBheGlzKVxuQG1peGluIG92ZXJmbG93LXkoJG92ZXJmbG93KSB7XG4gIG92ZXJmbG93LXk6ICRvdmVyZmxvdyAhaW1wb3J0YW50O1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtb3ZlcmZsb3cge1xuICBAZWFjaCAkb3ZlcmZsb3cgaW4gJHByb3RvdHlwZS1vdmVyZmxvdyB7XG4gICAgLm92ZXJmbG93LSN7JG92ZXJmbG93fSB7XG4gICAgICBAaW5jbHVkZSBvdmVyZmxvdygkb3ZlcmZsb3cpO1xuICAgIH1cbiAgICAub3ZlcmZsb3cteC0jeyRvdmVyZmxvd30ge1xuICAgICAgQGluY2x1ZGUgb3ZlcmZsb3cteCgkb3ZlcmZsb3cpO1xuICAgIH1cbiAgICAub3ZlcmZsb3cteS0jeyRvdmVyZmxvd30ge1xuICAgICAgQGluY2x1ZGUgb3ZlcmZsb3cteSgkb3ZlcmZsb3cpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS1vdmVyZmxvdy1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBlYWNoICRvdmVyZmxvdyBpbiAkcHJvdG90eXBlLW92ZXJmbG93IHtcbiAgICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgLiN7JHNpemV9LW92ZXJmbG93LSN7JG92ZXJmbG93fSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIG92ZXJmbG93KCRvdmVyZmxvdyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuI3skc2l6ZX0tb3ZlcmZsb3cteC0jeyRvdmVyZmxvd30ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBvdmVyZmxvdy14KCRvdmVyZmxvdyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuI3skc2l6ZX0tb3ZlcmZsb3cteS0jeyRvdmVyZmxvd30ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBvdmVyZmxvdy15KCRvdmVyZmxvdyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtZGlzcGxheVxuLy8vL1xuXG4vLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgZGlzcGxheSBjbGFzc2VzXG4vLy8gQHR5cGUgQm9vbGVhblxuJHByb3RvdHlwZS1kaXNwbGF5LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcblxuLy8vIE1hcCBjb250YWluaW5nIGFsbCB0aGUgYGRpc3BsYXlgIGNsYXNzZXNcbi8vLyBAdHlwZSBNYXBcbiRwcm90b3R5cGUtZGlzcGxheTogKFxuICBpbmxpbmUsXG4gIGlubGluZS1ibG9jayxcbiAgYmxvY2ssXG4gIHRhYmxlLFxuICB0YWJsZS1jZWxsXG4pICFkZWZhdWx0O1xuXG4vLy8gRGlzcGxheSBjbGFzc2VzLCBieSBkZWZhdWx0IGNvbWluZyB0aHJvdWdoIGEgbWFwIGAkcHJvdG90eXBlLWRpc3BsYXlgXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRkaXNwbGF5IFtdIERpc3BsYXkgY2xhc3Nlc1xuQG1peGluIGRpc3BsYXkoJGRpc3BsYXkpIHtcbiAgZGlzcGxheTogJGRpc3BsYXkgIWltcG9ydGFudDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLWRpc3BsYXkge1xuICBAZWFjaCAkZGlzcGxheSBpbiAkcHJvdG90eXBlLWRpc3BsYXkge1xuICAgIC5kaXNwbGF5LSN7JGRpc3BsYXl9IHtcbiAgICAgIEBpbmNsdWRlIGRpc3BsYXkoJGRpc3BsYXkpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS1kaXNwbGF5LWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGVhY2ggJGRpc3BsYXkgaW4gJHByb3RvdHlwZS1kaXNwbGF5IHtcbiAgICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgLiN7JHNpemV9LWRpc3BsYXktI3skZGlzcGxheX0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBkaXNwbGF5KCRkaXNwbGF5KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS1wb3NpdGlvblxuLy8vL1xuXG4vLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgcG9zaXRpb24gaGVscGVyc1xuLy8vIEB0eXBlIEJvb2xlYW5cbiRwcm90b3R5cGUtcG9zaXRpb24tYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzICFkZWZhdWx0O1xuXG4vLy8gTWFwIGNvbnRhaW5pbmcgYWxsIHRoZSBgcG9zaXRpb25gIGNsYXNzZXNcbi8vLyBAdHlwZSBNYXBcbiRwcm90b3R5cGUtcG9zaXRpb246IChcbiAgc3RhdGljLFxuICByZWxhdGl2ZSxcbiAgYWJzb2x1dGUsXG4gIGZpeGVkXG4pICFkZWZhdWx0O1xuXG4vLy8gei1pbmRleCBmb3IgZml4ZWQgcG9zaXRpb25pbmdcbi8vLyBAdHlwZSBOdW1iZXJcbiRwcm90b3R5cGUtcG9zaXRpb24tei1pbmRleDogOTc1ICFkZWZhdWx0O1xuXG4vLy8gUG9zaXRpb24gY2xhc3NlcywgYnkgZGVmYXVsdCBjb21pbmcgdGhyb3VnaCBhIG1hcCBgJHByb3RvdHlwZS1wb3NpdGlvbmAsIHdoZXJlYXMgYWxsIHRoZSBvZmZzZXQgdmFsdWVzIGFyZSBtdWx0aXBsaWVkIGJ5IGAkZ2xvYmFsLXBvc2l0aW9uYCB3aGljaCBieSBkZWZhdWx0IGlzIGVxdWFsIHRvIGAxcmVtYC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHBvc2l0aW9uIFtdIFBvc2l0aW9uIGNsYXNzZXMsIEVpdGhlciBgc3RhdGljYCwgYHJlbGF0aXZlYCwgYGFic29sdXRlYCBvciBgZml4ZWRgXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0b3AgW251bGxdIC0gVG9wIG9mZnNldFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcmlnaHQgW251bGxdIC0gUmlnaHQgb2Zmc2V0XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRib3R0b20gW251bGxdIC0gQm90dG9tIG9mZnNldFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbGVmdCBbbnVsbF0gLSBMZWZ0IG9mZnNldFxuQG1peGluIHBvc2l0aW9uKFxuICAkcG9zaXRpb24sXG4gICR0b3A6IG51bGwsXG4gICRyaWdodDogbnVsbCxcbiAgJGJvdHRvbTogbnVsbCxcbiAgJGxlZnQ6IG51bGxcbikge1xuICBwb3NpdGlvbjogJHBvc2l0aW9uICFpbXBvcnRhbnQ7XG4gIEBpZiAkdG9wICE9IG51bGwge1xuICAgIHRvcDogJHRvcCAqICRnbG9iYWwtcG9zaXRpb24gIWltcG9ydGFudDtcbiAgfVxuICBAaWYgJHJpZ2h0ICE9IG51bGwge1xuICAgIHJpZ2h0OiAkcmlnaHQgKiAkZ2xvYmFsLXBvc2l0aW9uICFpbXBvcnRhbnQ7XG4gIH1cbiAgQGlmICRib3R0b20gIT0gbnVsbCB7XG4gICAgYm90dG9tOiAkYm90dG9tICogJGdsb2JhbC1wb3NpdGlvbiAhaW1wb3J0YW50O1xuICB9XG4gIEBpZiAkbGVmdCAhPSBudWxsIHtcbiAgICBsZWZ0OiAkbGVmdCAqICRnbG9iYWwtcG9zaXRpb24gIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gUG9zaXRpb24gRml4ZWQgb24gdG9wIGNvcm5lcnNcbi8vLyBAcGFyYW0ge051bWJlcn0gJHotaW5kZXggWyRwcm90b3R5cGUtcG9zaXRpb24tei1pbmRleF0gei1pbmRleCBmb3IgYHBvc2l0aW9uLWZpeGVkLXRvcGBcbkBtaXhpbiBwb3NpdGlvbi1maXhlZC10b3AoXG4gICR6LWluZGV4OiAkcHJvdG90eXBlLXBvc2l0aW9uLXotaW5kZXhcbikge1xuICBAaW5jbHVkZSBwb3NpdGlvbihmaXhlZCwgMCwgMCwgbnVsbCwgMCk7XG4gIHotaW5kZXg6ICR6LWluZGV4O1xufVxuXG4vLy8gUG9zaXRpb24gRml4ZWQgb24gYm90dG9tIGNvcm5lcnNcbi8vLyBAcGFyYW0ge051bWJlcn0gJHotaW5kZXggWyRwcm90b3R5cGUtcG9zaXRpb24tei1pbmRleF0gei1pbmRleCBmb3IgYHBvc2l0aW9uLWZpeGVkLWJvdHRvbWBcbkBtaXhpbiBwb3NpdGlvbi1maXhlZC1ib3R0b20oXG4gICR6LWluZGV4OiAkcHJvdG90eXBlLXBvc2l0aW9uLXotaW5kZXhcbikge1xuICBAaW5jbHVkZSBwb3NpdGlvbihmaXhlZCwgbnVsbCwgMCwgMCwgMCk7XG4gIHotaW5kZXg6ICR6LWluZGV4O1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtcG9zaXRpb24ge1xuICAvLyBQb3NpdGlvbjogU3RhdGljLCBSZWxhdGl2ZSwgRml4ZWQsIEFic29sdXRlXG4gIEBlYWNoICRwb3NpdGlvbiBpbiAkcHJvdG90eXBlLXBvc2l0aW9uIHtcbiAgICAucG9zaXRpb24tI3skcG9zaXRpb259IHtcbiAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKCRwb3NpdGlvbik7XG4gICAgfVxuICB9XG5cbiAgLy8gUG9zaXRpb246IEZpeGVkIFRvcCwgRml4ZWQgQm90dG9tXG4gIC5wb3NpdGlvbi1maXhlZC10b3Age1xuICAgIEBpbmNsdWRlIHBvc2l0aW9uLWZpeGVkLXRvcDtcbiAgfVxuICAucG9zaXRpb24tZml4ZWQtYm90dG9tIHtcbiAgICBAaW5jbHVkZSBwb3NpdGlvbi1maXhlZC1ib3R0b207XG4gIH1cblxuICBAaWYgKCRwcm90b3R5cGUtcG9zaXRpb24tYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICAvLyBQb3NpdGlvbjogU3RhdGljLCBSZWxhdGl2ZSwgRml4ZWQsIEFic29sdXRlXG4gICAgICAgIEBlYWNoICRwb3NpdGlvbiBpbiAkcHJvdG90eXBlLXBvc2l0aW9uIHtcbiAgICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgLiN7JHNpemV9LXBvc2l0aW9uLSN7JHBvc2l0aW9ufSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKCRwb3NpdGlvbik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gUG9zaXRpb246IEZpeGVkIFRvcCwgRml4ZWQgQm90dG9tXG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LXBvc2l0aW9uLWZpeGVkLXRvcCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbi1maXhlZC10b3A7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LXBvc2l0aW9uLWZpeGVkLWJvdHRvbSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbi1maXhlZC1ib3R0b207XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtYm9yZGVyLWJveFxuLy8vL1xuXG4vLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgYm9yZGVyIGJveC5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcHJvdG90eXBlLWJvcmRlci1ib3gtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGJveCB1dGlsaXR5XG5AbWl4aW4gYm9yZGVyLWJveCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3ggIWltcG9ydGFudDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLWJvcmRlci1ib3gge1xuICAuYm9yZGVyLWJveCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLWJveDtcbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS1ib3JkZXItYm94LWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tYm9yZGVyLWJveCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItYm94O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlLWJvcmRlci1ub25lXG4vLy8vXG5cbi8vLyBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBib3JkZXIgbm9uZS5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcHJvdG90eXBlLWJvcmRlci1ub25lLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBub25lIHV0aWxpdHlcbkBtaXhpbiBib3JkZXItbm9uZSB7XG4gIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtYm9yZGVyLW5vbmUge1xuICAuYm9yZGVyLW5vbmUge1xuICAgIEBpbmNsdWRlIGJvcmRlci1ub25lO1xuICB9XG5cbiAgQGlmICgkcHJvdG90eXBlLWJvcmRlci1ub25lLWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tYm9yZGVyLW5vbmUge1xuICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLW5vbmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtc2l6aW5nXG4vLy8vXG5cbi8vLyBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBzcGFjaW5nIGNsYXNzZXMgKG1hcmdpbiBhbmQgcGFkZGluZylcbi8vLyBAdHlwZSBCb29sZWFuXG4kcHJvdG90eXBlLXNpemluZy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vLyBNYXAgY29udGFpbmluZyBhbGwgdGhlIGBzaXppbmdgIGNsYXNzZXNcbi8vLyBAdHlwZSBNYXBcbiRwcm90b3R5cGUtc2l6aW5nOiAoXG4gIHdpZHRoLFxuICBoZWlnaHRcbikgIWRlZmF1bHQ7XG5cbi8vLyBNYXAgY29udGFpbmluZyBhbGwgdGhlIHNpemVzLlxuLy8vIEB0eXBlIE1hcFxuJHByb3RvdHlwZS1zaXplczogKFxuICAyNTogMjUlLFxuICA1MDogNTAlLFxuICA3NTogNzUlLFxuICAxMDA6IDEwMCVcbikgIWRlZmF1bHQ7XG5cbi8vLyBNYXggV2lkdGggMTAwIHV0aWxpdHkuXG5AbWl4aW4gbWF4LXdpZHRoLTEwMCB7XG4gIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xufVxuXG4vLy8gTWF4IEhlaWdodCAxMDAgdXRpbGl0eS5cbkBtaXhpbiBtYXgtaGVpZ2h0LTEwMCB7XG4gIG1heC1oZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLXNpemluZyB7XG4gIC8vIEVsZW1lbnQgU2l6aW5nXG4gIEBlYWNoICRzaXppbmcgaW4gJHByb3RvdHlwZS1zaXppbmcge1xuICAgIEBlYWNoICRsZW5ndGgsICRwZXJjZW50YWdlIGluICRwcm90b3R5cGUtc2l6ZXMge1xuICAgICAgLiN7JHNpemluZ30tI3skbGVuZ3RofSB7XG4gICAgICAgICN7JHNpemluZ306ICRwZXJjZW50YWdlICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gTWF4IHdpZHRoICYgaGVpZ2h0XG4gIC5tYXgtd2lkdGgtMTAwIHtcbiAgICBAaW5jbHVkZSBtYXgtd2lkdGgtMTAwO1xuICB9XG4gIC5tYXgtaGVpZ2h0LTEwMCB7XG4gICAgQGluY2x1ZGUgbWF4LWhlaWdodC0xMDA7XG4gIH1cblxuICBAaWYgKCRwcm90b3R5cGUtc2l6aW5nLWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICBAZWFjaCAkc2l6aW5nIGluICRwcm90b3R5cGUtc2l6aW5nIHtcbiAgICAgICAgICAgIEBlYWNoICRsZW5ndGgsICRwZXJjZW50YWdlIGluICRwcm90b3R5cGUtc2l6ZXMge1xuICAgICAgICAgICAgICAuI3skc2l6ZX0tI3skc2l6aW5nfS0jeyRsZW5ndGh9IHtcbiAgICAgICAgICAgICAgICAjeyRzaXppbmd9OiAkcGVyY2VudGFnZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtc3BhY2luZ1xuLy8vL1xuXG4vLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3Igc3BhY2luZyBjbGFzc2VzIChtYXJnaW4gYW5kIHBhZGRpbmcpXG4vLy8gQHR5cGUgQm9vbGVhblxuJHByb3RvdHlwZS1zcGFjaW5nLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbnVtYmVyIG9mIHNwYWNlcnMgY291bnQgKG1hcmdpbiBhbmQgcGFkZGluZylcbi8vLyBAdHlwZSBOdW1iZXJcbiRwcm90b3R5cGUtc3BhY2Vycy1jb3VudDogMyAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiBoZWxwZXIgbWl4aW4sIGFsbCB0aGUgdmFsdWVzIGFyZSBtdWx0aXBsaWVkIGJ5IGAkZ2xvYmFsLW1hcmdpbmAgd2hpY2ggYnkgZGVmYXVsdCBpcyBlcXVhbCB0byBgMXJlbWBcbi8vLyBAcGFyYW0ge051bWJlcn0gJHRvcCBbbnVsbF0gLSBNYXJnaW4gVG9wXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRyaWdodCBbbnVsbF0gLSBNYXJnaW4gUmlnaHRcbi8vLyBAcGFyYW0ge051bWJlcn0gJGJvdHRvbSBbbnVsbF0gLSBNYXJnaW4gQm90dG9tXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRsZWZ0IFtudWxsXSAtIE1hcmdpbiBMZWZ0XG5AbWl4aW4gbWFyZ2luKFxuICAkdG9wOiBudWxsLFxuICAkcmlnaHQ6IG51bGwsXG4gICRib3R0b206IG51bGwsXG4gICRsZWZ0OiBudWxsXG4pIHtcbiAgQGlmICR0b3AgIT0gbnVsbCB7XG4gICAgbWFyZ2luLXRvcDogJHRvcCAqICRnbG9iYWwtbWFyZ2luICFpbXBvcnRhbnQ7XG4gIH1cbiAgQGlmICRyaWdodCAhPSBudWxsIHtcbiAgICBtYXJnaW4tcmlnaHQ6ICRyaWdodCAqICRnbG9iYWwtbWFyZ2luICFpbXBvcnRhbnQ7XG4gIH1cbiAgQGlmICRib3R0b20gIT0gbnVsbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGJvdHRvbSAqICRnbG9iYWwtbWFyZ2luICFpbXBvcnRhbnQ7XG4gIH1cbiAgQGlmICRsZWZ0ICE9IG51bGwge1xuICAgIG1hcmdpbi1sZWZ0OiAkbGVmdCAqICRnbG9iYWwtbWFyZ2luICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIFBhZGRpbmcgaGVscGVyIG1peGluLCBhbGwgdGhlIHZhbHVlcyBhcmUgbXVsdGlwbGllZCBieSBgJGdsb2JhbC1wYWRkaW5nYCB3aGljaCBieSBkZWZhdWx0IGlzIGVxdWFsIHRvIGAxcmVtYFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdG9wIFtudWxsXSAtIFBhZGRpbmcgVG9wXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRyaWdodCBbbnVsbF0gLSBQYWRkaW5nIFJpZ2h0XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRib3R0b20gW251bGxdIC0gUGFkZGluZyBCb3R0b21cbi8vLyBAcGFyYW0ge051bWJlcn0gJGxlZnQgW251bGxdIC0gUGFkZGluZyBMZWZ0XG5AbWl4aW4gcGFkZGluZyhcbiAgJHRvcDogbnVsbCxcbiAgJHJpZ2h0OiBudWxsLFxuICAkYm90dG9tOiBudWxsLFxuICAkbGVmdDogbnVsbFxuKSB7XG4gIEBpZiAkdG9wICE9IG51bGwge1xuICAgIHBhZGRpbmctdG9wOiAkdG9wICogJGdsb2JhbC1wYWRkaW5nICFpbXBvcnRhbnQ7XG4gIH1cbiAgQGlmICRyaWdodCAhPSBudWxsIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkcmlnaHQgKiAkZ2xvYmFsLXBhZGRpbmcgIWltcG9ydGFudDtcbiAgfVxuICBAaWYgJGJvdHRvbSAhPSBudWxsIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogJGJvdHRvbSAqICRnbG9iYWwtcGFkZGluZyAhaW1wb3J0YW50O1xuICB9XG4gIEBpZiAkbGVmdCAhPSBudWxsIHtcbiAgICBwYWRkaW5nLWxlZnQ6ICRsZWZ0ICogJGdsb2JhbC1wYWRkaW5nICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIE1hcmdpbiBjbGFzc2VzIGZvciBzcGVjaWZpYyBkaXJlY3Rpb24gcHJvcGVydGllc1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZGlyIFtdIERpcmVjdGlvblxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3BhY2VyIFtdIFNwYWNlclxuQG1peGluIG1hcmdpbi1kaXJlY3Rpb24oJGRpciwgJHNwYWNlcikge1xuICBAaWYgKCRkaXIgPT0gdG9wKSB7IFxuICAgIEBpbmNsdWRlIG1hcmdpbigkdG9wOiAkc3BhY2VyKTsgXG4gIH1cbiAgQGVsc2UgaWYgKCRkaXIgPT0gcmlnaHQpIHsgXG4gICAgQGluY2x1ZGUgbWFyZ2luKCRyaWdodDogJHNwYWNlcik7IFxuICB9XG4gIEBlbHNlIGlmICgkZGlyID09IGJvdHRvbSkgeyBcbiAgICBAaW5jbHVkZSBtYXJnaW4oJGJvdHRvbTogJHNwYWNlcik7IFxuICB9XG4gIEBlbHNlIGlmICgkZGlyID09IGxlZnQpIHsgXG4gICAgQGluY2x1ZGUgbWFyZ2luKCRsZWZ0OiAkc3BhY2VyKTsgXG4gIH1cbiAgQGVsc2UgaWYgKCRkaXIgPT0gaG9yaXpvbnRhbCkgeyBcbiAgICBAaW5jbHVkZSBtYXJnaW4oJHJpZ2h0OiAkc3BhY2VyLCAkbGVmdDogJHNwYWNlcik7IFxuICB9XG4gIEBlbHNlIGlmICgkZGlyID09IHZlcnRpY2FsKSB7IFxuICAgIEBpbmNsdWRlIG1hcmdpbigkdG9wOiAkc3BhY2VyLCAkYm90dG9tOiAkc3BhY2VyKTsgXG4gIH1cbn1cblxuLy8vIFBhZGRpbmcgY2xhc3NlcyBmb3Igc3BlY2lmaWMgZGlyZWN0aW9uIHByb3BlcnRpZXNcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGRpciBbXSBEaXJlY3Rpb25cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNwYWNlciBbXSBTcGFjZXJcbkBtaXhpbiBwYWRkaW5nLWRpcmVjdGlvbigkZGlyLCAkc3BhY2VyKSB7XG4gIEBpZiAoJGRpciA9PSB0b3ApIHsgXG4gICAgQGluY2x1ZGUgcGFkZGluZygkdG9wOiAkc3BhY2VyKTsgXG4gIH1cbiAgQGVsc2UgaWYgKCRkaXIgPT0gcmlnaHQpIHsgXG4gICAgQGluY2x1ZGUgcGFkZGluZygkcmlnaHQ6ICRzcGFjZXIpOyBcbiAgfVxuICBAZWxzZSBpZiAoJGRpciA9PSBib3R0b20pIHsgXG4gICAgQGluY2x1ZGUgcGFkZGluZygkYm90dG9tOiAkc3BhY2VyKTsgXG4gIH1cbiAgQGVsc2UgaWYgKCRkaXIgPT0gbGVmdCkgeyBcbiAgICBAaW5jbHVkZSBwYWRkaW5nKCRsZWZ0OiAkc3BhY2VyKTsgXG4gIH1cbiAgQGVsc2UgaWYgKCRkaXIgPT0gaG9yaXpvbnRhbCkgeyBcbiAgICBAaW5jbHVkZSBwYWRkaW5nKCRyaWdodDogJHNwYWNlciwgJGxlZnQ6ICRzcGFjZXIpOyBcbiAgfVxuICBAZWxzZSBpZiAoJGRpciA9PSB2ZXJ0aWNhbCkgeyBcbiAgICBAaW5jbHVkZSBwYWRkaW5nKCR0b3A6ICRzcGFjZXIsICRib3R0b206ICRzcGFjZXIpOyBcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtc3BhY2luZyB7XG4gIEBmb3IgJHNwYWNlciBmcm9tIDAgdGhyb3VnaCAkcHJvdG90eXBlLXNwYWNlcnMtY291bnQge1xuICAgIFxuICAgIEBlYWNoICRwcm9wIGluIChtYXJnaW4sIHBhZGRpbmcpIHtcbiAgICAgIC8vIEFsbCBTaWRlc1xuICAgICAgLiN7JHByb3B9LSN7JHNwYWNlcn0ge1xuICAgICAgICBAaWYgKCRwcm9wID09IG1hcmdpbikgeyBcbiAgICAgICAgICBtYXJnaW46ICRzcGFjZXIgKiAkZ2xvYmFsLW1hcmdpbjsgXG4gICAgICAgIH1cbiAgICAgICAgQGVsc2UgaWYgKCRwcm9wID09IHBhZGRpbmcpIHsgXG4gICAgICAgICAgcGFkZGluZzogJHNwYWNlciAqICRnbG9iYWwtcGFkZGluZzsgXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGVhY2ggJGRpciBpbiAodG9wLCByaWdodCwgYm90dG9tLCBsZWZ0LCBob3Jpem9udGFsLCB2ZXJ0aWNhbCkge1xuICAgICAgICAvLyBUb3AgU2lkZVxuICAgICAgICAuI3skcHJvcH0tI3skZGlyfS0jeyRzcGFjZXJ9IHtcbiAgICAgICAgICBAaWYgKCRwcm9wID09IG1hcmdpbikgeyBcbiAgICAgICAgICAgIEBpbmNsdWRlIG1hcmdpbi1kaXJlY3Rpb24oJGRpciwgJHNwYWNlcik7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBlbHNlIGlmICgkcHJvcCA9PSBwYWRkaW5nKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBwYWRkaW5nLWRpcmVjdGlvbigkZGlyLCAkc3BhY2VyKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgKCRwcm90b3R5cGUtc3BhY2luZy1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICAuI3skc2l6ZX0ge1xuICAgICAgICAgICAgICBAZWFjaCAkcHJvcCBpbiAobWFyZ2luLCBwYWRkaW5nKSB7XG4gICAgICAgICAgICAgICAgLy8gQWxsIFNpZGVzXG4gICAgICAgICAgICAgICAgJi0jeyRwcm9wfS0jeyRzcGFjZXJ9IHtcbiAgICAgICAgICAgICAgICAgIEBpZiAoJHByb3AgPT0gbWFyZ2luKSB7IFxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46ICRzcGFjZXIgKiAkZ2xvYmFsLW1hcmdpbjsgXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICBAZWxzZSBpZiAoJHByb3AgPT0gcGFkZGluZykgeyBcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogJHNwYWNlciAqICRnbG9iYWwtcGFkZGluZzsgXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgQGVhY2ggJGRpciBpbiAodG9wLCByaWdodCwgYm90dG9tLCBsZWZ0LCBob3Jpem9udGFsLCB2ZXJ0aWNhbCkge1xuICAgICAgICAgICAgICAgICAgLy8gVG9wIFNpZGVcbiAgICAgICAgICAgICAgICAgICYtI3skcHJvcH0tI3skZGlyfS0jeyRzcGFjZXJ9IHtcbiAgICAgICAgICAgICAgICAgICAgQGlmICgkcHJvcCA9PSBtYXJnaW4pIHsgXG4gICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAkc3BhY2VyOyBcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBAZWxzZSBpZiAoJHByb3AgPT0gcGFkZGluZykgeyBcbiAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAkc3BhY2VyOyBcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gTW90aW9uIFVJIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb20vbW90aW9uLXVpXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnc2V0dGluZ3MnO1xuXG5AaW1wb3J0ICd1dGlsL2FuaW1hdGlvbic7XG5AaW1wb3J0ICd1dGlsL2FyZ3MnO1xuQGltcG9ydCAndXRpbC9mdW5jdGlvbic7XG5AaW1wb3J0ICd1dGlsL2tleWZyYW1lJztcbkBpbXBvcnQgJ3V0aWwvc2VsZWN0b3InO1xuQGltcG9ydCAndXRpbC9zZXJpZXMnO1xuQGltcG9ydCAndXRpbC90cmFuc2l0aW9uJztcbkBpbXBvcnQgJ3V0aWwvdW5pdCc7XG5AaW1wb3J0ICd1dGlsL3N0cmluZyc7XG5cbkBpbXBvcnQgJ2VmZmVjdHMvZmFkZSc7XG5AaW1wb3J0ICdlZmZlY3RzL2hpbmdlJztcbkBpbXBvcnQgJ2VmZmVjdHMvc3Bpbic7XG5AaW1wb3J0ICdlZmZlY3RzL3pvb20nO1xuQGltcG9ydCAnZWZmZWN0cy9zaGFrZSc7XG5AaW1wb3J0ICdlZmZlY3RzL3NsaWRlJztcbkBpbXBvcnQgJ2VmZmVjdHMvd2lnZ2xlJztcblxuQGltcG9ydCAndHJhbnNpdGlvbnMvZmFkZSc7XG5AaW1wb3J0ICd0cmFuc2l0aW9ucy9oaW5nZSc7XG5AaW1wb3J0ICd0cmFuc2l0aW9ucy96b29tJztcbkBpbXBvcnQgJ3RyYW5zaXRpb25zL3NsaWRlJztcbkBpbXBvcnQgJ3RyYW5zaXRpb25zL3NwaW4nO1xuXG5AaW1wb3J0ICdjbGFzc2VzJztcbiIsIi8vLyBGb3JtYXQgZm9yIENTUyBjbGFzc2VzIGNyZWF0ZWQgd2l0aCBNb3Rpb24gVUkuXG4vLy8gQHR5cGUgTWFwXG4vLy8gQHByb3Age0Jvb2xlYW59IGFwcGVuZCBbdHJ1ZV0gLSBEZWZpbmVzIGlmIHNlbGVjdG9ycyBhcmUgY2hhaW5lZCB0byB0aGUgc2VsZWN0b3IgKGAuY2xhc3MuZW50ZXJgKSwgb3IgYXBwZW5kZWQgYXMgYSBuZXcgY2xhc3MgKGAuY2xhc3MtZW50ZXJgKS5cbi8vLyBAcHJvcCB7U3RyaW5nfSBwcmVmaXggWydtdWktJ10gLSBQcmVmaXggdG8gYWRkIGJlZm9yZSB0aGUgc3RhdGUgb2YgYSBjbGFzcy4gRW50ZXIgYW4gZW1wdHkgc3RyaW5nIHRvIHVzZSBubyBwcmVmaXguXG4vLy8gQHByb3Age1N0cmluZ30gcHJlZml4IFsnLWFjdGl2ZSddIC0gU3VmZml4IHRvIGFkZCB0byB0aGUgYWN0aXZlIHN0YXRlIGNsYXNzLlxuJG1vdGlvbi11aS1jbGFzc2VzOiAoXG4gIGNoYWluOiB0cnVlLFxuICBwcmVmaXg6ICdtdWktJyxcbiAgYWN0aXZlOiAnLWFjdGl2ZScsXG4pICFkZWZhdWx0O1xuXG4vLy8gU3RhdGUgbmFtZXMgdG8gcmVmZXJlbmNlIHdoZW4gd3JpdGluZyBtb3Rpb24gY2xhc3Nlcy4gVG8gdXNlIG11bHRpcGxlIGNsYXNzIG5hbWVzIGZvciBvbmUgc3RhdGUsIGVudGVyIGEgbGlzdCBvZiBzdHJpbmdzIGluc3RlYWQgb2Ygb25lIHN0cmluZy5cbi8vLyBAdHlwZSBNYXBcbiRtb3Rpb24tdWktc3RhdGVzOiAoXG4gIGluOiAnZW50ZXInLFxuICBvdXQ6ICdsZWF2ZScsXG4pICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzcGVlZCB0aGF0IHRyYW5zaXRpb25zIGFuZCBhbmltYXRpb25zIHBsYXkgYXQsIGFsb25nIHdpdGggdmFsdWVzIGZvciBtb2RpZmllciBjbGFzc2VzIHRvIGNoYW5nZSB0aGUgc3BlZWQuXG4vLy8gQHR5cGUgTWFwXG4kbW90aW9uLXVpLXNwZWVkczogKFxuICBkZWZhdWx0OiA1MDBtcyxcbiAgc2xvdzogNzUwbXMsXG4gIGZhc3Q6IDI1MG1zLFxuKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZGVsYXkgdG8gYWRkIGJlZm9yZSBtb3Rpb24sIGFsb25nIHdpdGggdmFsdWVzIGZvciBtb2RpZmllciBjbGFzc2VzIHRvIGNoYW5nZSB0aGUgZGVsYXkuXG4vLy8gQHR5cGUgTWFwXG4kbW90aW9uLXVpLWRlbGF5czogKFxuICBkZWZhdWx0OiAwLFxuICBzaG9ydDogMzAwbXMsXG4gIGxvbmc6IDcwMG1zLFxuKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZWFzaW5nIGZvciB0cmFuc2l0aW9ucyBhbmQgYW5pbWF0aW9ucywgYWxvbmcgd2l0aCB2YWx1ZXMgZm9yIG1vZGlmaWVyIGNsYXNzZXMgdG8gY2hhbmdlIHRoZSBlYXNpbmcuXG4vLy8gQHR5cGUgTWFwXG4kbW90aW9uLXVpLWVhc2luZ3M6IChcbiAgZGVmYXVsdDogbGluZWFyLFxuICBsaW5lYXI6IGxpbmVhcixcbiAgZWFzZTogZWFzZSxcbiAgZWFzZS1pbjogZWFzZS1pbixcbiAgZWFzZS1vdXQ6IGVhc2Utb3V0LFxuICBlYXNlLWluLW91dDogZWFzZS1pbi1vdXQsXG4gIGJvdW5jZS1pbjogY3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC4yNCwgMS4yNDUpLFxuICBib3VuY2Utb3V0OiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjUxNSwgMC44NDUpLFxuICBib3VuY2UtaW4tb3V0OiBjdWJpYy1iZXppZXIoMC43NiwgLTAuMjQ1LCAwLjI0LCAxLjI0NSksXG4pICFkZWZhdWx0O1xuXG4vLy8gTWlzY2VsbGFuZW91cyBzZXR0aW5ncyByZWxhdGVkIHRvIE1vdGlvbiBVSS5cbi8vLyBAdHlwZSBNYXBcbi8vLyBAcHJvcCB7Qm9vbGVhbn0gc2xpZGUtYW5kLWZhZGUgW2ZhbHNlXSAtIERlZmluZXMgaWYgc2xpZGUgbW90aW9ucyBzaG91bGQgYWxzbyBmYWRlIGluL291dC5cbi8vLyBAcHJvcCB7Qm9vbGVhbn0gc2xpZGUtYW5kLWZhZGUgW3RydWVdIC0gRGVmaW5lcyBpZiBoaW5nZSBtb3Rpb25zIHNob3VsZCBhbHNvIGZhZGUgaW4vb3V0LlxuLy8vIEBwcm9wIHtCb29sZWFufSBzbGlkZS1hbmQtZmFkZSBbdHJ1ZV0gLSBEZWZpbmVzIGlmIHNjYWxlIG1vdGlvbnMgc2hvdWxkIGFsc28gZmFkZSBpbi9vdXQuXG4vLy8gQHByb3Age0Jvb2xlYW59IHNsaWRlLWFuZC1mYWRlIFt0cnVlXSAtIERlZmluZXMgaWYgc3BpbiBtb3Rpb25zIHNob3VsZCBhbHNvIGZhZGUgaW4vb3V0LlxuJG1vdGlvbi11aS1zZXR0aW5nczogKFxuICBzbGlkZS1hbmQtZmFkZTogZmFsc2UsXG4gIGhpbmdlLWFuZC1mYWRlOiB0cnVlLFxuICBzY2FsZS1hbmQtZmFkZTogdHJ1ZSxcbiAgc3Bpbi1hbmQtZmFkZTogdHJ1ZSxcbiAgcGF1c2UtcXVldWUtY2xhc3M6ICdpcy1wYXVzZWQnLFxuICBhY3RpdmF0ZS1xdWV1ZS1jbGFzczogJ2lzLWFuaW1hdGluZycsXG4pICFkZWZhdWx0O1xuIiwiLy8vIENyZWF0ZXMgYSBrZXlmcmFtZSBmcm9tIG9uZSBvciBtb3JlIGVmZmVjdCBmdW5jdGlvbnMgYW5kIGFzc2lnbnMgaXQgdG8gdGhlIGVsZW1lbnQgYnkgYWRkaW5nIHRoZSBgYW5pbWF0aW9uLW5hbWVgIHByb3BlcnR5LlxuLy8vIEBwYXJhbSB7QXJnbGlzdH0gJGVmZmVjdHMuLi4gLSBPbmUgb3IgbW9yZSBlZmZlY3QgZnVuY3Rpb25zIHRvIGJ1aWxkIHRoZSBrZXlmcmFtZSB3aXRoLlxuQG1peGluIG11aS1hbmltYXRpb24oJGFyZ3MuLi4pIHtcbiAgJG5hbWU6IG1hcC1nZXQoLW11aS1wcm9jZXNzLWFyZ3MoJGFyZ3MuLi4pLCBuYW1lKTtcbiAgQGluY2x1ZGUgbXVpLWtleWZyYW1lcygkbmFtZSwgJGFyZ3MuLi4pO1xuICBhbmltYXRpb24tbmFtZTogdW5xdW90ZSgkbmFtZSk7XG59XG4iLCIvLy8gUHJvY2Vzc2VzIGEgc2VyaWVzIG9mIGtleWZyYW1lIGZ1bmN0aW9uIGFyZ3VtZW50cy5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBmdW5jdGlvbiAtbXVpLXByb2Nlc3MtYXJncygkYXJncy4uLikge1xuICBAaWYgbGVuZ3RoKCRhcmdzKSA9PSAxIHtcbiAgICAkYXJnOiBudGgoJGFyZ3MsIDEpO1xuXG4gICAgQGlmIC1tdWktaXMtZnVuY3Rpb24oJGFyZykge1xuICAgICAgQHJldHVybiAtbXVpLXNhZmUtY2FsbCgkYXJnKTtcbiAgICB9IEBlbHNlIGlmIHR5cGUtb2YoJGFyZykgPT0gJ21hcCcge1xuICAgICAgQHJldHVybiAkYXJnO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gLW11aS1rZXlmcmFtZS1jb21iaW5lKCRhcmdzLi4uKTtcbn1cbiIsIi8vLy9cbi8vLyBJbiBvcmRlciB0byBpbXByb3ZlIG1vZHVsYXIgbmFtZXNwYWNpbmcsIExpYlNhc3MgNCBvbmx5IGFjY2VwdHMgZmlyc3QtY2xhc3Ncbi8vLyBmdW5jdGlvbnMgYXMgYXJndW1lbnQgc28gZnVuY3Rpb25zIGFyZSBjYWxsZWQgaW4gdGhlaXIgb3duIGNvbnRleHQuXG4vLy8gSW4gbW9zdCBjYXNlLCBgZ2V0LWZ1bmN0aW9uKClgIG11c3Qgb25seSBiZSB1c2VkIGJ5IHRoZSB1c2VyIGluIGl0cyBvd25cbi8vLyBjb250ZXh0LiBJdCBpcyB1c2VkIGluIHRoaXMgbGlicmFyeSB0byBrZWVwIGEgbWF4aW11bSBjb21wYXRpYmlsaXR5LlxuLy8vIEVuZCBkZXZlbG9wZXIgbXVzdCBiZSBlbmNvdXJhZ2VkIHRvIHVzZSBmaXJzdC1jbGFzcyBmdW5jdGlvbnMuXG4vLy9cbi8vLyBAbGluayBodHRwOi8vb2RkYmlyZC5uZXQvMjAxNy8wMy8zMC9zYWZlLWdldFxuLy8vIEBsaW5rIGh0dHA6Ly9zYXNzLmxvZ2Rvd24uY29tL3Bvc3RzLzgwOTU3Mi1zYXNzLTM1LXJlbGVhc2UtY2FuZGlkYXRlXG4vLy8vXG5cbi8vL1xuLy8vIFJldHVybiBpZiBhIGdpdmVuIHZhbHVlIGlzIGEgZnVuY3Rpb24gb3IgYSBmdW5jdGlvbiBuYW1lIHN0cmluZy5cbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHsqfSAkdmFsdWUgLSBWYWx1ZSB0byB0ZXN0XG4vLy8gQHJldHVybiB7Qm9vbGVhbn1cbi8vL1xuQGZ1bmN0aW9uIC1tdWktaXMtZnVuY3Rpb24oJHZhbHVlKSB7XG4gIEByZXR1cm4gdHlwZS1vZigkdmFsdWUpID09ICdmdW5jdGlvbicgb3IgdHlwZS1vZigkdmFsdWUpID09ICdzdHJpbmcnO1xufVxuXG4vLy9cbi8vLyBSZXR1cm4gaWYgYSBnaXZlbiB2YWx1ZSBpcyBjYWxsYWJsZS5cbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHsqfSAkdmFsdWUgLSBWYWx1ZSB0byB0ZXN0XG4vLy8gQHJldHVybiB7Qm9vbGVhbn1cbi8vL1xuQGZ1bmN0aW9uIC1tdWktaXMtY2FsbGFibGUoJHZhbHVlKSB7XG4gIEByZXR1cm4gdHlwZS1vZigkdmFsdWUpID09ICdmdW5jdGlvbicgb3IgKHR5cGUtb2YoJHZhbHVlKSA9PSAnc3RyaW5nJyBhbmQgZnVuY3Rpb24tZXhpc3RzKCR2YWx1ZSkpO1xufVxuXG4vLy9cbi8vLyBDaGVjayBpZiBhIGdpdmVuIHZhbHVlIGlzIGNhbGxhYmxlIGFuZCB0aHJvdyB0aGUgYXBwcm9wcmlhdGUgZXJyb3Igb3RoZXJ3aXNlXG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7Kn0gJHZhbHVlIC0gVmFsdWUgdG8gY2hlY2tcbi8vLyBAcmV0dXJuIHtCb29sZWFufVxuLy8vXG5AZnVuY3Rpb24gLW11aS1hc3NlcnQtZnVuY3Rpb24oJHZhbHVlKSB7XG4gIEBpZiAtbXVpLWlzLWNhbGxhYmxlKCR2YWx1ZSkge1xuICAgIEByZXR1cm4gdHJ1ZTtcbiAgfSBAZWxzZSBpZiAodHlwZS1vZigkdmFsdWUpID09ICdzdHJpbmcnIGFuZCBmdW5jdGlvbi1leGlzdHMoJ2dldC1mdW5jdGlvbicpID09IHRydWUpIHtcbiAgICBAZXJyb3IgJ0Fzc2VydGlvbiBFcnJvcjogZnVuY3Rpb24gbmFtZSBzdHJpbmcgXCIjeyR2YWx1ZX1cIiBjYW5ub3QgYmUgZm91bmQuIFlvdSBtYXkgbmVlZCB0byB1c2UgYGdldC1mdW5jdGlvbigpYCBhbmQgZmlyc3QtY2xhc3MgZnVuY3Rpb25zIGluc3RlYWQuIFNlZSBodHRwOi8vb2RkYmlyZC5uZXQvMjAxNy8wMy8zMC9zYWZlLWdldCc7XG4gIH0gQGVsc2UgaWYgKHR5cGUtb2YoJHZhbHVlKSA9PSAnc3RyaW5nJyBhbmQgZnVuY3Rpb24tZXhpc3RzKCdnZXQtZnVuY3Rpb24nKSA9PSBmYWxzZSkge1xuICAgIEBlcnJvciAnQXNzZXJ0aW9uIEVycm9yOiBmdW5jdGlvbiBuYW1lIHN0cmluZyBcIiN7JHZhbHVlfVwiIGNhbm5vdCBiZSBmb3VuZC4nO1xuICB9IEBlbHNlIHtcbiAgICBAZXJyb3IgJ0Fzc2VydGlvbiBFcnJvcjogI3skdmFsdWV9ICgje3R5cGUtb2YoJHZhbHVlKX0pIGlzIG5vdCBhIGZ1bmN0aW9uLic7XG4gIH1cbn1cblxuLy8vXG4vLy8gUmV0dXJuIGEgcmVmZXJlbmNlIHRvIHRoZSBnaXZlbiBmdW5jdGlvbiBvciBmdW5jdGlvbiBuYW1lIHN0cmluZyBjb21wYXRpYmxlXG4vLy8gd2l0aCB0aGUgY3VycmVudCBTYXNzIHZlcnNpb24uXG4vLy9cbi8vLyAqIEZvciBTYXNzIDwgMy41LCByZXR1cm4gdGhlIHBhc3NlZCBhcmd1bWVudFxuLy8vICogRm9yIFNhc3MgPj0gMy41LCByZXR1cm4gYSBmaXJzdC1jbGFzcyBmdW5jdGlvbiBpZiBhIGZ1bmN0aW9uIG5hbWUgc3RyaW5nXG4vLy8gICB3YXMgcGFzc2VkXG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7RnVuY3Rpb258U3RyaW5nfSAtICAkZnVuYyAtIEZ1bmN0aW9uIG9yIG5hbWUgb2YgdGhlIGZ1bmN0aW9uXG4vLy8gQHJldHVybiB7RnVuY3Rpb258U3RyaW5nfSAgIEZ1bmN0aW9uIG9yIG5hbWUgb2YgdGhlIGZ1bmN0aW9uIGZvbGxvd2luZ1xuLy8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgc3VwcG9ydCBvZiBmaXJzdC1jbGFzcyBmdW5jdGlvbnMuXG4vLy9cbkBmdW5jdGlvbiAtbXVpLXNhZmUtZ2V0LWZ1bmN0aW9uKCRmdW5jKSB7XG4gIEBpZiAtbXVpLWFzc2VydC1mdW5jdGlvbigkZnVuYykge1xuICAgIEBpZiBmdW5jdGlvbi1leGlzdHMoJ2dldC1mdW5jdGlvbicpIGFuZCB0eXBlLW9mKCRmdW5jKSA9PSAnc3RyaW5nJyB7XG4gICAgICBAcmV0dXJuIGdldC1mdW5jdGlvbigkZnVuYyk7XG4gICAgfSBAZWxzZSB7XG4gICAgICBAcmV0dXJuICRmdW5jO1xuICAgIH1cbiAgfVxufVxuXG4vLy9cbi8vLyBQb2x5ZmlsbCBmb3IgdGhlIGBjYWxsYCBmdW5jdGlvbiBzdXBwb3J0aW5nIGJvdGggZnVuY3Rpb25zIGFuZCBzdHJpbmdzLlxuLy8vXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge0Z1bmN0aW9ufFN0cmluZ30gJGZ1bmMgLSBGdW5jdGlvbiBvciBuYW1lIG9mIHRoZSBmdW5jdGlvbiB0byBjYWxsXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAkYXJncy4uLiAtIEFyZ3VtZW50cyB0byBjYWxsIHRoZSBmdW5jdGlvbiB3aXRoXG4vLy9cbi8vLyBAcmV0dXJuIHsqfVxuLy8vXG5AZnVuY3Rpb24gLW11aS1zYWZlLWNhbGwoJGZ1bmMsICRhcmdzLi4uKSB7XG4gIEBpZiAtbXVpLWFzc2VydC1mdW5jdGlvbigkZnVuYykge1xuICAgIEByZXR1cm4gY2FsbCgtbXVpLXNhZmUtZ2V0LWZ1bmN0aW9uKCRmdW5jKSwgJGFyZ3MuLi4pO1xuICB9XG59XG4iLCIvLyBJbnRlcm5hbCBjb3VudGVyIGZvciBjcmVhdGluZyB1bmlxdWUga2V5ZnJhbWUgbmFtZXNcbiQtbXVpLWN1c3RvbTogMDtcblxuLy8vIENyZWF0ZXMgYSBrZXlmcmFtZSBmcm9tIG9uZSBvciBtb3JlIGVmZmVjdCBmdW5jdGlvbnMuIFVzZSB0aGlzIGZ1bmN0aW9uIGluc3RlYWQgb2YgYG11aS1hbmltYXRpb25gIGlmIHlvdSB3YW50IHRvIGNyZWF0ZSBhIGtleWZyYW1lIGFuaW1hdGlvbiAqd2l0aG91dCogYXV0b21hdGljYWxseSBhc3NpZ25pbmcgaXQgdG8gdGhlIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRuYW1lIC0gTmFtZSBvZiB0aGUga2V5ZnJhbWUuXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAkZWZmZWN0cy4uLiAtIE9uZSBvciBtb3JlIGVmZmVjdCBmdW5jdGlvbnMgdG8gYnVpbGQgdGhlIGtleWZyYW1lIHdpdGguXG5AbWl4aW4gbXVpLWtleWZyYW1lcygkbmFtZSwgJGVmZmVjdHMuLi4pIHtcbiAgJG9iajogLW11aS1wcm9jZXNzLWFyZ3MoJGVmZmVjdHMuLi4pO1xuICAkb2JqOiBtYXAtcmVtb3ZlKCRvYmosIG5hbWUpO1xuXG4gIEBrZXlmcmFtZXMgI3skbmFtZX0ge1xuICAgIC8vIE5vdyBpdGVyYXRlIHRocm91Z2ggZWFjaCBrZXlmcmFtZSBwZXJjZW50YWdlXG4gICAgQGVhY2ggJHBjdCwgJHByb3BzIGluICRvYmoge1xuICAgICAgI3stbXVpLWtleWZyYW1lLXBjdCgkcGN0KX0ge1xuICAgICAgICAvLyBMYXN0bHksIGl0ZXJhdGUgdGhyb3VnaCBlYWNoIENTUyBwcm9wZXJ0eSB3aXRoaW4gYSBwZXJjZW50YWdlIGFuZCBwcmludCBpdCBvdXRcbiAgICAgICAgQGVhY2ggJHByb3AsICR2YWx1ZSBpbiAkcHJvcHMge1xuICAgICAgICAgICN7JHByb3B9OiAjeyR2YWx1ZX07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBzdHJpbmcgZm9yIGEgQ1NTIGtleWZyYW1lLCBieSBjb252ZXJ0aW5nIGEgbGlzdCBvZiBudW1iZXJzIHRvIGEgY29tbWEtc2VwYXJhdGVkIGxpc3Qgb2YgcGVyY2VudGFnZSB2YWx1ZXMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJGlucHV0IC0gTGlzdCBvZiBudW1iZXJzIHRvIHVzZS5cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IEEgc2V0IG9mIGNvbW1hLXNlcGFyYXRlZCBwZXJjZW50YWdlIHZhbHVlcy5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBmdW5jdGlvbiAtbXVpLWtleWZyYW1lLXBjdCgkaW5wdXQpIHtcbiAgJG91dHB1dDogKCk7XG5cbiAgQGlmIHR5cGUtb2YoJGlucHV0KSA9PSAnbnVtYmVyJyB7XG4gICAgJG91dHB1dDogKCRpbnB1dCAqIDElKTtcbiAgfSBAZWxzZSBpZiB0eXBlLW9mKCRpbnB1dCkgPT0gJ2xpc3QnIHtcbiAgICBAZWFjaCAkaSBpbiAkaW5wdXQge1xuICAgICAgJG91dHB1dDogYXBwZW5kKCRvdXRwdXQsICgkaSAqIDElKSwgY29tbWEpO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gXCIjeyRvdXRwdXR9XCI7XG59XG5cbi8vLyBQcmludHMgdGhlIENTUyBwcm9wZXJ0aWVzIGZyb20gYSBzcGVjaWZpYyBrZXkgaW4gYSBrZXlmcmFtZXMgbWFwLiBVc2VkIHRvIGJvcnJvdyBDU1MgZnJvbSBrZXlmcmFtZSBmdW5jdGlvbnMgZm9yIHVzZSBpbiB0cmFuc2l0aW9ucy5cbi8vLyBAcGFyYW0ge01hcH0gJGtmIC0gS2V5ZnJhbWUgbWFwIHRvIGV4dHJhY3QgZnJvbS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGtleSAtIEtleSBpbiB0aGUgbWFwIHRvIHByaW50IHRoZSBDU1Mgb2YuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AbWl4aW4gLW11aS1rZXlmcmFtZS1nZXQoJGtmLCAka2V5KSB7XG4gICRtYXA6IG1hcC1nZXQoJGtmLCAka2V5KTtcblxuICBAZWFjaCAkcHJvcCwgJHZhbHVlIGluICRtYXAgb3IgKCkge1xuICAgIC8vIFNvbWUga2V5ZnJhbWUgbWFwcyBzdG9yZSB0cmFuc2Zvcm1zIGFzIHF1b3RlZCBzdHJpbmdzXG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnc3RyaW5nJyB7XG4gICAgICAkdmFsdWU6IHVucXVvdGUoJHZhbHVlKTtcbiAgICB9XG4gICAgI3skcHJvcH06ICR2YWx1ZTtcbiAgfVxufVxuXG4vLy8gUmVmb3JtYXRzIGEgbWFwIGNvbnRhaW5pbmcga2V5cyB3aXRoIGEgbGlzdCBvZiB2YWx1ZXMsIHNvIHRoYXQgZWFjaCBrZXkgaXMgYSBzaW5nbGUgdmFsdWUuXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gc3BsaXQgdXAuXG4vLy8gQHJldHVybiB7TWFwfSBBIHJlZm9ybWF0dGVkIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBmdW5jdGlvbiAtbXVpLWtleWZyYW1lLXNwbGl0KCRtYXApIHtcbiAgJG5ldy1tYXA6ICgpO1xuXG4gIC8vIFNwbGl0IGtleXMgd2l0aCBtdWx0aXBsZSB2YWx1ZXMgaW50byBpbmRpdmlkdWFsIGtleXNcbiAgQGVhY2ggJGtleSwgJGl0ZW0gaW4gJG1hcCB7XG4gICAgJGtleS10eXBlOiB0eXBlLW9mKCRrZXkpO1xuXG4gICAgQGlmICRrZXktdHlwZSA9PSAnbnVtYmVyJyB7XG4gICAgICAkbmV3LW1hcDogbWFwLW1lcmdlKCRuZXctbWFwLCAoJGtleTogJGl0ZW0pKTtcbiAgICB9IEBlbHNlIGlmICRrZXktdHlwZSA9PSAnbGlzdCcge1xuICAgICAgQGVhY2ggJGsgaW4gJGtleSB7XG4gICAgICAgICRuZXctbWFwOiBtYXAtbWVyZ2UoJG5ldy1tYXAsICgkazogJGl0ZW0pKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRuZXctbWFwO1xufVxuXG4vLy8gQ29tYmluZXMgYSBzZXJpZXMgb2Yga2V5ZnJhbWUgb2JqZWN0cyBpbnRvIG9uZS5cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICRtYXBzLi4uIC0gQSBzZXJpZXMgb2YgbWFwcyB0byBtZXJnZSwgYXMgaW5kaXZpZHVhbCBwYXJhbWV0ZXJzLlxuLy8vIEByZXR1cm4ge01hcH0gQSBjb21iaW5lZCBrZXlmcmFtZSBvYmplY3QuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AZnVuY3Rpb24gLW11aS1rZXlmcmFtZS1jb21iaW5lKCRtYXBzLi4uKSB7XG4gICRuZXctbWFwOiAoKTtcblxuICAvLyBJdGVyYXRlIHRocm91Z2ggZWFjaCBtYXAgcGFzc2VkIGluXG4gIEBlYWNoICRtYXAgaW4gJG1hcHMge1xuICAgIEBpZiAtbXVpLWlzLWZ1bmN0aW9uKCRtYXApIHtcbiAgICAgICRtYXA6IC1tdWktc2FmZS1jYWxsKCRtYXApO1xuICAgIH1cblxuICAgICRtYXA6IC1tdWkta2V5ZnJhbWUtc3BsaXQoJG1hcCk7XG5cbiAgICAvLyBJdGVyYXRlIHRocm91Z2ggZWFjaCBrZXlmcmFtZSBpbiB0aGUgbWFwXG4gICAgLy8gJGtleSBpcyB0aGUga2V5ZnJhbWUgcGVyY2VudGFnZVxuICAgIC8vICR2YWx1ZSBpcyBhIG1hcCBvZiBDU1MgcHJvcGVydGllc1xuICAgIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkbWFwIHtcbiAgICAgICRuZXctdmFsdWU6ICgpO1xuXG4gICAgICBAaWYgbWFwLWhhcy1rZXkoJG5ldy1tYXAsICRrZXkpIHtcbiAgICAgICAgLy8gSWYgdGhlIG1hcCBhbHJlYWR5IGhhcyB0aGUga2V5ZnJhbWUgJSwgYXBwZW5kIHRoZSBuZXcgcHJvcGVydHlcbiAgICAgICAgJG5ldy12YWx1ZTogLW11aS1tZXJnZS1wcm9wZXJ0aWVzKG1hcC1nZXQoJG5ldy1tYXAsICRrZXkpLCAkdmFsdWUpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIC8vIE90aGVyd2lzZSwgY3JlYXRlIGEgbmV3IG1hcCB3aXRoIHRoZSBuZXcgcHJvcGVydHlcbiAgICAgICAgJG5ldy12YWx1ZTogJHZhbHVlO1xuICAgICAgfVxuXG4gICAgICAvLyBGaW5hbGx5LCBtZXJnZSB0aGUgbW9kaWZpZWQga2V5ZnJhbWUgdmFsdWUgaW50byB0aGUgb3V0cHV0IG1hcFxuICAgICAgJG5ldy1tYXA6IG1hcC1tZXJnZSgkbmV3LW1hcCwgKCRrZXk6ICRuZXctdmFsdWUpKTtcbiAgICB9XG4gIH1cblxuICAvLyBNYWtlIGEgbmFtZSBmb3IgdGhlIGtleWZyYW1lc1xuICAkLW11aS1jdXN0b206ICQtbXVpLWN1c3RvbSArIDEgIWdsb2JhbDtcbiAgJG1hcC1uYW1lOiAobmFtZTogJ2N1c3RvbS0jeyQtbXVpLWN1c3RvbX0nKTtcbiAgJG5ldy1tYXA6IG1hcC1tZXJnZSgkbmV3LW1hcCwgJG1hcC1uYW1lKTtcblxuICBAcmV0dXJuICRuZXctbWFwO1xufVxuXG4vLy8gQ29tYmluZXMgdHdvIG1hcHMgb2YgQ1NTIHByb3BlcnRpZXMgaW50byBvbmUgbWFwLiBJZiBib3RoIG1hcHMgaGF2ZSBhIHRyYW5zZm9ybSBwcm9wZXJ0eSwgdGhlIHZhbHVlcyBmcm9tIGVhY2ggd2lsbCBiZSBjb21iaW5lZCBpbnRvIG9uZSBwcm9wZXJ0eS5cbi8vLyBAcGFyYW0ge01hcH0gJG9uZSAtIEZpcnN0IG1hcCB0byBtZXJnZS5cbi8vLyBAcGFyYW0ge01hcH0gJHR3byAtIFNlY29uZCBtYXAgdG8gbWVyZ2UuXG4vLy8gQHJldHVybiB7TWFwfSBBIGNvbWJpbmVkIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBmdW5jdGlvbiAtbXVpLW1lcmdlLXByb3BlcnRpZXMoJG9uZSwgJHR3bykge1xuICBAaWYgbWFwLWhhcy1rZXkoJG9uZSwgdHJhbnNmb3JtKSBhbmQgbWFwLWhhcy1rZXkoJHR3bywgdHJhbnNmb3JtKSB7XG4gICAgJHRyYW5zZm9ybTogam9pbihtYXAtZ2V0KCRvbmUsIHRyYW5zZm9ybSksIG1hcC1nZXQoJHR3bywgdHJhbnNmb3JtKSk7XG4gICAgJG9uZTogbWFwLW1lcmdlKCRvbmUsICh0cmFuc2Zvcm06ICR0cmFuc2Zvcm0pKTtcbiAgICAkdHdvOiBtYXAtcmVtb3ZlKCR0d28sIHRyYW5zZm9ybSk7XG4gIH1cblxuICBAcmV0dXJuIG1hcC1tZXJnZSgkb25lLCAkdHdvKTtcbn1cbiIsIi8vLyBCdWlsZHMgYSBzZWxlY3RvciBmb3IgYSBtb3Rpb24gY2xhc3MsIHVzaW5nIHRoZSBzZXR0aW5ncyBkZWZpbmVkIGluIHRoZSBgJG1vdGlvbi11aS1jbGFzc2VzYCBhbmQgYCRtb3Rpb24tdWktc3RhdGVzYCBtYXBzLlxuLy8vIEBwYXJhbSB7U3RyaW5nfExpc3R9ICRzdGF0ZXMgLSBPbmUgb3IgbW9yZSBzdHJpbmdzIHRoYXQgY29ycmVsYXRlIHRvIGEgc3RhdGUuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkYWN0aXZlIC0gRGVmaW5lcyBpZiB0aGUgc2VsZWN0b3IgaXMgZm9yIHRoZSBzZXR1cCBvciBhY3RpdmUgY2xhc3MuXG4vLy8gQHJldHVybiB7U3RyaW5nfSBBIHNlbGVjdG9yIHRoYXQgY2FuIGJlIGludGVycG9sYXRlZCBpbnRvIHlvdXIgU2FzcyBjb2RlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQGZ1bmN0aW9uIC1tdWktYnVpbGQtc2VsZWN0b3IoJHN0YXRlcywgJGFjdGl2ZTogZmFsc2UpIHtcbiAgJHJldHVybjogJyc7XG4gICRjaGFpbjogbWFwLWdldCgkbW90aW9uLXVpLWNsYXNzZXMsIGNoYWluKTtcbiAgJHByZWZpeDogbWFwLWdldCgkbW90aW9uLXVpLWNsYXNzZXMsIHByZWZpeCk7XG4gICRzdWZmaXg6IG1hcC1nZXQoJG1vdGlvbi11aS1jbGFzc2VzLCBhY3RpdmUpO1xuXG4gIEBlYWNoICRzZWwgaW4gJHN0YXRlcyB7XG4gICAgJHJldHVybjogJHJldHVybiArIGlmKCRjaGFpbiwgJyYuJywgJyN7Jn0tJykgKyAkcHJlZml4ICsgJHNlbDtcblxuICAgIEBpZiAkYWN0aXZlIHtcbiAgICAgICRyZXR1cm46ICRyZXR1cm4gKyBpZigkY2hhaW4sICcuJywgJyN7Jn0tJykgKyAkcHJlZml4ICsgJHNlbCArICRzdWZmaXg7XG4gICAgfVxuXG4gICAgJHJldHVybjogJHJldHVybiArICcsICc7XG4gIH1cblxuICBAcmV0dXJuIHN0ci1zbGljZSgkcmV0dXJuLCAxLCAtMyk7XG59XG4iLCIkLW11aS1xdWV1ZTogKCk7XG5cbi8vLyBDcmVhdGVzIGEgbmV3IGFuaW1hdGlvbiBxdWV1ZS5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgWzBzXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIHRvIHBsYWNlIGF0IHRoZSBmcm9udCBvZiB0aGUgYW5pbWF0aW9uIHF1ZXVlLlxuQG1peGluIG11aS1zZXJpZXMoJGRlbGF5OiAwcykge1xuICAkLW11aS1xdWV1ZTogKCkgIWdsb2JhbDtcblxuICBAaWYgJGRlbGF5ID4gMCB7XG4gICAgJGl0ZW06ICgkZGVsYXksIDBzKTtcbiAgICAkLW11aS1xdWV1ZTogYXBwZW5kKCQtbXVpLXF1ZXVlLCAkaXRlbSkgIWdsb2JhbDtcbiAgfVxuXG4gIEBjb250ZW50O1xufVxuXG4vLy8gQWRkcyBhbiBhbmltYXRpb24gdG8gYW4gYW5pbWF0aW9uIHF1ZXVlLiBPbmx5IHVzZSB0aGlzIG1peGluIGluc2lkZSBvZiBgbXVpLXNlcmllcygpYC5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZHVyYXRpb24gWzFzXSAtIExlbmd0aCBvZiB0aGUgYW5pbWF0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRnYXAgWzBzXSAtIEFtb3VudCBvZiB0aW1lIHRvIHBhdXNlIGJlZm9yZSBwbGF5aW5nIHRoZSBhbmltYXRpb24gYWZ0ZXIgdGhpcyBvbmUuIFVzZSBhIG5lZ2F0aXZlIHZhbHVlIHRvIG1ha2UgdGhlIG5leHQgZWZmZWN0IG92ZXJsYXAgd2l0aCB0aGUgY3VycmVudCBvbmUuXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAka2V5ZnJhbWVzLi4uIC0gT25lIG9yIG1vcmUgZWZmZWN0IGZ1bmN0aW9ucyB0byBidWlsZCB0aGUga2V5ZnJhbWUgd2l0aC5cbkBtaXhpbiBtdWktcXVldWUoXG4gICRkdXJhdGlvbjogMXMsXG4gICRnYXA6IDBzLFxuICAka2V5ZnJhbWVzLi4uXG4pIHtcbiAgLy8gQnVpbGQgdGhlIGFuaW1hdGlvblxuICAka2Y6IC1tdWktcHJvY2Vzcy1hcmdzKCRrZXlmcmFtZXMuLi4pO1xuXG4gIC8vIENhbGN1bGF0ZSB0aGUgZGVsYXkgZm9yIHRoaXMgYW5pbWF0aW9uIGJhc2VkIG9uIGhvdyBsb25nIHRoZSBwcmV2aW91cyBvbmVzIHRha2VcbiAgJGFjdHVhbC1kZWxheTogMHM7XG4gIEBlYWNoICRhbmltIGluICQtbXVpLXF1ZXVlIHtcbiAgICAkYWN0dWFsLWRlbGF5OiAkYWN0dWFsLWRlbGF5ICsgbnRoKCRhbmltLCAxKSArIG50aCgkYW5pbSwgMik7XG4gIH1cblxuICAvLyBBcHBlbmQgdGhpcyBhbmltYXRpb24ncyBsZW5ndGggYW5kIGdhcCB0byB0aGUgZW5kIG9mIHRoZSBxdWV1ZVxuICAkaXRlbTogKCRkdXJhdGlvbiwgJGdhcCk7XG4gICQtbXVpLXF1ZXVlOiBhcHBlbmQoJC1tdWktcXVldWUsICRpdGVtKSAhZ2xvYmFsO1xuXG4gIC8vIC0tLSBDU1Mgb3V0cHV0IC0tLVxuICAvLyBJbml0aWFsIHByb3BlcnRpZXNcbiAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJGtmLCAwKTtcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcblxuICAvLyBTdGFydCB0aGUgYW5pbWF0aW9uXG4gIC4je21hcC1nZXQoJG1vdGlvbi11aS1zZXR0aW5ncywgYWN0aXZhdGUtcXVldWUtY2xhc3MpfSAmIHtcbiAgICBAaW5jbHVkZSBtdWktYW5pbWF0aW9uKCRrZik7XG4gICAgYW5pbWF0aW9uLWRlbGF5OiAkYWN0dWFsLWRlbGF5O1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogJGR1cmF0aW9uO1xuICB9XG5cbiAgLy8gUGF1c2UgdGhlIGFuaW1hdGlvbi5cbiAgLy8gRm9yIG1hY09TIFNhZmFyaSB0byBwbGF5IGl0IGNvcnJlY3RseSwgYGFuaW1hdGlvbi1wbGF5LXN0YXRlYFxuICAvLyBtdXN0IG5vdCBiZSBgcGF1c2VkYCBiZWZvcmUgdGhlIGFuaW1hdGlvbiBzdGFydC5cbiAgLy8gU2VlIGh0dHBzOi8vZ2l0LmlvL21vdGlvbi11aS05N1xuICAuI3ttYXAtZ2V0KCRtb3Rpb24tdWktc2V0dGluZ3MsIHBhdXNlLXF1ZXVlLWNsYXNzKX0gJiB7XG4gICAgYW5pbWF0aW9uLXBsYXktc3RhdGU6IHBhdXNlZDtcbiAgfVxufVxuIiwiLy8vIEFwcGxpZXMgYmFzaWMgdHJhbnNpdGlvbiBzZXR0aW5ncyB0byBhbiBlbGVtZW50LlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIHRyYW5zaXRpb24tYmFzaWNzKFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gIEBpbmNsdWRlIC1tb3Rpb24tdWktZGVmYXVsdHM7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246ICRkdXJhdGlvbjtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICR0aW1pbmc7XG4gIHRyYW5zaXRpb24tZGVsYXk6ICRkZWxheTtcbn1cblxuLy8vIFdyYXBzIHRoZSBjb250ZW50IGluIHRoZSBzZXR1cCBjbGFzcyBmb3IgYSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciAtIFN0YXRlIHRvIHNldHVwIGZvciB0cmFuc2l0aW9uLlxuQG1peGluIHRyYW5zaXRpb24tc3RhcnQoJGRpcikge1xuICAkc2VsZWN0b3I6IC1tdWktYnVpbGQtc2VsZWN0b3IobWFwLWdldCgkbW90aW9uLXVpLXN0YXRlcywgJGRpcikpO1xuXG4gIEBhdC1yb290IHtcbiAgICAjeyRzZWxlY3Rvcn0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBXcmFwcyB0aGUgY29udGVudCBpbiB0aGUgYWN0aXZlIGNsYXNzIGZvciBhIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIC0gU3RhdGUgdG8gYWN0aXZhdGUgYSB0cmFuc2l0aW9uIG9uLlxuQG1peGluIHRyYW5zaXRpb24tZW5kKCRkaXIpIHtcbiAgJHNlbGVjdG9yOiAtbXVpLWJ1aWxkLXNlbGVjdG9yKG1hcC1nZXQoJG1vdGlvbi11aS1zdGF0ZXMsICRkaXIpLCB0cnVlKTtcblxuICBAYXQtcm9vdCB7XG4gICAgI3skc2VsZWN0b3J9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc3RhZ2dlciBhbmltYXRpb24sIHdoaWNoIGNhbiBiZSB1c2VkIHdpdGggQW5ndWxhcidzIGBuZy1yZXBlYXRgLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheS1hbW91bnQgLSBBbW91bnQgb2YgdGltZSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyB0byBhZGQgYmV0d2VlbiBlYWNoIGl0ZW0ncyBhbmltYXRpb24uXG5AbWl4aW4gc3RhZ2dlcigkZGVsYXktYW1vdW50KSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6ICRkZWxheS1hbW91bnQ7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDA7IC8vIFByZXZlbnQgYWNjaWRlbnRhbCBDU1MgaW5oZXJpdGFuY2Vcbn1cbiIsIi8vLyBSZW1vdmVzIHRoZSB1bml0IChlLmcuIHB4LCBlbSwgcmVtKSBmcm9tIGEgdmFsdWUsIHJldHVybmluZyB0aGUgbnVtYmVyIG9ubHkuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRudW0gLSBOdW1iZXIgdG8gc3RyaXAgdW5pdCBmcm9tLlxuLy8vIEByZXR1cm4ge051bWJlcn0gVGhlIHNhbWUgbnVtYmVyLCBzYW5zIHVuaXQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AZnVuY3Rpb24gc3RyaXAtdW5pdCgkbnVtKSB7XG4gIEByZXR1cm4gJG51bSAvICgkbnVtICogMCArIDEpO1xufVxuIiwiLy8vIENvbnZlcnQgYW55IHN0cmluZyB0byBhIFwic2FmZVwiIHN0cmluZyB0aGF0IGNhbiBiZSB1c2VkIGFueXdoZXJlIGluIENTUyAoYXMgY2xhc3Mgb3Iga2V5ZnJhbWUgbmFtZSBmb3IgZXhhbXBsZSkuXG4vLy8gVW5zdXBwb3J0ZWQgY2hhcmFjdGVycyBhcmUgcmVwbGFjZWQgYnkgdGhlIGdpdmVuIGAkZGVsaW1pdGVyYCAoXCItXCIpLlxuLy8vIFNldmVyYWwgdW5zdXBwb3J0ZWQgY2hhcmFjdGVycyBmb2xsb3dpbmcgZWFjaCBvdGhlcnMgYXJlIHJlcGxhY2VkIGJ5IGEgc2luZ2xlIGRlbGltaXRlci5cbi8vL1xuLy8vIEBwYXJhbSB7Kn0gJHN0ciAtIFN0cmluZyB0byBjb252ZXJ0LiBJZiBub3QgYSBzdHJpbmcsIGl0IHdpbGwgYmUgY29udmVydGVkIHRvIHdpdGggYHF1b3RlKClgLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZGVsaW1pdGVyIFsnLSddIC0gQ2hhcmFjdGVyIHRvIHVzZSBpbnN0ZWFkIG9mIHVuc3VwcG9ydGVkIGNoYXJhY3RlcnMuXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIFNhZmUgc3RyaW5nIHVzYWJsZSBldmVyeXdoZXJlIGluIENTUy5cbkBmdW5jdGlvbiAtbXVpLXN0cmluZy1zYWZlKFxuICAkc3RyLFxuICAkZGVsaW1pdGVyOiAnLSdcbikge1xuICAkc3RyOiBxdW90ZSgkc3RyKTtcbiAgJGxlbmd0aDogc3RyX2xlbmd0aCgkc3RyKTtcbiAgJHNhZmUtY2hhcnM6ICdBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OS1fJztcblxuICAkcmV0OiAnJztcbiAgJGRlbGltaXRlZDogZmFsc2U7XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkbGVuZ3RoIHtcbiAgICAkYzogc3RyX3NsaWNlKCRzdHIsICRpLCAkaSk7XG5cbiAgICBAaWYgKHN0cl9pbmRleCgkc2FmZS1jaGFycywgJGMpICE9IG51bGwpIHtcbiAgICAgICRyZXQ6ICcjeyRyZXR9I3skY30nO1xuICAgICAgJGRlbGltaXRlZDogZmFsc2U7XG4gICAgfVxuICAgIEBlbHNlIGlmICgoJGRlbGltaXRlZCA9PSBmYWxzZSlcbiAgICAgIGFuZCAoc3RyX2xlbmd0aCgkcmV0KSA+IDApXG4gICAgICBhbmQgKCRpIDwgJGxlbmd0aCkpXG4gICAge1xuICAgICAgJHJldDogJyN7JHJldH0jeyRkZWxpbWl0ZXJ9JztcbiAgICAgICRkZWxpbWl0ZWQ6IHRydWU7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkcmV0O1xufVxuIiwiLy8vIENyZWF0ZXMgYSBmYWRpbmcgYW5pbWF0aW9uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZnJvbSBbMF0gLSBPcGFjaXR5IHRvIHN0YXJ0IGF0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdG8gWzFdIC0gT3BhY2l0eSB0byBlbmQgYXQuXG4vLy8gQHJldHVybiB7TWFwfSBBIGtleWZyYW1lcyBtYXAgdGhhdCBjYW4gYmUgdXNlZCB3aXRoIHRoZSBgZ2VuZXJhdGUta2V5ZnJhbWVzKClgIG1peGluLlxuQGZ1bmN0aW9uIGZhZGUoXG4gICRmcm9tOiAwLFxuICAkdG86IDFcbikge1xuICAkdHlwZTogdHlwZS1vZigkZnJvbSk7XG4gICRrZXlmcmFtZXM6ICgpO1xuXG4gIEBpZiAkdHlwZSA9PSAnc3RyaW5nJyB7XG4gICAgQGlmICRmcm9tID09IGluIHtcbiAgICAgICRmcm9tOiAwO1xuICAgICAgJHRvOiAxO1xuICAgIH0gQGVsc2UgaWYgJGZyb20gPT0gb3V0IHtcbiAgICAgICRmcm9tOiAxO1xuICAgICAgJHRvOiAwO1xuICAgIH1cbiAgfVxuXG4gICRrZXlmcmFtZXM6IChcbiAgICBuYW1lOiAtbXVpLXN0cmluZy1zYWZlKCdmYWRlLSN7JGZyb219LXRvLSN7JHRvfScpLFxuICAgIDA6IChvcGFjaXR5OiAkZnJvbSksXG4gICAgMTAwOiAob3BhY2l0eTogJHRvKSxcbiAgKTtcblxuICBAcmV0dXJuICRrZXlmcmFtZXM7XG59XG4iLCIvLy8gQ3JlYXRlcyBhIGhpbmdlIGVmZmVjdCBieSByb3RhdGluZyB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRmcm9tIFtsZWZ0XSAtIEVkZ2Ugb2YgdGhlIGVsZW1lbnQgdG8gcm90YXRlIGZyb20uIENhbiBiZSBgdG9wYCwgYHJpZ2h0YCwgYGJvdHRvbWAsIG9yIGBsZWZ0YC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRheGlzIFtlZGdlXSAtIEF4aXMgb2YgdGhlIGVsZW1lbnQgdG8gcm90YXRlIG9uLiBDYW4gYmUgYGVkZ2VgIG9yIGBjZW50ZXJgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcGVyc3BlY3RpdmUgWzIwMDBweF0gLSBQZXJjZWl2ZWQgZGlzdGFuY2UgYmV0d2VlbiB0aGUgdmlld2VyIGFuZCB0aGUgZWxlbWVudC4gQSBoaWdoZXIgbnVtYmVyIHdpbGwgbWFrZSB0aGUgcm90YXRpb24gZWZmZWN0IG1vcmUgcHJvbm91bmNlZC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR0dXJuLW9yaWdpbiBbbnVsbF0gLSBTaWRlIG9mIHRoZSBlbGVtZW50IHRvIHN0YXJ0IHRoZSByb3RhdGlvbiBmcm9tLiBDYW4gYmUgYGZyb20tYmFja2Agb3IgYGZyb20tZnJvbnRgLiBCeSBkZWZhdWx0IGBmcm9tLWJhY2tgIGFuZCBgZnJvbS1mcm9udGAgZm9yIGBpbmAgYW5kIGBvdXRgIHN0YXRlcyByZXNwZWN0aXZlbHkuXG5AZnVuY3Rpb24gaGluZ2UgKFxuICAkc3RhdGU6IGluLFxuICAkZnJvbTogbGVmdCxcbiAgJGF4aXM6IGVkZ2UsXG4gICRwZXJzcGVjdGl2ZTogMjAwMHB4LFxuICAkdHVybi1vcmlnaW46IG51bGxcbikge1xuICAvLyBSb3RhdGlvbiBkaXJlY3Rpb25zIHdoZW4gaGluZ2luZyBmcm9tIGJhY2sgdnMuIGZyb250XG4gICRyb3RhdGlvbi1hbW91bnQ6IDkwZGVnO1xuICAkcm90YXRpb25zLWJhY2s6IChcbiAgICB0b3A6IHJvdGF0ZVgoJHJvdGF0aW9uLWFtb3VudCAqIC0xKSxcbiAgICByaWdodDogcm90YXRlWSgkcm90YXRpb24tYW1vdW50ICogLTEpLFxuICAgIGJvdHRvbTogcm90YXRlWCgkcm90YXRpb24tYW1vdW50KSxcbiAgICBsZWZ0OiByb3RhdGVZKCRyb3RhdGlvbi1hbW91bnQpLFxuICApO1xuICAkcm90YXRpb25zLWZyb206IChcbiAgICB0b3A6IHJvdGF0ZVgoJHJvdGF0aW9uLWFtb3VudCksXG4gICAgcmlnaHQ6IHJvdGF0ZVkoJHJvdGF0aW9uLWFtb3VudCksXG4gICAgYm90dG9tOiByb3RhdGVYKCRyb3RhdGlvbi1hbW91bnQgKiAtMSksXG4gICAgbGVmdDogcm90YXRlWSgkcm90YXRpb24tYW1vdW50ICogLTEpLFxuICApO1xuXG4gIC8vIFJvdGF0aW9uIG9yaWdpblxuICAkdHVybi1vcmlnaW46IGlmKCR0dXJuLW9yaWdpbiAhPSBudWxsLCAkdHVybi1vcmlnaW4sIGlmKCRzdGF0ZSA9PSBpbiwgZnJvbS1iYWNrLCBmcm9tLWZyb250KSk7XG4gICRyb3RhdGlvbjogJyc7XG4gIEBpZiAkdHVybi1vcmlnaW4gPT0gZnJvbS1mcm9udCB7XG4gICAgJHJvdGF0aW9uOiBtYXAtZ2V0KCRyb3RhdGlvbnMtZnJvbSwgJGZyb20pO1xuICB9IEBlbHNlIGlmICR0dXJuLW9yaWdpbiA9PSBmcm9tLWJhY2sge1xuICAgICRyb3RhdGlvbjogbWFwLWdldCgkcm90YXRpb25zLWJhY2ssICRmcm9tKTtcbiAgfSBAZWxzZSB7XG4gICAgQHdhcm4gJyR0dXJuLW9yaWdpbiBtdXN0IGJlIGVpdGhlciBcImZyb20tYmFja1wiIG9yIFwiZnJvbS1mcm9udFwiJztcbiAgfVxuXG4gIC8vIFN0YXJ0IGFuZCBlbmQgc3RhdGVcbiAgJHN0YXJ0OiAnJztcbiAgJGVuZDogJyc7XG4gIEBpZiAkc3RhdGUgPT0gaW4ge1xuICAgICRzdGFydDogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSAkcm90YXRpb247XG4gICAgJGVuZDogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSByb3RhdGUoMGRlZyk7XG4gIH0gQGVsc2Uge1xuICAgICRzdGFydDogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSByb3RhdGUoMGRlZyk7XG4gICAgJGVuZDogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSAkcm90YXRpb247XG4gIH1cblxuICAvLyBUdXJuIGF4aXNcbiAgJG9yaWdpbjogJyc7XG4gIEBpZiAkYXhpcyA9PSBlZGdlIHtcbiAgICAkb3JpZ2luOiAkZnJvbTtcbiAgfSBAZWxzZSB7XG4gICAgJG9yaWdpbjogY2VudGVyO1xuICB9XG5cbiAgJGtleWZyYW1lczogKFxuICAgIG5hbWU6IC1tdWktc3RyaW5nLXNhZmUoJ2hpbmdlLSN7JHN0YXRlfS0jeyRmcm9tfS0jeyRheGlzfS0jeyR0dXJuLW9yaWdpbn0nKSxcbiAgICAwOiAodHJhbnNmb3JtOiAkc3RhcnQsIHRyYW5zZm9ybS1vcmlnaW46ICRvcmlnaW4pLFxuICAgIDEwMDogKHRyYW5zZm9ybTogJGVuZCksXG4gICk7XG5cbiAgQHJldHVybiAka2V5ZnJhbWVzO1xufVxuIiwiLy8vIENyZWF0ZXMgYSBzcGlubmluZyBhbmltYXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyZWN0aW9uIFtudWxsXSAtIERpcmVjdGlvbiB0byBzcGluLiBTaG91bGQgYmUgYGN3YCAoY2xvY2t3aXNlKSBvciBgY2N3YCAoY291bnRlcmNsb2Nrd2lzZSkuIEJ5IGRlZmF1bHQgYGN3YCBhbmQgYGNjd2AgZm9yIGBpbmAgYW5kIGBvdXRgIHN0YXRlcyByZXNwZWN0aXZlbHkuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRhbW91bnQgWzM2MGRlZ10gLSBBbW91bnQgdG8gc3Bpbi4gQ2FuIGJlIGFueSBDU1MgYW5nbGUgdW5pdC5cbi8vLyBAcmV0dXJuIHtNYXB9IEEga2V5ZnJhbWVzIG1hcCB0aGF0IGNhbiBiZSB1c2VkIHdpdGggdGhlIGBnZW5lcmF0ZS1rZXlmcmFtZXMoKWAgbWl4aW4uXG5AZnVuY3Rpb24gc3BpbihcbiAgJHN0YXRlOiBpbixcbiAgJGRpcmVjdGlvbjogbnVsbCxcbiAgJGFtb3VudDogMXR1cm5cbikge1xuICAkc3RhcnQ6IDA7XG4gICRlbmQ6IDA7XG4gICRkaXJlY3Rpb246IGlmKCRkaXJlY3Rpb24gIT0gbnVsbCwgJGRpcmVjdGlvbiwgaWYoJHN0YXRlID09IGluLCBjdywgY2N3KSk7XG5cbiAgQGlmICRzdGF0ZSA9PSBpbiB7XG4gICAgJHN0YXJ0OiBpZigkZGlyZWN0aW9uID09IGNjdywgJGFtb3VudCwgJGFtb3VudCAqIC0xKTtcbiAgICAkZW5kOiAwO1xuICB9IEBlbHNlIHtcbiAgICAkc3RhcnQ6IDA7XG4gICAgJGVuZDogaWYoJGRpcmVjdGlvbiA9PSBjY3csICRhbW91bnQgKiAtMSwgJGFtb3VudCk7XG4gIH1cblxuICAka2V5ZnJhbWVzOiAoXG4gICAgbmFtZTogLW11aS1zdHJpbmctc2FmZSgnc3Bpbi0jeyRkaXJlY3Rpb259LSN7JGFtb3VudH0nKSxcbiAgICAwOiAodHJhbnNmb3JtOiByb3RhdGUoJHN0YXJ0KSksXG4gICAgMTAwOiAodHJhbnNmb3JtOiByb3RhdGUoJGVuZCkpLFxuICApO1xuXG4gIEByZXR1cm4gJGtleWZyYW1lcztcbn1cbiIsIi8vLyBDcmVhdGVzIGEgc2NhbGluZyB0cmFuc2l0aW9uLiBBIHNjYWxlIG9mIGAxYCBtZWFucyB0aGUgZWxlbWVudCBpcyB0aGUgc2FtZSBzaXplLiBMYXJnZXIgbnVtYmVycyBtYWtlIHRoZSBlbGVtZW50IGJpZ2dlciwgd2hpbGUgbnVtYmVycyBsZXNzIHRoYW4gMSBtYWtlIHRoZSBlbGVtZW50IHNtYWxsZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRmcm9tIFswXSAtIFNpemUgdG8gc3RhcnQgYXQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0byBbMV0gLSBTaXplIHRvIGVuZCBhdC5cbkBmdW5jdGlvbiB6b29tKFxuICAkZnJvbTogMCxcbiAgJHRvOiAxXG4pIHtcbiAgJGtleWZyYW1lczogKFxuICAgIG5hbWU6IC1tdWktc3RyaW5nLXNhZmUoJ3NjYWxlLSN7JHRvfS10by0jeyRmcm9tfScpLFxuICAgIDA6ICh0cmFuc2Zvcm06IHNjYWxlKCRmcm9tKSksXG4gICAgMTAwOiAodHJhbnNmb3JtOiBzY2FsZSgkdG8pKSxcbiAgKTtcblxuICBAcmV0dXJuICRrZXlmcmFtZXM7XG59XG4iLCIvLy8gQ3JlYXRlcyBhIHNoYWtpbmcgYW5pbWF0aW9uLlxuLy8vIEBwYXJhbSB7UGVyY2VudGFnZX0gJGludGVuc2l0eSBbNyVdIC0gSW50ZW5zaXR5IG9mIHRoZSBzaGFrZSwgYXMgYSBwZXJjZW50YWdlIHZhbHVlLlxuLy8vIEByZXR1cm4ge01hcH0gQSBrZXlmcmFtZXMgbWFwIHRoYXQgY2FuIGJlIHVzZWQgd2l0aCB0aGUgYGdlbmVyYXRlLWtleWZyYW1lcygpYCBtaXhpbi5cbkBmdW5jdGlvbiBzaGFrZSgkaW50ZW5zaXR5OiA3JSkge1xuICAkcmlnaHQ6ICgwLCAxMCwgMjAsIDMwLCA0MCwgNTAsIDYwLCA3MCwgODAsIDkwKTtcbiAgJGxlZnQ6ICg1LCAxNSwgMjUsIDM1LCA0NSwgNTUsIDY1LCA3NSwgODUsIDk1KTtcblxuICAka2V5ZnJhbWVzOiAoXG4gICAgbmFtZTogLW11aS1zdHJpbmctc2FmZSgnc2hha2UtI3skaW50ZW5zaXR5fScpLFxuICAgICRyaWdodDogKHRyYW5zZm9ybTogdHJhbnNsYXRlWCgkaW50ZW5zaXR5KSksXG4gICAgJGxlZnQ6ICh0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLSRpbnRlbnNpdHkpKSxcbiAgKTtcblxuICBAcmV0dXJuICRrZXlmcmFtZXM7XG59XG4iLCIvLy8gQ3JlYXRlcyBhIHNsaWRpbmcgYW5pbWF0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBXaGV0aGVyIHRvIG1vdmUgdG8gKGBpbmApIG9yIGZyb20gKGBvdXRgKSB0aGUgZWxlbWVudCdzIGRlZmF1bHQgcG9zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyZWN0aW9uIFtudWxsXSAtIERpcmVjdGlvbiB0byBtb3ZlLiBDYW4gYmUgYHVwYCwgYHJpZ2h0YCwgYGRvd25gLCBvciBgbGVmdGAuIEJ5IGRlZmF1bHQgYGxlZnRgIGFuZCBgcmlnaHRgIGZvciBgaW5gIGFuZCBgb3V0YCBzdGF0ZXMgcmVzcGVjdGl2ZWx5LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYW1vdW50IFsxMDAlXSAtIERpc3RhbmNlIHRvIG1vdmUuIENhbiBiZSBhbnkgQ1NTIGxlbmd0aCB1bml0LlxuLy8vIEByZXR1cm4ge01hcH0gQSBrZXlmcmFtZXMgbWFwIHRoYXQgY2FuIGJlIHVzZWQgd2l0aCB0aGUgYGdlbmVyYXRlLWtleWZyYW1lcygpYCBtaXhpbi5cbkBmdW5jdGlvbiBzbGlkZShcbiAgJHN0YXRlOiBpbixcbiAgJGRpcmVjdGlvbjogbnVsbCxcbiAgJGFtb3VudDogMTAwJVxuKSB7XG4gICRmcm9tOiAkYW1vdW50O1xuICAkdG86IDA7XG4gICRmdW5jOiAndHJhbnNsYXRlWSc7XG4gICRkaXJlY3Rpb246IGlmKCRkaXJlY3Rpb24gIT0gbnVsbCwgJGRpcmVjdGlvbiwgaWYoJHN0YXRlID09IGluLCBsZWZ0LCByaWdodCkpO1xuXG4gIEBpZiAkZGlyZWN0aW9uID09IGxlZnQgb3IgJGRpcmVjdGlvbiA9PSByaWdodCB7XG4gICAgJGZ1bmM6ICd0cmFuc2xhdGVYJztcbiAgfVxuXG4gIEBpZiAkc3RhdGUgPT0gb3V0IHtcbiAgICAkZnJvbTogMDtcbiAgICAkdG86ICRhbW91bnQ7XG4gIH1cblxuICBAaWYgJGRpcmVjdGlvbiA9PSBkb3duIG9yICRkaXJlY3Rpb24gPT0gcmlnaHQge1xuICAgIEBpZiAkc3RhdGUgPT0gaW4ge1xuICAgICAgJGZyb206IC0kZnJvbTtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBpZiAkc3RhdGUgPT0gb3V0IHtcbiAgICAgICR0bzogLSR0bztcbiAgICB9XG4gIH1cblxuICAka2V5ZnJhbWVzOiAoXG4gICAgbmFtZTogLW11aS1zdHJpbmctc2FmZSgnc2xpZGUtI3skc3RhdGV9LSN7JGRpcmVjdGlvbn0tI3skYW1vdW50fScpLFxuICAgIDA6ICh0cmFuc2Zvcm06ICcjeyRmdW5jfSgjeyRmcm9tfSknKSxcbiAgICAxMDA6ICh0cmFuc2Zvcm06ICcjeyRmdW5jfSgjeyR0b30pJyksXG4gICk7XG5cbiAgQHJldHVybiAka2V5ZnJhbWVzO1xufVxuIiwiLy8vIENyZWF0ZXMgYSB3aWdnbGluZyBhbmltYXRpb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRpbnRlbnNpdHkgWzdkZWddIC0gSW50ZW5zaXR5IG9mIHRoZSB3aWdnbGUuIENhbiBiZSBhbnkgQ1NTIGFuZ2xlIHVuaXQuXG4vLy8gQHJldHVybiB7TWFwfSBBIGtleWZyYW1lcyBtYXAgdGhhdCBjYW4gYmUgdXNlZCB3aXRoIHRoZSBgZ2VuZXJhdGUta2V5ZnJhbWVzKClgIG1peGluLlxuQGZ1bmN0aW9uIHdpZ2dsZSgkaW50ZW5zaXR5OiA3ZGVnKSB7XG4gICRrZXlmcmFtZXM6IChcbiAgICBuYW1lOiAtbXVpLXN0cmluZy1zYWZlKCd3aWdnbGUtI3skaW50ZW5zaXR5fScpLFxuICAgICg0MCwgNTAsIDYwKTogKHRyYW5zZm9ybTogcm90YXRlKCRpbnRlbnNpdHkpKSxcbiAgICAoMzUsIDQ1LCA1NSwgNjUpOiAodHJhbnNmb3JtOiByb3RhdGUoLSRpbnRlbnNpdHkpKSxcbiAgICAoMCwgMzAsIDcwLCAxMDApOiAodHJhbnNmb3JtOiByb3RhdGUoMCkpLFxuICApO1xuXG4gIEByZXR1cm4gJGtleWZyYW1lcztcbn1cbiIsIi8vLyBDcmVhdGVzIGEgZmFkZSB0cmFuc2l0aW9uIGJ5IGFkanVzdGluZyB0aGUgb3BhY2l0eSBvZiB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGZyb20gW251bGxdIC0gT3BhY2l0eSB0byBzdGFydCBhdC4gTXVzdCBiZSBhIG51bWJlciBiZXR3ZWVuIDAgYW5kIDEuIEJ5IGRlZmF1bHQgYDBgIGFuZCBgMWAgZm9yIGBpbmAgYW5kIGBvdXRgIHN0YXRlcyByZXNwZWN0aXZlbHkuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0byBbbnVsbF0gLSBPcGFjaXR5IHRvIGVuZCBvbi4gQnkgZGVmYXVsdCBgMWAgYW5kIGAwYCBmb3IgYGluYCBhbmQgYG91dGAgc3RhdGVzIHJlc3BlY3RpdmVseS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIG11aS1mYWRlKFxuICAkc3RhdGU6IGluLFxuICAkZnJvbTogbnVsbCxcbiAgJHRvOiBudWxsLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRmcm9tOiBpZigkZnJvbSAhPSBudWxsLCAkZnJvbSwgaWYoJHN0YXRlID09IGluLCAwLCAxKSk7XG4gICR0bzogaWYoJHRvICE9IG51bGwsICR0bywgaWYoJHN0YXRlID09IGluLCAxLCAwKSk7XG4gICRmYWRlOiBmYWRlKCRmcm9tLCAkdG8pO1xuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1iYXNpY3MoJGR1cmF0aW9uLCAkdGltaW5nLCAkZGVsYXkpO1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRmYWRlLCAwKTtcblxuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG4gIH1cblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkZmFkZSwgMTAwKTtcbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBoaW5nZSB0cmFuc2l0aW9uIGJ5IHJvdGF0aW5nIHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGZyb20gW2xlZnRdIC0gRWRnZSBvZiB0aGUgZWxlbWVudCB0byByb3RhdGUgZnJvbS4gQ2FuIGJlIGB0b3BgLCBgcmlnaHRgLCBgYm90dG9tYCwgb3IgYGxlZnRgLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGF4aXMgW2VkZ2VdIC0gQXhpcyBvZiB0aGUgZWxlbWVudCB0byByb3RhdGUgb24uIENhbiBiZSBgZWRnZWAgb3IgYGNlbnRlcmAuXG4vLy8gQHBhcmFtIHtMZW5ndGh9ICRwZXJzcGVjdGl2ZSBbMjAwMHB4XSAtIFBlcmNlaXZlZCBkaXN0YW5jZSBiZXR3ZWVuIHRoZSB2aWV3ZXIgYW5kIHRoZSBlbGVtZW50LiBBIGhpZ2hlciBudW1iZXIgd2lsbCBtYWtlIHRoZSByb3RhdGlvbiBlZmZlY3QgbW9yZSBwcm9ub3VuY2VkLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHR1cm4tb3JpZ2luIFtudWxsXSAtIFNpZGUgb2YgdGhlIGVsZW1lbnQgdG8gc3RhcnQgdGhlIHJvdGF0aW9uIGZyb20uIENhbiBiZSBgZnJvbS1iYWNrYCBvciBgZnJvbS1mcm9udGAuIEJ5IGRlZmF1bHQgYGZyb20tYmFja2AgYW5kIGBmcm9tLWZyb250YCBmb3IgYGluYCBhbmQgYG91dGAgc3RhdGVzIHJlc3BlY3RpdmVseS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRmYWRlIFt0cnVlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZmFkZSB0aGUgZWxlbWVudCBpbiBvciBvdXQgc2ltdWx0YW5lb3VzbHkuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLWhpbmdlIChcbiAgJHN0YXRlOiBpbixcbiAgJGZyb206IGxlZnQsXG4gICRheGlzOiBlZGdlLFxuICAkcGVyc3BlY3RpdmU6IDIwMDBweCxcbiAgJHR1cm4tb3JpZ2luOiBudWxsLFxuICAkZmFkZTogbWFwLWdldCgkbW90aW9uLXVpLXNldHRpbmdzLCBoaW5nZS1hbmQtZmFkZSksXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJHR1cm4tb3JpZ2luOiBpZigkdHVybi1vcmlnaW4gIT0gbnVsbCwgJHR1cm4tb3JpZ2luLCBpZigkc3RhdGUgPT0gaW4sIGZyb20tYmFjaywgZnJvbS1mcm9udCkpO1xuICAkaGluZ2U6IGhpbmdlKCRzdGF0ZSwgJGZyb20sICRheGlzLCAkcGVyc3BlY3RpdmUsICR0dXJuLW9yaWdpbik7XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJGhpbmdlLCAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDAsIDEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRoaW5nZSwgMTAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDEsIDApO1xuICAgIH1cbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBzY2FsaW5nIHRyYW5zaXRpb24uIEEgc2NhbGUgb2YgYDFgIG1lYW5zIHRoZSBlbGVtZW50IGlzIHRoZSBzYW1lIHNpemUuIExhcmdlciBudW1iZXJzIG1ha2UgdGhlIGVsZW1lbnQgYmlnZ2VyLCB3aGlsZSBudW1iZXJzIGxlc3MgdGhhbiAxIG1ha2UgdGhlIGVsZW1lbnQgc21hbGxlci5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGZyb20gW251bGxdIC0gU2l6ZSB0byBzdGFydCBhdC4gQnkgZGVmYXVsdCBgMGAgYW5kIGAxYCBmb3IgYGluYCBhbmQgYG91dGAgc3RhdGVzIHJlc3BlY3RpdmVseS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRvIFtudWxsXSAtIFNpemUgdG8gZW5kIGF0LiBCeSBkZWZhdWx0IGAxYCBhbmQgYDBgIGZvciBgaW5gIGFuZCBgb3V0YCBzdGF0ZXMgcmVzcGVjdGl2ZWx5LlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGZhZGUgW3RydWVdIC0gU2V0IHRvIGB0cnVlYCB0byBmYWRlIHRoZSBlbGVtZW50IGluIG9yIG91dCBzaW11bHRhbmVvdXNseS5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiBtdWktem9vbShcbiAgJHN0YXRlOiBpbixcbiAgJGZyb206IG51bGwsXG4gICR0bzogbnVsbCxcbiAgJGZhZGU6IG1hcC1nZXQoJG1vdGlvbi11aS1zZXR0aW5ncywgc2NhbGUtYW5kLWZhZGUpLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRmcm9tOiBpZigkZnJvbSAhPSBudWxsLCAkZnJvbSwgaWYoJHN0YXRlID09IGluLCAwLCAxKSk7XG4gICR0bzogaWYoJHRvICE9IG51bGwsICR0bywgaWYoJHN0YXRlID09IGluLCAxLCAwKSk7XG4gICRzY2FsZTogem9vbSgkZnJvbSwgJHRvKTtcblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXN0YXJ0KCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tYmFzaWNzKCRkdXJhdGlvbiwgJHRpbWluZywgJGRlbGF5KTtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc2NhbGUsIDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMCwgMSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNjYWxlLCAxMDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMSwgMCk7XG4gICAgfVxuICB9XG59XG4iLCIvLy8gQ3JlYXRlcyBhIHNsaWRpbmcgdHJhbnNpdGlvbiBieSB0cmFuc2xhdGluZyB0aGUgZWxlbWVudCBob3Jpem9udGFsbHkgb3IgdmVydGljYWxseS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXJlY3Rpb24gW251bGxdIC0gRGlyZWN0aW9uIHRvIHNsaWRlIHRvLiBDYW4gYmUgYHVwYCwgYHJpZ2h0YCwgYGRvd25gLCBvciBgbGVmdGAuIEJ5IGRlZmF1bHQgYGxlZnRgIGFuZCBgcmlnaHRgIGZvciBgaW5gIGFuZCBgb3V0YCBzdGF0ZXMgcmVzcGVjdGl2ZWx5LlxuLy8vIEBwYXJhbSB7TGVuZ3RofSAkYW1vdW50IFsxMDAlXSAtIExlbmd0aCBvZiB0aGUgc2xpZGUgYXMgYSBwZXJjZW50YWdlIHZhbHVlLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGZhZGUgW2ZhbHNlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZmFkZSB0aGUgZWxlbWVudCBpbiBvciBvdXQgc2ltdWx0YW5lb3VzbHkuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLXNsaWRlIChcbiAgJHN0YXRlOiBpbixcbiAgJGRpcmVjdGlvbjogbnVsbCxcbiAgJGFtb3VudDogMTAwJSxcbiAgJGZhZGU6IG1hcC1nZXQoJG1vdGlvbi11aS1zZXR0aW5ncywgc2xpZGUtYW5kLWZhZGUpLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRkaXJlY3Rpb246IGlmKCRkaXJlY3Rpb24gIT0gbnVsbCwgJGRpcmVjdGlvbiwgaWYoJHN0YXRlID09IGluLCBsZWZ0LCByaWdodCkpO1xuICAkc2xpZGU6IHNsaWRlKCRzdGF0ZSwgJGRpcmVjdGlvbiwgJGFtb3VudCk7XG5cbiAgLy8gQ1NTIE91dHB1dFxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXN0YXJ0KCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tYmFzaWNzKCRkdXJhdGlvbiwgJHRpbWluZywgJGRlbGF5KTtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc2xpZGUsIDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMCwgMSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgfVxuXG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNsaWRlLCAxMDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMSwgMCk7XG4gICAgfVxuICB9XG59XG4iLCIvLy8gQ3JlYXRlcyBhIHNwaW5uaW5nIHRyYW5zaXRpb24gYnkgcm90YXRpbmcgdGhlIGVsZW1lbnQuIFRoZSBgdHVybmAgdW5pdCBpcyB1c2VkIHRvIHNwZWNpZnkgaG93IGZhciB0byByb3RhdGUuIGAxdHVybmAgaXMgZXF1YWwgdG8gYSAzNjAtZGVncmVlIHNwaW4uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyZWN0aW9uIFtudWxsXSAtIERpcmVjdGlvbiB0byBzcGluLiBTaG91bGQgYmUgYGN3YCAoY2xvY2t3aXNlKSBvciBgY2N3YCAoY291bnRlcmNsb2Nrd2lzZSkuIEJ5IGRlZmF1bHQgYGN3YCBhbmQgYGNjd2AgZm9yIGBpbmAgYW5kIGBvdXRgIHN0YXRlcyByZXNwZWN0aXZlbHkuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRhbW91bnQgWzAuNzV0dXJuXSAtIEFtb3VudCB0byBlbGVtZW50IHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGZhZGUgW2ZhbHNlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZmFkZSB0aGUgZWxlbWVudCBpbiBvciBvdXQgc2ltdWx0YW5lb3VzbHkuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLXNwaW4oXG4gICRzdGF0ZTogaW4sXG4gICRkaXJlY3Rpb246IGN3LFxuICAkYW1vdW50OiAwLjc1dHVybixcbiAgJGZhZGU6IG1hcC1nZXQoJG1vdGlvbi11aS1zZXR0aW5ncywgc3Bpbi1hbmQtZmFkZSksXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJGRpcmVjdGlvbjogaWYoJGRpcmVjdGlvbiAhPSBudWxsLCAkZGlyZWN0aW9uLCBpZigkc3RhdGUgPT0gaW4sIGN3LCBjY3cpKTtcbiAgJHNwaW46IHNwaW4oJHN0YXRlLCAkZGlyZWN0aW9uLCAkYW1vdW50KTtcblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXN0YXJ0KCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tYmFzaWNzKCRkdXJhdGlvbiwgJHRpbWluZywgJGRlbGF5KTtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc3BpbiwgMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAwLCAxKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc3BpbiwgMTAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDEsIDApO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gc2Nzcy1saW50OmRpc2FibGUgSW1wb3J0YW50UnVsZSwgU3BhY2VBZnRlckNvbW1hLCBTaW5nbGVMaW5lUGVyUHJvcGVydHlcblxuQG1peGluIC1tb3Rpb24tdWktZGVmYXVsdHMge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiBtYXAtZ2V0KCRtb3Rpb24tdWktc3BlZWRzLCBkZWZhdWx0KTtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IG1hcC1nZXQoJG1vdGlvbi11aS1lYXNpbmdzLCBkZWZhdWx0KTtcbn1cblxuLy8gVHJhbnNpdGlvbnNcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG5AbWl4aW4gbW90aW9uLXVpLXRyYW5zaXRpb25zIHtcbiAgLy8gU2xpZGVcbiAgLnNsaWRlLWluLWRvd24gICAgeyBAaW5jbHVkZSBtdWktc2xpZGUoaW4sICBkb3duKTsgfVxuICAuc2xpZGUtaW4tbGVmdCAgICB7IEBpbmNsdWRlIG11aS1zbGlkZShpbiwgIHJpZ2h0KTsgfVxuICAuc2xpZGUtaW4tdXAgICAgICB7IEBpbmNsdWRlIG11aS1zbGlkZShpbiwgIHVwKTsgfVxuICAuc2xpZGUtaW4tcmlnaHQgICB7IEBpbmNsdWRlIG11aS1zbGlkZShpbiwgIGxlZnQpOyB9XG4gIC5zbGlkZS1vdXQtZG93biAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKG91dCwgZG93bik7IH1cbiAgLnNsaWRlLW91dC1yaWdodCAgeyBAaW5jbHVkZSBtdWktc2xpZGUob3V0LCByaWdodCk7IH1cbiAgLnNsaWRlLW91dC11cCAgICAgeyBAaW5jbHVkZSBtdWktc2xpZGUob3V0LCB1cCk7IH1cbiAgLnNsaWRlLW91dC1sZWZ0ICAgeyBAaW5jbHVkZSBtdWktc2xpZGUob3V0LCBsZWZ0KTsgfVxuXG4gIC8vIEZhZGVcbiAgLmZhZGUtaW4gIHsgQGluY2x1ZGUgbXVpLWZhZGUoaW4sICAwLCAxKTsgfVxuICAuZmFkZS1vdXQgeyBAaW5jbHVkZSBtdWktZmFkZShvdXQsIDEsIDApOyB9XG5cbiAgLy8gSGluZ2VcbiAgLmhpbmdlLWluLWZyb20tdG9wICAgICAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICB0b3ApOyB9XG4gIC5oaW5nZS1pbi1mcm9tLXJpZ2h0ICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgcmlnaHQpOyB9XG4gIC5oaW5nZS1pbi1mcm9tLWJvdHRvbSAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgYm90dG9tKTsgfVxuICAuaGluZ2UtaW4tZnJvbS1sZWZ0ICAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIGxlZnQpOyB9XG4gIC5oaW5nZS1pbi1mcm9tLW1pZGRsZS14ICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIHRvcCwgICBjZW50ZXIpOyB9XG4gIC5oaW5nZS1pbi1mcm9tLW1pZGRsZS15ICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIHJpZ2h0LCBjZW50ZXIpOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS10b3AgICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgdG9wKTsgfVxuICAuaGluZ2Utb3V0LWZyb20tcmlnaHQgICB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIHJpZ2h0KTsgfVxuICAuaGluZ2Utb3V0LWZyb20tYm90dG9tICB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIGJvdHRvbSk7IH1cbiAgLmhpbmdlLW91dC1mcm9tLWxlZnQgICAgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCBsZWZ0KTsgfVxuICAuaGluZ2Utb3V0LWZyb20tbWlkZGxlLXggeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCB0b3AsICAgY2VudGVyKTsgfVxuICAuaGluZ2Utb3V0LWZyb20tbWlkZGxlLXkgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCByaWdodCwgY2VudGVyKTsgfVxuXG4gIC8vIFNjYWxlXG4gIC5zY2FsZS1pbi11cCAgICB7IEBpbmNsdWRlIG11aS16b29tKGluLCAgMC41LCAxKTsgfVxuICAuc2NhbGUtaW4tZG93biAgeyBAaW5jbHVkZSBtdWktem9vbShpbiwgIDEuNSwgMSk7IH1cbiAgLnNjYWxlLW91dC11cCAgIHsgQGluY2x1ZGUgbXVpLXpvb20ob3V0LCAxLCAxLjUpOyB9XG4gIC5zY2FsZS1vdXQtZG93biB7IEBpbmNsdWRlIG11aS16b29tKG91dCwgMSwgMC41KTsgfVxuXG4gIC8vIFNwaW5cbiAgLnNwaW4taW4gICAgIHsgQGluY2x1ZGUgbXVpLXNwaW4oaW4sICBjdyk7IH1cbiAgLnNwaW4tb3V0ICAgIHsgQGluY2x1ZGUgbXVpLXNwaW4ob3V0LCBjdyk7IH1cbiAgLnNwaW4taW4tY2N3ICB7IEBpbmNsdWRlIG11aS1zcGluKGluLCAgY2N3KTsgfVxuICAuc3Bpbi1vdXQtY2N3IHsgQGluY2x1ZGUgbXVpLXNwaW4ob3V0LCBjY3cpOyB9XG5cbiAgLy8gVHJhbnNpdGlvbiBNb2RpZmllcnNcbiAgLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktc3BlZWRzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0geyB0cmFuc2l0aW9uLWR1cmF0aW9uOiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1lYXNpbmdzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0geyB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktZGVsYXlzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0tZGVsYXkgeyB0cmFuc2l0aW9uLWRlbGF5OiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBBbmltYXRpb25zXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuQG1peGluIG1vdGlvbi11aS1hbmltYXRpb25zIHtcbiAgLnNoYWtlICAgIHsgQGluY2x1ZGUgbXVpLWFuaW1hdGlvbihzaGFrZSk7IH1cbiAgLnNwaW4tY3cgIHsgQGluY2x1ZGUgbXVpLWFuaW1hdGlvbihzcGluKTsgfVxuICAuc3Bpbi1jY3cgeyBAaW5jbHVkZSBtdWktYW5pbWF0aW9uKHNwaW4oY2N3KSk7IH1cbiAgLndpZ2dsZSAgIHsgQGluY2x1ZGUgbXVpLWFuaW1hdGlvbih3aWdnbGUpOyB9XG5cbiAgLnNoYWtlLFxuICAuc3Bpbi1jdyxcbiAgLnNwaW4tY2N3LFxuICAud2lnZ2xlIHtcbiAgICBhbmltYXRpb24tZHVyYXRpb246IG1hcC1nZXQoJG1vdGlvbi11aS1zcGVlZHMsIGRlZmF1bHQpO1xuICB9XG5cbiAgLy8gQW5pbWF0aW9uIE1vZGlmaWVyc1xuICAvLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuICAuaW5maW5pdGUgeyBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTsgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1zcGVlZHMge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfSB7IGFuaW1hdGlvbi1kdXJhdGlvbjogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktZWFzaW5ncyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9IHsgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktZGVsYXlzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0tZGVsYXkgeyBhbmltYXRpb24tZGVsYXk6ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG59XG4iLCIvLyAgRm91bmRhdGlvbiBmb3IgU2l0ZXMgU2V0dGluZ3Ncbi8vICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy9cbi8vICBUYWJsZSBvZiBDb250ZW50czpcbi8vXG4vLyAgIDEuIEdsb2JhbFxuLy8gICAyLiBCcmVha3BvaW50c1xuLy8gICAzLiBUaGUgR3JpZFxuLy8gICA0LiBCYXNlIFR5cG9ncmFwaHlcbi8vICAgNS4gVHlwb2dyYXBoeSBIZWxwZXJzXG4vLyAgIDYuIEFiaWRlXG4vLyAgIDcuIEFjY29yZGlvblxuLy8gICA4LiBBY2NvcmRpb24gTWVudVxuLy8gICA5LiBCYWRnZVxuLy8gIDEwLiBCcmVhZGNydW1ic1xuLy8gIDExLiBCdXR0b25cbi8vICAxMi4gQnV0dG9uIEdyb3VwXG4vLyAgMTMuIENhbGxvdXRcbi8vICAxNC4gQ2FyZFxuLy8gIDE1LiBDbG9zZSBCdXR0b25cbi8vICAxNi4gRHJpbGxkb3duXG4vLyAgMTcuIERyb3Bkb3duXG4vLyAgMTguIERyb3Bkb3duIE1lbnVcbi8vICAxOS4gRmxleGJveCBVdGlsaXRpZXNcbi8vICAyMC4gRm9ybXNcbi8vICAyMS4gTGFiZWxcbi8vICAyMi4gTWVkaWEgT2JqZWN0XG4vLyAgMjMuIE1lbnVcbi8vICAyNC4gTWV0ZXJcbi8vICAyNS4gT2ZmLWNhbnZhc1xuLy8gIDI2LiBPcmJpdFxuLy8gIDI3LiBQYWdpbmF0aW9uXG4vLyAgMjguIFByb2dyZXNzIEJhclxuLy8gIDI5LiBQcm90b3R5cGUgQXJyb3dcbi8vICAzMC4gUHJvdG90eXBlIEJvcmRlci1Cb3hcbi8vICAzMS4gUHJvdG90eXBlIEJvcmRlci1Ob25lXG4vLyAgMzIuIFByb3RvdHlwZSBCb3JkZXJlZFxuLy8gIDMzLiBQcm90b3R5cGUgRGlzcGxheVxuLy8gIDM0LiBQcm90b3R5cGUgRm9udC1TdHlsaW5nXG4vLyAgMzUuIFByb3RvdHlwZSBMaXN0LVN0eWxlLVR5cGVcbi8vICAzNi4gUHJvdG90eXBlIE92ZXJmbG93XG4vLyAgMzcuIFByb3RvdHlwZSBQb3NpdGlvblxuLy8gIDM4LiBQcm90b3R5cGUgUm91bmRlZFxuLy8gIDM5LiBQcm90b3R5cGUgU2VwYXJhdG9yXG4vLyAgNDAuIFByb3RvdHlwZSBTaGFkb3dcbi8vICA0MS4gUHJvdG90eXBlIFNpemluZ1xuLy8gIDQyLiBQcm90b3R5cGUgU3BhY2luZ1xuLy8gIDQzLiBQcm90b3R5cGUgVGV4dC1EZWNvcmF0aW9uXG4vLyAgNDQuIFByb3RvdHlwZSBUZXh0LVRyYW5zZm9ybWF0aW9uXG4vLyAgNDUuIFByb3RvdHlwZSBUZXh0LVV0aWxpdGllc1xuLy8gIDQ2LiBSZXNwb25zaXZlIEVtYmVkXG4vLyAgNDcuIFJldmVhbFxuLy8gIDQ4LiBTbGlkZXJcbi8vICA0OS4gU3dpdGNoXG4vLyAgNTAuIFRhYmxlXG4vLyAgNTEuIFRhYnNcbi8vICA1Mi4gVGh1bWJuYWlsXG4vLyAgNTMuIFRpdGxlIEJhclxuLy8gIDU0LiBUb29sdGlwXG4vLyAgNTUuIFRvcCBCYXJcbi8vICA1Ni4gWHkgR3JpZFxuXG4vL0BpbXBvcnQgJ3V0aWwvdXRpbCc7XG5cbi8vIDEuIEdsb2JhbFxuLy8gLS0tLS0tLS0tXG5cbiRnbG9iYWwtZm9udC1zaXplOiAxMDAlO1xuJGdsb2JhbC13aWR0aDogcmVtLWNhbGMoMTQ0MCk7XG4kZ2xvYmFsLWxpbmVoZWlnaHQ6IDEuNTtcbiRmb3VuZGF0aW9uLXBhbGV0dGU6IChwcmltYXJ5OiAjNTA1MDUwLCBzZWNvbmRhcnk6ICM5QzlDOUMsIHN1Y2Nlc3M6ICMzYWRiNzYsIHdhcm5pbmc6ICNmZmFlMDAsIGFsZXJ0OiAjY2M0YjM3KTtcblxuJGxpZ2h0LWdyYXk6ICNCM0IzQjM7XG4kbWVkaXVtLWdyYXk6ICM5QzlDOUM7XG4kZGFyay1ncmF5OiAjMjAyMDIwO1xuJGJsYWNrOiAjMDAwMDAwO1xuJHdoaXRlOiAjZmVmZWZlO1xuJG9yYW5nZTogI0Y1N0YyMztcbiRibHVlOiAjNjY5OWZmO1xuJGJvZHktYmFja2dyb3VuZDogJGRhcmstZ3JheTtcbiRib2R5LWZvbnQtY29sb3I6ICRsaWdodC1ncmF5O1xuJGJvZHktZm9udC1mYW1pbHk6IFwiSGVsdmV0aWNhUmVndWxhclwiLCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiRoZWFkZXItZm9udC1mYW1pbHk6IFwiSGVsdmV0aWNhTWVkaXVtRXh0ZW5kZWRcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG4kaXRhbGljLWZvbnQtZmFtaWx5OiBcIkhlbHZldGljYU1lZGl1bUV4dGVuZGVkT2JsXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xuJGV4dGVuZGVkLWZvbnQtZmFtaWx5OiBcIkhlbHZldGljYUV4dGVuZGVkXCIsIFwiSGVsdmV0aWNhUmVndWxhclwiLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG4kYm9keS1hbnRpYWxpYXNlZDogdHJ1ZTtcbiRnbG9iYWwtbWFyZ2luOiAxcmVtO1xuJGdsb2JhbC1wYWRkaW5nOiAxcmVtO1xuJGdsb2JhbC1wb3NpdGlvbjogMXJlbTtcbiRnbG9iYWwtd2VpZ2h0LW5vcm1hbDogbm9ybWFsO1xuJGdsb2JhbC13ZWlnaHQtYm9sZDogYm9sZDtcbiRnbG9iYWwtcmFkaXVzOiAwO1xuJGdsb2JhbC1tZW51LXBhZGRpbmc6IDAuN3JlbSAxcmVtO1xuJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW46IDFyZW07XG4kZ2xvYmFsLXRleHQtZGlyZWN0aW9uOiBsdHI7XG4kZ2xvYmFsLWZsZXhib3g6IHRydWU7XG4kZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50czogdHJ1ZTtcbiRnbG9iYWwtYnV0dG9uLWN1cnNvcjogYXV0bztcbiRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2U6IDA7XG4kcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHM6IHRydWU7XG5cbkBpbmNsdWRlIGFkZC1mb3VuZGF0aW9uLWNvbG9ycztcblxuLy8gMi4gQnJlYWtwb2ludHNcbi8vIC0tLS0tLS0tLS0tLS0tXG5cbiRicmVha3BvaW50czogKHNtYWxsOiAwLCBtZWRpdW06IDY0MHB4LCBsYXJnZTogMTI4MHB4LCB4bGFyZ2U6IDE0NDBweCwgeHhsYXJnZTogMTYwMHB4KTtcblxuJHByaW50LWJyZWFrcG9pbnQ6IGxhcmdlO1xuJGJyZWFrcG9pbnQtY2xhc3Nlczogc21hbGwgbWVkaXVtIGxhcmdlO1xuXG4vLyAzLiBUaGUgR3JpZFxuLy8gLS0tLS0tLS0tLS1cblxuJGdyaWQtcm93LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuJGdyaWQtY29sdW1uLWNvdW50OiAxMjtcbiRncmlkLWNvbHVtbi1ndXR0ZXI6IChzbWFsbDogMjBweCwgbWVkaXVtOiA2MHB4KTtcblxuJGdyaWQtY29sdW1uLWFsaWduLWVkZ2U6IHRydWU7XG4kZ3JpZC1jb2x1bW4tYWxpYXM6IFwiY29sdW1uc1wiO1xuJGJsb2NrLWdyaWQtbWF4OiA4O1xuXG4vLyA0LiBCYXNlIFR5cG9ncmFwaHlcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kaGVhZGVyLWZvbnQtZmFtaWx5OiAkaGVhZGVyLWZvbnQtZmFtaWx5O1xuJGhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJGhlYWRlci1mb250LXN0eWxlOiBub3JtYWw7XG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgQ291cmllciwgbW9ub3NwYWNlO1xuJGhlYWRlci1jb2xvcjogJHdoaXRlO1xuJGhlYWRlci1saW5laGVpZ2h0OiAxLjI7XG4kaGVhZGVyLW1hcmdpbi1ib3R0b206IDA7XG4kaGVhZGVyLXN0eWxlczogKHNtYWxsOiAoXCJoMVwiOiAoXCJmb250LXNpemVcIjogMjQpLCBcImgyXCI6IChcImZvbnQtc2l6ZVwiOiAxNSksIFwiaDNcIjogKFwiZm9udC1zaXplXCI6IDE2KSwgXCJoNFwiOiAoXCJmb250LXNpemVcIjogMTIpLCBcImg1XCI6IChcImZvbnQtc2l6ZVwiOiAxNyksIFwiaDZcIjogKFwiZm9udC1zaXplXCI6IDE2KSksIG1lZGl1bTogKFwiaDFcIjogKFwiZm9udC1zaXplXCI6IDM0KSwgXCJoMlwiOiAoXCJmb250LXNpemVcIjogMjIpLCBcImgzXCI6IChcImZvbnQtc2l6ZVwiOiAxNiksIFwiaDRcIjogKFwiZm9udC1zaXplXCI6IDEyKSwgXCJoNVwiOiAoXCJmb250LXNpemVcIjogMjApLCBcImg2XCI6IChcImZvbnQtc2l6ZVwiOiAxNikpLGxhcmdlOiAoXCJoMVwiOiAoXCJmb250LXNpemVcIjogMzYpLCBcImgyXCI6IChcImZvbnQtc2l6ZVwiOiAyMiksIFwiaDNcIjogKFwiZm9udC1zaXplXCI6IDE2KSwgXCJoNFwiOiAoXCJmb250LXNpemVcIjogMTIpLCBcImg1XCI6IChcImZvbnQtc2l6ZVwiOiAyMCksIFwiaDZcIjogKFwiZm9udC1zaXplXCI6IDE2KSkpO1xuXG4kaGVhZGVyLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4kc21hbGwtZm9udC1zaXplOiA4MCU7XG4kaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I6ICRtZWRpdW0tZ3JheTtcbiRwYXJhZ3JhcGgtbGluZWhlaWdodDogMS41O1xuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAxcmVtO1xuJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5OyBcbiRjb2RlLWNvbG9yOiAkYmxhY2s7XG4kY29kZS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcbiRjb2RlLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7IFxuJGNvZGUtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kY29kZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kY29kZS1wYWRkaW5nOiByZW0tY2FsYygyIDUgMSk7XG4kYW5jaG9yLWNvbG9yOiAkd2hpdGU7XG4kYW5jaG9yLWNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkYW5jaG9yLWNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKTtcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI6IG5vbmU7XG4kaHItd2lkdGg6ICRnbG9iYWwtd2lkdGg7XG4kaHItYm9yZGVyOiAxcHggc29saWQgIzg1ODM4MztcbiRoci1tYXJnaW46IHJlbS1jYWxjKDIwKSBhdXRvO1xuJGxpc3QtbGluZWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xuJGxpc3QtbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuJGxpc3Qtc3R5bGUtdHlwZTogZGlzYztcbiRsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlO1xuJGxpc3Qtc2lkZS1tYXJnaW46IDEuMjVyZW07XG4kbGlzdC1uZXN0ZWQtc2lkZS1tYXJnaW46IDEuMjVyZW07XG4kZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTogMXJlbTtcbiRkZWZubGlzdC10ZXJtLXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b206IDAuM3JlbTtcbiRibG9ja3F1b3RlLWNvbG9yOiAkZGFyay1ncmF5O1xuJGJsb2NrcXVvdGUtcGFkZGluZzogcmVtLWNhbGMoOSAyMCAwIDE5KTtcbiRibG9ja3F1b3RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRjaXRlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuJGNpdGUtY29sb3I6ICRkYXJrLWdyYXk7XG4kY2l0ZS1wc2V1ZG8tY29udGVudDogXCLigJQgXCI7XG4ka2V5c3Ryb2tlLWZvbnQ6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XG4ka2V5c3Ryb2tlLWNvbG9yOiAkYmxhY2s7XG4ka2V5c3Ryb2tlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGtleXN0cm9rZS1wYWRkaW5nOiByZW0tY2FsYygyIDQgMCk7XG4ka2V5c3Ryb2tlLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kYWJici11bmRlcmxpbmU6IDFweCBkb3R0ZWQgJGJsYWNrO1xuXG4vLyA1LiBUeXBvZ3JhcGh5IEhlbHBlcnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kbGVhZC1mb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplICogMS4yNTtcbiRsZWFkLWxpbmVoZWlnaHQ6IDEuNjtcbiRzdWJoZWFkZXItbGluZWhlaWdodDogMS40O1xuJHN1YmhlYWRlci1jb2xvcjogJGRhcmstZ3JheTtcbiRzdWJoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRzdWJoZWFkZXItbWFyZ2luLXRvcDogMC4ycmVtO1xuJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW07XG4kc3RhdC1mb250LXNpemU6IDIuNXJlbTtcblxuLy8gNi4gQWJpZGVcbi8vIC0tLS0tLS0tXG5cbiRhYmlkZS1pbnB1dHM6IHRydWU7XG4kYWJpZGUtbGFiZWxzOiB0cnVlO1xuJGlucHV0LWJhY2tncm91bmQtaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KTtcbiRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCk7XG4kaW5wdXQtZXJyb3ItY29sb3I6IGdldC1jb2xvcihhbGVydCk7XG4kaW5wdXQtZXJyb3ItZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4kaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG5cbi8vIDcuIEFjY29yZGlvblxuLy8gLS0tLS0tLS0tLS0tXG5cbiRhY2NvcmRpb24tYmFja2dyb3VuZDogJHdoaXRlO1xuJGFjY29yZGlvbi1wbHVzbWludXM6IHRydWU7XG4kYWNjb3JkaW9uLXRpdGxlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuJGFjY29yZGlvbi1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRhY2NvcmRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheTtcbiRhY2NvcmRpb24taXRlbS1wYWRkaW5nOiAxLjI1cmVtIDFyZW07XG4kYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xuJGFjY29yZGlvbi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmc6IDFyZW07XG5cbi8vIDguIEFjY29yZGlvbiBNZW51XG4vLyAtLS0tLS0tLS0tLS0tLS0tLVxuXG4kYWNjb3JkaW9ubWVudS1wYWRkaW5nOiAwO1xuJGFjY29yZGlvbm1lbnUtbmVzdGVkLW1hcmdpbjogMDtcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtcGFkZGluZzogMDtcbiRhY2NvcmRpb25tZW51LWFycm93czogZmFsc2U7XG4kYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kYWNjb3JkaW9ubWVudS1pdGVtLWJhY2tncm91bmQ6IG51bGw7XG4kYWNjb3JkaW9ubWVudS1ib3JkZXI6IG51bGw7XG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1iYWNrZ3JvdW5kOiBudWxsO1xuJGFjY29yZGlvbi1zdWJtZW51LXRvZ2dsZS1ib3JkZXI6ICRhY2NvcmRpb25tZW51LWJvcmRlcjtcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoOiA0MHB4O1xuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtaGVpZ2h0OiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aDtcbiRhY2NvcmRpb25tZW51LWFycm93LXNpemU6IDZweDtcblxuLy8gOS4gQmFkZ2Vcbi8vIC0tLS0tLS0tXG5cbiRiYWRnZS1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRiYWRnZS1jb2xvcjogJHdoaXRlO1xuJGJhZGdlLWNvbG9yLWFsdDogJGJsYWNrO1xuJGJhZGdlLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGU7XG4kYmFkZ2UtcGFkZGluZzogMC4zZW07XG4kYmFkZ2UtbWlud2lkdGg6IDIuMWVtO1xuJGJhZGdlLWZvbnQtc2l6ZTogMC42cmVtO1xuXG4vLyAxMC4gQnJlYWRjcnVtYnNcbi8vIC0tLS0tLS0tLS0tLS0tLVxuXG4kYnJlYWRjcnVtYnMtbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMDtcbiRicmVhZGNydW1icy1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpO1xuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItY3VycmVudDogJGJsYWNrO1xuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheTtcbiRicmVhZGNydW1icy1pdGVtLW1hcmdpbjogMC43NXJlbTtcbiRicmVhZGNydW1icy1pdGVtLXVwcGVyY2FzZTogdHJ1ZTtcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvcjogdHJ1ZTtcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtOiBcIi9cIjtcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtLXJ0bDogXCJcXFxcXCI7XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItY29sb3I6ICRtZWRpdW0tZ3JheTtcblxuLy8gMTEuIEJ1dHRvblxuLy8gLS0tLS0tLS0tLVxuXG4kYnV0dG9uLWZvbnQtZmFtaWx5OiAkaGVhZGVyLWZvbnQtZmFtaWx5O1xuJGJ1dHRvbi1wYWRkaW5nOiAwLjg1ZW0gMWVtO1xuJGJ1dHRvbi1tYXJnaW46IDA7XG4kYnV0dG9uLWZpbGw6IHNvbGlkO1xuJGJ1dHRvbi1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJ1dHRvbi1iYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtMTUlKTtcbiRidXR0b24tY29sb3I6ICR3aGl0ZTtcbiRidXR0b24tY29sb3ItYWx0OiAkYmxhY2s7XG4kYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kYnV0dG9uLWhvbGxvdy1ib3JkZXItd2lkdGg6IDFweDtcbiRidXR0b24tc2l6ZXM6ICh0aW55OiAwLjZyZW0sIHNtYWxsOiAwLjc1cmVtLCBkZWZhdWx0OiAwLjlyZW0sIGxhcmdlOiAxLjI1cmVtKTtcblxuJGJ1dHRvbi1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlO1xuJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkOiAwLjI1O1xuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzczogLTIwJTtcbiRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzczogLTUwJTtcbiRidXR0b24tdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQ7XG4kYnV0dG9uLXJlc3BvbnNpdmUtZXhwYW5kZWQ6IGZhbHNlO1xuXG4vLyAxMi4gQnV0dG9uIEdyb3VwXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRidXR0b25ncm91cC1tYXJnaW46IDFyZW07XG4kYnV0dG9uZ3JvdXAtc3BhY2luZzogMXB4O1xuJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yOiBcIi5idXR0b25cIjtcbiRidXR0b25ncm91cC1leHBhbmQtbWF4OiA2O1xuJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoOiB0cnVlO1xuXG4vLyAxMy4gQ2FsbG91dFxuLy8gLS0tLS0tLS0tLS1cblxuJGNhbGxvdXQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGNhbGxvdXQtYmFja2dyb3VuZC1mYWRlOiA4NSU7XG4kY2FsbG91dC1ib3JkZXI6IDFweCBzb2xpZCByZ2JhKCRibGFjaywgMC4yNSk7XG4kY2FsbG91dC1tYXJnaW46IDAgMCAxcmVtIDA7XG4kY2FsbG91dC1wYWRkaW5nOiAxcmVtO1xuJGNhbGxvdXQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRjYWxsb3V0LWZvbnQtY29sb3ItYWx0OiAkYm9keS1iYWNrZ3JvdW5kO1xuJGNhbGxvdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRjYWxsb3V0LWxpbmstdGludDogMzAlO1xuXG4vLyAxNC4gQ2FyZFxuLy8gLS0tLS0tLS1cblxuJGNhcmQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGNhcmQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRjYXJkLWRpdmlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kY2FyZC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiRjYXJkLXNoYWRvdzogbm9uZTtcbiRjYXJkLWJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGNhcmQtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xuJGNhcmQtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG5cbi8vIDE1LiBDbG9zZSBCdXR0b25cbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJGNsb3NlYnV0dG9uLXBvc2l0aW9uOiByaWdodCB0b3A7XG4kY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWw6IChzbWFsbDogMC42NnJlbSwgbWVkaXVtOiAxcmVtKTtcblxuJGNsb3NlYnV0dG9uLW9mZnNldC12ZXJ0aWNhbDogKHNtYWxsOiAwLjMzZW0sIG1lZGl1bTogMC41cmVtKTtcblxuJGNsb3NlYnV0dG9uLXNpemU6IChzbWFsbDogMS41ZW0sIG1lZGl1bTogMmVtKTtcblxuJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQ6IDE7XG4kY2xvc2VidXR0b24tY29sb3I6ICRkYXJrLWdyYXk7XG4kY2xvc2VidXR0b24tY29sb3ItaG92ZXI6ICRibGFjaztcblxuLy8gMTYuIERyaWxsZG93blxuLy8gLS0tLS0tLS0tLS0tLVxuXG4kZHJpbGxkb3duLXRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBsaW5lYXI7XG4kZHJpbGxkb3duLWFycm93czogdHJ1ZTtcbiRkcmlsbGRvd24tcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XG4kZHJpbGxkb3duLW5lc3RlZC1tYXJnaW46IDA7XG4kZHJpbGxkb3duLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRkcmlsbGRvd24tc3VibWVudS1wYWRkaW5nOiAkZHJpbGxkb3duLXBhZGRpbmc7XG4kZHJpbGxkb3duLXN1Ym1lbnUtYmFja2dyb3VuZDogJHdoaXRlO1xuJGRyaWxsZG93bi1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kZHJpbGxkb3duLWFycm93LXNpemU6IDZweDtcblxuLy8gMTcuIERyb3Bkb3duXG4vLyAtLS0tLS0tLS0tLS1cblxuJGRyb3Bkb3duLXBhZGRpbmc6IDFyZW07XG4kZHJvcGRvd24tYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcbiRkcm9wZG93bi1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kZHJvcGRvd24tZm9udC1zaXplOiAxcmVtO1xuJGRyb3Bkb3duLXdpZHRoOiAzMDBweDtcbiRkcm9wZG93bi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGRyb3Bkb3duLXNpemVzOiAodGlueTogMTAwcHgsIHNtYWxsOiAyMDBweCwgbGFyZ2U6IDQwMHB4KTtcblxuLy8gMTguIERyb3Bkb3duIE1lbnVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXG5cbiRkcm9wZG93bm1lbnUtYXJyb3dzOiBmYWxzZTtcbiRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3I6ICRhbmNob3ItY29sb3I7XG4kZHJvcGRvd25tZW51LWFycm93LXNpemU6IDZweDtcbiRkcm9wZG93bm1lbnUtYXJyb3ctcGFkZGluZzogMS41cmVtO1xuJGRyb3Bkb3dubWVudS1taW4td2lkdGg6IDIwMHB4O1xuJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiRkcm9wZG93bm1lbnUtc3VibWVudS1iYWNrZ3JvdW5kOiAkYmxhY2s7XG4kZHJvcGRvd25tZW51LXBhZGRpbmc6IDA7XG4kZHJvcGRvd25tZW51LW5lc3RlZC1tYXJnaW46IDA7XG4kZHJvcGRvd25tZW51LXN1Ym1lbnUtcGFkZGluZzogJGRyb3Bkb3dubWVudS1wYWRkaW5nO1xuJGRyb3Bkb3dubWVudS1ib3JkZXI6IG5vbmU7XG4kZHJvcGRvd24tbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogZ2V0LWNvbG9yKHByaW1hcnkpO1xuJGRyb3Bkb3duLW1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogdHJhbnNwYXJlbnQ7XG5cbi8vIDE5LiBGbGV4Ym94IFV0aWxpdGllc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRmbGV4LXNvdXJjZS1vcmRlcmluZy1jb3VudDogNjtcbiRmbGV4Ym94LXJlc3BvbnNpdmUtYnJlYWtwb2ludHM6IHRydWU7XG5cbi8vIDIwLiBGb3Jtc1xuLy8gLS0tLS0tLS0tXG5cbiRmaWVsZHNldC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kZmllbGRzZXQtcGFkZGluZzogcmVtLWNhbGMoMjApO1xuJGZpZWxkc2V0LW1hcmdpbjogcmVtLWNhbGMoMTggMCk7XG4kbGVnZW5kLXBhZGRpbmc6IHJlbS1jYWxjKDAgMyk7XG4kZm9ybS1zcGFjaW5nOiByZW0tY2FsYygxNik7XG4kaGVscHRleHQtY29sb3I6ICRibGFjaztcbiRoZWxwdGV4dC1mb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiRoZWxwdGV4dC1mb250LXN0eWxlOiBpdGFsaWM7XG4kaW5wdXQtcHJlZml4LWNvbG9yOiAjNUY1RjVGO1xuJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiRpbnB1dC1wcmVmaXgtYm9yZGVyOiBub25lO1xuJGlucHV0LXByZWZpeC1wYWRkaW5nOiAxcmVtO1xuJGZvcm0tbGFiZWwtY29sb3I6ICRibGFjaztcbiRmb3JtLWxhYmVsLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0OiAxLjg7XG4kc2VsZWN0LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRzZWxlY3QtdHJpYW5nbGUtY29sb3I6ICRkYXJrLWdyYXk7XG4kc2VsZWN0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kaW5wdXQtY29sb3I6ICR3aGl0ZTtcbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogJG1lZGl1bS1ncmF5O1xuJGlucHV0LWZvbnQtZmFtaWx5OiAkZXh0ZW5kZWQtZm9udC1mYW1pbHk7XG4kaW5wdXQtZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4kaW5wdXQtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRpbnB1dC1saW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0O1xuJGlucHV0LWJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuJGlucHV0LWJhY2tncm91bmQtZm9jdXM6IG5vbmU7XG4kaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDogJGxpZ2h0LWdyYXk7XG4kaW5wdXQtYm9yZGVyOiBub25lO1xuJGlucHV0LWJvcmRlci1mb2N1czogbm9uZTtcbiRpbnB1dC1wYWRkaW5nOiAkZm9ybS1zcGFjaW5nIC8gMjtcbiRpbnB1dC1zaGFkb3c6IG5vbmU7XG4kaW5wdXQtc2hhZG93LWZvY3VzOiBub25lO1xuJGlucHV0LWN1cnNvci1kaXNhYmxlZDogbm90LWFsbG93ZWQ7XG4kaW5wdXQtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7XG4kaW5wdXQtbnVtYmVyLXNwaW5uZXJzOiB0cnVlO1xuJGlucHV0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kZm9ybS1idXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gMjEuIExhYmVsXG4vLyAtLS0tLS0tLS1cblxuJGxhYmVsLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJGxhYmVsLWNvbG9yOiAkd2hpdGU7XG4kbGFiZWwtY29sb3ItYWx0OiAkYmxhY2s7XG4kbGFiZWwtcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZTtcbiRsYWJlbC1mb250LXNpemU6IDAuOHJlbTtcbiRsYWJlbC1wYWRkaW5nOiAwLjMzMzMzcmVtIDAuNXJlbTtcbiRsYWJlbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAyMi4gTWVkaWEgT2JqZWN0XG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRtZWRpYW9iamVjdC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZztcbiRtZWRpYW9iamVjdC1pbWFnZS13aWR0aC1zdGFja2VkOiAxMDAlO1xuXG4vLyAyMy4gTWVudVxuLy8gLS0tLS0tLS1cblxuJG1lbnUtbWFyZ2luOiAwO1xuJG1lbnUtbmVzdGVkLW1hcmdpbjogJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW47XG4kbWVudS1pdGVtcy1wYWRkaW5nOiByZW0tY2FsYygxMyk7XG4kbWVudS1zaW1wbGUtbWFyZ2luOiAxcmVtO1xuJG1lbnUtaXRlbS1jb2xvci1hY3RpdmU6ICR3aGl0ZTtcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IGdldC1jb2xvcihwcmltYXJ5KTtcbiRtZW51LWljb24tc3BhY2luZzogMC4yNXJlbTtcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXk7XG4kbWVudS1zdGF0ZS1iYWNrLWNvbXBhdDogdHJ1ZTtcbiRtZW51LWNlbnRlcmVkLWJhY2stY29tcGF0OiB0cnVlO1xuJG1lbnUtaWNvbnMtYmFjay1jb21wYXQ6IHRydWU7XG5cbi8vIDI0LiBNZXRlclxuLy8gLS0tLS0tLS0tXG5cbiRtZXRlci1oZWlnaHQ6IDFyZW07XG4kbWV0ZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRtZXRlci1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kbWV0ZXItZmlsbC1nb29kOiAkc3VjY2Vzcy1jb2xvcjtcbiRtZXRlci1maWxsLW1lZGl1bTogJHdhcm5pbmctY29sb3I7XG4kbWV0ZXItZmlsbC1iYWQ6ICRhbGVydC1jb2xvcjtcblxuLy8gMjUuIE9mZi1jYW52YXNcbi8vIC0tLS0tLS0tLS0tLS0tXG5cbiRvZmZjYW52YXMtc2l6ZXM6IChzbWFsbDogMjUwcHgpO1xuXG4kb2ZmY2FudmFzLXZlcnRpY2FsLXNpemVzOiAoc21hbGw6IDI1MHB4KTtcblxuJG9mZmNhbnZhcy1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRvZmZjYW52YXMtc2hhZG93OiAwIDAgMTBweCByZ2JhKCRibGFjaywgMC43KTtcbiRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemU6IDIwcHg7XG4kb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcjogcmdiYSgkYmxhY2ssIDAuMjUpO1xuJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleDogMTE7XG4kb2ZmY2FudmFzLXB1c2gtemluZGV4OiAxMjtcbiRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXg6IDEzO1xuJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4OiAxMjtcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGg6IDAuNXM7XG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nOiBlYXNlO1xuJG9mZmNhbnZhcy1maXhlZC1yZXZlYWw6IHRydWU7XG4kb2ZmY2FudmFzLWV4aXQtYmFja2dyb3VuZDogcmdiYSgkd2hpdGUsIDAuMjUpO1xuJG1haW5jb250ZW50LWNsYXNzOiBcIm9mZi1jYW52YXMtY29udGVudFwiO1xuXG4vLyAyNi4gT3JiaXRcbi8vIC0tLS0tLS0tLVxuXG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZC1hY3RpdmU6ICRkYXJrLWdyYXk7XG4kb3JiaXQtYnVsbGV0LWRpYW1ldGVyOiAxLjJyZW07XG4kb3JiaXQtYnVsbGV0LW1hcmdpbjogMC4xcmVtO1xuJG9yYml0LWJ1bGxldC1tYXJnaW4tdG9wOiAwLjhyZW07XG4kb3JiaXQtYnVsbGV0LW1hcmdpbi1ib3R0b206IDAuOHJlbTtcbiRvcmJpdC1jYXB0aW9uLWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjUpO1xuJG9yYml0LWNhcHRpb24tcGFkZGluZzogMXJlbTtcbiRvcmJpdC1jb250cm9sLWJhY2tncm91bmQtaG92ZXI6IHJnYmEoJGJsYWNrLCAwLjUpO1xuJG9yYml0LWNvbnRyb2wtcGFkZGluZzogMXJlbTtcbiRvcmJpdC1jb250cm9sLXppbmRleDogMTA7XG5cbi8vIDI3LiBQYWdpbmF0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLVxuXG4kcGFnaW5hdGlvbi1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiRwYWdpbmF0aW9uLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJHBhZ2luYXRpb24taXRlbS1jb2xvcjogJGJsYWNrO1xuJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nOiByZW0tY2FsYygzIDEwKTtcbiRwYWdpbmF0aW9uLWl0ZW0tc3BhY2luZzogcmVtLWNhbGMoMSk7XG4kcGFnaW5hdGlvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheTtcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50OiAkcHJpbWFyeS1jb2xvcjtcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItY3VycmVudDogJHdoaXRlO1xuJHBhZ2luYXRpb24taXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5O1xuJHBhZ2luYXRpb24tZWxsaXBzaXMtY29sb3I6ICRibGFjaztcbiRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtczogZmFsc2U7XG4kcGFnaW5hdGlvbi1tb2JpbGUtY3VycmVudC1pdGVtOiBmYWxzZTtcbiRwYWdpbmF0aW9uLWFycm93czogdHJ1ZTtcblxuLy8gMjguIFByb2dyZXNzIEJhclxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvZ3Jlc3MtaGVpZ2h0OiAxcmVtO1xuJHByb2dyZXNzLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRwcm9ncmVzcy1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiRwcm9ncmVzcy1tZXRlci1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRwcm9ncmVzcy1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAyOS4gUHJvdG90eXBlIEFycm93XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtYXJyb3ctZGlyZWN0aW9uczogZG93biwgdXAsIHJpZ2h0LCBsZWZ0O1xuXG4kcHJvdG90eXBlLWFycm93LXNpemU6IDAuNDM3NXJlbTtcbiRwcm90b3R5cGUtYXJyb3ctY29sb3I6ICRibGFjaztcblxuLy8gMzAuIFByb3RvdHlwZSBCb3JkZXItQm94XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1ib3JkZXItYm94LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcblxuLy8gMzEuIFByb3RvdHlwZSBCb3JkZXItTm9uZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWJvcmRlci1ub25lLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcblxuLy8gMzIuIFByb3RvdHlwZSBCb3JkZXJlZFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWJvcmRlcmVkLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtYm9yZGVyLXdpZHRoOiByZW0tY2FsYygxKTtcbiRwcm90b3R5cGUtYm9yZGVyLXR5cGU6IHNvbGlkO1xuJHByb3RvdHlwZS1ib3JkZXItY29sb3I6ICRtZWRpdW0tZ3JheTtcblxuLy8gMzMuIFByb3RvdHlwZSBEaXNwbGF5XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1kaXNwbGF5LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtZGlzcGxheTogaW5saW5lLCBpbmxpbmUtYmxvY2ssIGJsb2NrLCB0YWJsZSwgdGFibGUtY2VsbDtcblxuLy8gMzQuIFByb3RvdHlwZSBGb250LVN0eWxpbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtZm9udC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXdpZGUtbGV0dGVyLXNwYWNpbmc6IHJlbS1jYWxjKDQpO1xuJHByb3RvdHlwZS1mb250LW5vcm1hbDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJHByb3RvdHlwZS1mb250LWJvbGQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG5cbi8vIDM1LiBQcm90b3R5cGUgTGlzdC1TdHlsZS1UeXBlXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWxpc3QtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1zdHlsZS10eXBlLXVub3JkZXJlZDogZGlzYywgY2lyY2xlLCBzcXVhcmU7XG5cbiRwcm90b3R5cGUtc3R5bGUtdHlwZS1vcmRlcmVkOiBkZWNpbWFsLCBsb3dlci1hbHBoYSwgbG93ZXItbGF0aW4sIGxvd2VyLXJvbWFuLCB1cHBlci1hbHBoYSwgdXBwZXItbGF0aW4sIHVwcGVyLXJvbWFuO1xuXG4vLyAzNi4gUHJvdG90eXBlIE92ZXJmbG93XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtb3ZlcmZsb3ctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1vdmVyZmxvdzogdmlzaWJsZSwgaGlkZGVuLCBzY3JvbGw7XG5cbi8vIDM3LiBQcm90b3R5cGUgUG9zaXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1wb3NpdGlvbi1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXBvc2l0aW9uOiBzdGF0aWMsIHJlbGF0aXZlLCBhYnNvbHV0ZSwgZml4ZWQ7XG5cbiRwcm90b3R5cGUtcG9zaXRpb24tei1pbmRleDogOTc1O1xuXG4vLyAzOC4gUHJvdG90eXBlIFJvdW5kZWRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXJvdW5kZWQtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1ib3JkZXItcmFkaXVzOiByZW0tY2FsYygzKTtcblxuLy8gMzkuIFByb3RvdHlwZSBTZXBhcmF0b3Jcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtc2VwYXJhdG9yLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWFsaWduOiBjZW50ZXI7XG4kcHJvdG90eXBlLXNlcGFyYXRvci1oZWlnaHQ6IHJlbS1jYWxjKDIpO1xuJHByb3RvdHlwZS1zZXBhcmF0b3Itd2lkdGg6IDNyZW07XG4kcHJvdG90eXBlLXNlcGFyYXRvci1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRwcm90b3R5cGUtc2VwYXJhdG9yLW1hcmdpbi10b3A6ICRnbG9iYWwtbWFyZ2luO1xuXG4vLyA0MC4gUHJvdG90eXBlIFNoYWRvd1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1zaGFkb3ctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1ib3gtc2hhZG93OiAwIDJweCA1cHggMCByZ2JhKDAsIDAsIDAsIDAuMTYpLCAwIDJweCAxMHB4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKTtcblxuLy8gNDEuIFByb3RvdHlwZSBTaXppbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtc2l6aW5nLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtc2l6aW5nOiB3aWR0aCwgaGVpZ2h0O1xuXG4kcHJvdG90eXBlLXNpemVzOiAoMjU6IDI1JSwgNTA6IDUwJSwgNzU6IDc1JSwgMTAwOiAxMDAlKTtcblxuLy8gNDIuIFByb3RvdHlwZSBTcGFjaW5nXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1zcGFjaW5nLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtc3BhY2Vycy1jb3VudDogMztcblxuLy8gNDMuIFByb3RvdHlwZSBUZXh0LURlY29yYXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtZGVjb3JhdGlvbi1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXRleHQtZGVjb3JhdGlvbjogb3ZlcmxpbmUsIHVuZGVybGluZSwgbGluZS10aHJvdWdoO1xuXG4vLyA0NC4gUHJvdG90eXBlIFRleHQtVHJhbnNmb3JtYXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXRyYW5zZm9ybWF0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtdGV4dC10cmFuc2Zvcm1hdGlvbjogbG93ZXJjYXNlLCB1cHBlcmNhc2UsIGNhcGl0YWxpemU7XG5cbi8vIDQ1LiBQcm90b3R5cGUgVGV4dC1VdGlsaXRpZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS11dGlsaXRpZXMtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS10ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblxuLy8gNDYuIFJlc3BvbnNpdmUgRW1iZWRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRyZXNwb25zaXZlLWVtYmVkLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE2KTtcbiRyZXNwb25zaXZlLWVtYmVkLXJhdGlvczogKGRlZmF1bHQ6IDQgYnkgMywgd2lkZXNjcmVlbjogMTYgYnkgOSk7XG5cbi8vIDQ3LiBSZXZlYWxcbi8vIC0tLS0tLS0tLS1cblxuJHJldmVhbC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kcmV2ZWFsLXdpZHRoOiA2MDBweDtcbiRyZXZlYWwtbWF4LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuJHJldmVhbC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XG4kcmV2ZWFsLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRyZXZlYWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRyZXZlYWwtemluZGV4OiAxMDA1O1xuJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjQ1KTtcblxuLy8gNDguIFNsaWRlclxuLy8gLS0tLS0tLS0tLVxuXG4kc2xpZGVyLXdpZHRoLXZlcnRpY2FsOiAwLjVyZW07XG4kc2xpZGVyLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuJHNsaWRlci1oZWlnaHQ6IDAuNXJlbTtcbiRzbGlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kc2xpZGVyLWZpbGwtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJHNsaWRlci1oYW5kbGUtaGVpZ2h0OiAxLjRyZW07XG4kc2xpZGVyLWhhbmRsZS13aWR0aDogMS40cmVtO1xuJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kc2xpZGVyLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjU7XG4kc2xpZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDQ5LiBTd2l0Y2hcbi8vIC0tLS0tLS0tLS1cblxuJHN3aXRjaC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kc3dpdGNoLWJhY2tncm91bmQtYWN0aXZlOiAkcHJpbWFyeS1jb2xvcjtcbiRzd2l0Y2gtaGVpZ2h0OiAycmVtO1xuJHN3aXRjaC1oZWlnaHQtdGlueTogMS41cmVtO1xuJHN3aXRjaC1oZWlnaHQtc21hbGw6IDEuNzVyZW07XG4kc3dpdGNoLWhlaWdodC1sYXJnZTogMi41cmVtO1xuJHN3aXRjaC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHN3aXRjaC1tYXJnaW46ICRnbG9iYWwtbWFyZ2luO1xuJHN3aXRjaC1wYWRkbGUtYmFja2dyb3VuZDogJHdoaXRlO1xuJHN3aXRjaC1wYWRkbGUtb2Zmc2V0OiAwLjI1cmVtO1xuJHN3aXRjaC1wYWRkbGUtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dDtcblxuLy8gNTAuIFRhYmxlXG4vLyAtLS0tLS0tLS1cblxuJHRhYmxlLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuJHRhYmxlLWNvbG9yLXNjYWxlOiA1JTtcbiR0YWJsZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kdGFibGUtcGFkZGluZzogcmVtLWNhbGMoOCAxMCAxMCk7XG4kdGFibGUtaG92ZXItc2NhbGU6IDIlO1xuJHRhYmxlLXJvdy1ob3ZlcjogdHJhbnNwYXJlbnQ7XG4kdGFibGUtcm93LXN0cmlwZS1ob3ZlcjogJG1lZGl1bS1ncmF5O1xuJHRhYmxlLWlzLXN0cmlwZWQ6IGZhbHNlO1xuJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4kdGFibGUtc3RyaXBlOiBldmVuO1xuJHRhYmxlLWhlYWQtYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4kdGFibGUtaGVhZC1yb3ctaG92ZXI6IHRyYW5zcGFyZW50O1xuJHRhYmxlLWZvb3QtYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4kdGFibGUtZm9vdC1yb3ctaG92ZXI6IHRyYW5zcGFyZW50O1xuJHRhYmxlLWhlYWQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiR0YWJsZS1mb290LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQ6IGZhbHNlO1xuJHRhYmxlLXN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bTtcblxuLy8gNTEuIFRhYnNcbi8vIC0tLS0tLS0tXG5cbiR0YWItbWFyZ2luOiAwO1xuJHRhYi1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kdGFiLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiR0YWItYmFja2dyb3VuZC1hY3RpdmU6ICRsaWdodC1ncmF5O1xuJHRhYi1hY3RpdmUtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJHRhYi1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuJHRhYi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICR3aGl0ZTtcbiR0YWItaXRlbS1wYWRkaW5nOiAxLjI1cmVtIDEuNXJlbTtcbiR0YWItZXhwYW5kLW1heDogNjtcbiR0YWItY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kdGFiLWNvbnRlbnQtYm9yZGVyOiAkbGlnaHQtZ3JheTtcbiR0YWItY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiR0YWItY29udGVudC1wYWRkaW5nOiAxcmVtO1xuXG4vLyA1Mi4gVGh1bWJuYWlsXG4vLyAtLS0tLS0tLS0tLS0tXG5cbiR0aHVtYm5haWwtYm9yZGVyOiBzb2xpZCA0cHggJHdoaXRlO1xuJHRodW1ibmFpbC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiR0aHVtYm5haWwtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgkYmxhY2ssIDAuMik7XG4kdGh1bWJuYWlsLXNoYWRvdy1ob3ZlcjogMCAwIDZweCAxcHggcmdiYSgkcHJpbWFyeS1jb2xvciwgMC41KTtcbiR0aHVtYm5haWwtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAyMDBtcyBlYXNlLW91dDtcbiR0aHVtYm5haWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gNTMuIFRpdGxlIEJhclxuLy8gLS0tLS0tLS0tLS0tLVxuXG4kdGl0bGViYXItYmFja2dyb3VuZDogJGJsYWNrO1xuJHRpdGxlYmFyLWNvbG9yOiAkd2hpdGU7XG4kdGl0bGViYXItcGFkZGluZzogMC41cmVtO1xuJHRpdGxlYmFyLXRleHQtZm9udC13ZWlnaHQ6IGJvbGQ7XG4kdGl0bGViYXItaWNvbi1jb2xvcjogJHdoaXRlO1xuJHRpdGxlYmFyLWljb24tY29sb3ItaG92ZXI6ICRtZWRpdW0tZ3JheTtcbiR0aXRsZWJhci1pY29uLXNwYWNpbmc6IDAuMjVyZW07XG5cbi8vIDU0LiBUb29sdGlwXG4vLyAtLS0tLS0tLS0tLVxuXG4kaGFzLXRpcC1jdXJzb3I6IGhlbHA7XG4kaGFzLXRpcC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiRoYXMtdGlwLWJvcmRlci1ib3R0b206IGRvdHRlZCAxcHggJGRhcmstZ3JheTtcbiR0b29sdGlwLWJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiR0b29sdGlwLWNvbG9yOiAkd2hpdGU7XG4kdG9vbHRpcC1wYWRkaW5nOiAwLjc1cmVtO1xuJHRvb2x0aXAtbWF4LXdpZHRoOiAxMHJlbTtcbiR0b29sdGlwLWZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZTtcbiR0b29sdGlwLXBpcC13aWR0aDogMC43NXJlbTtcbiR0b29sdGlwLXBpcC1oZWlnaHQ6ICR0b29sdGlwLXBpcC13aWR0aCAqIDAuODY2O1xuJHRvb2x0aXAtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gNTUuIFRvcCBCYXJcbi8vIC0tLS0tLS0tLS0tXG5cbiR0b3BiYXItcGFkZGluZzogMC41cmVtO1xuJHRvcGJhci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiR0b3BiYXItc3VibWVudS1iYWNrZ3JvdW5kOiAkdG9wYmFyLWJhY2tncm91bmQ7XG4kdG9wYmFyLXRpdGxlLXNwYWNpbmc6IDAuNXJlbSAxcmVtIDAuNXJlbSAwO1xuJHRvcGJhci1pbnB1dC13aWR0aDogMjAwcHg7XG4kdG9wYmFyLXVuc3RhY2stYnJlYWtwb2ludDogbWVkaXVtO1xuXG4vLyA1Ni4gWHkgR3JpZFxuLy8gLS0tLS0tLS0tLS1cblxuJHh5LWdyaWQ6IHRydWU7XG4kZ3JpZC1jb250YWluZXI6ICRnbG9iYWwtd2lkdGg7XG4kZ3JpZC1jb2x1bW5zOiAxMjtcbiRncmlkLW1hcmdpbi1ndXR0ZXJzOiAoc21hbGw6IDIwcHgsIG1lZGl1bTogNjBweCk7XG5cbiRncmlkLXBhZGRpbmctZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnM7XG4kZ3JpZC1jb250YWluZXItcGFkZGluZzogJGdyaWQtcGFkZGluZy1ndXR0ZXJzO1xuJGdyaWQtY29udGFpbmVyLW1heDogJGdsb2JhbC13aWR0aDtcbiR4eS1ibG9jay1ncmlkLW1heDogODsiLCJAbWl4aW4gYXNwZWN0LXJhdGlvKCR3aWR0aCwgJGhlaWdodCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICY6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctdG9wOiAoJGhlaWdodCAvICR3aWR0aCkgKiAxMDAlO1xuICB9XG4gID4gLmNvbnRlbnQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gIH1cbn0iLCJhIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2UtaW4tb3V0O1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxufVxuXG5idXR0b24ge1xuICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgZm9udC1mYW1pbHk6ICRoZWFkZXItZm9udC1mYW1pbHk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxufVxuXG5kaXYge1xuICAgICY6Zm9jdXMge1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cbn1cblxuaW1nIHtcbiAgICAmOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG59XG5cblt0eXBlPSd0ZXh0J10sXG5bdHlwZT0ncGFzc3dvcmQnXSwgW3R5cGU9J2RhdGUnXSwgW3R5cGU9J2RhdGV0aW1lJ10sIFt0eXBlPSdkYXRldGltZS1sb2NhbCddLCBbdHlwZT0nbW9udGgnXSwgW3R5cGU9J3dlZWsnXSwgW3R5cGU9J2VtYWlsJ10sIFt0eXBlPSdudW1iZXInXSwgW3R5cGU9J3NlYXJjaCddLCBbdHlwZT0ndGVsJ10sIFt0eXBlPSd0aW1lJ10sIFt0eXBlPSd1cmwnXSwgW3R5cGU9J2NvbG9yJ10sIHRleHRhcmVhIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFzbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjNUY1RjVGO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjNUY1RjVGO1xuICAgIH1cbn1cblxuaDEsIGgyLCBoMywgaDQge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbmgxIHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDI1KTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygzNik7XG4gICAgfVxufVxuXG50YWJsZSwgdGhlYWQsIHRib2R5LCB0aCwgdHIsIHRkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLy8gaWZyYW1lIHtcbi8vICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuLy8gICAgIGhlaWdodDogYXV0bztcbi8vIH1cblxuaW1nOm5vdChbc3JjXSkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyNTI1MjU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy1ib3R0b206IDU1JTtcbiAgICB0ZXh0LWluZGVudDogMTAwJTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbmltZ1tkYXRhLXNyY10sXG5pbWdbZGF0YS1zcmNzZXRdIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtaW4taGVpZ2h0OiAxcHg7XG59XG5cbnNlY3Rpb24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLy8gdGFibGVcblxuXG50ci5ldmVuLCB0ci5vZGQge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuXG50Ym9keSB0cjpudGgtY2hpbGQoZXZlbikge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjayAhaW1wb3J0YW50O1xufVxuXG4iLCIvLyBEZXZcblxuZGl2LmtydW1vLXJvb3Qge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB6LWluZGV4OiA5OTk5OTtcbn1cblxuLy8gU2VjdGlvbnNcblxuLnNlY3Rpb24tcGFkZGluZyB7XG4gICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDI1KTtcbiAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoNTApO1xufVxuXG4uc2VjdGlvbi1wYWRkaW5nLTJ4IHtcbiAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoNTApO1xuICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYyg1MCk7XG59XG5cbi5zZWN0aW9uLWRhcmsge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxRDFEMUQ7XG59XG5cbi5zZWN0aW9uLWxpZ2h0IHtcbiAgICBiYWNrZ3JvdW5kOiAjMkUyRTJFO1xufVxuXG4uc2VjdGlvbi10aXRsZS1hYnNvbHV0ZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IHJlbS1jYWxjKDEwKTtcbiAgICB0b3A6IHJlbS1jYWxjKDEwKTtcbiAgICB6LWluZGV4OiAxMDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIGxlZnQ6IDI1cHg7XG4gICAgICAgIHRvcDogMjVweDtcbiAgICB9XG59XG5cbi8vIE5ld3NcblxuLm5ld3MtZmVhdHVyZWQge1xuICAgIGgyIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDE1KTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGgyLCBoMywgaDQge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygyKTtcblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucG9zdC1pbWFnZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE1KTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnBvc3Qtb3ZlcmxheSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHotaW5kZXg6IC0xMDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50aXplKCRibGFjaywgMC40KTtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyMSk7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAuNXMgZWFzZS1pbi1vdXQgLjFzO1xuXG4gICAgICAgIC5ncmlkLXgge1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnBvc3QtaW1hZ2U6aG92ZXIge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgLnBvc3Qtb3ZlcmxheSB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAxMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wb3N0LXJlYWQtbGluayB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMTYpO1xuICAgICAgICBmb250LWZhbWlseTogJGhlYWRlci1mb250LWZhbWlseTtcbiAgICB9XG5cbiAgICAucG9zdC1tZXRhIHtcbiAgICAgICAgY29sb3I6ICRsaWdodC1ncmF5O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygyKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogJGxpZ2h0LWdyYXk7XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDUpO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMTgpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBTaXRja3kgYmxvY2tcblxuLnNpZGViYXItc3RpY2t5LWJsb2NrLWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5zaWRlYmFyLXN0aWNreS1ibG9jayB7XG4gICAgb3BhY2l0eTogMDtcbiAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoMjUpO1xuICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDI1KTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAxcyBlYXNlLWluLW91dDtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgIHdpZHRoOiA3MDBweDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAtNzBweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzg1ODM4MztcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBsZWZ0OiA1MDAwcHg7XG4gICAgICAgIHRyYW5zaXRpb246IGxlZnQgLjRzIGVhc2UtaW4tb3V0IC4xcztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjVzIGVhc2UtaW4tb3V0O1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAuZmVhdHVyZWQtYmxvY2sge1xuICAgICAgICAgICAgb3BhY2l0eTogLjQ7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDFzIGVhc2UtaW4tb3V0IC41cztcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5uZXdzLWZlYXR1cmVkLWNvbnRlbnQ6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgLmZlYXR1cmVkLWJsb2NrIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogcmVtLWNhbGMoMzAwKTtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHt9XG59XG5cbi8vIG5vZGVcblxuLnVucHVibGlzaGVkLW5vZGUge1xuICAgIGJhY2tncm91bmQ6ICM1MTQ0M0E7XG59XG5cbi8vIFJlYWRtb3JlXG5cbi5yZWFkbW9yZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgLnJlYWRtb3JlLWNvbnRhaW5lciB7XG4gICAgICAgIG1heC1oZWlnaHQ6IHJlbS1jYWxjKDQwMCk7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDFzIGVhc2UtaW4tb3V0IC4xcztcbiAgICB9XG5cbiAgICAucmVhZG1vcmUtdG9nZ2xlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygtMTcwKTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDEzNSk7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgICAgIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgcmdiYSgwLCAwLCAwLCAwKSAwJSwgcmdiYSgzMiwgMzIsIDMyLCAxKSA1OCUpOyAvKiBGRjMuNi0xNSAqL1xuICAgICAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsIHJnYmEoMCwgMCwgMCwgMCkgMCUsIHJnYmEoMzIsIDMyLCAzMiwgMSkgNTglKTsgLyogQ2hyb21lMTAtMjUsU2FmYXJpNS4xLTYgKi9cbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgwLCAwLCAwLCAwKSAwJSwgcmdiYSgzMiwgMzIsIDMyLCAxKSA1OCUpOyAvKiBXM0MsIElFMTArLCBGRjE2KywgQ2hyb21lMjYrLCBPcGVyYTEyKywgU2FmYXJpNysgKi9cblxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuXG4gICAgLmxlc3Mge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgICYuZXhwYW5kZWQge1xuICAgICAgICAucmVhZG1vcmUtY29udGFpbmVyIHtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgIC5yZWFkbW9yZS10b2dnbGUge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYygyMCk7XG4gICAgICAgIH1cblxuICAgICAgICAubW9yZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLmxlc3Mge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gQWRzXG5cbi5hZCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJi5hZC1sZWZ0IHtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG5cbiAgICAgICAgLy8gQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAvLyAgICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYygxMCk7XG4gICAgICAgIC8vICAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygxMCk7XG4gICAgICAgIC8vIH1cbiAgIFxuICAgIH1cblxuICAgICYuYWQtdGFsbCB7XG4gICAgICAgIC5hZC1pdGVtIHtcbiAgICAgICAgICAgIC8vIGhlaWdodDogcmVtLWNhbGMoNjAwKTtcblxuICAgICAgICAgICAgLy8gQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIC8vICAgICBoZWlnaHQ6IHJlbS1jYWxjKDQyMCk7XG4gICAgICAgICAgICAvLyB9XG5cbiAgICAgICAgICAgIC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIC8vICAgICBoZWlnaHQ6IHJlbS1jYWxjKDQ4MCk7XG4gICAgICAgICAgICAvLyB9XG5cbiAgICAgICAgICAgIC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgICAgICAgICAvLyAgICAgaGVpZ2h0OiByZW0tY2FsYyg2MDApO1xuICAgICAgICAgICAgLy8gfVxuICAgICAgIFxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5hZC1zaG9ydCB7XG4gICAgICAgIC5hZC1pdGVtIHtcbiAgICAgICAgICAgIC8vIGhlaWdodDogcmVtLWNhbGMoMzAwKTtcblxuICAgICAgICAgICAgLy8gQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIC8vICAgICBoZWlnaHQ6IHJlbS1jYWxjKDIxMCk7XG4gICAgICAgICAgICAvLyB9XG5cbiAgICAgICAgICAgIC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIC8vICAgICBoZWlnaHQ6IHJlbS1jYWxjKDIzOSk7XG4gICAgICAgICAgICAvLyB9XG5cbiAgICAgICAgICAgIC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgICAgICAgICAvLyAgICAgaGVpZ2h0OiByZW0tY2FsYygzMDApO1xuICAgICAgICAgICAgLy8gfVxuICAgICAgIFxuICAgICAgICB9XG4gICAgfVxufVxuXG4uYWQtaXRlbSB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTUpO1xuXG4gICAgLy9iYWNrZ3JvdW5kLWNvbG9yOiAjM0UzRTNFO1xuICAgIC8vYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vLi4vaW1hZ2VzL2FkcGxhY2Vob2xkZXIuanBnXCIpO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgbWF4LXdpZHRoOiByZW0tY2FsYygzMDApO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuICAgIH1cblxuICAgIGltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5hZHNieWdvb2dsZSB7XG4gICAgICAgIGhlaWdodDogNjAwcHggIWltcG9ydGFudDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDEzNikgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDIzMikgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICAgICAgICAgIHdpZHRoOiByZW0tY2FsYygyNDIpICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xuICAgICAgICAgICAgaGVpZ2h0OiByZW0tY2FsYygzMDApICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5hZC1wdXNoLWJvdHRvbSB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDgwMCk7XG4gICAgfVxufVxuXG4uYWQtcHVsbC11cCB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTI4KTtcbiAgICB9XG59XG5cbi8vIEZvcm1zXG5cbi5mb3JtLWl0ZW0ge1xuICAgIC5kZXNjcmlwdGlvbiB7XG4gICAgICAgIGNvbG9yOiAkbGlnaHQtZ3JheTtcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMyk7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpO1xuICAgIH1cblxuICAgIC5mb3JtLXJlcXVpcmVkIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgIH1cblxuICAgIC5mb3JtLWdyb3VwIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbn1cblxuLmlucHV0LWdyb3VwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uaW5wdXQtZ3JvdXAtbGFiZWwge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG59XG5cbi8vIFZpZGVvXG5cbi52aWRlby1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBoZWlnaHQ6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogNjAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICBpZnJhbWUsIHZpZGVvIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG1heC1oZWlnaHQ6IDU1MHB4O1xuICAgIH1cblxufVxuXG4vLyBDb21tb25cblxuLnJlbGF0aXZlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5oZWlnaHQtMTAwIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5ncmlkLWhlaWdodC0xMDAge1xuICAgIGhlaWdodDogMTAwJTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICYgPiAuY2VsbCB7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5uby1wYWRkaW5nIHtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5uby1tYXJnaW4ge1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xufVxuXG4ucGFkZGluZy1ib3R0b20ge1xuICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygzMCk7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoNTApO1xuICAgIH1cbn1cblxuLnBhZGRpbmctYm90dG9tLWhhbGYge1xuICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygyNSk7XG59XG5cbi5wYWRkaW5nLXRvcCB7XG4gICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDMwKTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYyg1MCk7XG4gICAgfVxufVxuXG4ucnRlanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeSAhaW1wb3J0YW50O1xufVxuXG4ucnRlcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4ucnRlaW5kZW50MSB7XG4gICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDQwKTtcbn1cblxuLmVsZW1lbnQtaW52aXNpYmxlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICBjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICB3aWR0aDogMXB4O1xuICAgIHdvcmQtd3JhcDogbm9ybWFsO1xufVxuXG4uY29sb3ItYm9keSB7XG4gICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG59XG5cbi5jdXJzb3ItcG9pbnRlciB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4vLyBJbnB1dHNcblxuLmlucHV0LWdyb3VwLWxhYmVsIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzVGNUY1Rjtcbn1cblxuLy8gQWRtaW4gbWVudVxuXG4uYWRtaW4tbWVudSB7XG4gICAgLnRvcGJhci50b3BiYXItZml4ZWQge1xuICAgICAgICB0b3A6IDk1cHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIHRvcDogNjBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIHRvcDogMjBweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gT3ZlcnJpZGVzXG5cbi5zbWFsbC1wYWRkaW5nLWNvbGxhcHNlIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbmh0bWwuaXMtcmV2ZWFsLW9wZW4sXG5odG1sLmlzLXJldmVhbC1vcGVuIGJvZHkge1xuICAgIHBvc2l0aW9uOiBpbml0aWFsO1xufVxuXG5AaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAucmV2ZWFsIHtcbiAgICAgICAgdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGhlaWdodDogMTAwdmggIWltcG9ydGFudDtcbiAgICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsICFpbXBvcnRhbnQ7XG4gICAgICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICB9XG59XG5cbi53ZWJmb3JtLXByb2dyZXNzYmFyIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG5cbi5jbG9zZS1idXR0b24ge1xuICAgIHotaW5kZXg6IDk5OTtcbn1cblxuLmFqYXgtcHJvZ3Jlc3MtdGhyb2JiZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8vIExhenlsb2FkIGZvciBJRVxuaW1nW2RhdGEtc3JjXSxcbmltZ1tkYXRhLXNyY3NldF0ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1pbi1oZWlnaHQ6IDFweDtcbn0iLCIubmV3cy1ncmlkLWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXIoMTc3NnB4LCAyMCk7XG5cbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgLm5ld3MtZ3JpZC14IHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAmIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29udGFpbmVyKDE3NzZweCwgMjApO1xuICAgICAgICB9XG5cbiAgICAgICAgLm5ld3MtY2VsbC1sZWZ0IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoMiBvZiAxMCwgdHJ1ZSwgMjApO1xuICAgICAgICB9XG5cbiAgICAgICAgLm5ld3MtY2VsbC1jZW50cmFsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoNiBvZiAxMCwgdHJ1ZSwgMjApO1xuICAgICAgICB9XG5cbiAgICAgICAgLm5ld3Mtb2Zmc2V0LWNlbnRyYWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1vZmZzZXQoMiBvZiAxMCwgMjApO1xuICAgICAgICB9XG5cbiAgICAgICAgLm5ld3MtY2VsbC1yaWdodCB7XG4gICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKDIgb2YgMTAsIHRydWUsIDIwKTtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICAgICAgJiB7XG4gICAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbnRhaW5lcigxNzc2cHgsIDMwKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5uZXdzLWNlbGwtbGVmdCB7XG4gICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKDIgb2YgMTAsIHRydWUsIDQwKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5uZXdzLWNlbGwtY2VudHJhbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKDYgb2YgMTAsIHRydWUsIDQwKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5uZXdzLW9mZnNldC1jZW50cmFsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtb2Zmc2V0KDIgb2YgMTAsIDQwKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5uZXdzLWNlbGwtcmlnaHQge1xuICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgyIG9mIDEwLCB0cnVlLCA0MCk7XG4gICAgICAgIH1cbiAgICB9XG59IiwiLmhlYWRlciB7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoNzIpIDAgcmVtLWNhbGMoMzYpIDA7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDEzMikgMCByZW0tY2FsYyg2MCkgMDtcbiAgICB9XG59IiwiLm1haW4ge1xuICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuXG4gICAgLnB1c2gtdG9wYmFyIHtcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoODApO1xuICAgIH1cbn0iLCIuc2VjdGlvbi1uZXdzIHtcbn1cblxuLmZlYXR1cmVkLWdyZWVuLW5ld3Mge1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY29sb3I6ICR3aGl0ZTtcblxuICAuZ3JpZC15IHtcbiAgICBoZWlnaHQ6IHJlbS1jYWxjKDU4MCk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7XG4gIH1cblxuICBoMiwgaDMge1xuICAgIGEge1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICB9XG4gIH1cblxuICBwIHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgfVxuXG4gIC5wb3N0LW1ldGEge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cblxuICAmOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM1QjkxNTA7XG5cbiAgICAvL21peC1ibGVuZC1tb2RlOiBtdWx0aXBseTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgei1pbmRleDogMDtcbiAgICBvcGFjaXR5OiAuNTtcbiAgfVxufVxuXG4ubW9yZS1uZXdzIHtcbiAgLm1vcmUtbmV3cy1idXR0b24ge1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBwYWRkaW5nOiByZW0tY2FsYyg1KSByZW0tY2FsYygxMCk7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIH1cbn1cblxuLnNlY3Rpb24tb3RoZXJzIHtcbiAgaDQge1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDMwKTtcblxuICAgIGEge1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICB9XG4gIH1cblxuICBoMiB7XG4gICAgYSB7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgIH1cblxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOSk7XG4gICAgfVxuICB9XG5cbiAgcCB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XG4gICAgfVxuXG4gICAgY29sb3I6ICRtZWRpdW0tZ3JheTtcbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIC5mdWxsc2xpZGVyLW5hdiB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgfVxufVxuXG4uc2VjdGlvbi1ob21lLWFyY2hpdmUge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgIzg1ODM4MztcbiAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDEwKTtcblxuICAuYXJjaGl2ZS1jYXRlZ29yaWVzLW1lbnUge1xuICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYygxNSk7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDUpO1xuICAgIH1cblxuICAgIHVsIHtcbiAgICAgIGEge1xuICAgICAgICBmb250LWZhbWlseTogJGhlYWRlci1mb250LWZhbWlseTtcbiAgICAgICAgY29sb3I6ICRtZWRpdW0tZ3JheTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDEwKTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDEwKSByZW0tY2FsYygxMik7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDEwKSByZW0tY2FsYygxNSk7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyLCAmLmFjdGl2ZSB7XG4gICAgICAgICAgY29sb3I6ICR3aGl0ZTtcblxuICAgICAgICAgIC8vdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHdoaXRlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5tb3JlLWNhdGVnb3JpZXMtZmlsdGVyLWJ1dHRvbiB7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgfVxuXG4gIC5tb3JlLWNhdGVnb3JpZXMtZmlsdGVyLW1lbnUge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICBsaSB7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuXG4gICAgICBhIHtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoNSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm93bC1pdGVtIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjVzIGVhc2UtaW4tb3V0O1xuXG4gICAgJi5hY3RpdmUge1xuICAgICAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIC5mdWxsc2xpZGVyLW5hdiB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgfVxufVxuXG4uc2VjdGlvbi1uZXdzLWJvZHkge1xuICAubmV3cy1sZWFkLXRleHQge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyNSk7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4gICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjUpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIzKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyNyk7XG4gICAgfVxuXG4gICAgLmJvZHkge1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBtYXgtd2lkdGg6IDkwJTtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgIGEge1xuICAgICAgY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xuICAgICAgLy90ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG4gIH1cblxuICAubmV3cy1pbWFnZS10b2dnbGVyIHtcbiAgICAubmV3cy1pbWFnZS10b2dnbGVyLWltZyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAudG9nZ2xlci1pY29uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAyMHB4O1xuICAgIHJpZ2h0OiAyMHB4O1xuICAgIGhlaWdodDogcmVtLWNhbGMoNDApO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuNXMgZWFzZS1pbi1vdXQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSwgMS4xKTtcbiAgICB9XG4gIH1cblxuICAubmV3cy1ib2R5IHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE3KTtcbiAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjIpO1xuICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygyMCk7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4gICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjUpO1xuICAgIH1cblxuICAgIC5ib2R5IHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIG1heC13aWR0aDogOTAlO1xuICAgICAgICBtYXJnaW46IDAgYXV0byByZW0tY2FsYygyMCk7XG4gICAgICB9XG5cbiAgICAgIGEge1xuICAgICAgICBjb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgICAgIC8vdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm5ld3MtdmlkZW8ge1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDUpO1xuICB9XG5cbiAgLm5ld3MtZ2FsbGVyeSB7XG4gICAgLmNlbGwge1xuICAgICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYyg1KTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDUpO1xuICAgIH1cblxuICAgIGltZyB7XG4gICAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoNSk7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoNSk7XG4gICAgfVxuXG4gICAgLm5ld3MtZ2FsbGVyeS1oaWRkZW4ge1xuICAgICAgbWF4LWhlaWdodDogMDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMXMgZWFzZS1pbi1vdXQgLjFzO1xuICAgIH1cblxuICAgIC5uZXdzLWdhbGxlcnktdG9nZ2xlIHtcbiAgICAgIHBhZGRpbmctdG9wOiAxMDBweDtcbiAgICAgIG1hcmdpbi10b3A6IC0xNzVweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IC0xMDBweDtcbiAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDAsIDAsIDAsIDApIDAlLCByZ2JhKDMyLCAzMiwgMzIsIDEpIDI1JSk7XG4gICAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsIHJnYmEoMCwgMCwgMCwgMCkgMCUsIHJnYmEoMzIsIDMyLCAzMiwgMSkgMjUlKTtcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMCwgMCwgMCwgMCkgMCUsIHJnYmEoMzIsIDMyLCAzMiwgMSkgMjUlKTtcblxuICAgICAgcGFkZGluZy1ib3R0b206IDYwcHg7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMXMgZWFzZS1pbi1vdXQgLjFzO1xuICAgIH1cblxuICAgIC5sZXNzIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgJi5leHBhbmRlZCB7XG4gICAgICAubmV3cy1nYWxsZXJ5LWhpZGRlbiB7XG4gICAgICAgIC8vbWF4LWhlaWdodDogOTk5OXB4O1xuXG4gICAgICB9XG5cbiAgICAgIC5uZXdzLWdhbGxlcnktdG9nZ2xlIHtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDFzIGVhc2UtaW4tb3V0IC4xcztcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICB9XG5cbiAgICAgIC5tb3JlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgLmxlc3Mge1xuICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uc2VjdGlvbi1uZXdzLWNyZWRpdHMge1xuICAuZ3JpZC1jcmVkaXQge1xuICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjNTM1MzUzO1xuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC5jcmVkaXQtbGFiZWwge1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMSk7XG4gICAgICBmb250LWZhbWlseTogJGhlYWRlci1mb250LWZhbWlseTtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNyZWRpdC10ZXh0IHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm5lZWRzLWNvbGxhcHNpbmcge1xuICAgICAgLnRleHQge1xuICAgICAgICBtYXgtaGVpZ2h0OiByZW0tY2FsYyg2MCk7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAuNnMgZWFzZS1pbi1vdXQ7XG4gICAgICB9XG5cbiAgICAgIC5jb2xsYXBzZS10b2dnbGUge1xuICAgICAgICAmLmhpZGRlbiB7XG4gICAgICAgICAgLmxlc3Mge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOm5vdCguaGlkZGVuKSB7XG4gICAgICAgICAgLm1vcmUge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubmV3cy1hdXRvciB7XG4gICAgLmF1dG9yLW5hbWUge1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICBmb250LWZhbWlseTogJGhlYWRlci1mb250LWZhbWlseTtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcblxuICAgICAgYSB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5hdXRvci1pbWFnZSB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICBpbWcge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYm9keSB7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgICAgY29sb3I6ICNCREJEQkQ7XG5cbiAgICAgIGEge1xuICAgICAgICBjb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgICB9XG5cbiAgICAgIHAge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgICB9XG5cbiAgICB9XG5cbiAgICAucmVhZG1vcmUtdG9nZ2xlIHtcbiAgICAgIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgcmdiYSgwLCAwLCAwLCAwKSAwJSwgcmdiYSg0NywgNDcsIDQ3LCAxKSA1OCUpOyAvKiBGRjMuNi0xNSAqL1xuICAgICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDAsIDAsIDAsIDApIDAlLCByZ2JhKDQ3LCA0NywgNDcsIDEpIDU4JSk7IC8qIENocm9tZTEwLTI1LFNhZmFyaTUuMS02ICovXG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKDAsIDAsIDAsIDApIDAlLCByZ2JhKDQ3LCA0NywgNDcsIDEpIDU4JSk7IC8qIFczQywgSUUxMCssIEZGMTYrLCBDaHJvbWUyNissIE9wZXJhMTIrLCBTYWZhcmk3KyAqL1xuICAgICAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nIzAwMDAwMDAwJywgZW5kQ29sb3JzdHI9JyMyMDIwMjAnLCBHcmFkaWVudFR5cGU9MCk7IC8qIElFNi05ICovXG4gICAgfVxuICB9XG59XG5cbi5zZWN0aW9uLW91ci1zZWxlY3Rpb24ge1xuICAmOmhvdmVyIHtcbiAgICAuZnVsbHNsaWRlci1uYXYge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gIH1cbn1cblxuLnNlY3Rpb24tdGF4b25vbXktdGVybS1saXN0IHtcbiAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDMwKTtcbiAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDMwKTtcblxuICBoMyB7XG4gICAgY29sb3I6ICRvcmFuZ2U7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTYpO1xuICB9XG5cbiAgLmNhdGVnb3J5LW1lbnUge1xuICAgIHVsIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgIGxpIHtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW46IDAgcmVtLWNhbGMoNSk7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkaGVhZGVyLWZvbnQtZmFtaWx5O1xuICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMzApO1xuICAgICAgfVxuXG4gICAgICBhIHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5zZWN0aW9uLXRheG9ub215LW5vZGVzIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAuZ3JpZC1jdXN0b21pc2VkIHtcbiAgICAgICYgPiAuY2VsbDpudGgtY2hpbGQob2RkKSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDEwKTtcbiAgICAgIH1cblxuICAgICAgJiA+IC5jZWxsOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMTApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgLmdyaWQtY3VzdG9taXNlZCB7XG4gICAgICAmID4gLmNlbGw6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygyMCk7XG4gICAgICB9XG5cbiAgICAgICYgPiAuY2VsbDpudGgtY2hpbGQoZXZlbikge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDIwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLnNlY3Rpb24tc2VhcmNoLWlucHV0cyB7XG4gIHBhZGRpbmctdG9wOiByZW0tY2FsYygzMCk7XG4gIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygzMCk7XG5cbiAgaDMge1xuICAgIGNvbG9yOiAkb3JhbmdlO1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE2KTtcbiAgfVxuXG4gIC5ncmlkLXNlYXJjaC1jYXRlZ29yaWVzIHtcbiAgICB1bCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICBsaSB7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luOiAwIHJlbS1jYWxjKDUpO1xuICAgICAgICBmb250LWZhbWlseTogJGhlYWRlci1mb250LWZhbWlseTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDMzKTtcbiAgICAgIH1cblxuICAgICAgbGFiZWwge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgbWFyZ2luOiA4cHggMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE3KTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuY2hlY2tlZCB7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR3aGl0ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5ncmlkLXNlYXJjaC1maWx0ZXJzIHtcbiAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoMzApO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIC5jZWxsOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygxNSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5zZWN0aW9uLWFkbWluLWFjdGlvbnMuYWJzb2x1dGUge1xuICBAaW5jbHVkZSBicmVha3BvaW50KFwibWVkaXVtXCIpIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA2MHB4O1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogNTA7XG4gIH1cbn1cblxuLnNlY3Rpb24tZXJyb3JzIHtcbiAgLmVycm9yLW51bWJlciB7XG4gICAgZm9udC1zaXplOiA2MHB4O1xuICAgIGZvbnQtZmFtaWx5OiAkaGVhZGVyLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG4gICAgY29sb3I6ICNFQUVBRUE7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjdweDtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNik7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgbGluZS1oZWlnaHQ6IDEwMHB4O1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNzApO1xuICAgIH1cbiAgfVxufVxuXG4uc2VjdGlvbi1hdXRob3Ige1xuICAudmlldy1tb3Bpcy1hcnRpY2xlcy1hdXRob3Ige1xuICAgIGxpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDgpO1xuICAgICAgYSB7XG4gICAgICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5zZWN0aW9uLXB1Ymxpc2gtcHJvamVjdCB7XG4gIC5maWVsZC1uYW1lLWZpZWxkLWN1ZXJwbyB7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjIpO1xuICB9XG4gIC5maWVsZC1uYW1lLWZpZWxkLW5vdGEtbGVnYWwge1xuICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDIyKTtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICBjb2xvcjogIzdBN0E3QTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBtYXgtd2lkdGg6IDYwJTtcbiAgICB9XG4gIH1cbn0iLCIubWFpbi1mb290ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcblxuICAgIC5sb2dvIGltZyB7XG4gICAgICAgIG1heC13aWR0aDogcmVtLWNhbGMoMjU4KTtcbiAgICB9XG5cbiAgICAuc29jaWFsLW1lbnUge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgfVxuXG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIGZpbHRlcjogaW52ZXJ0KDEwMCUpO1xuICAgICAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDI1KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5ncmlkLWZvb3Rlci1uYXYge1xuICAgICAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoMTAwKTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDEwMCk7XG4gICAgfVxuXG4gICAgLmZvb3Rlci1uYXYge1xuICAgICAgICB1bCB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyMCk7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNyk7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgICAgIH1cblxuXG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjNkM2QzZDO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYyg1KSByZW0tY2FsYygxNSk7XG5cbiAgICAgICAgICAgICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5sYW5ndWFnZS1saW5rIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTcpO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgfVxuXG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjNkM2QzZDO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDUpIHJlbS1jYWxjKDE1KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICB1bCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubGFuZ3VhZ2UtbGluayB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmdyaWQtZm9vdGVyLWNyZWRpdHMge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMTYpO1xuICAgIH1cblxuICAgIC5mb290ZXItY3JlZGl0cyB7XG4gICAgICAgIGNvbG9yOiAjRjVGNUY1O1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDExKTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG59IiwiLm5vZGUtdHlwZS1wLWdpbmEtZGUtYmxvZyB7XG4gICAgLnNlY3Rpb24taG9tZS1hcmNoaXZlIHtcbiAgICAgICAgYm9yZGVyLXRvcDogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzg1ODM4MztcbiAgICB9XG59XG5cbi5wYWdlLWFyY2hpdm8ge30iLCIudG9wYmFyIHtcbiAgICB6LWluZGV4OiA5OTkgIWltcG9ydGFudDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgZm9udC1mYW1pbHk6ICRoZWFkZXItZm9udC1mYW1pbHk7XG5cbiAgICAudG9wYmFyLWdyaWQge1xuICAgICAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoMTApO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMTApO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoMTApO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDEwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYudG9wYmFyLWZpeGVkIHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZS1pbi1vdXQsIGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlLWluLW91dDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgJi5uYXYtdXAge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuICAgIH1cblxuICAgICYubmF2LWRvd246bm90KC5pcy10b3ApIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnRpemUoJGJsYWNrLCAwLjIpO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuXG4gICAgICAgICY6Zm9jdXMsICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5sb2dvIGltZyB7XG4gICAgICAgIHdpZHRoOiByZW0tY2FsYygyNTgpO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDUpIHJlbS1jYWxjKDgpIHJlbS1jYWxjKDUpIDA7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRidXR0b24tcGFkZGluZztcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5idXR0b24ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYyg1KSByZW0tY2FsYyg4KTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgcGFkZGluZzogJGJ1dHRvbi1wYWRkaW5nO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnRvcGJhci1yaWdodCB7XG4gICAgICAgIC5idXR0b24ge1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICNtZW51LXRvZ2dsZSB7fVxufVxuXG4uc21hbGwtdGVybXMtbW9kYWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIGhlaWdodDogNTB2aCAhaW1wb3J0YW50O1xuICAgIHRvcDogMjBweCAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiA5NSU7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIG1pbi1oZWlnaHQ6IDUwdmg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHotaW5kZXg6IDEwMTA7XG5cbiAgICBhIHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICB9XG5cbiAgICAuYnV0dG9uIHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkd2hpdGU7XG4gICAgfVxufVxuXG5ib2R5Om5vdCguZnJvbnQpOm5vdCgubm9kZS10eXBlLXAtZ2luYS1kZS1ibG9nKSB7XG4gICAgLnRvcGJhciB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjOTc5Nzk3O1xuICAgIH1cbn0iLCIub3dsLXN0YWdlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xufVxuXG4uZnVsbHNsaWRlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgLmZ1bGxzbGlkZXItaGVhZGluZyB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xuICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMTcpO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI5KTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyOCk7XG4gICAgICAgIH1cblxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzEpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDMwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5mdWxsc2xpZGVyLW5hdiB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuNXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIHJpZ2h0OiA1cHg7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBtYXJnaW4tdG9wOiAtMjZweDtcbiAgICAgICAgaGVpZ2h0OiByZW0tY2FsYyg1NSk7XG4gICAgICAgIHdpZHRoOiByZW0tY2FsYyg1MCk7XG4gICAgICAgIHotaW5kZXg6IDIwO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgICAuZnVsbHNsaWRlci1uYXYge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5mdWxsc2xpZGVyLXByZXYge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgICBsZWZ0OiA1cHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoMjApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmZ1bGxzbGlkZXItbnVtYmVycyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAyMHB4O1xuICAgICAgICB6LWluZGV4OiAxMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgICAgICBmb250LWZhbWlseTogJGhlYWRlci1mb250LWZhbWlseTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cblxuICAgICAgICAuZnVsbHNsaWRlci1udW1iZXIge1xuICAgICAgICAgICAgZGlzcGxheTogbGlzdC1pdGVtO1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgICAgIG9wYWNpdHk6IC41O1xuXG4gICAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmZ1bGxzbGlkZXItY29udGFpbmVyIHtcbiAgICAuZnVsbHNsaWRlci1ncmlkIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5mdWxsc2xpZGVyLXNsaWRlci1pdGVtIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogYXV0byAxMDAlO1xuICAgICAgICAvL2JhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigkYmxhY2ssIDUwJSk7XG4gICAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgICAgIG1heC1oZWlnaHQ6IHJlbS1jYWxjKDkwMCkgIWltcG9ydGFudDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgaDIge1xuICAgICAgICAgICAgLy9tYXJnaW46IDA7XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucG9zdC1tZXRhIHtcbiAgICAgICAgICAgIGNvbG9yOiAkbGlnaHQtZ3JheTtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMTUpO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoNCk7XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkbGlnaHQtZ3JheTtcblxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoOCk7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6bm90KC5uby1maWx0ZXIpOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHotaW5kZXg6IDA7XG4gICAgICAgICAgICBib3R0b206IHRvcDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMjUwcHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsIHJnYmEoMCwgMCwgMCwgMC41OSkgMCUsIHJnYmEoMCwgMCwgMCwgMCkgMTAwJSk7IC8qIEZGMy42LTE1ICovXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsIHJnYmEoMCwgMCwgMCwgMC41OSkgMCUsIHJnYmEoMCwgMCwgMCwgMCkgMTAwJSk7IC8qIENocm9tZTEwLTI1LFNhZmFyaTUuMS02ICovXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKDAsIDAsIDAsIDAuNTkpIDAlLCByZ2JhKDAsIDAsIDAsIDApIDEwMCUpOyAvKiBXM0MsIElFMTArLCBGRjE2KywgQ2hyb21lMjYrLCBPcGVyYTEyKywgU2FmYXJpNysgKi9cbiAgICAgICAgfVxuXG4gICAgICAgICY6bm90KC5uby1maWx0ZXIpOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgei1pbmRleDogMDtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMjUwcHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsIHJnYmEoMCwgMCwgMCwgMCkgMCUsIHJnYmEoMCwgMCwgMCwgMC45NikgOTYlLCByZ2JhKDAsIDAsIDAsIDEpIDEwMCUpOyAvKiBGRjMuNi0xNSAqL1xuICAgICAgICAgICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDAsIDAsIDAsIDApIDAlLCByZ2JhKDAsIDAsIDAsIDAuOTYpIDk2JSwgcmdiYSgwLCAwLCAwLCAxKSAxMDAlKTsgLyogQ2hyb21lMTAtMjUsU2FmYXJpNS4xLTYgKi9cbiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMCwgMCwgMCwgMCkgMCUsIHJnYmEoMCwgMCwgMCwgMC45NikgOTYlLCByZ2JhKDAsIDAsIDAsIDEpIDEwMCUpOyAvKiBXM0MsIElFMTArLCBGRjE2KywgQ2hyb21lMjYrLCBPcGVyYTEyKywgU2FmYXJpNysgKi9cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuZnVsbHNsaWRlci1pbWFnZS1jb3ZlciB7XG4gICAgICAgIC5mdWxsc2xpZGVyLXNsaWRlci1pdGVtIHtcbiAgICAgICAgICAgIC13ZWJraXQtYmFja2dyb3VuZC1zaXplOiBjb3ZlciAhaW1wb3J0YW50O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlciAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm93bC1uYXYge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuLmFic29sdXRlLWZ1bGxzbGlkZXItY29udHJvbHMge1xuICAgIC5mdWxsc2xpZGVyLW5hdiB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuNXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDVweDtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIG1hcmdpbi10b3A6IC0yNnB4O1xuICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDU1KTtcbiAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDUwKTtcbiAgICAgICAgei1pbmRleDogMjA7XG4gICAgICAgIG9wYWNpdHk6IDE7XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIHJpZ2h0OiAyNXB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmZ1bGxzbGlkZXItcHJldiB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgIGxlZnQ6IDVweDtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgbGVmdDogMjVweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLm5ld3MtaW1hZ2VzLWNhcm91c2VsLXNsaWRlciB7XG4gICAgLm5ld3MtaW1hZ2VzLWNhcm91c2VsLWltYWdlIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAub3dsLXN0YWdlIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAub3dsLWl0ZW0ge1xuICAgICAgICAvL21heC1oZWlnaHQ6IDcwdmg7XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDg1dmg7XG5cbiAgICAgICAgICAgIC8vaGVpZ2h0OiA3MHZoO1xuICAgICAgIFxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm93bC1pdGVtOm5vdCguYWN0aXZlKSB7XG4gICAgICAgIC5pdGVtOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHotaW5kZXg6IDA7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIHdpZHRoOiAyMDBweDtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMTI1LCAxODUsIDIzMiwgMCkgMCUsIHJnYmEoMCwgMCwgMCwgMC41KSAxMDAlKTsgLyogRkYzLjYtMTUgKi9cbiAgICAgICAgICAgIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMTI1LCAxODUsIDIzMiwgMCkgMCUsIHJnYmEoMCwgMCwgMCwgMC41KSAxMDAlKTsgLyogQ2hyb21lMTAtMjUsU2FmYXJpNS4xLTYgKi9cbiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgcmdiYSgxMjUsIDE4NSwgMjMyLCAwKSAwJSwgcmdiYSgwLCAwLCAwLCAwLjUpIDEwMCUpOyAvKiBXM0MsIElFMTArLCBGRjE2KywgQ2hyb21lMjYrLCBPcGVyYTEyKywgU2FmYXJpNysgKi9cbiAgICAgICAgICAgIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KCBzdGFydENvbG9yc3RyPScjMDA3ZGI5ZTgnLCBlbmRDb2xvcnN0cj0nIzgwMDAwMDAwJyxHcmFkaWVudFR5cGU9MSApOyAvKiBJRTYtOSAqL1xuICAgICAgICB9XG5cbiAgICAgICAgLml0ZW06YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB6LWluZGV4OiAwO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHdpZHRoOiAyMDBweDtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMCwgMCwgMCwgMC41KSAwJSwgcmdiYSgwLCAwLCAwLCAwKSAxMDAlKTsgLyogRkYzLjYtMTUgKi9cbiAgICAgICAgICAgIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMCwgMCwgMCwgMC41KSAwJSwgcmdiYSgwLCAwLCAwLCAwKSAxMDAlKTsgLyogQ2hyb21lMTAtMjUsU2FmYXJpNS4xLTYgKi9cbiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgcmdiYSgwLCAwLCAwLCAwLjUpIDAlLCByZ2JhKDAsIDAsIDAsIDApIDEwMCUpOyAvKiBXM0MsIElFMTArLCBGRjE2KywgQ2hyb21lMjYrLCBPcGVyYTEyKywgU2FmYXJpNysgKi9cbiAgICAgICAgICAgIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KCBzdGFydENvbG9yc3RyPScjODAwMDAwMDAnLCBlbmRDb2xvcnN0cj0nIzAwMDAwMDAwJyxHcmFkaWVudFR5cGU9MSApOyAvKiBJRTYtOSAqL1xuICAgICAgICB9XG4gICAgfVxufSIsIi5oZXJvIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG1heC1oZWlnaHQ6IDEwMHZoO1xuICAgIGhlaWdodDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTAwJTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA2MCU7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgcGFkZGluZy1ib3R0b206IDQ0LjI3JTsgLy8gUmF0aW8gMTkyMC84NTBcbiAgICB9XG5cbiAgLm93bC1jYXJvdXNlbCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxuXG4gIC5mdWxsc2xpZGVyLXNsaWRlci1pdGVtIHtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxMDAlO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA2MCU7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNDQuMjclOyAvLyBSYXRpbyAxOTIwLzg1MFxuICAgICAgfVxuXG4gIH1cbn1cblxuLnByZWxvYWQtaGVybyB7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kLXNpemU6IGF1dG8gMTAwJTtcbiAgLy9iYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtY29sb3I6IGxpZ2h0ZW4oJGJsYWNrLCA1MCUpO1xuICBtYXgtaGVpZ2h0OiByZW0tY2FsYyg4OTkpICFpbXBvcnRhbnQ7XG5cbiAgJjpub3QoLm5vLWZpbHRlcik6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogMDtcbiAgICBib3R0b206IHRvcDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMjUwcHg7XG4gICAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDAsIDAsIDAsIDAuNTkpIDAlLCByZ2JhKDAsIDAsIDAsIDApIDEwMCUpOyAvKiBGRjMuNi0xNSAqL1xuICAgIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgcmdiYSgwLCAwLCAwLCAwLjU5KSAwJSwgcmdiYSgwLCAwLCAwLCAwKSAxMDAlKTsgLyogQ2hyb21lMTAtMjUsU2FmYXJpNS4xLTYgKi9cbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKDAsIDAsIDAsIDAuNTkpIDAlLCByZ2JhKDAsIDAsIDAsIDApIDEwMCUpOyAvKiBXM0MsIElFMTArLCBGRjE2KywgQ2hyb21lMjYrLCBPcGVyYTEyKywgU2FmYXJpNysgKi9cbiAgfVxuXG4gICY6bm90KC5uby1maWx0ZXIpOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDI1MHB4O1xuICAgIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgcmdiYSgwLCAwLCAwLCAwKSAwJSwgcmdiYSgwLCAwLCAwLCAwLjk2KSA5NiUsIHJnYmEoMCwgMCwgMCwgMSkgMTAwJSk7IC8qIEZGMy42LTE1ICovXG4gICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDAsIDAsIDAsIDApIDAlLCByZ2JhKDAsIDAsIDAsIDAuOTYpIDk2JSwgcmdiYSgwLCAwLCAwLCAxKSAxMDAlKTsgLyogQ2hyb21lMTAtMjUsU2FmYXJpNS4xLTYgKi9cbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKDAsIDAsIDAsIDApIDAlLCByZ2JhKDAsIDAsIDAsIDAuOTYpIDk2JSwgcmdiYSgwLCAwLCAwLCAxKSAxMDAlKTsgLyogVzNDLCBJRTEwKywgRkYxNissIENocm9tZTI2KywgT3BlcmExMissIFNhZmFyaTcrICovXG4gIH1cbn0iLCIuYnV0dG9uIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5idXR0b24ud2hpdGUge1xuICAgIGNvbG9yOiAkd2hpdGU7XG5cbiAgICAmOmZvY3VzLCAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICB9XG59XG5cbi5idXR0b24ud2hpdGUtYmcge1xuICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICBjb2xvcjogJGJsYWNrO1xuICAgIGJvcmRlci1jb2xvcjogJHdoaXRlO1xufVxuXG4uY2xvc2UtYnV0dG9uIHtcbiAgICBwYWRkaW5nOiByZW0tY2FsYygxMCk7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuXG4gICAgaW1nIHtcbiAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDI1KTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICByaWdodDogcmVtLWNhbGMoMjUpO1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygyNSk7XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIHdpZHRoOiByZW0tY2FsYygzNSk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5tb3JlLWJ1dHRvbiB7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDUpIDAgcmVtLWNhbGMoMikgMDtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHdoaXRlO1xuICAgIGZvbnQtZmFtaWx5OiAkaGVhZGVyLWZvbnQtZmFtaWx5O1xuXG4gICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxufVxuXG4uYnV0dG9uLmhvbGxvdyB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJHdoaXRlO1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcblxuICAgICY6aG92ZXIge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkd2hpdGU7XG4gICAgfVxufSIsIi8vIFVzZXIgZm9ybXNcblxuLnVzZXItZm9ybXMge1xuICAgIGlucHV0W3R5cGU9dGV4dF0sXG4gICAgaW5wdXRbdHlwZT1wYXNzd29yZF0sXG4gICAgaW5wdXRbdHlwZT1lbWFpbF0sXG4gICAgdGV4dGFyZWEge1xuICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDU0KTtcbiAgICAgICAgcGFkZGluZzogMXJlbSAwIDEycHggMXJlbTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzY2NjY2NjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzI5MjkyOTtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMik7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjQpO1xuICAgICAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDQ1MCk7XG5cbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHRleHRhcmVhIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBpbnB1dFt0eXBlPXN1Ym1pdF0ge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHdoaXRlO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRoZWFkZXItZm9udC1mYW1pbHk7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLmFjdGlvbi1saW5rIHtcbiAgICAgICAgY29sb3I6ICM2OTY5Njk7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDEwMCk7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG5cbiAgICAuZGVzY3JpcHRpb24sIC5mb3JtLXJlcXVpcmVkLCBsYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufSIsIi5uZXdzLWltYWdlcy1jYXJvdXNlbC1yZXZlYWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50aXplKCRibGFjaywgMC4wNSk7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgLm5ld3MtaW1hZ2VzLWNhcm91c2VsLXRpdGxlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMzApO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcbiAgICB9XG5cbiAgICAuY2xvc2UtYnV0dG9uIHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICB9XG59XG5cbi5tZW51LXJldmVhbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnRpemUoJGJsYWNrLCAwLjA1KTtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtaGVpZ2h0OiA1MjBweCkge1xuICAgICAgICAuZ3JpZC1mcmFtZSB7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tZW51LXJldmVhbC1wYWRkaW5nIHtcbiAgICAgICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDEwKTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubG9nbyBpbWcge1xuICAgICAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoMTApO1xuICAgICAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDE0MCk7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoMTApO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiByZW0tY2FsYygyNTgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1lbnUtcmV2ZWFsLW1haW4ge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoNDApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAubWVudS1yZXZlYWwtbWFpbiB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC5tZW51LWxhYmVsIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRoZWFkZXItZm9udC1mYW1pbHk7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGNvbG9yOiAjOTY5Njk2O1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMyk7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTcpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1haW4tbmF2IHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cblxuXG4gICAgICAgIHVsIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDIyKTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIyKTtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGV4dGVuZGVkLWZvbnQtZmFtaWx5O1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGZvbnQtZmFtaWx5IC4zcyBlYXNlLWluLW91dDtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzApO1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMzApO1xuICAgICAgICAgICAgICAgIH1cblxuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDQwKTtcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDQwKTtcbiAgICAgICAgICAgICAgICB9XG5cblxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGl0YWxpYy1mb250LWZhbWlseTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubGFuZ3VhZ2UtbGluayB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjUpO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRleHRlbmRlZC1mb250LWZhbWlseTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDMwKTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMzApO1xuICAgICAgICAgICAgfVxuXG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDQwKTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoNDApO1xuICAgICAgICAgICAgfVxuXG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkaXRhbGljLWZvbnQtZmFtaWx5O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnR5cGUtbWVudSB7XG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cblxuICAgICAgICB1bCB1bCB7XG4gICAgICAgICAgICBjb2x1bW4tY291bnQ6IDI7XG4gICAgICAgICAgICAtd2Via2l0LWNvbHVtbi1nYXA6IDclO1xuICAgICAgICAgICAgLW1vei1jb2x1bW4tZ2FwOiA3JTtcbiAgICAgICAgICAgIGNvbHVtbi1nYXA6IDclO1xuICAgICAgICAgICAgd2lkdGg6IDIxMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuXG4gICAgICAgIHVsIHVsIGxpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygxMCk7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgfVxuICAgICAgICAuc3VibWVudSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoMjUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmN1c3RvbS1wYWRkaW5nIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDZ2dztcbiAgICAgICAgfVxuXG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMTB2dztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5ib3JkZXItbGVmdCB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMzUpO1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjMzgzODM4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNtYWxsLWJvcmRlci10b3Age1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYygxMCk7XG4gICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgIzM4MzgzODtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jYXRlZ29yaWVzLW1lbnUge1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRoZWFkZXItZm9udC1mYW1pbHk7XG5cbiAgICAgICAgdWwge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMTgpO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZXh0ZW5kZWQtZm9udC1mYW1pbHk7XG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBmb250LWZhbWlseSAuM3MgZWFzZS1pbi1vdXQ7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjIpO1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjQpO1xuICAgICAgICAgICAgICAgIH1cblxuXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkaXRhbGljLWZvbnQtZmFtaWx5O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogI0Q3RDdENztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc29jaWFsLW1lbnUge1xuICAgICAgICBhIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IC45O1xuICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTApIHJlbS1jYWxjKDQpIHJlbS1jYWxjKDUpIHJlbS1jYWxjKDQpO1xuXG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIGZpbHRlcjogaW52ZXJ0KDEwMCUpO1xuICAgICAgICAgICAgICAgIHdpZHRoOiByZW0tY2FsYygyMCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTUpIHJlbS1jYWxjKDEwKSAwIHJlbS1jYWxjKDEwKTtcblxuICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiByZW0tY2FsYygzNSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgbGk6Zmlyc3QtY2hpbGQgYSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIH1cblxuICAgICAgICBsaTpsYXN0LWNoaWxkIGEge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5uZXdzbGV0dGVyLWZvcm0ge1xuICAgICAgICAuaGlkZGVuIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAqIHtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjRzIGVhc2UtaW4tb3V0O1xuICAgICAgICB9XG5cbiAgICAgICAgLm5ld3NsZXR0ZXItaW5wdXQtdGV4dCB7XG5cbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkaGVhZGVyLWZvbnQtZmFtaWx5O1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuXG4gICAgICAgICAgICAvL21hcmdpbi1ib3R0b206IHJlbS1jYWxjKDUpO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuXG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygzKTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR3aGl0ZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlucHV0W3R5cGU9dGV4dF0sXG4gICAgICAgIGlucHV0W3R5cGU9ZW1haWxde1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRoZWFkZXItZm9udC1mYW1pbHk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkd2hpdGU7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDgwJTtcbiAgICAgICAgICAgIGNvbG9yOiAjQ0JDQkNCO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMCk7XG4gICAgICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoMjApO1xuICAgICAgICAgICAgfVxuXG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA0NjBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlucHV0W3R5cGU9dGV4dF06Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRoZWFkZXItZm9udC1mYW1pbHk7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEwKTtcbiAgICAgICAgICAgIGNvbG9yOiAjQ0JDQkNCO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIGlucHV0W3R5cGU9dGV4dF06Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cblxuICAgICAgICAubmV3c2xldHRlci1sZWdhbCB7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNSk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTApO1xuICAgICAgICAgICAgfVxuXG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxOCk7XG4gICAgICAgICAgICB9XG5cblxuICAgICAgICAgICAgbGFiZWwsIGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjQ0JDQkNCO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMnB4O1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMzczNzM3O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpbnB1dFt0eXBlPWNoZWNrYm94XSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHdoaXRlO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgYXBwZXJlYW5jZTogbm9uZTtcbiAgICAgICAgICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiByZW0tY2FsYygxNSk7XG4gICAgICAgICAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDE1KTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgcmVtLWNhbGMoMykgcmVtLWNhbGMoLTEpIDA7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpbnB1dFt0eXBlPWNoZWNrYm94XTpjaGVja2VkIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubmV3c2xldHRlci1zdWJtaXQge1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoNSk7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnNlYXJjaC1yZXZlYWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50aXplKCRibGFjaywgMC4wNSk7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgfVxuXG4gICAgLmdyaWQtcmV2ZWFsLXNlYXJjaCB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcblxuICAgICAgICAjc2VhcmNoLWlucHV0IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM5Nzk3OTc7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI1KTtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMjUpIDA7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyg0MCk7XG5cbiAgICAgICAgICAgICAgICAvL3BhZGRpbmc6IHJlbS1jYWxjKDUwKTtcbiAgICAgICAgICAgIH1cblxuXG4gICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgI3NlYXJjaC1pbnB1dDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDQwKTtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG5cbiAgICAgICAgICAgIC8vdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICBcbiAgICAgICAgfVxuICAgIH1cbn0iLCIud2lsbC1mYWRlLWluIHtcbiAgICBhbmltYXRpb246IGZhZGVpbiAxcyBlYXNlLWluLW91dDtcbn1cblxuLndpbGwtc2xpZGUtdXAtZmFkZSB7XG4gICAgb3BhY2l0eTogMDtcbn1cblxuLndpbGwtc2xpZGUtdXAtZmFkZS5pbiB7XG4gICAgYW5pbWF0aW9uOiBzbGlkZVVwRmFkZSAxLjVzIGN1YmljLWJlemllcigwLjU3LCAwLjAxLCAwLjEzLCAwLjk4KTtcbiAgICBvcGFjaXR5OiAxO1xufVxuXG4ud2lsbC1zbGlkZS11cC1mYWRlLWNvbnRhaW5lciB7XG4gICAgJjpob3ZlciAud2lsbC1zbGlkZS11cC1mYWRlLWhvdmVyIHtcbiAgICAgICAgYW5pbWF0aW9uOiBzbGlkZVVwRmFkZSAxLjVzIGN1YmljLWJlemllcigwLjU3LCAwLjAxLCAwLjEzLCAwLjk4KTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZWluIHtcbiAgICBmcm9tIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG5cbiAgICB0byB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlVXBGYWRlIHtcbiAgICAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMTBweCk7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuXG4gICAgMTAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG59XG5cbi8vIE5vIGpTXG5cbi8vIC5uby1qcyB7XG4vLyAgICAgLndpbGwtZmFkZS1pbiB7XG4vLyAgICAgICAgIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcbi8vICAgICB9XG5cbi8vICAgICAud2lsbC1zbGlkZS11cC1mYWRlLCAud2lsbC1zbGlkZS11cC1mYWRlLWhvdmVyIHtcbi8vICAgICAgICAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xuLy8gICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgIWltcG9ydGFudDtcbi8vICAgICB9XG4vLyB9IiwidWwucGFnZXIge1xuICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYyg4MCk7XG4gICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDgwKTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBtYXJnaW46IGF1dG87XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICBsaSB7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDUpIHJlbS1jYWxjKDgpO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoNSkgcmVtLWNhbGMoMTMpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cblxuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6ICM2RTZFNkU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucGFnZXItY3VycmVudCB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkd2hpdGU7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICB3aWR0aDogNTBweDtcbiAgICAgICAgICAgIGhlaWdodDogNTBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wYWdlci1uZXh0LCAucGFnZXItbGFzdCwgLnBhZ2VyLWZpcnN0LCAucGFnZXItcHJldmlvdXMge1xuICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkd2hpdGU7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiByZW0tY2FsYygzKTtcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDEwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wYWdlci1lbGxpcHNpcyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufSIsIi5sbC1za2luLWx1Z28ge1xuICAgIGZvbnQtc2l6ZTogOTAlO1xufVxuXG4ubGwtc2tpbi1sdWdvIC51aS13aWRnZXQge1xuICAgIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYVwiLFwiVHJlYnVjaGV0IE1TXCIsVGFob21hLFZlcmRhbmEsQXJpYWwsc2Fucy1zZXJpZjtcbiAgICBiYWNrZ3JvdW5kOiAjMWMxYzFjO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIC1tb3otYm94LXNoYWRvdzogMCAwIDNweCAjMjkyYzMyO1xuICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDNweCAjMjkyYzMyO1xuICAgIGJveC1zaGFkb3c6IDAgMCAzcHggIzI5MmMzMjtcbn1cblxuLmxsLXNraW4tbHVnbyAudWktZGF0ZXBpY2tlciB7XG4gICAgcGFkZGluZzogMDtcbn1cblxuLmxsLXNraW4tbHVnbyAudWktZGF0ZXBpY2tlci1oZWFkZXIge1xuICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICBmb250LXNpemU6IDgwJTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICMwMDA7IC8qIHN0cm9rZSAqL1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMDAwOyAvKiBzdHJva2UgKi9cbiAgICBiYWNrZ3JvdW5kOiAjMzMzOyAvKiBsYXllciBmaWxsIGNvbnRlbnQgKi9cbiAgICBjb2xvcjogI2ZmZjsgLyogdGV4dCBjb2xvciAqL1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB0ZXh0LXNoYWRvdzogMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC43KTsgLyogZHJvcCBzaGFkb3cgKi9cbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMDtcbiAgICAtbW96LWJvcmRlci1yYWRpdXM6IDA7XG4gICAgLW1vei1ib3gtc2hhZG93OiBpbnNldCAwIDAgM3B4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTsgLyogaW5uZXIgZ2xvdyAqL1xuICAgIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAwIDNweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7IC8qIGlubmVyIGdsb3cgKi9cbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgM3B4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTsgLyogaW5uZXIgZ2xvdyAqL1xufVxuXG4ubGwtc2tpbi1sdWdvIC51aS1kYXRlcGlja2VyLWhlYWRlciAudWktc3RhdGUtaG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4ubGwtc2tpbi1sdWdvIC51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLW5leHQgc3BhbiB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uLy4uL2ltYWdlcy91aS1pY29uc19mZmZmZmZfMjU2eDI0MC5wbmcpO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC0xNnB4O1xufVxuXG4ubGwtc2tpbi1sdWdvIC51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLXByZXYgc3BhbiB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uLy4uL2ltYWdlcy91aS1pY29uc19mZmZmZmZfMjU2eDI0MC5wbmcpO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC05NnB4IC0xNnB4O1xufVxuXG4ubGwtc2tpbi1sdWdvIC51aS1kYXRlcGlja2VyIHRhYmxlIHtcbiAgICBtYXJnaW46IDA7XG59XG5cbi5sbC1za2luLWx1Z28gLnVpLWRhdGVwaWNrZXIgdGgge1xuICAgIGNvbG9yOiAjYjdiN2I3O1xuICAgIGZvbnQtc2l6ZTogOXB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5sbC1za2luLWx1Z28gLnVpLWRhdGVwaWNrZXIgdGQge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjMmMyYzJjO1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICMyYzJjMmM7XG4gICAgcGFkZGluZzogMDtcbiAgICBiYWNrZ3JvdW5kOiAkYmxhY2s7XG59XG5cbi5sbC1za2luLWx1Z28gLnVpLWRhdGVwaWNrZXIgdGQ6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJpZ2h0OiBub25lO1xufVxuXG4ubGwtc2tpbi1sdWdvIHRkIC51aS1zdGF0ZS1kZWZhdWx0IHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmc6IC43ZW0gMDtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGNvbG9yOiAjZTdlN2U3OyAvKiB0ZXh0IGNvbG9yICovXG4gICAgdGV4dC1zaGFkb3c6IDAgMXB4IDJweCAjMDAwOyAvKiBkcm9wIHNoYWRvdyAqL1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzNzM3Mzc7IC8qIGxheWVyIGZpbGwgY29udGVudCAqL1xuICAgIC1tb3otYm94LXNoYWRvdzogaW5zZXQgMCAwIDNweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7IC8qIGlubmVyIGdsb3cgKi9cbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDAgMCAzcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpOyAvKiBpbm5lciBnbG93ICovXG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDNweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7IC8qIGlubmVyIGdsb3cgKi9cbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQRDk0Yld3Z2RtVnljMmx2YmowaU1TNHdJaUEvUGdvOGMzWm5JSGh0Ykc1elBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHlNREF3TDNOMlp5SWdkMmxrZEdnOUlqRXdNQ1VpSUdobGFXZG9kRDBpTVRBd0pTSWdkbWxsZDBKdmVEMGlNQ0F3SURFd01DQXhNREFpSUhCeVpYTmxjblpsUVhOd1pXTjBVbUYwYVc4OUltNXZibVVpUGp4c2FXNWxZWEpIY21Ga2FXVnVkQ0JwWkQwaWFHRjBNQ0lnWjNKaFpHbGxiblJWYm1sMGN6MGliMkpxWldOMFFtOTFibVJwYm1kQ2IzZ2lJSGd4UFNJMU1DVWlJSGt4UFNJeE1EQWxJaUI0TWowaU5UQWxJaUI1TWowaUxURXVOREl4TURnMU5EY3hOVEl3TW1VdE1UUWxJajRLUEhOMGIzQWdiMlptYzJWMFBTSXdKU0lnYzNSdmNDMWpiMnh2Y2owaUl6TTNNemN6TnlJZ2MzUnZjQzF2Y0dGamFYUjVQU0l4SWk4K0NqeHpkRzl3SUc5bVpuTmxkRDBpTVRBd0pTSWdjM1J2Y0MxamIyeHZjajBpSXpReU5ESTBNaUlnYzNSdmNDMXZjR0ZqYVhSNVBTSXhJaTgrQ2lBZ0lEd3ZiR2x1WldGeVIzSmhaR2xsYm5RK0NnbzhjbVZqZENCNFBTSXdJaUI1UFNJd0lpQjNhV1IwYUQwaU1UQXdJaUJvWldsbmFIUTlJakV3TUNJZ1ptbHNiRDBpZFhKc0tDTm9ZWFF3S1NJZ0x6NEtQQzl6ZG1jKyk7IC8qIGdyYWRpZW50IG92ZXJsYXkgKi9cbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudChib3R0b20sICMzNzM3MzcgMCUsICM0MjQyNDIgMTAwJSk7IC8qIGdyYWRpZW50IG92ZXJsYXkgKi9cbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQoYm90dG9tLCAjMzczNzM3IDAlLCAjNDI0MjQyIDEwMCUpOyAvKiBncmFkaWVudCBvdmVybGF5ICovXG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoYm90dG9tLCAjMzczNzM3IDAlLCAjNDI0MjQyIDEwMCUpOyAvKiBncmFkaWVudCBvdmVybGF5ICovXG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KGJvdHRvbSwgIzM3MzczNyAwJSwgIzQyNDI0MiAxMDAlKTsgLyogZ3JhZGllbnQgb3ZlcmxheSAqL1xufVxuXG4ubGwtc2tpbi1sdWdvIHRkLnVpLXN0YXRlLWRpc2FibGVkIC51aS1zdGF0ZS1kZWZhdWx0IHtcbiAgICBiYWNrZ3JvdW5kOiAjNjY2O1xuICAgIGNvbG9yOiAjY2NjO1xuICAgIHRleHQtc2hhZG93OiBub25lO1xufVxuXG4ubGwtc2tpbi1sdWdvIHRkIC51aS1zdGF0ZS1ob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzM3MzczNzsgLyogbGF5ZXIgZmlsbCBjb250ZW50ICovXG4gICAgLW1vei1ib3gtc2hhZG93OiBpbnNldCAwIDAgNHB4IHJnYmEoMCwgMCwgMCwgMC43KTsgLyppbm5lciBzaGFkb3cgKi9cbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDAgMCA0cHggcmdiYSgwLCAwLCAwLCAwLjIpOyAvKiBpbm5lciBzaGFkb3cgKi9cbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgNHB4IHJnYmEoMCwgMCwgMCwgMC4yKTsgLyogaW5uZXIgc2hhZG93ICovXG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEQ5NGJXd2dkbVZ5YzJsdmJqMGlNUzR3SWlBL1BnbzhjM1puSUhodGJHNXpQU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh5TURBd0wzTjJaeUlnZDJsa2RHZzlJakV3TUNVaUlHaGxhV2RvZEQwaU1UQXdKU0lnZG1sbGQwSnZlRDBpTUNBd0lERXdNQ0F4TURBaUlIQnlaWE5sY25abFFYTndaV04wVW1GMGFXODlJbTV2Ym1VaVBqeHNhVzVsWVhKSGNtRmthV1Z1ZENCcFpEMGlhR0YwTUNJZ1ozSmhaR2xsYm5SVmJtbDBjejBpYjJKcVpXTjBRbTkxYm1ScGJtZENiM2dpSUhneFBTSTFNQ1VpSUhreFBTSXhNREFsSWlCNE1qMGlOVEFsSWlCNU1qMGlMVEV1TkRJeE1EZzFORGN4TlRJd01tVXRNVFFsSWo0S1BITjBiM0FnYjJabWMyVjBQU0l3SlNJZ2MzUnZjQzFqYjJ4dmNqMGlJelF5TkRJME1pSWdjM1J2Y0MxdmNHRmphWFI1UFNJeElpOCtDanh6ZEc5d0lHOW1abk5sZEQwaU1UQXdKU0lnYzNSdmNDMWpiMnh2Y2owaUl6TTNNemN6TnlJZ2MzUnZjQzF2Y0dGamFYUjVQU0l4SWk4K0NpQWdJRHd2YkdsdVpXRnlSM0poWkdsbGJuUStDZ284Y21WamRDQjRQU0l3SWlCNVBTSXdJaUIzYVdSMGFEMGlNVEF3SWlCb1pXbG5hSFE5SWpFd01DSWdabWxzYkQwaWRYSnNLQ05vWVhRd0tTSWdMejRLUEM5emRtYyspOyAvKiBncmFkaWVudCBvdmVybGF5ICovXG4gICAgYmFja2dyb3VuZC1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQoYm90dG9tLCAjNDI0MjQyIDAlLCAjMzczNzM3IDEwMCUpOyAvKmdyYWRpZW50IG92ZXJsYXkqL1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudChib3R0b20sICM0MjQyNDIgMCUsICMzNzM3MzcgMTAwJSk7IC8qZ3JhZGllbnQgb3ZlcmxheSAqL1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGJvdHRvbSwgIzQyNDI0MiAwJSwgIzM3MzczNyAxMDAlKTsgLyogZ3JhZGllbnQgb3ZlcmxheSAqL1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudChib3R0b20sICM0MjQyNDIgMCUsICMzNzM3MzcgMTAwJSk7IC8qIGdyYWRpZW50IG92ZXJsYXkgKi9cbn1cblxuLmxsLXNraW4tbHVnbyB0ZCAudWktc3RhdGUtYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kOiAjM2Y2YjhhOyAvKiBsYXllciBmaWxsIGNvbnRlbnQgKi9cbiAgICAtbW96LWJveC1zaGFkb3c6IGluc2V0IDAgMCA1cHggcmdiYSg3LCAxNSwgMjEsIDAuOSk7IC8qIGlubmVyIHNoYWRvdyAqL1xuICAgIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAwIDVweCByZ2JhKDcsIDE1LCAyMSwgMC45KTsgLyogaW5uZXIgc2hhZG93ICovXG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDVweCByZ2JhKDcsIDE1LCAyMSwgMC45KTsgLyogaW5uZXIgc2hhZG93ICovXG59IiwiLnNpdGUtY29va2llcyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiAgY29sb3I6ICR3aGl0ZTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBsZWZ0OiAwO1xuICBib3R0b206IDA7XG4gIHotaW5kZXg6IDk5OTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDYwMHB4KTtcbiAgd2lkdGg6IDEwMCU7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuOHMgZWFzZS1pbi1vdXQ7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBsZWZ0OiByZW0tY2FsYygyNSk7XG4gICAgd2lkdGg6IHJlbS1jYWxjKDQ0MCk7XG4gIH1cblxuICAmLmV4cGFuZGVkIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cblxuICAud3JhcHBlciB7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoMjApO1xuICB9XG5cbiAgLnRleHQge1xuICAgIG1heC13aWR0aDogODAlO1xuICAgIGxpbmUtaGVpZ2h0OiAyM3B4O1xuICB9XG5cbiAgLmFjdGlvbnMge1xuICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDIwKTtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG4gIH1cblxuICAuY2xvc2UtYnV0dG9uIHtcbiAgICByaWdodDogMDtcbiAgICBwYWRkaW5nOiByZW0tY2FsYygyMCk7XG4gIH1cbn0iLCIuc2l0ZS1vbGQtbWV0YWxvY3VzIHtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIGZvbnQtZmFtaWx5OiBWZXJkYW5hLCBHZW5ldmEsICdEZWphVnUgU2FucycsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG5cbiAgICAudG9wYmFyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzIwMjAyMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM5Nzk3OTc7XG4gICAgfVxufSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQWtCc0tNLE1BQU0sQ0FBQyxLQUFLLEVBQUMsTUFB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QVksQ0wxQmhDLElBQUksQ0FBRSxRQUFRLENBZ0NkLEtBQWEsQ0FEaUIsU0FBc0IsQ0tGakQsQUFIRCxBQUFBLE9BQU8sQ0FBRyxRQUFRLEFBQVksQ0wxQmhDLElBQUksQ0FBRSxRQUFRLENBZ0NkLEtBQWEsQ0FEaUIsR0FBc0IsQ0tGakQsQUFIRCxBQUFBLE9BQU8sQ0FBRyxRQUFRLEFBQVksQ0wxQmhDLElBQUksQ0FBRSxRQUFRLENBZ0NkLEtBQWEsQ0FEaUIsU0FBc0IsQ0tGakQsQUFIRCxBQUFBLE9BQU8sQ0FBRyxRQUFRLEFBQVksQ0wxQmhDLElBQUksQ0FBRSxRQUFRLENBZ0NkLEtBQWEsQ0FEaUIsU0FBc0IsQ0tGakQsQUFIRCxBQUFBLE9BQU8sQ0FBRyxRQUFRLEFBQVksQ0wxQmhDLElBQUksQ0FBRSxRQUFRLENBZ0NkLEtBQWEsQ0FEaUIsR0FBc0IsQ0tGakQsQUFIRCxBQUFBLE9BQU8sQ0FBRyxRQUFRLEFBQVksQ0wxQmhDLElBQUksQ0FBRSxRQUFRLENBZ0NkLEtBQWEsQ0FEaUIsU0FBc0IsQ0tGakQsQUFIRCxBQUFBLE9BQU8sQ0FBRyxRQUFRLEFBQVksQ0wxQmhDLElBQUksQ0FBRSxRQUFRLENBZ0NkLEtBQWEsQ0FEaUIsU0FBc0IsQ0tGakQsQUFIRCxBQUFBLE9BQU8sQ0FBRyxRQUFRLEFBQVksQ0wxQmhDLElBQUksQ0FBRSxRQUFRLENBZ0NkLEtBQWEsQ0FEaUIsR0FBc0IsQ0tGakQsQUFIRCxBQUFBLE9BQU8sQ0FBRyxTQUFTLEFBQVcsQ0wxQmhDLElBQUksQ0FBRSxRQUFRLENBZ0NkLEtBQWEsQ0FEaUIsU0FBc0IsQ0tGakQsQUFIRCxBQUFBLE9BQU8sQ0FBRyxTQUFTLEFBQVcsQ0wxQmhDLElBQUksQ0FBRSxRQUFRLENBZ0NkLEtBQWEsQ0FEaUIsU0FBc0IsQ0tGakQsQUFIRCxBQUFBLE9BQU8sQ0FBRyxTQUFTLEFBQVcsQ0wxQmhDLElBQUksQ0FBRSxRQUFRLENBZ0NkLEtBQWEsQ0FEaUIsSUFBc0IsQ0tGakQsQ0FLTCxBQUFBLGNBQWMsQUFBQSxJQUFLLENBbkVuQixPQUFP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S00sc0JDNEtnQixDRDVLZCxTQUFTLEFBQUssQ0pzQ3hCLEtBQWEsQ0FEaUIsU0FBc0IsQ0luQzNDLEFDMEtQLEFENUtNLHNCQzRLZ0IsQ0Q1S2QsU0FBUyxBQUFLLENKc0N4QixLQUFhLENBRGlCLFNBQXNCLENJbkMzQyxBQzBLUCxBRDVLTSxzQkM0S2dCLENENUtkLFNBQVMsQUFBSyxDSnNDeEIsS0FBYSxDQURpQixJQUFzQixDSW5DM0MsQXJDZ0hQLE1BQU0sQ0FBQyxLQUFLLEVBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJLEVzQzBEeEMsQUQ1S00sc0JDNEtnQixDRDVLZCxTQUFTLEFBQUssQ0pzQ3hCLEtBQWEsQ0FEaUIsUUFBc0IsQ0luQzNDLEFDMEtQLEFENUtNLHNCQzRLZ0IsQ0Q1S2QsU0FBUyxBQUFLLENKc0N4QixLQUFhLENBRGlCLFNBQXNCLENJbkMzQyxBQzBLUCxBRDVLTSxzQkM0S2dCLENENUtkLFNBQVMsQUFBSyxDSnNDeEIsS0FBYSxDQURpQixHQUFzQixDSW5DM0MsQUMwS1AsQUQ1S00sc0JDNEtnQixDRDVLZCxTQUFTLEFBQUssQ0pzQ3hCLEtBQWEsQ0FEaUIsU0FBc0IsQ0luQzNDLEFDMEtQLEFENUtNLHNCQzRLZ0IsQ0Q1S2QsU0FBUyxBQUFLLENKc0N4QixLQUFhLENBRGlCLFNBQXNCLENJbkMzQyxBQzBLUCxBRDVLTSxzQkM0S2dCLENENUtkLFNBQVMsQUFBSyxDSnNDeEIsS0FBYSxDQURpQixHQUFzQixDSW5DM0MsQUMwS1AsQUQ1S00sc0JDNEtnQixDRDVLZCxTQUFTLEFBQUssQ0pzQ3hCLEtBQWEsQ0FEaUIsU0FBc0IsQ0luQzNDLEFDMEtQLEFENUtNLHNCQzRLZ0IsQ0Q1S2QsU0FBUyxBQUFLLENKc0N4QixLQUFhLENBRGlCLFNBQXNCLENJbkMzQyxBQzBLUCxBRDVLTSxzQkM0S2dCLENENUtkLFNBQVMsQUFBSyxDSnNDeEIsS0FBYSxDQURpQixHQUFzQixDSW5DM0MsQUMwS1AsQUQ1S00sc0JDNEtnQixDRDVLZCxVQUFVLEFBQUksQ0pzQ3hCLEtBQWEsQ0FEaUIsU0FBc0IsQ0luQzNDLEFDMEtQLEFENUtNLHNCQzRLZ0IsQ0Q1S2QsVUFBVSxBQUFJLENKc0N4QixLQUFhLENBRGlCLFNBQXNCLENJbkMzQyxBQzBLUCxBRDVLTSxzQkM0S2dCLENENUtkLFVBQVUsQUFBSSxDSnNDeEIsS0FBYSxDQURpQixJQUFzQixDSW5DM0MsQ3JDZ0hQLE1BQU0sQ0FBQyxLQUFLLEVBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJLEVzQzBEeEMsQUQ1S00sc0JDNEtnQixDRDVLZCxRQUFRLEFBQU0sQ0pzQ3hCLEtBQWEsQ0FEaUIsUUFBc0IsQ0luQzNDLEFDMEtQLEFENUtNLHNCQzRLZ0IsQ0Q1S2QsUUFBUSxBQUFNLENKc0N4QixLQUFhLENBRGlCLFNBQXNCLENJbkMzQyxBQzBLUCxBRDVLTSxzQkM0S2dCLENENUtkLFFBQVEsQUFBTSxDSnNDeEIsS0FBYSxDQURpQixHQUFzQixDSW5DM0MsQUMwS1AsQUQ1S00sc0JDNEtnQixDRDVLZCxRQUFRLEFBQU0sQ0pzQ3hCLEtBQWEsQ0FEaUIsU0FBc0IsQ0luQzNDLEFDMEtQLEFENUtNLHNCQzRLZ0IsQ0Q1S2QsUUFBUSxBQUFNLENKc0N4QixLQUFhLENBRGlCLFNBQXNCLENJbkMzQyxBQzBLUCxBRDVLTSxzQkM0S2dCLENENUtkLFFBQVEsQUFBTSxDSnNDeEIsS0FBYSxDQURpQixHQUFzQixDSW5DM0MsQUMwS1AsQUQ1S00sc0JDNEtnQixDRDVLZCxRQUFRLEFBQU0sQ0pzQ3hCLEtBQWEsQ0FEaUIsU0FBc0IsQ0luQzNDLEFDMEtQLEFENUtNLHNCQzRLZ0IsQ0Q1S2QsUUFBUSxBQUFNLENKc0N4QixLQUFhLENBRGlCLFNBQXNCLENJbkMzQyxBQzBLUCxBRDVLTSxzQkM0S2dCLENENUtkLFFBQVEsQUFBTSxDSnNDeEIsS0FBYSxDQURpQixHQUFzQixDSW5DM0MsQUMwS1AsQUQ1S00sc0JDNEtnQixDRDVLZCxTQUFTLEFBQUssQ0pzQ3hCLEtBQWEsQ0FEaUIsU0FBc0IsQ0luQzNDLEFDMEtQLEFENUtNLHNCQzRLZ0IsQ0Q1S2QsU0FBUyxBQUFLLENKc0N4QixLQUFhLENBRGlCLFNBQXNCLENJbkMzQyxBQzBLUCxBRDVLTSxzQkM0S2dCLENENUtkLFNBQVMsQUFBSyxDSnNDeEIsS0FBYSxDQURpQixJQUFzQixDSW5DM0MsQ0NnTFAsQUFBQSx1QkFBdUIsQUFBRSxDRHRLdkIsWUFBZ0IsQ0FBUyxDQUFDLENBQTFCLFdBQWdCLENBQVMsQ0FBQyxDQ3dLM0IsQUFGRCxBRG5LQSx1QkNtS3VCLENEbktyQixLQUFLLEFBQVEsQ0FFWCxhQUFpQixDQUFVLENBQUMsQ0FBNUIsWUFBaUIsQ0FBVSxDQUFDLENBRS9CLEFyQytGRCxNQUFNLENBQUMsS0FBSyxFQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSSxFc0MwRHhDLEFBQUEsdUJBQXVCLEFBQUMsQ0R2TXRCLFlBQWdCLENBQVMsQ0FBQyxDQUExQixXQUFnQixDQUFTLENBQUMsQ0N5TTNCLEFBRkQsQURwTUEsdUJDb011QixDRHBNckIsS0FBSyxBQUFRLENBRVgsWUFBZ0IsQ0FBUyxDQUFDLENBQTFCLFdBQWdCLENBQVMsQ0FBQyxDQUU3QixDckNzSUQsTUFBTSxDQUFDLEtBQUssRUFBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUksRXNDMER4QyxBRHJMTSx1QkNxTGlCLENEckxmLFFBQVEsQUFBTSxDSitDeEIsS0FBYSxDQURpQixRQUFzQixDSTVDM0MsQUNtTFAsQURyTE0sdUJDcUxpQixDRHJMZixRQUFRLEFBQU0sQ0orQ3hCLEtBQWEsQ0FEaUIsU0FBc0IsQ0k1QzNDLEFDbUxQLEFEckxNLHVCQ3FMaUIsQ0RyTGYsUUFBUSxBQUFNLENKK0N4QixLQUFhLENBRGlCLEdBQXNCLENJNUMzQyxBQ21MUCxBRHJMTSx1QkNxTGlCLENEckxmLFFBQVEsQUFBTSxDSitDeEIsS0FBYSxDQURpQixTQUFzQixDSTVDM0MsQUNtTFAsQURyTE0sdUJDcUxpQixDRHJMZixRQUFRLEFBQU0sQ0orQ3hCLEtBQWEsQ0FEaUIsU0FBc0IsQ0k1QzNDLEFDbUxQLEFEckxNLHVCQ3FMaUIsQ0RyTGYsUUFBUSxBQUFNLENKK0N4QixLQUFhLENBRGlCLEdBQXNCLENJNUMzQyxBQ21MUCxBRHJMTSx1QkNxTGlCLENEckxmLFFBQVEsQUFBTSxDSitDeEIsS0FBYSxDQURpQixTQUFzQixDSTVDM0MsQUNtTFAsQURyTE0sdUJDcUxpQixDRHJMZixRQUFRLEFBQU0sQ0orQ3hCLEtBQWEsQ0FEaUIsU0FBc0IsQ0k1QzNDLEFDbUxQLEFEckxNLHVCQ3FMaUIsQ0RyTGYsUUFBUSxBQUFNLENKK0N4QixLQUFhLENBRGlCLEdBQXNCLENJNUMzQyxBQ21MUCxBRHJMTSx1QkNxTGlCLENEckxmLFNBQVMsQUFBSyxDSitDeEIsS0FBYSxDQURpQixTQUFzQixDSTVDM0MsQUNtTFAsQURyTE0sdUJDcUxpQixDRHJMZixTQUFTLEFBQUssQ0orQ3hCLEtBQWEsQ0FEaUIsU0FBc0IsQ0k1QzNDLEFDbUxQLEFEckxNLHVCQ3FMaUIsQ0RyTGYsU0FBUyxBQUFLLENKK0N4QixLQUFhLENBRGlCLElBQXNCLENJNUMzQyxDckN5SFAsTUFBTSxDQUFDLEtBQUssRUFBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUksRXNDMER4QyxBRDVLTSx1QkM0S2lCLENENUtmLFNBQVMsQUFBSyxDSnNDeEIsS0FBYSxDQURpQixRQUFzQixDSW5DM0MsQUMwS1AsQUQ1S00sdUJDNEtpQixDRDVLZixTQUFTLEFBQUssQ0pzQ3hCLEtBQWEsQ0FEaUIsU0FBc0IsQ0luQzNDLEFDMEtQLEFENUtNLHVCQzRLaUIsQ0Q1S2YsU0FBUyxBQUFLLENKc0N4QixLQUFhLENBRGlCLEdBQXNCLENJbkMzQyxBQzBLUCxBRDVLTSx1QkM0S2lCLENENUtmLFNBQVMsQUFBSyxDSnNDeEIsS0FBYSxDQURpQixTQUFzQixDSW5DM0MsQUMwS1AsQUQ1S00sdUJDNEtpQixDRDVLZixTQUFTLEFBQUssQ0pzQ3hCLEtBQWEsQ0FEaUIsU0FBc0IsQ0luQzNDLEFDMEtQLEFENUtNLHVCQzRLaUIsQ0Q1S2YsU0FBUyxBQUFLLENKc0N4QixLQUFhLENBRGlCLEdBQXNCLENJbkMzQyxBQzBLUCxBRDVLTSx1QkM0S2lCLENENUtmLFNBQVMsQUFBSyxDSnNDeEIsS0FBYSxDQURpQixTQUFzQixDSW5DM0MsQUMwS1AsQUQ1S00sdUJDNEtpQixDRDVLZixTQUFTLEFBQUssQ0pzQ3hCLEtBQWEsQ0FEaUIsU0FBc0IsQ0luQzNDLEFDMEtQLEFENUtNLHVCQzRLaUIsQ0Q1S2YsU0FBUyxBQUFLLENKc0N4QixLQUFhLENBRGlCLEdBQXNCLENJbkMzQyxBQzBLUCxBRDVLTSx1QkM0S2lCLENENUtmLFVBQVUsQUFBSSxDSnNDeEIsS0FBYSxDQURpQixTQUFzQixDSW5DM0MsQUMwS1AsQUQ1S00sdUJDNEtpQixDRDVLZixVQUFVLEFBQUksQ0pzQ3hCLEtBQWEsQ0FEaUIsU0FBc0IsQ0luQzNDLEFDMEtQLEFENUtNLHVCQzRLaUIsQ0Q1S2YsVUFBVSxBQUFJLENKc0N4QixLQUFhLENBRGlCLElBQXNCLENJbkMzQyxDckNnSFAsTUFBTSxDQUFDLEtBQUssRUFBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUksRXNDMER4QyxBRDVLTSx1QkM0S2lCLENENUtmLFFBQVEsQUFBTSxDSnNDeEIsS0FBYSxDQURpQixRQUFzQixDSW5DM0MsQUMwS1AsQUQ1S00sdUJDNEtpQixDRDVLZixRQUFRLEFBQU0sQ0pzQ3hCLEtBQWEsQ0FEaUIsU0FBc0IsQ0luQzNDLEFDMEtQLEFENUtNLHVCQzRLaUIsQ0Q1S2YsUUFBUSxBQUFNLENKc0N4QixLQUFhLENBRGlCLEdBQXNCLENJbkMzQyxBQzBLUCxBRDVLTSx1QkM0S2lCLENENUtmLFFBQVEsQUFBTSxDSnNDeEIsS0FBYSxDQURpQixTQUFzQixDSW5DM0MsQUMwS1AsQUQ1S00sdUJDNEtpQixDRDVLZixRQUFRLEFBQU0sQ0pzQ3hCLEtBQWEsQ0FEaUIsU0FBc0IsQ0luQzNDLEFDMEtQLEFENUtNLHVCQzRLaUIsQ0Q1S2YsUUFBUSxBQUFNLENKc0N4QixLQUFhLENBRGlCLEdBQXNCLENJbkMzQyxBQzBLUCxBRDVLTSx1QkM0S2lCLENENUtmLFFBQVEsQUFBTSxDSnNDeEIsS0FBYSxDQURpQixTQUFzQixDSW5DM0MsQUMwS1AsQUQ1S00sdUJDNEtpQixDRDVLZixRQUFRLEFBQU0sQ0pzQ3hCLEtBQWEsQ0FEaUIsU0FBc0IsQ0luQzNDLEFDMEtQLEFENUtNLHVCQzRLaUIsQ0Q1S2YsUUFBUSxBQUFNLENKc0N4QixLQUFhLENBRGlCLEdBQXNCLENJbkMzQyxBQzBLUCxBRDVLTSx1QkM0S2lCLENENUtmLFNBQVMsQUFBSyxDSnNDeEIsS0FBYSxDQURpQixTQUFzQixDSW5DM0MsQUMwS1AsQUQ1S00sdUJDNEtpQixDRDVLZixTQUFTLEFBQUssQ0pzQ3hCLEtBQWEsQ0FEaUIsU0FBc0IsQ0luQzNDLEFDMEtQLEFENUtNLHVCQzRLaUIsQ0Q1S2YsU0FBUyxBQUFLLENKc0N4QixLQUFhLENBRGlCLElBQXNCLENJbkMzQyxDckNnSFAsTUFBTSxDQUFDLEtBQUssRUFBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUksRXNDZ0V4QyxBQUFBLHdCQUF3QixBQUFDLENEdEt2QixZQUFnQixDQUFTLENBQUMsQ0FBMUIsV0FBZ0IsQ0FBUyxDQUFDLENDd0szQixBQUZELEFEbktBLHdCQ21Ld0IsQ0RuS3RCLEtBQUssQUFBUSxDQUVYLGFBQWlCLENBQVUsQ0FBQyxDQUE1QixZQUFpQixDQUFVLENBQUMsQ0FFL0IsQ3JDK0ZELE1BQU0sQ0FBQyxLQUFLLEVBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJLEVzQzBEeEMsQUFBQSxzQkFBc0IsQUFBRSxDRHZNdEIsWUFBZ0IsQ0FBUyxDQUFDLENBQTFCLFdBQWdCLENBQVMsQ0FBQyxDQ3lNM0IsQUFGRCxBRHBNQSxzQkNvTXNCLENEcE1wQixLQUFLLEFBQVEsQ0FFWCxZQUFnQixDQUFTLENBQUMsQ0FBMUIsV0FBZ0IsQ0FBUyxDQUFDLENBRTdCLENyQ3NJRCxNQUFNLENBQUMsS0FBSyxFQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSSxFc0MwRHhDLEFEckxNLHNCQ3FMZ0IsQ0RyTGQsUUFBUSxBQUFNLENKK0N4QixLQUFhLENBRGlCLFFBQXNCLENJNUMzQyxBQ21MUCxBRHJMTSxzQkNxTGdCLENEckxkLFFBQVEsQUFBTSxDSitDeEIsS0FBYSxDQURpQixTQUFzQixDSTVDM0MsQUNtTFAsQURyTE0sc0JDcUxnQixDRHJMZCxRQUFRLEFBQU0sQ0orQ3hCLEtBQWEsQ0FEaUIsR0FBc0IsQ0k1QzNDLEFDbUxQLEFEckxNLHNCQ3FMZ0IsQ0RyTGQsUUFBUSxBQUFNLENKK0N4QixLQUFhLENBRGlCLFNBQXNCLENJNUMzQyxBQ21MUCxBRHJMTSxzQkNxTGdCLENEckxkLFFBQVEsQUFBTSxDSitDeEIsS0FBYSxDQURpQixTQUFzQixDSTVDM0MsQUNtTFAsQURyTE0sc0JDcUxnQixDRHJMZCxRQUFRLEFBQU0sQ0orQ3hCLEtBQWEsQ0FEaUIsR0FBc0IsQ0k1QzNDLEFDbUxQLEFEckxNLHNCQ3FMZ0IsQ0RyTGQsUUFBUSxBQUFNLENKK0N4QixLQUFhLENBRGlCLFNBQXNCLENJNUMzQyxBQ21MUCxBRHJMTSxzQkNxTGdCLENEckxkLFFBQVEsQUFBTSxDSitDeEIsS0FBYSxDQURpQixTQUFzQixDSTVDM0MsQUNtTFAsQURyTE0sc0JDcUxnQixDRHJMZCxRQUFRLEFBQU0sQ0orQ3hCLEtBQWEsQ0FEaUIsR0FBc0IsQ0k1QzNDLEFDbUxQLEFEckxNLHNCQ3FMZ0IsQ0RyTGQsU0FBUyxBQUFLLENKK0N4QixLQUFhLENBRGlCLFNBQXNCLENJNUMzQyxBQ21MUCxBRHJMTSxzQkNxTGdCLENEckxkLFNBQVMsQUFBSyxDSitDeEIsS0FBYSxDQURpQixTQUFzQixDSTVDM0MsQUNtTFAsQURyTE0sc0JDcUxnQixDRHJMZCxTQUFTLEFBQUssQ0orQ3hCLEtBQWEsQ0FEaUIsSUFBc0IsQ0k1QzNDLENyQ3lIUCxNQUFNLENBQUMsS0FBSyxFQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSSxFc0MwRHhDLEFEckxNLHNCQ3FMZ0IsQ0RyTGQsU0FBUyxBQUFLLENKK0N4QixLQUFhLENBRGlCLFFBQXNCLENJNUMzQyxBQ21MUCxBRHJMTSxzQkNxTGdCLENEckxkLFNBQVMsQUFBSyxDSitDeEIsS0FBYSxDQURpQixTQUFzQixDSTVDM0MsQUNtTFAsQURyTE0sc0JDcUxnQixDRHJMZCxTQUFTLEFBQUssQ0orQ3hCLEtBQWEsQ0FEaUIsR0FBc0IsQ0k1QzNDLEFDbUxQLEFEckxNLHNCQ3FMZ0IsQ0RyTGQsU0FBUyxBQUFLLENKK0N4QixLQUFhLENBRGlCLFNBQXNCLENJNUMzQyxBQ21MUCxBRHJMTSxzQkNxTGdCLENEckxkLFNBQVMsQUFBSyxDSitDeEIsS0FBYSxDQURpQixTQUFzQixDSTVDM0MsQUNtTFAsQURyTE0sc0JDcUxnQixDRHJMZCxTQUFTLEFBQUssQ0orQ3hCLEtBQWEsQ0FEaUIsR0FBc0IsQ0k1QzNDLEFDbUxQLEFEckxNLHNCQ3FMZ0IsQ0RyTGQsU0FBUyxBQUFLLENKK0N4QixLQUFhLENBRGlCLFNBQXNCLENJNUMzQyxBQ21MUCxBRHJMTSxzQkNxTGdCLENEckxkLFNBQVMsQUFBSyxDSitDeEIsS0FBYSxDQURpQixTQUFzQixDSTVDM0MsQUNtTFAsQURyTE0sc0JDcUxnQixDRHJMZCxTQUFTLEFBQUssQ0orQ3hCLEtBQWEsQ0FEaUIsR0FBc0IsQ0k1QzNDLEFDbUxQLEFEckxNLHNCQ3FMZ0IsQ0RyTGQsVUFBVSxBQUFJLENKK0N4QixLQUFhLENBRGlCLFNBQXNCLENJNUMzQyxBQ21MUCxBRHJMTSxzQkNxTGdCLENEckxkLFVBQVUsQUFBSSxDSitDeEIsS0FBYSxDQURpQixTQUFzQixDSTVDM0MsQUNtTFAsQURyTE0sc0JDcUxnQixDRHJMZCxVQUFVLEFBQUksQ0orQ3hCLEtBQWEsQ0FEaUIsSUFBc0IsQ0k1QzNDLENyQ3lIUCxNQUFNLENBQUMsS0FBSyxFQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSSxFc0MwRHhDLEFENUtNLHNCQzRLZ0IsQ0Q1S2QsUUFBUSxBQUFNLENKc0N4QixLQUFhLENBRGlCLFFBQXNCLENJbkMzQyxBQzBLUCxBRDVLTSxzQkM0S2dCLENENUtkLFFBQVEsQUFBTSxDSnNDeEIsS0FBYSxDQURpQixTQUFzQixDSW5DM0MsQUMwS1AsQUQ1S00sc0JDNEtnQixDRDVLZCxRQUFRLEFBQU0sQ0pzQ3hCLEtBQWEsQ0FEaUIsR0FBc0IsQ0luQzNDLEFDMEtQLEFENUtNLHNCQzRLZ0IsQ0Q1S2QsUUFBUSxBQUFNLENKc0N4QixLQUFhLENBRGlCLFNBQXNCLENJbkMzQyxBQzBLUCxBRDVLTSxzQkM0S2dCLENENUtkLFFBQVEsQUFBTSxDSnNDeEIsS0FBYSxDQURpQixTQUFzQixDSW5DM0MsQUMwS1AsQUQ1S00sc0JDNEtnQixDRDVLZCxRQUFRLEFBQU0sQ0pzQ3hCLEtBQWEsQ0FEaUIsR0FBc0IsQ0luQzNDLEFDMEtQLEFENUtNLHNCQzRLZ0IsQ0Q1S2QsUUFBUSxBQUFNLENKc0N4QixLQUFhLENBRGlCLFNBQXNCLENJbkMzQyxBQzBLUCxBRDVLTSxzQkM0S2dCLENENUtkLFFBQVEsQUFBTSxDSnNDeEIsS0FBYSxDQURpQixTQUFzQixDSW5DM0MsQUMwS1AsQUQ1S00sc0JDNEtnQixDRDVLZCxRQUFRLEFBQU0sQ0pzQ3hCLEtBQWEsQ0FEaUIsR0FBc0IsQ0luQzNDLEFDMEtQLEFENUtNLHNCQzRLZ0IsQ0Q1S2QsU0FBUyxBQUFLLENKc0N4QixLQUFhLENBRGlCLFNBQXNCLENJbkMzQyxBQzBLUCxBRDVLTSxzQkM0S2dCLENENUtkLFNBQVMsQUFBSyxDSnNDeEIsS0FBYSxDQURpQixTQUFzQixDSW5DM0MsQUMwS1AsQUQ1S00sc0JDNEtnQixDRDVLZCxTQUFTLEFBQUssQ0pzQ3hCLEtBQWEsQ0FEaUIsSUFBc0IsQ0luQzNDLENyQ2dIUCxNQUFNLENBQUMsS0FBSyxFQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSSxFc0NnRXhDLEFBQUEsdUJBQXVCLEFBQUUsQ0R0S3ZCLFlBQWdCLENBQVMsQ0FBQyxDQUExQixXQUFnQixDQUFTLENBQUMsQ0N3SzNCLEFBRkQsQURuS0EsdUJDbUt1QixDRG5LckIsS0FBSyxBQUFRLENBRVgsYUFBaUIsQ0FBVSxDQUFDLENBQTVCLFlBQWlCLENBQVUsQ0FBQyxDQUUvQixDQzZLRCxBQUFBLGVBQWUsQUFBWSxDSHhON0IsV0FBb0IsQ0FBUSxFQUFDLENHME4xQixBQUVELEFBQUEsY0FBYyxDQUFHLGVBQWUsQUFBWSxDSDVOOUMsV0FBb0IsQ0FBUSxrQkFBQyxDRzhOMUIsQUFORCxBQUFBLGVBQWUsQUFBWSxDSHhON0IsV0FBb0IsQ0FBUSxRQUFDLENHME4xQixBQUVELEFBQUEsY0FBYyxDQUFHLGVBQWUsQUFBWSxDSDVOOUMsV0FBb0IsQ0FBUSx3QkFBQyxDRzhOMUIsQUFORCxBQUFBLGVBQWUsQUFBWSxDSHhON0IsV0FBb0IsQ0FBUSxTQUFDLENHME4xQixBQUVELEFBQUEsY0FBYyxDQUFHLGVBQWUsQUFBWSxDSDVOOUMsV0FBb0IsQ0FBUSx5QkFBQyxDRzhOMUIsQUFORCxBQUFBLGVBQWUsQUFBWSxDSHhON0IsV0FBb0IsQ0FBUSxHQUFDLENHME4xQixBQUVELEFBQUEsY0FBYyxDQUFHLGVBQWUsQUFBWSxDSDVOOUMsV0FBb0IsQ0FBUSxtQkFBQyxDRzhOMUIsQUFORCxBQUFBLGVBQWUsQUFBWSxDSHhON0IsV0FBb0IsQ0FBUSxTQUFDLENHME4xQixBQUVELEFBQUEsY0FBYyxDQUFHLGVBQWUsQUFBWSxDSDVOOUMsV0FBb0IsQ0FBUSx5QkFBQyxDRzhOMUIsQUFORCxBQUFBLGVBQWUsQUFBWSxDSHhON0IsV0FBb0IsQ0FBUSxTQUFDLENHME4xQixBQUVELEFBQUEsY0FBYyxDQUFHLGVBQWUsQUFBWSxDSDVOOUMsV0FBb0IsQ0FBUSx5QkFBQyxDRzhOMUIsQUFORCxBQUFBLGVBQWUsQUFBWSxDSHhON0IsV0FBb0IsQ0FBUSxHQUFDLENHME4xQixBQUVELEFBQUEsY0FBYyxDQUFHLGVBQWUsQUFBWSxDSDVOOUMsV0FBb0IsQ0FBUSxtQkFBQyxDRzhOMUIsQUFORCxBQUFBLGVBQWUsQUFBWSxDSHhON0IsV0FBb0IsQ0FBUSxTQUFDLENHME4xQixBQUVELEFBQUEsY0FBYyxDQUFHLGVBQWUsQUFBWSxDSDVOOUMsV0FBb0IsQ0FBUSx5QkFBQyxDRzhOMUIsQUFORCxBQUFBLGVBQWUsQUFBWSxDSHhON0IsV0FBb0IsQ0FBUSxT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 */
