﻿@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,.primary-content-area h2,body.cke_editable h2,.primary-content-area h3,body.cke_editable h3,.primary-content-area h4,body.cke_editable h4,.primary-content-area h5,body.cke_editable h5,.primary-content-area h6,body.cke_editable h6{font-size:2em;margin:0.67em 0}hr{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;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{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"]{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=64em&xlarge=75em&xxlarge=90em"}html{box-sizing:border-box;font-size:100%}*,*::before,*::after{box-sizing:inherit}body{margin:0;padding:0;background:#fefefe;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-weight:normal;line-height:1.5;color:#0a0a0a;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img{display:inline-block;vertical-align:middle;max-width:100%;height:auto;-ms-interpolation-mode:bicubic}textarea{height:auto;min-height:50px;border-radius:0}select{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;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}[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;box-sizing:border-box;width:100%;height:2.4375rem;margin:0 0 1rem;padding:.5rem;border:1px solid #cacaca;border-radius:0;background-color:#fefefe;box-shadow:inset 0 1px 2px rgba(10,10,10,0.1);font-family:inherit;font-size:1rem;font-weight:normal;line-height:1.5;color:#0a0a0a;transition:box-shadow 0.5s,border-color 0.25s ease-in-out;appearance:none}[type='text']:focus,[type='password']:focus,[type='date']:focus,[type='datetime']:focus,[type='datetime-local']:focus,[type='month']:focus,[type='week']:focus,[type='email']:focus,[type='number']:focus,[type='search']:focus,[type='tel']:focus,[type='time']:focus,[type='url']:focus,[type='color']:focus,textarea:focus{outline:none;border:1px solid #8a8a8a;background-color:#fefefe;box-shadow:0 0 5px #cacaca;transition:box-shadow 0.5s,border-color 0.25s ease-in-out}textarea{max-width:100%}textarea[rows]{height:auto}input:disabled,input[readonly],textarea:disabled,textarea[readonly]{background-color:#e6e6e6;cursor:not-allowed}[type='submit'],[type='button']{appearance:none;border-radius:0}input[type='search']{box-sizing:border-box}::placeholder{color:#cacaca}[type='file'],[type='checkbox'],[type='radio']{margin:0 0 1rem}[type='checkbox']+label,[type='radio']+label{display:inline-block;vertical-align:baseline;margin-left:.5rem;margin-right:1rem;margin-bottom:0}[type='checkbox']+label[for],[type='radio']+label[for]{cursor:pointer}label>[type='checkbox'],label>[type='radio']{margin-right:.5rem}[type='file']{width:100%}label{display:block;margin:0;font-size:.875rem;font-weight:normal;line-height:1.8;color:#0a0a0a}label.middle{margin:0 0 1rem;padding:.5625rem 0}.help-text{margin-top:-.5rem;font-size:.8125rem;font-style:italic;color:#0a0a0a}.input-group{display:flex;width:100%;margin-bottom:1rem;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:1px solid #cacaca;background:#e6e6e6;color:#0a0a0a;text-align:center;white-space:nowrap;display:flex;flex:0 0 auto;align-items:center}.input-group-label:first-child{border-right:0}.input-group-label:last-child{border-left:0}.input-group-field{border-radius:0;flex:1 1 0px;min-width:0}.input-group-button{padding-top:0;padding-bottom:0;text-align:center;display:flex;flex:0 0 auto}.input-group-button a,.input-group-button input,.input-group-button button,.input-group-button label{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 #cacaca}.fieldset legend{margin:0;margin-left:-.1875rem;padding:0 .1875rem}select{height:2.4375rem;margin:0 0 1rem;padding:.5rem;appearance:none;border:1px solid #cacaca;border-radius:0;background-color:#fefefe;font-family:inherit;font-size:1rem;font-weight:normal;line-height:1.5;color:#0a0a0a;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' width='32' height='24' viewBox='0 0 32 24'><polygon points='0,0 32,0 16,24' style='fill: rgb%28138, 138, 138%29'></polygon></svg>");background-origin:content-box;background-position:right -1rem center;background-repeat:no-repeat;background-size:9px 6px;padding-right:1.5rem;transition:box-shadow 0.5s,border-color 0.25s ease-in-out}@media screen and (min-width: 0\0){select{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg==")}}select:focus{outline:none;border:1px solid #8a8a8a;background-color:#fefefe;box-shadow:0 0 5px #cacaca;transition:box-shadow 0.5s,border-color 0.25s ease-in-out}select:disabled{background-color:#e6e6e6;cursor:not-allowed}select::-ms-expand{display:none}select[multiple]{height:auto;background-image:none}select:not([multiple]){padding-top:0;padding-bottom:0}.is-invalid-input:not(:focus){border-color:#cc4b37;background-color:#f9ecea}.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}div,dl,dt,dd,ul,ol,li,h1,.primary-content-area h2,body.cke_editable h2,.primary-content-area h3,body.cke_editable h3,.primary-content-area h4,body.cke_editable h4,.primary-content-area h5,body.cke_editable h5,.primary-content-area h6,body.cke_editable h6,h2,h3,h4,h5,h6,pre,form,p,blockquote,th,td{margin:0;padding:0}p{margin-bottom:1rem;font-size:inherit;line-height:1.6;text-rendering:optimizeLegibility}em,i{font-style:italic;line-height:inherit}strong,b{font-weight:bold;line-height:inherit}small{font-size:80%;line-height:inherit}h1,.primary-content-area h2,body.cke_editable h2,.primary-content-area h3,body.cke_editable h3,.primary-content-area h4,body.cke_editable h4,.primary-content-area h5,body.cke_editable h5,.primary-content-area h6,body.cke_editable h6,.h1,h2,.h2,h3,.h3,h4,.h4,h5,.h5,h6,.h6{font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-style:normal;font-weight:normal;color:inherit;text-rendering:optimizeLegibility}h1 small,.primary-content-area h2 small,body.cke_editable h2 small,.primary-content-area h3 small,body.cke_editable h3 small,.primary-content-area h4 small,body.cke_editable h4 small,.primary-content-area h5 small,body.cke_editable h5 small,.primary-content-area h6 small,body.cke_editable h6 small,.h1 small,h2 small,.h2 small,h3 small,.h3 small,h4 small,.h4 small,h5 small,.h5 small,h6 small,.h6 small{line-height:0;color:#cacaca}h1,.primary-content-area h2,body.cke_editable h2,.primary-content-area h3,body.cke_editable h3,.primary-content-area h4,body.cke_editable h4,.primary-content-area h5,body.cke_editable h5,.primary-content-area h6,body.cke_editable h6,.h1{font-size:1.5rem;line-height:1.4;margin-top:0;margin-bottom:.5rem}h2,.h2{font-size:1.25rem;line-height:1.4;margin-top:0;margin-bottom:.5rem}h3,.h3{font-size:1.1875rem;line-height:1.4;margin-top:0;margin-bottom:.5rem}h4,.h4{font-size:1.125rem;line-height:1.4;margin-top:0;margin-bottom:.5rem}h5,.h5{font-size:1.0625rem;line-height:1.4;margin-top:0;margin-bottom:.5rem}h6,.h6{font-size:1rem;line-height:1.4;margin-top:0;margin-bottom:.5rem}@media print, screen and (min-width: 40em){h1,.primary-content-area h2,body.cke_editable h2,.primary-content-area h3,body.cke_editable h3,.primary-content-area h4,body.cke_editable h4,.primary-content-area h5,body.cke_editable h5,.primary-content-area h6,body.cke_editable h6,.h1{font-size:3rem}h2,.h2{font-size:2.5rem}h3,.h3{font-size:1.9375rem}h4,.h4{font-size:1.5625rem}h5,.h5{font-size:1.25rem}h6,.h6{font-size:1rem}}a{line-height:inherit;color:#1779ba;text-decoration:none;cursor:pointer}a:hover,a:focus{color:#1468a0}a img{border:0}hr{clear:both;max-width:75rem;height:0;margin:1.25rem auto;border-top:0;border-right:0;border-bottom:1px solid #cacaca;border-left:0}ul,ol,dl{margin-bottom:1rem;list-style-position:outside;line-height:1.6}li{font-size:inherit}ul{margin-left:1.25rem;list-style-type:disc}ol{margin-left:1.25rem}ul ul,ol ul,ul ol,ol ol{margin-left:1.25rem;margin-bottom:0}dl{margin-bottom:1rem}dl dt{margin-bottom:.3rem;font-weight:bold}blockquote{margin:0 0 1rem;padding:.5625rem 1.25rem 0 1.1875rem;border-left:1px solid #cacaca}blockquote,blockquote p{line-height:1.6;color:#8a8a8a}abbr,abbr[title]{border-bottom:1px dotted #0a0a0a;cursor:help;text-decoration:none}figure,body.cke_editable div drupal-entity{margin:0}kbd{margin:0;padding:.125rem .25rem 0;background-color:#e6e6e6;font-family:Consolas,"Liberation Mono",Courier,monospace;color:#0a0a0a}.subheader{margin-top:.2rem;margin-bottom:.5rem;font-weight:normal;line-height:1.4;color:#8a8a8a}.lead{font-size:125%;line-height:1.6}.stat{font-size:2.5rem;line-height:1}p+.stat{margin-top:-1rem}ul.no-bullet,ol.no-bullet{margin-left:0;list-style:none}.cite-block,cite{display:block;color:#8a8a8a;font-size:.8125rem}.cite-block:before,cite:before{content:"— "}.code-inline,code{border:1px solid #cacaca;background-color:#e6e6e6;font-family:Consolas,"Liberation Mono",Courier,monospace;font-weight:normal;color:#0a0a0a;display:inline;max-width:100%;word-wrap:break-word;padding:.125rem .3125rem .0625rem}.code-block{border:1px solid #cacaca;background-color:#e6e6e6;font-family:Consolas,"Liberation Mono",Courier,monospace;font-weight:normal;color:#0a0a0a;display:block;overflow:auto;white-space:pre;padding:1rem;margin-bottom:1.5rem}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}@media print, screen and (min-width: 40em){.medium-text-left{text-align:left}.medium-text-right{text-align:right}.medium-text-center{text-align:center}.medium-text-justify{text-align:justify}}@media print, screen and (min-width: 64em){.large-text-left{text-align:left}.large-text-right{text-align:right}.large-text-center{text-align:center}.large-text-justify{text-align:justify}}.show-for-print{display:none !important}@media print{*{background:transparent !important;color:black !important;color-adjust:economy;box-shadow:none !important;text-shadow:none !important}.show-for-print{display:block !important}.hide-for-print{display:none !important}table.show-for-print{display:table !important}thead.show-for-print{display:table-header-group !important}tbody.show-for-print{display:table-row-group !important}tr.show-for-print{display:table-row !important}td.show-for-print{display:table-cell !important}th.show-for-print{display:table-cell !important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}.ir a:after,a[href^='javascript:']:after,a[href^='#']:after{content:''}abbr[title]:after{content:" (" attr(title) ")"}pre,blockquote{border:1px solid #8a8a8a;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100% !important}@page{margin:0.5cm}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}.print-break-inside{page-break-inside:auto}}.grid-container{padding-right:.625rem;padding-left:.625rem;max-width:75rem;margin-left:auto;margin-right:auto}@media print, screen and (min-width: 40em){.grid-container{padding-right:.9375rem;padding-left:.9375rem}}.grid-container.fluid{padding-right:.625rem;padding-left:.625rem;max-width:100%;margin-left:auto;margin-right:auto}@media print, screen and (min-width: 40em){.grid-container.fluid{padding-right:.9375rem;padding-left:.9375rem}}.grid-container.full{padding-right:0;padding-left:0;max-width:100%;margin-left:auto;margin-right:auto}.grid-x{display:flex;flex-flow:row wrap}.cell{flex:0 0 auto;min-height:0px;min-width:0px;width:100%}.cell.auto{flex:1 1 0px}.cell.shrink{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{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{flex-basis:auto}}@media print, screen and (min-width: 64em){.grid-x>.large-shrink,.grid-x>.large-full,.grid-x>.large-1,.grid-x>.large-2,.grid-x>.large-3,.grid-x>.large-4,.grid-x>.large-5,.grid-x>.large-6,.grid-x>.large-7,.grid-x>.large-8,.grid-x>.large-9,.grid-x>.large-10,.grid-x>.large-11,.grid-x>.large-12{flex-basis:auto}}.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{flex:0 0 auto}.grid-x>.small-1{width:8.33333%}.grid-x>.small-2{width:16.66667%}.grid-x>.small-3{width:25%}.grid-x>.small-4{width:33.33333%}.grid-x>.small-5{width:41.66667%}.grid-x>.small-6{width:50%}.grid-x>.small-7{width:58.33333%}.grid-x>.small-8{width:66.66667%}.grid-x>.small-9{width:75%}.grid-x>.small-10{width:83.33333%}.grid-x>.small-11{width:91.66667%}.grid-x>.small-12{width:100%}@media print, screen and (min-width: 40em){.grid-x>.medium-auto{flex:1 1 0px;width:auto}.grid-x>.medium-shrink,.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{flex:0 0 auto}.grid-x>.medium-shrink{width:auto}.grid-x>.medium-1{width:8.33333%}.grid-x>.medium-2{width:16.66667%}.grid-x>.medium-3{width:25%}.grid-x>.medium-4{width:33.33333%}.grid-x>.medium-5{width:41.66667%}.grid-x>.medium-6{width:50%}.grid-x>.medium-7{width:58.33333%}.grid-x>.medium-8{width:66.66667%}.grid-x>.medium-9{width:75%}.grid-x>.medium-10{width:83.33333%}.grid-x>.medium-11{width:91.66667%}.grid-x>.medium-12{width:100%}}@media print, screen and (min-width: 64em){.grid-x>.large-auto{flex:1 1 0px;width:auto}.grid-x>.large-shrink,.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{flex:0 0 auto}.grid-x>.large-shrink{width:auto}.grid-x>.large-1{width:8.33333%}.grid-x>.large-2{width:16.66667%}.grid-x>.large-3{width:25%}.grid-x>.large-4{width:33.33333%}.grid-x>.large-5{width:41.66667%}.grid-x>.large-6{width:50%}.grid-x>.large-7{width:58.33333%}.grid-x>.large-8{width:66.66667%}.grid-x>.large-9{width:75%}.grid-x>.large-10{width:83.33333%}.grid-x>.large-11{width:91.66667%}.grid-x>.large-12{width:100%}}.grid-margin-x:not(.grid-x)>.cell{width:auto}.grid-margin-y:not(.grid-y)>.cell{height:auto}.grid-margin-x{margin-left:-.625rem;margin-right:-.625rem}@media print, screen and (min-width: 40em){.grid-margin-x{margin-left:-.9375rem;margin-right:-.9375rem}}.grid-margin-x>.cell{width:calc(100% - 1.25rem);margin-left:.625rem;margin-right:.625rem}@media print, screen and (min-width: 40em){.grid-margin-x>.cell{width:calc(100% - 1.875rem);margin-left:.9375rem;margin-right:.9375rem}}.grid-margin-x>.auto{width:auto}.grid-margin-x>.shrink{width:auto}.grid-margin-x>.small-1{width:calc(8.33333% - 1.25rem)}.grid-margin-x>.small-2{width:calc(16.66667% - 1.25rem)}.grid-margin-x>.small-3{width:calc(25% - 1.25rem)}.grid-margin-x>.small-4{width:calc(33.33333% - 1.25rem)}.grid-margin-x>.small-5{width:calc(41.66667% - 1.25rem)}.grid-margin-x>.small-6{width:calc(50% - 1.25rem)}.grid-margin-x>.small-7{width:calc(58.33333% - 1.25rem)}.grid-margin-x>.small-8{width:calc(66.66667% - 1.25rem)}.grid-margin-x>.small-9{width:calc(75% - 1.25rem)}.grid-margin-x>.small-10{width:calc(83.33333% - 1.25rem)}.grid-margin-x>.small-11{width:calc(91.66667% - 1.25rem)}.grid-margin-x>.small-12{width:calc(100% - 1.25rem)}@media print, screen and (min-width: 40em){.grid-margin-x>.auto{width:auto}.grid-margin-x>.shrink{width:auto}.grid-margin-x>.small-1{width:calc(8.33333% - 1.875rem)}.grid-margin-x>.small-2{width:calc(16.66667% - 1.875rem)}.grid-margin-x>.small-3{width:calc(25% - 1.875rem)}.grid-margin-x>.small-4{width:calc(33.33333% - 1.875rem)}.grid-margin-x>.small-5{width:calc(41.66667% - 1.875rem)}.grid-margin-x>.small-6{width:calc(50% - 1.875rem)}.grid-margin-x>.small-7{width:calc(58.33333% - 1.875rem)}.grid-margin-x>.small-8{width:calc(66.66667% - 1.875rem)}.grid-margin-x>.small-9{width:calc(75% - 1.875rem)}.grid-margin-x>.small-10{width:calc(83.33333% - 1.875rem)}.grid-margin-x>.small-11{width:calc(91.66667% - 1.875rem)}.grid-margin-x>.small-12{width:calc(100% - 1.875rem)}.grid-margin-x>.medium-auto{width:auto}.grid-margin-x>.medium-shrink{width:auto}.grid-margin-x>.medium-1{width:calc(8.33333% - 1.875rem)}.grid-margin-x>.medium-2{width:calc(16.66667% - 1.875rem)}.grid-margin-x>.medium-3{width:calc(25% - 1.875rem)}.grid-margin-x>.medium-4{width:calc(33.33333% - 1.875rem)}.grid-margin-x>.medium-5{width:calc(41.66667% - 1.875rem)}.grid-margin-x>.medium-6{width:calc(50% - 1.875rem)}.grid-margin-x>.medium-7{width:calc(58.33333% - 1.875rem)}.grid-margin-x>.medium-8{width:calc(66.66667% - 1.875rem)}.grid-margin-x>.medium-9{width:calc(75% - 1.875rem)}.grid-margin-x>.medium-10{width:calc(83.33333% - 1.875rem)}.grid-margin-x>.medium-11{width:calc(91.66667% - 1.875rem)}.grid-margin-x>.medium-12{width:calc(100% - 1.875rem)}}@media print, screen and (min-width: 64em){.grid-margin-x>.large-auto{width:auto}.grid-margin-x>.large-shrink{width:auto}.grid-margin-x>.large-1{width:calc(8.33333% - 1.875rem)}.grid-margin-x>.large-2{width:calc(16.66667% - 1.875rem)}.grid-margin-x>.large-3{width:calc(25% - 1.875rem)}.grid-margin-x>.large-4{width:calc(33.33333% - 1.875rem)}.grid-margin-x>.large-5{width:calc(41.66667% - 1.875rem)}.grid-margin-x>.large-6{width:calc(50% - 1.875rem)}.grid-margin-x>.large-7{width:calc(58.33333% - 1.875rem)}.grid-margin-x>.large-8{width:calc(66.66667% - 1.875rem)}.grid-margin-x>.large-9{width:calc(75% - 1.875rem)}.grid-margin-x>.large-10{width:calc(83.33333% - 1.875rem)}.grid-margin-x>.large-11{width:calc(91.66667% - 1.875rem)}.grid-margin-x>.large-12{width:calc(100% - 1.875rem)}}.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:-.9375rem;margin-left:-.9375rem}}.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:-.9375rem;margin-left:-.9375rem}}.grid-padding-x>.cell{padding-right:.625rem;padding-left:.625rem}@media print, screen and (min-width: 40em){.grid-padding-x>.cell{padding-right:.9375rem;padding-left:.9375rem}}.small-up-1>.cell{width:100%}.small-up-2>.cell{width:50%}.small-up-3>.cell{width:33.33333%}.small-up-4>.cell{width:25%}.small-up-5>.cell{width:20%}.small-up-6>.cell{width:16.66667%}.small-up-7>.cell{width:14.28571%}.small-up-8>.cell{width:12.5%}@media print, screen and (min-width: 40em){.medium-up-1>.cell{width:100%}.medium-up-2>.cell{width:50%}.medium-up-3>.cell{width:33.33333%}.medium-up-4>.cell{width:25%}.medium-up-5>.cell{width:20%}.medium-up-6>.cell{width:16.66667%}.medium-up-7>.cell{width:14.28571%}.medium-up-8>.cell{width:12.5%}}@media print, screen and (min-width: 64em){.large-up-1>.cell{width:100%}.large-up-2>.cell{width:50%}.large-up-3>.cell{width:33.33333%}.large-up-4>.cell{width:25%}.large-up-5>.cell{width:20%}.large-up-6>.cell{width:16.66667%}.large-up-7>.cell{width:14.28571%}.large-up-8>.cell{width:12.5%}}.grid-margin-x.small-up-1>.cell{width:calc(100% - 1.25rem)}.grid-margin-x.small-up-2>.cell{width:calc(50% - 1.25rem)}.grid-margin-x.small-up-3>.cell{width:calc(33.33333% - 1.25rem)}.grid-margin-x.small-up-4>.cell{width:calc(25% - 1.25rem)}.grid-margin-x.small-up-5>.cell{width:calc(20% - 1.25rem)}.grid-margin-x.small-up-6>.cell{width:calc(16.66667% - 1.25rem)}.grid-margin-x.small-up-7>.cell{width:calc(14.28571% - 1.25rem)}.grid-margin-x.small-up-8>.cell{width:calc(12.5% - 1.25rem)}@media print, screen and (min-width: 40em){.grid-margin-x.small-up-1>.cell{width:calc(100% - 1.875rem)}.grid-margin-x.small-up-2>.cell{width:calc(50% - 1.875rem)}.grid-margin-x.small-up-3>.cell{width:calc(33.33333% - 1.875rem)}.grid-margin-x.small-up-4>.cell{width:calc(25% - 1.875rem)}.grid-margin-x.small-up-5>.cell{width:calc(20% - 1.875rem)}.grid-margin-x.small-up-6>.cell{width:calc(16.66667% - 1.875rem)}.grid-margin-x.small-up-7>.cell{width:calc(14.28571% - 1.875rem)}.grid-margin-x.small-up-8>.cell{width:calc(12.5% - 1.875rem)}.grid-margin-x.medium-up-1>.cell{width:calc(100% - 1.875rem)}.grid-margin-x.medium-up-2>.cell{width:calc(50% - 1.875rem)}.grid-margin-x.medium-up-3>.cell{width:calc(33.33333% - 1.875rem)}.grid-margin-x.medium-up-4>.cell{width:calc(25% - 1.875rem)}.grid-margin-x.medium-up-5>.cell{width:calc(20% - 1.875rem)}.grid-margin-x.medium-up-6>.cell{width:calc(16.66667% - 1.875rem)}.grid-margin-x.medium-up-7>.cell{width:calc(14.28571% - 1.875rem)}.grid-margin-x.medium-up-8>.cell{width:calc(12.5% - 1.875rem)}}@media print, screen and (min-width: 64em){.grid-margin-x.large-up-1>.cell{width:calc(100% - 1.875rem)}.grid-margin-x.large-up-2>.cell{width:calc(50% - 1.875rem)}.grid-margin-x.large-up-3>.cell{width:calc(33.33333% - 1.875rem)}.grid-margin-x.large-up-4>.cell{width:calc(25% - 1.875rem)}.grid-margin-x.large-up-5>.cell{width:calc(20% - 1.875rem)}.grid-margin-x.large-up-6>.cell{width:calc(16.66667% - 1.875rem)}.grid-margin-x.large-up-7>.cell{width:calc(14.28571% - 1.875rem)}.grid-margin-x.large-up-8>.cell{width:calc(12.5% - 1.875rem)}}.small-margin-collapse{margin-right:0;margin-left:0}.small-margin-collapse>.cell{margin-right:0;margin-left:0}.small-margin-collapse>.small-1{width:8.33333%}.small-margin-collapse>.small-2{width:16.66667%}.small-margin-collapse>.small-3{width:25%}.small-margin-collapse>.small-4{width:33.33333%}.small-margin-collapse>.small-5{width:41.66667%}.small-margin-collapse>.small-6{width:50%}.small-margin-collapse>.small-7{width:58.33333%}.small-margin-collapse>.small-8{width:66.66667%}.small-margin-collapse>.small-9{width:75%}.small-margin-collapse>.small-10{width:83.33333%}.small-margin-collapse>.small-11{width:91.66667%}.small-margin-collapse>.small-12{width:100%}@media print, screen and (min-width: 40em){.small-margin-collapse>.medium-1{width:8.33333%}.small-margin-collapse>.medium-2{width:16.66667%}.small-margin-collapse>.medium-3{width:25%}.small-margin-collapse>.medium-4{width:33.33333%}.small-margin-collapse>.medium-5{width:41.66667%}.small-margin-collapse>.medium-6{width:50%}.small-margin-collapse>.medium-7{width:58.33333%}.small-margin-collapse>.medium-8{width:66.66667%}.small-margin-collapse>.medium-9{width:75%}.small-margin-collapse>.medium-10{width:83.33333%}.small-margin-collapse>.medium-11{width:91.66667%}.small-margin-collapse>.medium-12{width:100%}}@media print, screen and (min-width: 64em){.small-margin-collapse>.large-1{width:8.33333%}.small-margin-collapse>.large-2{width:16.66667%}.small-margin-collapse>.large-3{width:25%}.small-margin-collapse>.large-4{width:33.33333%}.small-margin-collapse>.large-5{width:41.66667%}.small-margin-collapse>.large-6{width:50%}.small-margin-collapse>.large-7{width:58.33333%}.small-margin-collapse>.large-8{width:66.66667%}.small-margin-collapse>.large-9{width:75%}.small-margin-collapse>.large-10{width:83.33333%}.small-margin-collapse>.large-11{width:91.66667%}.small-margin-collapse>.large-12{width:100%}}.small-padding-collapse{margin-right:0;margin-left:0}.small-padding-collapse>.cell{padding-right:0;padding-left:0}@media print, screen and (min-width: 40em){.medium-margin-collapse{margin-right:0;margin-left:0}.medium-margin-collapse>.cell{margin-right:0;margin-left:0}}@media print, screen and (min-width: 40em){.medium-margin-collapse>.small-1{width:8.33333%}.medium-margin-collapse>.small-2{width:16.66667%}.medium-margin-collapse>.small-3{width:25%}.medium-margin-collapse>.small-4{width:33.33333%}.medium-margin-collapse>.small-5{width:41.66667%}.medium-margin-collapse>.small-6{width:50%}.medium-margin-collapse>.small-7{width:58.33333%}.medium-margin-collapse>.small-8{width:66.66667%}.medium-margin-collapse>.small-9{width:75%}.medium-margin-collapse>.small-10{width:83.33333%}.medium-margin-collapse>.small-11{width:91.66667%}.medium-margin-collapse>.small-12{width:100%}}@media print, screen and (min-width: 40em){.medium-margin-collapse>.medium-1{width:8.33333%}.medium-margin-collapse>.medium-2{width:16.66667%}.medium-margin-collapse>.medium-3{width:25%}.medium-margin-collapse>.medium-4{width:33.33333%}.medium-margin-collapse>.medium-5{width:41.66667%}.medium-margin-collapse>.medium-6{width:50%}.medium-margin-collapse>.medium-7{width:58.33333%}.medium-margin-collapse>.medium-8{width:66.66667%}.medium-margin-collapse>.medium-9{width:75%}.medium-margin-collapse>.medium-10{width:83.33333%}.medium-margin-collapse>.medium-11{width:91.66667%}.medium-margin-collapse>.medium-12{width:100%}}@media print, screen and (min-width: 64em){.medium-margin-collapse>.large-1{width:8.33333%}.medium-margin-collapse>.large-2{width:16.66667%}.medium-margin-collapse>.large-3{width:25%}.medium-margin-collapse>.large-4{width:33.33333%}.medium-margin-collapse>.large-5{width:41.66667%}.medium-margin-collapse>.large-6{width:50%}.medium-margin-collapse>.large-7{width:58.33333%}.medium-margin-collapse>.large-8{width:66.66667%}.medium-margin-collapse>.large-9{width:75%}.medium-margin-collapse>.large-10{width:83.33333%}.medium-margin-collapse>.large-11{width:91.66667%}.medium-margin-collapse>.large-12{width:100%}}@media print, screen and (min-width: 40em){.medium-padding-collapse{margin-right:0;margin-left:0}.medium-padding-collapse>.cell{padding-right:0;padding-left:0}}@media print, screen and (min-width: 64em){.large-margin-collapse{margin-right:0;margin-left:0}.large-margin-collapse>.cell{margin-right:0;margin-left:0}}@media print, screen and (min-width: 64em){.large-margin-collapse>.small-1{width:8.33333%}.large-margin-collapse>.small-2{width:16.66667%}.large-margin-collapse>.small-3{width:25%}.large-margin-collapse>.small-4{width:33.33333%}.large-margin-collapse>.small-5{width:41.66667%}.large-margin-collapse>.small-6{width:50%}.large-margin-collapse>.small-7{width:58.33333%}.large-margin-collapse>.small-8{width:66.66667%}.large-margin-collapse>.small-9{width:75%}.large-margin-collapse>.small-10{width:83.33333%}.large-margin-collapse>.small-11{width:91.66667%}.large-margin-collapse>.small-12{width:100%}}@media print, screen and (min-width: 64em){.large-margin-collapse>.medium-1{width:8.33333%}.large-margin-collapse>.medium-2{width:16.66667%}.large-margin-collapse>.medium-3{width:25%}.large-margin-collapse>.medium-4{width:33.33333%}.large-margin-collapse>.medium-5{width:41.66667%}.large-margin-collapse>.medium-6{width:50%}.large-margin-collapse>.medium-7{width:58.33333%}.large-margin-collapse>.medium-8{width:66.66667%}.large-margin-collapse>.medium-9{width:75%}.large-margin-collapse>.medium-10{width:83.33333%}.large-margin-collapse>.medium-11{width:91.66667%}.large-margin-collapse>.medium-12{width:100%}}@media print, screen and (min-width: 64em){.large-margin-collapse>.large-1{width:8.33333%}.large-margin-collapse>.large-2{width:16.66667%}.large-margin-collapse>.large-3{width:25%}.large-margin-collapse>.large-4{width:33.33333%}.large-margin-collapse>.large-5{width:41.66667%}.large-margin-collapse>.large-6{width:50%}.large-margin-collapse>.large-7{width:58.33333%}.large-margin-collapse>.large-8{width:66.66667%}.large-margin-collapse>.large-9{width:75%}.large-margin-collapse>.large-10{width:83.33333%}.large-margin-collapse>.large-11{width:91.66667%}.large-margin-collapse>.large-12{width:100%}}@media print, screen and (min-width: 64em){.large-padding-collapse{margin-right:0;margin-left:0}.large-padding-collapse>.cell{padding-right:0;padding-left:0}}.small-offset-0{margin-left:0%}.grid-margin-x>.small-offset-0{margin-left:calc(0% + .625rem)}.small-offset-1{margin-left:8.33333%}.grid-margin-x>.small-offset-1{margin-left:calc(8.33333% + .625rem)}.small-offset-2{margin-left:16.66667%}.grid-margin-x>.small-offset-2{margin-left:calc(16.66667% + .625rem)}.small-offset-3{margin-left:25%}.grid-margin-x>.small-offset-3{margin-left:calc(25% + .625rem)}.small-offset-4{margin-left:33.33333%}.grid-margin-x>.small-offset-4{margin-left:calc(33.33333% + .625rem)}.small-offset-5{margin-left:41.66667%}.grid-margin-x>.small-offset-5{margin-left:calc(41.66667% + .625rem)}.small-offset-6{margin-left:50%}.grid-margin-x>.small-offset-6{margin-left:calc(50% + .625rem)}.small-offset-7{margin-left:58.33333%}.grid-margin-x>.small-offset-7{margin-left:calc(58.33333% + .625rem)}.small-offset-8{margin-left:66.66667%}.grid-margin-x>.small-offset-8{margin-left:calc(66.66667% + .625rem)}.small-offset-9{margin-left:75%}.grid-margin-x>.small-offset-9{margin-left:calc(75% + .625rem)}.small-offset-10{margin-left:83.33333%}.grid-margin-x>.small-offset-10{margin-left:calc(83.33333% + .625rem)}.small-offset-11{margin-left:91.66667%}.grid-margin-x>.small-offset-11{margin-left:calc(91.66667% + .625rem)}@media print, screen and (min-width: 40em){.medium-offset-0{margin-left:0%}.grid-margin-x>.medium-offset-0{margin-left:calc(0% + .9375rem)}.medium-offset-1{margin-left:8.33333%}.grid-margin-x>.medium-offset-1{margin-left:calc(8.33333% + .9375rem)}.medium-offset-2{margin-left:16.66667%}.grid-margin-x>.medium-offset-2{margin-left:calc(16.66667% + .9375rem)}.medium-offset-3{margin-left:25%}.grid-margin-x>.medium-offset-3{margin-left:calc(25% + .9375rem)}.medium-offset-4{margin-left:33.33333%}.grid-margin-x>.medium-offset-4{margin-left:calc(33.33333% + .9375rem)}.medium-offset-5{margin-left:41.66667%}.grid-margin-x>.medium-offset-5{margin-left:calc(41.66667% + .9375rem)}.medium-offset-6{margin-left:50%}.grid-margin-x>.medium-offset-6{margin-left:calc(50% + .9375rem)}.medium-offset-7{margin-left:58.33333%}.grid-margin-x>.medium-offset-7{margin-left:calc(58.33333% + .9375rem)}.medium-offset-8{margin-left:66.66667%}.grid-margin-x>.medium-offset-8{margin-left:calc(66.66667% + .9375rem)}.medium-offset-9{margin-left:75%}.grid-margin-x>.medium-offset-9{margin-left:calc(75% + .9375rem)}.medium-offset-10{margin-left:83.33333%}.grid-margin-x>.medium-offset-10{margin-left:calc(83.33333% + .9375rem)}.medium-offset-11{margin-left:91.66667%}.grid-margin-x>.medium-offset-11{margin-left:calc(91.66667% + .9375rem)}}@media print, screen and (min-width: 64em){.large-offset-0{margin-left:0%}.grid-margin-x>.large-offset-0{margin-left:calc(0% + .9375rem)}.large-offset-1{margin-left:8.33333%}.grid-margin-x>.large-offset-1{margin-left:calc(8.33333% + .9375rem)}.large-offset-2{margin-left:16.66667%}.grid-margin-x>.large-offset-2{margin-left:calc(16.66667% + .9375rem)}.large-offset-3{margin-left:25%}.grid-margin-x>.large-offset-3{margin-left:calc(25% + .9375rem)}.large-offset-4{margin-left:33.33333%}.grid-margin-x>.large-offset-4{margin-left:calc(33.33333% + .9375rem)}.large-offset-5{margin-left:41.66667%}.grid-margin-x>.large-offset-5{margin-left:calc(41.66667% + .9375rem)}.large-offset-6{margin-left:50%}.grid-margin-x>.large-offset-6{margin-left:calc(50% + .9375rem)}.large-offset-7{margin-left:58.33333%}.grid-margin-x>.large-offset-7{margin-left:calc(58.33333% + .9375rem)}.large-offset-8{margin-left:66.66667%}.grid-margin-x>.large-offset-8{margin-left:calc(66.66667% + .9375rem)}.large-offset-9{margin-left:75%}.grid-margin-x>.large-offset-9{margin-left:calc(75% + .9375rem)}.large-offset-10{margin-left:83.33333%}.grid-margin-x>.large-offset-10{margin-left:calc(83.33333% + .9375rem)}.large-offset-11{margin-left:91.66667%}.grid-margin-x>.large-offset-11{margin-left:calc(91.66667% + .9375rem)}}.grid-y{display:flex;flex-flow:column nowrap}.grid-y>.cell{height:auto;max-height: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{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{flex-basis:auto}}@media print, screen and (min-width: 64em){.grid-y>.large-shrink,.grid-y>.large-full,.grid-y>.large-1,.grid-y>.large-2,.grid-y>.large-3,.grid-y>.large-4,.grid-y>.large-5,.grid-y>.large-6,.grid-y>.large-7,.grid-y>.large-8,.grid-y>.large-9,.grid-y>.large-10,.grid-y>.large-11,.grid-y>.large-12{flex-basis:auto}}.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{flex:0 0 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{flex:1 1 0px;height:auto}.grid-y>.medium-shrink,.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{flex:0 0 auto}.grid-y>.medium-shrink{height:auto}.grid-y>.medium-1{height:8.33333%}.grid-y>.medium-2{height:16.66667%}.grid-y>.medium-3{height:25%}.grid-y>.medium-4{height:33.33333%}.grid-y>.medium-5{height:41.66667%}.grid-y>.medium-6{height:50%}.grid-y>.medium-7{height:58.33333%}.grid-y>.medium-8{height:66.66667%}.grid-y>.medium-9{height:75%}.grid-y>.medium-10{height:83.33333%}.grid-y>.medium-11{height:91.66667%}.grid-y>.medium-12{height:100%}}@media print, screen and (min-width: 64em){.grid-y>.large-auto{flex:1 1 0px;height:auto}.grid-y>.large-shrink,.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{flex:0 0 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:-.9375rem;margin-bottom:-.9375rem}}.grid-padding-y>.cell{padding-top:.625rem;padding-bottom:.625rem}@media print, screen and (min-width: 40em){.grid-padding-y>.cell{padding-top:.9375rem;padding-bottom:.9375rem}}.grid-margin-y{margin-top:-.625rem;margin-bottom:-.625rem}@media print, screen and (min-width: 40em){.grid-margin-y{margin-top:-.9375rem;margin-bottom:-.9375rem}}.grid-margin-y>.cell{height:calc(100% - 1.25rem);margin-top:.625rem;margin-bottom:.625rem}@media print, screen and (min-width: 40em){.grid-margin-y>.cell{height:calc(100% - 1.875rem);margin-top:.9375rem;margin-bottom:.9375rem}}.grid-margin-y>.auto{height:auto}.grid-margin-y>.shrink{height:auto}.grid-margin-y>.small-1{height:calc(8.33333% - 1.25rem)}.grid-margin-y>.small-2{height:calc(16.66667% - 1.25rem)}.grid-margin-y>.small-3{height:calc(25% - 1.25rem)}.grid-margin-y>.small-4{height:calc(33.33333% - 1.25rem)}.grid-margin-y>.small-5{height:calc(41.66667% - 1.25rem)}.grid-margin-y>.small-6{height:calc(50% - 1.25rem)}.grid-margin-y>.small-7{height:calc(58.33333% - 1.25rem)}.grid-margin-y>.small-8{height:calc(66.66667% - 1.25rem)}.grid-margin-y>.small-9{height:calc(75% - 1.25rem)}.grid-margin-y>.small-10{height:calc(83.33333% - 1.25rem)}.grid-margin-y>.small-11{height:calc(91.66667% - 1.25rem)}.grid-margin-y>.small-12{height:calc(100% - 1.25rem)}@media print, screen and (min-width: 40em){.grid-margin-y>.auto{height:auto}.grid-margin-y>.shrink{height:auto}.grid-margin-y>.small-1{height:calc(8.33333% - 1.875rem)}.grid-margin-y>.small-2{height:calc(16.66667% - 1.875rem)}.grid-margin-y>.small-3{height:calc(25% - 1.875rem)}.grid-margin-y>.small-4{height:calc(33.33333% - 1.875rem)}.grid-margin-y>.small-5{height:calc(41.66667% - 1.875rem)}.grid-margin-y>.small-6{height:calc(50% - 1.875rem)}.grid-margin-y>.small-7{height:calc(58.33333% - 1.875rem)}.grid-margin-y>.small-8{height:calc(66.66667% - 1.875rem)}.grid-margin-y>.small-9{height:calc(75% - 1.875rem)}.grid-margin-y>.small-10{height:calc(83.33333% - 1.875rem)}.grid-margin-y>.small-11{height:calc(91.66667% - 1.875rem)}.grid-margin-y>.small-12{height:calc(100% - 1.875rem)}.grid-margin-y>.medium-auto{height:auto}.grid-margin-y>.medium-shrink{height:auto}.grid-margin-y>.medium-1{height:calc(8.33333% - 1.875rem)}.grid-margin-y>.medium-2{height:calc(16.66667% - 1.875rem)}.grid-margin-y>.medium-3{height:calc(25% - 1.875rem)}.grid-margin-y>.medium-4{height:calc(33.33333% - 1.875rem)}.grid-margin-y>.medium-5{height:calc(41.66667% - 1.875rem)}.grid-margin-y>.medium-6{height:calc(50% - 1.875rem)}.grid-margin-y>.medium-7{height:calc(58.33333% - 1.875rem)}.grid-margin-y>.medium-8{height:calc(66.66667% - 1.875rem)}.grid-margin-y>.medium-9{height:calc(75% - 1.875rem)}.grid-margin-y>.medium-10{height:calc(83.33333% - 1.875rem)}.grid-margin-y>.medium-11{height:calc(91.66667% - 1.875rem)}.grid-margin-y>.medium-12{height:calc(100% - 1.875rem)}}@media print, screen and (min-width: 64em){.grid-margin-y>.large-auto{height:auto}.grid-margin-y>.large-shrink{height:auto}.grid-margin-y>.large-1{height:calc(8.33333% - 1.875rem)}.grid-margin-y>.large-2{height:calc(16.66667% - 1.875rem)}.grid-margin-y>.large-3{height:calc(25% - 1.875rem)}.grid-margin-y>.large-4{height:calc(33.33333% - 1.875rem)}.grid-margin-y>.large-5{height:calc(41.66667% - 1.875rem)}.grid-margin-y>.large-6{height:calc(50% - 1.875rem)}.grid-margin-y>.large-7{height:calc(58.33333% - 1.875rem)}.grid-margin-y>.large-8{height:calc(66.66667% - 1.875rem)}.grid-margin-y>.large-9{height:calc(75% - 1.875rem)}.grid-margin-y>.large-10{height:calc(83.33333% - 1.875rem)}.grid-margin-y>.large-11{height:calc(91.66667% - 1.875rem)}.grid-margin-y>.large-12{height:calc(100% - 1.875rem)}}.grid-frame{overflow:hidden;position:relative;flex-wrap:nowrap;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:flex;flex-direction:column;max-height:100%}.cell-block-container>.grid-x{max-height:100%;flex-wrap:nowrap}@media print, screen and (min-width: 40em){.medium-grid-frame{overflow:hidden;position:relative;flex-wrap:nowrap;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:flex;flex-direction:column;max-height:100%}.medium-cell-block-container>.grid-x{max-height:100%;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: 64em){.large-grid-frame{overflow:hidden;position:relative;flex-wrap:nowrap;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:flex;flex-direction:column;max-height:100%}.large-cell-block-container>.grid-x{max-height:100%;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;flex-wrap:nowrap;align-items:stretch;height:100vh}@media print, screen and (min-width: 40em){.grid-y.medium-grid-frame{width:auto;overflow:hidden;position:relative;flex-wrap:nowrap;align-items:stretch;height:100vh}}@media print, screen and (min-width: 64em){.grid-y.large-grid-frame{width:auto;overflow:hidden;position:relative;flex-wrap:nowrap;align-items:stretch;height:100vh}}.cell .grid-y.grid-frame{height:100%}@media print, screen and (min-width: 40em){.cell .grid-y.medium-grid-frame{height:100%}}@media print, screen and (min-width: 64em){.cell .grid-y.large-grid-frame{height:100%}}.grid-margin-y{margin-top:-.625rem;margin-bottom:-.625rem}@media print, screen and (min-width: 40em){.grid-margin-y{margin-top:-.9375rem;margin-bottom:-.9375rem}}.grid-margin-y>.cell{height:calc(100% - 1.25rem);margin-top:.625rem;margin-bottom:.625rem}@media print, screen and (min-width: 40em){.grid-margin-y>.cell{height:calc(100% - 1.875rem);margin-top:.9375rem;margin-bottom:.9375rem}}.grid-margin-y>.auto{height:auto}.grid-margin-y>.shrink{height:auto}.grid-margin-y>.small-1{height:calc(8.33333% - 1.25rem)}.grid-margin-y>.small-2{height:calc(16.66667% - 1.25rem)}.grid-margin-y>.small-3{height:calc(25% - 1.25rem)}.grid-margin-y>.small-4{height:calc(33.33333% - 1.25rem)}.grid-margin-y>.small-5{height:calc(41.66667% - 1.25rem)}.grid-margin-y>.small-6{height:calc(50% - 1.25rem)}.grid-margin-y>.small-7{height:calc(58.33333% - 1.25rem)}.grid-margin-y>.small-8{height:calc(66.66667% - 1.25rem)}.grid-margin-y>.small-9{height:calc(75% - 1.25rem)}.grid-margin-y>.small-10{height:calc(83.33333% - 1.25rem)}.grid-margin-y>.small-11{height:calc(91.66667% - 1.25rem)}.grid-margin-y>.small-12{height:calc(100% - 1.25rem)}@media print, screen and (min-width: 40em){.grid-margin-y>.auto{height:auto}.grid-margin-y>.shrink{height:auto}.grid-margin-y>.small-1{height:calc(8.33333% - 1.875rem)}.grid-margin-y>.small-2{height:calc(16.66667% - 1.875rem)}.grid-margin-y>.small-3{height:calc(25% - 1.875rem)}.grid-margin-y>.small-4{height:calc(33.33333% - 1.875rem)}.grid-margin-y>.small-5{height:calc(41.66667% - 1.875rem)}.grid-margin-y>.small-6{height:calc(50% - 1.875rem)}.grid-margin-y>.small-7{height:calc(58.33333% - 1.875rem)}.grid-margin-y>.small-8{height:calc(66.66667% - 1.875rem)}.grid-margin-y>.small-9{height:calc(75% - 1.875rem)}.grid-margin-y>.small-10{height:calc(83.33333% - 1.875rem)}.grid-margin-y>.small-11{height:calc(91.66667% - 1.875rem)}.grid-margin-y>.small-12{height:calc(100% - 1.875rem)}.grid-margin-y>.medium-auto{height:auto}.grid-margin-y>.medium-shrink{height:auto}.grid-margin-y>.medium-1{height:calc(8.33333% - 1.875rem)}.grid-margin-y>.medium-2{height:calc(16.66667% - 1.875rem)}.grid-margin-y>.medium-3{height:calc(25% - 1.875rem)}.grid-margin-y>.medium-4{height:calc(33.33333% - 1.875rem)}.grid-margin-y>.medium-5{height:calc(41.66667% - 1.875rem)}.grid-margin-y>.medium-6{height:calc(50% - 1.875rem)}.grid-margin-y>.medium-7{height:calc(58.33333% - 1.875rem)}.grid-margin-y>.medium-8{height:calc(66.66667% - 1.875rem)}.grid-margin-y>.medium-9{height:calc(75% - 1.875rem)}.grid-margin-y>.medium-10{height:calc(83.33333% - 1.875rem)}.grid-margin-y>.medium-11{height:calc(91.66667% - 1.875rem)}.grid-margin-y>.medium-12{height:calc(100% - 1.875rem)}}@media print, screen and (min-width: 64em){.grid-margin-y>.large-auto{height:auto}.grid-margin-y>.large-shrink{height:auto}.grid-margin-y>.large-1{height:calc(8.33333% - 1.875rem)}.grid-margin-y>.large-2{height:calc(16.66667% - 1.875rem)}.grid-margin-y>.large-3{height:calc(25% - 1.875rem)}.grid-margin-y>.large-4{height:calc(33.33333% - 1.875rem)}.grid-margin-y>.large-5{height:calc(41.66667% - 1.875rem)}.grid-margin-y>.large-6{height:calc(50% - 1.875rem)}.grid-margin-y>.large-7{height:calc(58.33333% - 1.875rem)}.grid-margin-y>.large-8{height:calc(66.66667% - 1.875rem)}.grid-margin-y>.large-9{height:calc(75% - 1.875rem)}.grid-margin-y>.large-10{height:calc(83.33333% - 1.875rem)}.grid-margin-y>.large-11{height:calc(91.66667% - 1.875rem)}.grid-margin-y>.large-12{height:calc(100% - 1.875rem)}}.grid-frame.grid-margin-y{height:calc(100vh + 1.25rem)}@media print, screen and (min-width: 40em){.grid-frame.grid-margin-y{height:calc(100vh + 1.875rem)}}@media print, screen and (min-width: 64em){.grid-frame.grid-margin-y{height:calc(100vh + 1.875rem)}}@media print, screen and (min-width: 40em){.grid-margin-y.medium-grid-frame{height:calc(100vh + 1.875rem)}}@media print, screen and (min-width: 64em){.grid-margin-y.large-grid-frame{height:calc(100vh + 1.875rem)}}.button{display:inline-block;vertical-align:middle;margin:0 0 1rem 0;padding:0.85em 1em;border:1px solid transparent;border-radius:0;transition:background-color 0.25s ease-out,color 0.25s ease-out;font-family:inherit;font-size:0.9rem;-webkit-appearance:none;line-height:1;text-align:center;cursor:pointer}[data-whatinput='mouse'] .button{outline:0}.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,.button.disabled,.button[disabled],.button.disabled:hover,.button[disabled]:hover,.button.disabled:focus,.button[disabled]:focus{background-color:#1779ba;color:#fefefe}.button:hover,.button:focus{background-color:#14679e;color:#fefefe}.button.primary,.button.primary.disabled,.button.primary[disabled],.button.primary.disabled:hover,.button.primary[disabled]:hover,.button.primary.disabled:focus,.button.primary[disabled]:focus{background-color:#1779ba;color:#fefefe}.button.primary:hover,.button.primary:focus{background-color:#126195;color:#fefefe}.button.secondary,.button.secondary.disabled,.button.secondary[disabled],.button.secondary.disabled:hover,.button.secondary[disabled]:hover,.button.secondary.disabled:focus,.button.secondary[disabled]:focus{background-color:#767676;color:#fefefe}.button.secondary:hover,.button.secondary:focus{background-color:#5e5e5e;color:#fefefe}.button.success,.button.success.disabled,.button.success[disabled],.button.success.disabled:hover,.button.success[disabled]:hover,.button.success.disabled:focus,.button.success[disabled]:focus{background-color:#3adb76;color:#0a0a0a}.button.success:hover,.button.success:focus{background-color:#22bb5b;color:#0a0a0a}.button.warning,.button.warning.disabled,.button.warning[disabled],.button.warning.disabled:hover,.button.warning[disabled]:hover,.button.warning.disabled:focus,.button.warning[disabled]:focus{background-color:#ffae00;color:#0a0a0a}.button.warning:hover,.button.warning:focus{background-color:#cc8b00;color:#0a0a0a}.button.alert,.button.alert.disabled,.button.alert[disabled],.button.alert.disabled:hover,.button.alert[disabled]:hover,.button.alert.disabled:focus,.button.alert[disabled]:focus{background-color:#cc4b37;color:#fefefe}.button.alert:hover,.button.alert:focus{background-color:#a53b2a;color:#fefefe}.button.hollow,.button.hollow:hover,.button.hollow:focus,.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,.button.hollow.disabled,.button.hollow[disabled],.button.hollow.disabled:hover,.button.hollow[disabled]:hover,.button.hollow.disabled:focus,.button.hollow[disabled]:focus{border:1px solid #1779ba;color:#1779ba}.button.hollow:hover,.button.hollow:focus{border-color:#0c3d5d;color:#0c3d5d}.button.hollow.primary,.button.hollow.primary.disabled,.button.hollow.primary[disabled],.button.hollow.primary.disabled:hover,.button.hollow.primary[disabled]:hover,.button.hollow.primary.disabled:focus,.button.hollow.primary[disabled]:focus{border:1px solid #1779ba;color:#1779ba}.button.hollow.primary:hover,.button.hollow.primary:focus{border-color:#0c3d5d;color:#0c3d5d}.button.hollow.secondary,.button.hollow.secondary.disabled,.button.hollow.secondary[disabled],.button.hollow.secondary.disabled:hover,.button.hollow.secondary[disabled]:hover,.button.hollow.secondary.disabled:focus,.button.hollow.secondary[disabled]:focus{border:1px solid #767676;color:#767676}.button.hollow.secondary:hover,.button.hollow.secondary:focus{border-color:#3b3b3b;color:#3b3b3b}.button.hollow.success,.button.hollow.success.disabled,.button.hollow.success[disabled],.button.hollow.success.disabled:hover,.button.hollow.success[disabled]:hover,.button.hollow.success.disabled:focus,.button.hollow.success[disabled]:focus{border:1px solid #3adb76;color:#3adb76}.button.hollow.success:hover,.button.hollow.success:focus{border-color:#157539;color:#157539}.button.hollow.warning,.button.hollow.warning.disabled,.button.hollow.warning[disabled],.button.hollow.warning.disabled:hover,.button.hollow.warning[disabled]:hover,.button.hollow.warning.disabled:focus,.button.hollow.warning[disabled]:focus{border:1px solid #ffae00;color:#ffae00}.button.hollow.warning:hover,.button.hollow.warning:focus{border-color:#805700;color:#805700}.button.hollow.alert,.button.hollow.alert.disabled,.button.hollow.alert[disabled],.button.hollow.alert.disabled:hover,.button.hollow.alert[disabled]:hover,.button.hollow.alert.disabled:focus,.button.hollow.alert[disabled]:focus{border:1px solid #cc4b37;color:#cc4b37}.button.hollow.alert:hover,.button.hollow.alert:focus{border-color:#67251a;color:#67251a}.button.clear,.button.clear:hover,.button.clear:focus,.button.clear.disabled,.button.clear.disabled:hover,.button.clear.disabled:focus,.button.clear[disabled],.button.clear[disabled]:hover,.button.clear[disabled]:focus{border-color:transparent;background-color:transparent}.button.clear,.button.clear.disabled,.button.clear[disabled],.button.clear.disabled:hover,.button.clear[disabled]:hover,.button.clear.disabled:focus,.button.clear[disabled]:focus{color:#1779ba}.button.clear:hover,.button.clear:focus{color:#0c3d5d}.button.clear.primary,.button.clear.primary.disabled,.button.clear.primary[disabled],.button.clear.primary.disabled:hover,.button.clear.primary[disabled]:hover,.button.clear.primary.disabled:focus,.button.clear.primary[disabled]:focus{color:#1779ba}.button.clear.primary:hover,.button.clear.primary:focus{color:#0c3d5d}.button.clear.secondary,.button.clear.secondary.disabled,.button.clear.secondary[disabled],.button.clear.secondary.disabled:hover,.button.clear.secondary[disabled]:hover,.button.clear.secondary.disabled:focus,.button.clear.secondary[disabled]:focus{color:#767676}.button.clear.secondary:hover,.button.clear.secondary:focus{color:#3b3b3b}.button.clear.success,.button.clear.success.disabled,.button.clear.success[disabled],.button.clear.success.disabled:hover,.button.clear.success[disabled]:hover,.button.clear.success.disabled:focus,.button.clear.success[disabled]:focus{color:#3adb76}.button.clear.success:hover,.button.clear.success:focus{color:#157539}.button.clear.warning,.button.clear.warning.disabled,.button.clear.warning[disabled],.button.clear.warning.disabled:hover,.button.clear.warning[disabled]:hover,.button.clear.warning.disabled:focus,.button.clear.warning[disabled]:focus{color:#ffae00}.button.clear.warning:hover,.button.clear.warning:focus{color:#805700}.button.clear.alert,.button.clear.alert.disabled,.button.clear.alert[disabled],.button.clear.alert.disabled:hover,.button.clear.alert[disabled]:hover,.button.clear.alert.disabled:focus,.button.clear.alert[disabled]:focus{color:#cc4b37}.button.clear.alert:hover,.button.clear.alert:focus{color:#67251a}.button.disabled,.button[disabled]{opacity:.25;cursor:not-allowed}.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,.button.dropdown.clear::after{border-top-color:#1779ba}.button.dropdown.hollow.primary::after,.button.dropdown.clear.primary::after{border-top-color:#1779ba}.button.dropdown.hollow.secondary::after,.button.dropdown.clear.secondary::after{border-top-color:#767676}.button.dropdown.hollow.success::after,.button.dropdown.clear.success::after{border-top-color:#3adb76}.button.dropdown.hollow.warning::after,.button.dropdown.clear.warning::after{border-top-color:#ffae00}.button.dropdown.hollow.alert::after,.button.dropdown.clear.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}.button-group{margin-bottom:1rem;display:flex;flex-wrap:wrap;align-items:stretch;flex-grow:1}.button-group::before,.button-group::after{display:table;content:' ';flex-basis:0;order:1}.button-group::after{clear:both}.button-group::before,.button-group::after{display:none}.button-group .button{margin:0;margin-right:1px;margin-bottom:1px;font-size:0.9rem;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{flex:1 1 0px;margin-right:0}.button-group.primary .button,.button-group.primary .button.disabled,.button-group.primary .button[disabled],.button-group.primary .button.disabled:hover,.button-group.primary .button[disabled]:hover,.button-group.primary .button.disabled:focus,.button-group.primary .button[disabled]:focus{background-color:#1779ba;color:#fefefe}.button-group.primary .button:hover,.button-group.primary .button:focus{background-color:#126195;color:#fefefe}.button-group.secondary .button,.button-group.secondary .button.disabled,.button-group.secondary .button[disabled],.button-group.secondary .button.disabled:hover,.button-group.secondary .button[disabled]:hover,.button-group.secondary .button.disabled:focus,.button-group.secondary .button[disabled]:focus{background-color:#767676;color:#fefefe}.button-group.secondary .button:hover,.button-group.secondary .button:focus{background-color:#5e5e5e;color:#fefefe}.button-group.success .button,.button-group.success .button.disabled,.button-group.success .button[disabled],.button-group.success .button.disabled:hover,.button-group.success .button[disabled]:hover,.button-group.success .button.disabled:focus,.button-group.success .button[disabled]:focus{background-color:#3adb76;color:#0a0a0a}.button-group.success .button:hover,.button-group.success .button:focus{background-color:#22bb5b;color:#0a0a0a}.button-group.warning .button,.button-group.warning .button.disabled,.button-group.warning .button[disabled],.button-group.warning .button.disabled:hover,.button-group.warning .button[disabled]:hover,.button-group.warning .button.disabled:focus,.button-group.warning .button[disabled]:focus{background-color:#ffae00;color:#0a0a0a}.button-group.warning .button:hover,.button-group.warning .button:focus{background-color:#cc8b00;color:#0a0a0a}.button-group.alert .button,.button-group.alert .button.disabled,.button-group.alert .button[disabled],.button-group.alert .button.disabled:hover,.button-group.alert .button[disabled]:hover,.button-group.alert .button.disabled:focus,.button-group.alert .button[disabled]:focus{background-color:#cc4b37;color:#fefefe}.button-group.alert .button:hover,.button-group.alert .button:focus{background-color:#a53b2a;color:#fefefe}.button-group.hollow .button,.button-group.hollow .button:hover,.button-group.hollow .button:focus,.button-group.hollow .button.disabled,.button-group.hollow .button.disabled:hover,.button-group.hollow .button.disabled:focus,.button-group.hollow .button[disabled],.button-group.hollow .button[disabled]:hover,.button-group.hollow .button[disabled]:focus{background-color:transparent}.button-group.hollow .button,.button-group.hollow .button.disabled,.button-group.hollow .button[disabled],.button-group.hollow .button.disabled:hover,.button-group.hollow .button[disabled]:hover,.button-group.hollow .button.disabled:focus,.button-group.hollow .button[disabled]:focus{border:1px solid #1779ba;color:#1779ba}.button-group.hollow .button:hover,.button-group.hollow .button:focus{border-color:#0c3d5d;color:#0c3d5d}.button-group.hollow.primary .button,.button-group.hollow.primary .button.disabled,.button-group.hollow.primary .button[disabled],.button-group.hollow.primary .button.disabled:hover,.button-group.hollow.primary .button[disabled]:hover,.button-group.hollow.primary .button.disabled:focus,.button-group.hollow.primary .button[disabled]:focus,.button-group.hollow .button.primary,.button-group.hollow .button.primary.disabled,.button-group.hollow .button.primary[disabled],.button-group.hollow .button.primary.disabled:hover,.button-group.hollow .button.primary[disabled]:hover,.button-group.hollow .button.primary.disabled:focus,.button-group.hollow .button.primary[disabled]:focus{border:1px solid #1779ba;color:#1779ba}.button-group.hollow.primary .button:hover,.button-group.hollow.primary .button:focus,.button-group.hollow .button.primary:hover,.button-group.hollow .button.primary:focus{border-color:#0c3d5d;color:#0c3d5d}.button-group.hollow.secondary .button,.button-group.hollow.secondary .button.disabled,.button-group.hollow.secondary .button[disabled],.button-group.hollow.secondary .button.disabled:hover,.button-group.hollow.secondary .button[disabled]:hover,.button-group.hollow.secondary .button.disabled:focus,.button-group.hollow.secondary .button[disabled]:focus,.button-group.hollow .button.secondary,.button-group.hollow .button.secondary.disabled,.button-group.hollow .button.secondary[disabled],.button-group.hollow .button.secondary.disabled:hover,.button-group.hollow .button.secondary[disabled]:hover,.button-group.hollow .button.secondary.disabled:focus,.button-group.hollow .button.secondary[disabled]:focus{border:1px solid #767676;color:#767676}.button-group.hollow.secondary .button:hover,.button-group.hollow.secondary .button:focus,.button-group.hollow .button.secondary:hover,.button-group.hollow .button.secondary:focus{border-color:#3b3b3b;color:#3b3b3b}.button-group.hollow.success .button,.button-group.hollow.success .button.disabled,.button-group.hollow.success .button[disabled],.button-group.hollow.success .button.disabled:hover,.button-group.hollow.success .button[disabled]:hover,.button-group.hollow.success .button.disabled:focus,.button-group.hollow.success .button[disabled]:focus,.button-group.hollow .button.success,.button-group.hollow .button.success.disabled,.button-group.hollow .button.success[disabled],.button-group.hollow .button.success.disabled:hover,.button-group.hollow .button.success[disabled]:hover,.button-group.hollow .button.success.disabled:focus,.button-group.hollow .button.success[disabled]:focus{border:1px solid #3adb76;color:#3adb76}.button-group.hollow.success .button:hover,.button-group.hollow.success .button:focus,.button-group.hollow .button.success:hover,.button-group.hollow .button.success:focus{border-color:#157539;color:#157539}.button-group.hollow.warning .button,.button-group.hollow.warning .button.disabled,.button-group.hollow.warning .button[disabled],.button-group.hollow.warning .button.disabled:hover,.button-group.hollow.warning .button[disabled]:hover,.button-group.hollow.warning .button.disabled:focus,.button-group.hollow.warning .button[disabled]:focus,.button-group.hollow .button.warning,.button-group.hollow .button.warning.disabled,.button-group.hollow .button.warning[disabled],.button-group.hollow .button.warning.disabled:hover,.button-group.hollow .button.warning[disabled]:hover,.button-group.hollow .button.warning.disabled:focus,.button-group.hollow .button.warning[disabled]:focus{border:1px solid #ffae00;color:#ffae00}.button-group.hollow.warning .button:hover,.button-group.hollow.warning .button:focus,.button-group.hollow .button.warning:hover,.button-group.hollow .button.warning:focus{border-color:#805700;color:#805700}.button-group.hollow.alert .button,.button-group.hollow.alert .button.disabled,.button-group.hollow.alert .button[disabled],.button-group.hollow.alert .button.disabled:hover,.button-group.hollow.alert .button[disabled]:hover,.button-group.hollow.alert .button.disabled:focus,.button-group.hollow.alert .button[disabled]:focus,.button-group.hollow .button.alert,.button-group.hollow .button.alert.disabled,.button-group.hollow .button.alert[disabled],.button-group.hollow .button.alert.disabled:hover,.button-group.hollow .button.alert[disabled]:hover,.button-group.hollow .button.alert.disabled:focus,.button-group.hollow .button.alert[disabled]:focus{border:1px solid #cc4b37;color:#cc4b37}.button-group.hollow.alert .button:hover,.button-group.hollow.alert .button:focus,.button-group.hollow .button.alert:hover,.button-group.hollow .button.alert:focus{border-color:#67251a;color:#67251a}.button-group.clear .button,.button-group.clear .button:hover,.button-group.clear .button:focus,.button-group.clear .button.disabled,.button-group.clear .button.disabled:hover,.button-group.clear .button.disabled:focus,.button-group.clear .button[disabled],.button-group.clear .button[disabled]:hover,.button-group.clear .button[disabled]:focus{border-color:transparent;background-color:transparent}.button-group.clear .button,.button-group.clear .button.disabled,.button-group.clear .button[disabled],.button-group.clear .button.disabled:hover,.button-group.clear .button[disabled]:hover,.button-group.clear .button.disabled:focus,.button-group.clear .button[disabled]:focus{color:#1779ba}.button-group.clear .button:hover,.button-group.clear .button:focus{color:#0c3d5d}.button-group.clear.primary .button,.button-group.clear.primary .button.disabled,.button-group.clear.primary .button[disabled],.button-group.clear.primary .button.disabled:hover,.button-group.clear.primary .button[disabled]:hover,.button-group.clear.primary .button.disabled:focus,.button-group.clear.primary .button[disabled]:focus,.button-group.clear .button.primary,.button-group.clear .button.primary.disabled,.button-group.clear .button.primary[disabled],.button-group.clear .button.primary.disabled:hover,.button-group.clear .button.primary[disabled]:hover,.button-group.clear .button.primary.disabled:focus,.button-group.clear .button.primary[disabled]:focus{color:#1779ba}.button-group.clear.primary .button:hover,.button-group.clear.primary .button:focus,.button-group.clear .button.primary:hover,.button-group.clear .button.primary:focus{color:#0c3d5d}.button-group.clear.secondary .button,.button-group.clear.secondary .button.disabled,.button-group.clear.secondary .button[disabled],.button-group.clear.secondary .button.disabled:hover,.button-group.clear.secondary .button[disabled]:hover,.button-group.clear.secondary .button.disabled:focus,.button-group.clear.secondary .button[disabled]:focus,.button-group.clear .button.secondary,.button-group.clear .button.secondary.disabled,.button-group.clear .button.secondary[disabled],.button-group.clear .button.secondary.disabled:hover,.button-group.clear .button.secondary[disabled]:hover,.button-group.clear .button.secondary.disabled:focus,.button-group.clear .button.secondary[disabled]:focus{color:#767676}.button-group.clear.secondary .button:hover,.button-group.clear.secondary .button:focus,.button-group.clear .button.secondary:hover,.button-group.clear .button.secondary:focus{color:#3b3b3b}.button-group.clear.success .button,.button-group.clear.success .button.disabled,.button-group.clear.success .button[disabled],.button-group.clear.success .button.disabled:hover,.button-group.clear.success .button[disabled]:hover,.button-group.clear.success .button.disabled:focus,.button-group.clear.success .button[disabled]:focus,.button-group.clear .button.success,.button-group.clear .button.success.disabled,.button-group.clear .button.success[disabled],.button-group.clear .button.success.disabled:hover,.button-group.clear .button.success[disabled]:hover,.button-group.clear .button.success.disabled:focus,.button-group.clear .button.success[disabled]:focus{color:#3adb76}.button-group.clear.success .button:hover,.button-group.clear.success .button:focus,.button-group.clear .button.success:hover,.button-group.clear .button.success:focus{color:#157539}.button-group.clear.warning .button,.button-group.clear.warning .button.disabled,.button-group.clear.warning .button[disabled],.button-group.clear.warning .button.disabled:hover,.button-group.clear.warning .button[disabled]:hover,.button-group.clear.warning .button.disabled:focus,.button-group.clear.warning .button[disabled]:focus,.button-group.clear .button.warning,.button-group.clear .button.warning.disabled,.button-group.clear .button.warning[disabled],.button-group.clear .button.warning.disabled:hover,.button-group.clear .button.warning[disabled]:hover,.button-group.clear .button.warning.disabled:focus,.button-group.clear .button.warning[disabled]:focus{color:#ffae00}.button-group.clear.warning .button:hover,.button-group.clear.warning .button:focus,.button-group.clear .button.warning:hover,.button-group.clear .button.warning:focus{color:#805700}.button-group.clear.alert .button,.button-group.clear.alert .button.disabled,.button-group.clear.alert .button[disabled],.button-group.clear.alert .button.disabled:hover,.button-group.clear.alert .button[disabled]:hover,.button-group.clear.alert .button.disabled:focus,.button-group.clear.alert .button[disabled]:focus,.button-group.clear .button.alert,.button-group.clear .button.alert.disabled,.button-group.clear .button.alert[disabled],.button-group.clear .button.alert.disabled:hover,.button-group.clear .button.alert[disabled]:hover,.button-group.clear .button.alert.disabled:focus,.button-group.clear .button.alert[disabled]:focus{color:#cc4b37}.button-group.clear.alert .button:hover,.button-group.clear.alert .button:focus,.button-group.clear .button.alert:hover,.button-group.clear .button.alert:focus{color:#67251a}.button-group.no-gaps .button{margin-right:-.0625rem}.button-group.no-gaps .button+.button{border-left-color:transparent}.button-group.stacked,.button-group.stacked-for-small,.button-group.stacked-for-medium{flex-wrap:wrap}.button-group.stacked .button,.button-group.stacked-for-small .button,.button-group.stacked-for-medium .button{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{flex:1 1 0px;margin-right:0}@media print, screen and (min-width: 40em){.button-group.stacked-for-small .button{flex:0 0 auto;margin-bottom:0}}@media print, screen and (min-width: 64em){.button-group.stacked-for-medium .button{flex:0 0 auto;margin-bottom:0}}@media print, 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 print, screen and (max-width: 63.99875em){.button-group.stacked-for-medium.expanded{display:block}.button-group.stacked-for-medium.expanded .button{display:block;margin-right:0}}.close-button{position:absolute;z-index:10;color:#8a8a8a;cursor:pointer}[data-whatinput='mouse'] .close-button{outline:0}.close-button:hover,.close-button:focus{color:#0a0a0a}.close-button.small{right:0.66rem;top:0.33em;font-size:1.5em;line-height:1}.close-button.medium,.close-button{right:1rem;top:0.5rem;font-size:2em;line-height:1}.label{display:inline-block;padding:0.33333rem 0.5rem;border-radius:0;font-size:.8rem;line-height:1;white-space:nowrap;cursor:default;background:#1779ba;color:#fefefe}.label.primary{background:#1779ba;color:#fefefe}.label.secondary{background:#767676;color:#fefefe}.label.success{background:#3adb76;color:#0a0a0a}.label.warning{background:#ffae00;color:#0a0a0a}.label.alert{background:#cc4b37;color:#fefefe}.progress{height:1rem;margin-bottom:1rem;border-radius:0;background-color:#cacaca}.progress.primary .progress-meter{background-color:#1779ba}.progress.secondary .progress-meter{background-color:#767676}.progress.success .progress-meter{background-color:#3adb76}.progress.warning .progress-meter{background-color:#ffae00}.progress.alert .progress-meter{background-color:#cc4b37}.progress-meter{position:relative;display:block;width:0%;height:100%;background-color:#1779ba}.progress-meter-text{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);margin:0;font-size:0.75rem;font-weight:bold;color:#fefefe;white-space:nowrap}.slider{position:relative;height:.5rem;margin-top:1.25rem;margin-bottom:2.25rem;background-color:#e6e6e6;cursor:pointer;user-select:none;touch-action:none}.slider-fill{position:absolute;top:0;left:0;display:inline-block;max-width:100%;height:.5rem;background-color:#cacaca;transition:all 0.2s ease-in-out}.slider-fill.is-dragging{transition:all 0s linear}.slider-handle{position:absolute;top:50%;transform:translateY(-50%);left:0;z-index:1;display:inline-block;width:1.4rem;height:1.4rem;border-radius:0;background-color:#1779ba;transition:all 0.2s ease-in-out;touch-action:manipulation}[data-whatinput='mouse'] .slider-handle{outline:0}.slider-handle:hover{background-color:#14679e}.slider-handle.is-dragging{transition:all 0s linear}.slider.disabled,.slider[disabled]{opacity:.25;cursor:not-allowed}.slider.vertical{display:inline-block;width:.5rem;height:12.5rem;margin:0 1.25rem;transform:scale(1, -1)}.slider.vertical .slider-fill{top:0;width:.5rem;max-height:100%}.slider.vertical .slider-handle{position:absolute;top:0;left:50%;width:1.4rem;height:1.4rem;transform:translateX(-50%)}.switch{height:2rem;position:relative;margin-bottom:1rem;outline:0;font-size:.875rem;font-weight:bold;color:#fefefe;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:#cacaca;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;transform:translate3d(0, 0, 0);border-radius:0;background:#fefefe;transition:all 0.25s ease-out;content:''}input:checked ~ .switch-paddle{background:#1779ba}input:checked ~ .switch-paddle::after{left:2.25rem}input:disabled ~ .switch-paddle{cursor:not-allowed;opacity:.5}[data-whatinput='mouse'] input:focus ~ .switch-paddle{outline:0}.switch-active,.switch-inactive{position:absolute;top:50%;transform:translateY(-50%)}.switch-active{left:8%;display:none}input:checked+label>.switch-active{display:block}.switch-inactive{right:15%}input:checked+label>.switch-inactive{display:none}.switch.tiny{height:1.5rem}.switch.tiny .switch-paddle{width:3rem;height:1.5rem;font-size:.625rem}.switch.tiny .switch-paddle::after{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 #f1f1f1;background-color:#fefefe}caption{padding:.5rem .625rem .625rem;font-weight:bold}thead{background:#f8f8f8;color:#0a0a0a}tfoot{background:#f1f1f1;color:#0a0a0a}thead tr,tfoot tr{background:transparent}thead th,thead td,tfoot th,tfoot td{padding:.5rem .625rem .625rem;font-weight:bold;text-align:left}tbody th,tbody td{padding:.5rem .625rem .625rem}tbody tr:nth-child(even){border-bottom:0;background-color:#f1f1f1}table.unstriped tbody{background-color:#fefefe}table.unstriped tbody tr{border-bottom:0;border-bottom:1px solid #f1f1f1;background-color:#fefefe}@media print, screen and (max-width: 63.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:#f3f3f3}table.hover tfoot tr:hover{background-color:#ececec}table.hover tbody tr:hover{background-color:#f9f9f9}table.hover:not(.unstriped) tr:nth-of-type(even):hover{background-color:#ececec}.table-scroll{overflow-x:auto}.badge{display:inline-block;min-width:2.1em;padding:.3em;border-radius:50%;font-size:.6rem;text-align:center;background:#1779ba;color:#fefefe}.badge.primary{background:#1779ba;color:#fefefe}.badge.secondary{background:#767676;color:#fefefe}.badge.success{background:#3adb76;color:#0a0a0a}.badge.warning{background:#ffae00;color:#0a0a0a}.badge.alert{background:#cc4b37;color:#fefefe}.breadcrumbs{margin:0 0 1rem 0;list-style:none}.breadcrumbs::before,.breadcrumbs::after{display:table;content:' ';flex-basis:0;order:1}.breadcrumbs::after{clear:both}.breadcrumbs li{float:left;font-size:.6875rem;color:#0a0a0a;cursor:default;text-transform:uppercase}.breadcrumbs li:not(:last-child)::after{position:relative;margin:0 .75rem;opacity:1;content:"/";color:#cacaca}.breadcrumbs a{color:#1779ba}.breadcrumbs a:hover{text-decoration:underline}.breadcrumbs .disabled{color:#cacaca;cursor:not-allowed}.callout{position:relative;margin:0 0 1rem 0;padding:1rem;border:1px solid rgba(10,10,10,0.25);border-radius:0;background-color:#fff;color:#0a0a0a}.callout>:first-child{margin-top:0}.callout>:last-child{margin-bottom:0}.callout.primary{background-color:#d7ecfa;color:#0a0a0a}.callout.secondary{background-color:#eaeaea;color:#0a0a0a}.callout.success{background-color:#e1faea;color:#0a0a0a}.callout.warning{background-color:#fff3d9;color:#0a0a0a}.callout.alert{background-color:#f7e4e1;color:#0a0a0a}.callout.small{padding-top:.5rem;padding-right:.5rem;padding-bottom:.5rem;padding-left:.5rem}.callout.large{padding-top:3rem;padding-right:3rem;padding-bottom:3rem;padding-left:3rem}.card{display:flex;flex-direction:column;flex-grow:1;margin-bottom:1rem;border:1px solid #e6e6e6;border-radius:0;background:#fefefe;box-shadow:none;overflow:hidden;color:#0a0a0a}.card>:last-child{margin-bottom:0}.card-divider{display:flex;flex:0 1 auto;padding:1rem;background:#e6e6e6}.card-divider>:last-child{margin-bottom:0}.card-section{flex:1 0 auto;padding:1rem}.card-section>:last-child{margin-bottom:0}.card-image{min-height:1px}.dropdown-pane{position:absolute;z-index:10;display:none;width:300px;padding:1rem;visibility:hidden;border:1px solid #cacaca;border-radius:0;background-color:#fefefe;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}.pagination{margin-left:0;margin-bottom:1rem}.pagination::before,.pagination::after{display:table;content:' ';flex-basis:0;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:#0a0a0a}.pagination a:hover,.pagination button:hover{background:#e6e6e6}.pagination .current{padding:.1875rem .625rem;background:#1779ba;color:#fefefe;cursor:default}.pagination .disabled{padding:.1875rem .625rem;color:#cacaca;cursor:not-allowed}.pagination .disabled:hover{background:transparent}.pagination .ellipsis::after{padding:.1875rem .625rem;content:'\2026';color:#0a0a0a}.pagination-previous a::before,.pagination-previous.disabled::before{display:inline-block;margin-right:0.5rem;content:"«"}.pagination-next a::after,.pagination-next.disabled::after{display:inline-block;margin-left:0.5rem;content:"»"}.has-tip{position:relative;display:inline-block;border-bottom:dotted 1px #8a8a8a;font-weight:bold;cursor:help}.tooltip{position:absolute;top:calc(100% + .6495rem);z-index:1200;max-width:10rem;padding:.75rem;border-radius:0;background-color:#0a0a0a;font-size:80%;color:#fefefe}.tooltip::before{position:absolute}.tooltip.bottom::before{display:block;width:0;height:0;border:inset .75rem;content:'';border-top-width:0;border-bottom-style:solid;border-color:transparent transparent #0a0a0a;bottom:100%}.tooltip.bottom.align-center::before{left:50%;transform:translateX(-50%)}.tooltip.top::before{display:block;width:0;height:0;border:inset .75rem;content:'';border-bottom-width:0;border-top-style:solid;border-color:#0a0a0a transparent transparent;top:100%;bottom:auto}.tooltip.top.align-center::before{left:50%;transform:translateX(-50%)}.tooltip.left::before{display:block;width:0;height:0;border:inset .75rem;content:'';border-right-width:0;border-left-style:solid;border-color:transparent transparent transparent #0a0a0a;left:100%}.tooltip.left.align-center::before{bottom:auto;top:50%;transform:translateY(-50%)}.tooltip.right::before{display:block;width:0;height:0;border:inset .75rem;content:'';border-left-width:0;border-right-style:solid;border-color:transparent #0a0a0a transparent transparent;right:100%;left:auto}.tooltip.right.align-center::before{bottom:auto;top:50%;transform:translateY(-50%)}.tooltip.align-top::before{bottom:auto;top:10%}.tooltip.align-bottom::before{bottom:10%;top:auto}.tooltip.align-left::before{left:10%;right:auto}.tooltip.align-right::before{left:auto;right:10%}.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 #e6e6e6;border-bottom:0;font-size:.75rem;line-height:1;color:#1779ba}:last-child:not(.is-active)>.accordion-title{border-bottom:1px solid #e6e6e6;border-radius:0 0 0 0}.accordion-title:hover,.accordion-title:focus{background-color:#e6e6e6}.accordion-title::before{position:absolute;top:50%;right:1rem;margin-top:-0.5rem;content:"+"}.is-active>.accordion-title::before{content:"–"}.accordion-content{display:none;padding:1rem;border:1px solid #e6e6e6;border-bottom:0;background-color:#fefefe;color:#0a0a0a}:last-child>.accordion-content:last-child{border-bottom:1px solid #e6e6e6}.media-object{display:flex;margin-bottom:1rem;flex-wrap:nowrap}.media-object img{max-width:none}@media print, screen and (max-width: 39.99875em){.media-object.stack-for-small{flex-wrap:wrap}}.media-object-section{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 print, screen and (max-width: 39.99875em){.stack-for-small .media-object-section{padding:0;padding-bottom:1rem;flex-basis:100%;max-width:100%}.stack-for-small .media-object-section img{width:100%}}.media-object-section.main-section{flex:1 1 0px}.orbit{position:relative}.orbit-container{position:relative;height:0;margin:0;list-style:none;overflow:hidden}.orbit-slide{width:100%;position:absolute}.orbit-slide.no-motionui.is-active{top:0;left:0}.orbit-figure{margin:0}.orbit-image{width:100%;max-width:100%;margin:0}.orbit-caption{position:absolute;bottom:0;width:100%;margin-bottom:0;padding:1rem;background-color:rgba(10,10,10,0.5);color:#fefefe}.orbit-previous,.orbit-next{position:absolute;top:50%;transform:translateY(-50%);z-index:10;padding:1rem;color:#fefefe}[data-whatinput='mouse'] .orbit-previous,[data-whatinput='mouse'] .orbit-next{outline:0}.orbit-previous:hover,.orbit-next:hover,.orbit-previous:active,.orbit-next:active,.orbit-previous:focus,.orbit-next:focus{background-color:rgba(10,10,10,0.5)}.orbit-previous{left:0}.orbit-next{left:auto;right:0}.orbit-bullets{position:relative;margin-top:.8rem;margin-bottom:.8rem;text-align:center}[data-whatinput='mouse'] .orbit-bullets{outline:0}.orbit-bullets button{width:1.2rem;height:1.2rem;margin:.1rem;border-radius:50%;background-color:#cacaca}.orbit-bullets button:hover{background-color:#8a8a8a}.orbit-bullets button.is-active{background-color:#8a8a8a}.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%}.tabs{margin:0;border:1px solid #e6e6e6;background:#fefefe;list-style-type:none}.tabs::before,.tabs::after{display:table;content:' ';flex-basis:0;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:#1779ba}.tabs.primary>li>a{color:#fefefe}.tabs.primary>li>a:hover,.tabs.primary>li>a:focus{background:#1673b1}.tabs-title{float:left}.tabs-title>a{display:block;padding:1.25rem 1.5rem;font-size:.75rem;line-height:1;color:#1779ba}[data-whatinput='mouse'] .tabs-title>a{outline:0}.tabs-title>a:hover{background:#fefefe;color:#1468a0}.tabs-title>a:focus,.tabs-title>a[aria-selected='true']{background:#e6e6e6;color:#1779ba}.tabs-content{border:1px solid #e6e6e6;border-top:0;background:#fefefe;color:#0a0a0a;transition:all 0.5s ease}.tabs-content.vertical{border:1px solid #e6e6e6;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:4px solid #fefefe;border-radius:0;box-shadow:0 0 0 1px rgba(10,10,10,0.2);line-height:0}a.thumbnail{transition:box-shadow 200ms ease-out}a.thumbnail:hover,a.thumbnail:focus{box-shadow:0 0 6px 1px rgba(23,121,186,0.5)}a.thumbnail image{box-shadow:none}.menu{padding:0;margin:0;list-style:none;position:relative;display:flex;flex-wrap:wrap}[data-whatinput='mouse'] .menu li{outline:0}.menu a,.menu .button{line-height:1;text-decoration:none;display:block;padding:0.7rem 1rem}.menu input,.menu select,.menu a,.menu button{margin-bottom:0}.menu input{display:inline-block}.menu,.menu.horizontal{flex-wrap:wrap;flex-direction:row}.menu.vertical{flex-wrap:nowrap;flex-direction:column}.menu.expanded li{flex:1 1 0px}.menu.simple{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{flex-wrap:wrap;flex-direction:row}.menu.medium-vertical{flex-wrap:nowrap;flex-direction:column}.menu.medium-expanded li{flex:1 1 0px}.menu.medium-simple li{flex:1 1 0px}}@media print, screen and (min-width: 64em){.menu.large-horizontal{flex-wrap:wrap;flex-direction:row}.menu.large-vertical{flex-wrap:nowrap;flex-direction:column}.menu.large-expanded li{flex:1 1 0px}.menu.large-simple li{flex:1 1 0px}}.menu.nested{margin-right:0;margin-left:1rem}.menu.icons a{display:flex}.menu.icon-top a,.menu.icon-right a,.menu.icon-bottom a,.menu.icon-left a{display:flex}.menu.icon-left li a{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{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{flex-flow:column nowrap}.menu.icon-top li a img,.menu.icon-top li a i,.menu.icon-top li a svg{align-self:stretch;margin-bottom:.25rem;text-align:center}.menu.icon-bottom li a{flex-flow:column nowrap}.menu.icon-bottom li a img,.menu.icon-bottom li a i,.menu.icon-bottom li a svg{align-self:stretch;margin-bottom:.25rem;text-align:center}.menu .is-active>a{background:#1779ba;color:#fefefe}.menu .active>a{background:#1779ba;color:#fefefe}.menu.align-left{justify-content:flex-start}.menu.align-right li{display:flex;justify-content:flex-end}.menu.align-right li .submenu li{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:flex;justify-content:center}.menu.align-center li .submenu li{justify-content:flex-start}.menu .menu-text{padding:0.7rem 1rem;font-weight:bold;line-height:1;color:inherit}.menu-centered>.menu{justify-content:center}.menu-centered>.menu li{display:flex;justify-content:center}.menu-centered>.menu li .submenu li{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;box-shadow:0 7px 0 #fefefe,0 14px 0 #fefefe;content:''}.menu-icon:hover::after{background:#cacaca;box-shadow:0 7px 0 #cacaca,0 14px 0 #cacaca}.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:#0a0a0a;box-shadow:0 7px 0 #0a0a0a,0 14px 0 #0a0a0a;content:''}.menu-icon.dark:hover::after{background:#8a8a8a;box-shadow:0 7px 0 #8a8a8a,0 14px 0 #8a8a8a}.accordion-menu li{width:100%}.accordion-menu a{padding:0.7rem 1rem}.accordion-menu .is-accordion-submenu a{padding:0.7rem 1rem}.accordion-menu .nested.is-accordion-submenu{margin-right:0;margin-left:1rem}.accordion-menu.align-right .nested.is-accordion-submenu{margin-right:1rem;margin-left:0}.accordion-menu .is-accordion-submenu-parent:not(.has-submenu-toggle)>a{position:relative}.accordion-menu .is-accordion-submenu-parent:not(.has-submenu-toggle)>a::after{display:block;width:0;height:0;border:inset 6px;content:'';border-bottom-width:0;border-top-style:solid;border-color:#1779ba transparent transparent;position:absolute;top:50%;margin-top:-3px;right:1rem}.accordion-menu.align-left .is-accordion-submenu-parent>a::after{right:1rem;left:auto}.accordion-menu.align-right .is-accordion-submenu-parent>a::after{right:auto;left:1rem}.accordion-menu .is-accordion-submenu-parent[aria-expanded='true']>a::after{transform:rotate(180deg);transform-origin:50% 50%}.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:#1779ba transparent transparent;top:0;bottom:0;margin:auto}.submenu-toggle[aria-expanded='true']::after{transform:scaleY(-1);transform-origin:50% 50%}.submenu-toggle-text{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border:0 !important}.is-drilldown{position:relative;overflow:hidden}.is-drilldown li{display:block}.is-drilldown.animate-height{transition:height 0.5s}.drilldown a{padding:0.7rem 1rem;background:#fefefe}.drilldown .is-drilldown-submenu{position:absolute;top:0;left:100%;z-index:-1;width:100%;background:#fefefe;transition:transform 0.15s linear}.drilldown .is-drilldown-submenu.is-active{z-index:1;display:block;transform:translateX(-100%)}.drilldown .is-drilldown-submenu.is-closing{transform:translateX(100%)}.drilldown .is-drilldown-submenu a{padding:0.7rem 1rem}.drilldown .nested.is-drilldown-submenu{margin-right:0;margin-left:0}.drilldown .drilldown-submenu-cover-previous{min-height:100%}.drilldown .is-drilldown-submenu-parent>a{position:relative}.drilldown .is-drilldown-submenu-parent>a::after{display:block;width:0;height:0;border:inset 6px;content:'';border-right-width:0;border-left-style:solid;border-color:transparent transparent transparent #1779ba;position:absolute;top:50%;margin-top:-6px;right:1rem}.drilldown.align-left .is-drilldown-submenu-parent>a::after{display:block;width:0;height:0;border:inset 6px;content:'';border-right-width:0;border-left-style:solid;border-color:transparent transparent transparent #1779ba;right:1rem;left:auto}.drilldown.align-right .is-drilldown-submenu-parent>a::after{display:block;width:0;height:0;border:inset 6px;content:'';border-left-width:0;border-right-style:solid;border-color:transparent #1779ba transparent transparent;right:auto;left:1rem}.drilldown .js-drilldown-back>a::before{display:block;width:0;height:0;border:inset 6px;content:'';border-left-width:0;border-right-style:solid;border-color:transparent #1779ba transparent transparent;display:inline-block;vertical-align:middle;margin-right:0.75rem}.dropdown.menu>li.opens-left>.is-dropdown-submenu{top:100%;right:0;left:auto}.dropdown.menu>li.opens-right>.is-dropdown-submenu{top:100%;right:auto;left:0}.dropdown.menu>li.is-dropdown-submenu-parent>a{position:relative;padding-right:1.5rem}.dropdown.menu>li.is-dropdown-submenu-parent>a::after{display:block;width:0;height:0;border:inset 6px;content:'';border-bottom-width:0;border-top-style:solid;border-color:#1779ba transparent transparent;right:5px;left:auto;margin-top:-3px}[data-whatinput='mouse'] .dropdown.menu a{outline:0}.dropdown.menu>li>a{padding:0.7rem 1rem}.dropdown.menu>li.is-active>a{background:rgba(0,0,0,0);color:#1779ba}.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%}.dropdown.menu.vertical>li>a::after{right:14px}.dropdown.menu.vertical>li.opens-left>a::after{display:block;width:0;height:0;border:inset 6px;content:'';border-left-width:0;border-right-style:solid;border-color:transparent #1779ba transparent transparent;right:auto;left:5px}.dropdown.menu.vertical>li.opens-right>a::after{display:block;width:0;height:0;border:inset 6px;content:'';border-right-width:0;border-left-style:solid;border-color:transparent transparent transparent #1779ba}@media print, screen and (min-width: 40em){.dropdown.menu.medium-horizontal>li.opens-left>.is-dropdown-submenu{top:100%;right:0;left:auto}.dropdown.menu.medium-horizontal>li.opens-right>.is-dropdown-submenu{top:100%;right:auto;left:0}.dropdown.menu.medium-horizontal>li.is-dropdown-submenu-parent>a{position:relative;padding-right:1.5rem}.dropdown.menu.medium-horizontal>li.is-dropdown-submenu-parent>a::after{display:block;width:0;height:0;border:inset 6px;content:'';border-bottom-width:0;border-top-style:solid;border-color:#1779ba transparent transparent;right:5px;left:auto;margin-top:-3px}.dropdown.menu.medium-vertical>li .is-dropdown-submenu{top:0}.dropdown.menu.medium-vertical>li.opens-left>.is-dropdown-submenu{top:0;right:100%;left:auto}.dropdown.menu.medium-vertical>li.opens-right>.is-dropdown-submenu{right:auto;left:100%}.dropdown.menu.medium-vertical>li>a::after{right:14px}.dropdown.menu.medium-vertical>li.opens-left>a::after{display:block;width:0;height:0;border:inset 6px;content:'';border-left-width:0;border-right-style:solid;border-color:transparent #1779ba transparent transparent;right:auto;left:5px}.dropdown.menu.medium-vertical>li.opens-right>a::after{display:block;width:0;height:0;border:inset 6px;content:'';border-right-width:0;border-left-style:solid;border-color:transparent transparent transparent #1779ba}}@media print, screen and (min-width: 64em){.dropdown.menu.large-horizontal>li.opens-left>.is-dropdown-submenu{top:100%;right:0;left:auto}.dropdown.menu.large-horizontal>li.opens-right>.is-dropdown-submenu{top:100%;right:auto;left:0}.dropdown.menu.large-horizontal>li.is-dropdown-submenu-parent>a{position:relative;padding-right:1.5rem}.dropdown.menu.large-horizontal>li.is-dropdown-submenu-parent>a::after{display:block;width:0;height:0;border:inset 6px;content:'';border-bottom-width:0;border-top-style:solid;border-color:#1779ba transparent transparent;right:5px;left:auto;margin-top:-3px}.dropdown.menu.large-vertical>li .is-dropdown-submenu{top:0}.dropdown.menu.large-vertical>li.opens-left>.is-dropdown-submenu{top:0;right:100%;left:auto}.dropdown.menu.large-vertical>li.opens-right>.is-dropdown-submenu{right:auto;left:100%}.dropdown.menu.large-vertical>li>a::after{right:14px}.dropdown.menu.large-vertical>li.opens-left>a::after{display:block;width:0;height:0;border:inset 6px;content:'';border-left-width:0;border-right-style:solid;border-color:transparent #1779ba transparent transparent;right:auto;left:5px}.dropdown.menu.large-vertical>li.opens-right>a::after{display:block;width:0;height:0;border:inset 6px;content:'';border-right-width:0;border-left-style:solid;border-color:transparent transparent transparent #1779ba}}.dropdown.menu.align-right .is-dropdown-submenu.first-sub{top:100%;right:0;left:auto}.is-dropdown-menu.vertical{width:100px}.is-dropdown-menu.vertical.align-right{float:right}.is-dropdown-submenu-parent{position:relative}.is-dropdown-submenu-parent a::after{position:absolute;top:50%;right:5px;left:auto;margin-top:-6px}.is-dropdown-submenu-parent.opens-inner>.is-dropdown-submenu{top:100%;left:auto}.is-dropdown-submenu-parent.opens-left>.is-dropdown-submenu{right:100%;left:auto}.is-dropdown-submenu-parent.opens-right>.is-dropdown-submenu{right:auto;left:100%}.is-dropdown-submenu{position:absolute;top:0;left:100%;z-index:1;display:none;min-width:200px;border:1px solid #cacaca;background:#fefefe}.dropdown .is-dropdown-submenu a{padding:0.7rem 1rem}.is-dropdown-submenu .is-dropdown-submenu-parent>a::after{right:14px}.is-dropdown-submenu .is-dropdown-submenu-parent.opens-left>a::after{display:block;width:0;height:0;border:inset 6px;content:'';border-left-width:0;border-right-style:solid;border-color:transparent #1779ba transparent transparent;right:auto;left:5px}.is-dropdown-submenu .is-dropdown-submenu-parent.opens-right>a::after{display:block;width:0;height:0;border:inset 6px;content:'';border-right-width:0;border-left-style:solid;border-color:transparent transparent transparent #1779ba}.is-dropdown-submenu .is-dropdown-submenu{margin-top:-1px}.is-dropdown-submenu>li{width:100%}.is-dropdown-submenu.js-dropdown-active{display:block}.is-off-canvas-open{overflow:hidden}.js-off-canvas-overlay{position:absolute;top:0;left:0;z-index:11;width:100%;height:100%;transition:opacity .5s ease,visibility .5s ease;background:rgba(254,254,254,0.25);opacity:0;visibility:hidden;overflow:hidden}.js-off-canvas-overlay.is-visible{opacity:1;visibility:visible}.js-off-canvas-overlay.is-closable{cursor:pointer}.js-off-canvas-overlay.is-overlay-absolute{position:absolute}.js-off-canvas-overlay.is-overlay-fixed{position:fixed}.off-canvas-wrapper{position:relative;overflow:hidden}.off-canvas{position:fixed;z-index:12;transition:transform .5s ease;backface-visibility:hidden;background:#e6e6e6}[data-whatinput='mouse'] .off-canvas{outline:0}.off-canvas.is-transition-push{z-index:12}.off-canvas.is-closed{visibility:hidden}.off-canvas.is-transition-overlap{z-index:13}.off-canvas.is-transition-overlap.is-open{box-shadow:0 0 10px rgba(10,10,10,0.7)}.off-canvas.is-open{transform:translate(0, 0)}.off-canvas-absolute{position:absolute;z-index:12;transition:transform .5s ease;backface-visibility:hidden;background:#e6e6e6}[data-whatinput='mouse'] .off-canvas-absolute{outline:0}.off-canvas-absolute.is-transition-push{z-index:12}.off-canvas-absolute.is-closed{visibility:hidden}.off-canvas-absolute.is-transition-overlap{z-index:13}.off-canvas-absolute.is-transition-overlap.is-open{box-shadow:0 0 10px rgba(10,10,10,0.7)}.off-canvas-absolute.is-open{transform:translate(0, 0)}.position-left{top:0;left:0;height:100%;overflow-y:auto;width:250px;transform:translateX(-250px)}.off-canvas-content .off-canvas.position-left{transform:translateX(-250px)}.off-canvas-content .off-canvas.position-left.is-transition-overlap.is-open{transform:translate(0, 0)}.off-canvas-content.is-open-left.has-transition-push{transform:translateX(250px)}.position-left.is-transition-push{box-shadow:inset -13px 0 20px -13px rgba(10,10,10,0.25)}.position-right{top:0;right:0;height:100%;overflow-y:auto;width:250px;transform:translateX(250px)}.off-canvas-content .off-canvas.position-right{transform:translateX(250px)}.off-canvas-content .off-canvas.position-right.is-transition-overlap.is-open{transform:translate(0, 0)}.off-canvas-content.is-open-right.has-transition-push{transform:translateX(-250px)}.position-right.is-transition-push{box-shadow:inset 13px 0 20px -13px rgba(10,10,10,0.25)}.position-top{top:0;left:0;width:100%;overflow-x:auto;height:250px;transform:translateY(-250px)}.off-canvas-content .off-canvas.position-top{transform:translateY(-250px)}.off-canvas-content .off-canvas.position-top.is-transition-overlap.is-open{transform:translate(0, 0)}.off-canvas-content.is-open-top.has-transition-push{transform:translateY(250px)}.position-top.is-transition-push{box-shadow:inset 0 -13px 20px -13px rgba(10,10,10,0.25)}.position-bottom{bottom:0;left:0;width:100%;overflow-x:auto;height:250px;transform:translateY(250px)}.off-canvas-content .off-canvas.position-bottom{transform:translateY(250px)}.off-canvas-content .off-canvas.position-bottom.is-transition-overlap.is-open{transform:translate(0, 0)}.off-canvas-content.is-open-bottom.has-transition-push{transform:translateY(-250px)}.position-bottom.is-transition-push{box-shadow:inset 0 13px 20px -13px rgba(10,10,10,0.25)}.off-canvas-content{transform:none;backface-visibility:hidden}.off-canvas-content.has-transition-overlap,.off-canvas-content.has-transition-push{transition:transform .5s ease}.off-canvas-content.has-transition-push{transform:translate(0, 0)}.off-canvas-content .off-canvas.is-open{transform:translate(0, 0)}@media print, screen and (min-width: 40em){.position-left.reveal-for-medium{transform:none;z-index:12;transition:none;visibility:visible}.position-left.reveal-for-medium .close-button{display:none}.off-canvas-content .position-left.reveal-for-medium{transform:none}.off-canvas-content.has-reveal-left{margin-left:250px}.position-left.reveal-for-medium ~ .off-canvas-content{margin-left:250px}.position-right.reveal-for-medium{transform:none;z-index:12;transition:none;visibility:visible}.position-right.reveal-for-medium .close-button{display:none}.off-canvas-content .position-right.reveal-for-medium{transform:none}.off-canvas-content.has-reveal-right{margin-right:250px}.position-right.reveal-for-medium ~ .off-canvas-content{margin-right:250px}.position-top.reveal-for-medium{transform:none;z-index:12;transition:none;visibility:visible}.position-top.reveal-for-medium .close-button{display:none}.off-canvas-content .position-top.reveal-for-medium{transform:none}.off-canvas-content.has-reveal-top{margin-top:250px}.position-top.reveal-for-medium ~ .off-canvas-content{margin-top:250px}.position-bottom.reveal-for-medium{transform:none;z-index:12;transition:none;visibility:visible}.position-bottom.reveal-for-medium .close-button{display:none}.off-canvas-content .position-bottom.reveal-for-medium{transform:none}.off-canvas-content.has-reveal-bottom{margin-bottom:250px}.position-bottom.reveal-for-medium ~ .off-canvas-content{margin-bottom:250px}}@media print, screen and (min-width: 64em){.position-left.reveal-for-large{transform:none;z-index:12;transition:none;visibility:visible}.position-left.reveal-for-large .close-button{display:none}.off-canvas-content .position-left.reveal-for-large{transform:none}.off-canvas-content.has-reveal-left{margin-left:250px}.position-left.reveal-for-large ~ .off-canvas-content{margin-left:250px}.position-right.reveal-for-large{transform:none;z-index:12;transition:none;visibility:visible}.position-right.reveal-for-large .close-button{display:none}.off-canvas-content .position-right.reveal-for-large{transform:none}.off-canvas-content.has-reveal-right{margin-right:250px}.position-right.reveal-for-large ~ .off-canvas-content{margin-right:250px}.position-top.reveal-for-large{transform:none;z-index:12;transition:none;visibility:visible}.position-top.reveal-for-large .close-button{display:none}.off-canvas-content .position-top.reveal-for-large{transform:none}.off-canvas-content.has-reveal-top{margin-top:250px}.position-top.reveal-for-large ~ .off-canvas-content{margin-top:250px}.position-bottom.reveal-for-large{transform:none;z-index:12;transition:none;visibility:visible}.position-bottom.reveal-for-large .close-button{display:none}.off-canvas-content .position-bottom.reveal-for-large{transform:none}.off-canvas-content.has-reveal-bottom{margin-bottom:250px}.position-bottom.reveal-for-large ~ .off-canvas-content{margin-bottom:250px}}@media print, screen and (min-width: 40em){.off-canvas.in-canvas-for-medium{visibility:visible;height:auto;position:static;background:none;width:auto;overflow:visible;transition:none}.off-canvas.in-canvas-for-medium.position-left,.off-canvas.in-canvas-for-medium.position-right,.off-canvas.in-canvas-for-medium.position-top,.off-canvas.in-canvas-for-medium.position-bottom{box-shadow:none;transform:none}.off-canvas.in-canvas-for-medium .close-button{display:none}}@media print, screen and (min-width: 64em){.off-canvas.in-canvas-for-large{visibility:visible;height:auto;position:static;background:none;width:auto;overflow:visible;transition:none}.off-canvas.in-canvas-for-large.position-left,.off-canvas.in-canvas-for-large.position-right,.off-canvas.in-canvas-for-large.position-top,.off-canvas.in-canvas-for-large.position-bottom{box-shadow:none;transform:none}.off-canvas.in-canvas-for-large .close-button{display:none}}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(10,10,10,0.45);overflow-y:auto}.reveal{z-index:1006;backface-visibility:hidden;display:none;padding:1rem;border:1px solid #cacaca;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:75rem}}.reveal.collapse{padding:0}@media print, screen and (min-width: 40em){.reveal.tiny{width:30%;max-width:75rem}}@media print, screen and (min-width: 40em){.reveal.small{width:50%;max-width:75rem}}@media print, screen and (min-width: 40em){.reveal.large{width:90%;max-width:75rem}}.reveal.full{top:0;right:0;bottom:0;left:0;width:100%;max-width:none;height:100%;min-height:100%;margin-left:0;border:0;border-radius:0}@media print, screen and (max-width: 39.99875em){.reveal{top:0;right:0;bottom:0;left:0;width:100%;max-width:none;height:100%;min-height:100%;margin-left:0;border:0;border-radius:0}}.reveal.without-overlay{position:fixed}.sticky-container{position:relative}.sticky{position:relative;z-index: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}.title-bar{padding:.5rem;background:#0a0a0a;color:#fefefe;display:flex;justify-content:flex-start;align-items:center}.title-bar .menu-icon{margin-left:.25rem;margin-right:.25rem}.title-bar-left,.title-bar-right{flex:1 1 0px}.title-bar-right{text-align:right}.title-bar-title{display:inline-block;vertical-align:middle;font-weight:bold}.top-bar{display:flex;flex-wrap:nowrap;justify-content:space-between;align-items:center;padding:.5rem;flex-wrap:wrap}.top-bar,.top-bar ul{background-color:#e6e6e6}.top-bar input{max-width:200px;margin-right:1rem}.top-bar .input-group-field{width:100%;margin-right:0}.top-bar input.button{width:auto}.top-bar .top-bar-left,.top-bar .top-bar-right{flex:0 0 100%;max-width:100%}@media print, screen and (min-width: 40em){.top-bar{flex-wrap:nowrap}.top-bar .top-bar-left{flex:1 1 auto;margin-right:auto}.top-bar .top-bar-right{flex:0 1 auto;margin-left:auto}}@media print, screen and (max-width: 63.99875em){.top-bar.stacked-for-medium{flex-wrap:wrap}.top-bar.stacked-for-medium .top-bar-left,.top-bar.stacked-for-medium .top-bar-right{flex:0 0 100%;max-width:100%}}@media print, screen and (max-width: 74.99875em){.top-bar.stacked-for-large{flex-wrap:wrap}.top-bar.stacked-for-large .top-bar-left,.top-bar.stacked-for-large .top-bar-right{flex:0 0 100%;max-width:100%}}.top-bar-title{flex:0 0 auto;margin:0.5rem 1rem 0.5rem 0}.top-bar-left,.top-bar-right{flex:0 0 auto}.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:' ';flex-basis:0;order:1}.clearfix::after{clear:both}.align-left{justify-content:flex-start}.align-right{justify-content:flex-end}.align-center{justify-content:center}.align-justify{justify-content:space-between}.align-spaced{justify-content:space-around}.align-left.vertical.menu>li>a{justify-content:flex-start}.align-right.vertical.menu>li>a{justify-content:flex-end}.align-center.vertical.menu>li>a{justify-content:center}.align-top{align-items:flex-start}.align-self-top{align-self:flex-start}.align-bottom{align-items:flex-end}.align-self-bottom{align-self:flex-end}.align-middle{align-items:center}.align-self-middle{align-self:center}.align-stretch{align-items:stretch}.align-self-stretch{align-self:stretch}.align-center-middle{justify-content:center;align-items:center;align-content:center}.small-order-1{order:1}.small-order-2{order:2}.small-order-3{order:3}.small-order-4{order:4}.small-order-5{order:5}.small-order-6{order:6}@media print, screen and (min-width: 40em){.medium-order-1{order:1}.medium-order-2{order:2}.medium-order-3{order:3}.medium-order-4{order:4}.medium-order-5{order:5}.medium-order-6{order:6}}@media print, screen and (min-width: 64em){.large-order-1{order:1}.large-order-2{order:2}.large-order-3{order:3}.large-order-4{order:4}.large-order-5{order:5}.large-order-6{order:6}}.flex-container{display:flex}.flex-child-auto{flex:1 1 auto}.flex-child-grow{flex:1 0 auto}.flex-child-shrink{flex:0 1 auto}.flex-dir-row{flex-direction:row}.flex-dir-row-reverse{flex-direction:row-reverse}.flex-dir-column{flex-direction:column}.flex-dir-column-reverse{flex-direction:column-reverse}@media print, screen and (min-width: 40em){.medium-flex-container{display:flex}.medium-flex-child-auto{flex:1 1 auto}.medium-flex-child-grow{flex:1 0 auto}.medium-flex-child-shrink{flex:0 1 auto}.medium-flex-dir-row{flex-direction:row}.medium-flex-dir-row-reverse{flex-direction:row-reverse}.medium-flex-dir-column{flex-direction:column}.medium-flex-dir-column-reverse{flex-direction:column-reverse}}@media print, screen and (min-width: 64em){.large-flex-container{display:flex}.large-flex-child-auto{flex:1 1 auto}.large-flex-child-grow{flex:1 0 auto}.large-flex-child-shrink{flex:0 1 auto}.large-flex-dir-row{flex-direction:row}.large-flex-dir-row-reverse{flex-direction:row-reverse}.large-flex-dir-column{flex-direction:column}.large-flex-dir-column-reverse{flex-direction:column-reverse}}.hide{display:none !important}.invisible{visibility:hidden}@media print, 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 print, screen and (min-width: 40em) and (max-width: 63.99875em){.hide-for-medium-only{display:none !important}}@media screen and (max-width: 39.99875em), screen and (min-width: 64em){.show-for-medium-only{display:none !important}}@media print, screen and (min-width: 64em){.hide-for-large{display:none !important}}@media screen and (max-width: 63.99875em){.show-for-large{display:none !important}}@media print, screen and (min-width: 64em) and (max-width: 74.99875em){.hide-for-large-only{display:none !important}}@media screen and (max-width: 63.99875em), screen and (min-width: 75em){.show-for-large-only{display:none !important}}.show-for-sr,.show-on-focus{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border:0 !important}.show-on-focus:active,.show-on-focus:focus{position:static !important;width:auto !important;height:auto !important;overflow:visible !important;clip:auto !important;white-space:normal !important}.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}}html{font-size:100%}body{font-family:"Trade Gothic Next W01", "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;font-weight:normal;font-size:100%;line-height:1.5;color:#0a0a0a;background:#fefefe;-webkit-font-smoothing:antialiased}a[href*="//"]:after{display:inline-block;text-rendering:auto;line-height:inherit;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;padding-left:4px}.grid-container{max-width:75rem}h1,.primary-content-area h2,body.cke_editable h2,.primary-content-area h3,body.cke_editable h3,.primary-content-area h4,body.cke_editable h4,.primary-content-area h5,body.cke_editable h5,.primary-content-area h6,body.cke_editable h6,h2,h3,h4,h5,h6{font-family:"Trade Gothic Next W01","Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-weight:normal;font-style:normal;color:#666666;margin-top:0;margin-bottom:0.75rem;line-height:1.4}h1,.primary-content-area h2,body.cke_editable h2,.primary-content-area h3,body.cke_editable h3,.primary-content-area h4,body.cke_editable h4,.primary-content-area h5,body.cke_editable h5,.primary-content-area h6,body.cke_editable h6,h2{margin-bottom:2rem;font-weight:300}table thead tr th{border-right:1px solid #fefefe}table thead tr th:last-child{border-right:0}table tbody tr th{background-color:#4DADF7;color:#fefefe;border-top:1px solid #fefefe;border-bottom:1px solid #fefefe;border-right:1px solid #CDD3D9}table tbody tr td{border:1px solid #CDD3D9}table tbody tr:last-child th{border-bottom:0}table tbody tr:last-child td{border-bottom:0}.ucr-custom-block{margin-bottom:1.5rem !important}.color_field_widget_box__square{border:1px solid #666666}.separator-line-before:before{background:#3AA4DC;content:" ";display:block;height:3px;width:5rem;margin-bottom:.375rem;margin-top:1em}.separator-line-after:after{background:#3AA4DC;content:" ";display:block;height:3px;width:5rem;margin-bottom:1em;margin-top:.375rem}.separator-line-maroon-before:before{background:#D6336C;content:" ";display:block;height:3px;width:5rem;margin-bottom:.375rem;margin-top:1em}.separator-line-maroon-after:after{background:#D6336C;content:" ";display:block;height:3px;width:5rem;margin-bottom:1em;margin-top:.375rem}.separator-line-dark-before:before{background:#234674;content:" ";display:block;height:3px;width:5rem;margin-bottom:.375rem;margin-top:1em}.separator-line-dark-after:after{background:#234674;content:" ";display:block;height:3px;width:5rem;margin-bottom:1em;margin-top:.375rem}.btn-ucr,.btn-ucr-alt,.btn-ucr-split{display:inline-block;text-decoration:none !important;padding:0.5rem 2rem;text-transform:uppercase;background-color:#4DADF7;color:#fefefe !important;font-weight:bold;cursor:pointer}.btn-ucr:hover,.btn-ucr-alt:hover,.btn-ucr-split:hover{background-color:#0a7cd4}.btn-ucr-alt{background-color:#D6336C}.btn-ucr-alt:hover{background-color:#881b41}.btn-ucr-split{position:relative;background-color:#fefefe;color:#4DADF7 !important;border:2px solid #0a7cd4}.btn-ucr-split:after{display:inline-block;font:normal normal normal 24px/1 "Material Design Icons";font-size:1.5rem !important;text-rendering:auto;line-height:inherit;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"\F142" !important;position:absolute;top:-2px;left:100%;padding:0.1rem 0.4rem;border:2px solid #0a7cd4}.btn-ucr-split:hover{background-color:#4DADF7;color:#fefefe !important}.btn-ucr-split:hover:after{background-color:#4DADF7}a.btn-ucr-split:after{font-size:1.5rem !important;content:"\F142" !important}.list-arrow{list-style:none}.list-arrow li:before{display:inline-block;font:normal normal normal 24px/1 "Material Design Icons";font-size:inherit;text-rendering:auto;line-height:inherit;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"\F733";padding-right:.25em}.list-arrow li ul{list-style-type:none}.list-arrow li ul li:before{color:#868686}.list-arrow li ul li ul li:before{color:#adadad}.list-arrow-alt{list-style:none}.list-arrow-alt li:before{display:inline-block;font:normal normal normal 24px/1 "Material Design Icons";font-size:inherit;text-rendering:auto;line-height:inherit;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"\F142";padding-right:.25em}.list-arrow-alt li ul{list-style-type:none}.list-arrow-alt li ul li:before{color:#868686}.list-arrow-alt li ul li ul li:before{color:#adadad}.audience-container{max-height:45px;background-color:#003DA5;border-bottom:1px solid #b0bec5;position:relative;line-height:normal}.audience-container .mobile-menu-expander{font-size:2rem;height:100%;padding:0 7px;margin:0}@media screen and (min-width: 60em){.audience-container{background-color:transparent;border-bottom:1px solid #b0bec5;padding:inherit}}.audience-container .parent-org-title{text-transform:uppercase;font-family:"Fira Sans Medium", sans-serif;font-size:1rem;font-weight:400;letter-spacing:-0.01px;line-height:1;display:inline-block;max-width:100%;padding:8px 0;margin:0}.audience-container .parent-org-title a{color:#fefefe}.audience-container .parent-org-title a::after{content:"";padding-left:0}@media screen and (min-width: 60em){.audience-container .parent-org-title{font-size:1rem;font-weight:inherit;padding:0}.audience-container .parent-org-title a{color:#78909c;letter-spacing:0}.audience-container .parent-org-title a:hover{border-bottom:1px dotted}}.audience-container .google-search{display:none;border-left:1px solid #b0bec5;height:100%;overflow:hidden}@media print, screen and (min-width: 60em){.audience-container .google-search{display:block}}.audience-container .google-search input{margin:0;padding:0 0 0 16px;border-radius:0;border:none;box-shadow:none;background-color:transparent;min-width:195px;max-width:100%;background:url("https://assets.ucr.edu/localist/images/google-search-top.png") no-repeat;background-position:50% 50%}.audience-container .google-search input:focus{outline:none;border:none;box-shadow:none;background:none}.audience-container .google-search input::placeholder{opacity:1;position:relative;border:none;box-shadow:none;margin-bottom:0}@-moz-document url-prefix(){.audience-container .google-search input::placeholder{left:-14px}}.audience-container .google-search input:focus::placeholder{background-image:none}.audience-container .audience-links .audience-button a{font-weight:600;font-size:0.685rem;letter-spacing:0.0375rem;font-family:"Avenir Next W01", "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;text-transform:uppercase;color:#4AADE3}.audience-container .audience-links .audience-button>a{padding:15px 30px 13px 0 !important}.audience-container .audience-links .audience-button>a::after{right:12px !important;padding-right:0;content:"" !important;border-color:#4AADE3 transparent transparent !important}.audience-container .audience-links .audience-button ul{background-color:#e6e6e6;border:1px solid #ccc;border-radius:2px;border-bottom:none;font-size:1rem;box-shadow:1px 1px 4px #999}.audience-container .audience-links .audience-button ul li{border-bottom:1px solid #ccc}.audience-container .audience-links .audience-button ul a{padding:14px 7px !important;color:#2d6bbe}.audience-container .audience-links .audience-button ul a::after{position:relative !important;top:0 !important;right:0 !important;margin-top:0 !important}.audience-container .audience-links .audience-button ul a:hover{background-color:#d9d9d9;color:#dc5052}.masthead-container{margin:11px 0 10px 0}.masthead-container .masthead-logo{position:relative;display:inline-block;overflow:hidden;text-align:right !important;width:78px;height:57px;background:url("https://assets.ucr.edu/localist/images/UCR-monogram-over-white-bg.svg") no-repeat}@media screen and (min-width: 60em){.masthead-container .masthead-logo{position:relative;display:inline-block;overflow:hidden;text-align:left !important;width:203px;height:57px;background:url("https://assets.ucr.edu/localist/images/ucr-horizontal-logo-std.svg") no-repeat}}.masthead-container .masthead-title{display:inline-block;vertical-align:top;position:relative;font-family:"Fira Sans Medium","Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;font-size:0.875rem;font-weight:500;line-height:1.08;padding-left:7px;margin-bottom:0;left:-20px}@media screen and (min-width: 60em){.masthead-container .masthead-title{font-size:1.2rem;padding-left:12px;margin-bottom:7px;left:-20px}}.masthead-container .masthead-title a{color:#003DA5}.masthead-container .masthead-title a:hover{color:#003DA5}.masthead-container .slogan{position:relative;max-width:21.25rem;text-align:right;color:#98a4b5;font-family:"Fira Sans Regular", sans-serif;font-size:1.2rem;line-height:1.08;font-weight:400;letter-spacing:1.65px;text-transform:uppercase;padding:0;margin:0}.main-nav-bar{font-family:"Avenir Next W01", "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;font-size:0.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:0.0625rem;position:relative;background-color:#97afc9;box-shadow:0 2px 3px #666}.main-nav-bar .accordion-menu{border:1px 0 solid #b0bec5;margin:0 -10px}.main-nav-bar .accordion-menu li{border-top:1px solid #b0bec5;position:relative}.main-nav-bar .accordion-menu li .is-accordion-submenu-item:first-child{border-top:1px solid #b0bec5}.main-nav-bar .accordion-menu li a{color:#234674}.main-nav-bar .accordion-menu li a:hover,.main-nav-bar .accordion-menu li a:active{background-color:#4b5764;color:#fefefe}.main-nav-bar .accordion-menu .is-accordion-submenu-parent:not(.has-submenu-toggle)>a::after{display:block;width:0;height:0;border:inset 6px;content:'';border-bottom-width:0;border-top-style:solid;border-color:#234674 transparent transparent}.main-nav-bar .accordion-menu .is-accordion-submenu-parent:not(.has-submenu-toggle)>a:hover::after{display:block;width:0;height:0;border:inset 6px;content:'';border-bottom-width:0;border-top-style:solid;border-color:#fefefe transparent transparent}.main-nav-bar .accordion-menu .is-accordion-submenu-parent:not(.has-submenu-toggle)>a:active::after{display:block;width:0;height:0;border:inset 6px;content:'';border-bottom-width:0;border-top-style:solid;border-color:#fefefe transparent transparent}.main-nav-bar .accordion-menu .is-accordion-submenu-parent[aria-expanded='true']>a:hover::after,.main-nav-bar .accordion-menu .is-accordion-submenu-parent[aria-expanded='true']>a:active::after{border-color:#fefefe transparent}.main-nav-bar .google-search{text-align:center}.main-nav-bar .google-search #audience-search{width:60%;display:inline-block;margin:7px;padding:0;vertical-align:middle;background:url("http://srtest2.dev-ucr.acsitefactory.com/sites/g/files/rcwecm5451dev/files/google-search-top.png") no-repeat;background-color:#fefefe;background-position:50% 50%}.main-nav-bar .google-search #audience-search:focus{outline:none;border:none;box-shadow:none;background:#fefefe}.main-nav-bar .google-search #audience-search::placeholder{opacity:1;position:relative;border:none;box-shadow:none;margin-bottom:0}@-moz-document url-prefix(){.main-nav-bar .google-search #audience-search::placeholder{left:-14px}}.main-nav-bar .google-search #audience-search:focus::placeholder{background-image:none}.main-nav-bar .google-search button{margin:0}.main-nav-bar #audience-links-mobile-view a{background-color:#fefefe;color:#4aade3}.main-nav-bar #audience-links-mobile-view a:hover,.main-nav-bar #audience-links-mobile-view a:active{background-color:#7a7a7a}.main-nav-bar #audience-links-mobile-view .audience-button>a{color:#454545}.main-nav-bar #audience-links-mobile-view .is-accordion-submenu-parent:not(.has-submenu-toggle)>a::after{display:block;width:0;height:0;border:inset 6px;content:'';border-bottom-width:0;border-top-style:solid;border-color:#454545 transparent transparent}.main-nav-bar #audience-links-mobile-view .is-accordion-submenu-parent:not(.has-submenu-toggle)>a:hover::after{display:block;width:0;height:0;border:inset 6px;content:'';border-bottom-width:0;border-top-style:solid;border-color:#454545 transparent transparent}.main-nav-bar #audience-links-mobile-view .is-accordion-submenu-parent:not(.has-submenu-toggle)>a:active::after{display:block;width:0;height:0;border:inset 6px;content:'';border-bottom-width:0;border-top-style:solid;border-color:#454545 transparent transparent}.main-nav-bar #audience-links-mobile-view .is-accordion-submenu-parent[aria-expanded='true']>a:hover::after,.main-nav-bar #audience-links-mobile-view .is-accordion-submenu-parent[aria-expanded='true']>a:active::after{border-color:#454545 transparent}@media screen and (min-width: 60em){.main-nav-bar{background-color:#234674}.main-nav-bar #main-menu{background-color:#234674}.main-nav-bar .dropdown li{box-shadow:inset 0 0.9375rem 0 0 #234674,inset 0px -0.9375rem 0 0 #234674,inset 1px 0 0 0 #fefefe;margin-left:1px;padding-left:1px}.main-nav-bar .dropdown li:first-child{box-shadow:none;margin-left:0;padding-left:0}.main-nav-bar .dropdown a{padding:1.05rem 1rem;color:#fefefe}.main-nav-bar .dropdown a::after{right:11px !important;border-color:#fefefe transparent transparent !important}.main-nav-bar .dropdown a:hover{background-color:#1e3c63;color:#4fb1e6}.main-nav-bar .dropdown .is-dropdown-submenu-parent a{padding-right:2rem !important}.main-nav-bar .dropdown .is-active>a{background-color:#1e3c63;color:#4fb1e6}.main-nav-bar .dropdown .is-active>a::after{right:11px !important;border-color:#4fb1e6 transparent transparent !important}.main-nav-bar .dropdown .is-dropdown-submenu{background-color:#8295a9;border:1px solid #9ba6b2;box-shadow:2px 2px 4px #666}.main-nav-bar .dropdown .is-dropdown-submenu li{border-bottom:1px solid #9ba6b2;box-shadow:none;margin-left:0;padding-left:0}.main-nav-bar .dropdown .is-dropdown-submenu li:last-child{border-bottom:none}.main-nav-bar .dropdown .is-dropdown-submenu a{padding:0.9rem 1rem}.main-nav-bar .dropdown .is-dropdown-submenu a:hover{background-color:#6f7f90}.main-nav-bar .dropdown .is-dropdown-submenu a::after{border-color:transparent transparent transparent #fefefe !important}.main-nav-bar .dropdown .is-dropdown-submenu .is-active>a{background-color:#6f7f90}.main-nav-bar .dropdown .is-dropdown-submenu .is-active>a::after{border-color:transparent transparent transparent #4fb1e6 !important}}.primary-content-area,body.cke_editable{padding-top:30px;padding-bottom:30px;min-height:200px;color:#606060}@media screen and (min-width: 60em){.primary-content-area,body.cke_editable{min-height:300px}}.primary-content-area a,body.cke_editable a{color:#D6336C;text-decoration:underline;cursor:pointer}.primary-content-area a:hover,body.cke_editable a:hover{color:#881b41}.primary-content-area a:active,body.cke_editable a:active{color:#4DADF7}.primary-content-area h1,body.cke_editable h1,.primary-content-area h2,body.cke_editable h2,.primary-content-area h3,body.cke_editable h3,.primary-content-area h4,body.cke_editable h4,.primary-content-area h5,body.cke_editable h5,.primary-content-area h6,body.cke_editable h6{color:#329AF0;font-weight:300;font-size:2.375rem;line-height:1.10526}.primary-content-area h1.page-title,body.cke_editable h1.page-title,.primary-content-area h2.page-title,body.cke_editable h2.page-title,.primary-content-area h3.page-title,body.cke_editable h3.page-title,.primary-content-area h4.page-title,body.cke_editable h4.page-title,.primary-content-area h5.page-title,body.cke_editable h5.page-title,.primary-content-area h6.page-title,body.cke_editable h6.page-title{color:#3AA4DC}.primary-content-area h2,body.cke_editable h2{font-size:2.125rem}.primary-content-area h3,body.cke_editable h3{font-size:1.875rem}.primary-content-area h4,body.cke_editable h4{font-size:1.625rem}.primary-content-area h5,body.cke_editable h5{font-size:1.375rem}.primary-content-area h6,body.cke_editable h6{font-size:1.125rem}.primary-content-area pre,body.cke_editable pre{white-space:pre-wrap;white-space:-moz-pre-wrap;white-space:-pre-wrap;white-space:-o-pre-wrap;word-wrap:break-word;margin-bottom:1rem;padding:1rem;background-color:#dbe9f7;border:1px solid #1D3A61}.primary-content-area figure figcaption,body.cke_editable figure figcaption,body.cke_editable div drupal-entity figcaption{font-size:0.775rem;text-align:center;font-weight:bold;margin:0.25rem 0.25rem 1rem 0.25rem}.primary-content-area figure.align-center,body.cke_editable figure.align-center,body.cke_editable div drupal-entity.align-center{text-align:center}.primary-content-area figure.align-left figcaption,body.cke_editable figure.align-left figcaption,body.cke_editable div drupal-entity.align-left figcaption{margin-right:1.25rem}.primary-content-area figure.align-left img,body.cke_editable figure.align-left img,body.cke_editable div drupal-entity.align-left img{margin-right:1rem}.primary-content-area figure.align-right figcaption,body.cke_editable figure.align-right figcaption,body.cke_editable div drupal-entity.align-right figcaption{margin-left:1.25rem}.primary-content-area figure.align-right img,body.cke_editable figure.align-right img,body.cke_editable div drupal-entity.align-right img{margin-left:1rem}.primary-content-area figure article p,body.cke_editable figure article p,body.cke_editable div drupal-entity article p,.primary-content-area figure body.cke_editable div drupal-entity p,body.cke_editable figure div drupal-entity p,body.cke_editable div figure drupal-entity p,body.cke_editable div drupal-entity drupal-entity p{margin:0}.primary-content-area article.align-center,body.cke_editable article.align-center,body.cke_editable div drupal-entity.align-center{text-align:center}.primary-content-area article.align-center img,body.cke_editable article.align-center img,body.cke_editable div drupal-entity.align-center img{margin-bottom:1rem}.primary-content-area article.align-left img,body.cke_editable article.align-left img,body.cke_editable div drupal-entity.align-left img{margin-right:1rem;margin-bottom:1rem}.primary-content-area article.align-right img,body.cke_editable article.align-right img,body.cke_editable div drupal-entity.align-right img{margin-left:1rem;margin-bottom:1rem}.content-editor-menu{border-bottom:1px solid #cacaca}.content-editor-menu li a{border:1px solid #cacaca;color:#4DADF7;background-color:#fafafa;border-bottom:none;-webkit-border-radius:5px 5px 0 0;-moz-border-radius:5px 5px 0 0;border-radius:5px 5px 0 0;margin-right:7px;text-decoration:none}.content-editor-menu li a:hover,.content-editor-menu li a:focus{border-bottom:none}body.cke_editable{padding:1rem;min-height:inherit}@media screen and (min-width: 60em){body.cke_editable{min-height:inherit}}footer{min-height:100px;background-color:#003DA5;z-index:0;position:relative;backface-visibility:hidden;color:#d8e4f3;font-family:"Fira Sans Medium", sans-serif;font-size:0.6875rem;line-height:1.364;letter-spacing:0.06875rem}@media screen and (min-width: 60em){footer{min-height:300px}footer:after{content:"";background:url("https://assets.ucr.edu/localist/images/bg-ucr-footer.jpg") 50%;background-size:cover;opacity:0.15;z-index:-1;top:0;left:0;bottom:0;right:0;position:absolute}}footer .footer-google-search{padding:18px 7px 14px 7px;border-bottom:1px solid #FFB81C;margin-bottom:7px}footer .footer-google-search .google-search{text-align:center}footer .footer-google-search .google-search input{display:inline-block;margin:0;border-radius:0;border:1px solid lightgrey;background-color:transparent;min-width:195px;max-width:600px;background:url("https://assets.ucr.edu/localist/images/google-search-footer.png") no-repeat;background-position:5% 50%;color:#fefefe}footer .footer-google-search .google-search input:focus{outline:none;border:1px solid grey;box-shadow:0 0 5px grey;background:none}footer .footer-google-search .google-search input::placeholder{opacity:1;position:relative;border:none;box-shadow:none;margin-bottom:0}@-moz-document url-prefix(){footer .footer-google-search .google-search input::placeholder{left:-14px}}footer .footer-google-search .google-search input:focus::placeholder{background-image:none}footer .footer-columns{padding-top:0.625rem;min-height:100px}footer .footer-columns .cell{border-right:none;padding-bottom:0.625rem;margin-bottom:0.625rem}@media screen and (min-width: 60em){footer .footer-columns .cell{border-right:1px solid #fefefe;padding-bottom:0.9375rem;margin-bottom:0.9375rem}footer .footer-columns .cell:last-child{border-right:none}}footer .footer-item{border-bottom:1px dotted #FFB81C;margin:5px 0 5px 0}@media screen and (min-width: 60em){footer .footer-item{margin:7px 0 14px 0}}footer .footer-item h3{color:#d8e4f3;font-family:"Fira Sans Bold","Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;font-size:.625rem;font-weight:700;line-height:1.444;letter-spacing:.0625rem;text-transform:uppercase;margin-bottom:1.5em;padding-bottom:.25rem;border-bottom:1px solid #FFB81C}footer .footer-item h4{color:#d8e4f3;margin-bottom:3px}footer .footer-item h4.separator{border-top:1px dotted;padding-top:34px;padding-bottom:3px}footer .footer-item p{color:#d8e4f3;font-family:"Fira Sans Medium","Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;font-size:.6875rem;line-height:1.364;letter-spacing:.06875rem}footer .footer-item a::after{content:"";padding:inherit}footer .footer-item a:not(.button){color:#fff}footer .footer-item a:not(.button):hover,footer .footer-item a:not(.button):focus{color:#fec780}footer .footer-item a:not(.button) img{opacity:.7;border-radius:1px;left:-1.3125rem;position:relative;border:1px solid #e0e0e0}footer .footer-item a:not(.button) img:hover,footer .footer-item a:not(.button) img:focus{opacity:.9}footer .footer-item a:not(.button).link-alt{border-bottom:none;font-size:.625rem;line-height:1.3;text-transform:uppercase}footer .footer-item .fa-map-marker{color:#8fbcf9;margin-right:2px;font-size:16px}footer .footer-item ul{list-style-type:none}footer .footer-item ul li{text-indent:-1em;font-size:0.75rem;line-height:1.2rem}footer .footer-item ul li a::after{content:"";display:none}footer .footer-item .footer-logo{position:relative;display:inline-block;overflow:hidden;text-align:left !important;width:12.5rem;height:2.9375rem;background:url("https://assets.ucr.edu/localist/images/UC_Riverside_Horiz_BluBG.svg") no-repeat}footer .footer-item .button-group .button{font-size:1.495rem;padding:4px 0 2px 2px;margin-right:4px;background-color:#FFB81C;color:#003DA5;border-radius:4px;margin-bottom:4px}footer .footer-item .button-group .button.mdi-facebook:hover,footer .footer-item .button-group .button.mdi-facebook:focus{background-color:#3B5998}footer .footer-item .button-group .button.mdi-twitter:hover,footer .footer-item .button-group .button.mdi-twitter:focus{background-color:#00acee}footer .footer-item .button-group .button.mdi-youtube-play:hover,footer .footer-item .button-group .button.mdi-youtube-play:focus{background-color:#cd201f}footer .footer-item .button-group .button.mdi-instagram:hover,footer .footer-item .button-group .button.mdi-instagram:focus{background-color:#125688}footer .footer-item .button-group .button.mdi-linkedin:hover,footer .footer-item .button-group .button.mdi-linkedin:focus{background-color:#0077b5}footer .footer-item .button-group .button.mdi-camera-iris:hover,footer .footer-item .button-group .button.mdi-camera-iris:focus{background-color:#ff0084}footer .footer-item .button-group .button.mdi-rss:hover,footer .footer-item .button-group .button.mdi-rss:focus{background-color:#EC8500}footer .footer-item .button-group a.mdi-twitter,footer .footer-item .button-group a.mdi-facebook,footer .footer-item .button-group a.mdi-youtube-play,footer .footer-item .button-group a.mdi-instagram,footer .footer-item .button-group a.mdi-linkedin{display:inline-block;font-family:"FontAwesome";font-size:30px;text-rendering:auto;line-height:2rem;-webkit-font-smoothing:antialiased;padding:0px 2px 0px 2px}footer .footer-item .button-group a.mdi-twitter:after{content:"\f081"}footer .footer-item .button-group a.mdi-facebook:after{content:"\f082"}footer .footer-item .button-group a.mdi-youtube-play:after{content:"\f16a"}footer .footer-item .button-group a.mdi-linkedin:after{content:"\f08c"}footer .footer-item .button-group a.mdi-instagram:after{content:"\f16d"}footer .footer-item input{background-color:#0c1c31;color:#fefefe}footer .footer-item input:focus{outline:none;border:1px solid grey;box-shadow:0 0 5px grey;background:#0c1c31}@media screen and (min-width: 60em){footer .ucr-footer-info{border-bottom:none}}footer .ucr-footer-info address{font-style:normal}footer .ucr-footer-info .footer-links{margin:6px 0 14px 0}footer .ucr-footer-info .footer-links::before{display:block;content:"";margin-bottom:.5rem;border:1px solid #FFB81C;width:2em}footer .ucr-footer-info .footer-links li{border-bottom:1px solid #FFB81C;margin:0;font-family:"Fira Sans Medium", sans-serif;font-size:0.75rem;line-height:1.167;letter-spacing:.083em;list-style-type:none;text-indent:initial}footer .ucr-footer-info .footer-links li a{border:none;display:block;padding:0.625rem}footer .ucr-footer-info .footer-links li a::after{content:""}footer .ucr-footer-info .footer-links-other{text-decoration:underline;margin-bottom:15px;display:block;margin-left:4px}footer .ucr-footer-info .footer-links-other li{font-family:"Avenir Next W01", "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;font-size:0.7rem;line-height:1.167;list-style-type:none}footer .ucr-footer-info .footer-links-other li a{color:#d8e4f3;border:none;display:block;padding:0.4rem 0.6875rem}footer .ucr-footer-info .footer-links-other li a:hover,footer .ucr-footer-info .footer-links-other li a:focus{background-color:rgba(220,220,220,0.15)}footer .ucr-footer-info .footer-links-other li a::after{content:""}footer .footer-dept-info address{font-style:normal;padding-bottom:15px}footer .footer-dept-info a.link-img{display:block;border-bottom:none}footer .footer-dept-info a.link-img-location{text-transform:uppercase}footer .footer-dept-info a.link-img::before{display:inline-block;font:normal normal normal 24px/1 "Material Design Icons";font-size:1.5rem;vertical-align:middle;text-rendering:auto;line-height:inherit;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;padding-left:4px;content:"\f34e"}footer .footer-dept-info a img{margin-left:21px}footer .site-legal-footer{background-color:#FFB81C;color:#003DA5;font-family:"Fira Sans Bold","Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;font-size:12px;letter-spacing:.025rem}footer .site-legal-footer ul{list-style-type:none;margin:0;padding:18px 0}footer .site-legal-footer ul li{display:inline-block}footer .site-legal-footer ul li::before{content:"";padding-right:5px}footer .site-legal-footer ul li:first-child::before{padding-right:0}footer .site-legal-footer ul li::after{content:"";border-right:1px solid #fefefe;padding-left:7px}footer .site-legal-footer ul li:last-child::after{border:none;padding-left:0}footer .site-legal-footer ul li a{color:#003DA5}footer .site-legal-footer ul li a::after{content:"";padding:inherit}.primary-content-area .general-menu,body.cke_editable .general-menu{background-color:#ecebeb;border-top:3px solid #4DADF7;padding:1rem 1.5rem 1.5rem 1.5rem}.primary-content-area .general-menu h2,body.cke_editable .general-menu h2{display:block;margin:0;padding:0;padding-bottom:1rem;color:#868686;line-height:normal;font-size:1.75rem;text-align:center}.primary-content-area .general-menu ul.menu.vertical li a,body.cke_editable .general-menu ul.menu.vertical li a{border-top:1px solid #989898;text-decoration:none;color:#606060;padding:1rem}.primary-content-area .general-menu ul.menu.vertical li a:hover,body.cke_editable .general-menu ul.menu.vertical li a:hover{background-color:#d4dbe6;font-weight:700}a[href*="//"]:after{content:'';padding:0}body.homepage,header,.content-wrapper{font-family:"Trade Gothic Next W01","Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-weight:normal}div.content-wrapper{background-color:#fafafa}div.wrapper{margin-top:34px}div#breadcrumbs{position:relative;background-color:transparent;max-width:1140px;top:-102px;border:solid 1px #e6e6e6;color:#f45858}div#breadcrumbs ul li a{color:#f45858}.search_action{width:100%;float:none;margin-right:20px;margin-bottom:0.5rem;clear:right}.search_action [type='text']{margin:0px}@media print, screen and (min-width: 60em){div#breadcrumbs{position:relative;background-color:transparent;margin:-41px 21px 0 0;border:solid 1px #e6e6e6;top:0}.search_action{width:30.3333%;float:right;margin-right:18px;margin-bottom:0.5rem;clear:right}.search_action [type='text']{margin:0px;border:1px solid #e1eaf0;box-shadow:none}}h1,.primary-content-area h2,body.cke_editable h2,.primary-content-area h3,body.cke_editable h3,.primary-content-area h4,body.cke_editable h4,.primary-content-area h5,body.cke_editable h5,.primary-content-area h6,body.cke_editable h6,h3.summary,.page_heading,.summary{font-family:"Trade Gothic Next W01","Helvetica Neue",Helvetica,Roboto,Arial,sans-serif}.page_heading h1,.page_heading .primary-content-area h2,.primary-content-area .page_heading h2,.page_heading body.cke_editable h2,body.cke_editable .page_heading h2,.page_heading .primary-content-area h3,.primary-content-area .page_heading h3,.page_heading body.cke_editable h3,body.cke_editable .page_heading h3,.page_heading .primary-content-area h4,.primary-content-area .page_heading h4,.page_heading body.cke_editable h4,body.cke_editable .page_heading h4,.page_heading .primary-content-area h5,.primary-content-area .page_heading h5,.page_heading body.cke_editable h5,body.cke_editable .page_heading h5,.page_heading .primary-content-area h6,.primary-content-area .page_heading h6,.page_heading body.cke_editable h6,body.cke_editable .page_heading h6{font-family:"Trade Gothic Next W01","Helvetica Neue",Helvetica,Roboto,Arial,sans-serif}.content .content-top .box_image{padding-top:0;padding-left:0}.content .content-top .box_image img{border-radius:0;border:none}.content .content-bottom{background-color:#f1f3f5}.content .content-bottom .nocontent{background-color:#f8f9fa}.fa-clock-o,.fa-map-marker{color:#39b1ef}.footer_item p a i.fa-map-marker{color:#d8e4f3;padding-right:4px}.extraspace{padding-bottom:28px}.item_content_medium .grid_container{background-color:transparent}.location a{color:#39b1ef}.location a:hover{color:#0f7bb3}.content-top p a{color:#f45858}.content-top p a:hover{color:#d80e0e}.table-buttons .imgoing,.table-buttons .invite_friends_button,.table-buttons a{color:#39b1ef}@media only screen and (max-width: 959px){div#x-confirm-buttons-wrapper .sidebar-topnav div.table-buttons>*{text-align:center}}.widget-plans h4 a{color:#39b1ef}.extra_details dd a{color:#f45858}.extra_details dd a:hover{color:#d80e0e}.extra_details dd{word-break:break-word;color:#f45858}.content-bottom .recent_activity_list .link_action .btn{border-radius:0;background-color:#f45858;border:none;padding:10px 14px 10px 14px}.content-bottom .recent_activity_list .link_action .btn:hover{background-color:#d80e0e}.content-bottom .recent_activity_list input[type=submit].btn-color{border-radius:0;background-color:#f45858;border:none;padding-left:15px;padding-right:15px}.content-bottom .recent_activity_list input[type=submit].btn-color:hover{background-color:#d80e0e}.localist_modal_form .form_action_buttons input[type=submit].btn-color{border-radius:0;background-color:#f45858;border:none}.localist_modal_form .form_action_buttons input[type=submit].btn-color:hover{background-color:#d80e0e}.widget .widget-content a.btn.btn-color{border-radius:0;background-color:#f45858;border:none}.widget .widget-content a.btn.btn-color:hover{background-color:#d80e0e}.widget .widget-content table.icon_item{margin-bottom:0}.widget .widget-content table.icon_item tbody{border:none}.widget .widget-content table.icon_item tbody tr td{border:none}.ticket_action a.btn.btn-color-alt{background-color:#f45858;border:none;border-radius:0;color:white}.ticket_action a.btn.btn-color-alt:hover{background-color:#d80e0e}.summary a{color:#495057}.summary a:hover{color:#1a1d20}.subscribe_links a{color:#f45858}.subscribe_links a:hover{color:#d80e0e}.item_content_medium .actionbar .left,.item_content_medium .actionbar .right{width:100%}.dateright{color:#adb5bd;font-weight:600}.actionbar .action_button a.imgoing,.actionbar .action_button a.cancelplans,.actionbar .action_button a.buytickets{border-radius:0;background:#f45858;border:none}.actionbar .action_button a.imgoing:hover,.actionbar .action_button a.cancelplans:hover,.actionbar .action_button a.buytickets:hover{background-color:#d80e0e}.event_group .item>.box_left img{border:none;border-radius:0}.event_group .pagination_container .page_link a{color:#f45858}.pagination_container a.pagearrow{color:#39b1ef}.widget .widget-content p a{color:#f45858}.widget .widget-content p a:hover{color:#d80e0e}.sidebar-topnav .btn.btn-color-alt{background-color:white;border:1px solid #e6e6e6;border-radius:0;color:#f45858}.sidebar-topnav .btn.btn-color-alt:hover{background-color:#f45858;color:#fefefe;border-color:#f45858}.sidebar .submit_event_button_component{margin-top:27px}.sidebar .submit_event_button_component .widget{border:none}.sidebar .submit_event_button_component .widget .widget-content{padding:0}.sidebar .submit_event_button_component .btn.btn-large{padding:11px 21px 16px 21px}.sidebar .submit_event_button_component .widget .widget-content .btn.btn-color-alt{background-color:white;border:1px solid #e6e6e6;border-radius:0;color:#f45858}.sidebar .submit_event_button_component .widget .widget-content .btn.btn-color-alt:hover{background-color:#f45858;color:#fefefe;border-color:#f45858}.sidebar .widget .widget-content ul li a,.sidebar .widget .widget-content ul li .fa-clock-o{color:#f45858}.sidebar .widget .widget-content ul li a:hover,.sidebar .widget .widget-content ul li .fa-clock-o:hover{color:#d80e0e}#menu .action_menu li a{color:#f45858;font-weight:700;font-size:11px}#menu .action_menu li a i{color:#39b1ef}#menu{width:100%;float:right;margin-right:20px;clear:right;text-align:right;text-transform:uppercase;padding-top:15px}@media print, screen and (min-width: 60em){#menu{position:relative;top:-136px;height:0}}#menu a.nav-button{padding:25px 20px}@media print, screen and (min-width: 40em){#menu a.nav-button{padding:7px 20px}}#menu a.nav-button span.icon-bar{background-color:#2d6cc0}@media print, screen and (min-width: 40em){#menu a.nav-button span.icon-bar{background-color:white}}#menu .action_menu.expanded{position:relative;top:-52px}#menu .action_menu li{display:inline-block}#menu .action_menu .login{top:0;position:relative}@media print, screen and (min-width: 60em){#menu .action_menu .login{top:-10px}}#menu .action_menu .login .fa-sign-in:before,#menu .action_menu .login .fa-user-plus:before{content:''}#menu .action_menu .login a[href*="//"]:after{display:inline-block;font-family:"FontAwesome";font-size:inherit;text-rendering:auto;line-height:inherit;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"\f101";padding-left:4px}#menu .action_menu li.profile_icon{margin-bottom:1rem}#top-submit{display:inline-block;background-color:transparent;border:none;padding:0px;margin-left:270px;width:10%;float:right;margin-top:-28px}@media screen and (min-width: 60em){#top-submit{display:inline-block;background-color:transparent;border:none;padding:0px;margin-left:270px;width:10%;float:right;margin-top:-28px}}.form_action_buttons input[type=submit].btn-color{border-radius:0;background-color:#f45858;border:none}.form_action_buttons input[type=submit].btn-color:hover{background-color:#d80e0e}.form_box .action_button .btn-color{border-radius:0;background-color:#f45858;border:none}.form_box .action_button .btn-color:hover{background-color:#d80e0e}.editable p a{color:#f45858}.editable p a:hover{color:#d80e0e}.homepage_nav_container{margin-top:14px}.item.sponsored{background-color:#dee2e6}.actionbar .action_button a{padding:10px 14px 10px 14px}.sidebar .widget .widget-header{color:#39b1ef}.sidebar .widget .widget-header h3{color:#39b1ef}.sidebar .minicalendar_component{background-color:#e6e6e6}.sidebar .minicalendar_component .widget{background-color:transparent}.sidebar div.widget.mini_calendar{background-color:#e6e6e6}.sidebar .widget.mini_calendar table.minicalendar{margin-bottom:0}.sidebar .widget.mini_calendar table.minicalendar tbody tr th{font-family:"Trade Gothic Next W01", "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;color:#adb5bd;background-color:#e6e6e6;font-size:0.9rem;font-weight:700;border-right:none;border-top:none}.sidebar .widget.mini_calendar table.minicalendar tbody tr td{font-family:"Trade Gothic Next W01", "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;font-size:0.9rem;background-color:#f1f3f5}.sidebar .widget.mini_calendar table.minicalendar tbody tr td.selected a{background-color:#f45858;color:#fefefe}.sidebar .widget.mini_calendar table.minicalendar tbody tr:nth-child(even){background-color:#f1f3f5}.sidebar .widget.mini_calendar table.minicalendar tbody tr td{border:none;padding-right:0;padding-left:0}.sidebar .widget.mini_calendar table.minicalendar tbody{border:none}.sidebar .widget.mini_calendar table.minicalendar tbody[data-minicalendar="calendar"] td a{color:#343a40}.sidebar .widget.mini_calendar .page_heading{border-bottom:none}.sidebar .widget.mini_calendar .pagination_container a#localist-minical-prev-month,.sidebar .widget.mini_calendar .pagination_container a#localist-minical-next-month{color:#39b1ef}.sidebar .widget.mini_calendar .pagination_container .minical{margin-bottom:0px;background-color:#e6e6e6}.sidebar .mini_calendar .subcal_actions .btn{background-color:#f45858;border:none;border-radius:0}.sidebar .mini_calendar .subcal_actions .btn:hover{background-color:#d80e0e}.widget .widget-content .item{color:#f45858}.widget .widget-content .item h3 span a{color:#f45858}.widget .widget-content .item h3 span a:hover{color:#d80e0e}.item h3 a i{color:#f45858}.item h3 a i:hover{color:#d80e0e}.item .description{font-family:"Trade Gothic Next W01","Helvetica Neue",Helvetica,Roboto,Arial,sans-serif}.pagination_container .page_link a{color:#f45858}.tabs a.selected{color:#f45858}.tabs a{color:#adb5bd}.widget-content span.label{background-color:white;color:black}.message_group .item .action_button input[type=submit].btn-color{border-radius:0;background-color:#f45858;border:none}.message_group .item .action_button input[type=submit].btn-color:hover{background-color:#d80e0e}.widget .widget-content .login_methods .action_button p a{color:white}.item-mini .heading a{color:black}.nocontent p .btn.btn-color-alt{color:white;border-radius:0;background-color:#f45858;border:none}.nocontent p .btn.btn-color-alt:hover{background-color:#d80e0e}.action_button a{border-radius:0}.item .item_content_tiny h3 a{color:#f45858}.channel-header .action_button a{border-radius:0;border:none}.channel-header .action_button a.btn-color{background-color:#f45858}.channel-header .action_button a.btn-color:hover{background-color:#d80e0e}.drop-target-text .btn.btn-color{border-radius:0;border:none;background-color:#f45858}.drop-target-text .btn.btn-color:hover{background-color:#d80e0e}.content-inner-pages .form_action_buttons .btn.btn-color,.content-inner-pages .form_action_buttons input[type=button].btn-color{border-radius:0;border:none;background-color:#f45858}.content-inner-pages .form_action_buttons .btn.btn-color:hover,.content-inner-pages .form_action_buttons input[type=button].btn-color:hover{background-color:#d80e0e}select{width:15%}.tabs_component .featured_carousel .featured_nav a{color:#0a0a0a;background-color:#e9ecef}.tabs_component .featured_carousel .featured_nav a.current{background-color:#f45858;color:#fefefe}.tabs_component .featured_section_component{background-color:#f1f3f5}.featured_carousel .featured_item_wrapper .item .summary a{color:#666666}.featured_item_wrapper .item{background-color:#f1f3f5}.tabs{border:none}.tabs>*{margin-left:4px}.tabs .selected_tab_colorfive{background-color:#f45858;border:1px solid #f45858;border-radius:0;padding:7.5px 9px 8.5px 9px;color:white}a.dark_colorfive{background-color:white;border:1px solid #ced4da;border-radius:0;padding:7.5px 9px 8.5px 9px;color:#868e96;border-bottom:none}a.dark_colorfive.selected_tab_colorfive{color:white}.sidebar .filter_list_component .widget .widget-content ul li a,.sidebar .filter_list .widget .widget-content ul li a{font-size:0.9rem;font-weight:700;color:#868e96}.sidebar .filter_list_component .widget .widget-content ul li a:hover,.sidebar .filter_list .widget .widget-content ul li a:hover{color:#555b61}.table-buttons.horizontal-nav>* .icon{padding-right:10px}.action_button.pull-right{clear:right}.channel-header{margin-right:20px}@media print, screen and (min-width: 30em){div.featured_carousel div.featured_item_wrapper .item img{border-radius:0px;margin:0 25px 0 0}}#login-lightbox .signup_statement{margin-top:1em;border-top:1px solid #efefef;padding-top:1em;border-bottom:none}#login-lightbox a.profile_cas_button{background-color:#f45858;border-color:#f45858}#login-lightbox a.profile_cas_button:hover{background-color:#d80e0e;border-color:#d80e0e}#login-lightbox .login_methods{margin-top:0;padding-top:0;border-bottom:1px solid #f0f2f3;padding-bottom:1em;border-top:none}#login-lightbox input#login_user{margin:0 !important}#login-lightbox .top2M{margin-top:2em}

/*# sourceMappingURL=data:application/json;base64,ewoJInZlcnNpb24iOiAzLAoJImZpbGUiOiAic2Nzcy9kZWZhdWx0LXNpbGt3cmFwcGVyLmNzcyIsCgkic291cmNlcyI6IFsKCQkic2Nzcy9kZWZhdWx0LXNpbGt3cmFwcGVyLnNjc3MiLAoJCSJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2ZvdW5kYXRpb24uc2NzcyIsCgkJIm5vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdmVuZG9yL25vcm1hbGl6ZS5zY3NzIiwKCQkibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL19taXNzaW5nLWRlcGVuZGVuY2llcy5zY3NzIiwKCQkibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL190cnVlLnNjc3MiLAoJCSJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9fY29udGFpbi5zY3NzIiwKCQkibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvX3B1cmdlLnNjc3MiLAoJCSJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9fcmVtb3ZlLnNjc3MiLAoJCSJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9fcmVwbGFjZS5zY3NzIiwKCQkibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvX3RvLWxpc3Quc2NzcyIsCgkJIm5vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fdXRpbC5zY3NzIiwKCQkibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19tYXRoLnNjc3MiLAoJCSJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX3VuaXQuc2NzcyIsCgkJIm5vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fdmFsdWUuc2NzcyIsCgkJIm5vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fZGlyZWN0aW9uLnNjc3MiLAoJCSJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX2NvbG9yLnNjc3MiLAoJCSJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX3NlbGVjdG9yLnNjc3MiLAoJCSJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX2ZsZXguc2NzcyIsCgkJIm5vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fYnJlYWtwb2ludC5zY3NzIiwKCQkibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19taXhpbnMuc2NzcyIsCgkJIm5vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fdHlwb2dyYXBoeS5zY3NzIiwKCQkibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9fZ2xvYmFsLnNjc3MiLAoJCSJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19mb3Jtcy5zY3NzIiwKCQkibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fdGV4dC5zY3NzIiwKCQkibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fY2hlY2tib3guc2NzcyIsCgkJIm5vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2xhYmVsLnNjc3MiLAoJCSJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19oZWxwLXRleHQuc2NzcyIsCgkJIm5vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2lucHV0LWdyb3VwLnNjc3MiLAoJCSJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19maWVsZHNldC5zY3NzIiwKCQkibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fc2VsZWN0LnNjc3MiLAoJCSJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19yYW5nZS5zY3NzIiwKCQkibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fcHJvZ3Jlc3Muc2NzcyIsCgkJIm5vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX21ldGVyLnNjc3MiLAoJCSJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19lcnJvci5zY3NzIiwKCQkibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L190eXBvZ3JhcGh5LnNjc3MiLAoJCSJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2Jhc2Uuc2NzcyIsCgkJIm5vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9faGVscGVycy5zY3NzIiwKCQkibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19hbGlnbm1lbnQuc2NzcyIsCgkJIm5vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fcHJpbnQuc2NzcyIsCgkJIm5vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZ3JpZC5zY3NzIiwKCQkibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19yb3cuc2NzcyIsCgkJIm5vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fY29sdW1uLnNjc3MiLAoJCSJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX3NpemUuc2NzcyIsCgkJIm5vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fcG9zaXRpb24uc2NzcyIsCgkJIm5vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZ3V0dGVyLnNjc3MiLAoJCSJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2NsYXNzZXMuc2NzcyIsCgkJIm5vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fbGF5b3V0LnNjc3MiLAoJCSJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2ZsZXgtZ3JpZC5zY3NzIiwKCQkibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL194eS1ncmlkLnNjc3MiLAoJCSJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2d1dHRlcnMuc2NzcyIsCgkJIm5vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fZ3JpZC5zY3NzIiwKCQkibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jZWxsLnNjc3MiLAoJCSJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2ZyYW1lLnNjc3MiLAoJCSJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX3Bvc2l0aW9uLnNjc3MiLAoJCSJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2xheW91dC5zY3NzIiwKCQkibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jb2xsYXBzZS5zY3NzIiwKCQkibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MiLAoJCSJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi5zY3NzIiwKCQkibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19idXR0b24tZ3JvdXAuc2NzcyIsCgkJIm5vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fY2xvc2UtYnV0dG9uLnNjc3MiLAoJCSJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2xhYmVsLnNjc3MiLAoJCSJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Byb2dyZXNzLWJhci5zY3NzIiwKCQkibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19zbGlkZXIuc2NzcyIsCgkJIm5vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fc3dpdGNoLnNjc3MiLAoJCSJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RhYmxlLnNjc3MiLAoJCSJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2JhZGdlLnNjc3MiLAoJCSJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2JyZWFkY3J1bWJzLnNjc3MiLAoJCSJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2NhbGxvdXQuc2NzcyIsCgkJIm5vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fY2FyZC5zY3NzIiwKCQkibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19kcm9wZG93bi5zY3NzIiwKCQkibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19wYWdpbmF0aW9uLnNjc3MiLAoJCSJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Rvb2x0aXAuc2NzcyIsCgkJIm5vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYWNjb3JkaW9uLnNjc3MiLAoJCSJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX21lZGlhLW9iamVjdC5zY3NzIiwKCQkibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19vcmJpdC5zY3NzIiwKCQkibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19yZXNwb25zaXZlLWVtYmVkLnNjc3MiLAoJCSJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RhYnMuc2NzcyIsCgkJIm5vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGh1bWJuYWlsLnNjc3MiLAoJCSJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX21lbnUuc2NzcyIsCgkJIm5vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbWVudS1pY29uLnNjc3MiLAoJCSJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2FjY29yZGlvbi1tZW51LnNjc3MiLAoJCSJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2RyaWxsZG93bi5zY3NzIiwKCQkibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19kcm9wZG93bi1tZW51LnNjc3MiLAoJCSJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX29mZi1jYW52YXMuc2NzcyIsCgkJIm5vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fcmV2ZWFsLnNjc3MiLAoJCSJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3N0aWNreS5zY3NzIiwKCQkibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190aXRsZS1iYXIuc2NzcyIsCgkJIm5vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdG9wLWJhci5zY3NzIiwKCQkibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19mbG9hdC5zY3NzIiwKCQkibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19mbGV4LnNjc3MiLAoJCSJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Zpc2liaWxpdHkuc2NzcyIsCgkJIm5vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19wcm90b3R5cGUuc2NzcyIsCgkJIm5vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19yZWxhdGlvbi5zY3NzIiwKCQkibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX2JveC5zY3NzIiwKCQkibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX3JvdGF0ZS5zY3NzIiwKCQkibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX3RleHQtdXRpbGl0aWVzLnNjc3MiLAoJCSJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fdGV4dC10cmFuc2Zvcm1hdGlvbi5zY3NzIiwKCQkibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX3RleHQtZGVjb3JhdGlvbi5zY3NzIiwKCQkibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX2ZvbnQtc3R5bGluZy5zY3NzIiwKCQkibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX2xpc3Qtc3R5bGUtdHlwZS5zY3NzIiwKCQkibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX3JvdW5kZWQuc2NzcyIsCgkJIm5vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19ib3JkZXJlZC5zY3NzIiwKCQkibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX3NoYWRvdy5zY3NzIiwKCQkibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX2Fycm93LnNjc3MiLAoJCSJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fc2VwYXJhdG9yLnNjc3MiLAoJCSJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fb3ZlcmZsb3cuc2NzcyIsCgkJIm5vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19kaXNwbGF5LnNjc3MiLAoJCSJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fcG9zaXRpb24uc2NzcyIsCgkJIm5vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19ib3JkZXItYm94LnNjc3MiLAoJCSJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fYm9yZGVyLW5vbmUuc2NzcyIsCgkJIm5vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19zaXppbmcuc2NzcyIsCgkJIm5vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19zcGFjaW5nLnNjc3MiLAoJCSJzY3NzL2xheW91dC9fbWl4aW5zLnNjc3MiLAoJCSJzY3NzL2xheW91dC9fc2V0dGluZ3Muc2NzcyIsCgkJInNjc3MvbGF5b3V0L19nbG9iYWxzLnNjc3MiLAoJCSJzY3NzL2xheW91dC9fbWFzdGhlYWQtYXVkaWVuY2Uuc2NzcyIsCgkJInNjc3MvbGF5b3V0L19tYXN0aGVhZC1zaXRlLWxvZ28uc2NzcyIsCgkJInNjc3MvbGF5b3V0L19wcmltYXJ5LW5hdmlnYXRpb24uc2NzcyIsCgkJInNjc3MvbGF5b3V0L19jb250ZW50LWFyZWEuc2NzcyIsCgkJInNjc3MvbGF5b3V0L19mb290ZXItYXJlYS5zY3NzIiwKCQkic2Nzcy9sYXlvdXQvX3ByaW1hcnktY29udGVudC5zY3NzIiwKCQkic2Nzcy9sYXlvdXQvX2V2ZW50cy1zaWxrd3JhcHBlci5zY3NzIiwKCQkic2Nzcy9sYXlvdXQvX2xvY2FsaXN0LWNhbGVuZGFyLnNjc3MiLAoJCSJzY3NzL2xheW91dC9fbG9jYWxpc3QtdXNlci1wYWdlcy5zY3NzIiwKCQkic2Nzcy9sYXlvdXQvX2xvY2FsaXN0LWNoYW5uZWxzLnNjc3MiLAoJCSJzY3NzL2xheW91dC9fbG9jYWxpc3QtbG9naW50ZW1wbGF0ZS5zY3NzIgoJXSwKCSJzb3VyY2VzQ29udGVudCI6IFsKCQkiLy8gTGV0J3MgaW1wb3J0IEZvdW5kYXRpb24gZmlyc3QsIHRvIGF2b2lkIGNvbXBpbGUgZXJyb3JzXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuQGltcG9ydCBcIi4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm91bmRhdGlvblwiO1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLWV2ZXJ5dGhpbmc7XHJcbi8vIFVDUiBEZXNpZ24gOCBTdHVmZlxyXG5AaW1wb3J0IFwibGF5b3V0L21peGluc1wiO1xyXG5AaW1wb3J0IFwibGF5b3V0L3NldHRpbmdzXCI7XHJcbkBpbXBvcnQgXCJsYXlvdXQvZ2xvYmFsc1wiO1xyXG5cclxuQGltcG9ydCBcImxheW91dC9tYXN0aGVhZC1hdWRpZW5jZVwiO1xyXG5AaW1wb3J0IFwibGF5b3V0L21hc3RoZWFkLXNpdGUtbG9nb1wiO1xyXG5AaW1wb3J0IFwibGF5b3V0L3ByaW1hcnktbmF2aWdhdGlvblwiO1xyXG5AaW1wb3J0IFwibGF5b3V0L2NvbnRlbnQtYXJlYVwiO1xyXG5AaW1wb3J0IFwibGF5b3V0L2Zvb3Rlci1hcmVhXCI7XHJcbkBpbXBvcnQgXCJsYXlvdXQvcHJpbWFyeS1jb250ZW50XCI7XHJcblxyXG5AaW1wb3J0IFwibGF5b3V0L2V2ZW50cy1zaWxrd3JhcHBlclwiO1xyXG5AaW1wb3J0IFwibGF5b3V0L2xvY2FsaXN0LWNhbGVuZGFyXCI7XHJcbkBpbXBvcnQgXCJsYXlvdXQvbG9jYWxpc3QtdXNlci1wYWdlc1wiO1xyXG5AaW1wb3J0IFwibGF5b3V0L2xvY2FsaXN0LWNoYW5uZWxzXCI7XHJcbkBpbXBvcnQgXCJsYXlvdXQvbG9jYWxpc3QtbG9naW50ZW1wbGF0ZVwiO1xyXG4iLAoJCSIvKipcbiAqIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4gKiBWZXJzaW9uIDYuNi4zXG4gKiBodHRwczovL2dldC5mb3VuZGF0aW9uXG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcbiAqL1xuXG4vLyAtLS0gRGVwZW5kZW5jaWVzIC0tLVxuQGltcG9ydCAndmVuZG9yL25vcm1hbGl6ZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2hlbHBlcnMvbWlzc2luZy1kZXBlbmRlbmNpZXMnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL3RydWUnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvY29udGFpbic7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9wdXJnZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9yZW1vdmUnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcmVwbGFjZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy90by1saXN0JztcblxuLy8gLS0tIFNldHRpbmdzIC0tLVxuLy8gaW1wb3J0IHlvdXIgb3duIGBzZXR0aW5nc2AgaGVyZSBvclxuLy8gaW1wb3J0IGFuZCBtb2RpZnkgdGhlIGRlZmF1bHQgc2V0dGluZ3MgdGhyb3VnaFxuLy8gQGltcG9ydCAnc2V0dGluZ3Mvc2V0dGluZ3MnO1xuXG4vLyAtLS0gQ29tcG9uZW50cyAtLS1cbi8vIFV0aWxpdGllc1xuQGltcG9ydCAndXRpbC91dGlsJztcbi8vIEdsb2JhbCBzdHlsZXNcbkBpbXBvcnQgJ2dsb2JhbCc7XG5AaW1wb3J0ICdmb3Jtcy9mb3Jtcyc7XG5AaW1wb3J0ICd0eXBvZ3JhcGh5L3R5cG9ncmFwaHknO1xuXG4vLyBHcmlkc1xuQGltcG9ydCAnZ3JpZC9ncmlkJztcbkBpbXBvcnQgJ3h5LWdyaWQveHktZ3JpZCc7XG4vLyBHZW5lcmljIGNvbXBvbmVudHNcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uLWdyb3VwJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2xvc2UtYnV0dG9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbGFiZWwnO1xuQGltcG9ydCAnY29tcG9uZW50cy9wcm9ncmVzcy1iYXInO1xuQGltcG9ydCAnY29tcG9uZW50cy9zbGlkZXInO1xuQGltcG9ydCAnY29tcG9uZW50cy9zd2l0Y2gnO1xuQGltcG9ydCAnY29tcG9uZW50cy90YWJsZSc7XG4vLyBCYXNpYyBjb21wb25lbnRzXG5AaW1wb3J0ICdjb21wb25lbnRzL2JhZGdlJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnJlYWRjcnVtYnMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jYWxsb3V0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2FyZCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Ryb3Bkb3duJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcGFnaW5hdGlvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Rvb2x0aXAnO1xuXG4vLyBDb250YWluZXJzXG5AaW1wb3J0ICdjb21wb25lbnRzL2FjY29yZGlvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL21lZGlhLW9iamVjdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL29yYml0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcmVzcG9uc2l2ZS1lbWJlZCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RhYnMnO1xuQGltcG9ydCAnY29tcG9uZW50cy90aHVtYm5haWwnO1xuLy8gTWVudS1iYXNlZCBjb250YWluZXJzXG5AaW1wb3J0ICdjb21wb25lbnRzL21lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9tZW51LWljb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9hY2NvcmRpb24tbWVudSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2RyaWxsZG93bic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Ryb3Bkb3duLW1lbnUnO1xuXG4vLyBMYXlvdXQgY29tcG9uZW50c1xuQGltcG9ydCAnY29tcG9uZW50cy9vZmYtY2FudmFzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcmV2ZWFsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc3RpY2t5JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGl0bGUtYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdG9wLWJhcic7XG5cbi8vIEhlbHBlcnNcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmxvYXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9mbGV4JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdmlzaWJpbGl0eSc7XG5AaW1wb3J0ICdwcm90b3R5cGUvcHJvdG90eXBlJztcblxuXG5AbWl4aW4gZm91bmRhdGlvbi1ldmVyeXRoaW5nKFxuICAkZmxleDogdHJ1ZSxcbiAgJHByb3RvdHlwZTogZmFsc2UsXG4gICR4eS1ncmlkOiAkeHktZ3JpZFxuKSB7XG4gIEBpZiAkZmxleCB7XG4gICAgJGdsb2JhbC1mbGV4Ym94OiB0cnVlICFnbG9iYWw7XG4gIH1cblxuICBAaWYgJHh5LWdyaWQge1xuICAgICR4eS1ncmlkOiB0cnVlICFnbG9iYWw7XG4gIH1cblxuICAvLyBHbG9iYWwgc3R5bGVzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZ2xvYmFsLXN0eWxlcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mb3JtcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10eXBvZ3JhcGh5O1xuXG4gIC8vIEdyaWRzXG4gIEBpZiBub3QgJGZsZXgge1xuICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tZ3JpZDtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGlmICR4eS1ncmlkIHtcbiAgICAgIEBpbmNsdWRlIGZvdW5kYXRpb24teHktZ3JpZC1jbGFzc2VzO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtZ3JpZDtcbiAgICB9XG4gIH1cblxuICAvLyBHZW5lcmljIGNvbXBvbmVudHNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uLWdyb3VwO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWNsb3NlLWJ1dHRvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1sYWJlbDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wcm9ncmVzcy1iYXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc2xpZGVyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXN3aXRjaDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10YWJsZTtcbiAgLy8gQmFzaWMgY29tcG9uZW50c1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJhZGdlO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJyZWFkY3J1bWJzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWNhbGxvdXQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2FyZDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wYWdpbmF0aW9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRvb2x0aXA7XG5cbiAgLy8gQ29udGFpbmVyc1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZWRpYS1vYmplY3Q7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tb3JiaXQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcmVzcG9uc2l2ZS1lbWJlZDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10YWJzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRodW1ibmFpbDtcbiAgLy8gTWVudS1iYXNlZCBjb250YWluZXJzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51LWljb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJpbGxkb3duLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd24tbWVudTtcblxuICAvLyBMYXlvdXQgY29tcG9uZW50c1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW9mZi1jYW52YXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcmV2ZWFsO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXN0aWNreTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10aXRsZS1iYXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdG9wLWJhcjtcblxuICAvLyBIZWxwZXJzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxvYXQtY2xhc3NlcztcbiAgQGlmICRmbGV4IHsgQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWNsYXNzZXM7IH1cbiAgQGluY2x1ZGUgZm91bmRhdGlvbi12aXNpYmlsaXR5LWNsYXNzZXM7XG4gIEBpZiAkcHJvdG90eXBlIHsgQGluY2x1ZGUgZm91bmRhdGlvbi1wcm90b3R5cGUtY2xhc3NlczsgfVxufVxuIiwKCQkiQG1peGluIGZvdW5kYXRpb24tbm9ybWFsaXplKCkge1xuICAvKiEgbm9ybWFsaXplLmNzcyB2OC4wLjAgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG5cbiAgLy8gRG9jdW1lbnRcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gIC8vIDIuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gaU9TLlxuXG4gIGh0bWwge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE1OyAvLyAxXG4gICAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvLyAyXG4gIH1cblxuICAvLyBTZWN0aW9uc1xuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2Vycy5cblxuICBib2R5IHtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAvLyBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXG4gIC8vIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG5cbiAgaDEge1xuICAgIGZvbnQtc2l6ZTogMmVtO1xuICAgIG1hcmdpbjogMC42N2VtIDA7XG4gIH1cblxuICAvLyBHcm91cGluZyBjb250ZW50XG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAgLy8gMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG5cbiAgaHIge1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvLyAxXG4gICAgaGVpZ2h0OiAwOyAvLyAxXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7IC8vIDJcbiAgfVxuXG4gIC8vIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gIC8vIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cblxuICBwcmUge1xuICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLy8gMVxuICAgIGZvbnQtc2l6ZTogMWVtOyAvLyAyXG4gIH1cblxuICAvLyBUZXh0LWxldmVsIHNlbWFudGljc1xuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cblxuICBhIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuXG4gIC8vIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBDaHJvbWUgNTctXG4gIC8vIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG5cbiAgYWJiclt0aXRsZV0ge1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7IC8vIDFcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLy8gMlxuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLy8gMlxuICB9XG5cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cblxuICBiLFxuICBzdHJvbmcge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG4gIH1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAvLyAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG5cbiAgY29kZSxcbiAga2JkLFxuICBzYW1wIHtcbiAgICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8vIDFcbiAgICBmb250LXNpemU6IDFlbTsgLy8gMlxuICB9XG5cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG5cbiAgc21hbGwge1xuICAgIGZvbnQtc2l6ZTogODAlO1xuICB9XG5cbiAgLy8gUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gIC8vIGFsbCBicm93c2Vycy5cblxuICBzdWIsXG4gIHN1cCB7XG4gICAgZm9udC1zaXplOiA3NSU7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgfVxuXG4gIHN1YiB7XG4gICAgYm90dG9tOiAtMC4yNWVtO1xuICB9XG5cbiAgc3VwIHtcbiAgICB0b3A6IC0wLjVlbTtcbiAgfVxuXG4gIC8vIEVtYmVkZGVkIGNvbnRlbnRcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLlxuXG4gIGltZyB7XG4gICAgYm9yZGVyLXN0eWxlOiBub25lO1xuICB9XG5cbiAgLy8gRm9ybXNcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2Vycy5cbiAgLy8gMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuXG4gIGJ1dHRvbixcbiAgaW5wdXQsXG4gIG9wdGdyb3VwLFxuICBzZWxlY3QsXG4gIHRleHRhcmVhIHtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDsgLy8gMVxuICAgIGZvbnQtc2l6ZTogMTAwJTsgLy8gMVxuICAgIGxpbmUtaGVpZ2h0OiAxLjE1OyAvLyAxXG4gICAgbWFyZ2luOiAwOyAvLyAyXG4gIH1cblxuICAvLyBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAgLy8gMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cblxuICBidXR0b24sXG4gIGlucHV0IHsgLy8gMVxuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICB9XG5cbiAgLy8gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gIC8vIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cblxuICBidXR0b24sXG4gIHNlbGVjdCB7IC8vIDFcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgfVxuXG4gIC8vIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG5cbiAgYnV0dG9uLFxuICBbdHlwZT1cImJ1dHRvblwiXSxcbiAgW3R5cGU9XCJyZXNldFwiXSxcbiAgW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICB9XG5cbiAgLy8gUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cblxuICBidXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG4gIFt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuICBbdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuICBbdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgYm9yZGVyLXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAvLyBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG5cbiAgYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuICBbdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcbiAgW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcbiAgW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xuICAgIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbiAgfVxuXG4gIC8vIENvcnJlY3QgdGhlIHBhZGRpbmcgaW4gRmlyZWZveC5cblxuICBmaWVsZHNldCB7XG4gICAgcGFkZGluZzogMC4zNWVtIDAuNzVlbSAwLjYyNWVtO1xuICB9XG5cbiAgLy8gMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAgLy8gMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICAvLyAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gIC8vICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuXG4gIGxlZ2VuZCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLy8gMVxuICAgIGNvbG9yOiBpbmhlcml0OyAvLyAyXG4gICAgZGlzcGxheTogdGFibGU7IC8vIDFcbiAgICBtYXgtd2lkdGg6IDEwMCU7IC8vIDFcbiAgICBwYWRkaW5nOiAwOyAvLyAzXG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLy8gMVxuICB9XG5cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cblxuICBwcm9ncmVzcyB7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICB9XG5cbiAgLy8gUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSAxMCsuXG5cbiAgdGV4dGFyZWEge1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICB9XG5cbiAgLy8gMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAuXG4gIC8vIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC5cblxuICBbdHlwZT1cImNoZWNrYm94XCJdLFxuICBbdHlwZT1cInJhZGlvXCJdIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvLyAxXG4gICAgcGFkZGluZzogMDsgLy8gMlxuICB9XG5cbiAgLy8gQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuXG4gIFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuICBbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG5cbiAgLy8gMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gIC8vIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuXG4gIFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLy8gMVxuICAgIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvLyAyXG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG5cbiAgW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgfVxuXG4gIC8vIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gIC8vIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cblxuICA6Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLy8gMVxuICAgIGZvbnQ6IGluaGVyaXQ7IC8vIDJcbiAgfVxuXG4gIC8vIEludGVyYWN0aXZlXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUgMTArLCBhbmQgRmlyZWZveC5cblxuICBkZXRhaWxzIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cblxuICBzdW1tYXJ5IHtcbiAgICBkaXNwbGF5OiBsaXN0LWl0ZW07XG4gIH1cblxuICAvLyBNaXNjXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTArLlxuXG4gIHRlbXBsYXRlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAuXG5cbiAgW2hpZGRlbl0ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbiIsCgkJIi8vL1xuLy8vIENoZWNrcyB3aGV0aGVyIGAkZnVuY3Rpb25zYCBleGlzdCBpbiBnbG9iYWwgc2NvcGUuXG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7QXJnTGlzdH0gJGZ1bmN0aW9ucyAtIGxpc3Qgb2YgZnVuY3Rpb25zIHRvIGNoZWNrIGZvclxuLy8vXG4vLy8gQHJldHVybiB7Qm9vbH0gV2hldGhlciBvciBub3QgdGhlcmUgYXJlIG1pc3NpbmcgZGVwZW5kZW5jaWVzXG4vLy9cbiBcbkBmdW5jdGlvbiBzbC1taXNzaW5nLWRlcGVuZGVuY2llcygkZnVuY3Rpb25zLi4uKSB7XG4gICRtaXNzaW5nLWRlcGVuZGVuY2llczogKCk7XG4gIFxuICBAZWFjaCAkZnVuY3Rpb24gaW4gJGZ1bmN0aW9ucyB7XG4gICAgQGlmIG5vdCBmdW5jdGlvbi1leGlzdHMoJGZ1bmN0aW9uKSB7XG4gICAgICAkbWlzc2luZy1kZXBlbmRlbmNpZXM6IGFwcGVuZCgkbWlzc2luZy1kZXBlbmRlbmNpZXMsICRmdW5jdGlvbiwgY29tbWEpO1xuICAgIH1cbiAgfVxuICBcbiAgQGlmIGxlbmd0aCgkbWlzc2luZy1kZXBlbmRlbmNpZXMpID4gMCB7XG4gICAgQGVycm9yICdVbm1ldCBkZXBlbmRlbmNpZXMhIFRoZSBmb2xsb3dpbmcgZnVuY3Rpb25zIGFyZSByZXF1aXJlZDogI3skbWlzc2luZy1kZXBlbmRlbmNpZXN9Lic7XG4gIH1cblxuICBAcmV0dXJuIGxlbmd0aCgkbWlzc2luZy1kZXBlbmRlbmNpZXMpID4gMDtcbn1cbiIsCgkJIi8vL1xuLy8vIFJldHVybnMgdHJ1dGhpbmVzcyBvZiBgJHZhbHVlYC5cbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHsqfSAkdmFsdWUgLSB2YWx1ZSB0byBjaGVja1xuLy8vXG4vLy8gQHJldHVybiB7Qm9vbH1cbi8vL1xuIFxuQGZ1bmN0aW9uIHNsLWlzLXRydWUoJHZhbHVlKSB7XG4gIEByZXR1cm4gaWYoJHZhbHVlID09IG51bGwsIGZhbHNlLCAkdmFsdWUgYW5kICR2YWx1ZSAhPSBudWxsIGFuZCAkdmFsdWUgIT0gJycgYW5kICR2YWx1ZSAhPSAoKSk7XG59XG4iLAoJCSIvLy9cbi8vLyBSZXR1cm5zIHdoZXRoZXIgYCRsaXN0YCBjb250YWlucyBgJHZhbHVlYC5cbi8vL1xuLy8vIEBpZ25vcmUgRG9jdW1lbnRhdGlvbjogaHR0cDovL2F0LWltcG9ydC5naXRodWIuaW8vU2Fzc3lMaXN0cy9kb2N1bWVudGF0aW9uLyNmdW5jdGlvbi1zbC1jb250YWluXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICAgICRsaXN0ICAtIGxpc3QgdG8gY2hlY2tcbi8vLyBAcGFyYW0geyp9ICAgICAgICR2YWx1ZSAtIHZhbHVlIHRvIGxvb2sgZm9yXG4vLy9cbi8vLyBAZXhhbXBsZVxuLy8vIHNsLWNvbnRhaW4oYSBiIGMsIGEpXG4vLy8gLy8gdHJ1ZVxuLy8vXG4vLy8gQGV4YW1wbGVcbi8vLyBzbC1jb250YWluKGEgYiBjLCB6KVxuLy8vIC8vIGZhbHNlXG4vLy9cbi8vLyBAcmV0dXJuIHtCb29sfVxuLy8vXG5cbkBmdW5jdGlvbiBzbC1jb250YWluKCRsaXN0LCAkdmFsdWUpIHtcbiAgQHJldHVybiBub3Qgbm90IGluZGV4KCRsaXN0LCAkdmFsdWUpO1xufVxuXG4vLy9cbi8vLyBAcmVxdWlyZXMgc2wtY29udGFpblxuLy8vIEBhbGlhcyBzbC1jb250YWluXG4vLy9cbiBcbkBmdW5jdGlvbiBzbC1pbmNsdWRlKCRsaXN0LCAkdmFsdWUpIHtcbiAgQHJldHVybiBzbC1jb250YWluKCRsaXN0LCAkdmFsdWUpO1xufVxuIiwKCQkiLy8vIFJlbW92ZXMgYWxsIGZhbHNlIGFuZCBudWxsIHZhbHVlcyBmcm9tIGAkbGlzdGAuXG4vLy9cbi8vLyBAaWdub3JlIERvY3VtZW50YXRpb246IGh0dHA6Ly9hdC1pbXBvcnQuZ2l0aHViLmlvL1Nhc3N5TGlzdHMvZG9jdW1lbnRhdGlvbi8jZnVuY3Rpb24tc2wtcHVyZ2Vcbi8vL1xuLy8vIEByZXF1aXJlcyBzbC1pcy10cnVlXG4vLy8gQHJlcXVpcmVzIHNsLXRvLWxpc3Rcbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJGxpc3QgLSBsaXN0IHRvIHB1cmdlXG4vLy9cbi8vLyBAZXhhbXBsZVxuLy8vIHNsLXB1cmdlKG51bGwgYSBmYWxzZSBiKVxuLy8vIC8vIGEgYlxuLy8vXG4vLy8gQHJldHVybiB7TGlzdH1cbi8vL1xuXG5AZnVuY3Rpb24gc2wtcHVyZ2UoJGxpc3QpIHtcbiAgJF86IHNsLW1pc3NpbmctZGVwZW5kZW5jaWVzKCdzbC1pcy10cnVlJywgJ3NsLXRvLWxpc3QnKTtcbiAgXG4gICRyZXN1bHQ6ICgpO1xuXG4gIEBlYWNoICRpdGVtIGluICRsaXN0IHtcbiAgICBAaWYgc2wtaXMtdHJ1ZSgkaXRlbSkge1xuICAgICAgJHJlc3VsdDogYXBwZW5kKCRyZXN1bHQsICRpdGVtLCBsaXN0LXNlcGFyYXRvcigkbGlzdCkpO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gc2wtdG8tbGlzdCgkcmVzdWx0KTtcbn1cblxuLy8vXG4vLy8gQHJlcXVpcmVzIHNsLXB1cmdlXG4vLy8gQGFsaWFzIHNsLXB1cmdlXG4vLy9cbiBcbkBmdW5jdGlvbiBzbC1jbGVhbigkbGlzdCkge1xuICBAcmV0dXJuIHNsLXB1cmdlKCRsaXN0KTtcbn1cbiIsCgkJIi8vL1xuLy8vIFJlbW92ZXMgdmFsdWUocykgYCR2YWx1ZWAgZnJvbSBgJGxpc3RgLlxuLy8vXG4vLy8gQGlnbm9yZSBEb2N1bWVudGF0aW9uOiBodHRwOi8vYXQtaW1wb3J0LmdpdGh1Yi5pby9TYXNzeUxpc3RzL2RvY3VtZW50YXRpb24vI2Z1bmN0aW9uLXNsLXJlbW92ZVxuLy8vXG4vLy8gQHJlcXVpcmVzIHNsLXJlcGxhY2Vcbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gICAgJGxpc3QgICAgICAtIGxpc3QgdG8gdXBkYXRlXG4vLy8gQHBhcmFtIHsqfSAgICAgICAkdmFsdWUgICAgIC0gdmFsdWUgdG8gcmVtb3ZlXG4vLy9cbi8vLyBAZXhhbXBsZVxuLy8vIHNsLXJlbW92ZShhIGIgYywgYSlcbi8vLyAvLyBiIGNcbi8vL1xuLy8vIEByZXR1cm4ge0xpc3R9XG4vLy9cblxuQGZ1bmN0aW9uIHNsLXJlbW92ZSgkbGlzdCwgJHZhbHVlKSB7XG4gICRfOiBzbC1taXNzaW5nLWRlcGVuZGVuY2llcygnc2wtcmVwbGFjZScpO1xuXG4gIEByZXR1cm4gc2wtcmVwbGFjZSgkbGlzdCwgJHZhbHVlLCBudWxsKTtcbn1cblxuLy8vXG4vLy8gQHJlcXVpcmVzIHNsLXJlbW92ZVxuLy8vIEBhbGlhcyBzbC1yZW1vdmVcbi8vL1xuXG5AZnVuY3Rpb24gc2wtd2l0aG91dCgkbGlzdCwgJHZhbHVlKSB7XG4gIEByZXR1cm4gc2wtcmVtb3ZlKCRsaXN0LCAkdmFsdWUpO1xufVxuIiwKCQkiLy8vXG4vLy8gUmVwbGFjZXMgYCRvbGRgIGJ5IGAkbmV3YCBpbiBgJGxpc3RgLlxuLy8vXG4vLy8gQGlnbm9yZSBEb2N1bWVudGF0aW9uOiBodHRwOi8vYXQtaW1wb3J0LmdpdGh1Yi5pby9TYXNzeUxpc3RzL2RvY3VtZW50YXRpb24vI2Z1bmN0aW9uLXNsLXJlcGxhY2Vcbi8vL1xuLy8vIEByZXF1aXJlcyBzbC1pcy10cnVlXG4vLy8gQHJlcXVpcmVzIHNsLXB1cmdlXG4vLy8gQHJlcXVpcmVzIHNsLXRvLWxpc3Rcbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gICAgJGxpc3QgIC0gbGlzdCB0byB1cGRhdGVcbi8vLyBAcGFyYW0geyp9ICAgICAgICRvbGQgICAtIHZhbHVlIHRvIHJlcGxhY2Vcbi8vLyBAcGFyYW0geyp9ICAgICAgICR2YWx1ZSAtIG5ldyB2YWx1ZSBmb3IgJG9sZFxuLy8vXG4vLy8gQGV4YW1wbGVcbi8vLyBzbC1yZXBsYWNlKGEgYiBjLCBiLCB6KVxuLy8vIC8vIGEgeiBjXG4vLy9cbi8vLyBAZXhhbXBsZVxuLy8vIHNsLXJlcGxhY2UoYSBiIGMsIHksIHopXG4vLy8gLy8gYSBiIGNcbi8vLyBcbi8vLyBAcmV0dXJuIHtMaXN0fVxuLy8vXG4gXG5AZnVuY3Rpb24gc2wtcmVwbGFjZSgkbGlzdCwgJG9sZCwgJHZhbHVlKSB7XG4gICRfOiBzbC1taXNzaW5nLWRlcGVuZGVuY2llcygnc2wtaXMtdHJ1ZScsICdzbC1wdXJnZScsICdzbC10by1saXN0Jyk7XG5cbiAgJHJ1bm5pbmc6IHRydWU7XG5cbiAgQHdoaWxlICRydW5uaW5nIHtcbiAgICAkaW5kZXg6IGluZGV4KCRsaXN0LCAkb2xkKTtcblxuICAgIEBpZiBub3QgJGluZGV4IHtcbiAgICAgICRydW5uaW5nOiBmYWxzZTtcbiAgICB9XG5cbiAgICBAZWxzZSB7XG4gICAgICAkbGlzdDogc2V0LW50aCgkbGlzdCwgJGluZGV4LCAkdmFsdWUpO1xuICAgIH1cblxuICB9XG5cbiAgJGxpc3Q6IGlmKHNsLWlzLXRydWUoJHZhbHVlKSwgJGxpc3QsIHNsLXB1cmdlKCRsaXN0KSk7XG4gIFxuICBAcmV0dXJuIHNsLXRvLWxpc3QoJGxpc3QpO1xufVxuIiwKCQkiLy8vXG4vLy8gQ2FzdHMgYCR2YWx1ZWAgaW50byBhIGxpc3QuXG4vLy9cbi8vLyBAaWdub3JlIERvY3VtZW50YXRpb246IGh0dHA6Ly9hdC1pbXBvcnQuZ2l0aHViLmlvL1Nhc3N5TGlzdHMvZG9jdW1lbnRhdGlvbi8jZnVuY3Rpb24tc2wtdG8tbGlzdFxuLy8vXG4vLy8gQHBhcmFtIHsqfSAkdmFsdWUgLSB2YWx1ZSB0byBjYXN0IHRvIGxpc3Rcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlcGFyYXRvciBbc3BhY2VdIC0gc2VwYXJhdG9yIHRvIHVzZVxuLy8vXG4vLy8gQGV4YW1wbGVcbi8vLyBzbC10by1saXN0KGEgYiBjLCBjb21tYSlcbi8vLyAvLyBhLCBiLCBjXG4vLy8gXG4vLy8gQHJldHVybiB7TGlzdH1cbi8vL1xuXG5AZnVuY3Rpb24gc2wtdG8tbGlzdCgkdmFsdWUsICRzZXBhcmF0b3I6IGxpc3Qtc2VwYXJhdG9yKCR2YWx1ZSkpIHtcbiAgQHJldHVybiBqb2luKCgpLCAkdmFsdWUsICRzZXBhcmF0b3IpO1xufVxuXG4vLy9cbi8vLyBAcmVxdWlyZXMgc2wtdG8tbGlzdFxuLy8vIEBhbGlhcyBzbC10by1saXN0XG4vLy9cblxuQGZ1bmN0aW9uIHNsLWxpc3RpZnkoJHZhbHVlKSB7XG4gIEByZXR1cm4gc2wtdG8tbGlzdCgkdmFsdWUpO1xufVxuIiwKCQkiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdtYXRoJztcbkBpbXBvcnQgJ3VuaXQnO1xuQGltcG9ydCAndmFsdWUnO1xuQGltcG9ydCAnZGlyZWN0aW9uJztcbkBpbXBvcnQgJ2NvbG9yJztcbkBpbXBvcnQgJ3NlbGVjdG9yJztcbkBpbXBvcnQgJ2ZsZXgnO1xuQGltcG9ydCAnYnJlYWtwb2ludCc7XG5AaW1wb3J0ICdtaXhpbnMnO1xuQGltcG9ydCAndHlwb2dyYXBoeSc7XG4iLAoJCSIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBGaW5kcyB0aGUgZ3JlYXRlc3QgY29tbW9uIGRpdmlzb3Igb2YgdHdvIGludGVnZXJzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRhIC0gRmlyc3QgbnVtYmVyIHRvIGNvbXBhcmUuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiIC0gU2Vjb25kIG51bWJlciB0byBjb21wYXJlLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIGdyZWF0ZXN0IGNvbW1vbiBkaXZpc29yLlxuQGZ1bmN0aW9uIGdjZCgkYSwgJGIpIHtcbiAgLy8gRnJvbTogaHR0cDovL3Jvc2V0dGFjb2RlLm9yZy93aWtpL0dyZWF0ZXN0X2NvbW1vbl9kaXZpc29yI0phdmFTY3JpcHRcbiAgQGlmICgkYiAhPSAwKSB7XG4gICAgQHJldHVybiBnY2QoJGIsICRhICUgJGIpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIGFicygkYSk7XG4gIH1cbn1cblxuLy8vIEhhbmRsZXMgZGVjaW1hbCBleHBvbmVudHMgYnkgdHJ5aW5nIHRvIGNvbnZlcnQgdGhlbSBpbnRvIGEgZnJhY3Rpb24gYW5kIHRoZW4gdXNlIGEgbnRoLXJvb3QtYWxnb3JpdGhtIGZvciBwYXJ0cyBvZiB0aGUgY2FsY3VsYXRpb25cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSAtIFRoZSBiYXNlIG51bWJlci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGV4cG9uZW50IC0gVGhlIGV4cG9uZW50LlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIHByb2R1Y3Qgb2YgdGhlIGV4cG9uZW50aWF0aW9uLlxuQGZ1bmN0aW9uIHBvdygkYmFzZSwgJGV4cG9uZW50LCAkcHJlYzogMTYpIHtcbiAgQGlmIChmbG9vcigkZXhwb25lbnQpICE9ICRleHBvbmVudCkge1xuICAgICRwcmVjMiA6IHBvdygxMCwgJHByZWMpO1xuICAgICRleHBvbmVudDogcm91bmQoJGV4cG9uZW50ICogJHByZWMyKTtcbiAgICAkZGVub21pbmF0b3I6IGdjZCgkZXhwb25lbnQsICRwcmVjMik7XG4gICAgQHJldHVybiBudGgtcm9vdChwb3coJGJhc2UsICRleHBvbmVudCAvICRkZW5vbWluYXRvciksICRwcmVjMiAvICRkZW5vbWluYXRvciwgJHByZWMpO1xuICB9XG5cbiAgJHZhbHVlOiAkYmFzZTtcbiAgQGlmICRleHBvbmVudCA+IDEge1xuICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGV4cG9uZW50IHtcbiAgICAgICR2YWx1ZTogJHZhbHVlICogJGJhc2U7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRleHBvbmVudCA8IDEge1xuICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggLSRleHBvbmVudCB7XG4gICAgICAkdmFsdWU6ICR2YWx1ZSAvICRiYXNlO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuXG5AZnVuY3Rpb24gbnRoLXJvb3QoJG51bSwgJG46IDIsICRwcmVjOiAxMikge1xuICAvLyBGcm9tOiBodHRwOi8vcm9zZXR0YWNvZGUub3JnL3dpa2kvTnRoX3Jvb3QjSmF2YVNjcmlwdFxuICAkeDogMTtcblxuICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICRwcmVjIHtcbiAgICAkeDogMSAvICRuICogKCgkbiAtIDEpICogJHggKyAoJG51bSAvIHBvdygkeCwgJG4gLSAxKSkpO1xuICB9XG5cbiAgQHJldHVybiAkeDtcbn1cblxuLy8vIENhbGN1bGF0ZXMgdGhlIGhlaWdodCBhcyBhIHBlcmNlbnRhZ2Ugb2YgdGhlIHdpZHRoIGZvciBhIGdpdmVuIHJhdGlvLlxuLy8vIEBwYXJhbSB7TGlzdH0gJHJhdGlvIC0gUmF0aW8gdG8gdXNlIHRvIGNhbGN1bGF0ZSB0aGUgaGVpZ2h0LCBmb3JtYXR0ZWQgYXMgYHggYnkgeWAuXG4vLy8gQHJldHVybiB7TnVtYmVyfSBBIHBlcmNlbnRhZ2UgdmFsdWUgZm9yIHRoZSBoZWlnaHQgcmVsYXRpdmUgdG8gdGhlIHdpZHRoIG9mIGEgcmVzcG9uc2l2ZSBjb250YWluZXIuXG5AZnVuY3Rpb24gcmF0aW8tdG8tcGVyY2VudGFnZSgkcmF0aW8pIHtcbiAgJHc6IG50aCgkcmF0aW8sIDEpO1xuICAkaDogbnRoKCRyYXRpbywgMyk7XG4gIEByZXR1cm4gJGggLyAkdyAqIDEwMCU7XG59XG5cbi8vLyBQYXJzZSB0aGUgZ2l2ZW4gYCRmcmFjdGlvbmAgdG8gbnVtZXJhdG9ycyBhbmQgZGVudW1lcmF0b3JzLlxuLy8vXG4vLy8gQHBhcmFtIHsqfSAkZnJhY3Rpb24gLSBWYWx1ZSByZXByZXNlbnRpbmcgYSBmcmFjdGlvbiB0byBwYXJzZS4gSXQgY2FuIGJlIGZvcm1hdHRlZCBhcyBgNTAlYCwgYDEgb2YgMmAsIGAxLzJgIG9yIGA1MGAgKG5vIGRlbm9taW5hdG9yIHdvdWxkIGJlIHJldHVybmVkKS5cbi8vL1xuLy8vIEByZXR1cm4ge0xpc3R9IExpc3Qgb2YgcGFyc2VkIHZhbHVlcyB3aXRoIG51bWVyYXRvciBhdCBmaXJzdCBwb3NpdGlvbiBhbmQgZGVudW1lcmF0b3IgYXMgc2Vjb25kLiBUaGVzZSB2YWx1ZXMgbWF5IGJlIG51bGwuXG5AZnVuY3Rpb24gemYtcGFyc2UtZnJhY3Rpb24oJGZyYWN0aW9uKSB7XG5cbiAgQGlmIHR5cGUtb2YoJGZyYWN0aW9uKSA9PSAnbnVtYmVyJyB7XG4gICAgLy8gXCI1MCVcIlxuICAgIEBpZiB1bml0KCRmcmFjdGlvbikgPT0gJyUnIHtcbiAgICAgIEByZXR1cm4gKHN0cmlwLXVuaXQoJGZyYWN0aW9uKSwgMTAwKTtcbiAgICB9XG4gICAgQGVsc2UgaWYgKHVuaXQoJGZyYWN0aW9uKSA9PSAnJykge1xuICAgICAgLy8gXCIwLjVcIlxuICAgICAgQGlmICRmcmFjdGlvbiA8IDEge1xuICAgICAgICBAcmV0dXJuICgkZnJhY3Rpb24gKiAxMDAsIDEwMCk7XG4gICAgICB9XG4gICAgICAvLyBcIjUwXCJcbiAgICAgIEBlbHNlIHtcbiAgICAgICAgQHJldHVybiAoJGZyYWN0aW9uLCBudWxsKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAZWxzZSBpZiB0eXBlLW9mKCRmcmFjdGlvbikgPT0gJ2xpc3QnIHtcbiAgICAvLyBcIjUwIG9mIDEwMFwiLCBcIjUwLzEwMFwiLi4uXG4gICAgQGlmIGxlbmd0aCgkZnJhY3Rpb24pID09IDNcbiAgICAgIGFuZCB0eXBlLW9mKG50aCgkZnJhY3Rpb24sIDEpID09ICdudW1iZXInKVxuICAgICAgYW5kIHR5cGUtb2YobnRoKCRmcmFjdGlvbiwgMykgPT0gJ251bWJlcicpIHtcbiAgICAgIEByZXR1cm4gKG50aCgkZnJhY3Rpb24sIDEpLCBudGgoJGZyYWN0aW9uLCAzKSk7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAobnVsbCwgbnVsbCk7XG59XG5cbi8vLyBSZXR1cm5zIHdoZXRoZXIgdGhlIGdpdmVuIGAkdmFsdWVgIHJlcHJlc2VudHMgYSBmcmFjdGlvbi4gU3VwcG9ydHMgZm9ybWF0cyBsaWtlIGA1MCVgLCBgMSBvZiAyYCwgYDEgcGVyIDJgIG9yIGAxLzJgLlxuLy8vXG4vLy8gQHBhcmFtIHsqfSAkdmFsdWUgLSBWYWx1ZSB0byB0ZXN0LlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGFsbG93LW5vLWRlbm9taW5hdG9yIFtmYWxzZV0gLSBJZiBgdHJ1ZWAsIHNpbXBsZSBudW1iZXJzIHdpdGhvdXQgZGVub21pbmF0b3JzIGxpa2UgYDUwYCBhcmUgc3VwcG9ydGVkLlxuLy8vXG4vLy8gQHJldHVybiB7Qm9vbGVhbn0gYHRydWVgIGlmIGAkdmFsdWVgIHJlcHJlc2VudHMgYSBmcmFjdGlvbiwgYGZhbHNlYCBvdGhlcndpc2UuXG5AZnVuY3Rpb24gemYtaXMtZnJhY3Rpb24oJHZhbHVlLCAkYWxsb3ctbm8tZGVub21pbmF0b3I6IGZhbHNlKSB7XG4gICRwYXJzZWQ6IHpmLXBhcnNlLWZyYWN0aW9uKCR2YWx1ZSk7XG4gIEByZXR1cm4gbm90KG50aCgkcGFyc2VkLCAxKSA9PSBudWxsXG4gICAgb3IgKG50aCgkcGFyc2VkLCAyKSA9PSBudWxsIGFuZCAkYWxsb3ctbm8tZGVub21pbmF0b3IgPT0gZmFsc2UpKTtcbn1cblxuLy8vIENhbGN1bGF0ZSBhIHBlcmNlbnRhZ2UgZnJvbSBhIGdpdmVuIGZyYWN0aW9uLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJGZyYWN0aW9uIC0gVmFsdWUgcmVwcmVzZW50aW5nIGEgZnJhY3Rpb24gdG8gdXNlIHRvIGNhbGN1bGF0ZSB0aGUgcGVyY2VudGFnZSwgZm9ybWF0dGVkIGFzIGA1MGAgKHJlbGF0aXZlIHRvIGAkZGVub21pbmF0b3JgKSwgYDUwJWAsIGAxIG9mIDJgIG9yIGAxLzJgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRkZW5vbWluYXRvciAtIERlZmF1bHQgdmFsdWUgdG8gdXNlIGFzIGRlbm9taW5hdG9yIHdoZW4gYCRmcmFjdGlvbmAgcmVwcmVzZW50cyBhbiBhYnNvbHV0ZSB2YWx1ZS5cbkBmdW5jdGlvbiBmcmFjdGlvbi10by1wZXJjZW50YWdlKFxuICAkZnJhY3Rpb24sXG4gICRkZW5vbWluYXRvcjogbnVsbFxuKSB7XG4gICRwYXJzZWQ6IHpmLXBhcnNlLWZyYWN0aW9uKCRmcmFjdGlvbik7XG4gICRwYXJzZWQtbm9taW5hdG9yOiBudGgoJHBhcnNlZCwgMSk7XG4gICRwYXJzZWQtZGVub21pbmF0b3I6IG50aCgkcGFyc2VkLCAyKTtcblxuICBAaWYgJHBhcnNlZC1ub21pbmF0b3IgPT0gbnVsbCB7XG4gICAgQGVycm9yICdXcm9uZyBzeW50YXggZm9yIFwiZnJhY3Rpb24tdG8tcGVyY2VudGFnZSgpXCIuIFVzZSBhIG51bWJlciwgZGVjaW1hbCwgcGVyY2VudGFnZSwgb3IgXCJuIG9mIG5cIiAvIFwibi9uXCIuJztcbiAgfVxuICBAaWYgJHBhcnNlZC1kZW5vbWluYXRvciA9PSBudWxsIHtcbiAgICBAaWYgdHlwZS1vZigkZGVub21pbmF0b3IpID09ICdudW1iZXInIHtcbiAgICAgICRwYXJzZWQtZGVub21pbmF0b3I6ICRkZW5vbWluYXRvcjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGVycm9yICdFcnJvciB3aXRoIFwiZnJhY3Rpb24tdG8tcGVyY2VudGFnZSgpXCIuIEEgZGVmYXVsdCBcIiRkZW5vbWluYXRvclwiIGlzIHJlcXVpcmVkIHRvIHN1cHBvcnQgYWJzb2x1dGUgdmFsdWVzJztcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuIHBlcmNlbnRhZ2UoJHBhcnNlZC1ub21pbmF0b3IgLyAkcGFyc2VkLWRlbm9taW5hdG9yKTtcbn1cbiIsCgkJIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuJGdsb2JhbC1mb250LXNpemU6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vLyBSZW1vdmVzIHRoZSB1bml0IChlLmcuIHB4LCBlbSwgcmVtKSBmcm9tIGEgdmFsdWUsIHJldHVybmluZyB0aGUgbnVtYmVyIG9ubHkuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG51bSAtIE51bWJlciB0byBzdHJpcCB1bml0IGZyb20uXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgc2FtZSBudW1iZXIsIHNhbnMgdW5pdC5cbkBmdW5jdGlvbiBzdHJpcC11bml0KCRudW0pIHtcbiAgQHJldHVybiAkbnVtIC8gKCRudW0gKiAwICsgMSk7XG59XG5cbi8vLyBDb252ZXJ0cyBvbmUgb3IgbW9yZSBwaXhlbCB2YWx1ZXMgaW50byBtYXRjaGluZyByZW0gdmFsdWVzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJHZhbHVlcyAtIE9uZSBvciBtb3JlIHZhbHVlcyB0byBjb252ZXJ0LiBCZSBzdXJlIHRvIHNlcGFyYXRlIHRoZW0gd2l0aCBzcGFjZXMgYW5kIG5vdCBjb21tYXMuIElmIHlvdSBuZWVkIHRvIGNvbnZlcnQgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCwgd3JhcCB0aGUgbGlzdCBpbiBwYXJlbnRoZXNlcy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgW251bGxdIC0gVGhlIGJhc2UgdmFsdWUgdG8gdXNlIHdoZW4gY2FsY3VsYXRpbmcgdGhlIGByZW1gLiBJZiB5b3UncmUgdXNpbmcgRm91bmRhdGlvbiBvdXQgb2YgdGhlIGJveCwgdGhpcyBpcyAxNnB4LiBJZiB0aGlzIHBhcmFtZXRlciBpcyBgbnVsbGAsIHRoZSBmdW5jdGlvbiB3aWxsIHJlZmVyZW5jZSB0aGUgYCRnbG9iYWwtZm9udC1zaXplYCB2YXJpYWJsZSBhcyB0aGUgYmFzZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtMaXN0fSBBIGxpc3Qgb2YgY29udmVydGVkIHZhbHVlcy5cbkBmdW5jdGlvbiByZW0tY2FsYygkdmFsdWVzLCAkYmFzZTogbnVsbCkge1xuICAkcmVtLXZhbHVlczogKCk7XG4gICRjb3VudDogbGVuZ3RoKCR2YWx1ZXMpO1xuXG4gIC8vIElmIG5vIGJhc2UgaXMgZGVmaW5lZCwgZGVmZXIgdG8gdGhlIGdsb2JhbCBmb250IHNpemVcbiAgQGlmICRiYXNlID09IG51bGwge1xuICAgICRiYXNlOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIElmIHRoZSBiYXNlIGZvbnQgc2l6ZSBpcyBhICUsIHRoZW4gbXVsdGlwbHkgaXQgYnkgMTZweFxuICAvLyBUaGlzIGlzIGJlY2F1c2UgMTAwJSBmb250IHNpemUgPSAxNnB4IGluIG1vc3QgYWxsIGJyb3dzZXJzXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnJScge1xuICAgICRiYXNlOiAoJGJhc2UgLyAxMDAlKSAqIDE2cHg7XG4gIH1cblxuICAvLyBVc2luZyByZW0gYXMgYmFzZSBhbGxvd3MgY29ycmVjdCBzY2FsaW5nXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAncmVtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIEBpZiAkY291bnQgPT0gMSB7XG4gICAgQHJldHVybiAtemYtdG8tcmVtKCR2YWx1ZXMsICRiYXNlKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvdW50IHtcbiAgICAkcmVtLXZhbHVlczogYXBwZW5kKCRyZW0tdmFsdWVzLCAtemYtdG8tcmVtKG50aCgkdmFsdWVzLCAkaSksICRiYXNlKSk7XG4gIH1cblxuICBAcmV0dXJuICRyZW0tdmFsdWVzO1xufVxuXG4vLyBDb252ZXJ0cyBhIHVuaXRsZXNzLCBwaXhlbCwgb3IgcmVtIHZhbHVlIHRvIGVtLCBmb3IgdXNlIGluIGJyZWFrcG9pbnRzLlxuQGZ1bmN0aW9uIC16Zi1icC10by1lbSgkdmFsdWUpIHtcbiAgLy8gUGl4ZWwgYW5kIHVuaXRsZXNzIHZhbHVlcyBhcmUgY29udmVydGVkIHRvIHJlbXNcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncHgnIG9yIHVuaXRsZXNzKCR2YWx1ZSkge1xuICAgICR2YWx1ZTogcmVtLWNhbGMoJHZhbHVlLCAkYmFzZTogMTZweCk7XG4gIH1cblxuICAvLyBUaGVuIHRoZSB2YWx1ZSBpcyBjb252ZXJ0ZWQgdG8gZW1zXG4gIEByZXR1cm4gc3RyaXAtdW5pdCgkdmFsdWUpICogMWVtO1xufVxuXG4vLy8gQ29udmVydHMgYSBwaXhlbCB2YWx1ZSB0byBtYXRjaGluZyByZW0gdmFsdWUuICpBbnkqIHZhbHVlIHBhc3NlZCwgcmVnYXJkbGVzcyBvZiB1bml0LCBpcyBhc3N1bWVkIHRvIGJlIGEgcGl4ZWwgdmFsdWUuIEJ5IGRlZmF1bHQsIHRoZSBiYXNlIHBpeGVsIHZhbHVlIHVzZWQgdG8gY2FsY3VsYXRlIHRoZSByZW0gdmFsdWUgaXMgdGFrZW4gZnJvbSB0aGUgYCRnbG9iYWwtZm9udC1zaXplYCB2YXJpYWJsZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBQaXhlbCB2YWx1ZSB0byBjb252ZXJ0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSBbbnVsbF0gLSBCYXNlIGZvciBwaXhlbCBjb252ZXJzaW9uLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gQSBudW1iZXIgaW4gcmVtcywgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgZ2l2ZW4gdmFsdWUgYW5kIHRoZSBiYXNlIHBpeGVsIHZhbHVlLiByZW0gdmFsdWVzIGFyZSBwYXNzZWQgdGhyb3VnaCBhcyBpcy5cbkBmdW5jdGlvbiAtemYtdG8tcmVtKCR2YWx1ZSwgJGJhc2U6IG51bGwpIHtcbiAgLy8gQ2hlY2sgaWYgdGhlIHZhbHVlIGlzIGEgbnVtYmVyXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgIT0gJ251bWJlcicge1xuICAgIEB3YXJuIGluc3BlY3QoJHZhbHVlKSArICcgd2FzIHBhc3NlZCB0byByZW0tY2FsYygpLCB3aGljaCBpcyBub3QgYSBudW1iZXIuJztcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxuXG4gIC8vIFRyYW5zZm9ybSBlbSBpbnRvIHJlbSBpZiBzb21lb25lIGhhbmRzIG92ZXIgJ2VtJ3NcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqIDFyZW07XG4gIH1cblxuICAvLyBDYWxjdWxhdGUgcmVtIGlmIHVuaXRzIGZvciAkdmFsdWUgaXMgbm90IHJlbSBvciBlbVxuICBAaWYgdW5pdCgkdmFsdWUpICE9ICdyZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAvIHN0cmlwLXVuaXQoJGJhc2UpICogMXJlbTtcbiAgfVxuXG4gIC8vIFR1cm4gMHJlbSBpbnRvIDBcbiAgQGlmICR2YWx1ZSA9PSAwcmVtIHtcbiAgICAkdmFsdWU6IDA7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cblxuLy8vIENvbnZlcnRzIGEgcGl4ZWwsIHBlcmNlbnRhZ2UsIHJlbSBvciBlbSB2YWx1ZSB0byBhIHVuaXRsZXNzIHZhbHVlIGJhc2VkIG9uIGEgZ2l2ZW4gZm9udCBzaXplLiBJZGVhbCBmb3Igd29ya2luZyBvdXQgdW5pdGxlc3MgbGluZSBoZWlnaHRzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGNvbnZlcnQgdG8gYSB1bml0bGVzcyBsaW5lIGhlaWdodFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSAtIFRoZSBmb250IHNpemUgdG8gdXNlIHRvIHdvcmsgb3V0IHRoZSBsaW5lIGhlaWdodCAtIGRlZmF1bHRzIHRvICRnbG9iYWwtZm9udC1zaXplXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gVW5pdGxlc3MgbnVtYmVyXG5AZnVuY3Rpb24gdW5pdGxlc3MtY2FsYygkdmFsdWUsICRiYXNlOiBudWxsKSB7XG5cbiAgLy8gSWYgbm8gYmFzZSBpcyBkZWZpbmVkLCBkZWZlciB0byB0aGUgZ2xvYmFsIGZvbnQgc2l6ZVxuICBAaWYgJGJhc2UgPT0gbnVsbCB7XG4gICAgJGJhc2U6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gRmlyc3QsIGxldHMgY29udmVydCBvdXIgJGJhc2UgdG8gcGl4ZWxzXG5cbiAgLy8gSWYgdGhlIGJhc2UgZm9udCBzaXplIGlzIGEgJSwgdGhlbiBtdWx0aXBseSBpdCBieSAxNnB4XG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnJScge1xuICAgICRiYXNlOiAoJGJhc2UgLyAxMDAlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ3JlbScge1xuICAgICRiYXNlOiBzdHJpcC11bml0KCRiYXNlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ2VtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIC8vIE5vdyBsZXQncyBjb252ZXJ0IG91ciB2YWx1ZSB0byBwaXhlbHMgdG9vXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJyUnIHtcbiAgICAkdmFsdWU6ICgkdmFsdWUgLyAxMDAlKSAqICRiYXNlO1xuICB9XG5cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncmVtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgKiAkYmFzZTtcbiAgfVxuXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ2VtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgKiAkYmFzZTtcbiAgfVxuXG4gIC8vICdweCdcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncHgnIHtcbiAgICBAcmV0dXJuIHN0cmlwLXVuaXQoJHZhbHVlKSAvIHN0cmlwLXVuaXQoJGJhc2UpO1xuICB9XG5cbiAgLy8gYXNzdW1lIHRoYXQgbGluZS1oZWlnaHRzIGdyZWF0ZXIgdGhhbiAxMCBhcmUgbWVhbnQgdG8gYmUgYWJzb2x1dGUgaW4gJ3B4J1xuICBAaWYgdW5pdGxlc3MoJHZhbHVlKSBhbmQgKCR2YWx1ZSA+IDEwKSB7XG4gICAgQHJldHVybiAkdmFsdWUgLyBzdHJpcC11bml0KCRiYXNlKTtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuIiwKCQkiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gRGV0ZXJtaW5lIGlmIGEgdmFsdWUgaXMgbm90IGZhbHNleSwgaW4gQ1NTIHRlcm1zLiBGYWxzZXkgdmFsdWVzIGFyZSBgbnVsbGAsIGBub25lYCwgYDBgIHdpdGggYW55IHVuaXQsIG9yIGFuIGVtcHR5IGxpc3QuXG4vLy9cbi8vLyBAcGFyYW0ge01peGVkfSAkdmFsIC0gVmFsdWUgdG8gY2hlY2suXG4vLy9cbi8vLyBAcmV0dXJucyB7Qm9vbGVhbn0gYHRydWVgIGlmIGAkdmFsYCBpcyBub3QgZmFsc2V5LlxuQGZ1bmN0aW9uIGhhcy12YWx1ZSgkdmFsKSB7XG4gIEBpZiAkdmFsID09IG51bGwgb3IgJHZhbCA9PSBub25lIHtcbiAgICBAcmV0dXJuIGZhbHNlO1xuICB9XG4gIEBpZiB0eXBlLW9mKCR2YWwpID09ICdudW1iZXInIGFuZCBzdHJpcC11bml0KCR2YWwpID09IDAge1xuICAgIEByZXR1cm4gZmFsc2U7XG4gIH1cbiAgQGlmIHR5cGUtb2YoJHZhbCkgPT0gJ2xpc3QnIGFuZCBsZW5ndGgoJHZhbCkgPT0gMCB7XG4gICAgQHJldHVybiBmYWxzZTtcbiAgfVxuICBAcmV0dXJuIHRydWU7XG59XG5cbi8vLyBEZXRlcm1pbmUgYSB0b3AvcmlnaHQvYm90dG9tL3JpZ2h0IHZhbHVlIG9uIGEgcGFkZGluZywgbWFyZ2luLCBldGMuIHByb3BlcnR5LCBubyBtYXR0ZXIgaG93IG1hbnkgdmFsdWVzIHdlcmUgcGFzc2VkIGluLiBVc2UgdGhpcyBmdW5jdGlvbiBpZiB5b3UgbmVlZCB0byBrbm93IHRoZSBzcGVjaWZpYyBzaWRlIG9mIGEgdmFsdWUsIGJ1dCBkb24ndCBrbm93IGlmIHRoZSB2YWx1ZSBpcyB1c2luZyBhIHNob3J0aGFuZCBmb3JtYXQuXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R8TnVtYmVyfSAkdmFsIC0gVmFsdWUgdG8gYW5hbHl6ZS4gU2hvdWxkIGJlIGEgc2hvcnRoYW5kIHNpemluZyBwcm9wZXJ0eSwgZS5nLiBcIjFlbSAyZW0gMWVtXCJcbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaWRlIC0gU2lkZSB0byByZXR1cm4uIFNob3VsZCBiZSBgdG9wYCwgYHJpZ2h0YCwgYGJvdHRvbWAsIG9yIGBsZWZ0YC5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IEEgc2luZ2xlIHZhbHVlIGJhc2VkIG9uIGAkdmFsYCBhbmQgYCRzaWRlYC5cbkBmdW5jdGlvbiBnZXQtc2lkZSgkdmFsLCAkc2lkZSkge1xuICAkbGVuZ3RoOiBsZW5ndGgoJHZhbCk7XG5cbiAgQGlmICRsZW5ndGggPT0gMSB7XG4gICAgQHJldHVybiAkdmFsO1xuICB9XG4gIEBpZiAkbGVuZ3RoID09IDIge1xuICAgIEByZXR1cm4gbWFwLWdldCgoXG4gICAgICB0b3A6IG50aCgkdmFsLCAxKSxcbiAgICAgIGJvdHRvbTogbnRoKCR2YWwsIDEpLFxuICAgICAgbGVmdDogbnRoKCR2YWwsIDIpLFxuICAgICAgcmlnaHQ6IG50aCgkdmFsLCAyKSxcbiAgICApLCAkc2lkZSk7XG4gIH1cbiAgQGlmICRsZW5ndGggPT0gMyB7XG4gICAgQHJldHVybiBtYXAtZ2V0KChcbiAgICAgIHRvcDogbnRoKCR2YWwsIDEpLFxuICAgICAgbGVmdDogbnRoKCR2YWwsIDIpLFxuICAgICAgcmlnaHQ6IG50aCgkdmFsLCAyKSxcbiAgICAgIGJvdHRvbTogbnRoKCR2YWwsIDMpLFxuICAgICksICRzaWRlKTtcbiAgfVxuICBAaWYgJGxlbmd0aCA9PSA0IHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoKFxuICAgICAgdG9wOiBudGgoJHZhbCwgMSksXG4gICAgICByaWdodDogbnRoKCR2YWwsIDIpLFxuICAgICAgYm90dG9tOiBudGgoJHZhbCwgMyksXG4gICAgICBsZWZ0OiBudGgoJHZhbCwgNCksXG4gICAgKSwgJHNpZGUpO1xuICB9XG59XG5cbi8vLyBHaXZlbiBib3JkZXIgJHZhbCwgZmluZCBhIHNwZWNpZmljIGVsZW1lbnQgb2YgdGhlIGJvcmRlciwgd2hpY2ggaXMgJGVsZW0uIFRoZSBwb3NzaWJsZSB2YWx1ZXMgZm9yICRlbGVtIGFyZSB3aWR0aCwgc3R5bGUsIGFuZCBjb2xvci5cbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJHZhbCAtIEJvcmRlciB2YWx1ZSB0byBmaW5kIGEgdmFsdWUgaW4uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZWxlbSAtIEJvcmRlciBjb21wb25lbnQgdG8gZXh0cmFjdC5cbi8vL1xuLy8vIEByZXR1cm5zIHtNaXhlZH0gSWYgdGhlIHZhbHVlIGV4aXN0cywgcmV0dXJucyB0aGUgdmFsdWUuIElmIHRoZSB2YWx1ZSBpcyBub3QgaW4gdGhlIGJvcmRlciBkZWZpbml0aW9uLCB0aGUgZnVuY3Rpb24gd2lsbCByZXR1cm4gYSAwcHggd2lkdGgsIHNvbGlkIHN0eWxlLCBvciBibGFjayBib3JkZXIuXG5AZnVuY3Rpb24gZ2V0LWJvcmRlci12YWx1ZSgkdmFsLCAkZWxlbSkge1xuICAvLyBGaW5kIHRoZSB3aWR0aCwgc3R5bGUsIG9yIGNvbG9yIGFuZCByZXR1cm4gaXRcbiAgQGVhY2ggJHYgaW4gJHZhbCB7XG4gICAgJHR5cGU6IHR5cGUtb2YoJHYpO1xuICAgIEBpZiAkZWxlbSA9PSB3aWR0aCBhbmQgJHR5cGUgPT0gJ251bWJlcicge1xuICAgICAgQHJldHVybiAkdjtcbiAgICB9XG4gICAgQGlmICRlbGVtID09IHN0eWxlIGFuZCAkdHlwZSA9PSAnc3RyaW5nJyB7XG4gICAgICBAcmV0dXJuICR2O1xuICAgIH1cbiAgICBAaWYgJGVsZW0gPT0gY29sb3IgYW5kICR0eXBlID09ICdjb2xvcicge1xuICAgICAgQHJldHVybiAkdjtcbiAgICB9XG4gIH1cblxuICAvLyBEZWZhdWx0c1xuICAkZGVmYXVsdHM6IChcbiAgICB3aWR0aDogMCxcbiAgICBzdHlsZTogc29saWQsXG4gICAgY29sb3I6ICMwMDAsXG4gICk7XG5cbiAgQHJldHVybiBtYXAtZ2V0KCRkZWZhdWx0cywgJGVsZW0pO1xufVxuXG4vLy8gRmluZHMgYSB2YWx1ZSBpbiBhIG5lc3RlZCBtYXAuXG4vLy8gQGxpbmsgaHR0cHM6Ly9jc3MtdHJpY2tzLmNvbS9zbmlwcGV0cy9zYXNzL2RlZXAtZ2V0c2V0LW1hcHMvIERlZXAgR2V0L1NldCBpbiBNYXBzXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byBwdWxsIGEgdmFsdWUgZnJvbS5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGtleXMuLi4gLSBLZXlzIHRvIHVzZSB3aGVuIGxvb2tpbmcgZm9yIGEgdmFsdWUuXG4vLy8gQHJldHVybnMge01peGVkfSBUaGUgdmFsdWUgZm91bmQgaW4gdGhlIG1hcC5cbkBmdW5jdGlvbiBtYXAtZGVlcC1nZXQoJG1hcCwgJGtleXMuLi4pIHtcbiAgQGVhY2ggJGtleSBpbiAka2V5cyB7XG4gICAgJG1hcDogbWFwLWdldCgkbWFwLCAka2V5KTtcbiAgfVxuICBAcmV0dXJuICRtYXA7XG59XG5cbi8vLyBDYXN0cyBhIG1hcCBpbnRvIGEgbGlzdC5cbi8vLyBAbGluayBodHRwOi8vaHVnb2dpcmF1ZGVsLmNvbS8yMDE0LzA0LzI4L2Nhc3RpbmctbWFwLWludG8tbGlzdC9cbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHB1bGwgYSB2YWx1ZSBmcm9tLlxuLy8vXG4vLy8gQHJldHVybnMge0xpc3R9IERlcGVuZGluZyBvbiB0aGUgZmxhZywgcmV0dXJucyBlaXRoZXIgJGtleXMgb3IgJHZhbHVlcyBvciBib3RoLlxuQGZ1bmN0aW9uIG1hcC10by1saXN0KCRtYXAsICRrZWVwOiAnYm90aCcpIHtcbiAgJGtlZXA6IGlmKGluZGV4KCdrZXlzJyAndmFsdWVzJywgJGtlZXApLCAka2VlcCwgJ2JvdGgnKTtcblxuICBAaWYgdHlwZS1vZigkbWFwKSA9PSAnbWFwJyB7XG4gICAgJGtleXM6ICgpO1xuICAgICR2YWx1ZXM6ICgpO1xuXG4gICAgQGVhY2ggJGtleSwgJHZhbCBpbiAkbWFwIHtcbiAgICAgICRrZXlzOiBhcHBlbmQoJGtleXMsICRrZXkpO1xuICAgICAgJHZhbHVlczogYXBwZW5kKCR2YWx1ZXMsICR2YWwpO1xuICAgIH1cblxuICAgIEBpZiAka2VlcCA9PSAna2V5cycge1xuICAgICAgQHJldHVybiAka2V5cztcbiAgICB9XG4gICAgQGVsc2UgaWYgJGtlZXAgPT0gJ3ZhbHVlcycge1xuICAgICAgQHJldHVybiAkdmFsdWVzO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAcmV0dXJuIHppcCgka2V5cywgJHZhbHVlcyk7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiBpZih0eXBlLW9mKCRtYXApICE9ICdsaXN0JywgKCR2YWx1ZSwpLCAkbWFwKTtcblxufVxuXG4vLy8gUmV0dXJuIGEgam9pbiBvZiB0aGUgdHdvIGdpdmVuIHN0cmluZ3MgYCRzdHIxYCBhbmQgYCRzdHIyYC5cbi8vLyBJZiB0aGUgdHdvIHN0cmluZ3MgYXJlIG5vdCBlbXB0eSwgdGhleSBhcmUgc2VwYXJhdGVkIGJ5IGAkZGVsaW1pdGVyYC5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc3RyMSBbbnVsbF0gLSBGaXJzdCBzdHJpbmcgdG8gam9pbi5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHN0cjEgW251bGxdIC0gU2Vjb25kIHN0cmluZyB0byBqb2luLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZGVsaW1pdGVyIFtudWxsXSAtIERlbGltaWV0ZXIgYmV0d2VlbiBgJHN0cjFgIGFuZCBgJHN0cjJgLlxuLy8vXG4vLy8gQHJldHVybnMge1N0cmluZ30gSm9pbiBvZiBgJHN0cjFgLCBgJGRlbGltaXRlcmAgYW5kIGAkc3RyMmAuXG5AZnVuY3Rpb24gemYtc3RyLWpvaW4oXG4gICRzdHIxOiBudWxsLFxuICAkc3RyMjogbnVsbCxcbiAgJGRlbGltaXRlcjogbnVsbFxuKSB7XG4gICRyZXQ6ICcnO1xuXG4gIEBpZiAkc3RyMSBhbmQgc3RyLWxlbmd0aCgkc3RyMSkgPiAwIHtcbiAgICAkcmV0OiAkcmV0ICsgJHN0cjE7XG5cbiAgICBAaWYgJGRlbGltaXRlciBhbmQgc3RyLWxlbmd0aCgkZGVsaW1pdGVyKSA+IDAgYW5kICRzdHIyIGFuZCBzdHItbGVuZ3RoKCRzdHIyKSA+IDAge1xuICAgICAgJHJldDogJHJldCArICRkZWxpbWl0ZXI7XG4gICAgfVxuICB9XG4gIEBpZiAkc3RyMiBhbmQgc3RyLWxlbmd0aCgkc3RyMikgPiAwIHtcbiAgICAkcmV0OiAkcmV0ICsgJHN0cjI7XG4gIH1cblxuICBAcmV0dXJuICRyZXQ7XG59XG5cbi8vLyBTYWZlbHkgcmV0dXJuIGEgdmFsdWUgZnJvbSBhIG1hcC5cbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHJldHJpZXZlIGEgdmFsdWUgZnJvbS5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGtleSAtIE5hbWUgb2YgdGhlIG1hcCBrZXkuXG4vLy9cbi8vLyBAcmV0dXJucyB7TGlzdH0gRm91bmQgdmFsdWUuXG5AZnVuY3Rpb24gbWFwLXNhZmUtZ2V0KCRtYXAsICRrZXkpIHtcbiAgQGlmICh0eXBlLW9mKCRtYXApID09ICdtYXAnIG9yICh0eXBlLW9mKCRtYXApID09ICdsaXN0JyBhbmQgbGVuZ3RoKCRtYXApID09IDApKSB7XG4gICAgQGlmIChtYXAtaGFzLWtleSgkbWFwLCAka2V5KSkge1xuICAgICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsICRrZXkpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAZXJyb3IgJ0tleTogYCN7JGtleX1gIGlzIG5vdCBhdmFpbGFibGUgaW4gYCN7JG1hcH1gJztcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBlcnJvciAnYCN7JG1hcH1gIGlzIG5vdCBhIHZhbGlkIG1hcCc7XG4gIH1cbn1cblxuLy8vIENvbnZlcnQgdGhlIGdpdmVuIGAkdmFsYCB0byBhIEJvb2xlYW4uIEVtcHR5IHZhbHVlcyBhcmUgY29uc2lkZXJlZCBhcyBmYWxzZS5cbi8vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7Kn0gJHZhbCAtIFZhbHVlIHRvIGNvbnZlcnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7Qm9vbGVhbn0gQ29udmVydGVkIEJvb2xlYW4gdmFsdWUuXG5AZnVuY3Rpb24gLXpmLWJvb2woJHZhbCkge1xuICBAcmV0dXJuICR2YWwgIT0gZmFsc2UgYW5kIGhhcy12YWx1ZSgkdmFsKTtcbn1cbiIsCgkJIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIFJldHVybnMgdGhlIG9wcG9zaXRlIGRpcmVjdGlvbiBvZiAkZGlyXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgLSBVc2VkIGRpcmVjdGlvbiBiZXR3ZWVuIFwidG9wXCIsIFwicmlnaHRcIiwgXCJib3R0b21cIiBhbmQgXCJsZWZ0XCIuXG4vLy8gQHJldHVybiB7S2V5d29yZH0gT3Bwb3NpdGUgZGlyZWN0aW9uIG9mICRkaXJcbkBmdW5jdGlvbiBkaXJlY3Rpb24tb3Bwb3NpdGUoXG4gICRkaXJcbikge1xuICAkZGlyczogKHRvcCwgcmlnaHQsIGJvdHRvbSwgbGVmdCk7XG4gICRwbGFjZTogaW5kZXgoJGRpcnMsICRkaXIpO1xuXG4gIEBpZiAkcGxhY2UgPT0gbnVsbCB7XG4gICAgQGVycm9yICdkaXJlY3Rpb24tb3Bwb3NpdGU6IEludmFsaWQgJGRpciBwYXJhbWV0ZXIsIGV4cGVjdGVkIGEgdmFsdWUgZnJvbSBcIiN7JGRpcnN9XCIsIGZvdW5kIFwiI3skZGlyfVwiLic7XG4gICAgQHJldHVybiBudWxsO1xuICB9XG5cbiAgLy8gQ2FsY3VsYXRlIHRoZSBvcHBvc2l0ZSBwbGFjZSBpbiBhIGNpcmNsZSwgd2l0aCBhIHN0YXJ0aW5nIGluZGV4IG9mIDFcbiAgJGxlbmd0aDogbGVuZ3RoKCRkaXJzKTtcbiAgJGRlbWk6ICRsZW5ndGggLyAyO1xuICAkb3Bwb3NpdGUtcGxhY2U6ICgoJHBsYWNlICsgJGRlbWkgLSAxKSAlICRsZW5ndGgpICsgMTtcblxuICBAcmV0dXJuIG50aCgkZGlycywgJG9wcG9zaXRlLXBsYWNlKTtcbn1cblxuIiwKCQkiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdtYXRoJztcblxuJGNvbnRyYXN0LXdhcm5pbmdzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gQ2hlY2tzIHRoZSBsdW1pbmFuY2Ugb2YgYCRjb2xvcmAuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciB0byBjaGVjayB0aGUgbHVtaW5hbmNlIG9mLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIGx1bWluYW5jZSBvZiBgJGNvbG9yYC5cbkBmdW5jdGlvbiBjb2xvci1sdW1pbmFuY2UoJGNvbG9yKSB7XG4gIC8vIEFkYXB0ZWQgZnJvbTogaHR0cHM6Ly9naXRodWIuY29tL0xlYVZlcm91L2NvbnRyYXN0LXJhdGlvL2Jsb2IvZ2gtcGFnZXMvY29sb3IuanNcbiAgLy8gRm9ybXVsYTogaHR0cDovL3d3dy53My5vcmcvVFIvMjAwOC9SRUMtV0NBRzIwLTIwMDgxMjExLyNyZWxhdGl2ZWx1bWluYW5jZWRlZlxuICAkcmdiYTogcmVkKCRjb2xvciksIGdyZWVuKCRjb2xvciksIGJsdWUoJGNvbG9yKTtcbiAgJHJnYmEyOiAoKTtcblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIDMge1xuICAgICRyZ2I6IG50aCgkcmdiYSwgJGkpO1xuICAgICRyZ2I6ICRyZ2IgLyAyNTU7XG5cbiAgICAkcmdiOiBpZigkcmdiIDwgMC4wMzkyOCwgJHJnYiAvIDEyLjkyLCBwb3coKCRyZ2IgKyAwLjA1NSkgLyAxLjA1NSwgMi40KSk7XG5cbiAgICAkcmdiYTI6IGFwcGVuZCgkcmdiYTIsICRyZ2IpO1xuICB9XG5cbiAgQHJldHVybiAwLjIxMjYgKiBudGgoJHJnYmEyLCAxKSArIDAuNzE1MiAqIG50aCgkcmdiYTIsIDIpICsgMC4wNzIyICogbnRoKCRyZ2JhMiwgMyk7XG59XG5cbi8vLyBDaGVja3MgdGhlIGNvbnRyYXN0IHJhdGlvIG9mIHR3byBjb2xvcnMuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IxIC0gRmlyc3QgY29sb3IgdG8gY29tcGFyZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IyIC0gU2Vjb25kIGNvbG9yIHRvIGNvbXBhcmUuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgY29udHJhc3QgcmF0aW8gb2YgdGhlIGNvbXBhcmVkIGNvbG9ycy5cbkBmdW5jdGlvbiBjb2xvci1jb250cmFzdCgkY29sb3IxLCAkY29sb3IyKSB7XG4gIC8vIEFkYXB0ZWQgZnJvbTogaHR0cHM6Ly9naXRodWIuY29tL0xlYVZlcm91L2NvbnRyYXN0LXJhdGlvL2Jsb2IvZ2gtcGFnZXMvY29sb3IuanNcbiAgLy8gRm9ybXVsYTogaHR0cDovL3d3dy53My5vcmcvVFIvMjAwOC9SRUMtV0NBRzIwLTIwMDgxMjExLyNjb250cmFzdC1yYXRpb2RlZlxuICAkbHVtaW5hbmNlMTogY29sb3ItbHVtaW5hbmNlKCRjb2xvcjEpICsgMC4wNTtcbiAgJGx1bWluYW5jZTI6IGNvbG9yLWx1bWluYW5jZSgkY29sb3IyKSArIDAuMDU7XG4gICRyYXRpbzogJGx1bWluYW5jZTEgLyAkbHVtaW5hbmNlMjtcblxuICBAaWYgJGx1bWluYW5jZTIgPiAkbHVtaW5hbmNlMSB7XG4gICAgJHJhdGlvOiAxIC8gJHJhdGlvO1xuICB9XG5cbiAgJHJhdGlvOiByb3VuZCgkcmF0aW8gKiAxMCkgLyAxMDtcblxuICBAcmV0dXJuICRyYXRpbztcbn1cblxuLy8vIENoZWNrcyB0aGUgbHVtaW5hbmNlIG9mIGAkYmFzZWAsIGFuZCByZXR1cm5zIHRoZSBjb2xvciBmcm9tIGAkY29sb3JzYCAobGlzdCBvZiBjb2xvcnMpIHRoYXQgaGFzIHRoZSBtb3N0IGNvbnRyYXN0LlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhc2UgLSBDb2xvciB0byBjaGVjayBsdW1pbmFuY2UuXG4vLy8gQHBhcmFtIHtMaXN0fSAkY29sb3JzIFsoJHdoaXRlLCAkYmxhY2spXSAtIENvbG9ycyB0byBjb21wYXJlLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdG9sZXJhbmNlIFskZ2xvYmFsLWNvbG9yLXBpY2stY29udHJhc3QtdG9sZXJhbmNlXSAtIENvbnRyYXN0IHRvbGVyYW5jZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gdGhlIGNvbG9yIGZyb20gYCRjb2xvcnNgIChsaXN0IG9mIGNvbG9ycykgdGhhdCBoYXMgdGhlIG1vc3QgY29udHJhc3QuXG5AZnVuY3Rpb24gY29sb3ItcGljay1jb250cmFzdCgkYmFzZSwgJGNvbG9yczogKCR3aGl0ZSwgJGJsYWNrKSwgJHRvbGVyYW5jZTogJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZSkge1xuICAkY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgMSkpO1xuICAkYmVzdDogbnRoKCRjb2xvcnMsIDEpO1xuXG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggbGVuZ3RoKCRjb2xvcnMpIHtcbiAgICAkY3VycmVudC1jb250cmFzdDogY29sb3ItY29udHJhc3QoJGJhc2UsIG50aCgkY29sb3JzLCAkaSkpO1xuICAgIEBpZiAoJGN1cnJlbnQtY29udHJhc3QgLSAkY29udHJhc3QgPiAkdG9sZXJhbmNlKSB7XG4gICAgICAkY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgJGkpKTtcbiAgICAgICRiZXN0OiBudGgoJGNvbG9ycywgJGkpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJGNvbnRyYXN0LXdhcm5pbmdzIGFuZCAkY29udHJhc3QgPCAzKSB7XG4gICAgQHdhcm4gXCJDb250cmFzdCByYXRpbyBvZiAjeyRiZXN0fSBvbiAjeyRiYXNlfSBpcyBwcmV0dHkgYmFkLCBqdXN0ICN7JGNvbnRyYXN0fVwiO1xuICB9XG5cbiAgQHJldHVybiAkYmVzdDtcbn1cblxuLy8vIFNjYWxlcyBhIGNvbG9yIHRvIGJlIGRhcmtlciBpZiBpdCdzIGxpZ2h0LCBvciBsaWdodGVyIGlmIGl0J3MgZGFyay4gVXNlIHRoaXMgZnVuY3Rpb24gdG8gdGludCBhIGNvbG9yIGFwcHJvcHJpYXRlIHRvIGl0cyBsaWdodG5lc3MuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciB0byBzY2FsZS5cbi8vLyBAcGFyYW0ge1BlcmNlbnRhZ2V9ICRzY2FsZSBbNSVdIC0gQW1vdW50IHRvIHNjYWxlIHVwIG9yIGRvd24uXG4vLy8gQHBhcmFtIHtQZXJjZW50YWdlfSAkdGhyZXNob2xkIFs0MCVdIC0gVGhyZXNob2xkIG9mIGxpZ2h0bmVzcyB0byBjaGVjayBhZ2FpbnN0LlxuLy8vXG4vLy8gQHJldHVybnMge0NvbG9yfSBBIHNjYWxlZCBjb2xvci5cbkBmdW5jdGlvbiBzbWFydC1zY2FsZSgkY29sb3IsICRzY2FsZTogNSUsICR0aHJlc2hvbGQ6IDQwJSkge1xuICBAaWYgbGlnaHRuZXNzKCRjb2xvcikgPiAkdGhyZXNob2xkIHtcbiAgICAkc2NhbGU6IC0kc2NhbGU7XG4gIH1cbiAgQHJldHVybiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6ICRzY2FsZSk7XG59XG5cbi8vLyBHZXQgY29sb3IgZnJvbSBmb3VuZGF0aW9uLXBhbGV0dGVcbi8vL1xuLy8vIEBwYXJhbSB7a2V5fSBjb2xvciBrZXkgZnJvbSBmb3VuZGF0aW9uLXBhbGV0dGVcbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gY29sb3IgZnJvbSBmb3VuZGF0aW9uLXBhbGV0dGVcbkBmdW5jdGlvbiBnZXQtY29sb3IoJGtleSkge1xuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgJGtleSkge1xuICAgIEByZXR1cm4gbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCAka2V5KTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGVycm9yICdnaXZlbiAka2V5IGlzIG5vdCBhdmFpbGFibGUgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSc7XG4gIH1cbn1cblxuLy8vIFRyYW5zZmVycyB0aGUgY29sb3JzIGluIHRoZSBgJGZvdW5kYXRpb24tcGFsZXR0ZWAgbWFwIGludG8gdmFyaWFibGVzLCBzdWNoIGFzIGAkcHJpbWFyeS1jb2xvcmAgYW5kIGAkc2Vjb25kYXJ5LWNvbG9yYC4gQ2FsbCB0aGlzIG1peGluIGJlbG93IHRoZSBHbG9iYWwgc2VjdGlvbiBvZiB5b3VyIHNldHRpbmdzIGZpbGUgdG8gcHJvcGVybHkgbWlncmF0ZSB5b3VyIGNvZGViYXNlLlxuQG1peGluIGFkZC1mb3VuZGF0aW9uLWNvbG9ycygpIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpIHtcbiAgICAkcHJpbWFyeS1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkcHJpbWFyeS1jb2xvcjogIzE3NzliYSAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpIHtcbiAgICAkc2Vjb25kYXJ5LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSkgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJHNlY29uZGFyeS1jb2xvcjogIzc2NzY3NiAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBzdWNjZXNzKSB7XG4gICAgJHN1Y2Nlc3MtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc3VjY2VzcykgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJHN1Y2Nlc3MtY29sb3I6ICMzYWRiNzYgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2FybmluZykge1xuICAgICR3YXJuaW5nLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdhcm5pbmcpICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICR3YXJuaW5nLWNvbG9yOiAjZmZhZTAwICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KSB7XG4gICAgJGFsZXJ0LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkYWxlcnQtY29sb3I6ICNjYzRiMzcgIWdsb2JhbDtcbiAgfVxufVxuIiwKCQkiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gR2VuZXJhdGVzIGEgc2VsZWN0b3Igd2l0aCBldmVyeSB0ZXh0IGlucHV0IHR5cGUuIFlvdSBjYW4gYWxzbyBmaWx0ZXIgdGhlIGxpc3QgdG8gb25seSBvdXRwdXQgYSBzdWJzZXQgb2YgdGhvc2Ugc2VsZWN0b3JzLlxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fEtleXdvcmR9ICR0eXBlcyBbKCldIC0gQSBsaXN0IG9mIHRleHQgaW5wdXQgdHlwZXMgdG8gdXNlLiBMZWF2ZSBibGFuayB0byB1c2UgYWxsIG9mIHRoZW0uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkbW9kaWZpZXIgWycnXSAtIEEgbW9kaWZpZXIgdG8gYmUgYXBwbGllZCB0byBlYWNoIHRleHQgaW5wdXQgdHlwZSAoZS5nLiBhIGNsYXNzIG9yIGEgcHNldWRvLWNsYXNzKS4gTGVhdmUgYmxhbmsgdG8gaWdub3JlLlxuQGZ1bmN0aW9uIHRleHQtaW5wdXRzKCR0eXBlczogKCksICRtb2RpZmllcjogJycpIHtcbiAgJHJldHVybjogKCk7XG5cbiAgJGFsbC10eXBlczpcbiAgICB0ZXh0XG4gICAgcGFzc3dvcmRcbiAgICBkYXRlXG4gICAgZGF0ZXRpbWVcbiAgICBkYXRldGltZS1sb2NhbFxuICAgIG1vbnRoXG4gICAgd2Vla1xuICAgIGVtYWlsXG4gICAgbnVtYmVyXG4gICAgc2VhcmNoXG4gICAgdGVsXG4gICAgdGltZVxuICAgIHVybFxuICAgIGNvbG9yO1xuXG4gIEBpZiBub3QgaGFzLXZhbHVlKCR0eXBlcykge1xuICAgICR0eXBlczogJGFsbC10eXBlcztcbiAgfVxuXG4gIEBlYWNoICR0eXBlIGluICR0eXBlcyB7XG4gICAgJHJldHVybjogYXBwZW5kKCRyZXR1cm4sIHVucXVvdGUoJ1t0eXBlPVxcJyN7JHR5cGV9XFwnXSN7JG1vZGlmaWVyfScpLCBjb21tYSk7XG4gIH1cblxuICBAcmV0dXJuICRyZXR1cm47XG59XG4iLAoJCSJAZnVuY3Rpb24gLXpmLWZsZXgtanVzdGlmeSgkdGV4dC1kaXJlY3Rpb24pe1xuICAkLXpmLWZsZXgtanVzdGlmeTogKFxuICAgICdsZWZ0JzogaWYoJHRleHQtZGlyZWN0aW9uID09IHJ0bCwgZmxleC1lbmQsIGZsZXgtc3RhcnQpLFxuICAgICdyaWdodCc6IGlmKCR0ZXh0LWRpcmVjdGlvbiA9PSBydGwsIGZsZXgtc3RhcnQsIGZsZXgtZW5kKSxcbiAgICAnY2VudGVyJzogY2VudGVyLFxuICAgICdqdXN0aWZ5Jzogc3BhY2UtYmV0d2VlbixcbiAgICAnc3BhY2VkJzogc3BhY2UtYXJvdW5kLFxuICApO1xuXG4gIEByZXR1cm4gJC16Zi1mbGV4LWp1c3RpZnk7XG59XG5cblxuJC16Zi1mbGV4LWFsaWduOiAoXG4gICd0b3AnOiBmbGV4LXN0YXJ0LFxuICAnYm90dG9tJzogZmxleC1lbmQsXG4gICdtaWRkbGUnOiBjZW50ZXIsXG4gICdzdHJldGNoJzogc3RyZXRjaCxcbik7XG5cbiQtemYtZmxleC1kaXJlY3Rpb246IChcbiAgJ3Jvdyc6IHJvdyxcbiAgJ3Jvdy1yZXZlcnNlJzogcm93LXJldmVyc2UsXG4gICdjb2x1bW4nOiBjb2x1bW4sXG4gICdjb2x1bW4tcmV2ZXJzZSc6IGNvbHVtbi1yZXZlcnNlLFxuKTtcblxuLy8vIEVuYWJsZXMgZmxleGJveCBieSBhZGRpbmcgYGRpc3BsYXk6IGZsZXhgIHRvIHRoZSBlbGVtZW50LlxuQG1peGluIGZsZXgge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4vLy8gSG9yaXpvbnRhbGx5IG9yIHZlcnRpY2FsbHkgYWxpZ25zIHRoZSBpdGVtcyB3aXRoaW4gYSBmbGV4IGNvbnRhaW5lci5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHggW251bGxdIC0gSG9yaXpvbnRhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYGxlZnRgLCBgcmlnaHRgLCBgY2VudGVyYCwgYGp1c3RpZnlgLCBvciBgc3BhY2VkYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IGhvcml6b250YWwgYWxpZ25tZW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHkgW251bGxdIC0gVmVydGljYWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGB0b3BgLCBgYm90dG9tYCwgYG1pZGRsZWAsIG9yIGBzdHJldGNoYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IHZlcnRpY2FsIGFsaWdubWVudC5cbkBtaXhpbiBmbGV4LWFsaWduKCR4OiBudWxsLCAkeTogbnVsbCkge1xuICBAaWYgJHgge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkLXpmLWZsZXgtanVzdGlmeSwgJHgpIHtcbiAgICAgICR4OiBtYXAtZ2V0KCQtemYtZmxleC1qdXN0aWZ5LCAkeCk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtcm93LWFsaWduKCk6ICN7JHh9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciBob3Jpem9udGFsIGFsaWdubWVudC4gVXNlIGxlZnQsIHJpZ2h0LCBjZW50ZXIsIGp1c3RpZnksIG9yIHNwYWNlZC4nO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkeSB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCQtemYtZmxleC1hbGlnbiwgJHkpIHtcbiAgICAgICR5OiBtYXAtZ2V0KCQtemYtZmxleC1hbGlnbiwgJHkpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAd2FybiAnZmxleC1ncmlkLXJvdy1hbGlnbigpOiAjeyR5fSBpcyBub3QgYSB2YWxpZCB2YWx1ZSBmb3IgdmVydGljYWwgYWxpZ25tZW50LiBVc2UgdG9wLCBib3R0b20sIG1pZGRsZSwgb3Igc3RyZXRjaC4nO1xuICAgIH1cbiAgfVxuXG4gIGp1c3RpZnktY29udGVudDogJHg7XG4gIGFsaWduLWl0ZW1zOiAkeTtcbn1cblxuLy8vIFZlcnRpY2FsbHkgYWxpZ24gYSBzaW5nbGUgY29sdW1uIHdpdGhpbiBhIGZsZXggcm93LiBBcHBseSB0aGlzIG1peGluIHRvIGEgZmxleCBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR5IFtudWxsXSAtIFZlcnRpY2FsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgdG9wYCwgYGJvdHRvbWAsIGBtaWRkbGVgLCBvciBgc3RyZXRjaGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCB2ZXJ0aWNhbCBhbGlnbm1lbnQuXG5AbWl4aW4gZmxleC1hbGlnbi1zZWxmKCR5OiBudWxsKSB7XG4gIEBpZiAkeSB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCQtemYtZmxleC1hbGlnbiwgJHkpIHtcbiAgICAgICR5OiBtYXAtZ2V0KCQtemYtZmxleC1hbGlnbiwgJHkpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAd2FybiAnZmxleC1ncmlkLWNvbHVtbi1hbGlnbigpOiAjeyR5fSBpcyBub3QgYSB2YWxpZCB2YWx1ZSBmb3IgYWxpZ25tZW50LiBVc2UgdG9wLCBib3R0b20sIG1pZGRsZSwgb3Igc3RyZXRjaC4nO1xuICAgIH1cbiAgfVxuXG4gIGFsaWduLXNlbGY6ICR5O1xufVxuXG4vLy8gQ2hhbmdlcyB0aGUgc291cmNlIG9yZGVyIG9mIGEgZmxleCBjaGlsZC4gQ2hpbGRyZW4gd2l0aCBsb3dlciBudW1iZXJzIGFwcGVhciBmaXJzdCBpbiB0aGUgbGF5b3V0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkb3JkZXIgWzBdIC0gT3JkZXIgbnVtYmVyIHRvIGFwcGx5LlxuQG1peGluIGZsZXgtb3JkZXIoJG9yZGVyOiAwKSB7XG4gIG9yZGVyOiAkb3JkZXI7XG59XG5cbi8vLyBDaGFuZ2UgZmxleC1kaXJlY3Rpb25cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXJlY3Rpb24gW3Jvd10gLSBGbGV4IGRpcmVjdGlvbiB0byB1c2UuIENhbiBiZVxuLy8vICAgLSByb3cgKGRlZmF1bHQpOiBzYW1lIGFzIHRleHQgZGlyZWN0aW9uXG4vLy8gICAtIHJvdy1yZXZlcnNlOiBvcHBvc2l0ZSB0byB0ZXh0IGRpcmVjdGlvblxuLy8vICAgLSBjb2x1bW46IHNhbWUgYXMgcm93IGJ1dCB0b3AgdG8gYm90dG9tXG4vLy8gICAtIGNvbHVtbi1yZXZlcnNlOiBzYW1lIGFzIHJvdy1yZXZlcnNlIHRvcCB0byBib3R0b21cbkBtaXhpbiBmbGV4LWRpcmVjdGlvbigkZGlyZWN0aW9uOiByb3cpIHtcbiAgZmxleC1kaXJlY3Rpb246ICRkaXJlY3Rpb247XG59XG4iLAoJCSIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnJlYWtwb2ludHNcbi8vLy9cblxuLy8vIEEgbGlzdCBvZiBuYW1lZCBicmVha3BvaW50cy4gWW91IGNhbiB1c2UgdGhlc2Ugd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gcXVpY2tseSBjcmVhdGUgbWVkaWEgcXVlcmllcy5cbi8vLyBAdHlwZSBNYXBcbiRicmVha3BvaW50czogKFxuICBzbWFsbDogMCxcbiAgbWVkaXVtOiA2NDBweCxcbiAgbGFyZ2U6IDEwMjRweCxcbiAgeGxhcmdlOiAxMjAwcHgsXG4gIHh4bGFyZ2U6IDE0NDBweCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBBIGxpc3Qgb2YgbmFtZWQgSGlEUEkgYnJlYWtwb2ludHMuIFlvdSBjYW4gdXNlIHRoZXNlIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHF1aWNrbHkgY3JlYXRlIG1lZGlhIHF1ZXJpZXMgZm9yIHJlc29sdXRpb25zLlxuLy8vIFZhbHVlcyBtdXN0IHJlcHJlc2VudCB0aGUgZGV2aWNlIHBpeGVscyAvIHdlYiBwaXhlbHMgcmF0aW9uIGFuZCBiZSB1bml0bGVzcyBvciBpbiBEUFBYLlxuLy8vIEB0eXBlIE1hcFxuJGJyZWFrcG9pbnRzLWhpZHBpOiAoXG4gIGhpZHBpLTE6IDEsXG4gIGhpZHBpLTEtNTogMS41LFxuICBoaWRwaS0yOiAyLFxuICByZXRpbmE6IDIsXG4gIGhpZHBpLTM6IDNcbikgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgbGFyZ2VzdCBuYW1lZCBicmVha3BvaW50IGluIHdoaWNoIHRvIGluY2x1ZGUgcHJpbnQgYXMgYSBtZWRpYSB0eXBlXG4vLy8gQHR5cGUgS2V5d29yZFxuJHByaW50LWJyZWFrcG9pbnQ6IGxhcmdlICFkZWZhdWx0O1xuXG4kLXpmLXplcm8tYnJlYWtwb2ludDogc21hbGwgIWRlZmF1bHQ7XG5cbiQtemYtYnJlYWtwb2ludHMta2V5czogbWFwLXRvLWxpc3QoJGJyZWFrcG9pbnRzLCAna2V5cycpO1xuXG5AaWYgbnRoKG1hcC12YWx1ZXMoJGJyZWFrcG9pbnRzKSwgMSkgIT0gMCB7XG4gIEBlcnJvciAnVGhlIGZpcnN0IGtleSBpbiB0aGUgJGJyZWFrcG9pbnRzIG1hcCBtdXN0IGhhdmUgYSB2YWx1ZSBvZiBcIjBcIi4nO1xufVxuQGVsc2Uge1xuICAkLXpmLXplcm8tYnJlYWtwb2ludDogbnRoKG1hcC1rZXlzKCRicmVha3BvaW50cyksIDEpO1xufVxuXG4vLy8gQWxsIG9mIHRoZSBuYW1lcyBpbiB0aGlzIGxpc3Qgd2lsbCBiZSBvdXRwdXQgYXMgY2xhc3NlcyBpbiB5b3VyIENTUywgbGlrZSBgLnNtYWxsLTEyYCwgYC5tZWRpdW0tNmAsIGFuZCBzbyBvbi4gRWFjaCB2YWx1ZSBpbiB0aGlzIGxpc3QgbXVzdCBhbHNvIGJlIGluIHRoZSBgJGJyZWFrcG9pbnRzYCBtYXAuXG4vLy8gQHR5cGUgTGlzdFxuJGJyZWFrcG9pbnQtY2xhc3NlczogKHNtYWxsIG1lZGl1bSBsYXJnZSkgIWRlZmF1bHQ7XG5cbi8vLyBHZW5lcmF0ZXMgYSBtZWRpYSBxdWVyeSBzdHJpbmcgbWF0Y2hpbmcgdGhlIGlucHV0IHZhbHVlLiBSZWZlciB0byB0aGUgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHNlZSB3aGF0IHRoZSBwb3NzaWJsZSBpbnB1dHMgYXJlLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbCBbc21hbGxdIC0gQnJlYWtwb2ludCBuYW1lLCBvciBweCwgcmVtLCBvciBlbSB2YWx1ZSB0byBwcm9jZXNzLlxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQoJHZhbDogJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgLy8gV2ViIHN0YW5kYXJkIFBpeGVscyBwZXIgaW5jaC4gKDFkZHB4IC8gJHN0ZC13ZWItZHBpKSA9IDFkcGlcbiAgLy8gU2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9jc3MtdmFsdWVzLTMvI2Fic29sdXRlLWxlbmd0aHNcbiAgJHN0ZC13ZWItZHBpOiA5NjtcblxuICAvLyBTaXplIG9yIGtleXdvcmRcbiAgJGJwOiBudGgoJHZhbCwgMSk7XG4gIC8vIFZhbHVlIG9mIHRoZSBmb2xsb3dpbmcgYnJlYWtwb2ludFxuICAkYnAtbmV4dDogbnVsbDtcbiAgLy8gVmFsdWUgZm9yIG1heC13aWR0aCBtZWRpYSBxdWVyaWVzXG4gICRicC1taW46IG51bGw7XG4gIC8vIFZhbHVlIGZvciBtaW4td2lkdGggbWVkaWEgcXVlcmllc1xuICAkYnAtbWF4OiBudWxsO1xuICAvLyBEaXJlY3Rpb24gb2YgbWVkaWEgcXVlcnkgKHVwLCBkb3duLCBvciBvbmx5KVxuICAkZGlyOiBpZihsZW5ndGgoJHZhbCkgPiAxLCBudGgoJHZhbCwgMiksIHVwKTtcbiAgLy8gSWYgbmFtZWQsIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnRcbiAgJG5hbWU6IG51bGw7XG4gIC8vIElmIHRoZSBicmVha3BvaW50IGlzIGEgSGlEUEkgYnJlYWtwb2ludFxuICAkaGlkcGk6IGZhbHNlO1xuXG4gIC8vIE9yaWVudGF0aW9uIG1lZGlhIHF1ZXJpZXMgaGF2ZSBhIHVuaXF1ZSBzeW50YXhcbiAgQGlmICRicCA9PSAnbGFuZHNjYXBlJyBvciAkYnAgPT0gJ3BvcnRyYWl0JyB7XG4gICAgQHJldHVybiAnKG9yaWVudGF0aW9uOiAjeyRicH0pJztcbiAgfVxuXG4gIC8vIElmIGEgYnJlYWtwb2ludCBuYW1lIGlzIGdpdmVuLCBnZXQgaXRzIHZhbHVlIGZyb20gdGhlICRicmVha3BvaW50cy8kYnJlYWtwb2ludHMtaGlkcGkgbWFwLlxuICBAaWYgdHlwZS1vZigkYnApID09ICdzdHJpbmcnIHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkYnApIHtcbiAgICAgICRuYW1lOiAkYnA7XG4gICAgICAkYnA6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gICAgICAkYnAtbmV4dDogLXpmLW1hcC1uZXh0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICAgIH1cbiAgICBAZWxzZSBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMtaGlkcGksICRicCkge1xuICAgICAgJG5hbWU6ICRicDtcbiAgICAgICRicDogbWFwLWdldCgkYnJlYWtwb2ludHMtaGlkcGksICRuYW1lKTtcbiAgICAgICRicC1uZXh0OiAtemYtbWFwLW5leHQtbnVtYmVyKCRicmVha3BvaW50cy1oaWRwaSwgJGJwKTtcbiAgICAgICRoaWRwaTogdHJ1ZTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJGJwOiAwO1xuICAgICAgQHdhcm4gJ2JyZWFrcG9pbnQoKTogXCIjeyR2YWx9XCIgaXMgbm90IGRlZmluZWQgaW4geW91ciBgJGJyZWFrcG9pbnRzYCBvciBgJGJyZWFrcG9pbnRzLWhpZHBpYCBzZXR0aW5nLic7XG4gICAgfVxuICB9XG5cbiAgQGlmIG5vdCAkbmFtZSBhbmQgJGRpciA9PSAnb25seScge1xuICAgIEB3YXJuICdicmVha3BvaW50KCk6IE9ubHkgbmFtZWQgbWVkaWEgcXVlcmllcyBjYW4gaGF2ZSBhbiBgb25seWAgcmFuZ2UuJztcbiAgICBAcmV0dXJuIG51bGw7XG4gIH1cblxuICAvLyBPbmx5ICdvbmx5JyBhbmQgJ3VwJyBoYXZlIGEgbWluIGxpbWl0LlxuICBAaWYgJGRpciA9PSAnb25seScgb3IgJGRpciA9PSAndXAnIHtcbiAgICAkYnAtbWluOiBpZigkaGlkcGksIHN0cmlwLXVuaXQoJGJwKSwgLXpmLWJwLXRvLWVtKCRicCkpO1xuICB9XG4gIC8vIE9ubHkgJ29ubHknIGFuZCAnZG93bicgaGF2ZSBhIG1heCBsaW1pdC5cbiAgQGlmICRkaXIgPT0gJ29ubHknIG9yICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAvLyBJZiB0aGUgYnJlYWtwb2ludCBpcyBhIHZhbHVlLCB1c2UgaXQgYXMgbWF4IGxpbWl0LlxuICAgIEBpZiBub3QgJG5hbWUge1xuICAgICAgJGJwLW1heDogaWYoJGhpZHBpLCBzdHJpcC11bml0KCRicCksIC16Zi1icC10by1lbSgkYnApKTtcbiAgICB9XG4gICAgLy8gSWYgdGhlIGJyZWFrcG9pbnQgaXMgbmFtZWQsIHRoZSBtYXggbGltaXQgaXMgdGhlIGZvbGxvd2luZyBicmVha3BvaW50IC0gMXB4LlxuICAgIEBlbHNlIGlmICRicC1uZXh0IHtcbiAgICAgIC8vIE1heCB2YWx1ZSBpcyAwLjJweCB1bmRlciB0aGUgbmV4dCBicmVha3BvaW50ICgwLjAyIC8gMTYgPSAwLjAwMTI1KS5cbiAgICAgIC8vIFVzZSBhIHByZWNpc2lvbiB1bmRlciAxcHggdG8gc3VwcG9ydCBicm93c2VyIHpvb20sIGJ1dCBub3QgdG8gbG93IHRvIGF2b2lkIHJvdW5kaW5nLlxuICAgICAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9mb3VuZGF0aW9uL2ZvdW5kYXRpb24tc2l0ZXMvaXNzdWVzLzExMzEzXG4gICAgICAkYnAtbWF4OiBpZigkaGlkcGksICRicC1uZXh0IC0gKDEvJHN0ZC13ZWItZHBpKSwgLXpmLWJwLXRvLWVtKCRicC1uZXh0KSAtIDAuMDAxMjUpO1xuICAgIH1cbiAgfVxuXG4gIC8vIEdlbmVyYXRlIHRoZSBtZWRpYSBxdWVyeSBzdHJpbmcgZnJvbSBtaW4gYW5kIG1heCBsaW1pdHMuXG4gIEBpZiAkaGlkcGkge1xuICAgIC8vIEdlbmVyYXRlIHZhbHVlcyBpbiBEUEkgaW5zdGVhZCBvZiBEUFBYIGZvciBhbiBJRTktMTEvT3BlcmEgbWluaSBjb21wYXRpYmlsaXR5LlxuICAgIC8vIFNlZSBodHRwczovL2Nhbml1c2UuY29tLyNmZWF0PWNzcy1tZWRpYS1yZXNvbHV0aW9uXG4gICAgJGJwLW1pbi1kcGk6IGlmKCRicC1taW4sICRicC1taW4gKiAkc3RkLXdlYi1kcGkgKiAxZHBpLCAkYnAtbWluKTtcbiAgICAkYnAtbWF4LWRwaTogaWYoJGJwLW1heCwgJGJwLW1heCAqICRzdGQtd2ViLWRwaSAqIDFkcGksICRicC1tYXgpO1xuICAgIEByZXR1cm4gemYtc3RyLWpvaW4oXG4gICAgICAtemYtYnAtam9pbigkYnAtbWluLCAkYnAtbWF4LCAnLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvJywgJy13ZWJraXQtbWF4LWRldmljZS1waXhlbC1yYXRpbycpLFxuICAgICAgLXpmLWJwLWpvaW4oJGJwLW1pbi1kcGksICRicC1tYXgtZHBpLCAnbWluLXJlc29sdXRpb24nLCAnbWF4LXJlc29sdXRpb24nKSxcbiAgICAgICcsICcpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIC16Zi1icC1qb2luKCRicC1taW4sICRicC1tYXgpO1xuICB9XG59XG5cbi8vLyBXcmFwcyBhIG1lZGlhIHF1ZXJ5IGFyb3VuZCB0aGUgY29udGVudCB5b3UgcHV0IGluc2lkZSB0aGUgbWl4aW4uIFRoaXMgbWl4aW4gYWNjZXB0cyBhIG51bWJlciBvZiB2YWx1ZXM6XG4vLy8gIC0gSWYgYSBzdHJpbmcgaXMgcGFzc2VkLCB0aGUgbWl4aW4gd2lsbCBsb29rIGZvciBpdCBpbiB0aGUgYCRicmVha3BvaW50c2AgYW5kIGAkYnJlYWtwb2ludHMtaGlkcGlgIG1hcHMsIGFuZCB1c2UgYSBtZWRpYSBxdWVyeSB0aGVyZS5cbi8vLyAgLSBJZiBhIHBpeGVsIHZhbHVlIGlzIHBhc3NlZCwgaXQgd2lsbCBiZSBjb252ZXJ0ZWQgdG8gYW4gZW0gdmFsdWUgdXNpbmcgYCRnbG9iYWwtZm9udC1zaXplYCBhcyB0aGUgYmFzZS5cbi8vLyAgLSBJZiBhIHJlbSB2YWx1ZSBpcyBwYXNzZWQsIHRoZSB1bml0IHdpbGwgYmUgY2hhbmdlZCB0byBlbS5cbi8vLyAgLSBJZiBhbiBlbSB2YWx1ZSBpcyBwYXNzZWQsIHRoZSB2YWx1ZSB3aWxsIGJlIHVzZWQgYXMtaXMuXG4vLy9cbi8vLyBJZiBtdWx0aXBsZSB2YWx1ZXMgYXJlIHBhc3NlZCwgdGhlIG1peGluIHdpbGwgZ2VuZXJhdGUgYSBtZWRpYSBxdWVyeSBmb3IgZWFjaCBvZiB0aGVtIGFzIGRlc2NyaWJlZCBhYm92ZS5cbi8vLyBTaW5jZSB0aGUgY29udGVudCBpcyBkdXBsaWNhdGVkIGZvciBlYWNoIGJyZWFrcG9pbnQsIHRoaXMgbWl4aW4gc2hvdWxkIG9ubHkgYmUgdXNlZCB3aXRoIHByb3BlcnRpZXMgdGhhdFxuLy8vIGNoYW5nZSBhY3Jvc3MgYnJlYWtwb2ludHMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsdWVzLi4uIC0gQnJlYWtwb2ludCBuYW1lIG9yIHB4L3JlbS9lbSB2YWx1ZSB0byBwcm9jZXNzLlxuLy8vXG4vLy8gQG91dHB1dCBJZiB0aGUgYnJlYWtwb2ludCBpcyBcIjBweCBhbmQgbGFyZ2VyXCIsIG91dHB1dHMgdGhlIGNvbnRlbnQgYXMtaXMuIE90aGVyd2lzZSwgb3V0cHV0cyB0aGUgY29udGVudCB3cmFwcGVkIGluIGEgbWVkaWEgcXVlcnkuXG5AbWl4aW4gYnJlYWtwb2ludCgkdmFsdWVzLi4uKSB7XG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggbGVuZ3RoKCR2YWx1ZXMpIHtcbiAgICAkdmFsdWU6IG50aCgkdmFsdWVzLCAkaSk7XG4gICAgJHN0cjogYnJlYWtwb2ludCgkdmFsdWUpO1xuICAgICRicDogaW5kZXgoJC16Zi1icmVha3BvaW50cy1rZXlzLCBudGgoJHZhbHVlLCAxKSk7XG4gICAgJHBicDogaW5kZXgoJC16Zi1icmVha3BvaW50cy1rZXlzLCAkcHJpbnQtYnJlYWtwb2ludCk7XG4gICAgLy8gRGlyZWN0aW9uIG9mIG1lZGlhIHF1ZXJ5ICh1cCwgZG93biwgb3Igb25seSlcbiAgICAkZGlyOiBpZihsZW5ndGgoJHZhbHVlKSA+IDEsIG50aCgkdmFsdWUsIDIpLCB1cCk7XG5cbiAgICAkb2xkLXpmLXNpemU6IG51bGw7XG5cbiAgICAvLyBNYWtlIGJyZWFrcG9pbnQgc2l6ZSBhdmFpbGFibGUgYXMgYSB2YXJpYWJsZVxuICAgIEBpZiBnbG9iYWwtdmFyaWFibGUtZXhpc3RzKC16Zi1zaXplKSB7XG4gICAgICAkb2xkLXpmLXNpemU6ICQtemYtc2l6ZTtcbiAgICB9XG4gICAgJC16Zi1zaXplOiBudGgoJHZhbHVlLCAxKSAhZ2xvYmFsOyAvLyBnZXQgdGhlIGZpcnN0IHZhbHVlIHRvIGFjY291bnQgZm9yIGBvbmx5YCBhbmQgYGRvd25gIGtleXdvcmRzXG5cbiAgICAvLyBJZiAkc3RyIGlzIHN0aWxsIGFuIGVtcHR5IHN0cmluZywgbm8gbWVkaWEgcXVlcnkgaXMgbmVlZGVkXG4gICAgQGlmICRzdHIgPT0gJycge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuXG4gICAgLy8gT3RoZXJ3aXNlLCB3cmFwIHRoZSBjb250ZW50IGluIGEgbWVkaWEgcXVlcnlcbiAgICBAZWxzZSB7XG4gICAgICAvLyBGb3IgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICRwcmludC1icmVha3BvaW50LCBhZGQgcHJpbnQgdG8gdGhlIG1lZGlhIHR5cGVzXG4gICAgICAvLyBnZW5lcmF0ZSBwcmludCBpZiB0aGUgYnJlYWtwb2ludCBhZmZlY3RzIHRoZSBwcmludC1icmVha3BvaW50IChvciBzbWFsbGVyKS5cbiAgICAgIC8vIFRoaXMgbWVhbnMgdGhlIGN1cnJlbnQgY29uZGl0aW9uIG9ubHkgbmVlZHMgdG8gYmUgZXh0ZW5kZWQgc28gJ2Rvd24nIGFsd2F5cyBnZW5lcmF0ZXMgcHJpbnQuXG4gICAgICBAaWYgJGJwICE9IG51bGwgYW5kICgkYnAgPD0gJHBicCBvciAkZGlyID09IGRvd24pIHtcbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kICN7JHN0cn0ge1xuICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kICN7JHN0cn0ge1xuICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJC16Zi1zaXplOiAkb2xkLXpmLXNpemUgIWdsb2JhbDtcbiAgfVxufVxuXG4vLy8gQ29udmVydHMgdGhlIGJyZWFrcG9pbnRzIG1hcCB0byBhIFVSTC1lbmNvZGVkIHN0cmluZywgbGlrZSB0aGlzOiBga2V5MT12YWx1ZTEma2V5Mj12YWx1ZTJgLiBUaGUgdmFsdWUgaXMgdGhlbiBkcm9wcGVkIGludG8gdGhlIENTUyBmb3IgYSBzcGVjaWFsIGA8bWV0YT5gIHRhZywgd2hpY2ggaXMgcmVhZCBieSB0aGUgRm91bmRhdGlvbiBKYXZhU2NyaXB0LiBUaGlzIGlzIGhvdyB3ZSB0cmFuc2ZlciB2YWx1ZXMgZnJvbSBTYXNzIHRvIEphdmFTY3JpcHQsIHNvIHRoZXkgY2FuIGJlIGRlZmluZWQgaW4gb25lIHBsYWNlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gY29udmVydC5cbi8vL1xuLy8vIEByZXR1cm5zIHtTdHJpbmd9IEEgc3RyaW5nIGNvbnRhaW5pbmcgdGhlIG1hcCdzIGNvbnRlbnRzLlxuQGZ1bmN0aW9uIC16Zi1icC1zZXJpYWxpemUoJG1hcCkge1xuICAkc3RyOiAnJztcbiAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRtYXAge1xuICAgICRzdHI6ICRzdHIgKyAka2V5ICsgJz0nICsgLXpmLWJwLXRvLWVtKCR2YWx1ZSkgKyAnJic7XG4gIH1cbiAgJHN0cjogc3RyLXNsaWNlKCRzdHIsIDEsIC0yKTtcblxuICBAcmV0dXJuICRzdHI7XG59XG5cbi8vLyBGaW5kIHRoZSBuZXh0IGtleSBpbiBhIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHRyYXZlcnNlLlxuLy8vIEBwYXJhbSB7TWl4ZWR9ICRrZXkgLSBLZXkgdG8gdXNlIGFzIGEgc3RhcnRpbmcgcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TWl4ZWR9IFRoZSB2YWx1ZSBmb3IgdGhlIGtleSBhZnRlciBgJGtleWAsIGlmIGAka2V5YCB3YXMgZm91bmQuIElmIGAka2V5YCB3YXMgbm90IGZvdW5kLCBvciBgJGtleWAgd2FzIHRoZSBsYXN0IHZhbHVlIGluIHRoZSBtYXAsIHJldHVybnMgYG51bGxgLlxuQGZ1bmN0aW9uIC16Zi1tYXAtbmV4dCgkbWFwLCAka2V5KSB7XG5cbiAgLy8gU3RvcmUgdGhlIGtleXMgb2YgdGhlIG1hcCBhcyBhIGxpc3RcbiAgJHZhbHVlczogbWFwLWtleXMoJG1hcCk7XG5cbiAgJGk6IDA7XG5cbiAgLy8gSWYgdGhlIEtleSBFeGlzdHMsIEdldCB0aGUgaW5kZXggb2YgdGhlIGtleSB3aXRoaW4gdGhlIG1hcCBhbmQgYWRkIDEgdG8gaXQgZm9yIHRoZSBuZXh0IGJyZWFrcG9pbnQgaW4gdGhlIG1hcFxuICBAaWYgKG1hcC1oYXMta2V5KCRtYXAsICRrZXkpKSB7XG4gICAgJGk6IGluZGV4KCR2YWx1ZXMsICRrZXkpICsgMTtcbiAgfVxuXG4gIC8vIElmIHRoZSBrZXkgZG9lc24ndCBleGlzdCwgb3IgaXQncyB0aGUgbGFzdCBrZXkgaW4gdGhlIG1hcCwgcmV0dXJuIG51bGxcbiAgQGlmICgkaSA+IGxlbmd0aCgkbWFwKSBvciAkaSA9PSAwKSB7XG4gICAgQHJldHVybiBudWxsO1xuICB9XG4gIC8vIE90aGVyd2lzZSwgcmV0dXJuIHRoZSB2YWx1ZVxuICBAZWxzZSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsIG50aCgkdmFsdWVzLCAkaSkpO1xuICB9XG5cbn1cblxuLy8vIEZpbmQgdGhlIG5leHQgbnVtYmVyIGluIGEgbWFwLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gdHJhdmVyc2UuXG4vLy8gQHBhcmFtIHtNaXhlZH0gJG51bWJlciAtIE51bWJlciB0byB1c2UgYXMgYSBzdGFydGluZyBwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtNaXhlZH0gVGhlIG51bWJlciBmb2xsb3dpbmcgYCRudW1iZXJgLCBpZiBgJG51bWJlcmAgd2FzIGZvdW5kLiBJZiBgJG51bWJlcmAgd2FzIG5vdCBmb3VuZCwgb3IgYCRudW1iZXJgIHdhcyB0aGUgYmlnZ2VzdCBudW1iZXIgaW4gdGhlIG1hcCwgcmV0dXJucyBgbnVsbGAuXG5AZnVuY3Rpb24gLXpmLW1hcC1uZXh0LW51bWJlcigkbWFwLCAkbnVtYmVyKSB7XG5cbiAgJG5leHRfbnVtYmVyOiBudWxsO1xuXG4gIEBlYWNoICRrLCAkdiBpbiAkbWFwIHtcbiAgICBAaWYgdHlwZS1vZigkdikgPT0gJ251bWJlcicgYW5kICR2ID4gJG51bWJlciBhbmQgKCRuZXh0X251bWJlciA9PSBudWxsIG9yICR2IDwgJG5leHRfbnVtYmVyKSB7XG4gICAgICAkbmV4dF9udW1iZXI6ICR2O1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJG5leHRfbnVtYmVyO1xufVxuXG4vLy8gUmV0dXJuIGEgbGlzdCBvZiBvdXIgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuICRrZXkuIFVzZWZ1bCBmb3IgZGVhbGluZyB3aXRoXG4vLy8gcmVzcG9uc2l2ZSBndXR0ZXJzIGZvciB0aGUgZ3JpZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAka2V5IC0gS2V5IHRvIHVzZSBhcyBsYXN0IGJyZWFrcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7QXJyYXl9IFRoZSBsaXN0IG9mIGJyZWFrcG9pbnRzIHVwIHRvIGFuZC4gSWYgJGtleSBpcyBhdXRvLCByZXR1cm5zIGJyZWFrcG9pbnRzIGFib3ZlIHRoZSB6ZXJvXG5AZnVuY3Rpb24gLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigka2V5KSB7XG4gICRsaXN0OiAoKTtcbiAgJGZvdW5kX2tleTogZmFsc2U7XG5cbiAgQGVhY2ggJG5hbWUgaW4gJC16Zi1icmVha3BvaW50cy1rZXlzIHtcbiAgICBAaWYgKCRuYW1lID09ICRrZXkpIHtcbiAgICAgICRmb3VuZF9rZXk6IHRydWU7XG4gICAgfVxuICAgIEBpZiBub3QgJGZvdW5kX2tleSB7XG4gICAgICAkbGlzdDogYXBwZW5kKCRsaXN0LCAkbmFtZSk7XG4gICAgfVxuICB9XG4gIEByZXR1cm4gJGxpc3Q7XG59XG5cbi8vLyBSZXR1cm4gYSBsaXN0IG9mIG91ciBuYW1lZCBicmVha3BvaW50cyBsZXNzIHRoYW4gJGtleS4gVXNlZnVsIGZvciBkZWFsaW5nIHdpdGhcbi8vLyByZXNwb25zaXZlIGd1dHRlcnMgZm9yIHRoZSBncmlkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IC0gYSBuYW1lZCBvciBub24tbmFtZWQgYnJlYWtwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtBcnJheX0gVGhlIGxpc3Qgb2YgYnJlYWtwb2ludHMgdXAgdG8gYW5kLiBJZiAka2V5IGlzIGF1dG8sIHJldHVybnMgYnJlYWtwb2ludHMgYWJvdmUgdGhlIHplcm9cbkBmdW5jdGlvbiAtemYtY2xvc2VzdC1uYW1lZC1icmVha3BvaW50KCRicmVha3BvaW50KSB7XG4gICRsYXN0OiAkLXpmLXplcm8tYnJlYWtwb2ludDtcbiAgJGZvdW5kOiBmYWxzZTtcblxuICAkdmFsdWU6IHVuaXRsZXNzLWNhbGMoJGJyZWFrcG9pbnQsIDFweCk7XG4gIEBlYWNoICRrZXksICR2YWwgaW4gJGJyZWFrcG9pbnRzIHtcbiAgICBAaWYgbm90ICRmb3VuZCB7XG4gICAgICBAaWYgdW5pdGxlc3MtY2FsYygkdmFsKSA+ICR2YWx1ZSB7XG4gICAgICAgICRmb3VuZDogdHJ1ZTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkbGFzdDogJGtleTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRsYXN0O1xufVxuXG4vLy8gR2V0IGEgdmFsdWUgZm9yIGEgYnJlYWtwb2ludCBmcm9tIGEgcmVzcG9uc2l2ZSBjb25maWcgbWFwIG9yIHNpbmdsZSB2YWx1ZS5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBzaW5nbGUgdmFsdWUsIHJldHVybiBpdCByZWdhcmRsZXNzIG9mIGAkdmFsdWVgLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIG1hcCBhbmQgaGFzIHRoZSBrZXkgYCR2YWx1ZWAsIHRoZSBleGFjdCBicmVha3BvaW50IHZhbHVlIGlzIHJldHVybmVkLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIG1hcCBhbmQgZG9lcyAqbm90KiBoYXZlIHRoZSBicmVha3BvaW50LCB0aGUgdmFsdWUgbWF0Y2hpbmcgdGhlIG5leHQgbG93ZXN0IGJyZWFrcG9pbnQgaW4gdGhlIGNvbmZpZyBtYXAgaXMgcmV0dXJuZWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXAgLSBSZXNwb25zaXZlIGNvbmZpZyBtYXAgb3Igc2luZ2xlIHZhbHVlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHZhbHVlIC0gQnJlYWtwb2ludCBuYW1lIHRvIHVzZS5cbi8vL1xuLy8vIEByZXR1cm4ge01peGVkfSBUaGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlLlxuQGZ1bmN0aW9uIC16Zi1nZXQtYnAtdmFsKCRtYXAsICR2YWx1ZSkge1xuICAvLyBJZiB0aGUgZ2l2ZW4gbWFwIGlzIGEgc2luZ2xlIHZhbHVlLCByZXR1cm4gaXRcbiAgQGlmIHR5cGUtb2YoJG1hcCkgPT0gJ251bWJlcicge1xuICAgIEByZXR1cm4gJG1hcDtcbiAgfVxuXG5cbiAgLy8gQ2hlY2sgaWYgdGhlIGJyZWFrcG9pbnQgbmFtZSBleGlzdHMgZ2xvYmFsbHlcbiAgQGlmIG5vdCBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICR2YWx1ZSkge1xuICAgIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ251bWJlcicge1xuICAgICAgJHZhbHVlOiAtemYtY2xvc2VzdC1uYW1lZC1icmVha3BvaW50KCR2YWx1ZSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICBAcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG4gIC8vIENoZWNrIGlmIHRoZSBicmVha3BvaW50IG5hbWUgZXhpc3RzIGluIHRoZSBsb2NhbCBjb25maWcgbWFwXG4gIEBlbHNlIGlmIG1hcC1oYXMta2V5KCRtYXAsICR2YWx1ZSkge1xuICAgIC8vIElmIGl0IGRvZXMsIGp1c3QgcmV0dXJuIHRoZSB2YWx1ZVxuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCAkdmFsdWUpO1xuICB9XG4gIC8vIE90aGVyd2lzZSwgZmluZCB0aGUgbmV4dCBsb3dlc3QgYnJlYWtwb2ludCBhbmQgcmV0dXJuIHRoYXQgdmFsdWVcbiAgQGVsc2Uge1xuICAgICRhbmNob3I6IG51bGw7XG4gICAgJGZvdW5kOiBmYWxzZTtcblxuICAgIEBlYWNoICRrZXksICR2YWwgaW4gJGJyZWFrcG9pbnRzIHtcbiAgICAgIEBpZiBub3QgJGZvdW5kIHtcbiAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRtYXAsICRrZXkpIHtcbiAgICAgICAgICAkYW5jaG9yOiAka2V5O1xuICAgICAgICB9XG4gICAgICAgIEBpZiAka2V5ID09ICR2YWx1ZSB7XG4gICAgICAgICAgJGZvdW5kOiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsICRhbmNob3IpO1xuICB9XG59XG5cbi8vLyBSZXR1cm4gdGhlIGJlc3QgYnJlYWtwb2ludCB0byB1c2UgYWNjb3JkaW5nIHRvIHRoZSBjYWxsaW5nIGNvbnRleHQuIEl0IHJldHVybnMgaW4gb3JkZXI6XG4vLy8gMS4gdGhlIGdpdmVuIGAkdmFsdWVgIGFyZ3VtZW50IGlmIGl0IGlzIG5vdCBudWxsLlxuLy8vIDIuIHRoZSBnbG9iYWwgYnJlYWtwb2ludCBjb250ZXh0IGAkLXpmLXNpemVgIGlmIGl0IGlzIG5vdCBudWxsIChsaWtlIGlmIGNhbGxlZCBpbnNpZGUgdGhlbiBgYnJlYWtwb2ludCgpYCBtaXhpbilcbi8vLyAzLiB0aGUgZ2l2ZW4gYCRkZWZhdWx0YCBhcmd1bWVudC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHZhbHVlIFtudWxsXSAtIEJyZWFrcG9pbnQgdG8gdXNlIGluIHByaW9yaXR5IGlmIG5vbi1udWxsLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRlZmF1bHQgW251bGxdIC0gQnJlYWtwb2ludCB0byB1c2UgYnkgZGVmYXVsdCBpZiBubyBvdGhlciB2YWx1ZSBjYW4gYmUgdXNlZC5cbi8vL1xuLy8vIEByZXR1cm4ge0tleXdvcmR9IFRoZSByZXNvbHZlZCBicmVha3BvaW50LlxuQGZ1bmN0aW9uIC16Zi1jdXJyZW50LWJyZWFrcG9pbnQoJHZhbHVlOiBudWxsLCAkZGVmYXVsdDogbnVsbCkge1xuICBAaWYgKCR2YWx1ZSAhPSBudWxsKSB7XG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH1cbiAgQGVsc2UgaWYgKHZhcmlhYmxlLWV4aXN0cygtemYtc2l6ZSkgYW5kIHR5cGUtb2YoJC16Zi1zaXplKSAhPSAnbnVtYmVyJykgYW5kICQtemYtc2l6ZSAhPSBudWxsIHtcbiAgICBAcmV0dXJuICQtemYtc2l6ZTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiAkZGVmYXVsdDtcbiAgfVxufVxuXG4vLy8gUmV0dXJuIG1lZGlhIHF1ZXJ5IHN0cmluZyBmcm9tIHRoZSBnaXZlbiBtaW4gYW5kL29yIG1heCBsaW1pdHMuXG4vLy8gSWYgYSBsaW1pdCBpcyBlcXVhbCB0byBgbnVsbGAgb3IgYDBgLCBpdCBpcyBpZ25vcmVkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtaW4gWzBdIC0gTWluIG1lZGlhIHF1ZXJ5IGxpbWl0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWF4IFswXSAtIE1heCBtZWRpYSBxdWVyeSBsaW1pdC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG1pbi1uYW1lIFsnbWluLXdpZHRoJ10gLSBOYW1lIG9mIHRoZSBtaW4gbWVkaWEgcXVlcnkgbGltaXQuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRkZWxpbWl0ZXIgWydtYXgtd2lkdGgnXSAtIE5hbWUgb2YgdGhlIG1heCBtZWRpYSBxdWVyeSBsaW1pdC5cbi8vL1xuLy8vIEByZXR1cm5zIHtTdHJpbmd9IE1lZGlhIFF1ZXJ5IHN0cmluZy5cbkBmdW5jdGlvbiAtemYtYnAtam9pbihcbiAgJG1pbjogMCxcbiAgJG1heDogMCxcbiAgJG1pbi1uYW1lOiAnbWluLXdpZHRoJyxcbiAgJG1heC1uYW1lOiAnbWF4LXdpZHRoJ1xuKSB7XG4gIEByZXR1cm4gemYtc3RyLWpvaW4oXG4gICAgaWYoJG1pbiBhbmQgJG1pbiA+IDAsICcoI3skbWluLW5hbWV9OiAjeyRtaW59KScsIG51bGwpLFxuICAgIGlmKCRtYXggYW5kICRtYXggPiAwLCAnKCN7JG1heC1uYW1lfTogI3skbWF4fSknLCBudWxsKSxcbiAgICAnIGFuZCAnKTtcbn1cblxuJHNtYWxsLXVwOiAnJztcbiRzbWFsbC1vbmx5OiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgc21hbGwpIHtcbiAgJHNtYWxsLXVwOiBzY3JlZW47XG4gICRzbWFsbC1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChzbWFsbCBvbmx5KX0nKTtcbn1cblxuJG1lZGl1bS11cDogJyc7XG4kbWVkaXVtLW9ubHk6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBtZWRpdW0pIHtcbiAgJG1lZGl1bS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtKX0nKTtcbiAgJG1lZGl1bS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChtZWRpdW0gb25seSl9Jyk7XG59XG5cbiRsYXJnZS11cDogJyc7XG4kbGFyZ2Utb25seTogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIGxhcmdlKSB7XG4gICRsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobGFyZ2UpfScpO1xuICAkbGFyZ2Utb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobGFyZ2Ugb25seSl9Jyk7XG59XG5cbiR4bGFyZ2UtdXA6ICcnO1xuJHhsYXJnZS1vbmx5OiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgeGxhcmdlKSB7XG4gICR4bGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHhsYXJnZSl9Jyk7XG4gICR4bGFyZ2Utb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlIG9ubHkpfScpO1xufVxuXG4keHhsYXJnZS11cDogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHh4bGFyZ2UpIHtcbiAgJHh4bGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHh4bGFyZ2UpfScpO1xufVxuIiwKCQkiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gQ3JlYXRlcyBhbiBpbm5lciBib3gtc2hhZG93IGZvciBvbmx5IG9uZSBzaWRlXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaWRlIC0gU2lkZSB0aGUgc2hhZG93IGlzIHN1cHBvc2VkIHRvIGFwcGVhci4gQ2FuIGJlIGB0b3BgLCBgbGVmdGAsIGByaWdodGAgb3IgYGJvdHRvbWAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzaXplIC0gV2lkdGggZm9yIHRoZSB0YXJnZXQgc2lkZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciBvZiB0aGUgc2hhZG93LlxuQG1peGluIGlubmVyLXNpZGUtc2hhZG93KFxuICAkc2lkZTogYm90dG9tLFxuICAkc2l6ZTogMjBweCxcbiAgJGNvbG9yOiByZ2JhKCRibGFjaywgMC4yNSlcbikge1xuXG4gICRoZWxwZXI6IHJvdW5kKCRzaXplICogMC42NSk7XG5cbiAgQGlmICgkc2lkZSA9PSB0b3ApIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwICRoZWxwZXIgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfSBAZWxzZSBpZiAoJHNpZGUgPT0gbGVmdCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0ICRoZWxwZXIgMCAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9IEBlbHNlIGlmICgkc2lkZSA9PSByaWdodCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0ICgtMSkqJGhlbHBlciAwICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH0gQGVsc2UgaWYgKCRzaWRlID09IGJvdHRvbSkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgKC0xKSokaGVscGVyICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBDU1MgdHJpYW5nbGUsIHdoaWNoIGNhbiBiZSB1c2VkIGZvciBkcm9wZG93biBhcnJvd3MsIGRyb3Bkb3duIHBpcHMsIGFuZCBtb3JlLiBVc2UgdGhpcyBtaXhpbiBpbnNpZGUgYSBgJjo6YmVmb3JlYCBvciBgJjo6YWZ0ZXJgIHNlbGVjdG9yLCB0byBhdHRhY2ggdGhlIHRyaWFuZ2xlIHRvIGFuIGV4aXN0aW5nIGVsZW1lbnQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRyaWFuZ2xlLXNpemUgLSBXaWR0aCBvZiB0aGUgdHJpYW5nbGUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJHRyaWFuZ2xlLWNvbG9yIC0gQ29sb3Igb2YgdGhlIHRyaWFuZ2xlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHRyaWFuZ2xlLWRpcmVjdGlvbiAtIERpcmVjdGlvbiB0aGUgdHJpYW5nbGUgcG9pbnRzLiBDYW4gYmUgYHVwYCwgYHJpZ2h0YCwgYGRvd25gLCBvciBgbGVmdGAuXG5AbWl4aW4gY3NzLXRyaWFuZ2xlKFxuICAkdHJpYW5nbGUtc2l6ZSxcbiAgJHRyaWFuZ2xlLWNvbG9yLFxuICAkdHJpYW5nbGUtZGlyZWN0aW9uXG4pIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG5cbiAgYm9yZGVyOiBpbnNldCAkdHJpYW5nbGUtc2l6ZTtcblxuICBjb250ZW50OiAnJztcblxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gZG93bikge1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IHVwKSB7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvcjtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gcmlnaHQpIHtcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBsZWZ0KSB7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIG1lbnUgaWNvbiB3aXRoIGEgc2V0IHdpZHRoLCBoZWlnaHQsIG51bWJlciBvZiBiYXJzLCBhbmQgY29sb3JzLiBUaGUgbWl4aW4gdXNlcyB0aGUgaGVpZ2h0IG9mIHRoZSBpY29uIGFuZCB0aGUgd2VpZ2h0IG9mIHRoZSBiYXJzIHRvIGRldGVybWluZSBzcGFjaW5nLiA8ZGl2IGNsYXNzPVwiZG9jcy1leGFtcGxlLWJ1cmdlclwiPjwvZGl2PlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3ItaG92ZXIgWyRkYXJrLWdyYXldIC0gQ29sb3IgdG8gdXNlIHdoZW4gdGhlIGljb24gaXMgaG92ZXJlZCBvdmVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWzIwcHhdIC0gV2lkdGggb2YgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRoZWlnaHQgWzE2cHhdIC0gSGVpZ2h0IG9mIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2VpZ2h0IFsycHhdIC0gSGVpZ2h0IG9mIGluZGl2aWR1YWwgYmFycyBpbiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhcnMgWzNdIC0gTnVtYmVyIG9mIGJhcnMgaW4gdGhlIGljb24uXG5AbWl4aW4gaGFtYnVyZ2VyKFxuICAkY29sb3I6ICRibGFjayxcbiAgJGNvbG9yLWhvdmVyOiAkZGFyay1ncmF5LFxuICAkd2lkdGg6IDIwcHgsXG4gICRoZWlnaHQ6IDE2cHgsXG4gICR3ZWlnaHQ6IDJweCxcbiAgJGJhcnM6IDNcbikge1xuICAvLyBib3gtc2hhZG93IENTUyBvdXRwdXRcbiAgJHNoYWRvdzogKCk7XG4gICRob3Zlci1zaGFkb3c6ICgpO1xuXG4gIC8vIFNwYWNpbmcgYmV0d2VlbiBiYXJzIGlzIGNhbGN1bGF0ZWQgYmFzZWQgb24gdGhlIHRvdGFsIGhlaWdodCBvZiB0aGUgaWNvbiBhbmQgdGhlIHdlaWdodCBvZiBlYWNoIGJhclxuICAkc3BhY2luZzogKCRoZWlnaHQgLSAoJHdlaWdodCAqICRiYXJzKSkgLyAoJGJhcnMgLSAxKTtcblxuICBAaWYgdW5pdCgkc3BhY2luZykgPT0gJ3B4JyB7XG4gICAgJHNwYWNpbmc6IGZsb29yKCRzcGFjaW5nKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xuICAgICRvZmZzZXQ6ICgkd2VpZ2h0ICsgJHNwYWNpbmcpICogKCRpIC0gMSk7XG4gICAgJHNoYWRvdzogYXBwZW5kKCRzaGFkb3csIDAgJG9mZnNldCAwICRjb2xvciwgY29tbWEpO1xuICB9XG5cbiAgLy8gSWNvbiBjb250YWluZXJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAkd2lkdGg7XG4gIGhlaWdodDogJGhlaWdodDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gIC8vIEljb24gYmFyc1xuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAkd2VpZ2h0O1xuXG4gICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG5cbiAgICBjb250ZW50OiAnJztcbiAgfVxuXG4gIC8vIEhvdmVyIHN0YXRlXG4gIEBpZiAkY29sb3ItaG92ZXIge1xuICAgIC8vIEdlbmVyYXRlIENTU1xuICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xuICAgICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcbiAgICAgICRob3Zlci1zaGFkb3c6IGFwcGVuZCgkaG92ZXItc2hhZG93LCAwICRvZmZzZXQgMCAkY29sb3ItaG92ZXIsIGNvbW1hKTtcbiAgICB9XG5cbiAgICAmOmhvdmVyOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItaG92ZXI7XG4gICAgICBib3gtc2hhZG93OiAkaG92ZXItc2hhZG93O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBhIGRvd253YXJkLWZhY2luZyB0cmlhbmdsZSBhcyBhIGJhY2tncm91bmQgaW1hZ2UgdG8gYW4gZWxlbWVudC4gVGhlIGltYWdlIGlzIGZvcm1hdHRlZCBhcyBhbiBTVkcsIG1ha2luZyBpdCBlYXN5IHRvIGNoYW5nZSB0aGUgY29sb3IuIEJlY2F1c2UgSW50ZXJuZXQgRXhwbG9yZXIgZG9lc24ndCBzdXBwb3J0IGVuY29kZWQgU1ZHcyBhcyBiYWNrZ3JvdW5kIGltYWdlcywgYSBQTkcgZmFsbGJhY2sgaXMgYWxzbyBpbmNsdWRlZC5cbi8vLyBUaGVyZSBhcmUgdHdvIFBORyBmYWxsYmFja3M6IGEgYmxhY2sgdHJpYW5nbGUgYW5kIGEgd2hpdGUgdHJpYW5nbGUuIFRoZSBvbmUgdXNlZCBkZXBlbmRzIG9uIHRoZSBsaWdodG5lc3Mgb2YgdGhlIGlucHV0IGNvbG9yLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgdHJpYW5nbGUuXG5AbWl4aW4gYmFja2dyb3VuZC10cmlhbmdsZSgkY29sb3I6ICRibGFjaykge1xuICAkcmdiOiAncmdiJTI4I3tyb3VuZChyZWQoJGNvbG9yKSl9LCAje3JvdW5kKGdyZWVuKCRjb2xvcikpfSwgI3tyb3VuZChibHVlKCRjb2xvcikpfSUyOSc7XG5cbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZlcnNpb249JzEuMScgd2lkdGg9JzMyJyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMzIgMjQnPjxwb2x5Z29uIHBvaW50cz0nMCwwIDMyLDAgMTYsMjQnIHN0eWxlPSdmaWxsOiAjeyRyZ2J9Jz48L3BvbHlnb24+PC9zdmc+XCIpO1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MFxcMCkge1xuICAgIEBpZiBsaWdodG5lc3MoJGNvbG9yKSA8IDYwJSB7XG4gICAgICAvLyBXaGl0ZSB0cmlhbmdsZVxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQUlwSlJFRlVlTnJFa2NrTmdEQU1CQmZSa0V0ME9iUkJCZHNHWFVEZ21RZks0WGhIMm04Y3pRQUF5MjdSM3RzdzRRZmUyeDh1T082b1lMYjZHbE9vcjNHRitzd1VSQU9tVUorUnd0RUpzOVd2VEdFWXhCWHFJMU1RQVpoQ2ZVUUtSekRNVmorVHdyQUlWNmp2U1VFa1lBcjFMU2tjeVRCYi9WK0tZZlg3eEFldXNxM3NMRHRHSDNrRUdBQ1BXSWZsTlpmaFJRQUFBQUJKUlU1RXJrSmdnZz09Jyk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIC8vIEJsYWNrIHRyaWFuZ2xlXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBTUJKUkVGVWVOckVsbHNPaENBTVJWc3pDOUlselU3S0NtVkhUSnNvTVdZTVV0cHl2OUJnYnVYUUI1WlNkZ0JZWVk0eWNnQml2azhLWUZzUU1mTWlUVEJQNG8zblV6Q0t6T2FiTEpiTHkyL2czMWV2R2tBZ2luUjQvWmVnS0g1cVgzYkpDc2NBM3QweDNrZ081dFFGeWhoRmY1MHhScUZMYnlNVU5KUXpneWpHUy93Z0Nwdktxa1JCcHVXckU0VjlkKzFFNGRQVVhxSWcxMDdTUU9FLzJEUlF4TXdURHlnSUluVkRFVDlUM2xDb2ovNmovVkNtR2paT2wybEtwWjhBQXdEUVA3eklpbURHRlFBQUFBQkpSVTVFcmtKZ2dnPT0nKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFwcGxpZXMgdGhlIG1pY3JvIGNsZWFyZml4IGhhY2sgcG9wdWxhcml6ZWQgYnkgTmljb2xhcyBHYWxsYWdoZXIuIEluY2x1ZGUgdGhpcyBtaXhpbiBvbiBhIGNvbnRhaW5lciBpZiBpdHMgY2hpbGRyZW4gYXJlIGFsbCBmbG9hdGVkLCB0byBnaXZlIHRoZSBjb250YWluZXIgYSBwcm9wZXIgaGVpZ2h0LlxuLy8vIFRoZSBjbGVhcmZpeCBpcyBhdWdtZW50ZWQgd2l0aCBzcGVjaWZpYyBzdHlsZXMgdG8gcHJldmVudCBib3JkZXJzIGluIGZsZXhib3ggZW52aXJvbm1lbnRzXG4vLy8gQGxpbmsgaHR0cDovL25pY29sYXNnYWxsYWdoZXIuY29tL21pY3JvLWNsZWFyZml4LWhhY2svIE1pY3JvIENsZWFyZml4IEhhY2tcbi8vLyBAbGluayBodHRwOi8vZGFuaXNhZGVzaWduZXIuY29tL2Jsb2cvZmxleGJveC1jbGVhci1maXgtcHNldWRvLWVsZW1lbnRzLyBGbGV4Ym94IGZpeFxuQG1peGluIGNsZWFyZml4IHtcbiAgJjo6YmVmb3JlLFxuICAmOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4LWJhc2lzOiAwO1xuICAgICAgb3JkZXI6IDE7XG4gICAgfVxuICB9XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG59XG5cbi8vLyBBZGRzIENTUyBmb3IgYSBcInF1YW50aXR5IHF1ZXJ5XCIgc2VsZWN0b3IgdGhhdCBhdXRvbWF0aWNhbGx5IHNpemVzIGVsZW1lbnRzIGJhc2VkIG9uIGhvdyBtYW55IHRoZXJlIGFyZSBpbnNpZGUgYSBjb250YWluZXIuXG4vLy8gQGxpbmsgaHR0cDovL2FsaXN0YXBhcnQuY29tL2FydGljbGUvcXVhbnRpdHktcXVlcmllcy1mb3ItY3NzIFF1YW50aXR5IFF1ZXJpZXMgZm9yIENTU1xuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXggLSBNYXhpbXVtIG51bWJlciBvZiBpdGVtcyB0byBkZXRlY3QuIFRoZSBoaWdoZXIgdGhpcyBudW1iZXIgaXMsIHRoZSBtb3JlIENTUyB0aGF0J3MgcmVxdWlyZWQgdG8gY292ZXIgZWFjaCBudW1iZXIgb2YgaXRlbXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZWxlbSBbbGldIC0gVGFnIHRvIHVzZSBmb3Igc2libGluZyBzZWxlY3RvcnMuXG5AbWl4aW4gYXV0by13aWR0aCgkbWF4LCAkZWxlbTogbGkpIHtcbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkbWF4IHtcbiAgICAmOm50aC1sYXN0LWNoaWxkKCN7JGl9KTpmaXJzdC1jaGlsZCxcbiAgICAmOm50aC1sYXN0LWNoaWxkKCN7JGl9KTpmaXJzdC1jaGlsZCB+ICN7JGVsZW19IHtcbiAgICAgIHdpZHRoOiBwZXJjZW50YWdlKDEgLyAkaSk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBSZW1vdmVzIHRoZSBmb2N1cyByaW5nIGFyb3VuZCBhbiBlbGVtZW50IHdoZW4gYSBtb3VzZSBpbnB1dCBpcyBkZXRlY3RlZC5cbkBtaXhpbiBkaXNhYmxlLW1vdXNlLW91dGxpbmUge1xuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gJiB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxufVxuXG4vLy8gTWFrZXMgYW4gZWxlbWVudCB2aXN1YWxseSBoaWRkZW4sIGJ1dCBzdGlsbCBhY2Nlc3NpYmxlIHRvIGtleWJvYXJkcyBhbmQgYXNzaXN0aXZlIGRldmljZXMuXG4vLy8gQGxpbmsgaHR0cDovL3Nub29rLmNhL2FyY2hpdmVzL2h0bWxfYW5kX2Nzcy9oaWRpbmctY29udGVudC1mb3ItYWNjZXNzaWJpbGl0eSBIaWRpbmcgQ29udGVudCBmb3IgQWNjZXNzaWJpbGl0eVxuLy8vIEBsaW5rIGh0dHA6Ly9odWdvZ2lyYXVkZWwuY29tLzIwMTYvMTAvMTMvY3NzLWhpZGUtYW5kLXNlZWsvXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRlbmZvcmNlIC0gSWYgYHRydWVgLCB1c2UgYCFpbXBvcnRhbnRgIG9uIGFwcGxpZWQgcHJvcGVydGllc1xuQG1peGluIGVsZW1lbnQtaW52aXNpYmxlKFxuICAkZW5mb3JjZTogdHJ1ZVxuKSB7XG4gICRpbXBvcnRhbnQ6IGlmKCRlbmZvcmNlLCAnIWltcG9ydGFudCcsIG51bGwpO1xuXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAjeyRpbXBvcnRhbnR9O1xuICB3aWR0aDogMXB4ICN7JGltcG9ydGFudH07XG4gIGhlaWdodDogMXB4ICN7JGltcG9ydGFudH07XG4gIHBhZGRpbmc6IDAgI3skaW1wb3J0YW50fTtcbiAgb3ZlcmZsb3c6IGhpZGRlbiAjeyRpbXBvcnRhbnR9O1xuICBjbGlwOiByZWN0KDAsMCwwLDApICN7JGltcG9ydGFudH07XG4gIHdoaXRlLXNwYWNlOiBub3dyYXAgI3skaW1wb3J0YW50fTtcbiAgYm9yZGVyOiAwICN7JGltcG9ydGFudH07XG59XG5cbi8vLyBSZXZlcnNlcyB0aGUgQ1NTIG91dHB1dCBjcmVhdGVkIGJ5IHRoZSBgZWxlbWVudC1pbnZpc2libGUoKWAgbWl4aW4uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZW5mb3JjZSAtIElmIGB0cnVlYCwgdXNlIGAhaW1wb3J0YW50YCBvbiBhcHBsaWVkIHByb3BlcnRpZXNcbkBtaXhpbiBlbGVtZW50LWludmlzaWJsZS1vZmYoXG4gICRlbmZvcmNlOiB0cnVlXG4pIHtcbiAgJGltcG9ydGFudDogaWYoJGVuZm9yY2UsICchaW1wb3J0YW50JywgbnVsbCk7XG5cbiAgcG9zaXRpb246IHN0YXRpYyAjeyRpbXBvcnRhbnR9O1xuICB3aWR0aDogYXV0byAjeyRpbXBvcnRhbnR9O1xuICBoZWlnaHQ6IGF1dG8gI3skaW1wb3J0YW50fTtcbiAgb3ZlcmZsb3c6IHZpc2libGUgI3skaW1wb3J0YW50fTtcbiAgY2xpcDogYXV0byAjeyRpbXBvcnRhbnR9O1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsICN7JGltcG9ydGFudH07XG59XG5cbi8vLyBWZXJ0aWNhbGx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIHZlcnRpY2FsLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuLy8vIEhvcml6b250YWxseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiBob3Jpem9udGFsLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG59XG5cbi8vLyBBYnNvbHV0ZWx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIGFic29sdXRlLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG59XG5cbi8vLyBJdGVyYXRlcyB0aHJvdWdoIGJyZWFrcG9pbnRzIGRlZmluZWQgaW4gYCRicmVha3BvaW50LWNsYXNzZXNgIGFuZCBwcmludHMgdGhlIENTUyBpbnNpZGUgdGhlIG1peGluIGF0IGVhY2ggYnJlYWtwb2ludCdzIG1lZGlhIHF1ZXJ5LiBVc2UgdGhpcyB3aXRoIHRoZSBncmlkLCBvciBhbnkgb3RoZXIgY29tcG9uZW50IHRoYXQgaGFzIHJlc3BvbnNpdmUgY2xhc3Nlcy5cbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHNtYWxsIFt0cnVlXSAtIElmIGBmYWxzZWAsIHRoZSBtaXhpbiB3aWxsIHNraXAgdGhlIGBzbWFsbGAgYnJlYWtwb2ludC4gVXNlIHRoaXMgd2l0aCBjb21wb25lbnRzIHRoYXQgZG9uJ3QgcHJlZml4IGNsYXNzZXMgd2l0aCBgc21hbGwtYCwgb25seSBgbWVkaXVtLWAgYW5kIHVwLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGF1dG8taW5zZXJ0LWJyZWFrcG9pbnRzIFt0cnVlXSAtIElmIGBmYWxzZWAsIHRoZSBtaXhpbiB3aWxsIGl0ZXJhdGUgb3ZlciBicmVha3BvaW50cyB3aXRob3V0IGRvaW5nIHRoZSBtZWRpYSBxdWVyeSBpdHNlbGYuIFVzZWZ1bCBmb3IgbW9yZSBjb21wbGV4IG1lZGlhIHF1ZXJ5IGdlbmVyYXRpb24gYXMgaW4gdGhlIG1hcmdpbiBncmlkLlxuQG1peGluIC16Zi1lYWNoLWJyZWFrcG9pbnQoXG4gICRzbWFsbDogdHJ1ZSxcbiAgJGF1dG8taW5zZXJ0LWJyZWFrcG9pbnRzOiB0cnVlXG4pIHtcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludC1pbihhdXRvLCAtemYtYm9vbCgkc21hbGwpLCAtemYtYm9vbCgkYXV0by1pbnNlcnQtYnJlYWtwb2ludHMpKSB7XG4gICAgQGNvbnRlbnRcbiAgfTtcbn1cblxuLy8vIEl0ZXJhdGVzIHdpdGggYEBjb250ZW50YCB0aHJvdWdoIHRoZSBnaXZlbiBsaXN0IG9mIGJyZWFrcG9pbnRzIGAkYnJlYWtwb2ludHNgLlxuLy8vXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TGlzdH0gJGJyZWFrcG9pbnRzIFthdXRvXSAtIEJyZWFrcG9pbnRzIHRvIGl0ZXJhdGVzIG9uLiBJdCBjYW4gYmUgYSBicmVha3BvaW50IG5hbWUsIGxpc3Qgb2YgYnJlYWtwb2ludHMgb3IgYGF1dG9gIGZvciBhbGwgYnJlYWtwb2ludHMuXG4vLy8gQHBhcmFtIHtCb29sZWFufE51bGx9ICR6ZXJvLWJyZWFrcG9pbnQgW251bGxdIC0gV2hldGhlciB0aGUgemVyby1icmVha3BvaW50IChvZnRlbiBgc21hbGxgKSBtdXN0IGJlIGluY2x1ZGVkLiBJZiBgdHJ1ZWAsIGl0IHdpbGwgYWx3YXlzIGJlIGFkZGVkIHRvIHRoZSBsaXN0IGlmIG5vdCBhbHJlYWR5IHRoZXJlLiBJZiBgZmFsc2VgLCBpdCB3aWxsIGFsd2F5cyBiZSByZW1vdmVkLiBEb2VzIG5vdGhpbmcgYnkgZGVmYXVsdC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW58S2V5d29yZH0gJG1lZGlhLXF1ZXJpZXMgW3RydWVdIC0gV2hldGhlciBtZWRpYS1xdWVyaWVzIG11c3QgYmUgZ2VuZXJhdGVkLiBJZiBgZm9yLWxpc3RzYCwgb25seSBnZW5lcmF0ZSBtZWRpYS1xdWVyaWVzIHdoZW4gYCRicmVha3BvaW50c2AgaXMgYSBsaXN0LlxuQG1peGluIC16Zi1lYWNoLWJyZWFrcG9pbnQtaW4oXG4gICRicmVha3BvaW50czogYXV0byxcbiAgJHplcm8tYnJlYWtwb2ludDogbnVsbCxcbiAgJG1lZGlhLXF1ZXJpZXM6IHRydWVcbikge1xuICAkLWxpc3Q6ICgpO1xuICAkLWJyZWFrcG9pbnRzLWlzLWEtbGlzdDogdHJ1ZTtcblxuICAvLyBSZXRyaWV2ZSB0aGUgbGlzdCBvZiBicmVha3BvaW50KHMpIHRvIGl0ZXJhdGUgb24uXG4gIEBpZiAkYnJlYWtwb2ludHMgPT0gYXV0byB7XG4gICAgJC1saXN0OiAkYnJlYWtwb2ludC1jbGFzc2VzO1xuICB9XG4gIEBlbHNlIGlmIHR5cGUtb2YoJGJyZWFrcG9pbnRzKSA9PSAnbGlzdCcge1xuICAgICQtbGlzdDogJGJyZWFrcG9pbnRzO1xuICB9XG4gIEBlbHNlIGlmIHR5cGUtb2YoJGJyZWFrcG9pbnRzKSA9PSAnc3RyaW5nJyB7XG4gICAgJC1saXN0OiAoJGJyZWFrcG9pbnRzKTtcbiAgICAkLWJyZWFrcG9pbnRzLWlzLWEtbGlzdDogZmFsc2U7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBlcnJvciAnV3Jvbmcgc3ludGF4IGZvciBcIiRicmVha3BvaW50c1wiIGluIFwiLXpmLWVhY2gtYnJlYWtwb2ludC1pbigpXCIuIEdvdCBcIiN7JGJyZWFrcG9pbnRzfVwiICgje3R5cGUtb2YoJGJyZWFrcG9pbnRzKX0pLiBFeHBlY3RlZCBhIGJyZWFrcG9pbnQgbmFtZSwgYSBsaXN0IG9mIGJyZWFrcG9pbnRzIG9yIFwiYXV0b1wiJztcbiAgfVxuXG4gIC8vIEFkZCBvciByZW1vdmUgdGhlIHplcm8gYnJlYWtwb2ludCBhY2NvcmRpbmcgdG8gYCR6ZXJvLWJyZWFrcG9pbnRgXG4gIEBpZiAkemVyby1icmVha3BvaW50ID09IHRydWUge1xuICAgICQtbGlzdDogam9pbigoJC16Zi16ZXJvLWJyZWFrcG9pbnQpLCBzbC1yZW1vdmUoJC1saXN0LCAkLXpmLXplcm8tYnJlYWtwb2ludCkpO1xuICB9XG4gIEBlbHNlIGlmICR6ZXJvLWJyZWFrcG9pbnQgPT0gZmFsc2Uge1xuICAgICQtbGlzdDogc2wtcmVtb3ZlKCQtbGlzdCwgJC16Zi16ZXJvLWJyZWFrcG9pbnQpO1xuICB9XG5cbiAgLy8gSXRlcmF0ZSBvbiBicmVha3BvaW50KHMpXG4gIEBlYWNoICRicCBpbiAkLWxpc3Qge1xuICAgICRvbGQtemYtc2l6ZTogbnVsbDtcbiAgICBAaWYgZ2xvYmFsLXZhcmlhYmxlLWV4aXN0cygtemYtc2l6ZSkge1xuICAgICAgJG9sZC16Zi1zaXplOiAkLXpmLXNpemU7XG4gICAgfVxuICAgICQtemYtc2l6ZTogJGJwICFnbG9iYWw7XG5cbiAgICBAaWYgKCRtZWRpYS1xdWVyaWVzID09IHRydWVcbiAgICAgIG9yICgkbWVkaWEtcXVlcmllcyA9PSAnZm9yLWxpc3RzJyBhbmQgJC1icmVha3BvaW50cy1pcy1hLWxpc3QpKSB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicCkge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuXG4gICAgJC16Zi1zaXplOiAkb2xkLXpmLXNpemUgIWdsb2JhbDtcbiAgfVxufVxuXG4vLy8gR2VuZXJhdGUgdGhlIGBAY29udGVudGAgcGFzc2VkIHRvIHRoZSBtaXhpbiB3aXRoIGEgdmFsdWUgYCQtemYtYnAtdmFsdWVgIHJlbGF0ZWQgdG8gYSBicmVha3BvaW50LCBkZXBlbmRpbmcgb24gdGhlIGAkbmFtZWAgcGFyYW1ldGVyOlxuLy8vIC0gRm9yIGEgc2luZ2xlIHZhbHVlLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhpcyB2YWx1ZS5cbi8vLyAtIEZvciBhIGJyZWFrcG9pbnQgbmFtZSwgYCQtemYtYnAtdmFsdWVgIGlzIHRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUgaW4gYCRtYXBgLlxuLy8vIC0gRm9yIFwiYXV0b1wiLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZSBpbiBgJG1hcGAgYW5kIGlzIHBhc3NlZCB0byBgQGNvbnRlbnRgLCB3aGljaCBpcyBtYWRlIHJlc3BvbnNpdmUgZm9yIGVhY2ggYnJlYWtwb2ludCBvZiBgJG1hcGAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8QXJyYXl8S2V5d29yZH0gJG5hbWUgW2F1dG9dIC0gU2luZ2xlIHZhbHVlLCBicmVha3BvaW50IG5hbWUsIG9yIGxpc3Qgb2YgYnJlYWtwb2ludCBuYW1lcyB0byB1c2UuIFwiYXV0b1wiIGJ5IGRlZmF1bHQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkbWFwIC0gTWFwIG9mIGJyZWFrcG9pbnRzIGFuZCB2YWx1ZXMgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZS5cbkBtaXhpbiAtemYtYnJlYWtwb2ludC12YWx1ZShcbiAgJG5hbWU6IGF1dG8sXG4gICRtYXA6IG51bGxcbikge1xuICBAaWYgJG5hbWUgPT0gYXV0byBhbmQgdHlwZS1vZigkbWFwKSA9PSAnbWFwJyB7XG4gICAgLy8gXCJhdXRvXCJcbiAgICBAZWFjaCAkaywgJHYgaW4gJG1hcCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRrKSB7XG4gICAgICAgIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKCR2LCAkbWFwKSB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC8vIGJyZWFrcG9pbnQgbmFtZVxuICAgIEBpZiB0eXBlLW9mKCRuYW1lKSA9PSAnc3RyaW5nJyB7XG4gICAgICAkYnAtdmFsdWU6IC16Zi1nZXQtYnAtdmFsKCRtYXAsICRuYW1lKTtcbiAgICAgIEBpZiAkYnAtdmFsdWUgIT0gbnVsbCB7XG4gICAgICAgICRuYW1lOiAkYnAtdmFsdWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gYnJlYWtwb2ludCB2YWx1ZVxuICAgICQtemYtYnAtdmFsdWU6ICRuYW1lICFnbG9iYWw7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsCgkJIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuJC16Zi1mb250LXN0YWNrOiAoXG4gICdnZW9yZ2lhJzogKEdlb3JnaWEsIFwiVVJXIEJvb2ttYW4gTFwiLCBzZXJpZiksXG4gICdoZWx2ZXRpY2EnOiAoSGVsdmV0aWNhLCBBcmlhbCwgXCJOaW1idXMgU2FucyBMXCIsIHNhbnMtc2VyaWYpLFxuICAnbHVjaWRhLWdyYW5kZSc6IChcIkx1Y2lkYSBHcmFuZGVcIiwgXCJMdWNpZGEgU2FucyBVbmljb2RlXCIsIFwiQml0c3RyZWFtIFZlcmEgU2Fuc1wiLCBzYW5zLXNlcmlmKSxcbiAgJ21vbm9zcGFjZSc6IChcIkNvdXJpZXIgTmV3XCIsIENvdXJpZXIsIFwiTmltYnVzIFNhbnMgTFwiLCBtb25vc3BhY2UpLFxuICAnc3lzdGVtJzogKC1hcHBsZS1zeXN0ZW0sIHN5c3RlbS11aSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFwiUm9ib3RvXCIsIFwiT3h5Z2VuXCIsIFwiVWJ1bnR1XCIsIFwiQ2FudGFyZWxsXCIsIFwiRmlyYSBTYW5zXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZiksXG4gICd2ZXJkYW5hJzogKFZlcmRhbmEsIEdlbmV2YSwgXCJEZWphVnUgU2Fuc1wiLCBzYW5zLXNlcmlmKSxcbik7XG5cbi8vLyBSZXR1cm4gYSBmb250IHN0YWNrIGxpc3QgZnJvbSBhIG1hcC4gRXF1aXZhbGVudCB0byBgbWFwLXNhZmUtZ2V0KCRuYW1lLCAkLXpmLWZvbnQtc3RhY2spYC5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc3RhY2sgLSBOYW1lIG9mIHRoZSBmb250IHN0YWNrLlxuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIFskLXpmLWZvbnQtc3RhY2tdIC0gTWFwIG9mIGZvbnQgc3RhY2tzIHRvIHJldHJpZXZlIGEgbGlzdCBmcm9tLlxuLy8vXG4vLy8gQHJldHVybnMge0xpc3R9IEZvdW5kIGZvbnQgc3RhY2suXG5AZnVuY3Rpb24gZm9udC1zdGFjaygkc3RhY2ssICRtYXA6ICQtemYtZm9udC1zdGFjaykge1xuICBAcmV0dXJuIG1hcC1zYWZlLWdldCgkbWFwLCAkc3RhY2spO1xufVxuIiwKCQkiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZSBuby1jb2xvci1saXRlcmFscywgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuXG4vLy8vXG4vLy8gQGdyb3VwIGdsb2JhbFxuLy8vL1xuXG5AaW1wb3J0ICd1dGlsL3V0aWwnO1xuXG4vLy8gRm9udCBzaXplIGF0dHJpYnV0ZSBhcHBsaWVkIHRvIGA8aHRtbD5gIGFuZCBgPGJvZHk+YC4gV2UgdXNlIDEwMCUgYnkgZGVmYXVsdCBzbyB0aGUgdmFsdWUgaXMgaW5oZXJpdGVkIGZyb20gdGhlIHVzZXIncyBicm93c2VyIHNldHRpbmdzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1mb250LXNpemU6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgd2lkdGggb2YgeW91ciBzaXRlLiBVc2VkIGJ5IHRoZSBncmlkIHRvIGRldGVybWluZSByb3cgd2lkdGguXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXdpZHRoOiByZW0tY2FsYygxMjAwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIGFsbCB0eXBlLiBgJGdsb2JhbC1saW5laGVpZ2h0YCBpcyAyNHB4IHdoaWxlIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgaXMgMTZweFxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1saW5laGVpZ2h0OiAxLjUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvcnMgdXNlZCBmb3IgYnV0dG9ucywgY2FsbG91dHMsIGxpbmtzLCBldGMuIFRoZXJlIG11c3QgYWx3YXlzIGJlIGEgY29sb3IgY2FsbGVkIGBwcmltYXJ5YC5cbi8vLyBAdHlwZSBNYXBcbiRmb3VuZGF0aW9uLXBhbGV0dGU6IChcbiAgcHJpbWFyeTogIzE3NzliYSxcbiAgc2Vjb25kYXJ5OiAjNzY3Njc2LFxuICBzdWNjZXNzOiAjM2FkYjc2LFxuICB3YXJuaW5nOiAjZmZhZTAwLFxuICBhbGVydDogI2NjNGIzNyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBsaWdodCBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kbGlnaHQtZ3JheTogI2U2ZTZlNiAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIG1lZGl1bSBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVkaXVtLWdyYXk6ICNjYWNhY2EgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBkYXJrIGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkYXJrLWdyYXk6ICM4YThhOGEgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBibGFjayB1aSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJsYWNrOiAjMGEwYTBhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3Igd2hpdGUgdWkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiR3aGl0ZTogI2ZlZmVmZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRib2R5LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRib2R5LWZvbnQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3RhY2sgb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgTGlzdFxuJGJvZHktZm9udC1mYW1pbHk6ICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZiAhZGVmYXVsdDtcblxuLy8vIFNldCB0byBgdHJ1ZWAgdG8gZW5hYmxlIGFudGlhbGlhc2VkIHR5cGUsIHVzaW5nIHRoZSBgLXdlYmtpdC1mb250LXNtb290aGluZ2AgYW5kIGAtbW96LW9zeC1mb250LXNtb290aGluZ2AgQ1NTIHByb3BlcnRpZXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJvZHktYW50aWFsaWFzZWQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgbWFyZ2luIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBwYWRkaW5nIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgcG9zaXRpb25pbmcgb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcG9zaXRpb246IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgZm9udCB3ZWlnaHQgdXNlZCBmb3Igbm9ybWFsIHR5cGUuXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGdsb2JhbC13ZWlnaHQtbm9ybWFsOiBub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgZm9udCB3ZWlnaHQgdXNlZCBmb3IgYm9sZCB0eXBlLlxuLy8vIEB0eXBlIEtleXdvcmQgfCBOdW1iZXJcbiRnbG9iYWwtd2VpZ2h0LWJvbGQ6IGJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgYWxsIGVsZW1lbnRzIHRoYXQgaGF2ZSBhIGJvcmRlciByYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXJhZGl1czogMCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBhbGwgbWVudSBzdHlsZXMuIENhbiBiZSBvdmVyd3JpdHRlbiBhdCBpbmRpdmlkdWFsIG1lbnUgY29tcG9uZW50IGxldmVsLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1tZW51LXBhZGRpbmc6IDAuN3JlbSAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIGFsbCBtZW51IHN0eWxlcy4gTmVzdGVkIG1hcmdpbiBmb3Igc3VibWVudS5cbiRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gU2V0cyB0aGUgdGV4dCBkaXJlY3Rpb24gb2YgdGhlIENTUy4gQ2FuIGJlIGVpdGhlciBgbHRyYCBvciBgcnRsYC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kZ2xvYmFsLXRleHQtZGlyZWN0aW9uOiBsdHIgIWRlZmF1bHQ7XG5cbi8vLyBFbmFibGVzIGZsZXhib3ggZm9yIGNvbXBvbmVudHMgdGhhdCBzdXBwb3J0IGl0LlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRnbG9iYWwtZmxleGJveDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZWQgcmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgcHJvdG90eXBlcyBpZiBhcHBsaWNhYmxlXG4vLy8gQHR5cGUgQm9vbGVhblxuJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM6IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gQnV0dG9uIGN1cnNvcidzIHZhbHVlLCBgYXV0b2AgYnkgZGVmYXVsdFxuLy8vIEB0eXBlIEtleXdvcmRcbiRnbG9iYWwtYnV0dG9uLWN1cnNvcjogYXV0byAhZGVmYXVsdDtcblxuQGlmIG5vdCBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSB7XG4gIEBlcnJvciAnSW4gJGZvdW5kYXRpb24tcGFsZXR0ZSwgeW91IG11c3QgaGF2ZSBhIGNvbG9yIG5hbWVkIFwicHJpbWFyeVwiLic7XG59XG5cbi8vIEludGVybmFsIHZhcmlhYmxlcyB1c2VkIGZvciB0ZXh0IGRpcmVjdGlvblxuJGdsb2JhbC1sZWZ0OiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgcmlnaHQsIGxlZnQpO1xuJGdsb2JhbC1yaWdodDogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIGxlZnQsIHJpZ2h0KTtcblxuLy8gSW50ZXJuYWwgdmFyaWFibGUgdGhhdCBjb250YWlucyB0aGUgZmxleCBqdXN0aWZ5aW5nIG9wdGlvbnNcbiQtemYtZmxleC1qdXN0aWZ5OiAtemYtZmxleC1qdXN0aWZ5KCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24pO1xuXG4vLy8gR2xvYmFsIHRvbGVyYW5jZSBmb3IgY29sb3IgcGljayBjb250cmFzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2U6IDAgIWRlZmF1bHQ7XG5cbi8vIEludGVybmFsIHZhcmlhYmxlcyB1c2VkIGZvciBjb2xvcnNcbkBpbmNsdWRlIGFkZC1mb3VuZGF0aW9uLWNvbG9ycztcblxuQG1peGluIGZvdW5kYXRpb24tZ2xvYmFsLXN0eWxlcyB7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbm9ybWFsaXplO1xuXG4gIC8vIFRoZXNlIHN0eWxlcyBhcmUgYXBwbGllZCB0byBhIDxtZXRhPiB0YWcsIHdoaWNoIGlzIHJlYWQgYnkgdGhlIEZvdW5kYXRpb24gSmF2YVNjcmlwdFxuICAuZm91bmRhdGlvbi1tcSB7XG4gICAgZm9udC1mYW1pbHk6ICcjey16Zi1icC1zZXJpYWxpemUoJGJyZWFrcG9pbnRzKX0nO1xuICB9XG5cbiAgaHRtbCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBmb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gU2V0IGJveC1zaXppbmcgZ2xvYmFsbHkgdG8gaGFuZGxlIHBhZGRpbmcgYW5kIGJvcmRlciB3aWR0aHNcbiAgKixcbiAgKjo6YmVmb3JlLFxuICAqOjphZnRlciB7XG4gICAgYm94LXNpemluZzogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIERlZmF1bHQgYm9keSBzdHlsZXNcbiAgYm9keSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICBiYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kO1xuXG4gICAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodDtcbiAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcblxuICAgIEBpZiAoJGJvZHktYW50aWFsaWFzZWQpIHtcbiAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xuICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4ZXNcbiAgICB9XG4gIH1cblxuICBpbWcge1xuICAgIC8vIEdldCByaWQgb2YgZ2FwIHVuZGVyIGltYWdlcyBieSBtYWtpbmcgdGhlbSBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGJ5IGRlZmF1bHRcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgIC8vIEdyaWQgZGVmYXVsdHMgdG8gZ2V0IGltYWdlcyBhbmQgZW1iZWRzIHRvIHdvcmsgcHJvcGVybHlcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7XG4gIH1cblxuICAvLyBNYWtlIHN1cmUgdGV4dGFyZWEgdGFrZXMgb24gaGVpZ2h0IGF1dG9tYXRpY2FsbHlcbiAgdGV4dGFyZWEge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtaW4taGVpZ2h0OiA1MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgLy8gTWFrZSBzZWxlY3QgZWxlbWVudHMgYXJlIDEwMCUgd2lkdGggYnkgZGVmYXVsdFxuICBzZWxlY3Qge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gIH1cblxuICAvLyBTdHlsZXMgR29vZ2xlIE1hcHMgYW5kIE1hcFF1ZXN0IGVtYmVkcyBwcm9wZXJseVxuICAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLWlkc1xuICAubWFwX2NhbnZhcyxcbiAgLm1xYS1kaXNwbGF5IHtcbiAgICBpbWcsXG4gICAgZW1iZWQsXG4gICAgb2JqZWN0IHtcbiAgICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IDxidXR0b24+IHN0eWxlcyBjcmVhdGVkIGJ5IG1vc3QgYnJvd3NlcnNcbiAgYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjdXJzb3I6ICRnbG9iYWwtYnV0dG9uLWN1cnNvcjtcbiAgfVxuXG4gIC8vIFByZXZlbnQgdGV4dCBvdmVyZmxvdyBvbiBwcmVcbiAgcHJlIHtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgfVxuXG4gIC8vIE1ha2UgcmVzZXQgaW5oZXJpdCBmb250LWZhbWlseSBpbnN0ZWFkIG9mIHNldHRpbmdzIHNhbnMtc2VyaWZcbiAgYnV0dG9uLFxuICBpbnB1dCxcbiAgb3B0Z3JvdXAsXG4gIHNlbGVjdCxcbiAgdGV4dGFyZWEge1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gSW50ZXJuYWwgY2xhc3NlcyB0byBzaG93L2hpZGUgZWxlbWVudHMgaW4gSmF2YVNjcmlwdFxuICAuaXMtdmlzaWJsZSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5pcy1oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuIiwKCQkiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBHbG9iYWwgc3BhY2luZyBmb3IgZm9ybSBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmb3JtLXNwYWNpbmc6IHJlbS1jYWxjKDE2KSAhZGVmYXVsdDtcblxuQGltcG9ydCAndGV4dCc7XG5AaW1wb3J0ICdjaGVja2JveCc7XG5AaW1wb3J0ICdsYWJlbCc7XG5AaW1wb3J0ICdoZWxwLXRleHQnO1xuQGltcG9ydCAnaW5wdXQtZ3JvdXAnO1xuQGltcG9ydCAnZmllbGRzZXQnO1xuQGltcG9ydCAnc2VsZWN0JztcbkBpbXBvcnQgJ3JhbmdlJztcbkBpbXBvcnQgJ3Byb2dyZXNzJztcbkBpbXBvcnQgJ21ldGVyJztcbkBpbXBvcnQgJ2Vycm9yJztcblxuQG1peGluIGZvdW5kYXRpb24tZm9ybXMge1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZvcm0tdGV4dDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mb3JtLWNoZWNrYm94O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZvcm0tbGFiZWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZm9ybS1oZWxwdGV4dDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mb3JtLXByZXBvc3RmaXg7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZm9ybS1maWVsZHNldDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mb3JtLXNlbGVjdDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mb3JtLWVycm9yO1xufVxuIiwKCQkiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBGb250IGNvbG9yIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3Igb2YgcGxhY2Vob2xkZXIgdGV4dCB3aXRoaW4gdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbHkgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgRm9udFxuJGlucHV0LWZvbnQtZmFtaWx5OiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGlucHV0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGlucHV0LWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaW5wdXQtbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGZvY3VzZWQgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGRpc2FibGVkIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEJvcmRlclxuJGlucHV0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgZm9jdXNlZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJvcmRlci1mb2N1czogMXB4IHNvbGlkICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcGFkZGluZzogJGZvcm0tc3BhY2luZyAvIDIgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IGluc2lkZSB0ZXh0IGlucHV0cyB3aGVuIG5vdCBmb2N1c2VkLlxuLy8vIEB0eXBlIFNoYWRvd1xuJGlucHV0LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAwLjEpICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyBvdXRzaWRlIHRleHQgaW5wdXRzIHdoZW4gZm9jdXNlZC5cbi8vLyBAdHlwZSBTaGFkb3dcbiRpbnB1dC1zaGFkb3ctZm9jdXM6IDAgMCA1cHggJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQ3Vyc29yIHRvIHVzZSB3aGVuIGhvdmVyaW5nIG92ZXIgYSBkaXNhYmxlZCB0ZXh0IGlucHV0LlxuLy8vIEB0eXBlIEN1cnNvclxuJGlucHV0LWN1cnNvci1kaXNhYmxlZDogbm90LWFsbG93ZWQgIWRlZmF1bHQ7XG5cbi8vLyBQcm9wZXJ0aWVzIHRvIHRyYW5zaXRpb24gb24gdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgVHJhbnNpdGlvblxuJGlucHV0LXRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4vLy8gRW5hYmxlcyB0aGUgdXAvZG93biBidXR0b25zIHRoYXQgQ2hyb21lIGFuZCBGaXJlZm94IGFkZCB0byBgPGlucHV0IHR5cGU9J251bWJlcic+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kaW5wdXQtbnVtYmVyLXNwaW5uZXJzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gUmFkaXVzIGZvciB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgZm9ybSBidXR0b25zLCBkZWZhdWx0ZWQgdG8gZ2xvYmFsLXJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmb3JtLWJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG5AbWl4aW4gZm9ybS1lbGVtZW50IHtcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKiB1bml0bGVzcy1jYWxjKCRpbnB1dC1saW5lLWhlaWdodCkpICsgKGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAndG9wJykgKyBnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ2JvdHRvbScpKSAtIHJlbS1jYWxjKDEpO1xuXG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZztcblxuICBib3JkZXI6ICRpbnB1dC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRpbnB1dC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kO1xuICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93O1xuXG4gIGZvbnQtZmFtaWx5OiAkaW5wdXQtZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcblxuICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gIH1cblxuICAvLyBGb2N1cyBzdGF0ZVxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogJGlucHV0LWJvcmRlci1mb2N1cztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1mb2N1cztcbiAgICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93LWZvY3VzO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tdGV4dCB7XG4gIC8vIFRleHQgaW5wdXRzXG4gICN7dGV4dC1pbnB1dHMoKX0sXG4gIHRleHRhcmVhIHtcbiAgICBAaW5jbHVkZSBmb3JtLWVsZW1lbnQ7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgfVxuXG4gIC8vIFRleHQgYXJlYXNcbiAgdGV4dGFyZWEge1xuICAgIG1heC13aWR0aDogMTAwJTtcblxuICAgICZbcm93c10ge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIGlucHV0LFxuICB0ZXh0YXJlYSB7XG4gICAgLy8gRGlzYWJsZWQvcmVhZG9ubHkgc3RhdGVcbiAgICAmOmRpc2FibGVkLFxuICAgICZbcmVhZG9ubHldIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkO1xuICAgICAgY3Vyc29yOiAkaW5wdXQtY3Vyc29yLWRpc2FibGVkO1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IHN0eWxlcyBvbiBidXR0b24tbGlrZSBpbnB1dHNcbiAgW3R5cGU9J3N1Ym1pdCddLFxuICBbdHlwZT0nYnV0dG9uJ10ge1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogJGZvcm0tYnV0dG9uLXJhZGl1cztcbiAgfVxuXG4gIC8vIFJlc2V0IE5vcm1hbGl6ZSBzZXR0aW5nIGNvbnRlbnQtYm94IHRvIHNlYXJjaCBlbGVtZW50c1xuICBpbnB1dFt0eXBlPSdzZWFyY2gnXSB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cblxuICAvLyBOdW1iZXIgaW5wdXQgc3R5bGVzXG4gIFt0eXBlPSdudW1iZXInXSB7XG4gICAgQGlmIG5vdCAkaW5wdXQtbnVtYmVyLXNwaW5uZXJzIHtcbiAgICAgIC1tb3otYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xuXG4gICAgICAmOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuICAgICAgJjo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4ZXNcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFBsYWNlaG9sZGVyIHRleHRcbiAgOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjtcbiAgfVxufVxuIiwKCQkiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tY2hlY2tib3gge1xuICBbdHlwZT0nZmlsZSddLFxuICBbdHlwZT0nY2hlY2tib3gnXSxcbiAgW3R5cGU9J3JhZGlvJ10ge1xuICAgIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIH1cblxuICAvLyBTdHlsZXMgZm9yIGlucHV0L2xhYmVsIHNpYmxpbmdzXG4gIFt0eXBlPSdjaGVja2JveCddICsgbGFiZWwsXG4gIFt0eXBlPSdyYWRpbyddICsgbGFiZWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG5cbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkZm9ybS1zcGFjaW5nICogMC41O1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkZm9ybS1zcGFjaW5nO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAmW2Zvcl0ge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgfVxuXG4gIC8vIFN0eWxlcyBmb3IgaW5wdXRzIGluc2lkZSBsYWJlbHNcbiAgbGFiZWwgPiBbdHlwZT0nY2hlY2tib3gnXSxcbiAgbGFiZWwgPiBbdHlwZT0ncmFkaW8nXSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gIH1cblxuICAvLyBOb3JtYWxpemUgZmlsZSBpbnB1dCB3aWR0aFxuICBbdHlwZT0nZmlsZSddIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuIiwKCQkiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBDb2xvciBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRmb3JtLWxhYmVsLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGZvcm0gbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tbGFiZWwtZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IGZvciBmb3JtIGxhYmVscy4gVGhlIGhpZ2hlciB0aGUgbnVtYmVyLCB0aGUgbW9yZSBzcGFjZSBiZXR3ZWVuIHRoZSBsYWJlbCBhbmQgaXRzIGlucHV0IGZpZWxkLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ6IDEuOCAhZGVmYXVsdDtcblxuQG1peGluIGZvcm0tbGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuXG4gIGZvbnQtc2l6ZTogJGZvcm0tbGFiZWwtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkZm9ybS1sYWJlbC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yO1xufVxuXG5AbWl4aW4gZm9ybS1sYWJlbC1taWRkbGUge1xuICAkaW5wdXQtYm9yZGVyLXdpZHRoOiBnZXQtYm9yZGVyLXZhbHVlKCRpbnB1dC1ib3JkZXIsIHdpZHRoKTtcblxuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICBwYWRkaW5nOiAoJGZvcm0tc3BhY2luZyAvIDIgKyByZW0tY2FsYygkaW5wdXQtYm9yZGVyLXdpZHRoKSkgMDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1sYWJlbCB7XG4gIGxhYmVsIHtcbiAgICBAaW5jbHVkZSBmb3JtLWxhYmVsO1xuXG4gICAgJi5taWRkbGUge1xuICAgICAgQGluY2x1ZGUgZm9ybS1sYWJlbC1taWRkbGU7XG4gICAgfVxuICB9XG59XG4iLAoJCSIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGhlbHAgdGV4dC5cbi8vLyBAdHlwZSBDb2xvclxuJGhlbHB0ZXh0LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgaGVscCB0ZXh0LlxuLy8vIEB0eXBlIE51bWJlclxuJGhlbHB0ZXh0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHN0eWxlIGZvciBoZWxwIHRleHQuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGhlbHB0ZXh0LWZvbnQtc3R5bGU6IGl0YWxpYyAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1oZWxwdGV4dCB7XG4gIC5oZWxwLXRleHQge1xuICAgICRtYXJnaW4tdG9wOiAoJGZvcm0tc3BhY2luZyAqIDAuNSkgKiAtMTtcblxuICAgIG1hcmdpbi10b3A6ICRtYXJnaW4tdG9wO1xuICAgIGZvbnQtc2l6ZTogJGhlbHB0ZXh0LWZvbnQtc2l6ZTtcbiAgICBmb250LXN0eWxlOiAkaGVscHRleHQtZm9udC1zdHlsZTtcbiAgICBjb2xvcjogJGhlbHB0ZXh0LWNvbG9yO1xuICB9XG59XG4iLAoJCSIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIENvbG9yIG9mIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXByZWZpeC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1wcmVmaXgtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gTGVmdC9yaWdodCBwYWRkaW5nIG9mIGFuIHByZS9wb3N0Zml4ZWQgaW5wdXQgbGFiZWxcbiRpbnB1dC1wcmVmaXgtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1wcmVwb3N0Zml4IHtcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKiAkaW5wdXQtbGluZS1oZWlnaHQpICsgKGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAndG9wJykgKyBnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ2JvdHRvbScpKSAtIHJlbS1jYWxjKDEpO1xuXG4gIC5pbnB1dC1ncm91cCB7XG4gICAgZGlzcGxheTogaWYoJGdsb2JhbC1mbGV4Ym94LCBmbGV4LCB0YWJsZSk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZztcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgfVxuXG4gICAgPiA6Zmlyc3QtY2hpbGQge1xuICAgICAgJiwgJi5pbnB1dC1ncm91cC1idXR0b24gPiAqIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIDAgJGlucHV0LXJhZGl1cyAkaW5wdXQtcmFkaXVzIDAsICRpbnB1dC1yYWRpdXMgMCAwICRpbnB1dC1yYWRpdXMpO1xuICAgICAgfVxuICAgIH1cblxuICAgID4gOmxhc3QtY2hpbGQge1xuICAgICAgJiwgJi5pbnB1dC1ncm91cC1idXR0b24gPiAqIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsICRpbnB1dC1yYWRpdXMgMCAwICRpbnB1dC1yYWRpdXMsIDAgJGlucHV0LXJhZGl1cyAkaW5wdXQtcmFkaXVzIDApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICVpbnB1dC1ncm91cC1jaGlsZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtbGFiZWwge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIHBhZGRpbmc6IDAgJGlucHV0LXByZWZpeC1wYWRkaW5nO1xuICAgIGJvcmRlcjogJGlucHV0LXByZWZpeC1ib3JkZXI7XG4gICAgYmFja2dyb3VuZDogJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kO1xuXG4gICAgY29sb3I6ICRpbnB1dC1wcmVmaXgtY29sb3I7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiAxJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC1wcmVmaXgtYm9yZGVyKSB7XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgICAgbWluLXdpZHRoOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogMSU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgYSxcbiAgICBpbnB1dCxcbiAgICBidXR0b24sXG4gICAgbGFiZWwge1xuICAgICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG5cbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGhlaWdodDogJGhlaWdodDtcbiAgICAgIH1cbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gICAgfVxuICB9XG5cbiAgLy8gU3BlY2lmaWNpdHkgYnVtcCBuZWVkZWQgdG8gcHJldmVudCBvdmVycmlkZSBieSBidXR0b25zXG4gIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAuaW5wdXQtZ3JvdXAge1xuICAgICAgLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLAoJCSIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIERlZmF1bHQgYm9yZGVyIGFyb3VuZCBjdXN0b20gZmllbGRzZXRzLlxuLy8vIEB0eXBlIEJvcmRlclxuJGZpZWxkc2V0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgY3VzdG9tIGZpZWxkc2V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmaWVsZHNldC1wYWRkaW5nOiByZW0tY2FsYygyMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBhcm91bmQgY3VzdG9tIGZpZWxkc2V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmaWVsZHNldC1tYXJnaW46IHJlbS1jYWxjKDE4IDApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGJldHdlZW4gdGhlIGxlZ2VuZCB0ZXh0IGFuZCBmaWVsZHNldCBib3JkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGVnZW5kLXBhZGRpbmc6IHJlbS1jYWxjKDAgMykgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmaWVsZHNldCB7XG4gIG1hcmdpbjogJGZpZWxkc2V0LW1hcmdpbjtcbiAgcGFkZGluZzogJGZpZWxkc2V0LXBhZGRpbmc7XG4gIGJvcmRlcjogJGZpZWxkc2V0LWJvcmRlcjtcblxuICBsZWdlbmQge1xuICAgIC8vIENvdmVycyB1cCB0aGUgZmllbGRzZXQncyBib3JkZXIgdG8gY3JlYXRlIGFydGlmaWNpYWwgcGFkZGluZ1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiByZW0tY2FsYygtMyk7XG4gICAgcGFkZGluZzogJGxlZ2VuZC1wYWRkaW5nO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tZmllbGRzZXQge1xuICBmaWVsZHNldCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgbGVnZW5kIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZyAqIDAuNTtcbiAgfVxuXG4gIC5maWVsZHNldCB7XG4gICAgQGluY2x1ZGUgZmllbGRzZXQ7XG4gIH1cbn1cbiIsCgkJIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3Igc2VsZWN0IG1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRoZSBkcm9wZG93biB0cmlhbmdsZSBpbnNpZGUgc2VsZWN0IG1lbnVzLiBTZXQgdG8gYHRyYW5zcGFyZW50YCB0byByZW1vdmUgaXQgZW50aXJlbHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtdHJpYW5nbGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3Igc2VsZWN0IG1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLXNlbGVjdCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICogdW5pdGxlc3MtY2FsYygkaW5wdXQtbGluZS1oZWlnaHQpKSArIChnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ3RvcCcpICsgZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICdib3R0b20nKSkgLSByZW0tY2FsYygxKTtcblxuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nO1xuXG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogJGlucHV0LWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHNlbGVjdC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzZWxlY3QtYmFja2dyb3VuZDtcblxuICBmb250LWZhbWlseTogJGlucHV0LWZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtY29sb3I7XG5cbiAgQGlmICRzZWxlY3QtdHJpYW5nbGUtY29sb3IgIT0gdHJhbnNwYXJlbnQge1xuICAgIEBpbmNsdWRlIGJhY2tncm91bmQtdHJpYW5nbGUoJHNlbGVjdC10cmlhbmdsZS1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1vcmlnaW46IGNvbnRlbnQtYm94O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246ICRnbG9iYWwtcmlnaHQgKC0kZm9ybS1zcGFjaW5nKSBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDlweCA2cHg7XG5cbiAgICBwYWRkaW5nLSN7JGdsb2JhbC1yaWdodH06ICgkZm9ybS1zcGFjaW5nICogMS41KTtcbiAgfVxuXG4gIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgfVxuXG4gIC8vIEZvY3VzIHN0YXRlXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLWZvY3VzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzO1xuICAgIGJveC1zaGFkb3c6ICRpbnB1dC1zaGFkb3ctZm9jdXM7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgICB9XG4gIH1cblxuICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAmOmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDtcbiAgICBjdXJzb3I6ICRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ7XG4gIH1cblxuICAvLyBIaWRlIHRoZSBkcm9wZG93biBhcnJvdyBzaG93biBpbiBuZXdlciBJRSB2ZXJzaW9uc1xuICAmOjotbXMtZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgJlttdWx0aXBsZV0ge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICB9XG4gICY6bm90KFttdWx0aXBsZV0pIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXNlbGVjdCB7XG4gIHNlbGVjdCB7XG4gICAgQGluY2x1ZGUgZm9ybS1zZWxlY3Q7XG4gIH1cbn1cbiIsCgkJIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBzbGlkZXJcbi8vLy9cblxuLy8vIERlZmF1bHQgaGVpZ2h0IG9mIHRoZSBzbGlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc2xpZGVyLWhlaWdodDogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBzbGlkZXIncyB0cmFjay5cbi8vLyBAdHlwZSBDb2xvclxuJHNsaWRlci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIGFjdGl2ZSBmaWxsIGNvbG9yIG9mIHRoZSBzbGlkZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiRzbGlkZXItZmlsbC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGhlaWdodCBvZiB0aGUgaGFuZGxlIG9mIHRoZSBzbGlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc2xpZGVyLWhhbmRsZS1oZWlnaHQ6IDEuNHJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgd2lkdGggb2YgdGhlIGhhbmRsZSBvZiB0aGUgc2xpZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHNsaWRlci1oYW5kbGUtd2lkdGg6IDEuNHJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIGhhbmRsZSBmb3IgdGhlIHNsaWRlci5cbi8vLyBAdHlwZSBDb2xvclxuJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZhZGUgYW1vdW50IG9mIGEgZGlzYWJsZWQgc2xpZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHNsaWRlci1vcGFjaXR5LWRpc2FibGVkOiAwLjI1ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIHNsaWRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzbGlkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tcmFuZ2UtaW5wdXQge1xuICBpbnB1dFt0eXBlPSdyYW5nZSddIHsgIC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgICRtYXJnaW46ICgkc2xpZGVyLWhhbmRsZS1oZWlnaHQgLSAkc2xpZGVyLWhlaWdodCkgLyAyO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi10b3A6ICRtYXJnaW47XG4gICAgbWFyZ2luLWJvdHRvbTogJG1hcmdpbjtcblxuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyOiAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgIEBpZiBoYXMtdmFsdWUoJHNsaWRlci1yYWRpdXMpIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRzbGlkZXItcmFkaXVzO1xuICAgIH1cblxuICAgICY6Zm9jdXMge1xuICAgICAgb3V0bGluZTogMDtcbiAgICB9XG5cbiAgICAmW2Rpc2FibGVkXSB7XG4gICAgICBvcGFjaXR5OiAkc2xpZGVyLW9wYWNpdHktZGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgLy8gc2Fzcy1saW50OmRpc2FibGUgbm8tdmVuZG9yLXByZWZpeFxuXG4gICAgLy8gQ2hyb21lL1NhZmFyaVxuICAgICY6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrIHtcbiAgICAgIGhlaWdodDogJHNsaWRlci1oZWlnaHQ7XG4gICAgICBiYWNrZ3JvdW5kOiAkc2xpZGVyLWJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgJjo6LXdlYmtpdC1zbGlkZXItdGh1bWIge1xuICAgICAgd2lkdGg6ICRzbGlkZXItaGFuZGxlLXdpZHRoO1xuICAgICAgaGVpZ2h0OiAkc2xpZGVyLWhhbmRsZS1oZWlnaHQ7XG4gICAgICBtYXJnaW4tdG9wOiAtJG1hcmdpbjtcblxuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xuICAgICAgYmFja2dyb3VuZDogJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZDtcblxuICAgICAgQGlmIGhhcy12YWx1ZSgkc2xpZGVyLXJhZGl1cykge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkc2xpZGVyLXJhZGl1cztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBGaXJlZm94XG4gICAgJjo6LW1vei1yYW5nZS10cmFjayB7XG4gICAgICBoZWlnaHQ6ICRzbGlkZXItaGVpZ2h0O1xuICAgICAgLW1vei1hcHBlYXJhbmNlOiBub25lOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xuICAgICAgYmFja2dyb3VuZDogJHNsaWRlci1iYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgICY6Oi1tb3otcmFuZ2UtdGh1bWIge1xuICAgICAgd2lkdGg6ICRzbGlkZXItaGFuZGxlLXdpZHRoO1xuICAgICAgaGVpZ2h0OiAkc2xpZGVyLWhhbmRsZS1oZWlnaHQ7XG4gICAgICBtYXJnaW4tdG9wOiAtJG1hcmdpbjtcblxuICAgICAgLW1vei1hcHBlYXJhbmNlOiBub25lOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xuICAgICAgYmFja2dyb3VuZDogJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZDtcblxuICAgICAgQGlmIGhhcy12YWx1ZSgkc2xpZGVyLXJhZGl1cykge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkc2xpZGVyLXJhZGl1cztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBJbnRlcm5ldCBFeHBsb3JlclxuICAgICY6Oi1tcy10cmFjayB7XG4gICAgICBoZWlnaHQ6ICRzbGlkZXItaGVpZ2h0O1xuXG4gICAgICBib3JkZXI6IDA7XG4gICAgICBib3JkZXItdG9wOiAkbWFyZ2luIHNvbGlkICRib2R5LWJhY2tncm91bmQ7XG4gICAgICBib3JkZXItYm90dG9tOiAkbWFyZ2luIHNvbGlkICRib2R5LWJhY2tncm91bmQ7XG4gICAgICBiYWNrZ3JvdW5kOiAkc2xpZGVyLWJhY2tncm91bmQ7XG5cbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgICY6Oi1tcy10aHVtYiB7XG4gICAgICB3aWR0aDogJHNsaWRlci1oYW5kbGUtd2lkdGg7XG4gICAgICBoZWlnaHQ6ICRzbGlkZXItaGFuZGxlLWhlaWdodDtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGJhY2tncm91bmQ6ICRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQ7XG5cbiAgICAgIEBpZiBoYXMtdmFsdWUoJHNsaWRlci1yYWRpdXMpIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJHNsaWRlci1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjo6LW1zLWZpbGwtbG93ZXIge1xuICAgICAgYmFja2dyb3VuZDogJHNsaWRlci1maWxsLWJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgJjo6LW1zLWZpbGwtdXBwZXIge1xuICAgICAgYmFja2dyb3VuZDogJHNsaWRlci1iYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgIEBhdC1yb290IHtcbiAgICAgIG91dHB1dCB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjVlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRzbGlkZXItaGFuZGxlLWhlaWdodDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsCgkJIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm9ncmVzcy1iYXJcbi8vLy9cblxuLy8vIEhlaWdodCBvZiBhIHByb2dyZXNzIGJhci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwcm9ncmVzcy1oZWlnaHQ6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGEgcHJvZ3Jlc3MgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kcHJvZ3Jlc3MtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBhIHByb2dyZXNzIGJhci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwcm9ncmVzcy1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgYSBwcm9ncmVzcyBiYXIncyBtZXRlci5cbi8vLyBAdHlwZSBDb2xvclxuJHByb2dyZXNzLW1ldGVyLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgb2YgYSBwcm9ncmVzcyBiYXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcHJvZ3Jlc3MtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tcHJvZ3Jlc3MtZWxlbWVudCB7XG4gIHByb2dyZXNzIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6ICRwcm9ncmVzcy1oZWlnaHQ7XG4gICAgbWFyZ2luLWJvdHRvbTogJHByb2dyZXNzLW1hcmdpbi1ib3R0b207XG5cbiAgICBhcHBlYXJhbmNlOiBub25lO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgkcHJvZ3Jlc3MtcmFkaXVzKSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAkcHJvZ3Jlc3MtcmFkaXVzO1xuICAgIH1cblxuICAgIC8vIEZvciBGaXJlZm94XG4gICAgYm9yZGVyOiAwO1xuICAgIGJhY2tncm91bmQ6ICRwcm9ncmVzcy1iYWNrZ3JvdW5kO1xuXG4gICAgJjo6LXdlYmtpdC1wcm9ncmVzcy1iYXIge1xuICAgICAgYmFja2dyb3VuZDogJHByb2dyZXNzLWJhY2tncm91bmQ7XG5cbiAgICAgIEBpZiBoYXMtdmFsdWUoJHByb2dyZXNzLXJhZGl1cykge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkcHJvZ3Jlc3MtcmFkaXVzO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6Oi13ZWJraXQtcHJvZ3Jlc3MtdmFsdWUge1xuICAgICAgYmFja2dyb3VuZDogJHByb2dyZXNzLW1ldGVyLWJhY2tncm91bmQ7XG5cbiAgICAgIEBpZiBoYXMtdmFsdWUoJHByb2dyZXNzLXJhZGl1cykge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkcHJvZ3Jlc3MtcmFkaXVzO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6Oi1tb3otcHJvZ3Jlc3MtYmFyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRwcm9ncmVzcy1tZXRlci1iYWNrZ3JvdW5kO1xuXG4gICAgICBAaWYgaGFzLXZhbHVlKCRwcm9ncmVzcy1yYWRpdXMpIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJHByb2dyZXNzLXJhZGl1cztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRmb3VuZGF0aW9uLXBhbGV0dGUge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIC8vIEludGVybmV0IEV4cGxvcmVyIHNldHMgdGhlIGZpbGwgd2l0aCBjb2xvclxuICAgICAgICBjb2xvcjogJGNvbG9yO1xuXG4gICAgICAgICY6Oi13ZWJraXQtcHJvZ3Jlc3MtdmFsdWUge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgICY6Oi1tb3otcHJvZ3Jlc3MtYmFyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBGb3IgSUUgYW5kIEVkZ2VcbiAgICAmOjotbXMtZmlsbCB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeGVzXG4gICAgICBAaWYgaGFzLXZhbHVlKCRwcm9ncmVzcy1yYWRpdXMpIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJHByb2dyZXNzLXJhZGl1cztcbiAgICAgIH1cblxuICAgICAgYm9yZGVyOiAwO1xuICAgIH1cbiAgfVxufVxuIiwKCQkiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIG1ldGVyXG4vLy8vXG5cbi8vLyBIZWlnaHQgb2YgYSBgPG1ldGVyPmAgZWxlbWVudC5cbi8vLyBAdHlwZSBMZW5ndGhcbiRtZXRlci1oZWlnaHQ6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIG9mIGEgYDxtZXRlcj5gIGVsZW1lbnQuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kbWV0ZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYSBgPG1ldGVyPmAgZWxlbWVudC5cbi8vLyBAdHlwZSBDb2xvclxuJG1ldGVyLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIE1ldGVyIGZpbGwgZm9yIGFuIG9wdGltYWwgdmFsdWUgaW4gYSBgPG1ldGVyPmAgZWxlbWVudC5cbi8vLyBAdHlwZSBDb2xvclxuJG1ldGVyLWZpbGwtZ29vZDogJHN1Y2Nlc3MtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBNZXRlciBmaWxsIGZvciBhbiBhdmVyYWdlIHZhbHVlIGluIGEgYDxtZXRlcj5gIGVsZW1lbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRtZXRlci1maWxsLW1lZGl1bTogJHdhcm5pbmctY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBNZXRlciBmaWxsIGZvciBhIHN1Ym9wdGltYWwgdmFsdWUgaW4gYSBgPG1ldGVyPmAgZWxlbWVudC5cbi8vLyBAdHlwZSBDb2xvclxuJG1ldGVyLWZpbGwtYmFkOiAkYWxlcnQtY29sb3IgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW1ldGVyLWVsZW1lbnQge1xuICBtZXRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAkbWV0ZXItaGVpZ2h0O1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG5cbiAgICAvLyBEaXNhYmxlIGAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmVgIGZyb20gZ2V0dGluZyBwcmVmaXhlZCxcbiAgICAvLyBXZSBoYXZlIGRpc2FibGVkIGF1dG9wcmVmaXhlciBmaXJzdCBhbmQgYXJlIGp1c3Qgb25seSB1c2luZyBcbiAgICAvLyBgLW1vei1hcHBlYXJhbmNlOiBub25lYCBhcyBhIHByZWZpeCBhbmQgbmVnbGVjdGluZyB0aGUgd2Via2l0LlxuICAgIFxuICAgIC8qISBhdXRvcHJlZml4ZXI6IG9mZiAqL1xuICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4ZXNcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgkbWV0ZXItcmFkaXVzKSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAkbWV0ZXItcmFkaXVzO1xuICAgIH1cblxuICAgIC8vIEZvciBGaXJlZm94XG4gICAgYm9yZGVyOiAwO1xuICAgIGJhY2tncm91bmQ6ICRtZXRlci1iYWNrZ3JvdW5kO1xuXG4gICAgLy8gQ2hyb21lL1NhZmFyaS9FZGdlXG4gICAgJjo6LXdlYmtpdC1tZXRlci1iYXIge1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgQGlmIGhhcy12YWx1ZSgkbWV0ZXItcmFkaXVzKSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRtZXRlci1yYWRpdXM7XG4gICAgICB9XG5cbiAgICAgIGJhY2tncm91bmQ6ICRtZXRlci1iYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgICY6Oi13ZWJraXQtbWV0ZXItaW5uZXItZWxlbWVudCB7XG4gICAgICBAaWYgaGFzLXZhbHVlKCRtZXRlci1yYWRpdXMpIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJG1ldGVyLXJhZGl1cztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOjotd2Via2l0LW1ldGVyLW9wdGltdW0tdmFsdWUge1xuICAgICAgYmFja2dyb3VuZDogJG1ldGVyLWZpbGwtZ29vZDtcblxuICAgICAgQGlmIGhhcy12YWx1ZSgkbWV0ZXItcmFkaXVzKSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRtZXRlci1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjo6LXdlYmtpdC1tZXRlci1zdWJvcHRpbXVtLXZhbHVlIHtcbiAgICAgIGJhY2tncm91bmQ6ICRtZXRlci1maWxsLW1lZGl1bTtcblxuICAgICAgQGlmIGhhcy12YWx1ZSgkbWV0ZXItcmFkaXVzKSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRtZXRlci1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjo6LXdlYmtpdC1tZXRlci1ldmVuLWxlc3MtZ29vZC12YWx1ZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkbWV0ZXItZmlsbC1iYWQ7XG5cbiAgICAgIEBpZiBoYXMtdmFsdWUoJG1ldGVyLXJhZGl1cykge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkbWV0ZXItcmFkaXVzO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6Oi1tb3otbWV0ZXItYmFyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuXG4gICAgICBAaWYgaGFzLXZhbHVlKCRtZXRlci1yYWRpdXMpIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJG1ldGVyLXJhZGl1cztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOi1tb3otbWV0ZXItb3B0aW11bTo6LW1vei1tZXRlci1iYXIge1xuICAgICAgYmFja2dyb3VuZDogJG1ldGVyLWZpbGwtZ29vZDtcbiAgICB9XG5cbiAgICAmOi1tb3otbWV0ZXItc3ViLW9wdGltdW06Oi1tb3otbWV0ZXItYmFyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRtZXRlci1maWxsLW1lZGl1bTtcbiAgICB9XG5cbiAgICAmOi1tb3otbWV0ZXItc3ViLXN1Yi1vcHRpbXVtOjotbW96LW1ldGVyLWJhciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkbWV0ZXItZmlsbC1iYWQ7XG4gICAgfVxuICB9XG59XG4iLAoJCSIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYWJpZGVcbi8vLy9cblxuLy8vIFNldHMgaWYgZXJyb3Igc3R5bGVzIHNob3VsZCBiZSBhZGRlZCB0byBpbnB1dHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFiaWRlLWlucHV0czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgaWYgZXJyb3Igc3R5bGVzIHNob3VsZCBiZSBhZGRlZCB0byBsYWJlbHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFiaWRlLWxhYmVsczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgdG8gdXNlIGZvciBpbnZhbGlkIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdG8gdXNlIGZvciBsYWJlbHMgb2YgaW52YWxpZCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWVycm9yLWNvbG9yOiBnZXQtY29sb3IoYWxlcnQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRpbnB1dC1lcnJvci1mb250LXNpemU6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBTdHlsZXMgdGhlIGJhY2tncm91bmQgYW5kIGJvcmRlciBvZiBhbiBpbnB1dCBmaWVsZCB0byBoYXZlIGFuIGVycm9yIHN0YXRlLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRhbGVydC1jb2xvcl0gLSBDb2xvciB0byB1c2UgZm9yIHRoZSBiYWNrZ3JvdW5kIGFuZCBib3JkZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYWNrZ3JvdW5kLWxpZ2h0ZW4gWzEwJV0gLSBMaWdodG5lc3MgbGV2ZWwgb2YgdGhlIGJhY2tncm91bmQgY29sb3IuXG5AbWl4aW4gZm9ybS1pbnB1dC1lcnJvcihcbiAgJGJhY2tncm91bmQ6ICRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQsXG4gICRiYWNrZ3JvdW5kLWxpZ2h0ZW46IDEwJVxuKSB7XG4gICY6bm90KDpmb2N1cykge1xuICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWl4KCRiYWNrZ3JvdW5kLCAkd2hpdGUsICRiYWNrZ3JvdW5kLWxpZ2h0ZW4pO1xuXG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBlcnJvciBzdHlsZXMgdG8gYSBmb3JtIGVsZW1lbnQsIHVzaW5nIHRoZSB2YWx1ZXMgaW4gdGhlIHNldHRpbmdzIGZpbGUuXG5AbWl4aW4gZm9ybS1lcnJvciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1hcmdpbi10b3A6ICRmb3JtLXNwYWNpbmcgKiAtMC41O1xuICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nO1xuXG4gIGZvbnQtc2l6ZTogJGlucHV0LWVycm9yLWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1lcnJvci1mb250LXdlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1lcnJvci1jb2xvcjtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1lcnJvciB7XG4gIEBpZiAkYWJpZGUtaW5wdXRzIHtcbiAgICAvLyBFcnJvciBjbGFzcyBmb3IgaW52YWxpZCBpbnB1dHNcbiAgICAuaXMtaW52YWxpZC1pbnB1dCB7XG4gICAgICBAaW5jbHVkZSBmb3JtLWlucHV0LWVycm9yO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkYWJpZGUtbGFiZWxzIHtcbiAgICAvLyBFcnJvciBjbGFzcyBmb3IgbGFiZWxzIG9mIGludmFsaWQgb3V0cHV0c1xuICAgIC5pcy1pbnZhbGlkLWxhYmVsIHtcbiAgICAgIGNvbG9yOiAkZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkO1xuICAgIH1cbiAgfVxuXG4gIC8vIEZvcm0gZXJyb3IgZWxlbWVudFxuICAuZm9ybS1lcnJvciB7XG4gICAgQGluY2x1ZGUgZm9ybS1lcnJvcjtcblxuICAgICYuaXMtdmlzaWJsZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbn1cbiIsCgkJIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0eXBvZ3JhcGh5XG4vLy8vXG5cbi8vIEJhc2UgdHlwb2dyYXBoeSBzdHlsZXMgKHRhZ3Mgb25seSlcbkBpbXBvcnQgJ2Jhc2UnO1xuXG4vLyBUeXBvZ3JhcGh5IGhlbHBlciBjbGFzc2VzIChjbGFzc2VzIG9ubHkpXG5AaW1wb3J0ICdoZWxwZXJzJztcblxuLy8gVGV4dCBhbGlnbm1lbnQgY2xhc3Nlc1xuQGltcG9ydCAnYWxpZ25tZW50JztcblxuLy8gUHJpbnQgc3R5bGVzXG5AaW1wb3J0ICdwcmludCc7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXR5cG9ncmFwaHkge1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXR5cG9ncmFwaHktYmFzZTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10eXBvZ3JhcGh5LWhlbHBlcnM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGV4dC1hbGlnbm1lbnQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJpbnQtc3R5bGVzO1xufVxuIiwKCQkiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHktYmFzZVxuLy8vL1xuXG4vLyBCYXNlIFR5cG9ncmFwaHlcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG4vLyBUaGVzZSBhcmUgc3R5bGVzIGFwcGxpZWQgdG8gYmFzaWMgSFRNTCB0YWdzLCBpbmNsdWRpbmc6XG4vLyAgIC0gUGFyYWdyYXBocyA8cD5cbi8vICAgLSBCb2xkL2l0YWxpY3MgPGI+IDxzdHJvbmc+IDxpPiA8ZW0+XG4vLyAgIC0gU21hbGwgdGV4dCA8c21hbGw+XG4vLyAgIC0gSGVhZGluZ3MgPGgxPi08aDY+XG4vLyAgIC0gQW5jaG9ycyA8YT5cbi8vICAgLSBEaXZpZGVycyA8aHI+XG4vLyAgIC0gTGlzdHMgPHVsPiA8b2w+IDxkbD5cbi8vICAgLSBCbG9ja3F1b3RlcyA8YmxvY2txdW90ZT5cbi8vICAgLSBDb2RlIGJsb2NrcyA8Y29kZT5cbi8vICAgLSBBYmJyZXZpYXRpb25zIDxhYmJyPlxuLy8gICAtIENpdGF0aW9ucyA8Y2l0ZT5cbi8vICAgLSBLZXlzdHJva2VzIDxrYmQ+XG5cbi8vLyBGb250IGZhbWlseSBmb3IgaGVhZGVyIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRoZWFkZXItZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3R5bGUgKGUuZy4gaXRhbGljaXplZCkgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItZm9udC1zdHlsZTogbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdGFjayB1c2VkIGZvciBlbGVtZW50cyB0aGF0IHVzZSBtb25vc3BhY2VkIHR5cGUsIHN1Y2ggYXMgY29kZSBzYW1wbGVzXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogQ29uc29sYXMsICdMaWJlcmF0aW9uIE1vbm8nLCBDb3VyaWVyLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIENvbG9yXG4kaGVhZGVyLWNvbG9yOiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoZWFkZXItbGluZWhlaWdodDogMS40ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJGhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBTdHlsZXMgZm9yIGhlYWRpbmdzIGF0IHZhcmlvdXMgc2NyZWVuIHNpemVzLiBFYWNoIGtleSBpcyBhIGJyZWFrcG9pbnQsIGFuZCBlYWNoIHZhbHVlIGlzIGEgbWFwIG9mIGhlYWRpbmcgc3R5bGVzLlxuLy8vIEB0eXBlIE1hcFxuJGhlYWRlci1zdHlsZXM6IChcbiAgc21hbGw6IChcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDI0KSxcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDIwKSxcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDE5KSxcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDE4KSxcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDE3KSxcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE2KSxcbiAgKSxcbiAgbWVkaXVtOiAoXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiA0OCksXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiA0MCksXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAzMSksXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAyNSksXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAyMCksXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXG4gICksXG4pICFkZWZhdWx0O1xuXG4vLyAkaGVhZGVyLXN0eWxlcyBtYXAgaXMgYnVpbHQgZnJvbSAkaGVhZGVyLXNpemVzIGluIG9yZGVyIHRvIGVuc3VyZSBkb3dud2FyZCBjb21wYXRpYmlsaXR5XG4vLyB3aGVuICRoZWFkZXItc2l6ZXMgaXMgZGVwcmVjaWF0ZWQsICRoZWFkZXItc3R5bGVzIG5lZWRzIHRvIGdldCAhZGVmYXVsdCB2YWx1ZXMgbGlrZSBzZXR0aW5ncy5zY3NzXG5AZnVuY3Rpb24gYnVpbGRfZnJvbV9oZWFkZXItc2l6ZXMoJGhlYWRlci1zaXplcykge1xuICBAd2FybiAnTm90ZSwgdGhhdCAkaGVhZGVyLXNpemVzIGhhcyBiZWVuIHJlcGxhY2VkIHdpdGggJGhlYWRlci1zdHlsZXMuICRoZWFkZXItc2l6ZXMgc3RpbGwgd29ya3MsIGJ1dCBpdCBpcyBnb2luZyB0byBiZSBkZXByZWNpYXRlZC4nO1xuICAkaGVhZGVyLXN0eWxlczogKCk7XG4gIEBlYWNoICRzaXplLCAkaGVhZGVycyBpbiAkaGVhZGVyLXNpemVzIHtcbiAgICAkaGVhZGVyLW1hcDogKCk7XG4gICAgQGVhY2ggJGhlYWRlciwgJGZvbnQtc2l6ZSBpbiAkaGVhZGVycyB7XG4gICAgICAkaGVhZGVyLW1hcDogbWFwLW1lcmdlKCRoZWFkZXItbWFwLCAoJGhlYWRlcjogKCdmb250LXNpemUnOiAkZm9udC1zaXplKSkpO1xuICAgIH1cbiAgICAkaGVhZGVyLXN0eWxlczogbWFwLW1lcmdlKCRoZWFkZXItc3R5bGVzLCAoJHNpemU6ICRoZWFkZXItbWFwKSk7XG4gIH1cbiAgQHJldHVybiAkaGVhZGVyLXN0eWxlcztcbn1cblxuLy8gSWYgaXQgZXhpc3RzICRoZWFkZXJzLXNpemVzIGlzIHVzZWQgdG8gYnVpbGQgJGhlYWRlci1zdHlsZXMuIFNlZSB0aGUgZG9jdW1lbnRhdGlvbi5cbkBpZiB2YXJpYWJsZS1leGlzdHMoaGVhZGVyLXNpemVzKSB7XG4gICRoZWFkZXItc3R5bGVzOiBidWlsZF9mcm9tX2hlYWRlci1zaXplcygkaGVhZGVyLXNpemVzKTtcbn1cblxuLy8vIFRleHQgcmVuZGVyaW5nIG1ldGhvZCBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGhlYWRlci10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIGA8c21hbGw+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzbWFsbC1mb250LXNpemU6IDgwJSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGA8c21hbGw+YCBlbGVtZW50cyB3aGVuIHBsYWNlZCBpbnNpZGUgaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJGhlYWRlci1zbWFsbC1mb250LWNvbG9yOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBvZiB0ZXh0IGluc2lkZSBgPHA+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYXJhZ3JhcGgtbGluZWhlaWdodDogMS42ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBwYXJhZ3JhcGhzLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCByZW5kZXJpbmcgbWV0aG9kIGZvciBwYXJhZ3JhcGggdGV4dC5cbi8vLyBAdHlwZSBTdHJpbmdcbiRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eSAhZGVmYXVsdDtcblxuLy8vIFVzZSB0aGUgYC5jb2RlLWlubGluZWAgY29tcG9uZW50IGFzIGRlZmF1bHQgZm9yIGA8Y29kZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRlbmFibGUtY29kZS1pbmxpbmU6IHRydWU7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBsaW5rcy5cbi8vLyBAdHlwZSBDb2xvclxuJGFuY2hvci1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBsaW5rcyBvbiBob3Zlci5cbi8vLyBAdHlwZSBDb2xvclxuJGFuY2hvci1jb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGFuY2hvci1jb2xvciwgJGxpZ2h0bmVzczogLTE0JSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgZGVjb3JhdGlvbiBmb3IgbGlua3MuXG4vLy8gQHR5cGUgU3RyaW5nXG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbjogbm9uZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBkZWNvcmF0aW9uIGZvciBsaW5rcyBvbiBob3Zlci5cbi8vLyBAdHlwZSBTdHJpbmdcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyOiBub25lICFkZWZhdWx0O1xuXG4vLy8gTWF4aW11bSB3aWR0aCBvZiBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaHItd2lkdGg6ICRnbG9iYWwtd2lkdGggIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBmb3IgYSBkaXZpZGVyLlxuLy8vIEB0eXBlIExpc3RcbiRoci1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBmb3IgYSBkaXZpZGVyLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRoci1tYXJnaW46IHJlbS1jYWxjKDIwKSBhdXRvICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgZm9yIGl0ZW1zIGluIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LWxpbmVoZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodCAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gZm9yIGl0ZW1zIGluIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LW1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbSAhZGVmYXVsdDtcblxuLy8vIEJ1bGxldCB0eXBlIHRvIHVzZSBmb3IgdW5vcmRlcmVkIGxpc3RzIChlLmcuLCBgc3F1YXJlYCwgYGNpcmNsZWAsIGBkaXNjYCkuXG4vLy8gQHR5cGUgU3RyaW5nXG4kbGlzdC1zdHlsZS10eXBlOiBkaXNjICFkZWZhdWx0O1xuXG4vLy8gUG9zaXRpb25pbmcgZm9yIGJ1bGxldHMgb24gdW5vcmRlcmVkIGxpc3QgaXRlbXMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZSAhZGVmYXVsdDtcblxuLy8vIExlZnQgKG9yIHJpZ2h0KSBtYXJnaW4gZm9yIGxpc3RzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3Qtc2lkZS1tYXJnaW46IDEuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0IChvciByaWdodCkgbWFyZ2luIGZvciBhIGxpc3QgaW5zaWRlIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjogMS4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gZm9yIGA8ZGw+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkZWZubGlzdC1tYXJnaW4tYm90dG9tOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgZm9yIGA8ZHQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRkZWZubGlzdC10ZXJtLXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiBgPGR0PmAgYW5kIGA8ZGQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b206IDAuM3JlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgYDxibG9ja3F1b3RlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRibG9ja3F1b3RlLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYSBgPGJsb2NrcXVvdGU+YCBlbGVtZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRibG9ja3F1b3RlLXBhZGRpbmc6IHJlbS1jYWxjKDkgMjAgMCAxOSkgIWRlZmF1bHQ7XG5cbi8vLyBTaWRlIGJvcmRlciBmb3IgYDxibG9ja3F1b3RlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTGlzdFxuJGJsb2NrcXVvdGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gVXNlIHRoZSBgLmNpdGUtYmxvY2tgIGNvbXBvbmVudCBhcyBkZWZhdWx0IGZvciBgPGNpdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZW5hYmxlLWNpdGUtYmxvY2s6IHRydWU7XG5cbi8vLyBGb250IGZhbWlseSBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4ka2V5c3Ryb2tlLWZvbnQ6ICRmb250LWZhbWlseS1tb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4ka2V5c3Ryb2tlLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4ka2V5c3Ryb2tlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4ka2V5c3Ryb2tlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNCAwKSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGtleXN0cm9rZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIGJvcmRlciBzdHlsZSBmb3IgYDxhYmJyPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTGlzdFxuJGFiYnItdW5kZXJsaW5lOiAxcHggZG90dGVkICRibGFjayAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tdHlwb2dyYXBoeS1iYXNlIHtcbiAgLy8gVHlwb2dyYXBoeSByZXNldHNcbiAgZGl2LFxuICBkbCxcbiAgZHQsXG4gIGRkLFxuICB1bCxcbiAgb2wsXG4gIGxpLFxuICBoMSxcbiAgaDIsXG4gIGgzLFxuICBoNCxcbiAgaDUsXG4gIGg2LFxuICBwcmUsXG4gIGZvcm0sXG4gIHAsXG4gIGJsb2NrcXVvdGUsXG4gIHRoLFxuICB0ZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAvLyBQYXJhZ3JhcGhzXG4gIHAge1xuICAgIG1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcblxuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICBsaW5lLWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xuICAgIHRleHQtcmVuZGVyaW5nOiAkcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nO1xuICB9XG5cbiAgLy8gRW1waGFzaXplZCB0ZXh0XG4gIGVtLFxuICBpIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBTdHJvbmcgdGV4dFxuICBzdHJvbmcsXG4gIGIge1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gU21hbGwgdGV4dFxuICBzbWFsbCB7XG4gICAgZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gSGVhZGluZ3NcbiAgaDEsIC5oMSxcbiAgaDIsIC5oMixcbiAgaDMsIC5oMyxcbiAgaDQsIC5oNCxcbiAgaDUsIC5oNSxcbiAgaDYsIC5oNiB7XG4gICAgZm9udC1mYW1pbHk6ICRoZWFkZXItZm9udC1mYW1pbHk7XG4gICAgZm9udC1zdHlsZTogJGhlYWRlci1mb250LXN0eWxlO1xuICAgIGZvbnQtd2VpZ2h0OiAkaGVhZGVyLWZvbnQtd2VpZ2h0O1xuICAgIGNvbG9yOiAkaGVhZGVyLWNvbG9yO1xuICAgIHRleHQtcmVuZGVyaW5nOiAkaGVhZGVyLXRleHQtcmVuZGVyaW5nO1xuXG4gICAgc21hbGwge1xuICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICBjb2xvcjogJGhlYWRlci1zbWFsbC1mb250LWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIEhlYWRpbmcgc3R5bGVzXG4gIEBlYWNoICRzaXplLCAkaGVhZGVycyBpbiAkaGVhZGVyLXN0eWxlcyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgQGVhY2ggJGhlYWRlciwgJGhlYWRlci1kZWZzIGluICRoZWFkZXJzIHtcbiAgICAgICAgJGZvbnQtc2l6ZS10ZW1wOiAxcmVtO1xuICAgICAgICAjeyRoZWFkZXJ9LCAuI3skaGVhZGVyfSB7XG5cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBmb250LXNpemUpIHtcbiAgICAgICAgICAgICRmb250LXNpemUtdGVtcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGZvbnQtc2l6ZSkpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXRlbXA7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGZzKSB7XG4gICAgICAgICAgICAkZm9udC1zaXplLXRlbXA6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBmcykpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXRlbXA7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtdGVtcDtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbGluZS1oZWlnaHQpIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB1bml0bGVzcy1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBsaW5lLWhlaWdodCksICRmb250LXNpemUtdGVtcCk7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGxoKSB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdW5pdGxlc3MtY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbGgpLCAkZm9udC1zaXplLXRlbXApO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHVuaXRsZXNzLWNhbGMoJGhlYWRlci1saW5laGVpZ2h0LCAkZm9udC1zaXplLXRlbXApO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG1hcmdpbi10b3ApIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtYXJnaW4tdG9wKSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG10KSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbXQpKTtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG1hcmdpbi1ib3R0b20pIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtYXJnaW4tYm90dG9tKSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG1iKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbWIpKTtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKCRoZWFkZXItbWFyZ2luLWJvdHRvbSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gTGlua3NcbiAgYSB7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgY29sb3I6ICRhbmNob3ItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbjtcblxuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogJGFuY2hvci1jb2xvci1ob3ZlcjtcbiAgICAgIEBpZiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3ZlciAhPSAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbiB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICB9XG4gIH1cblxuICAvLyBIb3Jpem9udGFsIHJ1bGVcbiAgaHIge1xuICAgIGNsZWFyOiBib3RoO1xuXG4gICAgbWF4LXdpZHRoOiAkaHItd2lkdGg7XG4gICAgaGVpZ2h0OiAwO1xuICAgIG1hcmdpbjogJGhyLW1hcmdpbjtcblxuICAgIGJvcmRlci10b3A6IDA7XG4gICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgIGJvcmRlci1ib3R0b206ICRoci1ib3JkZXI7XG4gICAgYm9yZGVyLWxlZnQ6IDA7XG4gIH1cblxuICAvLyBMaXN0c1xuICB1bCxcbiAgb2wsXG4gIGRsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkbGlzdC1tYXJnaW4tYm90dG9tO1xuICAgIGxpc3Qtc3R5bGUtcG9zaXRpb246ICRsaXN0LXN0eWxlLXBvc2l0aW9uO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGlzdC1saW5laGVpZ2h0O1xuICB9XG5cbiAgLy8gTGlzdCBpdGVtc1xuICBsaSB7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICB9XG5cbiAgLy8gVW5vcmRlcmVkIGxpc3RzXG4gIHVsIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1zaWRlLW1hcmdpbjtcbiAgICBsaXN0LXN0eWxlLXR5cGU6ICRsaXN0LXN0eWxlLXR5cGU7XG4gIH1cblxuICAvLyBPcmRlcmVkIGxpc3RzXG4gIG9sIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1zaWRlLW1hcmdpbjtcbiAgfVxuXG4gIC8vIE5lc3RlZCB1bm9yZGVyZWQvb3JkZXJlZCBsaXN0c1xuICB1bCwgb2wge1xuICAgICYgJiB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1uZXN0ZWQtc2lkZS1tYXJnaW47XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIERlZmluaXRpb24gbGlzdHNcbiAgZGwge1xuICAgIG1hcmdpbi1ib3R0b206ICRkZWZubGlzdC1tYXJnaW4tYm90dG9tO1xuXG4gICAgZHQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZGVmbmxpc3QtdGVybS13ZWlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLy8gQmxvY2txdW90ZXNcbiAgYmxvY2txdW90ZSB7XG4gICAgbWFyZ2luOiAwIDAgJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuICAgIHBhZGRpbmc6ICRibG9ja3F1b3RlLXBhZGRpbmc7XG4gICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogJGJsb2NrcXVvdGUtYm9yZGVyO1xuXG4gICAgJiwgcCB7XG4gICAgICBsaW5lLWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xuICAgICAgY29sb3I6ICRibG9ja3F1b3RlLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIElubGluZSBDaXRhdGlvbnNcbiAgQGlmICgkZW5hYmxlLWNpdGUtYmxvY2sgPT0gdHJ1ZSkge1xuICAgIGNpdGUge1xuICAgICAgLy8gRXh0ZW5kaW5nIGEgY2xhc3MgaXMgbm90IHJlY29tbWVuZGVkLlxuICAgICAgLy8gVE9ETzogQnJlYWsgdGhlIHR5cG9ncmFwaHktYmFzZS90eXBvZ3JhcGh5LWhlbHBlcnMgc2VwYXJhdGlvblxuICAgICAgQGV4dGVuZCAuY2l0ZS1ibG9jaztcbiAgICB9XG4gIH1cblxuICAvLyBBYmJyZXZpYXRpb25zXG4gIGFiYnIsIGFiYnJbdGl0bGVdIHtcbiAgICBib3JkZXItYm90dG9tOiAkYWJici11bmRlcmxpbmU7XG4gICAgY3Vyc29yOiBoZWxwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gIC8vIEZpZ3VyZXNcbiAgZmlndXJlIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAvLyBDb2RlXG4gIEBpZiAoJGVuYWJsZS1jb2RlLWlubGluZSA9PSB0cnVlKSB7XG4gICAgY29kZSB7XG4gICAgICBAZXh0ZW5kIC5jb2RlLWlubGluZTtcbiAgICB9XG4gIH1cblxuICAvLyBLZXlzdHJva2VzXG4gIGtiZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6ICRrZXlzdHJva2UtcGFkZGluZztcblxuICAgIGJhY2tncm91bmQtY29sb3I6ICRrZXlzdHJva2UtYmFja2dyb3VuZDtcblxuICAgIGZvbnQtZmFtaWx5OiAka2V5c3Ryb2tlLWZvbnQ7XG4gICAgY29sb3I6ICRrZXlzdHJva2UtY29sb3I7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRrZXlzdHJva2UtcmFkaXVzKSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAka2V5c3Ryb2tlLXJhZGl1cztcbiAgICB9XG4gIH1cbn1cbiIsCgkJIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0eXBvZ3JhcGh5LWhlbHBlcnNcbi8vLy9cblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBsZWFkIHBhcmFncmFwaHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGVhZC1mb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplICogMS4yNSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIGxlYWQgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsZWFkLWxpbmVoZWlnaHQ6IDEuNiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJHN1YmhlYWRlci1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kc3ViaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRvcCBtYXJnaW4gZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLW1hcmdpbi10b3A6IDAuMnJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIHN0YXRpc3RpYyBudW1iZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN0YXQtZm9udC1zaXplOiAyLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIGZvciBgLmNpdGUtYmxvY2tgIGNvbXBvbmVudC5cbi8vLyBAdHlwZSBDb2xvclxuJGNpdGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGAuY2l0ZS1ibG9ja2AgY29tcG9uZW50LlxuLy8vIEB0eXBlIE51bWJlclxuJGNpdGUtZm9udC1zaXplOiByZW0tY2FsYygxMykgIWRlZmF1bHQ7XG5cbi8vLyBQc2V1ZG8gY29udGVudCBmb3IgYC5jaXRlLWJsb2NrYCBjb21wb25lbnQuXG4vLy8gQHR5cGUgU3RyaW5nXG4kY2l0ZS1wc2V1ZG8tY29udGVudDogJ1xcMjAxNCBcXDAwMjAnICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBgLmNvZGUtaW5saW5lYCBhbmQgYC5jb2RlLWJsb2NrYCBjb21wb25lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY29kZS1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbHkgb2YgYC5jb2RlLWlubGluZWAgYW5kIGAuY29kZS1ibG9ja2AgY29tcG9uZW50cy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4kY29kZS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIHRleHQgaW4gYC5jb2RlLWlubGluZWAgYW5kIGAuY29kZS1ibG9ja2AgY29tcG9uZW50cy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRjb2RlLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGAuY29kZS1pbmxpbmVgIGFuZCBgLmNvZGUtYmxvY2tgIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjb2RlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCBgLmNvZGUtaW5saW5lYCBhbmQgYC5jb2RlLWJsb2NrYCBjb21wb25lbnRzLlxuLy8vIEB0eXBlIExpc3RcbiRjb2RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgYXJvdW5kIHRleHQgb2YgdGhlIGAuY29kZS1pbmxpbmVgIGNvbXBvbmVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kY29kZS1wYWRkaW5nOiByZW0tY2FsYygyIDUgMSkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGFyb3VuZCB0ZXh0IG9mIHRoZSBgLmNvZGUtYmxvY2tgIGNvbXBvbmVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kY29kZS1ibG9jay1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gTWFyZ2luIHVuZGVyIHRoZSBgLmNvZGUtYmxvY2tgIGNvbXBvbmVudC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjb2RlLWJsb2NrLW1hcmdpbi1ib3R0b206IDEuNXJlbSAhZGVmYXVsdDtcblxuQG1peGluIGNpdGUtYmxvY2sge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29sb3I6ICRjaXRlLWNvbG9yO1xuICBmb250LXNpemU6ICRjaXRlLWZvbnQtc2l6ZTtcblxuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGNpdGUtcHNldWRvLWNvbnRlbnQ7XG4gIH1cbn1cblxuLy8vIEFkZCBiYXNpYyBzdHlsZXMgZm9yIGEgY29kZSBoZWxwZXIuXG4vLy8gU2VlIGBjb2RlLWlubGluZWAgYW5kIGBjb2RlLWJsb2NrYCBtaXhpbnMuXG5AbWl4aW4gY29kZS1zdHlsZSB7XG4gIGJvcmRlcjogJGNvZGUtYm9yZGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29kZS1iYWNrZ3JvdW5kO1xuXG4gIGZvbnQtZmFtaWx5OiAkY29kZS1mb250LWZhbWlseTtcbiAgZm9udC13ZWlnaHQ6ICRjb2RlLWZvbnQtd2VpZ2h0O1xuICBjb2xvcjogJGNvZGUtY29sb3I7XG59XG5cbi8vLyBNYWtlIGNvZGUgaGVscGVyIGZyb20gdGhlIGBjb2RlLXN0eWxlYCBtaXhpbiBpbmxpbmUuXG4vLy8gVXNlZCB0byBnZW5lcmF0ZSBgLmNvZGUtaW5saW5lYFxuQG1peGluIGNvZGUtaW5saW5lIHtcbiAgZGlzcGxheTogaW5saW5lO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcblxuICBwYWRkaW5nOiAkY29kZS1wYWRkaW5nO1xufVxuXG4vLy8gTWFrZSBjb2RlIGhlbHBlciBmcm9tIHRoZSBgY29kZS1zdHlsZWAgbWl4aW4gYSBibG9jay5cbi8vLyBVc2VkIHRvIGdlbmVyYXRlIGAuY29kZS1ibG9ja2BcbkBtaXhpbiBjb2RlLWJsb2NrIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG92ZXJmbG93OiBhdXRvO1xuICB3aGl0ZS1zcGFjZTogcHJlO1xuXG4gIHBhZGRpbmc6ICRjb2RlLWJsb2NrLXBhZGRpbmc7XG4gIG1hcmdpbi1ib3R0b206ICRjb2RlLWJsb2NrLW1hcmdpbi1ib3R0b207XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXR5cG9ncmFwaHktaGVscGVycyB7XG4gIC8vIFVzZSB0byBjcmVhdGUgYSBzdWJoZWFkaW5nIHVuZGVyIGEgbWFpbiBoZWFkZXJcbiAgLy8gTWFrZSBzdXJlIHlvdSBwYWlyIHRoZSB0d28gZWxlbWVudHMgaW4gYSA8aGVhZGVyPiBlbGVtZW50LCBsaWtlIHRoaXM6XG4gIC8vIDxoZWFkZXI+XG4gIC8vICAgPGgxPkhlYWRpbmc8L2gxPlxuICAvLyAgIDxoMj5TdWJoZWFkaW5nPC9oMj5cbiAgLy8gPC9oZWFkZXI+XG4gIC5zdWJoZWFkZXIge1xuICAgIG1hcmdpbi10b3A6ICRzdWJoZWFkZXItbWFyZ2luLXRvcDtcbiAgICBtYXJnaW4tYm90dG9tOiAkc3ViaGVhZGVyLW1hcmdpbi1ib3R0b207XG5cbiAgICBmb250LXdlaWdodDogJHN1YmhlYWRlci1mb250LXdlaWdodDtcbiAgICBsaW5lLWhlaWdodDogJHN1YmhlYWRlci1saW5laGVpZ2h0O1xuICAgIGNvbG9yOiAkc3ViaGVhZGVyLWNvbG9yO1xuICB9XG5cbiAgLy8gVXNlIHRvIHN0eWxlIGFuIGludHJvZHVjdG9yeSBsZWFkLCBkZWNrLCBibHVyYiwgZXRjLlxuICAubGVhZCB7XG4gICAgZm9udC1zaXplOiAkbGVhZC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRsZWFkLWxpbmVoZWlnaHQ7XG4gIH1cblxuICAvLyBVc2UgdG8gc3R5bGUgYSBsYXJnZSBudW1iZXIgdG8gZGlzcGxheSBhIHN0YXRpc3RpY1xuICAuc3RhdCB7XG4gICAgZm9udC1zaXplOiAkc3RhdC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgICBwICsgJiB7XG4gICAgICBtYXJnaW4tdG9wOiAtMXJlbTtcbiAgICB9XG4gIH1cblxuICB1bCwgb2wge1xuICAgIC8vIFVzZSB0byByZW1vdmUgbnVtYmVycyBmcm9tIG9yZGVyZWQgbGlzdCAmIGJ1bGxldHMgZnJvbSB1bm9yZGVyZWQgbGlzdFxuICAgICYubm8tYnVsbGV0IHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC5jaXRlLWJsb2NrIHtcbiAgICBAaW5jbHVkZSBjaXRlLWJsb2NrO1xuICB9XG5cbiAgLmNvZGUtaW5saW5lIHtcbiAgICBAaW5jbHVkZSBjb2RlLXN0eWxlO1xuICAgIEBpbmNsdWRlIGNvZGUtaW5saW5lO1xuICB9XG5cbiAgLmNvZGUtYmxvY2sge1xuICAgIEBpbmNsdWRlIGNvZGUtc3R5bGU7XG4gICAgQGluY2x1ZGUgY29kZS1ibG9jaztcbiAgfVxufVxuIiwKCQkiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AbWl4aW4gZm91bmRhdGlvbi10ZXh0LWFsaWdubWVudCB7XG4gIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgIEBlYWNoICRhbGlnbiBpbiAobGVmdCwgcmlnaHQsIGNlbnRlciwganVzdGlmeSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS10ZXh0LSN7JGFsaWdufSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiAkYWxpZ247XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAudGV4dC0jeyRhbGlnbn0ge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogJGFsaWduO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwKCQkiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8gSWYgYHRydWVgLCBhbGwgZWxlbWVudHMgd2lsbCBoYXZlIHRyYW5zcGFyZW50IGJhY2tncm91bmRzIHdoZW4gcHJpbnRlZCwgdG8gc2F2ZSBvbiBpbmsuXG4vLy8gQHR5cGUgQm9vbGVhblxuLy8vIEBncm91cCBnbG9iYWxcbiRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgZGlzcGxheXMgbmV4dCB0byBhbGwgbGlua3MgdGhlaXIgXCJocmVmXCIgd2hlbiBwcmludGVkLlxuLy8vIEB0eXBlIEJvb2xlYW5cbi8vLyBAZ3JvdXAgZ2xvYmFsXG4kcHJpbnQtaHJlZnM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIHNhc3MtbGludDpkaXNhYmxlLWFsbFxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcmludC1zdHlsZXMge1xuICAuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICBAbWVkaWEgcHJpbnQge1xuICAgICoge1xuICAgICAgLy8gRW5zdXJlIGEgXCJibGFjay1vbi13aGl0ZVwiIHByaW50IGJ5IHJlbW92aW5nIGJhY2tncm91bmRzLFxuICAgICAgLy8gdXNpbmcgYmxhY2sgdGV4dCBldmVyeXdoZXJlIGFuZCBmb3JjaW5nIHRoZSBicm93c2VyIHRvIGVjb25vbWl6ZSBpbmsuXG4gICAgICBAaWYgJHByaW50LXRyYW5zcGFyZW50LWJhY2tncm91bmRzIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7IC8vIEJsYWNrIHByaW50cyBmYXN0ZXI6IGg1YnAuY29tL3NcbiAgICAgICAgY29sb3ItYWRqdXN0OiBlY29ub215O1xuICAgICAgfVxuICAgICAgLy8gT3RoZXJ3aXNlLCBwcmV2ZW50IGFueSBlY29ub215IGJ5IHRoZSBicm93c2VyLlxuICAgICAgQGVsc2Uge1xuICAgICAgICBjb2xvci1hZGp1c3Q6IGV4YWN0O1xuICAgICAgfVxuXG4gICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgICAuaGlkZS1mb3ItcHJpbnQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICAgIHRhYmxlLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICAgIHRoZWFkLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgICB0Ym9keS5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9XG4gICAgdHIuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICAgIHRkLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gICAgdGguc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cblxuICAgIC8vIERpc3BsYXkgdGhlIFVSTCBvZiBhIGxpbmsgYWZ0ZXIgdGhlIHRleHRcbiAgICBhLFxuICAgIGE6dmlzaXRlZCB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO31cbiAgICBAaWYgJHByaW50LWhyZWZzIHtcbiAgICAgIGFbaHJlZl06YWZ0ZXIgeyBjb250ZW50OiAnICgnIGF0dHIoaHJlZikgJyknOyB9XG4gICAgfVxuXG4gICAgLy8gRG9uJ3QgZGlzcGxheSB0aGUgVVJMIGZvciBpbWFnZXMgb3IgSmF2YVNjcmlwdC9pbnRlcm5hbCBsaW5rc1xuICAgIC5pciBhOmFmdGVyLFxuICAgIGFbaHJlZl49J2phdmFzY3JpcHQ6J106YWZ0ZXIsXG4gICAgYVtocmVmXj0nIyddOmFmdGVyIHsgY29udGVudDogJyc7IH1cblxuICAgIC8vIERpc3BsYXkgd2hhdCBhbiBhYmJyZXZpYXRpb24gc3RhbmRzIGZvciBhZnRlciB0aGUgdGV4dFxuICAgIGFiYnJbdGl0bGVdOmFmdGVyIHsgY29udGVudDogJyAoJyBhdHRyKHRpdGxlKSAnKSc7IH1cblxuICAgIC8vIFByZXZlbnQgcGFnZSBicmVha3MgaW4gdGhlIG1pZGRsZSBvZiBhIGJsb2NrcXVvdGUgb3IgcHJlZm9ybWF0dGVkIHRleHQgYmxvY2tcbiAgICBwcmUsXG4gICAgYmxvY2txdW90ZSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkZGFyay1ncmF5O1xuICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgIH1cblxuICAgIC8vIGg1YnAuY29tL3RcbiAgICB0aGVhZCB7IGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDsgfVxuXG4gICAgdHIsXG4gICAgaW1nIHsgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG5cbiAgICBpbWcgeyBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuXG4gICAgQHBhZ2UgeyBtYXJnaW46IDAuNWNtOyB9XG5cbiAgICBwLFxuICAgIGgyLFxuICAgIGgzIHtcbiAgICAgIG9ycGhhbnM6IDM7XG4gICAgICB3aWRvd3M6IDM7XG4gICAgfVxuXG4gICAgLy8gQXZvaWQgcGFnZSBicmVha3MgYWZ0ZXIgYSBoZWFkaW5nXG4gICAgaDIsXG4gICAgaDMgeyBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDsgfVxuXG4gICAgLy8gSGVscGVyIHRvIHJlLWFsbG93IHBhZ2UgYnJlYWtzIGluIHRoZSBtaWRkbGUgb2YgY2VydGFpbiBlbGVtZW50cyAoZS5nLiBwcmUsIGJsb2NrcXVvdGUsIHRyKVxuICAgIC5wcmludC1icmVhay1pbnNpZGUge1xuICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF1dG87XG4gICAgfVxuICB9XG59XG4iLAoJCSIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gVGhlIG1heGltdW0gd2lkdGggb2YgYSByb3cuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ3JpZC1yb3ctd2lkdGg6ICRnbG9iYWwtd2lkdGggIWRlZmF1bHQ7XG5cbi8vLyBUaGUgZGVmYXVsdCBjb2x1bW4gY291bnQgb2YgYSBncmlkLiBDaGFuZ2luZyB0aGlzIHZhbHVlIGFmZmVjdHMgdGhlIGxvZ2ljIG9mIHRoZSBncmlkIG1peGlucywgYW5kIHRoZSBudW1iZXIgb2YgQ1NTIGNsYXNzZXMgb3V0cHV0LlxuLy8vIEB0eXBlIE51bWJlclxuJGdyaWQtY29sdW1uLWNvdW50OiAxMiAhZGVmYXVsdDtcblxuLy8vIFRoZSBhbW91bnQgb2Ygc3BhY2UgYmV0d2VlbiBjb2x1bW5zIGF0IGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMuIFRvIHVzZSBqdXN0IG9uZSBzaXplLCBzZXQgdGhlIHZhcmlhYmxlIHRvIGEgbnVtYmVyIGluc3RlYWQgb2YgYSBtYXAuXG4vLy8gQHR5cGUgTWFwIHwgTGVuZ3RoXG4vLy8gQHNpbmNlIDYuMS4wXG4kZ3JpZC1jb2x1bW4tZ3V0dGVyOiAoXG4gIHNtYWxsOiAyMHB4LFxuICBtZWRpdW06IDMwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCB0aGUgbGFzdCBjb2x1bW4gaW4gYSByb3cgd2lsbCBhbGlnbiB0byB0aGUgb3Bwb3NpdGUgZWRnZSBvZiB0aGUgcm93LlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRncmlkLWNvbHVtbi1hbGlnbi1lZGdlOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2VsZWN0b3IgdXNlZCBmb3IgYW4gYWxpYXMgb2YgY29sdW1uICh3aXRoIEBleHRlbmQpLiBJZiBgZmFsc2VgLCBubyBhbGlhcyBpcyBjcmVhdGVkLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGdyaWQtY29sdW1uLWFsaWFzOiAnY29sdW1ucycgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgaGlnaGVzdCBudW1iZXIgb2YgYC54LXVwYCBjbGFzc2VzIGF2YWlsYWJsZSB3aGVuIHVzaW5nIHRoZSBibG9jayBncmlkIENTUy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRibG9jay1ncmlkLW1heDogOCAhZGVmYXVsdDtcblxuLy8gSW50ZXJuYWwgdmFsdWUgdG8gc3RvcmUgdGhlIGVuZCBjb2x1bW4gZmxvYXQgZGlyZWN0aW9uXG4kLXpmLWVuZC1mbG9hdDogaWYoJGdyaWQtY29sdW1uLWFsaWduLWVkZ2UsICRnbG9iYWwtcmlnaHQsICRnbG9iYWwtbGVmdCk7XG5cbkBpbXBvcnQgJ3Jvdyc7XG5AaW1wb3J0ICdjb2x1bW4nO1xuQGltcG9ydCAnc2l6ZSc7XG5AaW1wb3J0ICdwb3NpdGlvbic7XG5AaW1wb3J0ICdndXR0ZXInO1xuQGltcG9ydCAnY2xhc3Nlcyc7XG5AaW1wb3J0ICdsYXlvdXQnO1xuXG5AaW1wb3J0ICdmbGV4LWdyaWQnO1xuIiwKCQkiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIENoYW5nZSB0aGUgYmVoYXZpb3Igb2YgY29sdW1ucyBkZWZpbmVkIGluc2lkZSB0aGlzIG1peGluIHRvIHVzZSBhIGRpZmZlcmVudCBjb2x1bW4gY291bnQuXG4vLy8gQGNvbnRlbnRcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkY29sdW1ucyAtIE51bWJlciBvZiBjb2x1bW5zIHRvIHVzZS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRyb290IFtmYWxzZV1cbi8vLyAgIElmIGBmYWxzZWAsIHNlbGVjdG9ycyBpbnNpZGUgdGhpcyBtaXhpbiB3aWxsIG5lc3QgaW5zaWRlIHRoZSBwYXJlbnQgc2VsZWN0b3IuXG4vLy8gICBJZiBgdHJ1ZWAsIHNlbGVjdG9ycyB3aWxsIG5vdCBuZXN0LlxuQG1peGluIGdyaWQtY29udGV4dChcbiAgJGNvbHVtbnMsXG4gICRyb290OiBmYWxzZVxuKSB7XG4gIC8vIFN0b3JlIHRoZSBjdXJyZW50IGNvbHVtbiBjb3VudCBzbyBpdCBjYW4gYmUgcmUtc2V0IGxhdGVyXG4gICRvbGQtZ3JpZC1jb2x1bW4tY291bnQ6ICRncmlkLWNvbHVtbi1jb3VudDtcbiAgJGdyaWQtY29sdW1uLWNvdW50OiAkY29sdW1ucyAhZ2xvYmFsO1xuXG4gIEBpZiAkcm9vdCB7XG4gICAgQGF0LXJvb3QgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxuXG4gIC8vIFJlc3RvcmUgdGhlIG9sZCBjb2x1bW4gY291bnRcbiAgJGdyaWQtY29sdW1uLWNvdW50OiAkb2xkLWdyaWQtY29sdW1uLWNvdW50ICFnbG9iYWw7XG59XG5cbi8vLyBDcmVhdGVzIGEgZ3JpZCByb3cuXG4vLy8gQGNvbnRlbnRcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkY29sdW1ucyBbbnVsbF0gLSBDb2x1bW4gY291bnQgZm9yIHRoaXMgcm93LiBgbnVsbGAgd2lsbCB1c2UgdGhlIGRlZmF1bHQgY29sdW1uIGNvdW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZHN9ICRiZWhhdmlvciBbbnVsbF1cbi8vLyAgIE1vZGlmaWNhdGlvbnMgdG8gdGhlIGRlZmF1bHQgZ3JpZCBzdHlsZXMuIGBuZXN0YCBpbmRpY2F0ZXMgdGhlIHJvdyB3aWxsIGJlIHBsYWNlZCBpbnNpZGUgYW5vdGhlciByb3cuIGBjb2xsYXBzZWAgaW5kaWNhdGVzIHRoYXQgdGhlIGNvbHVtbnMgaW5zaWRlIHRoaXMgcm93IHdpbGwgbm90IGhhdmUgcGFkZGluZy4gYG5lc3QgY29sbGFwc2VgIGNvbWJpbmVzIGJvdGggYmVoYXZpb3JzLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFskZ3JpZC1yb3ctd2lkdGhdIE1heGltdW0gc2l6ZSBvZiB0aGUgcm93LiBTZXQgdG8gYGV4cGFuZGAgdG8gbWFrZSB0aGUgcm93IHRha2luZyB0aGUgZnVsbCB3aWR0aC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRjZiBbdHJ1ZV0gLSBXaGV0aGVyIG9yIG5vdCB0byBpbmNsdWRlIGEgY2xlYXJmaXguXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBHdXR0ZXIgbWFwIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2Ugd2hlbiBpbnZlcnRpbmcgbWFyZ2lucy4gUmVzcG9uc2l2ZSBndXR0ZXIgc2V0dGluZ3MgYnkgZGVmYXVsdC5cbkBtaXhpbiBncmlkLXJvdyhcbiAgJGNvbHVtbnM6IG51bGwsXG4gICRiZWhhdmlvcjogbnVsbCxcbiAgJHNpemU6ICRncmlkLXJvdy13aWR0aCxcbiAgJGNmOiB0cnVlLFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gICRtYXJnaW46IGF1dG87XG5cbiAgQGlmIGluZGV4KCRiZWhhdmlvciwgbmVzdCkgIT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3ctbmVzdCgkZ3V0dGVycyk7XG5cbiAgICBAaWYgaW5kZXgoJGJlaGF2aW9yLCBjb2xsYXBzZSkgIT0gbnVsbCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpbmNsdWRlIGdyaWQtcm93LXNpemUoJHNpemUpO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgfVxuXG4gIEBpZiAkY2Yge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICB9XG5cbiAgQGlmICRjb2x1bW5zICE9IG51bGwge1xuICAgIEBpbmNsdWRlIGdyaWQtY29udGV4dCgkY29sdW1ucykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBJbnZlcnRzIHRoZSBtYXJnaW5zIG9mIGEgcm93IHRvIG5lc3QgaXQgaW5zaWRlIG9mIGEgY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBHdXR0ZXIgbWFwIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2Ugd2hlbiBpbnZlcnRpbmcgbWFyZ2lucy4gUmVzcG9uc2l2ZSBndXR0ZXIgc2V0dGluZ3MgYnkgZGVmYXVsdC5cbkBtaXhpbiBncmlkLXJvdy1uZXN0KCRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyKSB7XG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgICRtYXJnaW46IHJlbS1jYWxjKC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkLXpmLXNpemUpKSAvIDIgKiAtMTtcblxuICAgIG1hcmdpbi1yaWdodDogJG1hcmdpbjtcbiAgICBtYXJnaW4tbGVmdDogJG1hcmdpbjtcbiAgfVxufVxuXG4vLy8gU2V0IGEgZ3JpZCByb3cgc2l6ZVxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgWyRncmlkLXJvdy13aWR0aF0gTWF4aW11bSBzaXplIG9mIHRoZSByb3cuIFNldCB0byBgZXhwYW5kYCB0byBtYWtlIHRoZSByb3cgdGFraW5nIHRoZSBmdWxsIHdpZHRoLlxuQG1peGluIGdyaWQtcm93LXNpemUoJHNpemU6ICRncmlkLXJvdy13aWR0aCkge1xuICBAaWYgJHNpemUgPT0gZXhwYW5kIHtcbiAgICAkc2l6ZTogbm9uZTtcbiAgfVxuXG4gIG1heC13aWR0aDogJHNpemU7XG59XG4iLAoJCSIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gQ2FsY3VsYXRlcyB0aGUgd2lkdGggb2YgYSBjb2x1bW4gYmFzZWQgb24gYSBudW1iZXIgb2YgZmFjdG9ycy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRjb2x1bW5zXG4vLy8gICBXaWR0aCBvZiB0aGUgY29sdW1uLiBBY2NlcHRzIG11bHRpcGxlIHZhbHVlczpcbi8vLyAgIC0gQSBwZXJjZW50YWdlIHZhbHVlIHdpbGwgbWFrZSB0aGUgY29sdW1uIHRoYXQgZXhhY3Qgc2l6ZS5cbi8vLyAgIC0gQSBzaW5nbGUgZGlnaXQgd2lsbCBtYWtlIHRoZSBjb2x1bW4gc3BhbiB0aGF0IG51bWJlciBvZiBjb2x1bW5zIHdpZGUsIHRha2luZyBpbnRvIGFjY291bnQgdGhlIGNvbHVtbiBjb3VudCBvZiB0aGUgcGFyZW50IHJvdy5cbi8vLyAgIC0gQSBsaXN0IG9mIHRoZSBmb3JtYXQgXCJ4IG9mIHlcIiAod2l0aG91dCBxdW90ZXMpIHdpbGwgbWFrZSBhIGNvbHVtbiB0aGF0IGlzICp4KiBjb2x1bW5zIHdpZGUsIGFzc3VtaW5nICp5KiB0b3RhbCBjb2x1bW5zIGZvciB0aGUgcGFyZW50LlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gQSBjYWxjdWxhdGVkIHBlcmNlbnRhZ2UgdmFsdWUuXG5AZnVuY3Rpb24gZ3JpZC1jb2x1bW4oJGNvbHVtbnMpIHtcbiAgQHJldHVybiBmcmFjdGlvbi10by1wZXJjZW50YWdlKCRjb2x1bW5zLCAkZGVub21pbmF0b3I6ICRncmlkLWNvbHVtbi1jb3VudCk7XG59XG5cbi8vLyBDcmVhdGVzIGEgZ3JpZCBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge01peGVkfSAkY29sdW1ucyBbJGdyaWQtY29sdW1uLWNvdW50XSAtIFdpZHRoIG9mIHRoZSBjb2x1bW4uIFJlZmVyIHRvIHRoZSBgZ3JpZC1jb2x1bW4oKWAgZnVuY3Rpb24gdG8gc2VlIHBvc3NpYmxlIHZhbHVlcy5cbi8vLyBAcGFyYW0ge01peGVkfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBTcGFjaW5nIGJldHdlZW4gY29sdW1ucy4gUmVmZXIgdG8gdGhlIGBncmlkLWNvbHVtbi1ndXR0ZXIoKWAgZnVuY3Rpb24gdG8gc2VlIHBvc3NpYmxlIHZhbHVlcy5cbkBtaXhpbiBncmlkLWNvbHVtbihcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudCxcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1zaXplKCRjb2x1bW5zKTtcbiAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcblxuICAvLyBHdXR0ZXJzXG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWd1dHRlcigkZ3V0dGVyczogJGd1dHRlcnMpO1xuXG4gIC8vIFBvc2l0aW9uXG4gIEBpbmNsdWRlIGdyaWQtY29sLXBvcyhhdXRvKTtcbn1cblxuLy8vIENyZWF0ZXMgYSBncmlkIGNvbHVtbiByb3cuIFRoaXMgaXMgdGhlIGVxdWl2YWxlbnQgb2YgYWRkaW5nIGAucm93YCBhbmQgYC5jb2x1bW5gIHRvIHRoZSBzYW1lIGVsZW1lbnQuXG4vLy9cbi8vLyBAcGFyYW0ge01peGVkfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBXaWR0aCBvZiB0aGUgZ3V0dGVycyBvbiBlaXRoZXIgc2lkZSBvZiB0aGUgY29sdW1uIHJvdy4gUmVmZXIgdG8gdGhlIGBncmlkLWNvbHVtbi1ndXR0ZXIoKWAgZnVuY3Rpb24gdG8gc2VlIHBvc3NpYmxlIHZhbHVlcy5cbkBtaXhpbiBncmlkLWNvbHVtbi1yb3coXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1yb3c7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uKCRndXR0ZXJzOiAkZ3V0dGVycyk7XG5cbiAgJixcbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgfVxufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4oKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uXG5AZnVuY3Rpb24gZ3JpZC1jb2woXG4gICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW4tY291bnRcbikge1xuICBAcmV0dXJuIGdyaWQtY29sdW1uKCRjb2x1bW5zKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtblxuQG1peGluIGdyaWQtY29sKFxuICAkY29sdW1uczogJGdyaWQtY29sdW1uLWNvdW50LFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uKCRjb2x1bW5zLCAkZ3V0dGVycyk7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1yb3coKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXJvd1xuQG1peGluIGdyaWQtY29sLXJvdyhcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1yb3coJGd1dHRlcnMpO1xufVxuIiwKCQkiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIFNldCB0aGUgd2lkdGggb2YgYSBncmlkIGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICR3aWR0aCBbJGdyaWQtY29sdW1uLWNvdW50XSAtIFdpZHRoIHRvIG1ha2UgdGhlIGNvbHVtbi4gWW91IGNhbiBwYXNzIGluIGFueSB2YWx1ZSBhY2NlcHRlZCBieSB0aGUgYGdyaWQtY29sdW1uKClgIGZ1bmN0aW9uLCBzdWNoIGFzIGA2YCwgYDUwJWAsIG9yIGAxIG9mIDJgLlxuQG1peGluIGdyaWQtY29sdW1uLXNpemUoXG4gICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW4tY291bnRcbikge1xuICB3aWR0aDogZ3JpZC1jb2x1bW4oJGNvbHVtbnMpO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tc2l6ZSgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tc2l6ZVxuQG1peGluIGdyaWQtY29sLXNpemUoXG4gICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW4tY291bnRcbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1zaXplKCRjb2x1bW5zKTtcbn1cbiIsCgkJIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBSZXBvc2l0aW9uIGEgY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8S2V5d29yZH0gJHBvc2l0aW9uIC0gSXQgY2FuIGJlOlxuLy8vICAgKiBBIG51bWJlcjogVGhlIGNvbHVtbiB3aWxsIG1vdmUgZXF1YWwgdG8gdGhlIHdpZHRoIG9mIHRoZSBjb2x1bW4gY291bnRcbi8vLyAgICAgc3BlY2lmaWVkLiBBIHBvc2l0aXZlIG51bWJlciB3aWxsIHB1c2ggdGhlIGNvbHVtbiB0byB0aGUgcmlnaHQsIHdoaWxlXG4vLy8gICAgIGEgbmVnYXRpdmUgbnVtYmVyIHdpbGwgcHVsbCBpdCB0byB0aGUgbGVmdC5cbi8vLyAgICogYGNlbnRlcmA6IENvbHVtbiB3aWxsIGJlIGNlbnRlcmVkXG4vLy8gICAqIGBhdXRvYDogQ29sdW1uIHdpbGwgYmUgcHVzaGVkIHRvIHRoZSBsZWZ0IChvciB0byB0aGUgcmlnaHQgZm9yIHRoZSBsYXN0IGNvbHVtbikuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tcG9zaXRpb24oJHBvc2l0aW9uKSB7XG4gIC8vIEF1dG8gcG9zaXRpb25pbmdcbiAgQGlmICRwb3NpdGlvbiA9PSBhdXRvIHtcbiAgICAmLCAmOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcbiAgICAgIGNsZWFyOiBub25lO1xuICAgIH1cblxuICAgIC8vIExhc3QgY29sdW1uIGFsaWdubWVudFxuICAgIEBpZiAkZ3JpZC1jb2x1bW4tYWxpZ24tZWRnZSB7XG4gICAgICAmOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICBmbG9hdDogJGdsb2JhbC1yaWdodDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBQdXNoL3B1bGxcbiAgQGVsc2UgaWYgdHlwZS1vZigkcG9zaXRpb24pID09ICdudW1iZXInIHtcbiAgICAkb2Zmc2V0OiBwZXJjZW50YWdlKCRwb3NpdGlvbiAvICRncmlkLWNvbHVtbi1jb3VudCk7XG5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAkb2Zmc2V0O1xuICB9XG5cbiAgLy8gQ2VudGVyIHBvc2l0aW9uaW5nXG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSBjZW50ZXIge1xuICAgICYsICY6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cblxuICBAZWxzZSB7XG4gICAgQHdhcm4gJ1dyb25nIHN5bnRheCBmb3IgZ3JpZC1jb2x1bW4tcG9zaXRpb24oKS4gRW50ZXIgYSBwb3NpdGl2ZSBvciBuZWdhdGl2ZSBudW1iZXIsIFwiY2VudGVyXCIgb3IgXCJhdXRvXCIuJztcbiAgfVxufVxuXG4vLy8gUmVzZXQgYSBwb3NpdGlvbiBkZWZpbml0aW9uLlxuQG1peGluIGdyaWQtY29sdW1uLXVucG9zaXRpb24ge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1wb3NpdGlvbihhdXRvKTtcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbn1cblxuLy8vIE9mZnNldHMgYSBjb2x1bW4gdG8gdGhlIHJpZ2h0IGJ5IGAkbmAgY29sdW1ucy5cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkbiAtIFdpZHRoIHRvIG9mZnNldCBieS4gWW91IGNhbiBwYXNzIGluIGFueSB2YWx1ZSBhY2NlcHRlZCBieSB0aGUgYGdyaWQtY29sdW1uKClgIG1peGluLCBzdWNoIGFzIGA2YCwgYDUwJWAsIG9yIGAxIG9mIDJgLlxuQG1peGluIGdyaWQtY29sdW1uLW9mZnNldCgkbikge1xuICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiBncmlkLWNvbHVtbigkbik7XG59XG5cbi8vLyBEaXNhYmxlIHRoZSBkZWZhdWx0IGJlaGF2aW9yIG9mIHRoZSBsYXN0IGNvbHVtbiBpbiBhIHJvdyBhbGlnbmluZyB0byB0aGUgb3Bwb3NpdGUgZWRnZS5cbkBtaXhpbiBncmlkLWNvbHVtbi1lbmQge1xuICAvLyBUaGlzIGV4dHJhIHNwZWNpZmljaXR5IGlzIHJlcXVpcmVkIGZvciB0aGUgcHJvcGVydHkgdG8gYmUgYXBwbGllZFxuICAmOmxhc3QtY2hpbGQ6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcbiAgfVxufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tcG9zaXRpb24oKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXBvc2l0aW9uXG5AbWl4aW4gZ3JpZC1jb2wtcG9zKCRwb3NpdGlvbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1wb3NpdGlvbigkcG9zaXRpb24pO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tdW5wb3NpdGlvbigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tdW5wb3NpdGlvblxuQG1peGluIGdyaWQtY29sLXVucG9zIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tdW5wb3NpdGlvbjtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLW9mZnNldCgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tb2Zmc2V0XG5AbWl4aW4gZ3JpZC1jb2wtb2ZmKCRuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLW9mZnNldCgkbik7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1lbmQoKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLWVuZFxuQG1peGluIGdyaWQtY29sLWVuZCB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWVuZDtcbn1cbiIsCgkJIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBTZXQgdGhlIGd1dHRlcnMgb24gYSBjb2x1bW5cbi8vLyBAcGFyYW0ge051bWJlcnxLZXl3b3JkfSAkZ3V0dGVyIFthdXRvXVxuLy8vICAgU3BhY2luZyBiZXR3ZWVuIGNvbHVtbnMsIGFjY2VwdHMgbXVsdGlwbGUgdmFsdWVzOlxuLy8vICAgLSBBIHNpbmdsZSB2YWx1ZSB3aWxsIG1ha2UgdGhlIGd1dHRlciB0aGF0IGV4YWN0IHNpemUuXG4vLy8gICAtIEEgYnJlYWtwb2ludCBuYW1lIHdpbGwgbWFrZSB0aGUgZ3V0dGVyIHRoZSBjb3JyZXNwb25kaW5nIHNpemUgaW4gdGhlICRndXR0ZXJzIG1hcC5cbi8vLyAgIC0gXCJhdXRvXCIgd2lsbCBtYWtlIHRoZSBndXR0ZXIgcmVzcG9uc2l2ZSwgdXNpbmcgdGhlICRndXR0ZXJzIG1hcCB2YWx1ZXMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBHdXR0ZXIgbWFwIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2UuIFJlc3BvbnNpdmUgZ3V0dGVyIHNldHRpbmdzIGJ5IGRlZmF1bHQuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tZ3V0dGVyKFxuICAkZ3V0dGVyOiBhdXRvLFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKCRndXR0ZXIsICRndXR0ZXJzKSB7XG4gICAgJHBhZGRpbmc6IHJlbS1jYWxjKCQtemYtYnAtdmFsdWUpIC8gMjtcblxuICAgIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nO1xuICAgIHBhZGRpbmctbGVmdDogJHBhZGRpbmc7XG4gIH1cbn1cblxuLy8vIENvbGxhcHNlIHRoZSBndXR0ZXJzIG9uIGEgY29sdW1uIGJ5IHJlbW92aW5nIHRoZSBwYWRkaW5nLiAqKk5vdGU6Kiogb25seSB1c2UgdGhpcyBtaXhpbiB3aXRoaW4gYSBicmVha3BvaW50LiBUbyBjb2xsYXBzZSBhIGNvbHVtbidzIGd1dHRlcnMgb24gYWxsIHNjcmVlbiBzaXplcywgdXNlIHRoZSBgJGd1dHRlcmAgcGFyYW1ldGVyIG9mIHRoZSBgZ3JpZC1jb2x1bW4oKWAgbWl4aW4gaW5zdGVhZC5cbkBtaXhpbiBncmlkLWNvbHVtbi1jb2xsYXBzZSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWd1dHRlcigwKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLWd1dHRlcigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tZ3V0dGVyXG5AbWl4aW4gZ3JpZC1jb2wtZ3V0dGVyKFxuICAkZ3V0dGVyOiBhdXRvLFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWd1dHRlcigkZ3V0dGVyLCAkZ3V0dGVycyk7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1jb2xsYXBzZSgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tY29sbGFwc2VcbkBtaXhpbiBncmlkLWNvbC1jb2xsYXBzZSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWNvbGxhcHNlO1xufVxuXG4vLy8gU2V0cyBib3R0b20gbWFyZ2luIG9uIGdyaWQgY29sdW1ucyB0byBtYXRjaCBndXR0ZXJzXG4vLy8gQHBhcmFtIHtOdW1iZXJ8S2V5d29yZH0gJG1hcmdpbiBbYXV0b11cbi8vLyAgIFRoZSBib3R0b20gbWFyZ2luIG9uIGdyaWQgY29sdW1ucywgYWNjZXB0cyBtdWx0aXBsZSB2YWx1ZXM6XG4vLy8gICAtIEEgc2luZ2xlIHZhbHVlIHdpbGwgbWFrZSB0aGUgbWFyZ2luIHRoYXQgZXhhY3Qgc2l6ZS5cbi8vLyAgIC0gQSBicmVha3BvaW50IG5hbWUgd2lsbCBtYWtlIHRoZSBtYXJnaW4gdGhlIGNvcnJlc3BvbmRpbmcgc2l6ZSBpbiB0aGUgJG1hcmdpbnMgbWFwLlxuLy8vICAgLSBcImF1dG9cIiB3aWxsIG1ha2UgdGhlIG1hcmdpbiByZXNwb25zaXZlLCB1c2luZyB0aGUgJG1hcmdpbnMgbWFwIHZhbHVlcy5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXJnaW5zIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgdG8gdXNlLiBSZXNwb25zaXZlIGd1dHRlciBzZXR0aW5ncyBieSBkZWZhdWx0LlxuQG1peGluIGdyaWQtY29sdW1uLW1hcmdpbiAoXG4gICRtYXJnaW46IGF1dG8sXG4gICRtYXJnaW5zOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoJG1hcmdpbiwgJG1hcmdpbnMpIHtcbiAgICAkbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoJC16Zi1icC12YWx1ZSk7XG4gICAgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi1ib3R0b207XG5cbiAgICA+IDpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG59XG4iLAoJCSIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gT3V0cHV0cyBDU1MgY2xhc3NlcyBmb3IgdGhlIGdyaWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AbWl4aW4gZm91bmRhdGlvbi1ncmlkKFxuICAkcm93OiAncm93JyxcbiAgJGNvbHVtbjogJ2NvbHVtbicsXG4gICRjb2x1bW4tcm93OiAnY29sdW1uLXJvdycsXG4gICRndXR0ZXI6ICdndXR0ZXInLFxuICAkcHVzaDogJ3B1c2gnLFxuICAkcHVsbDogJ3B1bGwnLFxuICAkY2VudGVyOiAnY2VudGVyZWQnLFxuICAkdW5jZW50ZXI6ICd1bmNlbnRlcmVkJyxcbiAgJGNvbGxhcHNlOiAnY29sbGFwc2UnLFxuICAkdW5jb2xsYXBzZTogJ3VuY29sbGFwc2UnLFxuICAkb2Zmc2V0OiAnb2Zmc2V0JyxcbiAgJGVuZDogJ2VuZCcsXG4gICRleHBhbmRlZDogJ2V4cGFuZGVkJyxcbiAgJGJsb2NrOiAnYmxvY2snXG4pIHtcbiAgLy8gUm93XG4gIC4jeyRyb3d9IHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdztcblxuICAgIC8vIENvbGxhcHNpbmdcbiAgICAmLiN7JGNvbGxhcHNlfSB7XG4gICAgICA+IC4jeyRjb2x1bW59IHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtY29sbGFwc2U7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gTmVzdGluZ1xuICAgICYgLiN7JHJvd30ge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3ctbmVzdCgkZ3JpZC1jb2x1bW4tZ3V0dGVyKTtcblxuICAgICAgJi4jeyRjb2xsYXBzZX0ge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEV4cGFuZGVkIChmdWxsLXdpZHRoKSByb3dcbiAgICAmLiN7JGV4cGFuZGVkfSB7XG4gICAgICBAaW5jbHVkZSBncmlkLXJvdy1zaXplKGV4cGFuZCk7XG5cbiAgICAgIC4jeyRyb3d9IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOm5vdCguI3skZXhwYW5kZWR9KSAuI3skcm93fSB7XG4gICAgICBAaW5jbHVkZSBncmlkLXJvdy1zaXplKGV4cGFuZCk7XG4gICAgfVxuXG4gICAgQGlmIHR5cGUtb2YoJGdyaWQtY29sdW1uLWd1dHRlcikgPT0gJ21hcCcge1xuICAgICAgLy8gU3RhdGljICh1bnJlc3BvbnNpdmUpIHJvdyBndXR0ZXJzXG4gICAgICAvL1xuICAgICAgQGVhY2ggJGJyZWFrcG9pbnQsICR2YWx1ZSBpbiAkZ3JpZC1jb2x1bW4tZ3V0dGVyIHtcbiAgICAgICAgJi4jeyRndXR0ZXJ9LSN7JGJyZWFrcG9pbnR9IHtcbiAgICAgICAgICA+IC4jeyRjb2x1bW59IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLWd1dHRlcigkdmFsdWUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIENvbHVtblxuICAuI3skY29sdW1ufSB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb2w7XG5cbiAgICBAaWYgJGdyaWQtY29sdW1uLWFsaWduLWVkZ2Uge1xuICAgICAgJi4jeyRlbmR9IHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtZW5kO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIENvbHVtbiByb3dcbiAgLy8gVGhlIGRvdWJsZSAucm93IGNsYXNzIGlzIG5lZWRlZCB0byBidW1wIHVwIHRoZSBzcGVjaWZpY2l0eVxuICAuI3skY29sdW1ufS4jeyRyb3d9LiN7JHJvd30ge1xuICAgIGZsb2F0OiBub25lO1xuICB9XG5cbiAgLy8gVG8gcHJvcGVybHkgbmVzdCBhIGNvbHVtbiByb3csIHBhZGRpbmcgYW5kIG1hcmdpbiBpcyByZW1vdmVkXG4gIC4jeyRyb3d9IC4jeyRjb2x1bW59LiN7JHJvd30uI3skcm93fSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG5cbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW4tY291bnQge1xuICAgICAgLy8gQ29sdW1uIHdpZHRoXG4gICAgICAuI3skLXpmLXNpemV9LSN7JGl9IHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtc2l6ZSgkaSk7XG4gICAgICB9XG5cbiAgICAgIC8vIFNvdXJjZSBvcmRlcmluZ1xuICAgICAgQGlmICRpIDwgJGdyaWQtY29sdW1uLWNvdW50IHtcbiAgICAgICAgQGlmICRwdXNoIHtcbiAgICAgICAgICAuI3skLXpmLXNpemV9LSN7JHB1c2h9LSN7JGl9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLXBvcygkaSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGlmICRwdWxsIHtcbiAgICAgICAgICAuI3skLXpmLXNpemV9LSN7JHB1bGx9LSN7JGl9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLXBvcygtJGkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBPZmZzZXRzXG4gICAgICAkbzogJGkgLSAxO1xuXG4gICAgICBAaWYgJG9mZnNldCB7XG4gICAgICAgIC4jeyQtemYtc2l6ZX0tI3skb2Zmc2V0fS0jeyRvfSB7XG4gICAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtb2ZmKCRvKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEJsb2NrIGdyaWRcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRibG9jay1ncmlkLW1heCB7XG4gICAgICAuI3skLXpmLXNpemV9LXVwLSN7JGl9IHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1sYXlvdXQoJGksICcuI3skY29sdW1ufScpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFJlc3BvbnNpdmUgY29sbGFwc2luZ1xuICAgIC4jeyQtemYtc2l6ZX0tI3skY29sbGFwc2V9IHtcbiAgICAgID4gLiN7JGNvbHVtbn0geyBAaW5jbHVkZSBncmlkLWNvbC1jb2xsYXBzZTsgfVxuXG4gICAgICAuI3skcm93fSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLiN7JGV4cGFuZGVkfS4jeyRyb3d9IC4jeyQtemYtc2l6ZX0tI3skY29sbGFwc2V9LiN7JHJvd30ge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuXG4gICAgLiN7JC16Zi1zaXplfS0jeyR1bmNvbGxhcHNlfSB7XG4gICAgICA+IC4jeyRjb2x1bW59IHsgQGluY2x1ZGUgZ3JpZC1jb2wtZ3V0dGVyKCQtemYtc2l6ZSk7IH1cbiAgICB9XG5cbiAgICAvLyBQb3NpdGlvbmluZ1xuICAgIEBpZiAkY2VudGVyIHtcbiAgICAgIC4jeyQtemYtc2l6ZX0tI3skY2VudGVyfSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLXBvcyhjZW50ZXIpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEd1dHRlciBhZGp1c3RtZW50XG4gICAgJC1ndXR0ZXItdW5wb3Mtc2VsZWN0b3I6IChcbiAgICAgIGlmKCR1bmNlbnRlciwgJy4jeyQtemYtc2l6ZX0tI3skdW5jZW50ZXJ9JywgbnVsbCksXG4gICAgICBpZigkcHVzaCwgJy4jeyQtemYtc2l6ZX0tI3skcHVzaH0tMCcsIG51bGwpLFxuICAgICAgaWYoJHB1bGwsICcuI3skLXpmLXNpemV9LSN7JHB1bGx9LTAnLCBudWxsKSxcbiAgICApO1xuICAgIEBpZiAoJHVuY2VudGVyIG9yICRwdXNoIG9yICRwdWxsKSB7XG4gICAgICAjeyQtZ3V0dGVyLXVucG9zLXNlbGVjdG9yfSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLXVucG9zO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIEJsb2NrIGdyaWQgY29sdW1uc1xuICAuI3skY29sdW1ufS0jeyRibG9ja30ge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uLW1hcmdpbjtcbiAgfVxuXG4gIEBpZiAkY29sdW1uID09ICdjb2x1bW4nIGFuZCBoYXMtdmFsdWUoJGdyaWQtY29sdW1uLWFsaWFzKSB7XG4gICAgLiN7JGdyaWQtY29sdW1uLWFsaWFzfSB7XG4gICAgICAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1ibG9jayBwbGFjZWhvbGRlci1pbi1leHRlbmRcbiAgICAgIEBleHRlbmQgLmNvbHVtbjtcbiAgICB9XG4gIH1cbn1cbiIsCgkJIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBTaXplcyBjaGlsZCBlbGVtZW50cyBzbyB0aGF0IGAkbmAgbnVtYmVyIG9mIGl0ZW1zIGFwcGVhciBvbiBlYWNoIHJvdy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbiAtIE51bWJlciBvZiBlbGVtZW50cyB0byBkaXNwbGF5IHBlciByb3cuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJy5jb2x1bW4nXSAtIFNlbGVjdG9yKHMpIHRvIHVzZSBmb3IgY2hpbGQgZWxlbWVudHMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJGd1dHRlclxuLy8vICAgVGhlIGd1dHRlciB0byBhcHBseSB0byBjaGlsZCBlbGVtZW50cy4gQWNjZXB0cyBtdWx0aXBsZSB2YWx1ZXM6XG4vLy8gICAtICRncmlkLWNvbHVtbi1ndXR0ZXIgd2lsbCB1c2UgdGhlIHZhbHVlcyBpbiB0aGUgJGdyaWQtY29sdW1uLWd1dHRlciBtYXAsIGluY2x1ZGluZyBicmVha3BvaW50IHNpemVzLlxuLy8vICAgLSBBIGZpeGVkIG51bWVyaWMgdmFsdWUgd2lsbCBhcHBseSB0aGlzIGd1dHRlciB0byBhbGwgYnJlYWtwb2ludHMuXG5AbWl4aW4gZ3JpZC1sYXlvdXQoXG4gICRuLFxuICAkc2VsZWN0b3I6ICcuY29sdW1uJyxcbiAgJGd1dHRlcjogbnVsbFxuKSB7XG4gICYgPiAjeyRzZWxlY3Rvcn0ge1xuICAgIGZsb2F0OiAkZ2xvYmFsLWxlZnQ7XG4gICAgd2lkdGg6IHBlcmNlbnRhZ2UoMS8kbik7XG5cbiAgICAvLyBJZiBhICRndXR0ZXIgdmFsdWUgaXMgcGFzc2VkXG4gICAgQGlmKCRndXR0ZXIpIHtcbiAgICAgIC8vIEd1dHRlcnNcbiAgICAgIEBpZiB0eXBlLW9mKCRndXR0ZXIpID09ICdtYXAnIHtcbiAgICAgICAgQGVhY2ggJGJyZWFrcG9pbnQsICR2YWx1ZSBpbiAkZ3V0dGVyIHtcbiAgICAgICAgICAkcGFkZGluZzogcmVtLWNhbGMoJHZhbHVlKSAvIDI7XG5cbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicmVha3BvaW50KSB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZztcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJHBhZGRpbmc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiB0eXBlLW9mKCRndXR0ZXIpID09ICdudW1iZXInIGFuZCBzdHJpcC11bml0KCRndXR0ZXIpID4gMCB7XG4gICAgICAgICRwYWRkaW5nOiByZW0tY2FsYygkZ3V0dGVyKSAvIDI7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lO1xuICAgIH1cblxuICAgICY6bnRoLW9mLXR5cGUoI3skbn1uKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogJGdsb2JhbC1sZWZ0O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBleHRyYSBDU1MgdG8gYmxvY2sgZ3JpZCBjaGlsZHJlbiBzbyB0aGUgbGFzdCBpdGVtcyBpbiB0aGUgcm93IGNlbnRlciBhdXRvbWF0aWNhbGx5LiBBcHBseSB0aGlzIHRvIHRoZSBjb2x1bW5zLCBub3QgdGhlIHJvdy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbiAtIE51bWJlciBvZiBpdGVtcyB0aGF0IGFwcGVhciBpbiBlYWNoIHJvdy5cbkBtaXhpbiBncmlkLWxheW91dC1jZW50ZXItbGFzdCgkbikge1xuICBAZm9yICRpIGZyb20gMSB0byAkbiB7XG4gICAgQGlmICRpID09IDEge1xuICAgICAgJjpudGgtY2hpbGQoI3skbn1uKzEpOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tbGVmdDogKDEwMCAtIDEwMC8kbiAqICRpKSAvIDIgKiAxJTtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJjpudGgtY2hpbGQoI3skbn1uKzEpOm50aC1sYXN0LWNoaWxkKCN7JGl9KSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAoMTAwIC0gMTAwLyRuICogJGkpIC8gMiAqIDElO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwKCQkiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZsZXgtZ3JpZFxuLy8vL1xuXG4vLy8gQ3JlYXRlcyBhIGNvbnRhaW5lciBmb3IgYSBmbGV4IGdyaWQgcm93LlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfExpc3R9ICRiZWhhdmlvciBbbnVsbF1cbi8vLyAgIE1vZGlmaWNhdGlvbnMgdG8gdGhlIGRlZmF1bHQgZ3JpZCBzdHlsZXMuIGBuZXN0YCBpbmRpY2F0ZXMgdGhlIHJvdyB3aWxsIGJlIHBsYWNlZCBpbnNpZGUgYW5vdGhlciByb3cuIGBjb2xsYXBzZWAgaW5kaWNhdGVzIHRoYXQgdGhlIGNvbHVtbnMgaW5zaWRlIHRoaXMgcm93IHdpbGwgbm90IGhhdmUgcGFkZGluZy4gYG5lc3QgY29sbGFwc2VgIGNvbWJpbmVzIGJvdGggYmVoYXZpb3JzLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFskZ3JpZC1yb3ctd2lkdGhdIE1heGltdW0gc2l6ZSBvZiB0aGUgcm93LiBTZXQgdG8gYGV4cGFuZGAgdG8gbWFrZSB0aGUgcm93IHRha2luZyB0aGUgZnVsbCB3aWR0aC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGNvbHVtbnMgW251bGxdIC0gTnVtYmVyIG9mIGNvbHVtbnMgdG8gdXNlIGZvciB0aGlzIHJvdy4gSWYgc2V0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpLCB0aGUgZ2xvYmFsIGNvbHVtbiBjb3VudCB3aWxsIGJlIHVzZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkYmFzZSBbdHJ1ZV0gLSBTZXQgdG8gYGZhbHNlYCB0byBwcmV2ZW50IGJhc2ljIHN0eWxlcyBmcm9tIGJlaW5nIG91dHB1dC4gVXNlZnVsIGlmIHlvdSdyZSBjYWxsaW5nIHRoaXMgbWl4aW4gb24gdGhlIHNhbWUgZWxlbWVudCB0d2ljZSwgYXMgaXQgcHJldmVudHMgZHVwbGljYXRlIENTUyBvdXRwdXQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkd3JhcCBbdHJ1ZV0gLSBTZXQgdG8gYGZhbHNlYCB0byBoYXZlIHJvdyB3cmFwcGluZyBiZWhhdmlvciBzZXQgdG8gbm93cmFwXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBHdXR0ZXIgbWFwIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2Ugd2hlbiBpbnZlcnRpbmcgbWFyZ2lucywgaW4gY2FzZSB0aGUgcm93IGlzIG5lc3RlZC4gUmVzcG9uc2l2ZSBndXR0ZXIgc2V0dGluZ3MgYnkgZGVmYXVsdC5cbkBtaXhpbiBmbGV4LWdyaWQtcm93KFxuICAkYmVoYXZpb3I6IG51bGwsXG4gICRzaXplOiAkZ3JpZC1yb3ctd2lkdGgsXG4gICRjb2x1bW5zOiBudWxsLFxuICAkYmFzZTogdHJ1ZSxcbiAgJHdyYXA6IHRydWUsXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgJG1hcmdpbjogYXV0bztcbiAgJHdyYXA6IGlmKCR3cmFwLCB3cmFwLCBub3dyYXApO1xuXG4gIEBpZiBpbmRleCgkYmVoYXZpb3IsIG5lc3QpICE9IG51bGwge1xuICAgIEBpbmNsdWRlIGdyaWQtcm93LW5lc3QoJGd1dHRlcnMpO1xuXG4gICAgQGlmIGluZGV4KCRiZWhhdmlvciwgY29sbGFwc2UpICE9IG51bGwge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdy1zaXplKCRzaXplKTtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cblxuICBAaWYgJGJhc2Uge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgJHdyYXA7XG4gIH1cblxuICBAaWYgJGNvbHVtbnMgIT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb250ZXh0KCRjb2x1bW5zLCAkYmFzZSkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBDYWxjdWxhdGVzIHRoZSBgZmxleGAgcHJvcGVydHkgZm9yIGEgZmxleCBncmlkIGNvbHVtbi4gSXQgYWNjZXB0cyBhbGwgb2YgdGhlIHNhbWUgdmFsdWVzIGFzIHRoZSBiYXNpYyBgZ3JpZC1jb2x1bW4oKWAgZnVuY3Rpb24sIGFsb25nIHdpdGggdHdvIGV4dHJhczpcbi8vLyAgIC0gYGV4cGFuZGAgKHRoZSBkZWZhdWx0KSB3aWxsIG1ha2UgdGhlIGNvbHVtbiBleHBhbmQgdG8gZmlsbCBzcGFjZS5cbi8vLyAgIC0gYHNocmlua2Agd2lsbCBtYWtlIHRoZSBjb2x1bW4gY29udHJhY3QsIHNvIGl0IG9ubHkgdGFrZXMgdXAgdGhlIGhvcml6b250YWwgc3BhY2UgaXQgbmVlZHMuXG4vLy9cbi8vLyBAcGFyYW0ge01peGVkfSAkY29sdW1ucyBbZXhwYW5kXSAtIFdpZHRoIG9mIHRoZSBjb2x1bW4uXG5AZnVuY3Rpb24gZmxleC1ncmlkLWNvbHVtbigkY29sdW1uczogZXhwYW5kKSB7XG4gICRmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuXG4gIEBpZiAkY29sdW1ucyA9PSBzaHJpbmsge1xuICAgICRmbGV4OiAwIDAgYXV0bztcbiAgfVxuICBAZWxzZSBpZiAkY29sdW1ucyAhPSBleHBhbmQge1xuICAgICRmbGV4OiAwIDAgZ3JpZC1jb2x1bW4oJGNvbHVtbnMpO1xuICB9XG5cbiAgQHJldHVybiAkZmxleDtcbn1cblxuLy8vIENyZWF0ZXMgYSBjb2x1bW4gZm9yIGEgZmxleCBncmlkLiBCeSBkZWZhdWx0LCB0aGUgY29sdW1uIHdpbGwgc3RyZXRjaCB0byB0aGUgZnVsbCB3aWR0aCBvZiBpdHMgY29udGFpbmVyLCBidXQgdGhpcyBjYW4gYmUgb3ZlcnJpZGRlbiB3aXRoIHNpemluZyBjbGFzc2VzLCBvciBieSB1c2luZyB0aGUgYHVuc3RhY2tgIGNsYXNzIG9uIHRoZSBwYXJlbnQgZmxleCByb3cuXG4vLy9cbi8vLyBAcGFyYW0ge01peGVkfSAkY29sdW1ucyBbZXhwYW5kXSAtIFdpZHRoIG9mIHRoZSBjb2x1bW4uIFJlZmVyIHRvIHRoZSBgZmxleC1ncmlkLWNvbHVtbigpYCBmdW5jdGlvbiB0byBzZWUgcG9zc2libGUgdmFsdWVzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycyB3aWR0aC4gU2VlIHRoZSBgZ3JpZC1jb2x1bW4tZ3V0dGVyYCBtaXhpbi5cbkBtaXhpbiBmbGV4LWdyaWQtY29sdW1uKFxuICAkY29sdW1uczogZXhwYW5kLFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIC8vIEJhc2UgcHJvcGVydGllc1xuICBAaW5jbHVkZSBmbGV4LWdyaWQtc2l6ZSgkY29sdW1ucyk7XG5cbiAgLy8gR3V0dGVyc1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1ndXR0ZXIoJGd1dHRlcnM6ICRndXR0ZXJzKTtcblxuICAvLyBmaXhlcyByZWNlbnQgQ2hyb21lIHZlcnNpb24gbm90IGxpbWl0aW5nIGNoaWxkIHdpZHRoXG4gIC8vIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzM0OTM0NTg2L3doaXRlLXNwYWNlLW5vd3JhcC1hbmQtZmxleGJveC1kaWQtbm90LXdvcmstaW4tY2hyb21lXG4gIEBpZiAkY29sdW1ucyA9PSBleHBhbmQge1xuICAgIG1pbi13aWR0aDogMDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGJsb2NrIGdyaWQgZm9yIGEgZmxleCBncmlkIHJvdy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbiAtIE51bWJlciBvZiBjb2x1bW5zIHRvIGRpc3BsYXkgb24gZWFjaCByb3cuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciAtIFNlbGVjdG9yIHRvIHVzZSB0byB0YXJnZXQgY29sdW1ucyB3aXRoaW4gdGhlIHJvdy5cbkBtaXhpbiBmbGV4LWdyaWQtbGF5b3V0KFxuICAkbixcbiAgJHNlbGVjdG9yOiAnLmNvbHVtbidcbikge1xuICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgPiAjeyRzZWxlY3Rvcn0ge1xuICAgICRwY3Q6IHBlcmNlbnRhZ2UoMS8kbik7XG5cbiAgICBmbGV4OiAwIDAgJHBjdDtcbiAgICBtYXgtd2lkdGg6ICRwY3Q7XG4gIH1cbn1cblxuLy8vIENoYW5nZXMgdGhlIHdpZHRoIGZsZXggZ3JpZCBjb2x1bW4uXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGNvbHVtbnMgW2V4cGFuZF0gLSBXaWR0aCBvZiB0aGUgY29sdW1uLiBSZWZlciB0byB0aGUgYGZsZXgtZ3JpZC1jb2x1bW4oKWAgZnVuY3Rpb24gdG8gc2VlIHBvc3NpYmxlIHZhbHVlcy5cbkBtaXhpbiBmbGV4LWdyaWQtc2l6ZSgkY29sdW1uczogbnVsbCkge1xuICAkY29sdW1uczogJGNvbHVtbnMgb3IgZXhwYW5kO1xuXG4gIGZsZXg6IGZsZXgtZ3JpZC1jb2x1bW4oJGNvbHVtbnMpO1xuXG4gIC8vIG1heC13aWR0aCBmaXhlcyBJRSAxMC8xMSBub3QgcmVzcGVjdGluZyB0aGUgZmxleC1iYXNpcyBwcm9wZXJ0eVxuICBAaWYgJGNvbHVtbnMgIT0gZXhwYW5kIGFuZCAkY29sdW1ucyAhPSBzaHJpbmsge1xuICAgIG1heC13aWR0aDogZ3JpZC1jb2x1bW4oJGNvbHVtbnMpO1xuICB9XG59XG5cblxuQG1peGluIGZvdW5kYXRpb24tZmxleC1ncmlkIHtcbiAgLy8gUm93XG4gIC5yb3cge1xuICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1yb3c7XG5cbiAgICAvLyBOZXN0aW5nIGJlaGF2aW9yXG4gICAgJiAucm93IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1yb3cobmVzdCwgJGJhc2U6IGZhbHNlKTtcblxuICAgICAgJi5jb2xsYXBzZSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRXhwYW5kZWQgcm93XG4gICAgJi5leHBhbmRlZCB7XG4gICAgICBAaW5jbHVkZSBncmlkLXJvdy1zaXplKGV4cGFuZCk7XG5cbiAgICAgIC5yb3cge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6bm90KC5leHBhbmRlZCkgLnJvdyB7XG4gICAgICBAaW5jbHVkZSBncmlkLXJvdy1zaXplKGV4cGFuZCk7XG4gICAgfVxuXG4gICAgJi5jb2xsYXBzZSB7XG4gICAgICA+IC5jb2x1bW4ge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1jb2xsYXBzZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBVbmRvIG5lZ2F0aXZlIG1hcmdpbnNcbiAgICAvLyBGcm9tIGNvbGxhcHNlZCBjaGlsZFxuICAgICYuaXMtY29sbGFwc2UtY2hpbGQsXG4gICAgJi5jb2xsYXBzZSA+IC5jb2x1bW4gPiAucm93IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIENvbHVtblxuICAuY29sdW1uIHtcbiAgICBAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uO1xuICB9XG5cbiAgLy8gQ29sdW1uIHJvd1xuICAvLyBUaGUgZG91YmxlIC5yb3cgY2xhc3MgaXMgbmVlZGVkIHRvIGJ1bXAgdXAgdGhlIHNwZWNpZmljaXR5XG4gIC5jb2x1bW4ucm93LnJvdyB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAvLyBUbyBwcm9wZXJseSBuZXN0IGEgY29sdW1uIHJvdywgcGFkZGluZyBhbmQgbWFyZ2luIGlzIHJlbW92ZWRcbiAgLnJvdyAuY29sdW1uLnJvdy5yb3cge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxuXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1uLWNvdW50IHtcbiAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgIC4jeyQtemYtc2l6ZX0tI3skaX0ge1xuICAgICAgICBmbGV4OiBmbGV4LWdyaWQtY29sdW1uKCRpKTtcbiAgICAgICAgbWF4LXdpZHRoOiBncmlkLWNvbHVtbigkaSk7XG4gICAgICB9XG5cbiAgICAgIC8vIE9mZnNldHNcbiAgICAgICRvOiAkaSAtIDE7XG5cbiAgICAgIC4jeyQtemYtc2l6ZX0tb2Zmc2V0LSN7JG99IHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tb2Zmc2V0KCRvKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBCbG9jayBncmlkXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkYmxvY2stZ3JpZC1tYXgge1xuICAgICAgLiN7JC16Zi1zaXplfS11cC0jeyRpfSB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1sYXlvdXQoJGkpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkLXpmLXNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgLy8gU2l6aW5nIChleHBhbmQpXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtc2l6ZSkge1xuICAgICAgICAuI3skLXpmLXNpemV9LWV4cGFuZCB7XG4gICAgICAgICAgZmxleDogZmxleC1ncmlkLWNvbHVtbigpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIEF1dG8tc3RhY2tpbmcvdW5zdGFja2luZ1xuICAgICAgQGF0LXJvb3QgKHdpdGhvdXQ6IG1lZGlhKSB7XG4gICAgICAgIC5yb3cuI3skLXpmLXNpemV9LXVuc3RhY2sge1xuICAgICAgICAgID4gLmNvbHVtbiB7XG4gICAgICAgICAgICBmbGV4OiBmbGV4LWdyaWQtY29sdW1uKDEwMCUpO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtc2l6ZSkge1xuICAgICAgICAgICAgICBmbGV4OiBmbGV4LWdyaWQtY29sdW1uKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gUmVzcG9uc2l2ZSBjb2xsYXBzaW5nXG4gICAgLiN7JC16Zi1zaXplfS1jb2xsYXBzZSB7XG4gICAgICA+IC5jb2x1bW4geyBAaW5jbHVkZSBncmlkLWNvbC1jb2xsYXBzZTsgfVxuICAgIH1cblxuICAgIC4jeyQtemYtc2l6ZX0tdW5jb2xsYXBzZSB7XG4gICAgICA+IC5jb2x1bW4geyBAaW5jbHVkZSBncmlkLWNvbC1ndXR0ZXIoJC16Zi1zaXplKTsgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFNpemluZyAoc2hyaW5rKVxuICAuc2hyaW5rIHtcbiAgICBmbGV4OiBmbGV4LWdyaWQtY29sdW1uKHNocmluayk7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLy8gQmxvY2sgZ3JpZCBjb2x1bW5zXG4gIC5jb2x1bW4tYmxvY2sge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uLW1hcmdpbjtcbiAgfVxuXG4gIC5jb2x1bW5zIHtcbiAgICBAZXh0ZW5kIC5jb2x1bW47IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgcGxhY2Vob2xkZXItaW4tZXh0ZW5kXG5cbiAgfVxufVxuIiwKCQkiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIEVuYWJsZXMgdGhlIFhZIGdyaWQuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHh5LWdyaWQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgbWF4aW11bSB3aWR0aCBvZiBhIGdyaWQgY29udGFpbmVyLlxuLy8vIEB0eXBlIE51bWJlclxuJGdyaWQtY29udGFpbmVyOiAkZ2xvYmFsLXdpZHRoICFkZWZhdWx0O1xuXG4vLy8gVGhlIG51bWJlciBvZiBjb2x1bW5zIHVzZWQgaW4gdGhlIGdyaWQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ3JpZC1jb2x1bW5zOiAxMiAhZGVmYXVsdDtcblxuLy8vIFRoZSBhbW91bnQgb2YgbWFyZ2luIGJldHdlZW4gY2VsbHMgYXQgZGlmZmVyZW50IHNjcmVlbiBzaXplcyB3aGVuIHVzaW5nIHRoZSBtYXJnaW4gZ3JpZC4gVG8gdXNlIGp1c3Qgb25lIHNpemUsIHNldCB0aGUgdmFyaWFibGUgdG8gYSBudW1iZXIgaW5zdGVhZCBvZiBhIG1hcC5cbi8vLyBAdHlwZSBNYXAgfCBMZW5ndGhcbiRncmlkLW1hcmdpbi1ndXR0ZXJzOiAoXG4gIHNtYWxsOiAyMHB4LFxuICBtZWRpdW06IDMwcHhcbikgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYW1vdW50IG9mIHBhZGRpbmcgaW4gY2VsbHMgYXQgZGlmZmVyZW50IHNjcmVlbiBzaXplcyB3aGVuIHVzaW5nIHRoZSBwYWRkaW5nIGdyaWQuIFRvIHVzZSBqdXN0IG9uZSBzaXplLCBzZXQgdGhlIHZhcmlhYmxlIHRvIGEgbnVtYmVyIGluc3RlYWQgb2YgYSBtYXAuXG4vLy8gQHR5cGUgTWFwIHwgTGVuZ3RoXG4kZ3JpZC1wYWRkaW5nLWd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzICFkZWZhdWx0O1xuXG4vLy8gVGhlIGFtb3VudCBvZiBwYWRkaW5nIHRvIHVzZSB3aGVuIHBhZGRpbmcgdGhlIGdyaWQtY29udGFpbmVyLlxuLy8vIEB0eXBlIE1hcCB8IExlbmd0aFxuJGdyaWQtY29udGFpbmVyLXBhZGRpbmc6ICRncmlkLXBhZGRpbmctZ3V0dGVycyAhZGVmYXVsdDtcblxuLy8vIFRoZSBtYXhpbXVtIHdpZHRoIHRvIGFwcGx5IHRvIGEgZ3JpZCBjb250YWluZXJcbi8vLyBAdHlwZSBOdW1iZXJcbiRncmlkLWNvbnRhaW5lci1tYXg6ICRnbG9iYWwtd2lkdGggIWRlZmF1bHQ7XG5cbi8vLyBUaGUgbWF4aW11bSBudW1iZXIgb2YgY2VsbHMgaW4gYW4gWFkgYmxvY2sgZ3JpZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiR4eS1ibG9jay1ncmlkLW1heDogOCAhZGVmYXVsdDtcblxuQGltcG9ydCAnZ3V0dGVycyc7XG5AaW1wb3J0ICdncmlkJztcbkBpbXBvcnQgJ2NlbGwnO1xuQGltcG9ydCAnZnJhbWUnO1xuQGltcG9ydCAncG9zaXRpb24nO1xuQGltcG9ydCAnbGF5b3V0JztcbkBpbXBvcnQgJ2NvbGxhcHNlJztcbkBpbXBvcnQgJ2NsYXNzZXMnO1xuIiwKCQkiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIENyZWF0ZSBndXR0ZXJzIGZvciBhIGNlbGwvY29udGFpbmVyLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFR5cGUgb2YgZ3V0dGVyIHRvIG91dHB1dC4gQWNjZXB0cyBlaXRoZXIgbWFyZ2luIG9yIHBhZGRpbmcuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtyaWdodCBsZWZ0XSAtIFRoZSBwb3NpdGlvbiB0byBhcHBseSBndXR0ZXJzIHRvLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRuZWdhdGl2ZSBbZmFsc2VdIC0gV2hldGhlciB0byBhcHBseSB0aGUgZ3V0dGVyIGFzIGEgbmVnYXRpdmUgdmFsdWUuIENvbW1vbmx5IHVzZWQgZm9yIG5lc3RlZCBncmlkcy5cbkBtaXhpbiB4eS1ndXR0ZXJzKFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiByaWdodCBsZWZ0LFxuICAkbmVnYXRpdmU6IGZhbHNlXG4pIHtcbiAgJG9wZXJhdG9yOiBpZigkbmVnYXRpdmUsICctJywgJycpO1xuXG4gIC8vIElmIHdlIGhhdmUgZGVjbGFyZWQgbmVnYXRpdmUgZ3V0dGVycywgZm9yY2UgdHlwZSB0byBgbWFyZ2luLlxuICAkZ3V0dGVyLXR5cGU6IGlmKCRuZWdhdGl2ZSwgJ21hcmdpbicsICRndXR0ZXItdHlwZSk7XG5cbiAgLy8gT3V0cHV0IG91ciBtYXJnaW4gZ3V0dGVycy5cbiAgQGlmICh0eXBlLW9mKCRndXR0ZXJzKSA9PSAnbWFwJykge1xuICAgIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKGF1dG8sICRndXR0ZXJzKSB7XG4gICAgICAkZ3V0dGVyOiByZW0tY2FsYygkLXpmLWJwLXZhbHVlKSAvIDI7XG5cbiAgICAgIC8vIExvb3AgdGhyb3VnaCBlYWNoIGd1dHRlciBwb3NpdGlvblxuICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICAjeyRndXR0ZXItdHlwZX0tI3skdmFsdWV9OiB1bnF1b3RlKFwiI3skb3BlcmF0b3J9I3skZ3V0dGVyfVwiKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgKHR5cGUtb2YoJGd1dHRlcnMpID09ICdudW1iZXInKSB7XG4gICAgJGd1dHRlcjogcmVtLWNhbGMoJGd1dHRlcnMpIC8gMjtcblxuICAgIC8vIExvb3AgdGhyb3VnaCBlYWNoIGd1dHRlciBwb3NpdGlvblxuICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICN7JGd1dHRlci10eXBlfS0jeyR2YWx1ZX06IHVucXVvdGUoXCIjeyRvcGVyYXRvcn0jeyRndXR0ZXJ9XCIpO1xuICAgIH1cbiAgfVxufVxuIiwKCQkiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIENyZWF0ZXMgYSBtYXggd2lkdGggY29udGFpbmVyLCBkZXNpZ25lZCB0byBob3VzZSB5b3VyIGdyaWQgY29udGVudC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWyRncmlkLWNvbnRhaW5lcl0gLSBhIHdpZHRoIHRvIGxpbWl0IHRoZSBjb250YWluZXIgdG8uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRwYWRkaW5nIFskZ3JpZC1jb250YWluZXItcGFkZGluZ10gLSBwYWRkaW5ncyBvZiB0aGUgY29udGFpbmVyLlxuQG1peGluIHh5LWdyaWQtY29udGFpbmVyKFxuICAkd2lkdGg6ICRncmlkLWNvbnRhaW5lcixcbiAgJHBhZGRpbmc6ICRncmlkLWNvbnRhaW5lci1wYWRkaW5nXG4pIHtcbiAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyczogJHBhZGRpbmcsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG5cbiAgbWF4LXdpZHRoOiAkd2lkdGg7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cbi8vLyBDcmVhdGVzIGEgY29udGFpbmVyIGZvciB5b3VyIGZsZXggY2VsbHMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXJlY3Rpb24gW2hvcml6b250YWxdIC0gRWl0aGVyIGhvcml6b250YWwgb3IgdmVydGljYWwgZGlyZWN0aW9uIG9mIGNlbGxzIHdpdGhpbi5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR3cmFwIFt0cnVlXSAtIElmIHRoZSBjZWxscyB3aXRoaW4gc2hvdWxkIHdyYXAgb3Igbm90LlxuQG1peGluIHh5LWdyaWQoXG4gICRkaXJlY3Rpb246IGhvcml6b250YWwsXG4gICR3cmFwOiB0cnVlXG4pIHtcbiAgJGRpcmVjdGlvbjogaWYoJGRpcmVjdGlvbiA9PSAnaG9yaXpvbnRhbCcsIHJvdywgY29sdW1uKTtcbiAgJHdyYXA6IGlmKCR3cmFwLCB3cmFwLCBub3dyYXApO1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogJGRpcmVjdGlvbiAkd3JhcDtcbn1cbiIsCgkJIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBSZXR1cm5zIHRoZSBhcHByb3ByaWF0ZSBDU1MgZmxleCB2YWx1ZSBmb3IgYSBjZWxsIGJhc2UuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQWNjZXB0cyBgZnVsbGAsIGBhdXRvYCwgYHNocmlua2AsIGBncm93YCwgb3IgYW55IG90aGVyIHZhbHVlIHJlcHJlc2VudGluZyBhIGNlbGwgc2l6ZSAoaXQgd2lsbCBiZSB0cmVhdGVkIGFzIGBzaHJpbmtgKS5cbi8vL1xuLy8vIEByZXR1cm5zIHtMaXN0fSBUaGUgY2VsbCBmbGV4IHByb3BlcnR5IHZhbHVlLlxuQGZ1bmN0aW9uIHh5LWNlbGwtYmFzZSgkc2l6ZTogZnVsbCkge1xuICBAaWYgKCRzaXplID09ICdhdXRvJykge1xuICAgIEByZXR1cm4gMSAxIDBweDtcbiAgfVxuICBAZWxzZSBpZiAoJHNpemUgPT0gJ2dyb3cnKSB7XG4gICAgQHJldHVybiAxIDAgYXV0bztcbiAgfVxuICBAZWxzZSBpZiAoJHNpemUgPT0gJ3Nocmluaycgb3IgJHNpemUgPT0gJ2Z1bGwnIG9yIHpmLWlzLWZyYWN0aW9uKCRzaXplLCAkYWxsb3ctbm8tZGVub21pbmF0b3I6IHRydWUpKSB7XG4gICAgQHJldHVybiAwIDAgYXV0bztcbiAgfVxuICBAcmV0dXJuIG51bGw7XG59XG5cbi8vLyBDYWxjdWxhdGUgdGhlIHNpemUgb2YgYSBjZWxsIGd1dHRlcnMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uIElmIGBhdXRvYCwgcmV0dXJucyB0aGUgcmVzcG9uc2l2ZSBndXR0ZXJzIG1hcCBgJGd1dHRlcnNgLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfE1hcH0gVGhlIGNlbGwgZ3V0dGVyIHNpemUgb3IgdGhlIHJlc3BvbnNpdmUgZ3V0dGVycyBtYXAuXG5AZnVuY3Rpb24geHktY2VsbC1ndXR0ZXJzKFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRicmVha3BvaW50OiBudWxsXG4pIHtcbiAgLy8gRm9yIGBhdXRvYCwgcmV0dXJucyB0aGUgcmVzcG9uc2l2ZSBtYXAgYCRndXR0ZXJzYC5cbiAgQGlmICgkYnJlYWtwb2ludCA9PSAnYXV0bycpIHtcbiAgICBAcmV0dXJuICRndXR0ZXJzO1xuICB9XG5cbiAgLy8gVXNlIHRoZSBjb250ZXh0dWFsIGJyZWFrcG9pbnQgYnkgZGVmYXVsdC5cbiAgJGJyZWFrcG9pbnQ6IC16Zi1jdXJyZW50LWJyZWFrcG9pbnQoJGJyZWFrcG9pbnQpO1xuXG4gIEBpZiAoJGJyZWFrcG9pbnQpIHtcbiAgICBAcmV0dXJuIC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkYnJlYWtwb2ludCk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gLXpmLWdldC1icC12YWwoJGd1dHRlcnMsICQtemYtemVyby1icmVha3BvaW50KSBvciAwO1xuICB9XG59XG5cbi8vLyBSZXR1cm5zIHRoZSBwZXJjZW50YWdlIHNpemUgb2YgYSBjZWxsLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJHNpemUgWyRncmlkLWNvbHVtbnNdIC0gU2l6ZSB0byBtYWtlIHRoZSBjZWxsLiBZb3UgY2FuIHBhc3MgYSB2YWx1ZSBpbiBtdWx0aXBsZSBmb3JtYXRzLCBzdWNoIGFzIGA2YCwgYDUwJWAsIGAxIG9mIDJgIG9yIGAxLzNgLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gU2l6ZSBvZiB0aGUgY2VsbCAoaW4gcGVyY2VudCkuXG5AZnVuY3Rpb24geHktY2VsbC1zaXplKFxuICAkc2l6ZTogJGdyaWQtY29sdW1uc1xuKSB7XG4gIEByZXR1cm4gZnJhY3Rpb24tdG8tcGVyY2VudGFnZSgkc2l6ZSwgJGRlbm9taW5hdG9yOiAkZ3JpZC1jb2x1bW5zKTtcbn1cblxuLy8vIFJldHVybnMgdGhlIGFwcHJvcHJpYXRlIENTUyB2YWx1ZSBmb3IgYSBjZWxsIHNpemUuXG4vLy9cbi8vLyBHdXR0ZXJzLXJlbGF0ZWQgYXJndW1lbnRzIGFyZSByZXF1aXJlZCBmb3IgY2VsbHMgd2l0aCBtYXJnaW4gZ3V0dGVycyAoYnkgZGVmYXVsdCkgYXMgdGhlIGd1dHRlciBpcyBpbmNsdWRlZCBpbiB0aGUgd2lkdGguXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIENhbiBiZSBgZnVsbGAsIGBhdXRvYCwgYHNocmlua2Agb3IgYW55IGZyYWN0aW9uIGxpa2UgYDZgLCBgNTAlYCwgYDEgb2YgMmAgb3IgYDEvMmAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFR5cGUgb2YgZ3V0dGVyIHRvIG91dHB1dC4gQWNjZXB0cyBgbWFyZ2luYCwgYHBhZGRpbmdgIG9yIGBub25lYC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiBgYXV0b2AsIHJldHVybnMgYSBtYXAgb2Ygc2l6ZXMgYWRhcHRlZCB0byByZXNwb25zaXZlIGd1dHRlcnMuIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ8U3RyaW5nfE1hcH0gVGhlIGNlbGwgc2l6aW5nIHByb3BlcnR5IHZhbHVlLCBvciBhIHJlc3BvbnNpdmUgbWFwIG9mIHRoZW0uXG5AZnVuY3Rpb24geHktY2VsbC1zaXplLWNzcyhcbiAgJHNpemU6IGZ1bGwsXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRicmVha3BvaW50OiBudWxsXG4pIHtcbiAgJG1hcmdpbi1ndXR0ZXI6IDA7XG5cbiAgQGlmICgkc2l6ZSA9PSAnYXV0bycgb3IgJHNpemUgPT0gJ3NocmluaycpIHtcbiAgICBAcmV0dXJuIGF1dG87XG4gIH1cblxuICAvLyBGb3IgY2VsbHMgd2l0aCBtYXJnaW4gZ3V0dGVycywgdGhlIGd1dHRlciBpcyBpbmNsdWRlZCBpbiB0aGUgd2lkdGguXG4gIEBpZiAoJGd1dHRlci10eXBlID09ICdtYXJnaW4nKSB7XG4gICAgJG1hcmdpbi1ndXR0ZXI6IHh5LWNlbGwtZ3V0dGVycygkZ3V0dGVycywgJGJyZWFrcG9pbnQpO1xuICAgIEBpZiAoJG1hcmdpbi1ndXR0ZXIgPT0gbnVsbCkge1xuICAgICAgQGVycm9yICd4eS1jZWxsLXNpemU6IG5vIGd1dHRlcnMgd2VyZSBmb3VuZCBpbiBgJGd1dHRlcnNgIGZvciBcIiRicmVha3BvaW50OiAjeyRicmVha3BvaW50fVwiJztcbiAgICB9XG4gIH1cblxuICAvLyBDYWxjdWxhdGUgdGhlIGNlbGwgc2l6ZSAobnVtYmVyKVxuICAkc2l6ZS1yYXc6IGlmKCRzaXplID09ICdmdWxsJywgMTAwJSwgeHktY2VsbC1zaXplKCRzaXplKSk7XG5cbiAgLy8gQ2FsY3VsYXRlIHRoZSBjZWxsIENTUyBzaXplIGluY2x1ZGluZyBndXR0ZXJzIChzdHJpbmcpXG4gIC8vIElmIHRoZSBjZWxsIGhhcyByZXNwb25zaXZlIG1hcmdpbiBndXR0ZXJzLCByZXR1cm4gYSByZXNwb25zaXZlIG1hcCBvZiBzaXplcy5cbiAgQGlmIHR5cGUtb2YoJG1hcmdpbi1ndXR0ZXIpID09ICdtYXAnIHtcbiAgICAkcmVzcG9uc2l2ZS1jc3Mtc2l6ZXM6ICgpO1xuXG4gICAgQGVhY2ggJGJwLCAkbWcgaW4gJG1hcmdpbi1ndXR0ZXIge1xuICAgICAgJHNpemUtY3NzOiBpZigkbWcgPT0gMCwgJHNpemUtcmF3LCBjYWxjKCN7JHNpemUtcmF3fSAtICN7cmVtLWNhbGMoJG1nKX0pKTtcbiAgICAgICRyZXNwb25zaXZlLWNzcy1zaXplczogbWFwLW1lcmdlKCRyZXNwb25zaXZlLWNzcy1zaXplcywgKCRicDogJHNpemUtY3NzKSk7XG4gICAgfVxuXG4gICAgQHJldHVybiAkcmVzcG9uc2l2ZS1jc3Mtc2l6ZXM7XG4gIH1cbiAgLy8gT3RoZXJ3aXNlLCByZXR1cm4gYSBzaW5nbGUgQ1NTIHNpemUuXG4gIEBlbHNlIHtcbiAgICAkY3NzLXNpemU6IGlmKCRtYXJnaW4tZ3V0dGVyID09IDAsICRzaXplLXJhdywgY2FsYygjeyRzaXplLXJhd30gLSAje3JlbS1jYWxjKCRtYXJnaW4tZ3V0dGVyKX0pKTtcbiAgICBAcmV0dXJuICRjc3Mtc2l6ZTtcbiAgfVxufVxuXG4vLy8gU2V0cyBiYXNlIGZsZXggcHJvcGVydGllcyBmb3IgY2VsbHMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQWNjZXB0cyBgZnVsbGAsIGBhdXRvYCwgYHNocmlua2AsIGBncm93YCwgb3IgYW55IG90aGVyIHZhbHVlIHJlcHJlc2VudGluZyBhIGNlbGwgc2l6ZSAoaXQgd2lsbCBiZSB0cmVhdGVkIGFzIGBzaHJpbmtgKS5cbkBtaXhpbiB4eS1jZWxsLWJhc2UoJHNpemU6IGZ1bGwpIHtcbiAgJGJhc2U6IHh5LWNlbGwtYmFzZSgkc2l6ZSk7XG5cbiAgZmxleDogI3skYmFzZX07XG5cbiAgLy8gU2V0IGJhc2Ugc3R5bGVzIGZvciBcImZ1bGxcIiBvbmx5XG4gIEBpZigkc2l6ZSA9PSAnZnVsbCcpIHtcbiAgICBtaW4taGVpZ2h0OiAwcHg7XG4gICAgbWluLXdpZHRoOiAwcHg7XG4gIH1cbn1cblxuLy8vIFJlc2V0cyBhIGNlbGxzIHdpZHRoIChvciBoZWlnaHQgaWYgdmVydGljYWwgaXMgdHJ1ZSkgYXMgd2VsbCBhcyBzdHJpcHMgaXRzIGd1dHRlcnMuXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gU2V0IHRvIHRydWUgdG8gb3V0cHV0IHZlcnRpY2FsIChoZWlnaHQpIHN0eWxlcyByYXRoZXIgdGhhbiB3aWR0aHMuXG5AbWl4aW4geHktY2VsbC1yZXNldCgkdmVydGljYWw6IHRydWUpIHtcbiAgJGRpcmVjdGlvbjogaWYoJHZlcnRpY2FsID09IHRydWUsIGhlaWdodCwgd2lkdGgpO1xuICAjeyRkaXJlY3Rpb259OiBhdXRvO1xuICBtYXgtI3skZGlyZWN0aW9ufTogbm9uZTtcbn1cblxuLy8vIFNldHMgc2l6aW5nIHByb3BlcnRpZXMgZm9yIGNlbGxzLlxuLy8vXG4vLy8gR3V0dGVycy1yZWxhdGVkIGFyZ3VtZW50cyBhcmUgcmVxdWlyZWQgZm9yIGNlbGxzIHdpdGggbWFyZ2luIGd1dHRlcnMgKGJ5IGRlZmF1bHQpIGFzIHRoZSBndXR0ZXIgaXMgaW5jbHVkZWQgaW4gdGhlIHdpZHRoLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgW2Z1bGxdIC0gVGhlIHNpemUgb2YgeW91ciBjZWxsLiBDYW4gYmUgYGZ1bGxgICgxMDAlIHdpZHRoKSwgYGF1dG9gICh1c2UgYWxsIGF2YWlsYWJsZSBzcGFjZSksIGBzaHJpbmtgICh1c2Ugb25seSB0aGUgcmVxdWlyZWQgc3BhY2UpIG9yIGFueSBmcmFjdGlvbiAoYDZgLCBgNTAlYCwgYDEgb2YgMmAgb3IgYDEvMmAuLi4pLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUeXBlIG9mIGd1dHRlciB0byBvdXRwdXQuIEFjY2VwdHMgYG1hcmdpbmAsIGBwYWRkaW5nYCBvciBgbm9uZWAuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgYGF1dG9gLCBnZW5lcmF0ZXMgc2l6ZXMgYWRhcHRlZCBmb3IgcmVzcG9uc2l2ZSBndXR0ZXJzLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuQG1peGluIHh5LWNlbGwtc2l6ZShcbiAgJHNpemU6IGZ1bGwsXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRicmVha3BvaW50OiBudWxsLFxuICAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgJHNpemVzOiB4eS1jZWxsLXNpemUtY3NzKCRzaXplLCAkZ3V0dGVycywgJGd1dHRlci10eXBlLCAkYnJlYWtwb2ludCk7XG4gICRkaXJlY3Rpb246IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCBoZWlnaHQsIHdpZHRoKTtcblxuICBAaWYgKHR5cGUtb2YoJHNpemVzKSA9PSAnbWFwJykge1xuICAgIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKGF1dG8sICRzaXplcykge1xuICAgICAgI3skZGlyZWN0aW9ufTogJC16Zi1icC12YWx1ZTtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgICN7JGRpcmVjdGlvbn06ICRzaXplcztcbiAgfVxufVxuXG4vLy8gU2V0cyBndXR0ZXJzIHByb3BlcnRpZXMgZm9yIGNlbGxzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFR5cGUgb2YgZ3V0dGVyIHRvIG91dHB1dC4gQWNjZXB0cyBgbWFyZ2luYCwgYHBhZGRpbmdgIG9yIGBub25lYC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW251bGxdIC0gVGhlIHBvc2l0aW9uIHRvIGFwcGx5IGd1dHRlcnMgdG8uIEFjY2VwdHMgYHRvcGAsIGBib3R0b21gLCBgbGVmdGAsIGByaWdodGAgaW4gYW55IGNvbWJpbmF0aW9uLiBCeSBkZWZhdWx0IGByaWdodCBsZWZ0YCBmb3IgaG9yaXpvbnRhbCBjZWxscyBhbmQgYHRvcCBib3R0b21gIGZvciB2ZXJ0aWNhbCBjZWxscy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiBgYXV0b2AsIGdlbmVyYXRlcyByZXNwb25zaXZlIGd1dHRlcnMuIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gRGlyZWN0aW9uIG9mIHRoZSBndXR0ZXJzIHRvIG91dHB1dC4gU2VlIGAkZ3V0dGVyLXBvc2l0aW9uYC5cbkBtaXhpbiB4eS1jZWxsLWd1dHRlcnMoXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IG51bGwsXG4gICRicmVha3BvaW50OiBudWxsLFxuICAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgLy8gR2V0IHRoZSBkZWZhdWx0IGd1dHRlciBwb3NpdGlvbiBhY2NvcmRpbmcgdG8gY2VsbCBkaXJlY3Rpb25cbiAgQGlmKCRndXR0ZXItcG9zaXRpb24gPT0gbnVsbCkge1xuICAgICRndXR0ZXItcG9zaXRpb246IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCB0b3AgYm90dG9tLCBsZWZ0IHJpZ2h0KTtcbiAgfVxuXG4gIC8vIEdldCB0aGUgZ3V0dGVyIHdpZHRoIGZvciB0aGlzIGJyZWFrcG9pbnRcbiAgJGd1dHRlci13aWR0aDogeHktY2VsbC1ndXR0ZXJzKCRndXR0ZXJzLCAkYnJlYWtwb2ludCk7XG4gIEBpZiAoJGd1dHRlci13aWR0aCA9PSBudWxsKSB7XG4gICAgQGVycm9yICd4eS1jZWxsLWd1dHRlcnM6IG5vIGd1dHRlcnMgd2VyZSBmb3VuZCBpbiBgJGd1dHRlcnNgIGZvciBcIiRicmVha3BvaW50OiAjeyRicmVha3BvaW50fVwiJztcbiAgfVxuXG4gIEBpZiAoJGd1dHRlci10eXBlIGFuZCAkZ3V0dGVyLXR5cGUgIT0gbm9uZSkge1xuICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlci13aWR0aCwgJGd1dHRlci10eXBlLCAkZ3V0dGVyLXBvc2l0aW9uKTtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGNlbGwgZm9yIHlvdXIgZ3JpZC5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQ2FuIGJlIGBmdWxsYCAoMTAwJSB3aWR0aCksIGBhdXRvYCAodXNlIGFsbCBhdmFpbGFibGUgc3BhY2UpLCBgc2hyaW5rYCAodXNlIG9ubHkgdGhlIHJlcXVpcmVkIHNwYWNlKSBvciBhbnkgZnJhY3Rpb24gKGA2YCwgYDUwJWAsIGAxIG9mIDJgIG9yIGAxLzJgLi4uKS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRndXR0ZXItb3V0cHV0IFtudWxsXSAtIFtERVBSRUNBVEVEXSBXaGV0aGVyIG9yIG5vdCB0byBvdXRwdXQgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVHlwZSBvZiBndXR0ZXIgdG8gb3V0cHV0LiBBY2NlcHRzIGBtYXJnaW5gLCBgcGFkZGluZ2Agb3IgYG5vbmVgLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbbnVsbF0gLSBUaGUgcG9zaXRpb24gdG8gYXBwbHkgZ3V0dGVycyB0by4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uIEJ5IGRlZmF1bHQgYHJpZ2h0IGxlZnRgIGZvciBob3Jpem9udGFsIGNlbGxzIGFuZCBgdG9wIGJvdHRvbWAgZm9yIHZlcnRpY2FsIGNlbGxzLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uIElmIGBhdXRvYCwgZ2VuZXJhdGVzIHJlc3BvbnNpdmUgZ3V0dGVycy4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbi8vLyBAcGFyYW0ge0xpc3R9ICRvdXRwdXQgWyhiYXNlIHNpemUgZ3V0dGVycyldIC0gQ2VsbCBwYXJ0cyB0byBvdXRwdXQuIFlvdSB3aWxsIG5lZWQgdG8gZ2VuZXJhdGUgb3RoZXJzIHBhcnRzIG9mIHRoZSBjZWxsIHNlcGVyYXRlbHksIGl0IG1heSBub3Qgd29yayBwcm9wZXJseSBvdGhlcndpc2UuXG5AbWl4aW4geHktY2VsbChcbiAgJHNpemU6IGZ1bGwsXG4gICRndXR0ZXItb3V0cHV0OiBudWxsLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiBudWxsLFxuICAkYnJlYWtwb2ludDogbnVsbCxcbiAgJHZlcnRpY2FsOiBmYWxzZSxcbiAgJG91dHB1dDogKGJhc2Ugc2l6ZSBndXR0ZXJzKVxuKSB7XG4gIC8vIERlZmF1bHQgZm9yICRndXR0ZXItb3V0cHV0XG4gIEBpZiAoJGd1dHRlci1vdXRwdXQgIT0gbnVsbCkge1xuICAgIEB3YXJuICd4eS1jZWxsOiAkZ3V0dGVyLW91dHB1dCBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQuIFNlZSBtaWdyYXRpb24gbm90ZXMgYXQgaHR0cHM6Ly9naXQuaW8vZm91bmRhdGlvbi02LTYtMCc7XG4gICAgQGlmICgkZ3V0dGVyLW91dHB1dCA9PSBmYWxzZSkge1xuICAgICAgJG91dHB1dDogc2wtcmVtb3ZlKCRvdXRwdXQsIGd1dHRlcnMpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoaW5kZXgoJG91dHB1dCwgYmFzZSkpIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2UoJHNpemUpO1xuICB9XG4gIEBpZiAoaW5kZXgoJG91dHB1dCwgc2l6ZSkpIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoJHNpemUsICRndXR0ZXJzLCAkZ3V0dGVyLXR5cGUsICRicmVha3BvaW50LCAkdmVydGljYWwpO1xuICB9XG4gIEBpZiAoaW5kZXgoJG91dHB1dCwgZ3V0dGVycykpIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWd1dHRlcnMoJGd1dHRlcnMsICRndXR0ZXItdHlwZSwgJGd1dHRlci1wb3NpdGlvbiwgJGJyZWFrcG9pbnQsICR2ZXJ0aWNhbCk7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBzaW5nbGUgYnJlYWtwb2ludCBzaXplZCBncmlkLiBVc2VkIHRvIGdlbmVyYXRlIG91ciBncmlkIGNsYXNzZXMuXG4vLy9cbi8vLyBgeHktY2VsbC1zdGF0aWMoKWAgaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkLlxuLy8vIFVzZSBgeHktY2VsbCgpYCBpbnN0ZWFkIHdpdGggYCRvdXRwdXQ6IChzaXplIGd1dHRlcnMpYCB0byBub3QgZ2VuZXJhdGUgdGhlIGNlbGwgYmFzZS5cbi8vLyBTZWUgbWlncmF0aW9uIG5vdGVzIGF0IGh0dHBzOi8vZ2l0LmlvL2ZvdW5kYXRpb24tNi02LTBcbi8vL1xuLy8vIEBkZXByZWNhdGVkIHY2LjYuMFxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgW2Z1bGxdIC0gVGhlIHNpemUgb2YgeW91ciBjZWxsLiBDYW4gYmUgYGZ1bGxgICgxMDAlIHdpZHRoKSwgYGF1dG9gICh1c2UgYWxsIGF2YWlsYWJsZSBzcGFjZSksIGBzaHJpbmtgICh1c2Ugb25seSB0aGUgcmVxdWlyZWQgc3BhY2UpIG9yIGFueSBmcmFjdGlvbiAoYDZgLCBgNTAlYCwgYDEgb2YgMmAgb3IgYDEvMmAuLi4pLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGd1dHRlci1vdXRwdXQgW3RydWVdIC0gV2hldGhlciBvciBub3QgdG8gb3V0cHV0IGd1dHRlcnMuIEFsd2F5cyBgdHJ1ZWAgZm9yIG1hcmdpbiBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gU2V0IHRvIHRydWUgdG8gb3V0cHV0IHZlcnRpY2FsIChoZWlnaHQpIHN0eWxlcyByYXRoZXIgdGhhbiB3aWR0aHMuXG5AbWl4aW4geHktY2VsbC1zdGF0aWMoXG4gICRzaXplOiBmdWxsLFxuICAkZ3V0dGVyLW91dHB1dDogdHJ1ZSxcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGJyZWFrcG9pbnQ6ICQtemYtemVyby1icmVha3BvaW50LFxuICAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgQHdhcm4gJ3h5LWNlbGwtc3RhdGljKCkgbWl4aW4gaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkLiBVc2UgXCJ4eS1jZWxsKClcIiBpbnN0ZWFkLiBTZWUgbWlncmF0aW9uIG5vdGVzIGF0IGh0dHBzOi8vZ2l0LmlvL2ZvdW5kYXRpb24tNi02LTAnO1xuXG4gICRndXR0ZXI6IC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkYnJlYWtwb2ludCk7XG4gICRndXR0ZXItcG9zaXRpb246IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCB0b3AgYm90dG9tLCBsZWZ0IHJpZ2h0KTtcblxuICAkLWd1dHRlci1vdXRwdXQ6IGlmKCRndXR0ZXItdHlwZSA9PSAnbWFyZ2luJywgdHJ1ZSwgJGd1dHRlci1vdXRwdXQpO1xuICAkLWd1dHRlci1tYXJnaW46IGlmKCRndXR0ZXItdHlwZSA9PSAnbWFyZ2luJywgJGd1dHRlciwgMCk7XG5cbiAgQGluY2x1ZGUgLXh5LWNlbGwtcHJvcGVydGllcygkc2l6ZSwgJC1ndXR0ZXItbWFyZ2luLCAkdmVydGljYWwpO1xuICBAaWYgKCQtZ3V0dGVyLW91dHB1dCkge1xuICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlciwgJGd1dHRlci10eXBlLCAkZ3V0dGVyLXBvc2l0aW9uKTtcbiAgfVxufVxuIiwKCQkiLy8vIE1vZGlmaWVzIGEgZ3JpZCB0byBnaXZlIGl0IFwiZnJhbWVcIiBiZWhhdmlvciAobm8gb3ZlcmZsb3csIG5vIHdyYXAsIHN0cmV0Y2ggYmVoYXZpb3IpXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gSXMgZ3JpZCB2ZXJ0aWNhbCBvciBob3Jpem9udGFsLiBTaG91bGQgbWF0Y2ggZ3JpZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRuZXN0ZWQgW2ZhbHNlXSAtIElzIGdyaWQgbmVzdGVkIG9yIG5vdC4gSWYgbmVzdGVkIGlzIHRydWUgdGhpcyBzZXRzIHRoZSBmcmFtZSB0byAxMDAlIGhlaWdodCwgb3RoZXJ3aXNlIHdpbGwgYmUgMTAwdmguXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbbnVsbF0gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkaW5jbHVkZS1iYXNlIFt0cnVlXSAtIEluY2x1ZGUgdGhlIGJhc2Ugc3R5bGVzIHRoYXQgZG9uJ3QgdmFyeSBwZXIgYnJlYWtwb2ludC5cbkBtaXhpbiB4eS1ncmlkLWZyYW1lKFxuICAkdmVydGljYWw6IGZhbHNlLFxuICAkbmVzdGVkOiBmYWxzZSxcbiAgJGd1dHRlcnM6IG51bGwsXG4gICRicmVha3BvaW50OiBudWxsLFxuICAkaW5jbHVkZS1iYXNlOiB0cnVlXG4pIHtcblxuICBAaWYgJGluY2x1ZGUtYmFzZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIH1cblxuICBAaWYgJGJyZWFrcG9pbnQgPT0gbnVsbCBhbmQgdHlwZS1vZigkZ3V0dGVycykgPT0gJ21hcCcge1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKCR2ZXJ0aWNhbCwgJG5lc3RlZCwgJGd1dHRlcnMsICQtemYtc2l6ZSwgZmFsc2UpO1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgLy8gR2V0IG91ciBndXR0ZXJzIGlmIGFwcGxpY2FibGVcbiAgICAkZ3V0dGVyOiAtemYtZ2V0LWJwLXZhbCgkZ3V0dGVycywgJGJyZWFrcG9pbnQpO1xuXG4gICAgLy8gSWYgd2UgaGF2ZSBhIGd1dHRlciwgYWRkIGl0IHRvIHRoZSB3aWR0aC9oZWlnaHRcbiAgICBAaWYgJGd1dHRlciB7XG4gICAgICBAaWYgJHZlcnRpY2FsID09IHRydWUge1xuICAgICAgICAkdW5pdDogaWYoJG5lc3RlZCA9PSB0cnVlLCAxMDAlLCAxMDB2aCk7XG4gICAgICAgICRndXR0ZXI6IHJlbS1jYWxjKCRndXR0ZXIpO1xuICAgICAgICBoZWlnaHQ6IGNhbGMoI3skdW5pdH0gKyAjeyRndXR0ZXJ9KTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkdW5pdDogaWYoJG5lc3RlZCA9PSB0cnVlLCAxMDAlLCAxMDB2dyk7XG4gICAgICAgICRndXR0ZXI6IHJlbS1jYWxjKCRndXR0ZXIpO1xuICAgICAgICB3aWR0aDogY2FsYygjeyR1bml0fSArICN7JGd1dHRlcn0pO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAaWYgJHZlcnRpY2FsID09IHRydWUge1xuICAgICAgICBoZWlnaHQ6IGlmKCRuZXN0ZWQgPT0gdHJ1ZSwgMTAwJSwgMTAwdmgpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIHdpZHRoOiBpZigkbmVzdGVkID09IHRydWUsIDEwMCUsIDEwMHZ3KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIE1vZGlmaWVzIGEgY2VsbCB0byBnaXZlIGl0IFwiYmxvY2tcIiBiZWhhdmlvciAob3ZlcmZsb3cgYXV0bywgaW5lcnRpYWwgc2Nyb2xsaW5nKVxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIElzIGdyaWQgdmVydGljYWwgb3IgaG9yaXpvbnRhbC4gU2hvdWxkIG1hdGNoIGdyaWQuXG5AbWl4aW4geHktY2VsbC1ibG9jayhcbiAgJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG4gICRwcm9wZXJ0eTogaWYoJHZlcnRpY2FsID09IHRydWUsICdvdmVyZmxvdy15JywgJ292ZXJmbG93LXgnKTtcblxuICBAaWYgJHZlcnRpY2FsID09IHRydWUge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICB9IEBlbHNlIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuXG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7XG59XG5cbi8vLyBDb250YWluZXIgZm9yIGluc2lkZSBhIGdyaWQgZnJhbWUgY29udGFpbmluZyBtdWx0aXBsZSBibG9ja3MuIFR5cGljYWxseSB1c2VkXG4vLy8gYXMgYSBtb2RpZmllciBmb3IgYSBgLmNlbGxgIHRvIGFsbG93IHRoZSBjZWxsIHRvIHBhc3MgYWxvbmcgZmxleCBzaXppbmdcbi8vLyBjb25zdHJhaW50cyAvIGZyb20gcGFyZW50cyB0byBjaGlsZHJlbi5cbkBtaXhpbiB4eS1jZWxsLWJsb2NrLWNvbnRhaW5lcigpIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWF4LWhlaWdodDogMTAwJTtcblxuICA+IC5ncmlkLXgge1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gIH1cbn1cbiIsCgkJIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBSZXR1cm5zIHRoZSBhcHByb3ByaWF0ZSBDU1MgdmFsdWUgdG8gb2Zmc2V0IGEgY2VsbC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRuIC0gU2l6ZSB0byBvZmZzZXQgYnkuIFlvdSBjYW4gcGFzcyBpbiBhbnkgdmFsdWUgYWNjZXB0ZWQgYnkgdGhlIGB4eS1jZWxsKClgIG1peGluLCBzdWNoIGFzIGA2YCwgYDUwJWAsIG9yIGAxIG9mIDJgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSBNYXAgb2YgZ3V0dGVycyBvciBzaW5nbGUgdmFsdWUgdG8gdXNlIGZvciByZXNwb25zaXZlIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gVGhlIHR5cGUgb2YgZ3V0dGVyIHRvIHVzZS4gQ2FuIGJlIGBtYXJnaW5gIG9yIGBwYWRkaW5nYFxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ8U3RyaW5nfSBUaGUgY2VsbCBvZmZzZXQgcHJvcGVydHkgdmFsdWUuXG5AZnVuY3Rpb24geHktY2VsbC1vZmZzZXQoXG4gICRuLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkYnJlYWtwb2ludDogbnVsbFxuKSB7XG4gICRicmVha3BvaW50OiAtemYtY3VycmVudC1icmVha3BvaW50KCRicmVha3BvaW50LCAkZGVmYXVsdDogJC16Zi16ZXJvLWJyZWFrcG9pbnQpO1xuICAkc2l6ZTogeHktY2VsbC1zaXplKCRuKTtcblxuICAkb2Zmc2V0OiAkc2l6ZTtcbiAgQGlmICgkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicpIHtcbiAgICAkZ3V0dGVyOiByZW0tY2FsYyh4eS1jZWxsLWd1dHRlcnMoJGd1dHRlcnMsICRicmVha3BvaW50KSAvIDIpO1xuICAgICRvZmZzZXQ6IGlmKCRndXR0ZXIgPT0gMCwgJHNpemUsIGNhbGMoI3skc2l6ZX0gKyAjeyRndXR0ZXJ9KSk7XG4gIH1cbiAgQHJldHVybiAkb2Zmc2V0O1xufVxuXG4vLy8gT2Zmc2V0cyBhIGNvbHVtbiB0byB0aGUgcmlnaHQvYm90dG9tIGJ5IGAkbmAgY29sdW1ucy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRuIC0gU2l6ZSB0byBvZmZzZXQgYnkuIFlvdSBjYW4gcGFzcyBpbiBhbnkgdmFsdWUgYWNjZXB0ZWQgYnkgdGhlIGB4eS1jZWxsKClgIG1peGluLCBzdWNoIGFzIGA2YCwgYDUwJWAsIG9yIGAxIG9mIDJgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSBNYXAgb2YgZ3V0dGVycyBvciBzaW5nbGUgdmFsdWUgdG8gdXNlIGZvciByZXNwb25zaXZlIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gVGhlIHR5cGUgb2YgZ3V0dGVyIHRvIHVzZS4gQ2FuIGJlIGBtYXJnaW5gIG9yIGBwYWRkaW5nYFxuLy8vIEBwYXJhbSB7TnVtYmVyfEFycmF5fEtleXdvcmR9ICRicmVha3BvaW50IFtudWxsXSAtIEJyZWFrcG9pbnQgdG8gdXNlIGZvciBgJGd1dHRlcnNgLiBJdCBjYW4gYmUgYSBicmVha3BvaW50IG5hbWUsIGxpc3Qgb2YgYnJlYWtwb2ludHMgb3IgYGF1dG9gIGZvciBhbGwgYnJlYWtwb2ludHMuIElmIGEgbGlzdCBpcyBnaXZlbiwgbWVkaWEtcXVlcmllcyB3aWxsIGJlIGdlbmVyYXRlZC4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gU2V0cyB0aGUgZGlyZWN0aW9uIG9mIHRoZSBvZmZzZXQuIElmIHNldCB0byB0cnVlIHdpbGwgYXBwbHkgbWFyZ2luLXRvcCBpbnN0ZWFkLlxuQG1peGluIHh5LWNlbGwtb2Zmc2V0KFxuICRuLFxuICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAkYnJlYWtwb2ludDogbnVsbCxcbiAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgJGJyZWFrcG9pbnQ6IC16Zi1jdXJyZW50LWJyZWFrcG9pbnQoJGJyZWFrcG9pbnQsICRkZWZhdWx0OiAkLXpmLXplcm8tYnJlYWtwb2ludCk7XG4gICRkaXJlY3Rpb246IGlmKCR2ZXJ0aWNhbCwgJ3RvcCcsICRnbG9iYWwtbGVmdCk7XG5cbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludC1pbigkYnJlYWtwb2ludCwgJG1lZGlhLXF1ZXJpZXM6ICdmb3ItbGlzdHMnKSB7XG4gICAgJG9mZnNldDogeHktY2VsbC1vZmZzZXQoJG4sICRndXR0ZXJzLCAkZ3V0dGVyLXR5cGUpO1xuICAgIG1hcmdpbi0jeyRkaXJlY3Rpb259OiAjeyRvZmZzZXR9O1xuICB9XG59XG4iLAoJCSIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gU2l6ZXMgY2hpbGQgZWxlbWVudHMgc28gdGhhdCBgJG5gIG51bWJlciBvZiBpdGVtcyBhcHBlYXIgb24gZWFjaCByb3cuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG4gLSBOdW1iZXIgb2YgZWxlbWVudHMgdG8gZGlzcGxheSBwZXIgcm93LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWycuY2VsbCddIC0gU2VsZWN0b3IocykgdG8gdXNlIGZvciBjaGlsZCBlbGVtZW50cy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRndXR0ZXItb3V0cHV0IFtudWxsXSAtIFtERVBSRUNBVEVEXSBXaGV0aGVyIG9yIG5vdCB0byBvdXRwdXQgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVHlwZSBvZiBndXR0ZXIgdG8gb3V0cHV0LiBBY2NlcHRzIGBtYXJnaW5gLCBgcGFkZGluZ2Agb3IgYG5vbmVgLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbbnVsbF0gLSBUaGUgcG9zaXRpb24gdG8gYXBwbHkgZ3V0dGVycyB0by4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uIEJ5IGRlZmF1bHQgYHJpZ2h0IGxlZnRgIGZvciBob3Jpem9udGFsIGNlbGxzIGFuZCBgdG9wIGJvdHRvbWAgZm9yIHZlcnRpY2FsIGNlbGxzLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgYnJlYWtwb2ludCB0byB1c2UgZm9yIHRoZSBjZWxsIGdlbmVyYXRpb24uIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gU2V0IHRvIHRydWUgdG8gb3V0cHV0IHZlcnRpY2FsIChoZWlnaHQpIHN0eWxlcyByYXRoZXIgdGhhbiB3aWR0aHMuXG4vLy8gQHBhcmFtIHtMaXN0fSAkb3V0cHV0IFsoYmFzZSBzaXplIGd1dHRlcnMpXSAtIENlbGwgcGFydHMgdG8gb3V0cHV0LiBZb3Ugd2lsbCBuZWVkIHRvIGdlbmVyYXRlIG90aGVycyBwYXJ0cyBvZiB0aGUgY2VsbCBzZXBlcmF0ZWx5LCBpdCBtYXkgbm90IHdvcmsgY29ycmVjdGx5IG90aGVyd2lzZS5cbkBtaXhpbiB4eS1ncmlkLWxheW91dChcbiAgJG4sXG4gICRzZWxlY3RvcjogJy5jZWxsJyxcbiAgJGd1dHRlci1vdXRwdXQ6IG51bGwsXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IG51bGwsXG4gICRicmVha3BvaW50OiBudWxsLFxuICAkdmVydGljYWw6IGZhbHNlLFxuICAkb3V0cHV0OiAoYmFzZSBzaXplIGd1dHRlcnMpXG4pIHtcbiAgJHNpemU6IHBlcmNlbnRhZ2UoMS8kbik7XG5cbiAgJiA+ICN7JHNlbGVjdG9yfSB7XG4gICAgQGluY2x1ZGUgeHktY2VsbCgkc2l6ZSwgJGd1dHRlci1vdXRwdXQsICRndXR0ZXJzLCAkZ3V0dGVyLXR5cGUsICRndXR0ZXItcG9zaXRpb24sICRicmVha3BvaW50LCAkdmVydGljYWwsICRvdXRwdXQpO1xuICB9XG59XG4iLAoJCSIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gQ29sbGFwc2VzIHRoZSBncmlkIGEgY2VsbHMgd2l0aGluIGl0LlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbLmNlbGxdIC0gVGhlIGNoaWxkIGVsZW1lbnQgdG8gcmVtb3ZlIHRoZSBndXR0ZXIgZnJvbS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFRoZSB0eXBlIG9mIGd1dHRlciB0byByZW1vdmUuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtyaWdodCBsZWZ0XSAtIFRoZSBwb3NpdGlvbnMgdG8gcmVtb3ZlIGd1dHRlcnMgZnJvbS4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkbWluLWJyZWFrcG9pbnQgWyQtemYtemVyby1icmVha3BvaW50XSAtIE1pbmltdW0gYnJlYWtwb2ludCBpbiBgJGJyZWFrcG9pbnQtY2xhc3Nlc2AgZm9yIHdoaWNoIHRvIGNvbGxhcHNlIHRoZSBndXR0ZXIuXG5AbWl4aW4geHktZ3JpZC1jb2xsYXBzZShcbiAgJHNlbGVjdG9yOiAnLmNlbGwnLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogcmlnaHQgbGVmdCxcbiAgJG1pbi1icmVha3BvaW50OiAkLXpmLXplcm8tYnJlYWtwb2ludFxuKSB7XG4gIC8vIEZpcnN0LCBsZXRzIG5lZ2F0ZSBhbnkgbWFyZ2lucyBvbiB0aGUgdG9wIGxldmVsXG4gIEBpZiAoJGd1dHRlci10eXBlID09ICdtYXJnaW4nKSB7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRtaW4tYnJlYWtwb2ludCkge1xuICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICBtYXJnaW4tI3skdmFsdWV9OiAwO1xuICAgICAgfVxuXG4gICAgICA+ICN7JHNlbGVjdG9yfSB7XG4gICAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgICBtYXJnaW4tI3skdmFsdWV9OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJGV4Y2x1ZGVkLWJwczogLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigkbWluLWJyZWFrcG9pbnQpO1xuXG4gICAgLy8gT3V0cHV0IG5ldyB3aWR0aHMgdG8gbm90IGluY2x1ZGUgZ3V0dGVyc1xuICAgIEBlYWNoICRicCBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpZihzbC1jb250YWluKCRleGNsdWRlZC1icHMsICRicCkpIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbWluLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAgICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICAgICAgICAgPiAuI3skYnB9LSN7JGl9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKCRpLCAkZ3V0dGVyLXR5cGU6IG5vbmUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwKSB7XG4gICAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgICAgICAgID4gLiN7JGJwfS0jeyRpfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZSgkaSwgJGd1dHRlci10eXBlOiBub25lKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbWluLWJyZWFrcG9pbnQpIHtcbiAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgbWFyZ2luLSN7JHZhbHVlfTogMDtcbiAgICAgIH1cblxuICAgICAgPiAjeyRzZWxlY3Rvcn0ge1xuICAgICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAgICAgcGFkZGluZy0jeyR2YWx1ZX06IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsCgkJIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vIE1hcmdpbiBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS1iYXNlLWdyaWQtY2xhc3NlcyB7XG5cbiAgLy8gR3JpZCBDb250YWluZXJcbiAgLmdyaWQtY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbnRhaW5lcjtcblxuICAgICYuZmx1aWQge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXIoMTAwJSk7XG4gICAgfVxuXG4gICAgJi5mdWxsIHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29udGFpbmVyKDEwMCUsIDApO1xuICAgIH1cbiAgfVxuXG4gIC8vIEJhc2UgZ3JpZCBzdHlsZXNcbiAgLmdyaWQteCB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZDtcbiAgfVxuXG4gIC5jZWxsIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsKGZ1bGwsICRndXR0ZXItdHlwZTogbm9uZSk7XG5cbiAgICAmLmF1dG8ge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKGF1dG8pO1xuICAgIH1cblxuICAgICYuc2hyaW5rIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShzaHJpbmspO1xuICAgIH1cblxuICB9XG4gIC5ncmlkLXgge1xuICAgID4gLmF1dG8ge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKGF1dG8sICRndXR0ZXItdHlwZTogbm9uZSk7XG4gICAgfVxuXG4gICAgPiAuc2hyaW5rIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZShzaHJpbmssICRndXR0ZXItdHlwZTogbm9uZSk7XG4gICAgfVxuICB9XG5cbiAgLy8gQXV0byB3aWR0aFxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgIC8vIFRoaXMgaXMgYSBiaXQgb2YgYSBoYWNrL3dvcmthcm91bmQsIHNlZSB0aGVzZSBpc3N1ZXMgJiBQUnMgZm9yIHRoZSBiYWNrc3Rvcnk6XG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZvdW5kYXRpb24vZm91bmRhdGlvbi1zaXRlcy9pc3N1ZXMvMTAyNDRcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZm91bmRhdGlvbi9mb3VuZGF0aW9uLXNpdGVzL3B1bGwvMTAyMjIgYW5kXG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZvdW5kYXRpb24vZm91bmRhdGlvbi1zaXRlcy9wdWxsLzEwMTY0XG4gICAgLmdyaWQteCB7XG4gICAgICAkc3RyOiBcIj4gLiN7JC16Zi1zaXplfS1zaHJpbmssID4gLiN7JC16Zi1zaXplfS1mdWxsXCI7XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAkc3RyOiAkc3RyICsgXCIsID4gLiN7JC16Zi1zaXplfS0jeyRpfVwiXG4gICAgICB9XG4gICAgICAjeyRzdHJ9IHtcbiAgICAgICAgZmxleC1iYXNpczogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgIC8vIFJlc3BvbnNpdmUgXCJhdXRvXCIgbW9kaWZpZXJcbiAgICBAaWYgbm90KCQtemYtc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAgICAgLmdyaWQteCA+IC4jeyQtemYtc2l6ZX0tYXV0byB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoYXV0bywgJGd1dHRlci10eXBlOiBub25lKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAlLXh5LWNlbGwtYmFzZS1zaHJpbmstaG9yaXpvbnRhbC0jeyQtemYtc2l6ZX0ge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKHNocmluayk7XG4gICAgfVxuXG4gICAgLy8gUmVzcG9uc2l2ZSBcInNocmlua1wiIG1vZGlmaWVyXG4gICAgQGlmIG5vdCgkLXpmLXNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgICAgIC5ncmlkLXggPiAuI3skLXpmLXNpemV9LXNocmluayB7XG4gICAgICAgIEBleHRlbmQgJS14eS1jZWxsLWJhc2Utc2hyaW5rLWhvcml6b250YWwtI3skLXpmLXNpemV9O1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoc2hyaW5rLCAkZ3V0dGVyLXR5cGU6IG5vbmUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFJlc3BvbnNpdmUgd2lkdGggbW9kaWZpZXJzXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgIC5ncmlkLXggPiAuI3skLXpmLXNpemV9LSN7JGl9IHtcbiAgICAgICAgQGV4dGVuZCAlLXh5LWNlbGwtYmFzZS1zaHJpbmstaG9yaXpvbnRhbC0jeyQtemYtc2l6ZX07XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZSgkaSwgJGd1dHRlci10eXBlOiBub25lKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCB3aWR0aCB3aGVuIHVzaW5nIGAuZ3JpZC1tYXJnaW4teGAgbm90IG9uIGAuZ3JpZC14YFxuICAuZ3JpZC1tYXJnaW4teDpub3QoLmdyaWQteCkgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cblxuICAvLyBSZXNldCBoZWlnaHQgd2hlbiB1c2luZyBgLmdyaWQtbWFyZ2luLXlgIG5vdCBvbiBgLmdyaWQteWBcbiAgLmdyaWQtbWFyZ2luLXk6bm90KC5ncmlkLXkpID4gLmNlbGwge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxufVxuXG5AbWl4aW4gLXh5LWJyZWFrcG9pbnQtY2VsbC1jbGFzc2VzKCRjbGFzcy1icmVha3BvaW50LCAkZ3V0dGVyLWJyZWFrcG9pbnQsICR2ZXJ0aWNhbCkge1xuICAkcHJlZml4OiBpZigkY2xhc3MtYnJlYWtwb2ludCA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCwgJycsICcjeyRjbGFzcy1icmVha3BvaW50fS0nKTtcbiAgPiAuI3skcHJlZml4fWF1dG8ge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZShhdXRvLCAkdmVydGljYWw6ICR2ZXJ0aWNhbCk7XG4gIH1cblxuICA+IC4jeyRwcmVmaXh9c2hyaW5rIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoc2hyaW5rLCAkdmVydGljYWw6ICR2ZXJ0aWNhbCk7XG4gIH1cblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAkY2xhc3NuYW1lOiBpZigkdmVydGljYWwsICcuI3skY2xhc3MtYnJlYWtwb2ludH0tI3skaX0nLCAnLiN7JGNsYXNzLWJyZWFrcG9pbnR9LSN7JGl9Jyk7XG5cbiAgICA+ICN7JGNsYXNzbmFtZX0ge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKCRpLCAkdmVydGljYWw6ICR2ZXJ0aWNhbCk7XG4gICAgfVxuICB9XG59XG5cbi8vIE1hcmdpbiBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS1tYXJnaW4tZ3JpZC1jbGFzc2VzKFxuICAkZ3V0dGVyLXBvc2l0aW9uOiBsZWZ0IHJpZ2h0LFxuICAkdmVydGljYWw6IGZhbHNlLFxuICAkd3JhcHBpbmctc2VsZWN0b3I6ICcuZ3JpZC1tYXJnaW4teCdcbil7XG4gICN7JHdyYXBwaW5nLXNlbGVjdG9yfSB7XG4gICAgQGluY2x1ZGUgeHktZ3V0dGVycygkbmVnYXRpdmU6IHRydWUsICRndXR0ZXItcG9zaXRpb246ICRndXR0ZXItcG9zaXRpb24pO1xuXG4gICAgLy8gQmFzZSBjZWxsIHN0eWxlc1xuICAgID4gLmNlbGwge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbCgkdmVydGljYWw6ICR2ZXJ0aWNhbCwgJG91dHB1dDogKHNpemUgZ3V0dGVycykpO1xuICAgIH1cblxuICAgIC8vIGJhc2Ugc3R5bGVzIG5lZWQgdG8gYWxsIGJlIGJlZm9yZSB0aGUgYXV0byBhbmQgc2hyaW5rIHN0eWxlc1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgICBAaWYodHlwZS1vZigkZ3JpZC1tYXJnaW4tZ3V0dGVycykgPT0gJ21hcCcgYW5kIG1hcC1oYXMta2V5KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkLXpmLXNpemUpIGFuZCAkLXpmLXNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgPiAuY2VsbCB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgkdmVydGljYWw6ICR2ZXJ0aWNhbCwgJG91dHB1dDogKHNpemUgZ3V0dGVycykpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcblxuICAgICAgLy8gVGhpcyBpcyBwdXJlbHkgZm9yIHJlc3BvbnNpdmUgZ3V0dGVycyAtIHRoZSBtYXJnaW4gZ3JpZCBoYXMgdG8gZ28gYmFjayBhbmQgYWRqdXN0IHdpZHRocyAob3IgaGVpZ2h0cylcbiAgICAgIC8vIGZvciBhbGwgcHJpb3IgYnJlYWtwb2ludHMuXG4gICAgICAvLyBBcyB0aGVpciBndXR0ZXIgaXMgZGVmaW5lZCB3aXRoIHRoZWlyIHdpZHRoL2hlaWdodCwgZXZlbiBicmVha3BvaW50IHdpdGhvdXQgYSBuZXcgbWFyZ2luIG11c3QgYmVcbiAgICAgIC8vIGdlbmVyYXRlZCB0byBub3QgaGF2aW5nIHRoZWlyIHdpZHRoL2hlaWdodCBvdmVycmlkZWQgYnkgcmUtYWRqdXN0ZWQgc21hbGxlciBicmVha3BvaW50cy5cbiAgICAgIEBpZih0eXBlLW9mKCRncmlkLW1hcmdpbi1ndXR0ZXJzKSA9PSAnbWFwJyBhbmQgbWFwLWhhcy1rZXkoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICQtemYtc2l6ZSkpIHtcbiAgICAgICAgQGVhY2ggJGJwIGluIC16Zi1icmVha3BvaW50cy1sZXNzLXRoYW4oJC16Zi1zaXplKSB7XG4gICAgICAgICAgQGluY2x1ZGUgLXh5LWJyZWFrcG9pbnQtY2VsbC1jbGFzc2VzKCRicCwgJC16Zi1zaXplLCAkdmVydGljYWwpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIC14eS1icmVha3BvaW50LWNlbGwtY2xhc3NlcygkLXpmLXNpemUsICQtemYtc2l6ZSwgJHZlcnRpY2FsKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gUGFkZGluZyBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS1wYWRkaW5nLWdyaWQtY2xhc3NlcyB7XG4gIC5ncmlkLXBhZGRpbmcteCB7XG5cbiAgICAvLyBOZWdhdGl2ZSBtYXJnaW4gZm9yIG5lc3RlZCBncmlkc1xuICAgIC5ncmlkLXBhZGRpbmcteCB7XG4gICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRuZWdhdGl2ZTogdHJ1ZSk7XG4gICAgfVxuXG4gICAgLy8gTmVnYXRpdmUgbWFyZ2luIGZvciBncmlkcyB3aXRoaW4gYGdyaWQtY29udGFpbmVyL2dyaWQtY29udGFpbmVyLmZsdWlkYFxuICAgIC8vIFRoaXMgYWxsb3dzIG1hcmdpbiBhbmQgcGFkZGluZyBncmlkcyB0byBsaW5lIHVwIHdpdGggZWFjaG90aGVyXG4gICAgLmdyaWQtY29udGFpbmVyOm5vdCguZnVsbCkgPiAmIHtcbiAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlKTtcbiAgICB9XG5cbiAgICAvLyBCYXNlIGNlbGwgc3R5bGVzXG4gICAgPiAuY2VsbCB7XG4gICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXJzOiAkZ3JpZC1wYWRkaW5nLWd1dHRlcnMsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG4gICAgfVxuICB9XG59XG5cbi8vIEJsb2NrIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LWJsb2NrLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQ6IHRydWUsICRwYWRkaW5nLWdyaWQ6IHRydWUpIHtcbiAgQGlmICRwYWRkaW5nLWdyaWQge1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkeHktYmxvY2stZ3JpZC1tYXgge1xuICAgICAgICAuI3skLXpmLXNpemV9LXVwLSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWxheW91dCgkbjogJGksICRzZWxlY3RvcjogJy5jZWxsJywgJGd1dHRlci10eXBlOiBwYWRkaW5nLCAkb3V0cHV0OiAoc2l6ZSkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICRtYXJnaW4tZ3JpZCB7XG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICR4eS1ibG9jay1ncmlkLW1heCB7XG4gICAgICAgIC8vIFRoaXMgaXMgcHVyZWx5IGZvciByZXNwb25zaXZlIGd1dHRlcnMgLSB0aGUgbWFyZ2luIGdyaWQgaGFzIHRvIGdvIGJhY2sgYW5kIGFkanVzdCB3aWR0aHMgKG9yIGhlaWdodHMpXG4gICAgICAgIC8vIGZvciBwcmlvciBicmVha3BvaW50cyBiYXNlZCBvbiB0aGUgcmVzcG9uc2l2ZSBndXR0ZXIuXG4gICAgICAgIEBpZih0eXBlLW9mKCRncmlkLW1hcmdpbi1ndXR0ZXJzKSA9PSAnbWFwJyBhbmQgbWFwLWhhcy1rZXkoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICQtemYtc2l6ZSkpIHtcbiAgICAgICAgICBAZWFjaCAkYnAgaW4gLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigkLXpmLXNpemUpIHtcbiAgICAgICAgICAgIEBpZihtYXAtaGFzLWtleSgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJGJwKSkge1xuICAgICAgICAgICAgICAuZ3JpZC1tYXJnaW4teC4jeyRicH0tdXAtI3skaX0ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtbGF5b3V0KCRuOiAkaSwgJHNlbGVjdG9yOiAnLmNlbGwnLCAkZ3V0dGVyLXR5cGU6IG1hcmdpbiwgJG91dHB1dDogKHNpemUpKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkeHktYmxvY2stZ3JpZC1tYXgge1xuICAgICAgICAuZ3JpZC1tYXJnaW4teC4jeyQtemYtc2l6ZX0tdXAtI3skaX0ge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtbGF5b3V0KCRuOiAkaSwgJHNlbGVjdG9yOiAnLmNlbGwnLCAkZ3V0dGVyLXR5cGU6IG1hcmdpbiwgJG91dHB1dDogKHNpemUpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBDb2xsYXBzZSBjbGFzc2VzXG5AbWl4aW4geHktY29sbGFwc2UtZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZDogdHJ1ZSwgJHBhZGRpbmctZ3JpZDogdHJ1ZSkge1xuICBAZWFjaCAkYnAgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGlmICRtYXJnaW4tZ3JpZCB7XG4gICAgICAuI3skYnB9LW1hcmdpbi1jb2xsYXBzZSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29sbGFwc2UoJGd1dHRlci10eXBlOiBtYXJnaW4sICRtaW4tYnJlYWtwb2ludDogJGJwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJHBhZGRpbmctZ3JpZCB7XG4gICAgICAuI3skYnB9LXBhZGRpbmctY29sbGFwc2Uge1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbGxhcHNlKCRndXR0ZXItdHlwZTogcGFkZGluZywgJG1pbi1icmVha3BvaW50OiAkYnApO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBPZmZzZXQgY2xhc3Nlc1xuQG1peGluIHh5LW9mZnNldC1jZWxsLWNsYXNzZXMge1xuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgLy8gT2Zmc2V0c1xuICAgICAgJG86ICRpIC0gMTtcblxuICAgICAgLiN7JC16Zi1zaXplfS1vZmZzZXQtI3skb30ge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLW9mZnNldCgkbywgJGd1dHRlcnM6ICRncmlkLXBhZGRpbmctZ3V0dGVycywgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcbiAgICAgIH1cblxuICAgICAgLmdyaWQtbWFyZ2luLXggPiAuI3skLXpmLXNpemV9LW9mZnNldC0jeyRvfSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtb2Zmc2V0KCRvKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gVmVydGljYWwgR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktdmVydGljYWwtZ3JpZC1jbGFzc2VzKFxuICAkbWFyZ2luLWdyaWQ6IHRydWUsXG4gICRwYWRkaW5nLWdyaWQ6IHRydWVcbikge1xuXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgQGlmIG5vdCgkLXpmLXNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgICB9XG4gIH1cblxuICAuZ3JpZC15IHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkKHZlcnRpY2FsLCBmYWxzZSk7XG5cblxuICAgID4gLmNlbGwge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1yZXNldCgpO1xuICAgIH1cblxuICAgID4gLmF1dG8ge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKGF1dG8sICRndXR0ZXItdHlwZTogbm9uZSwgJHZlcnRpY2FsOiB0cnVlKTtcbiAgICB9XG5cbiAgICA+IC5zaHJpbmsge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKHNocmluaywgJGd1dHRlci10eXBlOiBub25lLCAkdmVydGljYWw6IHRydWUpO1xuICAgIH1cblxuXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAgIC8vIFRoaXMgaXMgYSBiaXQgb2YgYSBoYWNrL3dvcmthcm91bmQsIHNlZSB0aGVzZSBpc3N1ZXMgYW5kIFBScyBmb3IgdGhlIGJhY2tzdG9yeTpcbiAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mb3VuZGF0aW9uL2ZvdW5kYXRpb24tc2l0ZXMvaXNzdWVzLzEwMjQ0XG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZm91bmRhdGlvbi9mb3VuZGF0aW9uLXNpdGVzL3B1bGwvMTAyMjIgYW5kXG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZm91bmRhdGlvbi9mb3VuZGF0aW9uLXNpdGVzL3B1bGwvMTAxNjRcbiAgICAgICRzdHI6IFwiPiAuI3skLXpmLXNpemV9LXNocmluaywgPiAuI3skLXpmLXNpemV9LWZ1bGxcIjtcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgICRzdHI6ICRzdHIgKyBcIiwgPiAuI3skLXpmLXNpemV9LSN7JGl9XCJcbiAgICAgIH1cbiAgICAgICN7JHN0cn0ge1xuICAgICAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgICAvLyBSZXNwb25zaXZlIFwiYXV0b1wiIG1vZGlmaWVyXG4gICAgICBAaWYgbm90KCQtemYtc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAgICAgICA+IC4jeyQtemYtc2l6ZX0tYXV0byB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbChhdXRvLCAkZ3V0dGVyLXR5cGU6IG5vbmUsICR2ZXJ0aWNhbDogdHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJS14eS1jZWxsLWJhc2Utc2hyaW5rLXZlcnRpY2FsLSN7JC16Zi1zaXplfSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShzaHJpbmspO1xuICAgICAgfVxuXG4gICAgICAvLyBSZXNwb25zaXZlIFwic2hyaW5rXCIgbW9kaWZpZXJcbiAgICAgIEBpZiBub3QoJC16Zi1zaXplID09ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gICAgICAgID4gLiN7JC16Zi1zaXplfS1zaHJpbmsge1xuICAgICAgICAgIEBleHRlbmQgJS14eS1jZWxsLWJhc2Utc2hyaW5rLXZlcnRpY2FsLSN7JC16Zi1zaXplfTtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoc2hyaW5rLCAkZ3V0dGVyLXR5cGU6IG5vbmUsICR2ZXJ0aWNhbDogdHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gUmVzcG9uc2l2ZSB3aWR0aCBtb2RpZmllcnNcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgICAgPiAuI3skLXpmLXNpemV9LSN7JGl9IHtcbiAgICAgICAgICBAZXh0ZW5kICUteHktY2VsbC1iYXNlLXNocmluay12ZXJ0aWNhbC0jeyQtemYtc2l6ZX07XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKCRpLCAkZ3V0dGVyLXR5cGU6IG5vbmUsICR2ZXJ0aWNhbDogdHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIH1cbiAgfVxuXG4gIEBpZiAkcGFkZGluZy1ncmlkIHtcbiAgICAuZ3JpZC1wYWRkaW5nLXkge1xuICAgICAgLy8gTmVnYXRpdmUgbWFyZ2luIGZvciBuZXN0ZWQgZ3JpZHNcbiAgICAgIC5ncmlkLXBhZGRpbmcteSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlLCAkZ3V0dGVyLXBvc2l0aW9uOiB0b3AgYm90dG9tKTtcbiAgICAgIH1cblxuICAgICAgLy8gQmFzZSBjZWxsIHN0eWxlc1xuICAgICAgPiAuY2VsbCB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlcnM6ICRncmlkLXBhZGRpbmctZ3V0dGVycywgJGd1dHRlci10eXBlOiBwYWRkaW5nLCAkZ3V0dGVyLXBvc2l0aW9uOiB0b3AgYm90dG9tKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgJG1hcmdpbi1ncmlkIHtcbiAgICBAaW5jbHVkZSB4eS1tYXJnaW4tZ3JpZC1jbGFzc2VzKHRvcCBib3R0b20sIHRydWUsICcuZ3JpZC1tYXJnaW4teScpO1xuICB9XG5cbn1cblxuQG1peGluIHh5LWZyYW1lLWdyaWQtY2xhc3NlcygkdmVydGljYWwtZ3JpZDogdHJ1ZSwgJG1hcmdpbi1ncmlkOiB0cnVlKSB7XG4gIC8vIEZyYW1lZCBncmlkIHN0eWxlc1xuICAuZ3JpZC1mcmFtZSB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZTtcbiAgfVxuXG4gIC5jZWxsIC5ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogMTAwJTsgLy8gU2FtZSBhcyBpbmNsdWRlIHdpdGggJG5lc3RlZCwgYnV0IHdpdGggbGVzcyBjc3NcbiAgfVxuXG4gIC5jZWxsLWJsb2NrIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrKCk7XG4gIH1cblxuICAuY2VsbC1ibG9jay15IHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrKHRydWUpO1xuICB9XG5cblxuICAuY2VsbC1ibG9jay1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2stY29udGFpbmVyKCk7XG4gIH1cblxuXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoZmFsc2UpIHtcblxuICAgIC4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lO1xuICAgIH1cblxuICAgIC5jZWxsIC4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICB3aWR0aDogMTAwJTsgLy8gU2FtZSBhcyBpbmNsdWRlIHdpdGggJG5lc3RlZCwgYnV0IHdpdGggbGVzcyBjc3NcbiAgICB9XG5cbiAgICAuI3skLXpmLXNpemV9LWNlbGwtYmxvY2sge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jaygpO1xuICAgIH1cblxuICAgIC4jeyQtemYtc2l6ZX0tY2VsbC1ibG9jay1jb250YWluZXIge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jay1jb250YWluZXIoKTtcbiAgICB9XG5cbiAgICAuI3skLXpmLXNpemV9LWNlbGwtYmxvY2steSB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrKHRydWUpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkdmVydGljYWwtZ3JpZCB7XG4gICAgLmdyaWQteSB7XG4gICAgICAmLmdyaWQtZnJhbWUge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSh0cnVlKTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludChmYWxzZSkge1xuICAgICAgICAmLiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKHRydWUpO1xuICAgICAgICB9XG5cbiAgICAgIH1cbiAgICB9XG4gICAgLmNlbGwge1xuICAgICAgLmdyaWQteS5ncmlkLWZyYW1lIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlOyAvLyBTYW1lIGFzIGluY2x1ZGUgd2l0aCAkbmVzdGVkLCBidXQgd2l0aCBsZXNzIGNzc1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludChmYWxzZSkge1xuICAgICAgICAuZ3JpZC15LiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7IC8vIFNhbWUgYXMgaW5jbHVkZSB3aXRoICRuZXN0ZWQsIGJ1dCB3aXRoIGxlc3MgY3NzXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGlmICRtYXJnaW4tZ3JpZCB7XG4gICAgQGluY2x1ZGUgeHktbWFyZ2luLWdyaWQtY2xhc3Nlcyh0b3AgYm90dG9tLCB0cnVlLCAnLmdyaWQtbWFyZ2luLXknKTtcbiAgICAuZ3JpZC1mcmFtZS5ncmlkLW1hcmdpbi15IHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWUodHJ1ZSwgZmFsc2UsICRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkaW5jbHVkZS1iYXNlOiBmYWxzZSk7XG4gICAgfVxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoZmFsc2UpIHtcbiAgICAgIC5ncmlkLW1hcmdpbi15LiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSh0cnVlLCBmYWxzZSwgJGdyaWQtbWFyZ2luLWd1dHRlcnMsICQtemYtc2l6ZSwgZmFsc2UpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBGaW5hbCBjbGFzc2VzXG5AbWl4aW4gZm91bmRhdGlvbi14eS1ncmlkLWNsYXNzZXMoXG4gICRiYXNlLWdyaWQ6IHRydWUsXG4gICRtYXJnaW4tZ3JpZDogdHJ1ZSxcbiAgJHBhZGRpbmctZ3JpZDogdHJ1ZSxcbiAgJGJsb2NrLWdyaWQ6IHRydWUsXG4gICRjb2xsYXBzZTogdHJ1ZSxcbiAgJG9mZnNldDogdHJ1ZSxcbiAgJHZlcnRpY2FsLWdyaWQ6IHRydWUsXG4gICRmcmFtZS1ncmlkOiB0cnVlXG4pIHtcblxuICAvLyBCYXNlIGdyaWQgc3R5bGVzXG4gIEBpZigkYmFzZS1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktYmFzZS1ncmlkLWNsYXNzZXMoKTtcbiAgfVxuXG4gIC8vIE1hcmdpbiBncmlkXG4gIEBpZigkbWFyZ2luLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1tYXJnaW4tZ3JpZC1jbGFzc2VzKCk7XG4gIH1cblxuICAvLyBQYWRkaW5nIGdyaWRcbiAgQGlmKCRwYWRkaW5nLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1wYWRkaW5nLWdyaWQtY2xhc3NlcygpO1xuICB9XG5cbiAgLy8gQmxvY2sgZ3JpZFxuICBAaWYoJGJsb2NrLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1ibG9jay1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkLCAkcGFkZGluZy1ncmlkKTtcbiAgfVxuXG4gIC8vIENvbGxhcHNlIGd1dHRlcnNcbiAgQGlmKCRjb2xsYXBzZSkge1xuICAgIEBpbmNsdWRlIHh5LWNvbGxhcHNlLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQsICRwYWRkaW5nLWdyaWQpO1xuICB9XG5cbiAgLy8gT2Zmc2V0IGd1dHRlcnNcbiAgQGlmKCRvZmZzZXQpIHtcbiAgICBAaW5jbHVkZSB4eS1vZmZzZXQtY2VsbC1jbGFzc2VzKCk7XG4gIH1cblxuICAvLyBWZXJ0aWNhbCBncmlkXG4gIEBpZigkdmVydGljYWwtZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LXZlcnRpY2FsLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQsICRwYWRkaW5nLWdyaWQpO1xuICB9XG5cbiAgQGlmICgkZnJhbWUtZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LWZyYW1lLWdyaWQtY2xhc3NlcygkdmVydGljYWwtZ3JpZCwgJG1hcmdpbi1ncmlkKVxuICB9XG59XG4iLAoJCSIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnV0dG9uXG4vLy8vXG5cbi8vLyBGb250IGZhbWlseSBmb3IgYnV0dG9uIGVsZW1lbnRzLlxuLy8vIEB0eXBlIEZvbnRcbiRidXR0b24tZm9udC1mYW1pbHk6IGluaGVyaXQgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBmb3IgYnV0dG9uIGVsZW1lbnRzLlxuLy8vIElnbm9yZWQgaWYgbnVsbCAoZGVmYXVsdClcbi8vLyBAdHlwZSBGb250LVdlaWdodFxuJGJ1dHRvbi1mb250LXdlaWdodDogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgaW5zaWRlIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1wYWRkaW5nOiAwLjg1ZW0gMWVtICFkZWZhdWx0O1xuXG4vLy8gTWFyZ2luIGFyb3VuZCBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZmlsbCBmb3IgYnV0dG9ucy4gQ2FuIGVpdGhlciBiZSBgc29saWRgIG9yIGBob2xsb3dgLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRidXR0b24tZmlsbDogc29saWQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRidXR0b24tYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9uIGhvdmVyIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIENvbG9yXG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRidXR0b24tYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogLTE1JSkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGNvbG9yIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEFsdGVybmF0aXZlIGZvbnQgY29sb3IgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1jb2xvci1hbHQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZm9yIGJ1dHRvbnMsIGRlZmF1bHRlZCB0byBnbG9iYWwtcmFkaXVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGZvciBidXR0b25zLCB0cmFuc3BhcmVudCBieSBkZWZhdWx0XG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1ib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciB3aWR0aCBmb3IgaG9sbG93IG91dGxpbmUgYnV0dG9uc1xuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1ob2xsb3ctYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG5cbi8vLyBTaXplcyBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBNYXBcbiRidXR0b24tc2l6ZXM6IChcbiAgdGlueTogMC42cmVtLFxuICBzbWFsbDogMC43NXJlbSxcbiAgZGVmYXVsdDogMC45cmVtLFxuICBsYXJnZTogMS4yNXJlbSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvcmluZyBjbGFzc2VzLiBBIG1hcCBvZiBjbGFzc2VzIHRvIG91dHB1dCBpbiB5b3VyIENTUywgbGlrZSBgLnNlY29uZGFyeWAsIGAuc3VjY2Vzc2AsIGFuZCBzbyBvbi5cbi8vLyBAdHlwZSBNYXBcbiRidXR0b24tcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZSAhZGVmYXVsdDtcblxuLy8vIG9wYWNpdHkgZm9yIGEgZGlzYWJsZWQgYnV0dG9uLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDogMC4yNSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgbGlnaHRuZXNzIG9uIGhvdmVyIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzczogLTIwJSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIGxpZ2h0bmVzcyBvbiBob3ZlciBmb3IgaG9sbG93IGJ1dHRvbnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3M6IC01MCUgIWRlZmF1bHQ7XG5cbi8vIEludGVybmFsOiBmbGlwIGZyb20gbWFyZ2luLXJpZ2h0IHRvIG1hcmdpbi1sZWZ0IGZvciBkZWZhdWx0c1xuQGlmICRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gJ3J0bCcge1xuICAkYnV0dG9uLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xufVxuXG4vLy8gdHJhbnNpdGlvbnMgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LCBjb2xvciAwLjI1cyBlYXNlLW91dCAhZGVmYXVsdDtcblxuLy8vIEFkZGl0aW9uYWwgcmVzcG9uc2l2ZSBjbGFzc2VzIGZvciAuZXhwYW5kZWRcbi8vLyBAdHlwZSBCb29sZWFuXG4kYnV0dG9uLXJlc3BvbnNpdmUtZXhwYW5kZWQ6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBUT0RPOiBEb2N1bWVudCBidXR0b24tYmFzZSgpIG1peGluXG5AbWl4aW4gYnV0dG9uLWJhc2Uge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luOiAkYnV0dG9uLW1hcmdpbjtcblxuICBAaWYgKHR5cGUtb2YoJGJ1dHRvbi1wYWRkaW5nKSA9PSAnbWFwJykge1xuICAgIEBlYWNoICRzaXplLCAkcGFkZGluZyBpbiAkYnV0dG9uLXBhZGRpbmcge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBwYWRkaW5nOiAkcGFkZGluZztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIHBhZGRpbmc6ICRidXR0b24tcGFkZGluZztcbiAgfVxuXG4gIGJvcmRlcjogJGJ1dHRvbi1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICB0cmFuc2l0aW9uOiAkYnV0dG9uLXRyYW5zaXRpb247XG4gIGZvbnQtZmFtaWx5OiAkYnV0dG9uLWZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6IG1hcC1nZXQoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCk7XG4gIGZvbnQtd2VpZ2h0OiAkYnV0dG9uLWZvbnQtd2VpZ2h0O1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeGVzXG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLy8vIEV4cGFuZHMgYSBidXR0b24gdG8gbWFrZSBpdCBmdWxsLXdpZHRoLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGV4cGFuZCBbdHJ1ZV0gLSBTZXQgdG8gYHRydWVgIHRvIGVuYWJsZSB0aGUgZXhwYW5kIGJlaGF2aW9yLiBTZXQgdG8gYGZhbHNlYCB0byByZXZlcnNlIHRoaXMgYmVoYXZpb3IuXG5AbWl4aW4gYnV0dG9uLWV4cGFuZCgkZXhwYW5kOiB0cnVlKSB7XG4gIEBpZiAkZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbiAgQGVsc2Uge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXJnaW46ICRidXR0b24tbWFyZ2luO1xuICB9XG59XG5cbi8vLyBTZXRzIHRoZSBiYXNlIHN0eWxlcyBvZiBhIGhvbGxvdyBvciBjbGVhciBidXR0b24gZmlsbGluZyBhY2NvcmRpbmcgdG8gYCRmaWxsYC5cbi8vLyBTZWUgbWl4aW4gYGJ1dHRvbi1maWxsLXN0eWxlYCBmb3IgdGhlIGZpbGxpbmcgc3R5bGVzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGZpbGwgWyRidXR0b24tZmlsbF0gLSBUeXBlIG9mIGZpbGxpbmcgYmV0d2VlbiBgaG9sbG93YCBhbmQgYGNsZWFyYC4gYHNvbGlkYCBoYXMgbm8gZWZmZWN0cy5cbkBtaXhpbiBidXR0b24tZmlsbChcbiAgJGZpbGw6ICRidXR0b24tZmlsbFxuKSB7XG4gIEBpZiAkZmlsbCA9PSBob2xsb3cge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3c7XG4gIH1cbiAgQGVsc2UgaWYgJGZpbGwgPT0gY2xlYXIge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1jbGVhcjtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgdmlzdWFsIHN0eWxlcyBvZiBhIHNvbGlkL2hvbGxvdy9jbGVhciBidXR0b24gZmlsbGluZyBhY2NvcmRpbmcgdG8gYCRmaWxsYC5cbi8vLyBTZWUgbWl4aW5zIGBidXR0b24tc3R5bGVgLCBgYnV0dG9uLWhvbGxvdy1zdHlsZWAgYW5kIGBidXR0b24tY2xlYXItc3R5bGVgIGZvciBlZmZlY3RzIG9mIHZpc3VhbCBzdHlsaW5nIHBhcmFtZXRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZmlsbCBbJGJ1dHRvbi1maWxsXSAtIFR5cGUgb2YgZmlsbGluZyBiZXR3ZWVuIGBob2xsb3dgIGFuZCBgY2xlYXJgLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gLVxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kLWhvdmVyIFskYnV0dG9uLWJhY2tncm91bmQtaG92ZXJdIC0gLVxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJ1dHRvbi1jb2xvcl0gLSAtXG5AbWl4aW4gYnV0dG9uLWZpbGwtc3R5bGUoXG4gICRmaWxsOiAkYnV0dG9uLWZpbGwsXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXIsXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvclxuKSB7XG4gIEBpZiAkZmlsbCA9PSBzb2xpZCB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiYWNrZ3JvdW5kLCAkYmFja2dyb3VuZC1ob3ZlciwgJGNvbG9yKTtcbiAgfVxuICBAZWxzZSBpZiAkZmlsbCA9PSBob2xsb3cge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGJhY2tncm91bmQpO1xuICB9XG4gIEBlbHNlIGlmICRmaWxsID09IGNsZWFyIHtcbiAgICBAaW5jbHVkZSBidXR0b24tY2xlYXItc3R5bGUoJGJhY2tncm91bmQpO1xuICB9XG59XG5cbi8vLyBTZXRzIHRoZSB2aXN1YWwgc3R5bGUgb2YgYSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRidXR0b24tYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQtaG92ZXIgWyRidXR0b24tYmFja2dyb3VuZC1ob3Zlcl0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24gb24gaG92ZXIuIFNldCB0byBgYXV0b2AgdG8gaGF2ZSB0aGUgbWl4aW4gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGhvdmVyIGNvbG9yLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJ1dHRvbi1jb2xvcl0gLSBUZXh0IGNvbG9yIG9mIHRoZSBidXR0b24uIFNldCB0byBgYXV0b2AgdG8gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGNvbG9yIGJhc2VkIG9uIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuQG1peGluIGJ1dHRvbi1zdHlsZShcbiAgJGJhY2tncm91bmQ6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRidXR0b24tYmFja2dyb3VuZC1ob3ZlcixcbiAgJGNvbG9yOiAkYnV0dG9uLWNvbG9yLFxuICAkYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3M6ICRidXR0b24tYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3Ncbikge1xuICBAaWYgJGNvbG9yID09IGF1dG8ge1xuICAgICRjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkYmFja2dyb3VuZCwgKCRidXR0b24tY29sb3IsICRidXR0b24tY29sb3ItYWx0KSk7XG4gIH1cblxuICBAaWYgJGJhY2tncm91bmQtaG92ZXIgPT0gYXV0byB7XG4gICAgJGJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRiYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAkYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3MpO1xuICB9XG5cbiAgLy8gRGVmYXVsdCBhbmQgZGlzYWJsZWQgc3RhdGVzXG4gICYsXG4gICYuZGlzYWJsZWQsICZbZGlzYWJsZWRdLFxuICAmLmRpc2FibGVkOmhvdmVyLCAmW2Rpc2FibGVkXTpob3ZlcixcbiAgJi5kaXNhYmxlZDpmb2N1cywgJltkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cblxuICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1ob3ZlcjtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG59XG5cbi8vLyBTZXRzIHRoZSBiYXNlIHN0eWxlcyBvZiBhIGhvbGxvdyBidXR0b24uXG4vLy8gU2VlIG1peGluIGBidXR0b24taG9sbG93LXN0eWxlYCBmb3IgdGhlIGZpbGxpbmcgc3R5bGVzLlxuQG1peGluIGJ1dHRvbi1ob2xsb3cge1xuICAmLCAmLmRpc2FibGVkLCAmW2Rpc2FibGVkXSB7XG4gICAgJiwgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIHZpc3VhbCBzdHlsZSBvZiBhIGhvbGxvdyBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYnV0dG9uLWJhY2tncm91bmRdIC0gVGV4dCBhbmQgYm9yZGVyIGNvbG9yIG9mIHRoZSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGhvdmVyLWxpZ2h0bmVzcyBbJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzXSAtIENvbG9yIGxpZ2h0bmVzcyBvbiBob3Zlci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYm9yZGVyLXdpZHRoIFskYnV0dG9uLWhvbGxvdy1ib3JkZXItd2lkdGhdIC0gQm9yZGVyIHdpZHRoIG9mIHRoZSBidXR0b24uXG5AbWl4aW4gYnV0dG9uLWhvbGxvdy1zdHlsZShcbiAgJGNvbG9yOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRob3Zlci1saWdodG5lc3M6ICRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzcyxcbiAgJGJvcmRlci13aWR0aDogJGJ1dHRvbi1ob2xsb3ctYm9yZGVyLXdpZHRoXG4pIHtcbiAgJGNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6ICRob3Zlci1saWdodG5lc3MpO1xuXG4gIC8vIERlZmF1bHQgYW5kIGRpc2FibGVkIHN0YXRlc1xuICAmLFxuICAmLmRpc2FibGVkLCAmW2Rpc2FibGVkXSxcbiAgJi5kaXNhYmxlZDpob3ZlciwgJltkaXNhYmxlZF06aG92ZXIsXG4gICYuZGlzYWJsZWQ6Zm9jdXMsICZbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgJGNvbG9yO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cblxuICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICRjb2xvci1ob3ZlcjtcbiAgICBjb2xvcjogJGNvbG9yLWhvdmVyO1xuICB9XG59XG5cbi8vLyBTZXRzIHRoZSBiYXNlIHN0eWxlcyBvZiBhIGNsZWFyIGJ1dHRvbi5cbi8vLyBTZWUgbWl4aW4gYGJ1dHRvbi1jbGVhci1zdHlsZWAgZm9yIHRoZSBmaWxsaW5nIHN0eWxlcy5cbkBtaXhpbiBidXR0b24tY2xlYXIge1xuICAmLCAmLmRpc2FibGVkLCAmW2Rpc2FibGVkXSB7XG4gICAgJiwgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBTZXRzIHRoZSB2aXN1YWwgc3R5bGUgb2YgYSBjbGVhciBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYnV0dG9uLWJhY2tncm91bmRdIC0gVGV4dCBjb2xvciBvZiB0aGUgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRob3Zlci1saWdodG5lc3MgWyRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzc10gLSBDb2xvciBsaWdodG5lc3Mgb24gaG92ZXIuXG5AbWl4aW4gYnV0dG9uLWNsZWFyLXN0eWxlKFxuICAkY29sb3I6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGhvdmVyLWxpZ2h0bmVzczogJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzXG4pIHtcbiAgJGNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6ICRob3Zlci1saWdodG5lc3MpO1xuXG4gIC8vIERlZmF1bHQgYW5kIGRpc2FibGVkIHN0YXRlc1xuICAmLFxuICAmLmRpc2FibGVkLCAmW2Rpc2FibGVkXSxcbiAgJi5kaXNhYmxlZDpob3ZlciwgJltkaXNhYmxlZF06aG92ZXIsXG4gICYuZGlzYWJsZWQ6Zm9jdXMsICZbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG5cbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRjb2xvci1ob3ZlcjtcbiAgfVxufVxuXG4vLy8gQWRkcyBkaXNhYmxlZCBzdHlsZXMgdG8gYSBidXR0b24gYnkgZmFkaW5nIHRoZSBlbGVtZW50IGFuZCByZXNldGluZyB0aGUgY3Vyc29yLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkb3BhY2l0eSBbJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkXSAtIE9wYWNpdHkgb2YgdGhlIGRpc2FibGVkIGJ1dHRvbi5cbkBtaXhpbiBidXR0b24tZGlzYWJsZWQoXG4gICRvcGFjaXR5OiAkYnV0dG9uLW9wYWNpdHktZGlzYWJsZWRcbikge1xuICBvcGFjaXR5OiAkYnV0dG9uLW9wYWNpdHktZGlzYWJsZWQ7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbi8vLyBBZGRzIGEgZHJvcGRvd24gYXJyb3cgdG8gYSBidXR0b24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzaXplIFswLjRlbV0gLSBTaXplIG9mIHRoZSBhcnJvdy4gV2UgcmVjb21tZW5kIHVzaW5nIGFuIGBlbWAgdmFsdWUgc28gdGhlIHRyaWFuZ2xlIHNjYWxlcyB3aGVuIHVzZWQgaW5zaWRlIGRpZmZlcmVudCBzaXplcyBvZiBidXR0b25zLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbd2hpdGVdIC0gQ29sb3Igb2YgdGhlIGFycm93LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkb2Zmc2V0IFskYnV0dG9uLXBhZGRpbmddIC0gRGlzdGFuY2UgYmV0d2VlbiB0aGUgYXJyb3cgYW5kIHRoZSB0ZXh0IG9mIHRoZSBidXR0b24uIERlZmF1bHRzIHRvIHdoYXRldmVyIHRoZSByaWdodCBwYWRkaW5nIG9mIGEgYnV0dG9uIGlzLlxuQG1peGluIGJ1dHRvbi1kcm9wZG93bihcbiAgJHNpemU6IDAuNGVtLFxuICAkY29sb3I6ICR3aGl0ZSxcbiAgJG9mZnNldDogZ2V0LXNpZGUoJGJ1dHRvbi1wYWRkaW5nLCByaWdodClcbikge1xuICAmOjphZnRlciB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRzaXplLCAkY29sb3IsIGRvd24pO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDAuNGVtOyAvLyBBbGlnbnMgdGhlIGFycm93IHdpdGggdGhlIHRleHQgb2YgdGhlIGJ1dHRvblxuXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZsb2F0OiAjeyRnbG9iYWwtcmlnaHR9O1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRvZmZzZXQ7XG4gIH1cbn1cblxuLy8vIEFkZHMgYWxsIHN0eWxlcyBmb3IgYSBidXR0b24uIEZvciBtb3JlIGdyYW51bGFyIGNvbnRyb2wgb3ZlciBzdHlsZXMsIHVzZSB0aGUgaW5kaXZpZHVhbCBidXR0b24gbWl4aW5zLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGV4cGFuZCBbZmFsc2VdIC0gU2V0IHRvIGB0cnVlYCB0byBtYWtlIHRoZSBidXR0b24gZnVsbC13aWR0aC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZC1ob3ZlciBbJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbiBvbiBob3Zlci4gU2V0IHRvIGBhdXRvYCB0byBoYXZlIHRoZSBtaXhpbiBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgaG92ZXIgY29sb3IuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYnV0dG9uLWNvbG9yXSAtIFRleHQgY29sb3Igb2YgdGhlIGJ1dHRvbi4gU2V0IHRvIGBhdXRvYCB0byBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgY29sb3IgYmFzZWQgb24gdGhlIGJhY2tncm91bmQgY29sb3IuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3R5bGUgW3NvbGlkXSAtIFNldCB0byBgaG9sbG93YCB0byBjcmVhdGUgYSBob2xsb3cgYnV0dG9uLiBUaGUgY29sb3IgZGVmaW5lZCBpbiBgJGJhY2tncm91bmRgIHdpbGwgYmUgdXNlZCBhcyB0aGUgcHJpbWFyeSBjb2xvciBvZiB0aGUgYnV0dG9uLlxuQG1peGluIGJ1dHRvbihcbiAgJGV4cGFuZDogZmFsc2UsXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXIsXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvcixcbiAgJHN0eWxlOiAkYnV0dG9uLWZpbGxcbikge1xuICBAaW5jbHVkZSBidXR0b24tYmFzZTtcbiAgQGluY2x1ZGUgYnV0dG9uLWZpbGwoJHN0eWxlKTtcbiAgQGluY2x1ZGUgYnV0dG9uLWZpbGwtc3R5bGUoJHN0eWxlLCAkYmFja2dyb3VuZCwgJGJhY2tncm91bmQtaG92ZXIsICRjb2xvcik7XG5cbiAgQGlmICRleHBhbmQge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tYnV0dG9uIHtcbiAgLmJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgYnV0dG9uKCRzdHlsZTogbm9uZSk7XG5cbiAgICAvLyBTaXplc1xuICAgIEBlYWNoICRzaXplLCAkdmFsdWUgaW4gbWFwLXJlbW92ZSgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KSB7XG4gICAgICAmLiN7JHNpemV9IHtcbiAgICAgICAgZm9udC1zaXplOiAkdmFsdWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5leHBhbmRlZCB7IEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7IH1cblxuICAgIEBpZiAkYnV0dG9uLXJlc3BvbnNpdmUtZXhwYW5kZWQge1xuICAgICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoI3skc2l6ZX0gb25seSkge1xuICAgICAgICAgICYuI3skc2l6ZX0tb25seS1leHBhbmRlZCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZXhwYW5kO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoI3skc2l6ZX0gZG93bikge1xuICAgICAgICAgICAgJi4jeyRzaXplfS1kb3duLWV4cGFuZGVkIHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCN7JHNpemV9KSB7XG4gICAgICAgICAgICAmLiN7JHNpemV9LWV4cGFuZGVkIHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTb2xpZCwgaG9sbG93ICYgY2xlYXIgc3R5bGVzXG4gICAgQGVhY2ggJGZpbGxpbmcgaW4gKHNvbGlkIGhvbGxvdyBjbGVhcikge1xuICAgICAgJHNlbGVjdG9yOiBpZigkYnV0dG9uLWZpbGwgPT0gJGZpbGxpbmcsIG51bGwsICcuI3skZmlsbGluZ30nKTtcblxuICAgICAgJiN7JHNlbGVjdG9yfSB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1maWxsKCRmaWxsaW5nKTtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWZpbGwtc3R5bGUoJGZpbGxpbmcpO1xuXG4gICAgICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1maWxsLXN0eWxlKCRmaWxsaW5nLCAkY29sb3IsIGF1dG8sIGF1dG8pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERpc2FibGVkIHN0YXRlXG4gICAgJi5kaXNhYmxlZCwgJltkaXNhYmxlZF0ge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLWRpc2FibGVkO1xuICAgIH1cblxuICAgIC8vIERyb3Bkb3duIGFycm93XG4gICAgJi5kcm9wZG93biB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZHJvcGRvd247XG5cbiAgICAgIEBpZiAkYnV0dG9uLWZpbGwgPT0gaG9sbG93IHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRidXR0b24tYmFja2dyb3VuZDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLmhvbGxvdywgJi5jbGVhciB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkYnV0dG9uLWJhY2tncm91bmQ7XG4gICAgICAgIH1cblxuICAgICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBCdXR0b24gd2l0aCBkcm9wZG93biBhcnJvdyBvbmx5XG4gICAgJi5hcnJvdy1vbmx5OjphZnRlciB7XG4gICAgICB0b3A6IC0wLjFlbTtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICB9XG4gIH1cblxuICBhLmJ1dHRvbiB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG59XG4iLAoJCSIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnV0dG9uLWdyb3VwXG4vLy8vXG5cbi8vLyBNYXJnaW4gZm9yIGJ1dHRvbiBncm91cHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uZ3JvdXAtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gTWFyZ2luIGJldHdlZW4gYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b25ncm91cC1zcGFjaW5nOiAxcHggIWRlZmF1bHQ7XG5cbi8vLyBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yOiAnLmJ1dHRvbicgIWRlZmF1bHQ7XG5cbi8vLyBNYXhpbXVtIG51bWJlciBvZiBidXR0b25zIHRoYXQgY2FuIGJlIGluIGFuIGV2ZW4td2lkdGggYnV0dG9uIGdyb3VwLiAoT25seSBuZWVkZWQgd2hlbiAkZ2xvYmFsLWZsZXhib3g6IGZhbHNlOylcbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b25ncm91cC1leHBhbmQtbWF4OiA2ICFkZWZhdWx0O1xuXG4vLy8gRGV0ZXJtaW5lcyBpZiAkYnV0dG9uLXJhZGl1cyBpcyBhcHBsaWVkIHRvIGVhY2ggYnV0dG9uIG9yIHRoZSBidXR0b24gZ3JvdXAgYXMgYSB3aG9sZS4gVXNlICRnbG9iYWwtcmFkaXVzIGluIF9zZXR0aW5ncy5zY3NzIHRvIGNoYW5nZSByYWRpdXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQWRkIHN0eWxlcyBmb3IgYSBidXR0b24gZ3JvdXAgY29udGFpbmVyLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkY2hpbGQtc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3BhY2luZyBbJGJ1dHRvbmdyb3VwLXNwYWNpbmddIC0gU3BhY2luZyBiZXR3ZWVuIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwKFxuICAkY2hpbGQtc2VsZWN0b3I6ICRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcixcbiAgJHNwYWNpbmc6ICRidXR0b25ncm91cC1zcGFjaW5nXG4pIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbi1ib3R0b206ICRidXR0b25ncm91cC1tYXJnaW47XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgZmxleC1ncm93OiAxO1xuXG4gICAgJjo6YmVmb3JlLFxuICAgICY6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IC8vIERpc2FibGUgY2xlYXJmaXhcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIGZvbnQtc2l6ZTogMDtcbiAgfVxuXG4gICN7JGNoaWxkLXNlbGVjdG9yfSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkc3BhY2luZztcbiAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZztcbiAgICBmb250LXNpemU6IG1hcC1nZXQoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCk7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICB9XG5cbiAgICBAaWYgbm90ICRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaCB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gTWFrZSBidXR0b25zIGJvbmRlZCB3aXRob3V0IGdhcCBiZXR3ZWVuIHRoZW0uIEJvcmRlcnMgYmV0d2VlbiBidXR0b25zIGFyZSBtZXJnZWRcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSBhIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAtbm8tZ2FwcyhcbiAgJHNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3IsXG4gICRib3JkZXItd2lkdGg6ICRidXR0b24taG9sbG93LWJvcmRlci13aWR0aFxuKSB7XG4gICN7JHNlbGVjdG9yfSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IHJlbS1jYWxjKC0kYm9yZGVyLXdpZHRoKTtcblxuICAgICsgI3skc2VsZWN0b3J9IHtcbiAgICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH0tY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGZ1bGwtd2lkdGggYnV0dG9uIGdyb3VwLCBtYWtpbmcgZWFjaCBidXR0b24gZXF1YWwgd2lkdGguXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgYSBidXR0b24gZ3JvdXAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzcGFjaW5nIFskYnV0dG9uZ3JvdXAtc3BhY2luZ10gLSBTcGFjaW5nIGJldHdlZW4gYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAtZXhwYW5kKFxuICAkc2VsZWN0b3I6ICRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcixcbiAgJHNwYWNpbmc6ICRidXR0b25ncm91cC1zcGFjaW5nLFxuICAkY291bnQ6IG51bGxcbikge1xuICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IC0kc3BhY2luZztcblxuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lOyAvLyBEaXNhYmxlIGNsZWFyZml4XG4gICAgfVxuICB9XG5cbiAgI3skc2VsZWN0b3J9IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIC8vIE9uZSBjaGlsZFxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtICN7JHNwYWNpbmd9KTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBUd28gb3IgbW9yZSBjaGlsZHJlZW5cbiAgICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXgge1xuICAgICAgICAmOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKCN7JGl9KSB7XG4gICAgICAgICAgJiwgJjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgjeyRpfSkgfiAjeyRzZWxlY3Rvcn0ge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoI3twZXJjZW50YWdlKDEgLyAkaSl9IC0gI3skc3BhY2luZ30pO1xuICAgICAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nO1xuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmcgKiAtJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBTdGFja3MgdGhlIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgdGhlIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAtc3RhY2soXG4gICRzZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXG4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG5cbiAgI3skc2VsZWN0b3J9IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICBAaWYgbm90ICRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaCB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gVW4tc3RhY2tzIHRoZSBidXR0b25zIGluIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIHRoZSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwLXVuc3RhY2soXG4gICRzZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXG4pIHtcbiAgI3skc2VsZWN0b3J9IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgIEBpZiBub3QgJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoIHtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAwO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1idXR0b24tZ3JvdXAge1xuICAuYnV0dG9uLWdyb3VwIHtcbiAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXA7XG5cbiAgICAvLyBTaXplc1xuICAgIEBlYWNoICRzaXplLCAkdmFsdWUgaW4gbWFwLXJlbW92ZSgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KSB7XG4gICAgICAmLiN7JHNpemV9ICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJHZhbHVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEV2ZW4td2lkdGggR3JvdXBcbiAgICAmLmV4cGFuZGVkIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1leHBhbmQ7XG4gICAgfVxuXG4gICAgLy8gU29saWQsIGhvbGxvdyAmIGNsZWFyIHN0eWxlc1xuICAgIEBlYWNoICRmaWxsaW5nIGluIChzb2xpZCBob2xsb3cgY2xlYXIpIHtcbiAgICAgICRiYXNlLXNlbGVjdG9yOiBpZigkYnV0dG9uLWZpbGwgPT0gJGZpbGxpbmcsIG51bGwsICcuI3skZmlsbGluZ30nKTtcblxuICAgICAgJiN7JGJhc2Utc2VsZWN0b3J9IHtcbiAgICAgICAgLy8gRG8gbm90IGdlbmVyYXRlIGJ1dHRvbiBiYXNlIHN0eWxlcyBmb3IgdGhlIGRlZmF1bHQgZmlsbGluZ1xuICAgICAgICBAaWYoJGJ1dHRvbi1maWxsICE9ICRmaWxsaW5nKSB7XG4gICAgICAgICAgI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1maWxsKCRmaWxsaW5nKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1maWxsLXN0eWxlKCRmaWxsaW5nKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICAgICAgJGluZGl2aWR1YWwtc2VsZWN0b3I6IGlmKCRidXR0b24tZmlsbCA9PSAkZmlsbGluZywgbnVsbCwgJyAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0uI3skbmFtZX0nKTtcblxuICAgICAgICAgICYuI3skbmFtZX0gI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9LCAjeyRpbmRpdmlkdWFsLXNlbGVjdG9yfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZmlsbC1zdHlsZSgkZmlsbGluZywgJGNvbG9yLCBhdXRvLCBhdXRvKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIH1cblxuICAgICYubm8tZ2FwcyB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtbm8tZ2FwcztcbiAgICB9XG5cbiAgICAmLnN0YWNrZWQsXG4gICAgJi5zdGFja2VkLWZvci1zbWFsbCxcbiAgICAmLnN0YWNrZWQtZm9yLW1lZGl1bSB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtc3RhY2s7XG5cbiAgICAgICYuZXhwYW5kZWQge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtZXhwYW5kO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuc3RhY2tlZC1mb3Itc21hbGwge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXVuc3RhY2s7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zdGFja2VkLWZvci1tZWRpdW0ge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtdW5zdGFjaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YWNrZWQtZm9yLXNtYWxsLmV4cGFuZGVkIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zdGFja2VkLWZvci1tZWRpdW0uZXhwYW5kZWQge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLAoJCSIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgY2xvc2UtYnV0dG9uXG4vLy8vXG5cbi8vLyBEZWZhdWx0IHBvc2l0aW9uIG9mIHRoZSBjbG9zZSBidXR0b24uIFRoZSBmaXJzdCB2YWx1ZSBzaG91bGQgYmUgYHJpZ2h0YCBvciBgbGVmdGAsIGFuZCB0aGUgc2Vjb25kIHZhbHVlIHNob3VsZCBiZSBgdG9wYCBvciBgYm90dG9tYC5cbi8vLyBAdHlwZSBMaXN0XG4kY2xvc2VidXR0b24tcG9zaXRpb246IHJpZ2h0IHRvcCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgei1pbmRleCBmb3IgYSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2xvc2VidXR0b24tei1pbmRleDogMTAgIWRlZmF1bHQ7XG5cbi8vLyBCdXR0b24gc2l6ZSB0byB1c2UgYXMgZGVmYXVsdFxuLy8vIEB0eXBlIFN0cmluZ1xuLy8vIEBzZWUgJGNsb3NlYnV0dG9uLXNpemVcbi8vLyBAc2VlICRjbG9zZWJ1dHRvbi1vZmZzZXQtaG9yaXpvbnRhbFxuLy8vIEBzZWUgJGNsb3NlYnV0dG9uLW9mZnNldC12ZXJ0aWNhbFxuJGNsb3NlYnV0dG9uLWRlZmF1bHQtc2l6ZTogbWVkaXVtICFkZWZhdWx0O1xuXG4vLy8gUmlnaHQgKG9yIGxlZnQpIG9mZnNldChzKSBmb3IgYSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgTnVtYmVyfE1hcFxuJGNsb3NlYnV0dG9uLW9mZnNldC1ob3Jpem9udGFsOiAoXG4gIHNtYWxsOiAwLjY2cmVtLFxuICBtZWRpdW06IDFyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gVG9wIChvciBib3R0b20pIG9mZnNldChzKSBmb3IgYSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgTnVtYmVyfE1hcFxuJGNsb3NlYnV0dG9uLW9mZnNldC12ZXJ0aWNhbDogKFxuICBzbWFsbDogMC4zM2VtLFxuICBtZWRpdW06IDAuNXJlbSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBTaXplKHMpIG9mIHRoZSBjbG9zZSBidXR0b24uIFVzZWQgdG8gZ2VuZXJhdGUgc2l6aW5nIG1vZGlmaWVycy5cbi8vLyBAdHlwZSBOdW1iZXJ8TWFwXG4kY2xvc2VidXR0b24tc2l6ZTogKFxuICBzbWFsbDogMS41ZW0sXG4gIG1lZGl1bTogMmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBsaW5lLWhlaWdodCBvZiB0aGUgY2xvc2UgYnV0dG9uLiBJdCBhZmZlY3RzIHRoZSBzcGFjaW5nIG9mIHRoZSBlbGVtZW50LlxuLy8vIEB0eXBlIE51bWJlclxuJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQ6IDEgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgQ29sb3JcbiRjbG9zZWJ1dHRvbi1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIGNsb3NlIGJ1dHRvbiB3aGVuIGJlaW5nIGhvdmVyZWQgb24uXG4vLy8gQHR5cGUgQ29sb3JcbiRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjogJGJsYWNrICFkZWZhdWx0O1xuXG5cbi8vLyBHZXQgdGhlIHNpemUgYW5kIHBvc2l0aW9uIGZvciBhIGNsb3NlIGJ1dHRvbi4gSWYgdGhlIGlucHV0IHZhbHVlIGlzIGEgbnVtYmVyLCB0aGUgbnVtYmVyIGlzIHJldHVybmVkLiBJZiB0aGUgaW5wdXQgdmFsdWUgaXMgYSBjb25maWcgbWFwIGFuZCB0aGUgbWFwIGhhcyB0aGUga2V5IGAkc2l6ZWAsIHRoZSB2YWx1ZSBpcyByZXR1cm5lZC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJHZhbHVlIC0gQSBudW1iZXIgb3IgbWFwIHRoYXQgcmVwcmVzZW50cyB0aGUgc2l6ZSBvciBwb3NpdGlvbiB2YWx1ZShzKSBvZiB0aGUgY2xvc2UgYnV0dG9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBUaGUgc2l6ZSBvZiB0aGUgY2xvc2UgYnV0dG9uIHRvIHVzZS5cbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn0gVGhlIGdpdmVuIG51bWJlciBvciB0aGUgdmFsdWUgZm91bmQgaW4gdGhlIG1hcC5cbkBmdW5jdGlvbiAtemYtZ2V0LXNpemUtdmFsKCR2YWx1ZSwgJHNpemUpIHtcbiAgLy8gQ2hlY2sgaWYgdGhlIHZhbHVlIGlzIGEgbnVtYmVyXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ251bWJlcicge1xuICAgIC8vIElmIGl0IGlzLCBqdXN0IHJldHVybiB0aGUgbnVtYmVyXG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH1cblxuICAvLyBDaGVjayBpZiB0aGUgc2l6ZSBuYW1lIGV4aXN0cyBpbiB0aGUgdmFsdWUgbWFwXG4gIEBlbHNlIGlmIG1hcC1oYXMta2V5KCR2YWx1ZSwgJHNpemUpIHtcbiAgICAvLyBJZiBpdCBkb2VzLCByZXR1cm4gdGhlIHZhbHVlXG4gICAgQHJldHVybiBtYXAtZ2V0KCR2YWx1ZSwgJHNpemUpO1xuICB9XG59XG5cbi8vLyBTZXRzIHRoZSBzaXplIGFuZCBwb3NpdGlvbiBvZiBhIGNsb3NlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIFttZWRpdW1dIC0gVGhlIHNpemUgdG8gdXNlLiBTZXQgdG8gYHNtYWxsYCB0byBjcmVhdGUgYSBzbWFsbCBjbG9zZSBidXR0b24uIFRoZSAnbWVkaXVtJyB2YWx1ZXMgZGVmaW5lZCBpbiBgJGNsb3NlYnV0dG9uLSpgIHZhcmlhYmxlcyB3aWxsIGJlIHVzZWQgYXMgdGhlIGRlZmF1bHQgc2l6ZSBhbmQgcG9zaXRpb24gb2YgdGhlIGNsb3NlIGJ1dHRvbi5cbkBtaXhpbiBjbG9zZS1idXR0b24tc2l6ZSgkc2l6ZSkge1xuICAkeDogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMSk7XG4gICR5OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAyKTtcblxuICAjeyR4fTogLXpmLWdldC1zaXplLXZhbCgkY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWwsICRzaXplKTtcbiAgI3skeX06IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLW9mZnNldC12ZXJ0aWNhbCwgJHNpemUpO1xuICBmb250LXNpemU6IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLXNpemUsICRzaXplKTtcbiAgbGluZS1oZWlnaHQ6IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQsICRzaXplKTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNsb3NlIGJ1dHRvbiwgdXNpbmcgdGhlIHN0eWxlcyBpbiB0aGUgc2V0dGluZ3MgdmFyaWFibGVzLlxuQG1peGluIGNsb3NlLWJ1dHRvbiB7XG4gICR4OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAxKTtcbiAgJHk6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDIpO1xuXG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAkY2xvc2VidXR0b24tei1pbmRleDtcbiAgY29sb3I6ICRjbG9zZWJ1dHRvbi1jb2xvcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkY2xvc2VidXR0b24tY29sb3ItaG92ZXI7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tY2xvc2UtYnV0dG9uIHtcbiAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgY2xvc2UtYnV0dG9uO1xuXG4gICAgLy8gR2VuZXJhdGUgYSBwbGFjZWhvbGRlciBhbmQgYSBjbGFzcyBmb3IgZWFjaCBzaXplXG4gICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRjbG9zZWJ1dHRvbi1zaXplIHtcbiAgICAgIEBhdC1yb290IHtcbiAgICAgICAgJXpmLWNsb3NlLWJ1dHRvbi0tI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGNsb3NlLWJ1dHRvbi1zaXplKCRuYW1lKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgQGV4dGVuZCAlemYtY2xvc2UtYnV0dG9uLS0jeyRuYW1lfTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBVc2UgYnkgZGVmYXVsdCB0aGUgcGxhY2Vob2xkZXIgb2YgdGhlIGRlZmF1bHQgc2l6ZVxuICAgIEBleHRlbmQgJXpmLWNsb3NlLWJ1dHRvbi0tI3skY2xvc2VidXR0b24tZGVmYXVsdC1zaXplfTtcbiAgfVxufVxuIiwKCQkiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGxhYmVsXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGxhYmVsLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsYWJlbC1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQWx0ZXJuYXRlIHRleHQgY29sb3IgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGxhYmVsLWNvbG9yLWFsdDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JpbmcgY2xhc3Nlcy4gQSBtYXAgb2YgY2xhc3NlcyB0byBvdXRwdXQgaW4geW91ciBDU1MsIGxpa2UgYC5zZWNvbmRhcnlgLCBgLnN1Y2Nlc3NgLCBhbmQgc28gb24uXG4vLy8gQHR5cGUgTWFwXG4kbGFiZWwtcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGFiZWwtZm9udC1zaXplOiAwLjhyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsYWJlbC1wYWRkaW5nOiAwLjMzMzMzcmVtIDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIG9mIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsYWJlbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gR2VuZXJhdGVzIGJhc2Ugc3R5bGVzIGZvciBhIGxhYmVsLlxuQG1peGluIGxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAkbGFiZWwtcGFkZGluZztcblxuICBib3JkZXItcmFkaXVzOiAkbGFiZWwtcmFkaXVzO1xuXG4gIGZvbnQtc2l6ZTogJGxhYmVsLWZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tbGFiZWwge1xuICAubGFiZWwge1xuICAgIEBpbmNsdWRlIGxhYmVsO1xuXG4gICAgYmFja2dyb3VuZDogJGxhYmVsLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRsYWJlbC1jb2xvcjtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGxhYmVsLXBhbGV0dGUge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICAgICAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGNvbG9yLCAoJGxhYmVsLWNvbG9yLCAkbGFiZWwtY29sb3ItYWx0KSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLAoJCSIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBwcm9ncmVzcyBiYXIgY29udGFpbmVyLlxuQG1peGluIHByb2dyZXNzLWNvbnRhaW5lciB7XG4gIGhlaWdodDogJHByb2dyZXNzLWhlaWdodDtcbiAgbWFyZ2luLWJvdHRvbTogJHByb2dyZXNzLW1hcmdpbi1ib3R0b207XG4gIGJvcmRlci1yYWRpdXM6ICRwcm9ncmVzcy1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1iYWNrZ3JvdW5kO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBpbm5lciBtZXRlciBvZiBhIHByb2dyZXNzIGJhci5cbkBtaXhpbiBwcm9ncmVzcy1tZXRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZ3Jlc3MtbWV0ZXItYmFja2dyb3VuZDtcblxuICBAaWYgaGFzLXZhbHVlKCRwcm9ncmVzcy1yYWRpdXMpIHtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRleHQgaW4gdGhlIHByb2dyZXNzIG1ldGVyLlxuQG1peGluIHByb2dyZXNzLW1ldGVyLXRleHQge1xuICBAaW5jbHVkZSBhYnNvbHV0ZS1jZW50ZXI7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICR3aGl0ZTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICBAaWYgaGFzLXZhbHVlKCRwcm9ncmVzcy1yYWRpdXMpIHtcbiAgICBib3JkZXItcmFkaXVzOiAkcHJvZ3Jlc3MtcmFkaXVzO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb2dyZXNzLWJhciB7XG4gIC8vIFByb2dyZXNzIGJhclxuICAucHJvZ3Jlc3Mge1xuICAgIEBpbmNsdWRlIHByb2dyZXNzLWNvbnRhaW5lcjtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgLnByb2dyZXNzLW1ldGVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBJbm5lciBtZXRlclxuICAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIEBpbmNsdWRlIHByb2dyZXNzLW1ldGVyO1xuICB9XG5cbiAgLy8gSW5uZXIgbWV0ZXIgdGV4dFxuICAucHJvZ3Jlc3MtbWV0ZXItdGV4dCB7XG4gICAgQGluY2x1ZGUgcHJvZ3Jlc3MtbWV0ZXItdGV4dDtcbiAgfVxufVxuIiwKCQkiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLyBbVE9ET10gQ2hlY2sgaG93IHBsdWdpbiBjb25maXJtcyBkaXNhYmxlZCBvciB2ZXJ0aWNhbCBzdGF0dXNcbi8vIFtUT0RPXSBDaGVjayBpZiB0cmFuc2l0aW9uOiBhbGw7IGlzIG5lY2Vzc2FyeVxuXG4vLy8vXG4vLy8gQGdyb3VwIHNsaWRlclxuLy8vL1xuXG4vLy8gRGVmYXVsdCBzbGlkZXIgd2lkdGggb2YgYSB2ZXJ0aWNhbCBzbGlkZXIuIChEb2Vzbid0IGFwcGx5IHRvIHRoZSBuYXRpdmUgc2xpZGVyLilcbi8vLyBAdHlwZSBOdW1iZXJcbiRzbGlkZXItd2lkdGgtdmVydGljYWw6IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIFRyYW5zaXRpb24gcHJvcGVydGllcyB0byBhcHBseSB0byB0aGUgc2xpZGVyIGhhbmRsZSBhbmQgZmlsbC4gKERvZXNuJ3QgYXBwbHkgdG8gdGhlIG5hdGl2ZSBzbGlkZXIuKVxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiRzbGlkZXItdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHRoZSBnZW5lcmFsIHN0eWxlcyBmb3Igc2xpZGVycy5cbkBtaXhpbiBzbGlkZXItY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6ICRzbGlkZXItaGVpZ2h0O1xuICBtYXJnaW4tdG9wOiAxLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAyLjI1cmVtO1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICRzbGlkZXItYmFja2dyb3VuZDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgdG91Y2gtYWN0aW9uOiBub25lO1xufVxuXG4vLy8gQWRkcyB0aGUgZ2VuZXJhbCBzdHlsZXMgZm9yIGFjdGl2ZSBmaWxsIGZvciBzbGlkZXJzLlxuQG1peGluIHNsaWRlci1maWxsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG5cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJHNsaWRlci1oZWlnaHQ7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJHNsaWRlci1maWxsLWJhY2tncm91bmQ7XG4gIHRyYW5zaXRpb246ICRzbGlkZXItdHJhbnNpdGlvbjtcblxuICAmLmlzLWRyYWdnaW5nIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMHMgbGluZWFyO1xuICB9XG59XG5cbi8vLyBBZGRzIHRoZSBnZW5lcmFsIHN0eWxlcyBmb3IgdGhlIHNsaWRlciBoYW5kbGVzLlxuQG1peGluIHNsaWRlci1oYW5kbGUge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIEBpbmNsdWRlIHZlcnRpY2FsLWNlbnRlcjtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTtcblxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAkc2xpZGVyLWhhbmRsZS13aWR0aDtcbiAgaGVpZ2h0OiAkc2xpZGVyLWhhbmRsZS1oZWlnaHQ7XG5cbiAgYm9yZGVyLXJhZGl1czogJHNsaWRlci1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQ7XG4gIHRyYW5zaXRpb246ICRzbGlkZXItdHJhbnNpdGlvbjtcbiAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogc2NhbGUtY29sb3IoJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogLTE1JSk7XG4gIH1cblxuICAmLmlzLWRyYWdnaW5nIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMHMgbGluZWFyO1xuICB9XG59XG5cbkBtaXhpbiBzbGlkZXItZGlzYWJsZWQge1xuICBvcGFjaXR5OiAkc2xpZGVyLW9wYWNpdHktZGlzYWJsZWQ7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbkBtaXhpbiBzbGlkZXItdmVydGljYWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAkc2xpZGVyLXdpZHRoLXZlcnRpY2FsO1xuICBoZWlnaHQ6IDEyLjVyZW07XG4gIG1hcmdpbjogMCAxLjI1cmVtO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEsIC0xKTtcblxuICAuc2xpZGVyLWZpbGwge1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogJHNsaWRlci13aWR0aC12ZXJ0aWNhbDtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICB9XG5cbiAgLnNsaWRlci1oYW5kbGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogNTAlO1xuICAgIHdpZHRoOiAkc2xpZGVyLWhhbmRsZS1oZWlnaHQ7XG4gICAgaGVpZ2h0OiAkc2xpZGVyLWhhbmRsZS13aWR0aDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tc2xpZGVyIHtcbiAgLy8gQ29udGFpbmVyXG4gIC5zbGlkZXIge1xuICAgIEBpbmNsdWRlIHNsaWRlci1jb250YWluZXI7XG4gIH1cblxuICAvLyBGaWxsIGFyZWFcbiAgLnNsaWRlci1maWxsIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItZmlsbDtcbiAgfVxuXG4gIC8vIERyYWdnYWJsZSBoYW5kbGVcbiAgLnNsaWRlci1oYW5kbGUge1xuICAgIEBpbmNsdWRlIHNsaWRlci1oYW5kbGU7XG4gIH1cblxuICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAuc2xpZGVyLmRpc2FibGVkLFxuICAuc2xpZGVyW2Rpc2FibGVkXSB7XG4gICAgQGluY2x1ZGUgc2xpZGVyLWRpc2FibGVkO1xuICB9XG5cbiAgLy8gVmVydGljYWwgc2xpZGVyXG4gIC5zbGlkZXIudmVydGljYWwge1xuICAgIEBpbmNsdWRlIHNsaWRlci12ZXJ0aWNhbDtcbiAgfVxuXG4gIC8vIFJUTCBzdXBwb3J0XG4gIEBpZiAkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCB7XG4gICAgLnNsaWRlcjpub3QoLnZlcnRpY2FsKSB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKC0xLCAxKTtcbiAgICB9XG4gIH1cbn1cbiIsCgkJIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBzd2l0Y2hcbi8vLy9cblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYSBzd2l0Y2guXG4vLy8gQHR5cGUgQ29sb3JcbiRzd2l0Y2gtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBhY3RpdmUgY29sb3Igb2YgYSBzd2l0Y2guXG4vLy8gQHR5cGUgQ29sb3JcbiRzd2l0Y2gtYmFja2dyb3VuZC1hY3RpdmU6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG9mIGEgc3dpdGNoLCB3aXRoIG5vIGNsYXNzIGFwcGxpZWQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLWhlaWdodDogMnJlbSAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBvZiBhIHN3aXRjaCB3aXRoIC50aW55IGNsYXNzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1oZWlnaHQtdGlueTogMS41cmVtICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG9mIGEgc3dpdGNoIHdpdGggLnNtYWxsIGNsYXNzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1oZWlnaHQtc21hbGw6IDEuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgb2YgYSBzd2l0Y2ggd2l0aCAubGFyZ2UgY2xhc3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLWhlaWdodC1sYXJnZTogMi41cmVtICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBvZiB0aGUgc3dpdGNoXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBib3JkZXIgYXJvdW5kIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLW1hcmdpbjogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgc3dpdGNoIGNvbnRhaW5lciBhbmQgcGFkZGxlLlxuLy8vIEB0eXBlIENvbG9yXG4kc3dpdGNoLXBhZGRsZS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gYSBzd2l0Y2ggcGFkZGxlIGFuZCB0aGUgZWRnZSBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtcGFkZGxlLW9mZnNldDogMC4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIGJvcmRlciByYWRpdXMgb2YgdGhlIHN3aXRjaCBwYWRkbGVcbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtcGFkZGxlLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBzd2l0Y2ggdHJhbnNpdGlvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dCAhZGVmYXVsdDtcblxuLy8vIE9wYWNpdHkgb2YgYSBkaXNhYmxlZCBzd2l0Y2guXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLW9wYWNpdHktZGlzYWJsZWQ6IC41ICFkZWZhdWx0O1xuXG4vLy8gQ3Vyc29yIGZvciBhIGRpc2FibGVkIHN3aXRjaC5cbi8vLyBAdHlwZSBDdXJzb3JcbiRzd2l0Y2gtY3Vyc29yLWRpc2FibGVkOiBub3QtYWxsb3dlZCAhZGVmYXVsdDtcblxuLy8gbWFrZSB0aGVtIHZhcmlhYmxlc1xuLy8gYXNrIGFib3V0IGFjY2Vzc2liaWxpdHkgb24gbGFiZWxcbi8vIGNoYW5nZSBjbGFzcyBuYW1lIGZvciB0ZXh0XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzd2l0Y2ggY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIGEgY29udGFpbmVyIGNsYXNzLlxuQG1peGluIHN3aXRjaC1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1ib3R0b206ICRzd2l0Y2gtbWFyZ2luO1xuICBvdXRsaW5lOiAwO1xuXG4gIC8vIFRoZXNlIHByb3BlcnRpZXMgY2FzY2FkZSBkb3duIHRvIHRoZSBzd2l0Y2ggdGV4dFxuICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAkd2hpdGU7XG5cbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzd2l0Y2ggaW5wdXQuIEFwcGx5IHRoaXMgdG8gYW4gYDxpbnB1dD5gIHdpdGhpbiBhIHN3aXRjaC5cbkBtaXhpbiBzd2l0Y2gtaW5wdXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGJhY2tncm91bmQgYW5kIHBhZGRsZSBvZiBhIHN3aXRjaC4gQXBwbHkgdGhpcyB0byBhIGA8bGFiZWw+YCB3aXRoaW4gYSBzd2l0Y2guXG5AbWl4aW4gc3dpdGNoLXBhZGRsZSB7XG4gICRzd2l0Y2gtd2lkdGg6ICRzd2l0Y2gtaGVpZ2h0ICogMjtcbiAgJHBhZGRsZS1oZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0IC0gKCRzd2l0Y2gtcGFkZGxlLW9mZnNldCAqIDIpO1xuICAkcGFkZGxlLXdpZHRoOiAkc3dpdGNoLWhlaWdodCAtICgkc3dpdGNoLXBhZGRsZS1vZmZzZXQgKiAyKTtcbiAgJHBhZGRsZS1hY3RpdmUtb2ZmZXN0OiAkc3dpdGNoLXdpZHRoIC0gJHBhZGRsZS13aWR0aCAtICRzd2l0Y2gtcGFkZGxlLW9mZnNldDtcblxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogJHN3aXRjaC13aWR0aDtcbiAgaGVpZ2h0OiAkc3dpdGNoLWhlaWdodDtcblxuICBib3JkZXItcmFkaXVzOiAkc3dpdGNoLXJhZGl1cztcbiAgYmFja2dyb3VuZDogJHN3aXRjaC1iYWNrZ3JvdW5kO1xuICB0cmFuc2l0aW9uOiAkc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uO1xuXG4gIC8vIFJlc2V0dGluZyB0aGVzZSA8bGFiZWw+IHByZXNldHMgc28gdHlwZSBzdHlsZXMgY2FzY2FkZSBkb3duXG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICBjb2xvcjogaW5oZXJpdDtcblxuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgLy8gTmVlZGVkIHRvIG92ZXJyaWRlIHNwZWNpZmljaXR5XG4gIGlucHV0ICsgJiB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLy8gVGhlIHBhZGRsZSBpdHNlbGZcbiAgJjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6ICRzd2l0Y2gtcGFkZGxlLW9mZnNldDtcbiAgICAjeyRnbG9iYWwtbGVmdH06ICRzd2l0Y2gtcGFkZGxlLW9mZnNldDtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAkcGFkZGxlLXdpZHRoO1xuICAgIGhlaWdodDogJHBhZGRsZS1oZWlnaHQ7XG5cbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIGJvcmRlci1yYWRpdXM6ICRzd2l0Y2gtcGFkZGxlLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kOiAkc3dpdGNoLXBhZGRsZS1iYWNrZ3JvdW5kO1xuICAgIHRyYW5zaXRpb246ICRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb247XG4gICAgY29udGVudDogJyc7XG4gIH1cblxuICAvLyBDaGFuZ2UgdGhlIHZpc3VhbCBzdHlsZSB3aGVuIHRoZSBzd2l0Y2ggaXMgYWN0aXZlXG4gIGlucHV0OmNoZWNrZWQgfiAmIHtcbiAgICBiYWNrZ3JvdW5kOiAkc3dpdGNoLWJhY2tncm91bmQtYWN0aXZlO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgI3skZ2xvYmFsLWxlZnR9OiAkcGFkZGxlLWFjdGl2ZS1vZmZlc3Q7XG4gICAgfVxuICB9XG5cbiAgLy8gaW5kaWNhdGUgYSBkaXNhYmxlZCBzd2l0Y2hcbiAgaW5wdXQ6ZGlzYWJsZWQgfiAmIHtcbiAgICBjdXJzb3I6ICRzd2l0Y2gtY3Vyc29yLWRpc2FibGVkO1xuICAgIG9wYWNpdHk6ICRzd2l0Y2gtb3BhY2l0eS1kaXNhYmxlZDtcbiAgfVxuXG4gIGlucHV0OmZvY3VzIH4gJiB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICB9XG59XG5cbi8vLyBBZGRzIGJhc2Ugc3R5bGVzIGZvciBhY3RpdmUvaW5hY3RpdmUgdGV4dCBpbnNpZGUgYSBzd2l0Y2guIEFwcGx5IHRoaXMgdG8gdGV4dCBlbGVtZW50cyBpbnNpZGUgdGhlIHN3aXRjaCBgPGxhYmVsPmAuXG5AbWl4aW4gc3dpdGNoLXRleHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGFjdGl2ZSBzdGF0ZSB0ZXh0IHdpdGhpbiBhIHN3aXRjaC5cbkBtaXhpbiBzd2l0Y2gtdGV4dC1hY3RpdmUge1xuICAjeyRnbG9iYWwtbGVmdH06IDglO1xuICBkaXNwbGF5OiBub25lO1xuXG4gIGlucHV0OmNoZWNrZWQgKyBsYWJlbCA+ICYge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGluYWN0aXZlIHN0YXRlIHRleHQgd2l0aGluIGEgc3dpdGNoLlxuQG1peGluIHN3aXRjaC10ZXh0LWluYWN0aXZlIHtcbiAgI3skZ2xvYmFsLXJpZ2h0fTogMTUlO1xuXG4gIGlucHV0OmNoZWNrZWQgKyBsYWJlbCA+ICYge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLy8vIENoYW5nZXMgdGhlIHNpemUgb2YgYSBzd2l0Y2ggYnkgbW9kaWZ5aW5nIHRoZSBzaXplIG9mIHRoZSBib2R5IGFuZCBwYWRkbGUuIEFwcGx5IHRoaXMgdG8gYSBzd2l0Y2ggY29udGFpbmVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZm9udC1zaXplIFsxcmVtXSAtIEZvbnQgc2l6ZSBvZiBsYWJlbCB0ZXh0IHdpdGhpbiB0aGUgc3dpdGNoLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3dpdGNoLWhlaWdodCBbMnJlbV0gLSBIZWlnaHQgb2YgdGhlIHN3aXRjaCBib2R5LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcGFkZGxlLW9mZnNldCBbMC4yNXJlbV0gLSBTcGFjaW5nIGJldHdlZW4gdGhlIHN3aXRjaCBwYWRkbGUgYW5kIHRoZSBlZGdlIG9mIHRoZSBzd2l0Y2ggYm9keS5cbkBtaXhpbiBzd2l0Y2gtc2l6ZShcbiAgJGZvbnQtc2l6ZTogMXJlbSxcbiAgJHN3aXRjaC1oZWlnaHQ6IDJyZW0sXG4gICRwYWRkbGUtb2Zmc2V0OiAwLjI1cmVtXG4pIHtcblxuICAkc3dpdGNoLXdpZHRoOiAkc3dpdGNoLWhlaWdodCAqIDI7XG4gICRwYWRkbGUtd2lkdGg6ICRzd2l0Y2gtaGVpZ2h0IC0gKCRwYWRkbGUtb2Zmc2V0ICogMik7XG4gICRwYWRkbGUtaGVpZ2h0OiAkc3dpdGNoLWhlaWdodCAtICgkcGFkZGxlLW9mZnNldCAqIDIpO1xuICAkcGFkZGxlLWFjdGl2ZS1vZmZlc3Q6ICRzd2l0Y2gtd2lkdGggLSAkcGFkZGxlLXdpZHRoIC0gJHBhZGRsZS1vZmZzZXQ7XG5cbiAgaGVpZ2h0OiAkc3dpdGNoLWhlaWdodDtcblxuICAuc3dpdGNoLXBhZGRsZSB7XG4gICAgd2lkdGg6ICRzd2l0Y2gtd2lkdGg7XG4gICAgaGVpZ2h0OiAkc3dpdGNoLWhlaWdodDtcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gIH1cblxuICAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIHRvcDogJHBhZGRsZS1vZmZzZXQ7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAkcGFkZGxlLW9mZnNldDtcbiAgICB3aWR0aDogJHBhZGRsZS13aWR0aDtcbiAgICBoZWlnaHQ6ICRwYWRkbGUtaGVpZ2h0O1xuICB9XG5cbiAgaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAkcGFkZGxlLWFjdGl2ZS1vZmZlc3Q7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tc3dpdGNoIHtcbiAgLy8gQ29udGFpbmVyIGNsYXNzXG4gIC5zd2l0Y2gge1xuICAgIGhlaWdodDogJHN3aXRjaC1oZWlnaHQ7XG4gICAgQGluY2x1ZGUgc3dpdGNoLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC8vIDxpbnB1dD4gZWxlbWVudFxuICAuc3dpdGNoLWlucHV0IHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtaW5wdXQ7XG4gIH1cblxuICAvLyA8bGFiZWw+IGVsZW1lbnRcbiAgLnN3aXRjaC1wYWRkbGUge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1wYWRkbGU7XG4gIH1cblxuICAvLyBCYXNlIGxhYmVsIHRleHQgc3R5bGVzXG4gICVzd2l0Y2gtdGV4dCB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXRleHQ7XG4gIH1cblxuICAvLyBBY3RpdmUgbGFiZWwgdGV4dCBzdHlsZXNcbiAgLnN3aXRjaC1hY3RpdmUge1xuICAgIEBleHRlbmQgJXN3aXRjaC10ZXh0O1xuICAgIEBpbmNsdWRlIHN3aXRjaC10ZXh0LWFjdGl2ZTtcbiAgfVxuXG4gIC8vIEluYWN0aXZlIGxhYmVsIHRleHQgc3R5bGVzXG4gIC5zd2l0Y2gtaW5hY3RpdmUge1xuICAgIEBleHRlbmQgJXN3aXRjaC10ZXh0O1xuICAgIEBpbmNsdWRlIHN3aXRjaC10ZXh0LWluYWN0aXZlO1xuICB9XG5cbiAgLy8gU3dpdGNoIHNpemVzXG4gIC5zd2l0Y2gudGlueSB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXNpemUocmVtLWNhbGMoMTApLCAkc3dpdGNoLWhlaWdodC10aW55LCAkc3dpdGNoLXBhZGRsZS1vZmZzZXQpO1xuICB9XG5cbiAgLnN3aXRjaC5zbWFsbCB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXNpemUocmVtLWNhbGMoMTIpLCAkc3dpdGNoLWhlaWdodC1zbWFsbCwgJHN3aXRjaC1wYWRkbGUtb2Zmc2V0KTtcbiAgfVxuXG4gIC5zd2l0Y2gubGFyZ2Uge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1zaXplKHJlbS1jYWxjKDE2KSwgJHN3aXRjaC1oZWlnaHQtbGFyZ2UsICRzd2l0Y2gtcGFkZGxlLW9mZnNldCk7XG4gIH1cbn1cbiIsCgkJIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8gc2Fzcy1saW50OmRpc2FibGUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuXG4vLy8vXG4vLy8gQGdyb3VwIHRhYmxlXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciB0YWJsZSBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtYmFja2dyb3VuZDogJHdoaXRlICAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc2NhbGUgZm9yIGRhcmtlbmluZyB0aGUgc3RyaXBlZCB0YWJsZSByb3dzIGFuZCB0aGUgdGFibGUgYm9yZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYmxlLWNvbG9yLXNjYWxlOiA1JSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc3R5bGUgZm9yIHRhYmxlIGJvcmRlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtYm9yZGVyOiAxcHggc29saWQgc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIHRhYmxlLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYmxlLXBhZGRpbmc6IHJlbS1jYWxjKDggMTAgMTApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzY2FsZSBmb3IgZGFya2VuaW5nIHRoZSB0YWJsZSByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYmxlLWhvdmVyLXNjYWxlOiAyJSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2Ygc3RhbmRhcmQgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHN0cmlwZWQgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtcm93LXN0cmlwZS1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgKyAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCB0YWJsZXMgYXJlIHN0cmlwZWQgYnkgZGVmYXVsdCBhbmQgYW4gLnVuc3RyaXBlZCBjbGFzcyBpcyBjcmVhdGVkLiBJZiBgZmFsc2VgLCBhIC5zdHJpcGVkIGNsYXNzIGlzIGNyZWF0ZWQuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHRhYmxlLWlzLXN0cmlwZWQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIHN0cmlwZWQgcm93cy5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBzaG93aW5nIHRoZSBzdHJpcGUgb24gcm93cyBvZiB0aGUgdGFibGVzLCBleGNsdWRpbmcgdGhlIGhlYWRlciBhbmQgZm9vdGVyLiBJZiBldmVuLCB0aGUgZXZlbiByb3dzIHdpbGwgaGF2ZSBhIGJhY2tncm91bmQgY29sb3IuIElmIG9kZCwgdGhlIG9kZCByb3dzIHdpbGwgaGF2ZSBhIGJhY2tncm91bmQgY29sb3IuIElmIGVtcHR5LCBvciBhbnkgb3RoZXIgdmFsdWUsIHRoZSB0YWJsZSByb3dzIHdpbGwgaGF2ZSBubyBzdHJpcGluZy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kdGFibGUtc3RyaXBlOiBldmVuICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgaGVhZGVyIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1oZWFkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgLyAyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgaGVhZGVyIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLWhlYWQtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWhlYWQtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGZvb3RlciBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtZm9vdC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgZm9vdGVyIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLWZvb3Qtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWZvb3QtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgaGVhZGVyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtaGVhZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBmb290ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1mb290LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBzaG93aW5nIHRoZSBoZWFkZXIgd2hlbiB1c2luZyBzdGFja2VkIHRhYmxlcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQ6IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gQnJlYWtwb2ludCBhdCB3aGljaCBzdGFja2VkIHRhYmxlIHN3aXRjaGVzIGZyb20gbW9iaWxlIHRvIGRlc2t0b3Agdmlldy5cbi8vLyBAdHlwZSBCcmVha3BvaW50XG4kdGFibGUtc3RhY2stYnJlYWtwb2ludDogbWVkaXVtICFkZWZhdWx0O1xuXG5AbWl4aW4gLXpmLXRhYmxlLXN0cmlwZSgkc3RyaXBlOiAkdGFibGUtc3RyaXBlKSB7XG4gIHRyIHtcbiAgICAvLyBJZiBzdHJpcGUgaXMgc2V0IHRvIGV2ZW4sIGRhcmtlbiB0aGUgZXZlbiByb3dzLlxuICAgIEBpZiAkc3RyaXBlID09IGV2ZW4ge1xuICAgICAgJjpudGgtY2hpbGQoZXZlbikge1xuICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIElmIHN0cmlwZSBpcyBzZXQgdG8gb2RkLCBkYXJrZW4gdGhlIG9kZCByb3dzLlxuICAgIEBlbHNlIGlmICRzdHJpcGUgPT0gb2RkIHtcbiAgICAgICY6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gLXpmLXRhYmxlLXVuc3RyaXBlKCkge1xuICB0ciB7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICBib3JkZXItYm90dG9tOiAkdGFibGUtYm9yZGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1iYWNrZ3JvdW5kO1xuICB9XG59XG5cbkBtaXhpbiAtemYtdGFibGUtY2hpbGRyZW4tc3R5bGVzKCRzdHJpcGU6ICR0YWJsZS1zdHJpcGUsICRpcy1zdHJpcGVkOiAkdGFibGUtaXMtc3RyaXBlZCkge1xuICB0aGVhZCxcbiAgdGJvZHksXG4gIHRmb290IHtcbiAgICBib3JkZXI6ICR0YWJsZS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJhY2tncm91bmQ7XG4gIH1cblxuICAvLyBDYXB0aW9uXG4gIGNhcHRpb24ge1xuICAgIHBhZGRpbmc6ICR0YWJsZS1wYWRkaW5nO1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICB9XG5cbiAgLy8gVGFibGUgaGVhZFxuICB0aGVhZCB7XG4gICAgYmFja2dyb3VuZDogJHRhYmxlLWhlYWQtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHRhYmxlLWhlYWQtZm9udC1jb2xvcjtcbiAgfVxuXG4gIC8vIFRhYmxlIGZvb3RcbiAgdGZvb3Qge1xuICAgIGJhY2tncm91bmQ6ICR0YWJsZS1mb290LWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICR0YWJsZS1mb290LWZvbnQtY29sb3I7XG4gIH1cblxuICAvLyBUYWJsZSBoZWFkIGFuZCBmb290XG4gIHRoZWFkLFxuICB0Zm9vdCB7XG4gICAgLy8gUm93cyB3aXRoaW4gaGVhZCBhbmQgZm9vdFxuICAgIHRyIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIC8vIENlbGxzIHdpdGhpbiBoZWFkIGFuZCBmb290XG4gICAgdGgsXG4gICAgdGQge1xuICAgICAgcGFkZGluZzogJHRhYmxlLXBhZGRpbmc7XG4gICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICAgIHRleHQtYWxpZ246ICN7JGdsb2JhbC1sZWZ0fTtcbiAgICB9XG4gIH1cblxuICAvLyBUYWJsZSByb3dzXG4gIHRib2R5IHtcbiAgICB0aCxcbiAgICB0ZCB7XG4gICAgICBwYWRkaW5nOiAkdGFibGUtcGFkZGluZztcbiAgICB9XG4gIH1cblxuICAvLyBJZiB0YWJsZXMgYXJlIHN0cmlwZWRcbiAgQGlmICRpcy1zdHJpcGVkID09IHRydWUge1xuICAgIHRib2R5IHtcbiAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS1zdHJpcGUoJHN0cmlwZSk7XG4gICAgfVxuXG4gICAgJi51bnN0cmlwZWQge1xuICAgICAgdGJvZHkge1xuICAgICAgICBAaW5jbHVkZSAtemYtdGFibGUtdW5zdHJpcGUoKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gSWYgdGFibGVzIGFyZSBub3Qgc3RyaXBlZFxuICBAZWxzZSBpZiAkaXMtc3RyaXBlZCA9PSBmYWxzZSB7XG4gICAgdGJvZHkge1xuICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXVuc3RyaXBlKCk7XG4gICAgfVxuXG4gICAgJi5zdHJpcGVkIHtcbiAgICAgIHRib2R5IHtcbiAgICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXN0cmlwZSgkc3RyaXBlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgdGhlIGdlbmVyYWwgc3R5bGVzIGZvciB0YWJsZXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RyaXBlIFskdGFibGUtc3RyaXBlXSAtIFVzZXMga2V5d29yZHMgZXZlbiwgb2RkLCBvciBub25lIHRvIGRhcmtlbiByb3dzIG9mIHRoZSB0YWJsZS4gVGhlIGRlZmF1bHQgdmFsdWUgaXMgZXZlbi5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRuZXN0IFtmYWxzZV0gLSBOZWVkZWQgaWYgeW91IG9ubHkgd2FudCB0byBhcHBseSB0aGlzIHRvIGEgc3BlY2lmaWMgdGFibGUuXG5AbWl4aW4gdGFibGUoXG4gICRzdHJpcGU6ICR0YWJsZS1zdHJpcGUsXG4gICRuZXN0OiBmYWxzZVxuKSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbiAgQGlmICRuZXN0IHtcbiAgICBAaW5jbHVkZSAtemYtdGFibGUtY2hpbGRyZW4tc3R5bGVzKCRzdHJpcGUpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAYXQtcm9vdCB7XG4gICAgICBAaW5jbHVkZSAtemYtdGFibGUtY2hpbGRyZW4tc3R5bGVzKCRzdHJpcGUpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyB0aGUgYWJpbGl0eSB0byBob3Jpem9udGFsbHkgc2Nyb2xsIHRoZSB0YWJsZSB3aGVuIHRoZSBjb250ZW50IG92ZXJmbG93cyBob3Jpem9udGFsbHkuXG5AbWl4aW4gdGFibGUtc2Nyb2xsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy14OiBhdXRvO1xufVxuXG4vLy8gU2xpZ2h0bHkgZGFya2VucyB0aGUgdGFibGUgcm93cyBvbiBob3Zlci5cbkBtaXhpbiB0YWJsZS1ob3ZlciB7XG4gIHRoZWFkIHRyIHtcbiAgICAvL0RhcmtlbnMgdGhlIHRhYmxlIGhlYWRlciByb3dzIG9uIGhvdmVyLlxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWhlYWQtcm93LWhvdmVyO1xuICAgIH1cbiAgfVxuXG4gIHRmb290IHRyIHtcbiAgICAvL0RhcmtlbnMgdGhlIHRhYmxlIGZvb3RlciByb3dzIG9uIGhvdmVyLlxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWZvb3Qtcm93LWhvdmVyO1xuICAgIH1cbiAgfVxuXG4gIHRib2R5IHRyIHtcbiAgICAvL0RhcmtlbnMgdGhlIG5vbi1zdHJpcGVkIHRhYmxlIHJvd3Mgb24gaG92ZXIuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LWhvdmVyO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkdGFibGUtaXMtc3RyaXBlZCA9PSB0cnVlIHtcbiAgICAvLyBEYXJrZW5zIHRoZSBldmVuIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAaWYoJHRhYmxlLXN0cmlwZSA9PSBldmVuKSB7XG4gICAgICAmOm5vdCgudW5zdHJpcGVkKSB0cjpudGgtb2YtdHlwZShldmVuKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERhcmtlbnMgdGhlIG9kZCBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGVsc2UgaWYoJHRhYmxlLXN0cmlwZSA9PSBvZGQpIHtcbiAgICAgICY6bm90KC51bnN0cmlwZWQpIHRyOm50aC1vZi10eXBlKG9kZCk6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAZWxzZSBpZiAkdGFibGUtaXMtc3RyaXBlZCA9PSBmYWxzZSB7XG4gICAgLy8gRGFya2VucyB0aGUgZXZlbiBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGlmKCR0YWJsZS1zdHJpcGUgPT0gZXZlbikge1xuICAgICAgJi5zdHJpcGVkIHRyOm50aC1vZi10eXBlKGV2ZW4pOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGFya2VucyB0aGUgb2RkIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAZWxzZSBpZigkdGFibGUtc3RyaXBlID09IG9kZCkge1xuICAgICAgJi5zdHJpcGVkIHRyOm50aC1vZi10eXBlKG9kZCk6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHN0YWNrZWQgdGFibGUuIFVzZWZ1bCBmb3Igc21hbGwtc2NyZWVuIGxheW91dHMuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkaGVhZGVyIFskc2hvdy1oZWFkZXItZm9yLXN0YWNrZWRdIC0gU2hvdyB0aGUgZmlyc3QgdGggb2YgaGVhZGVyIHdoZW4gc3RhY2tlZC5cbkBtaXhpbiB0YWJsZS1zdGFjaygkaGVhZGVyOiAkc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQpIHtcbiAgQGlmICRoZWFkZXIge1xuICAgIHRoZWFkIHtcbiAgICAgIHRoIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICB0aGVhZCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIHRmb290IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgdHIsXG4gIHRoLFxuICB0ZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICB0ZCB7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10YWJsZSgkbmVzdDogZmFsc2UpIHtcbiAgdGFibGUge1xuICAgIEBpbmNsdWRlIHRhYmxlKCRuZXN0OiAkbmVzdCk7XG4gIH1cblxuICB0YWJsZS5zdGFjayB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGUtc3RhY2stYnJlYWtwb2ludCBkb3duKSB7XG4gICAgICBAaW5jbHVkZSB0YWJsZS1zdGFjaztcbiAgICB9XG4gIH1cblxuICB0YWJsZS5zY3JvbGwge1xuICAgIEBpbmNsdWRlIHRhYmxlLXNjcm9sbDtcbiAgfVxuXG4gIHRhYmxlLmhvdmVyIHtcbiAgICBAaW5jbHVkZSB0YWJsZS1ob3ZlcjtcbiAgfVxuXG4gIC50YWJsZS1zY3JvbGwge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG5cbiAgfVxufVxuIiwKCQkiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJhZGdlXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIGJhZGdlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJhZGdlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIGZvciBiYWRnZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRiYWRnZS1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQWx0ZXJuYXRlIHRleHQgY29sb3IgZm9yIGJhZGdlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJhZGdlLWNvbG9yLWFsdDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JpbmcgY2xhc3Nlcy4gQSBtYXAgb2YgY2xhc3NlcyB0byBvdXRwdXQgaW4geW91ciBDU1MsIGxpa2UgYC5zZWNvbmRhcnlgLCBgLnN1Y2Nlc3NgLCBhbmQgc28gb24uXG4vLy8gQHR5cGUgTWFwXG4kYmFkZ2UtcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgYmFkZ2VzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJhZGdlLXBhZGRpbmc6IDAuM2VtICFkZWZhdWx0O1xuXG4vLy8gTWluaW11bSB3aWR0aCBvZiBhIGJhZGdlLlxuLy8vIEB0eXBlIE51bWJlclxuJGJhZGdlLW1pbndpZHRoOiAyLjFlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBiYWRnZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYmFkZ2UtZm9udC1zaXplOiAwLjZyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHZW5lcmF0ZXMgdGhlIGJhc2Ugc3R5bGVzIGZvciBhIGJhZGdlLlxuQG1peGluIGJhZGdlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtaW4td2lkdGg6ICRiYWRnZS1taW53aWR0aDtcbiAgcGFkZGluZzogJGJhZGdlLXBhZGRpbmc7XG5cbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuXG4gIGZvbnQtc2l6ZTogJGJhZGdlLWZvbnQtc2l6ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1iYWRnZSB7XG4gIC5iYWRnZSB7XG4gICAgQGluY2x1ZGUgYmFkZ2U7XG5cbiAgICBiYWNrZ3JvdW5kOiAkYmFkZ2UtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGJhZGdlLWNvbG9yO1xuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYmFkZ2UtcGFsZXR0ZSB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgICAgICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkY29sb3IsICgkYmFkZ2UtY29sb3IsICRiYWRnZS1jb2xvci1hbHQpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsCgkJIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBicmVhZGNydW1ic1xuLy8vL1xuXG4vLy8gTWFyZ2luIGFyb3VuZCBhIGJyZWFkY3J1bWJzIGNvbnRhaW5lci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRicmVhZGNydW1icy1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIGJyZWFkY3J1bWIgbGlua3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnJlYWRjcnVtYnMtaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDExKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGJyZWFkY3J1bWIgbGlua3MuXG4vLy8gQHR5cGUgQ29sb3JcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRoZSBhY3RpdmUgYnJlYWRjcnVtYiBsaW5rLlxuLy8vIEB0eXBlIENvbG9yXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1jdXJyZW50OiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBPcGFjaXR5IG9mIGRpc2FibGVkIGJyZWFkY3J1bWIgbGlua3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gTWFyZ2luIGJldHdlZW4gYnJlYWRjcnVtYiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRicmVhZGNydW1icy1pdGVtLW1hcmdpbjogMC43NXJlbSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgbWFrZXMgYnJlYWRjcnVtYiBsaW5rcyB1cHBlcmNhc2UuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJyZWFkY3J1bWJzLWl0ZW0tdXBwZXJjYXNlOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBhZGRzIGEgc2VwZXJhdG9yIGJldHdlZW4gYnJlYWRjcnVtYiBsaW5rcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3I6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIElmIGl0IGV4aXN0cyAkYnJlYWRjcnVtYnMtaXRlbS1zbGFzaCBpcyB1c2VkIHRvIGJ1aWxkICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci4gU2VlIHRoZSBkb2N1bWVudGF0aW9uLlxuQGlmIHZhcmlhYmxlLWV4aXN0cyhicmVhZGNydW1icy1pdGVtLXNsYXNoKSB7XG4gICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvcjogJGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2g7XG59XG5cbi8vLyBVc2VkIGNoYXJhY3RlciBmb3IgdGhlIGJyZWFkY3J1bWIgc2VwYXJhdG9yLlxuLy8vIEB0eXBlIENvbnRlbnRcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtOiAnLycgIWRlZmF1bHQ7XG5cbi8vLyBVc2VkIGNoYXJhY3RlciBmb3IgdGhlIGJyZWFkY3J1bWIgc2VwYXJhdG9yIGluIHJ0bCBtb2RlLlxuLy8vIEB0eXBlIENvbnRlbnRcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtLXJ0bDogJ1xcXFwnICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgYnJlYWRjcnVtYiBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItY29sb3I6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8gSWYgaXQgZXhpc3RzICRicmVhZGNydW1icy1pdGVtLXNsYXNoLWNvbG9yIGlzIHVzZWQgdG8gYnVpbGQgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yLiBTZWUgdGhlIGRvY3VtZW50YXRpb24uXG5AaWYgdmFyaWFibGUtZXhpc3RzKGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2gtY29sb3IpIHtcbiAgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1zbGFzaC1jb2xvcjtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGJyZWFkY3J1bWJzIGNvbnRhaW5lciwgYWxvbmcgd2l0aCB0aGUgc3R5bGVzIGZvciB0aGUgYDxsaT5gIGFuZCBgPGE+YCBlbGVtZW50cyBpbnNpZGUgb2YgaXQuXG5AbWl4aW4gYnJlYWRjcnVtYnMtY29udGFpbmVyIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbjogJGJyZWFkY3J1bWJzLW1hcmdpbjtcbiAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAvLyBJdGVtIHdyYXBwZXJcbiAgbGkge1xuICAgIGZsb2F0OiAjeyRnbG9iYWwtbGVmdH07XG5cbiAgICBmb250LXNpemU6ICRicmVhZGNydW1icy1pdGVtLWZvbnQtc2l6ZTtcbiAgICBjb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItY3VycmVudDtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG5cbiAgICBAaWYgJGJyZWFkY3J1bWJzLWl0ZW0tdXBwZXJjYXNlIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuXG4gICAgQGlmICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvciB7XG4gICAgICAvLyBOZWVkIHRvIGVzY2FwZSB0aGUgYmFja3NsYXNoXG4gICAgICAkc2VwYXJhdG9yOiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09ICdsdHInLCAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbSwgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW0tcnRsKTtcblxuICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBtYXJnaW46IDAgJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luO1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgY29udGVudDogJHNlcGFyYXRvcjtcbiAgICAgICAgICBjb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW47XG4gICAgfVxuICB9XG5cbiAgLy8gUGFnZSBsaW5rc1xuICBhIHtcbiAgICBjb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3I7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1icmVhZGNydW1icyB7XG4gIC5icmVhZGNydW1icyB7XG4gICAgQGluY2x1ZGUgYnJlYWRjcnVtYnMtY29udGFpbmVyO1xuXG4gICAgLmRpc2FibGVkIHtcbiAgICAgIGNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1kaXNhYmxlZDtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgfVxuICB9XG59XG4iLAoJCSIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgY2FsbG91dFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZhZGUgdmFsdWUgZm9yIGNhbGxvdXQgYmFja2dyb3VuZHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2FsbG91dC1iYWNrZ3JvdW5kLWZhZGU6IDg1JSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIHN0eWxlIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBMaXN0XG4kY2FsbG91dC1ib3JkZXI6IDFweCBzb2xpZCByZ2JhKCRibGFjaywgMC4yNSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGNhbGxvdXQtbWFyZ2luOiAwIDAgMXJlbSAwICFkZWZhdWx0O1xuXG4vLy8gU2l6ZXMgZm9yIENhbGxvdXQgcGFkZGluZ3MuXG4vLy8gQHR5cGUgTWFwXG4kY2FsbG91dC1zaXplczogKFxuICBzbWFsbDogMC41cmVtLFxuICBkZWZhdWx0OiAxcmVtLFxuICBsYXJnZTogM3JlbSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBjYWxsb3V0cywgaWYgdGhlIGNhbGxvdXQgaGFzIGEgZGFyayBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1mb250LWNvbG9yLWFsdDogJGJvZHktYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIHJhZGl1cyBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBBbW91bnQgdG8gdGludCBsaW5rcyB1c2VkIHdpdGhpbiBjb2xvcmVkIHBhbmVscy4gU2V0IHRvIGBmYWxzZWAgdG8gZGlzYWJsZSB0aGlzIGZlYXR1cmUuXG4vLy8gQHR5cGUgTnVtYmVyIHwgQm9vbGVhblxuJGNhbGxvdXQtbGluay10aW50OiAzMCUgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIGJhc2ljIHN0eWxlcyBmb3IgYSBjYWxsb3V0LCBpbmNsdWRpbmcgcGFkZGluZyBhbmQgbWFyZ2luLlxuQG1peGluIGNhbGxvdXQtYmFzZSgpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46ICRjYWxsb3V0LW1hcmdpbjtcbiAgcGFkZGluZzogbWFwLWdldCgkY2FsbG91dC1zaXplcywgZGVmYXVsdCk7XG5cbiAgYm9yZGVyOiAkY2FsbG91dC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRjYWxsb3V0LXJhZGl1cztcblxuICAvLyBSZXNwZWN0IHRoZSBwYWRkaW5nLCBmb29sLlxuICA+IDpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuXG4gID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEdlbmVyYXRlIHF1aWNrIHN0eWxlcyBmb3IgYSBjYWxsb3V0IHVzaW5nIGEgc2luZ2xlIGNvbG9yIGFzIGEgYmFzZWxpbmUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskY2FsbG91dC1iYWNrZ3JvdW5kXSAtIENvbG9yIHRvIHVzZS5cbkBtaXhpbiBjYWxsb3V0LXN0eWxlKCRjb2xvcjogJGNhbGxvdXQtYmFja2dyb3VuZCkge1xuICAkYmFja2dyb3VuZDogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkY2FsbG91dC1iYWNrZ3JvdW5kLWZhZGUpO1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkYmFja2dyb3VuZCwgKCRjYWxsb3V0LWZvbnQtY29sb3IsICRjYWxsb3V0LWZvbnQtY29sb3ItYWx0KSk7XG59XG5cbkBtaXhpbiBjYWxsb3V0LXNpemUoJHBhZGRpbmcpIHtcbiAgcGFkZGluZy10b3A6ICRwYWRkaW5nO1xuICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZztcbiAgcGFkZGluZy1ib3R0b206ICRwYWRkaW5nO1xuICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nO1xufVxuXG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjYWxsb3V0LlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGNhbGxvdXQtYmFja2dyb3VuZF0gLSBDb2xvciB0byB1c2UuXG5AbWl4aW4gY2FsbG91dCgkY29sb3I6ICRjYWxsb3V0LWJhY2tncm91bmQpIHtcbiAgQGluY2x1ZGUgY2FsbG91dC1iYXNlO1xuICBAaW5jbHVkZSBjYWxsb3V0LXN0eWxlKCRjb2xvcik7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWNhbGxvdXQge1xuICAuY2FsbG91dCB7XG4gICAgQGluY2x1ZGUgY2FsbG91dDtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgQGluY2x1ZGUgY2FsbG91dC1zdHlsZSgkY29sb3IpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBlYWNoICRzaXplLCAkcGFkZGluZyBpbiBtYXAtcmVtb3ZlKCRjYWxsb3V0LXNpemVzLCBkZWZhdWx0KSB7XG4gICAgICAmLiN7JHNpemV9IHtcbiAgICAgICAgQGluY2x1ZGUgY2FsbG91dC1zaXplKCRwYWRkaW5nKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsCgkJIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBjYXJkXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYXJkLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgY2FyZHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYXJkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYXJkLWRpdmlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBzdHlsZS5cbi8vLyBAdHlwZSBMaXN0XG4kY2FyZC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY2FyZCBzaGFkb3cuXG4vLy8gQHR5cGUgTGlzdFxuJGNhcmQtc2hhZG93OiBub25lICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgcmFkaXVzLlxuLy8vIEB0eXBlIExpc3RcbiRjYXJkLWJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nLlxuLy8vIEB0eXBlIE51bWJlclxuJGNhcmQtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luLlxuLy8vIEB0eXBlIG51bWJlclxuJGNhcmQtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjYXJkIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGNhcmQuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gZm9udCBjb2xvciBvZiB0aGUgY2FyZC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1hcmdpbiAtIEJvdHRvbSBtYXJnaW4gb2YgdGhlIGNhcmQuXG4vLy8gQHBhcmFtIHtMaXN0fSAkYm9yZGVyIC0gQm9yZGVyIGFyb3VuZCB0aGUgY2FyZC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRyYWRpdXMgLSBib3JkZXIgcmFkaXVzIG9mIHRoZSBjYXJkLlxuLy8vIEBwYXJhbSB7TGlzdH0gJHNoYWRvdyAtIGJveCBzaGFkb3cgb2YgdGhlIGNhcmQuXG5AbWl4aW4gY2FyZC1jb250YWluZXIoXG4gICRiYWNrZ3JvdW5kOiAkY2FyZC1iYWNrZ3JvdW5kLFxuICAkY29sb3I6ICRjYXJkLWZvbnQtY29sb3IsXG4gICRtYXJnaW46ICRjYXJkLW1hcmdpbi1ib3R0b20sXG4gICRib3JkZXI6ICRjYXJkLWJvcmRlcixcbiAgJHJhZGl1czogJGNhcmQtYm9yZGVyLXJhZGl1cyxcbiAgJHNoYWRvdzogJGNhcmQtc2hhZG93XG4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgfVxuXG4gIG1hcmdpbi1ib3R0b206ICRtYXJnaW47XG5cbiAgYm9yZGVyOiAkYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuXG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICBib3gtc2hhZG93OiAkc2hhZG93O1xuXG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgJiA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjYXJkIGRpdmlkZXIuXG5AbWl4aW4gY2FyZC1kaXZpZGVyKFxuICAkYmFja2dyb3VuZDogJGNhcmQtZGl2aWRlci1iYWNrZ3JvdW5kLFxuICAkcGFkZGluZzogJGNhcmQtcGFkZGluZ1xuKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleDogMCAxIGF1dG87XG4gIH1cblxuICBwYWRkaW5nOiAkcGFkZGluZztcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG5cbiAgJiA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjYXJkIHNlY3Rpb24uXG5AbWl4aW4gY2FyZC1zZWN0aW9uKFxuICAkcGFkZGluZzogJGNhcmQtcGFkZGluZ1xuKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXg6IDEgMCBhdXRvO1xuICB9XG5cbiAgcGFkZGluZzogJHBhZGRpbmc7XG5cbiAgJiA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWNhcmQge1xuICAuY2FyZCB7XG4gICAgQGluY2x1ZGUgY2FyZC1jb250YWluZXI7XG4gIH1cblxuICAuY2FyZC1kaXZpZGVyIHtcbiAgICBAaW5jbHVkZSBjYXJkLWRpdmlkZXI7XG4gIH1cblxuICAuY2FyZC1zZWN0aW9uIHtcbiAgICBAaW5jbHVkZSBjYXJkLXNlY3Rpb247XG4gIH1cblxuICAvLyBGb3IgSUUgMTEgLSBGbGV4YnVnXG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9waGlsaXB3YWx0b24vZmxleGJ1Z3MvaXNzdWVzLzc1XG4gIC5jYXJkLWltYWdlIHtcbiAgICBtaW4taGVpZ2h0OiAxcHg7XG4gIH1cbn1cbiIsCgkJIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBkcm9wZG93blxuLy8vL1xuXG4vLy8gUGFkZGluZyBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTGlzdFxuJGRyb3Bkb3duLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3duLWJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bi1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bi1mb250LXNpemU6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBXaWR0aCBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd24td2lkdGg6IDMwMHB4ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gU2l6ZXMgZm9yIGRyb3Bkb3duIHBhbmVzLiBFYWNoIHNpemUgaXMgYSBDU1MgY2xhc3MgeW91IGNhbiBhcHBseS5cbi8vLyBAdHlwZSBNYXBcbiRkcm9wZG93bi1zaXplczogKFxuICB0aW55OiAxMDBweCxcbiAgc21hbGw6IDIwMHB4LFxuICBsYXJnZTogNDAwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gQXBwbGllcyBzdHlsZXMgZm9yIGEgYmFzaWMgZHJvcGRvd24uXG5AbWl4aW4gZHJvcGRvd24tY29udGFpbmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMDtcblxuICBkaXNwbGF5OiBub25lO1xuXG4gIHdpZHRoOiAkZHJvcGRvd24td2lkdGg7XG4gIHBhZGRpbmc6ICRkcm9wZG93bi1wYWRkaW5nO1xuXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYm9yZGVyOiAkZHJvcGRvd24tYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkZHJvcGRvd24tcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZHJvcGRvd24tYmFja2dyb3VuZDtcblxuICBmb250LXNpemU6ICRkcm9wZG93bi1mb250LXNpemU7XG5cblxuICAvLyBBbGxvdyBhbiBpbnRlcm1pdHRlbnQgc3RhdGUgdG8gZG8gcG9zaXRpb25pbmcgYmVmb3JlIG1ha2luZyB2aXNpYmxlLlxuICAmLmlzLW9wZW5pbmcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgJi5pcy1vcGVuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWRyb3Bkb3duIHtcbiAgLmRyb3Bkb3duLXBhbmUge1xuICAgIEBpbmNsdWRlIGRyb3Bkb3duLWNvbnRhaW5lcjtcbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkZHJvcGRvd24tc2l6ZXMge1xuICAgIC5kcm9wZG93bi1wYW5lIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICB3aWR0aDogJHNpemU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLAoJCSIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcGFnaW5hdGlvblxuLy8vL1xuXG4vLy8gRm9udCBzaXplIG9mIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1mb250LXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBvZiB0aGUgcGFnaW5hdGlvbiBvYmplY3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgb2YgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZzogcmVtLWNhbGMoMyAxMCkgIWRlZmF1bHQ7XG5cbi8vLyBSaWdodCBtYXJnaW4gdG8gc2VwYXJhdGUgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLWl0ZW0tc3BhY2luZzogcmVtLWNhbGMoMSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3IgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHBhZ2luYXRpb24gaXRlbXMgb24gaG92ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHBhZ2luYXRpb24gaXRlbSBmb3IgdGhlIGN1cnJlbnQgcGFnZS5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiB0aGUgcGFnaW5hdGlvbiBpdGVtIGZvciB0aGUgY3VycmVudCBwYWdlLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWN1cnJlbnQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgYSBkaXNhYmxlZCBwYWdpbmF0aW9uIGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRoZSBlbGxpcHNpcyBpbiBhIHBhZ2luYXRpb24gbWVudS5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24tZWxsaXBzaXMtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIElmIGBmYWxzZWAsIGRvbid0IGRpc3BsYXkgcGFnZSBudW1iZXIgbGlua3Mgb24gbW9iaWxlLCBvbmx5IG5leHQvcHJldmlvdXMgbGlua3Ncbi8vLyBhbmQgb3B0aW9uYWxseSBjdXJyZW50IHBhZ2UgbnVtYmVyLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtczogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGRpc3BsYXkgdGhlIGN1cnJlbnQgcGFnZSBudW1iZXIgb24gbW9iaWxlIGV2ZW4gaWYgYCRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtc2AgaXMgc2V0IHRvIGBmYWxzZWAuXG4vLy8gVGhpcyBwYXJhbWV0ZXIgd2lsbCBvbmx5IG92ZXJyaWRlIHRoZSB2aXNpYmlsaXR5IHNldHRpbmcgb2YgdGhlIGN1cnJlbnQgaXRlbSBmb3IgYCRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtczogZmFsc2U7YCxcbi8vLyBpdCB3aWxsIG5vdCBhZmZlY3QgdGhlIGN1cnJlbnQgcGFnZSBudW1iZXIgdmlzaWJpbGl0eSB3aGVuIGAkcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXNgIGlzIHNldCB0byBgdHJ1ZWAuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHBhZ2luYXRpb24tbW9iaWxlLWN1cnJlbnQtaXRlbTogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGFycm93cyBhcmUgYWRkZWQgdG8gdGhlIG5leHQgYW5kIHByZXZpb3VzIGxpbmtzIG9mIHBhZ2luYXRpb24uXG4vLy8gQHR5cGUgQm9vbGVhblxuJHBhZ2luYXRpb24tYXJyb3dzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQ29udGVudCBmb3IgdGhlIHByZXZpb3VzIGFycm93IHdoZW4gYCRwYWdpbmF0aW9uLWFycm93c2AgaXMgYHRydWVgXG4vLy8gQHR5cGUgU3RyaW5nXG4kcGFnaW5hdGlvbi1hcnJvdy1wcmV2aW91czogJ1xcMDBBQicgIWRlZmF1bHQ7XG5cbi8vLyBDb250ZW50IGZvciB0aGUgbmV4dCBhcnJvdyB3aGVuIGAkcGFnaW5hdGlvbi1hcnJvd3NgIGlzIGB0cnVlYFxuLy8vIEB0eXBlIFN0cmluZ1xuJHBhZ2luYXRpb24tYXJyb3ctbmV4dDogJ1xcMDBCQicgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBwYWdpbmF0aW9uIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byBhIGA8dWw+YC5cbkBtaXhpbiBwYWdpbmF0aW9uLWNvbnRhaW5lciAoXG4gICRtYXJnaW4tYm90dG9tOiAkcGFnaW5hdGlvbi1tYXJnaW4tYm90dG9tLFxuICAkZm9udC1zaXplOiAkcGFnaW5hdGlvbi1mb250LXNpemUsXG4gICRzcGFjaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXNwYWNpbmcsXG4gICRyYWRpdXM6ICRwYWdpbmF0aW9uLXJhZGl1cyxcbiAgJGNvbG9yOiAkcGFnaW5hdGlvbi1pdGVtLWNvbG9yLFxuICAkcGFkZGluZzogJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyXG4pIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gIG1hcmdpbi1ib3R0b206ICRtYXJnaW4tYm90dG9tO1xuXG4gIC8vIExpc3QgaXRlbVxuICBsaSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nO1xuICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuXG4gICAgQGlmICRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtcyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICY6bGFzdC1jaGlsZCxcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9XG5cbiAgICAgIEBpZiAkcGFnaW5hdGlvbi1tb2JpbGUtY3VycmVudC1pdGVtIHtcbiAgICAgICAgJi5jdXJyZW50IHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFBhZ2UgbGlua3NcbiAgYSxcbiAgYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAkcGFkZGluZztcbiAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICAgIGNvbG9yOiAkY29sb3I7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBjdXJyZW50IHBhZ2luYXRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byBhbiBgPGE+YC5cbkBtaXhpbiBwYWdpbmF0aW9uLWl0ZW0tY3VycmVudCAoXG4gICRwYWRkaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmcsXG4gICRiYWNrZ3JvdW5kLWN1cnJlbnQ6ICRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50LFxuICAkY29sb3ItY3VycmVudDogJHBhZ2luYXRpb24taXRlbS1jb2xvci1jdXJyZW50XG4pIHtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWN1cnJlbnQ7XG4gIGNvbG9yOiAkY29sb3ItY3VycmVudDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgZGlzYWJsZWQgcGFnaW5hdGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIGFuIGA8YT5gLlxuQG1peGluIHBhZ2luYXRpb24taXRlbS1kaXNhYmxlZCAoXG4gICRwYWRkaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmcsXG4gICRjb2xvcjogJHBhZ2luYXRpb24taXRlbS1jb2xvci1kaXNhYmxlZFxuKSB7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICBjb2xvcjogJGNvbG9yO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gZWxsaXBzaXMgZm9yIHVzZSBpbiBhIHBhZ2luYXRpb24gbGlzdC5cbkBtaXhpbiBwYWdpbmF0aW9uLWVsbGlwc2lzIChcbiAgJHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZyxcbiAgJGNvbG9yOiAkcGFnaW5hdGlvbi1lbGxpcHNpcy1jb2xvclxuKSB7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICBjb250ZW50OiAnXFwyMDI2JztcbiAgY29sb3I6ICRjb2xvcjtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcGFnaW5hdGlvbiB7XG4gIC5wYWdpbmF0aW9uIHtcbiAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWNvbnRhaW5lcjtcblxuICAgIC5jdXJyZW50IHtcbiAgICAgIEBpbmNsdWRlIHBhZ2luYXRpb24taXRlbS1jdXJyZW50O1xuICAgIH1cblxuICAgIC5kaXNhYmxlZCB7XG4gICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgLmVsbGlwc2lzOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWVsbGlwc2lzO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkcGFnaW5hdGlvbi1hcnJvd3Mge1xuICAgIC5wYWdpbmF0aW9uLXByZXZpb3VzIGE6OmJlZm9yZSxcbiAgICAucGFnaW5hdGlvbi1wcmV2aW91cy5kaXNhYmxlZDo6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwLjVyZW07XG4gICAgICBjb250ZW50OiAkcGFnaW5hdGlvbi1hcnJvdy1wcmV2aW91cztcbiAgICB9XG5cbiAgICAucGFnaW5hdGlvbi1uZXh0IGE6OmFmdGVyLFxuICAgIC5wYWdpbmF0aW9uLW5leHQuZGlzYWJsZWQ6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDAuNXJlbTtcbiAgICAgIGNvbnRlbnQ6ICRwYWdpbmF0aW9uLWFycm93LW5leHQ7XG4gICAgfVxuICB9XG59XG4iLAoJCSIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdG9vbHRpcFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBjdXJzb3Igb2YgdGhlIGRlZmluZWQgdGVybS5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaGFzLXRpcC1jdXJzb3I6IGhlbHAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgd2VpZ2h0IG9mIHRoZSBkZWZpbmVkIHRlcm0uXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGhhcy10aXAtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBib3R0b20gb2YgdGhlIGRlZmluZWQgdGVybS5cbi8vLyBAdHlwZSBMaXN0XG4kaGFzLXRpcC1ib3JkZXItYm90dG9tOiBkb3R0ZWQgMXB4ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSB0b29sdGlwIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0b29sdGlwLWJhY2tncm91bmQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIHRvb2x0aXAgZm9udC5cbi8vLyBAdHlwZSBDb2xvclxuJHRvb2x0aXAtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBvZiB0aGUgdG9vbHRpcCBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtcGFkZGluZzogMC43NXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWF4IHdpZHRoIGZvciB0b29sdGlwcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLW1heC13aWR0aDogMTByZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBvZiB0aGUgdG9vbHRpcCB0ZXh0LiBCeSBkZWZhdWx0LCB3ZSByZWNvbW1lbmQgYSBzbWFsbGVyIGZvbnQgc2l6ZSB0aGFuIHRoZSBib2R5IGNvcHkuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1mb250LXNpemU6ICRzbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBpcCB3aWR0aCBmb3IgdG9vbHRpcHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1waXAtd2lkdGg6IDAuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBpcCBoZWlnaHQgZm9yIHRvb2x0aXBzLiBUaGlzIGlzIGhlbHBmdWwgZm9yIGNhbGN1bGF0aW5nIHRoZSBkaXN0YW5jZSBvZiB0aGUgdG9vbHRpcCBmcm9tIHRoZSB0b29sdGlwIHdvcmQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1waXAtaGVpZ2h0OiAkdG9vbHRpcC1waXAtd2lkdGggKiAwLjg2NiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciB0b29sdGlwcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBoYXMtdGlwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgYm9yZGVyLWJvdHRvbTogJGhhcy10aXAtYm9yZGVyLWJvdHRvbTtcbiAgZm9udC13ZWlnaHQ6ICRoYXMtdGlwLWZvbnQtd2VpZ2h0O1xuICBjdXJzb3I6ICRoYXMtdGlwLWN1cnNvcjtcbn1cblxuQG1peGluIHRvb2x0aXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogY2FsYygxMDAlICsgI3skdG9vbHRpcC1waXAtaGVpZ2h0fSk7XG4gIHotaW5kZXg6IDEyMDA7XG5cbiAgbWF4LXdpZHRoOiAkdG9vbHRpcC1tYXgtd2lkdGg7XG4gIHBhZGRpbmc6ICR0b29sdGlwLXBhZGRpbmc7XG5cbiAgYm9yZGVyLXJhZGl1czogJHRvb2x0aXAtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yO1xuICBmb250LXNpemU6ICR0b29sdGlwLWZvbnQtc2l6ZTtcbiAgY29sb3I6ICR0b29sdGlwLWNvbG9yO1xuXG4gICY6OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICB9XG5cbiAgJi5ib3R0b20ge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvb2x0aXAtcGlwLXdpZHRoLCAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLCB1cCk7XG4gICAgICBib3R0b206IDEwMCU7XG4gICAgfVxuXG4gICAgJi5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgfVxuICB9XG5cbiAgJi50b3Age1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvb2x0aXAtcGlwLXdpZHRoLCAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLCBkb3duKTtcbiAgICAgIHRvcDogMTAwJTtcbiAgICAgIGJvdHRvbTogYXV0bztcbiAgICB9XG5cbiAgICAmLmFsaWduLWNlbnRlcjo6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICB9XG4gIH1cblxuICAmLmxlZnQge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvb2x0aXAtcGlwLXdpZHRoLCAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLCByaWdodCk7XG4gICAgICBsZWZ0OiAxMDAlO1xuICAgIH1cblxuICAgICYuYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgfVxuICB9XG5cbiAgJi5yaWdodCB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9vbHRpcC1waXAtd2lkdGgsICR0b29sdGlwLWJhY2tncm91bmQtY29sb3IsIGxlZnQpO1xuICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgIH1cblxuICAgICYuYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgfVxuICB9XG5cbiAgJi5hbGlnbi10b3A6OmJlZm9yZSB7XG4gICAgYm90dG9tOiBhdXRvO1xuICAgIHRvcDogMTAlO1xuICB9XG5cbiAgJi5hbGlnbi1ib3R0b206OmJlZm9yZSB7XG4gICAgYm90dG9tOiAxMCU7XG4gICAgdG9wOiBhdXRvO1xuICB9XG5cbiAgJi5hbGlnbi1sZWZ0OjpiZWZvcmUge1xuICAgIGxlZnQ6IDEwJTtcbiAgICByaWdodDogYXV0bztcbiAgfVxuXG4gICYuYWxpZ24tcmlnaHQ6OmJlZm9yZSB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMTAlO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRvb2x0aXAge1xuICAuaGFzLXRpcCB7XG4gICAgQGluY2x1ZGUgaGFzLXRpcDtcbiAgfVxuXG4gIC50b29sdGlwIHtcbiAgICBAaW5jbHVkZSB0b29sdGlwO1xuICB9XG59XG4iLAoJCSIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYWNjb3JkaW9uXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgYW4gYWNjb3JkaW9uIGdyb3VwLlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgYWRkcyBwbHVzIGFuZCBtaW51cyBpY29ucyB0byB0aGUgc2lkZSBvZiBlYWNoIGFjY29yZGlvbiB0aXRsZS5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWNjb3JkaW9uLXBsdXNtaW51czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIENvbnRlbnQgZm9yIHRoZSBwbHVzIGljb24gd2hlbiBgJGFjY29yZGlvbi1wbHVzbWludXNgIGlzIGB0cnVlYFxuLy8vIEB0eXBlIFN0cmluZ1xuJGFjY29yZGlvbi1wbHVzLWNvbnRlbnQ6ICdcXDAwMkInICFkZWZhdWx0O1xuXG4vLy8gQ29udGVudCBmb3IgdGhlIG1pbnVzIGljb24gd2hlbiBgJGFjY29yZGlvbi1wbHVzbWludXNgIGlzIGB0cnVlYFxuLy8vIEB0eXBlIFN0cmluZ1xuJGFjY29yZGlvbi1taW51cy1jb250ZW50OiAnXFwyMDEzJyAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiBhY2NvcmRpb24gdGl0bGVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbi10aXRsZS1mb250LXNpemU6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBmb3IgaXRlbXMgaW4gYSBNZW51LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9uIGhvdmVyIGZvciBpdGVtcyBpbiBhIE1lbnUuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBvZiBhbiBhY2NvcmRpb24gaXRlbS5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kYWNjb3JkaW9uLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tY29udGVudC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBhY2NvcmRpb24gY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIHRoZSBzYW1lIGVsZW1lbnQgdGhhdCBnZXRzIGBkYXRhLWFjY29yZGlvbmAuXG5AbWl4aW4gYWNjb3JkaW9uLWNvbnRhaW5lciAoXG4gICRiYWNrZ3JvdW5kOiAkYWNjb3JkaW9uLWJhY2tncm91bmRcbikge1xuICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuXG4gICZbZGlzYWJsZWRdIHtcbiAgICAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGFjY29yZGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIHRoZSBsaXN0IGl0ZW0gd2l0aGluIGFuIGFjY29yZGlvbiB1bC5cbkBtaXhpbiBhY2NvcmRpb24taXRlbSB7XG4gICY6Zmlyc3QtY2hpbGQgPiA6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzIDAgMDtcbiAgfVxuXG4gICY6bGFzdC1jaGlsZCA+IDpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXM7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgdGl0bGUgb2YgYW4gYWNjb3JkaW9uIGl0ZW0uIEFwcGx5IHRoaXMgdG8gdGhlIGxpbmsgd2l0aGluIGFuIGFjY29yZGlvbiBpdGVtLlxuQG1peGluIGFjY29yZGlvbi10aXRsZSAoXG4gICRwYWRkaW5nOiAkYWNjb3JkaW9uLWl0ZW0tcGFkZGluZyxcbiAgJGZvbnQtc2l6ZTogJGFjY29yZGlvbi10aXRsZS1mb250LXNpemUsXG4gICRjb2xvcjogJGFjY29yZGlvbi1pdGVtLWNvbG9yLFxuICAkYm9yZGVyOiAkYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXJcbikge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAkcGFkZGluZztcblxuICBib3JkZXI6ICRib3JkZXI7XG4gIGJvcmRlci1ib3R0b206IDA7XG5cbiAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6ICRjb2xvcjtcblxuICA6bGFzdC1jaGlsZDpub3QoLmlzLWFjdGl2ZSkgPiAmIHtcbiAgICBib3JkZXItYm90dG9tOiAkYm9yZGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICB9XG5cbiAgQGlmICRhY2NvcmRpb24tcGx1c21pbnVzIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICAjeyRnbG9iYWwtcmlnaHR9OiAxcmVtO1xuICAgICAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgICAgIGNvbnRlbnQ6ICRhY2NvcmRpb24tcGx1cy1jb250ZW50O1xuICAgIH1cblxuICAgIC5pcy1hY3RpdmUgPiAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogJGFjY29yZGlvbi1taW51cy1jb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFjY29yZGlvbiBjb250ZW50LiBBcHBseSB0aGlzIHRvIHRoZSBjb250ZW50IHBhbmUgYmVsb3cgYW4gYWNjb3JkaW9uIGl0ZW0ncyB0aXRsZS5cbkBtaXhpbiBhY2NvcmRpb24tY29udGVudCAoXG4gICRwYWRkaW5nOiAkYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZyxcbiAgJGJvcmRlcjogJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcixcbiAgJGJhY2tncm91bmQ6ICRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kLFxuICAkY29sb3I6ICRhY2NvcmRpb24tY29udGVudC1jb2xvclxuKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuXG4gIGJvcmRlcjogJGJvcmRlcjtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG5cbiAgY29sb3I6ICRjb2xvcjtcblxuICA6bGFzdC1jaGlsZCA+ICY6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGJvcmRlcjtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1hY2NvcmRpb24ge1xuICAuYWNjb3JkaW9uIHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24tY29udGFpbmVyO1xuICB9XG5cbiAgLmFjY29yZGlvbi1pdGVtIHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24taXRlbTtcbiAgfVxuXG4gIC5hY2NvcmRpb24tdGl0bGUge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi10aXRsZTtcbiAgfVxuXG4gIC5hY2NvcmRpb24tY29udGVudCB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLWNvbnRlbnQ7XG4gIH1cbn1cbiIsCgkJIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBtZWRpYS1vYmplY3Rcbi8vLy9cblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgYSBtZWRpYSBvYmplY3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0IGFuZCByaWdodCBwYWRkaW5nIG9uIHNlY3Rpb25zIHdpdGhpbiBhIG1lZGlhIG9iamVjdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFdpZHRoIG9mIGltYWdlcyB3aXRoaW4gYSBtZWRpYSBvYmplY3QsIHdoZW4gdGhlIG9iamVjdCBpcyBzdGFja2VkIHZlcnRpY2FsbHkuIFNldCB0byAnYXV0bycgdG8gdXNlIHRoZSBpbWFnZSdzIG5hdHVyYWwgd2lkdGguXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVkaWFvYmplY3QtaW1hZ2Utd2lkdGgtc3RhY2tlZDogMTAwJSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIG1lZGlhIG9iamVjdCBjb250YWluZXIuXG5AbWl4aW4gbWVkaWEtb2JqZWN0LWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGlmKCRnbG9iYWwtZmxleGJveCwgZmxleCwgYmxvY2spO1xuICBtYXJnaW4tYm90dG9tOiAkbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTtcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgfVxuXG4gIGltZyB7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICB9XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgJi5zdGFjay1mb3ItI3skLXpmLXplcm8tYnJlYWtwb2ludH0ge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXplcm8tYnJlYWtwb2ludCBvbmx5KSB7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBzZWN0aW9ucyB3aXRoaW4gYSBtZWRpYSBvYmplY3QuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRwYWRkaW5nIFskbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nXSAtIFBhZGRpbmcgYmV0d2VlbiBzZWN0aW9ucy5cbkBtaXhpbiBtZWRpYS1vYmplY3Qtc2VjdGlvbigkcGFkZGluZzogJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZykge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgfVxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICB9XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgcGFkZGluZy0jeyRnbG9iYWwtcmlnaHR9OiAkcGFkZGluZztcbiAgfVxuXG4gICY6bGFzdC1jaGlsZDpub3QoOm50aC1jaGlsZCgyKSkge1xuICAgIHBhZGRpbmctI3skZ2xvYmFsLWxlZnR9OiAkcGFkZGluZztcbiAgfVxuXG4gID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICAuc3RhY2stZm9yLSN7JC16Zi16ZXJvLWJyZWFrcG9pbnR9ICYge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJC16Zi16ZXJvLWJyZWFrcG9pbnQgb25seSkge1xuICAgICAgQGluY2x1ZGUgbWVkaWEtb2JqZWN0LXN0YWNrO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICYubWFpbi1zZWN0aW9uIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAmLm1pZGRsZSB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cblxuICAgICYuYm90dG9tIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyB0byBzdGFjayBzZWN0aW9ucyBvZiBhIG1lZGlhIG9iamVjdC4gQXBwbHkgdGhpcyB0byB0aGUgc2VjdGlvbiBlbGVtZW50cywgbm90IHRoZSBjb250YWluZXIuXG5AbWl4aW4gbWVkaWEtb2JqZWN0LXN0YWNrIHtcbiAgcGFkZGluZzogMDtcbiAgcGFkZGluZy1ib3R0b206ICRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmc7XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC1iYXNpczogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cbiAgQGVsc2Uge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgaW1nIHtcbiAgICB3aWR0aDogJG1lZGlhb2JqZWN0LWltYWdlLXdpZHRoLXN0YWNrZWQ7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tbWVkaWEtb2JqZWN0IHtcbiAgLm1lZGlhLW9iamVjdCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtb2JqZWN0LWNvbnRhaW5lcjtcbiAgfVxuXG4gIC5tZWRpYS1vYmplY3Qtc2VjdGlvbiB7XG4gICAgQGluY2x1ZGUgbWVkaWEtb2JqZWN0LXNlY3Rpb247XG4gIH1cbn1cbiIsCgkJIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBvcmJpdFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgT3JiaXQncyBidWxsZXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYWN0aXZlIGNvbG9yIGZvciBPcmJpdCdzIGJ1bGxldHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZC1hY3RpdmU6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGRpYW1ldGVyIGZvciBPcmJpdCdzIGJ1bGxldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtYnVsbGV0LWRpYW1ldGVyOiAxLjJyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBiZXR3ZWVuIE9yYml0J3MgYnVsbGV0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1idWxsZXQtbWFyZ2luOiAwLjFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGRpc3RhbmNlIGZyb20gc2xpZGUgcmVnaW9uIGZvciBPcmJpdCdzIGJ1bGxldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtYnVsbGV0LW1hcmdpbi10b3A6IDAuOHJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBmcm9tIE9yYml0J3MgYnVsbGV0cyB0byB3aGF0ZXZlciBjb250ZW50IG1heSBsdXJrIGJlbG93IGl0LlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWJ1bGxldC1tYXJnaW4tYm90dG9tOiAwLjhyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIE9yYml0J3MgY2FwdGlvbi5cbi8vLyBAdHlwZSBDb2xvclxuJG9yYml0LWNhcHRpb24tYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIE9yYml0J3MgY2FwdGlvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1jYXB0aW9uLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIE9yYml0J3MgY29udHJvbHMgd2hlbiBob3ZlcmVkLlxuLy8vIEB0eXBlIENvbG9yXG4kb3JiaXQtY29udHJvbC1iYWNrZ3JvdW5kLWhvdmVyOiByZ2JhKCRibGFjaywgMC41KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgT3JiaXQncyBjb250cm9scy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1jb250cm9sLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHotaW5kZXggZm9yIE9yYml0J3MgY29udHJvbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtY29udHJvbC16aW5kZXg6IDEwICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBvdXRlciBPcmJpdCB3cmFwcGVyLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXRgIGNsYXNzLlxuQG1peGluIG9yYml0LXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGlubmVyIE9yYml0IHNsaWRlIGNvbnRhaW5lci4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LWNvbnRhaW5lcmAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7IC8vIFByZXZlbnQgRk9VQyBieSBub3Qgc2hvd2luZyB1bnRpbCBKUyBzZXRzIGhlaWdodFxuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGluZGl2aWR1YWwgc2xpZGVzIG9mIGFuIE9yYml0IHNsaWRlci4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LXNsaWRlYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1zbGlkZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgJi5uby1tb3Rpb251aSB7XG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG9yYml0LWZpZ3VyZSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHNsaWRlIGNvbnRhaW5pbmcgYW4gaW1hZ2UuIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1pbWFnZWAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtaW1hZ2Uge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gb3JiaXQgc2xpZGUgY2FwdGlvbi4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LWNhcHRpb25gIGNsYXNzLlxuQG1peGluIG9yYml0LWNhcHRpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHBhZGRpbmc6ICRvcmJpdC1jYXB0aW9uLXBhZGRpbmc7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWNhcHRpb24tYmFja2dyb3VuZDtcbiAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJG9yYml0LWNhcHRpb24tYmFja2dyb3VuZCk7XG59XG5cbi8vLyBBZGRzIGJhc2Ugc3R5bGVzIGZvciB0aGUgbmV4dC9wcmV2aW91cyBidXR0b25zIGluIGFuIE9yYml0IHNsaWRlci4gVGhlc2Ugc3R5bGVzIGFyZSBzaGFyZWQgYmV0d2VlbiB0aGUgYC5vcmJpdC1uZXh0YCBhbmQgYC5vcmJpdC1wcmV2aW91c2AgY2xhc3NlcyBpbiB0aGUgZGVmYXVsdCBDU1MuXG5AbWl4aW4gb3JiaXQtY29udHJvbCB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgQGluY2x1ZGUgdmVydGljYWwtY2VudGVyO1xuICB6LWluZGV4OiAkb3JiaXQtY29udHJvbC16aW5kZXg7XG4gIHBhZGRpbmc6ICRvcmJpdC1jb250cm9sLXBhZGRpbmc7XG4gIGNvbG9yOiAkd2hpdGU7XG5cbiAgJjpob3ZlcixcbiAgJjphY3RpdmUsXG4gICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1jb250cm9sLWJhY2tncm91bmQtaG92ZXI7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgT3JiaXQgcHJldmlvdXMgYnV0dG9uLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtcHJldmlvdXNgIGNsYXNzLlxuQG1peGluIG9yYml0LXByZXZpb3VzIHtcbiAgI3skZ2xvYmFsLWxlZnR9OiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBPcmJpdCBuZXh0IGJ1dHRvbi4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LW5leHRgIGNsYXNzLlxuQG1peGluIG9yYml0LW5leHQge1xuICAjeyRnbG9iYWwtbGVmdH06IGF1dG87XG4gICN7JGdsb2JhbC1yaWdodH06IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjb250YWluZXIgb2YgT3JiaXQgYnVsbGV0cy4gLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgT3JiaXQgcHJldmlvdXMgYnV0dG9uLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtYnVsbGV0c2AgY2xhc3MuXG5AbWl4aW4gb3JiaXQtYnVsbGV0cyB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tdG9wOiAkb3JiaXQtYnVsbGV0LW1hcmdpbi10b3A7XG4gIG1hcmdpbi1ib3R0b206ICRvcmJpdC1idWxsZXQtbWFyZ2luLWJvdHRvbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gIGJ1dHRvbiB7XG4gICAgd2lkdGg6ICRvcmJpdC1idWxsZXQtZGlhbWV0ZXI7XG4gICAgaGVpZ2h0OiAkb3JiaXQtYnVsbGV0LWRpYW1ldGVyO1xuICAgIG1hcmdpbjogJG9yYml0LWJ1bGxldC1tYXJnaW47XG5cbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtYnVsbGV0LWJhY2tncm91bmQtYWN0aXZlO1xuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1idWxsZXQtYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW9yYml0IHtcbiAgLm9yYml0IHtcbiAgICBAaW5jbHVkZSBvcmJpdC13cmFwcGVyO1xuICB9XG5cbiAgLm9yYml0LWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgb3JiaXQtY29udGFpbmVyO1xuICB9XG5cbiAgLm9yYml0LXNsaWRlIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1zbGlkZTtcbiAgfVxuXG4gIC5vcmJpdC1maWd1cmUge1xuICAgIEBpbmNsdWRlIG9yYml0LWZpZ3VyZTtcbiAgfVxuXG4gIC5vcmJpdC1pbWFnZSB7XG4gICAgQGluY2x1ZGUgb3JiaXQtaW1hZ2U7XG4gIH1cblxuICAub3JiaXQtY2FwdGlvbiB7XG4gICAgQGluY2x1ZGUgb3JiaXQtY2FwdGlvbjtcbiAgfVxuXG4gICVvcmJpdC1jb250cm9sIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1jb250cm9sO1xuICB9XG5cbiAgLm9yYml0LXByZXZpb3VzIHtcbiAgICBAZXh0ZW5kICVvcmJpdC1jb250cm9sO1xuICAgIEBpbmNsdWRlIG9yYml0LXByZXZpb3VzO1xuICB9XG5cbiAgLm9yYml0LW5leHQge1xuICAgIEBleHRlbmQgJW9yYml0LWNvbnRyb2w7XG4gICAgQGluY2x1ZGUgb3JiaXQtbmV4dDtcbiAgfVxuXG4gIC5vcmJpdC1idWxsZXRzIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1idWxsZXRzO1xuICB9XG59XG4iLAoJCSIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcmVzcG9uc2l2ZS1lbWJlZFxuLy8vL1xuXG4vLy8gTWFyZ2luIGJlbG93IGEgcmVzcG9uc2l2ZSBlbWJlZCBjb250YWluZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmVzcG9uc2l2ZS1lbWJlZC1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG5cbi8vLyBBc3BlY3QgcmF0aW9zIHVzZWQgdG8gZGV0ZXJtaW5lIHBhZGRpbmctYm90dG9tIG9mIHJlc3BvbnNpdmUgZW1iZWQgY29udGFpbmVycy5cbi8vLyBAdHlwZSBNYXBcbiRyZXNwb25zaXZlLWVtYmVkLXJhdGlvczogKFxuICBkZWZhdWx0OiA0IGJ5IDMsXG4gIHdpZGVzY3JlZW46IDE2IGJ5IDksXG4pICFkZWZhdWx0O1xuXG4vLy8gQ3JlYXRlcyBhIHJlc3BvbnNpdmUgZW1iZWQgY29udGFpbmVyLlxuLy8vIEBwYXJhbSB7U3RyaW5nfExpc3R9ICRyYXRpbyBbZGVmYXVsdF0gLSBSYXRpbyBvZiB0aGUgY29udGFpbmVyLiBDYW4gYmUgYSBrZXkgZnJvbSB0aGUgYCRyZXNwb25zaXZlLWVtYmVkLXJhdGlvc2AgbWFwIG9yIGEgbGlzdCBmb3JtYXR0ZWQgYXMgYHggYnkgeWAuXG5AbWl4aW4gcmVzcG9uc2l2ZS1lbWJlZCgkcmF0aW86IGRlZmF1bHQpIHtcbiAgQGlmIHR5cGUtb2YoJHJhdGlvKSA9PSAnc3RyaW5nJyB7XG4gICAgJHJhdGlvOiBtYXAtZ2V0KCRyZXNwb25zaXZlLWVtYmVkLXJhdGlvcywgJHJhdGlvKTtcbiAgfVxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luLWJvdHRvbTogJHJlc3BvbnNpdmUtZW1iZWQtbWFyZ2luLWJvdHRvbTtcbiAgcGFkZGluZy1ib3R0b206IHJhdGlvLXRvLXBlcmNlbnRhZ2UoJHJhdGlvKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICBpZnJhbWUsXG4gIG9iamVjdCxcbiAgZW1iZWQsXG4gIHZpZGVvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgICN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tcmVzcG9uc2l2ZS1lbWJlZCB7XG4gIC5yZXNwb25zaXZlLWVtYmVkLFxuICAuZmxleC12aWRlbyB7XG4gICAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1lbWJlZCgkcmF0aW86IGRlZmF1bHQpO1xuXG4gICAgJHJhdGlvczogbWFwLXJlbW92ZSgkcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3MsZGVmYXVsdCk7XG5cbiAgICBAZWFjaCAkbmFtZSwgJHJhdGlvIGluICRyYXRpb3Mge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiByYXRpby10by1wZXJjZW50YWdlKCRyYXRpbyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLAoJCSIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGFic1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gb2YgdGhlIHRhYiBiYXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFiLW1hcmdpbjogMCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiBhIHRhYiBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBvZiB0YWIgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBBY3RpdmUgYmFja2dyb3VuZCBjb2xvciBvZiBhIHRhYiBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItYmFja2dyb3VuZC1hY3RpdmU6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQWN0aXZlIGZvbnQgY29sb3Igb2YgdGFiIGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItYWN0aXZlLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiB0YWIgaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFiLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGl0ZW1zIGluIGEgTWVudS5cbiR0YWItaXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgb2YgYSB0YWIgaXRlbS5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWItaXRlbS1wYWRkaW5nOiAxLjI1cmVtIDEuNXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWNvbnRlbnQtYm9yZGVyOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kdGFiLWNvbnRlbnQtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHRhYiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gYSBgPHVsPmAuXG5AbWl4aW4gdGFicy1jb250YWluZXIgKFxuICAkbWFyZ2luOiAkdGFiLW1hcmdpbixcbiAgJGJhY2tncm91bmQ6ICR0YWItYmFja2dyb3VuZCxcbiAgJGJvcmRlci1jb2xvcjogJHRhYi1jb250ZW50LWJvcmRlclxuKSB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXJnaW46ICRtYXJnaW47XG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG59XG5cbi8vLyBBdWdtZW50cyBhIHRhYiBjb250YWluZXIgdG8gaGF2ZSB2ZXJ0aWNhbCB0YWJzLiBVc2UgdGhpcyBpbiBjb25qdW5jdGlvbiB3aXRoIGB0YWJzLWNvbnRhaW5lcigpYC5cbkBtaXhpbiB0YWJzLWNvbnRhaW5lci12ZXJ0aWNhbCB7XG4gID4gbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsb2F0OiBub25lO1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGxpbmtzIHdpdGhpbiBhIHRhYiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gdGhlIGA8bGk+YCBlbGVtZW50cyBpbnNpZGUgYSB0YWIgY29udGFpbmVyLlxuQG1peGluIHRhYnMtdGl0bGUgKFxuICAkcGFkZGluZzogJHRhYi1pdGVtLXBhZGRpbmcsXG4gICRmb250LXNpemU6ICR0YWItaXRlbS1mb250LXNpemUsXG4gICRjb2xvcjogJHRhYi1jb2xvcixcbiAgJGNvbG9yLWFjdGl2ZTogJHRhYi1hY3RpdmUtY29sb3IsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcixcbiAgJGJhY2tncm91bmQtYWN0aXZlOiAkdGFiLWJhY2tncm91bmQtYWN0aXZlXG4pIHtcbiAgZmxvYXQ6ICN7JGdsb2JhbC1sZWZ0fTtcblxuICA+IGEge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAkcGFkZGluZztcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY29sb3I6ICRjb2xvcjtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtaG92ZXI7XG4gICAgICBjb2xvcjogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKTtcbiAgICB9XG5cbiAgICAmOmZvY3VzLFxuICAgICZbYXJpYS1zZWxlY3RlZD0ndHJ1ZSddIHtcbiAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgICAgIGNvbG9yOiAkY29sb3ItYWN0aXZlO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSB3cmFwcGVyIHRoYXQgc3Vycm91bmRzIGEgdGFiIGdyb3VwJ3MgY29udGVudCBwYW5lcy5cbkBtaXhpbiB0YWJzLWNvbnRlbnQgKFxuICAkYmFja2dyb3VuZDogJHRhYi1jb250ZW50LWJhY2tncm91bmQsXG4gICRjb2xvcjogJHRhYi1jb250ZW50LWNvbG9yLFxuICAkYm9yZGVyLWNvbG9yOiAkdGFiLWNvbnRlbnQtYm9yZGVyXG4pIHtcbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgYm9yZGVyLXRvcDogMDtcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gIGNvbG9yOiAkY29sb3I7XG4gIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7XG59XG5cbi8vLyBBdWdtZW50cyBhIHRhYiBjb250ZW50IGNvbnRhaW5lciB0byBoYXZlIGEgdmVydGljYWwgc3R5bGUsIGJ5IHNoaWZ0aW5nIHRoZSBib3JkZXIgYXJvdW5kLiBVc2UgdGhpcyBpbiBjb25qdW5jdGlvbiB3aXRoIGB0YWJzLWNvbnRlbnQoKWAuXG5AbWl4aW4gdGFicy1jb250ZW50LXZlcnRpY2FsIChcbiAgJGJvcmRlci1jb2xvcjogJHRhYi1jb250ZW50LWJvcmRlclxuKSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gaW5kaXZpZHVhbCB0YWIgY29udGVudCBwYW5lbCB3aXRoaW4gdGhlIHRhYiBjb250ZW50IGNvbnRhaW5lci5cbkBtaXhpbiB0YWJzLXBhbmVsIChcbiAgJHBhZGRpbmc6ICR0YWItY29udGVudC1wYWRkaW5nXG4pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG5cbiAgJi5pcy1hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRhYnMge1xuICAudGFicyB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250YWluZXI7XG4gIH1cblxuICAvLyBWZXJ0aWNhbFxuICAudGFicy52ZXJ0aWNhbCB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250YWluZXItdmVydGljYWw7XG4gIH1cblxuICAvLyBTaW1wbGVcbiAgLnRhYnMuc2ltcGxlIHtcbiAgICA+IGxpID4gYSB7XG4gICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUHJpbWFyeSBjb2xvclxuICAudGFicy5wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcblxuICAgID4gbGkgPiBhIHtcbiAgICAgIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRwcmltYXJ5LWNvbG9yKTtcblxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkcHJpbWFyeS1jb2xvcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnRhYnMtdGl0bGUge1xuICAgIEBpbmNsdWRlIHRhYnMtdGl0bGU7XG4gIH1cblxuICAudGFicy1jb250ZW50IHtcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRlbnQ7XG4gIH1cblxuICAudGFicy1jb250ZW50LnZlcnRpY2FsIHtcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRlbnQtdmVydGljYWw7XG4gIH1cblxuICAudGFicy1wYW5lbCB7XG4gICAgQGluY2x1ZGUgdGFicy1wYW5lbDtcbiAgfVxufVxuIiwKCQkiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRodW1ibmFpbFxuLy8vL1xuXG4vLy8gQm9yZGVyIGFyb3VuZCB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIEJvcmRlclxuJHRodW1ibmFpbC1ib3JkZXI6IDRweCBzb2xpZCAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIGZvciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIExlbmd0aFxuJHRodW1ibmFpbC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgdW5kZXIgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBTaGFkb3dcbiR0aHVtYm5haWwtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgkYmxhY2ssIDAuMikgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IHVuZGVyIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgU2hhZG93XG4kdGh1bWJuYWlsLXNoYWRvdy1ob3ZlcjogMCAwIDZweCAxcHggcmdiYSgkcHJpbWFyeS1jb2xvciwgMC41KSAhZGVmYXVsdDtcblxuLy8vIFRyYW5zaXRpb24gcHJvcHJ0aWVzIGZvciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiR0aHVtYm5haWwtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAyMDBtcyBlYXNlLW91dCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIE51bWJlclxuJHRodW1ibmFpbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQWRkcyB0aHVtYm5haWwgc3R5bGVzIHRvIGFuIGVsZW1lbnQuXG5AbWl4aW4gdGh1bWJuYWlsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206ICR0aHVtYm5haWwtbWFyZ2luLWJvdHRvbTtcblxuICBib3JkZXI6ICR0aHVtYm5haWwtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkdGh1bWJuYWlsLXJhZGl1cztcbiAgYm94LXNoYWRvdzogJHRodW1ibmFpbC1zaGFkb3c7XG5cbiAgbGluZS1oZWlnaHQ6IDA7XG59XG5cbkBtaXhpbiB0aHVtYm5haWwtbGluayB7XG4gIHRyYW5zaXRpb246ICR0aHVtYm5haWwtdHJhbnNpdGlvbjtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiAkdGh1bWJuYWlsLXNoYWRvdy1ob3ZlcjtcbiAgfVxuXG4gIGltYWdlIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRodW1ibmFpbCB7XG4gIC50aHVtYm5haWwge1xuICAgIEBpbmNsdWRlIHRodW1ibmFpbDtcbiAgfVxuXG4gIGEudGh1bWJuYWlsIHtcbiAgICBAaW5jbHVkZSB0aHVtYm5haWwtbGluaztcbiAgfVxufVxuIiwKCQkiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIG1lbnVcbi8vLy9cblxuLy8vIE1hcmdpbiBvZiBhIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0LWhhbmQgbWFyZ2luIG9mIGEgbmVzdGVkIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1uZXN0ZWQtbWFyZ2luOiAkZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIGl0ZW1zIGluIGEgcGlsbCBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtaXRlbXMtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBtYXJnaW4gZm9yIGl0ZW1zIGluIGEgc2ltcGxlIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1zaW1wbGUtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBhbiBhY3RpdmUgbWVudSBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQWx0ZXJuYXRpdmUgdGV4dCBjb2xvciBvZiBhbiBhY3RpdmUgbWVudSBpdGVtLi5cbi8vLyBAdHlwZSBDb2xvclxuJG1lbnUtaXRlbS1jb2xvci1hbHQtYWN0aXZlOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIGFjdGl2ZSBtZW51IGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IGdldC1jb2xvcihwcmltYXJ5KSAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiBhbiBpY29uIGFuZCB0ZXh0IGluIGEgbWVudSBpdGVtLlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtaWNvbi1zcGFjaW5nOiAwLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gQmFja3dhcmQgY29tcGF0aWJpbGl0eSBmb3IgbWVudSBzdGF0ZS4gSWYgdHJ1ZSwgdGhpcyBkdXBsaWNhdGUgYGFjdGl2ZWAgd2l0aCBgaXMtYWN0aXZlYC4gXG4vLy8gQnV0IHBsZWFzZSBub3RlIHRoYXQgYGFjdGl2ZWAgd2lsbCBiZSByZW1vdmVkIGluIHVwY29taW5nIHZlcnNpb25zLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRtZW51LXN0YXRlLWJhY2stY29tcGF0OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQmFja3dhcmQgY29tcGF0aWJpbGl0eSBmb3IgbWVudSBjZW50ZXJlZC4gSWYgdHJ1ZSwgdGhpcyBkdXBsaWNhdGUgYC5tZW51LWNlbnRlcmVkID4gLm1lbnVgIHdpdGggYC5tZW51LmFsaWduLWNlbnRlcmAuIFxuLy8vIEJ1dCBwbGVhc2Ugbm90ZSB0aGF0IGBtZW51LWNlbnRlcmVkYCB3aWxsIGJlIHJlbW92ZWQgaW4gdXBjb21pbmcgdmVyc2lvbnMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJG1lbnUtY2VudGVyZWQtYmFjay1jb21wYXQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrd2FyZCBjb21wYXRpYmlsaXR5IGZvciB1c2luZyBgaWNvbi0qYCBjbGFzc2VzIHdpdGhvdXQgYC5pY29uc2AgY2xhc3Nlc1xuLy8vIEJ1dCBwbGVhc2Ugbm90ZSB0aGF0IHRoaXMgYmFja3dhcmQgY29tcGF0aWJpbGl0eSB3aWxsIGJlIHJlbW92ZWQgaW4gdXBjb21pbmcgdmVyc2lvbnMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJG1lbnUtaWNvbnMtYmFjay1jb21wYXQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBDcmVhdGVzIHRoZSBiYXNlIHN0eWxlcyBmb3IgYSBNZW51LlxuQG1peGluIG1lbnUtYmFzZSB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG5cbiAgbGkge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgfVxuXG4gIGEsXG4gIC5idXR0b24ge1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAkbWVudS1pdGVtcy1wYWRkaW5nO1xuICB9XG5cbiAgLy8gUmVzZXQgc3R5bGVzIG9mIGlubmVyIGVsZW1lbnRzXG4gIGlucHV0LFxuICBzZWxlY3QsXG4gIGEsXG4gIGJ1dHRvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIGlucHV0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cbn1cblxuLy8vIEV4cGFuZHMgdGhlIGl0ZW1zIG9mIGEgTWVudSwgc28gZWFjaCBpdGVtIGlzIHRoZSBzYW1lIHdpZHRoLlxuQG1peGluIG1lbnUtZXhwYW5kIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgbGkge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgPiBsaSB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFsaWduIG1lbnUgaXRlbXMuXG5AbWl4aW4gbWVudS1hbGlnbigkYWxpZ25tZW50KSB7XG4gIEBpZiAkYWxpZ25tZW50ID09IGxlZnQge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLWxlZnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRhbGlnbm1lbnQgPT0gcmlnaHQge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXG4gICAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi52ZXJ0aWNhbCBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLXJpZ2h0O1xuXG4gICAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLXJpZ2h0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtcmlnaHQ7XG5cbiAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1sZWZ0O1xuICAgICAgfVxuXG4gICAgICAmLnZlcnRpY2FsIHtcbiAgICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtcmlnaHQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGFsaWdubWVudCA9PSBjZW50ZXIge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLWxlZnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBTZXRzIHRoZSBkaXJlY3Rpb24gb2YgYSBNZW51LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciBbaG9yaXpvbnRhbF0gLSBEaXJlY3Rpb24gb2YgdGhlIE1lbnUuIENhbiBiZSBgaG9yaXpvbnRhbGAgb3IgYHZlcnRpY2FsYC5cbkBtaXhpbiBtZW51LWRpcmVjdGlvbigkZGlyOiBob3Jpem9udGFsKSB7XG4gIEBpZiAkZGlyID09IGhvcml6b250YWwge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRkaXIgPT0gdmVydGljYWwge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQHdhcm4gJ1RoZSBkaXJlY3Rpb24gdXNlZCBmb3IgbWVudS1kaXJlY3Rpb24oKSBtdXN0IGJlIGhvcml6b250YWwgb3IgdmVydGljYWwuJztcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIHNpbXBsZSBNZW51LCB3aGljaCBoYXMgbm8gcGFkZGluZyBvciBob3ZlciBzdGF0ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgWyRnbG9iYWwtbGVmdF0gLSBEaXJlY3Rpb24gb2YgdGhlIG1lbnUuIFRoaXMgZWZmZWN0cyB0aGUgc2lkZSBvZiB0aGUgYDxsaT5gIHRoYXQgcmVjZWl2ZXMgdGhlIG1hcmdpbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1hcmdpbiBbJG1lbnUtc2ltcGxlLW1hcmdpbl0gLSBUaGUgbWFyZ2luIHRvIGFwcGx5IHRvIGVhY2ggYDxsaT5gLlxuQG1peGluIG1lbnUtc2ltcGxlKCRkaXI6ICRnbG9iYWwtbGVmdCwgJG1hcmdpbjogJG1lbnUtc2ltcGxlLW1hcmdpbikge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG5cbiAgbGkgKyBsaSB7XG4gICAgbWFyZ2luLSN7JGRpcn06ICRtYXJnaW47XG4gIH1cblxuICBhIHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBuZXN0ZWQgTWVudSwgYnkgYWRkaW5nIGBtYXJnaW4tbGVmdGAgdG8gdGhlIG1lbnUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJG1hcmdpbiBbJG1lbnUtbmVzdGVkLW1hcmdpbl0gLSBMZW5ndGggb2YgdGhlIG1hcmdpbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRuZXN0ZWQtYWxpZ25tZW50IFtsZWZ0XSAtIEFsaWdubWVudCBvZiB0aGUgbmVzdGVkIGNsYXNzXG5AbWl4aW4gbWVudS1uZXN0ZWQoXG4gICRtYXJnaW46ICRtZW51LW5lc3RlZC1tYXJnaW4sXG4gICRuZXN0ZWQtYWxpZ25tZW50OiBsZWZ0XG4pIHtcbiAgQGlmICRuZXN0ZWQtYWxpZ25tZW50ID09IHJpZ2h0IHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJG1hcmdpbjtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICB9XG4gIEBlbHNlIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbWFyZ2luO1xuICB9XG5cbn1cblxuLy8vIEFkZHMgYmFzaWMgc3R5bGVzIGZvciBpY29ucyBpbiBtZW51cy5cbkBtaXhpbiBtZW51LWljb25zKCkge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBhIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBpbWcsXG4gICAgaSxcbiAgICBzdmcge1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgICAgKyBzcGFuIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgcG9zaXRpb24gY2xhc3NlcyBmb3IgaWNvbnMgd2l0aGluIGEgbWVudS5cbkBtaXhpbiBtZW51LWljb24tcG9zaXRpb24oJHBvc2l0aW9uOiBsZWZ0LCAkc3BhY2luZzogJG1lbnUtaWNvbi1zcGFjaW5nKSB7XG4gIEBpZiAkcG9zaXRpb24gPT0gbGVmdCB7XG4gICAgbGkgYSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICBpLFxuICAgICAgc3ZnIHtcbiAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nO1xuXG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHJpZ2h0IHtcbiAgICBsaSBhIHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICB9XG5cbiAgICAgIGltZyxcbiAgICAgIGksXG4gICAgICBzdmcge1xuICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkc3BhY2luZztcblxuICAgICAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSB0b3Age1xuICAgIGxpIGEge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICBpLFxuICAgICAgc3ZnIHtcbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbjogMCBhdXRvICRzcGFjaW5nO1xuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gYm90dG9tIHtcbiAgICBsaSBhIHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgaW1nLFxuICAgICAgaSxcbiAgICAgIHN2ZyB7XG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW46ICRzcGFjaW5nIGF1dG8gMDtcbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZztcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1lbnUtdGV4dCB7XG4gIHBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xuXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG5cbkBtaXhpbiBtZW51LXN0YXRlLWFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6ICRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU7XG4gIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmUsICgkbWVudS1pdGVtLWNvbG9yLWFjdGl2ZSwgJG1lbnUtaXRlbS1jb2xvci1hbHQtYWN0aXZlKSk7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW1lbnUge1xuICAubWVudSB7XG4gICAgQGluY2x1ZGUgbWVudS1iYXNlO1xuXG4gICAgLy8gRGVmYXVsdCBvcmllbnRhdGlvbjogaG9yaXpvbnRhbFxuICAgICYsICYuaG9yaXpvbnRhbCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbihob3Jpem9udGFsKTtcbiAgICB9XG5cbiAgICAvLyBWZXJ0aWNhbCBvcmllbnRhdGlvbiBtb2RpZmllclxuICAgICYudmVydGljYWwge1xuICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgIH1cblxuICAgIC8vIEV2ZW4td2lkdGggbW9kaWZpZXIgZm9yIGhvcml6b250YWwgb3JpZW50YXRpb25cbiAgICAmLmV4cGFuZGVkIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtZXhwYW5kO1xuICAgIH1cblxuICAgIC8vIFNpbXBsZVxuICAgICYuc2ltcGxlIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtc2ltcGxlO1xuICAgIH1cblxuICAgIC8vIEJyZWFrcG9pbnQgc3BlY2lmaWMgdmVyc2lvbnNcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCRzbWFsbDogZmFsc2UpIHtcbiAgICAgICYuI3skLXpmLXNpemV9LWhvcml6b250YWwge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbihob3Jpem9udGFsKTtcbiAgICAgIH1cblxuICAgICAgJi4jeyQtemYtc2l6ZX0tdmVydGljYWwge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgICB9XG5cbiAgICAgICYuI3skLXpmLXNpemV9LWV4cGFuZGVkIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1leHBhbmQ7XG4gICAgICB9XG5cbiAgICAgICYuI3skLXpmLXNpemV9LXNpbXBsZSB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtZXhwYW5kO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIE5lc3RpbmdcbiAgICAmLm5lc3RlZCB7XG4gICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZDtcbiAgICB9XG5cbiAgICAvLyBJY29uIEJhc2UgU3R5bGVzXG4gICAgJi5pY29ucyB7XG4gICAgICBAaW5jbHVkZSBtZW51LWljb25zO1xuICAgIH1cblxuICAgIC8vIEJhY2t3YXJkIENvbXBhdGliaWxpdHkgZm9yIGFjdGl2ZSBzdGF0ZVxuICAgIEBpZiAkbWVudS1pY29ucy1iYWNrLWNvbXBhdCB7XG4gICAgICAmLmljb24tdG9wLFxuICAgICAgJi5pY29uLXJpZ2h0LFxuICAgICAgJi5pY29uLWJvdHRvbSxcbiAgICAgICYuaWNvbi1sZWZ0IHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1pY29ucztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBJY29uIExlZnRcbiAgICAmLmljb24tbGVmdCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWljb24tcG9zaXRpb24obGVmdCk7XG4gICAgfVxuXG4gICAgLy8gSWNvbiBSaWdodFxuICAgICYuaWNvbi1yaWdodCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWljb24tcG9zaXRpb24ocmlnaHQpO1xuICAgIH1cblxuICAgIC8vIEljb24gVG9wXG4gICAgJi5pY29uLXRvcCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWljb24tcG9zaXRpb24odG9wKTtcbiAgICB9XG5cbiAgICAvLyBJY29uIEJvdHRvbVxuICAgICYuaWNvbi1ib3R0b20ge1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29uLXBvc2l0aW9uKGJvdHRvbSk7XG4gICAgfVxuXG4gICAgLy8gQWN0aXZlIHN0YXRlXG4gICAgLmlzLWFjdGl2ZSA+IGEge1xuICAgICAgQGluY2x1ZGUgbWVudS1zdGF0ZS1hY3RpdmU7XG4gICAgfVxuICAgIFxuICAgIC8vIEJhY2t3YXJkIENvbXBhdGliaWxpdHkgZm9yIGFjdGl2ZSBzdGF0ZVxuICAgIEBpZiAkbWVudS1zdGF0ZS1iYWNrLWNvbXBhdCB7XG4gICAgICAuYWN0aXZlID4gYSB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtc3RhdGUtYWN0aXZlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEFsaWduIGxlZnRcbiAgICAmLmFsaWduLSN7JGdsb2JhbC1sZWZ0fSB7XG4gICAgICBAaW5jbHVkZSBtZW51LWFsaWduKGxlZnQpO1xuICAgIH1cblxuICAgIC8vIEFsaWduIHJpZ2h0XG4gICAgJi5hbGlnbi0jeyRnbG9iYWwtcmlnaHR9IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtYWxpZ24ocmlnaHQpO1xuXG4gICAgICAubmVzdGVkIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQoJG5lc3RlZC1hbGlnbm1lbnQ6IHJpZ2h0KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBBbGlnbiBjZW50ZXJcbiAgICAmLmFsaWduLWNlbnRlciB7XG4gICAgICBAaW5jbHVkZSBtZW51LWFsaWduKGNlbnRlcik7XG4gICAgfVxuXG4gICAgLm1lbnUtdGV4dCB7XG4gICAgICBAaW5jbHVkZSBtZW51LXRleHQ7XG4gICAgfVxuICB9XG5cbiAgQGlmICRtZW51LWNlbnRlcmVkLWJhY2stY29tcGF0IHtcbiAgICAubWVudS1jZW50ZXJlZCB7XG4gICAgICA+IC5tZW51IHtcbiAgICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIEBpbmNsdWRlIG1lbnUtYWxpZ24oY2VudGVyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBQcmV2ZW50IEZPVUMgd2hlbiB1c2luZyB0aGUgUmVzcG9uc2l2ZSBNZW51IHBsdWdpblxuICAubm8tanMgW2RhdGEtcmVzcG9uc2l2ZS1tZW51XSB1bCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuIiwKCQkiQG1peGluIGZvdW5kYXRpb24tbWVudS1pY29uIHtcbiAgLm1lbnUtaWNvbiB7XG4gICAgQGluY2x1ZGUgaGFtYnVyZ2VyKCRjb2xvcjogJHRpdGxlYmFyLWljb24tY29sb3IsICRjb2xvci1ob3ZlcjogJHRpdGxlYmFyLWljb24tY29sb3ItaG92ZXIpO1xuICB9XG5cbiAgLm1lbnUtaWNvbi5kYXJrIHtcbiAgICBAaW5jbHVkZSBoYW1idXJnZXI7XG4gIH1cbn1cbiIsCgkJIi8vLy9cbi8vLyBAZ3JvdXAgYWNjb3JkaW9uLW1lbnVcbi8vLy9cblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgcGFkZGluZy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb25tZW51LXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBuZXN0ZWQgbWFyZ2luXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9ubWVudS1uZXN0ZWQtbWFyZ2luOiAkZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgc3VibWVudSBwYWRkaW5nLlxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbm1lbnUtc3VibWVudS1wYWRkaW5nOiAkYWNjb3JkaW9ubWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBpZiBhY2NvcmRpb24gbWVudXMgaGF2ZSB0aGUgZGVmYXVsdCBhcnJvdyBzdHlsZXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFjY29yZGlvbm1lbnUtYXJyb3dzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBhcnJvdyBjb2xvciBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGl0ZW0gcGFkZGluZy5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbm1lbnUtaXRlbS1iYWNrZ3JvdW5kOiBudWxsICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBpdGVtIGJvcmRlci5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbm1lbnUtYm9yZGVyOiBudWxsICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBpdGVtIHBhZGRpbmcuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWJhY2tncm91bmQ6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGl0ZW0gcGFkZGluZy5cbi8vLyBAdHlwZSBMaXN0XG4kYWNjb3JkaW9uLXN1Ym1lbnUtdG9nZ2xlLWJvcmRlcjogJGFjY29yZGlvbm1lbnUtYm9yZGVyICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBzdWJtZW51IHRvZ2dsZSBiYWNrZ3JvdW5kIHdpZHRoLlxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg6IDQwcHggIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IHN1Ym1lbnUgdG9nZ2xlIGJhY2tncm91bmQgaGVpZ2h0LlxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtaGVpZ2h0OiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aCAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgYXJyb3cgc2l6ZSBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIExlbmd0aFxuJGFjY29yZGlvbm1lbnUtYXJyb3ctc2l6ZTogNnB4ICFkZWZhdWx0O1xuXG5AbWl4aW4gemYtYWNjb3JkaW9uLW1lbnUtbGVmdC1yaWdodC1hcnJvd3Mge1xuICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50Om5vdCguaGFzLXN1Ym1lbnUtdG9nZ2xlKSA+IGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplLCAkYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvciwgZG93bik7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIG1hcmdpbi10b3A6IC0xICogKCRhY2NvcmRpb25tZW51LWFycm93LXNpemUgLyAyKTtcbiAgICAgICN7JGdsb2JhbC1yaWdodH06IDFyZW07XG4gICAgfVxuICB9XG5cbiAgJi5hbGlnbi1sZWZ0IC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IDFyZW07XG4gICAgbGVmdDogYXV0bztcbiAgfVxuXG4gICYuYWxpZ24tcmlnaHQgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxcmVtO1xuICB9XG59XG5AbWl4aW4gZm91bmRhdGlvbi1hY2NvcmRpb24tbWVudSB7XG5cbiAgLmFjY29yZGlvbi1tZW51IHtcbiAgICBAaWYgJGFjY29yZGlvbm1lbnUtYm9yZGVyIHtcbiAgICAgIGJvcmRlci1ib3R0b206ICRhY2NvcmRpb25tZW51LWJvcmRlcjtcbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICBAaWYgJGFjY29yZGlvbm1lbnUtYm9yZGVyIHtcbiAgICAgICAgYm9yZGVyLXRvcDogJGFjY29yZGlvbm1lbnUtYm9yZGVyO1xuICAgICAgICBib3JkZXItcmlnaHQ6ICRhY2NvcmRpb25tZW51LWJvcmRlcjtcbiAgICAgICAgYm9yZGVyLWxlZnQ6ICRhY2NvcmRpb25tZW51LWJvcmRlcjtcbiAgICAgIH1cbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgQGlmICRhY2NvcmRpb25tZW51LWl0ZW0tYmFja2dyb3VuZCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRhY2NvcmRpb25tZW51LWl0ZW0tYmFja2dyb3VuZDtcbiAgICAgIH1cbiAgICAgIHBhZGRpbmc6ICRhY2NvcmRpb25tZW51LXBhZGRpbmc7XG4gICAgfVxuXG4gICAgLmlzLWFjY29yZGlvbi1zdWJtZW51IGEge1xuICAgICAgcGFkZGluZzogJGFjY29yZGlvbm1lbnUtc3VibWVudS1wYWRkaW5nO1xuICAgIH1cblxuICAgIC5uZXN0ZWQuaXMtYWNjb3JkaW9uLXN1Ym1lbnUge1xuICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQoJGFjY29yZGlvbm1lbnUtbmVzdGVkLW1hcmdpbik7XG4gICAgfVxuXG4gICAgJi5hbGlnbi0jeyRnbG9iYWwtcmlnaHR9IHtcbiAgICAgIC5uZXN0ZWQuaXMtYWNjb3JkaW9uLXN1Ym1lbnUge1xuICAgICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZCgkYWNjb3JkaW9ubWVudS1uZXN0ZWQtbWFyZ2luLCByaWdodCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRhY2NvcmRpb25tZW51LWFycm93cyB7XG4gICAgICBAaW5jbHVkZSB6Zi1hY2NvcmRpb24tbWVudS1sZWZ0LXJpZ2h0LWFycm93cztcblxuICAgICAgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudFthcmlhLWV4cGFuZGVkPSd0cnVlJ10gPiBhOjphZnRlciB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmlzLWFjY29yZGlvbi1zdWJtZW51IGxpIHtcbiAgICBAaWYgJGFjY29yZGlvbm1lbnUtYm9yZGVyIHtcbiAgICAgIGJvcmRlci1yaWdodDogMDtcbiAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgIH1cbiAgfVxuXG4gIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC5oYXMtc3VibWVudS10b2dnbGUgPiBhIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg7XG4gIH1cblxuICAvLyBTdWJtZW51IHRvZ2dsZVxuICAuc3VibWVudS10b2dnbGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgI3skZ2xvYmFsLXJpZ2h0fTogMDtcblxuICAgIHdpZHRoOiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aDtcbiAgICBoZWlnaHQ6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWhlaWdodDtcblxuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06ICRhY2NvcmRpb24tc3VibWVudS10b2dnbGUtYm9yZGVyO1xuXG4gICAgQGlmICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWJhY2tncm91bmQge1xuICAgICAgYmFja2dyb3VuZDogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtYmFja2dyb3VuZDtcbiAgICB9XG5cbiAgICAvLyBBZGQgdGhlIGFycm93IHRvIHRoZSB0b2dnbGVcbiAgICAmOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoNnB4LCAkYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvciwgZG93bik7XG5cbiAgICAgIHRvcDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICB9XG4gIH1cblxuICAvLyBSb3RhdGUgdGhlIGFycm93IHdoZW4gbWVudSBpcyBvcGVuXG4gIC5zdWJtZW51LXRvZ2dsZVthcmlhLWV4cGFuZGVkPSd0cnVlJ106OmFmdGVyIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWSgtMSk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTtcbiAgfVxuXG4gIC5zdWJtZW51LXRvZ2dsZS10ZXh0IHtcbiAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZTtcbiAgfVxufVxuIiwKCQkiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGRyaWxsZG93blxuLy8vL1xuXG4vLy8gVHJhbnNpdGlvbiBwcm9wZXJ0eSB0byB1c2UgZm9yIGFuaW1hdGluZyBtZW51cy5cbi8vLyBAdHlwZSBUcmFuc2l0aW9uXG4kZHJpbGxkb3duLXRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBsaW5lYXIgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIGFycm93cyB0byBkcmlsbGRvd24gaXRlbXMgd2l0aCBzdWJtZW51cywgYXMgd2VsbCBhcyB0aGUgYmFjayBidXR0b24uXG4vLy8gQHR5cGUgQm9vbGVhblxuJGRyaWxsZG93bi1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyaWxsZG93biBtZW51IGl0ZW0gcGFkZGluZy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcmlsbGRvd24tcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyaWxsZG93biBtZW51IG5lc3RlZCBtYXJnaW5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcmlsbGRvd24tbmVzdGVkLW1hcmdpbjogMCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGRyaWxsZG93biB0b3AgbGV2ZWwgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcmlsbGRvd24tYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcmlsbGRvd24gbWVudSBpdGVtIHBhZGRpbmcgaW4gdGhlIHN1Ym1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJpbGxkb3duLXN1Ym1lbnUtcGFkZGluZzogJGRyaWxsZG93bi1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgZHJpbGxkb3duIHN1Ym1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJpbGxkb3duLXN1Ym1lbnUtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcmlsbGRvd24gYXJyb3cgY29sb3IgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBDb2xvclxuJGRyaWxsZG93bi1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyaWxsZG93biBhcnJvdyBzaXplIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kZHJpbGxkb3duLWFycm93LXNpemU6IDZweCAhZGVmYXVsdDtcblxuQG1peGluIHpmLWRyaWxsZG93bi1sZWZ0LXJpZ2h0LWFycm93cyB7XG4gIC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyaWxsZG93bi1hcnJvdy1zaXplLCAkZHJpbGxkb3duLWFycm93LWNvbG9yLCAkZ2xvYmFsLXJpZ2h0KTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbWFyZ2luLXRvcDogLTEgKiAkZHJpbGxkb3duLWFycm93LXNpemU7XG4gICAgICAjeyRnbG9iYWwtcmlnaHR9OiAxcmVtO1xuICAgIH1cbiAgfVxuXG4gICYuYWxpZ24tbGVmdCAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJvcGRvd25tZW51LWFycm93LXNpemUsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIHJpZ2h0KTtcbiAgICByaWdodDogMXJlbTtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG5cbiAgJi5hbGlnbi1yaWdodCAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJvcGRvd25tZW51LWFycm93LXNpemUsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIGxlZnQpO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDFyZW07XG4gIH1cblxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1kcmlsbGRvd24tbWVudSB7XG4gIC8vIEFwcGxpZWQgdG8gdGhlIE1lbnUgY29udGFpbmVyXG4gIC5pcy1kcmlsbGRvd24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgbGkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgJi5hbmltYXRlLWhlaWdodCB7XG4gICAgICB0cmFuc2l0aW9uOiBoZWlnaHQgMC41cztcbiAgICB9XG4gIH1cblxuICAvLyBUaGUgdG9wIGxldmVsIDx1bD5cbiAgLmRyaWxsZG93biB7XG4gICAgYSB7XG4gICAgICBwYWRkaW5nOiAkZHJpbGxkb3duLXBhZGRpbmc7XG4gICAgICBiYWNrZ3JvdW5kOiAkZHJpbGxkb3duLWJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgLy8gQXBwbGllZCB0byBzdWJtZW51IDx1bD5zXG4gICAgLmlzLWRyaWxsZG93bi1zdWJtZW51IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgICN7JGdsb2JhbC1sZWZ0fTogMTAwJTtcbiAgICAgIHotaW5kZXg6IC0xO1xuXG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQ6ICRkcmlsbGRvd24tc3VibWVudS1iYWNrZ3JvdW5kO1xuICAgICAgdHJhbnNpdGlvbjogJGRyaWxsZG93bi10cmFuc2l0aW9uO1xuXG4gICAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBsdHIsIC0xMDAlLCAxMDAlKSk7XG4gICAgICB9XG5cbiAgICAgICYuaXMtY2xvc2luZyB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IGx0ciwgMTAwJSwgLTEwMCUpKTtcbiAgICAgIH1cblxuICAgICAgLy8gU3VibWVudSBpdGVtIHBhZGRpbmdcbiAgICAgIGEge1xuICAgICAgICBwYWRkaW5nOiAkZHJpbGxkb3duLXN1Ym1lbnUtcGFkZGluZztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubmVzdGVkLmlzLWRyaWxsZG93bi1zdWJtZW51IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRkcmlsbGRvd24tbmVzdGVkLW1hcmdpbik7XG4gICAgfVxuXG4gICAgLmRyaWxsZG93bi1zdWJtZW51LWNvdmVyLXByZXZpb3VzIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgQGlmICRkcmlsbGRvd24tYXJyb3dzIHtcbiAgICAgIEBpbmNsdWRlIHpmLWRyaWxsZG93bi1sZWZ0LXJpZ2h0LWFycm93cztcblxuICAgICAgLmpzLWRyaWxsZG93bi1iYWNrID4gYTo6YmVmb3JlIHtcbiAgICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcmlsbGRvd24tYXJyb3ctc2l6ZSwgJGRyaWxsZG93bi1hcnJvdy1jb2xvciwgJGdsb2JhbC1sZWZ0KTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMC43NXJlbTsgLy8gQ3JlYXRlcyBzcGFjZSBiZXR3ZWVuIHRoZSBhcnJvdyBhbmQgdGhlIHRleHRcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsCgkJIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBkcm9wZG93bi1tZW51XG4vLy8vXG5cbi8vLyBFbmFibGVzIGFycm93cyBmb3IgaXRlbXMgd2l0aCBkcm9wZG93biBtZW51cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZHJvcGRvd25tZW51LWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJvcGRvd24gbWVudSBhcnJvdyBjb2xvciBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd25tZW51LWFycm93LWNvbG9yOiAkYW5jaG9yLWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcm9wZG93biBtZW51IGFycm93IHNpemUgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBMZW5ndGhcbiRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZTogNnB4ICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcm9wZG93biBtZW51IGFycm93IHBhZGRpbmcgZm9yIGFsaWduaW5nIHRoZSBhcnJvdyBjb3JyZWN0bHkuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kZHJvcGRvd25tZW51LWFycm93LXBhZGRpbmc6IDEuNXJlbSAhZGVmYXVsdDtcblxuLy8vIE1pbmltdW0gd2lkdGggb2YgZHJvcGRvd24gc3ViLW1lbnVzLlxuLy8vIEB0eXBlIExlbmd0aFxuJGRyb3Bkb3dubWVudS1taW4td2lkdGg6IDIwMHB4ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgdG9wIGxldmVsIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd25tZW51LWJhY2tncm91bmQ6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBkcm9wZG93bnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bm1lbnUtc3VibWVudS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciB0b3AgbGV2ZWwgaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd25tZW51LXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcm9wZG93biBtZW51IG5lc3RlZCBtYXJnaW5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bm1lbnUtbmVzdGVkLW1hcmdpbjogMCAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIHN1Yi1tZW51IGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3dubWVudS1zdWJtZW51LXBhZGRpbmc6ICRkcm9wZG93bm1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBmb3IgZHJvcGRvd24gc3ViLW1lbnVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bm1lbnUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLyBCb3JkZXIgd2lkdGggZm9yIGRyb3Bkb3duIHN1Yi1tZW51cy5cbi8vIFVzZWQgdG8gYWRqdXN0IHRvcCBtYXJnaW4gb2YgYSBzdWItbWVudSBpZiBhIGJvcmRlciBpcyB1c2VkLlxuLy8gQHR5cGUgTGVuZ3RoXG4kZHJvcGRvd25tZW51LWJvcmRlci13aWR0aDogbnRoKCRkcm9wZG93bm1lbnUtYm9yZGVyLCAxKTtcblxuLy8vIFRleHQgY29sb3Igb2YgYW4gYWN0aXZlIGRyb3Bkb3duIG1lbnUgaXRlbS4gRXhwbGljaXQgb3ZlcnJpZGUgZm9yIG1lbnUgZGVmYXVsdHNcbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3duLW1lbnUtaXRlbS1jb2xvci1hY3RpdmU6IGdldC1jb2xvcihwcmltYXJ5KSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYW4gYWN0aXZlIGRyb3Bkb3duIG1lbnUgaXRlbS4gRXhwbGljaXQgb3ZlcnJpZGUgZm9yIG1lbnUgZGVmYXVsdHNcbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3duLW1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbkBtaXhpbiB6Zi1kcm9wZG93bi1sZWZ0LXJpZ2h0LWFycm93cyB7XG4gID4gYTo6YWZ0ZXIge1xuICAgICN7JGdsb2JhbC1yaWdodH06IDE0cHg7XG4gIH1cblxuICAmLm9wZW5zLWxlZnQgPiBhOjphZnRlciB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgbGVmdCk7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogNXB4O1xuICB9XG5cbiAgJi5vcGVucy1yaWdodCA+IGE6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCByaWdodCk7XG4gIH1cbn1cblxuQG1peGluIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKCRkaXI6IGhvcml6b250YWwpIHtcbiAgQGlmICRkaXIgPT0gaG9yaXpvbnRhbCB7XG4gICAgPiBsaS5vcGVucy1sZWZ0IHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IGxpLm9wZW5zLXJpZ2h0IHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJGRyb3Bkb3dubWVudS1hcnJvd3Mge1xuICAgICAgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGEgeyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nLSN7JGdsb2JhbC1yaWdodH06ICRkcm9wZG93bm1lbnUtYXJyb3ctcGFkZGluZztcbiAgICAgIH1cblxuICAgICAgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJvcGRvd25tZW51LWFycm93LXNpemUsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIGRvd24pO1xuICAgICAgICAjeyRnbG9iYWwtcmlnaHR9OiA1cHg7XG4gICAgICAgICN7JGdsb2JhbC1sZWZ0fTogYXV0bztcbiAgICAgICAgbWFyZ2luLXRvcDogLTEgKiAoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplIC8gMik7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRkaXIgPT0gdmVydGljYWwge1xuICAgID4gbGkge1xuICAgICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICB0b3A6IDA7XG4gICAgICB9XG5cbiAgICAgICYub3BlbnMtbGVmdCB7XG4gICAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICByaWdodDogMTAwJTtcbiAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYub3BlbnMtcmlnaHQge1xuICAgICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgICBsZWZ0OiAxMDAlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpZiAkZHJvcGRvd25tZW51LWFycm93cyB7XG4gICAgICAgIEBpbmNsdWRlIHpmLWRyb3Bkb3duLWxlZnQtcmlnaHQtYXJyb3dzO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQHdhcm4gJ1RoZSBkaXJlY3Rpb24gdXNlZCBmb3IgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oKSBtdXN0IGJlIGhvcml6b250YWwgb3IgdmVydGljYWwuJztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1kcm9wZG93bi1tZW51IHtcbiAgLmRyb3Bkb3duLm1lbnUge1xuICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuXG4gICAgYSB7XG4gICAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gICAgfVxuXG4gICAgLy8gVG9wLWxldmVsIGl0ZW1cbiAgICA+IGxpID4gYSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkZHJvcGRvd25tZW51LWJhY2tncm91bmQ7XG4gICAgICBwYWRkaW5nOiAkZHJvcGRvd25tZW51LXBhZGRpbmc7XG4gICAgfVxuXG4gICAgLy8gVG9wLWxldmVsIGl0ZW0gYWN0aXZlIHN0YXRlXG4gICAgPiBsaS5pcy1hY3RpdmUgPiBhIHtcbiAgICAgIGJhY2tncm91bmQ6ICRkcm9wZG93bi1tZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgICBjb2xvcjogJGRyb3Bkb3duLW1lbnUtaXRlbS1jb2xvci1hY3RpdmU7XG4gICAgfVxuXG4gICAgLm5vLWpzICYgdWwge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAubmVzdGVkLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQoJGRyb3Bkb3dubWVudS1uZXN0ZWQtbWFyZ2luKTtcbiAgICB9XG5cbiAgICAmLnZlcnRpY2FsIHtcbiAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICB9XG5cbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgICAmLiN7JHNpemV9LWhvcml6b250YWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi4jeyRzaXplfS12ZXJ0aWNhbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5hbGlnbi1yaWdodCB7XG4gICAgICAuaXMtZHJvcGRvd24tc3VibWVudS5maXJzdC1zdWIge1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pcy1kcm9wZG93bi1tZW51LnZlcnRpY2FsIHtcbiAgICB3aWR0aDogMTAwcHg7XG5cbiAgICAmLmFsaWduLXJpZ2h0IHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG4gIH1cblxuICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIGE6OmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogNXB4O1xuICAgICAgI3skZ2xvYmFsLWxlZnR9OiBhdXRvO1xuICAgICAgbWFyZ2luLXRvcDogLTEgKiAkZHJvcGRvd25tZW51LWFycm93LXNpemU7XG4gICAgfVxuXG4gICAgJi5vcGVucy1pbm5lciA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcblxuICAgICAgdG9wOiAxMDAlO1xuICAgICAgQGlmICRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gJ3J0bCcge1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICByaWdodDogMTAwJTtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgfVxuXG4gICAgJi5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgbGVmdDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICAjeyRnbG9iYWwtbGVmdH06IDEwMCU7XG4gICAgei1pbmRleDogMTtcblxuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbWluLXdpZHRoOiAkZHJvcGRvd25tZW51LW1pbi13aWR0aDtcblxuICAgIGJvcmRlcjogJGRyb3Bkb3dubWVudS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZDogJGRyb3Bkb3dubWVudS1zdWJtZW51LWJhY2tncm91bmQ7XG5cbiAgICAuZHJvcGRvd24gJiBhIHtcbiAgICAgIHBhZGRpbmc6ICRkcm9wZG93bm1lbnUtc3VibWVudS1wYWRkaW5nO1xuICAgIH1cblxuICAgIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCB7XG4gICAgICBAaWYgJGRyb3Bkb3dubWVudS1hcnJvd3Mge1xuICAgICAgICBAaW5jbHVkZSB6Zi1kcm9wZG93bi1sZWZ0LXJpZ2h0LWFycm93cztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgKHR5cGUtb2YoJGRyb3Bkb3dubWVudS1ib3JkZXItd2lkdGgpID09ICdudW1iZXInKSB7XG4gICAgICAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIG1hcmdpbi10b3A6ICgtJGRyb3Bkb3dubWVudS1ib3JkZXItd2lkdGgpO1xuICAgICAgfVxuICAgIH1cblxuICAgID4gbGkge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLy8gW1RPRE9dIEN1dCBiYWNrIHNwZWNpZmljaXR5XG4gICAgLy8mOm5vdCguanMtZHJvcGRvd24tbm9ob3ZlcikgPiAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQ6aG92ZXIgPiAmLCAvLyB3aHkgaXMgdGhpcyBsaW5lIG5lZWRlZD8gT3BlbmluZyBpcyBoYW5kbGVkIGJ5IEpTIGFuZCB0aGlzIGNhdXNlcyBzb21lIHVnbHkgZmxpY2tlcmluZyB3aGVuIHRoZSBzdWIgaXMgcmUtcG9zaXRpb25lZCBhdXRvbWF0aWNhbGx5Li4uXG4gICAgJi5qcy1kcm9wZG93bi1hY3RpdmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG59XG4iLAoJCSIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgb2ZmLWNhbnZhc1xuLy8vL1xuXG4vLy8gV2lkdGggbWFwIG9mIGEgbGVmdC9yaWdodCBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIE1hcFxuJG9mZmNhbnZhcy1zaXplczogKFxuICBzbWFsbDogMjUwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG1hcCBvZiBhIHRvcC9ib3R0b20gb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBNYXBcbiRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXM6IChcbiAgc21hbGw6IDI1MHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBDb2xvclxuJG9mZmNhbnZhcy1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgZm9yIHRoZSBvZmYtY2FudmFzIG92ZXJsYXAgcGFuZWwuXG4vLy8gQHR5cGUgU2hhZG93XG4kb2ZmY2FudmFzLXNoYWRvdzogMCAwIDEwcHggcmdiYSgkYmxhY2ssIDAuNykgIWRlZmF1bHQ7XG5cbi8vLyBJbm5lciBib3ggc2hhZG93IHNpemUgZm9yIHRoZSBvZmYtY2FudmFzIHB1c2ggcGFuZWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplOiAyMHB4ICFkZWZhdWx0O1xuXG4vLy8gSW5uZXIgYm94IHNoYWRvdyBjb2xvciBmb3IgdGhlIG9mZi1jYW52YXMgcHVzaCBwYW5lbC5cbi8vLyBAdHlwZSBDb2xvclxuJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3I6IHJnYmEoJGJsYWNrLCAwLjI1KSAhZGVmYXVsdDtcblxuLy8vIFotaW5kZXggb2YgYW4gb2ZmLWNhbnZhcyBjb250ZW50IG92ZXJsYXkuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLW92ZXJsYXktemluZGV4OiAxMSAhZGVmYXVsdDtcblxuLy8vIFotaW5kZXggb2YgYW4gb2ZmLWNhbnZhcyBwYW5lbCB3aXRoIHRoZSBgcHVzaGAgdHJhbnNpdGlvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtcHVzaC16aW5kZXg6IDEyICFkZWZhdWx0O1xuXG4vLy8gWi1pbmRleCBvZiBhbiBvZmYtY2FudmFzIHBhbmVsIHdpdGggdGhlIGBvdmVybGFwYCB0cmFuc2l0aW9uLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleDogMTMgIWRlZmF1bHQ7XG5cbi8vLyBaLWluZGV4IG9mIGFuIG9mZi1jYW52YXMgcGFuZWwgdXNpbmcgdGhlIGByZXZlYWwtZm9yLSpgIGNsYXNzZXMgb3IgbWl4aW4uXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLXJldmVhbC16aW5kZXg6IDEyICFkZWZhdWx0O1xuXG4vLy8gTGVuZ3RoIG9mIHRoZSBhbmltYXRpb24gb24gYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGg6IDAuNXMgIWRlZmF1bHQ7XG5cbi8vLyBUaW1pbmcgZnVuY3Rpb24gb2YgdGhlIGFuaW1hdGlvbiBvbiBhbiBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc6IGVhc2UgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGEgcmV2ZWFsZWQgb2ZmLWNhbnZhcyB3aWxsIGJlIGZpeGVkLXBvc2l0aW9uLCBhbmQgc2Nyb2xsIHdpdGggdGhlIHNjcmVlbi5cbi8vLyBAdHlwZSBCb29sXG4kb2ZmY2FudmFzLWZpeGVkLXJldmVhbDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRoZSBvdmVybGF5IHRoYXQgYXBwZWFycyB3aGVuIGFuIG9mZi1jYW52YXMgcGFuZWwgaXMgb3Blbi5cbi8vLyBAdHlwZSBDb2xvclxuJG9mZmNhbnZhcy1leGl0LWJhY2tncm91bmQ6IHJnYmEoJHdoaXRlLCAwLjI1KSAhZGVmYXVsdDtcblxuLy8vIENTUyBjbGFzcyB1c2VkIGZvciB0aGUgbWFpbiBjb250ZW50IGFyZWEuIFRoZSBvZmYtY2FudmFzIG1peGlucyB1c2UgdGhpcyB0byB0YXJnZXQgdGhlIHBhZ2UgY29udGVudC5cbiRtYWluY29udGVudC1jbGFzczogJ29mZi1jYW52YXMtY29udGVudCcgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIGJhc2VsaW5lIHN0eWxlcyBmb3Igb2ZmLWNhbnZhcy4gVGhpcyBDU1MgaXMgcmVxdWlyZWQgdG8gbWFrZSB0aGUgb3RoZXIgcGllY2VzIHdvcmsuXG5AbWl4aW4gb2ZmLWNhbnZhcy1iYXNpY3Mge1xuXG4gIC8vLyBUcmFuc2Zvcm0gZGVwcmVjYXRlZCBzaXplIHNldHRpbmdzIGludG8gbWFwICYgc2hvdyB3YXJuaW5nXG4gIEBpZiB2YXJpYWJsZS1leGlzdHMob2ZmY2FudmFzLXNpemUpIHtcbiAgICAkb2ZmY2FudmFzLXNpemVzOiAoc21hbGw6ICRvZmZjYW52YXMtc2l6ZSwgbWVkaXVtOiAkb2ZmY2FudmFzLXNpemUpICFnbG9iYWw7XG4gICAgQHdhcm4gJyRvZmZjYW52YXMtc2l6ZSBpcyBkZXByZWNhdGVkIGFuZCBub3QgdXNlZCBhbnltb3JlISBQbGVhc2UgdXBkYXRlIHlvdXIgc2V0dGluZ3MgYW5kIHVzZSB0aGUgbWFwICRvZmZjYW52YXMtc2l6ZXMgaW5zdGVhZCc7XG4gIH1cbiAgQGlmIHZhcmlhYmxlLWV4aXN0cyhvZmZjYW52YXMtdmVydGljYWwtc2l6ZSkge1xuICAgICRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXM6IChzbWFsbDogJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplLCBtZWRpdW06ICRvZmZjYW52YXMtdmVydGljYWwtc2l6ZSkgIWdsb2JhbDtcbiAgICBAd2FybiAnJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplIGlzIGRlcHJlY2F0ZWQgYW5kIG5vdCB1c2VkIGFueW1vcmUhIFBsZWFzZSB1cGRhdGUgeW91ciBzZXR0aW5ncyBhbmQgdXNlIHRoZSBtYXAgJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplcyBpbnN0ZWFkJztcbiAgfVxuXG4gIC8vIENoZWNrcyB0aGUgei1pbmRleGVzIGFuZCBpbmNyZWFzZSB0aGVtIGR1ZSB0byBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eS5cbiAgLy8gVGhpcyBpcyBuZWNlc3NhcnkgYmVjYXVzZSB0aGUgb3ZlcmxheSdzIHotaW5kZXggaXMgbmV3IHNpbmNlIHY2LjQgYW5kIG1heSBiZSBpZGVudGljYWwgdG8gdGhlIHVzZXIgY3VzdG9tIHNldHRpbmdzIG9mIHRoZSBwdXNoIHotaW5kZXguXG4gIEBpZiAkb2ZmY2FudmFzLXB1c2gtemluZGV4IDw9ICRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXggeyAkb2ZmY2FudmFzLXB1c2gtemluZGV4OiAkb2ZmY2FudmFzLW92ZXJsYXktemluZGV4ICsgMSAhZ2xvYmFsOyB9XG4gIEBpZiAkb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4IDw9ICRvZmZjYW52YXMtcHVzaC16aW5kZXggeyAkb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4OiAkb2ZmY2FudmFzLXB1c2gtemluZGV4ICsgMSAhZ2xvYmFsOyB9XG4gIEBpZiAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXggPD0gJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleCB7ICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleDogJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleCArIDEgIWdsb2JhbDsgfVxuXG4gIC8vIEhpZGVzIG92ZXJmbG93IG9uIGJvZHkgd2hlbiBhbiBvZmYtY2FudmFzIHBhbmVsIGlzIG9wZW4uXG4gIC5pcy1vZmYtY2FudmFzLW9wZW4ge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICAvLyBPZmYtY2FudmFzIG92ZXJsYXkgKGdlbmVyYXRlZCBieSBKYXZhU2NyaXB0KVxuICAuanMtb2ZmLWNhbnZhcy1vdmVybGF5IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleDtcblxuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcblxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aCAkb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nLCB2aXNpYmlsaXR5ICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZztcblxuICAgIGJhY2tncm91bmQ6ICRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kO1xuXG4gICAgb3BhY2l0eTogMDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgJi5pcy12aXNpYmxlIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIH1cblxuICAgICYuaXMtY2xvc2FibGUge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuICAgICYuaXMtb3ZlcmxheS1hYnNvbHV0ZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxuXG4gICAgJi5pcy1vdmVybGF5LWZpeGVkIHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB9XG4gIH1cbn1cblxuLy8gQWRkcyBiYXNpYyBzdHlsZXMgZm9yIGFuIG9mZi1jYW52YXMgd3JhcHBlci5cbkBtaXhpbiBvZmYtY2FudmFzLXdyYXBwZXIoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLy8vIEFkZHMgYmFzaWMgc3R5bGVzIGZvciBhbiBvZmYtY2FudmFzIHBhbmVsLlxuQG1peGluIG9mZi1jYW52YXMtYmFzZShcbiAgJGJhY2tncm91bmQ6ICRvZmZjYW52YXMtYmFja2dyb3VuZCxcbiAgJHRyYW5zaXRpb246ICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZyxcbiAgJGZpeGVkOiB0cnVlXG4pIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuXG4gIEBpZiAkZml4ZWQgPT0gdHJ1ZSB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICB9XG4gIEBlbHNlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cblxuICAvLyBTZXQgdGhlIG9mZi1jYW52YXMgei1pbmRleC5cbiAgei1pbmRleDogJG9mZmNhbnZhcy1wdXNoLXppbmRleDtcblxuICAvLyBJbmNyZWFzZSBDU1Mgc3BlY2lmaWNpdHlcbiAgJi5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHotaW5kZXg6ICRvZmZjYW52YXMtcHVzaC16aW5kZXg7XG4gIH1cblxuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJHRyYW5zaXRpb247XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblxuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcblxuICAvLyBIaWRlIGluYWN0aXZlIG9mZi1jYW52YXMgd2l0aGluIHRoZSBjb250ZW50IHRoYXQgaGF2ZSB0aGUgc2FtZSBwb3NpdGlvblxuICAmLmlzLWNsb3NlZCB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG5cbiAgLy8gT3ZlcmxhcCBvbmx5IHN0eWxlcy5cbiAgJi5pcy10cmFuc2l0aW9uLW92ZXJsYXAge1xuICAgIHotaW5kZXg6ICRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXg7XG5cbiAgICAmLmlzLW9wZW4ge1xuICAgICAgYm94LXNoYWRvdzogJG9mZmNhbnZhcy1zaGFkb3c7XG4gICAgfVxuICB9XG5cbiAgLy8gU2V0cyB0cmFuc2Zvcm0gdG8gMCB0byBzaG93IGFuIG9mZi1jYW52YXMgcGFuZWwuXG4gICYuaXMtb3BlbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIHRvIHBvc2l0aW9uIGFuIG9mZi1jYW52YXMgcGFuZWwgdG8gdGhlIGxlZnQvcmlnaHQvdG9wL2JvdHRvbS5cbkBtaXhpbiBvZmYtY2FudmFzLXBvc2l0aW9uKFxuICAkcG9zaXRpb246IGxlZnQsXG4gICRvcmllbnRhdGlvbjogaG9yaXpvbnRhbCxcbiAgJHNpemVzOiBpZigkb3JpZW50YXRpb24gPT0gaG9yaXpvbnRhbCwgJG9mZmNhbnZhcy1zaXplcywgJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplcylcbikge1xuICBAaWYgJHBvc2l0aW9uID09IGxlZnQge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuXG4gICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIHdpZHRoOiAkc2l6ZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgcG9zaXRpb24gZm9yIG5lc3RlZCBvZmYtY2FudmFzIGVsZW1lbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9IC5vZmYtY2FudmFzLnBvc2l0aW9uLSN7JHBvc2l0aW9ufSB7XG5cbiAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBvcGVuIHBvc2l0aW9uIGZvciB0aGUgY29udGVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30uaXMtb3Blbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRzaXplKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHJpZ2h0IHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG5cbiAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgd2lkdGg6ICRzaXplO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIHBvc2l0aW9uIGZvciBuZXN0ZWQgb2ZmLWNhbnZhcyBlbGVtZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAub2ZmLWNhbnZhcy5wb3NpdGlvbi0jeyRwb3NpdGlvbn0ge1xuXG4gICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgkc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBvcGVuIHBvc2l0aW9uIGZvciB0aGUgY29udGVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30uaXMtb3Blbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kc2l6ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSB0b3Age1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG5cbiAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgaGVpZ2h0OiAkc2l6ZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgcG9zaXRpb24gZm9yIG5lc3RlZCBvZmYtY2FudmFzIGVsZW1lbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9IC5vZmYtY2FudmFzLnBvc2l0aW9uLSN7JHBvc2l0aW9ufSB7XG4gICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJHNpemUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgb3BlbiBwb3NpdGlvbiBmb3IgdGhlIGNvbnRlbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9LmlzLW9wZW4tI3skcG9zaXRpb259IHtcbiAgICAgICYuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgkc2l6ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSBib3R0b20ge1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG5cbiAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgaGVpZ2h0OiAkc2l6ZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBwb3NpdGlvbiBmb3IgbmVzdGVkIG9mZi1jYW52YXMgZWxlbWVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30gLm9mZi1jYW52YXMucG9zaXRpb24tI3skcG9zaXRpb259IHtcbiAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRzaXplKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIG9wZW4gcG9zaXRpb24gZm9yIHRoZSBjb250ZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfS5pcy1vcGVuLSN7JHBvc2l0aW9ufSB7XG4gICAgICAmLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSRzaXplKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBJZiAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplIGlzIHNldCwgYWRkIGlubmVyIGJveC1zaGFkb3cuXG4gIC8vIFRoaXMgbWltaWNzIHRoZSBvZmYtY2FudmFzIHBhbmVsIGhhdmluZyBhIGxvd2VyIHotaW5kZXgsIHdpdGhvdXQgaGF2aW5nIHRvIGhhdmUgb25lLlxuICBAaWYgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSB7XG4gICAgJi5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgICAgQGlmICRwb3NpdGlvbiA9PSBsZWZ0IHtcbiAgICAgICAgQGluY2x1ZGUgaW5uZXItc2lkZS1zaGFkb3cocmlnaHQsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSByaWdodCB7XG4gICAgICAgIEBpbmNsdWRlIGlubmVyLXNpZGUtc2hhZG93KGxlZnQsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSB0b3Age1xuICAgICAgICBAaW5jbHVkZSBpbm5lci1zaWRlLXNoYWRvdyhib3R0b20sICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSBib3R0b20ge1xuICAgICAgICBAaW5jbHVkZSBpbm5lci1zaWRlLXNoYWRvdyh0b3AsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxufVxuXG4vLy8gU2V0cyB0aGUgc3R5bGVzIGZvciB0aGUgY29udGVudCBjb250YWluZXIuXG5AbWl4aW4gb2ZmLWNhbnZhcy1jb250ZW50KCkge1xuICB0cmFuc2Zvcm06IG5vbmU7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblxuICAvLyBCaW5kIHRvIGhhcy10cmFuc2l0aW9uLVggY2xhc3MgdG8gcHJldmVudCB0cmFuc2l0aW9uIGZvciB0cmFuc2Zvcm06bm9uZVxuICAmLmhhcy10cmFuc2l0aW9uLW92ZXJsYXAsXG4gICYuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZztcbiAgfVxuXG4gIC8vIFRyYW5zZm9ybSBzY29wZSB1bnRpbCB0aGUgZWxlbWVudCBpcyBjbG9zZWQgKG1ha2VzIHN1cmUgdHJhbnNpdGlvbmVuZCBnZXRzIHRyaWdnZXJlZClcbiAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgfVxuXG4gIC8vIENvbnNpZGVyIGVsZW1lbnQgJiBjb250ZW50LCBuZXN0ZWQgaW4gYW5vdGhlciBjb250ZW50XG4gIC5vZmYtY2FudmFzLmlzLW9wZW4ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyB0aGF0IHJldmVhbCBhbiBvZmYtY2FudmFzIHBhbmVsLlxuQG1peGluIG9mZi1jYW52YXMtcmV2ZWFsKFxuJHBvc2l0aW9uOiBsZWZ0LFxuJHppbmRleDogJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4LFxuJGNvbnRlbnQ6ICRtYWluY29udGVudC1jbGFzcyxcbiRicmVha3BvaW50OiBzbWFsbFxuKSB7XG4gIHRyYW5zZm9ybTogbm9uZTtcbiAgei1pbmRleDogJHppbmRleDtcbiAgdHJhbnNpdGlvbjogbm9uZTtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcblxuICBAaWYgbm90ICRvZmZjYW52YXMtZml4ZWQtcmV2ZWFsIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cblxuICAuY2xvc2UtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLy8gQ29uc2lkZXIgcmV2ZWFsZWQgZWxlbWVudCBpcyBuZXN0ZWQgaW4gY29udGVudFxuICAuI3skbWFpbmNvbnRlbnQtY2xhc3N9ICYge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuXG4gIEBhdC1yb290IC4jeyRjb250ZW50fS5oYXMtcmV2ZWFsLSN7JHBvc2l0aW9ufSB7XG4gICAgbWFyZ2luLSN7JHBvc2l0aW9ufTogLXpmLWdldC1icC12YWwoJG9mZmNhbnZhcy1zaXplcywgJGJyZWFrcG9pbnQpO1xuICB9XG5cbiAgLy8gYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgKHByaW9yIHRvIHY2LjQpXG4gICYgfiAuI3skY29udGVudH0ge1xuICAgIG1hcmdpbi0jeyRwb3NpdGlvbn06IC16Zi1nZXQtYnAtdmFsKCRvZmZjYW52YXMtc2l6ZXMsICRicmVha3BvaW50KTtcbiAgfVxufVxuXG4vLy8gT3ZlcnJpZGVzIHRoZSBvZmYtY2FudmFzIHN0eWxlc1xuQG1peGluIGluLWNhbnZhcygpIHtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBwb3NpdGlvbjogc3RhdGljO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICB3aWR0aDogYXV0bztcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIHRyYW5zaXRpb246IG5vbmU7XG5cbiAgLy8gSW5jcmVhc2UgQ1NTIHNwZWNpZmljaXR5XG4gICYucG9zaXRpb24tbGVmdCxcbiAgJi5wb3NpdGlvbi1yaWdodCxcbiAgJi5wb3NpdGlvbi10b3AsXG4gICYucG9zaXRpb24tYm90dG9tIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuXG4gIC5jbG9zZS1idXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tb2ZmLWNhbnZhcyB7XG4gIEBpbmNsdWRlIG9mZi1jYW52YXMtYmFzaWNzO1xuXG4gIC8vIE9mZi1jYW52YXMgd3JhcHBlclxuICAub2ZmLWNhbnZhcy13cmFwcGVyIHtcbiAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXdyYXBwZXI7XG4gIH1cblxuICAvLyBPZmYtY2FudmFzIGNvbnRhaW5lclxuICAub2ZmLWNhbnZhcyB7XG4gICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1iYXNlO1xuXG4gICAgLy8gRm9yY2UgcG9zaXRpb24gYWJzb2x1dGUgZm9yIG5lc3RlZCBvZmYtY2FudmFzIGJlY2F1c2UgZml4ZWQgZG9lc24ndCB3b3JrIGZvciBwdXNoIHRyYW5zaXRpb24gd2l0aGluIHRoZSB0cmFuc2Zvcm0gc2NvcGUuXG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAmIHtcbiAgICAgIC8vIE5PVEU6IHNpbmNlIG92ZXJsYXAgdHJhbnNpdGlvbiBpcyBjdXJyZW50bHkgZm9yY2VkIGlmIG5lc3RlZCwgdGhlcmUncyBubyBuZWVkIHRvIGZvcmNlIHBvc2l0aW9uIGFic29sdXRlIHVudGlsIG5lc3RlZCBwdXNoIHRyYW5zaXRpb24gaXMgc3VwcG9ydGVkLlxuICAgICAgLy8gcG9zaXRpb246IGFic29sdXRlO1xuICAgIH1cbiAgfVxuXG4gIC8vIE9mZi1jYW52YXMgY29udGFpbmVyIHdpdGggYWJzb2x1dGUgcG9zaXRpb25cbiAgLm9mZi1jYW52YXMtYWJzb2x1dGUge1xuICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtYmFzZSgkZml4ZWQ6IGZhbHNlKTtcbiAgfVxuXG4gIC8vIE9mZi1jYW52YXMgcG9zaXRpb24gY2xhc3Nlc1xuICAucG9zaXRpb24tbGVmdCAgICB7IEBpbmNsdWRlIG9mZi1jYW52YXMtcG9zaXRpb24obGVmdCwgICBob3Jpem9udGFsKTsgfVxuICAucG9zaXRpb24tcmlnaHQgICB7IEBpbmNsdWRlIG9mZi1jYW52YXMtcG9zaXRpb24ocmlnaHQsICBob3Jpem9udGFsKTsgfVxuICAucG9zaXRpb24tdG9wICAgICB7IEBpbmNsdWRlIG9mZi1jYW52YXMtcG9zaXRpb24odG9wLCAgICB2ZXJ0aWNhbCk7IH1cbiAgLnBvc2l0aW9uLWJvdHRvbSAgeyBAaW5jbHVkZSBvZmYtY2FudmFzLXBvc2l0aW9uKGJvdHRvbSwgdmVydGljYWwpOyB9XG5cbiAgLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1jb250ZW50O1xuICB9XG5cbiAgLy8gUmV2ZWFsIG9mZi1jYW52YXMgcGFuZWwgb24gbGFyZ2VyIHNjcmVlbnNcbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJG5hbWUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbChsZWZ0LCAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXgsICRtYWluY29udGVudC1jbGFzcywgJG5hbWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtcmV2ZWFsKHJpZ2h0LCAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXgsICRtYWluY29udGVudC1jbGFzcywgJG5hbWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbCh0b3AsICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleCwgJG1haW5jb250ZW50LWNsYXNzLCAkbmFtZSk7XG4gICAgICAgIH1cblxuICAgICAgICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtcmV2ZWFsKGJvdHRvbSwgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4LCAkbWFpbmNvbnRlbnQtY2xhc3MsICRuYW1lKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIE1vdmUgaW4tY2FudmFzIGZvciBsYXJnZXIgc2NyZWVuc1xuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkbmFtZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGluLWNhbnZhcztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4iLAoJCSIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcmV2ZWFsXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgYSBtb2RhbC5cbi8vLyBAdHlwZSBDb2xvclxuJHJldmVhbC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHdpZHRoIG9mIGEgbW9kYWwsIHdpdGggbm8gY2xhc3MgYXBwbGllZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtd2lkdGg6IDYwMHB4ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXhpbXVtIHdpZHRoIG9mIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLW1heC13aWR0aDogJGdsb2JhbC13aWR0aCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgYXJvdW5kIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIHotaW5kZXggZm9yIG1vZGFscy4gVGhlIG92ZXJsYXkgdXNlcyB0aGlzIHZhbHVlLCB3aGlsZSB0aGUgbW9kYWwgaXRzZWxmIHVzZXMgdGhpcyB2YWx1ZSBwbHVzIG9uZS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtemluZGV4OiAxMDA1ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBtb2RhbCBvdmVybGF5cy5cbi8vLyBAdHlwZSBDb2xvclxuJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjQ1KSAhZGVmYXVsdDtcblxuXG4vLyBQbGFjZWhvbGRlciBzZWxlY3RvciBmb3IgbWVkaXVtLWFuZC11cCBtb2RhbHNcbi8vIFByZXZlbnRzIGR1cGxpY2F0ZSBDU1Mgd2hlbiBkZWZpbmluZyBtdWx0aXBsZSBSZXZlYWwgc2l6ZXNcbi8vIFRoaXMgc2hvdWxkIGJlIGluIHRoZSBzYW1lIGJyZWFrcG9pbnQgdGhlbiBgQG1peGluIHJldmVhbC1tb2RhbC13aWR0aGBcbkBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICVyZXZlYWwtY2VudGVyZWQge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gIH1cbn1cblxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgbW9kYWwgb3ZlcmxheS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgb3ZlcmxheS5cbkBtaXhpbiByZXZlYWwtb3ZlcmxheSgkYmFja2dyb3VuZDogJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQpIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICRyZXZlYWwtemluZGV4O1xuXG4gIGRpc3BsYXk6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBvdmVyZmxvdy15OiBhdXRvO1xufVxuXG4vLy8gQWRkcyBiYXNlIHN0eWxlcyBmb3IgYSBtb2RhbC5cbkBtaXhpbiByZXZlYWwtbW9kYWwtYmFzZSB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgei1pbmRleDogJHJldmVhbC16aW5kZXggKyAxO1xuICAvLyBXb3JrYXJvdW5kIGFuZHJvaWQgYnJvd3NlciB6LWluZGV4IGJ1Z1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogJHJldmVhbC1wYWRkaW5nO1xuXG4gIGJvcmRlcjogJHJldmVhbC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRyZXZlYWwtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmV2ZWFsLWJhY2tncm91bmQ7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBtaW4taGVpZ2h0OiAwO1xuICB9XG5cbiAgLy8gTWFrZSBzdXJlIHJvd3MgZG9uJ3QgaGF2ZSBhIG1pbi13aWR0aCBvbiB0aGVtXG4gIC5jb2x1bW4ge1xuICAgIG1pbi13aWR0aDogMDtcbiAgfVxuXG4gIC8vIFN0cmlwIG1hcmdpbnMgZnJvbSB0aGUgbGFzdCBpdGVtIGluIHRoZSBtb2RhbFxuICA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBBZGp1c3RzIHRoZSB3aWR0aCBvZiBhIG1vZGFsLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggLSBXaWR0aCBvZiB0aGUgbW9kYWwuIEdlbmVyYWxseSBhIHBlcmNlbnRhZ2UuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXgtd2lkdGggWyRyZXZlYWwtbWF4LXdpZHRoXSAtIE1heGltdW0gd2lkdGggb2YgdGhlIG1vZGFsLlxuQG1peGluIHJldmVhbC1tb2RhbC13aWR0aChcbiAgJHdpZHRoOiAkcmV2ZWFsLXdpZHRoLFxuICAkbWF4LXdpZHRoOiAkcmV2ZWFsLW1heC13aWR0aFxuKSB7XG4gIC8vIEV4dGVuZHMgbXVzdCBiZSBtYWRlIG91dHNpZGUgb2YgYnJlYWtwb2ludHMgZm9yIGNvbXBhdGliaWxpdHkgd2l0aCBuZXdlciBTYXNzIHZlcnNpb25zIChsaWJzYXNzIHYzLjUpXG4gIEBleHRlbmQgJXJldmVhbC1jZW50ZXJlZDtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICB3aWR0aDogJHdpZHRoO1xuICAgIG1heC13aWR0aDogJG1heC13aWR0aDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGZ1bGwtc2NyZWVuIG1vZGFsLCB3aGljaCBzdHJldGNoZXMgdGhlIGZ1bGwgd2lkdGggYW5kIGhlaWdodCBvZiB0aGUgd2luZG93LlxuQG1peGluIHJldmVhbC1tb2RhbC1mdWxsc2NyZWVuIHtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuXG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IG5vbmU7XG4gIGhlaWdodDogMTAwJTtcbiAgbWluLWhlaWdodDogMTAwJTtcbiAgbWFyZ2luLWxlZnQ6IDA7XG5cbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1yZXZlYWwge1xuXG4gIC8vLyBEaXNhYmxlcyB0aGUgc2Nyb2xsIHdoZW4gUmV2ZWFsIGlzIHNob3duIHRvIHByZXZlbnQgdGhlIGJhY2tncm91bmQgZnJvbSBzaGlmdGluZ1xuICBodG1sLmlzLXJldmVhbC1vcGVuIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3cteTogaGlkZGVuO1xuXG4gICAgJi56Zi1oYXMtc2Nyb2xsIHtcbiAgICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgICB9XG5cbiAgICBib2R5IHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgICBvdmVyZmxvdy15OiBoaWRkZW47XG4gICAgfVxuICB9XG5cbiAgLy8gT3ZlcmxheVxuICAucmV2ZWFsLW92ZXJsYXkge1xuICAgIEBpbmNsdWRlIHJldmVhbC1vdmVybGF5O1xuICB9XG5cbiAgLy8gTW9kYWwgY29udGFpbmVyXG4gIC5yZXZlYWwge1xuICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC1iYXNlO1xuICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCgkcmV2ZWFsLXdpZHRoKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAxMDBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgb3ZlcmZsb3cteTogYXV0bztcblxuICAgIC8vIFJlbW92ZSBwYWRkaW5nXG4gICAgJi5jb2xsYXBzZSB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC8vIFNpemluZyBjbGFzc2VzXG4gICAgJi50aW55ICB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCgzMCUpOyB9XG4gICAgJi5zbWFsbCB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCg1MCUpOyB9XG4gICAgJi5sYXJnZSB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCg5MCUpOyB9XG5cbiAgICAvLyBGdWxsLXNjcmVlbiBtb2RlXG4gICAgJi5mdWxsIHtcbiAgICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC1mdWxsc2NyZWVuO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJC16Zi16ZXJvLWJyZWFrcG9pbnQgb25seSkge1xuICAgICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWZ1bGxzY3JlZW47XG4gICAgfVxuXG4gICAgJi53aXRob3V0LW92ZXJsYXkge1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgIH1cbiAgfVxufVxuIiwKCQkiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AbWl4aW4gZm91bmRhdGlvbi1zdGlja3kge1xuICAuc3RpY2t5LWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgLnN0aWNreSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIC5zdGlja3kuaXMtc3R1Y2sge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB6LWluZGV4OiA1O1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgJi5pcy1hdC10b3Age1xuICAgICAgdG9wOiAwO1xuICAgIH1cblxuICAgICYuaXMtYXQtYm90dG9tIHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAuc3RpY2t5LmlzLWFuY2hvcmVkIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogYXV0bztcblxuICAgICYuaXMtYXQtYm90dG9tIHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cbiIsCgkJIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0aXRsZS1iYXJcbi8vLy9cblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0aXRsZWJhci1iYWNrZ3JvdW5kOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiB0ZXh0IGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRpdGxlYmFyLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBMZW5ndGhcbiR0aXRsZWJhci1wYWRkaW5nOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiB0ZXh0IGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBXZWlnaHRcbiR0aXRsZWJhci10ZXh0LWZvbnQtd2VpZ2h0OiBib2xkICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgbWVudSBpY29ucyBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0aXRsZWJhci1pY29uLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBtZW51IGljb25zIGluc2lkZSBhIHRpdGxlIGJhciBvbiBob3Zlci5cbi8vLyBAdHlwZSBDb2xvclxuJHRpdGxlYmFyLWljb24tY29sb3ItaG92ZXI6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiB0aGUgbWVudSBpY29uIGFuZCB0ZXh0IGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBMZW5ndGhcbiR0aXRsZWJhci1pY29uLXNwYWNpbmc6IDAuMjVyZW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRpdGxlLWJhciB7XG4gIC50aXRsZS1iYXIge1xuICAgIHBhZGRpbmc6ICR0aXRsZWJhci1wYWRkaW5nO1xuICAgIGJhY2tncm91bmQ6ICR0aXRsZWJhci1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkdGl0bGViYXItY29sb3I7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICB9XG5cbiAgICAubWVudS1pY29uIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICR0aXRsZWJhci1pY29uLXNwYWNpbmc7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHRpdGxlYmFyLWljb24tc3BhY2luZztcbiAgICB9XG4gIH1cblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAudGl0bGUtYmFyLWxlZnQsXG4gICAgLnRpdGxlLWJhci1yaWdodCB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgIH1cblxuICAgIC50aXRsZS1iYXItcmlnaHQge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAudGl0bGUtYmFyLWxlZnQge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuXG4gICAgLnRpdGxlLWJhci1yaWdodCB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG4gIH1cblxuICAudGl0bGUtYmFyLXRpdGxlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBmb250LXdlaWdodDogJHRpdGxlYmFyLXRleHQtZm9udC13ZWlnaHQ7XG4gIH1cbn1cbiIsCgkJIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0b3AtYmFyXG4vLy8vXG5cbi8vLyBQYWRkaW5nIGZvciB0aGUgdG9wIGJhci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b3BiYXItcGFkZGluZzogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgdGhlIHRvcCBiYXIuIFRoaXMgY29sb3IgYWxzbyBjYXNjYWRlcyB0byBtZW51cyB3aXRoaW4gdGhlIHRvcCBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0b3BiYXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIHN1Ym1lbnVzIHdpdGhpbiB0aGUgdG9wIGJhci4gVXNlZnVsbCBpZiAkdG9wYmFyLWJhY2tncm91bmQgaXMgdHJhbnNwYXJlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0b3BiYXItc3VibWVudS1iYWNrZ3JvdW5kOiAkdG9wYmFyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGZvciB0aGUgdG9wIGJhciB0aXRsZS5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b3BiYXItdGl0bGUtc3BhY2luZzogMC41cmVtIDFyZW0gMC41cmVtIDAgIWRlZmF1bHQ7XG5cbi8vLyBNYXhpbXVtIHdpZHRoIG9mIGA8aW5wdXQ+YCBlbGVtZW50cyBpbnNpZGUgdGhlIHRvcCBiYXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9wYmFyLWlucHV0LXdpZHRoOiAyMDBweCAhZGVmYXVsdDtcblxuLy8vIEJyZWFrcG9pbnQgYXQgd2hpY2ggdG9wIGJhciBzd2l0Y2hlcyBmcm9tIG1vYmlsZSB0byBkZXNrdG9wIHZpZXcuXG4vLy8gQHR5cGUgQnJlYWtwb2ludFxuJHRvcGJhci11bnN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHRvcCBiYXIgY29udGFpbmVyLlxuQG1peGluIHRvcC1iYXItY29udGFpbmVyIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIH1cblxuICBwYWRkaW5nOiAkdG9wYmFyLXBhZGRpbmc7XG5cbiAgJixcbiAgdWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0b3BiYXItYmFja2dyb3VuZDtcbiAgfVxuXG4gIC8vIENoZWNrIGlmICR0b3BiYXItYmFja2dyb3VuZCBpcyBkaWZmZXJudCBmcm9tICR0b3BiYXItYmFja2dyb3VuZC1zdWJtZW51XG4gIEBpZiAoJHRvcGJhci1iYWNrZ3JvdW5kICE9ICR0b3BiYXItc3VibWVudS1iYWNrZ3JvdW5kKSB7XG4gICAgdWwgdWwge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQ7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzdHJhaW4gd2lkdGggb2YgaW5wdXRzIGJ5IGRlZmF1bHQgdG8gbWFrZSB0aGVtIGVhc2llciB0byBhcnJhbmdlXG4gIGlucHV0IHtcbiAgICBtYXgtd2lkdGg6ICR0b3BiYXItaW5wdXQtd2lkdGg7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDFyZW07XG4gIH1cblxuICAvLyBUaGUgYWJvdmUgc3R5bGVzIHNob3VsZG4ndCBhcHBseSB0byBpbnB1dCBncm91cCBmaWVsZHNcbiAgLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgfVxuXG4gIGlucHV0LmJ1dHRvbiB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG59XG5cbi8vLyBNYWtlcyBzZWN0aW9ucyBvZiBhIHRvcCBiYXIgc3RhY2sgb24gdG9wIG9mIGVhY2ggb3RoZXIuXG5AbWl4aW4gdG9wLWJhci1zdGFja2VkIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgLy8gU3ViLXNlY3Rpb25zXG4gICAgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC8vIFN1Yi1zZWN0aW9uc1xuICAgIC50b3AtYmFyLWxlZnQsXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG59XG5cbi8vLyBVbmRvZXMgdGhlIENTUyBhcHBsaWVkIGJ5IHRoZSBgdG9wLWJhci1zdGFja2VkKClgIG1peGluLlxuQG1peGluIHRvcC1iYXItdW5zdGFjayB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuXG4gICAgLnRvcC1iYXItbGVmdCB7XG4gICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICB9XG5cbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdG9wLWJhciB7XG4gIC8vIFRvcCBiYXIgY29udGFpbmVyXG4gIC50b3AtYmFyIHtcbiAgICBAaW5jbHVkZSB0b3AtYmFyLWNvbnRhaW5lcjtcblxuICAgIC8vIFN0YWNrIG9uIHNtYWxsIHNjcmVlbnMgYnkgZGVmYXVsdFxuICAgIEBpbmNsdWRlIHRvcC1iYXItc3RhY2tlZDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRvcGJhci11bnN0YWNrLWJyZWFrcG9pbnQpIHtcbiAgICAgIEBpbmNsdWRlIHRvcC1iYXItdW5zdGFjaztcbiAgICB9XG5cbiAgICAvLyBHZW5lcmF0ZSBjbGFzc2VzIGZvciBzdGFja2luZyBvbiBlYWNoIHNjcmVlbiBzaXplIChkZWZpbmVkIGluICRicmVha3BvaW50LWNsYXNzZXMpXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAmLnN0YWNrZWQtZm9yLSN7JHNpemV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIGRvd24pIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRvcC1iYXItc3RhY2tlZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBTdWItc2VjdGlvbnNcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgLnRvcC1iYXItdGl0bGUge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICBtYXJnaW46ICR0b3BiYXItdGl0bGUtc3BhY2luZztcbiAgICB9XG5cbiAgICAudG9wLWJhci1sZWZ0LFxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLnRvcC1iYXItdGl0bGUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBwYWRkaW5nOiAkdG9wYmFyLXRpdGxlLXNwYWNpbmc7XG5cbiAgICAgIC5tZW51LWljb24ge1xuICAgICAgICBib3R0b206IDJweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudG9wLWJhci1sZWZ0IHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cblxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG4gIH1cbn1cbiIsCgkJIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmbG9hdFxuLy8vL1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mbG9hdC1jbGFzc2VzIHtcbiAgLmZsb2F0LWxlZnQge1xuICAgIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZmxvYXQtcmlnaHQge1xuICAgIGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmZsb2F0LWNlbnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG5cbiAgLmNsZWFyZml4IHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgfVxufVxuIiwKCQkiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIEZsZXhib3ggVXRpbGl0aWVzXG4vLy8vXG4vL1xuLy8vIERlZmF1bHQgdmFsdWUgZm9yIHRoZSBjb3VudCBvZiBzb3VyY2Ugb3JkZXJpbmdgXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmxleC1zb3VyY2Utb3JkZXJpbmctY291bnQ6IDYgIWRlZmF1bHQ7XG5cbi8vLyBRdWlja2x5IGRpc2FibGUvZW5hYmxlIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIFZhbmlsbGEgRmxleCBIZWxwZXJzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRmbGV4Ym94LXJlc3BvbnNpdmUtYnJlYWtwb2ludHM6IHRydWUgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmbGV4LWhlbHBlcnMge1xuICAuZmxleC1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIGZsZXg7XG4gIH1cblxuICAuZmxleC1jaGlsZC1hdXRvIHtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgfVxuXG4gIC5mbGV4LWNoaWxkLWdyb3cge1xuICAgIGZsZXg6IDEgMCBhdXRvO1xuICB9XG5cbiAgLmZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgfVxuXG4gIEBlYWNoICRkaXIsICRwcm9wIGluICQtemYtZmxleC1kaXJlY3Rpb24ge1xuICAgIC5mbGV4LWRpci0jeyRkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKCRwcm9wKTtcbiAgICB9XG4gIH1cblxuICBAaWYgKCRmbGV4Ym94LXJlc3BvbnNpdmUtYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWNvbnRhaW5lciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWNoaWxkLWF1dG8ge1xuICAgICAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LWZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgICAgICAgICBmbGV4OiAxIDAgYXV0bztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tZmxleC1jaGlsZC1zaHJpbmsge1xuICAgICAgICAgICAgZmxleDogMCAxIGF1dG87XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGVhY2ggJGRpciwgJHByb3AgaW4gJC16Zi1mbGV4LWRpcmVjdGlvbiB7XG4gICAgICAgICAgICAuI3skc2l6ZX0tZmxleC1kaXItI3skZGlyfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKCRwcm9wKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZmxleC1jbGFzc2VzIHtcbiAgLy8gSG9yaXpvbnRhbCBhbGlnbm1lbnQgdXNpbmcganVzdGlmeS1jb250ZW50XG4gIEBlYWNoICRoZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtanVzdGlmeSB7XG4gICAgLmFsaWduLSN7JGhkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHg6ICRoZGlyKTtcbiAgICB9XG4gIH1cbiAgXG4gIC8vIEhvcml6b250YWwgYWxpZ25tZW50IFNwZWNpZmljYWxseSBmb3IgVmVydGljYWwgTWVudVxuICBAZWFjaCAkaGRpciwgJHByb3AgaW4gbWFwLXJlbW92ZSgkLXpmLWZsZXgtanVzdGlmeSwgJ2p1c3RpZnknLCAnc3BhY2VkJykge1xuICAgIC5hbGlnbi0jeyRoZGlyfSB7XG4gICAgICAmLnZlcnRpY2FsIHtcbiAgICAgICAgJi5tZW51ID4gbGkgPiBhIHtcbiAgICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR4OiAkaGRpcik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBWZXJ0aWNhbCBhbGlnbm1lbnQgdXNpbmcgYWxpZ24taXRlbXMgYW5kIGFsaWduLXNlbGZcbiAgQGVhY2ggJHZkaXIsICRwcm9wIGluICQtemYtZmxleC1hbGlnbiB7XG4gICAgLmFsaWduLSN7JHZkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHk6ICR2ZGlyKTtcbiAgICB9XG5cbiAgICAuYWxpZ24tc2VsZi0jeyR2ZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduLXNlbGYoJHk6ICR2ZGlyKTtcbiAgICB9XG4gIH1cblxuICAvLyBDZW50cmFsIGFsaWdubWVudCBvZiBjb250ZW50XG4gIC5hbGlnbi1jZW50ZXItbWlkZGxlIHtcbiAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR4OiBjZW50ZXIsICR5OiBtaWRkbGUpO1xuICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxuXG4gIC8vIFNvdXJjZSBvcmRlcmluZ1xuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRmbGV4LXNvdXJjZS1vcmRlcmluZy1jb3VudCB7XG4gICAgICAuI3skLXpmLXNpemV9LW9yZGVyLSN7JGl9IHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1vcmRlcigkaSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gVmFuaWxsYSBGbGV4Ym94IEhlbHBlcnNcbiAgQGluY2x1ZGUgZmxleC1oZWxwZXJzO1xufVxuIiwKCQkiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8gSGlkZSBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIG9ubHkgZGlzcGxheWluZyBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBzaG93LWZvcigkc2l6ZSkge1xuICAkc2l6ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRzaXplKTtcbiAgLy8gTWF4IHZhbHVlIGlzIDAuMnB4IHVuZGVyIHRoZSBuZXh0IGJyZWFrcG9pbnQgKDAuMDIgLyAxNiA9IDAuMDAxMjUpLlxuICAvLyBVc2UgYSBwcmVjaXNpb24gdW5kZXIgMXB4IHRvIHN1cHBvcnQgYnJvd3NlciB6b29tLCBidXQgbm90IHRvIGxvdyB0byBhdm9pZCByb3VuZGluZy5cbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9mb3VuZGF0aW9uL2ZvdW5kYXRpb24tc2l0ZXMvaXNzdWVzLzExMzEzXG4gICRzaXplOiAtemYtYnAtdG8tZW0oJHNpemUpIC0gLjAwMTI1O1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgZG93bikge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gSGlkZSBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIG9ubHkgZGlzcGxheWluZyBpdCB3aXRoaW4gYSBjZXJ0YWluIGJyZWFrcG9pbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBzaG93LWZvci1vbmx5KCRzaXplKSB7XG4gICRsb3dlci1ib3VuZC1zaXplOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHNpemUpO1xuICAkdXBwZXItYm91bmQtc2l6ZTogLXpmLW1hcC1uZXh0KCRicmVha3BvaW50cywgJHNpemUpO1xuXG4gIC8vIG1vcmUgb2Z0ZW4gdGhhbiBub3QgdGhpcyB3aWxsIGJlIGNvcnJlY3QsIGp1c3Qgb25lIHRpbWUgcm91bmQgdGhlIGxvb3AgaXQgd29uJ3Qgc28gc2V0IGluIHNjb3BlIGhlcmVcbiAgJGxvd2VyLWJvdW5kOiAtemYtYnAtdG8tZW0oJGxvd2VyLWJvdW5kLXNpemUpIC0gLjAwMTI1O1xuICAvLyB0ZXN0IGFjdHVhbCBsb3dlci1ib3VuZC1zaXplLCBpZiAwIHNldCBpdCB0byAwZW1cbiAgQGlmIHN0cmlwLXVuaXQoJGxvd2VyLWJvdW5kLXNpemUpID09IDAge1xuICAgICRsb3dlci1ib3VuZDogLXpmLWJwLXRvLWVtKCRsb3dlci1ib3VuZC1zaXplKTtcbiAgfVxuXG4gIEBpZiAkdXBwZXItYm91bmQtc2l6ZSA9PSBudWxsIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbG93ZXItYm91bmQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgICR1cHBlci1ib3VuZDogLXpmLWJwLXRvLWVtKCR1cHBlci1ib3VuZC1zaXplKTtcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsb3dlci1ib3VuZCksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHVwcGVyLWJvdW5kKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cblxuLy8vIFNob3cgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBhbmQgaGlkZSBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBoaWRlLWZvcigkc2l6ZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBTaG93IGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgYW5kIGhpZGUgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gaGlkZS1mb3Itb25seSgkc2l6ZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIG9ubHkpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzIHtcbiAgLy8gQmFzaWMgaGlkaW5nIGNsYXNzZXNcbiAgLmhpZGUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5pbnZpc2libGUge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIC8vIFJlc3BvbnNpdmUgdmlzaWJpbGl0eSBjbGFzc2VzXG4gIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAuaGlkZS1mb3ItI3skc2l6ZX0ge1xuICAgICAgICBAaW5jbHVkZSBoaWRlLWZvcigkc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIC5zaG93LWZvci0jeyRzaXplfSB7XG4gICAgICAgIEBpbmNsdWRlIHNob3ctZm9yKCRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaGlkZS1mb3ItI3skc2l6ZX0tb25seSB7XG4gICAgICBAaW5jbHVkZSBoaWRlLWZvci1vbmx5KCRzaXplKTtcbiAgICB9XG5cbiAgICAuc2hvdy1mb3ItI3skc2l6ZX0tb25seSB7XG4gICAgICBAaW5jbHVkZSBzaG93LWZvci1vbmx5KCRzaXplKTtcbiAgICB9XG4gIH1cblxuICAvLyBTY3JlZW4gcmVhZGVyIHZpc2liaWxpdHkgY2xhc3Nlc1xuICAvLyBOZWVkIGEgXCJoaWRlLWZvci1zclwiIGNsYXNzPyBBZGQgYXJpYS1oaWRkZW49J3RydWUnIHRvIHRoZSBlbGVtZW50XG4gIC5zaG93LWZvci1zcixcbiAgLnNob3ctb24tZm9jdXMge1xuICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlO1xuICB9XG5cbiAgLy8gT25seSBkaXNwbGF5IHRoZSBlbGVtZW50IHdoZW4gaXQncyBmb2N1c2VkXG4gIC5zaG93LW9uLWZvY3VzIHtcbiAgICAmOmFjdGl2ZSxcbiAgICAmOmZvY3VzIHtcbiAgICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlLW9mZjtcbiAgICB9XG4gIH1cblxuICAvLyBMYW5kc2NhcGUgYW5kIHBvcnRyYWl0IHZpc2liaWxpdHlcbiAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYW5kc2NhcGUpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChwb3J0cmFpdCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYW5kc2NhcGUpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHBvcnRyYWl0KSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuIiwKCQkiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZVxuLy8vL1xuXG4vLyBSZWxhdGlvbmFsIE1peGluc1xuQGltcG9ydCAncmVsYXRpb24nO1xuXG4vLyBCb3ggTWl4aW5cbkBpbXBvcnQgJ2JveCc7XG5cbi8vIFJvdGF0ZSBNaXhpblxuQGltcG9ydCAncm90YXRlJztcblxuLy8gVGV4dCB1dGlsaXRpZXNcbkBpbXBvcnQgJ3RleHQtdXRpbGl0aWVzJztcblxuLy8gVGV4dCB0cmFuc2Zvcm1hdGlvbiBjbGFzc2VzXG5AaW1wb3J0ICd0ZXh0LXRyYW5zZm9ybWF0aW9uJztcblxuLy8gVGV4dCBEZWNvcmF0aW9uIGNsYXNzZXNcbkBpbXBvcnQgJ3RleHQtZGVjb3JhdGlvbic7XG5cbi8vIEZvbnQgU3R5bGluZ1xuQGltcG9ydCAnZm9udC1zdHlsaW5nJztcblxuLy8gTGlzdCBTdHlsZSB0eXBlXG5AaW1wb3J0ICdsaXN0LXN0eWxlLXR5cGUnO1xuXG4vLyBSb3VuZGVkIFV0aWxpdHlcbkBpbXBvcnQgJ3JvdW5kZWQnO1xuXG4vLyBCb3JkZXJlZCBVdGlsaXR5XG5AaW1wb3J0ICdib3JkZXJlZCc7XG5cbi8vIFNoYWRvdyBVdGlsaXR5XG5AaW1wb3J0ICdzaGFkb3cnO1xuXG4vLyBBcnJvdyBVdGlsaXR5XG5AaW1wb3J0ICdhcnJvdyc7XG5cbi8vIFNlcGFyYXRvciBVdGlsaXR5XG5AaW1wb3J0ICdzZXBhcmF0b3InO1xuXG4vLyBPdmVyZmxvdyBoZWxwZXIgY2xhc3Nlc1xuQGltcG9ydCAnb3ZlcmZsb3cnO1xuXG4vLyBEaXNwbGF5IGNsYXNzZXNcbkBpbXBvcnQgJ2Rpc3BsYXknO1xuXG4vLyBQb3NpdGlvbiBIZWxwZXJzXG5AaW1wb3J0ICdwb3NpdGlvbic7XG5cbi8vIEJvcmRlciBib3hcbkBpbXBvcnQgJ2JvcmRlci1ib3gnO1xuXG4vLyBCb3JkZXIgbm9uZSBVdGlsdHlcbkBpbXBvcnQgJ2JvcmRlci1ub25lJztcblxuLy8gU2l6aW5nIFV0aWxpdGllc1xuQGltcG9ydCAnc2l6aW5nJztcblxuLy8gU3BhY2luZyBVdGlsaXRpZXNcbkBpbXBvcnQgJ3NwYWNpbmcnO1xuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtY2xhc3NlcyB7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLXRleHQtdXRpbGl0aWVzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS10ZXh0LXRyYW5zZm9ybWF0aW9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS10ZXh0LWRlY29yYXRpb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLWZvbnQtc3R5bGluZztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wcm90b3R5cGUtbGlzdC1zdHlsZS10eXBlO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS1yb3VuZGVkO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS1ib3JkZXJlZDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wcm90b3R5cGUtc2hhZG93O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS1hcnJvdztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wcm90b3R5cGUtc2VwYXJhdG9yO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS1vdmVyZmxvdztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wcm90b3R5cGUtZGlzcGxheTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wcm90b3R5cGUtcG9zaXRpb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLWJvcmRlci1ib3g7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLWJvcmRlci1ub25lO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS1zaXppbmc7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLXNwYWNpbmc7XG59XG4iLAoJCSIvLy8gU2VsZWN0IGFsbCBjaGlsZHJlbiBmcm9tIHRoZSBmaXJzdCB0byBgJG51bWAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRudW1bXSBGaXJzdCBgbmAgbnVtYmVycyBvZiB0b3RhbCBjaGlsZHJlbiBcbkBtaXhpbiBmaXJzdCgkbnVtKSB7XG4gIEBpZiAkbnVtID09IDEge1xuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICAmOm50aC1jaGlsZCgtbiArICN7JG51bX0pIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gU2VsZWN0IHRoZSBmaXJzdCBleGFjdCBjaGlsZFxuQG1peGluIGZpcnN0LWNoaWxkIHtcbiAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLy8gU2VsZWN0IGFsbCBjaGlsZHJlbiBmcm9tIHRoZSBsYXN0IHRvIGAkbnVtYC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG51bVtdIExhc3QgYG5gIG51bWJlcnMgb2YgdG90YWwgY2hpbGRyZW4gXG5AbWl4aW4gbGFzdCgkbnVtKSB7XG4gICY6bnRoLWxhc3QtY2hpbGQoLW4gKyAjeyRudW19KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8vIFNlbGVjdCB0aGUgbGFzdCBleGFjdCBjaGlsZFxuQG1peGluIGxhc3QtY2hpbGQge1xuICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8vIFNlbGVjdCBjaGlsZHJlbiBldmVyeSBgJG51bWAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRudW1bXSBFdmVyeSBgbmAgbnVtYmVyIG9mIGFsbCBjaGlsZHJlblxuQG1peGluIGV2ZXJ5KCRudW0pIHtcbiAgJjpudGgtY2hpbGQoI3skbnVtfW4pIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLy8gU2VsZWN0IG9ubHkgdGhlIGZpcnN0IGFuZCBsYXN0IGNoaWxkLlxuQG1peGluIGZpcnN0LWxhc3Qge1xuICAmOmZpcnN0LWNoaWxkLFxuICAmOmxhc3QtY2hpbGQge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vLyBTZWxlY3QgYWxsIGNoaWxkcmVuIGFmdGVyIHRoZSBmaXJzdCB0byBgJG51bWAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRudW1bXSBBZnRlciBGaXJzdCBgbmAgbnVtYmVycyBvZiB0b3RhbCBjaGlsZHJlbiBcbkBtaXhpbiBhZnRlci1maXJzdCgkbnVtKSB7XG4gICY6bnRoLWNoaWxkKG4gKyAjeyRudW0gKyAxfSkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vLyBTZWxlY3QgYWxsIGNoaWxkcmVuIGJlZm9yZSBgJG51bWAgZnJvbSB0aGUgbGFzdC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG51bVtdIEZyb20gTGFzdCBgbmAgbnVtYmVycyBvZiB0b3RhbCBjaGlsZHJlbiBcbkBtaXhpbiBmcm9tLWxhc3QoJG51bSkge1xuICAmOm50aC1sYXN0LWNoaWxkKCN7JG51bX0pIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLy8gU2VsZWN0IHRoZSBgJG51bWAgY2hpbGQgZnJvbSB0aGUgZmlyc3QgYW5kIHRoZSBgJG51bWAgY2hpbGQgZnJvbSB0aGUgbGFzdC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG51bVtdIGBuYCBudW1iZXIgY2FsbGVkIGZyb20gZmlyc3QgYW5kIGxhc3QgXG5AbWl4aW4gZnJvbS1maXJzdC1sYXN0KCRudW0pIHtcbiAgJjpudGgtY2hpbGQoI3skbnVtfSksXG4gICY6bnRoLWxhc3QtY2hpbGQoI3skbnVtfSkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vLyBTZWxlY3QgYWxsIGNoaWxkcmVuIGJ1dCBgJG51bWAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRudW1bXSBgbmAgbnVtYmVyIHRoYXQgc2hvdWxkIGJlIGV4Y2x1ZGVkIGZyb20gYWxsIG90aGVyIGNoaWxkcmVuIFxuQG1peGluIGFsbC1idXQoJG51bSkge1xuICAmOm5vdCg6bnRoLWNoaWxkKCN7JG51bX0pKSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8vIFNlbGVjdCBhbGwgY2hpbGRyZW4gYmV0d2VlbiB0aGUgYCRudW1gIGZpcnN0IGFuZCB0aGUgYCRudW1gIGxhc3QuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRudW1bXSBgbmAgbnVtYmVyIGV4Y2x1ZGVkIGZyb20gZmlyc3QgYW5kIGxhc3QgZnJvbSBhbGwgb3RoZXIgY2hpbGRyZW5cbkBtaXhpbiBhbGwtYnV0LWZpcnN0LWxhc3QoJG51bSkge1xuICAmOm50aC1jaGlsZChuICsgI3skbnVtfSk6bnRoLWxhc3QtY2hpbGQobiArICN7JG51bX0pIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLy8gV2lsbCBvbmx5IHNlbGVjdCB0aGUgY2hpbGQgaWYgaXQncyB1bmlxdWUuIFRoYXQgbWVhbnMgdGhhdCBpZiB0aGVyZSBhcmUgYXQgbGVhc3QgMiBjaGlsZHJlbiwgdGhlIHN0eWxlIHdpbGwgbm90IGJlIGFwcGxpZWQuXG5AbWl4aW4gdW5pcXVlIHtcbiAgJjpvbmx5LWNoaWxkIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLy8gV2lsbCBvbmx5IHNlbGVjdCBjaGlsZHJlbiBpZiB0aGV5IGFyZSBub3QgdW5pcXVlLiBUaGF0IG1lYW5zIHRoYXQgaWYgdGhlcmUgYXJlIGF0IGxlYXN0IDIgY2hpbGRyZW4sIHRoZSBzdHlsZSB3aWxsIGJlIGFwcGxpZWQuXG5AbWl4aW4gbm90LXVuaXF1ZSgpIHtcbiAgJjpub3QoOm9ubHktY2hpbGQpIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLy8gU2VsZWN0IGFsbCBjaGlsZHJlbiBiZXR3ZWVuIGAkZmlyc3RgIGFuZCBgJGxhc3RgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZmlyc3RbXSBGaXJzdCBgbnRoYCBudW1iZXJcbi8vLyBAcGFyYW0ge051bWJlcn0gJGxhc3RbXSBMYXN0IGBudGhgIG51bWJlclxuQG1peGluIGJldHdlZW4oJGZpcnN0LCAkbGFzdCkge1xuICAmOm50aC1jaGlsZChuICsgI3skZmlyc3R9KTpudGgtY2hpbGQoLW4gKyAjeyRsYXN0fSkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vLyBTZWxlY3QgYWxsIGV2ZW4gY2hpbGRyZW4uXG5AbWl4aW4gZXZlbiB7XG4gICY6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLy8gU2VsZWN0IGFsbCBldmVuIGNoaWxkcmVuIGJldHdlZW4gYCRmaXJzdGAgYW5kIGAkbGFzdGAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRmaXJzdFtdIEZpcnN0IGBudGhgIG51bWJlclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbGFzdFtdIExhc3QgYG50aGAgbnVtYmVyXG5AbWl4aW4gZXZlbi1iZXR3ZWVuKCRmaXJzdCwgJGxhc3QpIHtcbiAgJjpudGgtY2hpbGQoZXZlbik6bnRoLWNoaWxkKG4gKyAjeyRmaXJzdH0pOm50aC1jaGlsZCgtbiArICN7JGxhc3R9KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8vIFNlbGVjdCBhbGwgb2RkIGNoaWxkcmVuLlxuQG1peGluIG9kZCB7XG4gICY6bnRoLWNoaWxkKG9kZCkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vLyBTZWxlY3QgYWxsIG9kZCBjaGlsZHJlbiBiZXR3ZWVuIGAkZmlyc3RgIGFuZCBgJGxhc3RgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZmlyc3RbXSBGaXJzdCBgbnRoYCBudW1iZXJcbi8vLyBAcGFyYW0ge051bWJlcn0gJGxhc3RbXSBMYXN0IGBudGhgIG51bWJlclxuQG1peGluIG9kZC1iZXR3ZWVuKCRmaXJzdCwgJGxhc3QpIHtcbiAgJjpudGgtY2hpbGQob2RkKTpudGgtY2hpbGQobiArICN7JGZpcnN0fSk6bnRoLWNoaWxkKC1uICsgI3skbGFzdH0pIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLy8gU2VsZWN0IGFsbCBgJG51bWAgY2hpbGRyZW4gYmV0d2VlbiBgJGZpcnN0YCBhbmQgYCRsYXN0YC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG51bVtdIEV2ZXJ5IGBuYCBudW1iZXIgYmV0d2VlbiBgJGZpcnN0YCBhbmQgYCRsYXN0YC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGZpcnN0W10gRmlyc3QgYG5gIG51bWJlclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbGFzdFtdIExhc3QgYG5gIG51bWJlclxuQG1peGluIG51bWJlci1iZXR3ZWVuKCRudW0sICRmaXJzdCwgJGxhc3QpIHtcbiAgJjpudGgtY2hpbGQoI3skbnVtfW4pOm50aC1jaGlsZChuICsgI3skZmlyc3R9KTpudGgtY2hpbGQoLW4gKyAjeyRsYXN0fSkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG4iLAoJCSIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlLWJveFxuLy8vL1xuXG4vLy8gQm94IE1peGluOiBFYXNpbHkgY3JlYXRlIGEgc3F1YXJlLCByZWN0YW5nbGUgb3IgYSBjaXJjbGVcbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoW10gV2lkdGggb2YgdGhlIGJveFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkaGVpZ2h0WyR3aWR0aF0gSGVpZ2h0IG9mIHRoZSBib3gsIGRlZmF1bHRzIHRvIGAkd2lkdGhgIHRvIGVhc2lseSBtYWtlIGEgc3F1YXJlXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkY2lyY2xlW2ZhbHNlXSBNYWtlcyB0aGUgYm94IGEgY2lyY2xlLCBieSBkZWZhdWx0IGBmYWxzZWAuXG5AbWl4aW4gYm94KFxuICAkd2lkdGgsIFxuICAkaGVpZ2h0OiAkd2lkdGgsIFxuICAkY2lyY2xlOiBmYWxzZVxuKSB7XG4gIHdpZHRoOiAkd2lkdGg7XG4gIGhlaWdodDogJGhlaWdodDtcbiAgQGlmICRjaXJjbGUge1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJSAhaW1wb3J0YW50O1xuICB9XG59XG4iLAoJCSIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlLXJvdGF0ZVxuLy8vL1xuXG4vLy8gUm90YXRlIE1peGluOiBSb3RhdGUgYW4gZWxlbWVudCB0byBhIGNlcnRhaW4gZGVnXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRkZWdbXSBEZWdyZWUgb2Ygcm90YXRpb25cbkBtaXhpbiByb3RhdGUoJGRlZykge1xuXHR0cmFuc2Zvcm06cm90YXRlKCRkZWcgKyBkZWcpO1xufVxuXG4vLy8gUm90YXRlWCBNaXhpbjogUm90YXRlIGFuIGVsZW1lbnQgdG8gYSBjZXJ0YWluIGRlZyBvbiBYLUF4aXNcbi8vLyBAcGFyYW0ge051bWJlcn0gJGRlZ1tdIERlZ3JlZSBvZiByb3RhdGlvblxuQG1peGluIHJvdGF0ZVgoJGRlZykge1xuXHR0cmFuc2Zvcm06cm90YXRlWCgkZGVnICsgZGVnKTtcbn1cblxuLy8vIFJvdGF0ZVkgTWl4aW46IFJvdGF0ZSBhbiBlbGVtZW50IHRvIGEgY2VydGFpbiBkZWcgb24gWS1BeGlzXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRkZWdbXSBEZWdyZWUgb2Ygcm90YXRpb25cbkBtaXhpbiByb3RhdGVZKCRkZWcpIHtcblx0dHJhbnNmb3JtOnJvdGF0ZVkoJGRlZyArIGRlZyk7XG59XG5cbi8vLyBSb3RhdGVaIE1peGluOiBSb3RhdGUgYW4gZWxlbWVudCB0byBhIGNlcnRhaW4gZGVnIG9uIFotQXhpc1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZGVnW10gRGVncmVlIG9mIHJvdGF0aW9uXG5AbWl4aW4gcm90YXRlWigkZGVnKSB7XG5cdHRyYW5zZm9ybTpyb3RhdGVaKCRkZWcgKyBkZWcpO1xufSIsCgkJIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtdGV4dC11dGlsaXRpZXNcbi8vLy9cblxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIHRleHQgdXRpbGl0aWVzXG4vLy8gQHR5cGUgQm9vbGVhblxuJHByb3RvdHlwZS11dGlsaXRpZXMtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBWYWx1ZSBmb3IgYHRleHQtb3ZlcmZsb3dgIHZhcmlhYmxlXG4vLy8gQHR5cGUgU3RyaW5nXG4kcHJvdG90eXBlLXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzICFkZWZhdWx0O1xuXG4vLy8gSW1hZ2UgUmVwbGFjZW1lbnQgdXRpbGl0eS4gYHRleHQtaGlkZWBcbkBtaXhpbiB0ZXh0LWhpZGUge1xuICBmb250OiAwLzAgYSAhaW1wb3J0YW50O1xuICBjb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG59XG5cbi8vLyBUcnVuY2F0aW5nIHRoZSB0ZXh0LCBlbGlwc2lzIGJ5IGRlZmF1bHQuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvdmVyZmxvdyBbJHByb3RvdHlwZS10ZXh0LW92ZXJmbG93XSBUZXh0IFRydW5jYXRlXG5AbWl4aW4gdGV4dC10cnVuY2F0ZShcbiAgJG92ZXJmbG93OiAkcHJvdG90eXBlLXRleHQtb3ZlcmZsb3dcbikge1xuICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuICB0ZXh0LW92ZXJmbG93OiAkb3ZlcmZsb3c7IFxuICB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7XG59XG5cbi8vLyBObyB3cmFwcGluZyBvZiB0aGUgdGV4dC4gYHRleHQtbm93cmFwYFxuQG1peGluIHRleHQtbm93cmFwIHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50O1xufVxuXG4vLy8gV3JhcHBpbmcgb2YgdGhlIHRleHQuIGB0ZXh0LXdyYXBgXG5AbWl4aW4gdGV4dC13cmFwIHtcbiAgd29yZC13cmFwOiBicmVhay13b3JkICFpbXBvcnRhbnQ7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS10ZXh0LXV0aWxpdGllcyB7XG4gIC50ZXh0LWhpZGUge1xuICAgIEBpbmNsdWRlIHRleHQtaGlkZTtcbiAgfVxuXG4gIC50ZXh0LXRydW5jYXRlIHtcbiAgICBAaW5jbHVkZSB0ZXh0LXRydW5jYXRlO1xuICB9XG5cbiAgLnRleHQtbm93cmFwIHtcbiAgICBAaW5jbHVkZSB0ZXh0LW5vd3JhcDtcbiAgfVxuXG4gIC50ZXh0LXdyYXAge1xuICAgIEBpbmNsdWRlIHRleHQtd3JhcDtcbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS11dGlsaXRpZXMtYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS10ZXh0LWhpZGUge1xuICAgICAgICAgICAgQGluY2x1ZGUgdGV4dC1oaWRlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS10ZXh0LXRydW5jYXRlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRleHQtdHJ1bmNhdGU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LXRleHQtbm93cmFwIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRleHQtbm93cmFwO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS10ZXh0LXdyYXAge1xuICAgICAgICAgICAgQGluY2x1ZGUgdGV4dC13cmFwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwKCQkiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS10ZXh0LXRyYW5zZm9ybWF0aW9uXG4vLy8vXG5cbi8vLyBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciB0ZXh0IHRyYW5zZm9ybWF0aW9uIGNsYXNzZXNcbi8vLyBAdHlwZSBCb29sZWFuXG4kcHJvdG90eXBlLXRyYW5zZm9ybWF0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcblxuLy8vIE1hcCBjb250YWluaW5nIGFsbCB0aGUgYHRleHQtdHJhbnNmb3JtYXRpb25gIGNsYXNzZXNcbi8vLyBAdHlwZSBNYXBcbiRwcm90b3R5cGUtdGV4dC10cmFuc2Zvcm1hdGlvbjogKFxuICBsb3dlcmNhc2UsXG4gIHVwcGVyY2FzZSxcbiAgY2FwaXRhbGl6ZVxuKSAhZGVmYXVsdDtcblxuLy8vIFRleHQgVHJhbnNmb3JtYXRpb24sIGJ5IGRlZmF1bHQgY29taW5nIHRocm91Z2ggYSBtYXAgYCRwcm90b3R5cGUtdGV4dC10cmFuc2Zvcm1hdGlvbmBcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHRyYW5zZm9ybWF0aW9uIFtdIFRleHQgVHJhbnNmb3JtYXRpb25cbkBtaXhpbiB0ZXh0LXRyYW5zZm9ybSgkdHJhbnNmb3JtYXRpb24pIHtcbiAgdGV4dC10cmFuc2Zvcm06ICR0cmFuc2Zvcm1hdGlvbiAhaW1wb3J0YW50O1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtdGV4dC10cmFuc2Zvcm1hdGlvbiB7XG4gIEBlYWNoICR0cmFuc2Zvcm1hdGlvbiBpbiAkcHJvdG90eXBlLXRleHQtdHJhbnNmb3JtYXRpb24ge1xuICAgIC50ZXh0LSN7JHRyYW5zZm9ybWF0aW9ufSB7XG4gICAgICBAaW5jbHVkZSB0ZXh0LXRyYW5zZm9ybSgkdHJhbnNmb3JtYXRpb24pO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS10cmFuc2Zvcm1hdGlvbi1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gIFx0QGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBlYWNoICR0cmFuc2Zvcm1hdGlvbiBpbiAkcHJvdG90eXBlLXRleHQtdHJhbnNmb3JtYXRpb24ge1xuICAgICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICAuI3skc2l6ZX0tdGV4dC0jeyR0cmFuc2Zvcm1hdGlvbn0ge1xuICBcdFx0XHQgICAgICBAaW5jbHVkZSB0ZXh0LXRyYW5zZm9ybSgkdHJhbnNmb3JtYXRpb24pO1xuICBcdFx0XHQgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwKCQkiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS10ZXh0LWRlY29yYXRpb25cbi8vLy9cblxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIHRleHQgZGVjb3JhdGlvbiBjbGFzc2VzXG4vLy8gQHR5cGUgQm9vbGVhblxuJHByb3RvdHlwZS1kZWNvcmF0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcblxuLy8vIE1hcCBjb250YWluaW5nIGFsbCB0aGUgYHRleHQtZGVjb3JhdGlvbmAgY2xhc3Nlc1xuLy8vIEB0eXBlIE1hcFxuJHByb3RvdHlwZS10ZXh0LWRlY29yYXRpb246IChcbiAgb3ZlcmxpbmUsXG4gIHVuZGVybGluZSxcbiAgbGluZS10aHJvdWdoLFxuKSAhZGVmYXVsdDtcblxuLy8vIFRleHQgRGVjb3JhdGlvbiwgYnkgZGVmYXVsdCBjb21pbmcgdGhyb3VnaCBhIG1hcCBgJHByb3RvdHlwZS10ZXh0LWRlY29yYXRpb25gXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRkZWNvcmF0aW9uIFtdIFRleHQgRGVjb3JhdGlvblxuQG1peGluIHRleHQtZGVjb3JhdGlvbigkZGVjb3JhdGlvbikge1xuICB0ZXh0LWRlY29yYXRpb246ICRkZWNvcmF0aW9uICFpbXBvcnRhbnQ7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS10ZXh0LWRlY29yYXRpb24ge1xuICBAZWFjaCAkZGVjb3JhdGlvbiBpbiAkcHJvdG90eXBlLXRleHQtZGVjb3JhdGlvbiB7XG4gICAgLnRleHQtI3skZGVjb3JhdGlvbn0ge1xuICAgICAgQGluY2x1ZGUgdGV4dC1kZWNvcmF0aW9uKCRkZWNvcmF0aW9uKTtcbiAgICB9XG4gIH1cblxuICBAaWYgKCRwcm90b3R5cGUtZGVjb3JhdGlvbi1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBlYWNoICRkZWNvcmF0aW9uIGluICRwcm90b3R5cGUtdGV4dC1kZWNvcmF0aW9uIHtcbiAgICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgLiN7JHNpemV9LXRleHQtI3skZGVjb3JhdGlvbn0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSB0ZXh0LWRlY29yYXRpb24oJGRlY29yYXRpb24pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwKCQkiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS1mb250LXN0eWxpbmdcbi8vLy9cblxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIGZvbnQgc3R5bGluZyB0eXBlc1xuLy8vIEB0eXBlIEJvb2xlYW5cbiRwcm90b3R5cGUtZm9udC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vLyBMZXR0ZXIgc3BhY2luZyBmb3IgYC5mb250LXdpZGVgXG4vLy8gQHR5cGUgTnVtYmVyXG4kcHJvdG90eXBlLXdpZGUtbGV0dGVyLXNwYWNpbmc6IHJlbS1jYWxjKDQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB3ZWlnaHQgZm9yIGAuZm9udC1ub3JtYWxgLCBkZWZhdWx0ZWQgdG8gYGdsb2JhbC13ZWlnaHQtbm9ybWFsYFxuLy8vIEB0eXBlIE51bWJlclxuJHByb3RvdHlwZS1mb250LW5vcm1hbDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB3ZWlnaHQgZm9yIGAuZm9udC1ib2xkYCwgZGVmYXVsdGVkIHRvIGBnbG9iYWwtd2VpZ2h0LWJvbGRgXG4vLy8gQHR5cGUgTnVtYmVyXG4kcHJvdG90eXBlLWZvbnQtYm9sZDogJGdsb2JhbC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2lkZSBsZXR0ZXIgc3BhY2luZyFcbi8vLyBAcGFyYW0ge051bWJlcn0gJGxldHRlci1zcGFjaW5nIFskcHJvdG90eXBlLXdpZGUtbGV0dGVyLXNwYWNpbmddIFdpZGUgbGV0dGVyIHNwYWNpbmcgZm9yIHRoZSBmb250XG5AbWl4aW4gZm9udC13aWRlKFxuICAkbGV0dGVyLXNwYWNpbmc6ICRwcm90b3R5cGUtd2lkZS1sZXR0ZXItc3BhY2luZ1xuKSB7XG4gIGxldHRlci1zcGFjaW5nOiAkbGV0dGVyLXNwYWNpbmc7XG59XG5cbi8vLyBGb250IFdlaWdodCBOb3JtYWwsIGRlZmF1bHQgdmFsdWUgY29taW5nIHRocm91Z2ggYGdsb2JhbC13ZWlnaHQtbm9ybWFsYFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2VpZ2h0IFskcHJvdG90eXBlLWZvbnQtbm9ybWFsXSBXZWlnaHQgb2YgdGhlIGZvbnQgKG5vcm1hbClcbkBtaXhpbiBmb250LW5vcm1hbChcbiAgJHdlaWdodDogJHByb3RvdHlwZS1mb250LW5vcm1hbFxuKSB7XG4gIGZvbnQtd2VpZ2h0OiAkd2VpZ2h0O1xufVxuXG4vLy8gRm9udCBXZWlnaHQgQm9sZCwgZGVmYXVsdCB2YWx1ZSBjb21pbmcgdGhyb3VnaCBgZ2xvYmFsLXdlaWdodC1ib2xkYFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2VpZ2h0IFskcHJvdG90eXBlLWZvbnQtYm9sZF0gV2VpZ2h0IG9mIHRoZSBmb250IChib2xkKVxuQG1peGluIGZvbnQtYm9sZChcbiAgJHdlaWdodDogJHByb3RvdHlwZS1mb250LWJvbGRcbikge1xuICBmb250LXdlaWdodDogJHdlaWdodDtcbn1cblxuLy8vIEZvbnQgU3R5bGUgSXRhbGljXG5AbWl4aW4gZm9udC1pdGFsaWMge1xuICBmb250LXN0eWxlOiBpdGFsaWMgIWltcG9ydGFudDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLWZvbnQtc3R5bGluZyB7XG4gIC5mb250LXdpZGV7XG4gICAgQGluY2x1ZGUgZm9udC13aWRlO1xuICB9XG5cbiAgLmZvbnQtbm9ybWFsIHtcbiAgICBAaW5jbHVkZSBmb250LW5vcm1hbDtcbiAgfVxuXG4gIC5mb250LWJvbGQge1xuICAgIEBpbmNsdWRlIGZvbnQtYm9sZDtcbiAgfVxuXG4gIC5mb250LWl0YWxpYyB7XG4gICAgQGluY2x1ZGUgZm9udC1pdGFsaWM7XG4gIH1cblxuICBAaWYgKCRwcm90b3R5cGUtZm9udC1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LWZvbnQtd2lkZXtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtd2lkZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tZm9udC1ub3JtYWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1ub3JtYWw7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LWZvbnQtYm9sZCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWJvbGQ7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LWZvbnQtaXRhbGljIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtaXRhbGljO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwKCQkiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS1saXN0LXN0eWxlLXR5cGVcbi8vLy9cblxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIGxpc3Qgc3R5bGluZyB0eXBlc1xuLy8vIEB0eXBlIEJvb2xlYW5cbiRwcm90b3R5cGUtbGlzdC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vLyBNYXAgY29udGFpbmluZyBhbGwgdGhlIGBzdHlsZS10eXBlLXVub3JkZXJlZGAgY2xhc3Nlc1xuLy8vIEB0eXBlIE1hcFxuJHByb3RvdHlwZS1zdHlsZS10eXBlLXVub3JkZXJlZDogKFxuICBkaXNjLFxuICBjaXJjbGUsXG4gIHNxdWFyZVxuKSAhZGVmYXVsdDtcblxuLy8vIE1hcCBjb250YWluaW5nIGFsbCB0aGUgYHN0eWxlLXR5cGUtb3JkZXJlZGAgY2xhc3Nlc1xuLy8vIEB0eXBlIE1hcFxuJHByb3RvdHlwZS1zdHlsZS10eXBlLW9yZGVyZWQ6IChcbiAgZGVjaW1hbCxcbiAgbG93ZXItYWxwaGEsXG4gIGxvd2VyLWxhdGluLFxuICBsb3dlci1yb21hbixcbiAgdXBwZXItYWxwaGEsXG4gIHVwcGVyLWxhdGluLFxuICB1cHBlci1yb21hblxuKSAhZGVmYXVsdDtcblxuXG4vLy8gU3R5bGUgdHlwZSBmb3IgdW5vcmRlcmVkIExpc3RzLCBieSBkZWZhdWx0IGNvbWluZyB0aHJvdWdoIGEgbWFwIGAkcHJvdG90eXBlLXN0eWxlLXR5cGUtdW5vcmRlcmVkYFxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc3R5bGUtdHlwZS11bm9yZGVyZWQgW10gU3R5bGUgdHlwZSBmb3IgdW5vcmRlcmVkIExpc3RzXG5AbWl4aW4gc3R5bGUtdHlwZS11bm9yZGVyZWQoJHN0eWxlLXR5cGUtdW5vcmRlcmVkKSB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogJHN0eWxlLXR5cGUtdW5vcmRlcmVkICFpbXBvcnRhbnQ7XG59XG5cbi8vLyBTdHlsZSB0eXBlIGZvciBvcmRlcmVkIExpc3RzLCBieSBkZWZhdWx0IGNvbWluZyB0aHJvdWdoIGEgbWFwIGAkcHJvdG90eXBlLXN0eWxlLXR5cGUtb3JkZXJlZGBcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHN0eWxlLXR5cGUtb3JkZXJlZCBbXSBTdHlsZSB0eXBlIGZvciBvcmRlcmVkIExpc3RzXG5AbWl4aW4gc3R5bGUtdHlwZS1vcmRlcmVkKCRzdHlsZS10eXBlLW9yZGVyZWQpIHtcbiAgbGlzdC1zdHlsZS10eXBlOiAkc3R5bGUtdHlwZS1vcmRlcmVkICFpbXBvcnRhbnQ7XG59XG5cbkBtaXhpbiBsaXN0LXVub3JkZXJlZCB7XG4gIEBlYWNoICRzdHlsZS10eXBlLXVub3JkZXJlZCBpbiAkcHJvdG90eXBlLXN0eWxlLXR5cGUtdW5vcmRlcmVkIHtcbiAgICB1bC5saXN0LSN7JHN0eWxlLXR5cGUtdW5vcmRlcmVkfSB7XG4gICAgICBAaW5jbHVkZSBzdHlsZS10eXBlLXVub3JkZXJlZCgkc3R5bGUtdHlwZS11bm9yZGVyZWQpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS1saXN0LWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGVhY2ggJHN0eWxlLXR5cGUtdW5vcmRlcmVkIGluICRwcm90b3R5cGUtc3R5bGUtdHlwZS11bm9yZGVyZWQge1xuICAgICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICB1bC4jeyRzaXplfS1saXN0LSN7JHN0eWxlLXR5cGUtdW5vcmRlcmVkfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHN0eWxlLXR5cGUtdW5vcmRlcmVkKCRzdHlsZS10eXBlLXVub3JkZXJlZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBsaXN0LW9yZGVyZWQge1xuICBAZWFjaCAkc3R5bGUtdHlwZS1vcmRlcmVkIGluICRwcm90b3R5cGUtc3R5bGUtdHlwZS1vcmRlcmVkIHtcbiAgICBvbC5saXN0LSN7JHN0eWxlLXR5cGUtb3JkZXJlZH0ge1xuICAgICAgQGluY2x1ZGUgc3R5bGUtdHlwZS1vcmRlcmVkKCRzdHlsZS10eXBlLW9yZGVyZWQpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS1saXN0LWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGVhY2ggJHN0eWxlLXR5cGUtb3JkZXJlZCBpbiAkcHJvdG90eXBlLXN0eWxlLXR5cGUtb3JkZXJlZCB7XG4gICAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIG9sLiN7JHNpemV9LWxpc3QtI3skc3R5bGUtdHlwZS1vcmRlcmVkfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHN0eWxlLXR5cGUtb3JkZXJlZCgkc3R5bGUtdHlwZS1vcmRlcmVkKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLWxpc3Qtc3R5bGUtdHlwZSB7XG4gIEBpbmNsdWRlIGxpc3QtdW5vcmRlcmVkO1xuICBAaW5jbHVkZSBsaXN0LW9yZGVyZWQ7XG59XG4iLAoJCSIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlLXJvdW5kZWRcbi8vLy9cblxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIHJvdW5kZWQgdXRpbGl0eS5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcHJvdG90eXBlLXJvdW5kZWQtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB2YWx1ZSBmb3IgYHByb3RvdHlwZS1ib3JkZXItcmFkaXVzYFxuLy8vIEB0eXBlIE51bWJlclxuJHByb3RvdHlwZS1ib3JkZXItcmFkaXVzOiByZW0tY2FsYygzKSAhZGVmYXVsdDtcblxuLy8vIFJvdW5kZWQgdXRpbGl0eSAoYWxsIGNvcm5lcnMpOiBBZGRzIHJhZGl1cyBjb3JuZXJzIChhbGwgY29ybmVycykgdG8gYW4gZWxlbWVudCBieSBkZWZhdWx0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcmFkaXVzIFskcHJvdG90eXBlLWJvcmRlci1yYWRpdXNdIEJvcmRlciByYWRpdXMgKGFsbCBjb3JuZXJzKVxuQG1peGluIGJvcmRlci1yYWRpdXMoXG4gICRyYWRpdXM6ICRwcm90b3R5cGUtYm9yZGVyLXJhZGl1c1xuKSB7XG4gIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG59XG5cbi8vLyBSb3VuZGVkIHNxdWFyZSB1dGlsaXR5IG9yIHJlY3RhbmdsZSB1dGlsaXR5IChhbGwgY29ybmVycyk6IFJvdW5kcyBhbGwgY29ybmVycyB0byBhbiBlbGVtZW50IGJ5IGRlZmF1bHQgdG8gbWFrZSBhIHBpbGwgc2hhcGUuXG5AbWl4aW4gYm9yZGVyLXJvdW5kZWQge1xuICBib3JkZXItcmFkaXVzOiA1MDAwcHggIWltcG9ydGFudDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLXJvdW5kZWQge1xuICAucm91bmRlZCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJvdW5kZWQ7XG5cbiAgICAuc3dpdGNoLXBhZGRsZSB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcm91bmRlZDtcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7IC8vIEZvciBzd2l0Y2hlc1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5yYWRpdXMge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXM7XG4gIH1cblxuICBAaWYgKCRwcm90b3R5cGUtcm91bmRlZC1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LXJvdW5kZWQge1xuICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJvdW5kZWQ7XG4gICAgICAgICAgfVxuICAgICAgICAgIC4jeyRzaXplfS1yYWRpdXMge1xuICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsCgkJIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtYm9yZGVyZWRcbi8vLy9cblxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIGJvcmRlcmVkIHV0aWxpdHkuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHByb3RvdHlwZS1ib3JkZXJlZC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBgcHJvdG90eXBlLWJvcmRlci13aWR0aGBcbi8vLyBAdHlwZSBOdW1iZXJcbiRwcm90b3R5cGUtYm9yZGVyLXdpZHRoOiByZW0tY2FsYygxKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdmFsdWUgZm9yIGBwcm90b3R5cGUtYm9yZGVyLXR5cGVgXG4vLy8gQHR5cGUgU3RyaW5nXG4kcHJvdG90eXBlLWJvcmRlci10eXBlOiBzb2xpZCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdmFsdWUgZm9yIGBwcm90b3R5cGUtYm9yZGVyLWNvbG9yYCBkZWZhdWx0ZWQgdG8gYG1lZGl1bS1ncmF5YFxuLy8vIEB0eXBlIENvbG9yXG4kcHJvdG90eXBlLWJvcmRlci1jb2xvcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyZWQgVXRpbGl0eTogQWRkcyBhIGxpZ2h0IGJvcmRlciB0byBhbiBlbGVtZW50IGJ5IGRlZmF1bHQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbJHByb3RvdHlwZS1ib3JkZXItd2lkdGhdIFdpZHRoIG9mIHRoZSBib3JkZXJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHR5cGUgWyRwcm90b3R5cGUtYm9yZGVyLXR5cGVdIFR5cGUgb2YgdGhlIGJvcmRlclxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJHByb3RvdHlwZS1ib3JkZXItY29sb3JdIENvbG9yIG9mIHRoZSBib3JkZXJcbkBtaXhpbiBib3JkZXJlZChcbiAgJHdpZHRoOiAkcHJvdG90eXBlLWJvcmRlci13aWR0aCxcbiAgJHR5cGU6ICRwcm90b3R5cGUtYm9yZGVyLXR5cGUsXG4gICRjb2xvcjogJHByb3RvdHlwZS1ib3JkZXItY29sb3Jcbikge1xuICBib3JkZXI6ICR3aWR0aCAkdHlwZSAkY29sb3I7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS1ib3JkZXJlZCB7XG4gIC5ib3JkZXJlZCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyZWQ7XG4gIH1cblxuICBAaWYgKCRwcm90b3R5cGUtYm9yZGVyZWQtYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS1ib3JkZXJlZCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3JkZXJlZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsCgkJIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtc2hhZG93XG4vLy8vXG5cbi8vLyBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBzaGFkb3cgdXRpbGl0eS5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcHJvdG90eXBlLXNoYWRvdy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBgcHJvdG90eXBlLWJveC1zaGFkb3dgXG4vLy8gQHR5cGUgTnVtYmVyXG4kcHJvdG90eXBlLWJveC1zaGFkb3c6IDAgMnB4IDVweCAwIHJnYmEoMCwwLDAsLjE2KSxcbiAgICAgICAgICAgICAgICAgICAgICAgMCAycHggMTBweCAwIHJnYmEoMCwwLDAsLjEyKSAhZGVmYXVsdDtcblxuLy8vIFNoYWRvdyBVdGlsaXR5OiBBZGRzIGEgbGlnaHQgYm94IHNoYWRvdyB0byBhbiBlbGVtZW50IGJ5IGRlZmF1bHQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzaGFkb3cgWyRwcm90b3R5cGUtYm94LXNoYWRvd10gQm94IFNoYWRvdyBvZiBhIGNvbXBvbmVudFxuQG1peGluIHNoYWRvdyhcbiAgJHNoYWRvdzogJHByb3RvdHlwZS1ib3gtc2hhZG93XG4pIHtcbiAgYm94LXNoYWRvdzogJHNoYWRvdztcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLXNoYWRvdyB7XG4gIC5zaGFkb3cge1xuICAgIEBpbmNsdWRlIHNoYWRvdztcbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS1zaGFkb3ctYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS1zaGFkb3cge1xuICAgICAgICAgICAgQGluY2x1ZGUgc2hhZG93O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwKCQkiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS1hcnJvd1xuLy8vL1xuXG4vLy8gTWFwIGNvbnRhaW5pbmcgYWxsIHRoZSBgYXJyb3dgIGRpcmVjdGlvblxuLy8vIEB0eXBlIE1hcFxuJHByb3RvdHlwZS1hcnJvdy1kaXJlY3Rpb25zOiAoXG4gIGRvd24sXG4gIHVwLFxuICByaWdodCxcbiAgbGVmdFxuKSAhZGVmYXVsdDtcblxuLy8vIFdpZHRoIG9mIHRoZSBBcnJvdywgYDAuNDM3NXJlbWAgYnkgZGVmYXVsdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwcm90b3R5cGUtYXJyb3ctc2l6ZTogMC40Mzc1cmVtO1xuXG4vLy8gQ29sb3Igb2YgdGhlIEFycm93LCBgJGJsYWNrYCBieSBkZWZhdWx0LlxuLy8vIEB0eXBlIENvbG9yXG4kcHJvdG90eXBlLWFycm93LWNvbG9yOiAkYmxhY2s7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS1hcnJvdyB7XG4gIEBlYWNoICRwcm90b3R5cGUtYXJyb3ctZGlyZWN0aW9uIGluICRwcm90b3R5cGUtYXJyb3ctZGlyZWN0aW9ucyB7XG4gICAgLmFycm93LSN7JHByb3RvdHlwZS1hcnJvdy1kaXJlY3Rpb259IHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZShcbiAgICAgICAgJHByb3RvdHlwZS1hcnJvdy1zaXplLCBcbiAgICAgICAgJHByb3RvdHlwZS1hcnJvdy1jb2xvciwgXG4gICAgICAgICRwcm90b3R5cGUtYXJyb3ctZGlyZWN0aW9uXG4gICAgICApO1xuICAgIH1cbiAgfVxufVxuIiwKCQkiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS1zZXBhcmF0b3Jcbi8vLy9cblxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIHNlcGFyYXRvci5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcHJvdG90eXBlLXNlcGFyYXRvci1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGFsaWdubWVudCBvZiBhIHNlcGFyYXRvci5cbi8vLyBAdHlwZSBTdHJpbmdcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWFsaWduOiBjZW50ZXIgIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgb2YgYSBzZXBhcmF0b3IuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcHJvdG90eXBlLXNlcGFyYXRvci1oZWlnaHQ6IHJlbS1jYWxjKDIpICFkZWZhdWx0O1xuXG4vLy8gV2lkdGggb2YgYSBzZXBhcmF0b3IuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcHJvdG90eXBlLXNlcGFyYXRvci13aWR0aDogM3JlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgYSBzZXBhcmF0b3IuXG4vLy8gQHR5cGUgQ29sb3JcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gVG9wIE1hcmdpbiBvZiBhIHNlcGFyYXRvci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwcm90b3R5cGUtc2VwYXJhdG9yLW1hcmdpbi10b3A6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gVGl0bGUgc2VwYXJhdG9yIFV0aWxpdHksIG1vc3RseSB1c2VkIHRvIHN0eWxlIHRoZSBtYWluIGhlYWRpbmcgb2YgYSBzZWN0aW9uXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRhbGlnbiBbJHByb3RvdHlwZS1zZXBhcmF0b3ItYWxpZ25dIC0gc2VwYXJhdG9yIEFsaWdubWVudFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkaGVpZ2h0IFskcHJvdG90eXBlLXNlcGFyYXRvci1oZWlnaHRdIC0gV2lkdGhcbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIFskcHJvdG90eXBlLXNlcGFyYXRvci13aWR0aF0gLSBIZWlnaHRcbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJHByb3RvdHlwZS1zZXBhcmF0b3ItYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0b3AgWyRwcm90b3R5cGUtc2VwYXJhdG9yLW1hcmdpbi10b3BdIC0gTWFyZ2luIFRvcFxuQG1peGluIHNlcGFyYXRvciAoXG4gICRhbGlnbjogJHByb3RvdHlwZS1zZXBhcmF0b3ItYWxpZ24sXG4gICRoZWlnaHQ6ICRwcm90b3R5cGUtc2VwYXJhdG9yLWhlaWdodCxcbiAgJHdpZHRoOiAkcHJvdG90eXBlLXNlcGFyYXRvci13aWR0aCxcbiAgJGJhY2tncm91bmQ6ICRwcm90b3R5cGUtc2VwYXJhdG9yLWJhY2tncm91bmQsXG4gICR0b3A6ICRwcm90b3R5cGUtc2VwYXJhdG9yLW1hcmdpbi10b3Bcbikge1xuICB0ZXh0LWFsaWduOiAkYWxpZ24gIWltcG9ydGFudDtcblx0QGluY2x1ZGUgY2xlYXJmaXg7XG5cbiAgJjo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIHBvc2l0aW9uKHJlbGF0aXZlKTtcbiAgICB3aWR0aDogJHdpZHRoO1xuICAgIGJvcmRlci1ib3R0b206ICRoZWlnaHQgc29saWQgJGJhY2tncm91bmQ7XG4gICAgbWFyZ2luOiAkdG9wIGF1dG8gMDtcblxuICAgIEBpZiAkYWxpZ24gPT0gbGVmdCB7XG4gICAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIEBpZiAkYWxpZ24gPT0gcmlnaHQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS1zZXBhcmF0b3Ige1xuXHQuc2VwYXJhdG9yLWNlbnRlciB7XG5cdFx0QGluY2x1ZGUgc2VwYXJhdG9yKGNlbnRlcik7XG5cdH1cblxuICAuc2VwYXJhdG9yLWxlZnQge1xuICAgIEBpbmNsdWRlIHNlcGFyYXRvcihsZWZ0KTtcbiAgfVxuXG4gIC5zZXBhcmF0b3ItcmlnaHQge1xuICAgIEBpbmNsdWRlIHNlcGFyYXRvcihyaWdodCk7XG4gIH1cblxuXHRAaWYgKCRwcm90b3R5cGUtc2VwYXJhdG9yLWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tc2VwYXJhdG9yLWNlbnRlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzZXBhcmF0b3IoY2VudGVyKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgLiN7JHNpemV9LXNlcGFyYXRvci1sZWZ0IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNlcGFyYXRvcihsZWZ0KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgLiN7JHNpemV9LXNlcGFyYXRvci1yaWdodCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzZXBhcmF0b3IocmlnaHQpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwKCQkiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS1vdmVyZmxvd1xuLy8vL1xuXG4vLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3Igb3ZlcmZsb3cgaGVscGVyIGNsYXNzZXNcbi8vLyBAdHlwZSBCb29sZWFuXG4kcHJvdG90eXBlLW92ZXJmbG93LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcblxuLy8vIE1hcCBjb250YWluaW5nIGFsbCB0aGUgYG92ZXJmbG93YCBjbGFzc2VzXG4vLy8gQHR5cGUgTWFwXG4kcHJvdG90eXBlLW92ZXJmbG93OiAoXG4gIHZpc2libGUsXG4gIGhpZGRlbixcbiAgc2Nyb2xsXG4pICFkZWZhdWx0O1xuXG4vLy8gT3ZlcmZsb3cgY2xhc3NlcywgYnkgZGVmYXVsdCBjb21pbmcgdGhyb3VnaCBhIG1hcCBgJHByb3RvdHlwZS1vdmVyZmxvd2Bcbi8vLyBAcGFyYW0ge1N0cmluZ30gJG92ZXJmbG93IFtdIE92ZXJmbG93IGNsYXNzZXNcbkBtaXhpbiBvdmVyZmxvdygkb3ZlcmZsb3cpIHtcbiAgb3ZlcmZsb3c6ICRvdmVyZmxvdyAhaW1wb3J0YW50O1xufVxuXG4vLy8gT3ZlcmZsb3cgY2xhc3NlcyBvbiBob3Jpem9udGFsIGF4aXMsIGJ5IGRlZmF1bHQgY29taW5nIHRocm91Z2ggYSBtYXAgYCRwcm90b3R5cGUtb3ZlcmZsb3dgXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvdmVyZmxvdyBbXSBPdmVyZmxvdyBjbGFzc2VzIChob3Jpem9udGFsIGF4aXMpXG5AbWl4aW4gb3ZlcmZsb3cteCgkb3ZlcmZsb3cpIHtcbiAgb3ZlcmZsb3cteDogJG92ZXJmbG93ICFpbXBvcnRhbnQ7XG59XG5cbi8vLyBPdmVyZmxvdyBjbGFzc2VzIG9uIHZlcnRpY2FsIGF4aXMsIGJ5IGRlZmF1bHQgY29taW5nIHRocm91Z2ggYSBtYXAgYCRwcm90b3R5cGUtb3ZlcmZsb3dgXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvdmVyZmxvdyBbXSBPdmVyZmxvdyBjbGFzc2VzICh2ZXJ0aWNhbCBheGlzKVxuQG1peGluIG92ZXJmbG93LXkoJG92ZXJmbG93KSB7XG4gIG92ZXJmbG93LXk6ICRvdmVyZmxvdyAhaW1wb3J0YW50O1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtb3ZlcmZsb3cge1xuICBAZWFjaCAkb3ZlcmZsb3cgaW4gJHByb3RvdHlwZS1vdmVyZmxvdyB7XG4gICAgLm92ZXJmbG93LSN7JG92ZXJmbG93fSB7XG4gICAgICBAaW5jbHVkZSBvdmVyZmxvdygkb3ZlcmZsb3cpO1xuICAgIH1cbiAgICAub3ZlcmZsb3cteC0jeyRvdmVyZmxvd30ge1xuICAgICAgQGluY2x1ZGUgb3ZlcmZsb3cteCgkb3ZlcmZsb3cpO1xuICAgIH1cbiAgICAub3ZlcmZsb3cteS0jeyRvdmVyZmxvd30ge1xuICAgICAgQGluY2x1ZGUgb3ZlcmZsb3cteSgkb3ZlcmZsb3cpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS1vdmVyZmxvdy1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBlYWNoICRvdmVyZmxvdyBpbiAkcHJvdG90eXBlLW92ZXJmbG93IHtcbiAgICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgLiN7JHNpemV9LW92ZXJmbG93LSN7JG92ZXJmbG93fSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIG92ZXJmbG93KCRvdmVyZmxvdyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuI3skc2l6ZX0tb3ZlcmZsb3cteC0jeyRvdmVyZmxvd30ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBvdmVyZmxvdy14KCRvdmVyZmxvdyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuI3skc2l6ZX0tb3ZlcmZsb3cteS0jeyRvdmVyZmxvd30ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBvdmVyZmxvdy15KCRvdmVyZmxvdyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLAoJCSIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlLWRpc3BsYXlcbi8vLy9cblxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIGRpc3BsYXkgY2xhc3Nlc1xuLy8vIEB0eXBlIEJvb2xlYW5cbiRwcm90b3R5cGUtZGlzcGxheS1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vLyBNYXAgY29udGFpbmluZyBhbGwgdGhlIGBkaXNwbGF5YCBjbGFzc2VzXG4vLy8gQHR5cGUgTWFwXG4kcHJvdG90eXBlLWRpc3BsYXk6IChcbiAgaW5saW5lLFxuICBpbmxpbmUtYmxvY2ssXG4gIGJsb2NrLFxuICB0YWJsZSxcbiAgdGFibGUtY2VsbFxuKSAhZGVmYXVsdDtcblxuLy8vIERpc3BsYXkgY2xhc3NlcywgYnkgZGVmYXVsdCBjb21pbmcgdGhyb3VnaCBhIG1hcCBgJHByb3RvdHlwZS1kaXNwbGF5YFxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZGlzcGxheSBbXSBEaXNwbGF5IGNsYXNzZXNcbkBtaXhpbiBkaXNwbGF5KCRkaXNwbGF5KSB7XG4gIGRpc3BsYXk6ICRkaXNwbGF5ICFpbXBvcnRhbnQ7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS1kaXNwbGF5IHtcbiAgQGVhY2ggJGRpc3BsYXkgaW4gJHByb3RvdHlwZS1kaXNwbGF5IHtcbiAgICAuZGlzcGxheS0jeyRkaXNwbGF5fSB7XG4gICAgICBAaW5jbHVkZSBkaXNwbGF5KCRkaXNwbGF5KTtcbiAgICB9XG4gIH1cblxuICBAaWYgKCRwcm90b3R5cGUtZGlzcGxheS1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBlYWNoICRkaXNwbGF5IGluICRwcm90b3R5cGUtZGlzcGxheSB7XG4gICAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIC4jeyRzaXplfS1kaXNwbGF5LSN7JGRpc3BsYXl9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgZGlzcGxheSgkZGlzcGxheSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLAoJCSIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlLXBvc2l0aW9uXG4vLy8vXG5cbi8vLyBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBwb3NpdGlvbiBoZWxwZXJzXG4vLy8gQHR5cGUgQm9vbGVhblxuJHByb3RvdHlwZS1wb3NpdGlvbi1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vLyBNYXAgY29udGFpbmluZyBhbGwgdGhlIGBwb3NpdGlvbmAgY2xhc3Nlc1xuLy8vIEB0eXBlIE1hcFxuJHByb3RvdHlwZS1wb3NpdGlvbjogKFxuICBzdGF0aWMsXG4gIHJlbGF0aXZlLFxuICBhYnNvbHV0ZSxcbiAgZml4ZWRcbikgIWRlZmF1bHQ7XG5cbi8vLyB6LWluZGV4IGZvciBmaXhlZCBwb3NpdGlvbmluZ1xuLy8vIEB0eXBlIE51bWJlclxuJHByb3RvdHlwZS1wb3NpdGlvbi16LWluZGV4OiA5NzUgIWRlZmF1bHQ7XG5cbi8vLyBQb3NpdGlvbiBjbGFzc2VzLCBieSBkZWZhdWx0IGNvbWluZyB0aHJvdWdoIGEgbWFwIGAkcHJvdG90eXBlLXBvc2l0aW9uYCwgd2hlcmVhcyBhbGwgdGhlIG9mZnNldCB2YWx1ZXMgYXJlIG11bHRpcGxpZWQgYnkgYCRnbG9iYWwtcG9zaXRpb25gIHdoaWNoIGJ5IGRlZmF1bHQgaXMgZXF1YWwgdG8gYDFyZW1gLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkcG9zaXRpb24gW10gUG9zaXRpb24gY2xhc3NlcywgRWl0aGVyIGBzdGF0aWNgLCBgcmVsYXRpdmVgLCBgYWJzb2x1dGVgIG9yIGBmaXhlZGBcbi8vLyBAcGFyYW0ge051bWJlcn0gJHRvcCBbbnVsbF0gLSBUb3Agb2Zmc2V0XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRyaWdodCBbbnVsbF0gLSBSaWdodCBvZmZzZXRcbi8vLyBAcGFyYW0ge051bWJlcn0gJGJvdHRvbSBbbnVsbF0gLSBCb3R0b20gb2Zmc2V0XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRsZWZ0IFtudWxsXSAtIExlZnQgb2Zmc2V0XG5AbWl4aW4gcG9zaXRpb24oXG4gICRwb3NpdGlvbixcbiAgJHRvcDogbnVsbCxcbiAgJHJpZ2h0OiBudWxsLFxuICAkYm90dG9tOiBudWxsLFxuICAkbGVmdDogbnVsbFxuKSB7XG4gIHBvc2l0aW9uOiAkcG9zaXRpb24gIWltcG9ydGFudDtcbiAgQGlmICR0b3AgIT0gbnVsbCB7XG4gICAgdG9wOiAkdG9wICogJGdsb2JhbC1wb3NpdGlvbiAhaW1wb3J0YW50O1xuICB9XG4gIEBpZiAkcmlnaHQgIT0gbnVsbCB7XG4gICAgcmlnaHQ6ICRyaWdodCAqICRnbG9iYWwtcG9zaXRpb24gIWltcG9ydGFudDtcbiAgfVxuICBAaWYgJGJvdHRvbSAhPSBudWxsIHtcbiAgICBib3R0b206ICRib3R0b20gKiAkZ2xvYmFsLXBvc2l0aW9uICFpbXBvcnRhbnQ7XG4gIH1cbiAgQGlmICRsZWZ0ICE9IG51bGwge1xuICAgIGxlZnQ6ICRsZWZ0ICogJGdsb2JhbC1wb3NpdGlvbiAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBQb3NpdGlvbiBGaXhlZCBvbiB0b3AgY29ybmVyc1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkei1pbmRleCBbJHByb3RvdHlwZS1wb3NpdGlvbi16LWluZGV4XSB6LWluZGV4IGZvciBgcG9zaXRpb24tZml4ZWQtdG9wYFxuQG1peGluIHBvc2l0aW9uLWZpeGVkLXRvcChcbiAgJHotaW5kZXg6ICRwcm90b3R5cGUtcG9zaXRpb24tei1pbmRleFxuKSB7XG4gIEBpbmNsdWRlIHBvc2l0aW9uKGZpeGVkLCAwLCAwLCBudWxsLCAwKTtcbiAgei1pbmRleDogJHotaW5kZXg7XG59XG5cbi8vLyBQb3NpdGlvbiBGaXhlZCBvbiBib3R0b20gY29ybmVyc1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkei1pbmRleCBbJHByb3RvdHlwZS1wb3NpdGlvbi16LWluZGV4XSB6LWluZGV4IGZvciBgcG9zaXRpb24tZml4ZWQtYm90dG9tYFxuQG1peGluIHBvc2l0aW9uLWZpeGVkLWJvdHRvbShcbiAgJHotaW5kZXg6ICRwcm90b3R5cGUtcG9zaXRpb24tei1pbmRleFxuKSB7XG4gIEBpbmNsdWRlIHBvc2l0aW9uKGZpeGVkLCBudWxsLCAwLCAwLCAwKTtcbiAgei1pbmRleDogJHotaW5kZXg7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS1wb3NpdGlvbiB7XG4gIC8vIFBvc2l0aW9uOiBTdGF0aWMsIFJlbGF0aXZlLCBGaXhlZCwgQWJzb2x1dGVcbiAgQGVhY2ggJHBvc2l0aW9uIGluICRwcm90b3R5cGUtcG9zaXRpb24ge1xuICAgIC5wb3NpdGlvbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgQGluY2x1ZGUgcG9zaXRpb24oJHBvc2l0aW9uKTtcbiAgICB9XG4gIH1cblxuICAvLyBQb3NpdGlvbjogRml4ZWQgVG9wLCBGaXhlZCBCb3R0b21cbiAgLnBvc2l0aW9uLWZpeGVkLXRvcCB7XG4gICAgQGluY2x1ZGUgcG9zaXRpb24tZml4ZWQtdG9wO1xuICB9XG4gIC5wb3NpdGlvbi1maXhlZC1ib3R0b20ge1xuICAgIEBpbmNsdWRlIHBvc2l0aW9uLWZpeGVkLWJvdHRvbTtcbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS1wb3NpdGlvbi1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIC8vIFBvc2l0aW9uOiBTdGF0aWMsIFJlbGF0aXZlLCBGaXhlZCwgQWJzb2x1dGVcbiAgICAgICAgQGVhY2ggJHBvc2l0aW9uIGluICRwcm90b3R5cGUtcG9zaXRpb24ge1xuICAgICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICAuI3skc2l6ZX0tcG9zaXRpb24tI3skcG9zaXRpb259IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oJHBvc2l0aW9uKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBQb3NpdGlvbjogRml4ZWQgVG9wLCBGaXhlZCBCb3R0b21cbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tcG9zaXRpb24tZml4ZWQtdG9wIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uLWZpeGVkLXRvcDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tcG9zaXRpb24tZml4ZWQtYm90dG9tIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uLWZpeGVkLWJvdHRvbTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsCgkJIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtYm9yZGVyLWJveFxuLy8vL1xuXG4vLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgYm9yZGVyIGJveC5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcHJvdG90eXBlLWJvcmRlci1ib3gtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGJveCB1dGlsaXR5XG5AbWl4aW4gYm9yZGVyLWJveCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3ggIWltcG9ydGFudDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLWJvcmRlci1ib3gge1xuICAuYm9yZGVyLWJveCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLWJveDtcbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS1ib3JkZXItYm94LWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tYm9yZGVyLWJveCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItYm94O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwKCQkiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS1ib3JkZXItbm9uZVxuLy8vL1xuXG4vLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgYm9yZGVyIG5vbmUuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHByb3RvdHlwZS1ib3JkZXItbm9uZS1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgbm9uZSB1dGlsaXR5XG5AbWl4aW4gYm9yZGVyLW5vbmUge1xuICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLWJvcmRlci1ub25lIHtcbiAgLmJvcmRlci1ub25lIHtcbiAgICBAaW5jbHVkZSBib3JkZXItbm9uZTtcbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS1ib3JkZXItbm9uZS1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LWJvcmRlci1ub25lIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1ub25lO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwKCQkiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS1zaXppbmdcbi8vLy9cblxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIHNwYWNpbmcgY2xhc3NlcyAobWFyZ2luIGFuZCBwYWRkaW5nKVxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwcm90b3R5cGUtc2l6aW5nLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcblxuLy8vIE1hcCBjb250YWluaW5nIGFsbCB0aGUgYHNpemluZ2AgY2xhc3Nlc1xuLy8vIEB0eXBlIE1hcFxuJHByb3RvdHlwZS1zaXppbmc6IChcbiAgd2lkdGgsXG4gIGhlaWdodFxuKSAhZGVmYXVsdDtcblxuLy8vIE1hcCBjb250YWluaW5nIGFsbCB0aGUgc2l6ZXMuXG4vLy8gQHR5cGUgTWFwXG4kcHJvdG90eXBlLXNpemVzOiAoXG4gIDI1OiAyNSUsXG4gIDUwOiA1MCUsXG4gIDc1OiA3NSUsXG4gIDEwMDogMTAwJVxuKSAhZGVmYXVsdDtcblxuLy8vIE1heCBXaWR0aCAxMDAgdXRpbGl0eS5cbkBtaXhpbiBtYXgtd2lkdGgtMTAwIHtcbiAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG59XG5cbi8vLyBNYXggSGVpZ2h0IDEwMCB1dGlsaXR5LlxuQG1peGluIG1heC1oZWlnaHQtMTAwIHtcbiAgbWF4LWhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtc2l6aW5nIHtcbiAgLy8gRWxlbWVudCBTaXppbmdcbiAgQGVhY2ggJHNpemluZyBpbiAkcHJvdG90eXBlLXNpemluZyB7XG4gICAgQGVhY2ggJGxlbmd0aCwgJHBlcmNlbnRhZ2UgaW4gJHByb3RvdHlwZS1zaXplcyB7XG4gICAgICAuI3skc2l6aW5nfS0jeyRsZW5ndGh9IHtcbiAgICAgICAgI3skc2l6aW5nfTogJHBlcmNlbnRhZ2UgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBNYXggd2lkdGggJiBoZWlnaHRcbiAgLm1heC13aWR0aC0xMDAge1xuICAgIEBpbmNsdWRlIG1heC13aWR0aC0xMDA7XG4gIH1cbiAgLm1heC1oZWlnaHQtMTAwIHtcbiAgICBAaW5jbHVkZSBtYXgtaGVpZ2h0LTEwMDtcbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS1zaXppbmctYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIEBlYWNoICRzaXppbmcgaW4gJHByb3RvdHlwZS1zaXppbmcge1xuICAgICAgICAgICAgQGVhY2ggJGxlbmd0aCwgJHBlcmNlbnRhZ2UgaW4gJHByb3RvdHlwZS1zaXplcyB7XG4gICAgICAgICAgICAgIC4jeyRzaXplfS0jeyRzaXppbmd9LSN7JGxlbmd0aH0ge1xuICAgICAgICAgICAgICAgICN7JHNpemluZ306ICRwZXJjZW50YWdlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsCgkJIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtc3BhY2luZ1xuLy8vL1xuXG4vLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3Igc3BhY2luZyBjbGFzc2VzIChtYXJnaW4gYW5kIHBhZGRpbmcpXG4vLy8gQHR5cGUgQm9vbGVhblxuJHByb3RvdHlwZS1zcGFjaW5nLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbnVtYmVyIG9mIHNwYWNlcnMgY291bnQgKG1hcmdpbiBhbmQgcGFkZGluZylcbi8vLyBAdHlwZSBOdW1iZXJcbiRwcm90b3R5cGUtc3BhY2Vycy1jb3VudDogMyAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiBoZWxwZXIgbWl4aW4sIGFsbCB0aGUgdmFsdWVzIGFyZSBtdWx0aXBsaWVkIGJ5IGAkZ2xvYmFsLW1hcmdpbmAgd2hpY2ggYnkgZGVmYXVsdCBpcyBlcXVhbCB0byBgMXJlbWBcbi8vLyBAcGFyYW0ge051bWJlcn0gJHRvcCBbbnVsbF0gLSBNYXJnaW4gVG9wXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRyaWdodCBbbnVsbF0gLSBNYXJnaW4gUmlnaHRcbi8vLyBAcGFyYW0ge051bWJlcn0gJGJvdHRvbSBbbnVsbF0gLSBNYXJnaW4gQm90dG9tXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRsZWZ0IFtudWxsXSAtIE1hcmdpbiBMZWZ0XG5AbWl4aW4gbWFyZ2luKFxuICAkdG9wOiBudWxsLFxuICAkcmlnaHQ6IG51bGwsXG4gICRib3R0b206IG51bGwsXG4gICRsZWZ0OiBudWxsXG4pIHtcbiAgQGlmICR0b3AgIT0gbnVsbCB7XG4gICAgbWFyZ2luLXRvcDogJHRvcCAqICRnbG9iYWwtbWFyZ2luICFpbXBvcnRhbnQ7XG4gIH1cbiAgQGlmICRyaWdodCAhPSBudWxsIHtcbiAgICBtYXJnaW4tcmlnaHQ6ICRyaWdodCAqICRnbG9iYWwtbWFyZ2luICFpbXBvcnRhbnQ7XG4gIH1cbiAgQGlmICRib3R0b20gIT0gbnVsbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGJvdHRvbSAqICRnbG9iYWwtbWFyZ2luICFpbXBvcnRhbnQ7XG4gIH1cbiAgQGlmICRsZWZ0ICE9IG51bGwge1xuICAgIG1hcmdpbi1sZWZ0OiAkbGVmdCAqICRnbG9iYWwtbWFyZ2luICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIFBhZGRpbmcgaGVscGVyIG1peGluLCBhbGwgdGhlIHZhbHVlcyBhcmUgbXVsdGlwbGllZCBieSBgJGdsb2JhbC1wYWRkaW5nYCB3aGljaCBieSBkZWZhdWx0IGlzIGVxdWFsIHRvIGAxcmVtYFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdG9wIFtudWxsXSAtIFBhZGRpbmcgVG9wXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRyaWdodCBbbnVsbF0gLSBQYWRkaW5nIFJpZ2h0XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRib3R0b20gW251bGxdIC0gUGFkZGluZyBCb3R0b21cbi8vLyBAcGFyYW0ge051bWJlcn0gJGxlZnQgW251bGxdIC0gUGFkZGluZyBMZWZ0XG5AbWl4aW4gcGFkZGluZyhcbiAgJHRvcDogbnVsbCxcbiAgJHJpZ2h0OiBudWxsLFxuICAkYm90dG9tOiBudWxsLFxuICAkbGVmdDogbnVsbFxuKSB7XG4gIEBpZiAkdG9wICE9IG51bGwge1xuICAgIHBhZGRpbmctdG9wOiAkdG9wICogJGdsb2JhbC1wYWRkaW5nICFpbXBvcnRhbnQ7XG4gIH1cbiAgQGlmICRyaWdodCAhPSBudWxsIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkcmlnaHQgKiAkZ2xvYmFsLXBhZGRpbmcgIWltcG9ydGFudDtcbiAgfVxuICBAaWYgJGJvdHRvbSAhPSBudWxsIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogJGJvdHRvbSAqICRnbG9iYWwtcGFkZGluZyAhaW1wb3J0YW50O1xuICB9XG4gIEBpZiAkbGVmdCAhPSBudWxsIHtcbiAgICBwYWRkaW5nLWxlZnQ6ICRsZWZ0ICogJGdsb2JhbC1wYWRkaW5nICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIE1hcmdpbiBjbGFzc2VzIGZvciBzcGVjaWZpYyBkaXJlY3Rpb24gcHJvcGVydGllc1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZGlyIFtdIERpcmVjdGlvblxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3BhY2VyIFtdIFNwYWNlclxuQG1peGluIG1hcmdpbi1kaXJlY3Rpb24oJGRpciwgJHNwYWNlcikge1xuICBAaWYgKCRkaXIgPT0gdG9wKSB7IFxuICAgIEBpbmNsdWRlIG1hcmdpbigkdG9wOiAkc3BhY2VyKTsgXG4gIH1cbiAgQGVsc2UgaWYgKCRkaXIgPT0gcmlnaHQpIHsgXG4gICAgQGluY2x1ZGUgbWFyZ2luKCRyaWdodDogJHNwYWNlcik7IFxuICB9XG4gIEBlbHNlIGlmICgkZGlyID09IGJvdHRvbSkgeyBcbiAgICBAaW5jbHVkZSBtYXJnaW4oJGJvdHRvbTogJHNwYWNlcik7IFxuICB9XG4gIEBlbHNlIGlmICgkZGlyID09IGxlZnQpIHsgXG4gICAgQGluY2x1ZGUgbWFyZ2luKCRsZWZ0OiAkc3BhY2VyKTsgXG4gIH1cbiAgQGVsc2UgaWYgKCRkaXIgPT0gaG9yaXpvbnRhbCkgeyBcbiAgICBAaW5jbHVkZSBtYXJnaW4oJHJpZ2h0OiAkc3BhY2VyLCAkbGVmdDogJHNwYWNlcik7IFxuICB9XG4gIEBlbHNlIGlmICgkZGlyID09IHZlcnRpY2FsKSB7IFxuICAgIEBpbmNsdWRlIG1hcmdpbigkdG9wOiAkc3BhY2VyLCAkYm90dG9tOiAkc3BhY2VyKTsgXG4gIH1cbn1cblxuLy8vIFBhZGRpbmcgY2xhc3NlcyBmb3Igc3BlY2lmaWMgZGlyZWN0aW9uIHByb3BlcnRpZXNcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGRpciBbXSBEaXJlY3Rpb25cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNwYWNlciBbXSBTcGFjZXJcbkBtaXhpbiBwYWRkaW5nLWRpcmVjdGlvbigkZGlyLCAkc3BhY2VyKSB7XG4gIEBpZiAoJGRpciA9PSB0b3ApIHsgXG4gICAgQGluY2x1ZGUgcGFkZGluZygkdG9wOiAkc3BhY2VyKTsgXG4gIH1cbiAgQGVsc2UgaWYgKCRkaXIgPT0gcmlnaHQpIHsgXG4gICAgQGluY2x1ZGUgcGFkZGluZygkcmlnaHQ6ICRzcGFjZXIpOyBcbiAgfVxuICBAZWxzZSBpZiAoJGRpciA9PSBib3R0b20pIHsgXG4gICAgQGluY2x1ZGUgcGFkZGluZygkYm90dG9tOiAkc3BhY2VyKTsgXG4gIH1cbiAgQGVsc2UgaWYgKCRkaXIgPT0gbGVmdCkgeyBcbiAgICBAaW5jbHVkZSBwYWRkaW5nKCRsZWZ0OiAkc3BhY2VyKTsgXG4gIH1cbiAgQGVsc2UgaWYgKCRkaXIgPT0gaG9yaXpvbnRhbCkgeyBcbiAgICBAaW5jbHVkZSBwYWRkaW5nKCRyaWdodDogJHNwYWNlciwgJGxlZnQ6ICRzcGFjZXIpOyBcbiAgfVxuICBAZWxzZSBpZiAoJGRpciA9PSB2ZXJ0aWNhbCkgeyBcbiAgICBAaW5jbHVkZSBwYWRkaW5nKCR0b3A6ICRzcGFjZXIsICRib3R0b206ICRzcGFjZXIpOyBcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtc3BhY2luZyB7XG4gIEBmb3IgJHNwYWNlciBmcm9tIDAgdGhyb3VnaCAkcHJvdG90eXBlLXNwYWNlcnMtY291bnQge1xuICAgIFxuICAgIEBlYWNoICRwcm9wIGluIChtYXJnaW4sIHBhZGRpbmcpIHtcbiAgICAgIC8vIEFsbCBTaWRlc1xuICAgICAgLiN7JHByb3B9LSN7JHNwYWNlcn0ge1xuICAgICAgICBAaWYgKCRwcm9wID09IG1hcmdpbikgeyBcbiAgICAgICAgICBtYXJnaW46ICRzcGFjZXIgKiAkZ2xvYmFsLW1hcmdpbiAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIEBlbHNlIGlmICgkcHJvcCA9PSBwYWRkaW5nKSB7IFxuICAgICAgICAgIHBhZGRpbmc6ICRzcGFjZXIgKiAkZ2xvYmFsLXBhZGRpbmcgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAZWFjaCAkZGlyIGluICh0b3AsIHJpZ2h0LCBib3R0b20sIGxlZnQsIGhvcml6b250YWwsIHZlcnRpY2FsKSB7XG4gICAgICAgIC8vIFRvcCBTaWRlXG4gICAgICAgIC4jeyRwcm9wfS0jeyRkaXJ9LSN7JHNwYWNlcn0ge1xuICAgICAgICAgIEBpZiAoJHByb3AgPT0gbWFyZ2luKSB7IFxuICAgICAgICAgICAgQGluY2x1ZGUgbWFyZ2luLWRpcmVjdGlvbigkZGlyLCAkc3BhY2VyKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGVsc2UgaWYgKCRwcm9wID09IHBhZGRpbmcpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHBhZGRpbmctZGlyZWN0aW9uKCRkaXIsICRzcGFjZXIpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS1zcGFjaW5nLWJyZWFrcG9pbnRzKSB7XG4gICAgQGZvciAkc3BhY2VyIGZyb20gMCB0aHJvdWdoICRwcm90b3R5cGUtc3BhY2Vycy1jb3VudCB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIC4jeyRzaXplfSB7XG4gICAgICAgICAgICAgIEBlYWNoICRwcm9wIGluIChtYXJnaW4sIHBhZGRpbmcpIHtcbiAgICAgICAgICAgICAgICAvLyBBbGwgU2lkZXNcbiAgICAgICAgICAgICAgICAmLSN7JHByb3B9LSN7JHNwYWNlcn0ge1xuICAgICAgICAgICAgICAgICAgQGlmICgkcHJvcCA9PSBtYXJnaW4pIHsgXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogJHNwYWNlciAqICRnbG9iYWwtbWFyZ2luICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICBAZWxzZSBpZiAoJHByb3AgPT0gcGFkZGluZykgeyBcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogJHNwYWNlciAqICRnbG9iYWwtcGFkZGluZyAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIEBlYWNoICRkaXIgaW4gKHRvcCwgcmlnaHQsIGJvdHRvbSwgbGVmdCwgaG9yaXpvbnRhbCwgdmVydGljYWwpIHtcbiAgICAgICAgICAgICAgICAgIC8vIFRvcCBTaWRlXG4gICAgICAgICAgICAgICAgICAmLSN7JHByb3B9LSN7JGRpcn0tI3skc3BhY2VyfSB7XG4gICAgICAgICAgICAgICAgICAgIEBpZiAoJHByb3AgPT0gbWFyZ2luKSB7IFxuICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1hcmdpbi1kaXJlY3Rpb24oJGRpciwgJHNwYWNlcik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgQGVsc2UgaWYgKCRwcm9wID09IHBhZGRpbmcpIHsgXG4gICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcGFkZGluZy1kaXJlY3Rpb24oJGRpciwgJHNwYWNlcik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsCgkJIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuQG1peGluIGxpbmUtc2VwYXJhdG9yKCRkaXJlY3Rpb24sICRsaW5lLWNvbG9yOiAkY29sb3ItY3VyaW91cy1ibHVlKSB7XHJcbiAgQGlmICRkaXJlY3Rpb24gPT0gXCJiZWZvcmVcIiBvciAkZGlyZWN0aW9uID09IFwiYWZ0ZXJcIiB7XHJcbiAgICAmOiN7JGRpcmVjdGlvbn0ge1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkbGluZS1jb2xvcjtcclxuICAgICAgY29udGVudDogXCIgXCI7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBoZWlnaHQ6IDNweDtcclxuICAgICAgd2lkdGg6IDVyZW07XHJcbiAgICAgIEBpZiAkZGlyZWN0aW9uID09IFwiYmVmb3JlXCIge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IC4zNzVyZW07XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMWVtO1xyXG4gICAgICB9XHJcbiAgICAgIEBlbHNlIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxZW07XHJcbiAgICAgICAgbWFyZ2luLXRvcDogLjM3NXJlbTtcclxuICAgICAgfVxyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2Uge1xyXG4gICAgQHdhcm4gXCJgI3skZGlyZWN0aW9ufWAgaXMgbm90IGEgdmFsaWQgcHNldWRvLWVsZW1lbnQuXCI7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gdWNyLWljb24oJGljb24tZmlsbCwgJGljb24tY29sb3I6ICRpY29uLWNvbG9yLCAkaWNvbi1zdHJva2U6ICRpY29uLXN0cm9rZSwgJGljb24tc3Ryb2tlLXdpZHRoOiAkaWNvbi1zdHJva2Utd2lkdGgsICRpY29uLXN0cm9rZS1kYXNoOiAkaWNvbi1zdHJva2UtZGFzaCkge1xyXG4gIGZpbGw6ICRpY29uLWZpbGw7XHJcbiAgc3Ryb2tlOiAkaWNvbi1zdHJva2U7XHJcbiAgc3Ryb2tlLXdpZHRoOiAkaWNvbi1zdHJva2Utd2lkdGg7XHJcbiAgc3Ryb2tlLWRhc2hhcnJheTogJGljb24tc3Ryb2tlLWRhc2g7XHJcbiAgY29sb3I6ICRpY29uLWNvbG9yO1xyXG4gIGJhY2tncm91bmQtc2l6ZTogaW5oZXJpdDtcclxuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xyXG59XHJcblxyXG5AbWl4aW4gaWNvbigkaWNvbiwgJGMxOiAkcHJpbWFyeSwgJGMyOiBudWxsLCAkdzogMWVtLCAkaDogMWVtLCAkeDogbnVsbCwgJHk6IG51bGwsICR0eXBlOiBudWxsLCAkcm90YXRpb246IDAsICRmbGlwOm51bGwsICR2YTogMWVtLCAkaGE6IDFlbSwgJHNjOiAkaWNvbi1zdHJva2UsICRzdzogJGljb24tc3Ryb2tlLXdpZHRoLCAkc2Q6ICRpY29uLXN0cm9rZS1kYXNoKSB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAvLyRpY29uIGlzIHRoZSBoYXNoIGdyYWJiZWQgZnJvbSB0aGUgc3ZnIHN5bWJvbHMgZmlsZS5cclxuICAvLyRjMSAtIGNvbG9yIDEuIChjb2xvciB2YXJpYWJsZSlcclxuICAvLyRjMiAtIGNvbG9yIDIuIElmIG5vIGNvbG9yIDIgaXMgcGFzc2VkLCBjb2xvciAyIGluaGVyaXRzIGNvbG9yIDEgKGNvbG9yIHZhcmlhYmxlKVxyXG5cclxuICAvLyR3IC0gd2lkdGguIElmIG5vIHdpZHRoIGlzIHBhc3NlZCwgd2lkdGggaW5oZXJpdHMgMWVtIGFuZCBpY29uIGlzIGJhc2VkIG9mZiBmb250IHNpemUgKHBpeGVsIHZhbHVlKVxyXG4gIC8vJGggLSBoZWlnaHQuIElmIG5vIGhlaWdodCBpcyBwYXNzZWQsIGhlaWdodCBpbmhlcml0cyAxZW0gYW5kIGljb24gaXMgYmFzZWQgb2ZmIGZvbnQgc2l6ZS4gSGVpZ2h0IGlzIG9ubHkgYXBwbGljYWJsZSB0byAkdHlwZSA9IGdyYXBoaWMgKHBpeGVsIHZhbHVlKVxyXG5cclxuICAvLyR4IC0gaG9yaXpvbnRhbCBvZmZzZXQgZm9yIHRoZSBpY29uIChwaXhlbCB2YWx1ZSlcclxuICAvLyR5IC0gdmVydGljYWwgb2Zmc2V0IGZvciB0aGUgaWNvbiAocGl4ZWwgdmFsdWUpXHJcblxyXG4gIC8vJHR5cGU6XHJcbiAgLy9oZWFkaW5nIC0gV2lsbCBhcHBlbmQgYSBsaW5lIHRoYXQgc3BsaXRzIGluIHRoZSBjZW50ZXIgdG8gbWFrZSByb29tIGZvciB0aGUgaWNvbi4gU2hvdWxkIGJlIHVzZWQgd2l0aCBzcGVjaWZpYyBjZW50ZXIgYWxpZ25tZW50c1xyXG4gIC8vZ3JhcGhpYyAtIFN0YW5kYWxvbmUgZ3JhcGhpYy4gV2lsbCBlbmNhcHN1bGF0ZSB0aGUgaWNvbiBpbnNpZGUgb2YgdGhlIGVsZW1lbnQgKHVzdWFsbHkgYSBzcGFuKSBhbmQgdXNlICR3IGFuZCAkaCB0byBzZXQgdGhlIGJvdW5kaW5nIGJveFxyXG4gIC8vYmFja2dyb3VuZCAtIHdpbGwgaW5oZXJpdCB0aGUgd2lkdGgvaGVpZ2h0IG9mIHRoZSBwYXJlbnQgZWxlbWVudFxyXG5cclxuICAvLyRyb3RhdGlvbjogMC0zNjAgLSBSb3RhdGUgaWNvbiBieSBkZWdyZWVzXHJcbiAgLy9mbGlwIC0gdHJ1ZSAvIGZhbHNlICh3aWxsIGFwcGx5IGEgbmVnYXRpdmUgc2NhbGUgdG8gZmxpcCBvciBpbnZlcnQgdGhlIHNoYXBlKVxyXG5cclxuICAvLyR2YSAtIHZlcnRpY2FsIGFsaWdubWVudCAodG9wLCBtaWRkbGUsIGJvdHRvbSkuIElmIG5vICR2YSB2YWx1ZSBpcyBwYXNzZWQsIHZlcnRpY2FsIGFsaWdubWVudCB3aWxsIG1hdGNoIGJhc2VsaW5lIG9mIHRleHQuXHJcbiAgLy8kaGEgLSBIb3Jpem9udGFsIGFsaWdubWVudCAobGVmdCwgY2VudGVyLCByaWdodClcclxuXHJcbiAgLy8kc2MgLSBzdmcgc3Ryb2tlIGNvbG9yXHJcbiAgLy8kc3cgLSBzdmcgc3Ryb2tlIHdpZHRoXHJcbiAgLy8kc2QgLSBzdmcgc3Ryb2tlIGRhc2ggKHN0ZXBzL2JyZWFrcyBpbiB0aGUgb3V0bGluZSlcclxuXHJcblxyXG4gICRmbGlwVmFsdWU6MDtcclxuICBAaWYgJGZsaXAgPT0gdHJ1ZSB7XHJcbiAgICAkZmxpcFZhbHVlOiAtMTtcclxuICB9XHJcbiAgQGVsc2Uge1xyXG4gICAgJGZsaXBWYWx1ZTogMTtcclxuICB9XHJcbiAgQGlmICR0eXBlID09IGhlYWRpbmcge1xyXG4gICAgJjphZnRlciB7XHJcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgaGVpZ2h0OiAxcHg7XHJcbiAgICAgIHRvcDogMDtcclxuICAgICAgbGVmdDogMDtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIG9wYWNpdHk6LjY7XHJcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgY3VycmVudENvbG9yIDAlLCBjdXJyZW50Q29sb3IgY2FsYyg1MCUgLSAoI3skdyAvIDJ9KSAtICN7cmVtLWNhbGMoNnB4KX0pLCB0cmFuc3BhcmVudCBjYWxjKDUwJSAtICgjeyR3IC8gMn0gKyAje3JlbS1jYWxjKDZweCl9KSksIHRyYW5zcGFyZW50IGNhbGMoNTAlICsgKCN7JHcgLyAyfSkgKyAje3JlbS1jYWxjKDZweCl9KSwgY3VycmVudENvbG9yIGNhbGMoNTAlICsgKCN7JHcgLyAyfSkgLSAje3JlbS1jYWxjKDZweCl9KSwgY3VycmVudENvbG9yIDEwMCUpO1xyXG5cclxuICAgICAgQGlmICR5IHtcclxuICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygkeSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIEBpZiAkeCB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKCR4KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG5cclxuICBAaWYgJHcgIT0gMWVtIHtcclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgLy9zaG91bGQgYmUgdGhlIHNhbWUgYXMgd2lkdGggZm9yIHN0dXBpZCBJRSBzY2FsZSBidWcuXHJcbiAgICAgIGhlaWdodDogcmVtLWNhbGMoJHcpO1xyXG4gICAgICB3aWR0aDogcmVtLWNhbGMoJHcpO1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSB7XHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgIC8vaW5oZXJpdHMgdGhlIHNpemUgb2YgdGhlIGZvbnRcclxuICAgICAgd2lkdGg6ICR3O1xyXG4gICAgICBoZWlnaHQ6ICR3O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQGlmICR2YSA9PSB0b3Age1xyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICB0b3A6IC0kdztcclxuICAgIH1cclxuXHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgdG9wOiAtKCR3IC8gMik7XHJcblxyXG4gICAgICAvLyBAaWYgJHkge1xyXG4gICAgICAvLyAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoJHkpO1xyXG4gICAgICAvLyB9XHJcblxyXG4gICAgICAvLyBAaWYgJHgge1xyXG4gICAgICAvLyAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKCR4KTtcclxuICAgICAgLy8gfVxyXG5cclxuICAgIH1cclxuXHJcbiAgICAmLmJ1dHRvbiB7XHJcbiAgICAgIHBhZGRpbmctdG9wOiAkdyAqIDI7XHJcblxyXG4gICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgdG9wOiAkdyAvIDI7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBpZiAkdmEgPT0gbWlkZGxlIHtcclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgdG9wOiA1MCU7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSByb3RhdGVaKHVucXVvdGUoXCIjeyRyb3RhdGlvbn1kZWdcIikpIHNjYWxlWCgkZmxpcFZhbHVlKTtcclxuICAgIH1cclxuXHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgdG9wOiA1MCU7XHJcblxyXG4gICAgICAvLyBAaWYgJHkge1xyXG4gICAgICAvLyAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoJHkpO1xyXG4gICAgICAvLyB9XHJcblxyXG4gICAgICAvLyBAaWYgJHgge1xyXG4gICAgICAvLyAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKCR4KTtcclxuICAgICAgLy8gfVxyXG5cclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBpZiAkdmEgPT0gYm90dG9tIHtcclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgdG9wOiAxMDAlO1xyXG4gICAgfVxyXG5cclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICB0b3A6IGNhbGMoMTAwJSArICggI3skdyAvIDJ9ICkpO1xyXG5cclxuICAgICAgLy8gQGlmICR5IHtcclxuICAgICAgLy8gICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKCR5KTtcclxuICAgICAgLy8gfVxyXG5cclxuICAgICAgLy8gQGlmICR4IHtcclxuICAgICAgLy8gICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygkeCk7XHJcbiAgICAgIC8vIH1cclxuXHJcbiAgICB9XHJcblxyXG4gICAgJi5idXR0b24ge1xyXG4gICAgICBwYWRkaW5nLWJvdHRvbTogJHcgKiAyO1xyXG5cclxuICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgIHRvcDogY2FsYygxMDAlIC0gKCN7JHd9ICsgKCAjeyR3fSAvIDIgKSkpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAaWYgJGhhID09IGxlZnQge1xyXG4gICAgcGFkZGluZy1sZWZ0OiAkdztcclxuXHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgIGxlZnQ6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgJi5idXR0b24ge1xyXG4gICAgICBwYWRkaW5nLWxlZnQ6ICR3ICogMiArICR3IC8gMjtcclxuXHJcbiAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICBsZWZ0OiAkdztcclxuICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygxcHgpO1xyXG5cclxuICAgICAgICBAaWYgJHkge1xyXG4gICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoJHkpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQGlmICRoYSA9PSBjZW50ZXIge1xyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgcm90YXRlWih1bnF1b3RlKFwiI3skcm90YXRpb259ZGVnXCIpKSBzY2FsZVgoJGZsaXBWYWx1ZSk7XHJcbiAgICAgIGxlZnQ6IDUwJTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBpZiAkaGEgPT0gcmlnaHQge1xyXG4gICAgcGFkZGluZy1yaWdodDogJHc7XHJcblxyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICByaWdodDogMDtcclxuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgfVxyXG5cclxuICAgICYuYnV0dG9uIHtcclxuICAgICAgcGFkZGluZy1yaWdodDogJHcgKiAyICsgJHcgLyAyO1xyXG5cclxuICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgIEBpZiAkdyAhPSAxZW0ge1xyXG4gICAgICAgICAgcmlnaHQ6IHJlbS1jYWxjKCR3KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGVsc2Uge1xyXG4gICAgICAgICAgcmlnaHQ6ICR3O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMXB4KTtcclxuXHJcbiAgICAgICAgQGlmICR5IHtcclxuICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKCR5KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBpZiAkdmEgPT0gbWlkZGxlIGFuZCAkaGEgPT0gY2VudGVyIHtcclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgdG9wOiA1MCU7XHJcbiAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoLTUwJSkgcm90YXRlWih1bnF1b3RlKFwiI3skcm90YXRpb259ZGVnXCIpKSBzY2FsZVgoJGZsaXBWYWx1ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAaWYgKCR2YSA9PSB0b3Agb3IgJHZhID09IGJvdHRvbSkgYW5kICgkaGEgPT0gbGVmdCBvciAkaGEgPT0gcmlnaHQpIHtcclxuICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbiAgfVxyXG5cclxuICBAaWYgJHR5cGUgPT0gZ3JhcGhpYyB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG5cclxuICAgIC8vcHJldmVudHMgdGV4dCBhbGlnbiBmcm9tIGFmZmVjdGluZyBhbGlnbm1lbnQgb2YgaWNvbi5cclxuICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDtcclxuXHJcbiAgICBAaWYgJHcge1xyXG4gICAgICB3aWR0aDogcmVtLWNhbGMoJHcpO1xyXG4gICAgICBoZWlnaHQ6IHJlbS1jYWxjKCRoKTtcclxuXHJcbiAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICBtaW4taGVpZ2h0OiByZW0tY2FsYygkdyk7XHJcblxyXG4gICAgICAgIC8vc2hvdWxkIGJlIHRoZSBzYW1lIGFzIHdpZHRoIGZvciBzdHVwaWQgSUUgc2NhbGUgYnVnLlxyXG4gICAgICAgIG1pbi13aWR0aDogcmVtLWNhbGMoJHcpO1xyXG5cclxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwXFwwKSB7XHJcbiAgICAgICAgICAvL3RvIGZpeCBibHVycnkgU1ZHIG9uIElFIDExXHJcbiAgICAgICAgICBtaW4td2lkdGg6ICR3ICogMjtcclxuICAgICAgICAgIG1pbi1oZWlnaHQ6ICR3ICogMjtcclxuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC41KSB0cmFuc2xhdGVZKC0kdykgcm90YXRlWih1bnF1b3RlKFwiI3skcm90YXRpb259ZGVnXCIpKSBzY2FsZVgoJGZsaXBWYWx1ZSk7XHJcbiAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQHN1cHBvcnRzICgtbXMtYWNjZWxlcmF0b3I6IHRydWUpIHtcclxuICAgICAgICAgIC8vdG8gZml4IGJsdXJyeSBzdmcgb24gSUUgRWRnZVxyXG4gICAgICAgICAgbWluLXdpZHRoOiAkdyAqIDI7XHJcbiAgICAgICAgICBtaW4taGVpZ2h0OiAkdyAqIDI7XHJcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuNSkgdHJhbnNsYXRlWSgtJHcpIHJvdGF0ZVoodW5xdW90ZShcIiN7JHJvdGF0aW9ufWRlZ1wiKSkgc2NhbGVYKCRmbGlwVmFsdWUpO1xyXG4gICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIEBlbHNlIHtcclxuICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgIHdpZHRoOiAkdztcclxuICAgICAgICBoZWlnaHQ6ICR3O1xyXG5cclxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwXFwwKSB7XHJcbiAgICAgICAgICAvL3RvIGZpeCBibHVycnkgU1ZHIG9uIElFIDExXHJcbiAgICAgICAgICBtaW4td2lkdGg6ICR3ICogMjtcclxuICAgICAgICAgIG1pbi1oZWlnaHQ6ICR3ICogMjtcclxuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC41KSB0cmFuc2xhdGVZKC0kdykgcm90YXRlWih1bnF1b3RlKFwiI3skcm90YXRpb259ZGVnXCIpKSBzY2FsZVgoJGZsaXBWYWx1ZSk7XHJcbiAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQHN1cHBvcnRzICgtbXMtYWNjZWxlcmF0b3I6IHRydWUpIHtcclxuICAgICAgICAgIC8vdG8gZml4IGJsdXJyeSBzdmcgb24gSUUgRWRnZVxyXG4gICAgICAgICAgbWluLXdpZHRoOiAkdyAqIDI7XHJcbiAgICAgICAgICBtaW4taGVpZ2h0OiAkdyAqIDI7XHJcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuNSkgdHJhbnNsYXRlWSgtJHcpIHJvdGF0ZVoodW5xdW90ZShcIiN7JHJvdGF0aW9ufWRlZ1wiKSkgc2NhbGVYKCRmbGlwVmFsdWUpO1xyXG4gICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBpZiAkdHlwZSA9PSBiYWNrZ3JvdW5kIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgcGFkZGluZy10b3A6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDA7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcclxuXHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgIHBhZGRpbmctdG9wOiAxMDAlO1xyXG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XHJcbiAgICAgIHRvcDogMDtcclxuICAgICAgbGVmdDogMDtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIGhlaWdodDogMTAwJTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICY6YmVmb3JlIHtcclxuICAgIEBpZiAkeSB7XHJcbiAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKCR5KTtcclxuICAgIH1cclxuXHJcbiAgICBAaWYgJGhhID09IHJpZ2h0IHtcclxuICAgICAgQGlmICR4IHtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKCR4KSAqIC0xO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBAZWxzZSB7XHJcbiAgICAgIEBpZiAkeCB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKCR4KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGJhY2tncm91bmQ6IHVybChcIi4uLy4uLy4uLy4uLy4uL2Rpc3QvYXNzZXRzL2ltZy9zcHJpdGUuaWNvbnMuc3ZnIyN7JGljb259XCIpIG5vLXJlcGVhdDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xyXG5cclxuICAgIC8vQGluY2x1ZGUgdHJhbnNpdGlvbjtcclxuXHJcbiAgICAvL0BpZiAkYzIgPT0gbnVsbCB7XHJcbiAgICAvLyAgJGMyOiBjb21wbGVtZW50KCRjMSk7XHJcbiAgICAvL31cclxuXHJcbiAgICBAaW5jbHVkZSB1Y3ItaWNvbigkYzEsICRjMiwgJHNjLCAkc3csICRzZCk7XHJcblxyXG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xyXG4gIH1cclxufVxyXG4iLAoJCSIvLyAgRm91bmRhdGlvbiBmb3IgU2l0ZXMgU2V0dGluZ3NcclxuLy8gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbi8vXHJcbi8vICBUYWJsZSBvZiBDb250ZW50czpcclxuLy9cclxuLy8gICAxLiBHbG9iYWxcclxuLy8gICAyLiBCcmVha3BvaW50c1xyXG4vLyAgIDMuIFRoZSBHcmlkXHJcbi8vICAgNC4gQmFzZSBUeXBvZ3JhcGh5XHJcbi8vICAgNS4gVHlwb2dyYXBoeSBIZWxwZXJzXHJcbi8vICAgNi4gQWJpZGVcclxuLy8gICA3LiBBY2NvcmRpb25cclxuLy8gICA4LiBBY2NvcmRpb24gTWVudVxyXG4vLyAgIDkuIEJhZGdlXHJcbi8vICAxMC4gQnJlYWRjcnVtYnNcclxuLy8gIDExLiBCdXR0b25cclxuLy8gIDEyLiBCdXR0b24gR3JvdXBcclxuLy8gIDEzLiBDYWxsb3V0XHJcbi8vICAxNC4gQ2FyZFxyXG4vLyAgMTUuIENsb3NlIEJ1dHRvblxyXG4vLyAgMTYuIERyaWxsZG93blxyXG4vLyAgMTcuIERyb3Bkb3duXHJcbi8vICAxOC4gRHJvcGRvd24gTWVudVxyXG4vLyAgMTkuIEZsZXhib3ggVXRpbGl0aWVzXHJcbi8vICAyMC4gRm9ybXNcclxuLy8gIDIxLiBMYWJlbFxyXG4vLyAgMjIuIE1lZGlhIE9iamVjdFxyXG4vLyAgMjMuIE1lbnVcclxuLy8gIDI0LiBNZXRlclxyXG4vLyAgMjUuIE9mZi1jYW52YXNcclxuLy8gIDI2LiBPcmJpdFxyXG4vLyAgMjcuIFBhZ2luYXRpb25cclxuLy8gIDI4LiBQcm9ncmVzcyBCYXJcclxuLy8gIDI5LiBQcm90b3R5cGUgQXJyb3dcclxuLy8gIDMwLiBQcm90b3R5cGUgQm9yZGVyLUJveFxyXG4vLyAgMzEuIFByb3RvdHlwZSBCb3JkZXItTm9uZVxyXG4vLyAgMzIuIFByb3RvdHlwZSBCb3JkZXJlZFxyXG4vLyAgMzMuIFByb3RvdHlwZSBEaXNwbGF5XHJcbi8vICAzNC4gUHJvdG90eXBlIEZvbnQtU3R5bGluZ1xyXG4vLyAgMzUuIFByb3RvdHlwZSBMaXN0LVN0eWxlLVR5cGVcclxuLy8gIDM2LiBQcm90b3R5cGUgT3ZlcmZsb3dcclxuLy8gIDM3LiBQcm90b3R5cGUgUG9zaXRpb25cclxuLy8gIDM4LiBQcm90b3R5cGUgUm91bmRlZFxyXG4vLyAgMzkuIFByb3RvdHlwZSBTZXBhcmF0b3JcclxuLy8gIDQwLiBQcm90b3R5cGUgU2hhZG93XHJcbi8vICA0MS4gUHJvdG90eXBlIFNpemluZ1xyXG4vLyAgNDIuIFByb3RvdHlwZSBTcGFjaW5nXHJcbi8vICA0My4gUHJvdG90eXBlIFRleHQtRGVjb3JhdGlvblxyXG4vLyAgNDQuIFByb3RvdHlwZSBUZXh0LVRyYW5zZm9ybWF0aW9uXHJcbi8vICA0NS4gUHJvdG90eXBlIFRleHQtVXRpbGl0aWVzXHJcbi8vICA0Ni4gUmVzcG9uc2l2ZSBFbWJlZFxyXG4vLyAgNDcuIFJldmVhbFxyXG4vLyAgNDguIFNsaWRlclxyXG4vLyAgNDkuIFN3aXRjaFxyXG4vLyAgNTAuIFRhYmxlXHJcbi8vICA1MS4gVGFic1xyXG4vLyAgNTIuIFRodW1ibmFpbFxyXG4vLyAgNTMuIFRpdGxlIEJhclxyXG4vLyAgNTQuIFRvb2x0aXBcclxuLy8gIDU1LiBUb3AgQmFyXHJcbi8vICA1Ni4gWHkgR3JpZFxyXG4vLyAgNTcuIEN1c3RvbSBDU1NcclxuXHJcbkBpbXBvcnQgJy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fdXRpbCc7XHJcblxyXG4vLyAxLiBHbG9iYWxcclxuLy8gLS0tLS0tLS0tXHJcblxyXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJTtcclxuJGdsb2JhbC13aWR0aDogcmVtLWNhbGMoMTIwMCk7XHJcbiRnbG9iYWwtbGluZWhlaWdodDogMS41O1xyXG4kZm91bmRhdGlvbi1wYWxldHRlOiAoXHJcbiAgICAgICAgcHJpbWFyeTogIzE3NzliYSxcclxuICAgICAgICBzZWNvbmRhcnk6ICM3Njc2NzYsXHJcbiAgICAgICAgc3VjY2VzczogIzNhZGI3NixcclxuICAgICAgICB3YXJuaW5nOiAjZmZhZTAwLFxyXG4gICAgICAgIGFsZXJ0OiAjY2M0YjM3LFxyXG4pO1xyXG4kbGlnaHQtZ3JheTogI2U2ZTZlNjtcclxuJG1lZGl1bS1ncmF5OiAjY2FjYWNhO1xyXG4kZGFyay1ncmF5OiAjOGE4YThhO1xyXG4kYmxhY2s6ICMwYTBhMGE7XHJcbiR3aGl0ZTogI2ZlZmVmZTtcclxuJGJvZHktYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kYm9keS1mb250LWNvbG9yOiAkYmxhY2s7XHJcbiRib2R5LWZvbnQtZmFtaWx5OiAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XHJcbiRib2R5LWFudGlhbGlhc2VkOiB0cnVlO1xyXG4kZ2xvYmFsLW1hcmdpbjogMXJlbTtcclxuJGdsb2JhbC1wYWRkaW5nOiAxcmVtO1xyXG4kZ2xvYmFsLXBvc2l0aW9uOiAxcmVtO1xyXG4kZ2xvYmFsLXdlaWdodC1ub3JtYWw6IG5vcm1hbDtcclxuJGdsb2JhbC13ZWlnaHQtYm9sZDogYm9sZDtcclxuJGdsb2JhbC1yYWRpdXM6IDA7XHJcbiRnbG9iYWwtbWVudS1wYWRkaW5nOiAwLjdyZW0gMXJlbTtcclxuJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW46IDFyZW07XHJcbiRnbG9iYWwtdGV4dC1kaXJlY3Rpb246IGx0cjtcclxuJGdsb2JhbC1mbGV4Ym94OiB0cnVlO1xyXG4kZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50czogZmFsc2U7XHJcbiRnbG9iYWwtYnV0dG9uLWN1cnNvcjogYXV0bztcclxuJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZTogMDtcclxuJHByaW50LXRyYW5zcGFyZW50LWJhY2tncm91bmRzOiB0cnVlO1xyXG5cclxuQGluY2x1ZGUgYWRkLWZvdW5kYXRpb24tY29sb3JzO1xyXG5cclxuLy8gMi4gQnJlYWtwb2ludHMgLSBtb2RpZmllZCBmb3IgTG9jYWxpc3RcclxuLy8gLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRicmVha3BvaW50czogKFxyXG4gICAgICAgIHhzbWFsbDogMCxcclxuICAgICAgICBzbWFsbDogNDgwcHgsXHJcbiAgICAgICAgbWVkaXVtOiA2NDBweCxcclxuICAgICAgICBsYXJnZTogOTYwcHgsXHJcbiAgICAgICAgeGxhcmdlOiAxMjAwcHgsXHJcbiAgICAgICAgeHhsYXJnZTogMTQ0MHB4LFxyXG4pO1xyXG4kcHJpbnQtYnJlYWtwb2ludDogbGFyZ2U7XHJcbiRicmVha3BvaW50LWNsYXNzZXM6IChzbWFsbCBtZWRpdW0gbGFyZ2UgeGxhcmdlKTtcclxuXHJcbi8vIDMuIFRoZSBHcmlkXHJcbi8vIC0tLS0tLS0tLS0tXHJcblxyXG4kZ3JpZC1yb3ctd2lkdGg6ICRnbG9iYWwtd2lkdGg7XHJcbiRncmlkLWNvbHVtbi1jb3VudDogMTI7XHJcbiRncmlkLWNvbHVtbi1ndXR0ZXI6IChcclxuICAgICAgICBzbWFsbDogMjBweCxcclxuICAgICAgICBtZWRpdW06IDMwcHgsXHJcbik7XHJcbiRncmlkLWNvbHVtbi1hbGlnbi1lZGdlOiB0cnVlO1xyXG4kZ3JpZC1jb2x1bW4tYWxpYXM6ICdjb2x1bW5zJztcclxuJGJsb2NrLWdyaWQtbWF4OiA4O1xyXG5cclxuLy8gNC4gQmFzZSBUeXBvZ3JhcGh5XHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJGhlYWRlci1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XHJcbiRoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcclxuJGhlYWRlci1mb250LXN0eWxlOiBub3JtYWw7XHJcbiRmb250LWZhbWlseS1tb25vc3BhY2U6IENvbnNvbGFzLCAnTGliZXJhdGlvbiBNb25vJywgQ291cmllciwgbW9ub3NwYWNlO1xyXG4kaGVhZGVyLWNvbG9yOiBpbmhlcml0O1xyXG4kaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNDtcclxuJGhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW07XHJcbiRoZWFkZXItc3R5bGVzOiAoXHJcbiAgICAgICAgc21hbGw6IChcclxuICAgICAgICAgICAgICAgICdoMSc6ICgnZm9udC1zaXplJzogMjQpLFxyXG4gICAgICAgICAgICAgICAgJ2gyJzogKCdmb250LXNpemUnOiAyMCksXHJcbiAgICAgICAgICAgICAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDE5KSxcclxuICAgICAgICAgICAgICAgICdoNCc6ICgnZm9udC1zaXplJzogMTgpLFxyXG4gICAgICAgICAgICAgICAgJ2g1JzogKCdmb250LXNpemUnOiAxNyksXHJcbiAgICAgICAgICAgICAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE2KSxcclxuICAgICAgICApLFxyXG4gICAgICAgIG1lZGl1bTogKFxyXG4gICAgICAgICAgICAgICAgJ2gxJzogKCdmb250LXNpemUnOiA0OCksXHJcbiAgICAgICAgICAgICAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDQwKSxcclxuICAgICAgICAgICAgICAgICdoMyc6ICgnZm9udC1zaXplJzogMzEpLFxyXG4gICAgICAgICAgICAgICAgJ2g0JzogKCdmb250LXNpemUnOiAyNSksXHJcbiAgICAgICAgICAgICAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDIwKSxcclxuICAgICAgICAgICAgICAgICdoNic6ICgnZm9udC1zaXplJzogMTYpLFxyXG4gICAgICAgICksXHJcbik7XHJcbiRoZWFkZXItdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcclxuJHNtYWxsLWZvbnQtc2l6ZTogODAlO1xyXG4kaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I6ICRtZWRpdW0tZ3JheTtcclxuJHBhcmFncmFwaC1saW5laGVpZ2h0OiAxLjY7XHJcbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogMXJlbTtcclxuJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xyXG4kY29kZS1jb2xvcjogJGJsYWNrO1xyXG4kY29kZS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcclxuJGNvZGUtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcclxuJGNvZGUtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XHJcbiRjb2RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuJGNvZGUtcGFkZGluZzogcmVtLWNhbGMoMiA1IDEpO1xyXG4kYW5jaG9yLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuJGFuY2hvci1jb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGFuY2hvci1jb2xvciwgJGxpZ2h0bmVzczogLTE0JSk7XHJcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3Zlcjogbm9uZTtcclxuJGhyLXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xyXG4kaHItYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xyXG4kaHItbWFyZ2luOiByZW0tY2FsYygyMCkgYXV0bztcclxuJGxpc3QtbGluZWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xyXG4kbGlzdC1tYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XHJcbiRsaXN0LXN0eWxlLXR5cGU6IGRpc2M7XHJcbiRsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlO1xyXG4kbGlzdC1zaWRlLW1hcmdpbjogMS4yNXJlbTtcclxuJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luOiAxLjI1cmVtO1xyXG4kZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTogMXJlbTtcclxuJGRlZm5saXN0LXRlcm0td2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xyXG4kZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tOiAwLjNyZW07XHJcbiRibG9ja3F1b3RlLWNvbG9yOiAkZGFyay1ncmF5O1xyXG4kYmxvY2txdW90ZS1wYWRkaW5nOiByZW0tY2FsYyg5IDIwIDAgMTkpO1xyXG4kYmxvY2txdW90ZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XHJcbiRjaXRlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xyXG4kY2l0ZS1jb2xvcjogJGRhcmstZ3JheTtcclxuJGNpdGUtcHNldWRvLWNvbnRlbnQ6ICdcXDIwMTQgXFwwMDIwJztcclxuJGtleXN0cm9rZS1mb250OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlO1xyXG4ka2V5c3Ryb2tlLWNvbG9yOiAkYmxhY2s7XHJcbiRrZXlzdHJva2UtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XHJcbiRrZXlzdHJva2UtcGFkZGluZzogcmVtLWNhbGMoMiA0IDApO1xyXG4ka2V5c3Ryb2tlLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRhYmJyLXVuZGVybGluZTogMXB4IGRvdHRlZCAkYmxhY2s7XHJcblxyXG4vLyA1LiBUeXBvZ3JhcGh5IEhlbHBlcnNcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kbGVhZC1mb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplICogMS4yNTtcclxuJGxlYWQtbGluZWhlaWdodDogMS42O1xyXG4kc3ViaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNDtcclxuJHN1YmhlYWRlci1jb2xvcjogJGRhcmstZ3JheTtcclxuJHN1YmhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xyXG4kc3ViaGVhZGVyLW1hcmdpbi10b3A6IDAuMnJlbTtcclxuJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW07XHJcbiRzdGF0LWZvbnQtc2l6ZTogMi41cmVtO1xyXG5cclxuLy8gNi4gQWJpZGVcclxuLy8gLS0tLS0tLS1cclxuXHJcbiRhYmlkZS1pbnB1dHM6IHRydWU7XHJcbiRhYmlkZS1sYWJlbHM6IHRydWU7XHJcbiRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCk7XHJcbiRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCk7XHJcbiRpbnB1dC1lcnJvci1jb2xvcjogZ2V0LWNvbG9yKGFsZXJ0KTtcclxuJGlucHV0LWVycm9yLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xyXG4kaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XHJcblxyXG4vLyA3LiBBY2NvcmRpb25cclxuLy8gLS0tLS0tLS0tLS0tXHJcblxyXG4kYWNjb3JkaW9uLWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJGFjY29yZGlvbi1wbHVzbWludXM6IHRydWU7XHJcbiRhY2NvcmRpb24tdGl0bGUtZm9udC1zaXplOiByZW0tY2FsYygxMik7XHJcbiRhY2NvcmRpb24taXRlbS1jb2xvcjogJHByaW1hcnktY29sb3I7XHJcbiRhY2NvcmRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheTtcclxuJGFjY29yZGlvbi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMXJlbTtcclxuJGFjY29yZGlvbi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xyXG4kYWNjb3JkaW9uLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XHJcbiRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nOiAxcmVtO1xyXG5cclxuLy8gOC4gQWNjb3JkaW9uIE1lbnVcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRhY2NvcmRpb25tZW51LXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xyXG4kYWNjb3JkaW9ubWVudS1uZXN0ZWQtbWFyZ2luOiAkZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjtcclxuJGFjY29yZGlvbm1lbnUtc3VibWVudS1wYWRkaW5nOiAkYWNjb3JkaW9ubWVudS1wYWRkaW5nO1xyXG4kYWNjb3JkaW9ubWVudS1hcnJvd3M6IHRydWU7XHJcbiRhY2NvcmRpb25tZW51LWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuJGFjY29yZGlvbm1lbnUtaXRlbS1iYWNrZ3JvdW5kOiBudWxsO1xyXG4kYWNjb3JkaW9ubWVudS1ib3JkZXI6IG51bGw7XHJcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWJhY2tncm91bmQ6IG51bGw7XHJcbiRhY2NvcmRpb24tc3VibWVudS10b2dnbGUtYm9yZGVyOiAkYWNjb3JkaW9ubWVudS1ib3JkZXI7XHJcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoOiA0MHB4O1xyXG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1oZWlnaHQ6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoO1xyXG4kYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplOiA2cHg7XHJcblxyXG4vLyA5LiBCYWRnZVxyXG4vLyAtLS0tLS0tLVxyXG5cclxuJGJhZGdlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xyXG4kYmFkZ2UtY29sb3I6ICR3aGl0ZTtcclxuJGJhZGdlLWNvbG9yLWFsdDogJGJsYWNrO1xyXG4kYmFkZ2UtcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZTtcclxuJGJhZGdlLXBhZGRpbmc6IDAuM2VtO1xyXG4kYmFkZ2UtbWlud2lkdGg6IDIuMWVtO1xyXG4kYmFkZ2UtZm9udC1zaXplOiAwLjZyZW07XHJcblxyXG4vLyAxMC4gQnJlYWRjcnVtYnNcclxuLy8gLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kYnJlYWRjcnVtYnMtbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMDtcclxuJGJyZWFkY3J1bWJzLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMSk7XHJcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItY3VycmVudDogJGJsYWNrO1xyXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5O1xyXG4kYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW46IDAuNzVyZW07XHJcbiRicmVhZGNydW1icy1pdGVtLXVwcGVyY2FzZTogdHJ1ZTtcclxuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yOiB0cnVlO1xyXG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbTogJy8nO1xyXG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbS1ydGw6ICdcXFxcJztcclxuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yOiAkbWVkaXVtLWdyYXk7XHJcblxyXG4vLyAxMS4gQnV0dG9uXHJcbi8vIC0tLS0tLS0tLS1cclxuXHJcbiRidXR0b24tZm9udC1mYW1pbHk6IGluaGVyaXQ7XHJcbiRidXR0b24tcGFkZGluZzogMC44NWVtIDFlbTtcclxuJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwO1xyXG4kYnV0dG9uLWZpbGw6IHNvbGlkO1xyXG4kYnV0dG9uLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xyXG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRidXR0b24tYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogLTE1JSk7XHJcbiRidXR0b24tY29sb3I6ICR3aGl0ZTtcclxuJGJ1dHRvbi1jb2xvci1hbHQ6ICRibGFjaztcclxuJGJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kYnV0dG9uLWhvbGxvdy1ib3JkZXItd2lkdGg6IDFweDtcclxuJGJ1dHRvbi1zaXplczogKFxyXG4gICAgICAgIHRpbnk6IDAuNnJlbSxcclxuICAgICAgICBzbWFsbDogMC43NXJlbSxcclxuICAgICAgICBkZWZhdWx0OiAwLjlyZW0sXHJcbiAgICAgICAgbGFyZ2U6IDEuMjVyZW0sXHJcbik7XHJcbiRidXR0b24tcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZTtcclxuJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkOiAwLjI1O1xyXG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAtMjAlO1xyXG4kYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3M6IC01MCU7XHJcbiRidXR0b24tdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQ7XHJcblxyXG4vLyAxMi4gQnV0dG9uIEdyb3VwXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRidXR0b25ncm91cC1tYXJnaW46IDFyZW07XHJcbiRidXR0b25ncm91cC1zcGFjaW5nOiAxcHg7XHJcbiRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcjogJy5idXR0b24nO1xyXG4kYnV0dG9uZ3JvdXAtZXhwYW5kLW1heDogNjtcclxuJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoOiB0cnVlO1xyXG5cclxuLy8gMTMuIENhbGxvdXRcclxuLy8gLS0tLS0tLS0tLS1cclxuXHJcbiRjYWxsb3V0LWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJGNhbGxvdXQtYmFja2dyb3VuZC1mYWRlOiA4NSU7XHJcbiRjYWxsb3V0LWJvcmRlcjogMXB4IHNvbGlkIHJnYmEoJGJsYWNrLCAwLjI1KTtcclxuJGNhbGxvdXQtbWFyZ2luOiAwIDAgMXJlbSAwO1xyXG4kY2FsbG91dC1wYWRkaW5nOiAxcmVtO1xyXG4kY2FsbG91dC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xyXG4kY2FsbG91dC1mb250LWNvbG9yLWFsdDogJGJvZHktYmFja2dyb3VuZDtcclxuJGNhbGxvdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuJGNhbGxvdXQtbGluay10aW50OiAzMCU7XHJcblxyXG4vLyAxNC4gQ2FyZFxyXG4vLyAtLS0tLS0tLVxyXG5cclxuJGNhcmQtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kY2FyZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xyXG4kY2FyZC1kaXZpZGVyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xyXG4kY2FyZC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcclxuJGNhcmQtc2hhZG93OiBub25lO1xyXG4kY2FyZC1ib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuJGNhcmQtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xyXG4kY2FyZC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcclxuXHJcbi8vIDE1LiBDbG9zZSBCdXR0b25cclxuLy8gLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJGNsb3NlYnV0dG9uLXBvc2l0aW9uOiByaWdodCB0b3A7XHJcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtaG9yaXpvbnRhbDogKFxyXG4gICAgICAgIHNtYWxsOiAwLjY2cmVtLFxyXG4gICAgICAgIG1lZGl1bTogMXJlbSxcclxuKTtcclxuJGNsb3NlYnV0dG9uLW9mZnNldC12ZXJ0aWNhbDogKFxyXG4gICAgICAgIHNtYWxsOiAwLjMzZW0sXHJcbiAgICAgICAgbWVkaXVtOiAwLjVyZW0sXHJcbik7XHJcbiRjbG9zZWJ1dHRvbi1zaXplOiAoXHJcbiAgICAgICAgc21hbGw6IDEuNWVtLFxyXG4gICAgICAgIG1lZGl1bTogMmVtLFxyXG4pO1xyXG4kY2xvc2VidXR0b24tbGluZWhlaWdodDogMTtcclxuJGNsb3NlYnV0dG9uLWNvbG9yOiAkZGFyay1ncmF5O1xyXG4kY2xvc2VidXR0b24tY29sb3ItaG92ZXI6ICRibGFjaztcclxuXHJcbi8vIDE2LiBEcmlsbGRvd25cclxuLy8gLS0tLS0tLS0tLS0tLVxyXG5cclxuJGRyaWxsZG93bi10cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgbGluZWFyO1xyXG4kZHJpbGxkb3duLWFycm93czogdHJ1ZTtcclxuJGRyaWxsZG93bi1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcclxuJGRyaWxsZG93bi1uZXN0ZWQtbWFyZ2luOiAwO1xyXG4kZHJpbGxkb3duLWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJGRyaWxsZG93bi1zdWJtZW51LXBhZGRpbmc6ICRkcmlsbGRvd24tcGFkZGluZztcclxuJGRyaWxsZG93bi1zdWJtZW51LWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJGRyaWxsZG93bi1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3I7XHJcbiRkcmlsbGRvd24tYXJyb3ctc2l6ZTogNnB4O1xyXG5cclxuLy8gMTcuIERyb3Bkb3duXHJcbi8vIC0tLS0tLS0tLS0tLVxyXG5cclxuJGRyb3Bkb3duLXBhZGRpbmc6IDFyZW07XHJcbiRkcm9wZG93bi1iYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kO1xyXG4kZHJvcGRvd24tYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xyXG4kZHJvcGRvd24tZm9udC1zaXplOiAxcmVtO1xyXG4kZHJvcGRvd24td2lkdGg6IDMwMHB4O1xyXG4kZHJvcGRvd24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuJGRyb3Bkb3duLXNpemVzOiAoXHJcbiAgICAgICAgdGlueTogMTAwcHgsXHJcbiAgICAgICAgc21hbGw6IDIwMHB4LFxyXG4gICAgICAgIGxhcmdlOiA0MDBweCxcclxuKTtcclxuXHJcbi8vIDE4LiBEcm9wZG93biBNZW51XHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kZHJvcGRvd25tZW51LWFycm93czogdHJ1ZTtcclxuJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvcjogJGFuY2hvci1jb2xvcjtcclxuJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplOiA2cHg7XHJcbiRkcm9wZG93bm1lbnUtYXJyb3ctcGFkZGluZzogMS41cmVtO1xyXG4kZHJvcGRvd25tZW51LW1pbi13aWR0aDogMjAwcHg7XHJcbiRkcm9wZG93bm1lbnUtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kZHJvcGRvd25tZW51LXN1Ym1lbnUtYmFja2dyb3VuZDogJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kO1xyXG4kZHJvcGRvd25tZW51LXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xyXG4kZHJvcGRvd25tZW51LW5lc3RlZC1tYXJnaW46IDA7XHJcbiRkcm9wZG93bm1lbnUtc3VibWVudS1wYWRkaW5nOiAkZHJvcGRvd25tZW51LXBhZGRpbmc7XHJcbiRkcm9wZG93bm1lbnUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xyXG4kZHJvcGRvd24tbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogZ2V0LWNvbG9yKHByaW1hcnkpO1xyXG4kZHJvcGRvd24tbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiB0cmFuc3BhcmVudDtcclxuXHJcbi8vIDE5LiBGbGV4Ym94IFV0aWxpdGllc1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRmbGV4LXNvdXJjZS1vcmRlcmluZy1jb3VudDogNjtcclxuJGZsZXhib3gtcmVzcG9uc2l2ZS1icmVha3BvaW50czogdHJ1ZTtcclxuXHJcbi8vIDIwLiBGb3Jtc1xyXG4vLyAtLS0tLS0tLS1cclxuXHJcbiRmaWVsZHNldC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XHJcbiRmaWVsZHNldC1wYWRkaW5nOiByZW0tY2FsYygyMCk7XHJcbiRmaWVsZHNldC1tYXJnaW46IHJlbS1jYWxjKDE4IDApO1xyXG4kbGVnZW5kLXBhZGRpbmc6IHJlbS1jYWxjKDAgMyk7XHJcbiRmb3JtLXNwYWNpbmc6IHJlbS1jYWxjKDE2KTtcclxuJGhlbHB0ZXh0LWNvbG9yOiAkYmxhY2s7XHJcbiRoZWxwdGV4dC1mb250LXNpemU6IHJlbS1jYWxjKDEzKTtcclxuJGhlbHB0ZXh0LWZvbnQtc3R5bGU6IGl0YWxpYztcclxuJGlucHV0LXByZWZpeC1jb2xvcjogJGJsYWNrO1xyXG4kaW5wdXQtcHJlZml4LWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xyXG4kaW5wdXQtcHJlZml4LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuJGlucHV0LXByZWZpeC1wYWRkaW5nOiAxcmVtO1xyXG4kZm9ybS1sYWJlbC1jb2xvcjogJGJsYWNrO1xyXG4kZm9ybS1sYWJlbC1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcclxuJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ6IDEuODtcclxuJHNlbGVjdC1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiRzZWxlY3QtdHJpYW5nbGUtY29sb3I6ICRkYXJrLWdyYXk7XHJcbiRzZWxlY3QtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuJGlucHV0LWNvbG9yOiAkYmxhY2s7XHJcbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogJG1lZGl1bS1ncmF5O1xyXG4kaW5wdXQtZm9udC1mYW1pbHk6IGluaGVyaXQ7XHJcbiRpbnB1dC1mb250LXNpemU6IHJlbS1jYWxjKDE2KTtcclxuJGlucHV0LWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XHJcbiRpbnB1dC1saW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0O1xyXG4kaW5wdXQtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kaW5wdXQtYmFja2dyb3VuZC1mb2N1czogJHdoaXRlO1xyXG4kaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDogJGxpZ2h0LWdyYXk7XHJcbiRpbnB1dC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XHJcbiRpbnB1dC1ib3JkZXItZm9jdXM6IDFweCBzb2xpZCAkZGFyay1ncmF5O1xyXG4kaW5wdXQtcGFkZGluZzogJGZvcm0tc3BhY2luZyAvIDI7XHJcbiRpbnB1dC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKCRibGFjaywgMC4xKTtcclxuJGlucHV0LXNoYWRvdy1mb2N1czogMCAwIDVweCAkbWVkaXVtLWdyYXk7XHJcbiRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ6IG5vdC1hbGxvd2VkO1xyXG4kaW5wdXQtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7XHJcbiRpbnB1dC1udW1iZXItc3Bpbm5lcnM6IHRydWU7XHJcbiRpbnB1dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kZm9ybS1idXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuXHJcbi8vIDIxLiBMYWJlbFxyXG4vLyAtLS0tLS0tLS1cclxuXHJcbiRsYWJlbC1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcclxuJGxhYmVsLWNvbG9yOiAkd2hpdGU7XHJcbiRsYWJlbC1jb2xvci1hbHQ6ICRibGFjaztcclxuJGxhYmVsLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGU7XHJcbiRsYWJlbC1mb250LXNpemU6IDAuOHJlbTtcclxuJGxhYmVsLXBhZGRpbmc6IDAuMzMzMzNyZW0gMC41cmVtO1xyXG4kbGFiZWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuXHJcbi8vIDIyLiBNZWRpYSBPYmplY3RcclxuLy8gLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJG1lZGlhb2JqZWN0LW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xyXG4kbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XHJcbiRtZWRpYW9iamVjdC1pbWFnZS13aWR0aC1zdGFja2VkOiAxMDAlO1xyXG5cclxuLy8gMjMuIE1lbnVcclxuLy8gLS0tLS0tLS1cclxuXHJcbiRtZW51LW1hcmdpbjogMDtcclxuJG1lbnUtbmVzdGVkLW1hcmdpbjogJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW47XHJcbiRtZW51LWl0ZW1zLXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xyXG4kbWVudS1zaW1wbGUtbWFyZ2luOiAxcmVtO1xyXG4kbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogJHdoaXRlO1xyXG4kbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiBnZXQtY29sb3IocHJpbWFyeSk7XHJcbiRtZW51LWljb24tc3BhY2luZzogMC4yNXJlbTtcclxuJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheTtcclxuJG1lbnUtc3RhdGUtYmFjay1jb21wYXQ6IHRydWU7XHJcbiRtZW51LWNlbnRlcmVkLWJhY2stY29tcGF0OiB0cnVlO1xyXG4kbWVudS1pY29ucy1iYWNrLWNvbXBhdDogdHJ1ZTtcclxuXHJcbi8vIDI0LiBNZXRlclxyXG4vLyAtLS0tLS0tLS1cclxuXHJcbiRtZXRlci1oZWlnaHQ6IDFyZW07XHJcbiRtZXRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kbWV0ZXItYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xyXG4kbWV0ZXItZmlsbC1nb29kOiAkc3VjY2Vzcy1jb2xvcjtcclxuJG1ldGVyLWZpbGwtbWVkaXVtOiAkd2FybmluZy1jb2xvcjtcclxuJG1ldGVyLWZpbGwtYmFkOiAkYWxlcnQtY29sb3I7XHJcblxyXG4vLyAyNS4gT2ZmLWNhbnZhc1xyXG4vLyAtLS0tLS0tLS0tLS0tLVxyXG5cclxuJG9mZmNhbnZhcy1zaXplczogKFxyXG4gICAgICAgIHNtYWxsOiAyNTBweCxcclxuKTtcclxuJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplczogKFxyXG4gICAgICAgIHNtYWxsOiAyNTBweCxcclxuKTtcclxuJG9mZmNhbnZhcy1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcclxuJG9mZmNhbnZhcy1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoJGJsYWNrLCAwLjcpO1xyXG4kb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplOiAyMHB4O1xyXG4kb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcjogcmdiYSgkYmxhY2ssIDAuMjUpO1xyXG4kb2ZmY2FudmFzLW92ZXJsYXktemluZGV4OiAxMTtcclxuJG9mZmNhbnZhcy1wdXNoLXppbmRleDogMTI7XHJcbiRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXg6IDEzO1xyXG4kb2ZmY2FudmFzLXJldmVhbC16aW5kZXg6IDEyO1xyXG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoOiAwLjVzO1xyXG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nOiBlYXNlO1xyXG4kb2ZmY2FudmFzLWZpeGVkLXJldmVhbDogdHJ1ZTtcclxuJG9mZmNhbnZhcy1leGl0LWJhY2tncm91bmQ6IHJnYmEoJHdoaXRlLCAwLjI1KTtcclxuJG1haW5jb250ZW50LWNsYXNzOiAnb2ZmLWNhbnZhcy1jb250ZW50JztcclxuXHJcbi8vIDI2LiBPcmJpdFxyXG4vLyAtLS0tLS0tLS1cclxuXHJcbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xyXG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQtYWN0aXZlOiAkZGFyay1ncmF5O1xyXG4kb3JiaXQtYnVsbGV0LWRpYW1ldGVyOiAxLjJyZW07XHJcbiRvcmJpdC1idWxsZXQtbWFyZ2luOiAwLjFyZW07XHJcbiRvcmJpdC1idWxsZXQtbWFyZ2luLXRvcDogMC44cmVtO1xyXG4kb3JiaXQtYnVsbGV0LW1hcmdpbi1ib3R0b206IDAuOHJlbTtcclxuJG9yYml0LWNhcHRpb24tYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNSk7XHJcbiRvcmJpdC1jYXB0aW9uLXBhZGRpbmc6IDFyZW07XHJcbiRvcmJpdC1jb250cm9sLWJhY2tncm91bmQtaG92ZXI6IHJnYmEoJGJsYWNrLCAwLjUpO1xyXG4kb3JiaXQtY29udHJvbC1wYWRkaW5nOiAxcmVtO1xyXG4kb3JiaXQtY29udHJvbC16aW5kZXg6IDEwO1xyXG5cclxuLy8gMjcuIFBhZ2luYXRpb25cclxuLy8gLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwYWdpbmF0aW9uLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4kcGFnaW5hdGlvbi1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcclxuJHBhZ2luYXRpb24taXRlbS1jb2xvcjogJGJsYWNrO1xyXG4kcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmc6IHJlbS1jYWxjKDMgMTApO1xyXG4kcGFnaW5hdGlvbi1pdGVtLXNwYWNpbmc6IHJlbS1jYWxjKDEpO1xyXG4kcGFnaW5hdGlvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5O1xyXG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtY3VycmVudDogJHByaW1hcnktY29sb3I7XHJcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItY3VycmVudDogJHdoaXRlO1xyXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXk7XHJcbiRwYWdpbmF0aW9uLWVsbGlwc2lzLWNvbG9yOiAkYmxhY2s7XHJcbiRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtczogZmFsc2U7XHJcbiRwYWdpbmF0aW9uLW1vYmlsZS1jdXJyZW50LWl0ZW06IGZhbHNlO1xyXG4kcGFnaW5hdGlvbi1hcnJvd3M6IHRydWU7XHJcblxyXG4vLyAyOC4gUHJvZ3Jlc3MgQmFyXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm9ncmVzcy1oZWlnaHQ6IDFyZW07XHJcbiRwcm9ncmVzcy1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XHJcbiRwcm9ncmVzcy1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcclxuJHByb2dyZXNzLW1ldGVyLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xyXG4kcHJvZ3Jlc3MtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuXHJcbi8vIDI5LiBQcm90b3R5cGUgQXJyb3dcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS1hcnJvdy1kaXJlY3Rpb25zOiAoXHJcbiAgICAgICAgZG93bixcclxuICAgICAgICB1cCxcclxuICAgICAgICByaWdodCxcclxuICAgICAgICBsZWZ0XHJcbik7XHJcbiRwcm90b3R5cGUtYXJyb3ctc2l6ZTogMC40Mzc1cmVtO1xyXG4kcHJvdG90eXBlLWFycm93LWNvbG9yOiAkYmxhY2s7XHJcblxyXG4vLyAzMC4gUHJvdG90eXBlIEJvcmRlci1Cb3hcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLWJvcmRlci1ib3gtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG5cclxuLy8gMzEuIFByb3RvdHlwZSBCb3JkZXItTm9uZVxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLWJvcmRlci1ub25lLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcclxuXHJcbi8vIDMyLiBQcm90b3R5cGUgQm9yZGVyZWRcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS1ib3JkZXJlZC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcbiRwcm90b3R5cGUtYm9yZGVyLXdpZHRoOiByZW0tY2FsYygxKTtcclxuJHByb3RvdHlwZS1ib3JkZXItdHlwZTogc29saWQ7XHJcbiRwcm90b3R5cGUtYm9yZGVyLWNvbG9yOiAkbWVkaXVtLWdyYXk7XHJcblxyXG4vLyAzMy4gUHJvdG90eXBlIERpc3BsYXlcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLWRpc3BsYXktYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG4kcHJvdG90eXBlLWRpc3BsYXk6IChcclxuICAgICAgICBpbmxpbmUsXHJcbiAgICAgICAgaW5saW5lLWJsb2NrLFxyXG4gICAgICAgIGJsb2NrLFxyXG4gICAgICAgIHRhYmxlLFxyXG4gICAgICAgIHRhYmxlLWNlbGxcclxuKTtcclxuXHJcbi8vIDM0LiBQcm90b3R5cGUgRm9udC1TdHlsaW5nXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLWZvbnQtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG4kcHJvdG90eXBlLXdpZGUtbGV0dGVyLXNwYWNpbmc6IHJlbS1jYWxjKDQpO1xyXG4kcHJvdG90eXBlLWZvbnQtbm9ybWFsOiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XHJcbiRwcm90b3R5cGUtZm9udC1ib2xkOiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xyXG5cclxuLy8gMzUuIFByb3RvdHlwZSBMaXN0LVN0eWxlLVR5cGVcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtbGlzdC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcbiRwcm90b3R5cGUtc3R5bGUtdHlwZS11bm9yZGVyZWQ6IChcclxuICAgICAgICBkaXNjLFxyXG4gICAgICAgIGNpcmNsZSxcclxuICAgICAgICBzcXVhcmVcclxuKTtcclxuJHByb3RvdHlwZS1zdHlsZS10eXBlLW9yZGVyZWQ6IChcclxuICAgICAgICBkZWNpbWFsLFxyXG4gICAgICAgIGxvd2VyLWFscGhhLFxyXG4gICAgICAgIGxvd2VyLWxhdGluLFxyXG4gICAgICAgIGxvd2VyLXJvbWFuLFxyXG4gICAgICAgIHVwcGVyLWFscGhhLFxyXG4gICAgICAgIHVwcGVyLWxhdGluLFxyXG4gICAgICAgIHVwcGVyLXJvbWFuXHJcbik7XHJcblxyXG4vLyAzNi4gUHJvdG90eXBlIE92ZXJmbG93XHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtb3ZlcmZsb3ctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG4kcHJvdG90eXBlLW92ZXJmbG93OiAoXHJcbiAgICAgICAgdmlzaWJsZSxcclxuICAgICAgICBoaWRkZW4sXHJcbiAgICAgICAgc2Nyb2xsXHJcbik7XHJcblxyXG4vLyAzNy4gUHJvdG90eXBlIFBvc2l0aW9uXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtcG9zaXRpb24tYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG4kcHJvdG90eXBlLXBvc2l0aW9uOiAoXHJcbiAgICAgICAgc3RhdGljLFxyXG4gICAgICAgIHJlbGF0aXZlLFxyXG4gICAgICAgIGFic29sdXRlLFxyXG4gICAgICAgIGZpeGVkXHJcbik7XHJcbiRwcm90b3R5cGUtcG9zaXRpb24tei1pbmRleDogOTc1O1xyXG5cclxuLy8gMzguIFByb3RvdHlwZSBSb3VuZGVkXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS1yb3VuZGVkLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcclxuJHByb3RvdHlwZS1ib3JkZXItcmFkaXVzOiByZW0tY2FsYygzKTtcclxuXHJcbi8vIDM5LiBQcm90b3R5cGUgU2VwYXJhdG9yXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLXNlcGFyYXRvci1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWFsaWduOiBjZW50ZXI7XHJcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWhlaWdodDogcmVtLWNhbGMoMik7XHJcbiRwcm90b3R5cGUtc2VwYXJhdG9yLXdpZHRoOiAzcmVtO1xyXG4kcHJvdG90eXBlLXNlcGFyYXRvci1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcclxuJHByb3RvdHlwZS1zZXBhcmF0b3ItbWFyZ2luLXRvcDogJGdsb2JhbC1tYXJnaW47XHJcblxyXG4vLyA0MC4gUHJvdG90eXBlIFNoYWRvd1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS1zaGFkb3ctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG4kcHJvdG90eXBlLWJveC1zaGFkb3c6IDAgMnB4IDVweCAwIHJnYmEoMCwwLDAsLjE2KSxcclxuMCAycHggMTBweCAwIHJnYmEoMCwwLDAsLjEyKTtcclxuXHJcbi8vIDQxLiBQcm90b3R5cGUgU2l6aW5nXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLXNpemluZy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcbiRwcm90b3R5cGUtc2l6aW5nOiAoXHJcbiAgICAgICAgd2lkdGgsXHJcbiAgICAgICAgaGVpZ2h0XHJcbik7XHJcbiRwcm90b3R5cGUtc2l6ZXM6IChcclxuICAgICAgICAyNTogMjUlLFxyXG4gICAgICAgIDUwOiA1MCUsXHJcbiAgICAgICAgNzU6IDc1JSxcclxuICAgICAgICAxMDA6IDEwMCVcclxuKTtcclxuXHJcbi8vIDQyLiBQcm90b3R5cGUgU3BhY2luZ1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtc3BhY2luZy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcbiRwcm90b3R5cGUtc3BhY2Vycy1jb3VudDogMztcclxuXHJcbi8vIDQzLiBQcm90b3R5cGUgVGV4dC1EZWNvcmF0aW9uXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLWRlY29yYXRpb24tYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG4kcHJvdG90eXBlLXRleHQtZGVjb3JhdGlvbjogKFxyXG4gICAgICAgIG92ZXJsaW5lLFxyXG4gICAgICAgIHVuZGVybGluZSxcclxuICAgICAgICBsaW5lLXRocm91Z2gsXHJcbik7XHJcblxyXG4vLyA0NC4gUHJvdG90eXBlIFRleHQtVHJhbnNmb3JtYXRpb25cclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLXRyYW5zZm9ybWF0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcclxuJHByb3RvdHlwZS10ZXh0LXRyYW5zZm9ybWF0aW9uOiAoXHJcbiAgICAgICAgbG93ZXJjYXNlLFxyXG4gICAgICAgIHVwcGVyY2FzZSxcclxuICAgICAgICBjYXBpdGFsaXplXHJcbik7XHJcblxyXG4vLyA0NS4gUHJvdG90eXBlIFRleHQtVXRpbGl0aWVzXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtdXRpbGl0aWVzLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcclxuJHByb3RvdHlwZS10ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuXHJcbi8vIDQ2LiBSZXNwb25zaXZlIEVtYmVkXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcmVzcG9uc2l2ZS1lbWJlZC1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNik7XHJcbiRyZXNwb25zaXZlLWVtYmVkLXJhdGlvczogKFxyXG4gICAgICAgIGRlZmF1bHQ6IDQgYnkgMyxcclxuICAgICAgICB3aWRlc2NyZWVuOiAxNiBieSA5LFxyXG4pO1xyXG5cclxuLy8gNDcuIFJldmVhbFxyXG4vLyAtLS0tLS0tLS0tXHJcblxyXG4kcmV2ZWFsLWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJHJldmVhbC13aWR0aDogNjAwcHg7XHJcbiRyZXZlYWwtbWF4LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xyXG4kcmV2ZWFsLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZztcclxuJHJldmVhbC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XHJcbiRyZXZlYWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuJHJldmVhbC16aW5kZXg6IDEwMDU7XHJcbiRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC40NSk7XHJcblxyXG4vLyA0OC4gU2xpZGVyXHJcbi8vIC0tLS0tLS0tLS1cclxuXHJcbiRzbGlkZXItd2lkdGgtdmVydGljYWw6IDAuNXJlbTtcclxuJHNsaWRlci10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcclxuJHNsaWRlci1oZWlnaHQ6IDAuNXJlbTtcclxuJHNsaWRlci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcclxuJHNsaWRlci1maWxsLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcclxuJHNsaWRlci1oYW5kbGUtaGVpZ2h0OiAxLjRyZW07XHJcbiRzbGlkZXItaGFuZGxlLXdpZHRoOiAxLjRyZW07XHJcbiRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xyXG4kc2xpZGVyLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjU7XHJcbiRzbGlkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuXHJcbi8vIDQ5LiBTd2l0Y2hcclxuLy8gLS0tLS0tLS0tLVxyXG5cclxuJHN3aXRjaC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XHJcbiRzd2l0Y2gtYmFja2dyb3VuZC1hY3RpdmU6ICRwcmltYXJ5LWNvbG9yO1xyXG4kc3dpdGNoLWhlaWdodDogMnJlbTtcclxuJHN3aXRjaC1oZWlnaHQtdGlueTogMS41cmVtO1xyXG4kc3dpdGNoLWhlaWdodC1zbWFsbDogMS43NXJlbTtcclxuJHN3aXRjaC1oZWlnaHQtbGFyZ2U6IDIuNXJlbTtcclxuJHN3aXRjaC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kc3dpdGNoLW1hcmdpbjogJGdsb2JhbC1tYXJnaW47XHJcbiRzd2l0Y2gtcGFkZGxlLWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJHN3aXRjaC1wYWRkbGUtb2Zmc2V0OiAwLjI1cmVtO1xyXG4kc3dpdGNoLXBhZGRsZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQ7XHJcblxyXG4vLyA1MC4gVGFibGVcclxuLy8gLS0tLS0tLS0tXHJcblxyXG4kdGFibGUtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kdGFibGUtY29sb3Itc2NhbGU6IDUlO1xyXG4kdGFibGUtYm9yZGVyOiAxcHggc29saWQgc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSk7XHJcbiR0YWJsZS1wYWRkaW5nOiByZW0tY2FsYyg4IDEwIDEwKTtcclxuJHRhYmxlLWhvdmVyLXNjYWxlOiAyJTtcclxuJHRhYmxlLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xyXG4kdGFibGUtcm93LXN0cmlwZS1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgKyAkdGFibGUtaG92ZXItc2NhbGUpO1xyXG4kdGFibGUtaXMtc3RyaXBlZDogdHJ1ZTtcclxuJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSk7XHJcbiR0YWJsZS1zdHJpcGU6IGV2ZW47XHJcbiR0YWJsZS1oZWFkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgLyAyKTtcclxuJHRhYmxlLWhlYWQtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWhlYWQtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKTtcclxuJHRhYmxlLWZvb3QtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSk7XHJcbiR0YWJsZS1mb290LXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1mb290LWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSk7XHJcbiR0YWJsZS1oZWFkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XHJcbiR0YWJsZS1mb290LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XHJcbiRzaG93LWhlYWRlci1mb3Itc3RhY2tlZDogZmFsc2U7XHJcbiR0YWJsZS1zdGFjay1icmVha3BvaW50OiBtZWRpdW07XHJcblxyXG4vLyA1MS4gVGFic1xyXG4vLyAtLS0tLS0tLVxyXG5cclxuJHRhYi1tYXJnaW46IDA7XHJcbiR0YWItYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kdGFiLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuJHRhYi1iYWNrZ3JvdW5kLWFjdGl2ZTogJGxpZ2h0LWdyYXk7XHJcbiR0YWItYWN0aXZlLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuJHRhYi1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xyXG4kdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJHdoaXRlO1xyXG4kdGFiLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxLjVyZW07XHJcbiR0YWItZXhwYW5kLW1heDogNjtcclxuJHRhYi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJHRhYi1jb250ZW50LWJvcmRlcjogJGxpZ2h0LWdyYXk7XHJcbiR0YWItY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcclxuJHRhYi1jb250ZW50LXBhZGRpbmc6IDFyZW07XHJcblxyXG4vLyA1Mi4gVGh1bWJuYWlsXHJcbi8vIC0tLS0tLS0tLS0tLS1cclxuXHJcbiR0aHVtYm5haWwtYm9yZGVyOiBzb2xpZCA0cHggJHdoaXRlO1xyXG4kdGh1bWJuYWlsLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xyXG4kdGh1bWJuYWlsLXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoJGJsYWNrLCAwLjIpO1xyXG4kdGh1bWJuYWlsLXNoYWRvdy1ob3ZlcjogMCAwIDZweCAxcHggcmdiYSgkcHJpbWFyeS1jb2xvciwgMC41KTtcclxuJHRodW1ibmFpbC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDIwMG1zIGVhc2Utb3V0O1xyXG4kdGh1bWJuYWlsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcblxyXG4vLyA1My4gVGl0bGUgQmFyXHJcbi8vIC0tLS0tLS0tLS0tLS1cclxuXHJcbiR0aXRsZWJhci1iYWNrZ3JvdW5kOiAkYmxhY2s7XHJcbiR0aXRsZWJhci1jb2xvcjogJHdoaXRlO1xyXG4kdGl0bGViYXItcGFkZGluZzogMC41cmVtO1xyXG4kdGl0bGViYXItdGV4dC1mb250LXdlaWdodDogYm9sZDtcclxuJHRpdGxlYmFyLWljb24tY29sb3I6ICR3aGl0ZTtcclxuJHRpdGxlYmFyLWljb24tY29sb3ItaG92ZXI6ICRtZWRpdW0tZ3JheTtcclxuJHRpdGxlYmFyLWljb24tc3BhY2luZzogMC4yNXJlbTtcclxuXHJcbi8vIDU0LiBUb29sdGlwXHJcbi8vIC0tLS0tLS0tLS0tXHJcblxyXG4kaGFzLXRpcC1jdXJzb3I6IGhlbHA7XHJcbiRoYXMtdGlwLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xyXG4kaGFzLXRpcC1ib3JkZXItYm90dG9tOiBkb3R0ZWQgMXB4ICRkYXJrLWdyYXk7XHJcbiR0b29sdGlwLWJhY2tncm91bmQtY29sb3I6ICRibGFjaztcclxuJHRvb2x0aXAtY29sb3I6ICR3aGl0ZTtcclxuJHRvb2x0aXAtcGFkZGluZzogMC43NXJlbTtcclxuJHRvb2x0aXAtbWF4LXdpZHRoOiAxMHJlbTtcclxuJHRvb2x0aXAtZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xyXG4kdG9vbHRpcC1waXAtd2lkdGg6IDAuNzVyZW07XHJcbiR0b29sdGlwLXBpcC1oZWlnaHQ6ICR0b29sdGlwLXBpcC13aWR0aCAqIDAuODY2O1xyXG4kdG9vbHRpcC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG5cclxuLy8gNTUuIFRvcCBCYXJcclxuLy8gLS0tLS0tLS0tLS1cclxuXHJcbiR0b3BiYXItcGFkZGluZzogMC41cmVtO1xyXG4kdG9wYmFyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xyXG4kdG9wYmFyLXN1Ym1lbnUtYmFja2dyb3VuZDogJHRvcGJhci1iYWNrZ3JvdW5kO1xyXG4kdG9wYmFyLXRpdGxlLXNwYWNpbmc6IDAuNXJlbSAxcmVtIDAuNXJlbSAwO1xyXG4kdG9wYmFyLWlucHV0LXdpZHRoOiAyMDBweDtcclxuJHRvcGJhci11bnN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bTtcclxuXHJcbi8vIDU2LiBYeSBHcmlkXHJcbi8vIC0tLS0tLS0tLS0tXHJcblxyXG4keHktZ3JpZDogdHJ1ZTtcclxuJGdyaWQtY29udGFpbmVyOiAkZ2xvYmFsLXdpZHRoO1xyXG4kZ3JpZC1jb2x1bW5zOiAxMjtcclxuJGdyaWQtbWFyZ2luLWd1dHRlcnM6IChcclxuICAgICAgICBzbWFsbDogMjBweCxcclxuICAgICAgICBtZWRpdW06IDMwcHhcclxuKTtcclxuJGdyaWQtcGFkZGluZy1ndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycztcclxuJGdyaWQtY29udGFpbmVyLXBhZGRpbmc6ICRncmlkLXBhZGRpbmctZ3V0dGVycztcclxuJGdyaWQtY29udGFpbmVyLW1heDogJGdsb2JhbC13aWR0aDtcclxuJHh5LWJsb2NrLWdyaWQtbWF4OiA4O1xyXG5cclxuLy8gNTcuIEN1c3RvbSBWYXJpYWJsZXNcclxuLy8gLS0gVGhlc2UgVmFyaWFibGVzIGFyZSB0byBvdmVycmlkZSBzb21lIEZvdW5kYXRpb24gYW5kIGFyZSB1c2VkIGZvciBhY3R1YWwgdGhlbWluZy5cclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbi8vR3JheXM6XHJcbiRncmF5MDogI2Y4ZjlmYTsgLy9hbG1vc3Qgd2hpdGVcclxuJGdyYXkxOiAjZjFmM2Y1O1xyXG4kZ3JheTI6ICNlOWVjZWY7XHJcbiRncmF5MzogI2RlZTJlNjtcclxuJGdyYXk0OiAjY2VkNGRhO1xyXG4kZ3JheTU6ICNhZGI1YmQ7XHJcbiRncmF5NjogIzg2OGU5NjtcclxuJGdyYXk3OiAjNDk1MDU3O1xyXG4kZ3JheTg6ICMzNDNhNDA7XHJcbiRncmF5OTogIzIxMjUyOTsgLy9hbG1vc3QgYmxhY2tcclxuXHJcbi8vTmV3IFVDUiBEZXNpZ24gOCBDb2xvcnM6XHJcbiRjb2xvci1wcmltYXJ5LWNvbnRlbnQ6ICRncmF5NjtcclxuJGNvbG9yLWNlbGxvOiAjMUQzQTYxOy8vRGFya2VzdCBibHVlXHJcbiRjb2xvci1hc3Ryb25hdXQ6ICMyMzQ2NzQ7Ly9EYXJrIEJsdWVcclxuJGNvbG9yLWhva2k6ICM2MzdFQTQ7Ly9NZWRpdW0gR3JheSBCbHVlXHJcbiRjb2xvci1waWN0b24tYmx1ZTogIzREQURGNzsvL0xpZ2h0IEJsdWUgKEN5YW4pXHJcbiRjb2xvci1jdXJpb3VzLWJsdWU6ICMzQUE0REM7Ly9HcmVlbmlzaCBMaWdodCBCbHVlIChEYXJrIEN5YW4pXHJcbiR0aXRsZS1ibHVlOiAjMzliMWVmOyAvLyBMb2NhbGlzdCBzcGVjaWFsXHJcbiRjb2xvci1waWN0b24tYmx1ZS1hbHQ6ICMzMjlBRjA7IC8vTWVkaXVtLUxpZ2h0IEJsdWUgKFJveWFsIEN5YW4pXHJcbiRjb2xvci1jcm93bi1vZi10aG9ybnM6ICM4MDIyNDQ7Ly9EYXJrIGJ1cmd1bmR5XHJcbiRjb2xvci1jZXJpc2UtcmVkOiAjRDYzMzZDOy8vTWFnZW50YSBSZWRcclxuJGxpbmstcmVkOiAjZjQ1ODU4OyAvL0xvY2FsaXN0IHNwZWNpYWw7XHJcbiRjb2xvci1wb2xvLWJsdWU6ICM5MUFGQ0M7Ly9MdC4gR3JheSBCbHVlXHJcbiRjb2xvci1jb3JuZmxvd2VyOiAjQTVDOEVBOy8vTHQuIEJsdWUtR3JheVxyXG4kY29sb3ItZ2hvc3Q6ICRncmF5NDsvL0x0Li1tZWQuIEdyYXlcclxuXHJcbi8vIFRvIGhlbHAgd2l0aCBTYXNzIGNvbG9yIHZhcmlhYmxlcyAtIGh0dHA6Ly9jaGlyLmFnL3Byb2plY3RzL25hbWUtdGhhdC1jb2xvci9cclxuJHJlZ2FsLWJsdWU6ICMyMzQ2NzQ7Ly9hc3Ryb25hdXRcclxuJHNwYWNlLWJsdWU6ICM0MDRCNTc7XHJcbiRza3ktYmx1ZTogIzRBQURFMztcclxuJHJvbWFuLXJlZDogI0U2NEM0RTtcclxuJGFzcGFyYWd1cy1ncmVlbjogIzg3QTA1QztcclxuJHBpbmUtZ3JlZW46ICMyM0FDQTE7XHJcbiRkZWVwLXZpb2xldDogI0JEMEZFMTtcclxuJG9yYW5nZS1wZWVsOiAjRTM3MjNGO1xyXG4kd2FybS1mdWNoc2lhOiAjQUMxNzZFO1xyXG4kYXF1YW1hcmluZTogIzdGRkZENDtcclxuXHJcbiRzdW4teWVsbG93OiAjRjFBOTAwO1xyXG4kcG9tZWdyYW5hdGUtcmVkOiAjQ0EyRTJFO1xyXG4kcGl0Y2gtYmxhY2s6ICMwMDAwMDA7XHJcbiRwdXJlLXdoaXRlOiAjZmZmZmZmO1xyXG4kc29saWQtZ3JheTogJGdyYXk2O1xyXG4kbWVkaXVtLWdyYXk6ICRncmF5NTtcclxuXHJcbiR1Y3ItZ29sZDogI2YxYWIwMDtcclxuJHVjci1ibHVlOiAjMmQ2Y2MwO1xyXG5cclxuJGJsdWUtYWNjZW50OiAjNERBREY3OyAvLyRjb2xvci1waWN0aW9uLWJsdWU7XHJcblxyXG4vLyBQYXNzZXMgbmV3IGNvbG9ycyB0byBvdmVycmlkZSB0ZW1wbGF0ZSBzd2F0Y2ggZGVmYXVsdHMuIE91dHB1dHMgRFJZIENTUy5cclxuJHByaW1hcnk6ICRyZWdhbC1ibHVlICFkZWZhdWx0O1xyXG4kc2Vjb25kYXJ5OiAkc3BhY2UtYmx1ZSAhZGVmYXVsdDtcclxuJGFsdGVybmF0ZTogJHNreS1ibHVlICFkZWZhdWx0O1xyXG4kYWNjZW50OiAkcm9tYW4tcmVkICFkZWZhdWx0O1xyXG4kc3VjY2VzczogJGFzcGFyYWd1cy1ncmVlbiAhZGVmYXVsdDtcclxuJHdhcm5pbmc6ICRzdW4teWVsbG93ICFkZWZhdWx0O1xyXG4kYWxlcnQ6ICRwb21lZ3JhbmF0ZS1yZWQgIWRlZmF1bHQ7XHJcbiRkYXJrOiAkZ3JheTkgIWRlZmF1bHQ7Ly8kcGl0Y2gtYmxhY2sgIWRlZmF1bHQ7XHJcbiRsaWdodDogJGdyYXkwICFkZWZhdWx0O1xyXG4kc2hhZGVzOiAkc29saWQtZ3JheSAhZGVmYXVsdDtcclxuJGJsYWNrOiAjMDAwMDAwICFkZWZhdWx0O1xyXG4kd2hpdGU6ICNmZmZmZmYgIWRlZmF1bHQ7XHJcbiRuZWFyLWJsYWNrOiAkZ3JheTk7XHJcblxyXG5cclxuJHRyYWRlLWdvdGhpYzogJ1RyYWRlIEdvdGhpYyBOZXh0IFcwMScsJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xyXG4kYXZlbmlyOiAnQXZlbmlyIE5leHQgVzAxJywnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWYgIWRlZmF1bHQ7XHJcbiRhZGVsbGU6ICdBZGVsbGUgVzAxJywnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWYgIWRlZmF1bHQ7XHJcbiRmb250LWZhbWlseS1tb25vc3BhY2U6IENvbnNvbGFzLCBcIkFuZGFsZSBNb25vIFdUXCIsIFwiQW5kYWxlIE1vbm9cIiwgJ0xpYmVyYXRpb24gTW9ubycsIFwiQ291cmllciBOZXdcIiwgQ291cmllciwgbW9ub3NwYWNlICFkZWZhdWx0O1xyXG5cclxuJGljb24td2lkdGg6IDE2cHggIWRlZmF1bHQ7XHJcbiRpY29uLWhlaWdodDogMTZweCAhZGVmYXVsdDtcclxuJGljb24tZmlsbDogJGJsYWNrICFkZWZhdWx0O1xyXG4kaWNvbi1zdHJva2U6ICRibGFjayAhZGVmYXVsdDtcclxuJGljb24tY29sb3I6ICRibGFjayAhZGVmYXVsdDtcclxuJGljb24tc3Ryb2tlLXdpZHRoOiAwICFkZWZhdWx0O1xyXG4kaWNvbi1zdHJva2UtZGFzaDogMCAhZGVmYXVsdDtcclxuXHJcbiRhdWRpZW5jZS1ib3JkZXI6ICNjNmM2YzY7XHJcbiRwYXJlbnQtb3JnLWNvbG9yOiAjOGQ4ZDhkO1xyXG4kc2xvZ2FuLWNvbG9yOiAjOThhNGI1O1xyXG4kZHJvcC1zaGFkb3ctY29sb3I6ICM2NjY2NjY7XHJcblxyXG4kYXVkaWVuY2UtbWVudS1iYWNrZ3JvdW5kOiAjZTZlNmU2O1xyXG4kYXVkaWVuY2UtbWVudS1ib3JkZXI6ICNjY2NjY2M7XHJcbiRhdWRpZW5jZS1tZW51LXNoYWRvdzogIzk5OTk5OTtcclxuJGF1ZGllbmNlLW1lbnUtbGluazogIzJkNmJiZTtcclxuJGF1ZGllbmNlLW1lbnUtaG92ZXI6ICNkYzUwNTI7XHJcbiRhdWRpZW5jZS1tZW51LWxpbmstaG92ZXItYmc6ICNkOWQ5ZDk7XHJcblxyXG4kcHJpbWFyeS1tZW51LWhvdmVyOiAjMWUzYzYzO1xyXG4kcHJpbWFyeS1tZW51LWhvdmVyLWNvbG9yOiAjNGZiMWU2O1xyXG4kcHJpbWFyeS1tZW51LXN1Yi1iYWNrZ3JvdW5kOiAjODI5NWE5O1xyXG4kcHJpbWFyeS1tZW51LXN1Yi1ib3JkZXI6ICM5YmE2YjI7XHJcbiRwcmltYXJ5LW1lbnUtc3ViLWNvbG9yOiAkd2hpdGU7XHJcbiRwcmltYXJ5LW1lbnUtc3ViLWhvdmVyOiAjNmY3ZjkwO1xyXG4kcGlybWFyeS1tZW51LXN1Yi1ob3Zlci1jb2xvcjogJHByaW1hcnktbWVudS1ob3Zlci1jb2xvcjtcclxuXHJcbiRwcmltYXJ5LW1lbnUtbW9iaWxlLWJhY2tncm91bmQ6ICM5N2FmYzk7XHJcbiRwcmltYXJ5LW1lbnUtbW9iaWxlLWhvdmVyLWJhY2tncm91bmQ6ICM0YjU3NjQ7XHJcblxyXG4kYXVkaWVuY2UtbWVudS1tb2JpbGUtY29sb3I6ICM0YWFkZTM7XHJcbiRhdWRpZW5jZS1tZW51LW1vYmlsZS1ob3Zlci1iYWNrZ3JvdW5kOiAjN2E3YTdhO1xyXG4kYXVkaWVuY2UtbWVudS1tb2JpbGUtYnV0dG9uOiAjNDU0NTQ1O1xyXG5cclxuJGZvb3Rlci1iYWNrZ3JvdW5kOiAjMDgxNzJiO1xyXG4kZm9vdGVyLWNlbGwtYm9yZGVyOiAjRkZCODFDO1xyXG4kZm9vdGVyLXRleHQtY29sb3I6ICNkOGU0ZjM7XHJcbiRmb290ZXItaW1hZ2UtYm9yZGVyOiAjY2FjYWNhO1xyXG5cclxuJGZvb3Rlci1idXR0b24tY29sb3I6ICM3OThmYWM7XHJcbiRmb290ZXItYnV0dG9uLWZhY2Vib29rOiAjM0I1OTk4O1xyXG4kZm9vdGVyLWJ1dHRvbi10d2l0dGVyOiAjMDBhY2VlO1xyXG4kZm9vdGVyLWJ1dHRvbi15b3V0dWJlOiAjY2QyMDFmO1xyXG4kZm9vdGVyLWJ1dHRvbi1pbnN0YWdyYW06ICMxMjU2ODg7XHJcbiRmb290ZXItYnV0dG9uLWxpbmtlZGluOiAjMDA3N2I1O1xyXG4kZm9vdGVyLWJ1dHRvbi1mbGlja3I6ICNmZjAwODQ7XHJcbiRmb290ZXItYnV0dG9uLXJzczogI0VDODUwMDtcclxuXHJcbiRmb290ZXItaW5wdXQtYmFja2dyb3VuZDogIzBjMWMzMTtcclxuXHJcbiRwYWdlLWZvb3Rlci1saW5rcy1ia2c6ICRwcmltYXJ5ICFkZWZhdWx0O1xyXG4kcGFnZS1mb290ZXItbGlua3MtY29sb3I6ICM4ZmJjZjk7XHJcbiRwYWdlLWZvb3Rlci1saW5rcy1ob3Zlci1jb2xvcjogI2ZlYzc4MDtcclxuXHJcbiRmb290ZXItYm9yZGVyLWNvbG9yLTE6ICM0NTRmNWE7XHJcbiRmb290ZXItdWNyLWluZm8tbGluZS1jb2xvcjogI0ZGQjgxQztcclxuJGZvb3Rlci11Y3ItaW5mby1saW5rcy1ob3Zlci1iYWNrZ3JvdW5kOiAjNGM0YzRjO1xyXG5cclxuJGZvb3Rlci1sZWdhbC1iYWNrZ3JvdW5kOiAjRkZCODFDO1xyXG4kZm9vdGVyLWxlZ2FsLWNvbG9yOiAjMDAzREE1O1xyXG5cclxuJGJyZWFkY3J1bWItYm9yZGVyLWNvbG9yOiAjY2FjYWNhO1xyXG4kYnJlYWRjcnVtYi1hY3RpdmUtY29sb3I6ICM5OTk5OTk7XHJcbiRicmVhZGNydW1iLWhvbWUtaG92ZXItY29sb3I6ICNkZmViZjE7XHJcblxyXG4kY3VzdG9tLWNvbnRlbnQtZWRpdG9yLW1lbnUtYmc6ICNmYWZhZmE7XHJcblxyXG4vL0dyYXlzOlxyXG4kZ3JheTA6ICNmOGY5ZmE7IC8vYWxtb3N0IHdoaXRlXHJcbiRncmF5MTogI2YxZjNmNTtcclxuJGdyYXkyOiAjZTllY2VmO1xyXG4kZ3JheTM6ICNkZWUyZTY7XHJcbiRncmF5NDogI2NlZDRkYTtcclxuJGdyYXk1OiAjYWRiNWJkO1xyXG4kZ3JheTY6ICM4NjhlOTY7XHJcbiRncmF5NzogIzQ5NTA1NztcclxuJGdyYXk4OiAjMzQzYTQwO1xyXG4kZ3JheTk6ICMyMTI1Mjk7IC8vYWxtb3N0IGJsYWNrXHJcblxyXG4kY29sb3ItcHJpbWFyeS1jb250ZW50OiAjNjA2MDYwO1xyXG4kY29sb3ItY2VsbG86ICMxRDNBNjE7XHJcbiRjb2xvci1hc3Ryb25hdXQ6ICMyMzQ2NzQ7XHJcbiRjb2xvci1ob2tpOiAjNjM3RUE0O1xyXG4kY29sb3ItcGljdG9uLWJsdWU6ICM0REFERjc7XHJcbiRjb2xvci1jdXJpb3VzLWJsdWU6ICMzQUE0REM7XHJcblxyXG4kY29sb3ItcGljdG9uLWJsdWUtYWx0OiAjMzI5QUYwO1xyXG4kY29sb3ItY3Jvd24tb2YtdGhvcm5zOiAjODAyMjQ0O1xyXG4kY29sb3ItY2VyaXNlLXJlZDogI0Q2MzM2QztcclxuJGNvbG9yLXBvbG8tYmx1ZTogIzkxQUZDQztcclxuJGNvbG9yLWNvcm5mbG93ZXI6ICNBNUM4RUE7XHJcbiRjb2xvci1naG9zdDogI0NERDNEOTtcclxuXHJcbiRjb2xvci13YXJuaW5nLWFsZXJ0OiAjRkNDNDE5O1xyXG4kY29sb3Itc3VjY2Vzcy1hbGVydDogIzIxQTQ3NDtcclxuJGNvbG9yLWVycm9yLWFsZXJ0OiAjREMxRDFEO1xyXG4kY29sb3ItaW5mby1hbGVydDogIzY4RDNGODtcclxuXHJcbi8qID09IENvcHkgb2YgdGhlIEZvdW5kYXRpb24gVmFyaWFibGVzIHRvIGJlIG92ZXJyaWRkZW4gd2l0aCBvdXIgdGVtcGxhdGUgQ1NTLiAqL1xyXG5cclxuJHRhYmxlLWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJHRhYmxlLWNvbG9yLXNjYWxlOiA1JTtcclxuJHRhYmxlLWJvcmRlcjogMXB4IHNvbGlkIHNtYXJ0LXNjYWxlKCRjb2xvci1naG9zdCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcclxuJHRhYmxlLXBhZGRpbmc6IHJlbS1jYWxjKDggMTAgMTApO1xyXG4kdGFibGUtaG92ZXItc2NhbGU6IDIlO1xyXG4kdGFibGUtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSk7XHJcbiR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSArICR0YWJsZS1ob3Zlci1zY2FsZSk7XHJcbiR0YWJsZS1pcy1zdHJpcGVkOiB0cnVlO1xyXG4kdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkY29sb3ItZ2hvc3QsICR0YWJsZS1jb2xvci1zY2FsZSk7XHJcbiR0YWJsZS1zdHJpcGU6IGV2ZW47XHJcbiR0YWJsZS1oZWFkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCRjb2xvci1waWN0b24tYmx1ZSwgJHRhYmxlLWNvbG9yLXNjYWxlIC8gMik7XHJcbiR0YWJsZS1oZWFkLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1oZWFkLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSk7XHJcbiR0YWJsZS1mb290LWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xyXG4kdGFibGUtZm9vdC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtZm9vdC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xyXG4kdGFibGUtaGVhZC1mb250LWNvbG9yOiAkd2hpdGU7XHJcbiR0YWJsZS1mb290LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XHJcbiRzaG93LWhlYWRlci1mb3Itc3RhY2tlZDogZmFsc2U7XHJcbiR0YWJsZS1zdGFjay1icmVha3BvaW50OiBtZWRpdW07XHJcblxyXG4kY29udGFpbmVyLWJhY2tncm91bmQ6ICNmYWZhZmE7IiwKCQkiLy8gRGVmaW5lIGEgZm9udC1zaXplIGZvciBIVE1MIGZvciBjb25zaXN0ZW50IFJFTSB1bnVpdHNcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5odG1sIHtcclxuICBmb250LXNpemU6IDEwMCU7Ly8xNnB4IG9uIG1vc3QgYnJvd3NlcnNcclxufVxyXG5ib2R5IHtcclxuICBmb250LWZhbWlseTogXCJUcmFkZSBHb3RoaWMgTmV4dCBXMDFcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XHJcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICBmb250LXNpemU6IDEwMCU7XHJcbiAgbGluZS1oZWlnaHQ6IDEuNTtcclxuICBjb2xvcjogJGJsYWNrO1xyXG4gIGJhY2tncm91bmQ6ICR3aGl0ZTtcclxuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcclxufVxyXG5cclxuXHJcbmFbaHJlZio9XCIvL1wiXTphZnRlciB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIC8vZm9udDogbm9ybWFsIG5vcm1hbCBub3JtYWwgMjRweC8xIFwiTWF0ZXJpYWwgRGVzaWduIEljb25zXCI7XHJcbiAgLy9mb250LXNpemU6IGluaGVyaXQ7XHJcbiAgdGV4dC1yZW5kZXJpbmc6IGF1dG87XHJcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XHJcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XHJcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcclxuICAvL2NvbnRlbnQ6IFwiXFxGM0NDXCI7XHJcbiAgcGFkZGluZy1sZWZ0OiA0cHg7XHJcbn1cclxuXHJcbi5ncmlkLWNvbnRhaW5lciB7IG1heC13aWR0aDogNzVyZW07IH1cclxuXHJcbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xyXG4gIGZvbnQtZmFtaWx5OiAkdHJhZGUtZ290aGljO1xyXG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4gIGNvbG9yOiAjNjY2NjY2O1xyXG4gIG1hcmdpbi10b3A6IDA7XHJcbiAgbWFyZ2luLWJvdHRvbTogMC43NXJlbTtcclxuICBsaW5lLWhlaWdodDogMS40O1xyXG59XHJcbmgxLCBoMiB7XHJcbiAgbWFyZ2luLWJvdHRvbTogMnJlbTtcclxuICBmb250LXdlaWdodDozMDA7XHJcbn1cclxuXHJcbnRhYmxlIHtcclxuICB0aGVhZCB7XHJcbiAgICB0ciB7XHJcbiAgICAgIHRoIHtcclxuICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkd2hpdGU7XHJcbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgIGJvcmRlci1yaWdodDogMDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgdGJvZHkge1xyXG4gICAgdHIge1xyXG4gICAgICB0aCB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXBpY3Rvbi1ibHVlO1xyXG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICR3aGl0ZTtcclxuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHdoaXRlO1xyXG4gICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRjb2xvci1naG9zdDtcclxuICAgICAgfVxyXG4gICAgICB0ZCB7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLWdob3N0O1xyXG4gICAgICB9XHJcbiAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgdGgge1xyXG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGQge1xyXG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi51Y3ItY3VzdG9tLWJsb2NrIHtcclxuICBtYXJnaW4tYm90dG9tOiAxLjVyZW0gIWltcG9ydGFudDtcclxufVxyXG5cclxuLy8gTW9kdWxlIE92ZXJyaWRlIFN0eWxlczpcclxuLmNvbG9yX2ZpZWxkX3dpZGdldF9ib3hfX3NxdWFyZSB7XHJcbiAgYm9yZGVyOjFweCBzb2xpZCAjNjY2NjY2O1xyXG59XHJcblxyXG4uc2VwYXJhdG9yLWxpbmUtYmVmb3JlIHtcclxuICBAaW5jbHVkZSBsaW5lLXNlcGFyYXRvcignYmVmb3JlJyk7XHJcbn1cclxuXHJcbi5zZXBhcmF0b3ItbGluZS1hZnRlciB7XHJcbiAgQGluY2x1ZGUgbGluZS1zZXBhcmF0b3IoJ2FmdGVyJyk7XHJcbn1cclxuXHJcbi5zZXBhcmF0b3ItbGluZS1tYXJvb24tYmVmb3JlIHtcclxuICBAaW5jbHVkZSBsaW5lLXNlcGFyYXRvcignYmVmb3JlJywgJGNvbG9yLWNlcmlzZS1yZWQpO1xyXG59XHJcblxyXG4uc2VwYXJhdG9yLWxpbmUtbWFyb29uLWFmdGVyIHtcclxuICBAaW5jbHVkZSBsaW5lLXNlcGFyYXRvcignYWZ0ZXInLCAkY29sb3ItY2VyaXNlLXJlZCk7XHJcbn1cclxuXHJcbi5zZXBhcmF0b3ItbGluZS1kYXJrLWJlZm9yZSB7XHJcbiAgQGluY2x1ZGUgbGluZS1zZXBhcmF0b3IoJ2JlZm9yZScsICRjb2xvci1hc3Ryb25hdXQpO1xyXG59XHJcblxyXG4uc2VwYXJhdG9yLWxpbmUtZGFyay1hZnRlciB7XHJcbiAgQGluY2x1ZGUgbGluZS1zZXBhcmF0b3IoJ2FmdGVyJywgJGNvbG9yLWFzdHJvbmF1dCk7XHJcbn1cclxuXHJcbi5idG4tdWNyIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgcGFkZGluZzogMC41cmVtIDJyZW07XHJcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItcGljdG9uLWJsdWU7XHJcbiAgY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xyXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICAmOmhvdmVyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkY29sb3ItcGljdG9uLWJsdWUsIDIwJSk7XHJcbiAgfVxyXG59XHJcbi5idG4tdWNyLWFsdCB7XHJcbiAgQGV4dGVuZCAuYnRuLXVjcjtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItY2VyaXNlLXJlZDtcclxuICAmOmhvdmVyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkY29sb3ItY2VyaXNlLXJlZCwgMjAlKTtcclxuICB9XHJcbn1cclxuLmJ0bi11Y3Itc3BsaXQge1xyXG4gIEBleHRlbmQgLmJ0bi11Y3I7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcclxuICBjb2xvcjogJGNvbG9yLXBpY3Rvbi1ibHVlICFpbXBvcnRhbnQ7XHJcbiAgYm9yZGVyOiAycHggc29saWQgZGFya2VuKCRjb2xvci1waWN0b24tYmx1ZSwgMjAlKTtcclxuICAmOmFmdGVyIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIGZvbnQ6IG5vcm1hbCBub3JtYWwgbm9ybWFsIDI0cHgvMSBcIk1hdGVyaWFsIERlc2lnbiBJY29uc1wiO1xyXG4gICAgZm9udC1zaXplOiAxLjVyZW0gIWltcG9ydGFudDtcclxuICAgIHRleHQtcmVuZGVyaW5nOiBhdXRvO1xyXG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XHJcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcclxuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XHJcbiAgICBjb250ZW50OiBcIlxcRjE0MlwiICFpbXBvcnRhbnQ7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IC0ycHg7XHJcbiAgICBsZWZ0OiAxMDAlO1xyXG4gICAgcGFkZGluZzogMC4xcmVtIDAuNHJlbTtcclxuICAgIGJvcmRlcjogMnB4IHNvbGlkIGRhcmtlbigkY29sb3ItcGljdG9uLWJsdWUsIDIwJSk7XHJcbiAgfVxyXG4gICY6aG92ZXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXBpY3Rvbi1ibHVlO1xyXG4gICAgY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xyXG4gICAgJjphZnRlciB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1waWN0b24tYmx1ZTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuYSB7XHJcbiAgJi5idG4tdWNyLXNwbGl0IHtcclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICBmb250LXNpemU6IDEuNXJlbSAhaW1wb3J0YW50O1xyXG4gICAgICBjb250ZW50OiBcIlxcRjE0MlwiICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4ubGlzdC1hcnJvdyB7XHJcbiAgbGlzdC1zdHlsZTogbm9uZTtcclxuICBsaSB7XHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgZm9udDogbm9ybWFsIG5vcm1hbCBub3JtYWwgMjRweC8xIFwiTWF0ZXJpYWwgRGVzaWduIEljb25zXCI7XHJcbiAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcclxuICAgICAgdGV4dC1yZW5kZXJpbmc6IGF1dG87XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xyXG4gICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcclxuICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcclxuICAgICAgY29udGVudDogXCJcXEY3MzNcIjtcclxuICAgICAgcGFkZGluZy1yaWdodDogLjI1ZW07XHJcbiAgICB9XHJcbiAgICB1bCB7XHJcbiAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcclxuICAgICAgbGkge1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgIGNvbG9yOiBsaWdodGVuKCRjb2xvci1wcmltYXJ5LWNvbnRlbnQsIDE1JSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHVsIHtcclxuICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgIGNvbG9yOiBsaWdodGVuKCRjb2xvci1wcmltYXJ5LWNvbnRlbnQsIDMwJSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5saXN0LWFycm93LWFsdCB7XHJcbiAgbGlzdC1zdHlsZTogbm9uZTtcclxuICBsaSB7XHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgZm9udDogbm9ybWFsIG5vcm1hbCBub3JtYWwgMjRweC8xIFwiTWF0ZXJpYWwgRGVzaWduIEljb25zXCI7XHJcbiAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcclxuICAgICAgdGV4dC1yZW5kZXJpbmc6IGF1dG87XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xyXG4gICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcclxuICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcclxuICAgICAgY29udGVudDogXCJcXEYxNDJcIjtcclxuICAgICAgcGFkZGluZy1yaWdodDogLjI1ZW07XHJcbiAgICB9XHJcbiAgICB1bCB7XHJcbiAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcclxuICAgICAgbGkge1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgIGNvbG9yOiBsaWdodGVuKCRjb2xvci1wcmltYXJ5LWNvbnRlbnQsIDE1JSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHVsIHtcclxuICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgIGNvbG9yOiBsaWdodGVuKCRjb2xvci1wcmltYXJ5LWNvbnRlbnQsIDMwJSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwKCQkiLy8gRmlsZSBjb250YWlucyBDU1MgZm9yIHRoZSBQYXJlbnQgT3JnIFRpdGxlLCBBdWRpZW5jZSBNZW51LCBhbmQgU2l0ZS1Ub3AgU2VhcmNoIEJhci5cclxuLy8gVGhlIFNpdGUtVG9wIFNlYXJjaCBCYXIgJiBBdWRpZW5jZSBNZW51IENTUyBpbiBoZXJlIGlzIGZvciBwcmltYXJpbHkgRGVza3RvcCBWaWV3cy4gRm9yIE1vYmlsZSB2aWV3cywgbG9vayBpbiB0aGUgJ3ByaW1hcnlfbmF2aWdhdGlvbi5zY3NzJyBmaWxlLlxyXG4vLyBNYXN0aGVhZCBzY3NzIGZpbGUgZnJvbSBEcnVwYWwgLSBtb2RpZmllZCBmb3Igc2lsa3dyYXBwZXIgLy9cclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJGF1ZGllbmNlLW1vYmlsZS12aWV3LWJhY2tncm91bmQ6ICMwMDNEQTU7XHJcbiRhdWRpZW5jZS1ib3JkZXI6ICNiMGJlYzU7XHJcbiRhdWRpZW5jZS1vcmctY29sb3I6ICM3ODkwOWM7XHJcbi5hdWRpZW5jZS1jb250YWluZXIge1xyXG4gIG1heC1oZWlnaHQ6IDQ1cHg7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJGF1ZGllbmNlLW1vYmlsZS12aWV3LWJhY2tncm91bmQ7XHJcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRhdWRpZW5jZS1ib3JkZXI7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XHJcblxyXG4gIC5tb2JpbGUtbWVudS1leHBhbmRlciB7XHJcbiAgICBmb250LXNpemU6IDJyZW07XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBwYWRkaW5nOiAwIDdweDtcclxuICAgIG1hcmdpbjogMDtcclxuICB9XHJcblxyXG4gIEBtZWRpYSBzY3JlZW4gYW5kICN7YnJlYWtwb2ludChsYXJnZSl9IHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRhdWRpZW5jZS1ib3JkZXI7XHJcbiAgICBwYWRkaW5nOiBpbmhlcml0O1xyXG4gIH07XHJcblxyXG4gIC5wYXJlbnQtb3JnLXRpdGxlIHtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICBmb250LWZhbWlseTogXCJGaXJhIFNhbnMgTWVkaXVtXCIsIHNhbnMtc2VyaWY7XHJcbiAgICBmb250LXNpemU6IDFyZW07XHJcbiAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxcHg7XHJcbiAgICBsaW5lLWhlaWdodDogMTtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgIHBhZGRpbmc6IDhweCAwO1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgYSB7XHJcbiAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICN7YnJlYWtwb2ludChsYXJnZSl9IHtcclxuICAgICAgZm9udC1zaXplOiAxcmVtO1xyXG4gICAgICBmb250LXdlaWdodDogaW5oZXJpdDtcclxuICAgICAgcGFkZGluZzogMDtcclxuICAgICAgYSB7XHJcbiAgICAgICAgY29sb3I6ICRhdWRpZW5jZS1vcmctY29sb3I7XHJcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDA7XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmdvb2dsZS1zZWFyY2gge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJGF1ZGllbmNlLWJvcmRlcjtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcblxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxuXHJcbiAgICBpbnB1dCB7XHJcbiAgICAgIG1hcmdpbjowO1xyXG4gICAgICBwYWRkaW5nOjAgMCAwIDE2cHg7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgYm94LXNoYWRvdzogbm9uZTtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgIG1pbi13aWR0aDogMTk1cHg7XHJcbiAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgYmFja2dyb3VuZDogdXJsKFwiaHR0cHM6Ly9hc3NldHMudWNyLmVkdS9sb2NhbGlzdC9pbWFnZXMvZ29vZ2xlLXNlYXJjaC10b3AucG5nXCIpIG5vLXJlcGVhdDtcclxuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcclxuXHJcbiAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgICAgfVxyXG5cclxuICAgICAgJjo6cGxhY2Vob2xkZXIge1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICBib3gtc2hhZG93OiBub25lO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIEAtbW96LWRvY3VtZW50IHVybC1wcmVmaXgoKSB7XHJcbiAgICAgICAgJjo6cGxhY2Vob2xkZXIge1xyXG4gICAgICAgICAgbGVmdDogLTE0cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAmOmZvY3VzOjpwbGFjZWhvbGRlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmF1ZGllbmNlLWxpbmtzIHtcclxuICAgIC5hdWRpZW5jZS1idXR0b24ge1xyXG4gICAgICBhIHtcclxuICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMC42ODVyZW07XHJcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDM3NXJlbTtcclxuICAgICAgICBmb250LWZhbWlseTogXCJBdmVuaXIgTmV4dCBXMDFcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICBjb2xvcjogJGFsdGVybmF0ZTtcclxuICAgICAgfVxyXG4gICAgICA+IGEge1xyXG4gICAgICAgIHBhZGRpbmc6MTVweCAzMHB4IDEzcHggMCAhaW1wb3J0YW50O1xyXG4gICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgIHJpZ2h0OiAxMnB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gICAgICAgICAgY29udGVudDogXCJcIiAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAkYWx0ZXJuYXRlIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICB1bCB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGF1ZGllbmNlLW1lbnUtYmFja2dyb3VuZDtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkYXVkaWVuY2UtbWVudS1ib3JkZXI7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XHJcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xyXG4gICAgICAgIGJveC1zaGFkb3c6IDFweCAxcHggNHB4ICRhdWRpZW5jZS1tZW51LXNoYWRvdztcclxuXHJcbiAgICAgICAgbGkge1xyXG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRhdWRpZW5jZS1tZW51LWJvcmRlcjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgcGFkZGluZzogMTRweCA3cHggIWltcG9ydGFudDtcclxuICAgICAgICAgIGNvbG9yOiAkYXVkaWVuY2UtbWVudS1saW5rO1xyXG4gICAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgdG9wOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYXVkaWVuY2UtbWVudS1saW5rLWhvdmVyLWJnO1xyXG4gICAgICAgICAgICBjb2xvcjogJGF1ZGllbmNlLW1lbnUtaG92ZXI7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsCgkJIi8vIEZpbGUgY29udGFpbnMgQ1NTIGZvciB0aGUgU2l0ZSBMb2dvLCBTaXRlIFRpdGxlLCBhbmQgdGhlIFNsb2dhbiBUZXh0LiBGb3IgRGVza3RvcCAmIE1vYmlsZSBWaWV3cy5cclxuLy8gTWFzdGhlYWQgc2NzcyBmaWxlIGZyb20gRHJ1cGFsIC0gbW9kaWZpZWQgZm9yIHNpbGt3cmFwcGVyIC8vXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuLm1hc3RoZWFkLWNvbnRhaW5lciB7XHJcbiAgbWFyZ2luOiAxMXB4IDAgMTBweCAwO1xyXG4gIC5tYXN0aGVhZC1sb2dvIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50O1xyXG4gICAgd2lkdGg6IDc4cHg7XHJcbiAgICBoZWlnaHQ6IDU3cHg7XHJcbiAgICAvLyAtLSBBYnNvbHV0ZSBwYXRoIGZvciBpbWFnZSBmaWxlIC0tIC8vXHJcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJ2h0dHBzOi8vYXNzZXRzLnVjci5lZHUvbG9jYWxpc3QvaW1hZ2VzL1VDUi1tb25vZ3JhbS1vdmVyLXdoaXRlLWJnLnN2ZycpIG5vLXJlcGVhdDtcclxuXHJcblxyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlKX0ge1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50O1xyXG4gICAgICB3aWR0aDogMjAzcHg7XHJcbiAgICAgIGhlaWdodDogNTdweDtcclxuICAgICAgLy8gLS0gQWJzb2x1dGUgcGF0aCBmb3IgaW1hZ2UgZmlsZSAtLSAvL1xyXG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoJ2h0dHBzOi8vYXNzZXRzLnVjci5lZHUvbG9jYWxpc3QvaW1hZ2VzL3Vjci1ob3Jpem9udGFsLWxvZ28tc3RkLnN2ZycpIG5vLXJlcGVhdDtcclxuICAgIH1cclxuICB9XHJcbiAgLm1hc3RoZWFkLXRpdGxlIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAvL2ZvbnQtZmFtaWx5OiBcIlRyYWRlIEdvdGhpYyBOZXh0IFcwMVwiLCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcclxuICAgIGZvbnQtZmFtaWx5OiBcIkZpcmEgU2FucyBNZWRpdW1cIixcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcclxuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XHJcbiAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgbGluZS1oZWlnaHQ6IDEuMDg7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDdweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICBsZWZ0OiAtMjBweDtcclxuXHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobGFyZ2UpfSB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xyXG4gICAgICBwYWRkaW5nLWxlZnQ6IDEycHg7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDdweDtcclxuICAgICAgbGVmdDogLTIwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgYSB7XHJcbiAgICAgIGNvbG9yOiAjMDAzREE1OyAvLyR1Y3ItYmx1ZTtcclxuXHJcbiAgICAgICY6aG92ZXIge1xyXG4gICAgICAgIGNvbG9yOiAjMDAzREE1OyAvLyR1Y3ItYmx1ZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLnNsb2dhbiB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBtYXgtd2lkdGg6IDIxLjI1cmVtO1xyXG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICBjb2xvcjogJHNsb2dhbi1jb2xvcjtcclxuICAgIGZvbnQtZmFtaWx5OiBcIkZpcmEgU2FucyBSZWd1bGFyXCIsIHNhbnMtc2VyaWY7XHJcbiAgICAvL2ZvbnQtZmFtaWx5OiBcIkF2ZW5pciBOZXh0IFcwMVwiLCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcclxuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xyXG4gICAgbGluZS1oZWlnaHQ6IDEuMDg7XHJcbiAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgbGV0dGVyLXNwYWNpbmc6IDEuNjVweDtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gIH1cclxufVxyXG4iLAoJCSIvLyBGaWxlIGNvbnRhaW5zIENTUyBmb3IgdGhlIE1haW4gTmF2aWdhdGlvbiBCYXIuIEZvciB0aGUgYmFyLCB0aGlzIGRlYWxzIHdpdGggYm90aCBEZXNrdG9wICYgTW9iaWxlIHZpZXdzLlxyXG4vLyBUaGUgU2VhcmNoIEJhciBDU1MgJiBBdWRpZW5jZSBNZW51IERyb3Bkb3duIGluIGhlcmUgaXMgZm9yIHByaW1hcmlseSBNb2JpbGUgdmlld3MuIEZvciB0aGUgRGVza3RvcCB2aWV3cywgbG9vayBpbiB0aGUgJ21hc3RoZWFkLWF1ZGllbmNlLnNjc3MnIGZpbGUuXHJcbi8vIE5hdmlnYXRpb24gc2NzcyBmaWxlIGZyb20gRHJ1cGFsIC0gbW9kaWZpZWQgZm9yIHNpbGt3cmFwcGVyIC8vXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuLm1haW4tbmF2LWJhciB7XHJcbiAgZm9udC1mYW1pbHk6IFwiQXZlbmlyIE5leHQgVzAxXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xyXG4gIGZvbnQtc2l6ZTogMC42ODc1cmVtO1xyXG4gIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICBsZXR0ZXItc3BhY2luZzogMC4wNjI1cmVtO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktbWVudS1tb2JpbGUtYmFja2dyb3VuZDtcclxuICBib3gtc2hhZG93OiAwIDJweCAzcHggJGRyb3Atc2hhZG93LWNvbG9yO1xyXG4gIC5hY2NvcmRpb24tbWVudSB7XHJcbiAgICBib3JkZXI6IDFweCAwIHNvbGlkICRhdWRpZW5jZS1ib3JkZXI7XHJcbiAgICBtYXJnaW46IDAgLTEwcHg7XHJcbiAgICBsaSB7XHJcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkYXVkaWVuY2UtYm9yZGVyO1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIC5pcy1hY2NvcmRpb24tc3VibWVudS1pdGVtIHtcclxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkYXVkaWVuY2UtYm9yZGVyO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBhIHtcclxuICAgICAgICBjb2xvcjogJHByaW1hcnk7XHJcbiAgICAgICAgJjpob3ZlciwgJjphY3RpdmUge1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktbWVudS1tb2JpbGUtaG92ZXItYmFja2dyb3VuZDtcclxuICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCB7XHJcbiAgICAgICY6bm90KC5oYXMtc3VibWVudS10b2dnbGUpIHtcclxuICAgICAgICA+IGEge1xyXG4gICAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGFjY29yZGlvbm1lbnUtYXJyb3ctc2l6ZSwgJHByaW1hcnksIGRvd24pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGFjY29yZGlvbm1lbnUtYXJyb3ctc2l6ZSwgJHdoaXRlLCBkb3duKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRhY2NvcmRpb25tZW51LWFycm93LXNpemUsICR3aGl0ZSwgZG93bik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnRbYXJpYS1leHBhbmRlZD0ndHJ1ZSddIHtcclxuICAgICAgPiBhIHtcclxuICAgICAgICAmOmhvdmVyLCAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHdoaXRlIHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAuZ29vZ2xlLXNlYXJjaCB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG4gICAgI2F1ZGllbmNlLXNlYXJjaCB7XHJcbiAgICAgIHdpZHRoOiA2MCU7XHJcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgbWFyZ2luOiA3cHg7XHJcbiAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICAgIGJhY2tncm91bmQ6IHVybChcImh0dHA6Ly9zcnRlc3QyLmRldi11Y3IuYWNzaXRlZmFjdG9yeS5jb20vc2l0ZXMvZy9maWxlcy9yY3dlY201NDUxZGV2L2ZpbGVzL2dvb2dsZS1zZWFyY2gtdG9wLnBuZ1wiKSBuby1yZXBlYXQ7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcclxuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcclxuXHJcbiAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmOjpwbGFjZWhvbGRlciB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgfVxyXG5cclxuICAgICAgQC1tb3otZG9jdW1lbnQgdXJsLXByZWZpeCgpIHtcclxuICAgICAgICAmOjpwbGFjZWhvbGRlciB7XHJcbiAgICAgICAgICBsZWZ0OiAtMTRweDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICY6Zm9jdXM6OnBsYWNlaG9sZGVyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBidXR0b24ge1xyXG4gICAgICBtYXJnaW46IDA7XHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgI2F1ZGllbmNlLWxpbmtzLW1vYmlsZS12aWV3IHtcclxuICAgIGEge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XHJcbiAgICAgIGNvbG9yOiAkYXVkaWVuY2UtbWVudS1tb2JpbGUtY29sb3I7XHJcbiAgICAgICY6aG92ZXIsICY6YWN0aXZlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYXVkaWVuY2UtbWVudS1tb2JpbGUtaG92ZXItYmFja2dyb3VuZDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmF1ZGllbmNlLWJ1dHRvbiB7XHJcbiAgICAgID4gYSB7XHJcbiAgICAgICAgY29sb3I6ICRhdWRpZW5jZS1tZW51LW1vYmlsZS1idXR0b247XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQge1xyXG4gICAgICAmOm5vdCguaGFzLXN1Ym1lbnUtdG9nZ2xlKSB7XHJcbiAgICAgICAgPiBhIHtcclxuICAgICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRhY2NvcmRpb25tZW51LWFycm93LXNpemUsICRhdWRpZW5jZS1tZW51LW1vYmlsZS1idXR0b24sIGRvd24pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGFjY29yZGlvbm1lbnUtYXJyb3ctc2l6ZSwgJGF1ZGllbmNlLW1lbnUtbW9iaWxlLWJ1dHRvbiwgZG93bik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplLCAkYXVkaWVuY2UtbWVudS1tb2JpbGUtYnV0dG9uLCBkb3duKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudFthcmlhLWV4cGFuZGVkPSd0cnVlJ10ge1xyXG4gICAgICA+IGEge1xyXG4gICAgICAgICY6aG92ZXIsICY6YWN0aXZlIHtcclxuICAgICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkYXVkaWVuY2UtbWVudS1tb2JpbGUtYnV0dG9uIHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQG1lZGlhIHNjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlKX0ge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnk7XHJcblxyXG4gICAgI21haW4tbWVudSB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5O1xyXG4gICAgfVxyXG5cclxuICAgIC5kcm9wZG93biB7XHJcbiAgICAgIGxpIHtcclxuICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIDAuOTM3NXJlbSAwIDAgJHByaW1hcnksIGluc2V0IDBweCAtMC45Mzc1cmVtIDAgMCAkcHJpbWFyeSwgaW5zZXQgMXB4IDAgMCAwICR3aGl0ZTtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMXB4O1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMXB4O1xyXG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcclxuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBhIHtcclxuICAgICAgICBwYWRkaW5nOiAxLjA1cmVtIDFyZW07XHJcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICByaWdodDogMTFweCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAkd2hpdGUgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1tZW51LWhvdmVyO1xyXG4gICAgICAgICAgY29sb3I6ICRwcmltYXJ5LW1lbnUtaG92ZXItY29sb3I7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCB7XHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAycmVtICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIC5pcy1hY3RpdmUge1xyXG4gICAgICAgID4gYSB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1tZW51LWhvdmVyO1xyXG4gICAgICAgICAgY29sb3I6ICRwcmltYXJ5LW1lbnUtaG92ZXItY29sb3I7XHJcbiAgICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAxMXB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHByaW1hcnktbWVudS1ob3Zlci1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAuaXMtZHJvcGRvd24tc3VibWVudSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktbWVudS1zdWItYmFja2dyb3VuZDtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkcHJpbWFyeS1tZW51LXN1Yi1ib3JkZXI7XHJcbiAgICAgICAgYm94LXNoYWRvdzogMnB4IDJweCA0cHggJGRyb3Atc2hhZG93LWNvbG9yO1xyXG4gICAgICAgIGxpIHtcclxuICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkcHJpbWFyeS1tZW51LXN1Yi1ib3JkZXI7XHJcbiAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xyXG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBhIHtcclxuICAgICAgICAgIHBhZGRpbmc6IDAuOXJlbSAxcmVtO1xyXG4gICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LW1lbnUtc3ViLWhvdmVyO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICRwcmltYXJ5LW1lbnUtc3ViLWNvbG9yICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5pcy1hY3RpdmUge1xyXG4gICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktbWVudS1zdWItaG92ZXI7XHJcbiAgICAgICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICRwaXJtYXJ5LW1lbnUtc3ViLWhvdmVyLWNvbG9yICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwKCQkiLy8gRmlsZSBjb250YWlucyBDU1MgZm9yIHRoZSBvdmVyYWxsIGNvbnRlbnQgYXJlYS4gVG8gY2hhbmdlIHRoZSBkaWZmZXJlbnQgY29sdW1ucywgcGxlYXNlIHJlZmVyIHRvIHRoZWlyIGluZGl2aWR1YWwgc2NzcyBmaWxlcy5cclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4ucHJpbWFyeS1jb250ZW50LWFyZWEge1xyXG4gIHBhZGRpbmctdG9wOiAzMHB4O1xyXG4gIHBhZGRpbmctYm90dG9tOiAzMHB4O1xyXG4gIG1pbi1oZWlnaHQ6IDIwMHB4O1xyXG4gIGNvbG9yOiAkY29sb3ItcHJpbWFyeS1jb250ZW50O1xyXG5cclxuICBAbWVkaWEgc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobGFyZ2UpfSB7XHJcbiAgICBtaW4taGVpZ2h0OiAzMDBweDtcclxuICB9XHJcblxyXG4gIGEge1xyXG4gICAgY29sb3I6ICRjb2xvci1jZXJpc2UtcmVkO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgY29sb3I6IGRhcmtlbigkY29sb3ItY2VyaXNlLXJlZCwgMjAlKTtcclxuICAgIH1cclxuICAgICY6YWN0aXZlIHtcclxuICAgICAgY29sb3I6ICRjb2xvci1waWN0b24tYmx1ZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGgxIHtcclxuICAgIGNvbG9yOiAkY29sb3ItcGljdG9uLWJsdWUtYWx0O1xyXG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcclxuICAgIGZvbnQtc2l6ZTogMi4zNzVyZW07XHJcbiAgICBsaW5lLWhlaWdodDogMS4xMDUyNjtcclxuICAgICYucGFnZS10aXRsZSB7XHJcbiAgICAgIGNvbG9yOiAkY29sb3ItY3VyaW91cy1ibHVlO1xyXG4gICAgfVxyXG4gIH1cclxuICBoMiB7XHJcbiAgICBAZXh0ZW5kIGgxO1xyXG4gICAgZm9udC1zaXplOiAyLjEyNXJlbTtcclxuICB9XHJcbiAgaDMge1xyXG4gICAgQGV4dGVuZCBoMTtcclxuICAgIGZvbnQtc2l6ZTogMS44NzVyZW07XHJcbiAgfVxyXG4gIGg0IHtcclxuICAgIEBleHRlbmQgaDE7XHJcbiAgICBmb250LXNpemU6IDEuNjI1cmVtO1xyXG4gIH1cclxuICBoNSB7XHJcbiAgICBAZXh0ZW5kIGgxO1xyXG4gICAgZm9udC1zaXplOiAxLjM3NXJlbTtcclxuICB9XHJcbiAgaDYge1xyXG4gICAgQGV4dGVuZCBoMTtcclxuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XHJcbiAgfVxyXG5cclxuICBwcmUge1xyXG4gICAgd2hpdGUtc3BhY2U6IHByZS13cmFwOyAgICAgICAvKiBTaW5jZSBDU1MgMi4xICovXHJcbiAgICB3aGl0ZS1zcGFjZTogLW1vei1wcmUtd3JhcDsgIC8qIE1vemlsbGEsIHNpbmNlIDE5OTkgKi9cclxuICAgIHdoaXRlLXNwYWNlOiAtcHJlLXdyYXA7ICAgICAgLyogT3BlcmEgNC02ICovXHJcbiAgICB3aGl0ZS1zcGFjZTogLW8tcHJlLXdyYXA7ICAgIC8qIE9wZXJhIDcgKi9cclxuICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDsgICAgICAgLyogSW50ZXJuZXQgRXhwbG9yZXIgNS41KyAqL1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcclxuICAgIHBhZGRpbmc6IDFyZW07XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKCRjb2xvci1jb3JuZmxvd2VyLCAxMyUpO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLWNlbGxvO1xyXG4gIH1cclxuXHJcbiAgZmlndXJlIHtcclxuICAgIGZpZ2NhcHRpb24ge1xyXG4gICAgICBmb250LXNpemU6IDAuNzc1cmVtO1xyXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICBtYXJnaW46IDAuMjVyZW0gMC4yNXJlbSAxcmVtIDAuMjVyZW07XHJcbiAgICB9XHJcblxyXG4gICAgJi5hbGlnbi1jZW50ZXIge1xyXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgJi5hbGlnbi1sZWZ0IHtcclxuICAgICAgZmlnY2FwdGlvbiB7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxLjI1cmVtO1xyXG4gICAgICB9XHJcbiAgICAgIGltZyB7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5hbGlnbi1yaWdodCB7XHJcbiAgICAgIGZpZ2NhcHRpb24ge1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxLjI1cmVtO1xyXG4gICAgICB9XHJcbiAgICAgIGltZyB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDFyZW07XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBhcnRpY2xlIHtcclxuICAgICAgcCB7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBhcnRpY2xlIHtcclxuICAgICYuYWxpZ24tY2VudGVyIHtcclxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICBpbWcge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLmFsaWduLWxlZnQge1xyXG4gICAgICBpbWcge1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogMXJlbTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5hbGlnbi1yaWdodCB7XHJcbiAgICAgIGltZyB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDFyZW07XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmNvbnRlbnQtZWRpdG9yLW1lbnUge1xyXG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYnJlYWRjcnVtYi1ib3JkZXItY29sb3I7XHJcbiAgbGkge1xyXG4gICAgYSB7XHJcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRicmVhZGNydW1iLWJvcmRlci1jb2xvcjtcclxuICAgICAgY29sb3I6ICRjb2xvci1waWN0b24tYmx1ZTtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1jb250ZW50LWVkaXRvci1tZW51LWJnO1xyXG4gICAgICBib3JkZXItYm90dG9tOiBub25lO1xyXG4gICAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDVweCA1cHggMCAwO1xyXG4gICAgICAtbW96LWJvcmRlci1yYWRpdXM6IDVweCA1cHggMCAwO1xyXG4gICAgICBib3JkZXItcmFkaXVzOiA1cHggNXB4IDAgMDtcclxuICAgICAgbWFyZ2luLXJpZ2h0OiA3cHg7XHJcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuYm9keS5ja2VfZWRpdGFibGUge1xyXG4gIEBleHRlbmQgLnByaW1hcnktY29udGVudC1hcmVhO1xyXG4gIGRpdiB7XHJcbiAgICBkcnVwYWwtZW50aXR5IHtcclxuICAgICAgQGV4dGVuZCBmaWd1cmU7XHJcbiAgICAgIEBleHRlbmQgYXJ0aWNsZTtcclxuICAgIH1cclxuICB9XHJcbiAgcGFkZGluZzogMXJlbTtcclxuICBtaW4taGVpZ2h0OiBpbmhlcml0O1xyXG5cclxuICBAbWVkaWEgc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobGFyZ2UpfSB7XHJcbiAgICBtaW4taGVpZ2h0OiBpbmhlcml0O1xyXG4gIH1cclxufVxyXG4iLAoJCSIvLyBGaWxlIGNvbnRhaW5zIENTUyBmb3IgdGhlIGVudGlyZSBmb290ZXIgYXJlYS5cclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4kZm9vdGVyLWNvbHVtbi1ib3JkZXI6ICR3aGl0ZTtcclxuJGZvb3Rlci1jZWxsLWltZy1ib3JkZXI6ICNlMGUwZTA7XHJcbiRmb290ZXItc2VhcmNoLWJvcmRlci1ib3R0b206ICNGRkI4MUM7XHJcbmZvb3RlciB7XHJcbiAgbWluLWhlaWdodDogMTAwcHg7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwM0RBNTtcclxuICB6LWluZGV4OiAwO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XHJcblxyXG4gIGNvbG9yOiAkZm9vdGVyLXRleHQtY29sb3I7XHJcbiAgZm9udC1mYW1pbHk6IFwiRmlyYSBTYW5zIE1lZGl1bVwiLCBzYW5zLXNlcmlmO1xyXG4gIC8vZm9udC1mYW1pbHk6IFwiQXZlbmlyIE5leHQgVzAxXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xyXG4gIGZvbnQtc2l6ZTogMC42ODc1cmVtO1xyXG4gIGxpbmUtaGVpZ2h0OiAxLjM2NDtcclxuICBsZXR0ZXItc3BhY2luZzogMC4wNjg3NXJlbTtcclxuICBAbWVkaWEgc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobGFyZ2UpfSB7XHJcbiAgICBtaW4taGVpZ2h0OiAzMDBweDtcclxuXHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgYmFja2dyb3VuZDogdXJsKCdodHRwczovL2Fzc2V0cy51Y3IuZWR1L2xvY2FsaXN0L2ltYWdlcy9iZy11Y3ItZm9vdGVyLmpwZycpIDUwJTtcclxuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICAgICAgb3BhY2l0eTogMC4xNTtcclxuICAgICAgei1pbmRleDogLTE7XHJcbiAgICAgIHRvcDogMDtcclxuICAgICAgbGVmdDogMDtcclxuICAgICAgYm90dG9tOiAwO1xyXG4gICAgICByaWdodDogMDtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmZvb3Rlci1nb29nbGUtc2VhcmNoIHtcclxuICAgIHBhZGRpbmc6MThweCA3cHggMTRweCA3cHg7XHJcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGZvb3Rlci1zZWFyY2gtYm9yZGVyLWJvdHRvbTtcclxuICAgIG1hcmdpbi1ib3R0b206IDdweDtcclxuXHJcbiAgICAuZ29vZ2xlLXNlYXJjaCB7XHJcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgaW5wdXQge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBsaWdodGdyZXk7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgbWluLXdpZHRoOiAxOTVweDtcclxuICAgICAgICBtYXgtd2lkdGg6IDYwMHB4O1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHVybChcImh0dHBzOi8vYXNzZXRzLnVjci5lZHUvbG9jYWxpc3QvaW1hZ2VzL2dvb2dsZS1zZWFyY2gtZm9vdGVyLnBuZ1wiKSBuby1yZXBlYXQ7XHJcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNSUgNTAlO1xyXG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcblxyXG4gICAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgICAgb3V0bGluZTogbm9uZTtcclxuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIGdyZXk7XHJcbiAgICAgICAgICBib3gtc2hhZG93OiAwIDAgNXB4IGdyZXk7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjo6cGxhY2Vob2xkZXIge1xyXG4gICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQC1tb3otZG9jdW1lbnQgdXJsLXByZWZpeCgpIHtcclxuICAgICAgICAgICY6OnBsYWNlaG9sZGVyIHtcclxuICAgICAgICAgICAgbGVmdDogLTE0cHg7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmZvY3VzOjpwbGFjZWhvbGRlciB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmZvb3Rlci1jb2x1bW5zIHtcclxuICAgIHBhZGRpbmctdG9wOiAwLjYyNXJlbTtcclxuICAgIG1pbi1oZWlnaHQ6IDEwMHB4O1xyXG4gICAgLmNlbGwge1xyXG4gICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XHJcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwLjYyNXJlbTtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07XHJcblxyXG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobGFyZ2UpfSB7XHJcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJGZvb3Rlci1jb2x1bW4tYm9yZGVyO1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwLjkzNzVyZW07XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtO1xyXG5cclxuICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5mb290ZXItaXRlbSB7XHJcbiAgICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkICRmb290ZXItY2VsbC1ib3JkZXI7XHJcbiAgICBtYXJnaW46IDVweCAwIDVweCAwO1xyXG5cclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICN7YnJlYWtwb2ludChsYXJnZSl9IHtcclxuICAgICAgbWFyZ2luOiA3cHggMCAxNHB4IDA7XHJcbiAgICB9XHJcbiAgICBoMyB7XHJcbiAgICAgIGNvbG9yOiAkZm9vdGVyLXRleHQtY29sb3I7XHJcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZpcmEgU2FucyBCb2xkXCIsXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XHJcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTApO1xyXG4gICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICBsaW5lLWhlaWdodDogMS40NDQ7XHJcbiAgICAgIGxldHRlci1zcGFjaW5nOiByZW0tY2FsYygxKTtcclxuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMS41ZW07XHJcbiAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYyg0KTtcclxuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNGRkI4MUM7XHJcbiAgICB9XHJcblxyXG4gICAgaDQge1xyXG4gICAgICBjb2xvcjogI2Q4ZTRmMztcclxuICAgICAgbWFyZ2luLWJvdHRvbTogM3B4O1xyXG4gICAgfVxyXG5cclxuICAgIGg0LnNlcGFyYXRvciB7XHJcbiAgICAgIGJvcmRlci10b3A6IDFweCBkb3R0ZWQ7XHJcbiAgICAgIHBhZGRpbmctdG9wOiAzNHB4O1xyXG4gICAgICBwYWRkaW5nLWJvdHRvbTogM3B4O1xyXG4gICAgfVxyXG5cclxuICAgIHAge1xyXG4gICAgICBjb2xvcjogJGZvb3Rlci10ZXh0LWNvbG9yO1xyXG4gICAgICBmb250LWZhbWlseTogXCJGaXJhIFNhbnMgTWVkaXVtXCIsXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XHJcbiAgICAgIC8vZm9udC1mYW1pbHk6ICRhdmVuaXI7XHJcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpO1xyXG4gICAgICBsaW5lLWhlaWdodDogMS4zNjQ7XHJcbiAgICAgIGxldHRlci1zcGFjaW5nOiByZW0tY2FsYygxLjEpO1xyXG4gICAgfVxyXG5cclxuICAgIGEge1xyXG4gICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICBwYWRkaW5nOiBpbmhlcml0O1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgYTpub3QoLmJ1dHRvbikge1xyXG4gICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgLy9ib3JkZXItYm90dG9tOiAxcHggZG90dGVkOyAvL0xvY2FsaXN0XHJcblxyXG4gICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcclxuICAgICAgICBjb2xvcjogJHBhZ2UtZm9vdGVyLWxpbmtzLWhvdmVyLWNvbG9yO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpbWcge1xyXG4gICAgICAgIG9wYWNpdHk6IC43O1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDFweDtcclxuICAgICAgICBsZWZ0OiByZW0tY2FsYygtMjFweCk7XHJcbiAgICAgICAgcG9zaXRpb246cmVsYXRpdmU7XHJcblxyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRmb290ZXItY2VsbC1pbWctYm9yZGVyO1xyXG5cclxuICAgICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcclxuICAgICAgICAgIG9wYWNpdHk6IC45O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgJi5saW5rLWFsdCB7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEwKTtcclxuICAgICAgICBsaW5lLWhlaWdodDogMS4zO1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuZmEtbWFwLW1hcmtlciB7XHJcbiAgICAgIGNvbG9yOiAkcGFnZS1mb290ZXItbGlua3MtY29sb3I7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogMnB4O1xyXG4gICAgICBmb250LXNpemU6IDE2cHg7XHJcblxyXG4gICAgfVxyXG5cclxuICAgIHVsIHtcclxuICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xyXG4gICAgICBsaSB7XHJcbiAgICAgICAgdGV4dC1pbmRlbnQ6IC0xZW07XHJcbiAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjJyZW07XHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmZvb3Rlci1sb2dvIHtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDtcclxuICAgICAgd2lkdGg6IDEyLjVyZW07XHJcbiAgICAgIGhlaWdodDogMi45Mzc1cmVtO1xyXG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoJ2h0dHBzOi8vYXNzZXRzLnVjci5lZHUvbG9jYWxpc3QvaW1hZ2VzL1VDX1JpdmVyc2lkZV9Ib3Jpel9CbHVCRy5zdmcnKSBuby1yZXBlYXQ7XHJcbiAgICB9XHJcblxyXG4gICAgLmJ1dHRvbi1ncm91cCB7XHJcbiAgICAgIC5idXR0b24ge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMS40OTVyZW07XHJcbiAgICAgICAgcGFkZGluZzogNHB4IDAgMnB4IDJweDtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDRweDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZCODFDO1xyXG4gICAgICAgIGNvbG9yOiAjMDAzREE1O1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiA0cHg7XHJcbiAgICAgICAgLyomOjphZnRlciB7XHJcbiAgICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgIH0qL1xyXG5cclxuXHJcbiAgICAgICAgJi5tZGktZmFjZWJvb2sge1xyXG4gICAgICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRmb290ZXItYnV0dG9uLWZhY2Vib29rO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5tZGktdHdpdHRlciB7XHJcbiAgICAgICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGZvb3Rlci1idXR0b24tdHdpdHRlcjtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYubWRpLXlvdXR1YmUtcGxheSB7XHJcbiAgICAgICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGZvb3Rlci1idXR0b24teW91dHViZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYubWRpLWluc3RhZ3JhbSB7XHJcbiAgICAgICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGZvb3Rlci1idXR0b24taW5zdGFncmFtO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5tZGktbGlua2VkaW4ge1xyXG4gICAgICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRmb290ZXItYnV0dG9uLWxpbmtlZGluO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5tZGktY2FtZXJhLWlyaXMge1xyXG4gICAgICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRmb290ZXItYnV0dG9uLWZsaWNrcjtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYubWRpLXJzcyB7XHJcbiAgICAgICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGZvb3Rlci1idXR0b24tcnNzO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAvLy9Mb2NhbGlzdC8vLy9cclxuICAgICAgYS5tZGktdHdpdHRlciwgYS5tZGktZmFjZWJvb2ssIGEubWRpLXlvdXR1YmUtcGxheSwgYS5tZGktaW5zdGFncmFtLCBhLm1kaS1saW5rZWRpbiAge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBmb250LWZhbWlseTogXCJGb250QXdlc29tZVwiO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMzBweDtcclxuICAgICAgICB0ZXh0LXJlbmRlcmluZzogYXV0bztcclxuICAgICAgICBsaW5lLWhlaWdodDogMnJlbTtcclxuICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcclxuICAgICAgICBwYWRkaW5nOiAwcHggMnB4IDBweCAycHg7XHJcblxyXG4gICAgICB9XHJcblxyXG4gICAgICBhLm1kaS10d2l0dGVyIHtcclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgIGNvbnRlbnQ6IFwiXFxmMDgxXCI7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICBhLm1kaS1mYWNlYm9vayB7XHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICBjb250ZW50OiBcIlxcZjA4MlwiO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgYS5tZGkteW91dHViZS1wbGF5IHtcclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgIGNvbnRlbnQ6IFwiXFxmMTZhXCI7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICBhLm1kaS1saW5rZWRpbiB7XHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICBjb250ZW50OiBcIlxcZjA4Y1wiO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgYS5tZGktaW5zdGFncmFtIHtcclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgIGNvbnRlbnQ6IFwiXFxmMTZkXCI7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaW5wdXQge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9vdGVyLWlucHV0LWJhY2tncm91bmQ7XHJcbiAgICAgIGNvbG9yOiAkd2hpdGU7XHJcblxyXG4gICAgICAmOmZvY3VzIHtcclxuICAgICAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIGdyZXk7XHJcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDVweCBncmV5O1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRmb290ZXItaW5wdXQtYmFja2dyb3VuZDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLnVjci1mb290ZXItaW5mbyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobGFyZ2UpfSB7XHJcbiAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgYWRkcmVzcyB7XHJcbiAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICAgIH1cclxuXHJcbiAgICAuZm9vdGVyLWxpbmtzIHtcclxuICAgICAgbWFyZ2luOiA2cHggMCAxNHB4IDA7XHJcblxyXG4gICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogLjVyZW07XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGZvb3Rlci11Y3ItaW5mby1saW5lLWNvbG9yO1xyXG4gICAgICAgIHdpZHRoOiAyZW07XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGxpIHtcclxuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGZvb3Rlci1jZWxsLWJvcmRlcjtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiRmlyYSBTYW5zIE1lZGl1bVwiLCBzYW5zLXNlcmlmO1xyXG4gICAgICAgIC8vZm9udC1mYW1pbHk6IFwiQXZlbmlyIE5leHQgVzAxXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcclxuICAgICAgICBsaW5lLWhlaWdodDogMS4xNjc7XHJcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC4wODNlbTtcclxuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XHJcbiAgICAgICAgdGV4dC1pbmRlbnQ6IGluaXRpYWw7XHJcblxyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgLy9jb2xvcjogJGZvb3Rlci10ZXh0LWNvbG9yO1xyXG4gICAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICBwYWRkaW5nOiAwLjYyNXJlbTtcclxuXHJcbiAgICAgICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcclxuICAgICAgICAgICAgLy9iYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIyMCwgMjIwLCAyMjAsIDAuMTUpO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuZm9vdGVyLWxpbmtzLW90aGVyIHtcclxuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBtYXJnaW4tbGVmdDogNHB4O1xyXG4gICAgICAvL2JvcmRlci1ib3R0b206IDFweCBkb3R0ZWQ7XHJcbiAgICAgIGxpIHtcclxuICAgICAgICBmb250LWZhbWlseTogXCJBdmVuaXIgTmV4dCBXMDFcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XHJcbiAgICAgICAgZm9udC1zaXplOiAwLjdyZW07XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTY3O1xyXG4gICAgICAgIC8vbGV0dGVyLXNwYWNpbmc6IC4wODNlbTtcclxuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XHJcblxyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgY29sb3I6ICRmb290ZXItdGV4dC1jb2xvcjtcclxuICAgICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgcGFkZGluZzogMC40cmVtIDAuNjg3NXJlbTtcclxuXHJcbiAgICAgICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMjAsIDIyMCwgMjIwLCAwLjE1KTtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuZm9vdGVyLWRlcHQtaW5mbyB7XHJcbiAgICBhZGRyZXNzIHtcclxuICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4gICAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcclxuICAgIH1cclxuXHJcbiAgICBhIHtcclxuICAgICAgJi5saW5rLWltZyB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcclxuICAgICAgICAmLWxvY2F0aW9uIHtcclxuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgZm9udDogbm9ybWFsIG5vcm1hbCBub3JtYWwgMjRweC8xIFwiTWF0ZXJpYWwgRGVzaWduIEljb25zXCI7XHJcbiAgICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcclxuICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICAgICAgICB0ZXh0LXJlbmRlcmluZzogYXV0bztcclxuICAgICAgICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xyXG4gICAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XHJcbiAgICAgICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xyXG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiA0cHg7XHJcbiAgICAgICAgICBjb250ZW50OiBcIlxcZjM0ZVwiO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgaW1nIHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMjFweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLnNpdGUtbGVnYWwtZm9vdGVyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRmb290ZXItbGVnYWwtYmFja2dyb3VuZDtcclxuICAgIGNvbG9yOiAkZm9vdGVyLWxlZ2FsLWNvbG9yO1xyXG4gICAgZm9udC1mYW1pbHk6IFwiRmlyYSBTYW5zIEJvbGRcIixcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcclxuICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgIGxldHRlci1zcGFjaW5nOiAuMDI1cmVtO1xyXG5cclxuICAgIHVsIHtcclxuICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xyXG4gICAgICBtYXJnaW46IDA7XHJcbiAgICAgIHBhZGRpbmc6IDE4cHggMDtcclxuICAgICAgbGkge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpmaXJzdC1jaGlsZDo6YmVmb3JlIHtcclxuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkd2hpdGU7XHJcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDdweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpsYXN0LWNoaWxkOjphZnRlciB7XHJcbiAgICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgY29sb3I6ICRmb290ZXItbGVnYWwtY29sb3I7XHJcbiAgICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IGluaGVyaXQ7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxufSIsCgkJIi8vIEZpbGUgY29udGFpbnMgQ1NTIGZvciB0aGUgcHJpbWFyeSBjb250ZW50IGNvbHVtbiB3aXRoaW4gdGhlIG1haW4gY29udGVudCBhcmVhLlxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbi5wcmltYXJ5LWNvbnRlbnQtYXJlYSB7XHJcbiAgLmdlbmVyYWwtbWVudSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWNlYmViO1xyXG4gICAgYm9yZGVyLXRvcDogM3B4IHNvbGlkICRjb2xvci1waWN0b24tYmx1ZTtcclxuICAgIHBhZGRpbmc6IDFyZW0gMS41cmVtIDEuNXJlbSAxLjVyZW07XHJcbiAgICBoMiB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBtYXJnaW46IDA7XHJcbiAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xyXG4gICAgICBjb2xvcjogbGlnaHRlbigkY29sb3ItcHJpbWFyeS1jb250ZW50LCAxNSUpO1xyXG4gICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xyXG4gICAgICBmb250LXNpemU6IDEuNzVyZW07XHJcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIH1cclxuICAgIHVsIHtcclxuICAgICAgJi5tZW51IHtcclxuICAgICAgICAmLnZlcnRpY2FsIHtcclxuICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIGxpZ2h0ZW4oJGNvbG9yLXByaW1hcnktY29udGVudCwgMjIlKTtcclxuICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci1wcmltYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgICAgcGFkZGluZzogMXJlbTtcclxuICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGxpZ2h0ZW4oJGNvbG9yLWhva2ksIDM1JSk7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufSIsCgkJIi8vIFN0eWxlcyB0aGF0IGFyZSByZXF1aXJlZCBmb3IgbG9jYWxpc3QgZXZlbnRzIC0gc2luZ2xlIGV2ZW50IHBhZ2UgYW5kIGxpc3RpbmcgLy9cclxuLy8gRXZlbnRzIHNjc3MgZmlsZSBmb3Igc2lsa3dyYXBwZXIgLy9cclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5hW2hyZWYqPVwiLy9cIl06YWZ0ZXIge1xyXG4gIGNvbnRlbnQ6ICcnO1xyXG4gIHBhZGRpbmc6IDA7XHJcbn1cclxuXHJcbmJvZHkuaG9tZXBhZ2UsIGhlYWRlciwgLmNvbnRlbnQtd3JhcHBlciAge1xyXG4gIGZvbnQtZmFtaWx5OiAkdHJhZGUtZ290aGljO1xyXG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbn1cclxuXHJcbmRpdi5jb250ZW50LXdyYXBwZXIge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRjb250YWluZXItYmFja2dyb3VuZDtcclxufVxyXG5cclxuZGl2LndyYXBwZXIge1xyXG4gIG1hcmdpbi10b3A6IDM0cHg7XHJcbn1cclxuXHJcbmRpdiNicmVhZGNydW1icyB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gIG1heC13aWR0aDogMTE0MHB4O1xyXG4gIC8vbWFyZ2luLXRvcDogLTEwMnB4O1xyXG4gIHRvcDogLTEwMnB4O1xyXG4gIGJvcmRlcjogc29saWQgMXB4ICNlNmU2ZTY7XHJcbiAgY29sb3I6ICRsaW5rLXJlZDtcclxuICB1bCB7XHJcbiAgICBsaSB7XHJcbiAgICAgIGEge1xyXG4gICAgICAgIGNvbG9yOiAkbGluay1yZWQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vVG9wIHNlYXJjaCBzZWN0aW9uXHJcbi5zZWFyY2hfYWN0aW9uIHtcclxuICB3aWR0aDogMTAwJTtcclxuICBmbG9hdDogbm9uZTtcclxuICBtYXJnaW4tcmlnaHQ6IDIwcHg7XHJcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xyXG4gIGNsZWFyOiByaWdodDtcclxuICBbdHlwZT0ndGV4dCddIHtcclxuICAgIG1hcmdpbjogMHB4O1xyXG4gIH1cclxufVxyXG5cclxuQGluY2x1ZGUgYnJlYWtwb2ludCAobGFyZ2UpIHtcclxuICBkaXYjYnJlYWRjcnVtYnMge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICBtYXJnaW46IC00MXB4IDIxcHggMCAwO1xyXG4gICAgYm9yZGVyOiBzb2xpZCAxcHggI2U2ZTZlNjtcclxuICAgIHRvcDogMDtcclxuICB9XHJcblxyXG4gIC8vVG9wIHNlYXJjaCBzZWN0aW9uXHJcbiAgLnNlYXJjaF9hY3Rpb24ge1xyXG4gICAgd2lkdGg6IDMwLjMzMzMlO1xyXG4gICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAxOHB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xyXG4gICAgY2xlYXI6IHJpZ2h0O1xyXG4gICAgW3R5cGU9J3RleHQnXSB7XHJcbiAgICAgIG1hcmdpbjogMHB4O1xyXG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZTFlYWYwO1xyXG4gICAgICBib3gtc2hhZG93OiBub25lO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuaDEsIGgzLnN1bW1hcnksIC5wYWdlX2hlYWRpbmcsIC5zdW1tYXJ5IHtcclxuICBmb250LWZhbWlseTogJHRyYWRlLWdvdGhpYztcclxufVxyXG5cclxuLnBhZ2VfaGVhZGluZyB7XHJcbiAgaDEge1xyXG4gICAgZm9udC1mYW1pbHk6ICR0cmFkZS1nb3RoaWM7XHJcbiAgfVxyXG59XHJcblxyXG4uY29udGVudCB7XHJcbiAgLmNvbnRlbnQtdG9wIHtcclxuICAgIC5ib3hfaW1hZ2Uge1xyXG4gICAgICBwYWRkaW5nLXRvcDogMDtcclxuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICBpbWcge1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuY29udGVudC1ib3R0b20ge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdyYXkxO1xyXG4gICAgLm5vY29udGVudCB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmF5MDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5mYS1jbG9jay1vLCAuZmEtbWFwLW1hcmtlciB7XHJcbiAgY29sb3I6ICR0aXRsZS1ibHVlO1xyXG59XHJcblxyXG4uZm9vdGVyX2l0ZW0ge1xyXG4gIHAge1xyXG4gICAgYSB7XHJcbiAgICAgIGkuZmEtbWFwLW1hcmtlciB7XHJcbiAgICAgICAgY29sb3I6ICRmb290ZXItdGV4dC1jb2xvcjtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0cHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG59XHJcblxyXG4uZXh0cmFzcGFjZSB7XHJcbiAgcGFkZGluZy1ib3R0b206IDI4cHg7XHJcbn1cclxuXHJcbi5pdGVtX2NvbnRlbnRfbWVkaXVtIHtcclxuICAuZ3JpZF9jb250YWluZXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgfVxyXG59XHJcblxyXG4ubG9jYXRpb24ge1xyXG4gIGF7XHJcbiAgICBjb2xvcjogJHRpdGxlLWJsdWU7XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgY29sb3I6IGRhcmtlbigkdGl0bGUtYmx1ZSwgMjAlKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5jb250ZW50LXRvcCB7XHJcbiAgcCB7XHJcbiAgICBhe1xyXG4gICAgICBjb2xvcjogJGxpbmstcmVkO1xyXG4gICAgICAmOmhvdmVyIHtcclxuICAgICAgICBjb2xvcjogZGFya2VuKCRsaW5rLXJlZCwgMjAlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLnRhYmxlLWJ1dHRvbnMge1xyXG4gIC5pbWdvaW5nLCAuaW52aXRlX2ZyaWVuZHNfYnV0dG9uLCBhIHtcclxuICAgIGNvbG9yOiAkdGl0bGUtYmx1ZTtcclxuICB9XHJcbn1cclxuXHJcbmRpdiN4LWNvbmZpcm0tYnV0dG9ucy13cmFwcGVyIHtcclxuICAuc2lkZWJhci10b3BuYXYge1xyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NTlweCkge1xyXG4gICAgICBkaXYudGFibGUtYnV0dG9ucz4qIHtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vU2lkZWJhciAtIENoYW5nZSBQbGFucyBsaW5rXHJcbi53aWRnZXQtcGxhbnMge1xyXG4gIGg0IHtcclxuICAgIGEge1xyXG4gICAgICBjb2xvcjogJHRpdGxlLWJsdWU7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uZXh0cmFfZGV0YWlscyBkZCB7XHJcbiAgYSB7XHJcbiAgICBjb2xvcjogJGxpbmstcmVkO1xyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIGNvbG9yOiBkYXJrZW4oJGxpbmstcmVkLCAyMCUpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmV4dHJhX2RldGFpbHMgZGQge1xyXG4gIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XHJcbiAgY29sb3I6ICRsaW5rLXJlZDtcclxufVxyXG5cclxuLy9Cb3R0b20gRm9ybSBTZWN0aW9uIC0gQ29tbWVudCwgUmV2aWV3IGFuZCBQaG90b1xyXG4uY29udGVudC1ib3R0b20ge1xyXG4gIC5yZWNlbnRfYWN0aXZpdHlfbGlzdCB7XHJcbiAgICAubGlua19hY3Rpb24ge1xyXG4gICAgICAuYnRuIHtcclxuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGluay1yZWQ7XHJcbiAgICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgICBwYWRkaW5nOiAxMHB4IDE0cHggMTBweCAxNHB4O1xyXG4gICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkbGluay1yZWQsIDIwJSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGlucHV0W3R5cGU9c3VibWl0XS5idG4tY29sb3Ige1xyXG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGluay1yZWQ7XHJcbiAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xyXG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xyXG4gICAgICAmOmhvdmVyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGxpbmstcmVkLCAyMCUpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vL01vZGFsIEZvcm0gLSBJbnZpdGUgRnJpZW5kc1xyXG4ubG9jYWxpc3RfbW9kYWxfZm9ybSB7XHJcbiAgLmZvcm1fYWN0aW9uX2J1dHRvbnMge1xyXG4gICAgIGlucHV0W3R5cGU9c3VibWl0XS5idG4tY29sb3Ige1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGluay1yZWQ7XHJcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRsaW5rLXJlZCwgMjAlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICB9XHJcbn1cclxuXHJcbi8vU2luZ2xlIEV2ZW50IC0gcmlnaHQgc2lkZWJhclxyXG4ud2lkZ2V0IHtcclxuICAud2lkZ2V0LWNvbnRlbnQge1xyXG4gICAgLy9FdmVudCBPd25lciAtIGJ1dHRvbiB0byBlZGl0IGV2ZW50XHJcbiAgICBhLmJ0bi5idG4tY29sb3Ige1xyXG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGluay1yZWQ7XHJcbiAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRsaW5rLXJlZCwgMjAlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vUGVvcGxlIGludGVyZXN0ZWQgLSB0YWJsZVxyXG4gICAgdGFibGUuaWNvbl9pdGVtIHtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgdGJvZHkge1xyXG4gICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICB0ciB0ZCB7XHJcbiAgICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vL1RpY2tldCBVUkwgaWYgdGhlcmUgaXMgYW55LlxyXG4udGlja2V0X2FjdGlvbiB7XHJcbiAgYS5idG4uYnRuLWNvbG9yLWFsdCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGluay1yZWQ7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBib3JkZXItcmFkaXVzOiAwO1xyXG4gICAgY29sb3I6IHdoaXRlO1xyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkbGluay1yZWQsIDIwJSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uc3VtbWFyeSB7XHJcbiAgYXtcclxuICAgIGNvbG9yOiAkZ3JheTc7XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgY29sb3I6IGRhcmtlbigkZ3JheTcsIDIwJSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vL0xpc3QgcGFnZSAtIHNvY2lhbCBtZWRpYSBsaW5rc1xyXG4uc3Vic2NyaWJlX2xpbmtzIHtcclxuICBhIHtcclxuICAgIGNvbG9yOiAkbGluay1yZWQ7XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgY29sb3I6IGRhcmtlbigkbGluay1yZWQsIDIwJSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vL0xpc3QgcGFnZSAtIEV2ZW50IERhdGUgYW5kIExvY2F0aW9uIGRpdlxyXG4uaXRlbV9jb250ZW50X21lZGl1bSB7XHJcbiAgLmFjdGlvbmJhciB7XHJcbiAgICAubGVmdCwgLnJpZ2h0IHtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLy9MaXN0IHBhZ2UgLSBFdmVudCBEYXRlXHJcbi5kYXRlcmlnaHQge1xyXG4gIGNvbG9yOiAkZ3JheTU7XHJcbiAgZm9udC13ZWlnaHQ6IDYwMDtcclxufVxyXG5cclxuLy9MaXN0IHBhZ2UgLSBJJ20gaW50ZXJlc3RlZC9Ob3QgaW50ZXJlc3RlZCBidXR0b25cclxuLmFjdGlvbmJhciB7XHJcbiAgLmFjdGlvbl9idXR0b24ge1xyXG4gICAgYS5pbWdvaW5nLCBhLmNhbmNlbHBsYW5zLCBhLmJ1eXRpY2tldHMge1xyXG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkbGluay1yZWQ7XHJcbiAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRsaW5rLXJlZCwgMjAlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy9MaXN0IHBhZ2UgLVxyXG4uZXZlbnRfZ3JvdXAge1xyXG4gIC5pdGVtPi5ib3hfbGVmdCBpbWcge1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMDtcclxuICB9XHJcblxyXG4gIC5wYWdpbmF0aW9uX2NvbnRhaW5lciB7XHJcbiAgICAucGFnZV9saW5rIHtcclxuICAgICAgYSB7XHJcbiAgICAgICAgY29sb3I6ICRsaW5rLXJlZDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy9BcnJvd3MgLSBuZXh0IGFuZCBwcmV2aW91c1xyXG4ucGFnaW5hdGlvbl9jb250YWluZXIge1xyXG4gIGEucGFnZWFycm93IHtcclxuICAgIGNvbG9yOiAkdGl0bGUtYmx1ZTtcclxuICB9XHJcbn1cclxuXHJcbi8vTGlzdCBwYWdlXHJcbi53aWRnZXQge1xyXG4gIC53aWRnZXQtY29udGVudCB7XHJcbiAgICBwIHtcclxuICAgICAgYSB7XHJcbiAgICAgICAgY29sb3I6ICRsaW5rLXJlZDtcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgIGNvbG9yOiBkYXJrZW4oJGxpbmstcmVkLCAyMCUpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy9MaXN0IHBhZ2UgLSBTdWJtaXQgYW4gRXZlbnQgYnV0dG9uXHJcbi5zaWRlYmFyLXRvcG5hdiB7XHJcbiAgLmJ0bi5idG4tY29sb3ItYWx0IHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XHJcbiAgICBib3JkZXItcmFkaXVzOiAwO1xyXG4gICAgY29sb3I6ICRsaW5rLXJlZDtcclxuICAgICY6aG92ZXIge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGluay1yZWQ7XHJcbiAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogJGxpbmstcmVkO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy9MaXN0IHBhZ2UgLSBTdWJtaXQgYW4gRXZlbnQgYnV0dG9uXHJcbi5zaWRlYmFyIHtcclxuICAuc3VibWl0X2V2ZW50X2J1dHRvbl9jb21wb25lbnQge1xyXG4gICAgbWFyZ2luLXRvcDogMjdweDtcclxuXHJcbiAgICAud2lkZ2V0IHtcclxuICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAud2lkZ2V0LWNvbnRlbnQge1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuYnRuLmJ0bi1sYXJnZSB7XHJcbiAgICAgIHBhZGRpbmc6IDExcHggMjFweCAxNnB4IDIxcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLndpZGdldCB7XHJcbiAgICAgIC53aWRnZXQtY29udGVudCB7XHJcbiAgICAgICAgLmJ0bi5idG4tY29sb3ItYWx0IHtcclxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xyXG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XHJcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xyXG4gICAgICAgICAgY29sb3I6ICRsaW5rLXJlZDtcclxuICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGluay1yZWQ7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGxpbmstcmVkO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy9MaXN0IHBhZ2UgLSBTb2NpYWwgTWVkaWEgbGlua3MgLSBzaWRlYmFyXHJcbi5zaWRlYmFyIHtcclxuICAgIC53aWRnZXQge1xyXG4gICAgICAgIC53aWRnZXQtY29udGVudCB7XHJcbiAgICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgICBhLCAuZmEtY2xvY2stbyB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGxpbmstcmVkO1xyXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiBkYXJrZW4oJGxpbmstcmVkLCAyMCUpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy9Ub3AgTWVudSBTZWN0aW9uIC0gU2lnbiBVcFxyXG4jbWVudSAuYWN0aW9uX21lbnUgbGkgYSB7XHJcbiAgY29sb3I6ICRsaW5rLXJlZDtcclxuICBmb250LXdlaWdodDogNzAwO1xyXG4gIGZvbnQtc2l6ZTogMTFweDtcclxuICBpIHtcclxuICAgIGNvbG9yOiAkdGl0bGUtYmx1ZTtcclxuICB9XHJcbn1cclxuXHJcbiNtZW51IHtcclxuICB3aWR0aDogMTAwJTtcclxuICBmbG9hdDogcmlnaHQ7XHJcbiAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xyXG4gIGNsZWFyOiByaWdodDtcclxuICB0ZXh0LWFsaWduOiByaWdodDtcclxuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gIHBhZGRpbmctdG9wOiAxNXB4O1xyXG5cclxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB0b3A6IC0xMzZweDtcclxuICAgIGhlaWdodDogMDtcclxuICB9XHJcblxyXG4gIGEubmF2LWJ1dHRvbiB7XHJcbiAgICBwYWRkaW5nOiAyNXB4IDIwcHg7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICBwYWRkaW5nOiA3cHggMjBweDtcclxuICAgIH1cclxuXHJcbiAgICBzcGFuLmljb24tYmFyIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzJkNmNjMDtcclxuXHJcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxuICAuYWN0aW9uX21lbnUuZXhwYW5kZWQge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgdG9wOiAtNTJweDtcclxuICB9XHJcblxyXG4gIC5hY3Rpb25fbWVudSB7XHJcbiAgICBsaSB7XHJcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIH1cclxuXHJcbiAgICAubG9naW4ge1xyXG5cclxuICAgICAgdG9wOiAwO1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgdG9wOiAtMTBweDtcclxuICAgICAgfVxyXG5cclxuICAgICAgLmZhLXNpZ24taW46YmVmb3JlLCAuZmEtdXNlci1wbHVzOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGFbaHJlZio9XCIvL1wiXTphZnRlciB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnRBd2Vzb21lXCI7XHJcbiAgICAgICAgZm9udC1zaXplOiBpbmhlcml0O1xyXG4gICAgICAgIHRleHQtcmVuZGVyaW5nOiBhdXRvO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xyXG4gICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xyXG4gICAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XHJcbiAgICAgICAgY29udGVudDogXCJcXGYxMDFcIjsgLy9cIlxcRjEzRVwiO1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogNHB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgbGkucHJvZmlsZV9pY29uIHtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcclxuICAgIH1cclxuXHJcbiAgfVxyXG59XHJcblxyXG4jdG9wLXN1Ym1pdCB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gIGJvcmRlcjogbm9uZTtcclxuICBwYWRkaW5nOiAwcHg7XHJcbiAgbWFyZ2luLWxlZnQ6IDI3MHB4O1xyXG4gLy8gbWFyZ2luLXRvcDogNnB4O1xyXG4gIHdpZHRoOiAxMCU7XHJcbiAgZmxvYXQ6IHJpZ2h0O1xyXG4gIG1hcmdpbi10b3A6IC0yOHB4O1xyXG59XHJcblxyXG5AbWVkaWEgc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobGFyZ2UpfSB7XHJcbiAgI3RvcC1zdWJtaXQge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBwYWRkaW5nOiAwcHg7XHJcbiAgICBtYXJnaW4tbGVmdDogMjcwcHg7XHJcbiAgICB3aWR0aDogMTAlO1xyXG4gICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgbWFyZ2luLXRvcDogLTI4cHg7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLy8vLy9TaWduLXVwIGZvcm1cclxuLmZvcm1fYWN0aW9uX2J1dHRvbnMge1xyXG4gIGlucHV0W3R5cGU9c3VibWl0XS5idG4tY29sb3Ige1xyXG4gICAgYm9yZGVyLXJhZGl1czogMDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaW5rLXJlZDtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgICY6aG92ZXIge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGxpbmstcmVkLCAyMCUpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmZvcm1fYm94IHtcclxuICAuYWN0aW9uX2J1dHRvbiB7XHJcbiAgICAuYnRuLWNvbG9yIHtcclxuICAgICAgYm9yZGVyLXJhZGl1czogMDtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpbmstcmVkO1xyXG4gICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICY6aG92ZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkbGluay1yZWQsIDIwJSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vQ3JlYXRlIEV2ZW50XHJcbi5lZGl0YWJsZSB7XHJcbiAgcCB7XHJcbiAgICBhIHtcclxuICAgICAgY29sb3I6ICRsaW5rLXJlZDtcclxuICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgY29sb3I6IGRhcmtlbigkbGluay1yZWQsIDIwJSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5ob21lcGFnZV9uYXZfY29udGFpbmVyIHtcclxuICBtYXJnaW4tdG9wOiAxNHB4O1xyXG59XHJcblxyXG4uaXRlbS5zcG9uc29yZWQge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRncmF5MztcclxufVxyXG5cclxuLmFjdGlvbmJhciB7XHJcbiAgLmFjdGlvbl9idXR0b24ge1xyXG4gICAgYSB7XHJcbiAgICAgIHBhZGRpbmc6IDEwcHggMTRweCAxMHB4IDE0cHg7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5cclxuXHJcbiIsCgkJIi8vIFN0eWxlcyByZXF1aXJlZCBmb3IgTG9jYWxpc3QgQ2FsZW5kYXIgLSBNaW5pIGNhbGVuZGFyIHdpZGdldCBvbiByaWdodCBzaWRlYmFyIC8vXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuLy9MaXN0IHBhZ2UgLSBSaWdodCBTaWRlYmFyIGNvbnRhaW5pbmcgQ2FsZW5kYXIgd2lkZ2V0XHJcbi5zaWRlYmFyIHtcclxuICAvLyBXaWRnZXQgSGVhZGVyc1xyXG4gIC53aWRnZXQge1xyXG4gICAgLndpZGdldC1oZWFkZXIge1xyXG4gICAgICBjb2xvcjogJHRpdGxlLWJsdWU7XHJcbiAgICAgIGgzIHtcclxuICAgICAgICBjb2xvcjogJHRpdGxlLWJsdWU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5taW5pY2FsZW5kYXJfY29tcG9uZW50IHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XHJcbiAgICAud2lkZ2V0IHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBkaXYud2lkZ2V0Lm1pbmlfY2FsZW5kYXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcclxuICB9XHJcblxyXG4gIC8vQ2FsZW5kYXIgd2lkZ2V0IC0gdGFibGVcclxuICAud2lkZ2V0Lm1pbmlfY2FsZW5kYXIge1xyXG4gICAgdGFibGUubWluaWNhbGVuZGFyIHtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgdGJvZHkge1xyXG4gICAgICAgIHRyIHtcclxuICAgICAgICAgIHRoIHtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiVHJhZGUgR290aGljIE5leHQgVzAxXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xyXG4gICAgICAgICAgICBjb2xvcjogJGdyYXk1O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtZ3JheTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAwLjlyZW07XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcclxuICAgICAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHRkIHtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiVHJhZGUgR290aGljIE5leHQgVzAxXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDAuOXJlbTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyYXkxO1xyXG5cclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHRkLnNlbGVjdGVkIHtcclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpbmstcmVkO1xyXG4gICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRib2R5IHRyOm50aC1jaGlsZChldmVuKSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyYXkxO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0Ym9keSB0ciB0ZCB7XHJcbiAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICB9XHJcblxyXG5cclxuICAgICAgdGJvZHkge1xyXG4gICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgfVxyXG5cclxuICAgICAgdGJvZHlbZGF0YS1taW5pY2FsZW5kYXI9XCJjYWxlbmRhclwiXSB0ZCBhIHtcclxuICAgICAgICBjb2xvcjogJGdyYXk4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy9IZWFkaW5nIGZvciB0aGUgY2FsZW5kYXIgKG1vbnRoIG5hbWUpXHJcbiAgICAucGFnZV9oZWFkaW5nIHtcclxuICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBQcmV2IGFuZCBuZXh0IG1vbnRoIGljb25cclxuICAgIC5wYWdpbmF0aW9uX2NvbnRhaW5lciB7XHJcbiAgICAgIGEjbG9jYWxpc3QtbWluaWNhbC1wcmV2LW1vbnRoLCBhI2xvY2FsaXN0LW1pbmljYWwtbmV4dC1tb250aCB7XHJcbiAgICAgICAgY29sb3I6ICR0aXRsZS1ibHVlO1xyXG4gICAgICB9XHJcbiAgICAgIC5taW5pY2FsIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwcHg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWdyYXk7XHJcbiAgICAgIH1cclxuXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBWaWV3IHRvZGF5IGJ1dHRvblxyXG4gIC5taW5pX2NhbGVuZGFyIHtcclxuICAgIC5zdWJjYWxfYWN0aW9ucyB7XHJcbiAgICAgIC5idG4ge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRsaW5rLXJlZDtcclxuICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkbGluay1yZWQsIDIwJSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsCgkJIi8vIFN0eWxlcyByZXF1aXJlZCBmb3IgTG9jYWxpc3QgdXNlciBwcm9maWxlIHBhZ2VzIC8vXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuLy9Mb2NhbGlzdCB1c2VyIHByb2ZpbGUgLSBkYXNoYm9hcmRcclxuLndpZGdldCB7XHJcbiAgLndpZGdldC1jb250ZW50IHtcclxuICAgICAgLml0ZW0ge1xyXG4gICAgICAgIGNvbG9yOiAkbGluay1yZWQ7XHJcbiAgICAgICAgaDMgc3BhbiBhIHtcclxuICAgICAgICAgIGNvbG9yOiAkbGluay1yZWQ7XHJcbiAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgY29sb3I6IGRhcmtlbigkbGluay1yZWQsIDIwJSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uaXRlbSB7XHJcbiAgaDMge1xyXG4gICAgYSB7XHJcbiAgICAgIGkge1xyXG4gICAgICAgIGNvbG9yOiAkbGluay1yZWQ7XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICBjb2xvcjogZGFya2VuKCRsaW5rLXJlZCwgMjAlKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5kZXNjcmlwdGlvbiB7XHJcbiAgICBmb250LWZhbWlseTogJHRyYWRlLWdvdGhpYztcclxuICB9XHJcbn1cclxuXHJcbi8vTG9jYWxpc3QgdXNlciBwcm9maWxlIC0gTXkgQ2FsZW5kYXJcclxuLnBhZ2luYXRpb25fY29udGFpbmVyIHtcclxuICAucGFnZV9saW5rIHtcclxuICAgIGEge1xyXG4gICAgICBjb2xvcjogJGxpbmstcmVkO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy9Mb2NhbGlzdCB1c2VyIHByb2ZpbGUgLSBGcmllbmRzIGFuZCBQbGFjZXNcclxuLnRhYnMge1xyXG4gIGEuc2VsZWN0ZWQge1xyXG4gICAgY29sb3I6ICRsaW5rLXJlZDtcclxuICB9XHJcblxyXG4gIGEge1xyXG4gICAgY29sb3I6ICRncmF5NTtcclxuICB9XHJcbn1cclxuXHJcbi8vTG9jYWxpc3QgdXNlciBwcm9maWxlIC1cclxuLndpZGdldC1jb250ZW50IHtcclxuICBzcGFuLmxhYmVsIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xyXG4gICAgY29sb3I6IGJsYWNrO1xyXG4gIH1cclxufVxyXG5cclxuLy9Mb2NhbGlzdCB1c2VyIHByb2ZpbGUgLSBSZXZpZXdcclxuLm1lc3NhZ2VfZ3JvdXAge1xyXG4gIC5pdGVtIHtcclxuICAgIC5hY3Rpb25fYnV0dG9uIHtcclxuICAgICAgICBpbnB1dFt0eXBlPXN1Ym1pdF0uYnRuLWNvbG9yIHtcclxuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGluay1yZWQ7XHJcbiAgICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRsaW5rLXJlZCwgMjAlKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vL0xvY2FsaXN0IHVzZXIgcHJvZmlsZSAtIFNvY2lhbCBNZWRpYSBidXR0b25zXHJcbi53aWRnZXQge1xyXG4gIC53aWRnZXQtY29udGVudCB7XHJcbiAgICAubG9naW5fbWV0aG9kcyB7XHJcbiAgICAgIC5hY3Rpb25fYnV0dG9uIHtcclxuICAgICAgICBwIHtcclxuICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICBjb2xvcjogd2hpdGU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vL0xvY2FsaXN0IHVzZXIgcHJvZmlsZSAtIFB1YmxpYyBQcm9maWxlXHJcbi5pdGVtLW1pbmkge1xyXG4gIC5oZWFkaW5nIHtcclxuICAgIGEge1xyXG4gICAgICBjb2xvcjogYmxhY2s7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vL0xvY2FsaXN0IHVzZXIgcHJvZmlsZSAtXHJcbi5ub2NvbnRlbnQge1xyXG4gIHAge1xyXG4gICAgICAuYnRuLmJ0bi1jb2xvci1hbHQge1xyXG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRsaW5rLXJlZDtcclxuICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGxpbmstcmVkLCAyMCUpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy9Mb2NhbGlzdCB1c2VyIHByb2ZpbGUgLVxyXG4uYWN0aW9uX2J1dHRvbiBhIHtcclxuICBib3JkZXItcmFkaXVzOiAwO1xyXG59XHJcblxyXG4vL0xvY2FsaXN0IHVzZXIgcHJvZmlsZSAtIFJldmlld3NcclxuLml0ZW0ge1xyXG4gIC5pdGVtX2NvbnRlbnRfdGlueSB7XHJcbiAgICBoMyB7XHJcbiAgICAgIGF7XHJcbiAgICAgICAgY29sb3I6ICRsaW5rLXJlZDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy9Mb2NhbGlzdCBDaGFubmVsIEFkbWluIHByb2ZpbGUgLSBFZGl0IGJ1dHRvbnMgTGlzdGluZyBwYWdlXHJcbi5jaGFubmVsLWhlYWRlciB7XHJcbiAgLmFjdGlvbl9idXR0b24ge1xyXG4gICAgYSB7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICBhLmJ0bi1jb2xvciB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRsaW5rLXJlZDtcclxuICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRsaW5rLXJlZCwgMjAlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmRyb3AtdGFyZ2V0LXRleHQge1xyXG4gICAgLmJ0bi5idG4tY29sb3Ige1xyXG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xyXG4gICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRsaW5rLXJlZDtcclxuICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRsaW5rLXJlZCwgMjAlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uY29udGVudC1pbm5lci1wYWdlcyB7XHJcbiAgLmZvcm1fYWN0aW9uX2J1dHRvbnMge1xyXG4gICAgLmJ0bi5idG4tY29sb3IsIGlucHV0W3R5cGU9YnV0dG9uXS5idG4tY29sb3Ige1xyXG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xyXG4gICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRsaW5rLXJlZDtcclxuICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRsaW5rLXJlZCwgMjAlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbn1cclxuXHJcbi8vTG9jYWxpc3QgdXNlciBwcm9maWxlIC0gUGhvdG9zXHJcbnNlbGVjdCB7XHJcbiAgd2lkdGg6IDE1JTtcclxufVxyXG5cclxuIiwKCQkiLy8gU3R5bGVzIHJlcXVpcmVkIGZvciBMb2NhbGlzdCBDaGFubmVscyAtIGlmIHRoZXJlIGFyZSBjaGFubmVscyBjcmVhdGVkIGJ5IGFkbWluIC8vXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuLy9GZWF0dXJlZCBFdmVudHMgc2xpZGVyXHJcbi50YWJzX2NvbXBvbmVudCB7XHJcbiAgLmZlYXR1cmVkX2Nhcm91c2VsIC5mZWF0dXJlZF9uYXYgYSB7XHJcbiAgICBjb2xvcjogJGJsYWNrO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdyYXkyO1xyXG4gIH1cclxuXHJcbiAgLmZlYXR1cmVkX2Nhcm91c2VsIC5mZWF0dXJlZF9uYXYgYS5jdXJyZW50IHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaW5rLXJlZDtcclxuICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgfVxyXG5cclxuICAuZmVhdHVyZWRfc2VjdGlvbl9jb21wb25lbnQge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdyYXkxO1xyXG4gIH1cclxufVxyXG5cclxuLmZlYXR1cmVkX2Nhcm91c2VsIC5mZWF0dXJlZF9pdGVtX3dyYXBwZXIgLml0ZW0gLnN1bW1hcnkge1xyXG4gIGEge1xyXG4gICAgY29sb3I6ICM2NjY2NjY7XHJcbiAgfVxyXG59XHJcblxyXG4uZmVhdHVyZWRfaXRlbV93cmFwcGVyIHtcclxuICAuaXRlbSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheTE7XHJcbiAgfVxyXG59XHJcblxyXG4vL0hvbWVwYWdlIFRhYnNcclxuLnRhYnMge1xyXG4gIGJvcmRlcjogbm9uZTtcclxufVxyXG5cclxuLnRhYnM+KiB7XHJcbiAgbWFyZ2luLWxlZnQ6IDRweDtcclxufVxyXG5cclxuLnRhYnMgLnNlbGVjdGVkX3RhYl9jb2xvcmZpdmUge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRsaW5rLXJlZDtcclxuICBib3JkZXI6IDFweCBzb2xpZCAkbGluay1yZWQ7XHJcbiAgYm9yZGVyLXJhZGl1czogMDtcclxuICBwYWRkaW5nOiA3LjVweCA5cHggOC41cHggOXB4O1xyXG4gIGNvbG9yOiB3aGl0ZTtcclxufVxyXG5cclxuYS5kYXJrX2NvbG9yZml2ZSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgJGdyYXk0O1xyXG4gIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgcGFkZGluZzogNy41cHggOXB4IDguNXB4IDlweDtcclxuICBjb2xvcjogJGdyYXk2O1xyXG4gIGJvcmRlci1ib3R0b206IG5vbmU7XHJcbn1cclxuXHJcbmEuZGFya19jb2xvcmZpdmUuc2VsZWN0ZWRfdGFiX2NvbG9yZml2ZSB7XHJcbiAgY29sb3I6IHdoaXRlO1xyXG59XHJcblxyXG4vL1NpZGViYXIgLSBGaWx0ZXIgbGlua3MgLSBFdmVudCBUeXBlcywgQXVkaWVuY2VcclxuLnNpZGViYXIge1xyXG4gIC5maWx0ZXJfbGlzdF9jb21wb25lbnQsIC5maWx0ZXJfbGlzdCB7XHJcbiAgICAud2lkZ2V0IHtcclxuICAgICAgLndpZGdldC1jb250ZW50IHtcclxuICAgICAgICB1bCB7XHJcbiAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC45cmVtO1xyXG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgICAgICAgY29sb3I6ICRncmF5NjtcclxuICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBkYXJrZW4oJGdyYXk2LCAyMCUpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLnRhYmxlLWJ1dHRvbnMuaG9yaXpvbnRhbC1uYXY+KiAuaWNvbiB7XHJcbiAgcGFkZGluZy1yaWdodDogMTBweDtcclxufVxyXG5cclxuLmFjdGlvbl9idXR0b24ucHVsbC1yaWdodCB7XHJcbiAgY2xlYXI6IHJpZ2h0O1xyXG59XHJcblxyXG4uY2hhbm5lbC1oZWFkZXIge1xyXG4gIG1hcmdpbi1yaWdodDogMjBweDtcclxufVxyXG5cclxuZGl2LmZlYXR1cmVkX2Nhcm91c2VsIHtcclxuICBkaXYuZmVhdHVyZWRfaXRlbV93cmFwcGVyIHtcclxuICAgIC5pdGVtIHtcclxuICAgICAgaW1nIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XHJcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAwcHg7XHJcbiAgICAgICAgICBtYXJnaW46IDAgMjVweCAwIDA7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vKlxyXG5AbWVkaWEgc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobGFyZ2UpfSB7XHJcbiAgLmZlYXR1cmVkX2Nhcm91c2VsIHtcclxuICAgIGhlaWdodDogMjAycHg7XHJcbiAgfVxyXG59Ki9cclxuXHJcbiIsCgkJIiNsb2dpbi1saWdodGJveCB7XHJcbiAgLnNpZ251cF9zdGF0ZW1lbnQge1xyXG4gICAgbWFyZ2luLXRvcDogMWVtO1xyXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlZmVmZWY7XHJcbiAgICBwYWRkaW5nLXRvcDogMWVtO1xyXG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcclxuICB9XHJcbiAgYS5wcm9maWxlX2Nhc19idXR0b24ge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpbmstcmVkO1xyXG4gICAgYm9yZGVyLWNvbG9yOiAkbGluay1yZWQ7XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Q4MGUwZTtcclxuICAgICAgYm9yZGVyLWNvbG9yOiAjZDgwZTBlO1xyXG4gICAgfVxyXG4gIH1cclxuICAubG9naW5fbWV0aG9kcyB7XHJcbiAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgcGFkZGluZy10b3A6IDA7XHJcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2YwZjJmMztcclxuICAgIHBhZGRpbmctYm90dG9tOiAxZW07XHJcbiAgICBib3JkZXItdG9wOiBub25lO1xyXG4gIH1cclxuICBpbnB1dCNsb2dpbl91c2VyIHtcclxuICAgIG1hcmdpbjowIWltcG9ydGFudDtcclxuICB9XHJcbiAgLnRvcDJNIHtcclxuICAgIG1hcmdpbi10b3A6MmVtO1xyXG4gIH1cclxufVxyXG4iCgldLAoJIm5hbWVzIjogW10sCgkibWFwcGluZ3MiOiAiQWtCZ0xRLE1BQU0sQ0FBQyxLQUFLLEVBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJLEVrRXhCOUMsQUEzR0EsT0EyR08sQ0FBUCxPQUFPLEFBZUosS0FBSyxDQWZSLE9BQU8sQUFnQkosTUFBTSxDQWhCVCxPQUFPLEFBaUJKLE1BQU0sQUE1SFEsQ0FDZixLQUFLLENBQUUsSUFBSSxDQUNYLElBQUksQ0FBRSxJQUFJLENBQ1YsTUFBTSxDQUFFLE1BQU0sQ0FDZixDbEZoREQsNEVBQTRFLEFBUTVFLEFBQUEsSUFBSSxBQUFDLENBQ0gsV0FBVyxDQUFFLElBQUksQ0FDakIsd0JBQXdCLENBQUUsSUFBSSxDQUMvQixBQU9ELEFBQUEsSUFBSSxBQUFDLENBQ0gsTUFBTSxDQUFFLENBQUMsQ0FDVixBQUtELEFBQUEsRUFBRSxDb0h4QkoscUJBQXFCLENBK0JuQixFQUFFLENBa0hKLElBQUksQUFBQSxhQUFhLENBbEhmLEVBQUUsQ0EvQkoscUJBQXFCLENBbUNu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LEFBQVEsQ0hvSWYsS0FBYSxDeENuQlAsS0FBbUQsQzJDL0cxRCxBcEM4SUssTUFBTSxDQUFDLEtBQUssRUFBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUksRXNDb0J4QyxBRnBLTixZRW9La0IsQ0ZwS2QsS0FBSyxBQUFRLENIb0lmLEtBQWEsQ3hDbkJQLElBQW1ELEMyQy9HMUQsQUVrS0ssQUZwS04sWUVvS2tCLENGcEtkLEtBQUssQUFBUSxDSG9JZixLQUFhLEN4Q25CUCxHQUFtRCxDMkMvRzFELEFFa0tLLEFGcEtOLFlFb0trQixDRnBLZCxLQUFLLEFBQVEsQ0hvSWYsS0FBYSxDeENuQlAsU0FBbUQsQzJDL0cxRCxBRWtLSyxBRnBLTixZRW9La0IsQ0ZwS2QsS0FBSyxBQUFRLENIb0lmLEtBQWEsQ3hDbkJQLEdBQW1ELEMyQy9HMUQsQUVrS0ssQUZwS04sWUVvS2tCLENGcEtkLEtBQUssQUFBUSxDSG9JZixLQUFhLEN4Q25CUCxHQUFtRCxDMkMvRzFELEFFa0tLLEFGcEtOLFlFb0trQixDRnBLZCxLQUFLLEFBQVEsQ0hvSWYsS0FBYSxDeENuQlAsU0FBbUQsQzJDL0cxRCxBRWtLSyxBRnBLTixZRW9La0IsQ0ZwS2QsS0FBSyxBQUFRLENIb0lmLEtBQWEsQ3hDbkJQLFNBQW1ELEMyQy9HMUQsQUVrS0ssQUZwS04sWUVvS2tCLENGcEtkLEtBQUssQUFBUSxDSG9JZixLQUFhLEN4Q25CUCxLQUFtRCxDMkMvRzFELENwQzhJSyxNQUFNLENBQUMsS0FBSyxFQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSSxFc0NvQnhDLEFGcEtOLFdFb0tpQixDRnBLYixLQUFLLEFBQVEsQ0hvSWYsS0FBYSxDeENuQlAsSUFBbUQsQzJDL0cxRCxBRWtLSyxBRnBLTixXRW9LaUIsQ0ZwS2IsS0FBSyxBQUFRLENIb0lmLEtBQWEsQ3hDbkJQLEdBQW1ELEMyQy9HMUQsQUVrS0ssQUZwS04sV0VvS2lCLENGcEtiLEtBQUssQUFBUSxDSG9JZixLQUFhLEN4Q25CUCxTQUFtRCxDMkMvRzFELEFFa0tLLEFGcEtOLFdFb0tpQixDRnBLYixLQUFLLEFBQVEsQ0hvSWYsS0FBYSxDeENuQlAsR0FBbUQsQzJDL0cxRCxBRWtLSyxBRnBLTixXRW9LaUIsQ0ZwS2IsS0FBSyxBQUFRLENIb0lmLEtBQWEsQ3hDbkJQLEdBQW1ELEMyQy9HMUQsQUVrS0ssQUZwS04sV0VvS2lCLENGcEtiLEtBQUssQUFBUSxDSG9JZixLQUFhLEN4Q25CUCxTQUFtRCxDMkMvRzFELEFFa0tLLEFGcEtOLFdFb0tpQixDRnBLYixLQUFLLEFBQVEsQ0hvSWYsS0FBYSxDeENuQlAsU0FBbUQsQzJDL0cxRCxBRWtLSyxBRnBLTixXRW9LaUIsQ0ZwS2IsS0FBSyxBQUFRLENIb0lmLEtBQWEsQ3hDbkJQLEtBQW1ELEMyQy9HMUQsQ0V5TEssQUYzTE4sY0UyTG9CLEFBQUEsV0FBVyxDRjNMM0IsS0FBSyxBQUFRLENIb0lmLEtBQWEsQ0F0RGlDLG9CQUFnRCxDRzVFL0YsQUV5TEssQUYzTE4sY0UyTG9CLEFBQUEsV0FBVyxDRjNMM0IsS0FBSyxBQUFRLENIb0lmLEtBQWEsQ0F0RGlDLG1CQUFnRCxDRzVFL0YsQUV5TEssQUYzTE4sY0UyTG9CLEFBQUEsV0FBVyxDRjNMM0IsS0FBSyxBQUFRLENIb0lmLEtBQWEsQ0F0RGlDLHlCQUFnRCxDRzVFL0YsQUV5TEssQUYzTE4sY0UyTG9CLEFBQUEsV0FBVyxDRjNMM0IsS0FBSyxBQUFRLENIb0lmLEtBQWEsQ0F0RGlDLG1CQUFnRCxDRzVFL0YsQUV5TEssQUYzTE4sY0UyTG9CLEFBQUEsV0FBVyxDRjNMM0IsS0FBSyxBQUFRLENIb0lmLEtBQWEsQ0F0RGlDLG1CQUFnRCxDRzVFL0YsQUV5TEssQUYzTE4sY0UyTG9CLEFBQUEsV0FBVyxDRjNMM0IsS0FBSyxBQUFRLENIb0lmLEtBQWEsQ0F0RGlDLHlCQUFnRCxDRzVFL0YsQUV5TEssQUYzTE4sY0UyTG9CLEFBQUEsV0FBVyxDRjNMM0IsS0FBSyxBQUFRLENIb0lmLEtBQWEsQ0F0RGlDLHlCQUFnRCxDRzVFL0YsQUV5TEssQUYzTE4sY0UyTG9CLEFBQUEsV0FBVyxDRjNMM0IsS0FBSyxBQUFRLENIb0lmLEtBQWEsQ0F0RGlDLHFCQUFnRCxDRzVFL0YsQXBDOElLLE1BQU0sQ0FBQyxLQUFLLEVBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJLEVzQzJDeEMsQUYzTE4sY0UyTG9CLEFBQUEsV0FBVyxDRjNMM0IsS0FBSyxBQUFRLENIb0lmLEtBQWEsQ0F0RGlDLHFCQUFnRCxDRzVFL0YsQUV5TEssQUYzTE4sY0UyTG9CLEFBQUEsV0FBVyxDRjNMM0IsS0FBSyxBQUFRLENIb0lmLEtBQWEsQ0F0RGlDLG9CQUFnRCxDRzVFL0YsQUV5TEssQUYzTE4sY0UyTG9CLEFBQUEsV0FBVyxDRjNMM0IsS0FBSyxBQUFRLENIb0lmLEtBQWEsQ0F0RGlDLDBCQUFnRCxDRzVFL0YsQUV5TEssQUYzTE4sY0UyTG9CLEFBQUEsV0FBVyxDRjNMM0IsS0FBSyxBQUFRLENIb0lmLEtBQWEsQ0F0RGlDLG9CQUFnRCxDRzVFL0YsQUV5TEssQUYzTE4sY0UyTG9CLEFBQUEsV0FBVyxDRjNMM0IsS0FBSyxBQUFRLENIb0lmLEtBQWEsQ0F0RGlDLG9CQUFnRCxDRzVFL0YsQUV5TEssQUYzTE4sY0UyTG9CLEFBQUEsV0FBVyxDRjNMM0IsS0FBSyxBQUFRLENIb0lmLEtBQWEsQ0F0RGlDLDBCQUFnRCxDRzVFL0YsQUV5TEssQUYzTE4sY0UyTG9CLEFBQUEsV0FBVyxDRjNMM0IsS0FBSyxBQUFRLENIb0lmLEtBQWEsQ0F0RGlDLDBCQUFnRCxDRzVFL0YsQUV5TEssQUYzTE4sY0UyTG9CLEFBQUEsV0FBVyxDRjNMM0IsS0FBSyxBQUFRLENIb0lmLEtBQWEsQ0F0RGlDLHNCQUFnRCxDRzVFL0YsQUV5TEssQUYzTE4sY0UyTG9CLEFBQUEsWUFBWSxDRjNMNUIsS0FBSyxBQUFRLENIb0lmLEtBQWEsQ0F0RGlDLHFCQUFnRCxDRzVFL0YsQUV5TEssQUYzTE4sY0UyTG9CLEFBQUEsWUFBWSxDRjNMNUIsS0FBSyxBQUFRLENIb0lmLEtBQWEsQ0F0RGlDLG9CQUFnRCxDRzVFL0YsQUV5TEssQUYzTE4sY0UyTG9CLEFBQUEsWUFBWSxDRjNMNUIsS0FBSyxBQUFRLENIb0lmLEtBQWEsQ0F0RGlDLDBCQUFnRCxDRzVFL0YsQUV5TEssQUYzTE4sY0UyTG9CLEFBQUEsWUFBWSxDRjNMNUIsS0FBSyxBQUFRLENIb0lmLEtBQWEsQ0F0RGlDLG9CQUFnRCxDRzVFL0YsQUV5TEssQUYzTE4sY0UyTG9CLEFBQUEsWUFBWSxDRjNMNUIsS0FBSyxBQUFRLENIb0lmLEtBQWEsQ0F0RGlDLG9CQUFnRCxDRzVFL0YsQUV5TEssQUYzTE4sY0UyTG9CLEFBQUEsWUFBWSxDRjNMNUIsS0FBSyxBQUFRLENIb0lmLEtBQWEsQ0F0RGlDLDBCQUFnRCxDRzVFL0YsQUV5TEssQUYzTE4sY0UyTG9CLEFBQUEsWUFBWSxDRjNMNUIsS0FBSyxBQUFRLENIb0lmLEtBQWEsQ0F0RGlDLDBCQUFnRCxDRzVFL0YsQUV5TEssQUYzTE4sY0UyTG9CLEFBQUEsWUFBWSxDRjNMNUIsS0FBSyxBQUFRLENIb0lmLEtBQWEsQ0F0RGlDLHNCQUFnRCxDRzVFL0YsQ3BDOElLLE1BQU0sQ0FBQyxLQUFLLEVBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJLEVzQzJDeEMsQUYzTE4sY0UyTG9CLEFBQUEsV0FBVyxDRjNMM0IsS0FBSyxBQUFRLENIb0lmLEtBQWEsQ0F0RGlDLHFCQUFnRCxDRzVFL0YsQUV5TEssQUYzTE4sY0UyTG9CLEFBQUEsV0FBVyxDRjNMM0IsS0FBSyxBQUFRLENIb0lmLEtBQWEsQ0F0RGlDLG9CQUFnRCxDRzVFL0YsQUV5TEssQUYzTE4sY0UyTG9CLEFBQUEsV0FBVyxDRjNMM0IsS0FBSyxBQUFRLENIb0lmLEtBQWEsQ0F0RGlDLDBCQUFnRCxDRzVFL0YsQUV5TEssQUYzTE4sY0UyTG9CLEFBQUEsV0FBVyxDRjNMM0IsS0FBSyxBQUFRLENIb0lmLEtBQWEsQ0F0RGlDLG9CQUFnRCxDRzVFL0YsQUV5TEssQUYzTE4sY0UyTG9CLEFBQUEsV0FBVyxDRjNMM0IsS0FBSyxBQUFRLENIb0lmLEtBQWEsQ0F0RGlDLG9CQUFnRCxDRzVFL0YsQUV5TEssQUYzTE4sY0UyTG9CLEFBQUEsV0FBVyxDRjNMM0IsS0FBSyxBQUFRLENIb0lmLEtBQWEsQ0F0RGlDLDBCQUFnRCxDRzVFL0YsQUV5TEssQUYzTE4sY0UyTG9CLEFBQUEsV0FBVyxDRjNMM0IsS0FBSyxBQUFRLENIb0lmLEtBQWEsQ0F0RGlDLDBCQUFnRCxDRzVFL0YsQUV5TEssQUYzTE4sY0UyTG9CLEFBQUEsV0FBVyxDRjNMM0IsS0FBSyxBQUFRLENIb0lmLEtBQWEsQ0F0RGlDLHNCQUFnRCxDRzVFL0YsQ0VxTUcsQUFBQSxzQkFBc0IsQUFBRSxDRDlNdEIsWUFBZ0IsQ0FBUyxDQUFDLENBQTFCLFdBQWdCLENBQVMsQ0FBQyxDQ2dOM0IsQUFGRCxBRDNNQSxzQkMyTXNCLENEM01wQixLQUFLLEFBQVEsQ0FFWCxZQUFnQixDQUFTLENBQUMsQ0FBMUIsV0FBZ0IsQ0FBUyxDQUFDLENBRTdCLEFDdU1ELEFEbkxNLHNCQ21MZ0IsQ0RuTGQsUUFBUSxBQUFNLENKZ0h4QixLQUFhLEN4Q25CUCxRQUFtRCxDNEMzRmhELEFDaUxQLEFEbkxNLHNCQ21MZ0IsQ0RuTGQsUUFBUSxBQUFNLENKZ0h4QixLQUFhLEN4Q25CUCxTQUFtRCxDNEMzRmhELEFDaUxQLEFEbkxNLHNCQ21MZ0IsQ0RuTGQsUUFBUSxBQUFNLENKZ0h4QixLQUFhLEN4Q25CUCxHQUFtRCxDNEMzRmhELEFDaUxQLEFEbkxNLHNCQ21MZ0IsQ0RuTGQsUUFBUSxBQUFNLENKZ0h4QixLQUFhLEN4Q25CUCxTQUFtRCxDNEMzRmhELEFDaUxQLEFEbkxNLHNCQ21MZ0IsQ0RuTGQsUUFBUSxBQUFNLENKZ0h4QixLQUFhLEN4Q25CUCxTQUFtRCxDNEMzRmhELEFDaUxQLEFEbkxNLHNCQ21MZ0IsQ0RuTGQsUUFBUSxBQUFNLENKZ0h4QixLQUFhLEN4Q25CUCxHQUFtRCxDNEMzRmhELEFDaUxQLEFEbkxNLHNCQ21MZ0IsQ0RuTGQsUUFBUSxBQUFNLENKZ0h4QixLQUFhLEN4Q25CUCxTQUFtRCxDNEMzRmhELEFDaUxQLEFEbkxNLHNCQ21MZ0IsQ0RuTGQsUUFBUSxBQUFNLENKZ0h4QixLQUFhLEN4Q25CUCxTQUFtRCxDNEMzRmhELEFDaUxQLEFEbkxNLHNCQ21MZ0IsQ0RuTGQsUUFBUSxBQUFNLENKZ0h4QixLQUFhLEN4Q25CUCxHQUFtRCxDNEMzRmhELEFDaUxQLEFEbkxNLHNCQ21MZ0IsQ0RuTGQsU0FBUyxBQUFLLENKZ0h4QixLQUFhLEN4Q25CUCxTQUFtRCxDNEMzRmhELEFDaUxQLEFEbkxNLHNCQ21MZ0IsQ0RuTGQsU0FBUyxBQUFLLENKZ0h4QixLQUFhLEN4Q25CUCxTQUFtRCxDNEMzRmhELEFDaUxQLEFEbkxNLHNCQ21MZ0IsQ0RuTGQsU0FBUyxBQUFLLENKZ0h4QixLQUFhLEN4Q25CUCxJQUFtRCxDNEMzRmhELEFyQzBITCxNQUFNLENBQUMsS0FBSyxFQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSSxFc0N1RDFDLEFEbkxNLHNCQ21MZ0IsQ0RuTGQsU0FBUyxBQUFLLENKZ0h4QixLQUFhLEN4Q25CUCxRQUFtRCxDNEMzRmhELEFDaUxQLEFEbkxNLHNCQ21MZ0IsQ0RuTGQsU0FBUyxBQUFLLENKZ0h4QixLQUFhLEN4Q25CUCxTQUFtRCxDNEMzRmhELEFDaUxQLEFEbkxNLHNCQ21MZ0IsQ0RuTGQsU0FBUyxBQUFLLENKZ0h4QixLQUFhLEN4Q25CUCxHQUFtRCxDNEMzRmhELEFDaUxQLEFEbkxNLHNCQ21MZ0IsQ0RuTGQsU0FBUyxBQUFLLENKZ0h4QixLQUFhLEN4Q25CUCxTQUFtRCxDNEMzRmhELEFDaUxQLEFEbkxNLHNCQ21MZ0IsQ0RuTGQsU0FBUyxBQUFLLENKZ0h4QixLQUFhLEN4Q25CUCxTQUFtRCxDNEMzRmhELEFDaUxQLEFEbkxNLHNCQ21MZ0IsQ0RuTGQsU0FBUyxBQUFLLENKZ0h4QixLQUFhLEN4Q25CUCxHQUFtRCxDNEMzRmhELEFDaUxQLEFEbkxNLHNCQ21MZ0IsQ0RuTGQsU0FBUyxBQUFLLENKZ0h4QixLQUFhLEN4Q25CUCxTQUFtRCxDNEMzRmhELEFDaUxQLEFEbkxNLHNCQ21MZ0IsQ0RuTGQsU0FBUyxBQUFLLENKZ0h4QixLQUFhLEN4Q25CUCxTQUFtRCxDNEMzRmhELEFDaUxQLEFEbkxNLHNCQ21MZ0IsQ0RuTGQsU0FBUyxBQUFLLENKZ0h4QixLQUFhLEN4Q25CUCxHQUFtRCxDNEMzRmhELEFDaUxQLEFEbkxNLHNCQ21MZ0IsQ0RuTGQsVUFBVSxBQUFJLENKZ0h4QixLQUFhLEN4Q25CUCxTQUFtRCxDNEMzRmhELEFDaUxQLEFEbkxNLHNCQ21MZ0IsQ0RuTGQsVUFBVSxBQUFJLENKZ0h4QixLQUFhLEN4Q25CUCxTQUFtRCxDNEMzRmhELEFDaUxQLEFEbkxNLHNCQ21MZ0IsQ0RuTGQsVUFBVSxBQUFJLENKZ0h4QixLQUFhLEN4Q25CUCxJQUFtRCxDNEMzRmhELENyQzBITCxNQUFNLENBQUMsS0FBSyxFQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSSxFc0N1RDFDLEFEbkxNLHNCQ21MZ0IsQ0RuTGQsUUFBUSxBQUFNLENKZ0h4QixLQUFhLEN4Q25CUCxRQUFtRCxDNEMzRmhELEFDaUxQLEFEbkxNLHNCQ21MZ0IsQ0RuTGQsUUFBUSxBQUFNLENKZ0h4QixLQUFhLEN4Q25CUCxTQUFtRCxDNEMzRmhELEFDaUxQLEFEbkxNLHNCQ21MZ0IsQ0RuTGQsUUFBUSxBQUFNLENKZ0h4QixLQUFhLEN4Q25CUCxHQUFtRCxDNEMzRmhELEFDaUxQLEFEbkxNLHNCQ21MZ0IsQ0RuTGQsUUFBUSxBQUFNLENKZ0h4QixLQUFhLEN4Q25CUCxTQUFtRCxDNEMzRmhELEFDaUxQLEFEbkxNLHNCQ21MZ0IsQ0RuTGQsUUFBUSxBQUFNLENKZ0h4QixLQUFhLEN4Q25CUCxTQUFtRCxDNEMzRmhELEFDaUxQLEFEbkxNLHNCQ21MZ0IsQ0RuTGQsUUFBUSxBQUFNLENKZ0h4QixLQUFhLEN4Q25CUCxHQUFtRCxDNEMzRmhELEFDaUxQLEFEbkxNLHNCQ21MZ0IsQ0RuTGQsUUFBUSxBQUFNLENKZ0h4QixLQUFhLEN4Q25CUCxTQUFtRCxDNEMzRmhELEFDaUxQLEFEbkxNLHNCQ21MZ0IsQ0RuTGQsUUFBUSxBQUFNLENKZ0h4QixLQUFhLEN4Q25CUCxTQUFtRCxDNEMzRmhELEFDaUxQLEFEbkxNLHNCQ21MZ0IsQ0RuTGQsUUFBUSxBQUFNLENKZ0h4QixLQUFhLEN4Q25CUCxHQUFtRCxDNEMzRmhELEFDaUxQLEFEbkxNLHNCQ21MZ0IsQ0RuTGQsU0FBUyxBQUFLLENKZ0h4QixLQUFhLEN4Q25CUCxTQUFtRCxDNEMzRmhELEFDaUxQLEFEbkxNLHNCQ21MZ0IsQ0RuTGQsU0FBUyxBQUFLLENKZ0h4QixLQUFhLEN4Q25CUCxTQUFtRCxDNEMzRmhELEFDaUxQLEFEbkxNLHNCQ21MZ0IsQ0RuTGQsU0FBUyxBQUFLLENKZ0h4QixLQUFhLEN4Q25CUCxJQUFtRCxDNEMzRmhELENDdUxQLEFBQUEsdUJBQXVCLEFBQUUsQ0Q3S3ZCLFlBQWdCLENBQVMsQ0FBQyxDQUExQixXQUFnQixDQUFTLENBQUMsQ0MrSzNCLEFBRkQsQUQxS0EsdUJDMEt1QixDRDFLckIsS0FBSyxBQUFRLENBRVgsYUFBaUIsQ0FBVSxDQUFDLENBQTVCLFlBQWlCLENBQVUsQ0FBQyxDQUUvQixBckN5R0MsTUFBTSxDQUFDLEtBQUssRUFBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUksRXNDdUQxQyxBQUFBLHVCQUF1QixBQUFDLENEOU10QixZQUFnQixDQUFTLENBQUMsQ0FBMUIsV0FBZ0IsQ0FBUyxDQUFDLENDZ04zQixBQUZELEFEM01BLHVCQzJNdUIsQ0QzTXJCLEtBQUssQUFBUSxDQUVYLFlBQWdCLENBQVMsQ0FBQyxDQUExQixXQUFnQixDQUFTLENBQUMsQ0FFN0IsQ3JDZ0pDLE1BQU0sQ0FBQyxLQUFLLEVBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJLEVzQ3VEMUMsQUQ1TE0sdUJDNExpQixDRDVMZixRQUFRLEFBQU0sQ0p5SHhCLEtBQWEsQ3hDbkJQLFFBQW1ELEM0Q3BHaEQsQUMwTFAsQUQ1TE0sdUJDNExpQixDRDVMZixRQUFRLEFBQU0sQ0p5SHhCLEtBQWEsQ3hDbkJQLFNBQW1ELEM0Q3BHaEQsQUMwTFAsQUQ1TE0sdUJDNExpQixDRDVMZixRQUFRLEFBQU0sQ0p5SHhCLEtBQWEsQ3hDbkJQLEdBQW1ELEM0Q3BHaEQsQUMwTFAsQUQ1TE0sdUJDNExpQixDRDVMZixRQUFRLEFBQU0sQ0p5SHhCLEtBQWEsQ3hDbkJQLFNBQW1ELEM0Q3BHaEQsQUMwTFAsQUQ1TE0sdUJDNExpQixDRDVMZixRQUFRLEFBQU0sQ0p5SHhCLEtBQWEsQ3hDbkJQLFNBQW1ELEM0Q3BHaEQsQUMwTFAsQUQ1TE0sdUJDNExpQixDRDVMZixRQUFRLEFBQU0sQ0p5SHhCLEtBQWEsQ3hDbkJQLEdBQW1ELEM0Q3BHaEQsQUMwTFAsQUQ1TE0sdUJDNExpQixDRDVMZixRQUFRLEFBQU0sQ0p5SHhCLEtBQWEsQ3hDbkJQLFNBQW1ELEM0Q3BHaEQsQUMwTFAsQUQ1TE0sdUJDNExpQixDRDVMZixRQUFRLEFBQU0sQ0p5SHhCLEtBQWEsQ3hDbkJQLFNBQW1ELEM0Q3BHaEQsQUMwTFAsQUQ1TE0sdUJDNExpQixDRDVMZixRQUFRLEFBQU0sQ0p5SHhCLEtBQWEsQ3hDbkJQLEdBQW1ELEM0Q3BHaEQsQUMwTFAsQUQ1TE0sdUJDNExpQixDRDVMZixTQUFTLEFBQUssQ0p5SHhCLEtBQWEsQ3hDbkJQLFNBQW1ELEM0Q3BHaEQsQUMwTFAsQUQ1TE0sdUJDNExpQixDRDVMZixTQUFTLEFBQUssQ0p5SHhCLEtBQWEsQ3hDbkJQLFNBQW1ELEM0Q3BHaEQsQUMwTFAsQUQ1TE0sdUJDNExpQixDRDVMZixTQUFTLEFBQUssQ0p5SHhCLEtBQWEsQ3hDbkJQLElBQW1ELEM0Q3BHaEQsQ3JDbUlMLE1BQU0sQ0FBQyxLQUFLLEVBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJLEVzQ3VEMUMsQURuTE0sdUJDbUxpQixDRG5MZixTQUFTLEFBQUssQ0pnSHhCLEtBQWEsQ3hDbkJQLFFBQW1ELEM0QzNGaEQsQUNpTFAsQURuTE0sdUJDbUxpQixDRG5MZixTQUFTLEFBQUssQ0pnSHhCLEtBQWEsQ3hDbkJQLFNBQW1ELEM0QzNGaEQsQUNpTFAsQURuTE0sdUJDbUxpQixDRG5MZixTQUFTLEFBQUssQ0pnSHhCLEtBQWEsQ3hDbkJQLEdBQW1ELEM0QzNGaEQsQUNpTFAsQURuTE0sdUJDbUxpQixDRG5MZixTQUFTLEFBQUssQ0pnSHhCLEtBQWEsQ3hDbkJQLFNBQW1ELEM0QzNGaEQsQUNpTFAsQURuTE0sdUJDbUxpQixDRG5MZixTQUFTLEFBQUssQ0pnSHhCLEtBQWEsQ3hDbkJQLFNBQW1ELEM0QzNGaEQsQUNpTFAsQURuTE0sdUJDbUxpQixDRG5MZixTQUFTLEFBQUssQ0pnSHhCLEtBQWEsQ3hDbkJQLEdBQW1ELEM0QzNGaEQsQUNpTFAsQURuTE0sdUJDbUxpQixDRG5MZixTQUFTLEFBQUssQ0pnSHhCLEtBQWEsQ3hDbkJQLFNBQW1ELEM0QzNGaEQsQUNpTFAsQURuTE0sdUJDbUxpQixDRG5MZixTQUFTLEFBQUssQ0pnSHhCLEtBQWEsQ3hDbkJQLFNBQW1ELEM0QzNGaEQsQUNpTFAsQURuTE0sdUJDbUxpQixDRG5MZixTQUFTLEFBQUssQ0pnSHhCLEtBQWEsQ3hDbkJQLEdBQW1ELEM0QzNGaEQsQUNpTFAsQURuTE0sdUJDbUxpQixDRG5MZixVQUFVLEFBQUksQ0pnSHhCLEtBQWEsQ3hDbkJQLFNBQW1ELEM0QzNGaEQsQUNpTFAsQURuTE0sdUJDbUxpQixDRG5MZixVQUFVLEFBQUksQ0pnSHhCLEtBQWEsQ3hDbkJQLFNBQW1ELEM0QzNGaEQsQUNpTFAsQURuTE0sdUJDbUxpQixDRG5MZixVQUFVLEFBQUksQ0pnSHhCLEtBQWEsQ3hDbkJQLElBQW1ELEM0QzNGaEQsQ3JDMEhMLE1BQU0sQ0FBQyxLQUFLLEVBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJLEVzQ3VEMUMsQURuTE0sdUJDbUxpQixDRG5MZixRQUFRLEFBQU0sQ0pnSHhCLEtBQWEsQ3hDbkJQLFFBQW1ELEM0QzNGaEQsQUNpTFAsQURuTE0sdUJDbUxpQixDRG5MZixRQUFRLEFBQU0sQ0pnSHhCLEtBQWEsQ3hDbkJQLFNBQW1ELEM0QzNGaEQsQUNpTFAsQURuTE0sdUJDbUxpQixDRG5MZixRQUFRLEFBQU0sQ0pnSHhCLEtBQWEsQ3hDbkJQLEdBQW1ELEM0QzNGaEQsQUNpTFAsQURuTE0sdUJDbUxpQixDRG5MZixRQUFRLEFBQU0sQ0pnSHhCLEtBQWEsQ3hDbkJQLFNBQW1ELEM0QzNGaEQsQUNpTFAsQURuTE0sdUJDbUxpQixDRG5MZixRQUFRLEFBQU0sQ0pnSHhCLEtBQWEsQ3hDbkJQLFNBQW1ELEM0QzNGaEQsQUNpTFAsQURuTE0sdUJDbUxpQixDRG5MZixRQUFRLEFBQU0sQ0pnSHhCLEtBQWEsQ3hDbkJQLEdBQW1ELEM0QzNGaEQsQUNpTFAsQURuTE0sdUJDbUxpQixDRG5MZixRQUFRLEFBQU0sQ0pnSHhCLEtBQWEsQ3hDbkJQLFNBQW1ELEM0QzNGaEQsQUNpTFAsQURuTE0sdUJDbUxpQixDRG5MZixRQUFRLEFBQU0sQ0pnSHhCLEtBQWEsQ3hDbkJQLFNBQW1ELEM0QzNGaEQsQUNpTFAsQURuTE0sdUJDbUxpQixDRG5MZixRQUFRLEFBQU0sQ0pnSHhCLEtBQWEsQ3hDbkJQLEdBQW1ELEM0QzNGaEQsQUNpTFAsQURuTE0sdUJDbUxpQixDRG5MZixTQUFTLEFBQUssQ0pnSHhCLEtBQWEsQ3hDbkJQLFNBQW1ELEM0QzNGaEQsQUNpTFAsQURuTE0sdUJDbUxpQixDRG5MZixTQUFTLEFBQUssQ0pnSHhCLEtBQWEsQ3hDbkJQLFNBQW1ELEM0QzNGaEQsQUNpTFAsQURuTE0sdUJDbUxpQixDRG5MZixTQUFTLEFBQUssQ0pnSHhCLEtBQWEsQ3hDbkJQLElBQW1ELEM0QzNGaEQsQ3JDMEhMLE1BQU0sQ0FBQyxLQUFLLEVBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJLEVzQzZEMUMsQUFBQSx3QkFBd0IsQUFBQyxDRDdLdkIsWUFBZ0IsQ0FBUyxDQUFDLENBQTFCLFdBQWdCLENBQVMsQ0FBQyxDQytLM0IsQUFGRCxBRDFLQSx3QkMwS3dCLENEMUt0QixLQUFLLEFBQVEsQ0FFWCxhQUFpQixDQUFVLENBQUMsQ0FBNUIsWUFBaUIsQ0FBVSxDQUFDLENBRS9CLENyQ3lHQyxNQUFNLENBQUMsS0FBSyxFQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSSxFc0N1RDFDLEFBQUEsc0JBQXNCLEFBQUUsQ0Q5TXRCLFlBQWdCLENBQVMsQ0FBQyxDQUExQixXQUFnQixDQUFTLENBQUMsQ0NnTjNCLEFBRkQsQUQzTUEsc0JDMk1zQixDRDNNcEIsS0FBSyxBQUFRLENBRVgsWUFBZ0IsQ0FBUyxDQUFDLENBQTFCLFdBQWdCLENBQVMsQ0FBQyxDQUU3QixDckNnSkMsTUFBTSxDQUFDLEtBQUssRUFBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUksRXNDdUQxQyxBRDVMTSxzQkM0TGdCLENENUxkLFFBQVEsQUFBTSxDSnlIeEIsS0FBYSxDeENuQlAsUUFBbUQsQzRDcEdoRCxBQzBMUCxBRDVMTSxzQkM0TGdCLENENUxkLFFBQVEsQUFBTSxDSnlIeEIsS0FBYSxDeENuQlAsU0FBbUQsQzRDcEdoRCxBQzBMUCxBRDVMTSxzQkM0TGdCLENENUxkLFFBQVEsQUFBTSxDSnlIeEIsS0FBYSxDeENuQlAsR0FBbUQsQzRDcEdoRCxBQzBMUCxBRDVMTSxzQkM0TGdCLENENUxkLFFBQVEsQUFBTSxDSnlIeEIsS0FBYSxDeENuQlAsU0FBbUQsQzRDcEdoRCxBQzBMUCxBRDVMTSxzQkM0TGdCLENENUxkLFFBQVEsQUFBTSxDSnlIeEIsS0FBYSxDeENuQlAsU0FBbUQsQzRDcEdoRCxBQzBMUCxBRDVMTSxzQkM0TGdCLENENUxkLFFBQVEsQUFBTSxDSnlIeEIsS0FBYSxDeENuQlAsR0FBbUQsQzRDcEdoRCxBQzBMUCxBRDVMTSxzQkM0TGdCLENENUxkLFFBQVEsQUFBTSxDSnlIeEIsS0FBYSxDeENuQlAsU0FBbUQsQzRDcEdoRCxBQzBMUCxBRDVMTSxzQkM0TGdCLENENUxkLFFBQVEsQUFBTSxDSnlIeEIsS0FBYSxDeENuQlAsU0FBbUQsQzRDcEdoRCxBQzBMUCxBRDVMTSxzQkM0TGdCLENENUxkLFFBQVEsQUFBTSxDSnlIeEIsS0FBYSxDeENuQlAsR0FBbUQsQzRDcEdoRCxBQzBMUCxBRDVMTSxzQkM0TGdCLENENUxkLFNBQVMsQUFBSyxDSnlIeEIsS0FBYSxDeENuQlAsU0FBbUQsQzRDcEdoRCxBQzBMUCxBRDVMTSxzQkM0TGdCLENENUxkLFNBQVMsQUFBSyxDSnlIeEIsS0FBYSxDeENuQlAsU0FBbUQsQzRDcEdoRCxBQzBMUCxBRDVMTSxzQkM0TGdCLENENUxkLFNBQVMsQUFBSyxDSnlIeEIsS0FBYSxDeENuQlAsSUFBbUQsQzRDcEdoRCxDckNtSUwsTUFBTSxDQUFDLEtBQUssRUFBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUksRXNDdUQxQyxBRDVMTSxzQkM0TGdCLENENUxkLFNBQVMsQUFBSyxDSnlIeEIsS0FBYSxDeENuQlAsUUFBbUQsQzRDcEdoRCxBQzBMUCxBRDVMTSxzQkM0TGdCLENENUxkLFNBQVMsQUFBSyxDSnlIeEIsS0FBYSxDeENuQlAsU0FBbUQsQzRDcEdoRCxBQzBMUCxBRDVMTSxzQkM0TGdCLENENUxkLFNBQVMsQUFBSyxDSnlIeEIsS0FBYSxDeENuQlAsR0FBbUQsQzRDcEdoRCxBQzBMUCxBRDVMTSxzQkM0TGdCLENENUxkLFNBQVMsQUFBSyxDSnlIeEIsS0FBYSxDeENuQlAsU0FBbUQsQzRDcEdoRCxBQzBMUCxBRDVMTSxzQkM0TGdCLENENUxkLFNBQVMsQUFBSyxDSnlIeEIsS0FBYSxDeENuQlAsU0FBbUQsQzRDcEdoRCxBQzBMUCxBRDVMTSxzQkM0TGdCLENENUxkLFNBQVMsQUFBSyxDSnlIeEIsS0FBYSxDeENuQlAsR0FBbUQsQzRDcEdoRCxBQzBMUCxBRDVMTSxzQkM0TGdCLENENUxkLFNBQVMsQUFBSyxDSnlIeEIsS0FBYSxDeENuQlAsU0FBbUQsQzRDcEdoRCxBQzBMUCxBRDVMTSxzQkM0TGdCLENENUxkLFNBQVMsQUFBSyxDSnlIeEIsS0FBYSxDeENuQlAsU0FBbUQsQzRDcEdoRCxBQzBMUCxBRDVMTSxzQkM0TGdCLENENUxkLFNBQVMsQUFBSyxDSnlIeEIsS0FBYSxDeENuQlAsR0FBbUQsQzRDcEdoRCxBQzBMUCxBRDVMTSxzQkM0TGdCLENENUxkLFVBQVUsQUFBSSxDSnlIeEIsS0FBYSxDeENuQlAsU0FBbUQsQzRDcEdoRCxBQzBMUCxBRDVMTSxzQkM0TGdCLENENUxkLFVBQVUsQUFBSSxDSnlIeEIsS0FBYSxDeENuQlAsU0FBbUQsQzRDcEdoRCxBQzBMUCxBRDVMTSxzQkM0TGdCLENENUxkLFVBQVUsQUFBSSxDSnlIeEIsS0FBYSxDeENuQlAsSUFBbUQsQzRDcEdoRCxDckNtSUwsTUFBTSxDQUFDLEtBQUssRUFBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUksRXNDdUQxQyxBRG5MTSxzQkNtTGdCLENEbkxkLFFBQVEsQUFBTSxDSmdIeEIsS0FBYSxDeENuQlAsUUFBbUQsQzRDM0ZoRCxBQ2lMUCxBRG5MTSxzQkNtTGdCLENEbkxkLFFBQVEsQUFBTSxDSmdIeEIsS0FBYSxDeENuQlAsU0FBbUQsQzRDM0ZoRCxBQ2lMUCxBRG5MTSxzQkNtTGdCLENEbkxkLFFBQVEsQUFBTSxDSmdIeEIsS0FBYSxDeENuQlAsR0FBbUQsQzRDM0ZoRCxBQ2lMUCxBRG5MTSxzQkNtTGdCLENEbkxkLFFBQVEsQUFBTSxDSmdIeEIsS0FBYSxDeENuQlAsU0FBbUQsQzRDM0ZoRCxBQ2lMUCxBRG5MTSxzQkNtTGdCLENEbkxkLFFBQVEsQUFBTSxDSmdIeEIsS0FBYSxDeENuQlAsU0FBbUQsQzRDM0ZoRCxBQ2lMUCxBRG5MTSxzQkNtTGdCLENEbkxkLFFBQVEsQUFBTSxDSmdIeEIsS0FBYSxDeENuQlAsR0FBbUQsQzRDM0ZoRCxBQ2lMUCxBRG5MTSxzQkNtTGdCLENEbkxkLFFBQVEsQUFBTSxDSmdIeEIsS0FBYSxDeENuQlAsU0FBbUQsQzRDM0ZoRCxBQ2lMUCxBRG5MTSxzQkNtTGdCLENEbkxkLFFBQVEsQUFBTSxDSmdIeEIsS0FBYSxDeENuQlAsU0FBbUQsQzRDM0ZoRCxBQ2lMUCxBRG5MTSxzQkNtTGdCLENEbkxkLFFBQVEsQUFBTSxDSmdIeEIsS0FBYSxDeENuQlAsR0FBbUQsQzRDM0ZoRCxBQ2lMUCxBRG5MTSxzQkNtTGdCLENEbkxkLFNBQVMsQUFBSyxDSmdIeEIsS0FBYSxDeENuQlAsU0FBbUQsQzRDM0ZoRCxBQ2lMUCxBRG5MTSxzQkNtTGdCLENEbkxkLFNBQVMsQUFBSyxDSmdIeEIsS0FBYSxDeENuQlAsU0FBbUQsQzRDM0ZoRCxB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 */